From ba82182c726fc3925ce44bb88a2379413dcb1bc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Sat, 20 Sep 2025 13:03:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=8F=8C=E6=8E=A7=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- APT.MS.Data/Mapping/T4/T4Map.cs | 14 +- .../T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT.cs | 6 +- ...NTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART.cs | 22 +- APT.MS.Domain/Enums/SK/SKEnums.cs | 15 +- .../Controllers/Api/SKController.cs | 1579 +++++++++++++---- .../Controllers/Api/BasicLibraryController.cs | 174 +- .../Api/CheckContentsController.cs | 24 +- .../Controllers/Api/CheckSetController.cs | 80 +- .../Controllers/Api/CheckTypeController.cs | 32 +- .../Api/DoublePreventMechanismController.cs | 8 +- .../Api/EnterpriseLibraryController.cs | 688 ++++++- .../Api/HiddenDangerConfirmController.cs | 131 +- .../Api/HiddenDangerHandReportController.cs | 482 ++++- ...HiddenDangerRectifyDelayApplyController.cs | 12 +- .../HiddenDangerRectifyNoticeController.cs | 212 ++- .../HiddenDangerRectifyRecordController.cs | 231 ++- .../Api/HiddenDangerReportController.cs | 40 +- .../Api/IdentifyEvaluationPlanController.cs | 23 +- .../Controllers/Api/RiskAreaController.cs | 42 + .../Api/RiskEvaluationController.cs | 52 +- .../Api/RiskEvaluationSummaryController.cs | 4 +- .../Controllers/Api/RiskIdentifyController.cs | 26 +- .../Api/RiskIdentifyResultController.cs | 48 +- .../RiskIdentifyResultSummaryController.cs | 4 +- .../Api/SecurityInspectionNoticeController.cs | 52 +- .../Api/SecurityInspectionRecordController.cs | 60 +- ...curityInspectionRecordSummaryController.cs | 200 +-- .../Controllers/Api/TimeSetController.cs | 4 +- 28 files changed, 3415 insertions(+), 850 deletions(-) diff --git a/APT.MS.Data/Mapping/T4/T4Map.cs b/APT.MS.Data/Mapping/T4/T4Map.cs index 0a23bd9..6998d6f 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_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..f0345bb 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,26 @@ 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; } } } 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.PP.WebApi/Controllers/Api/SKController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs index c0f52fc..22d988d 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs @@ -49,6 +49,40 @@ using Microsoft.Extensions.Logging; namespace APT.PP.WebApi.Controllers.Api { + public class CheckListNew + { + 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 +110,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 +134,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 +206,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 +218,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(); @@ -325,21 +359,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 +511,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(); @@ -611,7 +645,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 +773,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 +848,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 +896,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,7 +910,7 @@ 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 departMents = GetSons(departMentTemps, topDepart.ID).OrderBy(t => t.PARENT_ID).ThenBy(t => t.NUM); var comDeparts = departMents.Where(t => t.DEPARTMENT_TYPE == 3).ToList(); deppartList.AddRange(comDeparts); var bmDeparts = departMents.Where(t => t.DEPARTMENT_TYPE == 0).ToList(); @@ -940,7 +974,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 +1041,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 +1056,100 @@ 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.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 +1226,166 @@ 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.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 +1475,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()) { //找出所有职能部门 @@ -1535,7 +1569,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,7 +1604,7 @@ 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()) { //部门级给部门安全员 @@ -1836,8 +1870,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 +1935,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 +2029,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 +2050,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 +2082,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 +2194,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 +2261,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 +2311,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 +2546,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 +2722,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 +2879,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 +2900,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 +2955,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 +2997,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 +3010,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 +3024,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 +3056,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 +3076,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 == 2 && m.USER_ID != null).Select(t => (Guid)t.USER_ID).ToList(); userIds.AddRange(userTempIds); } //if (item.PLANCHECKOBJECT == SKPLANCHECKOBJECTEnum.Post) @@ -3261,9 +3295,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 +3305,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 +3328,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 +3423,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 +3444,7 @@ namespace APT.PP.WebApi.Controllers.Api { lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.一般风险; } - else + else { lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.低风险; } @@ -3453,7 +3487,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 +3497,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 +3521,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 +3539,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 +3552,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 +3575,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 +3593,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 +3612,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 +3633,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 +3662,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 +3861,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 +3877,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 +3903,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 +4111,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 +4151,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 +4190,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 +4271,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 +4397,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 +4436,842 @@ 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 == 2 && 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").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; + 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.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.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.Mine = item.Key.MineType; + listNew.Cycle = item.Key.CHECK_CYCLE; + listNew.DepartType = item.Key.CHECK_TYPE; + 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.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.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) + { + 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.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..e291205 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/DoublePreventMechanismController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/DoublePreventMechanismController.cs @@ -146,8 +146,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 +155,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..85e7fbe 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerConfirmController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerConfirmController.cs @@ -53,6 +53,10 @@ namespace APT.SK.WebApi.Controllers.Api 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) @@ -99,11 +103,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 +118,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 +145,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..63056c6 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; @@ -65,7 +70,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) @@ -99,7 +104,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 +134,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..0529ac7 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyDelayApplyController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyDelayApplyController.cs @@ -43,7 +43,7 @@ namespace APT.SK.WebApi.Controllers.Api entity.APPLY_DEPARTMENT_ID = departId; 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 +68,7 @@ namespace APT.SK.WebApi.Controllers.Api UpdateEntityNoCommit(entity); }, null, null, null, null, null, "SK024_SHOWPRINT", null, level + "延期整改申请审批"); return true; - } + } } this.UnifiedCommit(() => { @@ -77,9 +77,9 @@ namespace APT.SK.WebApi.Controllers.Api }); return true; }); - } - - + } + + /// /// 获得单条实体数据 /// @@ -113,7 +113,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..d1bd227 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyNoticeController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyNoticeController.cs @@ -109,7 +109,7 @@ namespace APT.SK.WebApi.Controllers.Api basic.LAW_ID = item2.LAW_ID; basic.Nav_Law = null; basicList.Add(basic); - } + } } } item.Nav_RectifyDetailBasics = null; @@ -134,7 +134,7 @@ namespace APT.SK.WebApi.Controllers.Api 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(); + 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; @@ -182,7 +182,209 @@ namespace APT.SK.WebApi.Controllers.Api return true; }); } - + + [HttpPost, Route("FullUpdateYL")] + public JsonActionResult FullUpdateYL([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; + 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(); + List records = new List(); + List photoList = new List(); + if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify")) + { + entity.STATUS = PFStandardStatus.Archived; + if (details != null && details.Any()) + { + var users = this.GetEntities(t => t.ENABLE_STATUS == (int)FMEnableStatusEnum.启用, new BaseFilter(entity.ORG_ID)); + foreach (var detail in details) + { + 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); + } + } + } + } + + 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); + if (records != null && records.Any()) + this.BantchSaveEntityNoCommit(records); + if (photoList != null && photoList.Any()) + this.BantchSaveEntityNoCommit(photoList); + }); + return true; + }); + } /// /// 获得单条实体数据 /// @@ -350,7 +552,7 @@ 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.RISK_AREA_ID = detail.RISK_AREA_ID; record.CHECK_CONTENTS_ID = detail.CHECK_CONTENTS_ID; @@ -420,7 +622,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..06560ae 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyRecordController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyRecordController.cs @@ -52,12 +52,12 @@ namespace APT.SK.WebApi.Controllers { 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) { @@ -144,7 +144,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 +200,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 +424,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 +510,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 +621,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..9015f43 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerReportController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerReportController.cs @@ -91,7 +91,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 +219,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 +263,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 +298,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 +321,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 +340,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 +567,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 +606,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 +637,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 +674,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..8ce1cfc 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/IdentifyEvaluationPlanController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/IdentifyEvaluationPlanController.cs @@ -55,6 +55,7 @@ namespace APT.SK.WebApi.Controllers.Api 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) @@ -66,17 +67,17 @@ namespace APT.SK.WebApi.Controllers.Api { throw new Exception("辨识人员不能为空"); } - if (details != null && details.Any()) + 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()) { - 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) + 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.Any()) + if (item.Nav_DetailUsers != null && item.Nav_DetailUsers.Where(t => !t.IS_DELETED).Any()) { - foreach (var item2 in item.Nav_DetailUsers) + 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; @@ -118,6 +119,8 @@ namespace APT.SK.WebApi.Controllers.Api { 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()) @@ -128,12 +131,14 @@ namespace APT.SK.WebApi.Controllers.Api 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()) @@ -169,7 +174,7 @@ namespace APT.SK.WebApi.Controllers.Api 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"); + 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(); 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..49d28b7 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationController.cs @@ -62,25 +62,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 +124,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..04f7664 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationSummaryController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationSummaryController.cs @@ -161,7 +161,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 +183,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..2d8c2cd 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyController.cs @@ -47,7 +47,7 @@ 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; @@ -59,15 +59,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 +183,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 +210,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..143bd4c 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultController.cs @@ -62,25 +62,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 +224,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..d041600 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultSummaryController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultSummaryController.cs @@ -60,8 +60,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..89b0941 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionNoticeController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionNoticeController.cs @@ -127,13 +127,13 @@ 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("检查时间必须填写"); 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 +170,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 +211,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 +256,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 +310,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 +354,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 +382,8 @@ namespace APT.SK.WebApi.Controllers.Api userTemps.Add(uuu); } } - } - + } + } } item.Nav_CheckNoticeDetailUsers = userTemps; @@ -470,7 +470,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 +543,7 @@ namespace APT.SK.WebApi.Controllers.Api } else if (filter.Parameter3 == "4") { - departType = SKDepartmentTypeEnum.岗位级; + departType = SKDepartmentTypeEnum.班组级; } else { @@ -651,7 +651,7 @@ namespace APT.SK.WebApi.Controllers.Api } else if (filter.Parameter3 == "4") { - departType = SKDepartmentTypeEnum.岗位级; + departType = SKDepartmentTypeEnum.班组级; } else { @@ -661,7 +661,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 +692,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 +712,7 @@ namespace APT.SK.WebApi.Controllers.Api result.Data = newList.OrderBy(t => t.RISK_AREA_ID).ToList(); } } - } + } return result; } @@ -815,7 +815,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 +944,8 @@ namespace APT.SK.WebApi.Controllers.Api } } } - } - + } + List> result = new List>(); if (NoticeID == null && RecordID == null && ReportID == null) { @@ -953,7 +953,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 +975,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 +990,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 +1030,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 +1502,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..1794686 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) { @@ -185,11 +185,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 +221,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 +238,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 +250,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 +322,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 +367,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(); @@ -611,7 +612,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); @@ -689,7 +691,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 +750,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 +827,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 +901,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 +974,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(); @@ -997,7 +999,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 +1158,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 +1176,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 +1206,12 @@ namespace APT.SK.WebApi.Controllers.Api userTemps.Add(uuu); } } - } - + } + } } - item.Nav_CheckRecordDetailUsers = userTemps; - + item.Nav_CheckRecordDetailUsers = userTemps; + } } } @@ -1247,7 +1249,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 +1317,7 @@ namespace APT.SK.WebApi.Controllers.Api } else if (filter.Parameter3 == "4") { - departType = SKDepartmentTypeEnum.岗位级; + departType = SKDepartmentTypeEnum.班组级; } else { @@ -1325,7 +1327,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..e128d4a 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordSummaryController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordSummaryController.cs @@ -180,85 +180,85 @@ 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.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 +267,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; }); @@ -386,7 +386,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 +495,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) @@ -520,7 +520,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 +599,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 +621,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 +630,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 +649,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 +679,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 +728,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)