update 修改表名

This commit is contained in:
lijiarao
2023-09-28 18:01:29 +08:00
parent cd08e5361a
commit 7110380a66
15 changed files with 65 additions and 114 deletions
+1 -4
View File
@@ -1,6 +1,3 @@
第二行替换为:<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test"> 第二行替换为:<definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
第三行修改为:isExecutable="true" 第三行修改为:isExecutable="true"
bpmn: 替换为空
camunda: 替换为 activiti: camunda: 替换为 activiti:
dc:Bounds 替换为 omgdc:Bounds
di:waypoint 替换为 omgdi:waypoint
@@ -5,8 +5,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.api.vo.Result; import com.jero.common.api.vo.Result;
import com.jero.common.constant.enums.LanguageEnum; import com.jero.common.constant.enums.LanguageEnum;
import com.jero.common.util.MessageUtils; import com.jero.common.util.MessageUtils;
import com.jero.modules.activiti.entity.LawsProcessNode; import com.jero.modules.activiti.entity.ProcessNode;
import com.jero.modules.activiti.entity.LawsProcessNodeOrigin; import com.jero.modules.activiti.entity.ProcessNodeOrigin;
import com.jero.modules.activiti.service.LawsProcessNodeOriginService; import com.jero.modules.activiti.service.LawsProcessNodeOriginService;
import com.jero.modules.activiti.service.LawsProcessNodeService; import com.jero.modules.activiti.service.LawsProcessNodeService;
import com.jero.modules.activiti.service.ProcessService; import com.jero.modules.activiti.service.ProcessService;
@@ -77,6 +77,7 @@ public class AController {
//.addClasspathResource("bpmn/business-trips.png") // 添加png资源 //.addClasspathResource("bpmn/business-trips.png") // 添加png资源
//.addClasspathResource(classpathResource) //.addClasspathResource(classpathResource)
.addInputStream(resourceName, file.getInputStream()) .addInputStream(resourceName, file.getInputStream())
.disableSchemaValidation()
.key(name) .key(name)
.name(name) .name(name)
.deploy(); .deploy();
@@ -167,21 +168,21 @@ public class AController {
map1.put("当前活动Id:", processInstance.getActivityId()); map1.put("当前活动Id:", processInstance.getActivityId());
//从流程节点源表中保存一份流程节点信息到流程节点表 //从流程节点源表中保存一份流程节点信息到流程节点表
LambdaQueryWrapper<LawsProcessNodeOrigin> processNodeOriginLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<ProcessNodeOrigin> processNodeOriginLambdaQueryWrapper = new LambdaQueryWrapper<>();
processNodeOriginLambdaQueryWrapper.eq(LawsProcessNodeOrigin::getNodeType,"userTask") processNodeOriginLambdaQueryWrapper.eq(ProcessNodeOrigin::getNodeType,"userTask")
.orderByAsc(LawsProcessNodeOrigin::getSort); .orderByAsc(ProcessNodeOrigin::getSort);
List<LawsProcessNodeOrigin> lawsProcessNodeOrigins = processNodeOriginService.list(processNodeOriginLambdaQueryWrapper); List<ProcessNodeOrigin> processNodeOrigins = processNodeOriginService.list(processNodeOriginLambdaQueryWrapper);
List<LawsProcessNode> lawsProcessNodes = new ArrayList<>(); List<ProcessNode> processNodes = new ArrayList<>();
for (LawsProcessNodeOrigin lawsProcessNodeOrigin : lawsProcessNodeOrigins) { for (ProcessNodeOrigin processNodeOrigin : processNodeOrigins) {
LawsProcessNode lawsProcessNode = new LawsProcessNode(); ProcessNode processNode = new ProcessNode();
BeanUtils.copyProperties(lawsProcessNodeOrigin,lawsProcessNode); BeanUtils.copyProperties(processNodeOrigin, processNode);
lawsProcessNode.setId(null); processNode.setId(null);
lawsProcessNodes.add(lawsProcessNode); processNodes.add(processNode);
} }
processNodeService.saveBatch(lawsProcessNodes); processNodeService.saveBatch(processNodes);
for (LawsProcessNode lawsProcessNode : lawsProcessNodes) { for (ProcessNode processNode : processNodes) {
if (lawsProcessNode.getNodeName().equals("填写基本信息,在线编辑,分发其他起草人")) { if (processNode.getNodeName().equals("填写基本信息,在线编辑,分发其他起草人")) {
//todo 关联关系 //todo 关联关系
} }
} }
@@ -16,8 +16,8 @@ import lombok.Data;
*/ */
@ApiModel(description = "流程节点") @ApiModel(description = "流程节点")
@Data @Data
@TableName(value = "laws_process_node") @TableName(value = "process_node")
public class LawsProcessNode { public class ProcessNode {
/** /**
* 主键id * 主键id
*/ */
@@ -15,8 +15,8 @@ import lombok.Data;
*/ */
@ApiModel(description = "流程节点关联用户部门表") @ApiModel(description = "流程节点关联用户部门表")
@Data @Data
@TableName(value = "laws_process_node_link") @TableName(value = "process_node_link")
public class LawsProcessNodeLink { public class ProcessNodeLink {
/** /**
* 主键id * 主键id
*/ */
@@ -16,8 +16,8 @@ import lombok.Data;
*/ */
@ApiModel(description = "流程节点_来源") @ApiModel(description = "流程节点_来源")
@Data @Data
@TableName(value = "laws_process_node_origin") @TableName(value = "process_node_origin")
public class LawsProcessNodeOrigin { public class ProcessNodeOrigin {
/** /**
* 主键id * 主键id
*/ */
@@ -1,11 +1,11 @@
package com.jero.modules.activiti.mapper; package com.jero.modules.activiti.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.activiti.entity.LawsProcessNodeLink; import com.jero.modules.activiti.entity.ProcessNodeLink;
/** /**
* @author liJiaRao * @author liJiaRao
* @date 2023-09-26 15:12 * @date 2023-09-26 15:12
*/ */
public interface LawsProcessNodeLinkMapper extends BaseMapper<LawsProcessNodeLink> { public interface LawsProcessNodeLinkMapper extends BaseMapper<ProcessNodeLink> {
} }
@@ -1,11 +1,11 @@
package com.jero.modules.activiti.mapper; package com.jero.modules.activiti.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.activiti.entity.LawsProcessNode; import com.jero.modules.activiti.entity.ProcessNode;
/** /**
* @author liJiaRao * @author liJiaRao
* @date 2023-09-26 15:12 * @date 2023-09-26 15:12
*/ */
public interface LawsProcessNodeMapper extends BaseMapper<LawsProcessNode> { public interface LawsProcessNodeMapper extends BaseMapper<ProcessNode> {
} }
@@ -1,7 +1,7 @@
package com.jero.modules.activiti.mapper; package com.jero.modules.activiti.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.activiti.entity.LawsProcessNodeOrigin; import com.jero.modules.activiti.entity.ProcessNodeOrigin;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@@ -10,6 +10,6 @@ import java.util.List;
* @author liJiaRao * @author liJiaRao
* @date 2023-09-26 15:12 * @date 2023-09-26 15:12
*/ */
public interface LawsProcessNodeOriginMapper extends BaseMapper<LawsProcessNodeOrigin> { public interface LawsProcessNodeOriginMapper extends BaseMapper<ProcessNodeOrigin> {
int insertList(@Param("list") List<LawsProcessNodeOrigin> list); int insertList(@Param("list") List<ProcessNodeOrigin> list);
} }
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.activiti.mapper.LawsProcessNodeLinkMapper"> <mapper namespace="com.jero.modules.activiti.mapper.LawsProcessNodeLinkMapper">
<resultMap id="BaseResultMap" type="com.jero.modules.activiti.entity.LawsProcessNodeLink"> <resultMap id="BaseResultMap" type="com.jero.modules.activiti.entity.ProcessNodeLink">
<!--@mbg.generated--> <!--@mbg.generated-->
<!--@Table laws_process_node_link--> <!--@Table process_node_link-->
<id column="id" jdbcType="VARCHAR" property="id" /> <id column="id" jdbcType="VARCHAR" property="id" />
<result column="process_node_id" jdbcType="VARCHAR" property="processNodeId" /> <result column="process_node_id" jdbcType="VARCHAR" property="processNodeId" />
<result column="type" jdbcType="INTEGER" property="type" /> <result column="type" jdbcType="INTEGER" property="type" />
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.activiti.mapper.LawsProcessNodeMapper"> <mapper namespace="com.jero.modules.activiti.mapper.LawsProcessNodeMapper">
<resultMap id="BaseResultMap" type="com.jero.modules.activiti.entity.LawsProcessNode"> <resultMap id="BaseResultMap" type="com.jero.modules.activiti.entity.ProcessNode">
<!--@mbg.generated--> <!--@mbg.generated-->
<!--@Table laws_process_node--> <!--@Table process_node-->
<id column="id" jdbcType="VARCHAR" property="id" /> <id column="id" jdbcType="VARCHAR" property="id" />
<result column="process_definition_id" jdbcType="VARCHAR" property="processDefinitionId" /> <result column="process_definition_id" jdbcType="VARCHAR" property="processDefinitionId" />
<result column="node_name" jdbcType="VARCHAR" property="nodeName" /> <result column="node_name" jdbcType="VARCHAR" property="nodeName" />
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.activiti.mapper.LawsProcessNodeOriginMapper"> <mapper namespace="com.jero.modules.activiti.mapper.LawsProcessNodeOriginMapper">
<resultMap id="BaseResultMap" type="com.jero.modules.activiti.entity.LawsProcessNodeOrigin"> <resultMap id="BaseResultMap" type="com.jero.modules.activiti.entity.ProcessNodeOrigin">
<!--@mbg.generated--> <!--@mbg.generated-->
<!--@Table laws_process_node_origin--> <!--@Table process_node_origin-->
<id column="id" jdbcType="VARCHAR" property="id" /> <id column="id" jdbcType="VARCHAR" property="id" />
<result column="process_definition_id" jdbcType="VARCHAR" property="processDefinitionId" /> <result column="process_definition_id" jdbcType="VARCHAR" property="processDefinitionId" />
<result column="node_name" jdbcType="VARCHAR" property="nodeName" /> <result column="node_name" jdbcType="VARCHAR" property="nodeName" />
@@ -29,7 +29,7 @@
<!--auto generated by MybatisCodeHelper on 2023-09-25--> <!--auto generated by MybatisCodeHelper on 2023-09-25-->
<insert id="insertList"> <insert id="insertList">
INSERT INTO laws_process_node_origin( INSERT INTO process_node_origin(
id, id,
process_definition_id, process_definition_id,
node_name, node_name,
@@ -1,17 +1,15 @@
package com.jero.modules.activiti.service; package com.jero.modules.activiti.service;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.activiti.mapper.LawsProcessNodeLinkMapper; import com.jero.modules.activiti.mapper.LawsProcessNodeLinkMapper;
import com.jero.modules.activiti.entity.LawsProcessNodeLink; import com.jero.modules.activiti.entity.ProcessNodeLink;
/** /**
* *
*@author liJiaRao *@author liJiaRao
*@date 2023-09-26 15:12 *@date 2023-09-26 15:12
*/ */
@Service @Service
public class LawsProcessNodeLinkService extends ServiceImpl<LawsProcessNodeLinkMapper, LawsProcessNodeLink> { public class LawsProcessNodeLinkService extends ServiceImpl<LawsProcessNodeLinkMapper, ProcessNodeLink> {
} }
@@ -1,11 +1,9 @@
package com.jero.modules.activiti.service; package com.jero.modules.activiti.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.UUID; import cn.hutool.core.lang.UUID;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.modules.activiti.entity.ActGeBytearray;
import com.jero.modules.activiti.mapper.ActGeBytearrayMapper; import com.jero.modules.activiti.mapper.ActGeBytearrayMapper;
import com.jero.modules.activiti.vo.AddTaskVO; import com.jero.modules.activiti.vo.AddTaskVO;
import org.activiti.bpmn.BpmnAutoLayout; import org.activiti.bpmn.BpmnAutoLayout;
@@ -13,14 +11,7 @@ import org.activiti.bpmn.converter.BpmnXMLConverter;
import org.activiti.bpmn.model.*; import org.activiti.bpmn.model.*;
import org.activiti.bpmn.model.Process; import org.activiti.bpmn.model.Process;
import org.activiti.engine.*; import org.activiti.engine.*;
import org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl;
import org.activiti.engine.impl.persistence.deploy.DeploymentManager;
import org.activiti.validation.ProcessValidator;
import org.activiti.validation.ProcessValidatorFactory;
import org.activiti.validation.ValidationError;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@@ -28,7 +19,6 @@ import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamException;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
@@ -36,14 +26,14 @@ import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.activiti.mapper.LawsProcessNodeOriginMapper; import com.jero.modules.activiti.mapper.LawsProcessNodeOriginMapper;
import com.jero.modules.activiti.entity.LawsProcessNodeOrigin; import com.jero.modules.activiti.entity.ProcessNodeOrigin;
/** /**
* *
*@author liJiaRao *@author liJiaRao
*@date 2023-09-26 15:12 *@date 2023-09-26 15:12
*/ */
@Service @Service
public class LawsProcessNodeOriginService extends ServiceImpl<LawsProcessNodeOriginMapper, LawsProcessNodeOrigin> { public class LawsProcessNodeOriginService extends ServiceImpl<LawsProcessNodeOriginMapper, ProcessNodeOrigin> {
@Resource @Resource
private RepositoryService repositoryService; private RepositoryService repositoryService;
@Resource @Resource
@@ -57,16 +47,16 @@ public class LawsProcessNodeOriginService extends ServiceImpl<LawsProcessNodeOri
final BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinitionId); final BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinitionId);
Process process = bpmnModel.getMainProcess(); Process process = bpmnModel.getMainProcess();
Collection<FlowElement> flowElements = process.getFlowElements(); Collection<FlowElement> flowElements = process.getFlowElements();
List<LawsProcessNodeOrigin> processNodeOriginList = new ArrayList<>(); List<ProcessNodeOrigin> processNodeOriginList = new ArrayList<>();
int sort = 1; int sort = 1;
List<String> gatewayIdList = new ArrayList<>(); List<String> gatewayIdList = new ArrayList<>();
processNodeOriginList = handlerLawsProcessNodeOrigin(flowElements,sort,gatewayIdList,processDefinitionId); processNodeOriginList = handlerLawsProcessNodeOrigin(flowElements,sort,gatewayIdList,processDefinitionId);
List<String> approvalNodeIdList = processNodeOriginList.stream() List<String> approvalNodeIdList = processNodeOriginList.stream()
.filter(item -> gatewayIdList.contains(item.getXmlTargetRef())) .filter(item -> gatewayIdList.contains(item.getXmlTargetRef()))
.map(LawsProcessNodeOrigin::getXmlSourceRef) .map(ProcessNodeOrigin::getXmlSourceRef)
.collect(Collectors.toList()); .collect(Collectors.toList());
for (LawsProcessNodeOrigin processNodeOrigin : processNodeOriginList) { for (ProcessNodeOrigin processNodeOrigin : processNodeOriginList) {
String xmlNodeId = processNodeOrigin.getXmlNodeId(); String xmlNodeId = processNodeOrigin.getXmlNodeId();
if (approvalNodeIdList.contains(xmlNodeId) ){ if (approvalNodeIdList.contains(xmlNodeId) ){
processNodeOrigin.setIsApprovalNode(YesOrNoEnum.YES.getInteger()); processNodeOrigin.setIsApprovalNode(YesOrNoEnum.YES.getInteger());
@@ -81,33 +71,33 @@ public class LawsProcessNodeOriginService extends ServiceImpl<LawsProcessNodeOri
String xmlNodeId = addTaskVO.getXmlNodeId(); String xmlNodeId = addTaskVO.getXmlNodeId();
String nodeName = addTaskVO.getNodeName(); String nodeName = addTaskVO.getNodeName();
//查找当前节点 //查找当前节点
LambdaQueryWrapper<LawsProcessNodeOrigin> processNodeOriginLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<ProcessNodeOrigin> processNodeOriginLambdaQueryWrapper = new LambdaQueryWrapper<>();
processNodeOriginLambdaQueryWrapper.eq(LawsProcessNodeOrigin::getXmlNodeId, xmlNodeId) processNodeOriginLambdaQueryWrapper.eq(ProcessNodeOrigin::getXmlNodeId, xmlNodeId)
.eq(LawsProcessNodeOrigin::getProcessDefinitionId, processDefinitionId); .eq(ProcessNodeOrigin::getProcessDefinitionId, processDefinitionId);
LawsProcessNodeOrigin processNodeOrigin = processNodeOriginMapper.selectOne(processNodeOriginLambdaQueryWrapper); ProcessNodeOrigin processNodeOrigin = processNodeOriginMapper.selectOne(processNodeOriginLambdaQueryWrapper);
if (processNodeOrigin == null || !YesOrNoEnum.YES.getInteger().equals(processNodeOrigin.getIsApprovalNode())) { if (processNodeOrigin == null || !YesOrNoEnum.YES.getInteger().equals(processNodeOrigin.getIsApprovalNode())) {
throw new JeroBootException("只能在审批节点后新增"); throw new JeroBootException("只能在审批节点后新增");
} }
processNodeOriginLambdaQueryWrapper.clear(); processNodeOriginLambdaQueryWrapper.clear();
//查找节点的流出线 //查找节点的流出线
processNodeOriginLambdaQueryWrapper.eq(LawsProcessNodeOrigin::getXmlSourceRef, xmlNodeId) processNodeOriginLambdaQueryWrapper.eq(ProcessNodeOrigin::getXmlSourceRef, xmlNodeId)
.eq(LawsProcessNodeOrigin::getProcessDefinitionId, processDefinitionId); .eq(ProcessNodeOrigin::getProcessDefinitionId, processDefinitionId);
LawsProcessNodeOrigin flowOrigin1 = processNodeOriginMapper.selectOne(processNodeOriginLambdaQueryWrapper); ProcessNodeOrigin flowOrigin1 = processNodeOriginMapper.selectOne(processNodeOriginLambdaQueryWrapper);
processNodeOriginLambdaQueryWrapper.clear(); processNodeOriginLambdaQueryWrapper.clear();
//查找流出线指向的网关 //查找流出线指向的网关
processNodeOriginLambdaQueryWrapper.eq(LawsProcessNodeOrigin::getXmlNodeId, flowOrigin1.getXmlTargetRef()) processNodeOriginLambdaQueryWrapper.eq(ProcessNodeOrigin::getXmlNodeId, flowOrigin1.getXmlTargetRef())
.eq(LawsProcessNodeOrigin::getProcessDefinitionId, processDefinitionId); .eq(ProcessNodeOrigin::getProcessDefinitionId, processDefinitionId);
LawsProcessNodeOrigin gatewayOrigin = processNodeOriginMapper.selectOne(processNodeOriginLambdaQueryWrapper); ProcessNodeOrigin gatewayOrigin = processNodeOriginMapper.selectOne(processNodeOriginLambdaQueryWrapper);
processNodeOriginLambdaQueryWrapper.clear(); processNodeOriginLambdaQueryWrapper.clear();
//查找网关指向的线 //查找网关指向的线
processNodeOriginLambdaQueryWrapper.eq(LawsProcessNodeOrigin::getXmlSourceRef, gatewayOrigin.getXmlNodeId()) processNodeOriginLambdaQueryWrapper.eq(ProcessNodeOrigin::getXmlSourceRef, gatewayOrigin.getXmlNodeId())
.eq(LawsProcessNodeOrigin::getNodeName, "通过") .eq(ProcessNodeOrigin::getNodeName, "通过")
.eq(LawsProcessNodeOrigin::getProcessDefinitionId, processDefinitionId); .eq(ProcessNodeOrigin::getProcessDefinitionId, processDefinitionId);
LawsProcessNodeOrigin flowOrigin2 = processNodeOriginMapper.selectOne(processNodeOriginLambdaQueryWrapper); ProcessNodeOrigin flowOrigin2 = processNodeOriginMapper.selectOne(processNodeOriginLambdaQueryWrapper);
BpmnModel bpmnModelOrigin = repositoryService.getBpmnModel(processDefinitionId); BpmnModel bpmnModelOrigin = repositoryService.getBpmnModel(processDefinitionId);
BpmnXMLConverter converter = new BpmnXMLConverter(); BpmnXMLConverter converter = new BpmnXMLConverter();
@@ -144,18 +134,6 @@ public class LawsProcessNodeOriginService extends ServiceImpl<LawsProcessNodeOri
} catch (XMLStreamException e) { } catch (XMLStreamException e) {
e.printStackTrace(); e.printStackTrace();
} }
////清除缓存
//ProcessEngineConfigurationImpl configuration = (ProcessEngineConfigurationImpl) processEngine.getProcessEngineConfiguration();
//DeploymentManager deploymentManager = configuration.getDeploymentManager();
//deploymentManager.getProcessDefinitionCache().remove(processDefinitionId);
//
//List<ActGeBytearray> actGeBytearrayList = actGeBytearrayMapper.getActGeBytearrayList(processDefinitionId);
//actGeBytearrayList = actGeBytearrayList.stream().filter(item -> item.getName().endsWith(".bpmn")).peek(item -> {
// item.setBytes(bytes);
//}).collect(Collectors.toList());
//if (ObjectUtils.isNotEmpty(actGeBytearrayList)) {
// actGeBytearrayMapper.updateById(actGeBytearrayList.get(0));
//}
return null; return null;
} }
protected static UserTask createUserTask(String name, String assignee) { protected static UserTask createUserTask(String name, String assignee) {
@@ -163,7 +141,7 @@ public class LawsProcessNodeOriginService extends ServiceImpl<LawsProcessNodeOri
UserTask userTask = new UserTask(); UserTask userTask = new UserTask();
userTask.setName(name); userTask.setName(name);
userTask.setId(id); userTask.setId(id);
userTask.setAssignee(assignee!=null?assignee:"${"+id+"}"); userTask.setAssignee(assignee!=null?assignee:"${"+id.replace("-","")+"}");
return userTask; return userTask;
} }
protected static SequenceFlow createSequenceFlow(String from, String to) { protected static SequenceFlow createSequenceFlow(String from, String to) {
@@ -203,14 +181,14 @@ public class LawsProcessNodeOriginService extends ServiceImpl<LawsProcessNodeOri
return gateway; return gateway;
} }
private List<LawsProcessNodeOrigin> handlerLawsProcessNodeOrigin( private List<ProcessNodeOrigin> handlerLawsProcessNodeOrigin(
Collection<FlowElement> flowElements, Collection<FlowElement> flowElements,
int sort, int sort,
List<String> gatewayIdList, List<String> gatewayIdList,
String processDefinitionId) { String processDefinitionId) {
List<LawsProcessNodeOrigin> processNodeOriginList = new ArrayList<>(); List<ProcessNodeOrigin> processNodeOriginList = new ArrayList<>();
for (FlowElement flowElement : flowElements) { for (FlowElement flowElement : flowElements) {
LawsProcessNodeOrigin processNodeOrigin = new LawsProcessNodeOrigin(); ProcessNodeOrigin processNodeOrigin = new ProcessNodeOrigin();
String nodeName = processNodeOrigin.getNodeName(); String nodeName = processNodeOrigin.getNodeName();
String nodeType = processNodeOrigin.getNodeType(); String nodeType = processNodeOrigin.getNodeType();
@@ -238,7 +216,7 @@ public class LawsProcessNodeOriginService extends ServiceImpl<LawsProcessNodeOri
} else if (flowElement instanceof SubProcess) { } else if (flowElement instanceof SubProcess) {
SubProcess subProcess = (SubProcess) flowElement; SubProcess subProcess = (SubProcess) flowElement;
Collection<FlowElement> flowElements1 = subProcess.getFlowElements(); Collection<FlowElement> flowElements1 = subProcess.getFlowElements();
List<LawsProcessNodeOrigin> processNodeOrigins = handlerLawsProcessNodeOrigin(flowElements1, sort, gatewayIdList, processDefinitionId); List<ProcessNodeOrigin> processNodeOrigins = handlerLawsProcessNodeOrigin(flowElements1, sort, gatewayIdList, processDefinitionId);
processNodeOriginList.addAll(processNodeOrigins); processNodeOriginList.addAll(processNodeOrigins);
nodeType = "subProcess"; nodeType = "subProcess";
nodeName = subProcess.getName(); nodeName = subProcess.getName();
@@ -1,17 +1,15 @@
package com.jero.modules.activiti.service; package com.jero.modules.activiti.service;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.activiti.mapper.LawsProcessNodeMapper; import com.jero.modules.activiti.mapper.LawsProcessNodeMapper;
import com.jero.modules.activiti.entity.LawsProcessNode; import com.jero.modules.activiti.entity.ProcessNode;
/** /**
* *
*@author liJiaRao *@author liJiaRao
*@date 2023-09-26 15:12 *@date 2023-09-26 15:12
*/ */
@Service @Service
public class LawsProcessNodeService extends ServiceImpl<LawsProcessNodeMapper, LawsProcessNode> { public class LawsProcessNodeService extends ServiceImpl<LawsProcessNodeMapper, ProcessNode> {
} }
@@ -1,40 +1,20 @@
package com.jero.modules.activiti.service.impl; package com.jero.modules.activiti.service.impl;
import java.util.Date;
import cn.hutool.core.lang.UUID;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.modules.activiti.config.WorkflowConstants; import com.jero.modules.activiti.config.WorkflowConstants;
import com.jero.modules.activiti.entity.ActGeBytearray;
import com.jero.modules.activiti.entity.LawsProcessNodeOrigin;
import com.jero.modules.activiti.mapper.ActGeBytearrayMapper; import com.jero.modules.activiti.mapper.ActGeBytearrayMapper;
import com.jero.modules.activiti.mapper.LawsProcessNodeOriginMapper; import com.jero.modules.activiti.mapper.LawsProcessNodeOriginMapper;
import com.jero.modules.activiti.service.ProcessService; import com.jero.modules.activiti.service.ProcessService;
import com.jero.modules.activiti.service.impl.image.ICustomProcessDiagramGenerator; import com.jero.modules.activiti.service.impl.image.ICustomProcessDiagramGenerator;
import com.jero.modules.activiti.vo.AddTaskVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.activiti.bpmn.BpmnAutoLayout;
import org.activiti.bpmn.converter.BpmnXMLConverter;
import org.activiti.bpmn.model.Process;
import org.activiti.bpmn.model.*; import org.activiti.bpmn.model.*;
import org.activiti.engine.*; import org.activiti.engine.*;
import org.activiti.engine.history.HistoricActivityInstance; import org.activiti.engine.history.HistoricActivityInstance;
import org.activiti.engine.history.HistoricProcessInstance; import org.activiti.engine.history.HistoricProcessInstance;
import org.activiti.engine.impl.RepositoryServiceImpl; import org.activiti.engine.impl.RepositoryServiceImpl;
import org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl;
import org.activiti.engine.impl.persistence.deploy.DeploymentManager;
import org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity; import org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity;
import org.activiti.engine.repository.ProcessDefinition; import org.activiti.engine.repository.ProcessDefinition;
import org.activiti.engine.repository.ProcessDefinitionQuery; import org.activiti.engine.repository.ProcessDefinitionQuery;
import org.activiti.engine.runtime.Execution;
import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.activiti.image.impl.DefaultProcessDiagramGenerator;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -43,7 +23,6 @@ import org.springframework.util.CollectionUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.awt.*; import java.awt.*;
import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.util.*; import java.util.*;