From 3456050b12c5e1f906fc87c50e3b0cf88e20e755 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Fri, 21 Feb 2025 10:52:48 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=9A=E7=94=A8=E5=AE=A1=E6=89=B9=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/flowapprover/FlowApprover.java | 2 +- .../anrui/flowable/biz/flow4/Flow4Rest.java | 3 +- .../flowable/biz/flow4/Flow4Service.java | 42 +++++++++++-------- .../biz/flowapprover/FlowApproverMapper.java | 2 + .../biz/flowapprover/FlowApproverMapper.xml | 34 +++++++++++++++ .../biz/flowapprover/FlowApproverService.java | 6 +-- .../flowable/biz/flowcc/FlowCcMapper.java | 2 + .../flowable/biz/flowcc/FlowCcMapper.xml | 33 +++++++++++++++ .../flowable/biz/flowcc/FlowCcService.java | 4 ++ doc/databases/flowable.sql | 2 +- 10 files changed, 107 insertions(+), 23 deletions(-) diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowapprover/FlowApprover.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowapprover/FlowApprover.java index 7378438c5a..d111bd2c1c 100644 --- a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowapprover/FlowApprover.java +++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowapprover/FlowApprover.java @@ -19,5 +19,5 @@ public class FlowApprover extends BaseEntity { @ApiModelProperty("审批人sid") private String approverSid; @ApiModelProperty("审批人名称") - private String approvalName; + private String approverName; } diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Rest.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Rest.java index 5cd998feeb..658a5b531d 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Rest.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Rest.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSONObject; import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; +import com.yxt.anrui.flowable.api.flowcc.FlowCc; import com.yxt.anrui.flowable.biz.flow2.FlowRest; import com.yxt.anrui.flowable.feign.form.MessageFlowVo; import com.yxt.anrui.flowable.feign.form.MessageFlowableQuery; @@ -73,7 +74,7 @@ public class Flow4Rest { //启动流程 ResultBean voResultBean = startProcess(bv); System.out.println("voResultBean{}" + voResultBean); - return rb.success(); + return voResultBean; } public ResultBean handleProsess(BusinessVariables bv) { diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Service.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Service.java index 41c6389c4a..e576886108 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Service.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Service.java @@ -245,21 +245,26 @@ public class Flow4Service extends MybatisBaseService { List approvers = (List) variables.get("approvers"); // 获取抄送人列表 List ccList = (List) variables.get("ccList"); + if (approvers != null) { + FlowApproverDto flowApproverDto = new FlowApproverDto(); + flowApproverDto.setBusinessSid(bv.getBusinessSid()); + flowApproverDto.setApproverSidList(approvers); + ResultBean resultBean = flowApproverService.saveFlowApprover(flowApproverDto); + } + + if (ccList != null) { + String ccSids = String.join(",", ccList); + ResultBean> listResultBean = sysUserFeign.fetchBySids(ccSids); + List ccNameList = listResultBean.getData().stream().map(v -> v.getName()).collect(Collectors.toList()); + // 将 List 转换为逗号分隔的字符串 + String result = String.join(",", ccNameList); + FlowCc flowCc = new FlowCc(); + flowCc.setBusinessSid(bv.getBusinessSid()); + flowCc.setCcSids(ccSids); + flowCc.setCcNames(result); + flowCcService.insertFlowCc(flowCc); + } - FlowApproverDto flowApproverDto = new FlowApproverDto(); - flowApproverDto.setBusinessSid(bv.getBusinessSid()); - flowApproverDto.setApproverSidList(approvers); - ResultBean resultBean = flowApproverService.saveFlowApprover(flowApproverDto); - String ccSids = String.join(",", ccList); - ResultBean> listResultBean = sysUserFeign.fetchBySids(ccSids); - List ccNameList = listResultBean.getData().stream().map(v -> v.getName()).collect(Collectors.toList()); - // 将 List 转换为逗号分隔的字符串 - String result = String.join(",", ccNameList); - FlowCc flowCc = new FlowCc(); - flowCc.setBusinessSid(bv.getBusinessSid()); - flowCc.setCcSids(ccSids); - flowCc.setCcNames(result); - flowCcService.insert(flowCc); } /** @@ -355,10 +360,13 @@ public class Flow4Service extends MybatisBaseService { UpdateFlowFieldVo uff = new UpdateFlowFieldVo(); BeanUtil.copyProperties(uff1, uff); uff.setTaskDefKey(taskDefKey); - + StringBuilder userSids = new StringBuilder(); + StringBuilder userName = new StringBuilder(); FlowCc flowCc = flowCcService.selectByBusinessSid(bv.getBusinessSid()); - StringBuilder userSids = new StringBuilder(flowCc.getCcSids()); - StringBuilder userName = new StringBuilder(flowCc.getCcNames()); + if(flowCc != null){ + userSids = new StringBuilder(flowCc.getCcSids()); + userName = new StringBuilder(flowCc.getCcNames()); + } //抄送的业务逻辑 MessageFlowableQuery mfq = new MessageFlowableQuery(); diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverMapper.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverMapper.java index 6149af4ece..e712aeff93 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverMapper.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverMapper.java @@ -14,4 +14,6 @@ import org.apache.ibatis.annotations.Param; @Mapper public interface FlowApproverMapper extends BaseMapper { String selectApproverSid(@Param("businessSid") String businessSid, @Param("sortNo") Integer sortNo); + + int insertApprover(FlowApprover flowApprover); } diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverMapper.xml b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverMapper.xml index 223f2ea762..71963306b9 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverMapper.xml +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverMapper.xml @@ -7,4 +7,38 @@ where businessSid = #{businessSid} and sortNo = #{sortNo} + + + insert into flow_approver + + sid, + + businessSid, + + + approverSid, + + + approverName, + + + sortNo, + + + + UUID(), + + #{businessSid}, + + + #{approverSid}, + + + #{approverName}, + + + #{sortNo}, + + + \ No newline at end of file diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverService.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverService.java index 41364483fe..7d5127d362 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverService.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverService.java @@ -39,15 +39,15 @@ public class FlowApproverService extends MybatisBaseService sysUserVoResultBean = sysUserFeign.fetchBySid(approverSid); SysUserVo sysUser = sysUserVoResultBean.getData(); - flowApprover.setApprovalName(sysUser.getName()); + flowApprover.setApproverName(sysUser.getName()); flowApprover.setSortNo(sortNo); - baseMapper.insert(flowApprover); + baseMapper.insertApprover(flowApprover); } } return rb.success(); } public String selectApproverSid(String businessSid, Integer sortNo) { - return baseMapper.selectApproverSid(businessSid,sortNo); + return baseMapper.selectApproverSid(businessSid, sortNo); } } diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcMapper.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcMapper.java index 5aabe3925a..3306cea860 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcMapper.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcMapper.java @@ -13,4 +13,6 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface FlowCcMapper extends BaseMapper { FlowCc selectByBusinessSid(String businessSid); + + int insertFlowCc(FlowCc flowCc); } diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcMapper.xml b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcMapper.xml index 7d0742116e..46dcb001f4 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcMapper.xml +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcMapper.xml @@ -1,4 +1,37 @@ + + + + insert into flow_cc + + sid, + + businessSid, + + + ccSids, + + + ccNames, + + + + UUID(), + + #{businessSid}, + + + #{ccSids}, + + + #{ccNames}, + + + \ No newline at end of file diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcService.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcService.java index 8ca47a60a3..8cdecd1f70 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcService.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcService.java @@ -16,4 +16,8 @@ public class FlowCcService extends MybatisBaseService { public FlowCc selectByBusinessSid(String businessSid) { return baseMapper.selectByBusinessSid(businessSid); } + + public int insertFlowCc(FlowCc flowCc) { + return baseMapper.insertFlowCc(flowCc); + } } diff --git a/doc/databases/flowable.sql b/doc/databases/flowable.sql index fb3468a781..9fb5ca796a 100644 --- a/doc/databases/flowable.sql +++ b/doc/databases/flowable.sql @@ -15,7 +15,7 @@ CREATE TABLE `flow_approver` `businessSid` varchar(64) DEFAULT NULL COMMENT '申请sid', `sortNo` int(32) DEFAULT NULL COMMENT '序号', `approverSid` varchar(64) DEFAULT NULL COMMENT '审批人sid', - `approvalName` varchar(64) DEFAULT NULL COMMENT '审批人名称', + `approverName` varchar(64) DEFAULT NULL COMMENT '审批人名称', PRIMARY KEY (`id`), KEY `id` (`id`) ) ENGINE = INNODB