diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs index 2b1a389..bf631f6 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs @@ -298,10 +298,10 @@ namespace APT.SK.WebApi.Controllers { return SafeExecute(() => { - string strConn = OPTenantDBConnService.GetConnByORGID(Guid.Parse("00300000-0000-0000-0000-000000000000")); - string dbName = "mh_jy_head"; - // 2. 传入构造函数 - using var db = new CrossDbContext(strConn); + //string strConn = OPTenantDBConnService.GetConnByORGID(Guid.Parse("00300000-0000-0000-0000-000000000000")); + //string dbName = "mh_jy_head"; + //// 2. 传入构造函数 + //using var db = new CrossDbContext(strConn); var details = entity.Nav_Details; entity.Nav_Details = null; @@ -320,11 +320,47 @@ namespace APT.SK.WebApi.Controllers if (numIsNull != null) { throw new Exception("管控措施的顺序必须填写"); + } + //集团数据 + T_FM_USER_PRODUCTION_UNIT_SET jtProUnit = null; + T_SK_RISK_TYPE jtRiskType = null; + T_SK_SCOREL jtlibL = null; + T_SK_SCOREE jtlibE = null; + T_SK_SCOREC jtlibC = null; + var jtCheckConts = new List(); + var jtcheckContLawTypes = new List(); + var jtcheckContLaws = new List(); + var jtcheckContBas = new List(); + var jtCheckContHids = new List(); + string strConn = OPTenantDBConnService.GetConnByORGID(new Guid(FilePathHead.JY.GetDescription())); + using (var context = new MigrationContext(strConn)) + { + Dictionary orders = new Dictionary(); + orders.Add("CREATE_TIME", DbOrder.DESC); + Expression> expressionUnit = e => e.ID == entity.PRODUCTION_UNIT_ID; + jtProUnit = context.GetEntity(expressionUnit,null); + Expression> expressionType = e => e.ID == entity.TYPE_ID; + jtRiskType = context.GetEntity(expressionType, null); + Expression> expressionL = e => e.ID == entity.SCOREL_ID; + jtlibL = context.GetEntity(expressionL, null); + Expression> expressionE = e => e.ID == entity.SCOREE_ID; + jtlibE = context.GetEntity(expressionE, null); + Expression> expressionC = e => e.ID == entity.SCOREC_ID; + jtlibC = context.GetEntity(expressionC, null); + Expression> expressionCon = e => !e.IS_DELETED; + jtCheckConts = context.GetOrderEntities(expressionCon, orders, null).ToList(); + Expression> expressionLaw = e => !e.IS_DELETED; + jtcheckContLaws = context.GetOrderEntities(expressionLaw, orders, null).ToList(); + Expression> expressionLawType = e => !e.IS_DELETED; + jtcheckContLawTypes = context.GetOrderEntities(expressionLawType, orders, null).ToList(); + Expression> expressionBac = e => !e.IS_DELETED; + jtcheckContBas = context.GetOrderEntities(expressionBac, orders, null).ToList(); + Expression> expressionQue = e => !e.IS_DELETED; + jtCheckContHids = context.GetOrderEntities(expressionQue, orders, null).ToList(); } T_FM_USER_PRODUCTION_UNIT_SET proUnitNew = null; //查生产单元表 var proUnit = this.GetEntity(t =>t.ID == entity.PRODUCTION_UNIT_ID && t.JT_SYNC); - var jtProUnit = db.GetJTProUnits(dbName).FirstOrDefault(t => t.ID == entity.PRODUCTION_UNIT_ID); if (proUnit == null) { if (jtProUnit != null) @@ -348,7 +384,7 @@ namespace APT.SK.WebApi.Controllers T_SK_RISK_TYPE riskTypeNew = null; //查风险类别 var riskType = this.GetEntity(t => t.ID == entity.TYPE_ID && t.JT_SYNC); - var jtRiskType = db.GetJTRiskTypes(dbName).FirstOrDefault(t => t.ID == entity.TYPE_ID); + if (riskType == null) { if (jtRiskType != null) @@ -371,7 +407,7 @@ namespace APT.SK.WebApi.Controllers T_SK_SCOREL libLNew = null; //查LEC var libL = this.GetEntity(t => t.ID == entity.SCOREL_ID && t.JT_SYNC); - var jtlibL = db.GetJTLibLs(dbName).FirstOrDefault(t => t.ID == entity.SCOREL_ID); + if (libL == null) { if (jtlibL != null) @@ -397,7 +433,6 @@ namespace APT.SK.WebApi.Controllers T_SK_SCOREE libENew = null; //查生产单元表 var libE = this.GetEntity(t => t.ID == entity.SCOREE_ID && t.JT_SYNC); - var jtlibE = db.GetJTLibEs(dbName).FirstOrDefault(t => t.ID == entity.SCOREE_ID); if (libE == null) { if (libE != null) @@ -423,7 +458,6 @@ namespace APT.SK.WebApi.Controllers T_SK_SCOREC libCNew = null; //查生产单元表 var libC = this.GetEntity(t => t.ID == entity.SCOREC_ID && t.JT_SYNC); - var jtlibC = db.GetJTLibCs(dbName).FirstOrDefault(t => t.ID == entity.SCOREC_ID); if (libC == null) { if (jtlibC != null) @@ -496,10 +530,10 @@ namespace APT.SK.WebApi.Controllers //查检查内容 List updateCheckConts = new List(); var checkConts = this.GetEntities(t => true, new BaseFilter(entity.ORG_ID)); - var jtCheckConts = db.GetJTCons(dbName).ToList(); + if (contentList != null && contentList.Any()) { - var conIds = contentList.Where(m=>m.CHECK_CONTENTS_ID!=null).Select(t => t.CHECK_CONTENTS_ID).ToList(); + var conIds = contentList.Where(m=>m.CHECK_CONTENTS_ID!=null).Select(t => t.CHECK_CONTENTS_ID).Distinct().ToList(); //存在,更新 var conExsists = checkConts.Where(t=> conIds.Contains(t.ID) && t.JT_SYNC).ToList(); if (conExsists != null && conExsists.Any()) @@ -523,7 +557,7 @@ namespace APT.SK.WebApi.Controllers } } //不存在,写入 - var conIdNews = conExsists.Select(t => t.ID).ToList(); + var conIdNews = conExsists.Select(t => t.ID).Distinct().ToList(); var conExsistNews = conIds.Where(t =>t!=null && !conIdNews.Contains(t.Value)).ToList(); if (conExsistNews != null && conExsistNews.Any()) { @@ -551,12 +585,12 @@ namespace APT.SK.WebApi.Controllers List updateCheckLaws = new List(); List updateCheckLawTypes = new List(); List updateCheckBas = new List(); - var jtcheckContLawTypes = db.GetJTLawTypes(dbName).ToList(); + var checkContLawTypes = this.GetEntities(t => true, new BaseFilter(entity.ORG_ID)); var checkContLaws = this.GetEntities(t => true, new BaseFilter(entity.ORG_ID)); - var jtcheckContLaws = db.GetJTLaws(dbName).ToList(); + var checkContBas = this.GetEntities(t => true, new BaseFilter(entity.ORG_ID)); - var jtcheckContBas = db.GetJTBas(dbName).ToList(); + if (basicList != null && basicList.Any()) { var conIds = basicList.Select(t => t.LAW_ID).Distinct().ToList(); @@ -615,7 +649,7 @@ namespace APT.SK.WebApi.Controllers } } //不存在,写入 - var conIdNews = conExsists.Select(t => t.ID).ToList(); + var conIdNews = conExsists.Select(t => t.ID).Distinct().ToList(); var conExsistNews = conIds.Where(t => t != null && !conIdNews.Contains(t.Value)).ToList(); if (conExsistNews != null && conExsistNews.Any()) { @@ -711,7 +745,7 @@ namespace APT.SK.WebApi.Controllers //查隐患描述 List updateCheckQues = new List(); var checkContHids = this.GetEntities(t => true, new BaseFilter(entity.ORG_ID)); - var jtCheckContHids = db.GetJTQues(dbName).ToList(); + if (hiddenList != null && hiddenList.Any()) { var conIds = hiddenList.Where(m => m.CHECK_QUESTION_ID != null).Select(t => t.CHECK_QUESTION_ID).Distinct().ToList(); @@ -737,7 +771,7 @@ namespace APT.SK.WebApi.Controllers } } //不存在,写入 - var conIdNews = conExsists.Select(t => t.ID).ToList(); + var conIdNews = conExsists.Select(t => t.ID).Distinct().ToList(); var conExsistNews = conIds.Where(t =>t!=null&& !conIdNews.Contains(t.Value)).ToList(); if (conExsistNews != null && conExsistNews.Any()) { @@ -2366,6 +2400,7 @@ namespace APT.SK.WebApi.Controllers List proUnitList = new List(); var proUnitIds = jtLibs.Where(m => m.PRODUCTION_UNIT_ID != null).Select(t => t.PRODUCTION_UNIT_ID).Distinct().ToList(); var proUnits = this.GetEntities(t => proUnitIds.Contains(t.ID), new BaseFilter(orgId)); + proUnitIds = proUnitIds.Distinct().ToList(); if (proUnitIds != null && proUnitIds.Any()) { foreach (var id in proUnitIds) @@ -2399,6 +2434,7 @@ namespace APT.SK.WebApi.Controllers List riskTypeList = new List(); var riskTypeIds = jtLibs.Where(m => m.TYPE_ID != null).Select(t => t.TYPE_ID).Distinct().ToList(); var riskTypes = this.GetEntities(t => riskTypeIds.Contains(t.ID), new BaseFilter(orgId)); + riskTypeIds = riskTypeIds.Distinct().ToList(); if (riskTypeIds != null && riskTypeIds.Any()) { foreach (var id in riskTypeIds) @@ -2431,6 +2467,7 @@ namespace APT.SK.WebApi.Controllers List libLList = new List(); var libLIds = jtLibs.Where(m => m.SCOREL_ID != null).Select(t => t.SCOREL_ID).Distinct().ToList(); var libLs = this.GetEntities(t => libLIds.Contains(t.ID), new BaseFilter(orgId)); + libLIds = libLIds.Distinct().ToList(); if (libLIds != null && libLIds.Any()) { foreach (var id in libLIds) @@ -2466,6 +2503,7 @@ namespace APT.SK.WebApi.Controllers List libEList = new List(); var libEIds = jtLibs.Where(m => m.SCOREE_ID != null).Select(t => t.SCOREE_ID).Distinct().ToList(); var libEs = this.GetEntities(t => libEIds.Contains(t.ID), new BaseFilter(orgId)); + libEIds = libEIds.Distinct().ToList(); if (libEIds != null && libEIds.Any()) { foreach (var id in libEIds) @@ -2500,6 +2538,7 @@ namespace APT.SK.WebApi.Controllers List libCList = new List(); var libCIds = jtLibs.Where(m => m.SCOREC_ID != null).Select(t => t.SCOREC_ID).Distinct().ToList(); var libCs = this.GetEntities(t => libCIds.Contains(t.ID), new BaseFilter(orgId)); + libCIds = libCIds.Distinct().ToList(); if (libCIds == null && libCIds.Any()) { foreach (var id in libCIds) @@ -2649,7 +2688,7 @@ namespace APT.SK.WebApi.Controllers } } //不存在,写入 - var conIdNews = conExsists.Select(t => t.ID).ToList(); + var conIdNews = conExsists.Select(t => t.ID).Distinct().ToList(); var conExsistNews = conIds.Where(t => t != null && !conIdNews.Contains(t.Value)).ToList(); if (conExsistNews != null && conExsistNews.Any()) { @@ -2741,7 +2780,7 @@ namespace APT.SK.WebApi.Controllers } } //不存在,写入 - var conIdNews = conExsists.Select(t => t.ID).ToList(); + var conIdNews = conExsists.Select(t => t.ID).Distinct().ToList(); var conExsistNews = conIds.Where(t => t != null && !conIdNews.Contains(t.Value)).ToList(); if (conExsistNews != null && conExsistNews.Any()) { @@ -2862,7 +2901,7 @@ namespace APT.SK.WebApi.Controllers } } //不存在,写入 - var conIdNews = conExsists.Select(t => t.ID).ToList(); + var conIdNews = conExsists.Select(t => t.ID).Distinct().ToList(); var conExsistNews = conIds.Where(t => t != null && !conIdNews.Contains(t.Value)).ToList(); if (conExsistNews != null && conExsistNews.Any()) {