From 0db60e5ee0f529d0081ed2760b6e427131ee6d2d 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: Thu, 29 Jan 2026 18:02:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A1=E6=89=B9=E5=A2=9E=E5=8A=A0=E6=9C=AC?= =?UTF-8?q?=E4=BA=BA=E9=BB=98=E8=AE=A4=E5=BE=85=E5=8A=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/FM/FMFlowPermitService.cs | 52 ++++++++++++++----- 1 file changed, 39 insertions(+), 13 deletions(-) diff --git a/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs b/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs index a7231f0..d04bccb 100644 --- a/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs +++ b/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs @@ -324,6 +324,7 @@ namespace APT.BaseData.Services.Services.FM T_FM_NOTIFICATION_TASK finishNotice = null; //发消息 T_FM_NOTIFICATION_TASK notice = null; + T_FM_NOTIFICATION_TASK curentTask = null; //细表 List appdetails = new List(); if (operaterID == null) @@ -486,10 +487,11 @@ namespace APT.BaseData.Services.Services.FM //当前节点 T_PF_APPROVE_DETAIL curentApprove = null; + string JsonApproveDetail = string.Empty; GetApproveNodes(appdetails, ref curentApprove, ref JsonApproveDetail); - DealOperateApproveDetail(ref sendMessage, operaterID, ref appdetails, ref CALLBACK_INTERFACE, listDATA_ID, approve, ref curentApprove);//整理操作者审批流相关信息 wyw + DealOperateApproveDetail(ref sendMessage, operaterID, ref appdetails, ref CALLBACK_INTERFACE, listDATA_ID, approve, ref curentApprove,ref curentTask);//整理操作者审批流相关信息 wyw if (sendMessage) { @@ -621,7 +623,9 @@ namespace APT.BaseData.Services.Services.FM if (finishNotice != null && finishNotice.ID != Guid.Empty) UpdateEntityNoCommit(finishNotice, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID"); if (notice != null) - AddEntityNoCommit(notice); + AddEntityNoCommit(notice); + if (curentTask != null) + AddEntityNoCommit(curentTask); if (listBSLog != null && listBSLog.Any()) BantchSaveEntityNoCommit(listBSLog);//有修改和新增 }); @@ -806,6 +810,7 @@ namespace APT.BaseData.Services.Services.FM } List listApproveTemp = approveTemplist.ToList(); T_FM_USER userTemp = null; + T_FM_NOTIFICATION_TASK curentTask = null; if (listParam != null && listParam.Count > 0) { #region 根据参数获取审批模板 @@ -871,12 +876,13 @@ namespace APT.BaseData.Services.Services.FM //当前节点 - T_PF_APPROVE_DETAIL curentApprove = null; + T_PF_APPROVE_DETAIL curentApprove = null; + string JsonApproveDetail = string.Empty; GetApproveNodes(appdetailsTemp, ref curentApprove, ref JsonApproveDetail);// GetApproveNodes(appdetails, ref curentApprove); bool isSendMessagePer = isSendMessage;//当前是否发送待办 - DealOperateApproveDetail(ref isSendMessagePer, operaterID, ref appdetailsTemp, ref CALLBACK_INTERFACE, listDATA_ID, approve, ref curentApprove);//整理操作者审批流相关信息 + DealOperateApproveDetail(ref isSendMessagePer, operaterID, ref appdetailsTemp, ref CALLBACK_INTERFACE, listDATA_ID, approve, ref curentApprove, ref curentTask);//整理操作者审批流相关信息 if (isSendMessagePer) { @@ -1001,7 +1007,7 @@ namespace APT.BaseData.Services.Services.FM string JsonApproveDetail = string.Empty; GetApproveNodes(appdetails, ref curentApprove, ref JsonApproveDetail); - DealOperateApproveDetail(ref isSendMessage, operaterID, ref appdetails, ref CALLBACK_INTERFACE, listDATA_ID, approve, ref curentApprove);//整理操作者审批流相关信息 + DealOperateApproveDetail(ref isSendMessage, operaterID, ref appdetails, ref CALLBACK_INTERFACE, listDATA_ID, approve, ref curentApprove,ref curentTask);//整理操作者审批流相关信息 if (isSendMessage) { @@ -1056,7 +1062,9 @@ namespace APT.BaseData.Services.Services.FM if (finishNotice != null) UpdateEntityNoCommit(finishNotice, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID"); if (listNotice.Count > 0) - BantchAddEntityNoCommit(listNotice); + BantchAddEntityNoCommit(listNotice); + if (curentTask!=null) + AddEntityNoCommit(curentTask); }); //如果 审批流需要执行默认审批 调用 回调方法 @@ -1135,7 +1143,8 @@ namespace APT.BaseData.Services.Services.FM List listApprove = new List(); List listBSLog = new List(); List appdetails = new List(); - List appdetailsTemp = null; + List appdetailsTemp = null; + T_FM_NOTIFICATION_TASK curentTask = null; IEnumerable iEnumApprovalRole = null; //上个消息 T_FM_NOTIFICATION_TASK finishNotice = null; @@ -1326,7 +1335,7 @@ namespace APT.BaseData.Services.Services.FM GetApproveNodes(appdetailsTemp, ref curentApprove, ref JsonApproveDetail);// GetApproveNodes(appdetails, ref curentApprove); bool isSendMessagePer = isSendMessage;//当前是否发送待办 - DealOperateApproveDetail(ref isSendMessagePer, operaterID, ref appdetailsTemp, ref CALLBACK_INTERFACE, listDATA_ID, approve, ref curentApprove);//整理操作者审批流相关信息 + DealOperateApproveDetail(ref isSendMessagePer, operaterID, ref appdetailsTemp, ref CALLBACK_INTERFACE, listDATA_ID, approve, ref curentApprove, ref curentTask);//整理操作者审批流相关信息 if (isSendMessagePer) { @@ -1469,7 +1478,7 @@ namespace APT.BaseData.Services.Services.FM string JsonApproveDetail = string.Empty; GetApproveNodes(appdetails, ref curentApprove, ref JsonApproveDetail); - DealOperateApproveDetail(ref isSendMessage, operaterID, ref appdetails, ref CALLBACK_INTERFACE, listDATA_ID, approve, ref curentApprove);//整理操作者审批流相关信息 + DealOperateApproveDetail(ref isSendMessage, operaterID, ref appdetails, ref CALLBACK_INTERFACE, listDATA_ID, approve, ref curentApprove,ref curentTask);//整理操作者审批流相关信息 if (isSendMessage) { @@ -1543,7 +1552,9 @@ namespace APT.BaseData.Services.Services.FM if (finishNotice != null) UpdateEntityNoCommit(finishNotice, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID"); if (listNotice.Count > 0) - BantchAddEntityNoCommit(listNotice); + BantchAddEntityNoCommit(listNotice); + if (curentTask != null) + AddEntityNoCommit(curentTask); }); //如果 审批流需要执行默认审批 调用 回调方法 @@ -2075,7 +2086,7 @@ namespace APT.BaseData.Services.Services.FM /// /// /// - private static void DealOperateApproveDetail(ref bool isSendMessage, Guid? operaterID, ref List appdetails, ref string CALLBACK_INTERFACE, List listDATA_ID, T_PF_APPROVE approve, ref T_PF_APPROVE_DETAIL curentApprove) + private static void DealOperateApproveDetail(ref bool isSendMessage, Guid? operaterID, ref List appdetails, ref string CALLBACK_INTERFACE, List listDATA_ID, T_PF_APPROVE approve, ref T_PF_APPROVE_DETAIL curentApprove,ref T_FM_NOTIFICATION_TASK curentTask) { if (appdetails != null && appdetails.Count > 0) { @@ -2083,6 +2094,20 @@ namespace APT.BaseData.Services.Services.FM var approveOperater = appdetails.FirstOrDefault(e => e.APPROVE_USER_ID == operaterID); if (approveOperater != null) { + //本人默认审批,存入一条已办 + curentTask = new T_FM_NOTIFICATION_TASK(); + curentTask.CODE = DateTime.Now.ToString("yyyyMMddHHmmss"); + curentTask.NOTICE_TITLE = approve.NAME + "审批"; + curentTask.SOURCE_DATA_ID = approve.ID; + curentTask.ORG_ID = approve.ORG_ID; + curentTask.ID = Guid.NewGuid(); + curentTask.TASK_STARTDT = DateTime.Now; + curentTask.TASK_ENDDT = DateTime.Now.AddHours(24); + curentTask.NOTICE_TYPE = (int)FMNoticeTypeEnum.消息; + curentTask.NOTICE_STATUS = (int)FMNoticeStatusEnum.正常已办; + curentTask.USER_ID = (Guid)operaterID; + curentTask.USER_NAME = approveOperater.Nav_ApproveUser?.NAME; + curentTask.SOURCE_FORMCODE = approve.APPROVE_CODE; //设置为已审批 approveOperater.IS_CURRENT = false; approveOperater.NODE_APPROVE_STATUS = (int)NodeApproveStatus.Done; @@ -2817,9 +2842,10 @@ namespace APT.BaseData.Services.Services.FM finishTask = NotificationTaskService.GetTaskFinishModel(finishTaskId.Value, taskEndSourceFormCode);//wyw 之前方法 巡回安全检查填写会报错 } - T_PF_APPROVE_DETAIL curentApprove = null; + T_PF_APPROVE_DETAIL curentApprove = null; + T_FM_NOTIFICATION_TASK curentTask = null; bool isMsg = false; - DealOperateApproveDetail(ref isMsg, LoginID, ref appdetails, ref CALLBACK_INTERFACE, listDATA_ID, approve, ref curentApprove);//整理操作者审批流相关信息 wyw + DealOperateApproveDetail(ref isMsg, LoginID, ref appdetails, ref CALLBACK_INTERFACE, listDATA_ID, approve, ref curentApprove,ref curentTask);//整理操作者审批流相关信息 wyw if (curentApprove == null) { //Msg = "获取审批流当前节点信息失败";