using APT.Infrastructure.Core; using APT.BaseData.Domain.ApiModel; using APT.BaseData.Domain.Entities.FM; using APT.BaseData.Domain.IServices.FM; using APT.Utility; using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Collections.Immutable; using APT.BaseData.Domain.Entities; using APT.BaseData.Domain.Enums; using APT.Infrastructure.Api; using APT.MS.Domain.Entities.PF; using APT.BaseData.Domain.Dtos; using Castle.Core.Internal; namespace APT.BaseData.Services.Services.FM { public partial class FMSyncLogDetailService : CommonService, IFMSyncLogDetailService { public FMSyncLogDetailService(IRepository repository) : base(repository) { } /// /// 获取日志单 /// /// public T_FM_SYNC_LOG GetSyncLog(IDictionary Items, Guid? ORG_ID, string API_NAME, string SYNC_PARAM, SyncLogType? SyncLogType, int DATA_COUNT = 0) { Guid SNC_LOG_ID = (Guid)Items["syncID"]; T_FM_SYNC_LOG model = new T_FM_SYNC_LOG(); model.ID = SNC_LOG_ID; model.START_TIME = DateTime.Now; model.LOGTYPE = SyncLogType; model.API_NAME = API_NAME; model.DATA_COUNT = DATA_COUNT; model.IS_DELETED = false; model.ORG_ID = ORG_ID; model.SYNC_PARAM = SYNC_PARAM; model.CREATE_TIME = DateTime.Now; model.MODIFY_TIME = DateTime.Now; return model; } /// /// 获取日志明细 /// /// public T_FM_SYNC_LOG_DETAIL GetSyncLogDetail(IDictionary Items, string TRACEIDENTIFIER, Guid? ORG_ID, int Count, string REMARK, SyncLogType? SyncLogType = null, Guid? SNC_LOG_ID = null) { if (SNC_LOG_ID == null && Items != null && Items.ContainsKey("syncID")) { try { SNC_LOG_ID = (Guid)Items["syncID"]; } catch { } } if (SNC_LOG_ID == null) { SNC_LOG_ID = Guid.Empty; } T_FM_SYNC_LOG_DETAIL model = new T_FM_SYNC_LOG_DETAIL(); model.ID = Guid.NewGuid(); model.SNC_LOG_ID = SNC_LOG_ID.Value; model.LOGTYPE = SyncLogType; model.COUNT = Count; model.REMARK = REMARK; model.IS_DELETED = false; model.ORG_ID = ORG_ID; model.CREATE_TIME = DateTime.Now; model.MODIFY_TIME = DateTime.Now; model.TRACEIDENTIFIER = TRACEIDENTIFIER; return model; } /// /// 插入跑批日志 /// /// /// /// /// /// public bool InsertSyncLog(IDictionary Items, Guid? ORG_ID, string API_NAME, string SYNC_PARAM, SyncLogType? SyncLogType, int DATA_COUNT = 0) { T_FM_SYNC_LOG model = GetSyncLog(Items, ORG_ID, API_NAME, SYNC_PARAM, SyncLogType, DATA_COUNT); this.UnifiedCommit(() => { UpdateEntityNoCommit(model); }); return true; } /// /// 插入信息 /// /// /// public bool InsertSyncLog(T_FM_SYNC_LOG model) { model.END_TIME = DateTime.Now; this.UnifiedCommit(() => { UpdateEntityNoCommit(model); }); return true; } /// /// 插入跑批日志明细 /// /// /// /// /// /// public bool InsertSyncLogDetail(IDictionary Items, string TRACEIDENTIFIER, Guid? ORG_ID, int Count, string REMARK, SyncLogType? SyncLogType = null, Guid? SNC_LOG_ID = null) { T_FM_SYNC_LOG_DETAIL model = GetSyncLogDetail(Items, TRACEIDENTIFIER, ORG_ID, Count, REMARK, SyncLogType, SNC_LOG_ID); this.UnifiedCommit(() => { UpdateEntityNoCommit(model); }); return true; } /// /// 插入跑批日志信息 /// /// /// /// /// public T_FM_SYNC_LOG InsertSyncLog(string API_NAME, string TRACEIDENTIFIER, Guid LogID, Guid? ORG_ID, string SYNC_PARAM) { T_FM_SYNC_LOG log = new T_FM_SYNC_LOG() { ID = LogID, START_TIME = DateTime.Now, END_TIME = DateTime.Now, API_NAME = API_NAME, DATA_COUNT = 0, IS_SUCCESS = true, IS_DELETED = false, ORG_ID = ORG_ID, ENTITY_ORG_TPYE = 0, FLOW_STATUS = 0, FLOW_SEND_STATUS = 0, CREATE_TIME = DateTime.Now, MODIFY_TIME = DateTime.Now, TRACEIDENTIFIER = TRACEIDENTIFIER, ISINSERT = false, //FLOW_ID = ID, //FORM_ID = ID, //CREATER_ID = ID, //MODIFIER_ID = ID, SYNC_PARAM = SYNC_PARAM, //LOGTYPE = ID, }; this.UnifiedCommit(() => { UpdateEntityNoCommit(log); }); return log; } /// /// 插入 API 耗时 /// /// /// /// /// /// /// /// public T_FM_SYNC_LOG InsertAPISyncLog(string API_NAME, string TRACEIDENTIFIER, string TRACEIDENTIFIERED, Guid? ORG_ID, DateTime START_TIME, DateTime END_TIME) { T_FM_SYNC_LOG log = new T_FM_SYNC_LOG() { ID = Guid.NewGuid(), START_TIME = START_TIME, END_TIME = END_TIME, API_NAME = API_NAME, DATA_COUNT = 0, IS_SUCCESS = true, IS_DELETED = false, ORG_ID = ORG_ID, ENTITY_ORG_TPYE = 0, FLOW_STATUS = 0, FLOW_SEND_STATUS = 0, CREATE_TIME = DateTime.Now, //MODIFY_TIME = DateTime.Now, TRACEIDENTIFIER = TRACEIDENTIFIER, TRACEIDENTIFIERED = TRACEIDENTIFIERED, ISINSERT = false, LOGTYPE = SyncLogType.APITimeResponsen, //FLOW_ID = ID, //FORM_ID = ID, CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID, //MODIFIER_ID = ID, //SYNC_PARAM = SYNC_PARAM, //LOGTYPE = ID, SYNC_PARAM = (END_TIME - START_TIME).TotalSeconds.ToString() }; this.UnifiedCommit(() => { UpdateEntityNoCommit(log); }); return log; } } }