diff --git a/APT.MS.Domain/Entities/SC/LR/61T_LR_LAW.cs b/APT.MS.Domain/Entities/SC/LR/61T_LR_LAW.cs
index 29a5e4c..77f544d 100644
--- a/APT.MS.Domain/Entities/SC/LR/61T_LR_LAW.cs
+++ b/APT.MS.Domain/Entities/SC/LR/61T_LR_LAW.cs
@@ -5,6 +5,7 @@ using APT.MS.Domain.Enums;
using System;
using System.Collections.Generic;
using System.ComponentModel;
+using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -67,7 +68,8 @@ namespace APT.MS.Domain.Entities.LR
///
/// 需求类别
///
- [Description("需求类别")]
+ [Description("需求类别")]
+ [NotMapped]
public T_LR_LAW_TYPE Nav_LawType { get; set; }
///
/// 编制单位
@@ -87,19 +89,22 @@ namespace APT.MS.Domain.Entities.LR
///
/// 导航属性:识别人员
///
- [Description("导航属性:融入人员")]
+ [Description("导航属性:融入人员")]
+ [NotMapped]
public T_FM_USER Nav_User { get; set; }
///
/// 导航:版本号
///
[Description("版本号")]
- [FormFieldEdit]
+ [FormFieldEdit]
+ [NotMapped]
public ICollection Nav_LawVersion { get; set; }
///
/// 导航:关联标准化制度库
///
[Description("标准化制度")]
- [FormFieldEdit]
+ [FormFieldEdit]
+ [NotMapped]
public ICollection Nav_LawSCSystem { get; set; }
///
/// 施行日期
diff --git a/APT.MS.Domain/Entities/SK/T_SK_BASIC_LIBRARY_DETAIL.cs b/APT.MS.Domain/Entities/SK/T_SK_BASIC_LIBRARY_DETAIL.cs
index 739936d..7d21181 100644
--- a/APT.MS.Domain/Entities/SK/T_SK_BASIC_LIBRARY_DETAIL.cs
+++ b/APT.MS.Domain/Entities/SK/T_SK_BASIC_LIBRARY_DETAIL.cs
@@ -3,6 +3,7 @@ using APT.MS.Domain.Entities.HM;
using System;
using System.Collections.Generic;
using System.ComponentModel;
+using System.ComponentModel.DataAnnotations.Schema;
using System.Text;
namespace APT.MS.Domain.Entities.SK
@@ -21,6 +22,7 @@ namespace APT.MS.Domain.Entities.SK
/// 导航属性:基础库
///
[Description("导航属性:基础库")]
+ [NotMapped]
public T_SK_BASIC_LIBRARY Nav_Library { get; set; }
///
/// 管控措施
@@ -42,6 +44,7 @@ namespace APT.MS.Domain.Entities.SK
///
[Description("检查内容")]
[FormFieldEdit]
+ [NotMapped]
public ICollection Nav_DetailContents { get; set; }
[Description("顺序")]
diff --git a/APT.MS.Domain/Entities/SK/T_SK_BASIC_LIBRARY_DETAIL_CONTENT.cs b/APT.MS.Domain/Entities/SK/T_SK_BASIC_LIBRARY_DETAIL_CONTENT.cs
index a67f4c8..800b8b9 100644
--- a/APT.MS.Domain/Entities/SK/T_SK_BASIC_LIBRARY_DETAIL_CONTENT.cs
+++ b/APT.MS.Domain/Entities/SK/T_SK_BASIC_LIBRARY_DETAIL_CONTENT.cs
@@ -3,6 +3,7 @@ using APT.MS.Domain.Entities.BS;
using System;
using System.Collections.Generic;
using System.ComponentModel;
+using System.ComponentModel.DataAnnotations.Schema;
using System.Text;
namespace APT.MS.Domain.Entities.SK
@@ -21,6 +22,7 @@ namespace APT.MS.Domain.Entities.SK
/// 导航属性:基础库管控措施表
///
[Description("导航属性:基础库管控措施表")]
+ [NotMapped]
public T_SK_BASIC_LIBRARY_DETAIL Nav_LibraryDetail { get; set; }
///
@@ -34,6 +36,7 @@ namespace APT.MS.Domain.Entities.SK
/// 检查内容
///
[Description("检查内容")]
+ [NotMapped]
public virtual T_SK_CHECK_CONTENTS Nav_Contents { get; set; }
///
/// 检查内容
@@ -64,6 +67,7 @@ namespace APT.MS.Domain.Entities.SK
///
[Description("隐患表")]
[FormFieldEdit]
+ [NotMapped]
public ICollection Nav_DetailHiddens { get; set; }
///
@@ -71,6 +75,7 @@ namespace APT.MS.Domain.Entities.SK
///
[Description("检查依据")]
[FormFieldEdit]
+ [NotMapped]
public ICollection Nav_DetailBasics { get; set; }
[Description("顺序")]
diff --git a/APT.MS.Domain/Entities/SK/T_SK_BASIC_LIBRARY_DETAIL_CONTENT_BASIC.cs b/APT.MS.Domain/Entities/SK/T_SK_BASIC_LIBRARY_DETAIL_CONTENT_BASIC.cs
index 2a3f9f8..e3036e5 100644
--- a/APT.MS.Domain/Entities/SK/T_SK_BASIC_LIBRARY_DETAIL_CONTENT_BASIC.cs
+++ b/APT.MS.Domain/Entities/SK/T_SK_BASIC_LIBRARY_DETAIL_CONTENT_BASIC.cs
@@ -3,6 +3,7 @@ using APT.MS.Domain.Entities.LR;
using System;
using System.Collections.Generic;
using System.ComponentModel;
+using System.ComponentModel.DataAnnotations.Schema;
using System.Text;
namespace APT.MS.Domain.Entities.SK
@@ -21,6 +22,7 @@ namespace APT.MS.Domain.Entities.SK
/// 导航属性:检查内容
///
[Description("导航属性:检查内容")]
+ [NotMapped]
public T_SK_BASIC_LIBRARY_DETAIL_CONTENT Nav_DetailContent { get; set; }
///
@@ -34,6 +36,11 @@ namespace APT.MS.Domain.Entities.SK
/// 导航属性:法律法规库
///
[Description("导航属性:法律法规库")]
- public T_LR_LAW Nav_Law { get; set; }
+ [NotMapped]
+ public T_LR_LAW Nav_Law { get; set; }
+ [Description("检查内容")]
+ [DataFieldIngore]
+ [NotMapped]
+ public Guid? CHECK_CONTENTS_ID { get; set; }
}
}
diff --git a/APT.MS.Domain/Entities/SK/T_SK_BASIC_LIBRARY_DETAIL_CONTENT_HIDDEN.cs b/APT.MS.Domain/Entities/SK/T_SK_BASIC_LIBRARY_DETAIL_CONTENT_HIDDEN.cs
index 19744f3..69300d4 100644
--- a/APT.MS.Domain/Entities/SK/T_SK_BASIC_LIBRARY_DETAIL_CONTENT_HIDDEN.cs
+++ b/APT.MS.Domain/Entities/SK/T_SK_BASIC_LIBRARY_DETAIL_CONTENT_HIDDEN.cs
@@ -3,6 +3,7 @@ using APT.MS.Domain.Enums.SK;
using System;
using System.Collections.Generic;
using System.ComponentModel;
+using System.ComponentModel.DataAnnotations.Schema;
using System.Text;
namespace APT.MS.Domain.Entities.SK
@@ -21,6 +22,7 @@ namespace APT.MS.Domain.Entities.SK
/// 导航属性:基础库检查内容表
///
[Description("导航属性:基础库检查内容表")]
+ [NotMapped]
public T_SK_BASIC_LIBRARY_DETAIL_CONTENT Nav_DetailContent { get; set; }
///
@@ -34,6 +36,7 @@ namespace APT.MS.Domain.Entities.SK
/// 隐患描述
///
[Description("隐患描述")]
+ [NotMapped]
public virtual T_SK_CHECK_QUESTION Nav_Question { get; set; }
///
@@ -58,6 +61,11 @@ namespace APT.MS.Domain.Entities.SK
[Description("顺序")]
public int? NUM { get; set; }
[Description("顺序")]
- public int? ROW_NO { get; set; }
+ public int? ROW_NO { get; set; }
+
+ [Description("检查内容")]
+ [DataFieldIngore]
+ [NotMapped]
+ public Guid? CHECK_CONTENTS_ID { get; set; }
}
}
diff --git a/APT.MS.Domain/Entities/SK/T_SK_CHECK_CONTENTS.cs b/APT.MS.Domain/Entities/SK/T_SK_CHECK_CONTENTS.cs
index 302931c..368963a 100644
--- a/APT.MS.Domain/Entities/SK/T_SK_CHECK_CONTENTS.cs
+++ b/APT.MS.Domain/Entities/SK/T_SK_CHECK_CONTENTS.cs
@@ -6,6 +6,7 @@ using APT.MS.Domain.Enums.SK;
using System;
using System.Collections.Generic;
using System.ComponentModel;
+using System.ComponentModel.DataAnnotations.Schema;
using System.Text;
namespace APT.MS.Domain.Entities.SK
@@ -23,7 +24,8 @@ namespace APT.MS.Domain.Entities.SK
[Description("生产单元")]
[DataFieldForeignKey("Nav_ProductionUnit")]
public Guid? PRODUCTION_UNIT_ID { get; set; }
- [Description("导航属性:生产单元")]
+ [Description("导航属性:生产单元")]
+ [NotMapped]
public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; }
///
/// 检查内容
@@ -39,14 +41,16 @@ namespace APT.MS.Domain.Entities.SK
/// 检查问题(描述)
///
[Description("导航:检查问题(描述)")]
- [FormFieldEdit]
+ [FormFieldEdit]
+ [NotMapped]
public virtual ICollection Nav_ListCheckQuestion { get; set; }
///
/// 检查依据
///
[Description("导航:检查依据")]
- [FormFieldEdit]
+ [FormFieldEdit]
+ [NotMapped]
public virtual ICollection Nav_ContentsBasics { get; set; }
///
@@ -63,7 +67,8 @@ namespace APT.MS.Domain.Entities.SK
///
/// 导航属性:辨识区域
///
- [Description("导航属性:辨识区域")]
+ [Description("导航属性:辨识区域")]
+ [NotMapped]
public T_SK_RISK_AREA Nav_Area { get; set; }
}
}
diff --git a/APT.MS.Domain/Entities/SK/T_SK_CHECK_QUESTION.cs b/APT.MS.Domain/Entities/SK/T_SK_CHECK_QUESTION.cs
index befd94c..a8ab76a 100644
--- a/APT.MS.Domain/Entities/SK/T_SK_CHECK_QUESTION.cs
+++ b/APT.MS.Domain/Entities/SK/T_SK_CHECK_QUESTION.cs
@@ -5,6 +5,7 @@ using APT.MS.Domain.Enums.SK;
using System;
using System.Collections.Generic;
using System.ComponentModel;
+using System.ComponentModel.DataAnnotations.Schema;
using System.Text;
namespace APT.MS.Domain.Entities.SK
@@ -25,7 +26,8 @@ namespace APT.MS.Domain.Entities.SK
///
/// 检查内容
///
- [Description("检查内容")]
+ [Description("检查内容")]
+ [NotMapped]
public virtual T_SK_CHECK_CONTENTS Nav_Contents { get; set; }
///
@@ -60,7 +62,8 @@ namespace APT.MS.Domain.Entities.SK
/// 问题等级描述
///
[Description("问题等级")]
- [DataFieldIngore]
+ [DataFieldIngore]
+ [NotMapped]
public string QUESTION_LEVEL_SHOW { get; set; }
///
@@ -73,10 +76,20 @@ namespace APT.MS.Domain.Entities.SK
[Description("检查内容")]
[DataFieldIngore]
+ [NotMapped]
public string CHECKCONTENT { get; set; }
[Description("生产单元")]
[DataFieldIngore]
- public Guid? PRODUCTION_UNIT_ID { get; set; }
+ [NotMapped]
+ public Guid? PRODUCTION_UNIT_ID { get; set; }
+ [Description("检查依据")]
+ [DataFieldIngore]
+ [NotMapped]
+ public string CHECK_BASICS { get; set; }
+ [Description("判定标准")]
+ [DataFieldIngore]
+ [NotMapped]
+ public string CHECK_STANDARD { get; set; }
}
}
diff --git a/APT.MS.Domain/Entities/SK/T_SK_RISK_TYPE.cs b/APT.MS.Domain/Entities/SK/T_SK_RISK_TYPE.cs
index 430348a..306af2e 100644
--- a/APT.MS.Domain/Entities/SK/T_SK_RISK_TYPE.cs
+++ b/APT.MS.Domain/Entities/SK/T_SK_RISK_TYPE.cs
@@ -4,6 +4,7 @@ using APT.MS.Domain.Enums;
using System;
using System.Collections.Generic;
using System.ComponentModel;
+using System.ComponentModel.DataAnnotations.Schema;
using System.Text;
namespace APT.MS.Domain.Entities.SK
@@ -37,7 +38,8 @@ namespace APT.MS.Domain.Entities.SK
[Description("生产单元")]
[DataFieldForeignKey("Nav_ProductionUnit")]
public Guid? PRODUCTION_UNIT_ID { get; set; }
- [Description("导航属性:生产单元")]
+ [Description("导航属性:生产单元")]
+ [NotMapped]
public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; }
}
}
diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs
index 67f4ab1..ee874fe 100644
--- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs
+++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs
@@ -10,6 +10,7 @@ using APT.BaseData.Services.Services.OP;
using APT.Infrastructure.Api;
using APT.Infrastructure.Core;
using APT.MS.Domain.Entities.FO;
+using APT.MS.Domain.Entities.LR;
using APT.MS.Domain.Entities.SK;
using APT.MS.Domain.Enums;
using APT.MS.Domain.Enums.SK;
@@ -20,10 +21,13 @@ using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Internal;
using MySqlX.XDevAPI.Common;
+using NPOI.SS.Formula.Functions;
using NPOI.SS.Formula.PTG;
+using Org.BouncyCastle.Crypto;
using System;
using System.Collections.Generic;
using System.Data;
+using System.DirectoryServices.ActiveDirectory;
using System.Linq;
using System.Security.Policy;
@@ -276,6 +280,570 @@ namespace APT.SK.WebApi.Controllers
});
}
///
+ /// 保存
+ ///
+ ///
+ ///
+ [HttpPost, Route("FullUpdateNew")]
+ public JsonActionResult FullUpdateNew([FromBody] T_SK_BASIC_LIBRARY entity)
+ {
+ 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);
+
+ var details = entity.Nav_Details;
+ entity.Nav_Details = null;
+ if (details != null && details.Any())
+ {
+ details = details.Where(t => !t.IS_DELETED).ToList();
+ }
+ var deleteBasDetailIds = this.GetEntities(t => t.BASIC_LIBRARY_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
+ var deleteBasConttentIds = this.GetEntities(t => deleteBasDetailIds.Contains(t.BASIC_LIBRARY_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
+ var deleteBasBasicIds = this.GetEntities(t => deleteBasConttentIds.Contains(t.BASIC_LIBRARY_DETAIL_CONTENT_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
+ var deleteBasHiddenIds = this.GetEntities(t => deleteBasConttentIds.Contains(t.BASIC_LIBRARY_DETAIL_CONTENT_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
+ List contentList = new List();
+ List hiddenList = new List();
+ List basicList = new List();
+ var numIsNull = details.FirstOrDefault(t => t.NUM == null || t.NUM == 0);
+ if (numIsNull != null)
+ {
+ throw new Exception("管控措施的顺序必须填写");
+ }
+ T_FM_USER_PRODUCTION_UNIT_SET proUnitNew = null;
+ //查生产单元表
+ var proUnit = this.GetEntity(t =>t.ID == entity.PRODUCTION_UNIT_ID);
+ var jtProUnit = db.GetJTProUnits(dbName).FirstOrDefault(t => t.ID == entity.PRODUCTION_UNIT_ID);
+ if (proUnit == null && jtProUnit != null)
+ {
+ //写入
+ proUnitNew = new T_FM_USER_PRODUCTION_UNIT_SET();
+ proUnitNew.ORG_ID = entity.ORG_ID;
+ proUnitNew.ID = entity.PRODUCTION_UNIT_ID.Value;
+ proUnitNew.NAME = jtProUnit?.NAME;
+ proUnitNew.CODE = jtProUnit?.CODE;
+ }
+ //else
+ //{
+ // //更新
+ // proUnitNew = proUnit;
+ // proUnitNew.NAME = jtProUnit?.NAME;
+ // proUnitNew.CODE = jtProUnit?.CODE;
+ //}
+ T_SK_RISK_TYPE riskTypeNew = null;
+ //查风险类别
+ var riskType = this.GetEntity(t => t.ID == entity.TYPE_ID);
+ var jtRiskType = db.GetJTRiskTypes(dbName).FirstOrDefault(t => t.ID == entity.TYPE_ID);
+ if (riskType == null && jtRiskType!=null)
+ {
+ riskTypeNew = new T_SK_RISK_TYPE();
+ riskTypeNew.ORG_ID = entity.ORG_ID;
+ riskTypeNew.ID = entity.TYPE_ID.Value;
+ riskTypeNew.NAME = jtRiskType?.NAME;
+ riskTypeNew.PRODUCTION_UNIT_ID = entity.PRODUCTION_UNIT_ID;
+ }
+ //else
+ //{
+ // //更新
+ // riskTypeNew = riskType;
+ // riskTypeNew.NAME = jtRiskType?.NAME;
+ // riskTypeNew.PRODUCTION_UNIT_ID = entity.PRODUCTION_UNIT_ID;
+ //}
+ T_SK_SCOREL libLNew = null;
+ //查生产单元表
+ var libL = this.GetEntity(t => t.ID == entity.SCOREL_ID);
+ var jtlibL = db.GetJTLibLs(dbName).FirstOrDefault(t => t.ID == entity.SCOREL_ID);
+ if (libL == null && jtlibL != null)
+ {
+ //写入
+ libLNew = new T_SK_SCOREL();
+ libLNew.ORG_ID = entity.ORG_ID;
+ libLNew.ID = entity.SCOREL_ID.Value;
+ libLNew.NAME = jtlibL?.NAME;
+ libLNew.CODE = jtlibL?.CODE;
+ libLNew.SCORE = jtlibL==null ?0:jtlibL.SCORE;
+ }
+ T_SK_SCOREE libENew = null;
+ //查生产单元表
+ var libE = this.GetEntity(t => t.ID == entity.SCOREE_ID);
+ var jtlibE = db.GetJTLibEs(dbName).FirstOrDefault(t => t.ID == entity.SCOREE_ID);
+ if (libE == null && libE != null)
+ {
+ //写入
+ libENew = new T_SK_SCOREE();
+ libENew.ORG_ID = entity.ORG_ID;
+ libENew.ID = entity.SCOREE_ID.Value;
+ libENew.NAME = jtlibE?.NAME;
+ libENew.CODE = jtlibE?.CODE;
+ libENew.SCORE = jtlibE == null ? 0 : jtlibE.SCORE;
+ }
+ T_SK_SCOREC libCNew = null;
+ //查生产单元表
+ var libC = this.GetEntity(t => t.ID == entity.SCOREC_ID);
+ var jtlibC = db.GetJTLibCs(dbName).FirstOrDefault(t => t.ID == entity.SCOREC_ID);
+ if (libC == null && jtlibC != null)
+ {
+ //写入
+ libCNew = new T_SK_SCOREC();
+ libCNew.ORG_ID = entity.ORG_ID;
+ libCNew.ID = entity.SCOREC_ID.Value;
+ libCNew.NAME = jtlibC?.NAME;
+ libCNew.CODE = jtlibC?.CODE;
+ libCNew.SCORE = jtlibC == null ? 0 : jtlibC.SCORE;
+ }
+
+ if (details != null && details.Any())
+ {
+ foreach (var item in details)
+ {
+ if (item.Nav_DetailContents != null && item.Nav_DetailContents.Any())
+ {
+ foreach (var item2 in item.Nav_DetailContents)
+ {
+ if (item2.Nav_DetailHiddens != null && item2.Nav_DetailHiddens.Any())
+ {
+ foreach (var item3 in item2.Nav_DetailHiddens)
+ {
+ item3.ORG_ID = entity.ORG_ID;
+ item3.CHECK_CONTENTS_ID = item2.CHECK_CONTENTS_ID;
+ item3.BASIC_LIBRARY_DETAIL_CONTENT_ID = item2.ID;
+ //item3.Nav_Question = null;
+ item3.NUM = (item3.NUM == 0 || item3.NUM == null) ? item3.ROW_NO : item3.NUM;
+ hiddenList.Add(item3);
+ }
+ }
+ if (item2.Nav_DetailBasics != null && item2.Nav_DetailBasics.Any())
+ {
+ foreach (var item3 in item2.Nav_DetailBasics)
+ {
+ item3.ORG_ID = entity.ORG_ID;
+ item3.BASIC_LIBRARY_DETAIL_CONTENT_ID = item2.ID;
+ item3.CHECK_CONTENTS_ID = item2.CHECK_CONTENTS_ID;
+ //item3.Nav_Law = null;
+ basicList.Add(item3);
+ }
+ }
+ item2.ORG_ID = entity.ORG_ID;
+ item2.BASIC_LIBRARY_DETAIL_ID = item.ID;
+ //item2.Nav_Contents = null;
+ item2.Nav_DetailHiddens = null;
+ item2.Nav_DetailBasics = null;
+ item2.NUM = (item2.NUM == 0 || item2.NUM == null) ? item2.ROW_NO : item2.NUM;
+ contentList.Add(item2);
+ }
+ }
+ item.ORG_ID = entity.ORG_ID;
+ item.BASIC_LIBRARY_ID = entity.ID;
+ item.Nav_DetailContents = null;
+ item.NUM = (item.NUM == 0 || item.NUM == null) ? item.ROW_NO : item.NUM;
+ }
+ }
+
+ //查检查内容
+ 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 conExsists = checkConts.Where(t=> conIds.Contains(t.ID)).ToList();
+ //if (conExsists != null && conExsists.Any())
+ //{
+ // foreach (var conExsist in conExsists)
+ // {
+ // //检查内容
+ // var first = jtCheckConts.FirstOrDefault(t => t.ID == conExsist.ID);
+ // if (first != null)
+ // {
+ // conExsist.ID = first.ID;
+ // conExsist.ORG_ID = entity.ORG_ID;
+ // conExsist.PRODUCTION_UNIT_ID = entity.PRODUCTION_UNIT_ID;
+ // conExsist.Nav_ListCheckQuestion = null;
+ // conExsist.Nav_ContentsBasics = null;
+ // conExsist.CHECKCONTENT = first.CHECKCONTENT;
+ // conExsist.CHECK_STANDARD = first.CHECK_STANDARD;
+ // updateCheckConts.Add(conExsist);
+ // }
+ // }
+ //}
+ //不存在,写入
+ var conIdNews = conExsists.Select(t => t.ID).ToList();
+ var conExsistNews = conIds.Where(t =>t!=null && !conIdNews.Contains(t.Value)).ToList();
+ if (conExsistNews != null && conExsistNews.Any())
+ {
+ foreach (var id in conExsistNews)
+ {
+ //检查内容
+ var first = jtCheckConts.FirstOrDefault(t => t.ID == id);
+ if (first != null)
+ {
+ T_SK_CHECK_CONTENTS conExsist = new T_SK_CHECK_CONTENTS();
+ conExsist.ID = id.Value;
+ conExsist.ORG_ID = entity.ORG_ID;
+ conExsist.PRODUCTION_UNIT_ID = entity.PRODUCTION_UNIT_ID;
+ conExsist.Nav_ListCheckQuestion = null;
+ conExsist.Nav_ContentsBasics = null;
+ conExsist.CHECKCONTENT = first?.CHECKCONTENT;
+ conExsist.CHECK_STANDARD = first?.CHECK_STANDARD;
+ updateCheckConts.Add(conExsist);
+ }
+ }
+ }
+ }
+ //查检查依据(法律法规)
+ List updateCheckLaws = new List();
+ List updateCheckLawTypes = new List();
+ var checkContLaws = this.GetEntities(t => true, new BaseFilter(entity.ORG_ID));
+ var jtcheckContLaws = db.GetJTLaws(dbName).ToList();
+ var jtcheckContLawTypes = db.GetJTLawTypes(dbName).ToList();
+ var checkContLawTypes = this.GetEntities(t => true, new BaseFilter(entity.ORG_ID));
+ if (basicList != null && basicList.Any())
+ {
+ var conIds = basicList.Where(m => m.LAW_ID != null).Select(t => t.LAW_ID).Distinct().ToList();
+ //存在,不更新
+ var conExsists = checkContLaws.Where(t => conIds.Contains(t.ID)).ToList();
+ //if (conExsists != null && conExsists.Any())
+ //{
+ // foreach (var conExsist in conExsists)
+ // {
+ // //法律法规
+ // var first = jtcheckContLaws.FirstOrDefault(t => t.ID == conExsist.ID);
+ // if (first != null)
+ // {
+ // var firstType = checkContLawTypes.FirstOrDefault(t => t.ID == first.TYPE_ID);
+ // if (firstType == null)
+ // {
+ // var jtFirstType = jtcheckContLawTypes.FirstOrDefault(t => t.ID == first.TYPE_ID);
+ // if (jtFirstType != null)
+ // {
+ // T_LR_LAW_TYPE lawType = new T_LR_LAW_TYPE();
+ // lawType.ID = jtFirstType.ID;
+ // lawType.NAME = jtFirstType.NAME;
+ // updateCheckLawTypes.Add(lawType);
+ // conExsist.ID = first.ID;
+ // conExsist.ORG_ID = entity.ORG_ID;
+ // conExsist.CODE = first?.CODE;
+ // conExsist.NAME = first?.NAME;
+ // conExsist.VERSION_NUM = first?.VERSION_NUM;
+ // conExsist.LAW_STATUS = first == null ? BSLawStatusEnum.现行 : first.LAW_STATUS;
+ // conExsist.UPDATE_TIME = first == null ? DateTime.Now : first.UPDATE_TIME;
+ // conExsist.EXECUTE_TIME = first == null ? DateTime.Now : first.EXECUTE_TIME;
+ // conExsist.USER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value;
+ // conExsist.TYPE_ID = first.TYPE_ID;
+ // updateCheckLaws.Add(conExsist);
+ // }
+ // }
+ // else
+ // {
+ // conExsist.ID = first.ID;
+ // conExsist.ORG_ID = entity.ORG_ID;
+ // conExsist.CODE = first?.CODE;
+ // conExsist.NAME = first?.NAME;
+ // conExsist.VERSION_NUM = first?.VERSION_NUM;
+ // conExsist.LAW_STATUS = first == null ? BSLawStatusEnum.现行 : first.LAW_STATUS;
+ // conExsist.UPDATE_TIME = first == null ? DateTime.Now : first.UPDATE_TIME;
+ // conExsist.EXECUTE_TIME = first == null ? DateTime.Now : first.EXECUTE_TIME;
+ // conExsist.USER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value;
+ // conExsist.TYPE_ID = first.TYPE_ID;
+ // updateCheckLaws.Add(conExsist);
+ // }
+ // }
+ // }
+ //}
+ //不存在,写入
+ var conIdNews = conExsists.Select(t => t.ID).ToList();
+ var conExsistNews = conIds.Where(t => t != null && !conIdNews.Contains(t.Value)).ToList();
+ if (conExsistNews != null && conExsistNews.Any())
+ {
+ foreach (var id in conExsistNews)
+ {
+ //检查依据(法律法规)
+ var first = jtcheckContLaws.FirstOrDefault(t => t.ID == id);
+ if (first!= null)
+ {
+ var firstType = checkContLawTypes.FirstOrDefault(t => t.ID == first.TYPE_ID);
+ if (firstType == null)
+ {
+ var jtFirstType = jtcheckContLawTypes.FirstOrDefault(t => t.ID == first.TYPE_ID);
+ if (jtFirstType != null)
+ {
+ T_LR_LAW_TYPE lawType = new T_LR_LAW_TYPE();
+ lawType.ID = jtFirstType.ID;
+ lawType.NAME = jtFirstType.NAME;
+ updateCheckLawTypes.Add(lawType);
+ T_LR_LAW conExsist = new T_LR_LAW();
+ conExsist.ID = id.Value;
+ conExsist.ORG_ID = entity.ORG_ID;
+ conExsist.CODE = first?.CODE;
+ conExsist.NAME = first?.NAME;
+ conExsist.VERSION_NUM = first?.VERSION_NUM;
+ conExsist.LAW_STATUS = first == null ? BSLawStatusEnum.现行 : first.LAW_STATUS;
+ conExsist.UPDATE_TIME = first == null ? DateTime.Now : first.UPDATE_TIME;
+ conExsist.EXECUTE_TIME = first == null ? DateTime.Now : first.EXECUTE_TIME;
+ conExsist.USER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value;
+ conExsist.TYPE_ID = jtFirstType.ID;
+ updateCheckLaws.Add(conExsist);
+ }
+ }
+ else
+ {
+ T_LR_LAW conExsist = new T_LR_LAW();
+ conExsist.ID = id.Value;
+ conExsist.ORG_ID = entity.ORG_ID;
+ conExsist.CODE = first?.CODE;
+ conExsist.NAME = first?.NAME;
+ conExsist.VERSION_NUM = first?.VERSION_NUM;
+ conExsist.LAW_STATUS = first == null ? BSLawStatusEnum.现行 : first.LAW_STATUS;
+ conExsist.UPDATE_TIME = first == null ? DateTime.Now : first.UPDATE_TIME;
+ conExsist.EXECUTE_TIME = first == null ? DateTime.Now : first.EXECUTE_TIME;
+ conExsist.USER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value;
+ conExsist.TYPE_ID = first.TYPE_ID;
+ updateCheckLaws.Add(conExsist);
+ }
+ }
+ }
+ }
+ }
+ //查隐患描述
+ 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();
+ //存在,不更新
+ var conExsists = checkContHids.Where(t => conIds.Contains(t.ID)).ToList();
+ //if (conExsists != null && conExsists.Any())
+ //{
+ // foreach (var conExsist in conExsists)
+ // {
+ // //隐患描述
+ // var first = jtCheckContHids.FirstOrDefault(t => t.ID == conExsist.ID);
+ // if (first != null)
+ // {
+ // conExsist.ID = first.ID;
+ // conExsist.ORG_ID = entity.ORG_ID;
+ // conExsist.QUESTION_LEVEL = first?.QUESTION_LEVEL;
+ // conExsist.DEMAND = first?.DEMAND;
+ // conExsist.DESCREPTION = first?.DESCREPTION;
+ // conExsist.CHECK_CONTENTS_ID = first?.CHECK_CONTENTS_ID;
+ // updateCheckQues.Add(conExsist);
+ // }
+ // }
+ //}
+ //不存在,写入
+ var conIdNews = conExsists.Select(t => t.ID).ToList();
+ var conExsistNews = conIds.Where(t =>t!=null&& !conIdNews.Contains(t.Value)).ToList();
+ if (conExsistNews != null && conExsistNews.Any())
+ {
+ foreach (var id in conExsistNews)
+ {
+ //隐患描述
+ var first = jtCheckContHids.FirstOrDefault(t => t.ID == id);
+ if (first != null)
+ {
+ T_SK_CHECK_QUESTION conExsist = new T_SK_CHECK_QUESTION();
+ conExsist.ID = id.Value;
+ conExsist.ORG_ID = entity.ORG_ID;
+ conExsist.QUESTION_LEVEL = first?.QUESTION_LEVEL;
+ conExsist.DEMAND = first?.DEMAND;
+ conExsist.DESCREPTION = first?.DESCREPTION;
+ conExsist.CHECK_CONTENTS_ID = first?.CHECK_CONTENTS_ID;
+ updateCheckQues.Add(conExsist);
+ }
+ }
+ }
+ }
+ List libraryIds = new List();
+ List libraryDepartIds = new List();
+ List libraryPostIds = new List();
+ List libraryPostDetailIds = new List();
+ List detailIds = new List();
+ List contentIds = new List();
+ List departIds = new List();
+ List postIds = new List();
+ List hiddenIds = new List();
+ List basicIds = new List();
+ T_SK_ENTERPRISE_LIBRARY enterpriseLib = null;
+ List libraryDetailList = new List();
+ List libraryContentList = new List();
+ List libraryHiddenList = new List();
+ List libraryBasicList = new List();
+ //同步企业库
+ if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify"))
+ {
+ //&& t.PRODUCTION_UNIT_ID == entity.PRODUCTION_UNIT_ID && t.TYPE_ID == entity.TYPE_ID && t.RISK_NAME == entity.RISK_NAME && t.RISK_DESCRIPTION == entity.RISK_DESCRIPTION
+ var library = this.GetEntity(t => t.ID == entity.ID);
+ if (library != null)
+ {
+ //throw new Exception("企业库已经有重复数据");
+ libraryIds.Add(library.ID);
+ libraryPostIds = this.GetEntities(t => t.ENTERPRISE_LIBRARY_ID == library.ID, new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
+ libraryPostDetailIds = this.GetEntities(t => libraryPostIds.Contains(t.ENTERPRISE_LIBRARY_POST_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
+ libraryDepartIds = this.GetEntities(t => t.ENTERPRISE_LIBRARY_ID == library.ID, new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
+ detailIds = this.GetEntities(t => t.ENTERPRISE_LIBRARY_ID == library.ID, new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
+ contentIds = this.GetEntities(t => detailIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
+ hiddenIds = this.GetEntities(t => contentIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
+ basicIds = this.GetEntities(t => contentIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
+ departIds = this.GetEntities(t => contentIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
+ postIds = this.GetEntities(t => departIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
+ }
+ enterpriseLib = new T_SK_ENTERPRISE_LIBRARY();
+ enterpriseLib.ID = entity.ID;
+ enterpriseLib.ORG_ID = entity.ORG_ID;
+ enterpriseLib.ENABLE_STATUS = entity.ENABLE_STATUS;
+ enterpriseLib.PRODUCTION_UNIT_ID = entity.PRODUCTION_UNIT_ID;
+ enterpriseLib.MINE_NAME = entity.MINE_NAME;
+ enterpriseLib.AREA_ID = entity.AREA_ID;
+ enterpriseLib.AREA_NAME = entity.AREA_NAME;
+ enterpriseLib.RISK_NAME = entity.RISK_NAME;
+ enterpriseLib.RISK_DESCRIPTION = entity.RISK_DESCRIPTION;
+ enterpriseLib.TYPE_ID = entity.TYPE_ID;
+ enterpriseLib.TYPE_NAME = entity.TYPE_NAME;
+ enterpriseLib.EVALUATE_L = entity.EVALUATE_L;
+ enterpriseLib.EVALUATE_E = entity.EVALUATE_E;
+ enterpriseLib.EVALUATE_C = entity.EVALUATE_C;
+ enterpriseLib.EVALUATE_SCORE = entity.EVALUATE_SCORE;
+ enterpriseLib.EVALUATE_LEVEL = entity.EVALUATE_LEVEL;
+ enterpriseLib.DEPARTMENT_TYPE = entity.DEPARTMENT_TYPE;
+ enterpriseLib.NUM = entity.NUM;
+ if (details != null && details.Any())
+ {
+ foreach (var item in details)
+ {
+ T_SK_ENTERPRISE_LIBRARY_DETAIL enterDetail = new T_SK_ENTERPRISE_LIBRARY_DETAIL();
+ enterDetail.ORG_ID = item.ORG_ID;
+ enterDetail.ID = item.ID;
+ enterDetail.ENTERPRISE_LIBRARY_ID = item.BASIC_LIBRARY_ID;
+ enterDetail.MEASURES_NAME = item.MEASURES_NAME;
+ enterDetail.NUM = item.NUM;
+ enterDetail.EMERGENCY = item.EMERGENCY;
+ libraryDetailList.Add(enterDetail);
+ }
+ }
+ if (contentList != null && contentList.Any())
+ {
+ foreach (var item in contentList)
+ {
+ T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT enterDetail = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT();
+ enterDetail.ORG_ID = item.ORG_ID;
+ enterDetail.ID = item.ID;
+ enterDetail.ENTERPRISE_LIBRARY_DETAIL_ID = item.BASIC_LIBRARY_DETAIL_ID;
+ enterDetail.CHECK_CONTENT = item.CHECK_CONTENT;
+ enterDetail.NUM = item.NUM;
+ enterDetail.CHECK_CONTENTS_ID = item.CHECK_CONTENTS_ID;
+ enterDetail.CHECK_BASIC = item.CHECK_BASIC;
+ enterDetail.CHECK_STANDARD = item.CHECK_STANDARD;
+ enterDetail.CHECK_CONTENTS_ID = item.CHECK_CONTENTS_ID;
+ enterDetail.CHECK_BASIC = item.CHECK_BASIC;
+ libraryContentList.Add(enterDetail);
+ }
+ }
+ if (basicList != null && basicList.Any())
+ {
+ foreach (var item in basicList)
+ {
+ T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_BASIC enterDetail = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_BASIC();
+ enterDetail.ORG_ID = item.ORG_ID;
+ enterDetail.ID = item.ID;
+ enterDetail.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = item.BASIC_LIBRARY_DETAIL_CONTENT_ID;
+ enterDetail.LAW_ID = item.LAW_ID;
+ libraryBasicList.Add(enterDetail);
+ }
+ }
+ if (hiddenList != null && hiddenList.Any())
+ {
+ foreach (var item in hiddenList)
+ {
+ T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_HIDDEN enterDetail = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_HIDDEN();
+ enterDetail.ORG_ID = item.ORG_ID;
+ enterDetail.ID = item.ID;
+ enterDetail.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = item.BASIC_LIBRARY_DETAIL_CONTENT_ID;
+ enterDetail.RECTIFICATION_MEASURES = item.RECTIFICATION_MEASURES;
+ enterDetail.NUM = item.NUM;
+ enterDetail.CHECK_QUESTION_ID = item.CHECK_QUESTION_ID;
+ enterDetail.HIDDEN_DESCRIPTION = item.HIDDEN_DESCRIPTION;
+ enterDetail.HIDDEN_LEVEL = item.HIDDEN_LEVEL;
+ libraryHiddenList.Add(enterDetail);
+ }
+ }
+ }
+ this.UnifiedCommit(() =>
+ {
+ if (proUnitNew != null)
+ UpdateEntityNoCommit(proUnitNew);
+ if (riskTypeNew != null)
+ UpdateEntityNoCommit(riskTypeNew);
+ if (libLNew != null)
+ UpdateEntityNoCommit(libLNew);
+ if (libENew != null)
+ UpdateEntityNoCommit(libENew);
+ if (libCNew != null)
+ UpdateEntityNoCommit(libCNew);
+ if (updateCheckLawTypes != null && updateCheckLawTypes.Any())
+ BantchSaveEntityNoCommit(updateCheckLawTypes);
+ if (updateCheckLaws != null && updateCheckLaws.Any())
+ BantchSaveEntityNoCommit(updateCheckLaws);
+ if (updateCheckConts != null && updateCheckConts.Any())
+ BantchSaveEntityNoCommit(updateCheckConts);
+ if (updateCheckQues != null && updateCheckQues.Any())
+ BantchSaveEntityNoCommit(updateCheckQues);
+ if (deleteBasBasicIds != null && deleteBasBasicIds.Any())
+ this.BantchDeleteEntityNoCommit(deleteBasBasicIds);
+ if (deleteBasHiddenIds != null && deleteBasHiddenIds.Any())
+ this.BantchDeleteEntityNoCommit(deleteBasHiddenIds);
+ if (deleteBasConttentIds != null && deleteBasConttentIds.Any())
+ this.BantchDeleteEntityNoCommit(deleteBasConttentIds);
+ if (deleteBasDetailIds != null && deleteBasDetailIds.Any())
+ this.BantchDeleteEntityNoCommit(deleteBasDetailIds);
+ if (entity != null)
+ UpdateEntityNoCommit(entity);
+ if (details != null && details.Any())
+ BantchSaveEntityNoCommit(details);
+ if (contentList != null && contentList.Any())
+ BantchSaveEntityNoCommit(contentList);
+ if (hiddenList != null && hiddenList.Any())
+ BantchSaveEntityNoCommit(hiddenList);
+ if (basicList != null && basicList.Any())
+ BantchSaveEntityNoCommit(basicList);
+ if (hiddenIds != null && hiddenIds.Any())
+ this.BantchDeleteEntityNoCommit(hiddenIds);
+ if (postIds != null && postIds.Any())
+ this.BantchDeleteEntityNoCommit(postIds);
+ if (departIds != null && departIds.Any())
+ this.BantchDeleteEntityNoCommit(departIds);
+ if (basicIds != null && basicIds.Any())
+ this.BantchDeleteEntityNoCommit(basicIds);
+ if (contentIds != null && contentIds.Any())
+ this.BantchDeleteEntityNoCommit(contentIds);
+ if (detailIds != null && detailIds.Any())
+ this.BantchDeleteEntityNoCommit(detailIds);
+ if (libraryPostDetailIds != null && libraryPostDetailIds.Any())
+ this.BantchDeleteEntityNoCommit(libraryPostDetailIds);
+ if (libraryPostIds != null && libraryPostIds.Any())
+ this.BantchDeleteEntityNoCommit(libraryPostIds);
+ if (libraryDepartIds != null && libraryDepartIds.Any())
+ this.BantchDeleteEntityNoCommit(libraryDepartIds);
+ if (libraryIds != null && libraryIds.Any())
+ this.BantchDeleteEntityNoCommit(libraryIds);
+ if (enterpriseLib != null)
+ UpdateEntityNoCommit(enterpriseLib);
+ if (libraryDetailList != null && libraryDetailList.Any())
+ BantchSaveEntityNoCommit(libraryDetailList);
+ if (libraryContentList != null && libraryContentList.Any())
+ BantchSaveEntityNoCommit(libraryContentList);
+ if (libraryHiddenList != null && libraryHiddenList.Any())
+ BantchSaveEntityNoCommit(libraryHiddenList);
+ if (libraryBasicList != null && libraryBasicList.Any())
+ BantchSaveEntityNoCommit(libraryBasicList);
+ });
+ return true;
+ });
+ }
+ ///
/// 排序分页查询数据
///
/// 分页过滤实体
@@ -591,8 +1159,8 @@ namespace APT.SK.WebApi.Controllers
public JsonActionResult> JTOrderEntities([FromBody] KeywordFilter filter)
{
var result = new JsonActionResult>();
- string strConn = OPTenantDBConnService.GetConnByORGID(filter.OrgId.Value);
- string name = "mh_jy_head";
+ string strConn = OPTenantDBConnService.GetConnByORGID(Guid.Parse("00300000-0000-0000-0000-000000000000"));
+ string dbName = "mh_jy_head";
if (!string.IsNullOrEmpty(strConn))
{
// 找左边字符串结束位置
@@ -605,217 +1173,749 @@ namespace APT.SK.WebApi.Controllers
if (end != -1)
{
// 截取中间
- name = strConn.Substring(start, end - start);
+ dbName = strConn.Substring(start, end - start);
}
}
// 2. 传入构造函数
using var db = new CrossDbContext(strConn);
// 3. 要跨哪些库?自己定义,指定总部
- var dbNames = new List();
- //{
- // "mh_jy_head",
- //};
- dbNames.Add(name);
- result.Data = db.QueryCrossDatabases(dbNames).ToList();
- //DataTable library = new DataTable();
- //using (SqlConnection connection = new SqlConnection(strConn))
- //{
- // try
- // {
- // connection.Open();
- // //风险等级占比
- // string sqlRisk = "select * from T_SK_BASIC_LIBRARY ";
- // SqlCommand comRisk = new SqlCommand(sqlRisk, connection);
- // SqlDataAdapter riskData = new SqlDataAdapter(comRisk);
- // riskData.Fill(library);
- // connection.Close();
- // }
- // catch (Exception ex)
- // {
- // if (!string.IsNullOrEmpty(ex.StackTrace))
- // throw new Exception("错误日志:[StackTrace]" + ex.StackTrace);
- // else
- // throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message);
- // }
- //}
-
- if (result != null && result.Data != null)
- {
- if (result.Data != null && result.Data.Any())
- {
- foreach (var item in result.Data)
- {
- var detailStr = new List();
- var contentStr = new List();
- var basicStr = new List();
- var standardStr = new List();
- var scripStr = new List();
- var levelStr = new List();
- var measureStr = new List();
- if (item.Nav_Details != null && item.Nav_Details.Any())
- {
- foreach (var item2 in item.Nav_Details.OrderBy(t => t.NUM))
- {
- //var i = 1;
- if (item2 != null && !string.IsNullOrEmpty(item2.MEASURES_NAME))
- {
- detailStr.Add(item2.MEASURES_NAME);
- var temp = item2.NUM + "、" + item2.MEASURES_NAME + Environment.NewLine;
- item.MINE_NAME = item.MINE_NAME + temp;
- item.MEASURE = item.MEASURE + temp;
- //i++;
- }
- if (item2 != null && item2.Nav_DetailContents != null && item2.Nav_DetailContents.Any())
- {
- foreach (var item3 in item2.Nav_DetailContents.OrderBy(t => t.NUM))
- {
- if (item3 != null)
- {
- if (item3.Nav_Contents != null && !string.IsNullOrEmpty(item3.Nav_Contents.CHECKCONTENT))
- {
- contentStr.Add(item3.Nav_Contents.CHECKCONTENT);
- }
- if (!string.IsNullOrEmpty(item3.CHECK_STANDARD))
- {
- standardStr.Add(item3.CHECK_STANDARD);
- }
- if (item3.Nav_DetailBasics != null && item3.Nav_DetailBasics.Any())
- {
- foreach (var item4 in item3.Nav_DetailBasics)
- {
- if (item4 != null && item4.Nav_Law != null && !string.IsNullOrEmpty(item4.Nav_Law.NAME))
- {
- basicStr.Add(item4.Nav_Law.NAME);
- }
- }
- }
- if (item3.Nav_DetailHiddens != null && item3.Nav_DetailHiddens.Any())
- {
- foreach (var item4 in item3.Nav_DetailHiddens.OrderBy(t => t.NUM))
- {
- if (item4 != null)
- {
- if (item4.Nav_Question != null && !string.IsNullOrEmpty(item4.Nav_Question.DESCREPTION))
- {
- scripStr.Add(item4.Nav_Question.DESCREPTION);
- }
- levelStr.Add(item4.HIDDEN_LEVEL.GetDescription());
- if (!string.IsNullOrEmpty(item4.RECTIFICATION_MEASURES))
- {
- measureStr.Add(item4.RECTIFICATION_MEASURES);
- }
- }
- }
- }
- }
- }
- }
- }
- }
- //if (detailStr.Any())
- //{
- // detailStr = detailStr.Distinct().ToList();
- // var i = 1;
- // foreach (var item2 in detailStr)
- // {
- // if (!string.IsNullOrEmpty(item2))
- // {
- // var temp = i + "、" + item2 + "\r\n";
- // item.MEASURE = item.MEASURE + temp;
- // i++;
- // }
- // }
- //}
- if (contentStr.Any())
- {
- contentStr = contentStr.Distinct().ToList();
- var i = 1;
- foreach (var item2 in contentStr)
- {
- if (!string.IsNullOrEmpty(item2))
+ //var dbNames = new List();
+ ////{
+ //// "mh_jy_head",
+ ////};
+ //dbNames.Add(dbName);
+ result.Data = db.QueryCrossDatabases(dbName);
+
+ if (result != null && result.Data != null && result.Data.Any())
+ {
+ foreach (var item in result.Data)
+ {
+ var detailStr = new List();
+ var contentStr = new List();
+ var basicStr = new List();
+ var standardStr = new List();
+ var scripStr = new List();
+ var levelStr = new List();
+ var measureStr = new List();
+ if (item.Nav_Details != null && item.Nav_Details.Any())
+ {
+ foreach (var item2 in item.Nav_Details.OrderBy(t => t.NUM))
+ {
+ //var i = 1;
+ if (item2 != null && !string.IsNullOrEmpty(item2.MEASURES_NAME))
+ {
+ detailStr.Add(item2.MEASURES_NAME);
+ var temp = item2.NUM + "、" + item2.MEASURES_NAME + Environment.NewLine;
+ item.MINE_NAME = item.MINE_NAME + temp;
+ item.MEASURE = item.MEASURE + temp;
+ //i++;
+ }
+ if (item2 != null && item2.Nav_DetailContents != null && item2.Nav_DetailContents.Any())
+ {
+ foreach (var item3 in item2.Nav_DetailContents.OrderBy(t => t.NUM))
{
- var temp = i + "、" + item2 + "\r\n";
- item.CHECKCONTENTS = item.CHECKCONTENTS + temp;
- i++;
- }
- }
+ if (item3 != null)
+ {
+ if (item3.Nav_Contents != null && !string.IsNullOrEmpty(item3.Nav_Contents.CHECKCONTENT))
+ {
+ contentStr.Add(item3.Nav_Contents.CHECKCONTENT);
+ }
+ if (!string.IsNullOrEmpty(item3.CHECK_STANDARD))
+ {
+ standardStr.Add(item3.CHECK_STANDARD);
+ }
+ if (item3.Nav_DetailBasics != null && item3.Nav_DetailBasics.Any())
+ {
+ foreach (var item4 in item3.Nav_DetailBasics)
+ {
+ if (item4 != null && item4.Nav_Law != null && !string.IsNullOrEmpty(item4.Nav_Law.NAME))
+ {
+ basicStr.Add(item4.Nav_Law.NAME);
+ }
+ }
+ }
+ if (item3.Nav_DetailHiddens != null && item3.Nav_DetailHiddens.Any())
+ {
+ foreach (var item4 in item3.Nav_DetailHiddens.OrderBy(t => t.NUM))
+ {
+ if (item4 != null)
+ {
+ if (item4.Nav_Question != null && !string.IsNullOrEmpty(item4.Nav_Question.DESCREPTION))
+ {
+ scripStr.Add(item4.Nav_Question.DESCREPTION);
+ }
+ levelStr.Add(item4.HIDDEN_LEVEL.GetDescription());
+ if (!string.IsNullOrEmpty(item4.RECTIFICATION_MEASURES))
+ {
+ measureStr.Add(item4.RECTIFICATION_MEASURES);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ //if (detailStr.Any())
+ //{
+ // detailStr = detailStr.Distinct().ToList();
+ // var i = 1;
+ // foreach (var item2 in detailStr)
+ // {
+ // if (!string.IsNullOrEmpty(item2))
+ // {
+ // var temp = i + "、" + item2 + "\r\n";
+ // item.MEASURE = item.MEASURE + temp;
+ // i++;
+ // }
+ // }
+ //}
+ if (contentStr.Any())
+ {
+ contentStr = contentStr.Distinct().ToList();
+ var i = 1;
+ foreach (var item2 in contentStr)
+ {
+ if (!string.IsNullOrEmpty(item2))
+ {
+ var temp = i + "、" + item2 + "\r\n";
+ item.CHECKCONTENTS = item.CHECKCONTENTS + temp;
+ i++;
+ }
+ }
+ }
+ if (basicStr.Any())
+ {
+ basicStr = basicStr.Distinct().ToList();
+ var i = 1;
+ foreach (var item2 in basicStr)
+ {
+ if (!string.IsNullOrEmpty(item2))
+ {
+ var temp = i + "、" + item2 + "\r\n";
+ item.CHECKBASICS = item.CHECKBASICS + temp;
+ i++;
+ }
+ }
+ }
+ if (standardStr.Any())
+ {
+ standardStr = standardStr.Distinct().ToList();
+ var i = 1;
+ foreach (var item2 in standardStr)
+ {
+ if (!string.IsNullOrEmpty(item2))
+ {
+ var temp = i + "、" + item2 + "\r\n";
+ item.CHECKSTANDARDS = item.CHECKSTANDARDS + temp;
+ i++;
+ }
+ }
+ }
+ if (scripStr.Any())
+ {
+ scripStr = scripStr.Distinct().ToList();
+ var i = 1;
+ foreach (var item2 in scripStr)
+ {
+ if (!string.IsNullOrEmpty(item2))
+ {
+ var temp = i + "、" + item2 + "\r\n";
+ item.HIDDENSCRIPTION = item.HIDDENSCRIPTION + temp;
+ i++;
+ }
+ }
+ }
+ if (levelStr.Any())
+ {
+ levelStr = levelStr.Distinct().ToList();
+ var i = 1;
+ foreach (var item2 in levelStr)
+ {
+ if (!string.IsNullOrEmpty(item2))
+ {
+ var temp = i + "、" + item2 + "\r\n";
+ item.HIDDENLEVEL = item.HIDDENLEVEL + temp;
+ i++;
+ }
+ }
+ }
+ if (measureStr.Any())
+ {
+ measureStr = measureStr.Distinct().ToList();
+ var i = 1;
+ foreach (var item2 in measureStr)
+ {
+ if (!string.IsNullOrEmpty(item2))
+ {
+ var temp = i + "、" + item2 + "\r\n";
+ item.RECIFYMEASURE = item.RECIFYMEASURE + temp;
+ i++;
+ }
+ }
+ }
+ }
+ result.Data.OrderBy(t => t.AREA_ID);
+ }
+ result.TotalCount = result.Data.Count();
+ return result;
+ }
+ ///
+ /// 从集团导入
+ ///
+ ///
+ ///
+ [HttpPost, Route("ImportFormJT")]
+ public JsonActionResult ImportFormJT([FromBody] KeywordFilter filter)
+ {
+ return SafeExecute(() =>
+ {
+ if (string.IsNullOrEmpty(filter.Keyword))
+ throw new Exception("请先勾选要同步的数据");
+ var ids = new List();
+ var idTemps = filter.Keyword.Split(",").ToList();
+ foreach (var item in idTemps)
+ {
+ if (!string.IsNullOrEmpty(item))
+ {
+ ids.Add(Guid.Parse(item));
+ }
+ }
+ string strConn = OPTenantDBConnService.GetConnByORGID(Guid.Parse("00300000-0000-0000-0000-000000000000"));
+ string dbName = "mh_jy_head";
+ // 2. 传入构造函数
+ using var db = new CrossDbContext(strConn);
+ var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId.Value;
+ //删除ID相同的历史数据
+ var libs = this.GetEntities(t => ids.Contains(t.ID), new BaseFilter(orgId));
+ var deleteBasIds = libs.Select(t => t.ID).ToList();
+ var deleteBasDetailIds = this.GetEntities(t => deleteBasIds.Contains(t.BASIC_LIBRARY_ID), new BaseFilter(orgId)).Select(t => t.ID).ToList();
+ var deleteBasConttentIds = this.GetEntities(t => deleteBasDetailIds.Contains(t.BASIC_LIBRARY_DETAIL_ID), new BaseFilter(orgId)).Select(t => t.ID).ToList();
+ var deleteBasBasicIds = this.GetEntities(t => deleteBasConttentIds.Contains(t.BASIC_LIBRARY_DETAIL_CONTENT_ID), new BaseFilter(orgId)).Select(t => t.ID).ToList();
+ var deleteBasHiddenIds = this.GetEntities(t => deleteBasConttentIds.Contains(t.BASIC_LIBRARY_DETAIL_CONTENT_ID), new BaseFilter(orgId)).Select(t => t.ID).ToList();
+ //集团数据
+ var jtLibs = db.QueryCrossDatabases(dbName).Where(t=>ids.Contains(t.ID)).ToList();
+ //查生产单元表
+ 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));
+ var jtProUnits = db.GetJTProUnits(dbName).ToList();
+ if (proUnitIds != null && proUnitIds.Any())
+ {
+ foreach (var id in proUnitIds)
+ {
+ var exsist = proUnits.FirstOrDefault(t => t.ID == id);
+ var jtExsist = jtProUnits.FirstOrDefault(t => t.ID == id);
+ if (exsist != null)
+ {
+ //存在,更新
+ T_FM_USER_PRODUCTION_UNIT_SET set = new T_FM_USER_PRODUCTION_UNIT_SET();
+ set = exsist;
+ set.NAME = jtExsist?.NAME;
+ set.CODE = jtExsist?.CODE;
+ proUnitList.Add(set);
+ }
+ else
+ {
+ //不存在,写入
+ T_FM_USER_PRODUCTION_UNIT_SET set = new T_FM_USER_PRODUCTION_UNIT_SET();
+ set.ID = id.Value;
+ set.ORG_ID = orgId;
+ set.NAME = jtExsist?.NAME;
+ set.CODE = jtExsist?.CODE;
+ proUnitList.Add(set);
+ }
+ }
+ }
+
+ //查风险类别
+ 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));
+ var jtRiskTypes = db.GetJTRiskTypes(dbName).ToList();
+ if (riskTypeIds != null && riskTypeIds.Any())
+ {
+ foreach (var id in riskTypeIds)
+ {
+ var exsist = riskTypes.FirstOrDefault(t => t.ID == id);
+ var jtExsist = jtRiskTypes.FirstOrDefault(t => t.ID == id);
+ if (exsist != null)
+ {
+ //存在,更新
+ T_SK_RISK_TYPE riskTypeNew = new T_SK_RISK_TYPE();
+ riskTypeNew = exsist;
+ riskTypeNew.NAME = jtExsist?.NAME;
+ riskTypeNew.PRODUCTION_UNIT_ID = jtExsist?.PRODUCTION_UNIT_ID;
+ riskTypeList.Add(riskTypeNew);
+ }
+ else
+ {
+ //不存在,写入
+ T_SK_RISK_TYPE riskTypeNew = new T_SK_RISK_TYPE();
+ riskTypeNew.ORG_ID = orgId;
+ riskTypeNew.ID = id.Value;
+ riskTypeNew.NAME = jtExsist?.NAME;
+ riskTypeNew.PRODUCTION_UNIT_ID = jtExsist?.PRODUCTION_UNIT_ID;
+ riskTypeList.Add(riskTypeNew);
+ }
+ }
+ }
+ //查LEC
+ 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));
+ var jtlibLs = db.GetJTLibLs(dbName).ToList();
+ if (libLIds != null && libLIds.Any())
+ {
+ foreach (var id in libLIds)
+ {
+ var exsist = libLs.FirstOrDefault(t => t.ID == id);
+ var jtExsist = jtlibLs.FirstOrDefault(t => t.ID == id);
+ if (exsist != null)
+ {
+ //存在,更新
+ T_SK_SCOREL libLNew = new T_SK_SCOREL();
+ libLNew = exsist;
+ libLNew.NAME = jtExsist?.NAME;
+ libLNew.CODE = jtExsist?.CODE;
+ libLNew.SCORE = jtExsist == null ? 0 : jtExsist.SCORE;
+ libLList.Add(libLNew);
+ }
+ else
+ {
+ //不存在,写入
+ T_SK_SCOREL libLNew = new T_SK_SCOREL();
+ libLNew.ORG_ID = orgId;
+ libLNew.ID = id.Value;
+ libLNew.NAME = jtExsist?.NAME;
+ libLNew.CODE = jtExsist?.CODE;
+ libLNew.SCORE = jtExsist == null ? 0 : jtExsist.SCORE;
+ libLList.Add(libLNew);
+ }
+ }
+ }
+
+ //查LEC
+ 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));
+ var jtlibEs = db.GetJTLibEs(dbName).ToList();
+ if (libEIds != null && libEIds.Any())
+ {
+ foreach (var id in libEIds)
+ {
+ var exsist = libEs.FirstOrDefault(t => t.ID == id);
+ var jtExsist = jtlibEs.FirstOrDefault(t => t.ID == id);
+ if (exsist != null)
+ {
+ //存在,更新
+ T_SK_SCOREE libENew = new T_SK_SCOREE();
+ libENew = exsist;
+ libENew.NAME = jtExsist?.NAME;
+ libENew.CODE = jtExsist?.CODE;
+ libENew.SCORE = jtExsist == null ? 0 : jtExsist.SCORE;
+ libEList.Add(libENew);
+ }
+ else
+ {
+ //不存在,写入
+ T_SK_SCOREE libENew = new T_SK_SCOREE();
+ libENew.ORG_ID = orgId;
+ libENew.ID = id.Value;
+ libENew.NAME = jtExsist?.NAME;
+ libENew.CODE = jtExsist?.CODE;
+ libENew.SCORE = jtExsist == null ? 0 : jtExsist.SCORE;
+ libEList.Add(libENew);
+ }
+ }
+ }
+ //查LEC
+ 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));
+ var jtlibCs = db.GetJTLibCs(dbName).ToList();
+ if (libCIds == null && libCIds.Any())
+ {
+ foreach (var id in libCIds)
+ {
+ var exsist = libCs.FirstOrDefault(t => t.ID == id);
+ var jtExsist = jtlibCs.FirstOrDefault(t => t.ID == id);
+ if (exsist != null)
+ {
+ //存在,更新
+ T_SK_SCOREC libCNew = new T_SK_SCOREC();
+ libCNew = exsist;
+ libCNew.NAME = jtExsist?.NAME;
+ libCNew.CODE = jtExsist?.CODE;
+ libCNew.SCORE = jtExsist == null ? 0 : jtExsist.SCORE;
+ libCList.Add(libCNew);
+ }
+ else
+ {
+ //不存在,写入
+ T_SK_SCOREC libCNew = new T_SK_SCOREC();
+ libCNew.ORG_ID = orgId;
+ libCNew.ID = id.Value;
+ libCNew.NAME = jtExsist?.NAME;
+ libCNew.CODE = jtExsist?.CODE;
+ libCNew.SCORE = jtExsist == null ? 0 : jtExsist.SCORE;
+ libCList.Add(libCNew);
+ }
+ }
+ }
+ //重新写入选中的集团数据
+ List libList = new List();
+ List detailList = new List();
+ List contentList = new List();
+ List hiddenList = new List();
+ List basicList = new List();
+ if (jtLibs != null && jtLibs.Any())
+ {
+ foreach (var lib in jtLibs)
+ {
+ T_SK_BASIC_LIBRARY libNew = new T_SK_BASIC_LIBRARY();
+ libNew.ORG_ID = orgId;
+ libNew.ID = lib.ID;
+ libNew.PRODUCTION_UNIT_ID = lib.PRODUCTION_UNIT_ID;
+ libNew.RISK_NAME = lib.RISK_NAME;
+ libNew.RISK_DESCRIPTION = lib.RISK_DESCRIPTION;
+ libNew.TYPE_ID = lib.TYPE_ID;
+ libNew.SCOREC_ID = lib.SCOREC_ID;
+ libNew.SCOREE_ID = lib.SCOREE_ID;
+ libNew.SCOREL_ID = lib.SCOREL_ID;
+ libNew.EVALUATE_SCORE = lib.EVALUATE_SCORE;
+ libNew.EVALUATE_LEVEL = lib.EVALUATE_LEVEL;
+ libNew.DEPARTMENT_TYPE = lib.DEPARTMENT_TYPE;
+ libNew.EMERGENCY = lib.EMERGENCY;
+ libNew.ENABLE_STATUS = lib.ENABLE_STATUS;
+ libList.Add(libNew);
+ if (lib.Nav_Details != null && lib.Nav_Details.Any())
+ {
+ foreach (var item in lib.Nav_Details)
+ {
+ T_SK_BASIC_LIBRARY_DETAIL de = new T_SK_BASIC_LIBRARY_DETAIL();
+ de.ORG_ID = orgId;
+ de.ID = item.ID;
+ de.BASIC_LIBRARY_ID = libNew.ID;
+ de.MEASURES_NAME = item.MEASURES_NAME;
+ de.EMERGENCY = item.EMERGENCY;
+ de.NUM = item.NUM;
+ de.ROW_NO = item.ROW_NO;
+ detailList.Add(de);
+ if (item.Nav_DetailContents != null && item.Nav_DetailContents.Any())
+ {
+ foreach (var item2 in item.Nav_DetailContents)
+ {
+ T_SK_BASIC_LIBRARY_DETAIL_CONTENT con = new T_SK_BASIC_LIBRARY_DETAIL_CONTENT();
+ con.ORG_ID = orgId;
+ con.ID = item2.ID;
+ con.BASIC_LIBRARY_DETAIL_ID = de.ID;
+ con.CHECK_CONTENTS_ID = item2.CHECK_CONTENTS_ID;
+ con.CHECK_CONTENT = item2.CHECK_CONTENT;
+ con.CHECK_STANDARD = item2.CHECK_STANDARD;
+ con.NUM = item2.NUM;
+ con.ROW_NO = item2.ROW_NO;
+ contentList.Add(con);
+ if (item2.Nav_DetailHiddens != null && item2.Nav_DetailHiddens.Any())
+ {
+ foreach (var item3 in item2.Nav_DetailHiddens)
+ {
+ T_SK_BASIC_LIBRARY_DETAIL_CONTENT_HIDDEN hid = new T_SK_BASIC_LIBRARY_DETAIL_CONTENT_HIDDEN();
+ hid.ORG_ID = orgId;
+ hid.ID = item3.ID;
+ hid.BASIC_LIBRARY_DETAIL_CONTENT_ID = con.ID;
+ hid.CHECK_QUESTION_ID = item3.CHECK_QUESTION_ID;
+ hid.HIDDEN_DESCRIPTION = item3.HIDDEN_DESCRIPTION;
+ hid.HIDDEN_LEVEL = item3.HIDDEN_LEVEL;
+ hid.RECTIFICATION_MEASURES = item3.RECTIFICATION_MEASURES;
+ hid.NUM = item3.NUM;
+ hid.ROW_NO = item3.ROW_NO;
+ hid.CHECK_CONTENTS_ID = hid.CHECK_CONTENTS_ID;
+ hiddenList.Add(hid);
+ }
+ }
+ if (item2.Nav_DetailBasics != null && item2.Nav_DetailBasics.Any())
+ {
+ foreach (var item3 in item2.Nav_DetailBasics)
+ {
+ T_SK_BASIC_LIBRARY_DETAIL_CONTENT_BASIC bas = new T_SK_BASIC_LIBRARY_DETAIL_CONTENT_BASIC();
+ bas.ORG_ID = orgId;
+ bas.ID = item3.ID;
+ bas.BASIC_LIBRARY_DETAIL_CONTENT_ID = con.ID;
+ bas.LAW_ID = item3.LAW_ID;
+ bas.CHECK_CONTENTS_ID = item3.CHECK_CONTENTS_ID;
+ basicList.Add(bas);
+ }
+ }
+ }
+ }
+ }
}
- if (basicStr.Any())
- {
- basicStr = basicStr.Distinct().ToList();
- var i = 1;
- foreach (var item2 in basicStr)
- {
- if (!string.IsNullOrEmpty(item2))
- {
- var temp = i + "、" + item2 + "\r\n";
- item.CHECKBASICS = item.CHECKBASICS + temp;
- i++;
- }
- }
- }
- if (standardStr.Any())
- {
- standardStr = standardStr.Distinct().ToList();
- var i = 1;
- foreach (var item2 in standardStr)
- {
- if (!string.IsNullOrEmpty(item2))
- {
- var temp = i + "、" + item2 + "\r\n";
- item.CHECKSTANDARDS = item.CHECKSTANDARDS + temp;
- i++;
- }
- }
- }
- if (scripStr.Any())
- {
- scripStr = scripStr.Distinct().ToList();
- var i = 1;
- foreach (var item2 in scripStr)
- {
- if (!string.IsNullOrEmpty(item2))
- {
- var temp = i + "、" + item2 + "\r\n";
- item.HIDDENSCRIPTION = item.HIDDENSCRIPTION + temp;
- i++;
- }
- }
- }
- if (levelStr.Any())
- {
- levelStr = levelStr.Distinct().ToList();
- var i = 1;
- foreach (var item2 in levelStr)
- {
- if (!string.IsNullOrEmpty(item2))
- {
- var temp = i + "、" + item2 + "\r\n";
- item.HIDDENLEVEL = item.HIDDENLEVEL + temp;
- i++;
- }
- }
- }
- if (measureStr.Any())
- {
- measureStr = measureStr.Distinct().ToList();
- var i = 1;
- foreach (var item2 in measureStr)
- {
- if (!string.IsNullOrEmpty(item2))
- {
- var temp = i + "、" + item2 + "\r\n";
- item.RECIFYMEASURE = item.RECIFYMEASURE + temp;
- i++;
- }
+ }
+ }
+ //查检查内容
+ List updateCheckConts = new List();
+ var checkConts = this.GetEntities(t => true, new BaseFilter(orgId));
+ var jtCheckConts = db.GetJTCons(dbName).ToList();
+ if (contentList != null && contentList.Any())
+ {
+ var conIds = contentList.Select(t => t.CHECK_CONTENTS_ID).ToList();
+ //存在,更新
+ var conExsists = checkConts.Where(t => conIds.Contains(t.ID)).ToList();
+ if (conExsists != null && conExsists.Any())
+ {
+ foreach (var conExsist in conExsists)
+ {
+ //检查内容
+ var first = jtCheckConts.FirstOrDefault(t => t.ID == conExsist.ID);
+ if (first != null)
+ {
+ conExsist.ID = first.ID;
+ conExsist.ORG_ID = orgId;
+ conExsist.PRODUCTION_UNIT_ID = first.PRODUCTION_UNIT_ID;
+ conExsist.Nav_ListCheckQuestion = null;
+ conExsist.Nav_ContentsBasics = null;
+ conExsist.CHECKCONTENT = first.CHECKCONTENT;
+ conExsist.CHECK_STANDARD = first.CHECK_STANDARD;
+ updateCheckConts.Add(conExsist);
+ }
+ }
+ }
+ //不存在,写入
+ var conIdNews = conExsists.Select(t => t.ID).ToList();
+ var conExsistNews = conIds.Where(t => t != null && !conIdNews.Contains(t.Value)).ToList();
+ if (conExsistNews != null && conExsistNews.Any())
+ {
+ foreach (var id in conExsistNews)
+ {
+ //检查内容
+ var first = jtCheckConts.FirstOrDefault(t => t.ID == id);
+ if (first != null)
+ {
+ T_SK_CHECK_CONTENTS conExsist = new T_SK_CHECK_CONTENTS();
+ conExsist.ID = id.Value;
+ conExsist.ORG_ID = orgId;
+ conExsist.PRODUCTION_UNIT_ID = first.PRODUCTION_UNIT_ID;
+ conExsist.Nav_ListCheckQuestion = null;
+ conExsist.Nav_ContentsBasics = null;
+ conExsist.CHECKCONTENT = first.CHECKCONTENT;
+ conExsist.CHECK_STANDARD = first.CHECK_STANDARD;
+ updateCheckConts.Add(conExsist);
+ }
+ }
+ }
+ }
+ //查检查依据(法律法规)
+ List updateCheckLaws = new List();
+ List updateCheckLawTypes = new List();
+ var checkContLaws = this.GetEntities(t => true, new BaseFilter(orgId));
+ var jtcheckContLaws = db.GetJTLaws(dbName).ToList();
+ var jtcheckContLawTypes = db.GetJTLawTypes(dbName).ToList();
+ var checkContLawTypes = this.GetEntities(t => true, new BaseFilter(orgId));
+ if (basicList != null && basicList.Any())
+ {
+ var conIds = basicList.Select(t => t.LAW_ID).Distinct().ToList();
+ //存在,更新
+ var conExsists = checkContLaws.Where(t => conIds.Contains(t.ID)).ToList();
+ if (conExsists != null && conExsists.Any())
+ {
+ foreach (var conExsist in conExsists)
+ {
+ //法律法规
+ var first = jtcheckContLaws.FirstOrDefault(t => t.ID == conExsist.ID);
+ if (first != null)
+ {
+ var firstType = checkContLawTypes.FirstOrDefault(t => t.ID == first.TYPE_ID);
+ if (firstType == null)
+ {
+ var jtFirstType = jtcheckContLawTypes.FirstOrDefault(t => t.ID == first.TYPE_ID);
+ if (jtFirstType != null)
+ {
+ T_LR_LAW_TYPE lawType = new T_LR_LAW_TYPE();
+ lawType.ORG_ID = orgId;
+ lawType.ID = jtFirstType.ID;
+ lawType.NAME = jtFirstType.NAME;
+ updateCheckLawTypes.Add(lawType);
+ conExsist.ID = first.ID;
+ conExsist.ORG_ID = orgId;
+ conExsist.CODE = first?.CODE;
+ conExsist.NAME = first?.NAME;
+ conExsist.VERSION_NUM = first?.VERSION_NUM;
+ conExsist.LAW_STATUS = first == null ? BSLawStatusEnum.现行 : first.LAW_STATUS;
+ conExsist.UPDATE_TIME = first == null ? DateTime.Now : first.UPDATE_TIME;
+ conExsist.EXECUTE_TIME = first == null ? DateTime.Now : first.EXECUTE_TIME;
+ conExsist.USER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value;
+ conExsist.TYPE_ID = first.TYPE_ID;
+ updateCheckLaws.Add(conExsist);
+ }
+ }
+ else
+ {
+ conExsist.ID = first.ID;
+ conExsist.ORG_ID = orgId;
+ conExsist.CODE = first?.CODE;
+ conExsist.NAME = first?.NAME;
+ conExsist.VERSION_NUM = first?.VERSION_NUM;
+ conExsist.LAW_STATUS = first == null ? BSLawStatusEnum.现行 : first.LAW_STATUS;
+ conExsist.UPDATE_TIME = first == null ? DateTime.Now : first.UPDATE_TIME;
+ conExsist.EXECUTE_TIME = first == null ? DateTime.Now : first.EXECUTE_TIME;
+ conExsist.USER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value;
+ conExsist.TYPE_ID = first.TYPE_ID;
+ updateCheckLaws.Add(conExsist);
+ }
+ }
+ }
+ }
+ //不存在,写入
+ var conIdNews = conExsists.Select(t => t.ID).ToList();
+ var conExsistNews = conIds.Where(t => t != null && !conIdNews.Contains(t.Value)).ToList();
+ if (conExsistNews != null && conExsistNews.Any())
+ {
+ foreach (var id in conExsistNews)
+ {
+ //检查依据(法律法规)
+ var first = jtcheckContLaws.FirstOrDefault(t => t.ID == id);
+ if (first != null)
+ {
+ var firstType = checkContLawTypes.FirstOrDefault(t => t.ID == first.TYPE_ID);
+ if (firstType == null)
+ {
+ var jtFirstType = jtcheckContLawTypes.FirstOrDefault(t => t.ID == first.TYPE_ID);
+ if (jtFirstType != null)
+ {
+ T_LR_LAW_TYPE lawType = new T_LR_LAW_TYPE();
+ lawType.ORG_ID = orgId;
+ lawType.ID = jtFirstType.ID;
+ lawType.NAME = jtFirstType.NAME;
+ updateCheckLawTypes.Add(lawType);
+ T_LR_LAW conExsist = new T_LR_LAW();
+ conExsist.ID = id.Value;
+ conExsist.ORG_ID = orgId;
+ conExsist.CODE = first?.CODE;
+ conExsist.NAME = first?.NAME;
+ conExsist.VERSION_NUM = first?.VERSION_NUM;
+ conExsist.LAW_STATUS = first == null ? BSLawStatusEnum.现行 : first.LAW_STATUS;
+ conExsist.UPDATE_TIME = first == null ? DateTime.Now : first.UPDATE_TIME;
+ conExsist.EXECUTE_TIME = first == null ? DateTime.Now : first.EXECUTE_TIME;
+ conExsist.USER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value;
+ conExsist.TYPE_ID = jtFirstType.ID;
+ updateCheckLaws.Add(conExsist);
+ }
+ }
+ else
+ {
+ T_LR_LAW conExsist = new T_LR_LAW();
+ conExsist.ID = id.Value;
+ conExsist.ORG_ID = orgId;
+ conExsist.CODE = first?.CODE;
+ conExsist.NAME = first?.NAME;
+ conExsist.VERSION_NUM = first?.VERSION_NUM;
+ conExsist.LAW_STATUS = first == null ? BSLawStatusEnum.现行 : first.LAW_STATUS;
+ conExsist.UPDATE_TIME = first == null ? DateTime.Now : first.UPDATE_TIME;
+ conExsist.EXECUTE_TIME = first == null ? DateTime.Now : first.EXECUTE_TIME;
+ conExsist.USER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value;
+ conExsist.TYPE_ID = first.TYPE_ID;
+ updateCheckLaws.Add(conExsist);
+ }
+ }
+ }
+ }
+ }
+ //查隐患描述
+ List updateCheckQues = new List();
+ var checkContHids = this.GetEntities(t => true, new BaseFilter(orgId));
+ var jtCheckContHids = db.GetJTQues(dbName).ToList();
+ if (hiddenList != null && hiddenList.Any())
+ {
+ var conIds = hiddenList.Select(t => t.CHECK_QUESTION_ID).Distinct().ToList();
+ //存在,更新
+ var conExsists = checkContHids.Where(t => conIds.Contains(t.ID)).ToList();
+ if (conExsists != null && conExsists.Any())
+ {
+ foreach (var conExsist in conExsists)
+ {
+ //隐患描述
+ var first = jtCheckContHids.FirstOrDefault(t => t.ID == conExsist.ID);
+ if (first != null)
+ {
+ conExsist.ID = first.ID;
+ conExsist.ORG_ID = orgId;
+ conExsist.QUESTION_LEVEL = first.QUESTION_LEVEL;
+ conExsist.DEMAND = first.DEMAND;
+ conExsist.DESCREPTION = first.DESCREPTION;
+ conExsist.CHECK_CONTENTS_ID = first.CHECK_CONTENTS_ID;
+ updateCheckQues.Add(conExsist);
+ }
+ }
+ }
+ //不存在,写入
+ var conIdNews = conExsists.Select(t => t.ID).ToList();
+ var conExsistNews = conIds.Where(t => t != null && !conIdNews.Contains(t.Value)).ToList();
+ if (conExsistNews != null && conExsistNews.Any())
+ {
+ foreach (var id in conExsistNews)
+ {
+ //隐患描述
+ var first = jtCheckContHids.FirstOrDefault(t => t.ID == id);
+ if (first != null)
+ {
+ T_SK_CHECK_QUESTION conExsist = new T_SK_CHECK_QUESTION();
+ conExsist.ID = id.Value;
+ conExsist.ORG_ID = orgId;
+ conExsist.QUESTION_LEVEL = first.QUESTION_LEVEL;
+ conExsist.DEMAND = first.DEMAND;
+ conExsist.DESCREPTION = first.DESCREPTION;
+ conExsist.CHECK_CONTENTS_ID = first.CHECK_CONTENTS_ID;
+ updateCheckQues.Add(conExsist);
}
}
}
- result.Data.OrderBy(t => t.AREA_ID);
}
- }
- return result;
+ this.UnifiedCommit(() =>
+ {
+ if (proUnitList != null && proUnitList.Any())
+ BantchSaveEntityNoCommit(proUnitList);
+ if (riskTypeList != null && riskTypeList.Any())
+ BantchSaveEntityNoCommit(riskTypeList);
+ if (libLList != null && libLList.Any())
+ BantchSaveEntityNoCommit(libLList);
+ if (libEList != null && libEList.Any())
+ BantchSaveEntityNoCommit(libEList);
+ if (libCList != null && libCList.Any())
+ BantchSaveEntityNoCommit(libCList);
+ if (updateCheckLawTypes != null && updateCheckLawTypes.Any())
+ BantchSaveEntityNoCommit(updateCheckLawTypes);
+ if (updateCheckLaws != null && updateCheckLaws.Any())
+ BantchSaveEntityNoCommit(updateCheckLaws);
+ if (updateCheckConts != null && updateCheckConts.Any())
+ BantchSaveEntityNoCommit(updateCheckConts);
+ if (updateCheckQues != null && updateCheckQues.Any())
+ BantchSaveEntityNoCommit(updateCheckQues);
+ if (deleteBasBasicIds != null && deleteBasBasicIds.Any())
+ this.BantchDeleteEntityNoCommit(deleteBasBasicIds);
+ if (deleteBasHiddenIds != null && deleteBasHiddenIds.Any())
+ this.BantchDeleteEntityNoCommit(deleteBasHiddenIds);
+ if (deleteBasConttentIds != null && deleteBasConttentIds.Any())
+ this.BantchDeleteEntityNoCommit(deleteBasConttentIds);
+ if (deleteBasDetailIds != null && deleteBasDetailIds.Any())
+ this.BantchDeleteEntityNoCommit(deleteBasDetailIds);
+ if (deleteBasIds != null && deleteBasIds.Any())
+ this.BantchDeleteEntityNoCommit(deleteBasIds);
+ if (libList != null && libList.Any())
+ BantchSaveEntityNoCommit(libList);
+ if (detailList != null && detailList.Any())
+ BantchSaveEntityNoCommit(detailList);
+ if (contentList != null && contentList.Any())
+ BantchSaveEntityNoCommit(contentList);
+ if (hiddenList != null && hiddenList.Any())
+ BantchSaveEntityNoCommit(hiddenList);
+ if (basicList != null && basicList.Any())
+ BantchSaveEntityNoCommit(basicList);
+ });
+ return true;
+ });
}
}
}
diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/CheckContentsController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/CheckContentsController.cs
index 46764b4..32e9fe9 100644
--- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/CheckContentsController.cs
+++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/CheckContentsController.cs
@@ -2,6 +2,7 @@
using APT.BaseData.Domain.Entities.FM;
using APT.BaseData.Services.Services.FM;
using APT.Infrastructure.Core;
+using APT.MS.Domain.Entities.LR;
using APT.MS.Domain.Entities.SC.PT;
using APT.MS.Domain.Entities.SK;
using APT.MS.Domain.Enums.SK;
@@ -116,6 +117,7 @@ namespace APT.SK.WebApi.Controllers.Api
{
item.ORG_ID = entity.ORG_ID;
item.CHECK_CONTENTS_ID = entity.ID;
+ item.Nav_Law = null;
}
}
this.UnifiedCommit(() =>
@@ -393,63 +395,111 @@ namespace APT.SK.WebApi.Controllers.Api
throw new Exception("导入必须两条以上,一条请直接新增");
}
List contents = new List();
- List qustions = new List();
+ List qustions = new List();
+ List basics = new List();
+ List qustionTemps = new List();
var baseFilter = new BaseFilter(orgId);
+ var lawList = this.GetEntities(i => i.IS_DELETED == false, baseFilter);
var productionUnits = this.GetEntities(i => i.IS_DELETED == false, baseFilter);
- var oldContents = this.GetEntities(i => i.IS_DELETED == false, baseFilter, "Nav_ListCheckQuestion");
+ var oldContents = this.GetEntities(i => i.IS_DELETED == false, baseFilter);
+ var oldHiddens = this.GetEntities(i => i.IS_DELETED == false, baseFilter);
+ var oldbass = this.GetEntities(i => i.IS_DELETED == false, baseFilter);
for (int i = 0; i < rowAll; i++)
{
if (!string.IsNullOrEmpty(dtSource.Rows[i][0].ToString().Trim()))
- {
-
+ {
var unit = productionUnits.FirstOrDefault(t => t.NAME == dtSource.Rows[i][0].ToString().Trim());
var first = oldContents.FirstOrDefault(x =>x.PRODUCTION_UNIT_ID == unit?.ID && x.CHECKCONTENT == dtSource.Rows[i][1].ToString().Trim());
if (first != null)//旧表已存在数据
{
- T_SK_CHECK_QUESTION content = new T_SK_CHECK_QUESTION();
- content.ORG_ID = orgId;
- content.CHECKCONTENT = dtSource.Rows[i][1].ToString().Trim();
- content.DESCREPTION = dtSource.Rows[i][2].ToString().Trim();
- content.QUESTION_LEVEL_SHOW = dtSource.Rows[i][3].ToString().Trim();
- content.QUESTION_LEVEL = content.QUESTION_LEVEL_SHOW == "重大" ? SKHiddenLevel.Major : SKHiddenLevel.General;
- content.DEMAND = dtSource.Rows[i][4].ToString().Trim();
- content.PRODUCTION_UNIT_ID = unit?.ID;
- content.CHECK_CONTENTS_ID = first.ID;
- qustions.Add(content);
- }
+ Msg = Msg + "检查内容:" + dtSource.Rows[i][1].ToString().Trim() + "已存在,请直接到系统配置修改;";
+ //T_SK_CHECK_QUESTION content = new T_SK_CHECK_QUESTION();
+ //content.ORG_ID = orgId;
+ //content.CHECKCONTENT = dtSource.Rows[i][1].ToString().Trim();
+ //content.CHECK_BASICS = dtSource.Rows[i][2].ToString().Trim();
+ //content.CHECK_STANDARD = dtSource.Rows[i][3].ToString().Trim();
+ //content.DESCREPTION = dtSource.Rows[i][4].ToString().Trim();
+ //content.QUESTION_LEVEL_SHOW = dtSource.Rows[i][5].ToString().Trim();
+ //content.QUESTION_LEVEL = content.QUESTION_LEVEL_SHOW == "重大" ? SKHiddenLevel.Major : SKHiddenLevel.General;
+ //content.DEMAND = dtSource.Rows[i][6].ToString().Trim();
+ //content.PRODUCTION_UNIT_ID = unit?.ID;
+ //content.CHECK_CONTENTS_ID = first.ID;
+ //qustionTemps.Add(content);
+ //first.CHECK_STANDARD = content.CHECK_STANDARD;
+ //contents.Add(first);
+ }
else
{
T_SK_CHECK_QUESTION content = new T_SK_CHECK_QUESTION();
content.ORG_ID = orgId;
content.CHECKCONTENT = dtSource.Rows[i][1].ToString().Trim();
- content.DESCREPTION = dtSource.Rows[i][2].ToString().Trim();
- content.QUESTION_LEVEL_SHOW = dtSource.Rows[i][3].ToString().Trim();
+ content.CHECK_BASICS = dtSource.Rows[i][2].ToString().Trim();
+ content.CHECK_STANDARD = dtSource.Rows[i][3].ToString().Trim();
+ content.DESCREPTION = dtSource.Rows[i][4].ToString().Trim();
+ content.QUESTION_LEVEL_SHOW = dtSource.Rows[i][5].ToString().Trim();
content.QUESTION_LEVEL = content.QUESTION_LEVEL_SHOW == "重大" ? SKHiddenLevel.Major : SKHiddenLevel.General;
- content.DEMAND = dtSource.Rows[i][4].ToString().Trim();
+ content.DEMAND = dtSource.Rows[i][6].ToString().Trim();
content.PRODUCTION_UNIT_ID = unit?.ID;
- qustions.Add(content);
+ qustionTemps.Add(content);
}
-
-
}
}
- if (qustions != null && qustions.Any())
+ if (qustionTemps != null && qustionTemps.Any())
{
- var contentList2 = qustions.Where(m => m.CHECK_CONTENTS_ID != null).GroupBy(t => new { t.CHECK_CONTENTS_ID, t.PRODUCTION_UNIT_ID, t.CHECKCONTENT }).Distinct().ToList();
- if (contentList2 != null && contentList2.Any())
- {
- foreach (var item in contentList2)
- {
- var qus = qustions.Where(t => t.CHECK_CONTENTS_ID == item.Key.CHECK_CONTENTS_ID && t.PRODUCTION_UNIT_ID == item.Key.PRODUCTION_UNIT_ID && t.CHECKCONTENT == item.Key.CHECKCONTENT).ToList();
- var j = 1;
- foreach (var qu in qus)
- {
- qu.NUM = j;
- j++;
- }
- }
- }
- var contentList = qustions.Where(m=>m.CHECK_CONTENTS_ID==null).GroupBy(t => new { t.PRODUCTION_UNIT_ID, t.CHECKCONTENT }).Distinct().ToList();
+ //已有检查内容,隐患描述直接加
+ //var contentList2 = qustionTemps.Where(m => m.CHECK_CONTENTS_ID != null).GroupBy(t => new { t.CHECK_CONTENTS_ID, t.PRODUCTION_UNIT_ID, t.CHECKCONTENT }).Distinct().ToList();
+ //if (contentList2 != null && contentList2.Any())
+ //{
+ // foreach (var item in contentList2)
+ // {
+ // var qus = qustionTemps.Where(t => t.CHECK_CONTENTS_ID == item.Key.CHECK_CONTENTS_ID && t.PRODUCTION_UNIT_ID == item.Key.PRODUCTION_UNIT_ID && t.CHECKCONTENT == item.Key.CHECKCONTENT).ToList();
+ // var j = 1;
+ // foreach (var que in qus)
+ // {
+ // var quFirst = oldHiddens.FirstOrDefault(t =>t.CHECK_CONTENTS_ID== item.Key.CHECK_CONTENTS_ID && t.DESCREPTION == que.DESCREPTION && t.DEMAND == que.DEMAND && t.QUESTION_LEVEL == que.QUESTION_LEVEL);
+ // if (quFirst == null)
+ // {
+ // T_SK_CHECK_QUESTION qu = new T_SK_CHECK_QUESTION();
+ // qu.CHECK_CONTENTS_ID = item.Key.CHECK_CONTENTS_ID;
+ // qu.ORG_ID = orgId;
+ // qu.DESCREPTION = que.DESCREPTION;
+ // qu.DEMAND = que.DEMAND;
+ // qu.QUESTION_LEVEL = que.QUESTION_LEVEL;
+ // qu.NUM = j;
+ // qustions.Add(qu);
+ // j++;
+ // }
+ // if (!string.IsNullOrEmpty(que.CHECK_BASICS))
+ // {
+ // var laws=que.CHECK_BASICS.Split(";").ToList();
+ // foreach (var law in laws)
+ // {
+ // var lawFirst = lawList.FirstOrDefault(t => t.NAME == law);
+ // if (!string.IsNullOrEmpty(law))
+ // {
+ // if (lawFirst != null)
+ // {
+ // var laFirst = oldbass.FirstOrDefault(t => t.CHECK_CONTENTS_ID == item.Key.CHECK_CONTENTS_ID && t.LAW_ID == lawFirst.ID);
+ // if (laFirst == null)
+ // {
+ // T_SK_CHECK_CONTENTS_BASIC bas = new T_SK_CHECK_CONTENTS_BASIC();
+ // bas.ORG_ID = orgId;
+ // bas.LAW_ID = lawFirst.ID;
+ // basics.Add(bas);
+ // }
+ // }
+ // else
+ // {
+ // Msg = Msg + "找不到检查依据:" + law + ",请先到法律法规库添加";
+ // }
+ // }
+ // }
+ // }
+ // }
+ // }
+ //}
+ //新增的检查内容
+ var contentList = qustionTemps.Where(m=>m.CHECK_CONTENTS_ID==null).GroupBy(t => new { t.PRODUCTION_UNIT_ID, t.CHECKCONTENT }).Distinct().ToList();
if (contentList != null && contentList.Any())
{
foreach (var item in contentList)
@@ -458,17 +508,46 @@ namespace APT.SK.WebApi.Controllers.Api
content.ORG_ID = orgId;
content.PRODUCTION_UNIT_ID = item.Key.PRODUCTION_UNIT_ID;
content.CHECKCONTENT = item.Key.CHECKCONTENT;
+ content.CHECK_STANDARD = qustionTemps.FirstOrDefault(t => t.PRODUCTION_UNIT_ID == item.Key.PRODUCTION_UNIT_ID && t.CHECKCONTENT == item.Key.CHECKCONTENT)?.CHECK_STANDARD;
contents.Add(content);
- var qus = qustions.Where(t => t.PRODUCTION_UNIT_ID == item.Key.PRODUCTION_UNIT_ID && t.CHECKCONTENT == item.Key.CHECKCONTENT).ToList();
+ var qus = qustionTemps.Where(t => t.PRODUCTION_UNIT_ID == item.Key.PRODUCTION_UNIT_ID && t.CHECKCONTENT == item.Key.CHECKCONTENT).ToList();
var j = 1;
- foreach (var qu in qus)
+ foreach (var que in qus)
{
+ T_SK_CHECK_QUESTION qu = new T_SK_CHECK_QUESTION();
qu.CHECK_CONTENTS_ID = content.ID;
+ qu.ORG_ID = orgId;
+ qu.DESCREPTION = que.DESCREPTION;
+ qu.DEMAND = que.DEMAND;
+ qu.QUESTION_LEVEL = que.QUESTION_LEVEL;
qu.NUM = j;
+ qustions.Add(qu);
j++;
+ if (!string.IsNullOrEmpty(que.CHECK_BASICS))
+ {
+ var laws = que.CHECK_BASICS.Split(";").ToList();
+ foreach (var law in laws)
+ {
+ var lawFirst = lawList.FirstOrDefault(t => t.NAME == law);
+ if (!string.IsNullOrEmpty(law))
+ {
+ if (lawFirst != null)
+ {
+ T_SK_CHECK_CONTENTS_BASIC bas = new T_SK_CHECK_CONTENTS_BASIC();
+ bas.ORG_ID = orgId;
+ bas.LAW_ID = lawFirst.ID;
+ basics.Add(bas);
+ }
+ else
+ {
+ Msg = Msg + "找不到检查依据:" + law + ",请先到法律法规库添加;";
+ }
+ }
+ }
+ }
}
}
- }
+ }
}
if (!string.IsNullOrEmpty(Msg))
{
diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/CrossDbContext.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/CrossDbContext.cs
index e80b500..aa7cf48 100644
--- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/CrossDbContext.cs
+++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/CrossDbContext.cs
@@ -2,6 +2,7 @@
using APT.BaseData.Domain.ApiModel.PF;
using APT.BaseData.Domain.Entities.FM;
using APT.BaseData.Domain.IServices.OP;
+using APT.MS.Domain.Entities.LR;
using APT.MS.Domain.Entities.SK;
using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
@@ -33,6 +34,46 @@ namespace APT.SK.WebApi.Controllers.Api
.Ignore(x => x.Nav_Org)
.Ignore(x => x.DbConn)
.Ignore(x => x.TaskID);
+ modelBuilder.Entity()
+ .Ignore(x => x.Nav_Org)
+ .Ignore(x => x.DbConn)
+ .Ignore(x => x.TaskID);
+ modelBuilder.Entity().Ignore(x => x.Nav_Org)
+ .Ignore(x => x.DbConn)
+ .Ignore(x => x.TaskID);
+ modelBuilder.Entity().Ignore(x => x.Nav_Org)
+ .Ignore(x => x.DbConn)
+ .Ignore(x => x.TaskID);
+ modelBuilder.Entity().Ignore(x => x.Nav_Org)
+ .Ignore(x => x.DbConn)
+ .Ignore(x => x.TaskID);
+ modelBuilder.Entity().Ignore(x => x.Nav_Org)
+ .Ignore(x => x.DbConn)
+ .Ignore(x => x.TaskID);
+ modelBuilder.Entity().Ignore(x => x.Nav_Org)
+ .Ignore(x => x.DbConn)
+ .Ignore(x => x.TaskID);
+ modelBuilder.Entity().Ignore(x => x.Nav_Org)
+ .Ignore(x => x.DbConn)
+ .Ignore(x => x.TaskID);
+ modelBuilder.Entity().Ignore(x => x.Nav_Org)
+ .Ignore(x => x.DbConn)
+ .Ignore(x => x.TaskID);
+ modelBuilder.Entity().Ignore(x => x.Nav_Org)
+ .Ignore(x => x.DbConn)
+ .Ignore(x => x.TaskID);
+ modelBuilder.Entity().Ignore(x => x.Nav_Org)
+ .Ignore(x => x.DbConn)
+ .Ignore(x => x.TaskID);
+ modelBuilder.Entity().Ignore(x => x.Nav_Org)
+ .Ignore(x => x.DbConn)
+ .Ignore(x => x.TaskID);
+ modelBuilder.Entity().Ignore(x => x.Nav_Org)
+ .Ignore(x => x.DbConn)
+ .Ignore(x => x.TaskID);
+ modelBuilder.Entity().Ignore(x => x.Nav_Org)
+ .Ignore(x => x.DbConn)
+ .Ignore(x => x.TaskID);
//modelBuilder.Entity()
// .Ignore(x => x.departmentCheckedKeys);
}
@@ -41,33 +82,133 @@ namespace APT.SK.WebApi.Controllers.Api
///
/// 库名列表
/// 跨库合并结果
- public IQueryable QueryCrossDatabases(List databaseNames)
+ public List QueryCrossDatabases(string dbName)
{
- IQueryable? query = null;
+ List query = null;
- foreach (var dbName in databaseNames)
+ //foreach (var dbName in databaseNames)
{
// 核心:动态拼接 库名.dbo.表名
- string sql = $"SELECT * FROM {dbName}.dbo.T_SK_BASIC_LIBRARY";
- var dbSet = this.Set().FromSqlRaw(sql);
- query = dbSet;
+ string sql1 = $"SELECT * FROM {dbName}.dbo.T_SK_BASIC_LIBRARY";
+ var libs = this.Set().FromSqlRaw(sql1).ToList();
+ string sql2 = $"SELECT * FROM {dbName}.dbo.T_SK_BASIC_LIBRARY_DETAIL";
+ var libDets = this.Set().FromSqlRaw(sql2).ToList();
+ string sql3 = $"SELECT * FROM {dbName}.dbo.T_SK_BASIC_LIBRARY_DETAIL_CONTENT";
+ var libDetConts = this.Set().FromSqlRaw(sql3).ToList();
+ string sql4 = $"SELECT * FROM {dbName}.dbo.T_SK_BASIC_LIBRARY_DETAIL_CONTENT_BASIC";
+ var libDetContLaws = this.Set().FromSqlRaw(sql4).ToList();
+ string sql5 = $"SELECT * FROM {dbName}.dbo.T_SK_BASIC_LIBRARY_DETAIL_CONTENT_HIDDEN";
+ var libDetContHids = this.Set().FromSqlRaw(sql5).ToList();
+ var proUnits = GetJTProUnits(dbName);
+ var riskTypes = GetJTRiskTypes(dbName);
+ var libLs = GetJTLibLs(dbName);
+ var libEs = GetJTLibEs(dbName);
+ var libCs = GetJTLibCs(dbName);
+ var laws = GetJTLaws(dbName);
+ var cons = GetJTCons(dbName);
+ var ques = GetJTQues(dbName);
+ if (libs != null && libs.Any())
+ {
+ foreach (var lib in libs)
+ {
+ lib.Nav_ProductionUnit = proUnits.FirstOrDefault(t => t.ID == lib.PRODUCTION_UNIT_ID);
+ lib.Nav_Type = riskTypes.FirstOrDefault(t => t.ID == lib.TYPE_ID);
+ lib.Nav_SCOREL = libLs.FirstOrDefault(t => t.ID == lib.SCOREL_ID);
+ lib.Nav_SCOREE = libEs.FirstOrDefault(t => t.ID == lib.SCOREE_ID);
+ lib.Nav_SCOREC = libCs.FirstOrDefault(t => t.ID == lib.SCOREC_ID);
+ lib.Nav_Details = libDets.Where(t => t.BASIC_LIBRARY_ID == lib.ID).ToList();
+ if (lib.Nav_Details != null && lib.Nav_Details.Any())
+ {
+ foreach (var libDet in lib.Nav_Details)
+ {
+ libDet.Nav_DetailContents = libDetConts.Where(t => t.BASIC_LIBRARY_DETAIL_ID == libDet.ID).ToList();
+ if (libDet.Nav_DetailContents != null && libDet.Nav_DetailContents.Any())
+ {
+ foreach (var libDetCon in libDet.Nav_DetailContents)
+ {
+ libDetCon.Nav_Contents = cons.FirstOrDefault(t => t.ID == libDetCon.CHECK_CONTENTS_ID);
+ libDetCon.Nav_DetailBasics = libDetContLaws.Where(t => t.BASIC_LIBRARY_DETAIL_CONTENT_ID == libDetCon.ID).ToList();
+ if (libDetCon.Nav_DetailBasics != null && libDetCon.Nav_DetailBasics.Any())
+ {
+ foreach (var bas in libDetCon.Nav_DetailBasics)
+ {
+ bas.Nav_Law = laws.FirstOrDefault(t => t.ID == bas.LAW_ID);
+ }
+ }
+ libDetCon.Nav_DetailHiddens = libDetContHids.Where(t => t.BASIC_LIBRARY_DETAIL_CONTENT_ID == libDetCon.ID).ToList();
+ if (libDetCon.Nav_DetailHiddens != null && libDetCon.Nav_DetailHiddens.Any())
+ {
+ foreach (var hid in libDetCon.Nav_DetailHiddens)
+ {
+ hid.Nav_Question = ques.FirstOrDefault(t => t.ID == hid.CHECK_QUESTION_ID);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ query = libs;
//query = query == null ? dbSet : query.UnionAll(dbSet);
}
-
- return query ?? Enumerable.Empty().AsQueryable();
+ return query;
+ //return query ?? Enumerable.Empty().AsQueryable();
}
- ///
- /// 跨库查询:同服务器,多个库,静态数据库连接时直接给库名称
- ///
- /// 跨库合并结果
- // ========== 查询方法:直接跨库合并 ==========
- public IQueryable GetAllUserInfos()
+
+ public List GetJTProUnits(string dbName)
{
- // 查询库B(关键:直接修改表名,同服务器跨库)
- var dbBUsers = this.Set()
- .FromSqlRaw("SELECT * FROM mh_jy_head.dbo.T_SK_BASIC_LIBRARY");
-
- return dbBUsers;
+ string sql = $"SELECT * FROM {dbName}.dbo.T_FM_USER_PRODUCTION_UNIT_SET";
+ var proUnits = this.Set().FromSqlRaw(sql).ToList();
+ return proUnits;
+ }
+ public List GetJTRiskTypes(string dbName)
+ {
+ string sql = $"SELECT * FROM {dbName}.dbo.T_SK_RISK_TYPE";
+ var riskTypes = this.Set().FromSqlRaw(sql).ToList();
+ return riskTypes;
+ }
+ public List GetJTLibLs(string dbName)
+ {
+ string sql = $"SELECT * FROM {dbName}.dbo.T_SK_SCOREL";
+ var libLs = this.Set().FromSqlRaw(sql).ToList();
+ return libLs;
+ }
+ public List GetJTLibEs(string dbName)
+ {
+ string sql = $"SELECT * FROM {dbName}.dbo.T_SK_SCOREE";
+ var libEs = this.Set().FromSqlRaw(sql).ToList();
+ return libEs;
+ }
+ public List GetJTLibCs(string dbName)
+ {
+ string sql = $"SELECT * FROM {dbName}.dbo.T_SK_SCOREC";
+ var libCs = this.Set().FromSqlRaw(sql).ToList();
+ return libCs;
+ }
+ public List GetJTLaws(string dbName)
+ {
+ string sql = $"SELECT * FROM {dbName}.dbo.T_LR_LAW";
+ var laws = this.Set().FromSqlRaw(sql).ToList();
+ return laws;
+ }
+ public List GetJTLawTypes(string dbName)
+ {
+ string sql = $"SELECT * FROM {dbName}.dbo.T_LR_LAW_TYPE";
+ var lawTypes = this.Set().FromSqlRaw(sql).ToList();
+ return lawTypes;
+ }
+ public List GetJTCons(string dbName)
+ {
+ string sql = $"SELECT * FROM {dbName}.dbo.T_SK_CHECK_CONTENTS";
+ var cons = this.Set().FromSqlRaw(sql).ToList();
+ return cons;
+ }
+ public List GetJTQues(string dbName)
+ {
+ string sql = $"SELECT * FROM {dbName}.dbo.T_SK_CHECK_QUESTION";
+ var ques = this.Set().FromSqlRaw(sql).ToList();
+ return ques;
}
}
}