From fe37f200c0d98322b3a792cc6d9fca11d25ecd8c Mon Sep 17 00:00:00 2001 From: yubaolee Date: Mon, 13 Jan 2025 14:56:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=8E=86=E5=8F=B2=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OpenAuth.App/Flow/FlowRuntime.cs | 29 +++++++---- OpenAuth.App/FlowInstance/FlowInstanceApp.cs | 53 +++----------------- 2 files changed, 27 insertions(+), 55 deletions(-) diff --git a/OpenAuth.App/Flow/FlowRuntime.cs b/OpenAuth.App/Flow/FlowRuntime.cs index 0939cda9..28f16fb7 100644 --- a/OpenAuth.App/Flow/FlowRuntime.cs +++ b/OpenAuth.App/Flow/FlowRuntime.cs @@ -216,7 +216,7 @@ namespace OpenAuth.App.Flow var content = $"{user.Account}-{DateTime.Now:yyyy-MM-dd HH:mm}审批了【{Nodes[canCheckId].name}】" + $"结果:{(tag.Taged == 1 ? "同意" : "不同意")},备注:{tag.Description}"; - AddOperationHis(tag, content); + SaveOperationHis(content); MakeTagNode(canCheckId, tag); //标记审核节点状态 @@ -402,21 +402,32 @@ namespace OpenAuth.App.Flow }; } - public void AddOperationHis(Tag tag, string content) + public void SaveOperationHis(string userId, string userName, string opHis) { FlowInstanceOperationHistory flowInstanceOperationHistory = new FlowInstanceOperationHistory { InstanceId = flowInstanceId, - CreateUserId = tag.UserId, - CreateUserName = tag.UserName, + CreateUserId = userId, + CreateUserName = userName, CreateDate = DateTime.Now, - Content = content + Content = opHis }; //操作记录 var SugarClient = AutofacContainerModule.GetService(); SugarClient.Insertable(flowInstanceOperationHistory).ExecuteCommand(); } + /// + /// 添加工作流实例操作记录 + /// 操作人为当前的登录用户 + /// + /// + public void SaveOperationHis(string opHis) + { + var user = AutofacContainerModule.GetService().GetCurrentUser().User; + SaveOperationHis(user.Id, user.Name, opHis); + } + /// /// 保存本次扭转记录 /// @@ -709,12 +720,12 @@ namespace OpenAuth.App.Flow /// 运行实例的Id /// private string flowInstanceId { get; set; } - + /// /// 上一个节点 /// private string previousId { get; set; } - + /// /// 流程实例中所有的线段 /// @@ -729,12 +740,12 @@ namespace OpenAuth.App.Flow /// 到达节点的线段集合 /// private Dictionary> ToNodeLines { get; set; } - + /// /// 当前节点类型 0会签开始,1会签结束,2一般节点,开始节点,4流程运行结束 /// private int currentNodeType { get; set; } - + /// /// 表单数据 /// diff --git a/OpenAuth.App/FlowInstance/FlowInstanceApp.cs b/OpenAuth.App/FlowInstance/FlowInstanceApp.cs index d496686f..715edfed 100644 --- a/OpenAuth.App/FlowInstance/FlowInstanceApp.cs +++ b/OpenAuth.App/FlowInstance/FlowInstanceApp.cs @@ -197,19 +197,7 @@ namespace OpenAuth.App #endregion 根据运行实例改变当前节点状态 - #region 流程操作记录 - - FlowInstanceOperationHistory processOperationHistoryEntity = new FlowInstanceOperationHistory - { - InstanceId = flowInstance.Id, - CreateUserId = user.User.Id, - CreateUserName = user.User.Name, - CreateDate = DateTime.Now, - Content = $"【创建】{user.User.Name}创建了流程实例【{addFlowInstanceReq.CustomName}】" - }; - SugarClient.Insertable(processOperationHistoryEntity).ExecuteCommand(); - - #endregion 流程操作记录 + wfruntime.SaveOperationHis($"【创建】{user.User.Name}创建了流程实例【{addFlowInstanceReq.CustomName}】"); wfruntime.SaveTransitionHis(); SugarClient.Ado.CommitTran(); @@ -351,7 +339,7 @@ namespace OpenAuth.App private void CounterSign(FlowRuntime wfruntime, Tag tag, FlowInstance flowInstance) { string res = wfruntime.NodeConfluence(_httpClientFactory.CreateClient(), tag); - + if (res == TagState.No.ToString("D")) { flowInstance.IsFinish = FlowInstanceStatus.Disagree; @@ -478,7 +466,7 @@ namespace OpenAuth.App var content = $"{user.Account}-{DateTime.Now.ToString("yyyy-MM-dd HH:mm")}审批了【{wfruntime.currentNode.name}】" + $"结果:{(tag.Taged == 1 ? "同意" : "不同意")},备注:{tag.Description}"; - wfruntime.AddOperationHis(tag, content); + wfruntime.SaveOperationHis(tag.UserId, tag.UserName, content); if (flowInstance.IsFinish == 1) { @@ -557,15 +545,8 @@ namespace OpenAuth.App flowInstance.SchemeContent = JsonHelper.Instance.Serialize(wfruntime.ToSchemeObj()); SugarClient.Updateable(flowInstance).ExecuteCommand(); - SugarClient.Insertable(new FlowInstanceOperationHistory - { - InstanceId = reqest.FlowInstanceId, - CreateUserId = user.Id, - CreateUserName = user.Name, - CreateDate = DateTime.Now, - Content = - $"【{wfruntime.currentNode.name}】【{DateTime.Now:yyyy-MM-dd HH:mm}】驳回,备注:{reqest.VerificationOpinion}" - }).ExecuteCommand(); + wfruntime.SaveOperationHis( + $"{user.Account}-{DateTime.Now.ToString("yyyy-MM-dd HH:mm")}驳回了【{wfruntime.currentNode.name}】"); //给流程创建人发送通知信息 _messageApp.SendMsgTo(flowInstance.CreateUserId, @@ -776,14 +757,7 @@ namespace OpenAuth.App SugarClient.Updateable(flowInstance).ExecuteCommand(); - SugarClient.Insertable(new FlowInstanceOperationHistory - { - InstanceId = request.FlowInstanceId, - CreateUserId = user.Id, - CreateUserName = user.Name, - CreateDate = DateTime.Now, - Content = $"【撤销】由{user.Name}撤销,备注:{request.Description}" - }).ExecuteCommand(); + wfruntime.SaveOperationHis($"【撤回】由{user.Name}撤回,备注:{request.Description}"); SugarClient.Ado.CommitTran(); } @@ -824,20 +798,7 @@ namespace OpenAuth.App #endregion 根据运行实例改变当前节点状态 - #region 流程操作记录 - - FlowInstanceOperationHistory processOperationHistoryEntity = new FlowInstanceOperationHistory - { - InstanceId = flowInstance.Id, - CreateUserId = user.User.Id, - CreateUserName = user.User.Name, - CreateDate = DateTime.Now, - Content = $"【启动】由用户{user.User.Name}启动" - }; - SugarClient.Insertable(processOperationHistoryEntity).ExecuteCommand(); - - #endregion 流程操作记录 - + wfruntime.SaveOperationHis($"【启动】由用户{user.User.Name}启动"); wfruntime.SaveTransitionHis(); SugarClient.Ado.CommitTran(); }