|
@@ -1,5 +1,6 @@
|
|
|
package com.fjhx.service.process.impl;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.fjhx.constants.FlowConstant;
|
|
|
import com.fjhx.constants.FlowExplainConstant;
|
|
@@ -8,6 +9,7 @@ import com.fjhx.entity.process.ProcessNodeButton;
|
|
|
import com.fjhx.enums.ButtonNameEnum;
|
|
|
import com.fjhx.enums.ProcessNodeTypeEnum;
|
|
|
import com.fjhx.mapper.process.ProcessNodeButtonMapper;
|
|
|
+import com.fjhx.params.NodeDetailsVo;
|
|
|
import com.fjhx.service.process.ProcessNodeButtonService;
|
|
|
import com.fjhx.utils.Assert;
|
|
|
import org.springblade.core.log.exception.ServiceException;
|
|
@@ -30,7 +32,28 @@ import java.util.stream.Collectors;
|
|
|
public class ProcessNodeButtonServiceImpl extends ServiceImpl<ProcessNodeButtonMapper, ProcessNodeButton> implements ProcessNodeButtonService {
|
|
|
|
|
|
@Override
|
|
|
- public void insertNodeButton(List<ProcessNode> processNodeList) {
|
|
|
+ public void insertNodeButton(NodeDetailsVo nodeDetailsVo) {
|
|
|
+
|
|
|
+ List<ProcessNode> processNodeList = nodeDetailsVo.getProcessNodeList();
|
|
|
+
|
|
|
+ // 赋值节点id
|
|
|
+ for (ProcessNode processNode : processNodeList) {
|
|
|
+
|
|
|
+ processNode.setProcessTenantId(nodeDetailsVo.getProcessTenantId());
|
|
|
+
|
|
|
+ long newId = IdWorker.getId();
|
|
|
+
|
|
|
+ Long oldId = processNode.getId();
|
|
|
+ processNode.setId(newId);
|
|
|
+
|
|
|
+ for (ProcessNode node : processNodeList) {
|
|
|
+ if (node.getParentId().equals(oldId)) {
|
|
|
+ node.setParentId(newId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
// 按父级节点id分组
|
|
|
Map<Long, List<ProcessNode>> ProcessNodeGroupByParentId = processNodeList.stream()
|
|
@@ -88,8 +111,7 @@ public class ProcessNodeButtonServiceImpl extends ServiceImpl<ProcessNodeButtonM
|
|
|
* 开始节点处理
|
|
|
*/
|
|
|
private void startHandle(List<ProcessNodeButton> processNodeButtonList,
|
|
|
- Map<Long, List<ProcessNode>> ProcessNodeGroupByParentId,
|
|
|
- ProcessNode processNode) {
|
|
|
+ Map<Long, List<ProcessNode>> ProcessNodeGroupByParentId, ProcessNode processNode) {
|
|
|
// 下一步
|
|
|
ProcessNodeButton next = next(ProcessNodeGroupByParentId, processNode, ButtonNameEnum.START);
|
|
|
processNodeButtonList.add(next);
|
|
@@ -114,8 +136,7 @@ public class ProcessNodeButtonServiceImpl extends ServiceImpl<ProcessNodeButtonM
|
|
|
* 审批处理
|
|
|
*/
|
|
|
private void approvalHandle(List<ProcessNodeButton> processNodeButtonList,
|
|
|
- Map<Long, List<ProcessNode>> ProcessNodeGroupByParentId,
|
|
|
- ProcessNode processNode) {
|
|
|
+ Map<Long, List<ProcessNode>> ProcessNodeGroupByParentId, ProcessNode processNode) {
|
|
|
// 同意
|
|
|
ProcessNodeButton next = next(ProcessNodeGroupByParentId, processNode, ButtonNameEnum.AGREE);
|
|
|
processNodeButtonList.add(next);
|
|
@@ -128,8 +149,7 @@ public class ProcessNodeButtonServiceImpl extends ServiceImpl<ProcessNodeButtonM
|
|
|
* 办理处理
|
|
|
*/
|
|
|
private void handle(List<ProcessNodeButton> processNodeButtonList,
|
|
|
- Map<Long, List<ProcessNode>> ProcessNodeGroupByParentId,
|
|
|
- ProcessNode processNode) {
|
|
|
+ Map<Long, List<ProcessNode>> ProcessNodeGroupByParentId, ProcessNode processNode) {
|
|
|
// 完成
|
|
|
ProcessNodeButton next = next(ProcessNodeGroupByParentId, processNode, ButtonNameEnum.COMPLETE);
|
|
|
processNodeButtonList.add(next);
|
|
@@ -148,6 +168,7 @@ public class ProcessNodeButtonServiceImpl extends ServiceImpl<ProcessNodeButtonM
|
|
|
*/
|
|
|
private ProcessNodeButton previous(Map<Long, List<ProcessNode>> ProcessNodeGroupById,
|
|
|
ProcessNode processNode, ButtonNameEnum buttonNameEnum) {
|
|
|
+
|
|
|
ProcessNodeButton processNodeButton = createProcessNodeButton(processNode, buttonNameEnum);
|
|
|
|
|
|
// 赋值跳转到上一节点
|