diff --git a/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs b/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs index 66ead39..e94009f 100644 --- a/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs +++ b/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs @@ -11361,6 +11361,7 @@ namespace APT.BaseData.Services.DomainServices record.HIDDEN_DANGER_CONFIRM_ID = null; record.CODE = "YHZG" + DateTime.Now.ToShortDateString().Replace("/", "") + random.Next(1, 999); record.MineType = entity.MineType; + record.PRODUCTION_UNIT_ID = entity.PRODUCTION_UNIT_ID; record.RISK_AREA_ID = detail.RISK_AREA_ID; record.HIDDEN_PLACE = detail.HIDDEN_PLACE; record.HIDDEN_DESCRIPTION = detail.HIDDEN_DESCRIPTION; @@ -11416,7 +11417,8 @@ namespace APT.BaseData.Services.DomainServices notice.HIDDEN_DANGER_CONFIRM_ID = null; notice.APPLY_USER_ID = entity.APPLY_USER_ID; notice.APPLY_DEPARTMENT_ID = entity.APPLY_DEPARTMENT_ID; - notice.MineType = entity.MineType; + notice.MineType = entity.MineType; + notice.PRODUCTION_UNIT_ID = entity.PRODUCTION_UNIT_ID; notice.CHECK_TYPE_ID = entity.CHECK_TYPE_ID; notice.PLANCHECKFREQUENCY = entity.PLANCHECKFREQUENCY; notice.DEPARTMENT_TYPE = entity.DEPARTMENT_TYPE; @@ -11672,7 +11674,8 @@ namespace APT.BaseData.Services.DomainServices record.HIDDEN_DANGER_REPORT_ID = entity.Nav_Report?.ID; record.HIDDEN_DANGER_CONFIRM_ID = entity.ID; record.CODE = "YHZG" + DateTime.Now.ToShortDateString().Replace("/", "") + new Random().Next(1, 999); - record.MineType = entity.MineType; + record.MineType = entity.MineType; + record.PRODUCTION_UNIT_ID = entity.PRODUCTION_UNIT_ID; record.RISK_AREA_ID = entity.RISK_AREA_ID; record.HIDDEN_PLACE = entity.HIDDEN_PLACE; record.CHECK_CONTENTS_ID = entity.CHECK_CONTENTS_ID; @@ -11713,7 +11716,8 @@ namespace APT.BaseData.Services.DomainServices notice.HIDDEN_DANGER_CONFIRM_ID = entity.ID; notice.APPLY_USER_ID = entity.APPLY_USER_ID; notice.APPLY_DEPARTMENT_ID = entity.APPLY_DEPARTMENT_ID; - notice.MineType = entity.MineType; + notice.MineType = entity.MineType; + notice.PRODUCTION_UNIT_ID = entity.PRODUCTION_UNIT_ID; notice.CHECK_TYPE_ID = entity.CHECK_TYPE_ID; notice.PLANCHECKFREQUENCY = entity.PLANCHECKFREQUENCY; notice.DEPARTMENT_TYPE = entity.DEPARTMENT_TYPE; @@ -12304,7 +12308,8 @@ namespace APT.BaseData.Services.DomainServices { T_SK_RISK_IDENTIFY_DETAIL ideDetail = new T_SK_RISK_IDENTIFY_DETAIL(); ideDetail.ORG_ID = entity.ORG_ID; - ideDetail.RISK_IDENTIFY_ID = ide.ID; + ideDetail.RISK_IDENTIFY_ID = ide.ID; + ideDetail.PRODUCTION_UNIT_ID = library?.PRODUCTION_UNIT_ID; ideDetail.MineType = library == null ? SKProductionUnit.Mine : library.MineType; ideDetail.AREA_ID = library?.AREA_ID; ideDetail.RISK_NAME = library?.RISK_NAME; @@ -12549,7 +12554,7 @@ namespace APT.BaseData.Services.DomainServices //Expression> expression2 = i => i.IS_DELETED == false && identityIds.Contains(i.RISK_IDENTIFY_ID); //List list = this.GetOrderEntities(expression2, new BaseFilter(entity.ORG_ID)).ToList(); var list = this.GetEntities(t => identityIds.Contains(t.RISK_IDENTIFY_ID), new BaseFilter(entity.ORG_ID)); - var detailList = list.GroupBy(m => new { m.AREA_ID, m.MineType, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID }); + var detailList = list.GroupBy(m => new { m.AREA_ID, m.MineType,m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID }); if (detailList.Any()) { foreach (var item in detailList) @@ -12572,6 +12577,7 @@ namespace APT.BaseData.Services.DomainServices ideDetail.ORG_ID = entity.ORG_ID; ideDetail.RISK_IDENTIFY_RESULT_ID = result.ID; ideDetail.MineType = item.Key.MineType; + ideDetail.PRODUCTION_UNIT_ID = item.Key.PRODUCTION_UNIT_ID; ideDetail.AREA_ID = item.Key.AREA_ID; ideDetail.RISK_NAME = item.Key.RISK_NAME; ideDetail.RISK_NAME_ID = item.Key.RISK_NAME_ID; @@ -12874,16 +12880,17 @@ namespace APT.BaseData.Services.DomainServices //Expression> expression2 = i => i.IS_DELETED == false && resultIds.Contains(i.RISK_IDENTIFY_RESULT_ID); //List details = this.GetOrderEntities(expression2, new BaseFilter(entity.ORG_ID), new string[] { "Nav_DetailMeasures", "Nav_DetailDeparts", "Nav_DetailPosts" }).ToList(); var details = GetEntities(i => resultIds.Contains(i.RISK_IDENTIFY_RESULT_ID) && i.ENABLE_STATUS == 0, new BaseFilter(entity.ORG_ID), "Nav_DetailMeasures", "Nav_DetailDeparts", "Nav_DetailPosts"); - var detailList = details.GroupBy(m => new { m.AREA_ID, m.MineType, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID }); + var detailList = details.GroupBy(m => new { m.AREA_ID, m.MineType,m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID }); if (detailList.Any()) { foreach (var de in detailList) { - var temp = details.FirstOrDefault(m => m.AREA_ID == de.Key.AREA_ID && m.MineType == de.Key.MineType && m.RISK_NAME == de.Key.RISK_NAME && m.RISK_NAME_ID == de.Key.RISK_NAME_ID && m.RISK_DESCRIPTION == de.Key.RISK_DESCRIPTION && m.TYPE_ID == de.Key.TYPE_ID); + var temp = details.FirstOrDefault(m =>m.PRODUCTION_UNIT_ID == de.Key.PRODUCTION_UNIT_ID && m.AREA_ID == de.Key.AREA_ID && m.MineType == de.Key.MineType && m.RISK_NAME == de.Key.RISK_NAME && m.RISK_NAME_ID == de.Key.RISK_NAME_ID && m.RISK_DESCRIPTION == de.Key.RISK_DESCRIPTION && m.TYPE_ID == de.Key.TYPE_ID); T_SK_RISK_IDENTIFY_RESULT_SUMMARY_DETAIL ideDetail = new T_SK_RISK_IDENTIFY_RESULT_SUMMARY_DETAIL(); ideDetail.ORG_ID = entity.ORG_ID; ideDetail.IDENTIFY_RESULT_SUMMARY_ID = sum.ID; - ideDetail.MineType = de.Key.MineType; + ideDetail.MineType = de.Key.MineType; + ideDetail.PRODUCTION_UNIT_ID = de.Key.PRODUCTION_UNIT_ID; ideDetail.AREA_ID = de.Key.AREA_ID; ideDetail.RISK_NAME = de.Key.RISK_NAME; ideDetail.RISK_NAME_ID = de.Key.RISK_NAME_ID; @@ -13089,11 +13096,12 @@ namespace APT.BaseData.Services.DomainServices { if (de != null) { - var departTemp = librarys.FirstOrDefault(t => t.MineType == de.MineType && t.AREA_ID == de.AREA_ID && t.RISK_NAME == de.RISK_NAME && t.RISK_NAME_ID == de.RISK_NAME_ID && t.RISK_DESCRIPTION == de.RISK_DESCRIPTION && t.TYPE_ID == de.TYPE_ID); + var departTemp = librarys.FirstOrDefault(t =>t.PRODUCTION_UNIT_ID == de.PRODUCTION_UNIT_ID && t.MineType == de.MineType && t.AREA_ID == de.AREA_ID && t.RISK_NAME == de.RISK_NAME && t.RISK_NAME_ID == de.RISK_NAME_ID && t.RISK_DESCRIPTION == de.RISK_DESCRIPTION && t.TYPE_ID == de.TYPE_ID); T_SK_RISK_EVALUATION_DETAIL detail = new T_SK_RISK_EVALUATION_DETAIL(); detail.ORG_ID = entity.ORG_ID; detail.RISK_EVALUATION_ID = result.ID; - detail.MineType = de.MineType; + detail.MineType = de.MineType; + detail.PRODUCTION_UNIT_ID = de.PRODUCTION_UNIT_ID; detail.AREA_ID = de.AREA_ID; detail.RISK_NAME = de.RISK_NAME; detail.RISK_NAME_ID = de.RISK_NAME_ID; @@ -13361,15 +13369,16 @@ namespace APT.BaseData.Services.DomainServices result.ISCOMPANY = entity.ISCOMPANY; var resultIds = results.Select(t => t.ID).ToList(); var details = GetEntities(i => resultIds.Contains(i.RISK_EVALUATION_ID), new BaseFilter(entity.ORG_ID), "Nav_DetailMeasures", "Nav_DetailDeparts"); - var detailList = details.GroupBy(m => new { m.AREA_ID, m.MineType, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID }); + var detailList = details.GroupBy(m => new { m.AREA_ID,m.PRODUCTION_UNIT_ID, m.MineType, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID }); if (detailList.Any()) { foreach (var de in detailList) { - var temp = details.FirstOrDefault(m => m.AREA_ID == de.Key.AREA_ID && m.MineType == de.Key.MineType && m.RISK_NAME == de.Key.RISK_NAME && m.RISK_NAME_ID == de.Key.RISK_NAME_ID && m.RISK_DESCRIPTION == de.Key.RISK_DESCRIPTION && m.TYPE_ID == de.Key.TYPE_ID); + var temp = details.FirstOrDefault(m =>m.PRODUCTION_UNIT_ID == de.Key.PRODUCTION_UNIT_ID && m.AREA_ID == de.Key.AREA_ID && m.MineType == de.Key.MineType && m.RISK_NAME == de.Key.RISK_NAME && m.RISK_NAME_ID == de.Key.RISK_NAME_ID && m.RISK_DESCRIPTION == de.Key.RISK_DESCRIPTION && m.TYPE_ID == de.Key.TYPE_ID); T_SK_RISK_EVALUATION_SUMMARY_DETAIL detail = new T_SK_RISK_EVALUATION_SUMMARY_DETAIL(); detail.ORG_ID = entity.ORG_ID; detail.RISK_EVALUATION_SUMMARY_ID = result.ID; + detail.PRODUCTION_UNIT_ID = de.Key.PRODUCTION_UNIT_ID; detail.MineType = de == null ? SKProductionUnit.Mine : de.Key.MineType; detail.AREA_ID = de.Key.AREA_ID; detail.RISK_NAME = de.Key.RISK_NAME; @@ -13475,7 +13484,8 @@ namespace APT.BaseData.Services.DomainServices { T_SK_DOUBLE_PREVENT_MECHANISM_DETAIL detail = new T_SK_DOUBLE_PREVENT_MECHANISM_DETAIL(); detail.ORG_ID = item.ORG_ID; - detail.DOUBLE_PREVENT_MECHANISM_ID = dou.ID; + detail.DOUBLE_PREVENT_MECHANISM_ID = dou.ID; + detail.PRODUCTION_UNIT_ID = item.PRODUCTION_UNIT_ID; detail.MineType = item.MineType; detail.AREA_ID = item.AREA_ID; detail.TYPE_ID = item.TYPE_ID; @@ -13743,6 +13753,7 @@ namespace APT.BaseData.Services.DomainServices T_SK_DOUBLE_PREVENT_MECHANISM_DETAIL detail = new T_SK_DOUBLE_PREVENT_MECHANISM_DETAIL(); detail.ORG_ID = item.ORG_ID; detail.DOUBLE_PREVENT_MECHANISM_ID = dou.ID; + detail.PRODUCTION_UNIT_ID = item.PRODUCTION_UNIT_ID; detail.MineType = item.MineType; detail.AREA_ID = item.AREA_ID; detail.TYPE_ID = item.TYPE_ID; diff --git a/APT.MS.Data/Mapping/T4/T4Map.cs b/APT.MS.Data/Mapping/T4/T4Map.cs index cef3793..1f1631c 100644 --- a/APT.MS.Data/Mapping/T4/T4Map.cs +++ b/APT.MS.Data/Mapping/T4/T4Map.cs @@ -12699,8 +12699,9 @@ builder.Property(t => t.CHECK_STANDARD).HasMaxLength(500); builder.Ignore(t => t.MineType); builder.Ignore(t => t.AREA_ID); builder.Ignore(t => t.AREA_NAME); -builder.Ignore(t => t.Nav_Area); - } +builder.Ignore(t => t.Nav_Area); +builder.Ignore(t => t.RISK_NAME); + } } #endregion #region EnterpriseLibraryDetailContentBasic @@ -12726,8 +12727,13 @@ builder.HasOne(t => t.Nav_CheckType).WithMany().HasForeignKey(t => t.CHECK_TYPE_ builder.Ignore(t => t.MineType); builder.Ignore(t => t.AREA_NAME); builder.Ignore(t => t.POST_NAME); -builder.Ignore(t => t.Nav_ContentDatas); - } +builder.Ignore(t => t.Nav_ContentDatas); + builder.Ignore(t => t.TYPE_NAME); + builder.Ignore(t => t.DEPART_NAME); + builder.Ignore(t => t.ENTERPRISE_LIBRARY_DETAIL_ID); + builder.Ignore(t => t.ENTERPRISE_LIBRARY_ID); + builder.Ignore(t => t.POST_ID); + } } #endregion #region EnterpriseLibraryDetailContentHidden diff --git a/APT.MS.Domain/Entities/SK/T_SK_BASIC_LIBRARY.cs b/APT.MS.Domain/Entities/SK/T_SK_BASIC_LIBRARY.cs index b06fb49..ab87e4b 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_BASIC_LIBRARY.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_BASIC_LIBRARY.cs @@ -1,4 +1,5 @@ -using APT.BaseData.Domain.Enums; +using APT.BaseData.Domain.Entities.FM; +using APT.BaseData.Domain.Enums; using APT.Infrastructure.Core; using APT.MS.Domain.Entities.HM; using APT.MS.Domain.Enums.SK; @@ -21,6 +22,12 @@ namespace APT.MS.Domain.Entities.SK [Description("生产单元")] [EnumName("SKProductionUnit")] public SKProductionUnit MineType { get; set; } + + [Description("生产单元")] + [DataFieldForeignKey("Nav_ProductionUnit")] + public Guid? PRODUCTION_UNIT_ID { get; set; } + [Description("导航属性:生产单元")] + public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { 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 298d168..302931c 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_CHECK_CONTENTS.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_CHECK_CONTENTS.cs @@ -1,4 +1,5 @@ -using APT.Infrastructure.Core; +using APT.BaseData.Domain.Entities.FM; +using APT.Infrastructure.Core; using APT.MS.Domain.Entities.BS; using APT.MS.Domain.Enums; using APT.MS.Domain.Enums.SK; @@ -17,7 +18,13 @@ namespace APT.MS.Domain.Entities.SK { [Description("生产单元")] [EnumName("SKProductionUnit")] - public SKProductionUnit? MineType { get; set; } + public SKProductionUnit? MineType { get; set; } + + [Description("生产单元")] + [DataFieldForeignKey("Nav_ProductionUnit")] + public Guid? PRODUCTION_UNIT_ID { get; set; } + [Description("导航属性:生产单元")] + public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; } /// /// 检查内容 /// diff --git a/APT.MS.Domain/Entities/SK/T_SK_CHECK_SET.cs b/APT.MS.Domain/Entities/SK/T_SK_CHECK_SET.cs index 0bebb74..73a51ff 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_CHECK_SET.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_CHECK_SET.cs @@ -16,7 +16,13 @@ namespace APT.MS.Domain.Entities.SK /// [Description("生产单元")] [EnumName("SKProductionUnit")] - public SKProductionUnit MineType { get; set; } + public SKProductionUnit MineType { get; set; } + + [Description("生产单元")] + [DataFieldForeignKey("Nav_ProductionUnit")] + public Guid? PRODUCTION_UNIT_ID { get; set; } + [Description("导航属性:生产单元")] + public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; } [Description("组织结构")] [DataFieldForeignKey("Nav_Department")] diff --git a/APT.MS.Domain/Entities/SK/T_SK_CHECK_TYPE.cs b/APT.MS.Domain/Entities/SK/T_SK_CHECK_TYPE.cs index 1386663..6d4933f 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_CHECK_TYPE.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_CHECK_TYPE.cs @@ -1,4 +1,5 @@ -using APT.Infrastructure.Core; +using APT.BaseData.Domain.Entities.FM; +using APT.Infrastructure.Core; using APT.MS.Domain.Entities.BS; using APT.MS.Domain.Enums.SK; using System; @@ -52,6 +53,12 @@ namespace APT.MS.Domain.Entities.SK /// [Description("生产单元")] [EnumName("SKProductionUnit")] - public SKProductionUnit MineType { get; set; } + public SKProductionUnit MineType { get; set; } + + [Description("生产单元")] + [DataFieldForeignKey("Nav_ProductionUnit")] + public Guid? PRODUCTION_UNIT_ID { get; set; } + [Description("导航属性:生产单元")] + public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; } } } diff --git a/APT.MS.Domain/Entities/SK/T_SK_DOUBLE_PREVENT_MECHANISM.cs b/APT.MS.Domain/Entities/SK/T_SK_DOUBLE_PREVENT_MECHANISM.cs index e8addad..eba4681 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_DOUBLE_PREVENT_MECHANISM.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_DOUBLE_PREVENT_MECHANISM.cs @@ -147,6 +147,13 @@ namespace APT.MS.Domain.Entities.SK [Description("驳回意见")] [DataFieldIngore] - public string CONTEXT { get; set; } + public string CONTEXT { get; set; } + + [Description("发起人部门")] + [DataFieldLength(50)] + public string ApplyDepartmentName { get; set; } + [DataFieldLength(50)] + [Description("发起人岗位")] + public string ApplyPostName { get; set; } } } diff --git a/APT.MS.Domain/Entities/SK/T_SK_DOUBLE_PREVENT_MECHANISM_DETAIL.cs b/APT.MS.Domain/Entities/SK/T_SK_DOUBLE_PREVENT_MECHANISM_DETAIL.cs index d8a3f15..0e06f07 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_DOUBLE_PREVENT_MECHANISM_DETAIL.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_DOUBLE_PREVENT_MECHANISM_DETAIL.cs @@ -1,4 +1,5 @@ -using APT.BaseData.Domain.Enums; +using APT.BaseData.Domain.Entities.FM; +using APT.BaseData.Domain.Enums; using APT.Infrastructure.Core; using APT.MS.Domain.Entities.HM; using APT.MS.Domain.Enums; @@ -31,7 +32,13 @@ namespace APT.MS.Domain.Entities.SK /// [Description("生产单元")] [EnumName("SKProductionUnit")] - public SKProductionUnit MineType { get; set; } + public SKProductionUnit MineType { get; set; } + + [Description("生产单元")] + [DataFieldForeignKey("Nav_ProductionUnit")] + public Guid? PRODUCTION_UNIT_ID { get; set; } + [Description("导航属性:生产单元")] + public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; } /// /// 辨识区域 /// diff --git a/APT.MS.Domain/Entities/SK/T_SK_ENTERPRISE_LIBRARY.cs b/APT.MS.Domain/Entities/SK/T_SK_ENTERPRISE_LIBRARY.cs index 1abc4b6..0291cd6 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_ENTERPRISE_LIBRARY.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_ENTERPRISE_LIBRARY.cs @@ -1,4 +1,5 @@ -using APT.BaseData.Domain.Enums; +using APT.BaseData.Domain.Entities.FM; +using APT.BaseData.Domain.Enums; using APT.Infrastructure.Core; using APT.MS.Domain.Entities.HM; using APT.MS.Domain.Enums; @@ -21,7 +22,13 @@ namespace APT.MS.Domain.Entities.SK /// [Description("生产单元")] [EnumName("SKProductionUnit")] - public SKProductionUnit MineType { get; set; } + public SKProductionUnit MineType { get; set; } + + [Description("生产单元")] + [DataFieldForeignKey("Nav_ProductionUnit")] + public Guid? PRODUCTION_UNIT_ID { get; set; } + [Description("导航属性:生产单元")] + public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; } /// /// 辨识区域 /// diff --git a/APT.MS.Domain/Entities/SK/T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT.cs b/APT.MS.Domain/Entities/SK/T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT.cs index ebdc323..8973ccf 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT.cs @@ -99,6 +99,10 @@ namespace APT.MS.Domain.Entities.SK /// [Description("检查依据")] [FormFieldEdit] - public ICollection Nav_DetailBasics { get; set; } + public ICollection Nav_DetailBasics { get; set; } + + [DataFieldIngore] + + public string RISK_NAME { get; set; } } } diff --git a/APT.MS.Domain/Entities/SK/T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART.cs b/APT.MS.Domain/Entities/SK/T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART.cs index a9123ae..b18ba69 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART.cs @@ -79,6 +79,34 @@ namespace APT.MS.Domain.Entities.SK public string POST_NAME { get; set; } [Description("检查内容")] [DataFieldIngore] - public ICollection Nav_ContentDatas { get; set; } + public ICollection Nav_ContentDatas { get; set; } + + [DataFieldIngore] + + public Guid? ENTERPRISE_LIBRARY_DETAIL_ID { get; set; } + + [DataFieldIngore] + + public Guid? ENTERPRISE_LIBRARY_ID { get; set; } + + [DataFieldIngore] + + public Guid? POST_ID { get; set; } + + [DataFieldIngore] + + public string TYPE_NAME { get; set; } + + [DataFieldIngore] + + public string DEPART_NAME { get; set; } + + [DataFieldIngore] + + public string MINE_NAME { get; set; } + + [DataFieldIngore] + + public Guid? PRODUCTION_UNIT_ID { get; set; } } } diff --git a/APT.MS.Domain/Entities/SK/T_SK_HIDDEN_DANGER_CONFIRM.cs b/APT.MS.Domain/Entities/SK/T_SK_HIDDEN_DANGER_CONFIRM.cs index 3603b21..1dc65db 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_HIDDEN_DANGER_CONFIRM.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_HIDDEN_DANGER_CONFIRM.cs @@ -49,7 +49,13 @@ namespace APT.MS.Domain.Entities.SK /// [Description("生产单元")] [EnumName("SKProductionUnit")] - public SKProductionUnit MineType { get; set; } + public SKProductionUnit MineType { get; set; } + + [Description("生产单元")] + [DataFieldForeignKey("Nav_ProductionUnit")] + public Guid? PRODUCTION_UNIT_ID { get; set; } + [Description("导航属性:生产单元")] + public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; } /// /// 检查区域 /// @@ -210,6 +216,13 @@ namespace APT.MS.Domain.Entities.SK /// 导航属性:检查依据 /// [Description("导航:检查依据")] - public virtual ICollection Nav_Basics { get; set; } + public virtual ICollection Nav_Basics { get; set; } + + [Description("发起人部门")] + [DataFieldLength(50)] + public string ApplyDepartmentName { get; set; } + [DataFieldLength(50)] + [Description("发起人岗位")] + public string ApplyPostName { get; set; } } } diff --git a/APT.MS.Domain/Entities/SK/T_SK_HIDDEN_DANGER_HAND_REPORT.cs b/APT.MS.Domain/Entities/SK/T_SK_HIDDEN_DANGER_HAND_REPORT.cs index c115c4c..d8e6ff4 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_HIDDEN_DANGER_HAND_REPORT.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_HIDDEN_DANGER_HAND_REPORT.cs @@ -36,7 +36,13 @@ namespace APT.MS.Domain.Entities.SK /// [Description("生产单元")] [EnumName("SKProductionUnit")] - public SKProductionUnit MineType { get; set; } + public SKProductionUnit MineType { get; set; } + + [Description("生产单元")] + [DataFieldForeignKey("Nav_ProductionUnit")] + public Guid? PRODUCTION_UNIT_ID { get; set; } + [Description("导航属性:生产单元")] + public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; } /// /// 检查区域 @@ -75,6 +81,13 @@ namespace APT.MS.Domain.Entities.SK [Description("是否发布")] [DataFieldIngore] - public string PUBLISH { get; set; } + public string PUBLISH { get; set; } + + [Description("发起人部门")] + [DataFieldLength(50)] + public string ApplyDepartmentName { get; set; } + [DataFieldLength(50)] + [Description("发起人岗位")] + public string ApplyPostName { get; set; } } } diff --git a/APT.MS.Domain/Entities/SK/T_SK_HIDDEN_DANGER_RECTIFY_DELAY_APPLY.cs b/APT.MS.Domain/Entities/SK/T_SK_HIDDEN_DANGER_RECTIFY_DELAY_APPLY.cs index a879548..d7823cd 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_HIDDEN_DANGER_RECTIFY_DELAY_APPLY.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_HIDDEN_DANGER_RECTIFY_DELAY_APPLY.cs @@ -45,7 +45,13 @@ namespace APT.MS.Domain.Entities.SK /// [Description("生产单元")] [EnumName("SKProductionUnit")] - public SKProductionUnit MineType { get; set; } + public SKProductionUnit MineType { get; set; } + + [Description("生产单元")] + [DataFieldForeignKey("Nav_ProductionUnit")] + public Guid? PRODUCTION_UNIT_ID { get; set; } + [Description("导航属性:生产单元")] + public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; } /// /// 延期整改理由 @@ -69,6 +75,13 @@ namespace APT.MS.Domain.Entities.SK [Description("驳回意见")] [DataFieldIngore] - public string CONTEXT { get; set; } + public string CONTEXT { get; set; } + + [Description("发起人部门")] + [DataFieldLength(50)] + public string ApplyDepartmentName { get; set; } + [DataFieldLength(50)] + [Description("发起人岗位")] + public string ApplyPostName { get; set; } } } diff --git a/APT.MS.Domain/Entities/SK/T_SK_HIDDEN_DANGER_RECTIFY_NOTICE.cs b/APT.MS.Domain/Entities/SK/T_SK_HIDDEN_DANGER_RECTIFY_NOTICE.cs index 05a2d8f..e56e775 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_HIDDEN_DANGER_RECTIFY_NOTICE.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_HIDDEN_DANGER_RECTIFY_NOTICE.cs @@ -51,7 +51,13 @@ namespace APT.MS.Domain.Entities.SK /// [Description("生产单元")] [EnumName("SKProductionUnit")] - public SKProductionUnit MineType { get; set; } + public SKProductionUnit MineType { get; set; } + + [Description("生产单元")] + [DataFieldForeignKey("Nav_ProductionUnit")] + public Guid? PRODUCTION_UNIT_ID { get; set; } + [Description("导航属性:生产单元")] + public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; } /// /// 检查类型 @@ -131,6 +137,13 @@ namespace APT.MS.Domain.Entities.SK [Description("整改落实人")] public string ImplementUser { get; set; } [Description("验收人")] - public string AcceptUser { get; set; } + public string AcceptUser { get; set; } + + [Description("发起人部门")] + [DataFieldLength(50)] + public string ApplyDepartmentName { get; set; } + [DataFieldLength(50)] + [Description("发起人岗位")] + public string ApplyPostName { get; set; } } } diff --git a/APT.MS.Domain/Entities/SK/T_SK_HIDDEN_DANGER_RECTIFY_RECORD.cs b/APT.MS.Domain/Entities/SK/T_SK_HIDDEN_DANGER_RECTIFY_RECORD.cs index fe307c7..6746517 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_HIDDEN_DANGER_RECTIFY_RECORD.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_HIDDEN_DANGER_RECTIFY_RECORD.cs @@ -77,7 +77,13 @@ namespace APT.MS.Domain.Entities.SK /// [Description("生产单元")] [EnumName("SKProductionUnit")] - public SKProductionUnit MineType { get; set; } + public SKProductionUnit MineType { get; set; } + + [Description("生产单元")] + [DataFieldForeignKey("Nav_ProductionUnit")] + public Guid? PRODUCTION_UNIT_ID { get; set; } + [Description("导航属性:生产单元")] + public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; } /// /// 检查区域 @@ -265,6 +271,13 @@ namespace APT.MS.Domain.Entities.SK public virtual ICollection Nav_RectifyBasics { get; set; } [Description("备注")] - public string REMARK { get; set; } + public string REMARK { get; set; } + + [Description("发起人部门")] + [DataFieldLength(50)] + public string ApplyDepartmentName { get; set; } + [DataFieldLength(50)] + [Description("发起人岗位")] + public string ApplyPostName { get; set; } } } diff --git a/APT.MS.Domain/Entities/SK/T_SK_HIDDEN_DANGER_REPORT.cs b/APT.MS.Domain/Entities/SK/T_SK_HIDDEN_DANGER_REPORT.cs index 5aec885..2cdfc7e 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_HIDDEN_DANGER_REPORT.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_HIDDEN_DANGER_REPORT.cs @@ -37,7 +37,13 @@ namespace APT.MS.Domain.Entities.SK /// [Description("生产单元")] [EnumName("SKProductionUnit")] - public SKProductionUnit MineType { get; set; } + public SKProductionUnit MineType { get; set; } + + [Description("生产单元")] + [DataFieldForeignKey("Nav_ProductionUnit")] + public Guid? PRODUCTION_UNIT_ID { get; set; } + [Description("导航属性:生产单元")] + public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; } /// /// 检查类型 /// @@ -100,6 +106,13 @@ namespace APT.MS.Domain.Entities.SK [Description("驳回意见")] [DataFieldIngore] - public string CONTEXT { get; set; } + public string CONTEXT { get; set; } + + [Description("发起人部门")] + [DataFieldLength(50)] + public string ApplyDepartmentName { get; set; } + [DataFieldLength(50)] + [Description("发起人岗位")] + public string ApplyPostName { get; set; } } } diff --git a/APT.MS.Domain/Entities/SK/T_SK_IDENTIFY_EVALUATION_PLAN.cs b/APT.MS.Domain/Entities/SK/T_SK_IDENTIFY_EVALUATION_PLAN.cs index 76b3fc7..0b7a55d 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_IDENTIFY_EVALUATION_PLAN.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_IDENTIFY_EVALUATION_PLAN.cs @@ -77,6 +77,13 @@ namespace APT.MS.Domain.Entities.SK [Description("驳回意见")] [DataFieldIngore] - public string CONTEXT { get; set; } + public string CONTEXT { get; set; } + + [Description("发起人部门")] + [DataFieldLength(50)] + public string ApplyDepartmentName { get; set; } + [DataFieldLength(50)] + [Description("发起人岗位")] + public string ApplyPostName { get; set; } } } diff --git a/APT.MS.Domain/Entities/SK/T_SK_PLAN_SET.cs b/APT.MS.Domain/Entities/SK/T_SK_PLAN_SET.cs index 0e90891..ff5b453 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_PLAN_SET.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_PLAN_SET.cs @@ -111,11 +111,17 @@ namespace APT.MS.Domain.Entities.SK public int ENABLE_STATUS { get; set; } /// - /// 检查范围 + /// 生产单元 /// - [Description("检查范围")] + [Description("生产单元")] [EnumName("SKProductionUnit")] - public SKProductionUnit MineType { get; set; } + public SKProductionUnit MineType { get; set; } + + [Description("生产单元")] + [DataFieldForeignKey("Nav_ProductionUnit")] + public Guid? PRODUCTION_UNIT_ID { get; set; } + [Description("导航属性:生产单元")] + public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; } /// /// 检查部门范围 diff --git a/APT.MS.Domain/Entities/SK/T_SK_RISK_AREA.cs b/APT.MS.Domain/Entities/SK/T_SK_RISK_AREA.cs index 4a6d2bc..3b90112 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_RISK_AREA.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_RISK_AREA.cs @@ -47,7 +47,13 @@ namespace APT.MS.Domain.Entities.SK [Description("生产单元")] [EnumName("SKProductionUnit")] - public SKProductionUnit? MineType { get; set; } + public SKProductionUnit? MineType { get; set; } + + [Description("生产单元")] + [DataFieldForeignKey("Nav_ProductionUnit")] + public Guid? PRODUCTION_UNIT_ID { get; set; } + [Description("导航属性:生产单元")] + public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; } } } diff --git a/APT.MS.Domain/Entities/SK/T_SK_RISK_EVALUATION.cs b/APT.MS.Domain/Entities/SK/T_SK_RISK_EVALUATION.cs index 44845bf..d1979aa 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_RISK_EVALUATION.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_RISK_EVALUATION.cs @@ -73,6 +73,13 @@ namespace APT.MS.Domain.Entities.SK [Description("是否公司级")] [EnumName("SKIsStoreEnum")] - public SKIsStoreEnum ISCOMPANY { get; set; } + public SKIsStoreEnum ISCOMPANY { get; set; } + + [Description("发起人部门")] + [DataFieldLength(50)] + public string ApplyDepartmentName { get; set; } + [DataFieldLength(50)] + [Description("发起人岗位")] + public string ApplyPostName { get; set; } } } diff --git a/APT.MS.Domain/Entities/SK/T_SK_RISK_EVALUATION_DETAIL.cs b/APT.MS.Domain/Entities/SK/T_SK_RISK_EVALUATION_DETAIL.cs index b34b7b7..229934a 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_RISK_EVALUATION_DETAIL.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_RISK_EVALUATION_DETAIL.cs @@ -1,4 +1,5 @@ -using APT.BaseData.Domain.Enums; +using APT.BaseData.Domain.Entities.FM; +using APT.BaseData.Domain.Enums; using APT.Infrastructure.Core; using APT.MS.Domain.Entities.HM; using APT.MS.Domain.Enums.SK; @@ -30,7 +31,13 @@ namespace APT.MS.Domain.Entities.SK /// [Description("生产单元")] [EnumName("SKProductionUnit")] - public SKProductionUnit MineType { get; set; } + public SKProductionUnit MineType { get; set; } + + [Description("生产单元")] + [DataFieldForeignKey("Nav_ProductionUnit")] + public Guid? PRODUCTION_UNIT_ID { get; set; } + [Description("导航属性:生产单元")] + public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; } [Description("序号")] diff --git a/APT.MS.Domain/Entities/SK/T_SK_RISK_EVALUATION_SUMMARY.cs b/APT.MS.Domain/Entities/SK/T_SK_RISK_EVALUATION_SUMMARY.cs index 1ed956a..a3fb01e 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_RISK_EVALUATION_SUMMARY.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_RISK_EVALUATION_SUMMARY.cs @@ -72,6 +72,13 @@ namespace APT.MS.Domain.Entities.SK public string CONTEXT { get; set; } [Description("是否公司级")] [EnumName("SKIsStoreEnum")] - public SKIsStoreEnum ISCOMPANY { get; set; } + public SKIsStoreEnum ISCOMPANY { get; set; } + + [Description("发起人部门")] + [DataFieldLength(50)] + public string ApplyDepartmentName { get; set; } + [DataFieldLength(50)] + [Description("发起人岗位")] + public string ApplyPostName { get; set; } } } diff --git a/APT.MS.Domain/Entities/SK/T_SK_RISK_EVALUATION_SUMMARY_DETAIL.cs b/APT.MS.Domain/Entities/SK/T_SK_RISK_EVALUATION_SUMMARY_DETAIL.cs index 515a536..81457e9 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_RISK_EVALUATION_SUMMARY_DETAIL.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_RISK_EVALUATION_SUMMARY_DETAIL.cs @@ -1,4 +1,5 @@ -using APT.BaseData.Domain.Enums; +using APT.BaseData.Domain.Entities.FM; +using APT.BaseData.Domain.Enums; using APT.Infrastructure.Core; using APT.MS.Domain.Entities.HM; using APT.MS.Domain.Enums.SK; @@ -30,7 +31,13 @@ namespace APT.MS.Domain.Entities.SK /// [Description("生产单元")] [EnumName("SKProductionUnit")] - public SKProductionUnit MineType { get; set; } + public SKProductionUnit MineType { get; set; } + + [Description("生产单元")] + [DataFieldForeignKey("Nav_ProductionUnit")] + public Guid? PRODUCTION_UNIT_ID { get; set; } + [Description("导航属性:生产单元")] + public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; } [Description("序号")] diff --git a/APT.MS.Domain/Entities/SK/T_SK_RISK_IDENTIFY.cs b/APT.MS.Domain/Entities/SK/T_SK_RISK_IDENTIFY.cs index 073f59d..fc58cf2 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_RISK_IDENTIFY.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_RISK_IDENTIFY.cs @@ -78,6 +78,13 @@ namespace APT.MS.Domain.Entities.SK [Description("驳回意见")] [DataFieldIngore] - public string CONTEXT { get; set; } + public string CONTEXT { get; set; } + + [Description("发起人部门")] + [DataFieldLength(50)] + public string ApplyDepartmentName { get; set; } + [DataFieldLength(50)] + [Description("发起人岗位")] + public string ApplyPostName { get; set; } } } diff --git a/APT.MS.Domain/Entities/SK/T_SK_RISK_IDENTIFY_DETAIL.cs b/APT.MS.Domain/Entities/SK/T_SK_RISK_IDENTIFY_DETAIL.cs index 955a255..4a70d69 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_RISK_IDENTIFY_DETAIL.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_RISK_IDENTIFY_DETAIL.cs @@ -1,4 +1,5 @@ -using APT.BaseData.Domain.Enums; +using APT.BaseData.Domain.Entities.FM; +using APT.BaseData.Domain.Enums; using APT.Infrastructure.Core; using APT.MS.Domain.Entities.HM; using APT.MS.Domain.Enums.SK; @@ -30,7 +31,13 @@ namespace APT.MS.Domain.Entities.SK /// [Description("生产单元")] [EnumName("SKProductionUnit")] - public SKProductionUnit MineType { get; set; } + public SKProductionUnit MineType { get; set; } + + [Description("生产单元")] + [DataFieldForeignKey("Nav_ProductionUnit")] + public Guid? PRODUCTION_UNIT_ID { get; set; } + [Description("导航属性:生产单元")] + public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; } [Description("序号")] diff --git a/APT.MS.Domain/Entities/SK/T_SK_RISK_IDENTIFY_RESULT.cs b/APT.MS.Domain/Entities/SK/T_SK_RISK_IDENTIFY_RESULT.cs index d8fa401..fdfc297 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_RISK_IDENTIFY_RESULT.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_RISK_IDENTIFY_RESULT.cs @@ -89,6 +89,13 @@ namespace APT.MS.Domain.Entities.SK [Description("是否公司级")] [EnumName("SKIsStoreEnum")] - public SKIsStoreEnum ISCOMPANY { get; set; } + public SKIsStoreEnum ISCOMPANY { get; set; } + + [Description("发起人部门")] + [DataFieldLength(50)] + public string ApplyDepartmentName { get; set; } + [DataFieldLength(50)] + [Description("发起人岗位")] + public string ApplyPostName { get; set; } } } diff --git a/APT.MS.Domain/Entities/SK/T_SK_RISK_IDENTIFY_RESULT_DETAIL.cs b/APT.MS.Domain/Entities/SK/T_SK_RISK_IDENTIFY_RESULT_DETAIL.cs index c2eff93..4a727a2 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_RISK_IDENTIFY_RESULT_DETAIL.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_RISK_IDENTIFY_RESULT_DETAIL.cs @@ -1,4 +1,5 @@ -using APT.BaseData.Domain.Enums; +using APT.BaseData.Domain.Entities.FM; +using APT.BaseData.Domain.Enums; using APT.Infrastructure.Core; using APT.MS.Domain.Entities.HM; using APT.MS.Domain.Enums.SK; @@ -30,7 +31,13 @@ namespace APT.MS.Domain.Entities.SK /// [Description("生产单元")] [EnumName("SKProductionUnit")] - public SKProductionUnit MineType { get; set; } + public SKProductionUnit MineType { get; set; } + + [Description("生产单元")] + [DataFieldForeignKey("Nav_ProductionUnit")] + public Guid? PRODUCTION_UNIT_ID { get; set; } + [Description("导航属性:生产单元")] + public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; } [Description("序号")] diff --git a/APT.MS.Domain/Entities/SK/T_SK_RISK_IDENTIFY_RESULT_SUMMARY.cs b/APT.MS.Domain/Entities/SK/T_SK_RISK_IDENTIFY_RESULT_SUMMARY.cs index 8a2b7ec..b7f549b 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_RISK_IDENTIFY_RESULT_SUMMARY.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_RISK_IDENTIFY_RESULT_SUMMARY.cs @@ -87,6 +87,13 @@ namespace APT.MS.Domain.Entities.SK [Description("是否公司级")] [EnumName("SKIsStoreEnum")] - public SKIsStoreEnum ISCOMPANY { get; set; } + public SKIsStoreEnum ISCOMPANY { get; set; } + + [Description("发起人部门")] + [DataFieldLength(50)] + public string ApplyDepartmentName { get; set; } + [DataFieldLength(50)] + [Description("发起人岗位")] + public string ApplyPostName { get; set; } } } diff --git a/APT.MS.Domain/Entities/SK/T_SK_RISK_IDENTIFY_RESULT_SUMMARY_DETAIL.cs b/APT.MS.Domain/Entities/SK/T_SK_RISK_IDENTIFY_RESULT_SUMMARY_DETAIL.cs index 34e1f24..2c77477 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_RISK_IDENTIFY_RESULT_SUMMARY_DETAIL.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_RISK_IDENTIFY_RESULT_SUMMARY_DETAIL.cs @@ -1,4 +1,5 @@ -using APT.BaseData.Domain.Enums; +using APT.BaseData.Domain.Entities.FM; +using APT.BaseData.Domain.Enums; using APT.Infrastructure.Core; using APT.MS.Domain.Entities.HM; using APT.MS.Domain.Enums.SK; @@ -29,7 +30,13 @@ namespace APT.MS.Domain.Entities.SK /// [Description("生产单元")] [EnumName("SKProductionUnit")] - public SKProductionUnit MineType { get; set; } + public SKProductionUnit MineType { get; set; } + + [Description("生产单元")] + [DataFieldForeignKey("Nav_ProductionUnit")] + public Guid? PRODUCTION_UNIT_ID { get; set; } + [Description("导航属性:生产单元")] + public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; } [Description("序号")] 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 fee2316..430348a 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_RISK_TYPE.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_RISK_TYPE.cs @@ -1,4 +1,5 @@ -using APT.Infrastructure.Core; +using APT.BaseData.Domain.Entities.FM; +using APT.Infrastructure.Core; using APT.MS.Domain.Enums; using System; using System.Collections.Generic; @@ -31,6 +32,12 @@ namespace APT.MS.Domain.Entities.SK [FormFieldQuery] [FormFieldEdit] [EnumName("STATUSEnum")] - public STATUSEnum STATUS { get; set; } + public STATUSEnum STATUS { get; set; } + + [Description("生产单元")] + [DataFieldForeignKey("Nav_ProductionUnit")] + public Guid? PRODUCTION_UNIT_ID { get; set; } + [Description("导航属性:生产单元")] + public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; } } } diff --git a/APT.MS.Domain/Entities/SK/T_SK_SECURITY_INSPECTION_NOTICE.cs b/APT.MS.Domain/Entities/SK/T_SK_SECURITY_INSPECTION_NOTICE.cs index 11abac3..1d45b61 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_SECURITY_INSPECTION_NOTICE.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_SECURITY_INSPECTION_NOTICE.cs @@ -8,6 +8,7 @@ using APT.MS.Domain.Enums.SK; using System; using System.Collections.Generic; using System.ComponentModel; +using System.ComponentModel.DataAnnotations; using System.Text; namespace APT.MS.Domain.Entities.SK @@ -29,13 +30,18 @@ namespace APT.MS.Domain.Entities.SK [Description("导航属性:发起部门")] public virtual T_FM_DEPARTMENT Nav_ApplyDepartment { get; set; } - /// /// 生产单元 /// [Description("生产单元")] [EnumName("SKProductionUnit")] - public SKProductionUnit MineType { get; set; } + public SKProductionUnit MineType { get; set; } + + [Description("生产单元")] + [DataFieldForeignKey("Nav_ProductionUnit")] + public Guid? PRODUCTION_UNIT_ID { get; set; } + [Description("导航属性:生产单元")] + public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; } /// /// 检查类型 @@ -98,6 +104,13 @@ namespace APT.MS.Domain.Entities.SK [Description("驳回意见")] [DataFieldIngore] - public string CONTEXT { get; set; } + public string CONTEXT { get; set; } + + [Description("发起人部门")] + [DataFieldLength(50)] + public string ApplyDepartmentName { get; set; } + [DataFieldLength(50)] + [Description("发起人岗位")] + public string ApplyPostName { get; set; } } } diff --git a/APT.MS.Domain/Entities/SK/T_SK_SECURITY_INSPECTION_RECORD.cs b/APT.MS.Domain/Entities/SK/T_SK_SECURITY_INSPECTION_RECORD.cs index bc448d0..61fa7c8 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_SECURITY_INSPECTION_RECORD.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_SECURITY_INSPECTION_RECORD.cs @@ -38,7 +38,13 @@ namespace APT.MS.Domain.Entities.SK /// [Description("生产单元")] [EnumName("SKProductionUnit")] - public SKProductionUnit MineType { get; set; } + public SKProductionUnit MineType { get; set; } + + [Description("生产单元")] + [DataFieldForeignKey("Nav_ProductionUnit")] + public Guid? PRODUCTION_UNIT_ID { get; set; } + [Description("导航属性:生产单元")] + public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; } /// /// 检查类型 /// @@ -118,6 +124,13 @@ namespace APT.MS.Domain.Entities.SK public Guid? RECORD_USER_ID { get; set; } [Description("导航属性:记录人")] - public virtual T_FM_USER Nav_RecordUser { get; set; } + public virtual T_FM_USER Nav_RecordUser { get; set; } + + [Description("发起人部门")] + [DataFieldLength(50)] + public string ApplyDepartmentName { get; set; } + [DataFieldLength(50)] + [Description("发起人岗位")] + public string ApplyPostName { get; set; } } } diff --git a/APT.MS.Domain/Entities/SK/T_SK_SECURITY_INSPECTION_RECORD_SUMMARY.cs b/APT.MS.Domain/Entities/SK/T_SK_SECURITY_INSPECTION_RECORD_SUMMARY.cs index 4051817..9f54ebb 100644 --- a/APT.MS.Domain/Entities/SK/T_SK_SECURITY_INSPECTION_RECORD_SUMMARY.cs +++ b/APT.MS.Domain/Entities/SK/T_SK_SECURITY_INSPECTION_RECORD_SUMMARY.cs @@ -40,7 +40,13 @@ namespace APT.MS.Domain.Entities.SK /// [Description("生产单元")] [EnumName("SKProductionUnit")] - public SKProductionUnit MineType { get; set; } + public SKProductionUnit MineType { get; set; } + + [Description("生产单元")] + [DataFieldForeignKey("Nav_ProductionUnit")] + public Guid? PRODUCTION_UNIT_ID { get; set; } + [Description("导航属性:生产单元")] + public T_FM_USER_PRODUCTION_UNIT_SET Nav_ProductionUnit { get; set; } /// /// 检查类型 /// @@ -99,6 +105,13 @@ namespace APT.MS.Domain.Entities.SK /// 是否自动触发 /// [Description("是否自动触发")] - public bool ISAUTO { get; set; } = false; + public bool ISAUTO { get; set; } = false; + + [Description("发起人部门")] + [DataFieldLength(50)] + public string ApplyDepartmentName { get; set; } + [DataFieldLength(50)] + [Description("发起人岗位")] + public string ApplyPostName { get; set; } } } diff --git a/APT.MS.Domain/Enums/SK/SKEnums.cs b/APT.MS.Domain/Enums/SK/SKEnums.cs index eb802a2..96adfe2 100644 --- a/APT.MS.Domain/Enums/SK/SKEnums.cs +++ b/APT.MS.Domain/Enums/SK/SKEnums.cs @@ -124,15 +124,13 @@ namespace APT.MS.Domain.Enums.SK public enum SKDepartmentTypeEnum { [Description("部门级")] - 部门级 = 0, + 部门级 = 10, [Description("车间级")] - 车间级 = 1, + 车间级 = 15, [Description("班组级")] - 班组级 = 2, + 班组级 = 20, [Description("公司级")] - 公司级 = 3, - [Description("岗位级")] - 岗位级 = 4, + 公司级 = 5 } public enum SKPLANCHECKFREQUENCYEnum { @@ -185,11 +183,6 @@ namespace APT.MS.Domain.Enums.SK /// [Description("每年")] Year = 60, - /// - /// 每班 - /// - [Description("每班")] - Class = 70, } public enum SKEnableStatusEnum { diff --git a/APT.MicroApi/APT.FM.WebApi/Controllers/Api/DepartmentController.cs b/APT.MicroApi/APT.FM.WebApi/Controllers/Api/DepartmentController.cs index 5641f97..2abf676 100644 --- a/APT.MicroApi/APT.FM.WebApi/Controllers/Api/DepartmentController.cs +++ b/APT.MicroApi/APT.FM.WebApi/Controllers/Api/DepartmentController.cs @@ -55,7 +55,7 @@ namespace APT.FM.WebApi.Controllers.Api.FM var result = WitOrderEntities(null, filter); if (result.Data.Count() > 0) { - var users = this.GetEntities(t => t.ENABLE_STATUS == (int)FMEnableStatusEnum.启用, new BaseFilter(filter.OrgId)).ToList(); + var users = this.GetEntities(t => t.ENABLE_STATUS == (int)FMEnableStatusEnum.启用 && !t.CODE.Contains("admin"), new BaseFilter(filter.OrgId)).ToList(); foreach (var item in result.Data) { List outPartmentIds = new List(); @@ -513,7 +513,7 @@ namespace APT.FM.WebApi.Controllers.Api.FM main = entity; if (entity.Nav_DepartmentUser != null && entity.Nav_DepartmentUser.Any()) { - main.Nav_DepartmentUser = entity.Nav_DepartmentUser.Where(t => !t.Nav_User.CODE.Contains("admin")).ToList(); + main.Nav_DepartmentUser = entity.Nav_DepartmentUser.Where(t => !t.Nav_User.CODE.Contains("admin")).OrderBy(m=>m.Nav_User.NUM).ToList(); } else { @@ -534,7 +534,7 @@ namespace APT.FM.WebApi.Controllers.Api.FM departmentUser.Add(us); }); //main.Nav_DepartmentUser = departmentUser.OrderByDescending(e => e.Nav_User.APPROVE_ROLE_ID).ToList();//wyw 有审批角色的显示再前面 - main.Nav_DepartmentUser = departmentUser.OrderByDescending(e => e.Nav_User.Nav_ApproveRole?.CODE).ToList(); + main.Nav_DepartmentUser = departmentUser.OrderBy(t=>t.Nav_User?.NUM).ThenByDescending(e => e.Nav_User.Nav_ApproveRole?.CODE).ToList(); } } } diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs index c0f52fc..6773b66 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs @@ -49,6 +49,41 @@ using Microsoft.Extensions.Logging; namespace APT.PP.WebApi.Controllers.Api { + public class CheckListNew + { + public Guid? PRODUCTION_UNIT_ID { get; set; } + public SKProductionUnit Mine { get; set; } + public SKPLANCHECKFREQUENCYEnum Cycle { get; set; } + public SKDepartmentTypeEnum DepartType { get; set; } + public string MineType { get; set; } + + public string CheckType { get; set; } + public Guid? CheckTypeId { get; set; } + public string CheckCycle { get; set; } + public string CheckLevel { get; set; } + public int Num { get; set; } + + public Guid? CheckDepartId { get; set; } + public string CheckDepart { get; set; } + public string CheckPost { get; set; } + public Guid? CheckPostId { get; set; } + + public List details { get; set; } + } + public class CheckListDetail + { + public string RISK_NAME { get; set; } + public Guid? RISK_AREA_ID { get; set; } + + public string RISK_AREA_NAME { get; set; } + public Guid? CHECK_CONTENTS_ID { get; set; } + + public string CHECK_CONTENTS_NAME { get; set; } + + public string CHECKPROOF { get; set; } + + public string CHECKSTANDARD { get; set; } + } [Route("api/PP/SKController")] [TypeFilter(typeof(CustomActionFilterAttribute))] public class SKController : AuthorizeApiController @@ -76,7 +111,7 @@ namespace APT.PP.WebApi.Controllers.Api var month = dtNow.Month; var day = dtNow.Day; var week = dtNow.DayOfWeek; - List setList=new List (); + List setList = new List(); //查配置表,有配才执行 var timeSets = GetEntities(i => i.SET_TYPE == SKSetTypeEnum.SecurityNotice && i.ENABLE_STATUS == 0 && i.RUNSETTIME.Value.Hour == DateTime.Now.Hour, new BaseFilter(filter.OrgId)).ToList(); if (timeSets != null && timeSets.Any()) @@ -100,9 +135,9 @@ namespace APT.PP.WebApi.Controllers.Api case SKPLANCHECKFREQUENCYEnum.Date: setList.Add(SKPLANCHECKFREQUENCYEnum.Date); break; - case SKPLANCHECKFREQUENCYEnum.Class: - setList.Add(SKPLANCHECKFREQUENCYEnum.Class); - break; + //case SKPLANCHECKFREQUENCYEnum.Class: + // setList.Add(SKPLANCHECKFREQUENCYEnum.Class); + // break; case SKPLANCHECKFREQUENCYEnum.Week: if (set.WEEKDATA != null && (int)set.WEEKDATA.Value == (int)week) { @@ -172,7 +207,7 @@ namespace APT.PP.WebApi.Controllers.Api content.AREA_ID = libraryTemp.AREA_ID; } } - if (libraryDeparts != null && libraryDeparts.Any()) + if (libraryDeparts != null && libraryDeparts.Any()) { foreach (var depart in libraryDeparts) { @@ -184,9 +219,9 @@ namespace APT.PP.WebApi.Controllers.Api var shiftClassList = this.GetEntities(s => s.DATE_TIME.Date == dtNow.Date && s.START_TIME != s.END_TIME && s.START_TIME != s.END_TIME && s.Nav_Team.ENABLE_STATUS == 0 && s.TEAM_ID != null, new BaseFilter(filter.OrgId), "Nav_DepartmentSchedulingDetail.Nav_Person").ToList(); var teamIds = shiftClassList.Select(t => t.TEAM_ID).Distinct().ToList(); var teamInfos = this.GetEntities(t => teamIds.Contains(t.ID), new BaseFilter(filter.OrgId)); - var teamDepartIds = teamInfos.Select(m => m.DEPARTMENT_ID).Distinct().ToList(); - - var libraryNoPost = libraryDeparts.Where(t => t.CHECK_TYPE != SKDepartmentTypeEnum.岗位级).ToList(); + var teamDepartIds = teamInfos.Select(m => m.DEPARTMENT_ID).Distinct().ToList(); + + var libraryNoPost = libraryDeparts.ToList(); if (libraryNoPost.Any()) { var groups = libraryNoPost.GroupBy(t => new { t.MineType, t.CHECK_TYPE_ID, t.CHECK_CYCLE, t.CHECK_TYPE }).ToList(); @@ -198,18 +233,18 @@ namespace APT.PP.WebApi.Controllers.Api var departContent = libraryNoPost.Where(t => t.MineType == group.Key.MineType && t.CHECK_TYPE_ID == group.Key.CHECK_TYPE_ID && t.CHECK_CYCLE == group.Key.CHECK_CYCLE && t.CHECK_TYPE == group.Key.CHECK_TYPE).ToList(); var contentIds = departContent.Select(t => t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID).Distinct().ToList(); var content = libraryContents.Where(t => contentIds.Contains(t.ID)).ToList(); - var departList = departs.Where(t => t.DEPARTMENT_TYPE == 0).ToList(); + var departList = departs.Where(t => t.DEPARTMENT_TYPE == 10).ToList(); if (group.Key.CHECK_TYPE == SKDepartmentTypeEnum.部门级) { - departList = departs.Where(t => t.DEPARTMENT_TYPE == 0).ToList(); + departList = departs.Where(t => t.DEPARTMENT_TYPE == 10).ToList(); } if (group.Key.CHECK_TYPE == SKDepartmentTypeEnum.车间级) { - departList = departs.Where(t => t.DEPARTMENT_TYPE == 1).ToList(); + departList = departs.Where(t => t.DEPARTMENT_TYPE == 15).ToList(); } if (group.Key.CHECK_TYPE == SKDepartmentTypeEnum.班组级) { - departList = departs.Where(t => t.DEPARTMENT_TYPE == 2 && teamDepartIds.Contains(t.ID)).ToList(); + departList = departs.Where(t => t.DEPARTMENT_TYPE == 20 && teamDepartIds.Contains(t.ID)).ToList(); } if (group.Key.CHECK_TYPE == SKDepartmentTypeEnum.公司级) { @@ -325,21 +360,21 @@ namespace APT.PP.WebApi.Controllers.Api //} } } - UnifiedCommit(() => - { - if (notices != null && notices.Any()) - BantchSaveEntityNoCommit(notices); - if (safeNotices != null && safeNotices.Any()) - BantchSaveEntityNoCommit(safeNotices); - if (safeDetialNotices != null && safeDetialNotices.Any()) - BantchSaveEntityNoCommit(safeDetialNotices); - //if (records != null && records.Any()) - // BantchSaveEntityNoCommit(records); - //if (recordDetails != null && recordDetails.Any()) - // BantchSaveEntityNoCommit(recordDetails); - //if (recordDetailUsers != null && recordDetailUsers.Any()) - // BantchSaveEntityNoCommit(recordDetailUsers); - }); + UnifiedCommit(() => + { + if (notices != null && notices.Any()) + BantchSaveEntityNoCommit(notices); + if (safeNotices != null && safeNotices.Any()) + BantchSaveEntityNoCommit(safeNotices); + if (safeDetialNotices != null && safeDetialNotices.Any()) + BantchSaveEntityNoCommit(safeDetialNotices); + //if (records != null && records.Any()) + // BantchSaveEntityNoCommit(records); + //if (recordDetails != null && recordDetails.Any()) + // BantchSaveEntityNoCommit(recordDetails); + //if (recordDetailUsers != null && recordDetailUsers.Any()) + // BantchSaveEntityNoCommit(recordDetailUsers); + }); } catch (Exception ex) { @@ -477,7 +512,7 @@ namespace APT.PP.WebApi.Controllers.Api item.Nav_CheckNoticeDetails = null; item.Nav_CheckNoticeFiles = null; } - var noticeIds= notices.Select(i => i.ID).ToList(); + var noticeIds = notices.Select(i => i.ID).ToList(); tasks = this.GetEntities(t => noticeIds.Contains((Guid)t.SOURCE_DATA_ID) && t.NOTICE_STATUS == 0, new BaseFilter(filter.OrgId)).ToList(); tasks.ForEach(t => t.NOTICE_STATUS = 4); var sourceIds = tasks.Select(i => i.SOURCE_DATA_ID).ToList(); @@ -590,6 +625,7 @@ namespace APT.PP.WebApi.Controllers.Api record.SECURITY_INSPECTION_NOTICE_ID = item.ID; record.ORG_ID = filter.GetOrgId(); record.MineType = item.MineType; + record.PRODUCTION_UNIT_ID = item.PRODUCTION_UNIT_ID; record.APPLY_DEPARTMENT_ID = item.APPLY_DEPARTMENT_ID; record.APPLY_USER_ID = item.APPLY_USER_ID; record.CHECK_TYPE_ID = item.CHECK_TYPE_ID; @@ -611,7 +647,7 @@ namespace APT.PP.WebApi.Controllers.Api } } var userIds = new List(); - var noticeDetails = item.Nav_CheckNoticeDetails?.Where(c => c.Nav_CheckNoticeDetailUsers != null && c.Nav_CheckNoticeDetailUsers.FirstOrDefault(m => m.USER_ID == userItem)?.USER_ID == userItem).OrderBy(t=>t.NUM).ToList(); + var noticeDetails = item.Nav_CheckNoticeDetails?.Where(c => c.Nav_CheckNoticeDetailUsers != null && c.Nav_CheckNoticeDetailUsers.FirstOrDefault(m => m.USER_ID == userItem)?.USER_ID == userItem).OrderBy(t => t.NUM).ToList(); if (noticeDetails != null && noticeDetails.Any()) { var i = 1; @@ -739,7 +775,7 @@ namespace APT.PP.WebApi.Controllers.Api "SECURITY_INSPECTION_NOTICE_ID","STATUS","TYPE_ID", "Nav_CheckRecordDetails.SECURITY_INSPECTION_RECORD_ID","Nav_CheckRecordDetails.CHECK_RESULT","Nav_CheckRecordDetails.CHECK_QUESTION_ID", "Nav_CheckRecordDetails.HIDDEN_DESCRIPTION","Nav_CheckRecordDetails.HIDDEN_LEVEL","Nav_CheckRecordDetails.HIDDEN_PLACE","Nav_CheckRecordDetails.MARK", "Nav_CheckRecordDetails.RISK_AREA_ID","Nav_CheckRecordDetails.CHECK_CONTENTS_ID","Nav_CheckRecordDetails.CHECKCONTENT","Nav_CheckRecordDetails.CHECKPROOF","Nav_CheckRecordDetails.CHECKSTANDARD", - "Nav_CheckRecordFiles.IMG_FILE_ID","Nav_CheckRecordFiles.SECURITY_INSPECTION_RECORD_ID","Nav_CheckRecordDetails.Nav_CheckRecordDetailFiles.IMG_FILE_ID", + "Nav_CheckRecordFiles.IMG_FILE_ID","Nav_CheckRecordFiles.SECURITY_INSPECTION_RECORD_ID","Nav_CheckRecordDetails.Nav_CheckRecordDetailFiles.IMG_FILE_ID", "Nav_CheckRecordDetails.Nav_CheckRecordDetailFiles.SECURITY_INSPECTION_RECORD_DETAIL_ID","Nav_CheckRecordDetails.Nav_CheckRecordDetailUsers.USER_ID", "Nav_CheckRecordDetails.Nav_CheckRecordDetailUsers.ISMAINCHECK","Nav_CheckRecordDetails.Nav_CheckRecordDetailUsers.CHECKTIME","Nav_CheckRecordDetails.Nav_CheckRecordDetailUsers.ISCHECK", "Nav_CheckRecordDetails.Nav_CheckRecordDetailUsers.SECURITY_INSPECTION_RECORD_DETAIL_ID","Nav_CheckRecordDetails.Nav_CheckRecordDetailBasics.SECURITY_INSPECTION_RECORD_DETAIL_ID", @@ -814,9 +850,9 @@ namespace APT.PP.WebApi.Controllers.Api case SKPLANCHECKFREQUENCYEnum.Date: setList.Add(SKPLANCHECKFREQUENCYEnum.Date); break; - case SKPLANCHECKFREQUENCYEnum.Class: - setList.Add(SKPLANCHECKFREQUENCYEnum.Class); - break; + //case SKPLANCHECKFREQUENCYEnum.Class: + // setList.Add(SKPLANCHECKFREQUENCYEnum.Class); + // break; case SKPLANCHECKFREQUENCYEnum.Week: if (set.WEEKDATA != null && (int)set.WEEKDATA.Value == (int)week) { @@ -862,13 +898,13 @@ namespace APT.PP.WebApi.Controllers.Api List plans = new List(); List planDetails = new List(); List planDetailUsers = new List(); - var userInfos = this.GetEntities(t => t.ENABLE_STATUS == 0 && !t.CODE.Contains("admin"),new BaseFilter(filter.OrgId), "Nav_ApproveRole"); + var userInfos = this.GetEntities(t => t.ENABLE_STATUS == 0 && !t.CODE.Contains("admin"), new BaseFilter(filter.OrgId), "Nav_ApproveRole"); var userInfo = userInfos.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == "安环部安全员"); if (userInfo == null) { userInfo = userInfos.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == "安环部负责人"); } - if (userInfo != null) + if (userInfo != null) { DateTime dtEnd = NotificationTaskService.GetTaskEndTime(FMTASKTYPE.JobSite, filter.OrgId.Value, DateTime.Now, null, null); if (setList != null && setList.Any()) @@ -876,10 +912,10 @@ namespace APT.PP.WebApi.Controllers.Api var departMentTemps = this.GetEntities(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId)).ToList(); var topDepart = departMentTemps.FirstOrDefault(t => t.PARENT_ID == null); //deppartList.Add(topDepart); - var departMents = GetSons(departMentTemps, topDepart.ID).OrderBy(t=>t.PARENT_ID).ThenBy(t=>t.NUM); - var comDeparts = departMents.Where(t => t.DEPARTMENT_TYPE == 3).ToList(); + var departMents = GetSons(departMentTemps, topDepart.ID).OrderBy(t => t.PARENT_ID).ThenBy(t => t.NUM); + var comDeparts = departMents.Where(t => t.DEPARTMENT_TYPE == 5).ToList(); deppartList.AddRange(comDeparts); - var bmDeparts = departMents.Where(t => t.DEPARTMENT_TYPE == 0).ToList(); + var bmDeparts = departMents.Where(t => t.DEPARTMENT_TYPE == 10).ToList(); foreach (var bm in bmDeparts) { deppartList.Add(bm); @@ -940,7 +976,7 @@ namespace APT.PP.WebApi.Controllers.Api } } } - var noticeTask = NotificationTaskService.InsertUserNoticeTaskModel("安全风险辨识与评估计划("+DateTime.Now.ToShortDateString().Replace("/", "") + ")", plan.ID, filter.OrgId, userInfo.ID, userInfo.NAME, DateTime.Now, dtEnd, (int)FMNoticeTypeEnum.消息, "SK031"); + var noticeTask = NotificationTaskService.InsertUserNoticeTaskModel("安全风险辨识与评估计划(" + DateTime.Now.ToShortDateString().Replace("/", "") + ")", plan.ID, filter.OrgId, userInfo.ID, userInfo.NAME, DateTime.Now, dtEnd, (int)FMNoticeTypeEnum.消息, "SK031"); notices.Add(noticeTask); } } @@ -1007,7 +1043,7 @@ namespace APT.PP.WebApi.Controllers.Api List oldidentitys = this.GetOrderEntities(expression, filter).ToList(); var applyUserIds = oldidentitys.Select(t => t.APPLY_USER_ID).Distinct().ToList(); //var plans = this.GetEntities(t => t.ISSEND == false && t.START_DATE.Value.Date == dtNow.Date && t.STATUS == PFStandardStatus.Archived, new BaseFilter(filter.OrgId), "Nav_Details.Nav_DetailUsers"); - if (plan!= null) + if (plan != null) { var libraryPosts = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId)); var libraryPostDetails = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId)); @@ -1022,100 +1058,101 @@ namespace APT.PP.WebApi.Controllers.Api //var teamIds = shiftClassList.Select(t => t.TEAM_ID).Distinct().ToList(); //var teamInfos = this.GetEntities(t => teamIds.Contains(t.ID), new BaseFilter(filter.OrgId)); //var teamDepartIds = teamInfos.Select(m => m.DEPARTMENT_ID).Distinct().ToList(); - var requre = this.GetEntity(t => !t.IS_DELETED); - - if (plan != null && plan.Nav_Details != null && plan.Nav_Details.Any()) - { - foreach (var item in plan.Nav_Details) - { - if (item.Nav_DetailUsers != null && item.Nav_DetailUsers.Any()) - { - foreach (var item2 in item.Nav_DetailUsers) - { - var user = users.FirstOrDefault(t => t.ID == item2.USER_ID && !applyUserIds.Contains(item2.USER_ID)); - if (user != null) - { - T_SK_RISK_IDENTIFY ide = new T_SK_RISK_IDENTIFY(); - ide.ORG_ID = user.ORG_ID; - ide.IDENTIFY_EVALUATION_PLAN_ID = plan.ID; - ide.APPLY_DEPARTMENT_ID = item.DEPARTMENT_ID; - ide.APPLY_USER_ID = user.ID; - ide.YEAR = DateTime.Now.Year.ToString(); - ide.ISAUTO = true; - ide.CONTENTS = plan.CONTENTS; - ide.START_DATE = plan.START_DATE; - ide.END_DATE = plan.END_DATE; - ide.REQUIRE_ID = requre?.ID; - identitys.Add(ide); - if (user.Nav_Person != null) - { - var postDetailIds = libraryPostDetails.Where(t => t.POST_ID == user.Nav_Person.POST_ID).Select(m => m.ENTERPRISE_LIBRARY_POST_ID).Distinct().ToList(); - var posts = libraryPosts.Where(t => postDetailIds.Contains(t.ID) && t.DEPARTMENT_ID == user.DEPARTMENT_ID).ToList(); - if (posts != null && posts.Any()) - { - var libraryIdss = posts.Select(t => t.ENTERPRISE_LIBRARY_ID).Distinct().ToList(); - var libraryss = librarys.Where(t => libraryIdss.Contains(t.ID)).OrderBy(t => t.NUM).ToList(); - if (libraryss.Any()) - { - foreach (var library in libraryss) - { - T_SK_RISK_IDENTIFY_DETAIL ideDetail = new T_SK_RISK_IDENTIFY_DETAIL(); - ideDetail.ORG_ID = filter.OrgId; - ideDetail.RISK_IDENTIFY_ID = ide.ID; - ideDetail.MineType = library == null ? SKProductionUnit.Mine : library.MineType; - ideDetail.AREA_ID = library?.AREA_ID; - ideDetail.RISK_DESCRIPTION = library?.RISK_DESCRIPTION; - ideDetail.TYPE_ID = library?.TYPE_ID; - ideDetail.RISK_NAME = library?.RISK_NAME; - ideDetail.RISK_NAME_ID = library?.RISK_NAME_ID; - ideDetail.EMERGENCY = library?.EMERGENCY; - var detailList = detailss.Where(t => t.ENTERPRISE_LIBRARY_ID == library.ID).OrderBy(t => t.NUM).ToList(); - if (detailList.Any()) - { - var measuresTemp = detailList.Select(t => t.MEASURES_NAME).Distinct().ToList(); - if (measuresTemp.Any()) - { - if (measuresTemp.Count == 1) - { - ideDetail.MEASURE = measuresTemp.FirstOrDefault(); - } - else - { - var i = 1; - foreach (var ite in measuresTemp) - { - var temp2 = i + "、" + ite + ";"; - ideDetail.MEASURE = ideDetail.MEASURE + Environment.NewLine + temp2; - i++; - } - } - } - //var emergencysTemp = detailList.Select(t => t.EMERGENCY).Distinct().ToList(); - //if (emergencysTemp.Any()) - //{ - // var i = 1; - // foreach (var ite in emergencysTemp) - // { - // var temp2 = i == 1 ? i + "、" + ite + ";" : i + "、" + ite + ";"; - // ideDetail.EMERGENCY = ideDetail.EMERGENCY + temp2; - // i++; - // } - //} - } - details.Add(ideDetail); - } - } - } - } - var endtime = plan.END_DATE != null ? (DateTime)plan.END_DATE : DateTime.Now.AddDays(1); - var noticeTask = NotificationTaskService.InsertUserNoticeTaskModel("安全风险辨识表(" + DateTime.Now.ToShortDateString().Replace("/", "") + ")", ide.ID, filter.OrgId, user.ID, user.NAME, DateTime.Now, endtime, (int)FMNoticeTypeEnum.消息, "SK033"); - notices.Add(noticeTask); - } - } - } - } - } - + var requre = this.GetEntity(t => !t.IS_DELETED); + + if (plan != null && plan.Nav_Details != null && plan.Nav_Details.Any()) + { + foreach (var item in plan.Nav_Details) + { + if (item.Nav_DetailUsers != null && item.Nav_DetailUsers.Any()) + { + foreach (var item2 in item.Nav_DetailUsers) + { + var user = users.FirstOrDefault(t => t.ID == item2.USER_ID && !applyUserIds.Contains(item2.USER_ID)); + if (user != null) + { + T_SK_RISK_IDENTIFY ide = new T_SK_RISK_IDENTIFY(); + ide.ORG_ID = user.ORG_ID; + ide.IDENTIFY_EVALUATION_PLAN_ID = plan.ID; + ide.APPLY_DEPARTMENT_ID = item.DEPARTMENT_ID; + ide.APPLY_USER_ID = user.ID; + ide.YEAR = DateTime.Now.Year.ToString(); + ide.ISAUTO = true; + ide.CONTENTS = plan.CONTENTS; + ide.START_DATE = plan.START_DATE; + ide.END_DATE = plan.END_DATE; + ide.REQUIRE_ID = requre?.ID; + identitys.Add(ide); + if (user.Nav_Person != null) + { + var postDetailIds = libraryPostDetails.Where(t => t.POST_ID == user.Nav_Person.POST_ID).Select(m => m.ENTERPRISE_LIBRARY_POST_ID).Distinct().ToList(); + var posts = libraryPosts.Where(t => postDetailIds.Contains(t.ID) && t.DEPARTMENT_ID == user.DEPARTMENT_ID).ToList(); + if (posts != null && posts.Any()) + { + var libraryIdss = posts.Select(t => t.ENTERPRISE_LIBRARY_ID).Distinct().ToList(); + var libraryss = librarys.Where(t => libraryIdss.Contains(t.ID)).OrderBy(t => t.NUM).ToList(); + if (libraryss.Any()) + { + foreach (var library in libraryss) + { + T_SK_RISK_IDENTIFY_DETAIL ideDetail = new T_SK_RISK_IDENTIFY_DETAIL(); + ideDetail.ORG_ID = filter.OrgId; + ideDetail.RISK_IDENTIFY_ID = ide.ID; + ideDetail.PRODUCTION_UNIT_ID = library?.PRODUCTION_UNIT_ID; + ideDetail.MineType = library == null ? SKProductionUnit.Mine : library.MineType; + ideDetail.AREA_ID = library?.AREA_ID; + ideDetail.RISK_DESCRIPTION = library?.RISK_DESCRIPTION; + ideDetail.TYPE_ID = library?.TYPE_ID; + ideDetail.RISK_NAME = library?.RISK_NAME; + ideDetail.RISK_NAME_ID = library?.RISK_NAME_ID; + ideDetail.EMERGENCY = library?.EMERGENCY; + var detailList = detailss.Where(t => t.ENTERPRISE_LIBRARY_ID == library.ID).OrderBy(t => t.NUM).ToList(); + if (detailList.Any()) + { + var measuresTemp = detailList.Select(t => t.MEASURES_NAME).Distinct().ToList(); + if (measuresTemp.Any()) + { + if (measuresTemp.Count == 1) + { + ideDetail.MEASURE = measuresTemp.FirstOrDefault(); + } + else + { + var i = 1; + foreach (var ite in measuresTemp) + { + var temp2 = i + "、" + ite + ";"; + ideDetail.MEASURE = ideDetail.MEASURE + Environment.NewLine + temp2; + i++; + } + } + } + //var emergencysTemp = detailList.Select(t => t.EMERGENCY).Distinct().ToList(); + //if (emergencysTemp.Any()) + //{ + // var i = 1; + // foreach (var ite in emergencysTemp) + // { + // var temp2 = i == 1 ? i + "、" + ite + ";" : i + "、" + ite + ";"; + // ideDetail.EMERGENCY = ideDetail.EMERGENCY + temp2; + // i++; + // } + //} + } + details.Add(ideDetail); + } + } + } + } + var endtime = plan.END_DATE != null ? (DateTime)plan.END_DATE : DateTime.Now.AddDays(1); + var noticeTask = NotificationTaskService.InsertUserNoticeTaskModel("安全风险辨识表(" + DateTime.Now.ToShortDateString().Replace("/", "") + ")", ide.ID, filter.OrgId, user.ID, user.NAME, DateTime.Now, endtime, (int)FMNoticeTypeEnum.消息, "SK033"); + notices.Add(noticeTask); + } + } + } + } + } + } UnifiedCommit(() => { @@ -1192,166 +1229,167 @@ namespace APT.PP.WebApi.Controllers.Api { var user = users.FirstOrDefault(t => t.ID == item2.USER_ID); if (user != null) - { - //var userDepart = departs.FirstOrDefault(t => t.ID == user.DEPARTMENT_ID); - //if (userDepart.DEPARTMENT_TYPE == 2) - //{ - // //if (teamDepartIds.Contains(user.DEPARTMENT_ID) && personIds.Contains((Guid)user.PERSON_ID)) - // { - // T_SK_RISK_IDENTIFY ide = new T_SK_RISK_IDENTIFY(); - // ide.ORG_ID = user.ORG_ID; - // ide.IDENTIFY_EVALUATION_PLAN_ID = plan.ID; - // ide.APPLY_DEPARTMENT_ID = item.DEPARTMENT_ID; - // ide.APPLY_USER_ID = user.ID; - // ide.YEAR = DateTime.Now.Year.ToString(); - // ide.ISAUTO = true; - // ide.CONTENTS = plan.CONTENTS; - // ide.START_DATE = plan.START_DATE; - // ide.END_DATE = plan.END_DATE; - // ide.REQUIRE_ID = requre?.ID; - // identitys.Add(ide); - // if (user.Nav_Person != null) - // { - // var postDetailIds = libraryPostDetails.Where(t => t.POST_ID == user.Nav_Person.POST_ID).Select(m => m.ENTERPRISE_LIBRARY_POST_ID).Distinct().ToList(); - // var posts = libraryPosts.Where(t => postDetailIds.Contains(t.ID) && t.DEPARTMENT_ID == user.DEPARTMENT_ID).ToList(); - // if (posts != null && posts.Any()) - // { - // var libraryIdss = posts.Select(t => t.ENTERPRISE_LIBRARY_ID).Distinct().ToList(); - // var libraryss = librarys.Where(t => libraryIdss.Contains(t.ID)).OrderBy(t => t.NUM).ToList(); - // if (libraryss.Any()) - // { - // foreach (var library in libraryss) - // { - // T_SK_RISK_IDENTIFY_DETAIL ideDetail = new T_SK_RISK_IDENTIFY_DETAIL(); - // ideDetail.ORG_ID = filter.OrgId; - // ideDetail.RISK_IDENTIFY_ID = ide.ID; - // ideDetail.MineType = library == null ? SKProductionUnit.Mine : library.MineType; - // ideDetail.AREA_ID = library?.AREA_ID; - // ideDetail.RISK_NAME = library?.RISK_NAME; - // ideDetail.RISK_NAME_ID = library?.RISK_NAME_ID; - // ideDetail.RISK_DESCRIPTION = library?.RISK_DESCRIPTION; - // ideDetail.TYPE_ID = library?.TYPE_ID; - // ideDetail.EMERGENCY = library?.EMERGENCY; - // var detailList = detailss.Where(t => t.ENTERPRISE_LIBRARY_ID == library.ID).OrderBy(t => t.NUM).ToList(); - // if (detailList.Any()) - // { - // var measuresTemp = detailList.Select(t => t.MEASURES_NAME).Distinct().ToList(); - // if (measuresTemp.Any()) - // { - // if (measuresTemp.Count == 1) - // { - // ideDetail.MEASURE = measuresTemp.FirstOrDefault(); - // } - // else - // { - // var i = 1; - // foreach (var ite in measuresTemp) - // { - // var temp2 = i + "、" + ite + ";"; - // ideDetail.MEASURE = ideDetail.MEASURE + Environment.NewLine + temp2; - // i++; - // } - // } - // } - // //var emergencysTemp = detailList.Select(t => t.EMERGENCY).Distinct().ToList(); - // //if (emergencysTemp.Any()) - // //{ - // // var i = 1; - // // foreach (var ite in emergencysTemp) - // // { - // // var temp2 = i == 1 ? i + "、" + ite + ";" : i + "、" + ite + ";"; - // // ideDetail.EMERGENCY = ideDetail.EMERGENCY + temp2; - // // i++; - // // } - // //} - // } - // details.Add(ideDetail); - // } - // } - // } - // } - // var endtime = plan.END_DATE != null ? (DateTime)plan.END_DATE : DateTime.Now.AddDays(1); - // var noticeTask = NotificationTaskService.InsertUserNoticeTaskModel("安全风险辨识表(" + DateTime.Now.ToShortDateString().Replace("/", "") + ")", ide.ID, filter.OrgId, user.ID, user.NAME, DateTime.Now, endtime, (int)FMNoticeTypeEnum.消息, "SK033"); - // notices.Add(noticeTask); - // } - //} - //else - //{ - T_SK_RISK_IDENTIFY ide = new T_SK_RISK_IDENTIFY(); - ide.ORG_ID = user.ORG_ID; - ide.IDENTIFY_EVALUATION_PLAN_ID = plan.ID; - ide.APPLY_DEPARTMENT_ID = item.DEPARTMENT_ID; - ide.APPLY_USER_ID = user.ID; - ide.YEAR = DateTime.Now.Year.ToString(); - ide.ISAUTO = true; - ide.CONTENTS = plan.CONTENTS; - ide.START_DATE = plan.START_DATE; - ide.END_DATE = plan.END_DATE; - ide.REQUIRE_ID = requre?.ID; - identitys.Add(ide); - if (user.Nav_Person != null) - { - var postDetailIds = libraryPostDetails.Where(t => t.POST_ID == user.Nav_Person.POST_ID).Select(m => m.ENTERPRISE_LIBRARY_POST_ID).Distinct().ToList(); - var posts = libraryPosts.Where(t => postDetailIds.Contains(t.ID) && t.DEPARTMENT_ID == user.DEPARTMENT_ID).ToList(); - if (posts != null && posts.Any()) - { - var libraryIdss = posts.Select(t => t.ENTERPRISE_LIBRARY_ID).Distinct().ToList(); - var libraryss = librarys.Where(t => libraryIdss.Contains(t.ID)).OrderBy(t => t.NUM).ToList(); - if (libraryss.Any()) - { - foreach (var library in libraryss) - { - T_SK_RISK_IDENTIFY_DETAIL ideDetail = new T_SK_RISK_IDENTIFY_DETAIL(); - ideDetail.ORG_ID = filter.OrgId; - ideDetail.RISK_IDENTIFY_ID = ide.ID; - ideDetail.MineType = library == null ? SKProductionUnit.Mine : library.MineType; - ideDetail.AREA_ID = library?.AREA_ID; - ideDetail.RISK_DESCRIPTION = library?.RISK_DESCRIPTION; - ideDetail.TYPE_ID = library?.TYPE_ID; - ideDetail.RISK_NAME = library?.RISK_NAME; - ideDetail.RISK_NAME_ID = library?.RISK_NAME_ID; - ideDetail.EMERGENCY = library?.EMERGENCY; - var detailList = detailss.Where(t => t.ENTERPRISE_LIBRARY_ID == library.ID).OrderBy(t => t.NUM).ToList(); - if (detailList.Any()) - { - var measuresTemp = detailList.Select(t => t.MEASURES_NAME).Distinct().ToList(); - if (measuresTemp.Any()) - { - if (measuresTemp.Count == 1) - { - ideDetail.MEASURE = measuresTemp.FirstOrDefault(); - } - else - { - var i = 1; - foreach (var ite in measuresTemp) - { - var temp2 = i + "、" + ite + ";"; - ideDetail.MEASURE = ideDetail.MEASURE + Environment.NewLine + temp2; - i++; - } - } - } - //var emergencysTemp = detailList.Select(t => t.EMERGENCY).Distinct().ToList(); - //if (emergencysTemp.Any()) - //{ - // var i = 1; - // foreach (var ite in emergencysTemp) - // { - // var temp2 = i == 1 ? i + "、" + ite + ";" : i + "、" + ite + ";"; - // ideDetail.EMERGENCY = ideDetail.EMERGENCY + temp2; - // i++; - // } - //} - } - details.Add(ideDetail); - } - } - } - } - var endtime = plan.END_DATE != null ? (DateTime)plan.END_DATE : DateTime.Now.AddDays(1); - var noticeTask = NotificationTaskService.InsertUserNoticeTaskModel("安全风险辨识表(" + DateTime.Now.ToShortDateString().Replace("/", "") + ")", ide.ID, filter.OrgId, user.ID, user.NAME, DateTime.Now, endtime, (int)FMNoticeTypeEnum.消息, "SK033"); - notices.Add(noticeTask); + { + //var userDepart = departs.FirstOrDefault(t => t.ID == user.DEPARTMENT_ID); + //if (userDepart.DEPARTMENT_TYPE == 2) + //{ + // //if (teamDepartIds.Contains(user.DEPARTMENT_ID) && personIds.Contains((Guid)user.PERSON_ID)) + // { + // T_SK_RISK_IDENTIFY ide = new T_SK_RISK_IDENTIFY(); + // ide.ORG_ID = user.ORG_ID; + // ide.IDENTIFY_EVALUATION_PLAN_ID = plan.ID; + // ide.APPLY_DEPARTMENT_ID = item.DEPARTMENT_ID; + // ide.APPLY_USER_ID = user.ID; + // ide.YEAR = DateTime.Now.Year.ToString(); + // ide.ISAUTO = true; + // ide.CONTENTS = plan.CONTENTS; + // ide.START_DATE = plan.START_DATE; + // ide.END_DATE = plan.END_DATE; + // ide.REQUIRE_ID = requre?.ID; + // identitys.Add(ide); + // if (user.Nav_Person != null) + // { + // var postDetailIds = libraryPostDetails.Where(t => t.POST_ID == user.Nav_Person.POST_ID).Select(m => m.ENTERPRISE_LIBRARY_POST_ID).Distinct().ToList(); + // var posts = libraryPosts.Where(t => postDetailIds.Contains(t.ID) && t.DEPARTMENT_ID == user.DEPARTMENT_ID).ToList(); + // if (posts != null && posts.Any()) + // { + // var libraryIdss = posts.Select(t => t.ENTERPRISE_LIBRARY_ID).Distinct().ToList(); + // var libraryss = librarys.Where(t => libraryIdss.Contains(t.ID)).OrderBy(t => t.NUM).ToList(); + // if (libraryss.Any()) + // { + // foreach (var library in libraryss) + // { + // T_SK_RISK_IDENTIFY_DETAIL ideDetail = new T_SK_RISK_IDENTIFY_DETAIL(); + // ideDetail.ORG_ID = filter.OrgId; + // ideDetail.RISK_IDENTIFY_ID = ide.ID; + // ideDetail.MineType = library == null ? SKProductionUnit.Mine : library.MineType; + // ideDetail.AREA_ID = library?.AREA_ID; + // ideDetail.RISK_NAME = library?.RISK_NAME; + // ideDetail.RISK_NAME_ID = library?.RISK_NAME_ID; + // ideDetail.RISK_DESCRIPTION = library?.RISK_DESCRIPTION; + // ideDetail.TYPE_ID = library?.TYPE_ID; + // ideDetail.EMERGENCY = library?.EMERGENCY; + // var detailList = detailss.Where(t => t.ENTERPRISE_LIBRARY_ID == library.ID).OrderBy(t => t.NUM).ToList(); + // if (detailList.Any()) + // { + // var measuresTemp = detailList.Select(t => t.MEASURES_NAME).Distinct().ToList(); + // if (measuresTemp.Any()) + // { + // if (measuresTemp.Count == 1) + // { + // ideDetail.MEASURE = measuresTemp.FirstOrDefault(); + // } + // else + // { + // var i = 1; + // foreach (var ite in measuresTemp) + // { + // var temp2 = i + "、" + ite + ";"; + // ideDetail.MEASURE = ideDetail.MEASURE + Environment.NewLine + temp2; + // i++; + // } + // } + // } + // //var emergencysTemp = detailList.Select(t => t.EMERGENCY).Distinct().ToList(); + // //if (emergencysTemp.Any()) + // //{ + // // var i = 1; + // // foreach (var ite in emergencysTemp) + // // { + // // var temp2 = i == 1 ? i + "、" + ite + ";" : i + "、" + ite + ";"; + // // ideDetail.EMERGENCY = ideDetail.EMERGENCY + temp2; + // // i++; + // // } + // //} + // } + // details.Add(ideDetail); + // } + // } + // } + // } + // var endtime = plan.END_DATE != null ? (DateTime)plan.END_DATE : DateTime.Now.AddDays(1); + // var noticeTask = NotificationTaskService.InsertUserNoticeTaskModel("安全风险辨识表(" + DateTime.Now.ToShortDateString().Replace("/", "") + ")", ide.ID, filter.OrgId, user.ID, user.NAME, DateTime.Now, endtime, (int)FMNoticeTypeEnum.消息, "SK033"); + // notices.Add(noticeTask); + // } + //} + //else + //{ + T_SK_RISK_IDENTIFY ide = new T_SK_RISK_IDENTIFY(); + ide.ORG_ID = user.ORG_ID; + ide.IDENTIFY_EVALUATION_PLAN_ID = plan.ID; + ide.APPLY_DEPARTMENT_ID = item.DEPARTMENT_ID; + ide.APPLY_USER_ID = user.ID; + ide.YEAR = DateTime.Now.Year.ToString(); + ide.ISAUTO = true; + ide.CONTENTS = plan.CONTENTS; + ide.START_DATE = plan.START_DATE; + ide.END_DATE = plan.END_DATE; + ide.REQUIRE_ID = requre?.ID; + identitys.Add(ide); + if (user.Nav_Person != null) + { + var postDetailIds = libraryPostDetails.Where(t => t.POST_ID == user.Nav_Person.POST_ID).Select(m => m.ENTERPRISE_LIBRARY_POST_ID).Distinct().ToList(); + var posts = libraryPosts.Where(t => postDetailIds.Contains(t.ID) && t.DEPARTMENT_ID == user.DEPARTMENT_ID).ToList(); + if (posts != null && posts.Any()) + { + var libraryIdss = posts.Select(t => t.ENTERPRISE_LIBRARY_ID).Distinct().ToList(); + var libraryss = librarys.Where(t => libraryIdss.Contains(t.ID)).OrderBy(t => t.NUM).ToList(); + if (libraryss.Any()) + { + foreach (var library in libraryss) + { + T_SK_RISK_IDENTIFY_DETAIL ideDetail = new T_SK_RISK_IDENTIFY_DETAIL(); + ideDetail.ORG_ID = filter.OrgId; + ideDetail.RISK_IDENTIFY_ID = ide.ID; + ideDetail.PRODUCTION_UNIT_ID = library?.PRODUCTION_UNIT_ID; + ideDetail.MineType = library == null ? SKProductionUnit.Mine : library.MineType; + ideDetail.AREA_ID = library?.AREA_ID; + ideDetail.RISK_DESCRIPTION = library?.RISK_DESCRIPTION; + ideDetail.TYPE_ID = library?.TYPE_ID; + ideDetail.RISK_NAME = library?.RISK_NAME; + ideDetail.RISK_NAME_ID = library?.RISK_NAME_ID; + ideDetail.EMERGENCY = library?.EMERGENCY; + var detailList = detailss.Where(t => t.ENTERPRISE_LIBRARY_ID == library.ID).OrderBy(t => t.NUM).ToList(); + if (detailList.Any()) + { + var measuresTemp = detailList.Select(t => t.MEASURES_NAME).Distinct().ToList(); + if (measuresTemp.Any()) + { + if (measuresTemp.Count == 1) + { + ideDetail.MEASURE = measuresTemp.FirstOrDefault(); + } + else + { + var i = 1; + foreach (var ite in measuresTemp) + { + var temp2 = i + "、" + ite + ";"; + ideDetail.MEASURE = ideDetail.MEASURE + Environment.NewLine + temp2; + i++; + } + } + } + //var emergencysTemp = detailList.Select(t => t.EMERGENCY).Distinct().ToList(); + //if (emergencysTemp.Any()) + //{ + // var i = 1; + // foreach (var ite in emergencysTemp) + // { + // var temp2 = i == 1 ? i + "、" + ite + ";" : i + "、" + ite + ";"; + // ideDetail.EMERGENCY = ideDetail.EMERGENCY + temp2; + // i++; + // } + //} + } + details.Add(ideDetail); + } + } + } + } + var endtime = plan.END_DATE != null ? (DateTime)plan.END_DATE : DateTime.Now.AddDays(1); + var noticeTask = NotificationTaskService.InsertUserNoticeTaskModel("安全风险辨识表(" + DateTime.Now.ToShortDateString().Replace("/", "") + ")", ide.ID, filter.OrgId, user.ID, user.NAME, DateTime.Now, endtime, (int)FMNoticeTypeEnum.消息, "SK033"); + notices.Add(noticeTask); //} } } @@ -1441,7 +1479,7 @@ namespace APT.PP.WebApi.Controllers.Api tasks.ForEach(t => t.SOURCE_FORMCODE = "SK033_SHOWPRINT"); foreach (var plan in planIds) { - var ides = identityTemps.Where(t=>t.IDENTIFY_EVALUATION_PLAN_ID == plan).ToList(); + var ides = identityTemps.Where(t => t.IDENTIFY_EVALUATION_PLAN_ID == plan).ToList(); if (ides.Any()) { //找出所有职能部门 @@ -1483,14 +1521,14 @@ namespace APT.PP.WebApi.Controllers.Api results.Add(result); var list = details.Where(t => ideIds.Contains(t.RISK_IDENTIFY_ID)).ToList(); //汇总去重 - var detailListYes = list.Where(m => m.ENABLE_STATUS == SKEnableStatusEnum.Yes).GroupBy(m => new { m.AREA_ID, m.MineType, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID }).ToList(); - var detailListNo = list.Where(m => m.ENABLE_STATUS == SKEnableStatusEnum.No).GroupBy(m => new { m.AREA_ID, m.MineType, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID }).ToList(); + var detailListYes = list.Where(m => m.ENABLE_STATUS == SKEnableStatusEnum.Yes).GroupBy(m => new { m.AREA_ID, m.MineType,m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID }).ToList(); + var detailListNo = list.Where(m => m.ENABLE_STATUS == SKEnableStatusEnum.No).GroupBy(m => new { m.AREA_ID, m.MineType, m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID }).ToList(); detailListYes.AddRange(detailListNo); if (detailListYes.Any()) { foreach (var item in detailListYes) { - var temp = list.Where(m => m.AREA_ID == item.Key.AREA_ID && m.MineType == item.Key.MineType && m.RISK_NAME == item.Key.RISK_NAME && m.RISK_NAME_ID == item.Key.RISK_NAME_ID && m.RISK_DESCRIPTION == item.Key.RISK_DESCRIPTION && m.TYPE_ID == item.Key.TYPE_ID).ToList(); + var temp = list.Where(m =>m.PRODUCTION_UNIT_ID == item.Key.PRODUCTION_UNIT_ID && m.AREA_ID == item.Key.AREA_ID && m.MineType == item.Key.MineType && m.RISK_NAME == item.Key.RISK_NAME && m.RISK_NAME_ID == item.Key.RISK_NAME_ID && m.RISK_DESCRIPTION == item.Key.RISK_DESCRIPTION && m.TYPE_ID == item.Key.TYPE_ID).ToList(); //只取有效的部门岗位 var tempYes = temp.FirstOrDefault(t => t.ENABLE_STATUS == SKEnableStatusEnum.Yes); var identifyIds = temp.Where(m => m.ENABLE_STATUS == 0).Select(t => t.RISK_IDENTIFY_ID).ToList(); @@ -1499,6 +1537,7 @@ namespace APT.PP.WebApi.Controllers.Api T_SK_RISK_IDENTIFY_RESULT_DETAIL ideDetail = new T_SK_RISK_IDENTIFY_RESULT_DETAIL(); ideDetail.ORG_ID = filter.OrgId; ideDetail.RISK_IDENTIFY_RESULT_ID = result.ID; + ideDetail.PRODUCTION_UNIT_ID = item.Key.PRODUCTION_UNIT_ID; ideDetail.MineType = item.Key.MineType; ideDetail.AREA_ID = item.Key.AREA_ID; ideDetail.RISK_NAME = item.Key.RISK_NAME; @@ -1535,7 +1574,7 @@ namespace APT.PP.WebApi.Controllers.Api var deTempIds = departs.Where(t => departIdss.Contains(t.ID) && t.DEPARTMENT_TYPE == ite).Select(m => m.ID).ToList(); var temp3 = i == 1 ? i + "、" + string.Join(",", deTemps) + ";" : i + "、" + string.Join(",", deTemps) + ";"; ideDetail.IDENTIFY_DEPARTMENT = ideDetail.IDENTIFY_DEPARTMENT + temp3; - var postIdss = users.Where(t => t.DEPARTMENT_ID!=null &&deTempIds.Contains((Guid)t.DEPARTMENT_ID) && userIdss.Contains(t.ID) && t.Nav_Person != null).ToList(); + var postIdss = users.Where(t => t.DEPARTMENT_ID != null && deTempIds.Contains((Guid)t.DEPARTMENT_ID) && userIdss.Contains(t.ID) && t.Nav_Person != null).ToList(); var postIds = postIdss.Where(t => t.Nav_Person != null && t.Nav_Person.POST_ID != null).Select(m => m.Nav_Person.POST_ID).ToList(); var postTemps = userPosts.Where(t => postIds.Contains(t.ID)).Select(m => m.NAME).ToList(); if (postTemps.Any()) @@ -1570,11 +1609,11 @@ namespace APT.PP.WebApi.Controllers.Api } } //非职能口 - var departIds= ides.Where(m=> !departListIds.Contains((Guid)m.APPLY_DEPARTMENT_ID)).Select(t=>t.APPLY_DEPARTMENT_ID).Distinct().ToList(); + var departIds = ides.Where(m => !departListIds.Contains((Guid)m.APPLY_DEPARTMENT_ID)).Select(t => t.APPLY_DEPARTMENT_ID).Distinct().ToList(); if (departIds.Any()) { //部门级给部门安全员 - var departClass = departs.Where(t => departIds.Contains(t.ID) && (t.DEPARTMENT_TYPE == 0 || t.DEPARTMENT_TYPE == 3)).ToList(); + var departClass = departs.Where(t => departIds.Contains(t.ID) && (t.DEPARTMENT_TYPE == 10 || t.DEPARTMENT_TYPE == 5)).ToList(); if (departClass.Any()) { var tempIds = departClass.Select(t => t.ID).ToList(); @@ -1613,14 +1652,14 @@ namespace APT.PP.WebApi.Controllers.Api var ideIds = ides.Where(m => m.APPLY_DEPARTMENT_ID == de).Select(t => t.ID).ToList(); var list = details.Where(t => ideIds.Contains(t.RISK_IDENTIFY_ID)).ToList(); //汇总去重 - var detailListYes = list.Where(m => m.ENABLE_STATUS == SKEnableStatusEnum.Yes).GroupBy(m => new { m.AREA_ID, m.MineType, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID }).ToList(); - var detailListNo = list.Where(m => m.ENABLE_STATUS == SKEnableStatusEnum.No).GroupBy(m => new { m.AREA_ID, m.MineType, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID }).ToList(); + var detailListYes = list.Where(m => m.ENABLE_STATUS == SKEnableStatusEnum.Yes).GroupBy(m => new { m.AREA_ID, m.MineType,m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID }).ToList(); + var detailListNo = list.Where(m => m.ENABLE_STATUS == SKEnableStatusEnum.No).GroupBy(m => new { m.AREA_ID, m.MineType, m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID }).ToList(); detailListYes.AddRange(detailListNo); if (detailListYes.Any()) { foreach (var item in detailListYes) { - var temp = list.Where(m => m.AREA_ID == item.Key.AREA_ID && m.MineType == item.Key.MineType && m.RISK_NAME == item.Key.RISK_NAME && m.RISK_NAME_ID == item.Key.RISK_NAME_ID && m.RISK_DESCRIPTION == item.Key.RISK_DESCRIPTION && m.TYPE_ID == item.Key.TYPE_ID).ToList(); + var temp = list.Where(m => m.PRODUCTION_UNIT_ID == item.Key.PRODUCTION_UNIT_ID && m.AREA_ID == item.Key.AREA_ID && m.MineType == item.Key.MineType && m.RISK_NAME == item.Key.RISK_NAME && m.RISK_NAME_ID == item.Key.RISK_NAME_ID && m.RISK_DESCRIPTION == item.Key.RISK_DESCRIPTION && m.TYPE_ID == item.Key.TYPE_ID).ToList(); //只取有效的部门岗位 var tempYes = temp.FirstOrDefault(t => t.ENABLE_STATUS == SKEnableStatusEnum.Yes); var identifyIds = temp.Where(m => m.ENABLE_STATUS == 0).Select(t => t.RISK_IDENTIFY_ID).ToList(); @@ -1629,7 +1668,8 @@ namespace APT.PP.WebApi.Controllers.Api T_SK_RISK_IDENTIFY_RESULT_DETAIL ideDetail = new T_SK_RISK_IDENTIFY_RESULT_DETAIL(); ideDetail.ORG_ID = filter.OrgId; ideDetail.RISK_IDENTIFY_RESULT_ID = result.ID; - ideDetail.MineType = item.Key.MineType; + ideDetail.MineType = item.Key.MineType; + ideDetail.PRODUCTION_UNIT_ID = item.Key.PRODUCTION_UNIT_ID; ideDetail.AREA_ID = item.Key.AREA_ID; ideDetail.RISK_NAME = item.Key.RISK_NAME; ideDetail.RISK_NAME_ID = item.Key.RISK_NAME_ID; @@ -1708,11 +1748,11 @@ namespace APT.PP.WebApi.Controllers.Api } } //车间级和班组级汇总给车间安全员 - var shopClass = departs.Where(t => departIds.Contains(t.ID) && t.DEPARTMENT_TYPE == 1).ToList(); + var shopClass = departs.Where(t => departIds.Contains(t.ID) && t.DEPARTMENT_TYPE == 15).ToList(); if (shopClass.Any()) { var tempIds = shopClass.Select(t => t.ID).ToList(); - var classTempInfos = departs.Where(t => t.PARENT_ID != null && tempIds.Contains((Guid)t.PARENT_ID) && t.DEPARTMENT_TYPE == 2).ToList(); + var classTempInfos = departs.Where(t => t.PARENT_ID != null && tempIds.Contains((Guid)t.PARENT_ID) && t.DEPARTMENT_TYPE == 20).ToList(); if (tempIds.Any()) { //每个车间汇总班组和车间 @@ -1749,14 +1789,14 @@ namespace APT.PP.WebApi.Controllers.Api var ideIds = ides.Where(m => m.APPLY_DEPARTMENT_ID == de || classIds.Contains((Guid)m.APPLY_DEPARTMENT_ID)).Select(t => t.ID).ToList(); var list = details.Where(t => ideIds.Contains(t.RISK_IDENTIFY_ID)).ToList(); //汇总去重 - var detailListYes = list.Where(m => m.ENABLE_STATUS == SKEnableStatusEnum.Yes).GroupBy(m => new { m.AREA_ID, m.MineType, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID }).ToList(); - var detailListNo = list.Where(m => m.ENABLE_STATUS == SKEnableStatusEnum.No).GroupBy(m => new { m.AREA_ID, m.MineType, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID }).ToList(); + var detailListYes = list.Where(m => m.ENABLE_STATUS == SKEnableStatusEnum.Yes).GroupBy(m => new { m.AREA_ID, m.MineType,m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID }).ToList(); + var detailListNo = list.Where(m => m.ENABLE_STATUS == SKEnableStatusEnum.No).GroupBy(m => new { m.AREA_ID, m.MineType,m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_NAME_ID, m.RISK_DESCRIPTION, m.TYPE_ID }).ToList(); detailListYes.AddRange(detailListNo); if (detailListYes.Any()) { foreach (var item in detailListYes) { - var temp = list.Where(m => m.AREA_ID == item.Key.AREA_ID && m.MineType == item.Key.MineType && m.RISK_NAME == item.Key.RISK_NAME && m.RISK_NAME_ID == item.Key.RISK_NAME_ID && m.RISK_DESCRIPTION == item.Key.RISK_DESCRIPTION && m.TYPE_ID == item.Key.TYPE_ID).ToList(); + var temp = list.Where(m => m.PRODUCTION_UNIT_ID == item.Key.PRODUCTION_UNIT_ID && m.AREA_ID == item.Key.AREA_ID && m.MineType == item.Key.MineType && m.RISK_NAME == item.Key.RISK_NAME && m.RISK_NAME_ID == item.Key.RISK_NAME_ID && m.RISK_DESCRIPTION == item.Key.RISK_DESCRIPTION && m.TYPE_ID == item.Key.TYPE_ID).ToList(); //只取有效的部门岗位 var tempYes = temp.FirstOrDefault(t => t.ENABLE_STATUS == SKEnableStatusEnum.Yes); var identifyIds = temp.Where(m => m.ENABLE_STATUS == 0).Select(t => t.RISK_IDENTIFY_ID).ToList(); @@ -1765,6 +1805,7 @@ namespace APT.PP.WebApi.Controllers.Api T_SK_RISK_IDENTIFY_RESULT_DETAIL ideDetail = new T_SK_RISK_IDENTIFY_RESULT_DETAIL(); ideDetail.ORG_ID = filter.OrgId; ideDetail.RISK_IDENTIFY_RESULT_ID = result.ID; + ideDetail.PRODUCTION_UNIT_ID = item.Key.PRODUCTION_UNIT_ID; ideDetail.MineType = item.Key.MineType; ideDetail.AREA_ID = item.Key.AREA_ID; ideDetail.RISK_NAME = item.Key.RISK_NAME; @@ -1836,8 +1877,8 @@ namespace APT.PP.WebApi.Controllers.Api } var notice = NotificationTaskService.InsertUserNoticeTaskModel("安全风险辨识结果表(" + param + ")", result.ID, filter.OrgId, user.ID, user.NAME, DateTime.Now, DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "SK035"); notices.Add(notice); - } - + } + } } } @@ -1901,7 +1942,7 @@ namespace APT.PP.WebApi.Controllers.Api var libraryContents = GetEntities(i => i.IS_DELETED == false && detailIds.Contains(i.ENTERPRISE_LIBRARY_DETAIL_ID), new BaseFilter(filter.OrgId)).ToList(); if (librarys != null && librarys.Any()) { - foreach (var library in librarys) + foreach (var library in librarys) { if (library.EVALUATE_LEVEL == SKEvaluateLevelEnum.重大风险) { @@ -1995,7 +2036,7 @@ namespace APT.PP.WebApi.Controllers.Api case "每季度": checkCycle = SKPLANCHECKFREQUENCYEnum.Quarter; break; case "每班": - checkCycle = SKPLANCHECKFREQUENCYEnum.Class; break; + checkCycle = SKPLANCHECKFREQUENCYEnum.Date; break; default: checkCycle = SKPLANCHECKFREQUENCYEnum.Date; break; break; @@ -2016,7 +2057,7 @@ namespace APT.PP.WebApi.Controllers.Api dep.ORG_ID = filter.OrgId; dep.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = ctemp.ID; dep.DEPARTMENT_ID = deTemp.ID; - dep.CHECK_TYPE = de.CHECK_LEVEL == "岗位级" ? SKDepartmentTypeEnum.岗位级 : (SKDepartmentTypeEnum)deTemp.DEPARTMENT_TYPE; + dep.CHECK_TYPE = de.CHECK_LEVEL == "岗位级" ? SKDepartmentTypeEnum.班组级 : (SKDepartmentTypeEnum)deTemp.DEPARTMENT_TYPE; dep.CHECK_CYCLE = checkCycle; dep.CHECK_TYPE_ID = checkTypes.FirstOrDefault(t => t.NAME == de.CHECK_TYPE)?.ID; dep.NUM = j; @@ -2048,7 +2089,7 @@ namespace APT.PP.WebApi.Controllers.Api contentPosts.Add(post); } } - if (dep.CHECK_TYPE == SKDepartmentTypeEnum.岗位级 && !string.IsNullOrEmpty(de.CHECK_POST)) + if (dep.CHECK_TYPE == SKDepartmentTypeEnum.班组级 && !string.IsNullOrEmpty(de.CHECK_POST)) { var postLists = de.CHECK_POST.Split(';').ToList(); var postIds = posts.Where(t => postLists.Contains(t.NAME)).Select(t => t.ID).ToList(); @@ -2160,7 +2201,7 @@ namespace APT.PP.WebApi.Controllers.Api measure.MEASURES_NAME = temp; measure.NUM = i; measures.Add(measure); - var contentTemps = tempPosts.Where(t => t.MEASURES_NAME == temp).Select(m=>m.CHECK_CONTENT).Distinct().ToList(); + var contentTemps = tempPosts.Where(t => t.MEASURES_NAME == temp).Select(m => m.CHECK_CONTENT).Distinct().ToList(); if (contentTemps.Any()) { foreach (var ctemp in contentTemps) @@ -2227,7 +2268,7 @@ namespace APT.PP.WebApi.Controllers.Api measure.NUM = content.NUM; if (content.CHECK_CONTENT.Contains("是否未")) { - measure.HIDDEN_DESCRIPTION = content.CHECK_CONTENT.Replace("是否","").Replace("?","。"); + measure.HIDDEN_DESCRIPTION = content.CHECK_CONTENT.Replace("是否", "").Replace("?", "。"); measure.RECTIFICATION_MEASURES = content.CHECK_CONTENT.Replace("是否未", "").Replace("?", "。"); } if (content.CHECK_CONTENT.Contains("是否不")) @@ -2277,12 +2318,12 @@ namespace APT.PP.WebApi.Controllers.Api var librarys = GetEntities(i => i.IS_DELETED == false, new BaseFilter(filter.OrgId)).ToList(); var libraryDetails = GetEntities(i => i.IS_DELETED == false, new BaseFilter(filter.OrgId)).ToList(); var libraryContents = GetEntities(i => i.IS_DELETED == false, new BaseFilter(filter.OrgId)).ToList(); - var departs = GetEntities(i => i.IS_DELETED == false && i.CHECK_TYPE == SKDepartmentTypeEnum.岗位级, new BaseFilter(filter.OrgId), "Nav_DetailPosts").ToList(); + var departs = GetEntities(i => i.IS_DELETED == false, new BaseFilter(filter.OrgId), "Nav_DetailPosts").ToList(); if (librarys != null && librarys.Any()) { foreach (var library in librarys) { - var detailIds = libraryDetails.Where(t => t.ENTERPRISE_LIBRARY_ID == library.ID).Select(t=>t.ID).ToList(); + var detailIds = libraryDetails.Where(t => t.ENTERPRISE_LIBRARY_ID == library.ID).Select(t => t.ID).ToList(); var contentId = libraryContents.FirstOrDefault(t => detailIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_ID))?.ID; var departList = departs.Where(t => t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID == contentId).ToList(); if (departList.Any()) @@ -2512,7 +2553,7 @@ namespace APT.PP.WebApi.Controllers.Api foreach (var name in nameList) { var libraryFirst = librarys.FirstOrDefault(t => t.MINE_NAME == library.MineType && t.AREA_NAME == library.AREA_NAME1 && t.RISK_NAME == name); - if (libraryFirst != null && depart!= null) + if (libraryFirst != null && depart != null) { T_SK_ENTERPRISE_LIBRARY_POST post = new T_SK_ENTERPRISE_LIBRARY_POST(); post.ORG_ID = filter.OrgId; @@ -2688,8 +2729,8 @@ namespace APT.PP.WebApi.Controllers.Api post.ENTERPRISE_LIBRARY_ID = item.ENTERPRISE_LIBRARY_ID; post.DEPARTMENT_ID = item.DEPARTMENT_ID; postLists.Add(post); - var details = postDetails.Where(t => t.Nav_LibraryPost!=null && t.Nav_LibraryPost.DEPARTMENT_ID == item.DEPARTMENT_ID && t.Nav_LibraryPost.ENTERPRISE_LIBRARY_ID == item.ENTERPRISE_LIBRARY_ID).Select(m => m.POST_ID).Distinct().ToList(); - if (details!= null && details.Any()) + var details = postDetails.Where(t => t.Nav_LibraryPost != null && t.Nav_LibraryPost.DEPARTMENT_ID == item.DEPARTMENT_ID && t.Nav_LibraryPost.ENTERPRISE_LIBRARY_ID == item.ENTERPRISE_LIBRARY_ID).Select(m => m.POST_ID).Distinct().ToList(); + if (details != null && details.Any()) { foreach (var xx in details) { @@ -2845,7 +2886,7 @@ namespace APT.PP.WebApi.Controllers.Api var week = dtNow.DayOfWeek; List setList = new List(); //查配置表,有配才执行 - var timeSets = GetEntities(i => i.ENABLE_STATUS == 0 && i.CHECK_TYPE != SKDepartmentTypeEnum.岗位级, new BaseFilter(filter.OrgId), "Nav_ListSetDepObject", "Nav_ListDepOut", "Nav_ListArea", "Nav_CheckType").ToList(); + var timeSets = GetEntities(i => i.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId), "Nav_ListSetDepObject", "Nav_ListDepOut", "Nav_ListArea", "Nav_CheckType").ToList(); if (timeSets != null && timeSets.Any()) { foreach (var set in timeSets) @@ -2866,9 +2907,9 @@ namespace APT.PP.WebApi.Controllers.Api break; case SKPLANCHECKFREQUENCYEnum.Date: setList.Add(set); - break; - case SKPLANCHECKFREQUENCYEnum.Class: - setList.Add(set); + break; + //case SKPLANCHECKFREQUENCYEnum.Class: + // setList.Add(set); break; case SKPLANCHECKFREQUENCYEnum.Week: if (set.WEEKDATA != null && (int)set.WEEKDATA.Value == (int)week && set.CHECKTIME.Value.Hour == dtNow.Hour) @@ -2921,12 +2962,12 @@ namespace APT.PP.WebApi.Controllers.Api var checkTypes = this.GetEntities(t => t.IS_DELETED == false, new BaseFilter(filter.OrgId)); var departs = this.GetEntities(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId)); var users = this.GetEntities(t => t.ENABLE_STATUS == 0 && !t.CODE.Contains("admin") && t.Nav_Person != null, new BaseFilter(filter.OrgId), "Nav_Person", "Nav_ApproveRole"); - var checkCycles = setList.Select(t=>t.CHECK_CYCLE).Distinct().ToList(); + var checkCycles = setList.Select(t => t.CHECK_CYCLE).Distinct().ToList(); var checkTypeIds = setList.Select(t => t.CHECK_TYPE_ID).Distinct().ToList(); var checkTypeEnums = setList.Select(t => t.CHECK_TYPE).Distinct().ToList(); var libraryDeparts = this.GetEntities(t => checkCycles.Contains(t.CHECK_CYCLE) && checkTypeIds.Contains(t.CHECK_TYPE_ID) && checkTypeEnums.Contains(t.CHECK_TYPE), new BaseFilter(filter.OrgId)); var ldepartIds = libraryDeparts.Select(t => t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID).Distinct().ToList(); - var libraryContents = this.GetEntities(t => ldepartIds.Contains(t.ID), new BaseFilter(filter.OrgId), "Nav_LibraryDetail").OrderBy(t=>t.Nav_LibraryDetail?.NUM).ThenBy(m=>m.NUM); + var libraryContents = this.GetEntities(t => ldepartIds.Contains(t.ID), new BaseFilter(filter.OrgId), "Nav_LibraryDetail").OrderBy(t => t.Nav_LibraryDetail?.NUM).ThenBy(m => m.NUM); var detailsIds = libraryContents.Select(t => t.ENTERPRISE_LIBRARY_DETAIL_ID).Distinct().ToList(); var libraryDetails = this.GetEntities(t => detailsIds.Contains(t.ID), new BaseFilter(filter.OrgId)); var libraryIds = libraryDetails.Select(t => t.ENTERPRISE_LIBRARY_ID).Distinct().ToList(); @@ -2963,7 +3004,7 @@ namespace APT.PP.WebApi.Controllers.Api var teamInfos = this.GetEntities(t => teamIds.Contains(t.ID), new BaseFilter(filter.OrgId)); var teamDepartIds = teamInfos.Select(m => m.DEPARTMENT_ID).Distinct().ToList(); var personIds = new List(); - if (shiftClassList!=null && shiftClassList.Any()) + if (shiftClassList != null && shiftClassList.Any()) { foreach (var item in shiftClassList) { @@ -2976,7 +3017,7 @@ namespace APT.PP.WebApi.Controllers.Api } var baseFilter = new BaseFilter(filter.GetOrgId()); baseFilter.IgnoreDataRule = true; - baseFilter.SelectField = new string[] {"MineType", "CHECK_TYPE_ID","APPLY_DEPARTMENT_ID","APPLY_USER_ID","PLANCHECKFREQUENCY", "DEPARTMENT_TYPE" }; //指定字段,包括导航属性 + baseFilter.SelectField = new string[] { "MineType", "CHECK_TYPE_ID", "APPLY_DEPARTMENT_ID", "APPLY_USER_ID", "PLANCHECKFREQUENCY", "DEPARTMENT_TYPE" }; //指定字段,包括导航属性 //Expression> expression = i => i.IS_DELETED == false && i.CREATE_TIME.Value.Date == dt.Date; //List noticeExsiss = this.GetOrderEntities(expression, baseFilter).ToList(); foreach (var item in setList) @@ -2990,14 +3031,14 @@ namespace APT.PP.WebApi.Controllers.Api //特别指定的人 userIds.Add((Guid)item.USER_ID_SEND); } - else + else { if (item.MineType != SKProductionUnit.All) { //非全公司,过滤生产单元 departTemps = departTemps.Where(t => t.MineType == (int)item.MineType).ToList(); } - if (item.CHECK_TYPE != SKDepartmentTypeEnum.岗位级) + //if (item.CHECK_TYPE != SKDepartmentTypeEnum.岗位级) { //非岗位级,过滤部门层级 departTemps = departTemps.Where(t => t.DEPARTMENT_TYPE == (int)item.CHECK_TYPE).ToList(); @@ -3022,13 +3063,13 @@ namespace APT.PP.WebApi.Controllers.Api if (item.PLANCHECKOBJECT == SKPLANCHECKOBJECTEnum.Head) { //发给负责人 - var userTempIds = departTemps.Where(m=>m.USER_ID!=null).Select(t=>(Guid)t.USER_ID).Distinct().ToList(); + var userTempIds = departTemps.Where(m => m.USER_ID != null).Select(t => (Guid)t.USER_ID).Distinct().ToList(); userIds.AddRange(userTempIds); } if (item.PLANCHECKOBJECT == SKPLANCHECKOBJECTEnum.Hon) { //发给安全员 - var departIds = departTemps.Select(t=>t.ID).ToList(); + var departIds = departTemps.Select(t => t.ID).ToList(); var userTempIds = users.Where(t => t.DEPARTMENT_ID != null && departIds.Contains((Guid)t.DEPARTMENT_ID) && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员")).Select(m => m.ID).ToList(); userIds.AddRange(userTempIds); } @@ -3042,7 +3083,7 @@ namespace APT.PP.WebApi.Controllers.Api if (item.PLANCHECKOBJECT == SKPLANCHECKOBJECTEnum.ClassMonitor) { //发给班长 - var userTempIds = departTemps.Where(m=> teamDepartIds.Contains(m.ID) && m.DEPARTMENT_TYPE == 2 && m.USER_ID != null).Select(t => (Guid)t.USER_ID).ToList(); + var userTempIds = departTemps.Where(m => teamDepartIds.Contains(m.ID) && m.DEPARTMENT_TYPE == 20 && m.USER_ID != null).Select(t => (Guid)t.USER_ID).ToList(); userIds.AddRange(userTempIds); } //if (item.PLANCHECKOBJECT == SKPLANCHECKOBJECTEnum.Post) @@ -3261,9 +3302,9 @@ namespace APT.PP.WebApi.Controllers.Api { List contentPostIds = new List(); List notices = new List(); - var users = GetEntities(i => i.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId),"Nav_Person", "Nav_ApproveRole").ToList(); + var users = GetEntities(i => i.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId), "Nav_Person", "Nav_ApproveRole").ToList(); var userPosts = GetEntities(i => i.IS_DELETED == false, new BaseFilter(filter.OrgId)).ToList(); - var postIds = users.Where(t => t.Nav_Person != null && t.Nav_Person.POST_ID!=null).Select(t => t.Nav_Person.POST_ID).Distinct().ToList(); + var postIds = users.Where(t => t.Nav_Person != null && t.Nav_Person.POST_ID != null).Select(t => t.Nav_Person.POST_ID).Distinct().ToList(); var contents = GetEntities(i => i.IS_DELETED == false, new BaseFilter(filter.OrgId), "Nav_PostDetails").ToList(); if (contents != null && contents.Any()) { @@ -3271,13 +3312,13 @@ namespace APT.PP.WebApi.Controllers.Api { if (content.Nav_PostDetails != null && content.Nav_PostDetails.Any()) { - var postTempIds = content.Nav_PostDetails.Where(m=>m.POST_ID != null).Select(t => (Guid)t.POST_ID).Distinct().ToList(); + var postTempIds = content.Nav_PostDetails.Where(m => m.POST_ID != null).Select(t => (Guid)t.POST_ID).Distinct().ToList(); contentPostIds.AddRange(postTempIds); } } } - contentPostIds = contentPostIds.Where(t=>t!=null).Distinct().ToList(); - var tempIds = postIds.Where(t =>t.Value!=null && !contentPostIds.Contains(t.Value)).Distinct().ToList(); + contentPostIds = contentPostIds.Where(t => t != null).Distinct().ToList(); + var tempIds = postIds.Where(t => t.Value != null && !contentPostIds.Contains(t.Value)).Distinct().ToList(); var userTemps = users.Where(t => t.Nav_Person != null && tempIds.Contains(t.Nav_Person.POST_ID)).ToList(); var departIds = userTemps.Select(t => t.DEPARTMENT_ID).Distinct().ToList(); if (departIds.Any() && DateTime.Now.Day == 1) @@ -3294,7 +3335,7 @@ namespace APT.PP.WebApi.Controllers.Api var userPostTempIds = userTemps.Where(t => t.DEPARTMENT_ID == depart).Select(m => m.Nav_Person.POST_ID).Distinct().ToList(); var userPostNames = userPosts.Where(t => userPostTempIds.Contains(t.ID)).Select(m => m.NAME).Distinct().ToList(); var postNames = string.Join("。", userPostNames); - var sendNotice = NotificationTaskService.InsertUserNoticeTaskModel("请到知识库-双重预防机制库-企业库,维护岗位("+ postNames + ")的风险信息!", user.ID, user.ORG_ID, user.ID, user.NAME, DateTime.Now, DateTime.Now.AddDays(10), (int)FMNoticeTypeEnum.今日提醒, "PF135"); + var sendNotice = NotificationTaskService.InsertUserNoticeTaskModel("请到知识库-双重预防机制库-企业库,维护岗位(" + postNames + ")的风险信息!", user.ID, user.ORG_ID, user.ID, user.NAME, DateTime.Now, DateTime.Now.AddDays(10), (int)FMNoticeTypeEnum.今日提醒, "PF135"); notices.Add(sendNotice); } } @@ -3389,7 +3430,7 @@ namespace APT.PP.WebApi.Controllers.Api } } lib.AREA_NAME = import.AREA_NAME; - lib.AREA_ID = areaList.FirstOrDefault(t=>t.NAME == import.AREA_NAME)?.ID; + lib.AREA_ID = areaList.FirstOrDefault(t => t.NAME == import.AREA_NAME)?.ID; lib.RISK_NAME = import.RISK_NAME; lib.RISK_DESCRIPTION = import.RISK_DESCRIPTION; lib.TYPE_NAME = import.TYPE_NAME; @@ -3410,7 +3451,7 @@ namespace APT.PP.WebApi.Controllers.Api { lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.一般风险; } - else + else { lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.低风险; } @@ -3453,7 +3494,7 @@ namespace APT.PP.WebApi.Controllers.Api } } } - var importPostTemps = importPosts.Where(t=> t.MineType == import.MineType && t.AREA_NAME == import.AREA_NAME && t.TYPE_NAME == import.TYPE_NAME && t.RISK_NAME == import.RISK_NAME && t.RISK_DESCRIPTION == import.RISK_DESCRIPTION).ToList(); + var importPostTemps = importPosts.Where(t => t.MineType == import.MineType && t.AREA_NAME == import.AREA_NAME && t.TYPE_NAME == import.TYPE_NAME && t.RISK_NAME == import.RISK_NAME && t.RISK_DESCRIPTION == import.RISK_DESCRIPTION).ToList(); if (importPostTemps.Any()) { foreach (var de in importPostTemps) @@ -3463,7 +3504,7 @@ namespace APT.PP.WebApi.Controllers.Api T_SK_ENTERPRISE_LIBRARY_POST dep = new T_SK_ENTERPRISE_LIBRARY_POST(); dep.ORG_ID = filter.OrgId; dep.ENTERPRISE_LIBRARY_ID = lib.ID; - dep.DEPARTMENT_ID = departs.FirstOrDefault(t=>t.NAME == de.DEPARTMENT_NAME)?.ID; + dep.DEPARTMENT_ID = departs.FirstOrDefault(t => t.NAME == de.DEPARTMENT_NAME)?.ID; lposts.Add(dep); if (!string.IsNullOrEmpty(de.POST_NAME)) { @@ -3487,10 +3528,10 @@ namespace APT.PP.WebApi.Controllers.Api } } } - var importMeasureTemps = importMeasures.Where(t=>t.MineType == import.MineType && t.AREA_NAME == import.AREA_NAME && t.TYPE_NAME == import.TYPE_NAME && t.RISK_NAME == import.RISK_NAME && t.RISK_DESCRIPTION == import.RISK_DESCRIPTION).ToList(); + var importMeasureTemps = importMeasures.Where(t => t.MineType == import.MineType && t.AREA_NAME == import.AREA_NAME && t.TYPE_NAME == import.TYPE_NAME && t.RISK_NAME == import.RISK_NAME && t.RISK_DESCRIPTION == import.RISK_DESCRIPTION).ToList(); if (importMeasureTemps.Any()) { - var temps = importMeasureTemps.GroupBy(t => new { t.MineType, t.AREA_NAME, t.TYPE_NAME,t.RISK_NAME,t.RISK_DESCRIPTION,t.MEASURES_NAME,t.EMERGENCY }).Select(m => m.FirstOrDefault()).ToList(); + var temps = importMeasureTemps.GroupBy(t => new { t.MineType, t.AREA_NAME, t.TYPE_NAME, t.RISK_NAME, t.RISK_DESCRIPTION, t.MEASURES_NAME, t.EMERGENCY }).Select(m => m.FirstOrDefault()).ToList(); if (temps.Any()) { var i = 1; @@ -3505,7 +3546,7 @@ namespace APT.PP.WebApi.Controllers.Api post.NUM = i; libraryDetails.Add(post); var detailTemps = importMeasureTemps.Where(t => t.MineType == import.MineType && t.AREA_NAME == import.AREA_NAME && t.TYPE_NAME == import.TYPE_NAME && t.RISK_NAME == import.RISK_NAME && t.RISK_DESCRIPTION == import.RISK_DESCRIPTION && t.MEASURES_NAME == item.MEASURES_NAME && t.EMERGENCY == item.EMERGENCY).ToList(); - var details = detailTemps.GroupBy(t => new { t.MineType, t.AREA_NAME, t.TYPE_NAME, t.RISK_NAME, t.RISK_DESCRIPTION, t.MEASURES_NAME, t.EMERGENCY,t.CHECK_CONTENT,t.CHECK_BASIC,t.CHECK_STANDARD }).Select(m => m.FirstOrDefault()).ToList(); + var details = detailTemps.GroupBy(t => new { t.MineType, t.AREA_NAME, t.TYPE_NAME, t.RISK_NAME, t.RISK_DESCRIPTION, t.MEASURES_NAME, t.EMERGENCY, t.CHECK_CONTENT, t.CHECK_BASIC, t.CHECK_STANDARD }).Select(m => m.FirstOrDefault()).ToList(); if (details != null && details.Any()) { var j = 1; @@ -3518,7 +3559,7 @@ namespace APT.PP.WebApi.Controllers.Api detail.CHECK_STANDARD = xx.CHECK_STANDARD; detail.CHECK_CONTENT = xx.CHECK_CONTENT; detail.NUM = j; - detail.CHECK_CONTENTS_ID = contentBS.FirstOrDefault(t=>t.CHECKCONTENT == xx.CHECK_CONTENT)?.ID; + detail.CHECK_CONTENTS_ID = contentBS.FirstOrDefault(t => t.CHECKCONTENT == xx.CHECK_CONTENT)?.ID; contents.Add(detail); j++; if (!string.IsNullOrEmpty(xx.CHECK_BASIC)) @@ -3541,7 +3582,7 @@ namespace APT.PP.WebApi.Controllers.Api } } var hiddenTemps = importHiddens.Where(t => t.MineType == import.MineType && t.AREA_NAME == import.AREA_NAME && t.TYPE_NAME == import.TYPE_NAME && t.RISK_NAME == import.RISK_NAME && t.RISK_DESCRIPTION == import.RISK_DESCRIPTION && t.MEASURES_NAME == item.MEASURES_NAME && t.CHECK_CONTENT == item.CHECK_CONTENT).ToList(); - var hiddens = hiddenTemps.GroupBy(t => new { t.MineType, t.AREA_NAME, t.TYPE_NAME, t.RISK_NAME, t.RISK_DESCRIPTION, t.MEASURES_NAME, t.CHECK_CONTENT, t.HIDDEN_DESCRIPTION, t.HIDDEN_LEVEL, t.HIDDEN_RECITIFY }).Select(m => m.FirstOrDefault()).ToList(); + var hiddens = hiddenTemps.GroupBy(t => new { t.MineType, t.AREA_NAME, t.TYPE_NAME, t.RISK_NAME, t.RISK_DESCRIPTION, t.MEASURES_NAME, t.CHECK_CONTENT, t.HIDDEN_DESCRIPTION, t.HIDDEN_LEVEL, t.HIDDEN_RECITIFY }).Select(m => m.FirstOrDefault()).ToList(); if (hiddens != null && hiddens.Any()) { var d = 1; @@ -3559,7 +3600,7 @@ namespace APT.PP.WebApi.Controllers.Api } } var levelTemps = detailTemps.Where(t => t.MineType == import.MineType && t.AREA_NAME == import.AREA_NAME && t.TYPE_NAME == import.TYPE_NAME && t.RISK_NAME == import.RISK_NAME && t.RISK_DESCRIPTION == import.RISK_DESCRIPTION && t.MEASURES_NAME == item.MEASURES_NAME && t.EMERGENCY == item.EMERGENCY && t.CHECK_CONTENT == item.CHECK_CONTENT && t.CHECK_BASIC == item.CHECK_BASIC && t.CHECK_STANDARD == item.CHECK_STANDARD).ToList(); - var levels = levelTemps.GroupBy(t => new { t.MineType, t.AREA_NAME, t.TYPE_NAME, t.RISK_NAME, t.RISK_DESCRIPTION, t.MEASURES_NAME, t.EMERGENCY, t.CHECK_CONTENT, t.CHECK_BASIC, t.CHECK_STANDARD,t.CHECK_DEPARTMENT,t.CHECK_LEVEL,t.CHECK_POST,t.CHECK_TYPE,t.CHECK_OBJECT,t.CHECK_CYCLE }).Select(m => m.FirstOrDefault()).ToList(); + var levels = levelTemps.GroupBy(t => new { t.MineType, t.AREA_NAME, t.TYPE_NAME, t.RISK_NAME, t.RISK_DESCRIPTION, t.MEASURES_NAME, t.EMERGENCY, t.CHECK_CONTENT, t.CHECK_BASIC, t.CHECK_STANDARD, t.CHECK_DEPARTMENT, t.CHECK_LEVEL, t.CHECK_POST, t.CHECK_TYPE, t.CHECK_OBJECT, t.CHECK_CYCLE }).Select(m => m.FirstOrDefault()).ToList(); if (levels != null && levels.Any()) { foreach (var de in levels) @@ -3578,7 +3619,7 @@ namespace APT.PP.WebApi.Controllers.Api case "每季度": checkCycle = SKPLANCHECKFREQUENCYEnum.Quarter; break; case "每班": - checkCycle = SKPLANCHECKFREQUENCYEnum.Class; break; + checkCycle = SKPLANCHECKFREQUENCYEnum.Date; break; default: checkCycle = SKPLANCHECKFREQUENCYEnum.Date; break; break; @@ -3599,7 +3640,7 @@ namespace APT.PP.WebApi.Controllers.Api dep.ORG_ID = filter.OrgId; dep.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = detail.ID; dep.DEPARTMENT_ID = deTemp.ID; - dep.CHECK_TYPE = de.CHECK_LEVEL == "岗位级" ? SKDepartmentTypeEnum.岗位级 : (SKDepartmentTypeEnum)deTemp.DEPARTMENT_TYPE; + dep.CHECK_TYPE = de.CHECK_LEVEL == "岗位级" ? SKDepartmentTypeEnum.班组级 : (SKDepartmentTypeEnum)deTemp.DEPARTMENT_TYPE; dep.CHECK_CYCLE = checkCycle; dep.CHECK_TYPE_ID = checkTypes.FirstOrDefault(t => t.NAME == de.CHECK_TYPE)?.ID; dep.NUM = c; @@ -3628,10 +3669,10 @@ namespace APT.PP.WebApi.Controllers.Api post2.ORG_ID = filter.OrgId; post2.ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART_ID = dep.ID; post2.POST_ID = userTemp.Nav_Person?.POST_ID; - contentPosts.Add(post2); + contentPosts.Add(post2); } } - if (dep.CHECK_TYPE == SKDepartmentTypeEnum.岗位级 && !string.IsNullOrEmpty(de.CHECK_POST)) + if (dep.CHECK_TYPE == SKDepartmentTypeEnum.班组级 && !string.IsNullOrEmpty(de.CHECK_POST)) { var postLists = de.CHECK_POST.Split(';').ToList(); var postIds = posts.Where(t => postLists.Contains(t.NAME)).Select(t => t.ID).ToList(); @@ -3827,7 +3868,7 @@ namespace APT.PP.WebApi.Controllers.Api List recordDetailUsers = new List(); List recordBasics = new List(); var checkType = this.GetEntity(t => t.NAME == "岗位排查"); - var timeSets = GetEntities(i => i.ENABLE_STATUS == 0 && i.CHECK_TYPE == SKDepartmentTypeEnum.岗位级 && i.CHECK_TYPE_ID == checkType.ID, new BaseFilter(filter.OrgId), "Nav_ListSetDepObject", "Nav_ListDepOut", "Nav_ListArea").ToList(); + var timeSets = GetEntities(i => i.ENABLE_STATUS == 0 && i.CHECK_TYPE_ID == checkType.ID, new BaseFilter(filter.OrgId), "Nav_ListSetDepObject", "Nav_ListDepOut", "Nav_ListArea").ToList(); List departIds = new List(); if (timeSets.Any()) { @@ -3843,25 +3884,25 @@ namespace APT.PP.WebApi.Controllers.Api DateTime minTime = dt.AddMinutes(0); DateTime maxTime = dt.AddMinutes(60); var teamInfos = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId)); - var teamIds = teamInfos.Where(t=>departIds.Contains((Guid)t.DEPARTMENT_ID)).Select(t => t.ID).Distinct().ToList(); + var teamIds = teamInfos.Where(t => departIds.Contains((Guid)t.DEPARTMENT_ID)).Select(t => t.ID).Distinct().ToList(); var classFilter = new BaseFilter(filter.GetOrgId()); classFilter.SelectField = new string[] { "TEAM_ID", "DEPARTMENT_ID", "Nav_DepartmentSchedulingDetail.Nav_Person.POST_ID", "Nav_DepartmentSchedulingDetail.Nav_Person.Nav_User.ID", "Nav_DepartmentSchedulingDetail.Nav_Person.Nav_User.NAME", "START_TIME", "END_TIME" }; var shiftClassList = this.GetEntities(s => s.START_TIME > minTime && s.START_TIME <= maxTime && s.START_TIME != s.END_TIME && s.Nav_Team.ENABLE_STATUS == 0 && s.TEAM_ID != null, classFilter).ToList(); //var shiftClassList = this.GetEntities(s => s.START_TIME > minTime && s.START_TIME <= maxTime && s.START_TIME != s.END_TIME && s.Nav_Team.ENABLE_STATUS == 0 && s.TEAM_ID != null && !teamIds.Contains((Guid)s.TEAM_ID), classFilter).ToList(); - var teamIdTemps = shiftClassList.Where(s=> !teamIds.Contains((Guid)s.TEAM_ID)).Select(t => t.TEAM_ID).ToList(); - var teamDepartIds = teamInfos.Where(t=> teamIdTemps.Contains(t.ID)).Select(m => m.DEPARTMENT_ID).Distinct().ToList(); + var teamIdTemps = shiftClassList.Where(s => !teamIds.Contains((Guid)s.TEAM_ID)).Select(t => t.TEAM_ID).ToList(); + var teamDepartIds = teamInfos.Where(t => teamIdTemps.Contains(t.ID)).Select(m => m.DEPARTMENT_ID).Distinct().ToList(); var checkSets = GetEntities(i => teamDepartIds.Contains(i.DEPARTMENT_ID), new BaseFilter(filter.OrgId), "Nav_CheckSetContents.Nav_ContentsAreas", "Nav_CheckSetContents.Nav_ContentsHiddens", "Nav_CheckSetContents.Nav_ContentsBasics").ToList(); if (shiftClassList.Any()) { foreach (var item in shiftClassList) { var team = teamInfos.FirstOrDefault(t => t.ID == item.TEAM_ID); - if (team !=null && item.Nav_DepartmentSchedulingDetail != null && item.Nav_DepartmentSchedulingDetail.Any()) + if (team != null && item.Nav_DepartmentSchedulingDetail != null && item.Nav_DepartmentSchedulingDetail.Any()) { foreach (var item2 in item.Nav_DepartmentSchedulingDetail) { - var set = checkSets.FirstOrDefault(t=>t.DEPARTMENT_ID == team.DEPARTMENT_ID && t.POST_ID == item2.Nav_Person?.POST_ID); - if(set !=null && set.Nav_CheckSetContents!=null && set.Nav_CheckSetContents.Any()) + var set = checkSets.FirstOrDefault(t => t.DEPARTMENT_ID == team.DEPARTMENT_ID && t.POST_ID == item2.Nav_Person?.POST_ID); + if (set != null && set.Nav_CheckSetContents != null && set.Nav_CheckSetContents.Any()) { T_SK_SECURITY_INSPECTION_RECORD record = new T_SK_SECURITY_INSPECTION_RECORD(); record.ORG_ID = filter.OrgId; @@ -3869,14 +3910,14 @@ namespace APT.PP.WebApi.Controllers.Api record.MineType = set.MineType; record.APPLY_USER_ID = item2.Nav_Person.Nav_User.ID; record.APPLY_DEPARTMENT_ID = team.DEPARTMENT_ID; - record.PLANCHECKFREQUENCY = SKPLANCHECKFREQUENCYEnum.Class; - record.DEPARTMENT_TYPE = SKDepartmentTypeEnum.岗位级; + record.PLANCHECKFREQUENCY = SKPLANCHECKFREQUENCYEnum.Date; + record.DEPARTMENT_TYPE = SKDepartmentTypeEnum.班组级; record.CHECK_TYPE_ID = checkType?.ID; record.CHECK_TIME = item.START_TIME; record.RECORD_USER_ID = item2.Nav_Person.Nav_User.ID; record.CHECK_PERSON = item2.Nav_Person.Nav_User.NAME; records.Add(record); - var noticeTask = NotificationTaskService.InsertUserNoticeTaskModel(team.NAME+ item2.Nav_Person?.Nav_Post?.NAME + "岗位排查表", record.ID, filter.GetOrgId(), (Guid)record.APPLY_USER_ID, item2.Nav_Person.Nav_User.NAME, item.START_TIME, item.END_TIME, (int)FMNoticeTypeEnum.消息, "SK010"); + var noticeTask = NotificationTaskService.InsertUserNoticeTaskModel(team.NAME + item2.Nav_Person?.Nav_Post?.NAME + "岗位排查表", record.ID, filter.GetOrgId(), (Guid)record.APPLY_USER_ID, item2.Nav_Person.Nav_User.NAME, item.START_TIME, item.END_TIME, (int)FMNoticeTypeEnum.消息, "SK010"); notices.Add(noticeTask); var temps = new List(); if (set.Nav_CheckSetContents != null && set.Nav_CheckSetContents.Any()) @@ -4077,7 +4118,7 @@ namespace APT.PP.WebApi.Controllers.Api List postDetails = new List(); var departments = this.GetEntities(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId), "Nav_User").ToList(); var users = this.GetEntities(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId), "Nav_Person").ToList(); - List departName = new List {"矿山部","选矿部","非金属资源部","设备能源部" }; + List departName = new List { "矿山部", "选矿部", "非金属资源部", "设备能源部" }; var idList = new List(); var allIdList = new List(); var depaerts = departments.Where(t => departName.Contains(t.NAME)).ToList(); @@ -4117,14 +4158,14 @@ namespace APT.PP.WebApi.Controllers.Api baseFilter.IgnoreDataRule = true; baseFilter.SelectField = new string[] { "ID" }; //指定字段,包括导航属性 var identity = this.GetEntity(t => t.APPLY_USER_ID == wfm.ID); - var identityDetail = this.GetEntities(t => t.RISK_IDENTIFY_ID == identity.ID,new BaseFilter(identity.ORG_ID)); + var identityDetail = this.GetEntities(t => t.RISK_IDENTIFY_ID == identity.ID, new BaseFilter(identity.ORG_ID)); var minetype = identityDetail.Select(t => t.MineType).Distinct().ToList(); var areaId = identityDetail.Select(t => t.AREA_ID).Distinct().ToList(); var typeId = identityDetail.Select(t => t.TYPE_ID).Distinct().ToList(); var riskName = identityDetail.Select(t => t.RISK_NAME).Distinct().ToList(); var librarys = this.GetEntities(t => minetype.Contains(t.MineType) && areaId.Contains(t.AREA_ID) && typeId.Contains(t.TYPE_ID) && riskName.Contains(t.RISK_NAME), new BaseFilter(filter.OrgId)); var libraryIds = librarys.Select(t => t.ID).ToList(); - var libraryIdentity= this.GetEntities(t => libraryIds.Contains(t.ENTERPRISE_LIBRARY_ID), new BaseFilter(filter.OrgId), "Nav_PostDetails"); + var libraryIdentity = this.GetEntities(t => libraryIds.Contains(t.ENTERPRISE_LIBRARY_ID), new BaseFilter(filter.OrgId), "Nav_PostDetails"); if (libraryIds != null && libraryIds.Any()) { foreach (var iden in libraryIds) @@ -4156,7 +4197,7 @@ namespace APT.PP.WebApi.Controllers.Api { foreach (var po in postIds) { - var exsist = identityPost.Nav_PostDetails==null ? null: identityPost.Nav_PostDetails.FirstOrDefault(t => t.POST_ID == po && t.ENTERPRISE_LIBRARY_POST_ID == identityPost.ID); + var exsist = identityPost.Nav_PostDetails == null ? null : identityPost.Nav_PostDetails.FirstOrDefault(t => t.POST_ID == po && t.ENTERPRISE_LIBRARY_POST_ID == identityPost.ID); if (exsist != null) { T_SK_ENTERPRISE_LIBRARY_POST_DETAIL detail = new T_SK_ENTERPRISE_LIBRARY_POST_DETAIL(); @@ -4237,14 +4278,14 @@ namespace APT.PP.WebApi.Controllers.Api { var contents = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId)); var contentIds = contents.Select(t => t.ID).ToList(); - var libraryContents = this.GetEntities(t => t.CHECK_CONTENTS_ID!=null && contentIds.Contains((Guid)t.CHECK_CONTENTS_ID), new BaseFilter(filter.OrgId), "Nav_LibraryDetail.Nav_Library.Nav_Area"); + var libraryContents = this.GetEntities(t => t.CHECK_CONTENTS_ID != null && contentIds.Contains((Guid)t.CHECK_CONTENTS_ID), new BaseFilter(filter.OrgId), "Nav_LibraryDetail.Nav_Library.Nav_Area"); if (libraryContents.Any()) { foreach (var con in libraryContents) { con.AREA_ID = con.Nav_LibraryDetail?.Nav_Library?.AREA_ID; con.Nav_Area = con.Nav_LibraryDetail?.Nav_Library?.Nav_Area; - con.MineType = con.Nav_LibraryDetail!=null && con.Nav_LibraryDetail.Nav_Library!=null ? con.Nav_LibraryDetail.Nav_Library.MineType : SKProductionUnit.Mine; + con.MineType = con.Nav_LibraryDetail != null && con.Nav_LibraryDetail.Nav_Library != null ? con.Nav_LibraryDetail.Nav_Library.MineType : SKProductionUnit.Mine; } } if (contents.Any()) @@ -4363,7 +4404,7 @@ namespace APT.PP.WebApi.Controllers.Api var contents = GetEntities(i => i.IS_DELETED == false, new BaseFilter(filter.OrgId)).ToList(); var hiddens = GetEntities(i => i.IS_DELETED == false, new BaseFilter(filter.OrgId)).ToList(); var contentIds = contents.Select(t => t.ID).ToList(); - var detailContents = GetEntities(i => i.CHECK_CONTENTS_ID!=null && contentIds.Contains((Guid)i.CHECK_CONTENTS_ID), new BaseFilter(filter.OrgId)).ToList(); + var detailContents = GetEntities(i => i.CHECK_CONTENTS_ID != null && contentIds.Contains((Guid)i.CHECK_CONTENTS_ID), new BaseFilter(filter.OrgId)).ToList(); if (detailContents != null && detailContents.Any()) { foreach (var detail in detailContents) @@ -4402,5 +4443,852 @@ namespace APT.PP.WebApi.Controllers.Api return true; }); } + + /// + /// 触发安全检查通知(豫鹭) + /// + /// + /// + [HttpPost, Route("SafeCheckNoticeYL")] + public JsonActionResult SafeCheckNoticeYL([FromBody] KeywordFilter filter) + { + return SafeExecute(() => + { + try + { + var dtNow = DateTime.Now; + var year = dtNow.Year; + var month = dtNow.Month; + var day = dtNow.Day; + var week = dtNow.DayOfWeek; + List setList = new List(); + //查配置表,有配才执行 + var timeSets = GetEntities(i => i.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId), "Nav_ListSetDepObject", "Nav_ListDepOut", "Nav_ListArea", "Nav_CheckType").ToList(); + if (timeSets != null && timeSets.Any()) + { + foreach (var set in timeSets) + { + switch (set.CHECK_CYCLE) + { + case SKPLANCHECKFREQUENCYEnum.Year: + if (set.MONTH == month && set.DATA == day && set.CHECKTIME.Value.Hour == dtNow.Hour) + { + setList.Add(set); + } + break; + case SKPLANCHECKFREQUENCYEnum.HalfYear: + if (((set.MONTH == month && set.DATA == day) || ((set.MONTH + 6) == month && (set.DATA + 183) == day)) && set.CHECKTIME.Value.Hour == dtNow.Hour) + { + setList.Add(set); + } + break; + case SKPLANCHECKFREQUENCYEnum.Date: + setList.Add(set); + break; + //case SKPLANCHECKFREQUENCYEnum.Class: + // setList.Add(set); + break; + case SKPLANCHECKFREQUENCYEnum.Week: + if (set.WEEKDATA != null && (int)set.WEEKDATA.Value == (int)week && set.CHECKTIME.Value.Hour == dtNow.Hour) + { + setList.Add(set); + } + break; + case SKPLANCHECKFREQUENCYEnum.Month: + if (set.DATA == day && set.CHECKTIME.Value.Hour == dtNow.Hour) + { + setList.Add(set); + } + break; + case SKPLANCHECKFREQUENCYEnum.Quarter: + if (set.MONTH == 1) + { + if ((month == 1 || month == 4 || month == 7 || month == 10) && set.DATA == day && set.CHECKTIME.Value.Hour == dtNow.Hour) + { + setList.Add(set); + } + } + if (set.MONTH == 2) + { + if ((month == 2 || month == 5 || month == 8 || month == 11) && set.DATA == day && set.CHECKTIME.Value.Hour == dtNow.Hour) + { + setList.Add(set); + } + } + if (set.MONTH == 3) + { + if ((month == 3 || month == 6 || month == 9 || month == 12) && set.DATA == day && set.CHECKTIME.Value.Hour == dtNow.Hour) + { + setList.Add(set); + } + } + break; + default: + break; + } + } + } + List notices = new List(); + List safeNotices = new List(); + List safeDetialNotices = new List(); + //List records = new List(); + //List recordDetails = new List(); + //List recordDetailUsers = new List(); + var baseFilter = new BaseFilter(filter.GetOrgId()); + baseFilter.IgnoreDataRule = true; + baseFilter.SelectField = new string[] { "MineType", "CHECK_TYPE_ID", "APPLY_DEPARTMENT_ID", "APPLY_USER_ID", "PLANCHECKFREQUENCY", "DEPARTMENT_TYPE" }; //指定字段,包括导航属性 + + if (setList != null && setList.Any()) + { + var checkTypes = this.GetEntities(t => t.IS_DELETED == false, new BaseFilter(filter.OrgId)); + var departs = this.GetEntities(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId)); + var users = this.GetEntities(t => t.ENABLE_STATUS == 0 && !t.CODE.Contains("admin") && t.Nav_Person != null, new BaseFilter(filter.OrgId), "Nav_Person", "Nav_ApproveRole"); + DateTime dt = DateTime.Now; + if (filter.Parameter1 != null) + { + dt = DateTime.Parse(filter.Parameter1); + } + Expression> expression = i => i.IS_DELETED == false && i.CREATE_TIME.Value.Date == dt.Date; + List noticeExsiss = this.GetOrderEntities(expression, baseFilter).ToList(); + DateTime minTime = dt.AddMinutes(0); + DateTime maxTime = dt.AddMinutes(60); + var shiftClassList = this.GetEntities(s => s.START_TIME > minTime && s.START_TIME <= maxTime && s.START_TIME != s.END_TIME && s.Nav_Team.ENABLE_STATUS == 0 && s.TEAM_ID != null, new BaseFilter(filter.OrgId), "Nav_DepartmentSchedulingDetail.Nav_Person").ToList(); + var teamIds = shiftClassList.Select(t => t.TEAM_ID).Distinct().ToList(); + var teamInfos = this.GetEntities(t => teamIds.Contains(t.ID), new BaseFilter(filter.OrgId)); + var teamDepartIds = teamInfos.Select(m => m.DEPARTMENT_ID).Distinct().ToList(); + //var personIds = new List(); + //if (shiftClassList != null && shiftClassList.Any()) + //{ + // foreach (var item in shiftClassList) + // { + // if (item.Nav_DepartmentSchedulingDetail != null && item.Nav_DepartmentSchedulingDetail.Any()) + // { + // var ids = item.Nav_DepartmentSchedulingDetail.Select(t => t.PERSON_ID).Distinct().ToList(); + // personIds.AddRange(ids); + // } + // } + //} + var libPosts = this.GetEntities(t => t.IS_DELETED == false, new BaseFilter(filter.OrgId), "Nav_Department"); + var libDepartIds = libPosts.Select(t => t.DEPARTMENT_ID).Distinct(); + var librarys = this.GetEntities(t => t.IS_DELETED == false, new BaseFilter(filter.OrgId)); + var libraryIds = librarys.Select(t => t.ID).ToList(); + var libraryDetails = this.GetEntities(t => libraryIds.Contains(t.ENTERPRISE_LIBRARY_ID), new BaseFilter(filter.OrgId)); + var detailsIds = libraryDetails.Select(t => t.ID).ToList(); + var libraryContents = this.GetEntities(t => detailsIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_ID), new BaseFilter(filter.OrgId), "Nav_LibraryDetail").OrderBy(t => t.Nav_LibraryDetail?.NUM).ThenBy(m => m.NUM); + if (libraryContents != null && libraryContents.Any()) + { + foreach (var content in libraryContents) + { + var detailTemp = libraryDetails.FirstOrDefault(t => t.ID == content.ENTERPRISE_LIBRARY_DETAIL_ID); + var libraryTemp = librarys.FirstOrDefault(t => t.ID == detailTemp.ENTERPRISE_LIBRARY_ID); + content.MineType = libraryTemp.MineType; + content.AREA_ID = libraryTemp.AREA_ID; + } + } + var groupSets = setList.GroupBy(t => new { t.CHECK_CYCLE, t.CHECK_TYPE_ID, t.CHECK_TYPE }).ToList(); + foreach (var item in groupSets) + { + List userIds = new List(); + List mineTypes = new List(); + //取配置的辨识部门,没配的不触发 + var departTemps = departs.Where(t => libDepartIds.Contains(t.ID)).ToList(); + //先查给谁 + if (item.FirstOrDefault().USER_ID_SEND != null) + { + //特别指定的人 + userIds.Add((Guid)item.FirstOrDefault().USER_ID_SEND); + } + else + { + //if (item.FirstOrDefault().CHECK_TYPE != SKDepartmentTypeEnum.岗位级) + //{ + // //非岗位级,过滤部门层级 + // departTemps = departTemps.Where(t => t.DEPARTMENT_TYPE == (int)item.CHECK_TYPE).ToList(); + //} + //else + //{ + // //岗位级默认班组 + // departTemps = departTemps.Where(t => t.DEPARTMENT_TYPE == 2); + //} + //if (item.Nav_ListSetDepObject != null && item.Nav_ListSetDepObject.Any()) + //{ + // //检查部门范围过滤 + // var departIds = item.Nav_ListSetDepObject.Select(t => t.DEPARTMENT_ID).Distinct().ToList(); + // departTemps = departTemps.Where(t => departIds.Contains(t.ID)); + //} + if (item.FirstOrDefault().Nav_ListDepOut != null && item.FirstOrDefault().Nav_ListDepOut.Any()) + { + //排除组织过滤 + var departIds = item.FirstOrDefault().Nav_ListDepOut.Select(t => t.DEPARTMENT_ID).Distinct().ToList(); + departTemps = departTemps.Where(t => !departIds.Contains(t.ID)).ToList(); + } + if (item.FirstOrDefault().PLANCHECKOBJECT == SKPLANCHECKOBJECTEnum.Head) + { + //发给负责人 + var userTempIds = departTemps.Where(m => m.USER_ID != null).Select(t => (Guid)t.USER_ID).Distinct().ToList(); + userIds.AddRange(userTempIds); + } + if (item.FirstOrDefault().PLANCHECKOBJECT == SKPLANCHECKOBJECTEnum.Hon) + { + //发给安全员 + var departIds = departTemps.Select(t => t.ID).ToList(); + var userTempIds = users.Where(t => t.DEPARTMENT_ID != null && departIds.Contains((Guid)t.DEPARTMENT_ID) && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员")).Select(m => m.ID).ToList(); + userIds.AddRange(userTempIds); + } + if (item.FirstOrDefault().PLANCHECKOBJECT == SKPLANCHECKOBJECTEnum.SafeHon) + { + //发给安环部安全员 + var departIds = departTemps.Select(t => t.ID).ToList(); + var userTempIds = users.Where(t => t.DEPARTMENT_ID != null && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安环部安全员")).Select(m => m.ID).ToList(); + userIds.AddRange(userTempIds); + } + if (item.FirstOrDefault().PLANCHECKOBJECT == SKPLANCHECKOBJECTEnum.ClassMonitor) + { + //发给班长 + var userTempIds = departTemps.Where(m => teamDepartIds.Contains(m.ID) && m.DEPARTMENT_TYPE == 20 && m.USER_ID != null).Select(t => (Guid)t.USER_ID).ToList(); + userIds.AddRange(userTempIds); + } + //if (item.PLANCHECKOBJECT == SKPLANCHECKOBJECTEnum.Post) + //{ + // //发给岗位工 + // var departIds = departTemps.Where(m => teamDepartIds.Contains(m.ID) && m.DEPARTMENT_TYPE == 2).Select(t => t.ID).ToList(); + // var userTempIds = users.Where(t => departIds.Contains((Guid)t.DEPARTMENT_ID)&& t.PERSON_ID != null && personIds.Contains((Guid)t.PERSON_ID)).Select(m => m.ID).ToList(); + // userIds.AddRange(userTempIds); + //} + } + if (userIds.Any()) + { + //var areaIds = item.Nav_ListArea.Select(t => t.AREA_ID).Distinct().ToList(); + foreach (var id in userIds) + { + var userInfo = users.FirstOrDefault(t => t.ID == id); + if (userInfo != null) + { + var departInfo = departs.FirstOrDefault(t => t.ID == userInfo.DEPARTMENT_ID); + + { + //一个人一张安全检查通知表 + var ex = noticeExsiss.FirstOrDefault(t => t.CHECK_TYPE_ID == item.Key.CHECK_TYPE_ID && t.APPLY_DEPARTMENT_ID == userInfo.DEPARTMENT_ID && t.APPLY_USER_ID == userInfo.ID && t.PLANCHECKFREQUENCY == item.Key.CHECK_CYCLE && t.DEPARTMENT_TYPE == item.Key.CHECK_TYPE && t.CREATE_TIME.Value.Date == dt.Date); + if (ex == null) + { + T_SK_SECURITY_INSPECTION_NOTICE safeNotice = new T_SK_SECURITY_INSPECTION_NOTICE(); + safeNotice.ORG_ID = filter.OrgId; + safeNotice.APPLY_DEPARTMENT_ID = userInfo.DEPARTMENT_ID; + safeNotice.APPLY_USER_ID = userInfo.ID; + safeNotice.MineType = (SKProductionUnit)departInfo.MineType; + safeNotice.CHECK_TYPE_ID = item.Key.CHECK_TYPE_ID; + safeNotice.PLANCHECKFREQUENCY = item.Key.CHECK_CYCLE; + safeNotice.DEPARTMENT_TYPE = item.Key.CHECK_TYPE; + safeNotice.STATUS = PFStandardStatus.Draft; + safeNotice.ISAUTO = true; + safeNotices.Add(safeNotice); + var libIds = libPosts.Where(t => t.DEPARTMENT_ID == userInfo.DEPARTMENT_ID).Select(m => m.ENTERPRISE_LIBRARY_ID).Distinct().ToList(); + var libDetailIds = libraryDetails.Where(t => libIds.Contains(t.ENTERPRISE_LIBRARY_ID)).Select(m => m.ID).ToList(); + var content = libraryContents.Where(t => libDetailIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_ID)).ToList(); + //if (item.MineType != 0) + //{ + // content = libraryContents.Where(t => t.MineType == item.MineType).ToList(); + //} + //if (areaIds != null && areaIds.Any()) + //{ + // content = libraryContents.Where(t => t.AREA_ID != null && areaIds.Contains((Guid)t.AREA_ID)).ToList(); + //} + if (content != null && content.Any()) + { + foreach (var item2 in content) + { + var i = 1; + var repeat = safeDetialNotices.FirstOrDefault(t => t.SECURITY_INSPECTION_NOTICE_ID == safeNotice.ID && t.RISK_AREA_ID == item2.AREA_ID && t.CHECK_CONTENTS_ID == item2.CHECK_CONTENTS_ID); + if (repeat == null) + { + T_SK_SECURITY_INSPECTION_NOTICE_DETAIL detail = new T_SK_SECURITY_INSPECTION_NOTICE_DETAIL(); + detail.ORG_ID = filter.OrgId; + detail.SECURITY_INSPECTION_NOTICE_ID = safeNotice.ID; + detail.RISK_AREA_ID = item2.AREA_ID; + detail.CHECK_CONTENTS_ID = item2.CHECK_CONTENTS_ID; + detail.CHECKCONTENT = item2.CHECK_CONTENT; + detail.CHECKPROOF = item2.CHECK_BASIC; + detail.CHECKSTANDARD = item2.CHECK_STANDARD; + detail.NUM = i; + safeDetialNotices.Add(detail); + i++; + } + } + } + var date = DateTime.Now.Year + DateTime.Now.Month.PadLeft(2, '0') + DateTime.Now.Day.PadLeft(2, '0'); + var endtime = DateTime.Now.AddHours(24); + if (item.Key.CHECK_CYCLE == SKPLANCHECKFREQUENCYEnum.Week) + { + endtime = DateTime.Now.AddDays(7); + } + if (item.Key.CHECK_CYCLE == SKPLANCHECKFREQUENCYEnum.Month) + { + endtime = DateTime.Now.AddMonths(1); + } + if (item.Key.CHECK_CYCLE == SKPLANCHECKFREQUENCYEnum.HalfYear) + { + endtime = DateTime.Now.AddMonths(6); + } + if (item.Key.CHECK_CYCLE == SKPLANCHECKFREQUENCYEnum.Year) + { + endtime = DateTime.Now.AddMonths(12); + } + if (item.Key.CHECK_CYCLE == SKPLANCHECKFREQUENCYEnum.Quarter) + { + endtime = DateTime.Now.AddMonths(3); + } + var notice = NotificationTaskService.InsertUserNoticeTaskModel(item.Key.CHECK_TYPE.GetDescription() + "安全检查通知" + date + item.FirstOrDefault().Nav_CheckType?.NAME, safeNotice.ID, filter.OrgId, userInfo.ID, userInfo.NAME, DateTime.Now, endtime, (int)FMNoticeTypeEnum.消息, "SK006"); + notices.Add(notice); + } + } + } + } + } + } + } + UnifiedCommit(() => + { + if (notices != null && notices.Any()) + BantchSaveEntityNoCommit(notices); + if (safeNotices != null && safeNotices.Any()) + BantchSaveEntityNoCommit(safeNotices); + if (safeDetialNotices != null && safeDetialNotices.Any()) + BantchSaveEntityNoCommit(safeDetialNotices); + //if (records != null && records.Any()) + // BantchSaveEntityNoCommit(records); + //if (recordDetails != null && recordDetails.Any()) + // BantchSaveEntityNoCommit(recordDetails); + //if (recordDetailUsers != null && recordDetailUsers.Any()) + // BantchSaveEntityNoCommit(recordDetailUsers); + }); + } + catch (Exception ex) + { + if (!string.IsNullOrEmpty(ex.StackTrace)) + throw new Exception("错误日志:[StackTrace]" + ex.StackTrace); + else + throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message); + } + return true; + }); + } + + /// + /// 检查类型更新 + /// + /// + /// + [HttpPost, Route("CheckTypeSync")] + public JsonActionResult CheckTypeSync([FromBody] KeywordFilter filter) + { + return SafeExecute(() => + { + try + { + //List details = new List(); + var checkTypes = GetEntities(i => i.IS_DELETED == false, new BaseFilter(filter.OrgId)).ToList(); + var hiddens = GetEntities(i => i.IS_DELETED == false, new BaseFilter(filter.OrgId)).ToList(); + var detailContents = GetEntities(i => i.IS_DELETED == false, new BaseFilter(filter.OrgId), "Nav_DetailContent.Nav_LibraryDetail.Nav_Library", "Nav_CheckType").ToList(); + if (detailContents != null && detailContents.Any()) + { + foreach (var detail in detailContents) + { + var minetype = detail?.Nav_DetailContent?.Nav_LibraryDetail?.Nav_Library?.MineType; + var itemType = detail?.Nav_CheckType?.NAME; + var firstType = checkTypes.FirstOrDefault(t => t.MineType == minetype && t.NAME == itemType); + if (firstType != null) + { + detail.CHECK_TYPE_ID = firstType.ID; + } + } + } + UnifiedCommit(() => + { + if (detailContents != null && detailContents.Any()) + BantchSaveEntityNoCommit(detailContents); + }); + } + catch (Exception ex) + { + if (!string.IsNullOrEmpty(ex.StackTrace)) + throw new Exception("错误日志:[StackTrace]" + ex.StackTrace); + else + throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message); + } + return true; + }); + } + + /// + /// 触发安全检查通知(最新版) + /// + /// + /// + [HttpPost, Route("SafeCheckNoticeNeww")] + public JsonActionResult SafeCheckNoticeNeww([FromBody] KeywordFilter filter) + { + return SafeExecute(() => + { + try + { + var dtNow = DateTime.Now; + var year = dtNow.Year; + var month = dtNow.Month; + var day = dtNow.Day; + var week = dtNow.DayOfWeek; + List setList = new List(); + //查配置表,有配才执行 + var timeSets = GetEntities(i => i.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId)).ToList(); + if (timeSets != null && timeSets.Any()) + { + foreach (var set in timeSets) + { + switch (set.CHECK_CYCLE) + { + case SKPLANCHECKFREQUENCYEnum.Year: + if (set.MONTH == month && set.DATA == day) + { + setList.Add(set); + } + break; + case SKPLANCHECKFREQUENCYEnum.HalfYear: + if ((set.MONTH == month && set.DATA == day) || ((set.MONTH + 6) == month && (set.DATA + 183) == day)) + { + setList.Add(set); + } + break; + case SKPLANCHECKFREQUENCYEnum.Date: + setList.Add(set); + break; + //case SKPLANCHECKFREQUENCYEnum.Class: + // setList.Add(set); + break; + case SKPLANCHECKFREQUENCYEnum.Week: + if (set.WEEKDATA != null && (int)set.WEEKDATA.Value == (int)week) + { + setList.Add(set); + } + break; + case SKPLANCHECKFREQUENCYEnum.Month: + if (set.DATA == day) + { + setList.Add(set); + } + break; + case SKPLANCHECKFREQUENCYEnum.Quarter: + if (set.MONTH == 1) + { + if ((month == 1 || month == 4 || month == 7 || month == 10) && set.DATA == day) + { + setList.Add(set); + } + } + if (set.MONTH == 2) + { + if ((month == 2 || month == 5 || month == 8 || month == 11) && set.DATA == day) + { + setList.Add(set); + } + } + if (set.MONTH == 3) + { + if ((month == 3 || month == 6 || month == 9 || month == 12) && set.DATA == day) + { + setList.Add(set); + } + } + break; + default: + break; + } + } + } + List notices = new List(); + List safeNotices = new List(); + List safeDetialNotices = new List(); + List records = new List(); + List recordDetails = new List(); + List recordDetailUsers = new List(); + List list = new List(); + List detailContents = new List(); + if (setList != null && setList.Any()) + { + var checkTypes = this.GetEntities(t => t.IS_DELETED == false, new BaseFilter(filter.OrgId)); + var checkTypeIds = checkTypes.Where(t => t.NAME == "岗位排查").Select(m => m.ID).ToList(); + var departs = this.GetEntities(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId), "Nav_User"); + var users = this.GetEntities(t => t.ENABLE_STATUS == 0 && !t.CODE.Contains("admin") && t.Nav_Person != null, new BaseFilter(filter.OrgId), "Nav_Person", "Nav_ApproveRole"); + var checkCycles = setList.Select(t => t.CHECK_CYCLE).Distinct().ToList(); + var librarys = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_Area", "Nav_ProductionUnit").ToList(); + var libraryDetails = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId)).ToList(); + var contents = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_Contents").ToList(); + var contentDeparts = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_CheckType", "Nav_Department").ToList(); + var posts = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_PostDetails.Nav_Post").ToList(); + if (librarys != null && librarys.Any()) + { + foreach (var item in librarys) + { + var libraryPost = posts.Where(t => t.ENTERPRISE_LIBRARY_ID == item.ID).ToList(); + var details = libraryDetails.Where(t => t.ENTERPRISE_LIBRARY_ID == item.ID).ToList(); + var detailIds = details.Select(t => t.ID).ToList(); + var contentTemps = contents.Where(t => detailIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_ID)).ToList(); + var contentTempIds = contentTemps.Select(t => t.ID).ToList(); + var contentDepartTemps = contentDeparts.Where(t => contentTempIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID)).ToList(); + if (contentDepartTemps != null && contentDepartTemps.Any()) + { + foreach (var depart in contentDepartTemps) + { + var first = libraryPost.FirstOrDefault(t => t.DEPARTMENT_ID == depart.DEPARTMENT_ID)?.Nav_PostDetails?.Select(m => m.Nav_Post).OrderBy(n => n?.NAME).ToList(); + var contentFirst = contentTemps.FirstOrDefault(t => t.ID == depart.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID); + if (first != null && first.Any()) + { + foreach (var post in first) + { + //没角色的才取岗位 + var userRole = users.FirstOrDefault(t => t.Nav_Person != null && t.Nav_Person.POST_ID == post?.ID).APPROVE_ROLE_ID; + if (userRole == null) + { + T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART de = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART(); + de.POST_NAME = post?.NAME; + de.MineType = item.MineType; + de.MINE_NAME = item.Nav_ProductionUnit?.NAME; + de.AREA_NAME = item.Nav_Area?.NAME; + de.ENTERPRISE_LIBRARY_DETAIL_ID = contentFirst?.ENTERPRISE_LIBRARY_DETAIL_ID; + de.ENTERPRISE_LIBRARY_ID = item.ID; + de.TYPE_NAME = depart.Nav_CheckType?.NAME; + de.DEPART_NAME = depart.Nav_Department?.NAME; + de.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = depart.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID; + de.CHECK_CYCLE = depart.CHECK_CYCLE; + de.CHECK_TYPE_ID = depart.CHECK_TYPE_ID; + de.DEPARTMENT_ID = depart.DEPARTMENT_ID; + de.CHECK_TYPE = depart.CHECK_TYPE; + de.POST_ID = post?.ID; + detailContents.Add(de); + } + } + } + else + { + T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART de = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART(); + de.POST_NAME = "未配置辨识岗位"; + de.MineType = item.MineType; + de.PRODUCTION_UNIT_ID = item.PRODUCTION_UNIT_ID; + de.MINE_NAME = item.Nav_ProductionUnit?.NAME; + de.AREA_NAME = item.Nav_Area?.NAME; + de.ENTERPRISE_LIBRARY_DETAIL_ID = contentFirst?.ENTERPRISE_LIBRARY_DETAIL_ID; + de.ENTERPRISE_LIBRARY_ID = item.ID; + de.TYPE_NAME = depart.Nav_CheckType?.NAME; + de.DEPART_NAME = depart.Nav_Department?.NAME; + de.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = depart.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID; + de.CHECK_CYCLE = depart.CHECK_CYCLE; + de.CHECK_TYPE_ID = depart.CHECK_TYPE_ID; + de.DEPARTMENT_ID = depart.DEPARTMENT_ID; + de.CHECK_TYPE = depart.CHECK_TYPE; + detailContents.Add(de); + } + } + } + } + } + if (detailContents != null && detailContents.Any()) + { + foreach (var item in contents) + { + var detailLib = libraryDetails.FirstOrDefault(t => t.ID == item.ENTERPRISE_LIBRARY_DETAIL_ID); + var lib = librarys.FirstOrDefault(t => t.ID == detailLib?.ENTERPRISE_LIBRARY_ID); + item.RISK_NAME = lib?.RISK_NAME; + item.AREA_ID = lib?.AREA_ID; + item.Nav_Area = lib?.Nav_Area; + } + foreach (var item in detailContents) + { + if (checkTypeIds != null && checkTypeIds.Any() && item.CHECK_TYPE_ID != null && checkTypeIds.Contains((Guid)item.CHECK_TYPE_ID)) + { + + } + else + { + if (item.CHECK_TYPE == SKDepartmentTypeEnum.班组级) + { + item.POST_NAME = "班组负责人"; + } + else if (item.CHECK_TYPE == SKDepartmentTypeEnum.车间级) + { + item.POST_NAME = "车间安全员"; + } + else if (item.CHECK_TYPE == SKDepartmentTypeEnum.部门级) + { + item.POST_NAME = "部门安全员"; + } + else + { + item.POST_NAME = "安环部安全员"; + } + var user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == item.POST_NAME); + if (user != null) + { + item.POST_ID = user.Nav_Person?.POST_ID; + } + } + } + var group = detailContents.Where(m => checkCycles.Contains(m.CHECK_CYCLE)).GroupBy(t => new { t.MineType,t.PRODUCTION_UNIT_ID, t.MINE_NAME,t.CHECK_TYPE, t.CHECK_CYCLE, t.DEPART_NAME, t.DEPARTMENT_ID, t.CHECK_TYPE_ID, t.TYPE_NAME, t.POST_NAME, t.POST_ID }).ToList(); + foreach (var item in group) + { + CheckListNew listNew = new CheckListNew(); + listNew.PRODUCTION_UNIT_ID = item.Key.PRODUCTION_UNIT_ID; + listNew.Cycle = item.Key.CHECK_CYCLE; + listNew.DepartType = item.Key.CHECK_TYPE; + listNew.MineType = item.Key.MINE_NAME; + listNew.CheckType = item.Key.TYPE_NAME; + listNew.CheckCycle = item.Key.CHECK_CYCLE.GetDescription(); + listNew.CheckLevel = item.Key.CHECK_TYPE.GetDescription(); + listNew.Num = (int)item.Key.CHECK_TYPE; + listNew.CheckDepart = item.Key.DEPART_NAME; + listNew.CheckPostId = item.Key.POST_ID; + listNew.CheckPost = item.Key.POST_NAME; + listNew.CheckDepartId = item.Key.DEPARTMENT_ID; + listNew.CheckTypeId = item.Key.CHECK_TYPE_ID; + var depathaveIds = detailContents.Where(t => t.DEPARTMENT_ID == item.Key.DEPARTMENT_ID && t.CHECK_TYPE_ID == item.Key.CHECK_TYPE_ID && t.CHECK_TYPE == item.Key.CHECK_TYPE && t.CHECK_CYCLE == item.Key.CHECK_CYCLE && t.MineType == item.Key.MineType && t.POST_NAME == item.Key.POST_NAME && t.POST_ID == item.Key.POST_ID).Select(m => m.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID).Distinct().ToList(); + var temps = contents.Where(t => depathaveIds.Contains(t.ID)).Distinct().ToList(); + if (temps.Any()) + { + List listDetail = new List(); + foreach (var tem in temps) + { + CheckListDetail checkListDetail = new CheckListDetail(); + checkListDetail.CHECK_CONTENTS_ID = tem.CHECK_CONTENTS_ID; + checkListDetail.CHECK_CONTENTS_NAME = tem.Nav_Contents?.CHECKCONTENT; + checkListDetail.RISK_NAME = tem.RISK_NAME; + checkListDetail.RISK_AREA_ID = tem.AREA_ID; + checkListDetail.RISK_AREA_NAME = tem.Nav_Area?.NAME; + checkListDetail.CHECKPROOF = tem.CHECK_BASIC; + checkListDetail.CHECKSTANDARD = tem.CHECK_STANDARD; + listDetail.Add(checkListDetail); + } + listNew.details = listDetail.OrderBy(t => t.RISK_AREA_NAME).ThenBy(m => m.RISK_NAME).ToList(); + } + list.Add(listNew); + } + list = list.OrderBy(n => n.MineType).ThenBy(x => x.Num).ThenBy(n => n.CheckDepart).ToList(); + } + DateTime dt = DateTime.Now; + if (filter.Parameter1 != null) + { + dt = DateTime.Parse(filter.Parameter1); + } + DateTime minTime = dt.AddMinutes(0); + DateTime maxTime = dt.AddMinutes(60); + var shiftClassList = this.GetEntities(s => s.START_TIME > minTime && s.START_TIME <= maxTime && s.START_TIME != s.END_TIME && s.Nav_Team.ENABLE_STATUS == 0 && s.TEAM_ID != null, new BaseFilter(filter.OrgId), "Nav_DepartmentSchedulingDetail.Nav_Person").ToList(); + var teamIds = shiftClassList.Select(t => t.TEAM_ID).Distinct().ToList(); + var teamInfos = this.GetEntities(t => teamIds.Contains(t.ID), new BaseFilter(filter.OrgId)); + var teamDepartIds = teamInfos.Select(m => m.DEPARTMENT_ID).Distinct().ToList(); + var personIds = new List(); + if (shiftClassList != null && shiftClassList.Any()) + { + foreach (var item in shiftClassList) + { + if (item.Nav_DepartmentSchedulingDetail != null && item.Nav_DepartmentSchedulingDetail.Any()) + { + var ids = item.Nav_DepartmentSchedulingDetail.Select(t => t.PERSON_ID).Distinct().ToList(); + personIds.AddRange(ids); + } + } + } + var baseFilter = new BaseFilter(filter.GetOrgId()); + baseFilter.IgnoreDataRule = true; + baseFilter.SelectField = new string[] { "MineType", "CHECK_TYPE_ID", "APPLY_DEPARTMENT_ID", "APPLY_USER_ID", "PLANCHECKFREQUENCY", "DEPARTMENT_TYPE" }; //指定字段,包括导航属性 + Expression> expression = i => i.IS_DELETED == false && i.CREATE_TIME.Value.Date == dt.Date; + List noticeExsiss = this.GetOrderEntities(expression, baseFilter).ToList(); + //取岗位排查表 + var postCheckList = list.Where(t => t.CheckTypeId != null && checkTypeIds.Contains((Guid)t.CheckTypeId)).ToList(); + if (postCheckList != null && postCheckList.Any()) + { + foreach (var item in postCheckList) + { + //触发安全检查记录给对应的岗位工(有排班才触发) + var userInfo = users.FirstOrDefault(t => t.DEPARTMENT_ID == item.CheckDepartId && teamDepartIds.Contains(t.DEPARTMENT_ID) && t.Nav_Person != null && t.Nav_Person.POST_ID == item.CheckPostId); + if (userInfo != null) + { + T_SK_SECURITY_INSPECTION_RECORD record = new T_SK_SECURITY_INSPECTION_RECORD(); + record.ORG_ID = filter.OrgId; + record.APPLY_DEPARTMENT_ID = userInfo.DEPARTMENT_ID; + record.APPLY_USER_ID = userInfo.ID; + record.MineType = item.Mine; + record.PRODUCTION_UNIT_ID = item.PRODUCTION_UNIT_ID; + record.CHECK_TYPE_ID = item.CheckTypeId; + record.PLANCHECKFREQUENCY = item.Cycle; + record.DEPARTMENT_TYPE = item.DepartType; + record.STATUS = PFStandardStatus.Draft; + record.ISAUTO = true; + records.Add(record); + if (item.details != null && item.details.Any()) + { + foreach (var item2 in item.details) + { + var i = 1; + //var repeat = safeDetialNotices.FirstOrDefault(t => t.SECURITY_INSPECTION_NOTICE_ID == safeNotice.ID && t.RISK_AREA_ID == item2.AREA_ID && t.CHECK_CONTENTS_ID == item2.CHECK_CONTENTS_ID); + //if (repeat == null) + { + T_SK_SECURITY_INSPECTION_RECORD_DETAIL detail = new T_SK_SECURITY_INSPECTION_RECORD_DETAIL(); + detail.ORG_ID = filter.OrgId; + detail.SECURITY_INSPECTION_RECORD_ID = record.ID; + detail.RISK_AREA_ID = item2.RISK_AREA_ID; + detail.CHECK_CONTENTS_ID = item2.CHECK_CONTENTS_ID; + detail.CHECKCONTENT = item2.CHECK_CONTENTS_NAME; + detail.CHECKPROOF = item2.CHECKPROOF; + detail.CHECKSTANDARD = item2.CHECKSTANDARD; + detail.NUM = i; + recordDetails.Add(detail); + i++; + T_SK_SECURITY_INSPECTION_RECORD_DETAIL_USER deUser = new T_SK_SECURITY_INSPECTION_RECORD_DETAIL_USER(); + deUser.ORG_ID = filter.OrgId; + deUser.SECURITY_INSPECTION_RECORD_DETAIL_ID = detail.ID; + deUser.USER_ID = userInfo.ID; + deUser.ISMAINCHECK = true; + recordDetailUsers.Add(deUser); + } + } + } + var date = DateTime.Now.Year + DateTime.Now.Month.PadLeft(2, '0') + DateTime.Now.Day.PadLeft(2, '0'); + var endtime = DateTime.Now.AddHours(24); + if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Week) + { + endtime = DateTime.Now.AddDays(7); + } + if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Month) + { + endtime = DateTime.Now.AddMonths(1); + } + if (item.Cycle == SKPLANCHECKFREQUENCYEnum.HalfYear) + { + endtime = DateTime.Now.AddMonths(6); + } + if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Year) + { + endtime = DateTime.Now.AddMonths(12); + } + if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Quarter) + { + endtime = DateTime.Now.AddMonths(3); + } + var notice = NotificationTaskService.InsertUserNoticeTaskModel(item.CheckCycle + "岗位排查记录" + date, record.ID, filter.OrgId, userInfo.ID, userInfo.NAME, DateTime.Now, endtime, (int)FMNoticeTypeEnum.消息, "SK010"); + notices.Add(notice); + } + } + } + //取非岗位排查 + var checkList = list.Where(t => t.CheckTypeId != null && !checkTypeIds.Contains((Guid)t.CheckTypeId)).ToList(); + if (checkList != null && checkList.Any()) + { + foreach (var item in checkList) + { + var userInfo = users.FirstOrDefault(t => t.DEPARTMENT_ID == item.CheckDepartId && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == item.CheckPost); + //触发安全检查通知给对应的审批角色 + if (item.CheckPost == "安环部安全员") + { + userInfo = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == item.CheckPost); + } + if (item.CheckPost == "班组负责人") + { + //判断排班 + userInfo = users.FirstOrDefault(t => t.DEPARTMENT_ID == item.CheckDepartId && teamDepartIds.Contains(t.DEPARTMENT_ID) && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == item.CheckPost); + } + if (userInfo == null) + { + userInfo = departs.FirstOrDefault(t => t.ID == (Guid)item.CheckDepartId)?.Nav_User; + } + if (userInfo != null) + { + var setTime = setList.FirstOrDefault(t => t.MineType == item.Mine && t.CHECK_CYCLE == item.Cycle && t.CHECKTIME.Value.Hour == dt.Hour); + if (item.CheckPost != "班组负责人" && setTime == null) + { + continue; + } + T_SK_SECURITY_INSPECTION_NOTICE safeNotice = new T_SK_SECURITY_INSPECTION_NOTICE(); + safeNotice.ORG_ID = filter.OrgId; + safeNotice.APPLY_DEPARTMENT_ID = userInfo.DEPARTMENT_ID; + safeNotice.APPLY_USER_ID = userInfo.ID; + safeNotice.MineType = item.Mine; + safeNotice.PRODUCTION_UNIT_ID = item.PRODUCTION_UNIT_ID; + safeNotice.CHECK_TYPE_ID = item.CheckTypeId; + safeNotice.PLANCHECKFREQUENCY = item.Cycle; + safeNotice.DEPARTMENT_TYPE = item.DepartType; + safeNotice.STATUS = PFStandardStatus.Draft; + safeNotice.ISAUTO = true; + safeNotices.Add(safeNotice); + if (item.details != null && item.details.Any()) + { + foreach (var item2 in item.details) + { + var i = 1; + //var repeat = safeDetialNotices.FirstOrDefault(t => t.SECURITY_INSPECTION_NOTICE_ID == safeNotice.ID && t.RISK_AREA_ID == item2.AREA_ID && t.CHECK_CONTENTS_ID == item2.CHECK_CONTENTS_ID); + //if (repeat == null) + { + T_SK_SECURITY_INSPECTION_NOTICE_DETAIL detail = new T_SK_SECURITY_INSPECTION_NOTICE_DETAIL(); + detail.ORG_ID = filter.OrgId; + detail.SECURITY_INSPECTION_NOTICE_ID = safeNotice.ID; + detail.RISK_AREA_ID = item2.RISK_AREA_ID; + detail.CHECK_CONTENTS_ID = item2.CHECK_CONTENTS_ID; + detail.CHECKCONTENT = item2.CHECK_CONTENTS_NAME; + detail.CHECKPROOF = item2.CHECKPROOF; + detail.CHECKSTANDARD = item2.CHECKSTANDARD; + detail.NUM = i; + safeDetialNotices.Add(detail); + } + } + } + var date = DateTime.Now.Year + DateTime.Now.Month.PadLeft(2, '0') + DateTime.Now.Day.PadLeft(2, '0'); + var endtime = DateTime.Now.AddHours(24); + if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Week) + { + endtime = DateTime.Now.AddDays(7); + } + if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Month) + { + endtime = DateTime.Now.AddMonths(1); + } + if (item.Cycle == SKPLANCHECKFREQUENCYEnum.HalfYear) + { + endtime = DateTime.Now.AddMonths(6); + } + if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Year) + { + endtime = DateTime.Now.AddMonths(12); + } + if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Quarter) + { + endtime = DateTime.Now.AddMonths(3); + } + var notice = NotificationTaskService.InsertUserNoticeTaskModel(item.CheckCycle + "安全检查通知" + date, safeNotice.ID, filter.OrgId, userInfo.ID, userInfo.NAME, DateTime.Now, endtime, (int)FMNoticeTypeEnum.消息, "SK006"); + notices.Add(notice); + } + } + } + } + UnifiedCommit(() => + { + if (notices != null && notices.Any()) + BantchSaveEntityNoCommit(notices); + if (safeNotices != null && safeNotices.Any()) + BantchSaveEntityNoCommit(safeNotices); + if (safeDetialNotices != null && safeDetialNotices.Any()) + BantchSaveEntityNoCommit(safeDetialNotices); + if (records != null && records.Any()) + BantchSaveEntityNoCommit(records); + if (recordDetails != null && recordDetails.Any()) + BantchSaveEntityNoCommit(recordDetails); + if (recordDetailUsers != null && recordDetailUsers.Any()) + BantchSaveEntityNoCommit(recordDetailUsers); + }); + } + catch (Exception ex) + { + if (!string.IsNullOrEmpty(ex.StackTrace)) + throw new Exception("错误日志:[StackTrace]" + ex.StackTrace); + else + throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message); + } + return true; + }); + } } } diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs index 4ac08f5..e35f62d 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs @@ -94,9 +94,9 @@ namespace APT.SK.WebApi.Controllers List libraryHiddenList = new List(); List libraryBasicList = new List(); //同步企业库 - if (entity.PUBLISH!=null && entity.PUBLISH.Equals("SaveAndNotify")) - { - var library= this.GetEntity(t => t.MineType == entity.MineType && t.AREA_ID ==entity.AREA_ID && t.TYPE_ID == entity.TYPE_ID && t.RISK_NAME == entity.RISK_NAME && t.RISK_DESCRIPTION ==entity.RISK_DESCRIPTION); + if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify")) + { + var library = this.GetEntity(t => t.MineType == entity.MineType && t.AREA_ID == entity.AREA_ID && t.TYPE_ID == entity.TYPE_ID && t.RISK_NAME == entity.RISK_NAME && t.RISK_DESCRIPTION == entity.RISK_DESCRIPTION); if (library != null) { libraryIds.Add(library.ID); @@ -109,86 +109,86 @@ namespace APT.SK.WebApi.Controllers 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.MineType = entity.MineType; + 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); + } } - enterpriseLib = new T_SK_ENTERPRISE_LIBRARY(); - enterpriseLib.ID = entity.ID; - enterpriseLib.ORG_ID = entity.ORG_ID; - enterpriseLib.ENABLE_STATUS = entity.ENABLE_STATUS; - enterpriseLib.MineType = entity.MineType; - 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(() => { @@ -290,7 +290,7 @@ namespace APT.SK.WebApi.Controllers [HttpPost, Route("SKOrderEntities")] public JsonActionResult> SKOrderEntities([FromBody] KeywordFilter filter) { - var result = WitOrderEntities(null, filter); + var result = WitOrderEntities(null, filter); if (result != null && result.Data != null) { if (result.Data != null && result.Data.Any()) @@ -306,7 +306,7 @@ namespace APT.SK.WebApi.Controllers var measureStr = new List(); if (item.Nav_Details != null && item.Nav_Details.Any()) { - foreach (var item2 in item.Nav_Details.OrderBy(t=>t.NUM)) + foreach (var item2 in item.Nav_Details.OrderBy(t => t.NUM)) { var i = 1; if (item2 != null && !string.IsNullOrEmpty(item2.MEASURES_NAME)) @@ -384,8 +384,8 @@ namespace APT.SK.WebApi.Controllers foreach (var item2 in contentStr) { if (!string.IsNullOrEmpty(item2)) - { - var temp = i+ "、" + item2 + "\r\n"; + { + var temp = i + "、" + item2 + "\r\n"; item.CHECKCONTENTS = item.CHECKCONTENTS + temp; i++; } @@ -478,7 +478,7 @@ namespace APT.SK.WebApi.Controllers var result = WitEntity(null, filter); if (result != null && result.Data != null) { - if (result.Data.Nav_Details!= null && result.Data.Nav_Details.Any()) + if (result.Data.Nav_Details != null && result.Data.Nav_Details.Any()) { foreach (var item in result.Data.Nav_Details) { diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/CheckContentsController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/CheckContentsController.cs index b503aa8..1cb0bc5 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/CheckContentsController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/CheckContentsController.cs @@ -52,6 +52,11 @@ namespace APT.SK.WebApi.Controllers.Api { return SafeExecute(() => { + var olds = this.GetEntity(t => !t.IS_DELETED && t.CHECKCONTENT == entity.CHECKCONTENT && t.ID != entity.ID); + if (olds != null) + { + throw new Exception("检查内容重复,请先修改"); + } var details = entity.Nav_ListCheckQuestion; entity.Nav_ListCheckQuestion = null; if (details != null && details.Any()) @@ -62,13 +67,24 @@ namespace APT.SK.WebApi.Controllers.Api item.CHECK_CONTENTS_ID = entity.ID; } } - + var basics = entity.Nav_ContentsBasics; + entity.Nav_ContentsBasics = null; + if (basics != null && basics.Any()) + { + foreach (var item in basics) + { + item.ORG_ID = entity.ORG_ID; + item.CHECK_CONTENTS_ID = entity.ID; + } + } this.UnifiedCommit(() => { if (entity != null) UpdateEntityNoCommit(entity); if (details != null && details.Any()) BantchSaveEntityNoCommit(details); + if (basics != null && basics.Any()) + BantchSaveEntityNoCommit(basics); }); return true; }); @@ -136,8 +152,8 @@ namespace APT.SK.WebApi.Controllers.Api startRowIndexs.Add(0, 1);//根据Excel格式数据赋值 var dataTables = FileUtils.ReadExcelByOledb(filePath, startRowIndexs); string Msg = string.Empty; - isOK = InsertModel(dataTables.Tables[0], orgId, ref Msg); - + isOK = InsertModel(dataTables.Tables[0], orgId, ref Msg); + try { System.IO.File.Delete(filePath); @@ -172,7 +188,7 @@ namespace APT.SK.WebApi.Controllers.Api } List contents = new List(); List qustions = new List(); - Guid? checkId=null; + Guid? checkId = null; var baseFilter = new BaseFilter(orgId); var oldContents = this.GetEntities(i => i.IS_DELETED == false, baseFilter, "Nav_ListCheckQuestion"); for (int i = 0; i < rowAll; i++) diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/CheckSetController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/CheckSetController.cs index ab137a3..9c81d24 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/CheckSetController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/CheckSetController.cs @@ -55,6 +55,8 @@ namespace APT.SK.WebApi.Controllers.Api { List hiddens = new List(); List basics = new List(); + List areas = new List(); + List risks = new List(); var details = entity.Nav_CheckSetContents; entity.Nav_CheckSetContents = null; if (details != null && details.Any()) @@ -83,9 +85,29 @@ namespace APT.SK.WebApi.Controllers.Api } } item.Nav_ContentsBasics = null; + if (item.Nav_ContentsAreas != null && item.Nav_ContentsAreas.Any()) + { + foreach (var item2 in item.Nav_ContentsAreas) + { + item2.ORG_ID = entity.ORG_ID; + item2.CHECK_SET_CONTENTS_ID = item.ID; + areas.Add(item2); + if (item2.Nav_ContentsAreaRisks != null && item2.Nav_ContentsAreaRisks.Any()) + { + foreach (var item3 in item2.Nav_ContentsAreaRisks) + { + item3.ORG_ID = entity.ORG_ID; + item3.CHECK_SET_CONTENTS_AREA_ID = item2.ID; + risks.Add(item3); + } + } + item2.Nav_ContentsAreaRisks = null; + } + } + item.Nav_ContentsAreas = null; } - } - + } + this.UnifiedCommit(() => { if (entity != null) @@ -96,6 +118,10 @@ namespace APT.SK.WebApi.Controllers.Api BantchSaveEntityNoCommit(hiddens); if (basics != null && basics.Any()) BantchSaveEntityNoCommit(basics); + if (areas != null && areas.Any()) + BantchSaveEntityNoCommit(areas); + if (risks != null && risks.Any()) + BantchSaveEntityNoCommit(risks); }); return true; }); @@ -309,8 +335,8 @@ namespace APT.SK.WebApi.Controllers.Api set.ORG_ID = orgId; set.ID = Guid.NewGuid(); set.MineType = mintype; - set.CHECK_CYCLE = SKPLANCHECKFREQUENCYEnum.Class; - set.CHECK_TYPE = SKDepartmentTypeEnum.岗位级; + set.CHECK_CYCLE = SKPLANCHECKFREQUENCYEnum.Date; + set.CHECK_TYPE = SKDepartmentTypeEnum.班组级; set.CHECK_TYPE_ID = checkType?.ID; set.DEPARTMENT_ID = de.ID; set.POST_ID = po; @@ -318,7 +344,7 @@ namespace APT.SK.WebApi.Controllers.Api set.HIDDEN_DESCRIPTION = hidden; set.RECTIFICATION_MEASURES = measure; set.AREA_NAME = areaName; - set.RISK_NAME = riskName; + set.RISK_NAME = riskName; sets.Add(set); } } @@ -326,7 +352,7 @@ namespace APT.SK.WebApi.Controllers.Api else if (post.Contains(",")) { var temp = post.Split(",").ToList(); - var postIdTemps = posts.Where(t => temp.Contains(t.NAME)).Select(m=>m.ID).ToList(); + var postIdTemps = posts.Where(t => temp.Contains(t.NAME)).Select(m => m.ID).ToList(); var postIds = users.Where(t => t.DEPARTMENT_ID == de.ID && postIdTemps.Contains((Guid)t.Nav_Person.POST_ID)).Select(m => m.Nav_Person.POST_ID).Distinct().ToList(); if (postIds.Any()) { @@ -336,8 +362,8 @@ namespace APT.SK.WebApi.Controllers.Api set.ORG_ID = orgId; set.ID = Guid.NewGuid(); set.MineType = mintype; - set.CHECK_CYCLE = SKPLANCHECKFREQUENCYEnum.Class; - set.CHECK_TYPE = SKDepartmentTypeEnum.岗位级; + set.CHECK_CYCLE = SKPLANCHECKFREQUENCYEnum.Date; + set.CHECK_TYPE = SKDepartmentTypeEnum.班组级; set.CHECK_TYPE_ID = checkType?.ID; set.DEPARTMENT_ID = de.ID; set.POST_ID = po; @@ -362,8 +388,8 @@ namespace APT.SK.WebApi.Controllers.Api set.ORG_ID = orgId; set.ID = Guid.NewGuid(); set.MineType = mintype; - set.CHECK_CYCLE = SKPLANCHECKFREQUENCYEnum.Class; - set.CHECK_TYPE = SKDepartmentTypeEnum.岗位级; + set.CHECK_CYCLE = SKPLANCHECKFREQUENCYEnum.Date; + set.CHECK_TYPE = SKDepartmentTypeEnum.班组级; set.CHECK_TYPE_ID = checkType?.ID; set.DEPARTMENT_ID = de.ID; set.POST_ID = postId.Nav_Person.POST_ID; @@ -395,8 +421,8 @@ namespace APT.SK.WebApi.Controllers.Api set.ORG_ID = orgId; set.ID = Guid.NewGuid(); set.MineType = mintype; - set.CHECK_CYCLE = SKPLANCHECKFREQUENCYEnum.Class; - set.CHECK_TYPE = SKDepartmentTypeEnum.岗位级; + set.CHECK_CYCLE = SKPLANCHECKFREQUENCYEnum.Date; + set.CHECK_TYPE = SKDepartmentTypeEnum.班组级; set.CHECK_TYPE_ID = checkType?.ID; set.DEPARTMENT_ID = departTemp.ID; set.POST_ID = po; @@ -422,8 +448,8 @@ namespace APT.SK.WebApi.Controllers.Api set.ORG_ID = orgId; set.ID = Guid.NewGuid(); set.MineType = mintype; - set.CHECK_CYCLE = SKPLANCHECKFREQUENCYEnum.Class; - set.CHECK_TYPE = SKDepartmentTypeEnum.岗位级; + set.CHECK_CYCLE = SKPLANCHECKFREQUENCYEnum.Date; + set.CHECK_TYPE = SKDepartmentTypeEnum.班组级; set.CHECK_TYPE_ID = checkType?.ID; set.DEPARTMENT_ID = departTemp.ID; set.POST_ID = po; @@ -448,8 +474,8 @@ namespace APT.SK.WebApi.Controllers.Api set.ORG_ID = orgId; set.ID = Guid.NewGuid(); set.MineType = mintype; - set.CHECK_CYCLE = SKPLANCHECKFREQUENCYEnum.Class; - set.CHECK_TYPE = SKDepartmentTypeEnum.岗位级; + set.CHECK_CYCLE = SKPLANCHECKFREQUENCYEnum.Date; + set.CHECK_TYPE = SKDepartmentTypeEnum.班组级; set.CHECK_TYPE_ID = checkType?.ID; set.DEPARTMENT_ID = departTemp.ID; set.POST_ID = postId.Nav_Person.POST_ID; @@ -491,7 +517,7 @@ namespace APT.SK.WebApi.Controllers.Api set.DEPARTMENT_ID = item.Key.DEPARTMENT_ID; set.POST_ID = item.Key.POST_ID; addSets.Add(set); - var contentsTemps= laws.Where(t => t.MineType == item.Key.MineType && t.DEPARTMENT_ID == item.Key.DEPARTMENT_ID && t.POST_ID == item.Key.POST_ID && t.CHECK_CYCLE == item.Key.CHECK_CYCLE && t.CHECK_TYPE_ID == item.Key.CHECK_TYPE_ID && t.CHECK_TYPE == item.Key.CHECK_TYPE).ToList(); + var contentsTemps = laws.Where(t => t.MineType == item.Key.MineType && t.DEPARTMENT_ID == item.Key.DEPARTMENT_ID && t.POST_ID == item.Key.POST_ID && t.CHECK_CYCLE == item.Key.CHECK_CYCLE && t.CHECK_TYPE_ID == item.Key.CHECK_TYPE_ID && t.CHECK_TYPE == item.Key.CHECK_TYPE).ToList(); if (contentsTemps.Any()) { var distinctContents = contentsTemps.Select(t => t.CHECK_CONTENT).Distinct().ToList(); @@ -512,7 +538,7 @@ namespace APT.SK.WebApi.Controllers.Api { foreach (var item3 in hiddenTemps) { - if (item3 != null && !string.IsNullOrEmpty(item3.HIDDEN_DESCRIPTION)) + if (item3 != null && !string.IsNullOrEmpty(item3.HIDDEN_DESCRIPTION)) { var ques = checkQuestions.FirstOrDefault(t => t.DESCREPTION == item3.HIDDEN_DESCRIPTION); T_SK_CHECK_SET_CONTENTS_HIDDEN hid = new T_SK_CHECK_SET_CONTENTS_HIDDEN(); @@ -546,7 +572,7 @@ namespace APT.SK.WebApi.Controllers.Api { if (item4 == "所有风险") { - var libraryTempIds = librarys.Where(t => t.MineType == item.Key.MineType && t.AREA_ID == area.ID).Select(t=>t.RISK_NAME_ID).Distinct().ToList(); + var libraryTempIds = librarys.Where(t => t.MineType == item.Key.MineType && t.AREA_ID == area.ID).Select(t => t.RISK_NAME_ID).Distinct().ToList(); if (libraryTempIds.Any()) { foreach (var item5 in libraryTempIds) @@ -581,7 +607,7 @@ namespace APT.SK.WebApi.Controllers.Api risk.CHECK_SET_CONTENTS_AREA_ID = are.ID; risk.RISK_NAME_ID = item5.ID; addSetAreaRisks.Add(risk); - } + } } } } @@ -669,7 +695,7 @@ namespace APT.SK.WebApi.Controllers.Api { throw new Exception("导入必须两条以上,一条请直接新增"); } - List imports= new List(); + List imports = new List(); int j = 1; for (int i = 0; i < rowAll; i++) { @@ -723,7 +749,7 @@ namespace APT.SK.WebApi.Controllers.Api set.DepartType = SKDepartmentTypeEnum.公司级; break; case "岗位级": - set.DepartType = SKDepartmentTypeEnum.岗位级; + set.DepartType = SKDepartmentTypeEnum.班组级; break; default: set.DepartType = SKDepartmentTypeEnum.公司级; @@ -745,7 +771,7 @@ namespace APT.SK.WebApi.Controllers.Api switch (checkCycle) { case "每班": - set.CheckCycle = SKPLANCHECKFREQUENCYEnum.Class; + set.CheckCycle = SKPLANCHECKFREQUENCYEnum.Date; break; case "每天": set.CheckCycle = SKPLANCHECKFREQUENCYEnum.Date; @@ -778,7 +804,7 @@ namespace APT.SK.WebApi.Controllers.Api List addSetAreaRisks = new List(); if (imports.Any()) { - var departLevelGroups = imports.GroupBy(t => new { t.MineType,t.DepartType,t.CheckTypeId,t.CheckCycle }).ToList(); + var departLevelGroups = imports.GroupBy(t => new { t.MineType, t.DepartType, t.CheckTypeId, t.CheckCycle }).ToList(); if (departLevelGroups.Any()) { foreach (var item in departLevelGroups) @@ -792,7 +818,7 @@ namespace APT.SK.WebApi.Controllers.Api set.CHECK_TYPE_ID = item.Key.CheckTypeId; addSets.Add(set); var contents = imports.Where(t => t.MineType == item.Key.MineType && t.DepartType == item.Key.DepartType && t.CheckCycle == item.Key.CheckCycle && t.CheckTypeId == item.Key.CheckTypeId).ToList(); - var contentGroups = contents.GroupBy(t => new { t.MineType, t.DepartType, t.CheckTypeId, t.CheckCycle,t.CheckContent }).ToList(); + var contentGroups = contents.GroupBy(t => new { t.MineType, t.DepartType, t.CheckTypeId, t.CheckCycle, t.CheckContent }).ToList(); if (contentGroups.Any()) { foreach (var item2 in contentGroups) @@ -822,7 +848,7 @@ namespace APT.SK.WebApi.Controllers.Api } } var areaList = new List(); - var areaTemps = contents.Where(t => t.CheckContent == item2.Key.CheckContent).Select(m=>m.Areas).ToList(); + var areaTemps = contents.Where(t => t.CheckContent == item2.Key.CheckContent).Select(m => m.Areas).ToList(); if (areaTemps.Any()) { foreach (var item3 in areaTemps) @@ -934,7 +960,7 @@ namespace APT.SK.WebApi.Controllers.Api List addSets = new List(); if (imports.Any()) { - var departLevelGroups = imports.GroupBy(t => new { t.CheckContent }).ToList(); + var departLevelGroups = imports.GroupBy(t => new { t.CheckContent }).ToList(); if (departLevelGroups.Any()) { foreach (var item in departLevelGroups) diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/CheckTypeController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/CheckTypeController.cs index 2439b5d..59cd529 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/CheckTypeController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/CheckTypeController.cs @@ -1,7 +1,10 @@ -using APT.Infrastructure.Core; +using APT.BaseData.Domain.Entities.FM; +using APT.Infrastructure.Core; using APT.MS.Domain.Entities.SK; +using APT.MS.Domain.Enums.SK; using APT.Utility; using Microsoft.AspNetCore.Mvc; +using System; using System.Linq; namespace APT.SK.WebApi.Controllers.Api @@ -22,6 +25,11 @@ namespace APT.SK.WebApi.Controllers.Api { return SafeExecute(() => { + var olds = this.GetEntity(t => !t.IS_DELETED && t.MineType == entity.MineType && t.NAME == entity.NAME && t.ID != entity.ID); + if (olds != null) + { + throw new Exception("该生产单元检查类型已存在,请先修改"); + } var details = entity.Nav_CheckCycle; entity.Nav_CheckCycle = null; if (details != null && details.Any()) @@ -43,5 +51,27 @@ namespace APT.SK.WebApi.Controllers.Api return true; }); } + /// + /// 查询 + /// + /// + /// + [HttpPost, Route("OrderPagedNew")] + public PagedActionResult OrderPagedNew([FromBody] KeywordPageFilter pageFilter) + { + var result = new PagedActionResult(); + if (!string.IsNullOrEmpty(pageFilter.Keyword)) + { + if (pageFilter.Keyword != "0") + { + FilterRule order2 = new FilterRule(); + order2.Field = "MineType"; + order2.Value = (SKProductionUnit)(int.Parse(pageFilter.Keyword)); + pageFilter.FilterGroup.Rules.Add(order2); + } + } + result = GetOrderPageEntities(null, pageFilter); + return result; + } } } diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/DoublePreventMechanismController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/DoublePreventMechanismController.cs index be30ae1..0516c71 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/DoublePreventMechanismController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/DoublePreventMechanismController.cs @@ -54,7 +54,9 @@ namespace APT.SK.WebApi.Controllers.Api if (entity.APPLY_USER_ID == null) { entity.APPLY_USER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID; - } + } + entity.ApplyDepartmentName = this.GetEntity(t => t.ID == entity.APPLY_DEPARTMENT_ID).NAME; + entity.ApplyPostName = this.GetEntity(t => t.ID == entity.APPLY_USER_ID, "Nav_Person.Nav_Post")?.Nav_Person?.Nav_Post?.NAME; List detailIds = new List(); List detailDepartIds = new List(); List detailPostIds = new List(); @@ -146,8 +148,8 @@ namespace APT.SK.WebApi.Controllers.Api item3.Nav_DetailMeasureContentBasics = null; item3.Nav_DetailMeasureContentPosts = null; } - } - + } + item2.ORG_ID = entity.ORG_ID; item2.DOUBLE_PREVENT_MECHANISM_DETAIL_ID = item.ID; item2.Nav_DetailMeasureContents = null; @@ -155,13 +157,13 @@ namespace APT.SK.WebApi.Controllers.Api } } var departType = ""; - if (item.Nav_DetailPosts!=null && item.Nav_DetailPosts.Any()) + if (item.Nav_DetailPosts != null && item.Nav_DetailPosts.Any()) { foreach (var item2 in item.Nav_DetailPosts) { item2.ORG_ID = entity.ORG_ID; item2.DOUBLE_PREVENT_MECHANISM_DETAIL_ID = item.ID; - departType = departType + item2.DEPARTMENT_TYPE.GetDescription()+","; + departType = departType + item2.DEPARTMENT_TYPE.GetDescription() + ","; detailPostList.Add(item2); } } diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/EnterpriseLibraryController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/EnterpriseLibraryController.cs index bff036d..45c3575 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/EnterpriseLibraryController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/EnterpriseLibraryController.cs @@ -29,6 +29,13 @@ using System.IO; using Org.BouncyCastle.Utilities; using Microsoft.Extensions.Logging; using APT.BaseData.Domain.Enums.PF; +using APT.MS.Data.Mapping; +using Microsoft.CodeAnalysis.CSharp.Syntax; +using log4net.Core; +using System.Reflection.Metadata; +using APT.MS.Domain.Entities.PF; +using Google.Protobuf.Collections; +using Microsoft.Extensions.Hosting; namespace APT.SK.WebApi.Controllers.Api { @@ -54,6 +61,7 @@ namespace APT.SK.WebApi.Controllers.Api } public class CheckListDetail { + public string RISK_NAME { get; set; } public Guid? RISK_AREA_ID { get; set; } public string RISK_AREA_NAME { get; set; } @@ -65,6 +73,19 @@ namespace APT.SK.WebApi.Controllers.Api public string CHECKSTANDARD { get; set; } } + + public class CheckListNew + { + public string MineType { get; set; } + + public string CheckType { get; set; } + public string CheckCycle { get; set; } + public string CheckLevel { get; set; } + public int Num { get; set; } + public string CheckDepart { get; set; } + public string CheckPost { get; set; } + public List details { get; set; } + } /// /// 企业库 /// @@ -101,19 +122,32 @@ namespace APT.SK.WebApi.Controllers.Api List postIds = new List(); List hiddenIds = new List(); List basicIds = new List(); + List libraryDepart = new List(); + List libraryPost = new List(); List libraryPostList = new List(); + List libraryDetail = new List(); List contentList = new List(); List departList = new List(); List postList = new List(); List hiddenList = new List(); List basicList = new List(); + var departments = this.GetEntities(t => t.ENABLE_STATUS == 0, new BaseFilter(entity.ORG_ID), "Nav_User").ToList(); if (departs != null && departs.Any()) { libraryDepartIds = this.GetEntities(t => t.ENTERPRISE_LIBRARY_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); - foreach (var item in departs) + foreach (var item in departs.Where(t => !t.IS_DELETED).ToList()) { - item.ORG_ID = entity.ORG_ID; - item.ENTERPRISE_LIBRARY_ID = entity.ID; + var approve = departments.FirstOrDefault(t => t.ID == item.DEPARTMENT_ID); + T_SK_ENTERPRISE_LIBRARY_DEPART de = new T_SK_ENTERPRISE_LIBRARY_DEPART(); + de.ID = Guid.NewGuid(); + de.ORG_ID = entity.ORG_ID; + de.ENTERPRISE_LIBRARY_ID = entity.ID; + de.DEPARTMENT_TYPE = item.DEPARTMENT_TYPE; + de.USER_ID = item.USER_ID; + de.DEPARTMENT_ID = item.DEPARTMENT_ID; + de.USER_ID = approve?.Nav_User?.ID; + de.APPROVE_ROLE_ID = approve?.Nav_User?.APPROVE_ROLE_ID; + libraryDepart.Add(de); } //var departTemp= departs.Where(t=>!t.IS_DELETED).Select(t=>t.DEPARTMENT_TYPE).Distinct().ToList(); //if (departTemp.Any()) @@ -126,18 +160,24 @@ namespace APT.SK.WebApi.Controllers.Api { libraryPostIds = this.GetEntities(t => t.ENTERPRISE_LIBRARY_ID == entity.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(); - foreach (var item in posts) + foreach (var item in posts.Where(t => !t.IS_DELETED).ToList()) { - item.ORG_ID = entity.ORG_ID; - item.ENTERPRISE_LIBRARY_ID = entity.ID; + T_SK_ENTERPRISE_LIBRARY_POST po = new T_SK_ENTERPRISE_LIBRARY_POST(); + po.ID = Guid.NewGuid(); + po.ORG_ID = entity.ORG_ID; + po.ENTERPRISE_LIBRARY_ID = entity.ID; + po.DEPARTMENT_ID = item.DEPARTMENT_ID; + libraryPost.Add(po); if (item.Nav_PostDetails != null && item.Nav_PostDetails.Any()) { - foreach (var item2 in item.Nav_PostDetails) + foreach (var item2 in item.Nav_PostDetails.Where(t => !t.IS_DELETED).ToList()) { - item2.ORG_ID = entity.ORG_ID; - item2.ENTERPRISE_LIBRARY_POST_ID = item.ID; - item2.Nav_Post = null; - libraryPostList.Add(item2); + T_SK_ENTERPRISE_LIBRARY_POST_DETAIL detai = new T_SK_ENTERPRISE_LIBRARY_POST_DETAIL(); + detai.ID = Guid.NewGuid(); + detai.ORG_ID = entity.ORG_ID; + detai.ENTERPRISE_LIBRARY_POST_ID = po.ID; + detai.POST_ID = item2.POST_ID; + libraryPostList.Add(detai); } } } @@ -150,61 +190,256 @@ namespace APT.SK.WebApi.Controllers.Api hiddenIds = 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(); - foreach (var item in details) + foreach (var item in details.Where(t => !t.IS_DELETED).ToList()) { + T_SK_ENTERPRISE_LIBRARY_DETAIL de = new T_SK_ENTERPRISE_LIBRARY_DETAIL(); + de.ID = Guid.NewGuid(); + de.ORG_ID = entity.ORG_ID; + de.ENTERPRISE_LIBRARY_ID = entity.ID; + de.MEASURES_NAME = item.MEASURES_NAME; + de.EMERGENCY = item.EMERGENCY; + de.NUM = item.NUM; + libraryDetail.Add(de); if (item.Nav_DetailContents != null && item.Nav_DetailContents.Any()) { - foreach (var item2 in item.Nav_DetailContents) + foreach (var item2 in item.Nav_DetailContents.Where(t => !t.IS_DELETED).ToList()) { + T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT con = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT(); + con.ID = Guid.NewGuid(); + con.ORG_ID = entity.ORG_ID; + con.ENTERPRISE_LIBRARY_DETAIL_ID = de.ID; + con.CHECK_CONTENTS_ID = item2.CHECK_CONTENTS_ID; + con.CHECK_CONTENT = item2.CHECK_CONTENT; + con.CHECK_BASIC = item2.CHECK_BASIC; + con.CHECK_STANDARD = item2.CHECK_STANDARD; + con.NUM = item2.NUM; + contentList.Add(con); if (item2.Nav_DetailHiddens != null && item2.Nav_DetailHiddens.Any()) { - foreach (var item3 in item2.Nav_DetailHiddens) + foreach (var item3 in item2.Nav_DetailHiddens.Where(t => !t.IS_DELETED).ToList()) { - item3.ORG_ID = entity.ORG_ID; - item3.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = item2.ID; - hiddenList.Add(item3); + T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_HIDDEN hi = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_HIDDEN(); + hi.ID = Guid.NewGuid(); + hi.ORG_ID = entity.ORG_ID; + hi.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = con.ID; + hi.CHECK_QUESTION_ID = item3.CHECK_QUESTION_ID; + hi.HIDDEN_DESCRIPTION = item3.HIDDEN_DESCRIPTION; + hi.HIDDEN_LEVEL = item3.HIDDEN_LEVEL; + hi.RECTIFICATION_MEASURES = item3.RECTIFICATION_MEASURES; + hi.NUM = item3.NUM; + hiddenList.Add(hi); } } if (item2.Nav_DetailBasics != null && item2.Nav_DetailBasics.Any()) { - foreach (var item3 in item2.Nav_DetailBasics) + foreach (var item3 in item2.Nav_DetailBasics.Where(t => !t.IS_DELETED).ToList()) { - item3.ORG_ID = entity.ORG_ID; - item3.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = item2.ID; - basicList.Add(item3); + T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_BASIC ba = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_BASIC(); + ba.ID = Guid.NewGuid(); + ba.ORG_ID = entity.ORG_ID; + ba.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = con.ID; + ba.LAW_ID = item3.LAW_ID; + basicList.Add(ba); } - } + } + if (item2.Nav_DetailDeparts != null && item2.Nav_DetailDeparts.Any()) { - foreach (var item4 in item2.Nav_DetailDeparts) + foreach (var item4 in item2.Nav_DetailDeparts.Where(t => !t.IS_DELETED).ToList()) { + T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART pt = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART(); + pt.ID = Guid.NewGuid(); + pt.ORG_ID = entity.ORG_ID; + pt.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = con.ID; + pt.CHECK_TYPE = item4.CHECK_TYPE; + pt.DEPARTMENT_ID = item4.DEPARTMENT_ID; + pt.CHECK_TYPE_ID = item4.CHECK_TYPE_ID; + pt.CHECK_CYCLE = item4.CHECK_CYCLE; + pt.NUM = item4.NUM; + departList.Add(pt); if (item4.Nav_DetailPosts != null && item4.Nav_DetailPosts.Any()) { - foreach (var item5 in item4.Nav_DetailPosts) + foreach (var item5 in item4.Nav_DetailPosts.Where(t => !t.IS_DELETED).ToList()) { - item5.ORG_ID = entity.ORG_ID; - item5.ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART_ID = item4.ID; - postList.Add(item5); + T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_POST po = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_POST(); + po.ID = Guid.NewGuid(); + po.ORG_ID = entity.ORG_ID; + po.ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART_ID = pt.ID; + po.POST_ID = item5.POST_ID; + postList.Add(po); } - } - item4.ORG_ID = entity.ORG_ID; - item4.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = item2.ID; - item4.Nav_DetailPosts = null; - departList.Add(item4); + } + } - } - item2.ORG_ID = entity.ORG_ID; - item2.ENTERPRISE_LIBRARY_DETAIL_ID = item.ID; - item2.Nav_DetailHiddens = null; - item2.Nav_DetailDeparts = null; - contentList.Add(item2); + } + } - } - item.ORG_ID = entity.ORG_ID; - item.ENTERPRISE_LIBRARY_ID = entity.ID; - item.Nav_DetailContents = null; + } + } } + //辨识层级 + var postdepartIds = libraryPost.Select(t => t.DEPARTMENT_ID).Distinct().ToList(); + var identitylLevel = departments.Where(m => postdepartIds.Contains(m.ID)).Select(t => t.DEPARTMENT_TYPE).Distinct().ToList(); + if (identitylLevel != null && identitylLevel.Any()) + { + + } + else + { + throw new Exception("辨识岗位不能为空"); + } + //管控层级 + var controlLevel = libraryDepart.Select(t => t.DEPARTMENT_TYPE).Distinct().ToList(); + var count = controlLevel.Count(); + //检查层级 + var checkLevel = departList.Select(t => t.CHECK_TYPE).Distinct().ToList(); + if (entity.EVALUATE_LEVEL == SKEvaluateLevelEnum.重大风险) + { + if (count >= 4 && controlLevel.Contains(SKDepartmentTypeEnum.公司级)) + { + //重大风险管控层级必须有四个层级,并且要有公司级 + } + else + { + foreach (var level in identitylLevel) + { + if (!controlLevel.Contains((SKDepartmentTypeEnum)level)) + { + throw new Exception("缺少管控层级,请添加管控层级:" + ((SKDepartmentTypeEnum)level).GetDescription()); + } + } + } + } + if (entity.EVALUATE_LEVEL == SKEvaluateLevelEnum.较大风险) + { + + if (count >= 3 && controlLevel.Contains(SKDepartmentTypeEnum.部门级)) + { + //较大风险管控层级必须有三个层级,并且要有部门级 + } + else + { + foreach (var level in identitylLevel) + { + if (!controlLevel.Contains((SKDepartmentTypeEnum)level)) + { + throw new Exception("缺少管控层级,请添加管控层级:" + ((SKDepartmentTypeEnum)level).GetDescription()); + } + } + } + } + if (entity.EVALUATE_LEVEL == SKEvaluateLevelEnum.一般风险) + { + if (count >= 2 && controlLevel.Contains(SKDepartmentTypeEnum.车间级)) + { + //一般风险管控层级必须有两个层级,并且要有车间级 + } + else + { + foreach (var level in identitylLevel) + { + if (!controlLevel.Contains((SKDepartmentTypeEnum)level)) + { + throw new Exception("缺少管控层级,请添加管控层级:" + ((SKDepartmentTypeEnum)level).GetDescription()); + } + } + } + } + if (entity.EVALUATE_LEVEL == SKEvaluateLevelEnum.低风险) + { + if (count >= 1 && controlLevel.Contains(SKDepartmentTypeEnum.班组级)) + { + //低风险管控层级必须有一个层级,并且要有班组级 + } + else + { + foreach (var level in identitylLevel) + { + if (!controlLevel.Contains((SKDepartmentTypeEnum)level)) + { + throw new Exception("缺少管控层级,请添加管控层级:" + ((SKDepartmentTypeEnum)level).GetDescription()); + } + } + + } + } + + if (controlLevel != null && controlLevel.Any()) + { + foreach (var level in controlLevel) + { + if (!checkLevel.Contains(level)) + { + throw new Exception("管控层级与检查层级不一致,请添加检查层级:" + level.GetDescription()); + } + } + } + else + { + throw new Exception("管控层级不能为空"); + } + if (checkLevel != null && checkLevel.Any()) + { + foreach (var level in checkLevel) + { + if (!controlLevel.Contains(level)) + { + throw new Exception("检查层级与管控层级不一致,请添加管控层级:" + level.GetDescription()); + } + } + } + else + { + throw new Exception("检查部门不能为空"); + } + //更新岗位清单表的检查内容 + //List setContentList = new List(); + //List setContentHiddenList = new List(); + //var checkType = this.GetEntity(t => t.NAME == "岗位排查"); + //if (checkType == null) + //{ + // throw new Exception("请到系统管理维护检查类型:岗位排查!"); + //} + //var sets = this.GetEntities(t =>t.CHECK_TYPE_ID == checkType.ID, new BaseFilter(entity.ORG_ID)).ToList(); + //var setIds = sets.Select(t=>t.ID).ToList(); + //var setContents = this.GetEntities(t => setIds.Contains(t.CHECK_SET_ID), new BaseFilter(entity.ORG_ID)).ToList(); + //if (postList.Any()) + //{ + // foreach (var item in postList) + // { + // var setFirst = sets.FirstOrDefault(t => t.POST_ID == item.POST_ID && t.CHECK_TYPE_ID == item.Nav_DetailDepart?.CHECK_TYPE_ID); + // if (setFirst != null) + // { + // var contentFirst = setContents.FirstOrDefault(t => t.CHECK_SET_ID == setFirst.ID && t.CHECK_CONTENTS_ID == item.Nav_DetailDepart?.Nav_DetailContent?.CHECK_CONTENTS_ID); + // if (contentFirst == null) + // { + // //添加检查内容 + // T_SK_CHECK_SET_CONTENTS con = new T_SK_CHECK_SET_CONTENTS(); + // con.ORG_ID = setFirst.ORG_ID; + // con.CHECK_CONTENTS_ID = item.Nav_DetailDepart?.Nav_DetailContent?.CHECK_CONTENTS_ID; + // con.CHECK_CONTENT = item.Nav_DetailDepart?.Nav_DetailContent?.CHECK_CONTENT; + // con.CHECK_SET_ID = setFirst.ID; + // setContentList.Add(con); + // if (item.Nav_DetailDepart!=null && item.Nav_DetailDepart.Nav_DetailContent != null && item.Nav_DetailDepart.Nav_DetailContent.Nav_DetailHiddens!=null &&item.Nav_DetailDepart.Nav_DetailContent.Nav_DetailHiddens.Any()) + // { + // foreach (var item2 in item.Nav_DetailDepart.Nav_DetailContent.Nav_DetailHiddens) + // { + // T_SK_CHECK_SET_CONTENTS_HIDDEN hid = new T_SK_CHECK_SET_CONTENTS_HIDDEN(); + // hid.ORG_ID = entity.ORG_ID; + // hid.CHECK_CONTENTS_SET_ID = con.ID; + // hid.CHECK_QUESTION_ID = item2.CHECK_QUESTION_ID; + // hid.RECTIFICATION_MEASURES = item2.RECTIFICATION_MEASURES; + // hid.HIDDEN_DESCRIPTION = item2.HIDDEN_DESCRIPTION; + // hid.HIDDEN_LEVEL = (SKHiddenLevel)item2.HIDDEN_LEVEL; + // setContentHiddenList.Add(hid); + // } + // } + // } + // } + // } + //} + //postList.ForEach(t => t.Nav_DetailDepart = null); List libraryIds = new List(); List basicDetailIds = new List(); List basicContentIds = new List(); @@ -329,12 +564,12 @@ namespace APT.SK.WebApi.Controllers.Api this.BantchDeleteEntityNoCommit(libraryDepartIds); if (entity != null) UpdateEntityNoCommit(entity); - if (details != null && details.Any()) - BantchSaveEntityNoCommit(details); - if (departs != null && departs.Any()) - BantchSaveEntityNoCommit(departs); - if (posts != null && posts.Any()) - BantchSaveEntityNoCommit(posts); + if (libraryDetail != null && libraryDetail.Any()) + BantchSaveEntityNoCommit(libraryDetail); + if (libraryDepart != null && libraryDepart.Any()) + BantchSaveEntityNoCommit(libraryDepart); + if (libraryPost != null && libraryPost.Any()) + BantchSaveEntityNoCommit(libraryPost); if (libraryPostList != null && libraryPostList.Any()) BantchSaveEntityNoCommit(libraryPostList); if (contentList != null && contentList.Any()) @@ -367,6 +602,10 @@ namespace APT.SK.WebApi.Controllers.Api BantchSaveEntityNoCommit(libraryHiddenList); if (libraryBasicList != null && libraryBasicList.Any()) BantchSaveEntityNoCommit(libraryBasicList); + //if (setContentList != null && setContentList.Any()) + // BantchSaveEntityNoCommit(setContentList); + //if (setContentHiddenList != null && setContentHiddenList.Any()) + // BantchSaveEntityNoCommit(setContentHiddenList); }); return true; }); @@ -401,7 +640,7 @@ namespace APT.SK.WebApi.Controllers.Api foreach (var item in result.Data) { //管控措施 - var detailStr = new List(); + var detailStr = new List(); if (item.Nav_Details != null && item.Nav_Details.Any()) { var i = 1; @@ -721,8 +960,8 @@ namespace APT.SK.WebApi.Controllers.Api i++; } } - } - + } + if (controlLevelStr.Any()) { controlLevelStr = controlLevelStr.Distinct().ToList(); @@ -904,6 +1143,7 @@ namespace APT.SK.WebApi.Controllers.Api item.AREA_ID = item.Nav_LibraryDetail.Nav_Library.AREA_ID; item.Nav_Contents = item.Nav_Contents; item.Nav_Area = item.Nav_LibraryDetail.Nav_Library.Nav_Area; + item.RISK_NAME = item.Nav_LibraryDetail.Nav_Library.RISK_NAME; } } var userPosts = this.GetEntities(t => t.IS_DELETED == false, new BaseFilter(filter.OrgId)).ToList(); @@ -918,7 +1158,7 @@ namespace APT.SK.WebApi.Controllers.Api item2.POST_NAME = userPosts.FirstOrDefault(t => t.ID == item.POST_ID)?.NAME; var tempIds = detailContents.Where(t => t.DEPARTMENT_ID == item.Nav_DetailDepart.DEPARTMENT_ID).Select(m => m.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID).ToList(); var contentTemps = contentList.Where(t => tempIds.Contains(t.ID)).ToList(); - item2.Nav_ContentDatas = contentTemps.GroupBy(t => new { t.MineType, t.AREA_NAME, t.CHECK_CONTENT }).Select(m => m.FirstOrDefault()).OrderBy(n => n.MineType).ThenBy(x => x.AREA_NAME).ToList(); + item2.Nav_ContentDatas = contentTemps.GroupBy(t => new { t.MineType, t.AREA_NAME, t.Nav_Contents?.CHECKCONTENT }).Select(m => m.FirstOrDefault()).OrderBy(n => n.MineType).ThenBy(x => x.AREA_NAME).ToList(); checkTempList.Add(item2); } checkList.Data = checkTempList; @@ -1544,11 +1784,11 @@ namespace APT.SK.WebApi.Controllers.Api if (checkList.Data != null && checkList.Data.Any()) { var libraryIds = postLists.Select(m => m.ENTERPRISE_LIBRARY_ID).Distinct().ToList(); - var librarys = this.GetEntities(t => libraryIds.Contains(t.ID), new BaseFilter(filter.OrgId), "Nav_Area", "Nav_Type", "Nav_RiskName", "Nav_Details"); + var librarys = this.GetEntities(t => libraryIds.Contains(t.ID), new BaseFilter(filter.OrgId), "Nav_Area", "Nav_Type", "Nav_RiskName", "Nav_Details", "Nav_Photo.Nav_ImgFile"); foreach (var item in checkList.Data) { var tempIds = postLists.Where(t => t.DEPARTMENT_ID == item.DEPARTMENT_ID && t.POST_NAME == item.POST_NAME).Select(m => m.ENTERPRISE_LIBRARY_ID).Distinct().ToList(); - item.Nav_Librarys = librarys.Where(t => tempIds.Contains(t.ID)).ToList(); + item.Nav_Librarys = librarys.Where(t => tempIds.Contains(t.ID)).OrderBy(m => m.EVALUATE_LEVEL).ToList(); } } checkList.TotalCount = checkList.Data.Count; @@ -1828,49 +2068,49 @@ namespace APT.SK.WebApi.Controllers.Api return SafeExecute(() => { var result = new T_SK_ENTERPRISE_LIBRARY(); - var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID").Value.ToString(); + var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID")?.Value.ToString(); var mineType = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "MineType"); var areaId = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "AREA_ID"); - var typeId = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "TYPE_ID"); + //var typeId = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "TYPE_ID"); var riskName = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "RISK_NAME"); - var riskDes = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "RISK_DESCRIPTION"); + //var riskDes = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "RISK_DESCRIPTION"); filter.IgnoreDataRule = true; if (!string.IsNullOrEmpty(id)) { result = this.GetEntity(id, new string[] { "Nav_Type", "Nav_Area","Nav_RiskName", "Nav_SCOREL","Nav_SCOREE","Nav_SCOREC"}); } - else if (mineType != null && areaId != null && typeId != null && riskName != null && riskDes != null) + else if (mineType != null && areaId != null && riskName != null)//&& typeId != null && riskDes!=null { var temp = SKProductionUnit.All; - switch (mineType.Value) + switch (mineType.Value.ToString()) { - case 0: + case "0": temp = SKProductionUnit.All; break; - case 10: + case "10": temp = SKProductionUnit.MineChoose; break; - case 20: + case "20": temp = SKProductionUnit.Minelast; break; - case 30: + case "30": temp = SKProductionUnit.Mine; break; - case 40: + case "40": temp = SKProductionUnit.MineUnderGround; break; - case 31: + case "31": temp = SKProductionUnit.Department; break; - case 32: + case "32": temp = SKProductionUnit.Nonmetallic; break; - default: + default: temp = SKProductionUnit.All; break; } - result = this.GetEntity(t => t.MineType == temp && t.AREA_ID == (Guid)areaId.Value && t.TYPE_ID == (Guid)typeId.Value && t.RISK_NAME == riskName.Value.ToString() && t.RISK_DESCRIPTION == riskDes.Value.ToString(), new string[] { "Nav_Type", "Nav_Area","Nav_RiskName", + result = this.GetEntity(t => t.MineType == temp && t.AREA_ID == Guid.Parse(areaId.Value.ToString()) && t.RISK_NAME == riskName.Value.ToString(), new string[] { "Nav_Type", "Nav_Area","Nav_RiskName", "Nav_SCOREL","Nav_SCOREE","Nav_SCOREC"}); } if (result != null) @@ -1938,5 +2178,317 @@ namespace APT.SK.WebApi.Controllers.Api result = GetOrderPageEntities(null, pageFilter); return result; } + [HttpPost, Route("GetCheckListOld")] + public JsonActionResult> GetCheckListOld([FromBody] KeywordFilter filter) + { + var loginDepart = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID; + var departs = this.GetEntities(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId)); + List selectMinetype = new List(); + var minetype = departs.FirstOrDefault(t => t.ID == loginDepart)?.MineType; + switch (minetype) + { + case 0: + selectMinetype.Add(SKProductionUnit.All.GetDescription()); + selectMinetype.Add(SKProductionUnit.MineChoose.GetDescription()); + selectMinetype.Add(SKProductionUnit.MineUnderGround.GetDescription()); + selectMinetype.Add(SKProductionUnit.Minelast.GetDescription()); + selectMinetype.Add(SKProductionUnit.Mine.GetDescription()); + selectMinetype.Add(SKProductionUnit.Department.GetDescription()); + selectMinetype.Add(SKProductionUnit.Nonmetallic.GetDescription()); + break; + case 10: + selectMinetype.Add(SKProductionUnit.MineChoose.GetDescription()); + selectMinetype.Add(SKProductionUnit.Minelast.GetDescription()); + selectMinetype.Add(SKProductionUnit.Nonmetallic.GetDescription()); + break; + case 20: + selectMinetype.Add(SKProductionUnit.Minelast.GetDescription()); + break; + case 30: + selectMinetype.Add(SKProductionUnit.Mine.GetDescription()); + break; + case 40: + selectMinetype.Add(SKProductionUnit.MineUnderGround.GetDescription()); + break; + default: + selectMinetype.Add(SKProductionUnit.All.GetDescription()); + selectMinetype.Add(SKProductionUnit.MineChoose.GetDescription()); + selectMinetype.Add(SKProductionUnit.MineUnderGround.GetDescription()); + selectMinetype.Add(SKProductionUnit.Minelast.GetDescription()); + selectMinetype.Add(SKProductionUnit.Mine.GetDescription()); + selectMinetype.Add(SKProductionUnit.Department.GetDescription()); + selectMinetype.Add(SKProductionUnit.Nonmetallic.GetDescription()); + break; + } + //List departmentIds = new List() { loginDepart.Value }; + //DepartmentService.GetDepartmentIds(filter.OrgId.Value, new List() { loginDepart.Value }, ref departmentIds); + var checkList = new JsonActionResult>(); + List list = new List(); + var checkTypeIds = this.GetEntities(t => t.NAME == "岗位排查", new BaseFilter(filter.OrgId)).Select(m => m.ID).ToList(); + var detailContents = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_DetailContent.Nav_LibraryDetail.Nav_Library", "Nav_CheckType", "Nav_Department").ToList(); + var contents = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_LibraryDetail.Nav_Library.Nav_Area", "Nav_Contents").ToList(); + var libraryIds = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId)).Select(m => m.ENTERPRISE_LIBRARY_ID).ToList(); + var posts = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_PostDetails.Nav_Post").ToList(); + if (detailContents != null && detailContents.Any()) + { + detailContents.ForEach(t => t.MineType = t.Nav_DetailContent.Nav_LibraryDetail.Nav_Library.MineType); + var group = detailContents.GroupBy(t => new { t.MineType, t.CHECK_TYPE, t.CHECK_CYCLE, t.DEPARTMENT_ID, t.CHECK_TYPE_ID }).ToList(); + foreach (var item in group) + { + var detail = detailContents.FirstOrDefault(t => t.MineType == item.Key.MineType && t.CHECK_CYCLE == item.Key.CHECK_CYCLE && t.CHECK_TYPE == item.Key.CHECK_TYPE && t.CHECK_TYPE_ID == item.Key.CHECK_TYPE_ID && t.DEPARTMENT_ID == item.Key.DEPARTMENT_ID); + CheckListNew listNew = new CheckListNew(); + listNew.MineType = item.Key.MineType.GetDescription(); + listNew.CheckType = detail?.Nav_CheckType?.NAME; + listNew.CheckCycle = item.Key.CHECK_CYCLE.GetDescription(); + listNew.CheckLevel = item.Key.CHECK_TYPE.GetDescription(); + listNew.Num = (int)item.Key.CHECK_TYPE; + listNew.CheckDepart = detail?.Nav_Department?.NAME; + if (checkTypeIds != null && checkTypeIds.Any() && item.Key.CHECK_TYPE_ID != null && checkTypeIds.Contains((Guid)item.Key.CHECK_TYPE_ID)) + { + var itemTemp = posts.FirstOrDefault(t => t.ENTERPRISE_LIBRARY_ID == detail.Nav_DetailContent.Nav_LibraryDetail.Nav_Library.ID && t.DEPARTMENT_ID == item.Key.DEPARTMENT_ID)?.Nav_PostDetails; + if (itemTemp != null && itemTemp.Any()) + { + var lists = itemTemp.Select(t => t.Nav_Post?.NAME).Distinct().ToList(); + listNew.CheckPost = string.Join(",", lists); + } + else + { + listNew.CheckPost = detail?.Nav_Department?.NAME + "辨识岗位未配置"; + } + } + else + { + if (item.Key.CHECK_TYPE == SKDepartmentTypeEnum.班组级) + { + listNew.CheckPost = "班组负责人"; + } + else if (item.Key.CHECK_TYPE == SKDepartmentTypeEnum.车间级) + { + listNew.CheckPost = "车间安全员"; + } + else if (item.Key.CHECK_TYPE == SKDepartmentTypeEnum.部门级) + { + listNew.CheckPost = "部门安全员"; + } + else + { + listNew.CheckPost = "安环部安全员"; + } + } + + var depathaveIds = detailContents.Where(t => t.DEPARTMENT_ID == item.Key.DEPARTMENT_ID && t.CHECK_TYPE_ID == item.Key.CHECK_TYPE_ID && t.CHECK_TYPE == item.Key.CHECK_TYPE && t.CHECK_CYCLE == item.Key.CHECK_CYCLE && t.MineType == item.Key.MineType).Select(m => m.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID).Distinct().ToList(); + var temps = contents.Where(t => depathaveIds.Contains(t.ID)).ToList(); + if (temps.Any()) + { + List listDetail = new List(); + foreach (var tem in temps) + { + CheckListDetail checkListDetail = new CheckListDetail(); + checkListDetail.CHECK_CONTENTS_ID = tem.CHECK_CONTENTS_ID; + checkListDetail.CHECK_CONTENTS_NAME = tem.Nav_Contents?.CHECKCONTENT; + checkListDetail.RISK_NAME = tem.Nav_LibraryDetail?.Nav_Library?.RISK_NAME; + checkListDetail.RISK_AREA_ID = tem.Nav_LibraryDetail?.Nav_Library?.AREA_ID; + checkListDetail.RISK_AREA_NAME = tem.Nav_LibraryDetail?.Nav_Library?.Nav_Area?.NAME; + checkListDetail.CHECKPROOF = tem.CHECK_BASIC; + checkListDetail.CHECKSTANDARD = tem.CHECK_STANDARD; + listDetail.Add(checkListDetail); + } + listNew.details = listDetail.OrderBy(t => t.RISK_AREA_NAME).ThenBy(m => m.RISK_NAME).ToList(); + } + list.Add(listNew); + } + checkList.Data = list.Where(t => selectMinetype.Contains(t.MineType)).GroupBy(t => new { t.MineType, t.CheckType, t.CheckCycle, t.CheckLevel, t.CheckDepart, t.CheckPost }).Select(m => m.FirstOrDefault()).OrderBy(n => n.MineType).ThenBy(x => x.Num).ThenBy(y => y.CheckType).ToList(); + checkList.TotalCount = checkList.Data.Count; + } + return checkList; + } + [HttpPost, Route("GetCheckListNew")] + public JsonActionResult> GetCheckListNew([FromBody] KeywordFilter filter) + { + var loginDepart = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID; + var departs = this.GetEntities(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId)); + List selectMinetype = new List(); + var minetype = departs.FirstOrDefault(t => t.ID == loginDepart)?.MineType; + switch (minetype) + { + case 0: + selectMinetype.Add(SKProductionUnit.All.GetDescription()); + selectMinetype.Add(SKProductionUnit.MineChoose.GetDescription()); + selectMinetype.Add(SKProductionUnit.MineUnderGround.GetDescription()); + selectMinetype.Add(SKProductionUnit.Minelast.GetDescription()); + selectMinetype.Add(SKProductionUnit.Mine.GetDescription()); + selectMinetype.Add(SKProductionUnit.Department.GetDescription()); + selectMinetype.Add(SKProductionUnit.Nonmetallic.GetDescription()); + break; + case 10: + selectMinetype.Add(SKProductionUnit.MineChoose.GetDescription()); + selectMinetype.Add(SKProductionUnit.Minelast.GetDescription()); + selectMinetype.Add(SKProductionUnit.Nonmetallic.GetDescription()); + break; + case 20: + selectMinetype.Add(SKProductionUnit.Minelast.GetDescription()); + break; + case 30: + selectMinetype.Add(SKProductionUnit.Mine.GetDescription()); + break; + case 40: + selectMinetype.Add(SKProductionUnit.MineUnderGround.GetDescription()); + break; + default: + selectMinetype.Add(SKProductionUnit.All.GetDescription()); + selectMinetype.Add(SKProductionUnit.MineChoose.GetDescription()); + selectMinetype.Add(SKProductionUnit.MineUnderGround.GetDescription()); + selectMinetype.Add(SKProductionUnit.Minelast.GetDescription()); + selectMinetype.Add(SKProductionUnit.Mine.GetDescription()); + selectMinetype.Add(SKProductionUnit.Department.GetDescription()); + selectMinetype.Add(SKProductionUnit.Nonmetallic.GetDescription()); + break; + } + //List departmentIds = new List() { loginDepart.Value }; + //DepartmentService.GetDepartmentIds(filter.OrgId.Value, new List() { loginDepart.Value }, ref departmentIds); + var checkList = new JsonActionResult>(); + List list = new List(); + List detailContents = new List(); + var checkTypeIds = this.GetEntities(t => t.NAME == "岗位排查", new BaseFilter(filter.OrgId)).Select(m => m.ID).ToList(); + var users = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_Person").ToList(); + var librarys = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_Area").ToList(); + var libraryDetails = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId)).ToList(); + var contents = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_Contents").ToList(); + var contentDeparts = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_CheckType", "Nav_Department").ToList(); + var posts = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_PostDetails.Nav_Post").ToList(); + if (librarys != null && librarys.Any()) + { + foreach (var item in librarys) + { + var libraryPost = posts.Where(t => t.ENTERPRISE_LIBRARY_ID == item.ID).ToList(); + var details = libraryDetails.Where(t => t.ENTERPRISE_LIBRARY_ID == item.ID).ToList(); + var detailIds = details.Select(t => t.ID).ToList(); + var contentTemps = contents.Where(t => detailIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_ID)).ToList(); + var contentTempIds = contentTemps.Select(t => t.ID).ToList(); + var contentDepartTemps = contentDeparts.Where(t => contentTempIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID)).ToList(); + if (contentDepartTemps != null && contentDepartTemps.Any()) + { + foreach (var depart in contentDepartTemps) + { + var first = libraryPost.FirstOrDefault(t => t.DEPARTMENT_ID == depart.DEPARTMENT_ID)?.Nav_PostDetails?.Select(m => m.Nav_Post).OrderBy(n => n?.NAME).ToList(); + var contentFirst = contentTemps.FirstOrDefault(t => t.ID == depart.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID); + if (first != null && first.Any()) + { + foreach (var post in first) + { + var userRole = users.FirstOrDefault(t => t.Nav_Person != null && t.Nav_Person.POST_ID == post?.ID).APPROVE_ROLE_ID; + if (userRole == null) + { + T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART de = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART(); + de.POST_NAME = post?.NAME; + de.MineType = item.MineType; + de.AREA_NAME = item.Nav_Area?.NAME; + de.ENTERPRISE_LIBRARY_DETAIL_ID = contentFirst?.ENTERPRISE_LIBRARY_DETAIL_ID; + de.ENTERPRISE_LIBRARY_ID = item.ID; + de.TYPE_NAME = depart.Nav_CheckType?.NAME; + de.DEPART_NAME = depart.Nav_Department?.NAME; + de.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = depart.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID; + de.CHECK_CYCLE = depart.CHECK_CYCLE; + de.CHECK_TYPE_ID = depart.CHECK_TYPE_ID; + de.DEPARTMENT_ID = depart.DEPARTMENT_ID; + de.CHECK_TYPE = depart.CHECK_TYPE; + detailContents.Add(de); + } + } + } + else + { + T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART de = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART(); + de.POST_NAME = "未配置辨识岗位"; + de.MineType = item.MineType; + de.AREA_NAME = item.Nav_Area?.NAME; + de.ENTERPRISE_LIBRARY_DETAIL_ID = contentFirst?.ENTERPRISE_LIBRARY_DETAIL_ID; + de.ENTERPRISE_LIBRARY_ID = item.ID; + de.TYPE_NAME = depart.Nav_CheckType?.NAME; + de.DEPART_NAME = depart.Nav_Department?.NAME; + de.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = depart.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID; + de.CHECK_CYCLE = depart.CHECK_CYCLE; + de.CHECK_TYPE_ID = depart.CHECK_TYPE_ID; + de.DEPARTMENT_ID = depart.DEPARTMENT_ID; + de.CHECK_TYPE = depart.CHECK_TYPE; + detailContents.Add(de); + } + } + } + } + } + if (detailContents != null && detailContents.Any()) + { + foreach (var item in contents) + { + var detailLib = libraryDetails.FirstOrDefault(t => t.ID == item.ENTERPRISE_LIBRARY_DETAIL_ID); + var lib = librarys.FirstOrDefault(t => t.ID == detailLib?.ENTERPRISE_LIBRARY_ID); + item.RISK_NAME = lib?.RISK_NAME; + item.AREA_ID = lib?.AREA_ID; + item.Nav_Area = lib?.Nav_Area; + } + foreach (var item in detailContents) + { + if (checkTypeIds != null && checkTypeIds.Any() && item.CHECK_TYPE_ID != null && checkTypeIds.Contains((Guid)item.CHECK_TYPE_ID)) + { + + } + else + { + if (item.CHECK_TYPE == SKDepartmentTypeEnum.班组级) + { + item.POST_NAME = "班组负责人"; + } + else if (item.CHECK_TYPE == SKDepartmentTypeEnum.车间级) + { + item.POST_NAME = "车间安全员"; + } + else if (item.CHECK_TYPE == SKDepartmentTypeEnum.部门级) + { + item.POST_NAME = "部门安全员"; + } + else + { + item.POST_NAME = "安环部安全员"; + } + } + } + var group = detailContents.GroupBy(t => new { t.MineType, t.CHECK_TYPE, t.CHECK_CYCLE, t.DEPART_NAME, t.DEPARTMENT_ID, t.CHECK_TYPE_ID, t.TYPE_NAME, t.POST_NAME }).ToList(); + foreach (var item in group) + { + CheckListNew listNew = new CheckListNew(); + listNew.MineType = item.Key.MineType.GetDescription(); + listNew.CheckType = item.Key.TYPE_NAME; + listNew.CheckCycle = item.Key.CHECK_CYCLE.GetDescription(); + listNew.CheckLevel = item.Key.CHECK_TYPE.GetDescription(); + listNew.Num = (int)item.Key.CHECK_TYPE; + listNew.CheckDepart = item.Key.DEPART_NAME; + listNew.CheckPost = item.Key.POST_NAME; + var depathaveIds = detailContents.Where(t => t.DEPARTMENT_ID == item.Key.DEPARTMENT_ID && t.CHECK_TYPE_ID == item.Key.CHECK_TYPE_ID && t.CHECK_TYPE == item.Key.CHECK_TYPE && t.CHECK_CYCLE == item.Key.CHECK_CYCLE && t.MineType == item.Key.MineType && t.POST_NAME == item.Key.POST_NAME).Select(m => m.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID).Distinct().ToList(); + var temps = contents.Where(t => depathaveIds.Contains(t.ID)).Distinct().ToList(); + if (temps.Any()) + { + List listDetail = new List(); + foreach (var tem in temps) + { + CheckListDetail checkListDetail = new CheckListDetail(); + checkListDetail.CHECK_CONTENTS_ID = tem.CHECK_CONTENTS_ID; + checkListDetail.CHECK_CONTENTS_NAME = tem.Nav_Contents?.CHECKCONTENT; + checkListDetail.RISK_NAME = tem.RISK_NAME; + checkListDetail.RISK_AREA_ID = tem.AREA_ID; + checkListDetail.RISK_AREA_NAME = tem.Nav_Area?.NAME; + checkListDetail.CHECKPROOF = tem.CHECK_BASIC; + checkListDetail.CHECKSTANDARD = tem.CHECK_STANDARD; + listDetail.Add(checkListDetail); + } + listNew.details = listDetail.OrderBy(t => t.RISK_AREA_NAME).ThenBy(m => m.RISK_NAME).ToList(); + } + list.Add(listNew); + } + checkList.Data = list.Where(t => selectMinetype.Contains(t.MineType)).OrderBy(n => n.MineType).ThenBy(x => x.Num).ThenBy(n => n.CheckDepart).ToList(); + checkList.TotalCount = checkList.Data.Count; + } + return checkList; + } } } diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerConfirmController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerConfirmController.cs index bacfb3e..cf89b8c 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerConfirmController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerConfirmController.cs @@ -52,7 +52,13 @@ namespace APT.SK.WebApi.Controllers.Api var files = entity.Nav_Files; entity.Nav_Files = null; var basics = entity.Nav_Basics; - entity.Nav_Basics = null; + entity.Nav_Basics = null; + entity.ApplyDepartmentName = this.GetEntity(t => t.ID == departId).NAME; + entity.ApplyPostName = this.GetEntity(t => t.ID == userId, "Nav_Person.Nav_Post")?.Nav_Person?.Nav_Post?.NAME; + if (string.IsNullOrEmpty(entity.HIDDEN_DESCRIPTION)) + { + entity.HIDDEN_DESCRIPTION = entity.Nav_Question?.DESCREPTION; + } if (photos != null && photos.Any()) { foreach (var item in photos) @@ -99,11 +105,11 @@ namespace APT.SK.WebApi.Controllers.Api { var hiddenLevel = entity.HIDDEN_LEVEL; var param = Enum.GetName(typeof(SKHiddenLevel), hiddenLevel); - var level = param == "Major" ? "重大" : "一般"; + var level = (param == "Major" || param == "重大") ? "重大" : "一般"; if (hiddenLevel == SKHiddenLevel.General) { var departmentType = this.GetEntity(t => t.ID == entity.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0)?.DEPARTMENT_TYPE; - param = Enum.GetName(typeof(FMDepartmentType), departmentType); + level = Enum.GetName(typeof(FMDepartmentType), departmentType); } //触发审批 entity.STATUS = PFStandardStatus.Approving; @@ -114,7 +120,7 @@ namespace APT.SK.WebApi.Controllers.Api sysFilter.OrgId = entity.ORG_ID; var codes = CodeRuleService.NewGenSerial(sysFilter); var serialCode = codes.Split(new char[] { ',' }); - MFlowPermitService.InsertApprove(serialCode[0], "SK018", param, entity.ID, "SK018_SHOWPRINT", entity.TaskID, true, () => + MFlowPermitService.InsertApprove(serialCode[0], "SK018", level, entity.ID, "SK018_SHOWPRINT", entity.TaskID, true, () => { if (entity != null) UpdateEntityNoCommit(entity); @@ -141,7 +147,126 @@ namespace APT.SK.WebApi.Controllers.Api return true; }); } - + + [HttpPost, Route("FullUpdateYL")] + public JsonActionResult FullUpdateYL([FromBody] T_SK_HIDDEN_DANGER_CONFIRM entity) + { + return SafeExecute(() => + { + var userId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID; + var departId = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID; + if (entity.APPLY_USER_ID == null) + entity.APPLY_USER_ID = userId; + if (entity.APPLY_DEPARTMENT_ID == null) + entity.APPLY_DEPARTMENT_ID = departId; + if (entity.RECITIFY_USER_ID == null) + throw new Exception("整改责任人必须填写"); + var photos = entity.Nav_Photos; + entity.Nav_Photos = null; + var files = entity.Nav_Files; + entity.Nav_Files = null; + var basics = entity.Nav_Basics; + entity.Nav_Basics = null; + if (string.IsNullOrEmpty(entity.HIDDEN_DESCRIPTION)) + { + entity.HIDDEN_DESCRIPTION = entity.Nav_Question?.DESCREPTION; + } + if (photos != null && photos.Any()) + { + foreach (var item in photos) + { + item.ORG_ID = entity.ORG_ID; + item.HIDDEN_DANGER_CONFIRM_ID = entity.ID; + item.Nav_ImgFile = null; + } + } + if (files != null && files.Any()) + { + foreach (var item in files) + { + item.ORG_ID = entity.ORG_ID; + item.HIDDEN_DANGER_CONFIRM_ID = entity.ID; + item.Nav_ImgFile = null; + } + } + if (basics != null && basics.Any()) + { + foreach (var item in basics) + { + item.ORG_ID = entity.ORG_ID; + item.HIDDEN_DANGER_CONFIRM_ID = entity.ID; + item.Nav_Law = null; + } + } + if (entity.RECITIFY_TIME.HasValue && entity.RECITIFY_TIME.Value.Date < DateTime.Now.Date) + { + throw new Exception("整改期限不得早于当前时间"); + } + //var libraryIds = this.GetEntities(t => t.AREA_ID == entity.RISK_AREA_ID, new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); + //var libraryDetailIds = this.GetEntities(t => libraryIds.Contains(t.ENTERPRISE_LIBRARY_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); + //var contentIds = this.GetEntities(t => libraryDetailIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.CHECK_CONTENTS_ID).Distinct().ToList(); + //if (contentIds != null && contentIds.Any() && contentIds.Contains(entity.CHECK_CONTENTS_ID)) + //{ + // entity.IS_STORE = SKIsStoreEnum.No; + //} + //else + //{ + // entity.IS_STORE = SKIsStoreEnum.Yes; + //} + if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify")) + { + var param = Enum.GetName(typeof(SKHiddenLevel), entity.HIDDEN_LEVEL); + var level = (param == "Major" || param == "重大") ? "重大" : "一般"; + if (entity.HIDDEN_LEVEL == SKHiddenLevel.General) + { + var departmentId = this.GetEntity(t => t.ID == entity.RECITIFY_USER_ID && t.ENABLE_STATUS == 0)?.DEPARTMENT_ID; + if (departmentId != null) + { + var departmentType = this.GetEntity(t => t.ID == departmentId && t.ENABLE_STATUS == 0)?.DEPARTMENT_TYPE; + level = Enum.GetName(typeof(FMDepartmentType), departmentType); + } + else + { + var departmentType = this.GetEntity(t => t.ID == entity.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0)?.DEPARTMENT_TYPE; + level = Enum.GetName(typeof(FMDepartmentType), departmentType); + } + } + //触发审批 + entity.STATUS = PFStandardStatus.Approving; + //取审批流水码 + var sysFilter = new SystemCodeFilter(); + sysFilter.CodeType = (int)PFCodeRuleType.审批流编码; + sysFilter.Count = 1; + sysFilter.OrgId = entity.ORG_ID; + var codes = CodeRuleService.NewGenSerial(sysFilter); + var serialCode = codes.Split(new char[] { ',' }); + MFlowPermitService.InsertApprove(serialCode[0], "SK018", level, entity.ID, "SK018_SHOWPRINT", entity.TaskID, true, () => + { + if (entity != null) + UpdateEntityNoCommit(entity); + if (photos != null && photos.Any()) + BantchSaveEntityNoCommit(photos); + if (files != null && files.Any()) + BantchSaveEntityNoCommit(files); + if (basics != null && basics.Any()) + BantchSaveEntityNoCommit(basics); + }, null, entity.RECITIFY_USER_ID, null, null, null, "SK018_SHOWPRINT", null, level + "隐患审批"); + return true; + } + this.UnifiedCommit(() => + { + if (entity != null) + UpdateEntityNoCommit(entity); + if (photos != null && photos.Any()) + BantchSaveEntityNoCommit(photos); + if (files != null && files.Any()) + BantchSaveEntityNoCommit(files); + if (basics != null && basics.Any()) + BantchSaveEntityNoCommit(basics); + }); + return true; + }); + } /// /// 获得单条实体数据 /// diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerHandReportController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerHandReportController.cs index 139a3f7..960070e 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerHandReportController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerHandReportController.cs @@ -15,6 +15,11 @@ using APT.BaseData.Domain.IServices; using System.Linq; using System.Collections.Generic; using System; +using APT.MS.Domain.Entities.BS; +using System.Dynamic; +using System.IO; +using static APT.Utility.FileUtils; +using System.Configuration; namespace APT.SK.WebApi.Controllers.Api { @@ -43,7 +48,7 @@ namespace APT.SK.WebApi.Controllers.Api var userId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID; var departId = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID; var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId; - if(entity.ID == null) + if (entity.ID == null) entity.ID = Guid.NewGuid(); if (entity.APPLY_USER_ID == null) entity.APPLY_USER_ID = userId; @@ -53,7 +58,9 @@ namespace APT.SK.WebApi.Controllers.Api entity.ORG_ID = orgId; var files = entity.Nav_ReportFiles; entity.Nav_ReportFiles = null; - entity.Nav_RiskArea = null; + entity.Nav_RiskArea = null; + entity.ApplyDepartmentName = this.GetEntity(t => t.ID == departId).NAME; + entity.ApplyPostName = this.GetEntity(t => t.ID == userId, "Nav_Person.Nav_Post")?.Nav_Person?.Nav_Post?.NAME; if (files != null && files.Any()) { foreach (var item in files) @@ -65,7 +72,7 @@ namespace APT.SK.WebApi.Controllers.Api } List notices = new List(); T_SK_HIDDEN_DANGER_CONFIRM confirm = null; - List photoList = new List(); + List photoList = new List(); if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify")) { if (entity.APPLY_USER_ID != null) @@ -81,7 +88,8 @@ namespace APT.SK.WebApi.Controllers.Api confirm = new T_SK_HIDDEN_DANGER_CONFIRM(); confirm.HIDDEN_DANGER_HAND_REPORT_ID = entity.ID; confirm.ORG_ID = entity.ORG_ID; - confirm.MineType = entity.MineType; + confirm.MineType = entity.MineType; + confirm.PRODUCTION_UNIT_ID = entity.PRODUCTION_UNIT_ID; confirm.APPLY_USER_ID = entity.APPLY_USER_ID; confirm.APPLY_DEPARTMENT_ID = entity.APPLY_DEPARTMENT_ID; confirm.RISK_AREA_ID = entity.RISK_AREA_ID; @@ -99,7 +107,12 @@ namespace APT.SK.WebApi.Controllers.Api } } //发消息 - var notice = NotificationTaskService.InsertUserNoticeTaskModel("隐患确认单(" + depart?.NAME + DateTime.Now.ToShortDateString().Replace("/", "") + ")", confirm.ID, entity.ORG_ID, (Guid)sendUser, userName, DateTime.Now, + var titleName = "隐患确认单(" + depart?.NAME + DateTime.Now.ToShortDateString().Replace("/", "") + ")"; + if (orgId.ToString() == "d9871ba8-0eec-9e4a-bb87-7d5a540d8913") + { + titleName = "手动隐患上报完善"; + } + var notice = NotificationTaskService.InsertUserNoticeTaskModel(titleName, confirm.ID, entity.ORG_ID, (Guid)sendUser, userName, DateTime.Now, DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "SK018"); notices.Add(notice); } @@ -124,5 +137,471 @@ namespace APT.SK.WebApi.Controllers.Api return true; }); } + + #region 隐患上报 离线缓存版 + + /// + /// 手动隐患上报 单次 一张图片 必备输入信息 imgID = CONTENT_ID + /// + /// + [HttpPost, Route("UploadFileRiskCache")] + public JsonActionResult UploadFileRiskCache() + { + return SafeExecute(() => + { + dynamic result = new ExpandoObject(); + var httpRequest = HttpContext.Request; + Microsoft.AspNetCore.Http.IFormCollection formInfo = httpRequest.Form; + var strOrgId = formInfo["OrgId"][0]; // 获取 组织 + + if (string.IsNullOrEmpty(strOrgId)) + throw new Exception("组织不允许为空"); + var orgId = new Guid(strOrgId); + var now = DateTime.Now; + var LoginID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID; + + #region 图片处理 + + var strImgID = string.Empty; + if (formInfo.ContainsKey("imgFileID")) + { + strImgID = formInfo["imgFileID"][0]; + } + Guid ImgID = Guid.Empty; + if (strImgID != null && !string.IsNullOrEmpty(strImgID)) + { + try + { + ImgID = new Guid(strImgID.ToString()); + } + catch { } + } + if (ImgID == Guid.Empty) + ImgID = Guid.NewGuid(); + string filePath = GetFilePath(orgId); + + var fullFilePath = $"{ConfigurationManager.AppSettings["Img_Local"]}{filePath}"; + + ImageConverterFactory imageConverterFactory = new ImageConverterFactory(); + var host = ConfigurationManager.AppSettings["SapInvokeHost"]; + + List fileList = new List(); + List imgFileList = new List(); + List imgFileDetailList = new List(); + var files = formInfo.Files; + if (!Directory.Exists(fullFilePath)) + { + Directory.CreateDirectory(fullFilePath); + } + + foreach (var item in files) + { + if (item != null) + { + //文件后缀 + var fileExtension = Path.GetExtension(item.FileName); + var strDateTime = DateTime.Now.ToString("yyMMddhhmmssfff"); //取得时间字符串 + var strRan = Convert.ToString(new Random().Next(100, 999)); //生成三位随机数 + var saveName = strDateTime + strRan + fileExtension; + string fileName = item.FileName; + + //插入图片数据 + using (FileStream fs = System.IO.File.Create(fullFilePath + saveName))//fullFilePath + fileName wyw + { + item.CopyTo(fs); + fs.Flush(); + } + if (fileExtension == ".jpg" || fileExtension == ".png" || fileExtension == ".jpeg") + { + using (FileStream inputFileStream = new FileStream(fullFilePath + saveName, FileMode.Open, FileAccess.Read)) + { + MemoryStream compressedStream = CompressImageFileStream(inputFileStream); + inputFileStream.Close(); + using (FileStream outputFileStream = new FileStream(fullFilePath + saveName, FileMode.Create, FileAccess.Write)) + { + compressedStream.CopyTo(outputFileStream); + } + } + } + + var pos = fileName.LastIndexOf("."); + var extendName = fileName.Substring(pos); + List list = new List(); + bool isSuppot = imageConverterFactory.Support(extendName); + bool isSaveSelf = true; + + T_PF_IMG_FILE imgFile = new T_PF_IMG_FILE + { + ID = ImgID, + FILE_NAME = fileName, + FILE_TYPE = item.ContentType, + ORG_ID = orgId, + CREATER_ID = LoginID, + CREATE_TIME = now + }; + + var inputStream = item.OpenReadStream(); + //支持转换时,按类型转为图片,否则直接存储 + if (isSuppot) + { + if (!string.IsNullOrEmpty(host)) + { + ConvertImageFileParam param = new ConvertImageFileParam(); + param.FileName = fileName; + Byte[] fileData = new Byte[(int)item.Length]; + Stream sr = inputStream;//创建数据流对象 + sr.Read(fileData, 0, (int)item.Length); + param.FileData = fileData; + string url = host + "ImageConvert/ImageConvert"; + ConvertImageFileParam retModel = + WebUtils.Execute(url, param, string.Empty, SendType.Post); + if (retModel != null && retModel.Files != null && retModel.Files.Any()) + list.AddRange(retModel.Files); + } + else + { + var convert = imageConverterFactory.CreateImageConverter(fileName); + convert.ConvertToImage(fileName, inputStream, list); + } + if (isSaveSelf)//保存自身数据 + { + Byte[] fileData = new Byte[(int)item.Length]; + Stream sr = inputStream;//创建数据流对象 + sr.Read(fileData, 0, (int)item.Length); + T_PF_FILE file = new T_PF_FILE + { + FILE_NAME = fileName, + FILE_TYPE = item.ContentType, + //FILE_DATA = fileData, + ORG_ID = orgId, + //FILE_PATH = filePath + fileName + FILE_PATH = filePath + saveName,//wyw, + CREATER_ID = LoginID, + CREATE_TIME = now + }; + imgFile.FILE_ID = file.ID; + imgFile.Nav_File = file; + fileList.Add(file); + } + } + else + { + ConvertImageFile tmpImgFile = new ConvertImageFile(); + //tmpImgFile.FileName = fileName; + tmpImgFile.FileName = saveName;//wyw + tmpImgFile.FileType = item.ContentType; + Byte[] fileData = new Byte[(int)item.Length]; + Stream sr = inputStream;//创建数据流对象 + sr.Read(fileData, 0, (int)item.Length); + tmpImgFile.FileData = fileData; + list.Add(tmpImgFile); + } + //保存文件数据 + if (list.Any()) + { + int i = 1; + foreach (var fileitem in list) + { + T_PF_FILE file = new T_PF_FILE + { + ID = Guid.NewGuid(), + FILE_NAME = fileitem.FileName, + FILE_TYPE = fileitem.FileType, + //FILE_DATA = fileitem.FileData, + //FILE_PATH = filePath + fileName, + FILE_PATH = filePath + saveName,//wyw, + ORG_ID = orgId, + CREATER_ID = LoginID, + CREATE_TIME = now + }; + + if (!isSuppot && isSaveSelf) + { + imgFile.FILE_ID = file.ID; + imgFile.Nav_File = file; + } + + if (string.IsNullOrEmpty(imgFile.FILE_PATH) && !string.IsNullOrEmpty(file.FILE_PATH)) + imgFile.FILE_PATH = file.FILE_PATH; + + T_PF_IMG_FILE_DETAIL detail = new T_PF_IMG_FILE_DETAIL + { + ORG_ID = orgId, + IMG_FILE_ID = imgFile.ID, + FILE_ID = file.ID, + NUM = i, + CREATER_ID = LoginID, + CREATE_TIME = now + }; + i++; + fileList.Add(file); + imgFileDetailList.Add(detail); + } + } + imgFileList.Add(imgFile); + result.imgFileID = imgFile.ID; + result.imgFilePath = imgFile.Nav_File?.FILE_PATH; + } + } + + #endregion + + #region 隐患上报处理 + T_SK_HIDDEN_DANGER_HAND_REPORT risk = new T_SK_HIDDEN_DANGER_HAND_REPORT(); + List listFiles = new List(); + T_SK_HIDDEN_DANGER_CONFIRM confirm = new T_SK_HIDDEN_DANGER_CONFIRM(); + List listPhotos = new List(); + #region risk 赋值 + risk.ID = Guid.NewGuid(); + risk.ORG_ID = orgId; + risk.CREATE_TIME = DateTime.Now; + risk.CREATER_ID = LoginID; + try + { + risk.RISK_AREA_ID = new Guid(formInfo["RISK_AREA_ID"]); + risk.HIDDEN_PLACE = formInfo["HIDDEN_PLACE"]; + risk.HIDDEN_DESCRIPTION = formInfo["HIDDEN_DESCRIPTION"]; + risk.APPLY_USER_ID = new Guid(formInfo["APPLY_USER_ID"]); + risk.APPLY_DEPARTMENT_ID = new Guid(formInfo["APPLY_DEPARTMENT_ID"]); + var minetype = int.Parse(formInfo["MineType"]); + switch (minetype) + { + case 0: + risk.MineType = SKProductionUnit.All; + break; + case 10: + risk.MineType = SKProductionUnit.MineChoose; + break; + case 20: + risk.MineType = SKProductionUnit.Minelast; + break; + case 30: + risk.MineType = SKProductionUnit.Mine; + break; + case 31: + risk.MineType = SKProductionUnit.Department; + break; + case 32: + risk.MineType = SKProductionUnit.Nonmetallic; + break; + case 40: + risk.MineType = SKProductionUnit.MineUnderGround; + break; + default: + risk.MineType = SKProductionUnit.All; + break; + } + + } + catch { } + if (!risk.RISK_AREA_ID.HasValue) + { + throw new Exception("检查区域不能为空!"); + } + if (string.IsNullOrEmpty(risk.HIDDEN_PLACE)) + { + throw new Exception("隐患地点不能为空!"); + } + if (string.IsNullOrEmpty(risk.HIDDEN_DESCRIPTION)) + { + throw new Exception("隐患描述不能为空!"); + } + else if (risk.HIDDEN_DESCRIPTION.Length > 500) + { + throw new Exception("隐患描述不能超过500字!"); + } + risk.STATUS = PFStandardStatus.Archived; + if (risk.APPLY_DEPARTMENT_ID == null || risk.APPLY_DEPARTMENT_ID == Guid.Empty) + risk.APPLY_DEPARTMENT_ID = APT.Infrastructure.Api.AppContext.DepartmentID; + if (risk.APPLY_USER_ID == null || risk.APPLY_USER_ID == Guid.Empty) + risk.APPLY_USER_ID = LoginID; + #endregion + + #region 隐患确认单 赋值 + confirm.ID = Guid.NewGuid(); + confirm.HIDDEN_DANGER_HAND_REPORT_ID = risk.ID; + confirm.ORG_ID = orgId; + confirm.CREATE_TIME = DateTime.Now; + confirm.CREATER_ID = LoginID; + confirm.APPLY_USER_ID = risk.APPLY_USER_ID; + confirm.APPLY_DEPARTMENT_ID = risk.APPLY_DEPARTMENT_ID; + confirm.MineType = risk.MineType; + confirm.RISK_AREA_ID = risk.RISK_AREA_ID; + confirm.HIDDEN_PLACE = risk.HIDDEN_PLACE; + confirm.HIDDEN_DESCRIPTION = risk.HIDDEN_DESCRIPTION; + confirm.STATUS = PFStandardStatus.Draft; + #endregion + #region 待办 日志 等 赋值处理 + + T_FM_NOTIFICATION_TASK taskMaster = null; + T_FM_NOTIFICATION_TASK taskEnd = null; + //手动上报 保存并发送 通知安全员 + if (risk.STATUS == PFStandardStatus.Archived) + { + Guid UserId = Guid.Empty; + string userName = String.Empty; + + #region 版本 2 本层级找 安全员 找不到就找负责人 (如果是负责人 就是自己) + + var master = GetEntity(risk.APPLY_USER_ID.Value, "Nav_Department"); + if (master.Nav_Department == null) + { + throw new Exception("未获取到您的组织信息,操作失败!"); + } + if (master.Nav_Department.USER_ID.HasValue && master.Nav_Department.USER_ID.Value == risk.APPLY_USER_ID.Value) + { + //如果自己是负责人 就是自己 + UserId = risk.APPLY_USER_ID.Value; + userName = master.NAME; + } + else + { + //找安全员 如果没有 找负责人 + // 班组 班长 否则 安全员 FMDepartmentType 部门=0, 车间=1, 班组=2, 公司=3 + if (master.Nav_Department.DEPARTMENT_TYPE == 2) + { + if (master.Nav_Department.USER_ID.HasValue) + { + UserId = master.Nav_Department.USER_ID.Value; + userName = GetEntity(UserId)?.NAME; + } + else + { + var userSafe = GetEntity(e => !e.IS_DELETED && e.DEPARTMENT_ID == master.DEPARTMENT_ID && e.Nav_ApproveRole.NAME.Contains("负责人")); + if (userSafe != null) + { + UserId = userSafe.ID; + userName = userSafe.NAME; + } + } + } + else + { + var userSafe = GetEntity(e => !e.IS_DELETED && e.DEPARTMENT_ID == master.DEPARTMENT_ID && e.Nav_ApproveRole.NAME.Contains("安全员")); + if (userSafe != null) + { + UserId = userSafe.ID; + userName = userSafe.NAME; + } + else + { + userSafe = GetEntity(e => !e.IS_DELETED && e.DEPARTMENT_ID == master.DEPARTMENT_ID && e.Nav_ApproveRole.NAME.Contains("负责人")); + if (userSafe != null) + { + UserId = userSafe.ID; + userName = userSafe.NAME; + } + } + } + } + + if (UserId == Guid.Empty)//没找到给自己 + { + UserId = risk.APPLY_USER_ID.Value; + userName = master.NAME; + } + + #endregion + taskMaster = NotificationTaskService.InsertUserNoticeTaskModel("隐患确认单(离线触发)", confirm.ID, confirm.ORG_ID, UserId, userName, DateTime.Now, DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "SK018"); + if (risk.TaskID != Guid.Empty) + { + taskEnd = NotificationTaskService.GetEntityTask(risk.TaskID, "SK016_SHOWPRINT"); + } + } + #endregion + + #region CONTENT_FILE 赋值 + + //隐患上报信息附件 + foreach (var item in imgFileList) + { + listFiles.Add(new T_SK_HIDDEN_DANGER_HAND_REPORT_FILE() + { + ID = Guid.NewGuid(), + ORG_ID = orgId, + CREATE_TIME = now, + CREATER_ID = LoginID, + HIDDEN_DANGER_HAND_REPORT_ID = risk.ID, + IMG_FILE_ID = item.ID + }); + listPhotos.Add(new T_SK_HIDDEN_DANGER_CONFIRM_PHOTO() + { + ID = Guid.NewGuid(), + ORG_ID = orgId, + CREATE_TIME = now, + CREATER_ID = LoginID, + HIDDEN_DANGER_CONFIRM_ID = confirm.ID, + IMG_FILE_ID = item.ID + }); + } + + #endregion + #endregion + + #region 数据操作 + + try + { + //为了不让隐患上报数据冲突 entity.ID 前端直接传入 + this.UnifiedCommit(() => + { + if (fileList != null && fileList.Any()) + BantchSaveEntityNoCommit(fileList); + if (imgFileList != null && imgFileList.Any()) + BantchSaveEntityNoCommit(imgFileList); + if (imgFileDetailList != null && imgFileDetailList.Any()) + BantchSaveEntityNoCommit(imgFileDetailList); + + if (risk != null) + UpdateEntityNoCommit(risk); + if (confirm != null) + UpdateEntityNoCommit(confirm); + if (taskMaster != null) + UpdateEntityNoCommit(taskMaster); + if (taskEnd != null) + UpdateEntityNoCommit(taskEnd); + if (listFiles != null && listFiles.Any()) + BantchSaveEntityNoCommit(listFiles); + if (listPhotos != null && listPhotos.Any()) + BantchSaveEntityNoCommit(listPhotos); + }); + } + catch + { + //提交错误 + result.imgFileID = ""; + result.imgFilePath = ""; + } + + #endregion + + return result; + }); + } + + /// + /// 根据OrgId获取文件夹名称 + /// + /// + /// + private string GetFilePath(Guid OrgId) + { + string orgid = OrgId.ToString().ToUpperInvariant(); + string pathHead = ""; + if (OrgId != new Guid()) + { + List listHead = EnumToList(); + var info = listHead.FirstOrDefault(e => e.Desction == orgid); + if (info != null) + { + pathHead = info.EnumName; + } + } + DateTime dtNow = DateTime.Now; + var filePath = string.Format("/{0}/{1}/{2}/", dtNow.ToString("yyyy"), dtNow.ToString("yyyyMM"), dtNow.ToString("yyyyMMdd")); + return string.IsNullOrEmpty(pathHead) ? filePath : "/" + pathHead + filePath; + } + + #endregion } } diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyDelayApplyController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyDelayApplyController.cs index 4cf1dbe..d55cb42 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyDelayApplyController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyDelayApplyController.cs @@ -40,10 +40,12 @@ namespace APT.SK.WebApi.Controllers.Api if (entity.APPLY_USER_ID == null) entity.APPLY_USER_ID = userId; if (entity.APPLY_DEPARTMENT_ID == null) - entity.APPLY_DEPARTMENT_ID = departId; + entity.APPLY_DEPARTMENT_ID = departId; + entity.ApplyDepartmentName = this.GetEntity(t => t.ID == departId).NAME; + entity.ApplyPostName = this.GetEntity(t => t.ID == userId, "Nav_Person.Nav_Post")?.Nav_Person?.Nav_Post?.NAME; if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify")) { - var record = this.GetEntity(t=>t.ID == entity.HIDDEN_DANGER_RECTIFY_RECORD_ID); + var record = this.GetEntity(t => t.ID == entity.HIDDEN_DANGER_RECTIFY_RECORD_ID); if (record != null) { var hiddenLevel = record.HIDDEN_LEVEL; @@ -68,7 +70,7 @@ namespace APT.SK.WebApi.Controllers.Api UpdateEntityNoCommit(entity); }, null, null, null, null, null, "SK024_SHOWPRINT", null, level + "延期整改申请审批"); return true; - } + } } this.UnifiedCommit(() => { @@ -77,9 +79,9 @@ namespace APT.SK.WebApi.Controllers.Api }); return true; }); - } - - + } + + /// /// 获得单条实体数据 /// @@ -113,7 +115,7 @@ namespace APT.SK.WebApi.Controllers.Api { T_FM_NOTIFICATION_TASK task = null; var apply = this.GetEntity(entity.ID); - if(apply != null) + if (apply != null) apply.STATUS = PFStandardStatus.Archived; if (entity.TaskID != Guid.Empty) { diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyNoticeController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyNoticeController.cs index 7eff576..1f29b86 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyNoticeController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyNoticeController.cs @@ -36,6 +36,157 @@ namespace APT.SK.WebApi.Controllers.Api } [HttpPost, Route("FullUpdate")] public JsonActionResult FullUpdate([FromBody] T_SK_HIDDEN_DANGER_RECTIFY_NOTICE entity) + { + return SafeExecute(() => + { + var userId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID; + var departId = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID; + if (entity.APPLY_USER_ID == null) + entity.APPLY_USER_ID = userId; + if (entity.APPLY_DEPARTMENT_ID == null) + entity.APPLY_DEPARTMENT_ID = departId; + var details = entity.Nav_RectifyDetails; + entity.Nav_RectifyDetails = null; + var files = entity.Nav_RectifyFiles; + entity.Nav_RectifyFiles = null; + entity.ApplyDepartmentName = this.GetEntity(t => t.ID == departId).NAME; + entity.ApplyPostName = this.GetEntity(t => t.ID == userId, "Nav_Person.Nav_Post")?.Nav_Person?.Nav_Post?.NAME; + List deleteFileIds = new List(); + List deleteBasicIds = new List(); + List deleteDetailIds = new List(); + List fileList = new List(); + List basicList = new List(); + if (details != null && details.Any()) + { + var evaluationIsExist = this.GetEntity(t => t.ID == entity.ID, new string[] { "Nav_RectifyDetails", "Nav_RectifyDetails.Nav_RectifyDetailFiles", "Nav_RectifyDetails.Nav_RectifyDetailBasics" }); + if (evaluationIsExist != null && evaluationIsExist.Nav_RectifyDetails != null && evaluationIsExist.Nav_RectifyDetails.Any()) + { + evaluationIsExist.Nav_RectifyDetails.ForEach(t => + { + if (t.Nav_RectifyDetailFiles != null && t.Nav_RectifyDetailFiles.Any()) + { + var tempIds = t.Nav_RectifyDetailFiles.Select(m => m.ID).ToList(); + deleteFileIds.AddRange(tempIds); + } + if (t.Nav_RectifyDetailBasics != null && t.Nav_RectifyDetailBasics.Any()) + { + var tempIds = t.Nav_RectifyDetailBasics.Select(m => m.ID).ToList(); + deleteBasicIds.AddRange(tempIds); + } + deleteDetailIds.Add(t.ID); + }); + } + foreach (var item in details) + { + item.ORG_ID = entity.ORG_ID; + item.HIDDEN_DANGER_RECTIFY_NOTICE_ID = entity.ID; + if (item.RECITIFY_USER_ID == null) + throw new Exception("整改责任人丢失,请联系管理员排查"); + if (item.IMPLEMENT_USER_ID == item.ACCEPT_USER_ID) + throw new Exception("验收人与整改落实人不能为同一人"); + if (item.Nav_RectifyDetailFiles != null && item.Nav_RectifyDetailFiles.Any()) + { + foreach (var item2 in item.Nav_RectifyDetailFiles) + { + if (!item2.IS_DELETED) + { + T_SK_HIDDEN_DANGER_RECTIFY_NOTICE_DETAIL_FILE file = new T_SK_HIDDEN_DANGER_RECTIFY_NOTICE_DETAIL_FILE(); + file.ORG_ID = entity.ORG_ID; + file.HIDDEN_DANGER_RECTIFY_NOTICE_DETAIL_ID = item.ID; + file.IMG_FILE_ID = item2.IMG_FILE_ID; + file.Nav_ImgFile = null; + fileList.Add(file); + } + } + } + if (item.Nav_RectifyDetailBasics != null && item.Nav_RectifyDetailBasics.Any()) + { + foreach (var item2 in item.Nav_RectifyDetailBasics) + { + if (!item2.IS_DELETED) + { + T_SK_HIDDEN_DANGER_RECTIFY_NOTICE_DETAIL_BASIC basic = new T_SK_HIDDEN_DANGER_RECTIFY_NOTICE_DETAIL_BASIC(); + basic.ORG_ID = entity.ORG_ID; + basic.HIDDEN_DANGER_RECTIFY_NOTICE_DETAIL_ID = item.ID; + basic.LAW_ID = item2.LAW_ID; + basic.Nav_Law = null; + basicList.Add(basic); + } + } + } + item.Nav_RectifyDetailBasics = null; + item.Nav_RectifyDetailFiles = null; + item.Nav_Contents = null; + item.Nav_RecitifyUser = null; + item.Nav_AcceptUser = null; + item.Nav_ImplementUser = null; + } + } + if (files != null && files.Any()) + { + foreach (var item in files) + { + item.ORG_ID = entity.ORG_ID; + item.HIDDEN_DANGER_RECTIFY_NOTICE_ID = entity.ID; + item.Nav_ImgFile = null; + } + } + T_FM_NOTIFICATION_TASK task = null; + List notices = new List(); + if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify")) + { + entity.STATUS = PFStandardStatus.Sign; + var userIds = details == null ? null : details.Where(m => m.ACCEPT_USER_ID != null).Select(t => (Guid)t.ACCEPT_USER_ID).Distinct().ToList(); + if (userIds != null && userIds.Any()) + { + var departName = this.GetEntity(t => t.ID == entity.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0)?.NAME; + var UserNames = new List(); + var user = this.GetEntities(t => t.ENABLE_STATUS == (int)FMEnableStatusEnum.启用 && userIds.Contains(t.ID), new BaseFilter(entity.ORG_ID)); + foreach (var u in userIds) + { + var current = user.FirstOrDefault(t => t.ID == u); + UserNames.Add(current?.NAME); + } + //发消息 + notices = NotificationTaskService.InsertUserNoticeTaskModels("隐患整改通知(" + departName + DateTime.Now.ToShortDateString().Replace("/", "") + ")-确认", entity.ID, entity.ORG_ID, userIds, UserNames, DateTime.Now, + DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "SK020_SHOWPRINT"); + } + + if (entity.TaskID != Guid.Empty) + { + task = NotificationTaskService.GetTaskFinishModel(entity.TaskID); + task.SOURCE_FORMCODE = "SK020_SHOWPRINT"; + } + } + this.UnifiedCommit(() => + { + if (deleteBasicIds != null && deleteBasicIds.Any()) + this.BantchDeleteEntityNoCommit(deleteBasicIds); + if (deleteFileIds != null && deleteFileIds.Any()) + this.BantchDeleteEntityNoCommit(deleteFileIds); + if (deleteDetailIds != null && deleteDetailIds.Any()) + this.BantchDeleteEntityNoCommit(deleteDetailIds); + if (entity != null) + UpdateEntityNoCommit(entity); + if (task != null) + UpdateEntityNoCommit(task); + if (details != null && details.Any()) + BantchSaveEntityNoCommit(details); + if (files != null && files.Any()) + BantchSaveEntityNoCommit(files); + if (notices != null && notices.Any()) + BantchSaveEntityNoCommit(notices); + if (fileList != null && fileList.Any()) + BantchSaveEntityNoCommit(fileList); + if (basicList != null && basicList.Any()) + BantchSaveEntityNoCommit(basicList); + }); + return true; + }); + } + + [HttpPost, Route("FullUpdateYL")] + public JsonActionResult FullUpdateYL([FromBody] T_SK_HIDDEN_DANGER_RECTIFY_NOTICE entity) { return SafeExecute(() => { @@ -109,7 +260,7 @@ namespace APT.SK.WebApi.Controllers.Api basic.LAW_ID = item2.LAW_ID; basic.Nav_Law = null; basicList.Add(basic); - } + } } } item.Nav_RectifyDetailBasics = null; @@ -131,23 +282,73 @@ namespace APT.SK.WebApi.Controllers.Api } T_FM_NOTIFICATION_TASK task = null; List notices = new List(); + List records = new List(); + List photoList = new List(); if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify")) { - entity.STATUS = PFStandardStatus.Sign; - var userIds = details == null ? null : details.Where(m=> m.ACCEPT_USER_ID != null).Select(t => (Guid)t.ACCEPT_USER_ID).Distinct().ToList(); - if (userIds != null && userIds.Any()) + entity.STATUS = PFStandardStatus.Archived; + if (details != null && details.Any()) { - var departName = this.GetEntity(t => t.ID == entity.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0)?.NAME; - var UserNames = new List(); - var user = this.GetEntities(t => t.ENABLE_STATUS == (int)FMEnableStatusEnum.启用 && userIds.Contains(t.ID), new BaseFilter(entity.ORG_ID)); - foreach (var u in userIds) + var users = this.GetEntities(t => t.ENABLE_STATUS == (int)FMEnableStatusEnum.启用, new BaseFilter(entity.ORG_ID)); + foreach (var detail in details) { - var current = user.FirstOrDefault(t => t.ID == u); - UserNames.Add(current?.NAME); + if (detail.IMPLEMENT_USER_ID != null) + { + var user = users.FirstOrDefault(t => t.ID == detail.IMPLEMENT_USER_ID); + if (user != null) + { + //发消息 + T_SK_HIDDEN_DANGER_RECTIFY_RECORD record = new T_SK_HIDDEN_DANGER_RECTIFY_RECORD(); + record.APPLY_DEPARTMENT_ID = entity.APPLY_DEPARTMENT_ID; + record.APPLY_USER_ID = entity.APPLY_USER_ID; + record.ORG_ID = entity.ORG_ID; + record.HIDDEN_DANGER_REPORT_ID = entity.HIDDEN_DANGER_REPORT_ID; + record.HIDDEN_DANGER_REPORT_DETAIL_ID = entity.HIDDEN_DANGER_REPORT_DETAIL_ID; + record.HIDDEN_DANGER_CONFIRM_ID = entity.HIDDEN_DANGER_CONFIRM_ID; + record.HIDDEN_DANGER_RECTIFY_NOTICE_ID = entity.ID; + record.HIDDEN_DANGER_RECTIFY_NOTICE_DETAIL_ID = detail.ID; + record.CODE = "YHZG" + DateTime.Now.ToShortDateString().Replace("/", "") + new Random().Next(1, 999); + record.MineType = entity.MineType; + record.RISK_AREA_ID = detail.RISK_AREA_ID; + record.CHECK_CONTENTS_ID = detail.CHECK_CONTENTS_ID; + record.CHECK_QUESTION_ID = detail.CHECK_QUESTION_ID; + record.CHECKCONTENT = detail.CHECKCONTENT; + record.CHECKPROOF = detail.CHECKPROOF; + record.CHECKSTANDARD = detail.CHECKSTANDARD; + record.HIDDEN_PLACE = detail.HIDDEN_PLACE; + record.HIDDEN_DESCRIPTION = detail.HIDDEN_DESCRIPTION; + record.HIDDEN_LEVEL = detail.HIDDEN_LEVEL; + record.RECTIFICATION_MEASURES = detail.RECTIFICATION_MEASURES; + record.RECITIFY_TIME = detail.RECITIFY_TIME; + record.RECITIFY_USER_ID = detail.RECITIFY_USER_ID; + record.ACCEPT_USER_ID = detail.ACCEPT_USER_ID; + record.IMPLEMENT_USER_ID = detail.IMPLEMENT_USER_ID; + record.STATUS = PFStandardStatus.Draft; + record.CHECK_TYPE_ID = entity.CHECK_TYPE_ID; + record.CHECK_TIME = entity.CHECK_TIME; + records.Add(record); + if (detail.Nav_RectifyDetailFiles != null && detail.Nav_RectifyDetailFiles.Any()) + { + foreach (var item in detail.Nav_RectifyDetailFiles) + { + T_SK_HIDDEN_DANGER_RECTIFY_RECORD_PHOTOA file = new T_SK_HIDDEN_DANGER_RECTIFY_RECORD_PHOTOA(); + file.ORG_ID = item.ORG_ID; + file.IMG_FILE_ID = item.IMG_FILE_ID; + file.HIDDEN_DANGER_RECTIFY_RECORD_ID = record.ID; + photoList.Add(file); + } + } + var endtime = DateTime.Now.AddDays(3); + if (record.RECITIFY_TIME != null && record.RECITIFY_TIME != DateTime.MinValue) + { + endtime = DateTime.Parse(record.RECITIFY_TIME.Value.ToShortDateString() + " 23:59:59"); + } + var sendNotice = NotificationTaskService.InsertUserNoticeTaskModel("隐患整改记录表(" + detail.HIDDEN_LEVEL.GetDescription() + ")", record.ID, record.ORG_ID, user.ID, user.NAME, DateTime.Now, + endtime, (int)FMNoticeTypeEnum.消息, "SK022"); + notices.Add(sendNotice); + } + } } - //发消息 - notices = NotificationTaskService.InsertUserNoticeTaskModels("隐患整改通知(" + departName + DateTime.Now.ToShortDateString().Replace("/", "") + ")-确认", entity.ID, entity.ORG_ID, userIds, UserNames, DateTime.Now, - DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "SK020_SHOWPRINT"); } if (entity.TaskID != Guid.Empty) @@ -178,11 +379,14 @@ namespace APT.SK.WebApi.Controllers.Api BantchSaveEntityNoCommit(fileList); if (basicList != null && basicList.Any()) BantchSaveEntityNoCommit(basicList); + if (records != null && records.Any()) + this.BantchSaveEntityNoCommit(records); + if (photoList != null && photoList.Any()) + this.BantchSaveEntityNoCommit(photoList); }); return true; }); } - /// /// 获得单条实体数据 /// @@ -350,8 +554,9 @@ namespace APT.SK.WebApi.Controllers.Api record.HIDDEN_DANGER_CONFIRM_ID = notice.HIDDEN_DANGER_CONFIRM_ID; record.HIDDEN_DANGER_RECTIFY_NOTICE_ID = notice.ID; record.HIDDEN_DANGER_RECTIFY_NOTICE_DETAIL_ID = detail.ID; - record.CODE = "YHZG" + DateTime.Now.ToShortDateString().Replace("/", "")+ random.Next(1, 999); + record.CODE = "YHZG" + DateTime.Now.ToShortDateString().Replace("/", "") + random.Next(1, 999); record.MineType = notice.MineType; + record.PRODUCTION_UNIT_ID = notice.PRODUCTION_UNIT_ID; record.RISK_AREA_ID = detail.RISK_AREA_ID; record.CHECK_CONTENTS_ID = detail.CHECK_CONTENTS_ID; record.CHECK_QUESTION_ID = detail.CHECK_QUESTION_ID; @@ -420,7 +625,7 @@ namespace APT.SK.WebApi.Controllers.Api public PagedActionResult FullOrderPaged([FromBody] KeywordPageFilter pageFilter) { var result = this.GetOrderPageEntities(null, pageFilter); - if (result != null && result.Data!=null && result.Data.Any()) + if (result != null && result.Data != null && result.Data.Any()) { var ids = result.Data.Select(t => t.ID).ToList(); var details = this.GetEntities(t => ids.Contains(t.HIDDEN_DANGER_RECTIFY_NOTICE_ID), new BaseFilter(pageFilter.OrgId), "Nav_RiskArea", "Nav_Contents", "Nav_Question", "Nav_RecitifyUser", "Nav_ImplementUser", "Nav_AcceptUser").ToList(); diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyRecordController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyRecordController.cs index e1b6c86..1fe70f6 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyRecordController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyRecordController.cs @@ -47,17 +47,19 @@ namespace APT.SK.WebApi.Controllers if (entity.APPLY_USER_ID == null) entity.APPLY_USER_ID = userId; if (entity.APPLY_DEPARTMENT_ID == null) - entity.APPLY_DEPARTMENT_ID = departId; + entity.APPLY_DEPARTMENT_ID = departId; + entity.ApplyDepartmentName = this.GetEntity(t => t.ID == departId).NAME; + entity.ApplyPostName = this.GetEntity(t => t.ID == userId, "Nav_Person.Nav_Post")?.Nav_Person?.Nav_Post?.NAME; if (entity.IMPLEMENT_USER_ID == entity.ACCEPT_USER_ID) { throw new Exception("验收人和落实人不能是同一个人"); } - if (entity.ACCEPT_RESULTE == SKAcceptResultEnum.No && string.IsNullOrEmpty(entity.ACCEPT_OPINION)) + if (entity.ACCEPT_RESULTE == SKAcceptResultEnum.No && string.IsNullOrEmpty(entity.ACCEPT_OPINION)) { throw new Exception("不合格验收意见必须填写"); } if (string.IsNullOrEmpty(entity.CODE)) - entity.CODE = "YHZG" + DateTime.Now.ToShortDateString().Replace("/", "") + new Random().Next(1,999); + entity.CODE = "YHZG" + DateTime.Now.ToShortDateString().Replace("/", "") + new Random().Next(1, 999); var record = this.GetEntity(entity.ID); if (record != null) { @@ -70,6 +72,7 @@ namespace APT.SK.WebApi.Controllers entity.IMPLEMENT_USER_ID = record.IMPLEMENT_USER_ID; entity.CHECK_TIME = record.CHECK_TIME; entity.CHECK_PERSON = record.CHECK_PERSON; + entity.PRODUCTION_UNIT_ID = record.PRODUCTION_UNIT_ID; } var photoas = entity.Nav_RectifyPhotoas; entity.Nav_RectifyPhotoas = null; @@ -144,7 +147,7 @@ namespace APT.SK.WebApi.Controllers var UserNames = new List(); var user = this.GetEntity(t => t.ENABLE_STATUS == (int)FMEnableStatusEnum.启用 && t.ID == entity.IMPLEMENT_USER_ID); //发消息 - notice = NotificationTaskService.InsertUserNoticeTaskModel("隐患整改记录(" + DateTime.Now.ToShortDateString().Replace("/", "") + ")-驳回", entity.ID, entity.ORG_ID, (Guid)entity.IMPLEMENT_USER_ID, user?.NAME, DateTime.Now, + notice = NotificationTaskService.InsertUserNoticeTaskModel("隐患整改记录(" + DateTime.Now.ToShortDateString().Replace("/", "") + ")-驳回", entity.ID, entity.ORG_ID, (Guid)entity.IMPLEMENT_USER_ID, user?.NAME, DateTime.Now, DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "SK022"); } else @@ -200,8 +203,195 @@ namespace APT.SK.WebApi.Controllers task = NotificationTaskService.GetTaskFinishModel(entity.TaskID); task.SOURCE_FORMCODE = "SK022_SHOWPRINT"; } + } + + this.UnifiedCommit(() => + { + if (entity != null) + UpdateEntityNoCommit(entity); + if (task != null) + UpdateEntityNoCommit(task); + if (photoas != null && photoas.Any()) + BantchSaveEntityNoCommit(photoas); + if (photobs != null && photobs.Any()) + BantchSaveEntityNoCommit(photobs); + if (files != null && files.Any()) + BantchSaveEntityNoCommit(files); + if (basics != null && basics.Any()) + BantchSaveEntityNoCommit(basics); + if (notice != null) + UpdateEntityNoCommit(notice); + }); + return true; + }); + } + [HttpPost, Route("FullUpdateYL")] + public JsonActionResult FullUpdateYL([FromBody] T_SK_HIDDEN_DANGER_RECTIFY_RECORD entity) + { + return SafeExecute(() => + { + var userId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID; + var departId = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID; + if (entity.APPLY_USER_ID == null) + entity.APPLY_USER_ID = userId; + if (entity.APPLY_DEPARTMENT_ID == null) + entity.APPLY_DEPARTMENT_ID = departId; + if (entity.IMPLEMENT_USER_ID == entity.ACCEPT_USER_ID) + { + throw new Exception("验收人和落实人不能是同一个人"); } - + if (entity.ACCEPT_RESULTE == SKAcceptResultEnum.No && string.IsNullOrEmpty(entity.ACCEPT_OPINION)) + { + throw new Exception("不合格验收意见必须填写"); + } + if (string.IsNullOrEmpty(entity.CODE)) + entity.CODE = "YHZG" + DateTime.Now.ToShortDateString().Replace("/", "") + new Random().Next(1, 999); + var record = this.GetEntity(entity.ID, "Nav_RectifyPhotoas"); + if (record != null) + { + entity.HIDDEN_DANGER_REPORT_ID = record.HIDDEN_DANGER_REPORT_ID; + entity.HIDDEN_DANGER_REPORT_DETAIL_ID = record.HIDDEN_DANGER_REPORT_DETAIL_ID; + entity.HIDDEN_DANGER_CONFIRM_ID = record.HIDDEN_DANGER_CONFIRM_ID; + entity.HIDDEN_DANGER_RECTIFY_NOTICE_ID = record.HIDDEN_DANGER_RECTIFY_NOTICE_ID; + entity.HIDDEN_DANGER_RECTIFY_NOTICE_DETAIL_ID = record.HIDDEN_DANGER_RECTIFY_NOTICE_DETAIL_ID; + entity.RECITIFY_USER_ID = record.RECITIFY_USER_ID; + entity.ACCEPT_USER_ID = record.ACCEPT_USER_ID; + entity.IMPLEMENT_USER_ID = record.IMPLEMENT_USER_ID; + entity.CHECK_TIME = record.CHECK_TIME; + entity.CHECK_PERSON = record.CHECK_PERSON; + entity.Nav_RectifyPhotoas = record.Nav_RectifyPhotoas; + } + var photoas = entity.Nav_RectifyPhotoas; + entity.Nav_RectifyPhotoas = null; + var photobs = entity.Nav_RectifyPhotobs; + entity.Nav_RectifyPhotobs = null; + var files = entity.Nav_RectifyFiles; + entity.Nav_RectifyFiles = null; + var basics = entity.Nav_RectifyBasics; + entity.Nav_RectifyBasics = null; + if (photoas != null && photoas.Any()) + { + foreach (var item in photoas) + { + item.ORG_ID = entity.ORG_ID; + item.HIDDEN_DANGER_RECTIFY_RECORD_ID = entity.ID; + item.Nav_ImgFile = null; + } + } + if (photobs != null && photobs.Any()) + { + foreach (var item in photobs) + { + item.ORG_ID = entity.ORG_ID; + item.HIDDEN_DANGER_RECTIFY_RECORD_ID = entity.ID; + item.Nav_ImgFile = null; + } + } + if (files != null && files.Any()) + { + foreach (var item in files) + { + item.ORG_ID = entity.ORG_ID; + item.HIDDEN_DANGER_RECTIFY_RECORD_ID = entity.ID; + item.Nav_ImgFile = null; + } + } + if (basics != null && basics.Any()) + { + foreach (var item in basics) + { + item.ORG_ID = entity.ORG_ID; + item.HIDDEN_DANGER_RECTIFY_RECORD_ID = entity.ID; + item.Nav_Law = null; + } + } + T_FM_NOTIFICATION_TASK notice = null; + T_FM_NOTIFICATION_TASK task = null; + if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify")) + { + if (entity.STATUS == PFStandardStatus.Draft || entity.STATUS == PFStandardStatus.Rejected) + { + if (entity.ACCEPT_USER_ID != null) + { + entity.STATUS = PFStandardStatus.Sign; + var departName = this.GetEntity(t => t.ID == entity.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0)?.NAME; + var UserNames = new List(); + var user = this.GetEntity(t => t.ENABLE_STATUS == (int)FMEnableStatusEnum.启用 && t.ID == entity.ACCEPT_USER_ID); + //发消息 + notice = NotificationTaskService.InsertUserNoticeTaskModel("隐患整改记录(" + departName + DateTime.Now.ToShortDateString().Replace("/", "") + ")-验收", entity.ID, entity.ORG_ID, (Guid)entity.ACCEPT_USER_ID, user?.NAME, DateTime.Now, + DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "SK022"); + } + } + else if (entity.STATUS == PFStandardStatus.Sign) + { + if (entity.ACCEPT_RESULTE == MS.Domain.Enums.SK.SKAcceptResultEnum.No) + { + if (entity.IMPLEMENT_USER_ID != null) + { + //驳回给整改落实人 + entity.STATUS = PFStandardStatus.Rejected; + //var departName = this.GetEntity(t => t.ID == entity.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0)?.NAME; + var UserNames = new List(); + var user = this.GetEntity(t => t.ENABLE_STATUS == (int)FMEnableStatusEnum.启用 && t.ID == entity.IMPLEMENT_USER_ID); + //发消息 + notice = NotificationTaskService.InsertUserNoticeTaskModel("隐患整改记录(" + DateTime.Now.ToShortDateString().Replace("/", "") + ")-驳回", entity.ID, entity.ORG_ID, (Guid)entity.IMPLEMENT_USER_ID, user?.NAME, DateTime.Now, + DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "SK022"); + } + else + { + //驳回给整改责任人 + entity.STATUS = PFStandardStatus.Rejected; + //var departName = this.GetEntity(t => t.ID == entity.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0)?.NAME; + var UserNames = new List(); + var user = this.GetEntity(t => t.ENABLE_STATUS == (int)FMEnableStatusEnum.启用 && t.ID == entity.RECITIFY_USER_ID); + //发消息 + notice = NotificationTaskService.InsertUserNoticeTaskModel("隐患整改记录(" + DateTime.Now.ToShortDateString().Replace("/", "") + ")-驳回", entity.ID, entity.ORG_ID, (Guid)entity.RECITIFY_USER_ID, user?.NAME, DateTime.Now, + DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "SK022"); + } + } + else + { + //触发审批 + entity.STATUS = PFStandardStatus.Approving; + //取审批流水码 + var sysFilter = new SystemCodeFilter(); + sysFilter.CodeType = (int)PFCodeRuleType.审批流编码; + sysFilter.Count = 1; + sysFilter.OrgId = entity.ORG_ID; + var codes = CodeRuleService.NewGenSerial(sysFilter); + var serialCode = codes.Split(new char[] { ',' }); + var param = Enum.GetName(typeof(SKHiddenLevel), entity.HIDDEN_LEVEL); + var level = (param == "Major" || param == "重大") ? "重大" : "一般"; + if (entity.HIDDEN_LEVEL == SKHiddenLevel.General) + { + var departmentType = this.GetEntity(t => t.ID == entity.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0)?.DEPARTMENT_TYPE; + level = Enum.GetName(typeof(FMDepartmentType), departmentType); + } + MFlowPermitService.InsertApprove(serialCode[0], "SK022", level, entity.ID, "SK022_SHOWPRINT", entity.TaskID, true, () => + { + if (entity != null) + UpdateEntityNoCommit(entity); + if (photoas != null && photoas.Any()) + BantchSaveEntityNoCommit(photoas); + if (photobs != null && photobs.Any()) + BantchSaveEntityNoCommit(photobs); + if (files != null && files.Any()) + BantchSaveEntityNoCommit(files); + if (basics != null && basics.Any()) + BantchSaveEntityNoCommit(basics); + if (notice != null) + UpdateEntityNoCommit(notice); + }, null, entity.APPLY_USER_ID, null, null, null, "SK022_SHOWPRINT", null); + return true; + } + } + if (entity.TaskID != Guid.Empty) + { + task = NotificationTaskService.GetTaskFinishModel(entity.TaskID); + task.SOURCE_FORMCODE = "SK022_SHOWPRINT"; + } + } + this.UnifiedCommit(() => { if (entity != null) @@ -237,7 +427,7 @@ namespace APT.SK.WebApi.Controllers this.ThrowError("060010"); filter.IgnoreDataRule = true; var result = this.GetEntity(id, new string[] { "Nav_ApplyUser", "Nav_ApplyDepartment","Nav_CheckType","Nav_RiskArea","Nav_Contents","Nav_Question", - "Nav_RecitifyUser","Nav_ImplementUser","Nav_AcceptUser","Nav_RectifyPhotoas.Nav_ImgFile","Nav_RectifyPhotobs.Nav_ImgFile","Nav_RectifyFiles.Nav_ImgFile","Nav_RectifyBasics.Nav_Law"}); + "Nav_RecitifyUser.Nav_Department","Nav_RecitifyUser.Nav_UserSignFiles","Nav_ImplementUser.Nav_UserSignFiles","Nav_AcceptUser.Nav_UserSignFiles","Nav_AcceptUser","Nav_RectifyPhotoas.Nav_ImgFile","Nav_RectifyPhotobs.Nav_ImgFile","Nav_RectifyFiles.Nav_ImgFile","Nav_RectifyBasics.Nav_Law"}); if (result != null && result.STATUS == PFStandardStatus.Rejected) { result.CONTEXT = ApproveCallBackService.RejectContent(result.ID); @@ -323,26 +513,26 @@ namespace APT.SK.WebApi.Controllers var areaList = this.GetEntities(t => t.IS_DELETED == false, new BaseFilter(pageFilter.OrgId)).ToList(); var contentList = this.GetEntities(t => t.IS_DELETED == false, new BaseFilter(pageFilter.OrgId)).ToList(); var records = this.GetEntities(t => t.IS_DELETED == false, new BaseFilter(pageFilter.OrgId), "Nav_RiskArea", "Nav_Contents"); - var groupRecords= records.GroupBy(m => new { m.RISK_AREA_ID, m.CHECK_CONTENTS_ID, m.HIDDEN_DESCRIPTION, m.HIDDEN_LEVEL }) - .Select(m => m.FirstOrDefault()).ToList(); - //.Select(m => new T_SK_HIDDEN_DANGER_RECTIFY_RECORD - //{ - // RISK_AREA_ID = m.Key.RISK_AREA_ID, - // Nav_RiskArea = areaList.FirstOrDefault(t => t.ID == m.Key.RISK_AREA_ID), - // CHECK_CONTENTS_ID = m.Key.CHECK_CONTENTS_ID, - // Nav_Contents = contentList.FirstOrDefault(t => t.ID == m.Key.CHECK_CONTENTS_ID), - // HIDDEN_DESCRIPTION = m.Key.HIDDEN_DESCRIPTION, - // HIDDEN_LEVEL = m.Key.HIDDEN_LEVEL, - // QTY = m.Count(p => p.RISK_AREA_ID == m.Key.RISK_AREA_ID && p.CHECK_CONTENTS_ID == m.Key.CHECK_CONTENTS_ID && p.HIDDEN_DESCRIPTION == m.Key.HIDDEN_DESCRIPTION && p.HIDDEN_LEVEL == m.Key.HIDDEN_LEVEL), - //}).ToList(); - + var groupRecords = records.GroupBy(m => new { m.RISK_AREA_ID, m.CHECK_CONTENTS_ID, m.HIDDEN_DESCRIPTION, m.HIDDEN_LEVEL }) + .Select(m => m.FirstOrDefault()).ToList(); + //.Select(m => new T_SK_HIDDEN_DANGER_RECTIFY_RECORD + //{ + // RISK_AREA_ID = m.Key.RISK_AREA_ID, + // Nav_RiskArea = areaList.FirstOrDefault(t => t.ID == m.Key.RISK_AREA_ID), + // CHECK_CONTENTS_ID = m.Key.CHECK_CONTENTS_ID, + // Nav_Contents = contentList.FirstOrDefault(t => t.ID == m.Key.CHECK_CONTENTS_ID), + // HIDDEN_DESCRIPTION = m.Key.HIDDEN_DESCRIPTION, + // HIDDEN_LEVEL = m.Key.HIDDEN_LEVEL, + // QTY = m.Count(p => p.RISK_AREA_ID == m.Key.RISK_AREA_ID && p.CHECK_CONTENTS_ID == m.Key.CHECK_CONTENTS_ID && p.HIDDEN_DESCRIPTION == m.Key.HIDDEN_DESCRIPTION && p.HIDDEN_LEVEL == m.Key.HIDDEN_LEVEL), + //}).ToList(); + if (groupRecords != null && groupRecords.Any()) { - foreach (var record in groupRecords) + foreach (var record in groupRecords) { record.QTY = records.Count(p => p.RISK_AREA_ID == record.RISK_AREA_ID && p.CHECK_CONTENTS_ID == record.CHECK_CONTENTS_ID && p.HIDDEN_DESCRIPTION == record.HIDDEN_DESCRIPTION && p.HIDDEN_LEVEL == record.HIDDEN_LEVEL); } - var data = groupRecords.OrderBy(t=>t.RISK_AREA_ID).ThenBy(m=>m.CHECK_CONTENTS_ID).Skip((pageFilter.PageIndex - 1) * pageFilter.Limit).Take(pageFilter.Limit).ToList(); + var data = groupRecords.OrderBy(t => t.RISK_AREA_ID).ThenBy(m => m.CHECK_CONTENTS_ID).Skip((pageFilter.PageIndex - 1) * pageFilter.Limit).Take(pageFilter.Limit).ToList(); result.Data = data; result.TotalCount = groupRecords.Count; } @@ -434,8 +624,8 @@ namespace APT.SK.WebApi.Controllers if (result != null && result.Data != null && result.Data.Any()) { result.Data.ForEach(t => - { - + { + if (t.HIDDEN_DANGER_CONFIRM_ID != null) { t.REMARK = "手动上报"; diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerReportController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerReportController.cs index 05252bf..21ee70a 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerReportController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerReportController.cs @@ -60,7 +60,9 @@ namespace APT.SK.WebApi.Controllers.Api var details = entity.Nav_ReportDetails; entity.Nav_ReportDetails = null; var files = entity.Nav_ReportFiles; - entity.Nav_ReportFiles = null; + entity.Nav_ReportFiles = null; + entity.ApplyDepartmentName = this.GetEntity(t => t.ID == departId).NAME; + entity.ApplyPostName = this.GetEntity(t => t.ID == userId, "Nav_Person.Nav_Post")?.Nav_Person?.Nav_Post?.NAME; var loginUserId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID; List userIds = new List(); List deleteFileIds = new List(); @@ -91,7 +93,7 @@ namespace APT.SK.WebApi.Controllers.Api } foreach (var item in details) { - var isExsists = details.FirstOrDefault(t => t.CHECK_QUESTION_ID==null); + var isExsists = details.FirstOrDefault(t => t.CHECK_QUESTION_ID == null); if (isExsists != null) { throw new Exception("每行的隐患描述都必须填写"); @@ -219,8 +221,8 @@ namespace APT.SK.WebApi.Controllers.Api task = NotificationTaskService.GetTaskFinishModel(entity.TaskID); task.SOURCE_FORMCODE = "SK014_SHOWPRINT"; } - } - + } + this.UnifiedCommit(() => { if (deleteBasicIds != null && deleteBasicIds.Any()) @@ -263,7 +265,7 @@ namespace APT.SK.WebApi.Controllers.Api filter.IgnoreDataRule = true; var result = this.GetEntity(id, new string[] {"Nav_ApplyUser","Nav_ApplyDepartment","Nav_CheckType", "Nav_ReportDetails","Nav_ReportDetails.Nav_RiskArea","Nav_ReportDetails.Nav_Contents","Nav_ReportDetails.Nav_Question","Nav_ReportDetails.Nav_ReportDetailBasics.Nav_Law", - "Nav_ReportDetails.Nav_RecitifyUser", "Nav_ReportDetails.Nav_ReportDetailFiles.Nav_ImgFile", + "Nav_ReportDetails.Nav_RecitifyUser.Nav_UserSignFiles", "Nav_ReportDetails.Nav_ReportDetailFiles.Nav_ImgFile", "Nav_ReportFiles","Nav_ReportFiles.Nav_ImgFile"}); //var taskId = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "TASK_ID").Value; if (result != null && result.Nav_ReportDetails != null && result.Nav_ReportDetails.Any())// && taskId != null @@ -298,15 +300,15 @@ namespace APT.SK.WebApi.Controllers.Api //var taskId = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "TASK_ID").Value; if (result != null && result.Nav_ReportDetails != null && result.Nav_ReportDetails.Any())// && taskId != null { - result.CHECK_PERSON = string.IsNullOrEmpty(result.CHECK_PERSON) ? "" : result.CHECK_PERSON; - //var detailTemps = result.Nav_CheckRecordDetails.Where(c => c.Nav_CheckRecordDetailUsers != null && c.Nav_CheckRecordDetailUsers.FirstOrDefault(m => m.USER_ID == loginUserId)?.USER_ID == loginUserId).ToList(); - var details = result.Nav_ReportDetails.GroupBy(t => t.RISK_AREA_ID).Select(g => g.First()).ToList(); + result.CHECK_PERSON = string.IsNullOrEmpty(result.CHECK_PERSON) ? "" : result.CHECK_PERSON; + //var detailTemps = result.Nav_CheckRecordDetails.Where(c => c.Nav_CheckRecordDetailUsers != null && c.Nav_CheckRecordDetailUsers.FirstOrDefault(m => m.USER_ID == loginUserId)?.USER_ID == loginUserId).ToList(); + var details = result.Nav_ReportDetails.GroupBy(t => t.RISK_AREA_ID).Select(g => g.First()).ToList(); if (details != null && details.Any()) { foreach (var item in details) { - item.Nav_DetailContents = new List(); - + item.Nav_DetailContents = new List(); + var safeCheck1 = result.Nav_ReportDetails.Where(t => t.RISK_AREA_ID == item.RISK_AREA_ID).ToList(); if (safeCheck1 != null && safeCheck1.Any()) { @@ -321,7 +323,7 @@ namespace APT.SK.WebApi.Controllers.Api ddd.CHECKCONTENT = item2.CHECKCONTENT; ddd.CHECKPROOF = item2.CHECKPROOF; ddd.CHECKSTANDARD = item2.CHECKSTANDARD; - ddd.HIDDEN_DESCRIPTION = string.IsNullOrEmpty(item2.HIDDEN_DESCRIPTION) ? "" : item2.HIDDEN_DESCRIPTION; + ddd.HIDDEN_DESCRIPTION = string.IsNullOrEmpty(item2.HIDDEN_DESCRIPTION) ? item2.Nav_Question?.DESCREPTION : item2.HIDDEN_DESCRIPTION; ddd.HIDDEN_LEVEL = item2.HIDDEN_LEVEL; ddd.HIDDEN_PLACE = string.IsNullOrEmpty(item2.HIDDEN_PLACE) ? "" : item2.HIDDEN_PLACE; ddd.Nav_RecitifyUser = item2.Nav_RecitifyUser; @@ -340,11 +342,11 @@ namespace APT.SK.WebApi.Controllers.Api } } ddd.Nav_ReportDetailBasics = lawTemps; - item.Nav_DetailContents.Add(ddd); - + item.Nav_DetailContents.Add(ddd); + } - } - + } + } result.Nav_ReportDetails = details; } @@ -567,7 +569,7 @@ namespace APT.SK.WebApi.Controllers.Api "Nav_ReportDetails","Nav_ReportDetails.Nav_RiskArea","Nav_ReportDetails.Nav_Contents" }); if (result == null) - { + { var confirm = this.GetEntity(id, new string[] {"Nav_ApplyUser","Nav_ApplyDepartment","Nav_RiskArea", "Nav_Contents","Nav_CheckType"}); if (confirm != null) @@ -606,7 +608,7 @@ namespace APT.SK.WebApi.Controllers.Api if (result != null && result.Nav_ReportDetails != null && result.Nav_ReportDetails.Any()) { var detailIds = result.Nav_ReportDetails.Select(t => t.ID).ToList(); - var noticeDetailIds = new List() ; + var noticeDetailIds = new List(); var noticeDetails = new List(); var notice = this.GetEntity(t => detailIds.Contains((Guid)t.HIDDEN_DANGER_REPORT_DETAIL_ID), "Nav_RectifyDetails"); if (notice != null && notice.Nav_RectifyDetails != null && notice.Nav_RectifyDetails.Any()) @@ -637,15 +639,15 @@ namespace APT.SK.WebApi.Controllers.Api { foreach (var item in result.Nav_ReportDetails) { - var status = rectifys.FirstOrDefault(t =>(t.HIDDEN_DANGER_REPORT_DETAIL_ID == item.ID || t.HIDDEN_DANGER_CONFIRM_ID == item.ID) && t.CHECK_CONTENTS_ID == item.CHECK_CONTENTS_ID && t.RISK_AREA_ID == item.RISK_AREA_ID); + var status = rectifys.FirstOrDefault(t => (t.HIDDEN_DANGER_REPORT_DETAIL_ID == item.ID || t.HIDDEN_DANGER_CONFIRM_ID == item.ID) && t.CHECK_CONTENTS_ID == item.CHECK_CONTENTS_ID && t.RISK_AREA_ID == item.RISK_AREA_ID); if (status != null) { item.STATUS = status.STATUS; item.HIDDEN_DANGER_RECTIFY_RECORD_ID = status.ID; } } - } - + } + } return result; }); @@ -674,7 +676,7 @@ namespace APT.SK.WebApi.Controllers.Api { fileIds = this.GetEntities(t => t.HIDDEN_DANGER_REPORT_ID == report.ID, new BaseFilter(report.ORG_ID)).Select(m => m.ID).ToList(); detailIds = this.GetEntities(t => t.HIDDEN_DANGER_REPORT_ID == report.ID, new BaseFilter(report.ORG_ID)).Select(m => m.ID).ToList(); - detailFileIds = this.GetEntities(t => detailIds.Contains( t.HIDDEN_DANGER_REPORT_DETAIL_ID), new BaseFilter(report.ORG_ID)).Select(m => m.ID).ToList(); + detailFileIds = this.GetEntities(t => detailIds.Contains(t.HIDDEN_DANGER_REPORT_DETAIL_ID), new BaseFilter(report.ORG_ID)).Select(m => m.ID).ToList(); detailBasicIds = this.GetEntities(t => detailIds.Contains(t.HIDDEN_DANGER_REPORT_DETAIL_ID), new BaseFilter(report.ORG_ID)).Select(m => m.ID).ToList(); approveIds = this.GetEntities(t => t.DATA_ID == report.ID, new BaseFilter(report.ORG_ID)).Select(m => m.ID).ToList(); approveDetailIds = this.GetEntities(t => approveIds.Contains(t.APPROVE_ID), new BaseFilter(report.ORG_ID)).Select(m => m.ID).ToList(); diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/IdentifyEvaluationPlanController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/IdentifyEvaluationPlanController.cs index 1d45af6..1e80891 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/IdentifyEvaluationPlanController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/IdentifyEvaluationPlanController.cs @@ -1,249 +1,256 @@ -using APT.BaseData.Domain.Entities.FM; -using APT.BaseData.Domain.Entities; -using APT.BaseData.Domain.Enums.PF; -using APT.BaseData.Domain.Enums; -using APT.BaseData.Domain.IServices.FM; -using APT.BaseData.Domain.IServices; -using APT.Infrastructure.Core; -using APT.MS.Domain.Entities.SK; -using APT.MS.Domain.Enums; -using APT.Utility; -using Microsoft.AspNetCore.Mvc; -using log4net.Core; -using APT.MS.Domain.Enums.SK; -using APT.MS.Domain.Entities.FO; -using System; -using System.Collections.Generic; -using System.Linq; - -namespace APT.SK.WebApi.Controllers.Api -{ - /// - /// 辨识评估计划 - /// - [Route("api/SK/SKIdentifyEvaluationPlan")] - public partial class IdentifyEvaluationPlanController : AuthorizeApiController - { - IPFApproveCallBackService ApproveCallBackService { get; set; } - IFMNotificationTaskService NotificationTaskService { get; set; } - IPFCodeRuleService CodeRuleService { get; set; } - IFMFlowPermitService MFlowPermitService { get; set; } - public IdentifyEvaluationPlanController(IFMNotificationTaskService notificationTaskService, IFMFlowPermitService mFlowPermitService, IPFCodeRuleService codeRuleService, IPFApproveCallBackService approveCallBackService) - { - NotificationTaskService = notificationTaskService; - MFlowPermitService = mFlowPermitService; - CodeRuleService = codeRuleService; - ApproveCallBackService = approveCallBackService; - } - [HttpPost, Route("FullUpdate")] - public JsonActionResult FullUpdate([FromBody] T_SK_IDENTIFY_EVALUATION_PLAN entity) - { - return SafeExecute(() => - { - var userId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID; - var departId = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID; - if (entity.APPLY_USER_ID == null) - entity.APPLY_USER_ID = userId; - if (entity.APPLY_DEPARTMENT_ID == null) - entity.APPLY_DEPARTMENT_ID = departId; - var details = entity.Nav_Details; - entity.Nav_Details = null; - var files = entity.Nav_Files; - entity.Nav_Files = null; - if (entity.START_DATE.Value.Date < DateTime.Now.Date) - { - throw new Exception("辨识开始时间必须大于今天"); - } - List deleteUserIds = new List(); - List userList = new List(); - var error1 = details.FirstOrDefault(t => t.DEPARTMENT_ID == null && !t.IS_DELETED); - if (error1 != null) - { - throw new Exception("辨识部门不能为空"); - } - var error2 = details.FirstOrDefault(t => t.Nav_DetailUsers == null && !t.IS_DELETED); - if (error2 != null) - { - throw new Exception("辨识人员不能为空"); - } - if (details != null && details.Any()) - { - var detailIds = details.Select(t => t.ID).ToList(); - deleteUserIds = this.GetEntities(t => detailIds.Contains(t.IDENTIFY_EVALUATION_PLAN_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); - foreach (var item in details) - { - item.ORG_ID = entity.ORG_ID; - item.IDENTIFY_EVALUATION_PLAN_ID = entity.ID; - if (item.Nav_DetailUsers != null && item.Nav_DetailUsers.Any()) - { - foreach (var item2 in item.Nav_DetailUsers) - { - item2.ORG_ID = entity.ORG_ID; - item2.IDENTIFY_EVALUATION_PLAN_DETAIL_ID = item.ID; - item2.Nav_User = null; - userList.Add(item2); - } - } - item.Nav_DetailUsers = null; - } - } - if (files != null && files.Any()) - { - foreach (var item in files) - { - item.ORG_ID = entity.ORG_ID; - item.IDENTIFY_EVALUATION_PLAN_ID = entity.ID; - item.Nav_ImgFile = null; - } - } - List notices = new List(); - if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify")) - { - var param = "其他"; - var department = this.GetEntity(t => t.ID == entity.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0); - if (department != null) - { - if (department.DEPARTMENT_TYPE == 3 || (department.NAME.Contains("安全环保") && department.DEPARTMENT_TYPE == 0)) - { param = "公司"; } - } - entity.STATUS = PFStandardStatus.Approving; - //取审批流水码 - var sysFilter = new SystemCodeFilter(); - sysFilter.CodeType = (int)PFCodeRuleType.审批流编码; - sysFilter.Count = 1; - sysFilter.OrgId = entity.ORG_ID; - var codes = CodeRuleService.NewGenSerial(sysFilter); - var serialCode = codes.Split(new char[] { ',' }); - MFlowPermitService.InsertApprove(serialCode[0], "SK031", param, entity.ID, "SK031_SHOWPRINT", entity.TaskID, true, () => - { - if (deleteUserIds != null && deleteUserIds.Any()) - this.BantchDeleteEntityNoCommit(deleteUserIds); - if (entity != null) - UpdateEntityNoCommit(entity); - if (details != null && details.Any()) - BantchSaveEntityNoCommit(details); - if (files != null && files.Any()) - BantchSaveEntityNoCommit(files); - if (userList != null && userList.Any()) - BantchSaveEntityNoCommit(userList); - }, null, null, null, null, null, "SK031_SHOWPRINT", null, "安全风险辨识与评估计划审批"); - return true; - } - - this.UnifiedCommit(() => - { - if (deleteUserIds != null && deleteUserIds.Any()) - this.BantchDeleteEntityNoCommit(deleteUserIds); - if (entity != null) - UpdateEntityNoCommit(entity); - if (details != null && details.Any()) - BantchSaveEntityNoCommit(details); - if (files != null && files.Any()) - BantchSaveEntityNoCommit(files); - if (userList != null && userList.Any()) - BantchSaveEntityNoCommit(userList); - }); - return true; - }); - } - - /// - /// 获得单条实体数据 - /// - /// 过滤实体 - /// - [HttpPost, Route("SKGet")] - public JsonActionResult SKGet([FromBody] KeywordFilter filter) - { - return SafeExecute(() => - { - var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID").Value.ToString(); - if (string.IsNullOrEmpty(id)) - this.ThrowError("060010"); - filter.IgnoreDataRule = true; - var result = this.GetEntity(id, new string[] { "Nav_ApplyUser", "Nav_ApplyDepartment", - "Nav_Files.Nav_ImgFile"}); - if (result != null) - { - var details = this.GetEntities(t => t.IDENTIFY_EVALUATION_PLAN_ID == result.ID, new BaseFilter(filter.OrgId), "Nav_Department"); - if (details.Any()) - { - var detailIds = details.Select(t => t.ID).ToList(); - var users = this.GetEntities(t => detailIds.Contains(t.IDENTIFY_EVALUATION_PLAN_DETAIL_ID), new BaseFilter(filter.OrgId), "Nav_User"); - foreach (var detail in details) - { - var userTemps = users.Where(t => t.IDENTIFY_EVALUATION_PLAN_DETAIL_ID == detail.ID).ToList(); - detail.Nav_DetailUsers = userTemps; - } - } - result.Nav_Details = details.OrderBy(m => m.NUM).ToList(); - if (result.STATUS == PFStandardStatus.Rejected) - { - result.CONTEXT = ApproveCallBackService.RejectContent(result.ID); - } - } - return result; - }); - } - - /// - /// 回调函数 - /// - /// - /// - [HttpPost, Route("BackUpdateNew")] - public JsonActionResult BackUpdateNew([FromBody] T_PF_APPROVE entity) - { - return SafeExecute(() => - { - return ApproveCallBackService.CallBackNew("SK/SKIdentifyEvaluationPlan/BackUpdateNew", entity); - }); - } - /// - /// 驳回 - /// - /// - /// - [HttpPost, Route("RejectUpdate")] - public JsonActionResult RejectUpdate([FromBody] T_PF_APPROVE model) - { - return SafeExecute(() => - { - //公共 获取审批流信息 - T_PF_APPROVE modelApp = null; - List listAppDetail = null; - T_FM_NOTIFICATION_TASK taskFinish = null; - string Msg = string.Empty; - bool ResultGetInfo = ApproveCallBackService.GetApproject(model, ref modelApp, ref listAppDetail, ref taskFinish, ref Msg); - if (!ResultGetInfo) - throw new Exception("驳回失败!"); - if (modelApp == null || listAppDetail == null) - throw new Exception("获取驳回信息失败!"); - var entity = this.GetEntity(model.DATA_ID, new string[] { "Nav_ApplyUser" }); - entity.STATUS = PFStandardStatus.Rejected; - T_FM_NOTIFICATION_TASK notice = new T_FM_NOTIFICATION_TASK(); - if (entity.APPLY_USER_ID != null) - { - //发消息 - notice = NotificationTaskService.InsertUserNoticeTaskModel("安全风险辨识与评估计划被驳回", entity.ID, entity.ORG_ID, (Guid)entity.APPLY_USER_ID, entity.Nav_ApplyUser?.NAME, DateTime.Now, - DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "SK031"); - } - UnifiedCommit(() => - { - if (entity != null) - this.UpdateEntityNoCommit(entity); - if (notice != null) - this.UpdateEntityNoCommit(notice); - if (modelApp != null) - UpdateEntityNoCommit(modelApp); - if (listAppDetail != null && listAppDetail.Count > 0) - BantchUpdateEntityNoCommit(listAppDetail); - if (taskFinish != null) - UpdateEntityNoCommit(taskFinish); - }); - return true; - //return ApproveCallBackService.CallReject("HM/HMLicenseAnalysis/RejectUpdate", id); - }); - } - } -} +using APT.BaseData.Domain.Entities.FM; +using APT.BaseData.Domain.Entities; +using APT.BaseData.Domain.Enums.PF; +using APT.BaseData.Domain.Enums; +using APT.BaseData.Domain.IServices.FM; +using APT.BaseData.Domain.IServices; +using APT.Infrastructure.Core; +using APT.MS.Domain.Entities.SK; +using APT.MS.Domain.Enums; +using APT.Utility; +using Microsoft.AspNetCore.Mvc; +using log4net.Core; +using APT.MS.Domain.Enums.SK; +using APT.MS.Domain.Entities.FO; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace APT.SK.WebApi.Controllers.Api +{ + /// + /// 辨识评估计划 + /// + [Route("api/SK/SKIdentifyEvaluationPlan")] + public partial class IdentifyEvaluationPlanController : AuthorizeApiController + { + IPFApproveCallBackService ApproveCallBackService { get; set; } + IFMNotificationTaskService NotificationTaskService { get; set; } + IPFCodeRuleService CodeRuleService { get; set; } + IFMFlowPermitService MFlowPermitService { get; set; } + public IdentifyEvaluationPlanController(IFMNotificationTaskService notificationTaskService, IFMFlowPermitService mFlowPermitService, IPFCodeRuleService codeRuleService, IPFApproveCallBackService approveCallBackService) + { + NotificationTaskService = notificationTaskService; + MFlowPermitService = mFlowPermitService; + CodeRuleService = codeRuleService; + ApproveCallBackService = approveCallBackService; + } + [HttpPost, Route("FullUpdate")] + public JsonActionResult FullUpdate([FromBody] T_SK_IDENTIFY_EVALUATION_PLAN entity) + { + return SafeExecute(() => + { + var userId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID; + var departId = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID; + if (entity.APPLY_USER_ID == null) + entity.APPLY_USER_ID = userId; + if (entity.APPLY_DEPARTMENT_ID == null) + entity.APPLY_DEPARTMENT_ID = departId; + var details = entity.Nav_Details; + entity.Nav_Details = null; + var files = entity.Nav_Files; + entity.Nav_Files = null; + entity.ApplyDepartmentName = this.GetEntity(t => t.ID == departId).NAME; + entity.ApplyPostName = this.GetEntity(t => t.ID == userId, "Nav_Person.Nav_Post")?.Nav_Person?.Nav_Post?.NAME; + if (entity.START_DATE.Value.Date < DateTime.Now.Date) + { + throw new Exception("辨识开始时间必须大于今天"); + } + List deleteUserIds = new List(); + List deleteIds = new List(); + List userList = new List(); + var error1 = details.FirstOrDefault(t => t.DEPARTMENT_ID == null && !t.IS_DELETED); + if (error1 != null) + { + throw new Exception("辨识部门不能为空"); + } + var error2 = details.FirstOrDefault(t => t.Nav_DetailUsers == null && !t.IS_DELETED); + if (error2 != null) + { + throw new Exception("辨识人员不能为空"); + } + deleteIds = this.GetEntities(t => t.IDENTIFY_EVALUATION_PLAN_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); + deleteUserIds = this.GetEntities(t => deleteIds.Contains(t.IDENTIFY_EVALUATION_PLAN_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); + if (details != null && details.Where(t => !t.IS_DELETED).Any()) + { + foreach (var item in details.Where(t => !t.IS_DELETED).ToList()) + { + item.ORG_ID = entity.ORG_ID; + item.IDENTIFY_EVALUATION_PLAN_ID = entity.ID; + if (item.Nav_DetailUsers != null && item.Nav_DetailUsers.Where(t => !t.IS_DELETED).Any()) + { + foreach (var item2 in item.Nav_DetailUsers.Where(t => !t.IS_DELETED).ToList()) + { + item2.ORG_ID = entity.ORG_ID; + item2.IDENTIFY_EVALUATION_PLAN_DETAIL_ID = item.ID; + item2.Nav_User = null; + userList.Add(item2); + } + } + item.Nav_DetailUsers = null; + } + } + if (files != null && files.Any()) + { + foreach (var item in files) + { + item.ORG_ID = entity.ORG_ID; + item.IDENTIFY_EVALUATION_PLAN_ID = entity.ID; + item.Nav_ImgFile = null; + } + } + List notices = new List(); + if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify")) + { + var param = "其他"; + var department = this.GetEntity(t => t.ID == entity.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0); + if (department != null) + { + if (department.DEPARTMENT_TYPE == 3 || (department.NAME.Contains("安全环保") && department.DEPARTMENT_TYPE == 0)) + { param = "公司"; } + } + entity.STATUS = PFStandardStatus.Approving; + //取审批流水码 + var sysFilter = new SystemCodeFilter(); + sysFilter.CodeType = (int)PFCodeRuleType.审批流编码; + sysFilter.Count = 1; + sysFilter.OrgId = entity.ORG_ID; + var codes = CodeRuleService.NewGenSerial(sysFilter); + var serialCode = codes.Split(new char[] { ',' }); + MFlowPermitService.InsertApprove(serialCode[0], "SK031", param, entity.ID, "SK031_SHOWPRINT", entity.TaskID, true, () => + { + if (deleteUserIds != null && deleteUserIds.Any()) + this.BantchDeleteEntityNoCommit(deleteUserIds); + if (deleteIds != null && deleteIds.Any()) + this.BantchDeleteEntityNoCommit(deleteIds); + if (entity != null) + UpdateEntityNoCommit(entity); + if (details != null && details.Any()) + BantchSaveEntityNoCommit(details); + if (files != null && files.Any()) + BantchSaveEntityNoCommit(files); + if (userList != null && userList.Any()) + BantchSaveEntityNoCommit(userList); + }, null, null, null, null, null, "SK031_SHOWPRINT", null, "安全风险辨识与评估计划审批"); + return true; + } + + this.UnifiedCommit(() => + { + if (deleteUserIds != null && deleteUserIds.Any()) + this.BantchDeleteEntityNoCommit(deleteUserIds); + if (deleteIds != null && deleteIds.Any()) + this.BantchDeleteEntityNoCommit(deleteIds); + if (entity != null) + UpdateEntityNoCommit(entity); + if (details != null && details.Any()) + BantchSaveEntityNoCommit(details); + if (files != null && files.Any()) + BantchSaveEntityNoCommit(files); + if (userList != null && userList.Any()) + BantchSaveEntityNoCommit(userList); + }); + return true; + }); + } + + /// + /// 获得单条实体数据 + /// + /// 过滤实体 + /// + [HttpPost, Route("SKGet")] + public JsonActionResult SKGet([FromBody] KeywordFilter filter) + { + return SafeExecute(() => + { + var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID").Value.ToString(); + if (string.IsNullOrEmpty(id)) + this.ThrowError("060010"); + filter.IgnoreDataRule = true; + var result = this.GetEntity(id, new string[] { "Nav_ApplyUser", "Nav_ApplyDepartment", + "Nav_Files.Nav_ImgFile"}); + if (result != null) + { + var details = this.GetEntities(t => t.IDENTIFY_EVALUATION_PLAN_ID == result.ID, new BaseFilter(filter.OrgId), "Nav_Department"); + if (details.Any()) + { + var detailIds = details.Select(t => t.ID).ToList(); + var users = this.GetEntities(t => detailIds.Contains(t.IDENTIFY_EVALUATION_PLAN_DETAIL_ID), new BaseFilter(filter.OrgId), "Nav_User"); + foreach (var detail in details) + { + var userTemps = users.Where(t => t.IDENTIFY_EVALUATION_PLAN_DETAIL_ID == detail.ID).ToList(); + detail.Nav_DetailUsers = userTemps; + } + } + result.Nav_Details = details.OrderBy(m => m.NUM).ToList(); + if (result.STATUS == PFStandardStatus.Rejected) + { + result.CONTEXT = ApproveCallBackService.RejectContent(result.ID); + } + } + return result; + }); + } + + /// + /// 回调函数 + /// + /// + /// + [HttpPost, Route("BackUpdateNew")] + public JsonActionResult BackUpdateNew([FromBody] T_PF_APPROVE entity) + { + return SafeExecute(() => + { + return ApproveCallBackService.CallBackNew("SK/SKIdentifyEvaluationPlan/BackUpdateNew", entity); + }); + } + /// + /// 驳回 + /// + /// + /// + [HttpPost, Route("RejectUpdate")] + public JsonActionResult RejectUpdate([FromBody] T_PF_APPROVE model) + { + return SafeExecute(() => + { + //公共 获取审批流信息 + T_PF_APPROVE modelApp = null; + List listAppDetail = null; + T_FM_NOTIFICATION_TASK taskFinish = null; + string Msg = string.Empty; + bool ResultGetInfo = ApproveCallBackService.GetApproject(model, ref modelApp, ref listAppDetail, ref taskFinish, ref Msg); + if (!ResultGetInfo) + throw new Exception("驳回失败!"); + if (modelApp == null || listAppDetail == null) + throw new Exception("获取驳回信息失败!"); + var entity = this.GetEntity(model.DATA_ID, new string[] { "Nav_ApplyUser" }); + entity.STATUS = PFStandardStatus.Rejected; + T_FM_NOTIFICATION_TASK notice = new T_FM_NOTIFICATION_TASK(); + if (entity.APPLY_USER_ID != null) + { + //发消息 + notice = NotificationTaskService.InsertUserNoticeTaskModel("安全风险辨识与评估计划被驳回", entity.ID, entity.ORG_ID, (Guid)entity.APPLY_USER_ID, entity.Nav_ApplyUser?.NAME, DateTime.Now, + DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "SK031"); + } + UnifiedCommit(() => + { + if (entity != null) + this.UpdateEntityNoCommit(entity); + if (notice != null) + this.UpdateEntityNoCommit(notice); + if (modelApp != null) + UpdateEntityNoCommit(modelApp); + if (listAppDetail != null && listAppDetail.Count > 0) + BantchUpdateEntityNoCommit(listAppDetail); + if (taskFinish != null) + UpdateEntityNoCommit(taskFinish); + }); + return true; + //return ApproveCallBackService.CallReject("HM/HMLicenseAnalysis/RejectUpdate", id); + }); + } + } +} diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskAreaController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskAreaController.cs index a987e33..7ce8628 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskAreaController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskAreaController.cs @@ -1,8 +1,13 @@ using APT.Infrastructure.Core; +using APT.MS.Domain.Entities.HM; using APT.MS.Domain.Entities.SK; +using APT.MS.Domain.Enums; using APT.Utility; using Microsoft.AspNetCore.Mvc; +using System; using System.Collections.Generic; +using System.Linq.Expressions; +using System.Linq; namespace APT.SK.WebApi.Controllers.Api { @@ -44,5 +49,42 @@ namespace APT.SK.WebApi.Controllers.Api return true; }); } + + /// + /// 区域最小单元 + /// + /// + /// + [HttpPost, Route("GetAreaList")] + public PagedActionResult GetAreaList([FromBody] KeywordPageFilter pageFilter) + { + return SafeGetPagedData((result) => + { + var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId.ToString(); + List ids = new List(); + Expression> expression = e => !e.IS_DELETED; + var areas = this.GetEntities(expression, new BaseFilter(pageFilter.OrgId)).ToList(); + if (areas != null & areas.Any()) + { + var parentIds = areas.Where(m => m.PARENT_ID != null).Select(t => t.PARENT_ID).ToList(); + foreach (var item in areas) + { + if (!parentIds.Contains(item.ID)) + { + ids.Add(item.ID); + } + } + } + Expression> expressionArea = e => !e.IS_DELETED; + if (ids != null && ids.Any()) + { + expressionArea = expressionArea.And(t => ids.Contains(t.ID)); + } + var info = this.GetOrderPageEntities(expressionArea, pageFilter, null); + result.TotalCount = info.TotalCount; + result.Data = info.Data; + result.IsSuccessful = info.IsSuccessful; + }); + } } } \ No newline at end of file diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationController.cs index ce4e7cd..3dd9c15 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationController.cs @@ -50,7 +50,9 @@ namespace APT.SK.WebApi.Controllers.Api var details = entity.Nav_Details; entity.Nav_Details = null; var files = entity.Nav_Files; - entity.Nav_Files = null; + entity.Nav_Files = null; + entity.ApplyDepartmentName = this.GetEntity(t => t.ID == departId).NAME; + entity.ApplyPostName = this.GetEntity(t => t.ID == userId, "Nav_Person.Nav_Post")?.Nav_Person?.Nav_Post?.NAME; List deleteMeasureIds = new List(); List deleteDepartIds = new List(); List deletePostIds = new List(); @@ -62,25 +64,29 @@ namespace APT.SK.WebApi.Controllers.Api var record = this.GetEntity(t => t.ID == entity.ID, "Nav_Details"); if (record != null && record.Nav_Details != null && record.Nav_Details.Any() && details != null && details.Any()) { - record.Nav_Details.ForEach(t => - { - if (t.Nav_DetailMeasures != null && t.Nav_DetailMeasures.Any()) - { - var tempIds = t.Nav_DetailMeasures.Select(m => m.ID).ToList(); - deleteMeasureIds.AddRange(tempIds); - } - if (t.Nav_DetailDeparts != null && t.Nav_DetailDeparts.Any()) - { - var tempIds = t.Nav_DetailDeparts.Select(m => m.ID).ToList(); - deleteDepartIds.AddRange(tempIds); - } - if (t.Nav_DetailPosts != null && t.Nav_DetailPosts.Any()) - { - var tempIds = t.Nav_DetailPosts.Select(m => m.ID).ToList(); - deletePostIds.AddRange(tempIds); - } - deleteDetailIds.Add(t.ID); - }); + deleteDetailIds = record.Nav_Details.Select(t => t.ID).ToList(); + deleteMeasureIds = this.GetEntities(t => deleteDetailIds.Contains(t.RISK_EVALUATION_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); + deleteDepartIds = this.GetEntities(t => deleteDetailIds.Contains(t.RISK_EVALUATION_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); + deletePostIds = this.GetEntities(t => deleteDetailIds.Contains(t.RISK_EVALUATION_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); + //record.Nav_Details.ForEach(t => + //{ + // if (t.Nav_DetailMeasures != null && t.Nav_DetailMeasures.Any()) + // { + // var tempIds = t.Nav_DetailMeasures.Select(m => m.ID).ToList(); + // deleteMeasureIds.AddRange(tempIds); + // } + // if (t.Nav_DetailDeparts != null && t.Nav_DetailDeparts.Any()) + // { + // var tempIds = t.Nav_DetailDeparts.Select(m => m.ID).ToList(); + // deleteDepartIds.AddRange(tempIds); + // } + // if (t.Nav_DetailPosts != null && t.Nav_DetailPosts.Any()) + // { + // var tempIds = t.Nav_DetailPosts.Select(m => m.ID).ToList(); + // deletePostIds.AddRange(tempIds); + // } + // deleteDetailIds.Add(t.ID); + //}); } if (details != null && details.Any()) { @@ -120,28 +126,28 @@ namespace APT.SK.WebApi.Controllers.Api item.Nav_DetailPosts = null; if (item.EVALUATE_LEVEL == SKEvaluateLevelEnum.重大风险) { - if (!item.DEPARTMENT_TYPE.Contains("公司级")) + if (!string.IsNullOrEmpty(item.DEPARTMENT_TYPE) && !item.DEPARTMENT_TYPE.Contains("公司级")) { - throw new Exception("第"+item.NUM+"行,重大风险管控层级必须包含公司级"); + throw new Exception("第" + item.NUM + "行,重大风险管控层级必须包含公司级"); } } if (item.EVALUATE_LEVEL == SKEvaluateLevelEnum.较大风险) { - if (!item.DEPARTMENT_TYPE.Contains("部门级") &&!item.DEPARTMENT_TYPE.Contains("公司级")) + if (!string.IsNullOrEmpty(item.DEPARTMENT_TYPE) && !item.DEPARTMENT_TYPE.Contains("部门级") && !item.DEPARTMENT_TYPE.Contains("公司级")) { throw new Exception("第" + item.NUM + "行,较大风险管控层级必须大于部门级"); } } if (item.EVALUATE_LEVEL == SKEvaluateLevelEnum.一般风险) { - if (!item.DEPARTMENT_TYPE.Contains("部门级") && !item.DEPARTMENT_TYPE.Contains("公司级") && !item.DEPARTMENT_TYPE.Contains("车间级")) + if (!string.IsNullOrEmpty(item.DEPARTMENT_TYPE) && !item.DEPARTMENT_TYPE.Contains("部门级") && !item.DEPARTMENT_TYPE.Contains("公司级") && !item.DEPARTMENT_TYPE.Contains("车间级")) { throw new Exception("第" + item.NUM + "行,一般风险管控层级必须大于车间级"); } } if (item.EVALUATE_LEVEL == SKEvaluateLevelEnum.低风险) { - if (!item.DEPARTMENT_TYPE.Contains("部门级") && !item.DEPARTMENT_TYPE.Contains("公司级") && !item.DEPARTMENT_TYPE.Contains("车间级") && !item.DEPARTMENT_TYPE.Contains("班组级")) + if (!string.IsNullOrEmpty(item.DEPARTMENT_TYPE) && !item.DEPARTMENT_TYPE.Contains("部门级") && !item.DEPARTMENT_TYPE.Contains("公司级") && !item.DEPARTMENT_TYPE.Contains("车间级") && !item.DEPARTMENT_TYPE.Contains("班组级")) { throw new Exception("第" + item.NUM + "行,低风险管控层级必须大于班组级"); } diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationSummaryController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationSummaryController.cs index 52f0502..861e637 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationSummaryController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationSummaryController.cs @@ -48,7 +48,9 @@ namespace APT.SK.WebApi.Controllers.Api var details = entity.Nav_Details; entity.Nav_Details = null; var files = entity.Nav_Files; - entity.Nav_Files = null; + entity.Nav_Files = null; + entity.ApplyDepartmentName = this.GetEntity(t => t.ID == departId).NAME; + entity.ApplyPostName = this.GetEntity(t => t.ID == userId, "Nav_Person.Nav_Post")?.Nav_Person?.Nav_Post?.NAME; List measureList = new List(); List departList = new List(); List postList = new List(); @@ -161,7 +163,7 @@ namespace APT.SK.WebApi.Controllers.Api "Nav_Files.Nav_ImgFile"}); if (result != null) { - var details = this.GetEntities(t => t.RISK_EVALUATION_SUMMARY_ID == result.ID, new BaseFilter(filter.OrgId), "Nav_Area", "Nav_Type", "Nav_RiskName","Nav_SCOREL", "Nav_SCOREE", "Nav_SCOREC"); + var details = this.GetEntities(t => t.RISK_EVALUATION_SUMMARY_ID == result.ID, new BaseFilter(filter.OrgId), "Nav_Area", "Nav_Type", "Nav_RiskName", "Nav_SCOREL", "Nav_SCOREE", "Nav_SCOREC"); if (details.Any()) { var detailIds = details.Select(t => t.ID).ToList(); @@ -183,7 +185,7 @@ namespace APT.SK.WebApi.Controllers.Api detail.Nav_DetailPosts = postTemps.OrderBy(t => t.POST_ID).ToList(); } } - result.Nav_Details = details.OrderBy(m => m.MineType).ThenBy(m=>m.AREA_ID).ThenBy(n=>n.TYPE_ID).ToList(); + result.Nav_Details = details.OrderBy(m => m.MineType).ThenBy(m => m.AREA_ID).ThenBy(n => n.TYPE_ID).ToList(); if (result.STATUS == PFStandardStatus.Rejected) { result.CONTEXT = ApproveCallBackService.RejectContent(result.ID); diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyController.cs index c5ac7b1..da417a8 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyController.cs @@ -47,11 +47,13 @@ namespace APT.SK.WebApi.Controllers.Api if (entity.APPLY_DEPARTMENT_ID == null) entity.APPLY_DEPARTMENT_ID = departId; if (entity.IDENTIFY_EVALUATION_PLAN_ID == null) - entity.APPLY_DEPARTMENT_ID = this.GetEntity(t=> t.START_DATE.Value.Date == entity.START_DATE.Value.Date && t.STATUS == PFStandardStatus.Archived && t.ISSEND == true)?.ID; + entity.APPLY_DEPARTMENT_ID = this.GetEntity(t => t.START_DATE.Value.Date == entity.START_DATE.Value.Date && t.STATUS == PFStandardStatus.Archived && t.ISSEND == true)?.ID; var details = entity.Nav_Details; entity.Nav_Details = null; var files = entity.Nav_Files; - entity.Nav_Files = null; + entity.Nav_Files = null; + entity.ApplyDepartmentName = this.GetEntity(t => t.ID == departId).NAME; + entity.ApplyPostName = this.GetEntity(t => t.ID == userId, "Nav_Person.Nav_Post")?.Nav_Person?.Nav_Post?.NAME; List deleteMeasureIds = new List(); List deleteDetailIds = new List(); List measureList = new List(); @@ -59,15 +61,17 @@ namespace APT.SK.WebApi.Controllers.Api var record = this.GetEntity(t => t.ID == entity.ID, "Nav_Details"); if (record != null && record.Nav_Details != null && record.Nav_Details.Any() && details != null && details.Any()) { - record.Nav_Details.ForEach(t => - { - if (t.Nav_DetailMeasures != null && t.Nav_DetailMeasures.Any()) - { - var tempIds = t.Nav_DetailMeasures.Select(m => m.ID).ToList(); - deleteMeasureIds.AddRange(tempIds); - } - deleteDetailIds.Add(t.ID); - }); + deleteDetailIds = record.Nav_Details.Select(t => t.ID).ToList(); + deleteMeasureIds = this.GetEntities(t => deleteDetailIds.Contains(t.RISK_IDENTIFY_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); + //record.Nav_Details.ForEach(t => + //{ + // if (t.Nav_DetailMeasures != null && t.Nav_DetailMeasures.Any()) + // { + // var tempIds = t.Nav_DetailMeasures.Select(m => m.ID).ToList(); + // deleteMeasureIds.AddRange(tempIds); + // } + // deleteDetailIds.Add(t.ID); + //}); foreach (var item in details) { var temp = record.Nav_Details.FirstOrDefault(t => t.MineType == item.MineType && t.AREA_ID == item.AREA_ID && t.TYPE_ID == item.TYPE_ID && t.RISK_NAME == item.RISK_NAME && t.RISK_DESCRIPTION == item.RISK_DESCRIPTION); @@ -181,7 +185,7 @@ namespace APT.SK.WebApi.Controllers.Api { newData.Add(company); } - var other = result.Data.Where(t=>t.Nav_ApplyDepartment != null && t.Nav_ApplyDepartment.DEPARTMENT_TYPE != 3).OrderBy(n => n.Nav_ApplyDepartment.DEPARTMENT_TYPE).ThenBy(m => m.APPLY_DEPARTMENT_ID).ToList(); + var other = result.Data.Where(t => t.Nav_ApplyDepartment != null && t.Nav_ApplyDepartment.DEPARTMENT_TYPE != 3).OrderBy(n => n.Nav_ApplyDepartment.DEPARTMENT_TYPE).ThenBy(m => m.APPLY_DEPARTMENT_ID).ToList(); if (other.Any()) { newData.AddRange(other); @@ -208,7 +212,7 @@ namespace APT.SK.WebApi.Controllers.Api "Nav_Files.Nav_ImgFile"}); if (result != null) { - var details = this.GetEntities(t => t.RISK_IDENTIFY_ID == result.ID, new BaseFilter(filter.OrgId), "Nav_Area", "Nav_Type","Nav_RiskName"); + var details = this.GetEntities(t => t.RISK_IDENTIFY_ID == result.ID, new BaseFilter(filter.OrgId), "Nav_Area", "Nav_Type", "Nav_RiskName"); result.Nav_Details = details.OrderBy(m => m.MineType).ThenBy(t => t.AREA_ID).ThenBy(x => x.TYPE_ID).ToList(); if (result.STATUS == PFStandardStatus.Rejected) { diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultController.cs index 642eed9..5a6abfc 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultController.cs @@ -50,7 +50,9 @@ namespace APT.SK.WebApi.Controllers.Api var details = entity.Nav_Details; entity.Nav_Details = null; var files = entity.Nav_Files; - entity.Nav_Files = null; + entity.Nav_Files = null; + entity.ApplyDepartmentName = this.GetEntity(t => t.ID == departId).NAME; + entity.ApplyPostName = this.GetEntity(t => t.ID == userId, "Nav_Person.Nav_Post")?.Nav_Person?.Nav_Post?.NAME; List deleteMeasureIds = new List(); List deleteDepartIds = new List(); List deletePostIds = new List(); @@ -62,25 +64,29 @@ namespace APT.SK.WebApi.Controllers.Api var record = this.GetEntity(t => t.ID == entity.ID, "Nav_Details"); if (record != null && record.Nav_Details != null && record.Nav_Details.Any() && details != null && details.Any()) { - record.Nav_Details.ForEach(t => - { - if (t.Nav_DetailMeasures != null && t.Nav_DetailMeasures.Any()) - { - var tempIds = t.Nav_DetailMeasures.Select(m => m.ID).ToList(); - deleteMeasureIds.AddRange(tempIds); - } - if (t.Nav_DetailDeparts != null && t.Nav_DetailDeparts.Any()) - { - var tempIds = t.Nav_DetailDeparts.Select(m => m.ID).ToList(); - deleteDepartIds.AddRange(tempIds); - } - if (t.Nav_DetailPosts != null && t.Nav_DetailPosts.Any()) - { - var tempIds = t.Nav_DetailPosts.Select(m => m.ID).ToList(); - deletePostIds.AddRange(tempIds); - } - deleteDetailIds.Add(t.ID); - }); + deleteDetailIds = record.Nav_Details.Select(t => t.ID).ToList(); + deleteMeasureIds = this.GetEntities(t => deleteDetailIds.Contains(t.RISK_IDENTIFY_RESULT_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); + deleteDepartIds = this.GetEntities(t => deleteDetailIds.Contains(t.RISK_IDENTIFY_RESULT_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); + deletePostIds = this.GetEntities(t => deleteDetailIds.Contains(t.RISK_IDENTIFY_RESULT_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); + //record.Nav_Details.ForEach(t => + //{ + // if (t.Nav_DetailMeasures != null && t.Nav_DetailMeasures.Any()) + // { + // var tempIds = t.Nav_DetailMeasures.Select(m => m.ID).ToList(); + // deleteMeasureIds.AddRange(tempIds); + // } + // if (t.Nav_DetailDeparts != null && t.Nav_DetailDeparts.Any()) + // { + // var tempIds = t.Nav_DetailDeparts.Select(m => m.ID).ToList(); + // deleteDepartIds.AddRange(tempIds); + // } + // if (t.Nav_DetailPosts != null && t.Nav_DetailPosts.Any()) + // { + // var tempIds = t.Nav_DetailPosts.Select(m => m.ID).ToList(); + // deletePostIds.AddRange(tempIds); + // } + // deleteDetailIds.Add(t.ID); + //}); foreach (var item in details) { var temp = record.Nav_Details.FirstOrDefault(t => t.MineType == item.MineType && t.AREA_ID == item.AREA_ID && t.TYPE_ID == item.TYPE_ID && t.RISK_NAME == item.RISK_NAME && t.RISK_DESCRIPTION == item.RISK_DESCRIPTION); @@ -220,15 +226,15 @@ namespace APT.SK.WebApi.Controllers.Api return SafeExecute(() => { var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID").Value.ToString(); - if (string.IsNullOrEmpty(id)) - this.ThrowError("060010"); + if (string.IsNullOrEmpty(id)) + this.ThrowError("060010"); filter.IgnoreDataRule = true; var result = this.GetEntity(id, new string[] { "Nav_ApplyUser", "Nav_ApplyDepartment","Nav_Require", "Nav_Files.Nav_ImgFile"}); if (result != null) { var details = this.GetEntities(t => t.RISK_IDENTIFY_RESULT_ID == result.ID, new BaseFilter(filter.OrgId), "Nav_Area", "Nav_Type", "Nav_RiskName"); - result.Nav_Details = details.OrderBy(m => m.MineType).ThenBy(t=>t.AREA_ID).ThenBy(x=>x.TYPE_ID).ToList(); + result.Nav_Details = details.OrderBy(m => m.MineType).ThenBy(t => t.AREA_ID).ThenBy(x => x.TYPE_ID).ToList(); if (result.STATUS == PFStandardStatus.Rejected) { result.CONTEXT = ApproveCallBackService.RejectContent(result.ID); diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultSummaryController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultSummaryController.cs index 93aaaaf..c5cf68c 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultSummaryController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultSummaryController.cs @@ -48,7 +48,9 @@ namespace APT.SK.WebApi.Controllers.Api var details = entity.Nav_Details; entity.Nav_Details = null; var files = entity.Nav_Files; - entity.Nav_Files = null; + entity.Nav_Files = null; + entity.ApplyDepartmentName = this.GetEntity(t => t.ID == departId).NAME; + entity.ApplyPostName = this.GetEntity(t => t.ID == userId, "Nav_Person.Nav_Post")?.Nav_Person?.Nav_Post?.NAME; List deleteMeasureIds = new List(); List deleteDepartIds = new List(); List deletePostIds = new List(); @@ -60,8 +62,8 @@ namespace APT.SK.WebApi.Controllers.Api var detailIds = details.Select(t => t.ID).ToList(); deleteMeasureIds = this.GetEntities(t => detailIds.Contains(t.IDENTIFY_RESULT_SUMMARY_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); deleteDepartIds = this.GetEntities(t => detailIds.Contains(t.IDENTIFY_RESULT_SUMMARY_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); - deletePostIds = this.GetEntities(t => detailIds.Contains(t.IDENTIFY_RESULT_SUMMARY_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); - foreach (var item in details) + deletePostIds = this.GetEntities(t => detailIds.Contains(t.IDENTIFY_RESULT_SUMMARY_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); + foreach (var item in details) { item.ORG_ID = entity.ORG_ID; item.IDENTIFY_RESULT_SUMMARY_ID = entity.ID; diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionNoticeController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionNoticeController.cs index 50f9e15..b2af9d3 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionNoticeController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionNoticeController.cs @@ -127,13 +127,15 @@ namespace APT.SK.WebApi.Controllers.Api entity.APPLY_DEPARTMENT_ID = departId; if (entity.CHECK_TYPE_ID == null) throw new Exception("检查类型不能为空"); - if (entity.CHECK_TIME == null|| entity.CHECK_TIME == DateTime.MinValue) + if (entity.CHECK_TIME == null || entity.CHECK_TIME == DateTime.MinValue) throw new Exception("检查时间必须填写"); + entity.ApplyDepartmentName = this.GetEntity(t => t.ID == departId).NAME; + entity.ApplyPostName = this.GetEntity(t => t.ID == userId, "Nav_Person.Nav_Post")?.Nav_Person?.Nav_Post?.NAME; var details = entity.Nav_CheckNoticeDetails; entity.Nav_CheckNoticeDetails = null; var files = entity.Nav_CheckNoticeFiles; entity.Nav_CheckNoticeFiles = null; - ListuserIds = new List(); + List userIds = new List(); List deleteUserIds = new List(); List deleteBasicIds = new List(); List deleteDetailIds = new List(); @@ -170,7 +172,7 @@ namespace APT.SK.WebApi.Controllers.Api item2.ORG_ID = entity.ORG_ID; item2.SECURITY_INSPECTION_NOTICE_DETAIL_ID = item.ID; item2.Nav_User = null; - item2.ISMAINCHECK = i==1?true:false; + item2.ISMAINCHECK = i == 1 ? true : false; if (item2.USER_ID != null) { userIds.Add((Guid)item2.USER_ID); @@ -211,8 +213,8 @@ namespace APT.SK.WebApi.Controllers.Api } if (string.IsNullOrEmpty(entity.CHECK_PERSON)) { - var detailUserIds = userList.Select(t => t.USER_ID).Distinct().ToList(); - var userNames = this.GetEntities(t => t.ENABLE_STATUS == 0 && detailUserIds.Contains(t.ID), new BaseFilter(entity.ORG_ID)).Select(m=>m.NAME).ToList(); + var detailUserIds = userList.Where(m => !m.IS_DELETED).Select(t => t.USER_ID).Distinct().ToList(); + var userNames = this.GetEntities(t => t.ENABLE_STATUS == 0 && detailUserIds.Contains(t.ID), new BaseFilter(entity.ORG_ID)).Select(m => m.NAME).ToList(); entity.CHECK_PERSON = string.Join(",", userNames); } T_FM_NOTIFICATION_TASK task = null; @@ -256,7 +258,7 @@ namespace APT.SK.WebApi.Controllers.Api BantchSaveEntityNoCommit(files); if (notices != null && notices.Any()) BantchSaveEntityNoCommit(notices); - }, null, null, null, null, null, "SK006_SHOWPRINT", null, entity.DEPARTMENT_TYPE.GetDescription()+"安全检查通知"+ date + entity.Nav_CheckType?.NAME+"待审批"); + }, null, null, null, null, null, "SK006_SHOWPRINT", null, entity.DEPARTMENT_TYPE.GetDescription() + "安全检查通知" + date + entity.Nav_CheckType?.NAME + "待审批"); return true; } this.UnifiedCommit(() => @@ -310,7 +312,7 @@ namespace APT.SK.WebApi.Controllers.Api { detail.Nav_CheckNoticeDetailUsers = detail.Nav_CheckNoticeDetailUsers.OrderByDescending(t => t.ISMAINCHECK).ToList(); } - result.Nav_CheckNoticeDetails = result.Nav_CheckNoticeDetails.OrderBy(t => t.RISK_AREA_ID).ThenBy(m=>m.NUM).ToList();//.Where(c => c.Nav_CheckNoticeDetailUsers != null && c.Nav_CheckNoticeDetailUsers.FirstOrDefault(m => m.USER_ID == loginUserId)?.USER_ID == loginUserId).OrderBy(m=>m.RISK_AREA_ID).ToList(); + result.Nav_CheckNoticeDetails = result.Nav_CheckNoticeDetails.OrderBy(t => t.RISK_AREA_ID).ThenBy(m => m.NUM).ToList();//.Where(c => c.Nav_CheckNoticeDetailUsers != null && c.Nav_CheckNoticeDetailUsers.FirstOrDefault(m => m.USER_ID == loginUserId)?.USER_ID == loginUserId).OrderBy(m=>m.RISK_AREA_ID).ToList(); } return result; }); @@ -354,7 +356,7 @@ namespace APT.SK.WebApi.Controllers.Api T_SK_SECURITY_INSPECTION_NOTICE_DETAIL ddd = new T_SK_SECURITY_INSPECTION_NOTICE_DETAIL(); ddd.CHECK_CONTENTS_ID = item2.CHECK_CONTENTS_ID; ddd.Nav_Contents = item2.Nav_Contents; - ddd.CHECKCONTENT = item2.Nav_Contents!=null? item2.Nav_Contents.CHECKCONTENT:item2.CHECKCONTENT; + ddd.CHECKCONTENT = item2.Nav_Contents != null ? item2.Nav_Contents.CHECKCONTENT : item2.CHECKCONTENT; ddd.CHECKPROOF = item2.CHECKPROOF; ddd.CHECKSTANDARD = item2.CHECKSTANDARD; if (item2.Nav_CheckNoticeDetailBasics != null && item2.Nav_CheckNoticeDetailBasics.Any()) @@ -382,8 +384,8 @@ namespace APT.SK.WebApi.Controllers.Api userTemps.Add(uuu); } } - } - + } + } } item.Nav_CheckNoticeDetailUsers = userTemps; @@ -470,7 +472,7 @@ namespace APT.SK.WebApi.Controllers.Api foreach (var detail in details) { var userTemps = users.Where(t => t.SECURITY_INSPECTION_NOTICE_DETAIL_ID == detail.ID).ToList(); - detail.Nav_CheckNoticeDetailUsers = userTemps.OrderByDescending(t=>t.ISMAINCHECK).ToList(); + detail.Nav_CheckNoticeDetailUsers = userTemps.OrderByDescending(t => t.ISMAINCHECK).ToList(); } } result.Nav_CheckNoticeDetails = details.OrderBy(t => t.RISK_AREA_ID).ThenBy(m => m.NUM).ToList(); @@ -543,7 +545,7 @@ namespace APT.SK.WebApi.Controllers.Api } else if (filter.Parameter3 == "4") { - departType = SKDepartmentTypeEnum.岗位级; + departType = SKDepartmentTypeEnum.班组级; } else { @@ -651,7 +653,7 @@ namespace APT.SK.WebApi.Controllers.Api } else if (filter.Parameter3 == "4") { - departType = SKDepartmentTypeEnum.岗位级; + departType = SKDepartmentTypeEnum.班组级; } else { @@ -661,7 +663,7 @@ namespace APT.SK.WebApi.Controllers.Api var departIds = posts.Select(t => t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART_ID).ToList(); var departs = this.GetEntities(t => departIds.Contains(t.ID) && t.CHECK_TYPE_ID == Guid.Parse(filter.Parameter2) && t.CHECK_TYPE == departType, new BaseFilter(filter.OrgId)); var contentIds = departs.Select(t => t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID).ToList(); - var libraryContents = this.GetEntities(t=> contentIds.Contains(t.ID), new BaseFilter(filter.OrgId),new string[] {"Nav_Contents","Nav_LibraryDetail", + var libraryContents = this.GetEntities(t => contentIds.Contains(t.ID), new BaseFilter(filter.OrgId), new string[] {"Nav_Contents","Nav_LibraryDetail", "Nav_LibraryDetail.Nav_Library.Nav_Area"}); if (libraryContents != null && libraryContents.Any()) { @@ -692,13 +694,13 @@ namespace APT.SK.WebApi.Controllers.Api detail.Nav_RiskArea = mmm?.Nav_RiskArea; detail.Nav_CheckNoticeDetailUsers = null; var ttt = dataList.Where(t => t.RISK_AREA_ID == temp).ToList(); - if(ttt.Any()) + if (ttt.Any()) { List contents = new List(); foreach (var hh in ttt) { T_SK_SECURITY_INSPECTION_NOTICE_DETAIL content = new T_SK_SECURITY_INSPECTION_NOTICE_DETAIL(); - content.ORG_ID= filter.OrgId; + content.ORG_ID = filter.OrgId; content.CHECK_CONTENTS_ID = hh.CHECK_CONTENTS_ID; content.CHECKCONTENT = hh.CHECKCONTENT; content.CHECKPROOF = hh.CHECKPROOF; @@ -712,7 +714,7 @@ namespace APT.SK.WebApi.Controllers.Api result.Data = newList.OrderBy(t => t.RISK_AREA_ID).ToList(); } } - } + } return result; } @@ -815,7 +817,7 @@ namespace APT.SK.WebApi.Controllers.Api RecordID = recordTemp.ID; sourceIds.Add(recordTemp.ID); var recordSummaryTemp = GetEntity(e => e.SECURITY_INSPECTION_RECORD_ID != null && e.SECURITY_INSPECTION_RECORD_ID == recordTemp.ID); - if(recordSummaryTemp != null) + if (recordSummaryTemp != null) { RecordSummaryID = recordSummaryTemp.ID; sourceIds.Add(recordSummaryTemp.ID); @@ -944,8 +946,8 @@ namespace APT.SK.WebApi.Controllers.Api } } } - } - + } + List> result = new List>(); if (NoticeID == null && RecordID == null && ReportID == null) { @@ -953,7 +955,7 @@ namespace APT.SK.WebApi.Controllers.Api } var approves = new List(); var approveIds = new List(); - if (sourceIds!=null && sourceIds.Any()) + if (sourceIds != null && sourceIds.Any()) { approves = GetEntities(e => sourceIds.Contains(e.DATA_ID), null, null).ToList(); approveIds = approves.Select(m => m.ID).ToList(); @@ -975,7 +977,7 @@ namespace APT.SK.WebApi.Controllers.Api #region 安全检查通知 if (NoticeID != null) { - var tempIds = approves.Where(t => t.DATA_ID == NoticeID).OrderBy(m=>m.CREATE_TIME).Select(x => x.ID).ToList(); + var tempIds = approves.Where(t => t.DATA_ID == NoticeID).OrderBy(m => m.CREATE_TIME).Select(x => x.ID).ToList(); var temp1 = tasks.Where(t => t.SOURCE_DATA_ID == NoticeID || tempIds.Contains(t.SOURCE_DATA_ID.Value)).OrderBy(t => t.CREATE_TIME).ToList(); if (temp1.Any()) { @@ -990,12 +992,12 @@ namespace APT.SK.WebApi.Controllers.Api { start.OPERATEPOINT = SKOPERATEPOINT_Enums.NoticeReject; } - else + else { start.OPERATEPOINT = SKOPERATEPOINT_Enums.NoticeAudit; } } - else + else { if (item.NOTICE_TITLE.Contains("确认")) { @@ -1030,7 +1032,7 @@ namespace APT.SK.WebApi.Controllers.Api start.DATA_ID = NoticeID.Value; start.OPERATEPOINT = SKOPERATEPOINT_Enums.NoticeAudit; start.USER_ID = approveDetailTemp.APPROVE_USER_ID.Value; - start.USRTNAME = users.FirstOrDefault(t=>t.ID == approveDetailTemp.APPROVE_USER_ID)?.NAME; + start.USRTNAME = users.FirstOrDefault(t => t.ID == approveDetailTemp.APPROVE_USER_ID)?.NAME; start.OPERTETIME = approveDetailTemp.NODE_APPROVE_TIME; start.ORDERTIME = approveDetailTemp.CREATE_TIME; start.ISINTTIME = true; @@ -1502,7 +1504,7 @@ namespace APT.SK.WebApi.Controllers.Api } } } - resultRiskEnd = resultRiskEnd.OrderBy(e => e.ORDERTIME).ThenBy(m => m.OPERTETIME).ThenBy(n=>n.OPERATEPOINT).ToList(); + resultRiskEnd = resultRiskEnd.OrderBy(e => e.ORDERTIME).ThenBy(m => m.OPERTETIME).ThenBy(n => n.OPERATEPOINT).ToList(); if (resultRiskEnd.Any()) { result.Add(resultRiskEnd); diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordController.cs index bf0a341..1411f24 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordController.cs @@ -35,13 +35,13 @@ namespace APT.SK.WebApi.Controllers.Api IFMNotificationTaskService NotificationTaskService { get; set; } IFMFlowPermitService MFlowPermitService { get; set; } IPFCodeRuleService CodeRuleService { get; set; } - public SecurityInspectionRecordController(IFMNotificationTaskService notificationTaskService,IFMFlowPermitService mFlowPermitService, IPFCodeRuleService codeRuleService) + public SecurityInspectionRecordController(IFMNotificationTaskService notificationTaskService, IFMFlowPermitService mFlowPermitService, IPFCodeRuleService codeRuleService) { NotificationTaskService = notificationTaskService; MFlowPermitService = mFlowPermitService; CodeRuleService = codeRuleService; - } - + } + [HttpPost, Route("FullUpdateOld")] public JsonActionResult FullUpdateOld([FromBody] T_SK_SECURITY_INSPECTION_RECORD entity) { @@ -56,7 +56,9 @@ namespace APT.SK.WebApi.Controllers.Api var details = entity.Nav_CheckRecordDetails; entity.Nav_CheckRecordDetails = null; var files = entity.Nav_CheckRecordFiles; - entity.Nav_CheckRecordFiles = null; + entity.Nav_CheckRecordFiles = null; + entity.ApplyDepartmentName = this.GetEntity(t => t.ID == departId).NAME; + entity.ApplyPostName = this.GetEntity(t => t.ID == userId, "Nav_Person.Nav_Post")?.Nav_Person?.Nav_Post?.NAME; List deleteUserIds = new List(); List deleteFileIds = new List(); List deleteBasicIds = new List(); @@ -185,11 +187,12 @@ namespace APT.SK.WebApi.Controllers.Api List summaryDetailFiles = new List(); if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify")) { - var summaryExsis = this.GetEntity(t => t.SECURITY_INSPECTION_NOTICE_ID == entity.SECURITY_INSPECTION_NOTICE_ID); + var checkNotice = this.GetEntity(t => t.ID == entity.SECURITY_INSPECTION_NOTICE_ID); + var summaryExsis = this.GetEntity(t => t.SECURITY_INSPECTION_NOTICE_ID == entity.SECURITY_INSPECTION_NOTICE_ID); BaseFilter filter = new BaseFilter(entity.ORG_ID); filter.IgnoreDataRule = true; Expression> expression = t => t.IS_DELETED == false && t.SECURITY_INSPECTION_NOTICE_ID == entity.SECURITY_INSPECTION_NOTICE_ID; - List records = this.GetOrderEntities(expression, filter,new string[] { "Nav_CheckRecordDetails.Nav_CheckRecordDetailUsers", "Nav_CheckRecordDetails.Nav_CheckRecordDetailBasics", "Nav_CheckRecordDetails.Nav_CheckRecordDetailFiles", "Nav_CheckRecordFiles" }).ToList(); + List records = this.GetOrderEntities(expression, filter, new string[] { "Nav_CheckRecordDetails.Nav_CheckRecordDetailUsers", "Nav_CheckRecordDetails.Nav_CheckRecordDetailBasics", "Nav_CheckRecordDetails.Nav_CheckRecordDetailFiles", "Nav_CheckRecordFiles" }).ToList(); var recordIds = records.Select(m => m.ID).ToList(); var taskUser = this.GetEntity(t => recordIds.Contains((Guid)t.SOURCE_DATA_ID) && t.SOURCE_DATA_ID != entity.ID && t.NOTICE_STATUS == 0); if (taskUser != null) @@ -220,8 +223,8 @@ namespace APT.SK.WebApi.Controllers.Api summary.CHECK_TYPE_ID = entity.CHECK_TYPE_ID; summary.PLANCHECKFREQUENCY = entity.PLANCHECKFREQUENCY; summary.DEPARTMENT_TYPE = entity.DEPARTMENT_TYPE; - summary.CHECK_PERSON = entity.CHECK_PERSON; - summary.CHECK_TIME = entity.CHECK_TIME; + summary.CHECK_PERSON = checkNotice != null ? checkNotice.CHECK_PERSON : entity.CHECK_PERSON; + summary.CHECK_TIME = checkNotice != null ? checkNotice.CHECK_TIME : entity.CHECK_TIME; summary.STATUS = PFStandardStatus.Draft; var recordTemps = records.Where(t => t.ID != entity.ID).ToList(); if (recordTemps.Any()) @@ -237,7 +240,7 @@ namespace APT.SK.WebApi.Controllers.Api summaryFile.Nav_ImgFile = null; summaryFiles.Add(summaryFile); } - foreach (var itemDetail in item.Nav_CheckRecordDetails.OrderBy(t=>t.NUM)) + foreach (var itemDetail in item.Nav_CheckRecordDetails.OrderBy(t => t.NUM)) { T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL summaryDetail = new T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL(); summaryDetail.ORG_ID = item.ORG_ID; @@ -249,7 +252,7 @@ namespace APT.SK.WebApi.Controllers.Api summaryDetail.CHECKPROOF = itemDetail.CHECKPROOF; summaryDetail.CHECKSTANDARD = itemDetail.CHECKSTANDARD; summaryDetail.CHECK_RESULT = itemDetail.CHECK_RESULT; - summaryDetail.HIDDEN_DESCRIPTION = itemDetail.HIDDEN_DESCRIPTION; + summaryDetail.HIDDEN_DESCRIPTION = string.IsNullOrEmpty(itemDetail.HIDDEN_DESCRIPTION) ? itemDetail.Nav_Question?.DESCREPTION : itemDetail.HIDDEN_DESCRIPTION; summaryDetail.HIDDEN_LEVEL = itemDetail.HIDDEN_LEVEL; summaryDetail.HIDDEN_PLACE = itemDetail.HIDDEN_PLACE; summaryDetail.MARK = itemDetail.MARK; @@ -321,7 +324,7 @@ namespace APT.SK.WebApi.Controllers.Api summaryDetail.CHECKPROOF = itemDetail.CHECKPROOF; summaryDetail.CHECKSTANDARD = itemDetail.CHECKSTANDARD; summaryDetail.CHECK_RESULT = itemDetail.CHECK_RESULT; - summaryDetail.HIDDEN_DESCRIPTION = itemDetail.HIDDEN_DESCRIPTION; + summaryDetail.HIDDEN_DESCRIPTION = string.IsNullOrEmpty(itemDetail.HIDDEN_DESCRIPTION) ? itemDetail.Nav_Question?.DESCREPTION : itemDetail.HIDDEN_DESCRIPTION; summaryDetail.HIDDEN_LEVEL = itemDetail.HIDDEN_LEVEL; summaryDetail.HIDDEN_PLACE = itemDetail.HIDDEN_PLACE; summaryDetail.MARK = itemDetail.MARK; @@ -366,10 +369,10 @@ namespace APT.SK.WebApi.Controllers.Api } if (sumdetails.Any()) { - var detailTemps = sumdetails.Where(t => t.CHECK_RESULT != SKCheckResultEnum.Yes).Distinct(m => new { m.RISK_AREA_ID, m.CHECK_CONTENTS_ID, m.CHECKCONTENT, m.CHECKSTANDARD, m.CHECK_QUESTION_ID,m.CHECK_RESULT, m.HIDDEN_DESCRIPTION, m.HIDDEN_LEVEL, m.HIDDEN_PLACE }).ToList(); var detailTempNews = sumdetails.Where(t => t.CHECK_RESULT == SKCheckResultEnum.Yes).ToList(); - summaryDetails.AddRange(detailTemps); summaryDetails.AddRange(detailTempNews); + var detailTemps = sumdetails.Where(t => t.CHECK_RESULT != SKCheckResultEnum.Yes).Distinct(m => new { m.RISK_AREA_ID, m.CHECK_CONTENTS_ID, m.CHECKCONTENT, m.CHECKSTANDARD, m.CHECK_QUESTION_ID, m.CHECK_RESULT, m.HIDDEN_DESCRIPTION, m.HIDDEN_LEVEL, m.HIDDEN_PLACE }).ToList(); + summaryDetails.AddRange(detailTemps); var detailIds = summaryDetails.Select(m => m.ID).ToList(); summaryDetailBasics = summaryDetailBasics.Where(t => detailIds.Contains(t.SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_ID)).ToList(); summaryDetailFiles = summaryDetailFiles.Where(t => detailIds.Contains(t.SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_ID)).ToList(); @@ -456,7 +459,9 @@ namespace APT.SK.WebApi.Controllers.Api if (entity.CHECK_TYPE_ID == null) throw new Exception("检查类型不能为空"); if (entity.CHECK_TIME == null || entity.CHECK_TIME == DateTime.MinValue) - throw new Exception("检查时间必须填写"); + throw new Exception("检查时间必须填写"); + entity.ApplyDepartmentName = this.GetEntity(t => t.ID == departId).NAME; + entity.ApplyPostName = this.GetEntity(t => t.ID == userId, "Nav_Person.Nav_Post")?.Nav_Person?.Nav_Post?.NAME; var details = entity.Nav_CheckRecordDetails; entity.Nav_CheckRecordDetails = null; var files = entity.Nav_CheckRecordFiles; @@ -611,7 +616,8 @@ namespace APT.SK.WebApi.Controllers.Api List reportDetailBasics = new List(); if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify")) { - if (entity.DEPARTMENT_TYPE != SKDepartmentTypeEnum.岗位级) + var checkTypeIds = this.GetEntities(t => t.NAME.Contains("岗位排查"), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); + if (entity.CHECK_TYPE_ID != null && !checkTypeIds.Contains((Guid)entity.CHECK_TYPE_ID)) { var summaryExsis = this.GetEntity(t => t.SECURITY_INSPECTION_NOTICE_ID == entity.SECURITY_INSPECTION_NOTICE_ID); BaseFilter filter = new BaseFilter(entity.ORG_ID); @@ -647,7 +653,8 @@ namespace APT.SK.WebApi.Controllers.Api summary.SECURITY_INSPECTION_NOTICE_ID = notice != null ? notice.ID : null; summary.APPLY_DEPARTMENT_ID = notice != null ? notice.APPLY_DEPARTMENT_ID : entity.APPLY_DEPARTMENT_ID; summary.APPLY_USER_ID = notice != null ? notice.APPLY_USER_ID : entity.APPLY_USER_ID; - summary.MineType = notice != null ? notice.MineType : entity.MineType; + summary.MineType = notice != null ? notice.MineType : entity.MineType; + summary.PRODUCTION_UNIT_ID = notice != null ? notice.PRODUCTION_UNIT_ID : entity.PRODUCTION_UNIT_ID; summary.CHECK_TYPE_ID = notice != null ? notice.CHECK_TYPE_ID : entity.CHECK_TYPE_ID; summary.PLANCHECKFREQUENCY = notice != null ? notice.PLANCHECKFREQUENCY : entity.PLANCHECKFREQUENCY; summary.DEPARTMENT_TYPE = notice != null ? notice.DEPARTMENT_TYPE : entity.DEPARTMENT_TYPE; @@ -689,7 +696,7 @@ namespace APT.SK.WebApi.Controllers.Api summaryDetail.CHECKPROOF = itemDetail.CHECKPROOF; summaryDetail.CHECKSTANDARD = itemDetail.CHECKSTANDARD; summaryDetail.CHECK_RESULT = itemDetail.CHECK_RESULT; - summaryDetail.HIDDEN_DESCRIPTION = itemDetail.HIDDEN_DESCRIPTION; + summaryDetail.HIDDEN_DESCRIPTION = string.IsNullOrEmpty(itemDetail.HIDDEN_DESCRIPTION) ? itemDetail.Nav_Question?.DESCREPTION : itemDetail.HIDDEN_DESCRIPTION; summaryDetail.HIDDEN_LEVEL = itemDetail.HIDDEN_LEVEL; summaryDetail.HIDDEN_PLACE = itemDetail.HIDDEN_PLACE; summaryDetail.MARK = itemDetail.MARK; @@ -748,7 +755,7 @@ namespace APT.SK.WebApi.Controllers.Api summaryDetail.CHECKPROOF = itemDetail.FirstOrDefault().CHECKPROOF; summaryDetail.CHECKSTANDARD = itemDetail.FirstOrDefault().CHECKSTANDARD; summaryDetail.CHECK_RESULT = itemDetail.FirstOrDefault().CHECK_RESULT; - summaryDetail.HIDDEN_DESCRIPTION = itemDetail.FirstOrDefault().HIDDEN_DESCRIPTION; + summaryDetail.HIDDEN_DESCRIPTION = string.IsNullOrEmpty(itemDetail.FirstOrDefault().HIDDEN_DESCRIPTION) ? itemDetail.FirstOrDefault().Nav_Question?.DESCREPTION : itemDetail.FirstOrDefault().HIDDEN_DESCRIPTION; summaryDetail.HIDDEN_LEVEL = itemDetail.FirstOrDefault().HIDDEN_LEVEL; summaryDetail.HIDDEN_PLACE = itemDetail.FirstOrDefault().HIDDEN_PLACE; summaryDetail.MARK = itemDetail.FirstOrDefault().MARK; @@ -825,7 +832,7 @@ namespace APT.SK.WebApi.Controllers.Api summaryDetail.CHECKPROOF = itemDetail.CHECKPROOF; summaryDetail.CHECKSTANDARD = itemDetail.CHECKSTANDARD; summaryDetail.CHECK_RESULT = itemDetail.CHECK_RESULT; - summaryDetail.HIDDEN_DESCRIPTION = itemDetail.HIDDEN_DESCRIPTION; + summaryDetail.HIDDEN_DESCRIPTION = string.IsNullOrEmpty(itemDetail.HIDDEN_DESCRIPTION) ? itemDetail.Nav_Question?.DESCREPTION : itemDetail.HIDDEN_DESCRIPTION; summaryDetail.HIDDEN_LEVEL = itemDetail.HIDDEN_LEVEL; summaryDetail.HIDDEN_PLACE = itemDetail.HIDDEN_PLACE; summaryDetail.MARK = itemDetail.MARK; @@ -899,7 +906,7 @@ namespace APT.SK.WebApi.Controllers.Api summaryDetail.CHECKPROOF = itemDetail.CHECKPROOF; summaryDetail.CHECKSTANDARD = itemDetail.CHECKSTANDARD; summaryDetail.CHECK_RESULT = itemDetail.CHECK_RESULT; - summaryDetail.HIDDEN_DESCRIPTION = itemDetail.HIDDEN_DESCRIPTION; + summaryDetail.HIDDEN_DESCRIPTION = string.IsNullOrEmpty(itemDetail.HIDDEN_DESCRIPTION) ? itemDetail.Nav_Question?.DESCREPTION : itemDetail.HIDDEN_DESCRIPTION; summaryDetail.HIDDEN_LEVEL = itemDetail.HIDDEN_LEVEL; summaryDetail.HIDDEN_PLACE = itemDetail.HIDDEN_PLACE; summaryDetail.MARK = itemDetail.MARK; @@ -972,7 +979,7 @@ namespace APT.SK.WebApi.Controllers.Api userList.Where(m => !m.ISCHECK).ForEach(t => { t.ISCHECK = true; t.CHECKTIME = DateTime.Now; }); } var haveHiddens = details.Where(t => t.CHECK_RESULT == SKCheckResultEnum.Yes).ToList(); - if (haveHiddens != null && haveHiddens.Any() && monitor!=null) + if (haveHiddens != null && haveHiddens.Any() && monitor != null) { //触发隐患上报 report = new T_SK_HIDDEN_DANGER_REPORT(); @@ -980,7 +987,8 @@ namespace APT.SK.WebApi.Controllers.Api report.SECURITY_INSPECTION_RECORD_SUMMARY_ID = record.ID; report.APPLY_USER_ID = entity.APPLY_USER_ID; report.APPLY_DEPARTMENT_ID = entity.APPLY_DEPARTMENT_ID; - report.MineType = record.MineType; + report.MineType = record.MineType; + report.PRODUCTION_UNIT_ID = record.PRODUCTION_UNIT_ID; report.CHECK_TYPE_ID = record.CHECK_TYPE_ID; report.PLANCHECKFREQUENCY = record.PLANCHECKFREQUENCY; report.DEPARTMENT_TYPE = record.DEPARTMENT_TYPE; @@ -997,7 +1005,7 @@ namespace APT.SK.WebApi.Controllers.Api detail.CHECKCONTENT = item.CHECKCONTENT; detail.CHECKPROOF = item.CHECKPROOF; detail.CHECKSTANDARD = item.CHECKSTANDARD; - detail.HIDDEN_DESCRIPTION = item.HIDDEN_DESCRIPTION; + detail.HIDDEN_DESCRIPTION = string.IsNullOrEmpty(item.HIDDEN_DESCRIPTION) ? item.Nav_Question?.DESCREPTION : item.HIDDEN_DESCRIPTION; detail.HIDDEN_LEVEL = item.HIDDEN_LEVEL; detail.HIDDEN_PLACE = item.HIDDEN_PLACE; detail.MARK = item.MARK; @@ -1156,14 +1164,14 @@ namespace APT.SK.WebApi.Controllers.Api result.Nav_CheckRecordDetails = detailTemps.GroupBy(t => t.RISK_AREA_ID).Select(g => g.First()).ToList(); if (result.Nav_CheckRecordDetails != null && result.Nav_CheckRecordDetails.Any()) { - foreach (var item in result.Nav_CheckRecordDetails.OrderBy(t=>t.RISK_AREA_ID).ThenBy(m => m.NUM)) + foreach (var item in result.Nav_CheckRecordDetails.OrderBy(t => t.RISK_AREA_ID).ThenBy(m => m.NUM)) { item.Nav_DetailContents = new List(); var userTemps = new List(); var safeCheck1 = detailTemps.Where(t => t.RISK_AREA_ID == item.RISK_AREA_ID).ToList(); if (safeCheck1 != null && safeCheck1.Any()) { - foreach (var item2 in safeCheck1.OrderBy(t=>t.RISK_AREA_ID).ThenBy(m=>m.NUM)) + foreach (var item2 in safeCheck1.OrderBy(t => t.RISK_AREA_ID).ThenBy(m => m.NUM)) { var lawTemps = new List(); T_SK_SECURITY_INSPECTION_RECORD_DETAIL ddd = new T_SK_SECURITY_INSPECTION_RECORD_DETAIL(); @@ -1174,7 +1182,7 @@ namespace APT.SK.WebApi.Controllers.Api ddd.CHECKCONTENT = item2.CHECKCONTENT; ddd.CHECKPROOF = item2.CHECKPROOF; ddd.CHECKSTANDARD = item2.CHECKSTANDARD; - ddd.HIDDEN_DESCRIPTION = string.IsNullOrEmpty(item2.HIDDEN_DESCRIPTION) ? "" : item2.HIDDEN_DESCRIPTION; + ddd.HIDDEN_DESCRIPTION = string.IsNullOrEmpty(item2.HIDDEN_DESCRIPTION) ? item2.Nav_Question?.DESCREPTION : item2.HIDDEN_DESCRIPTION; ddd.HIDDEN_LEVEL = item2.HIDDEN_LEVEL; ddd.CHECK_RESULT = item2.CHECK_RESULT; ddd.HIDDEN_PLACE = string.IsNullOrEmpty(item2.HIDDEN_PLACE) ? "" : item2.HIDDEN_PLACE; @@ -1204,12 +1212,12 @@ namespace APT.SK.WebApi.Controllers.Api userTemps.Add(uuu); } } - } - + } + } } - item.Nav_CheckRecordDetailUsers = userTemps; - + item.Nav_CheckRecordDetailUsers = userTemps; + } } } @@ -1247,7 +1255,7 @@ namespace APT.SK.WebApi.Controllers.Api detail.Nav_CheckRecordDetailUsers = userTemps.OrderByDescending(t => t.ISMAINCHECK).ToList(); } } - result.Nav_CheckRecordDetails = details.OrderBy(m => m.RISK_AREA_ID).ThenBy(n=>n.NUM).ToList(); + result.Nav_CheckRecordDetails = details.OrderBy(m => m.RISK_AREA_ID).ThenBy(n => n.NUM).ToList(); //.Where(c => c.Nav_CheckRecordDetailUsers != null && c.Nav_CheckRecordDetailUsers.FirstOrDefault(m => m.USER_ID == loginUserId)?.USER_ID == loginUserId) } return result; @@ -1315,7 +1323,7 @@ namespace APT.SK.WebApi.Controllers.Api } else if (filter.Parameter3 == "4") { - departType = SKDepartmentTypeEnum.岗位级; + departType = SKDepartmentTypeEnum.班组级; } else { @@ -1325,7 +1333,7 @@ namespace APT.SK.WebApi.Controllers.Api var departIds = posts.Select(t => t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART_ID).ToList(); var departs = this.GetEntities(t => departIds.Contains(t.ID) && t.CHECK_TYPE_ID == Guid.Parse(filter.Parameter2) && t.CHECK_TYPE == departType, new BaseFilter(filter.OrgId)); var contentIds = departs.Select(t => t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID).ToList(); - var libraryIds = this.GetEntities(t => t.MineType == mineType && t.TYPE_ID == Guid.Parse(filter.Parameter4), new BaseFilter(filter.OrgId)).Select(m=>m.ID).ToList(); + var libraryIds = this.GetEntities(t => t.MineType == mineType && t.TYPE_ID == Guid.Parse(filter.Parameter4), new BaseFilter(filter.OrgId)).Select(m => m.ID).ToList(); var libraryDetailIds = this.GetEntities(t => libraryIds.Contains(t.ENTERPRISE_LIBRARY_ID), new BaseFilter(filter.OrgId)).Select(m => m.ID).ToList(); var libraryContents = this.GetEntities(t => contentIds.Contains(t.ID) && libraryDetailIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_ID), new BaseFilter(filter.OrgId), new string[] {"Nav_Contents","Nav_LibraryDetail", "Nav_LibraryDetail.Nav_Library.Nav_Area"}); diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordSummaryController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordSummaryController.cs index dd4eae5..6054bf5 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordSummaryController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordSummaryController.cs @@ -48,7 +48,9 @@ namespace APT.SK.WebApi.Controllers.Api var details = entity.Nav_CheckRecordDetails; entity.Nav_CheckRecordDetails = null; var files = entity.Nav_CheckRecordFiles; - entity.Nav_CheckRecordFiles = null; + entity.Nav_CheckRecordFiles = null; + entity.ApplyDepartmentName = this.GetEntity(t => t.ID == departId).NAME; + entity.ApplyPostName = this.GetEntity(t => t.ID == userId, "Nav_Person.Nav_Post")?.Nav_Person?.Nav_Post?.NAME; List userIds = new List(); List deleteUserIds = new List(); List deleteFileIds = new List(); @@ -180,85 +182,86 @@ namespace APT.SK.WebApi.Controllers.Api else { entity.STATUS = PFStandardStatus.Archived; - var recordDetails = entity.Nav_CheckRecordDetails.Where(t => t.CHECK_RESULT == MS.Domain.Enums.SK.SKCheckResultEnum.Yes).ToList(); - if (recordDetails != null && recordDetails.Any()) - { - //触发隐患上报表,汇总触发一条 - report = new T_SK_HIDDEN_DANGER_REPORT(); - report.ORG_ID = entity.ORG_ID; - report.SECURITY_INSPECTION_RECORD_SUMMARY_ID = entity.ID; - report.APPLY_USER_ID = entity.APPLY_USER_ID; - report.APPLY_DEPARTMENT_ID = entity.APPLY_DEPARTMENT_ID; - report.MineType = entity.MineType; - report.CHECK_TYPE_ID = entity.CHECK_TYPE_ID; - report.PLANCHECKFREQUENCY = entity.PLANCHECKFREQUENCY; - report.DEPARTMENT_TYPE = entity.DEPARTMENT_TYPE; - report.CHECK_TIME = entity.CHECK_TIME; - report.STATUS = PFStandardStatus.Draft; - //if (record.Nav_CheckRecordFiles != null && record.Nav_CheckRecordFiles.Any()) - //{ - // foreach (var item in record.Nav_CheckRecordFiles) - // { - // T_SK_HIDDEN_DANGER_REPORT_FILE file = new T_SK_HIDDEN_DANGER_REPORT_FILE(); - // file.ORG_ID = item.ORG_ID; - // file.IMG_FILE_ID = item.IMG_FILE_ID; - // file.HIDDEN_DANGER_REPORT_ID = report.ID; - // reportFiles.Add(file); - // } - //} - foreach (var item in recordDetails) - { - T_SK_HIDDEN_DANGER_REPORT_DETAIL detail = new T_SK_HIDDEN_DANGER_REPORT_DETAIL(); - detail.ORG_ID = item.ORG_ID; - detail.HIDDEN_DANGER_REPORT_ID = report.ID; - detail.RISK_AREA_ID = item.RISK_AREA_ID; - detail.CHECK_CONTENTS_ID = item.CHECK_CONTENTS_ID; - detail.CHECK_QUESTION_ID = item.CHECK_QUESTION_ID; - detail.CHECKCONTENT = item.CHECKCONTENT; - detail.CHECKPROOF = item.CHECKPROOF; - detail.CHECKSTANDARD = item.CHECKSTANDARD; - detail.HIDDEN_DESCRIPTION = item.HIDDEN_DESCRIPTION; - detail.HIDDEN_LEVEL = item.HIDDEN_LEVEL; - detail.HIDDEN_PLACE = item.HIDDEN_PLACE; - detail.MARK = item.MARK; - if (item.Nav_CheckRecordDetailUsers != null && item.Nav_CheckRecordDetailUsers.Any()) - { - var itemUserList = item.Nav_CheckRecordDetailUsers.Select(t => t.Nav_User?.NAME).ToList(); - detail.CHECK_PERSON = string.Join(",", itemUserList); - } - reportDetails.Add(detail); - if (item.Nav_CheckRecordDetailFiles != null && item.Nav_CheckRecordDetailFiles.Any()) - { - foreach (var item2 in item.Nav_CheckRecordDetailFiles) - { - T_SK_HIDDEN_DANGER_REPORT_DETAIL_FILE file = new T_SK_HIDDEN_DANGER_REPORT_DETAIL_FILE(); - file.ORG_ID = item2.ORG_ID; - file.HIDDEN_DANGER_REPORT_DETAIL_ID = detail.ID; - file.IMG_FILE_ID = item2.IMG_FILE_ID; - file.Nav_ImgFile = null; - reportDetailFiles.Add(file); - } - } - if (item.Nav_CheckRecordDetailBasics != null && item.Nav_CheckRecordDetailBasics.Any()) - { - foreach (var item2 in item.Nav_CheckRecordDetailBasics) - { - T_SK_HIDDEN_DANGER_REPORT_DETAIL_BASIC file = new T_SK_HIDDEN_DANGER_REPORT_DETAIL_BASIC(); - file.ORG_ID = item2.ORG_ID; - file.HIDDEN_DANGER_REPORT_DETAIL_ID = detail.ID; - file.LAW_ID = item2.LAW_ID; - file.Nav_Law = null; - reportDetailBasics.Add(file); - } - } - } - var departName = this.GetEntity(t => t.ID == entity.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0)?.NAME; - //发消息 - var notice = NotificationTaskService.InsertUserNoticeTaskModel("隐患上报(" + departName + entity.Nav_CheckType?.NAME+ ")", report.ID, report.ORG_ID, (Guid)entity.APPLY_USER_ID, entity.Nav_ApplyUser?.NAME, DateTime.Now, - DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "SK014"); - notices.Add(notice); - } - + var recordDetails = details.Where(t => t.CHECK_RESULT == MS.Domain.Enums.SK.SKCheckResultEnum.Yes).ToList(); + if (recordDetails != null && recordDetails.Any()) + { + //触发隐患上报表,汇总触发一条 + report = new T_SK_HIDDEN_DANGER_REPORT(); + report.ORG_ID = entity.ORG_ID; + report.SECURITY_INSPECTION_RECORD_SUMMARY_ID = entity.ID; + report.APPLY_USER_ID = entity.APPLY_USER_ID; + report.APPLY_DEPARTMENT_ID = entity.APPLY_DEPARTMENT_ID; + report.MineType = entity.MineType; + report.PRODUCTION_UNIT_ID = entity.PRODUCTION_UNIT_ID; + report.CHECK_TYPE_ID = entity.CHECK_TYPE_ID; + report.PLANCHECKFREQUENCY = entity.PLANCHECKFREQUENCY; + report.DEPARTMENT_TYPE = entity.DEPARTMENT_TYPE; + report.CHECK_TIME = entity.CHECK_TIME; + report.STATUS = PFStandardStatus.Draft; + //if (record.Nav_CheckRecordFiles != null && record.Nav_CheckRecordFiles.Any()) + //{ + // foreach (var item in record.Nav_CheckRecordFiles) + // { + // T_SK_HIDDEN_DANGER_REPORT_FILE file = new T_SK_HIDDEN_DANGER_REPORT_FILE(); + // file.ORG_ID = item.ORG_ID; + // file.IMG_FILE_ID = item.IMG_FILE_ID; + // file.HIDDEN_DANGER_REPORT_ID = report.ID; + // reportFiles.Add(file); + // } + //} + foreach (var item in recordDetails) + { + T_SK_HIDDEN_DANGER_REPORT_DETAIL detail = new T_SK_HIDDEN_DANGER_REPORT_DETAIL(); + detail.ORG_ID = item.ORG_ID; + detail.HIDDEN_DANGER_REPORT_ID = report.ID; + detail.RISK_AREA_ID = item.RISK_AREA_ID; + detail.CHECK_CONTENTS_ID = item.CHECK_CONTENTS_ID; + detail.CHECK_QUESTION_ID = item.CHECK_QUESTION_ID; + detail.CHECKCONTENT = item.CHECKCONTENT; + detail.CHECKPROOF = item.CHECKPROOF; + detail.CHECKSTANDARD = item.CHECKSTANDARD; + detail.HIDDEN_DESCRIPTION = string.IsNullOrEmpty(item.HIDDEN_DESCRIPTION) ? item.Nav_Question?.DESCREPTION : item.HIDDEN_DESCRIPTION; + detail.HIDDEN_LEVEL = item.HIDDEN_LEVEL; + detail.HIDDEN_PLACE = item.HIDDEN_PLACE; + detail.MARK = item.MARK; + if (item.Nav_CheckRecordDetailUsers != null && item.Nav_CheckRecordDetailUsers.Any()) + { + var itemUserList = item.Nav_CheckRecordDetailUsers.Select(t => t.Nav_User?.NAME).ToList(); + detail.CHECK_PERSON = string.Join(",", itemUserList); + } + reportDetails.Add(detail); + if (item.Nav_CheckRecordDetailFiles != null && item.Nav_CheckRecordDetailFiles.Any()) + { + foreach (var item2 in item.Nav_CheckRecordDetailFiles) + { + T_SK_HIDDEN_DANGER_REPORT_DETAIL_FILE file = new T_SK_HIDDEN_DANGER_REPORT_DETAIL_FILE(); + file.ORG_ID = item2.ORG_ID; + file.HIDDEN_DANGER_REPORT_DETAIL_ID = detail.ID; + file.IMG_FILE_ID = item2.IMG_FILE_ID; + file.Nav_ImgFile = null; + reportDetailFiles.Add(file); + } + } + if (item.Nav_CheckRecordDetailBasics != null && item.Nav_CheckRecordDetailBasics.Any()) + { + foreach (var item2 in item.Nav_CheckRecordDetailBasics) + { + T_SK_HIDDEN_DANGER_REPORT_DETAIL_BASIC file = new T_SK_HIDDEN_DANGER_REPORT_DETAIL_BASIC(); + file.ORG_ID = item2.ORG_ID; + file.HIDDEN_DANGER_REPORT_DETAIL_ID = detail.ID; + file.LAW_ID = item2.LAW_ID; + file.Nav_Law = null; + reportDetailBasics.Add(file); + } + } + } + var departName = this.GetEntity(t => t.ID == entity.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0)?.NAME; + //发消息 + var notice = NotificationTaskService.InsertUserNoticeTaskModel("隐患上报(" + departName + entity.Nav_CheckType?.NAME + ")", report.ID, report.ORG_ID, (Guid)entity.APPLY_USER_ID, entity.Nav_ApplyUser?.NAME, DateTime.Now, + DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "SK014"); + notices.Add(notice); + } + } if (entity.TaskID != Guid.Empty) { @@ -267,7 +270,7 @@ namespace APT.SK.WebApi.Controllers.Api } } details.ForEach(t => { - t.Nav_CheckRecordDetailFiles = null; + t.Nav_CheckRecordDetailFiles = null; t.Nav_CheckRecordDetailBasics = null; t.Nav_CheckRecordDetailUsers = null; }); @@ -358,7 +361,8 @@ namespace APT.SK.WebApi.Controllers.Api report.SECURITY_INSPECTION_RECORD_SUMMARY_ID = record.ID; report.APPLY_USER_ID = record.APPLY_USER_ID; report.APPLY_DEPARTMENT_ID = record.APPLY_DEPARTMENT_ID; - report.MineType = record.MineType; + report.MineType = record.MineType; + report.PRODUCTION_UNIT_ID = record.PRODUCTION_UNIT_ID; report.CHECK_TYPE_ID = record.CHECK_TYPE_ID; report.PLANCHECKFREQUENCY = record.PLANCHECKFREQUENCY; report.DEPARTMENT_TYPE = record.DEPARTMENT_TYPE; @@ -386,7 +390,7 @@ namespace APT.SK.WebApi.Controllers.Api detail.CHECKCONTENT = item.CHECKCONTENT; detail.CHECKPROOF = item.CHECKPROOF; detail.CHECKSTANDARD = item.CHECKSTANDARD; - detail.HIDDEN_DESCRIPTION = item.HIDDEN_DESCRIPTION; + detail.HIDDEN_DESCRIPTION = string.IsNullOrEmpty(item.HIDDEN_DESCRIPTION) ? item.Nav_Question?.DESCREPTION : item.HIDDEN_DESCRIPTION; detail.HIDDEN_LEVEL = item.HIDDEN_LEVEL; detail.HIDDEN_PLACE = item.HIDDEN_PLACE; detail.MARK = item.MARK; @@ -495,7 +499,7 @@ namespace APT.SK.WebApi.Controllers.Api { var departName = this.GetEntity(t => t.ID == record.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0)?.NAME; record.STATUS = PFStandardStatus.Archived; - var hidden= record.Nav_CheckRecordDetails.Where(t => t.CHECK_RESULT == MS.Domain.Enums.SK.SKCheckResultEnum.Yes).ToList(); + var hidden = record.Nav_CheckRecordDetails.Where(t => t.CHECK_RESULT == MS.Domain.Enums.SK.SKCheckResultEnum.Yes).ToList(); if (hidden != null && hidden.Any()) { foreach (var item in hidden) @@ -506,7 +510,8 @@ namespace APT.SK.WebApi.Controllers.Api report.SECURITY_INSPECTION_RECORD_SUMMARY_ID = record.ID; report.APPLY_USER_ID = record.APPLY_USER_ID; report.APPLY_DEPARTMENT_ID = record.APPLY_DEPARTMENT_ID; - report.MineType = record.MineType; + report.MineType = record.MineType; + report.PRODUCTION_UNIT_ID = record.PRODUCTION_UNIT_ID; report.CHECK_TYPE_ID = record.CHECK_TYPE_ID; report.PLANCHECKFREQUENCY = record.PLANCHECKFREQUENCY; report.DEPARTMENT_TYPE = record.DEPARTMENT_TYPE; @@ -520,7 +525,7 @@ namespace APT.SK.WebApi.Controllers.Api detail.CHECKCONTENT = item.CHECKCONTENT; detail.CHECKPROOF = item.CHECKPROOF; detail.CHECKSTANDARD = item.CHECKSTANDARD; - detail.HIDDEN_DESCRIPTION = item.HIDDEN_DESCRIPTION; + detail.HIDDEN_DESCRIPTION = string.IsNullOrEmpty(item.HIDDEN_DESCRIPTION) ? item.Nav_Question?.DESCREPTION : item.HIDDEN_DESCRIPTION; detail.HIDDEN_LEVEL = item.HIDDEN_LEVEL; detail.HIDDEN_PLACE = item.HIDDEN_PLACE; detail.MARK = item.MARK; @@ -599,7 +604,7 @@ namespace APT.SK.WebApi.Controllers.Api { result.Nav_CheckRecordDetails = result.Nav_CheckRecordDetails.ToList();//Where(c => c.Nav_CheckRecordDetailUsers != null && c.Nav_CheckRecordDetailUsers.FirstOrDefault(m => m.USER_ID == loginUserId)?.USER_ID == loginUserId).ToList(); } - result?.Nav_CheckRecordDetails?.OrderBy(m=>m.RISK_AREA_ID).ThenByDescending(n => (int)n.MARK).ToList(); + result?.Nav_CheckRecordDetails?.OrderBy(m => m.RISK_AREA_ID).ThenByDescending(n => (int)n.MARK).ToList(); return result; }); } @@ -621,8 +626,8 @@ namespace APT.SK.WebApi.Controllers.Api var result = this.GetEntity(id, new string[] {"Nav_ApplyUser","Nav_ApplyDepartment","Nav_CheckType", "Nav_CheckRecordDetails","Nav_CheckRecordDetails.Nav_RiskArea","Nav_CheckRecordDetails.Nav_Contents","Nav_CheckRecordDetails.Nav_Question","Nav_CheckRecordDetails.Nav_CheckRecordDetailBasics.Nav_Law", "Nav_CheckRecordDetails.Nav_CheckRecordDetailUsers.Nav_User", "Nav_CheckRecordDetails.Nav_CheckRecordDetailFiles.Nav_ImgFile", - "Nav_CheckRecordFiles","Nav_CheckRecordFiles.Nav_ImgFile"}); - // var taskId = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "TASK_ID").Value; + "Nav_CheckRecordFiles","Nav_CheckRecordFiles.Nav_ImgFile"}); + // var taskId = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "TASK_ID").Value; if (result != null && result.Nav_CheckRecordDetails != null && result.Nav_CheckRecordDetails.Any())// && taskId != null { result.CHECK_PERSON = string.IsNullOrEmpty(result.CHECK_PERSON) ? "" : result.CHECK_PERSON; @@ -630,11 +635,11 @@ namespace APT.SK.WebApi.Controllers.Api var details = result.Nav_CheckRecordDetails.GroupBy(t => t.RISK_AREA_ID).Select(g => g.First()).ToList(); if (details != null && details.Any()) { - foreach (var item in details.OrderBy(t=>t.RISK_AREA_ID)) + foreach (var item in details.OrderBy(t => t.RISK_AREA_ID)) { item.Nav_DetailContents = new List(); - var userTemps = new List(); - + var userTemps = new List(); + var safeCheck1 = result.Nav_CheckRecordDetails.Where(t => t.RISK_AREA_ID == item.RISK_AREA_ID).ToList(); if (safeCheck1 != null && safeCheck1.Any()) { @@ -649,7 +654,7 @@ namespace APT.SK.WebApi.Controllers.Api ddd.CHECKCONTENT = item2.CHECKCONTENT; ddd.CHECKPROOF = item2.CHECKPROOF; ddd.CHECKSTANDARD = item2.CHECKSTANDARD; - ddd.HIDDEN_DESCRIPTION = string.IsNullOrEmpty(item2.HIDDEN_DESCRIPTION) ? "" : item2.HIDDEN_DESCRIPTION; + ddd.HIDDEN_DESCRIPTION = string.IsNullOrEmpty(item2.HIDDEN_DESCRIPTION) ? item2.Nav_Question?.DESCREPTION : item2.HIDDEN_DESCRIPTION; ddd.HIDDEN_LEVEL = item2.HIDDEN_LEVEL; ddd.CHECK_RESULT = item2.CHECK_RESULT; ddd.HIDDEN_PLACE = string.IsNullOrEmpty(item2.HIDDEN_PLACE) ? "" : item2.HIDDEN_PLACE; @@ -679,22 +684,22 @@ namespace APT.SK.WebApi.Controllers.Api userTemps.Add(uuu); } } - } - + } + } } - item.Nav_CheckRecordDetailUsers = userTemps; - + item.Nav_CheckRecordDetailUsers = userTemps; + } result.Nav_CheckRecordDetails = details; } } return result; }); - } - - - + } + + + /// /// 获得单条实体数据 /// @@ -728,7 +733,7 @@ namespace APT.SK.WebApi.Controllers.Api } return result; }); - } - + } + } } diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/TimeSetController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/TimeSetController.cs index 758c178..d64cb70 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/TimeSetController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/TimeSetController.cs @@ -53,8 +53,8 @@ namespace APT.SK.WebApi.Controllers.Api entity.WEEKDATA = null; entity.RUNSETTIME = null; break; - } - + } + this.UnifiedCommit(() => { if (entity != null)