From cf7d4bded2c196154205bdbb674fd28935cab172 Mon Sep 17 00:00:00 2001 From: wyw <571921741@qq.com> Date: Thu, 9 May 2024 08:45:56 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B7=91=E6=89=B9=20=E7=8F=AD=E7=BB=84?= =?UTF-8?q?=E7=BA=A7=20=E6=A3=80=E6=9F=A5=E4=BB=BB=E5=8A=A1=E5=8F=91?= =?UTF-8?q?=E9=80=81=E4=BF=AE=E6=94=B9=EF=BC=88=E4=B8=8D=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E5=88=B0SPS=EF=BC=89=20=E5=BE=85=E5=8A=9E=E5=A4=84=E7=90=86=20?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E9=BB=98=E8=AE=A4=E9=80=9A=E8=BF=87=20?= =?UTF-8?q?=E5=9B=9E=E8=B0=83=E6=8E=A5=E5=8F=A3=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/FM/FMFlowPermitService.cs | 23 ++- .../Services/PF/PFApproveCallBackService.cs | 106 ++++++----- .../Services/PF/PFFormService.cs | 6 +- APT.MS.Domain/Entities/BS/T_BS_PLAN_SET.cs | 1 + APT.MicroApi/APT.BS.WebApi/Message.xml | 15 +- .../Api/NotificationTaskController.cs | 176 +++++++++++++++++- .../Controllers/Api/BSController.cs | 148 ++++++++++----- 7 files changed, 373 insertions(+), 102 deletions(-) diff --git a/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs b/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs index 35ee093..b088a59 100644 --- a/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs +++ b/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs @@ -613,10 +613,27 @@ namespace APT.BaseData.Services.Services.FM //回调方法写在之后 不然之前数据都没有保存到数据库 原有的方法不能使用 if (!string.IsNullOrEmpty(CALLBACK_INTERFACE)) { - this.UnifiedCommit(() => + if (CALLBACK_INTERFACE == "BS/BSSafeCheck/CheckAuditEnd" || CALLBACK_INTERFACE == "BS/BSSafeCheck/CheckPlanAuditEnd" || CALLBACK_INTERFACE == "BS/BSRiskSubmit/Notice" || + CALLBACK_INTERFACE == "BS/BSRiskSubmit/DealEnd" || CALLBACK_INTERFACE == "BS/BSRiskSubmitDelayApply/DealEnd" || CALLBACK_INTERFACE == "FO/FOJobEventRecord/BackUpdate") { - ApproveCallBackService.CallBack(CALLBACK_INTERFACE, listDATA_ID); - }); + CALLBACK_INTERFACE = CALLBACK_INTERFACE + "New"; + + this.UnifiedCommit(() => + { + ApproveCallBackService.CallBackNew(CALLBACK_INTERFACE, approve, false); + }); + } + else + { + this.UnifiedCommit(() => + { + ApproveCallBackService.CallBack(CALLBACK_INTERFACE, listDATA_ID); + }); + } + //this.UnifiedCommit(() => + //{ + // ApproveCallBackService.CallBack(CALLBACK_INTERFACE, listDATA_ID); + //}); } } diff --git a/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs b/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs index 699f0e6..df4d446 100644 --- a/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs +++ b/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs @@ -161,7 +161,7 @@ namespace APT.BaseData.Services.DomainServices case "FO/FOJobEventRecord/BackUpdate"://绩效测量与评估 result = BackUpdate_FOJobEventRecord(DATA_ID); break; - + #region 职业卫生 //case "OH/OHHealthExamPlan/PlanMasterBack"://绩效测量与评估 @@ -364,15 +364,15 @@ namespace APT.BaseData.Services.DomainServices // PFApproveCallBackMTService.EventResultBack(listDATA_ID[i]); // } // break; - - + + case "SC/SCStandardCreate/BackUpdate"://绩效测量与评估 for (int i = 0; i < listDATA_ID.Count; i++) { BackUpdate_SCStandardCreate(listDATA_ID[i]); } break; - + case "FO/FOJobEventRecord/BackUpdate"://绩效测量与评估 for (int i = 0; i < listDATA_ID.Count; i++) { @@ -1137,7 +1137,10 @@ namespace APT.BaseData.Services.DomainServices RESPONOBJECT = RESPONOBJECT }; } - + if (modelCheck != null && modelCheck.CHECKOBJECT == 0 && deal.Nav_Submit != null && deal.Nav_Submit.CHECKOBJECT.HasValue) + { + modelCheck.CHECKOBJECT = (int)deal.Nav_Submit.CHECKOBJECT.Value; + } UnifiedCommit(() => { UpdateEntityNoCommit(deal);//修改状态 审批结束 @@ -2042,7 +2045,7 @@ namespace APT.BaseData.Services.DomainServices { if (modelApp != null) UpdateEntityNoCommit(modelApp); //保存主表 - if (listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 + if (listAppDetail != null && listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 BantchSaveEntityNoCommit(listAppDetail); if (taskFinish != null) UpdateEntityNoCommit(taskFinish); @@ -2133,7 +2136,7 @@ namespace APT.BaseData.Services.DomainServices { if (modelApp != null) UpdateEntityNoCommit(modelApp); //保存主表 - if (listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 + if (listAppDetail != null && listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 BantchSaveEntityNoCommit(listAppDetail); if (taskFinish != null) UpdateEntityNoCommit(taskFinish); @@ -2177,7 +2180,7 @@ namespace APT.BaseData.Services.DomainServices { if (modelApp != null) UpdateEntityNoCommit(modelApp); //保存主表 - if (listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 + if (listAppDetail != null && listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 BantchSaveEntityNoCommit(listAppDetail); if (taskFinish != null) UpdateEntityNoCommit(taskFinish); @@ -2266,7 +2269,7 @@ namespace APT.BaseData.Services.DomainServices { if (modelApp != null) UpdateEntityNoCommit(modelApp); //保存主表 - if (listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 + if (listAppDetail != null && listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 BantchSaveEntityNoCommit(listAppDetail); if (taskFinish != null) UpdateEntityNoCommit(taskFinish); @@ -2310,7 +2313,7 @@ namespace APT.BaseData.Services.DomainServices { if (modelApp != null) UpdateEntityNoCommit(modelApp); //保存主表 - if (listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 + if (listAppDetail != null && listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 BantchSaveEntityNoCommit(listAppDetail); if (taskFinish != null) UpdateEntityNoCommit(taskFinish); @@ -2326,7 +2329,7 @@ namespace APT.BaseData.Services.DomainServices { if (modelApp != null) UpdateEntityNoCommit(modelApp); //保存主表 - if (listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 + if (listAppDetail != null && listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 BantchSaveEntityNoCommit(listAppDetail); if (taskFinish != null) UpdateEntityNoCommit(taskFinish); @@ -2355,7 +2358,7 @@ namespace APT.BaseData.Services.DomainServices }); return true; } - + /// /// 返回所有上级部门节点 /// @@ -2372,7 +2375,7 @@ namespace APT.BaseData.Services.DomainServices GetParentDepartmentIds(orgId, listDepIDInt, ref departmentIdPs); } } - + private bool BackUpdate_SCStandardCreate(string id) { var content = ""; @@ -2420,7 +2423,7 @@ namespace APT.BaseData.Services.DomainServices }); return true; } - + /// /// 回调函数 /// @@ -5368,7 +5371,7 @@ namespace APT.BaseData.Services.DomainServices leaderuser.DEFAULT_APPROVE_USER_ID = entity.DEPUTY_GROUP_LEADER_ID; } } - if (orgId == Guid.Parse("b043b28b-bbc3-c452-6052-4fba1457abfa") )//行洛坑 + if (orgId == Guid.Parse("b043b28b-bbc3-c452-6052-4fba1457abfa"))//行洛坑 { sendUser = (Guid)GetEntity(t => t.NAME == "办公室").USER_ID; sendUserName = GetEntity(sendUser.ToString()).NAME; @@ -5446,7 +5449,7 @@ namespace APT.BaseData.Services.DomainServices { if (modelApp != null) UpdateEntityNoCommit(modelApp); //保存主表 - if (listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 + if (listAppDetail != null && listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 BantchSaveEntityNoCommit(listAppDetail); if (taskFinish != null) UpdateEntityNoCommit(taskFinish); @@ -5459,10 +5462,10 @@ namespace APT.BaseData.Services.DomainServices switch (CALLBACK_INTERFACE) { case "BS/BSSafeCheck/CheckPlanAuditEndNew": - result = CheckPlanAuditEndNew(entityInt, modelApp, listAppDetail, taskFinish, listTaskNext, isLast); + result = CheckPlanAuditEndNew(entityInt, modelApp, listAppDetail, taskFinish, listTaskNext, isLast, isApprovel); break; case "BS/BSSafeCheck/CheckAuditEndNew": - result = CheckAuditEndNew(entityInt, modelApp, listAppDetail, taskFinish, listTaskNext, isLast); + result = CheckAuditEndNew(entityInt, modelApp, listAppDetail, taskFinish, listTaskNext, isLast, isApprovel); break; case "BS/BSRiskSubmit/NoticeNew": result = NoticeNew(entityInt, modelApp, listAppDetail, taskFinish, listTaskNext, isLast, isApprovel); @@ -6172,11 +6175,11 @@ namespace APT.BaseData.Services.DomainServices /// 是否审批最后一步 /// /// - private bool CheckPlanAuditEndNew(T_PF_APPROVE entityInt, T_PF_APPROVE modelApp, List listAppDetail, T_FM_NOTIFICATION_TASK taskFinish, List listTaskNext, bool isLast = false) + private bool CheckPlanAuditEndNew(T_PF_APPROVE entityInt, T_PF_APPROVE modelApp, List listAppDetail, T_FM_NOTIFICATION_TASK taskFinish, List listTaskNext, bool isLast = false, bool isApprovel = true) { #region 审批公用 - if (modelApp == null) + if (modelApp == null && isApprovel) { string taskCodeCheck = String.Empty; bool result = GetApproject2(entityInt, ref modelApp, ref listAppDetail, ref taskFinish, ref taskCodeCheck, ref isLast, ref listTaskNext); @@ -6188,13 +6191,13 @@ namespace APT.BaseData.Services.DomainServices #endregion - if (!isLast) + if (!isLast && isApprovel) { this.UnifiedCommit(() => { if (modelApp != null) UpdateEntityNoCommit(modelApp); //保存主表 - if (listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 + if (listAppDetail != null && listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 BantchSaveEntityNoCommit(listAppDetail); if (taskFinish != null) UpdateEntityNoCommit(taskFinish); @@ -6204,7 +6207,7 @@ namespace APT.BaseData.Services.DomainServices } else { - var entity = GetEntity(modelApp.DATA_ID); + var entity = GetEntity(modelApp != null ? modelApp.DATA_ID : entityInt.DATA_ID); var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId; //2、添加安全检查填写表单(配置) BS034 @@ -6362,7 +6365,7 @@ namespace APT.BaseData.Services.DomainServices if (modelApp != null) UpdateEntityNoCommit(modelApp); //保存主表 - if (listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 + if (listAppDetail != null && listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 BantchSaveEntityNoCommit(listAppDetail); if (taskFinish != null) UpdateEntityNoCommit(taskFinish); @@ -6388,11 +6391,11 @@ namespace APT.BaseData.Services.DomainServices /// 是否审批最后一步 /// /// - private bool CheckAuditEndNew(T_PF_APPROVE entityInt, T_PF_APPROVE modelApp, List listAppDetail, T_FM_NOTIFICATION_TASK taskFinish, List listTaskNext, bool isLast = false) + private bool CheckAuditEndNew(T_PF_APPROVE entityInt, T_PF_APPROVE modelApp, List listAppDetail, T_FM_NOTIFICATION_TASK taskFinish, List listTaskNext, bool isLast = false, bool isApprovel = true) { #region 审批公用 - if (modelApp == null) + if (modelApp == null && isApprovel) { string taskCodeCheck = String.Empty; bool result = GetApproject2(entityInt, ref modelApp, ref listAppDetail, ref taskFinish, ref taskCodeCheck, ref isLast, ref listTaskNext); @@ -6404,13 +6407,13 @@ namespace APT.BaseData.Services.DomainServices #endregion - if (!isLast) + if (!isLast && isApprovel) { this.UnifiedCommit(() => { if (modelApp != null) UpdateEntityNoCommit(modelApp); //保存主表 - if (listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 + if (listAppDetail != null && listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 BantchSaveEntityNoCommit(listAppDetail); if (taskFinish != null) UpdateEntityNoCommit(taskFinish); @@ -6421,7 +6424,7 @@ namespace APT.BaseData.Services.DomainServices else { //如果是最后一个审批 - var entity = GetEntity(modelApp.DATA_ID, new string[] { "Nav_ListSafeCheckDetail", "Nav_User", "Nav_CheckType", "Nav_CheckTypeLevel.Nav_Enums" }); + var entity = GetEntity((modelApp != null ? modelApp.DATA_ID : entityInt.DATA_ID), new string[] { "Nav_ListSafeCheckDetail", "Nav_User", "Nav_CheckType", "Nav_CheckTypeLevel.Nav_Enums" }); if (!entity.PLAN_SET_ID.HasValue || !entity.CHECKTIME.HasValue || entity.CHECKTIME.Value.Date == DateTime.Now.Date) //同一天 { entity.ISFINISHINTTIME = true; @@ -6450,11 +6453,13 @@ namespace APT.BaseData.Services.DomainServices // entity.STATUCHECK = (int)HMAuditStatusEnmu.归档; //已完成 //else if (modelApprove.APPROVE_STATUS == 20) // entity.STATUCHECK = (int)HMAuditStatusEnmu.审批驳回; //已驳回 - - if (entityInt.CurrentNode.NODE_APPROVE_STATUS == 10) - entity.STATUCHECK = (int)HMAuditStatusEnmu.归档; //已完成 - else if (entityInt.CurrentNode.NODE_APPROVE_STATUS == 20) - entity.STATUCHECK = (int)HMAuditStatusEnmu.审批驳回; //已驳回 + if (isApprovel) + { + if (entityInt.CurrentNode.NODE_APPROVE_STATUS == 10) + entity.STATUCHECK = (int)HMAuditStatusEnmu.归档; //已完成 + else if (entityInt.CurrentNode.NODE_APPROVE_STATUS == 20) + entity.STATUCHECK = (int)HMAuditStatusEnmu.审批驳回; //已驳回 + } //组合库 List listCheckMain = new List(); @@ -6713,6 +6718,15 @@ namespace APT.BaseData.Services.DomainServices modelSub.CHECK_TYPE_ID = entity.CHECK_TYPE_ID; modelSub.CHECK_TYPE_LEVEL_ID = entity.CHECK_TYPE_LEVEL_ID; modelSub.ORG_ID = entity.ORG_ID; + if (entity.CHECKOBJECT.HasValue) + { + try + { + modelSub.CHECKOBJECT = (BSMineTypeEnum)entity.CHECKOBJECT; + } + catch { } + } + List Nav_Files = null; var files = GetEntities(e => e.SAFE_CHECK_ID == entity.ID, false, null); @@ -6736,7 +6750,7 @@ namespace APT.BaseData.Services.DomainServices int ROW_NO = 0; foreach (var item in entity.Nav_ListSafeCheckDetail) { - if (!item.CHECKRESULT.HasValue || item.CHECKRESULT.Value !=20) // CHECKRESULTEnum.Same + if (!item.CHECKRESULT.HasValue || item.CHECKRESULT.Value != 20) // CHECKRESULTEnum.Same { continue; } @@ -6791,7 +6805,7 @@ namespace APT.BaseData.Services.DomainServices { if (modelApp != null) UpdateEntityNoCommit(modelApp); //保存主表 - if (listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 + if (listAppDetail != null && listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 BantchSaveEntityNoCommit(listAppDetail); if (taskFinish != null) UpdateEntityNoCommit(taskFinish); @@ -6825,7 +6839,7 @@ namespace APT.BaseData.Services.DomainServices if (modelApp != null) UpdateEntityNoCommit(modelApp); //保存主表 - if (listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 + if (listAppDetail != null && listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 BantchSaveEntityNoCommit(listAppDetail); if (taskFinish != null) UpdateEntityNoCommit(taskFinish); @@ -6877,7 +6891,7 @@ namespace APT.BaseData.Services.DomainServices { if (modelApp != null) UpdateEntityNoCommit(modelApp); //保存主表 - if (listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 + if (listAppDetail != null && listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 BantchSaveEntityNoCommit(listAppDetail); if (taskFinish != null) UpdateEntityNoCommit(taskFinish); @@ -7364,7 +7378,7 @@ namespace APT.BaseData.Services.DomainServices { if (modelApp != null) UpdateEntityNoCommit(modelApp); //保存主表 - if (listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 + if (listAppDetail != null && listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 BantchSaveEntityNoCommit(listAppDetail); if (taskFinish != null) UpdateEntityNoCommit(taskFinish); @@ -7422,7 +7436,7 @@ namespace APT.BaseData.Services.DomainServices { if (modelApp != null) UpdateEntityNoCommit(modelApp); //保存主表 - if (listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 + if (listAppDetail != null && listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 BantchSaveEntityNoCommit(listAppDetail); if (taskFinish != null) UpdateEntityNoCommit(taskFinish); @@ -7702,12 +7716,18 @@ namespace APT.BaseData.Services.DomainServices }; } + //整改完成后 完善检查库 + if (modelCheck != null && modelCheck.CHECKOBJECT == 0 && deal.Nav_Submit != null && deal.Nav_Submit.CHECKOBJECT.HasValue) + { + modelCheck.CHECKOBJECT = (int)deal.Nav_Submit.CHECKOBJECT.Value; + } + UnifiedCommit(() => { if (modelApp != null) UpdateEntityNoCommit(modelApp); //保存主表 - if (listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 + if (listAppDetail != null && listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 BantchSaveEntityNoCommit(listAppDetail); if (taskFinish != null) UpdateEntityNoCommit(taskFinish); @@ -7760,7 +7780,7 @@ namespace APT.BaseData.Services.DomainServices { if (modelApp != null) UpdateEntityNoCommit(modelApp); //保存主表 - if (listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 + if (listAppDetail != null && listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 BantchSaveEntityNoCommit(listAppDetail); if (taskFinish != null) UpdateEntityNoCommit(taskFinish); @@ -7859,7 +7879,7 @@ namespace APT.BaseData.Services.DomainServices { if (modelApp != null) UpdateEntityNoCommit(modelApp); //保存主表 - if (listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 + if (listAppDetail != null && listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库 BantchSaveEntityNoCommit(listAppDetail); if (taskFinish != null) UpdateEntityNoCommit(taskFinish); diff --git a/APT.BaseData.Services/Services/PF/PFFormService.cs b/APT.BaseData.Services/Services/PF/PFFormService.cs index 6d2d05e..dc85f31 100644 --- a/APT.BaseData.Services/Services/PF/PFFormService.cs +++ b/APT.BaseData.Services/Services/PF/PFFormService.cs @@ -1244,7 +1244,11 @@ namespace APT.BaseData.Services.DomainServices mi.Name.ToUpper() != mi.Name) { if (mi.DeclaringType.Name == "T_PF_MENU" && mi.Name == "MineType") - { + { + if (dstOrgId=="A3DCE14A-13D9-D879-D9AB-821D4A3F1F93") + { + continue;//wyw 菜单导出 功能优化 SMS 没有 MineType + } } else { diff --git a/APT.MS.Domain/Entities/BS/T_BS_PLAN_SET.cs b/APT.MS.Domain/Entities/BS/T_BS_PLAN_SET.cs index 5b01f27..0eb8d0b 100644 --- a/APT.MS.Domain/Entities/BS/T_BS_PLAN_SET.cs +++ b/APT.MS.Domain/Entities/BS/T_BS_PLAN_SET.cs @@ -95,6 +95,7 @@ namespace APT.MS.Domain.Entities.BS /// /// 检查时间 + /// 此字段在 SMS 判断 是否有值 判断 班组级安全检查 如果有值 不按排班处理(按组织结构) /// [Description("检查时间")] [FormFieldEdit] diff --git a/APT.MicroApi/APT.BS.WebApi/Message.xml b/APT.MicroApi/APT.BS.WebApi/Message.xml index a4c78ae..dc40284 100644 --- a/APT.MicroApi/APT.BS.WebApi/Message.xml +++ b/APT.MicroApi/APT.BS.WebApi/Message.xml @@ -92,9 +92,16 @@ - - - - + + 器具不出在或者未绑定节点:{0} + + + 您已审批过此单,不能重复操作! + + + + 驳回接口未配置,请联系管理员 + + diff --git a/APT.MicroApi/APT.FM.WebApi/Controllers/Api/NotificationTaskController.cs b/APT.MicroApi/APT.FM.WebApi/Controllers/Api/NotificationTaskController.cs index 3c370e5..188e09e 100644 --- a/APT.MicroApi/APT.FM.WebApi/Controllers/Api/NotificationTaskController.cs +++ b/APT.MicroApi/APT.FM.WebApi/Controllers/Api/NotificationTaskController.cs @@ -4,6 +4,7 @@ using APT.BaseData.Domain.Entities.PF; using APT.BaseData.Domain.Entities.T4; using APT.BaseData.Domain.Enums; using APT.Infrastructure.Core; +using APT.MS.Domain.Entities.BS; using APT.MS.Domain.Entities.SC; using APT.MS.Domain.Enums; using APT.Utility; @@ -361,6 +362,11 @@ namespace APT.FM.WebApi.Controllers.Api T_SC_MT_MEETING meeting = null; var task = this.GetEntity(keywordFilter.Keyword); + T_BS_RISK_SUBMIT_CONTENT_DEAL contentDeal = null; + T_BS_RISK_SUBMIT_CONTENT content = null; + T_BS_SAFE_CHECK check = null; + T_BS_SAFE_CHECK_RECORD checkRecord = null; + IEnumerable listDetailUser = null; if (task != null && task.SOURCE_DATA_ID.HasValue) { if (task.NOTICE_STATUS != 0) @@ -407,14 +413,171 @@ namespace APT.FM.WebApi.Controllers.Api log.LOG_DATA = task.USER_ID.ToString() + " (" + task.USER_NAME + ") " + " => " + userID + "(" + userName + ")"; log.EXT_DATA = meeting.ID.ToString(); + #endregion + break; + + case "BS032": + #region 检查任务制定 修改 制定检查表的人 + check = GetEntity(task.SOURCE_DATA_ID.Value); + if (check.STATECHECK != STATECHECK.Draft && check.STATECHECK == STATECHECK.WaitForCheck) + { + throw new Exception("该检查记录不能转办(状态:" + check.STATECHECK.GetDescription() + ")!"); + } + check.USERID_DOPLAN = userID;//部门不去改变 + + log.LOG_DATA = task.USER_ID.ToString() + " (" + task.USER_NAME + ") " + " => " + userID + "(" + userName + ")"; + log.EXT_DATA = task.SOURCE_DATA_ID.ToString(); + #endregion + break; + case "BS032_SHOWPRINT": + #region //检查任务表确认 修改检查人 + + listDetailUser = GetEntities(e => e.SAFE_CHECK_ID == task.SOURCE_DATA_ID && e.USER_ID == task.USER_ID, null, null); + if (listDetailUser != null && listDetailUser.Any()) + { + foreach (var item in listDetailUser) + { + item.USER_ID = userID; + } + + check = GetEntity(task.SOURCE_DATA_ID.Value); + check.CheckUsers = check.CheckUsers.Replace(task.USER_NAME, userName); + } + + log.LOG_DATA = task.USER_ID.ToString() + " (" + task.USER_NAME + ") " + " => " + userID + "(" + userName + ")"; + log.EXT_DATA = task.SOURCE_DATA_ID.ToString(); #endregion + break; + case "BS044": + #region 隐患整改单 同步修改 整改落实人 + contentDeal = GetEntity(task.SOURCE_DATA_ID.Value); + contentDeal.ACTUAL_DEAL_USER_ID = userID; + contentDeal.MODIFY_TIME = DateTime.Now; + if (!contentDeal.RISK_SUBMIT_CONTENT_ID.HasValue) + { + throw new Exception("获取上报明细有误转办失败!"); + } + content = GetEntity(contentDeal.RISK_SUBMIT_CONTENT_ID.Value); + content.ACTUAL_DEAL_USER_ID = userID; + content.MODIFY_TIME = DateTime.Now; + log.LOG_DATA = task.USER_ID.ToString() + " (" + task.USER_NAME + ") " + " => " + userID + "(" + userName + ")"; + log.EXT_DATA = task.SOURCE_DATA_ID.ToString(); + #endregion + break; + case "BS057": + #region 检查登记 修改检查明细 检查人 信息 + + listDetailUser = GetEntities(e => e.SAFE_CHECK_ID == task.SOURCE_DATA_ID && e.USER_ID == task.USER_ID && (!e.SAFECHECKSTATE.HasValue || e.SAFECHECKSTATE.Value != 80), null, null);//SAFECHECKSTATEEnum.Send + if (listDetailUser != null && listDetailUser.Any()) + { + foreach (var item in listDetailUser) + { + item.USER_ID = userID; + } + check = GetEntity(task.SOURCE_DATA_ID.Value); + check.CheckUsers = check.CheckUsers.Replace(task.USER_NAME, userName); + } + + log.LOG_DATA = task.USER_ID.ToString() + " (" + task.USER_NAME + ") " + " => " + userID + "(" + userName + ")"; + log.EXT_DATA = task.SOURCE_DATA_ID.ToString(); + + #endregion + break; + case "BS034": + #region 检查确认 + + checkRecord = GetEntity(task.SOURCE_DATA_ID.Value); + checkRecord.USER_ID = userID; + + listDetailUser = GetEntities(e => e.SAFE_CHECK_ID == checkRecord.SAFE_CHECK_ID && e.USER_ID == task.USER_ID && (!e.SAFECHECKSTATE.HasValue || e.SAFECHECKSTATE.Value != 80), null, null);//SAFECHECKSTATEEnum.Send + if (listDetailUser != null && listDetailUser.Any()) + { + foreach (var item in listDetailUser) + { + item.USER_ID = userID; + } + + check = GetEntity(checkRecord.SAFE_CHECK_ID.Value); + check.CheckUsers = check.CheckUsers.Replace(task.USER_NAME, userName); + } + + log.LOG_DATA = task.USER_ID.ToString() + " (" + task.USER_NAME + ") " + " => " + userID + "(" + userName + ")"; + log.EXT_DATA = task.SOURCE_DATA_ID.ToString(); + + #endregion + break; + case "BS074": + #region 整改责任人指定落实人 修改责任人 + + content = GetEntity(e => e.RISK_SUBMIT_NOTICE_PERSON_ID.HasValue && e.RISK_SUBMIT_NOTICE_PERSON_ID == task.SOURCE_DATA_ID.Value); + content.DEAL_USER_ID = userID; + content.MODIFY_TIME = DateTime.Now; + + log.LOG_DATA = task.USER_ID.ToString() + " (" + task.USER_NAME + ") " + " => " + userID + "(" + userName + ")"; + log.EXT_DATA = task.SOURCE_DATA_ID.ToString(); + #endregion + break; + case "BS042_SHOWPRINT": + #region 验收人确认 + + content = GetEntity(e => e.RISK_SUBMIT_NOTICE_PERSON_ID.HasValue && e.RISK_SUBMIT_NOTICE_PERSON_ID == task.SOURCE_DATA_ID.Value); + content.CHECK_USER_ID = userID; + content.MODIFY_TIME = DateTime.Now; + + log.LOG_DATA = task.USER_ID.ToString() + " (" + task.USER_NAME + ") " + " => " + userID + "(" + userName + ")"; + log.EXT_DATA = task.SOURCE_DATA_ID.ToString(); + #endregion + break; + case "BS042_ACTUALCHECK": + #region 整改落实人确认 + + content = GetEntity(e => e.RISK_SUBMIT_NOTICE_PERSON_ID.HasValue && e.RISK_SUBMIT_NOTICE_PERSON_ID == task.SOURCE_DATA_ID.Value); + content.ACTUAL_DEAL_USER_ID = userID; + content.MODIFY_TIME = DateTime.Now; + + contentDeal = GetEntity(e => e.RISK_SUBMIT_CONTENT_ID == content.ID); + if (contentDeal != null) + contentDeal.ACTUAL_DEAL_USER_ID = userID; + + log.LOG_DATA = task.USER_ID.ToString() + " (" + task.USER_NAME + ") " + " => " + userID + "(" + userName + ")"; + log.EXT_DATA = task.SOURCE_DATA_ID.ToString(); + + #endregion + break; + case "BS044_CHECK": + #region 责任人确认整改 验收人确认整改 + + contentDeal = GetEntity(task.SOURCE_DATA_ID.Value); + + content = GetEntity(contentDeal.RISK_SUBMIT_CONTENT_ID.Value); + if (contentDeal.DEAL_USER_ID == task.USER_ID) + { + contentDeal.DEAL_USER_ID = userID; + contentDeal.MODIFY_TIME = DateTime.Now; + + content.DEAL_USER_ID = userID; + } + else if (contentDeal.CHECK_USER_ID == task.USER_ID) + { + contentDeal.CHECK_USER_ID = userID; + contentDeal.MODIFY_TIME = DateTime.Now; + content.CHECK_USER_ID = userID; + } + + log.LOG_DATA = task.USER_ID.ToString() + " (" + task.USER_NAME + ") " + " => " + userID + "(" + userName + ")"; + log.EXT_DATA = task.SOURCE_DATA_ID.ToString(); + + #endregion + break; + case "BS073"://手动隐患上报-指定责任单位 + case "BS006"://隐患待上报 //可能不需要处理 + //无需处理 break; default: break; } - } #region 日志待办 统一赋值 @@ -422,6 +585,7 @@ namespace APT.FM.WebApi.Controllers.Api task.USER_ID = userID; task.USER_NAME = userName; task.MODIFY_TIME = DateTime.Now; + task.SENDTIME = DateTime.MinValue; log.LOG_TITLE = task.SOURCE_FORMCODE; @@ -437,6 +601,16 @@ namespace APT.FM.WebApi.Controllers.Api this.AddEntityNoCommit(log); if (meeting != null) this.UpdateEntityNoCommit(meeting); + if (check != null) + this.UpdateEntityNoCommit(check); + if (checkRecord != null) + this.UpdateEntityNoCommit(checkRecord); + if (contentDeal != null) + this.UpdateEntityNoCommit(contentDeal); + if (content != null) + this.UpdateEntityNoCommit(content); + if (listDetailUser != null) + this.BantchSaveEntityNoCommit(listDetailUser); }); return true; }); diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/BSController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/BSController.cs index 4e01783..e2275e3 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/BSController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/BSController.cs @@ -195,8 +195,8 @@ namespace APT.PP.WebApi.Controllers.Api.PP #endregion break; case 10: - //每日天执行 时间匹配就添加 - if (listPlanSet[i].Nav_CheckTypeLevel.Nav_Enums.NAME != "班组级") + //每日天执行 时间匹配就添加 此代码不同步到SPS + if (listPlanSet[i].CHECKTIME.HasValue || listPlanSet[i].Nav_CheckTypeLevel.Nav_Enums.NAME != "班组级")//如果是特殊处理 或者不是班组级 { listPlanSetRund.Add(listPlanSet[i]);//如果是班组级 跳过(另外一个跑批) } @@ -325,6 +325,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP T_BS_PLAN_SET_OBJECT checkObject = null; T_BS_PLAN_SET_DEP_OBJECT checkDetObject = null; + T_FM_DEPARTMENT depTemp = null; for (int i = 0; i < listPlanSetRund.Count; i++) { if (i == 0) @@ -618,39 +619,105 @@ namespace APT.PP.WebApi.Controllers.Api.PP } else if (listPlanSetRund[i].PLANCHECKOBJECT == 20)//班长 { - //找到今天有上班的 班组 对应 班长 - //排班 T_FM_DEPARTMENT_SCHEDULING 班组T_FM_TEAM 班长CHARGE_PERSON_ID 人员Nav_ChargePerson 用户Nav_User - - //listPlanSetRund[i].CHECKTIME "Nav_ProdutionUnit.Nav_Enums" - List listTeamScheduling = null; - string[] pathScheduling = { "Nav_DepartMent", "Nav_Team.Nav_ChargePerson.Nav_User.Nav_Department.Nav_Enums" };//, "Nav_Team.Nav_ChargePerson.Nav_DepartMent" - if (listPlanSetRund[i].CHECKTIME == null) + //此代码不同步到 SPS + if (listPlanSetRund[i].CHECKTIME.HasValue) { - //没有检查时间 就当天 有排班 - listTeamScheduling = this.GetOrderEntities(e => e.ENABLE_STATUS == 0 && e.DATE_TIME == dtFirst && e.START_TIME != e.END_TIME, null, pathScheduling).ToList(); + IEnumerable listDepIDLimit = null; + if (listPlanSetRund[i].Nav_ListSetDepObject != null && listPlanSetRund[i].Nav_ListSetDepObject.Any()) + { + listDepIDLimit = listPlanSetRund[i].Nav_ListSetDepObject.Where(e => e.DEPARTMENT_ID.HasValue).Select(e => e.DEPARTMENT_ID.Value); + } + + IEnumerable listMineTypeEnums = null; + if (listPlanSetRund[i].Nav_ListSetObject != null && listPlanSetRund[i].Nav_ListSetObject.Any()) + { + listMineTypeEnums = listPlanSetRund[i].Nav_ListSetObject.Select(e => (int)e.CHECKOBJECT); + } + //所有符合条件的班组组长 + //Nav_ListSetObject + //Nav_ListSetDepObject + + //找到 公司 部门 车间 班组 级别 对应安全员 + DEPARTMENT_TYPE = listPlanSetRund[i].Nav_CheckTypeLevel.Nav_Enums.VALUE;//检查等级 和部门等级匹配 + + //需要做全检查的所有部门 + List listDepartMent = null; + Expression> expressionDepartMent = e => !e.IS_DELETED && e.ENABLE_STATUS == 0 && e.DEPARTMENT_TYPE == DEPARTMENT_TYPE && e.DEPARTMENT_STATUS == (int)FMDepartmentStatus.生产部门; + + if (listDepIDLimit != null && listDepIDLimit.Any()) + { + expressionDepartMent = expressionDepartMent.And(e => listDepIDLimit.Contains(e.ID)); + } + if (listMineTypeEnums != null && listMineTypeEnums.Any()) + { + expressionDepartMent = expressionDepartMent.And(e => e.Nav_ProdutionUnit.FirstOrDefault(e => listMineTypeEnums.Contains(e.Nav_Enums.VALUE)) != null); + } + //生产部门 + listDepartMent = GetEntities(expressionDepartMent, null, "Nav_ProdutionUnit.Nav_Enums").ToList(); + if (listDepartMent == null || !listDepartMent.Any()) + { + continue; + } + + IEnumerable ListUserID = null; + if (listDepartMent.Count > 0) + { + ListUserID = listDepartMent.Where(e => e.USER_ID.HasValue).Select(e => e.USER_ID.Value); + } + if (ListUserID == null || !ListUserID.Any()) + { + continue; + } + + List listUSER = GetEntities(e => ListUserID.Contains(e.ID), null, null).ToList(); + DateTime deNowDateEnd = DateTime.Now.Date.AddDays(1).AddSeconds(-1);//今天最后1秒 + foreach (var item in listUSER) + { + depTemp = listDepartMent.FirstOrDefault(e => e.ID == item.DEPARTMENT_ID); + if (depTemp != null) + { + listDepartment.Add(depTemp); + listFMUserNotice.Add(item);//班长 + listEndTime.Add(deNowDateEnd); + } + } } else { - //有检查时间 就检查时间有排班 - ChcekDateTime = Convert.ToDateTime(dtFirst.ToString("yyyy-MM-dd") + listPlanSetRund[i].CHECKTIME.Value.ToString(" HH:mm:ss")); - //e.Nav_DepartMent.DEPARTMENT_TYPE == 2 - listTeamScheduling = this.GetOrderEntities(e => e.ENABLE_STATUS == 0 && e.DATE_TIME == dtFirst && e.START_TIME <= ChcekDateTime && e.END_TIME >= ChcekDateTime, null, pathScheduling).ToList(); - //listTeamScheduling = this.GetOrderEntities(e => e.ENABLE_STATUS == 0 && e.DATE_TIME == dtFirst && e.START_TIME != e.END_TIME && e.START_TIME.Date == dtFirst.Date, null, pathScheduling).ToList(); + //找到今天有上班的 班组 对应 班长 + //排班 T_FM_DEPARTMENT_SCHEDULING 班组T_FM_TEAM 班长CHARGE_PERSON_ID 人员Nav_ChargePerson 用户Nav_User - } - - if (listTeamScheduling != null && listTeamScheduling.Count > 0) - { - for (int j = 0; j < listTeamScheduling.Count; j++) + //listPlanSetRund[i].CHECKTIME "Nav_ProdutionUnit.Nav_Enums" + List listTeamScheduling = null; + string[] pathScheduling = { "Nav_DepartMent", "Nav_Team.Nav_ChargePerson.Nav_User.Nav_Department.Nav_Enums" };//, "Nav_Team.Nav_ChargePerson.Nav_DepartMent" + if (listPlanSetRund[i].CHECKTIME == null) { - chargePerson = listTeamScheduling[j].Nav_Team.Nav_ChargePerson;//班长 - //listDepartment.Add(listTeamScheduling[j].Nav_DepartMent); + //没有检查时间 就当天 有排班 + listTeamScheduling = this.GetOrderEntities(e => e.ENABLE_STATUS == 0 && e.DATE_TIME == dtFirst && e.START_TIME != e.END_TIME, null, pathScheduling).ToList(); + } + else + { + //有检查时间 就检查时间有排班 + ChcekDateTime = Convert.ToDateTime(dtFirst.ToString("yyyy-MM-dd") + listPlanSetRund[i].CHECKTIME.Value.ToString(" HH:mm:ss")); + //e.Nav_DepartMent.DEPARTMENT_TYPE == 2 + listTeamScheduling = this.GetOrderEntities(e => e.ENABLE_STATUS == 0 && e.DATE_TIME == dtFirst && e.START_TIME <= ChcekDateTime && e.END_TIME >= ChcekDateTime, null, pathScheduling).ToList(); + //listTeamScheduling = this.GetOrderEntities(e => e.ENABLE_STATUS == 0 && e.DATE_TIME == dtFirst && e.START_TIME != e.END_TIME && e.START_TIME.Date == dtFirst.Date, null, pathScheduling).ToList(); - listDepartment.Add(chargePerson.Nav_User.Nav_Department != null ? chargePerson.Nav_User.Nav_Department : listTeamScheduling[j].Nav_DepartMent); //班长所在部门 不然审批流不好找 BS034 - //listDepartment.Add(listTeamScheduling[j].Nav_DepartMent != null ? listTeamScheduling[j].Nav_DepartMent : chargePerson.Nav_DepartMent); //班长所在部门 + } - listFMUserNotice.Add(chargePerson.Nav_User);//班长 - listEndTime.Add(listTeamScheduling[j].END_TIME);//默认当班结束时间 + if (listTeamScheduling != null && listTeamScheduling.Count > 0) + { + for (int j = 0; j < listTeamScheduling.Count; j++) + { + chargePerson = listTeamScheduling[j].Nav_Team.Nav_ChargePerson;//班长 + //listDepartment.Add(listTeamScheduling[j].Nav_DepartMent); + + listDepartment.Add(chargePerson.Nav_User.Nav_Department != null ? chargePerson.Nav_User.Nav_Department : listTeamScheduling[j].Nav_DepartMent); //班长所在部门 不然审批流不好找 BS034 + //listDepartment.Add(listTeamScheduling[j].Nav_DepartMent != null ? listTeamScheduling[j].Nav_DepartMent : chargePerson.Nav_DepartMent); //班长所在部门 + + listFMUserNotice.Add(chargePerson.Nav_User);//班长 + listEndTime.Add(listTeamScheduling[j].END_TIME);//默认当班结束时间 + } } } } @@ -700,25 +767,6 @@ namespace APT.PP.WebApi.Controllers.Api.PP - - #region 旧版 - - //CHECKOBJECT = GetCHECKOBJECT(listDepartment[j], listFMUserNotice[j].ORG_ID.Value, listAreObject); - //if (listPlanSetRund[i].Nav_ListSetObject != null && listPlanSetRund[i].Nav_ListSetObject.Any()) - //{ - // checkObject = listPlanSetRund[i].Nav_ListSetObject.FirstOrDefault(e => (int)e.CHECKOBJECT == CHECKOBJECT); - // if (checkObject == null) - // { - // //有限制 不满足 - // if (listPlanSetRund[i].Nav_ListSetDepObject == null || !listPlanSetRund[i].Nav_ListSetDepObject.Any()) - // { - // continue; - // } - // } - //} - - #endregion - if (listPlanSetRund[i].Nav_ListSetDepObject != null && listPlanSetRund[i].Nav_ListSetDepObject.Any()) { checkDetObject = listPlanSetRund[i].Nav_ListSetDepObject.FirstOrDefault(e => e.DEPARTMENT_ID.Value == listDepartment[j].ID); @@ -1436,13 +1484,13 @@ namespace APT.PP.WebApi.Controllers.Api.PP this.UnifiedCommit(() => { if (task != null)//跑批更新 - UpdateEntityNoCommit(task); + UpdateEntityNoCommit(task); if (listTaskBS057.Count > 0)//检查登记 - BantchSaveEntityNoCommit(listTaskBS057); + BantchSaveEntityNoCommit(listTaskBS057); if (listUpdateDetailUser.Count > 0)//检查人是主要负责人 - BantchSaveEntityNoCommit(listUpdateDetailUser); + BantchSaveEntityNoCommit(listUpdateDetailUser); BantchSaveEntityNoCommit(checks);//检查记录表单 STATUCHECK (int)HMAuditStatusEnmu.审批中; - }); + }); } catch (Exception ex)