diff --git a/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs b/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs index 8a0ac15..3cb2ed0 100644 --- a/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs +++ b/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs @@ -53,6 +53,7 @@ using System.Reflection; using System.Security.Cryptography; using static Google.Protobuf.WireFormat; using static IdentityModel.OidcConstants; +using static NPOI.HSSF.UserModel.HeaderFooter; namespace APT.BaseData.Services.DomainServices { @@ -12298,6 +12299,8 @@ namespace APT.BaseData.Services.DomainServices var user = this.GetEntity(t => t.ENABLE_STATUS == 0 && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监")); T_SK_MAJOR_ACCIDENT_HAZARD_MANAGE major = null; T_FM_NOTIFICATION_TASK notice = null; + var majorUserIds = new List(); + var majorFileIds = new List(); if (entity.HIDDEN_LEVEL == SKHiddenLevel.Major && user != null) { //先查下销号表是否已经触发过 @@ -12306,6 +12309,19 @@ namespace APT.BaseData.Services.DomainServices { //直接触发原来那张销号表 major.STATUS = PFStandardStatus.Draft; + major.HIDDEN_DANGER_RECTIFY_RECORD_ID = entity.ID; + major.HIDDEN_DESCRIPTION = entity.Nav_Question?.DESCREPTION; + major.APPLY_USER_ID = user.ID; + major.APPLY_DEPARTMENT_ID = user.DEPARTMENT_ID; + major.HIDDEN_REASON = null; + major.CHARGE_USER_ID = null; + major.REVIEW_DESCRIPTION = null; + major.REVIEW_RESULT = null; + major.REPORT_DATE = null; + major.MONITOR_DEPART_ID = null; + major.MONITOR_OPINION = null; + majorUserIds = this.GetEntities(t => t.MAJOR_ACCIDENT_HAZARD_MANAGE_ID == major.ID, new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList(); + majorFileIds = this.GetEntities(t => t.MAJOR_ACCIDENT_HAZARD_MANAGE_ID == major.ID, new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList(); } else { @@ -12318,6 +12334,7 @@ namespace APT.BaseData.Services.DomainServices major.APPLY_DEPARTMENT_ID = user.DEPARTMENT_ID; major.CODE = "YHXH" + DateTime.Now.ToShortDateString().Replace("/", "") + new Random().Next(1, 999); major.HIDDEN_DESCRIPTION = entity.Nav_Question?.DESCREPTION; + major.NOTICE_CODE = entity.NOTICE_CODE; } notice = NotificationTaskService.InsertUserNoticeTaskModel("重大事故隐患治理销号表"+ DateTime.Now.ToShortDateString().Replace("/", ""), major.ID, major.ORG_ID, user.ID, user.NAME, DateTime.Now, DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "SK080"); @@ -12334,6 +12351,10 @@ namespace APT.BaseData.Services.DomainServices BantchSaveEntityNoCommit(listTaskNext); if (entity != null) this.UpdateEntityNoCommit(entity); + if (majorUserIds != null && majorUserIds.Any()) + this.BantchDeleteEntityNoCommit(majorUserIds); + if (majorFileIds != null && majorFileIds.Any()) + this.BantchDeleteEntityNoCommit(majorFileIds); if (major != null) this.UpdateEntityNoCommit(major); if (notice != null) diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/MajorAccidentHazardManageController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/MajorAccidentHazardManageController.cs index 227df51..e933ae1 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/MajorAccidentHazardManageController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/MajorAccidentHazardManageController.cs @@ -98,7 +98,7 @@ namespace APT.SK.WebApi.Controllers.Api } if (files != null && files.Any()) { - foreach (var file in files) + foreach (var file in files.Where(t => !t.IS_DELETED)) { T_SK_MAJOR_ACCIDENT_HAZARD_MANAGE_FILE item = new T_SK_MAJOR_ACCIDENT_HAZARD_MANAGE_FILE(); item.ORG_ID = entity.ORG_ID; @@ -110,6 +110,7 @@ namespace APT.SK.WebApi.Controllers.Api List notices = new List(); T_FM_NOTIFICATION_TASK task = null; T_SK_HIDDEN_DANGER_RECTIFY_RECORD record = null; + var recordFileIds = new List(); if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify")) { //同意销号触发审批 @@ -148,6 +149,13 @@ namespace APT.SK.WebApi.Controllers.Api if (record != null) { record.STATUS = PFStandardStatus.Rejected; + record.ACCEPT_DATE = null; + record.ACCEPT_OPINION = null; + record.ACCEPT_USER_ID = null; + record.RECTIFICATION_DESCRIPTION = null; + record.RECTIFICATION_MONEY = null; + record.COMPLETE_DATE = null; + recordFileIds = this.GetEntities(t => t.HIDDEN_DANGER_RECTIFY_RECORD_ID == record.ID, new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList(); if (record.IMPLEMENT_USER_ID != null) { var user = this.GetEntity(t => t.ID == record.IMPLEMENT_USER_ID); @@ -194,6 +202,10 @@ namespace APT.SK.WebApi.Controllers.Api BantchSaveEntityNoCommit(fileList); if (notices != null && notices.Any()) BantchSaveEntityNoCommit(notices); + if (record != null) + UpdateEntityNoCommit(record); + if (recordFileIds != null && recordFileIds.Any()) + this.BantchDeleteEntityNoCommit(recordFileIds); }); return true; }); @@ -212,7 +224,9 @@ namespace APT.SK.WebApi.Controllers.Api if (string.IsNullOrEmpty(id)) this.ThrowError("060010"); filter.IgnoreDataRule = true; - var result = this.GetEntity(id, new string[] { "Nav_ApplyUser", "Nav_ChargeUser", "Nav_ApplyDepartment","Nav_RectifyRecord","Nav_Users.Nav_User","Nav_MonitorDepart", "Nav_Files.Nav_ImgFile"}); + var result = this.GetEntity(id, new string[] { "Nav_ApplyUser", "Nav_ChargeUser", "Nav_ApplyDepartment", "Nav_RectifyRecord.Nav_ProductionUnit", + "Nav_RectifyRecord.Nav_RiskArea", "Nav_RectifyRecord.Nav_RectifyPhotoas.Nav_ImgFile","Nav_RectifyRecord.Nav_RectifyPhotobs.Nav_ImgFile", + "Nav_Users.Nav_User","Nav_MonitorDepart", "Nav_Files.Nav_ImgFile"}); if (result != null && result.STATUS == PFStandardStatus.Rejected) { result.CONTEXT = ApproveCallBackService.RejectContent(result.ID);