Commit 3b7af128 by 赵剑炜

整理代码,未测试

parent 276e7527
......@@ -11,7 +11,7 @@
Target Server Version : 80032
File Encoding : 65001
Date: 26/04/2023 13:56:28
Date: 26/04/2023 17:15:19
*/
SET NAMES utf8mb4;
......@@ -2311,3 +2311,5 @@ INSERT INTO `users` VALUES (489564, '李秋香', 'liqiuxiang', '李秋香', NULL
INSERT INTO `users` VALUES (568898, '王翠花', 'wangcuihua', '王翠花', NULL, NULL, '4319868', NULL, NULL, NULL, NULL, NULL);
INSERT INTO `users` VALUES (6418616, '张三', 'zhangsan', '张三', NULL, NULL, '6179678', NULL, NULL, NULL, NULL, NULL);
INSERT INTO `users` VALUES (61769798, '李四', 'lisi', '李四', NULL, NULL, '231535', NULL, NULL, NULL, NULL, NULL);
SET FOREIGN_KEY_CHECKS = 1;
......@@ -17,6 +17,7 @@
<groupId>org.jeecgframework.boot</groupId>
<artifactId>jeecg-boot-base-core</artifactId>
</dependency>
</dependencies>
......
package org.jeecg.module.junmpProcess.common;
package org.jeecg.modules.junmpProcess.common;
/**
*/
......
package org.jeecg.module.junmpProcess.common;
package org.jeecg.modules.junmpProcess.common;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
......
package org.jeecg.module.junmpProcess.common;
package org.jeecg.modules.junmpProcess.common;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
......
package org.jeecg.module.junmpProcess.common;
package org.jeecg.modules.junmpProcess.common;
/**
* @author LoveMyOrange
......
package org.jeecg.module.junmpProcess.config;
package org.jeecg.modules.junmpProcess.config;
import org.jeecg.module.junmpProcess.job.CustomJobHandler;
import org.jeecg.module.junmpProcess.job.IdWorkerIdGenerator;
import org.flowable.engine.ProcessEngineConfiguration;
import org.flowable.engine.cfg.HttpClientConfig;
import org.flowable.engine.impl.cfg.DelegateExpressionFieldInjectionMode;
import org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl;
import org.flowable.job.service.JobHandler;
import org.flowable.spring.SpringProcessEngineConfiguration;
import org.jeecg.modules.junmpProcess.job.CustomJobHandler;
import org.jeecg.modules.junmpProcess.job.IdWorkerIdGenerator;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
......
package org.jeecg.module.junmpProcess.config;
package org.jeecg.modules.junmpProcess.config;
import org.jeecg.module.junmpProcess.utils.IdWorker;
import org.jeecg.modules.junmpProcess.utils.IdWorker;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
......
package org.jeecg.module.junmpProcess.controller;
import org.jeecg.module.junmpProcess.common.Result;
import org.jeecg.module.junmpProcess.dto.ApplyDTO;
import org.jeecg.module.junmpProcess.dto.HandleDataDTO;
import org.jeecg.module.junmpProcess.dto.StartProcessInstanceDTO;
import org.jeecg.module.junmpProcess.dto.TaskDTO;
import org.jeecg.module.junmpProcess.entity.ProcessTemplates;
import org.jeecg.module.junmpProcess.service.Bussiness.WorkProcessService;
package org.jeecg.modules.junmpProcess.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.aspect.annotation.PermissionData;
import org.jeecg.module.junmpProcess.vo.HandleDataVO;
import org.jeecg.module.junmpProcess.vo.HistoryProcessInstanceVO;
import org.jeecg.module.junmpProcess.vo.MultiVO;
import org.jeecg.module.junmpProcess.vo.TaskVO;
import org.jeecg.modules.junmpProcess.common.Result;
import org.jeecg.modules.junmpProcess.dto.ApplyDTO;
import org.jeecg.modules.junmpProcess.dto.HandleDataDTO;
import org.jeecg.modules.junmpProcess.dto.StartProcessInstanceDTO;
import org.jeecg.modules.junmpProcess.dto.TaskDTO;
import org.jeecg.modules.junmpProcess.entity.ProcessTemplates;
import org.jeecg.modules.junmpProcess.service.Bussiness.WorkProcessService;
import org.jeecg.modules.junmpProcess.vo.HandleDataVO;
import org.jeecg.modules.junmpProcess.vo.HistoryProcessInstanceVO;
import org.jeecg.modules.junmpProcess.vo.MultiVO;
import org.jeecg.modules.junmpProcess.vo.TaskVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......@@ -41,6 +39,11 @@ public class MainProcessController {
return ProcessService.detail(templateId);
}
@ApiOperation("新建流程")
@PostMapping("process/create")
public Result<Object> create(@RequestBody StartProcessInstanceDTO startProcessInstanceDTO){
return ProcessService.start(startProcessInstanceDTO);
}
@ApiOperation("通过流程定义id启动流程")
@PostMapping("process/start")
......
package org.jeecg.module.junmpProcess.controller;
package org.jeecg.modules.junmpProcess.controller;
import org.jeecg.module.junmpProcess.service.Bussiness.OrgUserAndDeptService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.PermissionData;
import org.jeecg.modules.junmpProcess.service.Bussiness.OrgUserAndDeptService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
......@@ -26,7 +28,9 @@ public class OrgUserAndDeptController {
* @param deptId 部门id
* @return 组织架构树数据
*/
@ApiOperation("查询组织架构树")
@GetMapping("tree")
// @PermissionData(pageComponent = "jeecg/JeecgDemoList")
public Object getOrgTreeData(@RequestParam(defaultValue = "0") Integer deptId,
@RequestParam(defaultValue = "user") String type
){
......@@ -38,6 +42,7 @@ public class OrgUserAndDeptController {
* @param userName 用户名/拼音/首字母
* @return 匹配到的用户
*/
@ApiOperation("模糊搜索用户")
@GetMapping("tree/search")
public Object getOrgTreeUser(@RequestParam String userName){
return orgService.getOrgTreeUser(userName.trim());
......
package org.jeecg.module.junmpProcess.controller;
package org.jeecg.modules.junmpProcess.controller;
import org.jeecg.module.junmpProcess.common.R;
import org.jeecg.module.junmpProcess.dto.FlowEngineDTO;
import org.jeecg.module.junmpProcess.entity.ProcessTemplates;
import org.jeecg.module.junmpProcess.service.Bussiness.SettingService;
import org.jeecg.module.junmpProcess.vo.TemplateGroupVo;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.modules.junmpProcess.common.R;
import org.jeecg.modules.junmpProcess.dto.FlowEngineDTO;
import org.jeecg.modules.junmpProcess.entity.ProcessTemplates;
import org.jeecg.modules.junmpProcess.service.Bussiness.SettingService;
import org.jeecg.modules.junmpProcess.vo.TemplateGroupVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......@@ -18,9 +17,12 @@ import java.util.List;
* @author : willian fu
* @date : 2020/9/17
*/
@Slf4j
@RestController
@RequestMapping("/Setting")
@Api(tags = "和表单有关的接口")
public class SettingController {
@Autowired
......
package org.jeecg.module.junmpProcess.controller;
import org.jeecg.module.junmpProcess.common.Result;
import org.jeecg.module.junmpProcess.dto.*;
import org.jeecg.module.junmpProcess.dto.json.ChildNode;
import org.jeecg.module.junmpProcess.dto.json.FormOperates;
import org.jeecg.module.junmpProcess.dto.json.SettingsInfo;
import org.jeecg.module.junmpProcess.dto.json.UserInfo;
import org.jeecg.module.junmpProcess.entity.ProcessTemplates;
import org.jeecg.module.junmpProcess.exception.WorkFlowException;
import org.jeecg.module.junmpProcess.service.Repository.ProcessTemplateService;
import org.jeecg.module.junmpProcess.service.Repository.UserService;
package org.jeecg.modules.junmpProcess.controller;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.map.MapUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
......@@ -31,6 +21,7 @@ import org.flowable.engine.TaskService;
import org.flowable.engine.history.HistoricActivityInstance;
import org.flowable.engine.history.HistoricProcessInstance;
import org.flowable.engine.impl.persistence.entity.ExecutionEntity;
import org.flowable.engine.repository.Model;
import org.flowable.engine.repository.ProcessDefinition;
import org.flowable.engine.runtime.Execution;
import org.flowable.engine.runtime.ProcessInstance;
......@@ -40,16 +31,27 @@ import org.flowable.engine.task.Comment;
import org.flowable.task.api.DelegationState;
import org.flowable.task.api.Task;
import org.flowable.task.api.history.HistoricTaskInstance;
import org.jeecg.module.junmpProcess.vo.*;
import org.jeecg.modules.junmpProcess.common.Result;
import org.jeecg.modules.junmpProcess.dto.*;
import org.jeecg.modules.junmpProcess.dto.json.ChildNode;
import org.jeecg.modules.junmpProcess.dto.json.FormOperates;
import org.jeecg.modules.junmpProcess.dto.json.SettingsInfo;
import org.jeecg.modules.junmpProcess.dto.json.UserInfo;
import org.jeecg.modules.junmpProcess.entity.ProcessTemplates;
import org.jeecg.modules.junmpProcess.exception.WorkFlowException;
import org.jeecg.modules.junmpProcess.service.Repository.ProcessTemplateService;
import org.jeecg.modules.junmpProcess.service.Repository.UserService;
import org.jeecg.modules.junmpProcess.vo.*;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.io.UnsupportedEncodingException;
import java.util.*;
import java.util.stream.Collectors;
import static org.jeecg.module.junmpProcess.common.CommonConstants.*;
import static org.jeecg.module.junmpProcess.common.WorkFlowConstants.PROCESS_PREFIX;
import static org.jeecg.module.junmpProcess.utils.BpmnModelUtils.getChildNode;
import static org.jeecg.modules.junmpProcess.common.CommonConstants.*;
import static org.jeecg.modules.junmpProcess.common.WorkFlowConstants.PROCESS_PREFIX;
import static org.jeecg.modules.junmpProcess.utils.BpmnModelUtils.getChildNode;
/**
* @author : willian fu
......@@ -626,6 +628,75 @@ public class WorkspaceProcessController {
}
return Result.OK();
}
/**
* 添加流程模型并返回modelId
*
* @param processId 流程唯一标识key
* @param processAuthor 流程作者
* @param name 流程名称
* @param modelname 模型名称
* @param description 模型描述
* @param category 模型分类
* @return
* @throws UnsupportedEncodingException
*/
protected String createModel(String processId, String processAuthor, String name, String modelname, String description, String category) throws UnsupportedEncodingException {
ObjectMapper objectMapper = new ObjectMapper();
ObjectNode editorNode = objectMapper.createObjectNode();
editorNode.put("id", "canvs");
editorNode.put("resourceId", "canvs");
ObjectNode stencilSetNode = objectMapper.createObjectNode();
//命名空间(禁止修改)
stencilSetNode.put("namespace", "http://b3mn.org/stencilset/bpmn2.0#");
//流程节点作者
stencilSetNode.put("author", "");
editorNode.set("stencilset", stencilSetNode);
ObjectNode propertiesNode = objectMapper.createObjectNode();
//流程唯一标识
propertiesNode.put("process_id", processId);
//流程作者
propertiesNode.put("process_author", processAuthor);
//流程名称
propertiesNode.put("name", name);
editorNode.set("properties", propertiesNode);
ObjectNode modelObjectNode = objectMapper.createObjectNode();
//模型名称
modelObjectNode.put("name", modelname);
//模型版本
modelObjectNode.put("revision", 1);
//模型描述
modelObjectNode.put("description", description);
Model modelData = repositoryService.newModel();
//模型分类
modelData.setCategory(category);
modelData.setDeploymentId(null);
modelData.setKey(null);
modelData.setMetaInfo(modelObjectNode.toString());
//模型名称
modelData.setName(modelname);
modelData.setTenantId("");
modelData.setVersion(1);
//保存模型,存储数据到表:act_re_model 流程设计模型部署表
repositoryService.saveModel(modelData);
//保存资源,存储数据到表:act_ge_bytearray 二进制数据表
repositoryService.addModelEditorSource(modelData.getId(), editorNode.toString().getBytes("utf-8"));
return modelData.getId();
}
@ApiOperation("评论按钮")
......
package org.jeecg.module.junmpProcess.dto;
package org.jeecg.modules.junmpProcess.dto;
import org.jeecg.module.junmpProcess.dto.json.UserInfo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import org.jeecg.modules.junmpProcess.dto.json.UserInfo;
/**
* @author LoveMyOrange
......
package org.jeecg.module.junmpProcess.dto;
package org.jeecg.modules.junmpProcess.dto;
import lombok.Data;
......
package org.jeecg.modules.junmpProcess.dto;public class FlowDto {
package org.jeecg.modules.junmpProcess.dto;
import lombok.Data;
/**
* 流程DTO
*/
@Data
public class FlowDTO {
//表单分类id
private String process;
private Integer groupId;
}
package org.jeecg.module.junmpProcess.dto;
package org.jeecg.modules.junmpProcess.dto;
import lombok.Data;
......
package org.jeecg.module.junmpProcess.dto;
package org.jeecg.modules.junmpProcess.dto;
import org.jeecg.module.junmpProcess.dto.json.UserInfo;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.modules.junmpProcess.dto.json.UserInfo;
import java.util.List;
......
package org.jeecg.module.junmpProcess.dto;
package org.jeecg.modules.junmpProcess.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......
package org.jeecg.module.junmpProcess.dto;
package org.jeecg.modules.junmpProcess.dto;
import org.jeecg.module.junmpProcess.dto.json.UserInfo;
import com.alibaba.fastjson.JSONObject;
import lombok.Data;
import org.jeecg.modules.junmpProcess.dto.json.UserInfo;
import java.util.List;
import java.util.Map;
......
package org.jeecg.module.junmpProcess.dto;
package org.jeecg.modules.junmpProcess.dto;
import org.jeecg.module.junmpProcess.dto.json.UserInfo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import org.jeecg.modules.junmpProcess.dto.json.UserInfo;
/**
* @author LoveMyOrange
......
package org.jeecg.module.junmpProcess.dto.json;
package org.jeecg.modules.junmpProcess.dto.json;
import com.alibaba.fastjson.JSONObject;
import lombok.Data;
......@@ -33,6 +33,7 @@ public class ChildNode {
private String desc;
private Properties props;
private ChildNode children;
private List<ChildNode> branchs;
private String parallelStr;
private JSONObject incoming=new JSONObject();
......
package org.jeecg.module.junmpProcess.dto.json;
package org.jeecg.modules.junmpProcess.dto.json;
import lombok.Data;
......
package org.jeecg.module.junmpProcess.dto.json;
package org.jeecg.modules.junmpProcess.dto.json;
import lombok.Data;
......
package org.jeecg.module.junmpProcess.dto.json;
package org.jeecg.modules.junmpProcess.dto.json;
import lombok.Data;
......
package org.jeecg.module.junmpProcess.dto.json;
package org.jeecg.modules.junmpProcess.dto.json;
import lombok.Data;
......
package org.jeecg.module.junmpProcess.dto.json;
package org.jeecg.modules.junmpProcess.dto.json;
import lombok.Data;
......
package org.jeecg.module.junmpProcess.dto.json;
package org.jeecg.modules.junmpProcess.dto.json;
import lombok.Data;
......
package org.jeecg.module.junmpProcess.dto.json;
package org.jeecg.modules.junmpProcess.dto.json;
import lombok.Data;
......
package org.jeecg.module.junmpProcess.dto.json;
package org.jeecg.modules.junmpProcess.dto.json;
import lombok.Data;
......
package org.jeecg.module.junmpProcess.dto.json;
package org.jeecg.modules.junmpProcess.dto.json;
import lombok.Data;
......
package org.jeecg.module.junmpProcess.dto.json;
package org.jeecg.modules.junmpProcess.dto.json;
import com.alibaba.fastjson.JSONObject;
import lombok.Data;
......
package org.jeecg.module.junmpProcess.dto.json;
package org.jeecg.modules.junmpProcess.dto.json;
import com.alibaba.fastjson.JSONObject;
import lombok.Data;
......
package org.jeecg.module.junmpProcess.dto.json;
package org.jeecg.modules.junmpProcess.dto.json;
import com.alibaba.fastjson.JSONObject;
import lombok.Data;
......
package org.jeecg.module.junmpProcess.dto.json;
package org.jeecg.modules.junmpProcess.dto.json;
import lombok.Data;
......
package org.jeecg.modules.junmpProcess.dto.json.flowJson;public class FlowApproverGroups {
}
package org.jeecg.modules.junmpProcess.dto.json.flowJson;
import lombok.Data;
import java.util.List;
import java.util.Map;
@Data
public class FlowApproverGroups {
private String id;
private int approverType;
private int levelMode;
private List<String> approverIds;
private List<String> approverNames;
}
\ No newline at end of file
......@@ -5,19 +5,25 @@ import lombok.Data;
import org.jeecg.modules.junmpProcess.dto.json.Properties;
import java.util.List;
import java.util.Map;
@Data
public class ChildNode {
public class FlowChildNode {
private String id;
private String parentId;
private String type;
private String name;
private String desc;
private Properties props;
private org.jeecg.modules.junmpProcess.dto.json.ChildNode children;
private List<org.jeecg.modules.junmpProcess.dto.json.ChildNode> branchs;
private String parallelStr;
private JSONObject incoming=new JSONObject();
private Boolean typeElse;
private int type;
private int status;
private FlowChildNode childNode;
private boolean addable;
private List<FlowChildNode> conditionNodes;
private String pid;
private Map<String,Object> attr;
private List<FlowApproverGroups> approverGroups;
//不确定什么类型
private List<String> privileges;
private Map<String,Object> configure;
private List<FlowConditionNodes> FlowConditionNodes;
private boolean deletable;
private boolean error;
private String content;
}
package org.jeecg.modules.junmpProcess.dto.json.flowJson;
import lombok.Data;
@Data
public class FlowConditionGroup {
private String id;
private String condition;
private String name;
private int type;
private int status;
private boolean error;
private FlowChildNode childNode;
private FlowChildNode addable;
private FlowChildNode deletable;
private int conditionGroup;
private int attr;
private boolean content;
}
package org.jeecg.modules.junmpProcess.dto.json.flowJson;public class FlowConditionNodes {
package org.jeecg.modules.junmpProcess.dto.json.flowJson;
import lombok.Data;
import java.util.List;
@Data
public class FlowConditionNodes {
private String id;
private String pid;
private String name;
private int type;
private int status;
private boolean error;
private FlowChildNode childNode;
private FlowChildNode addable;
private FlowChildNode deletable;
private List<FlowConditionGroup> conditionGroup;
private int attr;
private boolean content;
}
package org.jeecg.modules.junmpProcess.dto.json;
package org.jeecg.modules.junmpProcess.dto.json.flowJson;
import com.alibaba.fastjson.JSONObject;
import lombok.Data;
import org.jeecg.modules.junmpProcess.dto.json.ChildNode;
import org.jeecg.modules.junmpProcess.dto.json.Properties;
import java.util.List;
......
package org.jeecg.modules.junmpProcess.dto.json.flowJson;
import lombok.AllArgsConstructor;
import lombok.Data;
@Data
@AllArgsConstructor
public class Inout {
private String in;
private String out;
}
package org.jeecg.module.junmpProcess.entity;
package org.jeecg.modules.junmpProcess.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
......
package org.jeecg.module.junmpProcess.entity;
package org.jeecg.modules.junmpProcess.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
......
package org.jeecg.module.junmpProcess.entity;
package org.jeecg.modules.junmpProcess.entity;
import com.baomidou.mybatisplus.annotation.TableField;
......
package org.jeecg.module.junmpProcess.entity;
package org.jeecg.modules.junmpProcess.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
......
package org.jeecg.module.junmpProcess.entity;
package org.jeecg.modules.junmpProcess.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
......
package org.jeecg.module.junmpProcess.entity;
package org.jeecg.modules.junmpProcess.entity;
import lombok.AllArgsConstructor;
import lombok.Builder;
......
package org.jeecg.module.junmpProcess.entity;
package org.jeecg.modules.junmpProcess.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
......
package org.jeecg.module.junmpProcess.enums;
package org.jeecg.modules.junmpProcess.enums;
/**
* @Author:LoveMyOrange
......
package org.jeecg.module.junmpProcess.enums;
package org.jeecg.modules.junmpProcess.enums;
/**
* @Author:LoveMyOrange
......
package org.jeecg.module.junmpProcess.exception;
package org.jeecg.modules.junmpProcess.exception;
import org.jeecg.module.junmpProcess.common.R;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.modules.junmpProcess.common.R;
import org.springframework.http.HttpStatus;
import org.springframework.validation.BindException;
import org.springframework.validation.FieldError;
......
package org.jeecg.module.junmpProcess.exception;
package org.jeecg.modules.junmpProcess.exception;
/**
* 流程异常封装
......
package org.jeecg.module.junmpProcess.job;
package org.jeecg.modules.junmpProcess.job;
import com.alibaba.fastjson.JSONObject;
import org.flowable.common.engine.impl.interceptor.Command;
......
package org.jeecg.module.junmpProcess.job;
package org.jeecg.modules.junmpProcess.job;
import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j;
......
package org.jeecg.module.junmpProcess.job;
package org.jeecg.modules.junmpProcess.job;
import org.jeecg.common.util.SpringContextHolder;
import org.jeecg.module.junmpProcess.utils.IdWorker;
import org.flowable.common.engine.impl.cfg.IdGenerator;
import org.jeecg.common.util.SpringContextHolder;
import org.jeecg.modules.junmpProcess.utils.IdWorker;
import org.springframework.stereotype.Component;
/**
......
package org.jeecg.module.junmpProcess.listener;
package org.jeecg.modules.junmpProcess.listener;
import org.jeecg.module.junmpProcess.dto.json.ChildNode;
import org.jeecg.module.junmpProcess.dto.json.Properties;
import org.jeecg.module.junmpProcess.dto.json.UserInfo;
import org.jeecg.module.junmpProcess.enums.AssigneeTypeEnums;
import org.jeecg.module.junmpProcess.exception.WorkFlowException;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.map.MapUtil;
import com.alibaba.fastjson.JSONObject;
......@@ -14,6 +9,11 @@ import org.flowable.bpmn.model.UserTask;
import org.flowable.engine.RepositoryService;
import org.flowable.engine.delegate.DelegateExecution;
import org.flowable.engine.delegate.ExecutionListener;
import org.jeecg.modules.junmpProcess.dto.json.ChildNode;
import org.jeecg.modules.junmpProcess.dto.json.Properties;
import org.jeecg.modules.junmpProcess.dto.json.UserInfo;
import org.jeecg.modules.junmpProcess.enums.AssigneeTypeEnums;
import org.jeecg.modules.junmpProcess.exception.WorkFlowException;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
......@@ -21,8 +21,8 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import static org.jeecg.module.junmpProcess.common.CommonConstants.START_USER_INFO;
import static org.jeecg.module.junmpProcess.utils.BpmnModelUtils.getChildNode;
import static org.jeecg.modules.junmpProcess.common.CommonConstants.START_USER_INFO;
import static org.jeecg.modules.junmpProcess.utils.BpmnModelUtils.getChildNode;
/**
* @author LoveMyOrange
......
package org.jeecg.module.junmpProcess.listener;
package org.jeecg.modules.junmpProcess.listener;
import org.flowable.engine.RepositoryService;
import org.flowable.engine.delegate.DelegateExecution;
......@@ -7,8 +7,8 @@ import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import static org.jeecg.module.junmpProcess.common.CommonConstants.BUSINESS_STATUS_4;
import static org.jeecg.module.junmpProcess.common.CommonConstants.PROCESS_STATUS;
import static org.jeecg.modules.junmpProcess.common.CommonConstants.BUSINESS_STATUS_4;
import static org.jeecg.modules.junmpProcess.common.CommonConstants.PROCESS_STATUS;
/**
* @author LoveMyOrange
......
package org.jeecg.module.junmpProcess.listener;
package org.jeecg.modules.junmpProcess.listener;
import org.flowable.engine.RepositoryService;
import org.flowable.engine.delegate.DelegateExecution;
......
package org.jeecg.module.junmpProcess.listener;
package org.jeecg.modules.junmpProcess.listener;
import org.flowable.engine.RepositoryService;
import org.flowable.engine.RuntimeService;
......
package org.jeecg.module.junmpProcess.listener;
package org.jeecg.modules.junmpProcess.listener;
import lombok.extern.slf4j.Slf4j;
import org.flowable.engine.RepositoryService;
......
package org.jeecg.module.junmpProcess.mapper;
package org.jeecg.modules.junmpProcess.mapper;
import org.jeecg.module.junmpProcess.entity.Departments;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.jeecg.modules.junmpProcess.entity.Departments;
/**
* @author : willian fu
......
package org.jeecg.module.junmpProcess.mapper;
package org.jeecg.modules.junmpProcess.mapper;
import org.jeecg.module.junmpProcess.entity.FormGroups;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.jeecg.modules.junmpProcess.entity.FormGroups;
/**
* @author : willian fu
......
package org.jeecg.module.junmpProcess.mapper;
package org.jeecg.modules.junmpProcess.mapper;
import org.jeecg.module.junmpProcess.entity.ProcessTemplates;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.jeecg.modules.junmpProcess.entity.ProcessTemplates;
/**
* @author : willian fu
......
package org.jeecg.module.junmpProcess.mapper;
package org.jeecg.modules.junmpProcess.mapper;
import org.jeecg.module.junmpProcess.entity.TemplateGroup;
import org.jeecg.module.junmpProcess.entity.TemplateGroupBo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.jeecg.modules.junmpProcess.entity.TemplateGroup;
import org.jeecg.modules.junmpProcess.entity.TemplateGroupBo;
import java.util.List;
......
package org.jeecg.module.junmpProcess.mapper;
package org.jeecg.modules.junmpProcess.mapper;
import org.jeecg.module.junmpProcess.entity.Users;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.jeecg.modules.junmpProcess.entity.Users;
/**
* @author : willian fu
......
package org.jeecg.module.junmpProcess.service.Bussiness;
package org.jeecg.modules.junmpProcess.service.Bussiness;
/**
* @author : willian fu
......
package org.jeecg.module.junmpProcess.service.Bussiness;
package org.jeecg.modules.junmpProcess.service.Bussiness;
import org.jeecg.module.junmpProcess.dto.FlowEngineDTO;
import org.jeecg.module.junmpProcess.entity.ProcessTemplates;
import org.jeecg.module.junmpProcess.vo.TemplateGroupVo;
import org.jeecg.modules.junmpProcess.dto.FlowEngineDTO;
import org.jeecg.modules.junmpProcess.entity.ProcessTemplates;
import org.jeecg.modules.junmpProcess.vo.TemplateGroupVo;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
......@@ -71,5 +71,11 @@ public interface SettingService {
Object updateFormDetail(ProcessTemplates template);
/**
* 保存表单
* @param
* @throws InvocationTargetException
* @throws IllegalAccessException
*/
void jsonToBpmn(FlowEngineDTO flowEngineDTO) throws InvocationTargetException, IllegalAccessException;
}
package org.jeecg.module.junmpProcess.service.Bussiness;
package org.jeecg.modules.junmpProcess.service.Bussiness;
import org.jeecg.module.junmpProcess.common.Result;
import org.jeecg.module.junmpProcess.dto.ApplyDTO;
import org.jeecg.module.junmpProcess.dto.HandleDataDTO;
import org.jeecg.module.junmpProcess.dto.StartProcessInstanceDTO;
import org.jeecg.module.junmpProcess.dto.TaskDTO;
import org.jeecg.module.junmpProcess.entity.ProcessTemplates;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.module.junmpProcess.vo.HandleDataVO;
import org.jeecg.module.junmpProcess.vo.HistoryProcessInstanceVO;
import org.jeecg.module.junmpProcess.vo.MultiVO;
import org.jeecg.module.junmpProcess.vo.TaskVO;
import org.jeecg.modules.junmpProcess.common.Result;
import org.jeecg.modules.junmpProcess.dto.*;
import org.jeecg.modules.junmpProcess.dto.json.flowJson.FlowChildNode;
import org.jeecg.modules.junmpProcess.entity.ProcessTemplates;
import org.jeecg.modules.junmpProcess.vo.HandleDataVO;
import org.jeecg.modules.junmpProcess.vo.HistoryProcessInstanceVO;
import org.jeecg.modules.junmpProcess.vo.MultiVO;
import org.jeecg.modules.junmpProcess.vo.TaskVO;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
......@@ -19,6 +17,12 @@ import java.util.Map;
public interface WorkProcessService {
/**
* 创建表单
* @return
*/
boolean createBpmn(FlowChildNode flowdto);
/**
* 获取用户可见表单
* @return
*/
......
package org.jeecg.module.junmpProcess.service.Bussiness.impl;
package org.jeecg.modules.junmpProcess.service.Bussiness.impl;
import org.jeecg.module.junmpProcess.common.R;
import org.jeecg.module.junmpProcess.entity.Departments;
import org.jeecg.module.junmpProcess.service.Bussiness.OrgUserAndDeptService;
import org.jeecg.module.junmpProcess.service.Repository.DepartmentsService;
import org.jeecg.module.junmpProcess.service.Repository.UserService;
import org.jeecg.module.junmpProcess.entity.Users;
import org.jeecg.module.junmpProcess.vo.OrgTreeVo;
import cn.hutool.core.lang.Validator;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.jeecg.modules.junmpProcess.common.R;
import org.jeecg.modules.junmpProcess.entity.Departments;
import org.jeecg.modules.junmpProcess.entity.Users;
import org.jeecg.modules.junmpProcess.service.Bussiness.OrgUserAndDeptService;
import org.jeecg.modules.junmpProcess.service.Repository.DepartmentsService;
import org.jeecg.modules.junmpProcess.service.Repository.UserService;
import org.jeecg.modules.junmpProcess.vo.OrgTreeVo;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
......
package org.jeecg.module.junmpProcess.service.Bussiness.impl;
package org.jeecg.modules.junmpProcess.service.Bussiness.impl;
import org.jeecg.common.util.SpringContextHolder;
import org.jeecg.module.junmpProcess.common.R;
import org.jeecg.module.junmpProcess.common.WorkFlowConstants;
import org.jeecg.module.junmpProcess.dto.FlowEngineDTO;
import org.jeecg.module.junmpProcess.dto.json.ChildNode;
import org.jeecg.module.junmpProcess.dto.json.SettingsInfo;
import org.jeecg.module.junmpProcess.entity.FormGroups;
import org.jeecg.module.junmpProcess.entity.ProcessTemplates;
import org.jeecg.module.junmpProcess.entity.TemplateGroup;
import org.jeecg.module.junmpProcess.entity.TemplateGroupBo;
import org.jeecg.module.junmpProcess.exception.WorkFlowException;
import org.jeecg.module.junmpProcess.mapper.TemplateGroupMapper;
import org.jeecg.module.junmpProcess.service.Bussiness.SettingService;
import org.jeecg.module.junmpProcess.service.Repository.FormGroupService;
import org.jeecg.module.junmpProcess.service.Repository.ProcessTemplateService;
import org.jeecg.module.junmpProcess.service.Repository.TemplateGroupService;
import org.jeecg.module.junmpProcess.utils.IdWorker;
import org.jeecg.module.junmpProcess.vo.TemplateGroupVo;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
......@@ -34,6 +13,24 @@ import org.flowable.bpmn.model.Process;
import org.flowable.bpmn.model.*;
import org.flowable.engine.RepositoryService;
import org.flowable.engine.delegate.ExecutionListener;
import org.jeecg.common.util.SpringContextHolder;
import org.jeecg.modules.junmpProcess.common.R;
import org.jeecg.modules.junmpProcess.common.WorkFlowConstants;
import org.jeecg.modules.junmpProcess.dto.FlowEngineDTO;
import org.jeecg.modules.junmpProcess.dto.json.ChildNode;
import org.jeecg.modules.junmpProcess.dto.json.SettingsInfo;
import org.jeecg.modules.junmpProcess.entity.FormGroups;
import org.jeecg.modules.junmpProcess.entity.ProcessTemplates;
import org.jeecg.modules.junmpProcess.entity.TemplateGroup;
import org.jeecg.modules.junmpProcess.entity.TemplateGroupBo;
import org.jeecg.modules.junmpProcess.exception.WorkFlowException;
import org.jeecg.modules.junmpProcess.mapper.TemplateGroupMapper;
import org.jeecg.modules.junmpProcess.service.Bussiness.SettingService;
import org.jeecg.modules.junmpProcess.service.Repository.FormGroupService;
import org.jeecg.modules.junmpProcess.service.Repository.ProcessTemplateService;
import org.jeecg.modules.junmpProcess.service.Repository.TemplateGroupService;
import org.jeecg.modules.junmpProcess.utils.IdWorker;
import org.jeecg.modules.junmpProcess.vo.TemplateGroupVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -43,7 +40,7 @@ import javax.annotation.Resource;
import java.lang.reflect.InvocationTargetException;
import java.util.*;
import static org.jeecg.module.junmpProcess.utils.BpmnModelUtils.*;
import static org.jeecg.modules.junmpProcess.utils.BpmnModelUtils.*;
/**
* @author : willian fu
......
package org.jeecg.module.junmpProcess.service.Repository;
package org.jeecg.modules.junmpProcess.service.Repository;
import org.jeecg.module.junmpProcess.entity.Departments;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.junmpProcess.entity.Departments;
/**
* @author : willian fu
......
package org.jeecg.module.junmpProcess.service.Repository;
package org.jeecg.modules.junmpProcess.service.Repository;
import org.jeecg.module.junmpProcess.entity.FormGroups;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.junmpProcess.entity.FormGroups;
/**
* @author : willian fu
......
package org.jeecg.module.junmpProcess.service.Repository;
package org.jeecg.modules.junmpProcess.service.Repository;
import org.jeecg.module.junmpProcess.entity.ProcessTemplates;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.junmpProcess.entity.ProcessTemplates;
/**
* @author : willian fu
......
package org.jeecg.module.junmpProcess.service.Repository;
package org.jeecg.modules.junmpProcess.service.Repository;
import org.jeecg.module.junmpProcess.entity.TemplateGroup;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.junmpProcess.entity.TemplateGroup;
/**
* @author : willian fu
......
package org.jeecg.module.junmpProcess.service.Repository;
package org.jeecg.modules.junmpProcess.service.Repository;
import org.jeecg.module.junmpProcess.entity.Users;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.junmpProcess.entity.Users;
/**
* @author : willian fu
......
package org.jeecg.module.junmpProcess.service.Repository;
package org.jeecg.modules.junmpProcess.service.Repository;
/**
* @author : willian fu
......
package org.jeecg.module.junmpProcess.service.Repository.impl;
package org.jeecg.modules.junmpProcess.service.Repository.impl;
import org.jeecg.module.junmpProcess.entity.Departments;
import org.jeecg.module.junmpProcess.mapper.DepartmentsMapper;
import org.jeecg.module.junmpProcess.service.Repository.DepartmentsService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.junmpProcess.entity.Departments;
import org.jeecg.modules.junmpProcess.mapper.DepartmentsMapper;
import org.jeecg.modules.junmpProcess.service.Repository.DepartmentsService;
import org.springframework.stereotype.Service;
/**
......
package org.jeecg.module.junmpProcess.service.Repository.impl;
package org.jeecg.modules.junmpProcess.service.Repository.impl;
import org.jeecg.module.junmpProcess.entity.FormGroups;
import org.jeecg.module.junmpProcess.mapper.FormGroupsMapper;
import org.jeecg.module.junmpProcess.service.Repository.FormGroupService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.junmpProcess.entity.FormGroups;
import org.jeecg.modules.junmpProcess.mapper.FormGroupsMapper;
import org.jeecg.modules.junmpProcess.service.Repository.FormGroupService;
import org.springframework.stereotype.Service;
/**
......
package org.jeecg.module.junmpProcess.service.Repository.impl;
package org.jeecg.modules.junmpProcess.service.Repository.impl;
import org.jeecg.module.junmpProcess.entity.ProcessTemplates;
import org.jeecg.module.junmpProcess.mapper.ProcessTemplatesMapper;
import org.jeecg.module.junmpProcess.service.Repository.ProcessTemplateService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.junmpProcess.entity.ProcessTemplates;
import org.jeecg.modules.junmpProcess.mapper.ProcessTemplatesMapper;
import org.jeecg.modules.junmpProcess.service.Repository.ProcessTemplateService;
import org.springframework.stereotype.Service;
/**
......
package org.jeecg.module.junmpProcess.service.Repository.impl;
package org.jeecg.modules.junmpProcess.service.Repository.impl;
import org.jeecg.module.junmpProcess.entity.TemplateGroup;
import org.jeecg.module.junmpProcess.mapper.TemplateGroupMapper;
import org.jeecg.module.junmpProcess.service.Repository.TemplateGroupService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.junmpProcess.entity.TemplateGroup;
import org.jeecg.modules.junmpProcess.mapper.TemplateGroupMapper;
import org.jeecg.modules.junmpProcess.service.Repository.TemplateGroupService;
import org.springframework.stereotype.Service;
/**
......
package org.jeecg.module.junmpProcess.service.Repository.impl;
package org.jeecg.modules.junmpProcess.service.Repository.impl;
import org.jeecg.module.junmpProcess.entity.Users;
import org.jeecg.module.junmpProcess.mapper.UsersMapper;
import org.jeecg.module.junmpProcess.service.Repository.UserService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.junmpProcess.entity.Users;
import org.jeecg.modules.junmpProcess.mapper.UsersMapper;
import org.jeecg.modules.junmpProcess.service.Repository.UserService;
import org.springframework.stereotype.Service;
/**
......
package org.jeecg.module.junmpProcess.service.Repository.impl;
package org.jeecg.modules.junmpProcess.service.Repository.impl;
import org.jeecg.module.junmpProcess.service.Bussiness.SettingService;
import org.jeecg.module.junmpProcess.service.Repository.WorkspaceProcessService;
import org.jeecg.modules.junmpProcess.service.Bussiness.SettingService;
import org.jeecg.modules.junmpProcess.service.Repository.WorkspaceProcessService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.context.request.RequestContextHolder;
......
package org.jeecg.module.junmpProcess.utils;
import org.jeecg.module.junmpProcess.common.WorkFlowConstants;
import org.jeecg.module.junmpProcess.dto.json.ChildNode;
import org.jeecg.module.junmpProcess.dto.json.ConditionInfo;
import org.jeecg.module.junmpProcess.dto.json.GroupsInfo;
import org.jeecg.module.junmpProcess.dto.json.Properties;
import org.jeecg.module.junmpProcess.enums.ModeEnums;
import org.jeecg.module.junmpProcess.exception.WorkFlowException;
package org.jeecg.modules.junmpProcess.utils;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
......@@ -15,6 +8,14 @@ import org.flowable.bpmn.model.Process;
import org.flowable.bpmn.model.*;
import org.flowable.engine.delegate.ExecutionListener;
import org.flowable.engine.delegate.TaskListener;
import org.jeecg.modules.junmpProcess.common.WorkFlowConstants;
import org.jeecg.modules.junmpProcess.dto.json.ChildNode;
import org.jeecg.modules.junmpProcess.dto.json.ConditionInfo;
import org.jeecg.modules.junmpProcess.dto.json.GroupsInfo;
import org.jeecg.modules.junmpProcess.dto.json.Properties;
import org.jeecg.modules.junmpProcess.dto.json.flowJson.FlowChildNode;
import org.jeecg.modules.junmpProcess.enums.ModeEnums;
import org.jeecg.modules.junmpProcess.exception.WorkFlowException;
import org.springframework.util.CollectionUtils;
import java.lang.reflect.InvocationTargetException;
......@@ -40,7 +41,7 @@ public class BpmnModelUtils {
return serviceTask;
}
public static SequenceFlow connect(String from, String to, List<SequenceFlow> sequenceFlows, Map<String, ChildNode> childNodeMap, Process process) {
public static SequenceFlow connect( String from, String to, List<SequenceFlow> sequenceFlows, Map<String, ChildNode> childNodeMap, Process process) {
SequenceFlow flow = new SequenceFlow();
String sequenceFlowId = id("sequenceFlow");
if(process.getFlowElement(from) !=null && process.getFlowElement(from) instanceof ExclusiveGateway){
......@@ -217,7 +218,73 @@ public class BpmnModelUtils {
return endEvent;
}
// public static String FlowCreate(String fromId, FlowChildNode flowNode, Process process, BpmnModel bpmnModel, List<SequenceFlow> sequenceFlows, Map<String,ChildNode> childNodeMap) throws InvocationTargetException, IllegalAccessException {
// Integer nodeType = flowNode.getType();
// if (FlowType.CONCURRENTS.isEqual(nodeType)) {
// return createParallelGatewayBuilder(fromId, flowNode,process,bpmnModel,sequenceFlows,childNodeMap);
// } else if (FlowType.CONDITIONS.isEqual(nodeType)) {
// return createExclusiveGatewayBuilder(fromId, flowNode,process,bpmnModel,sequenceFlows,childNodeMap);
// } else if (FlowType.USER_TASK.isEqual(nodeType)) {
// childNodeMap.put(flowNode.getId(),flowNode);
// JSONObject incoming = flowNode.getIncoming();
// incoming.put("incoming", Collections.singletonList(fromId));
// String id = createTask(process,flowNode,sequenceFlows,childNodeMap);
// // 如果当前任务还有后续任务,则遍历创建后续任务
// ChildNode children = flowNode.getChildren();
// if (Objects.nonNull(children) &&StringUtils.isNotBlank(children.getId())) {
// return create(id, children,process,bpmnModel,sequenceFlows,childNodeMap);
// } else {
// return id;
// }
// }
// else if(Type.ROOT.isEqual(nodeType)){
// childNodeMap.put(flowNode.getId(),flowNode);
// JSONObject incoming = flowNode.getIncoming();
// incoming.put("incoming", Collections.singletonList(fromId));
// String id = createTask(process,flowNode,sequenceFlows,childNodeMap);
// // 如果当前任务还有后续任务,则遍历创建后续任务
// ChildNode children = flowNode.getChildren();
// if (Objects.nonNull(children) &&StringUtils.isNotBlank(children.getId())) {
// return create(id, children,process,bpmnModel,sequenceFlows,childNodeMap);
// } else {
// return id;
// }
// }
// else if(Type.DELAY.isEqual(nodeType)){
// throw new WorkFlowException("还不想写这个功能");
//// childNodeMap.put(flowNode.getId(),flowNode);
//// JSONObject incoming = flowNode.getIncoming();
//// incoming.put("incoming", Collections.singletonList(fromId));
//// String id = createTask(process,flowNode,sequenceFlows,childNodeMap);
//// // 如果当前任务还有后续任务,则遍历创建后续任务
//// ChildNode children = flowNode.getChildren();
//// if (Objects.nonNull(children) &&StringUtils.isNotBlank(children.getId())) {
//// return create(id, children,process,bpmnModel,sequenceFlows,childNodeMap);
//// } else {
//// return id;
//// }
// }
// else if(Type.TRIGGER.isEqual(nodeType)){
// throw new WorkFlowException("还不想写这个功能");
// }
// else if(Type.CC.isEqual(nodeType)){
// throw new WorkFlowException("代码呗回滚了 丢了,暂时先不做");
//// childNodeMap.put(flowNode.getId(),flowNode);
//// JSONObject incoming = flowNode.getIncoming();
//// incoming.put("incoming", Collections.singletonList(fromId));
//// String id = createServiceTask(process,flowNode,sequenceFlows,childNodeMap);
//// // 如果当前任务还有后续任务,则遍历创建后续任务
//// ChildNode children = flowNode.getChildren();
//// if (Objects.nonNull(children) &&StringUtils.isNotBlank(children.getId())) {
//// return create(id, children,process,bpmnModel,sequenceFlows,childNodeMap);
//// } else {
//// return id;
//// }
// }
// else {
// throw new RuntimeException("未知节点类型: nodeType=" + nodeType);
// }
// }
public static String create(String fromId, ChildNode flowNode, Process process,BpmnModel bpmnModel,List<SequenceFlow> sequenceFlows,Map<String,ChildNode> childNodeMap) throws InvocationTargetException, IllegalAccessException {
String nodeType = flowNode.getType();
if (Type.CONCURRENTS.isEqual(nodeType)) {
......@@ -451,7 +518,6 @@ public class BpmnModelUtils {
parallelGateway.setId(id);
return parallelGateway;
}
private static String createParallelGatewayBuilder(String formId, ChildNode flowNode,Process process,BpmnModel bpmnModel,List<SequenceFlow> sequenceFlows,Map<String,ChildNode> childNodeMap) throws InvocationTargetException, IllegalAccessException {
childNodeMap.put(flowNode.getId(),flowNode);
String name = flowNode.getName();
......@@ -486,7 +552,7 @@ public class BpmnModelUtils {
String parentId = childNode.getParentId();
ChildNode parentChildNode = childNodeMap.get(parentId);
boolean conFlag = Type.CONCURRENTS.type
.equals(parentChildNode.getType());
.equals(parentChildNode.getType());
if(!conFlag){
String type = childNode.getType();
if(!Type.EMPTY.type.equals(type)){
......@@ -564,6 +630,7 @@ public class BpmnModelUtils {
return parallelGatewayId;
}
private static String createTask(Process process,ChildNode flowNode,List<SequenceFlow> sequenceFlows,Map<String,ChildNode> childNodeMap) {
JSONObject incomingJson = flowNode.getIncoming();
List<String> incoming = incomingJson.getJSONArray("incoming").toJavaList(String.class);
......@@ -666,7 +733,6 @@ public class BpmnModelUtils {
}
private enum Type {
/**
* 并行事件
*/
......@@ -708,7 +774,48 @@ public class BpmnModelUtils {
}
}
private enum FlowType {
/**
* 并行事件
*/
CONCURRENTS(0, ParallelGateway.class),
CONCURRENT(1, SequenceFlow.class),
/**
* 排他事件
*/
CONDITION(2, ExclusiveGateway.class),
CONDITIONS(3, ExclusiveGateway.class),
/**
* 任务
*/
USER_TASK(4, UserTask.class),
EMPTY(5, Object.class),
ROOT(6, UserTask.class),
CC(7, ServiceTask.class),
TRIGGER(8, ServiceTask.class),
DELAY(9, IntermediateCatchEvent.class);
private int type;
private Class<?> typeClass;
FlowType(int type, Class<?> typeClass) {
this.type = type;
this.typeClass = typeClass;
}
public final static Map<String, Class<?>> TYPE_MAP = Maps.newHashMap();
static {
for (Type element : Type.values()) {
TYPE_MAP.put(element.type, element.typeClass);
}
}
public boolean isEqual(int type) {
return this.type==(type);
}
}
public static ChildNode getChildNode(ChildNode childNode,String nodeId){
Map<String,ChildNode> childNodeMap =new HashMap<>();
......
package org.jeecg.module.junmpProcess.utils;
package org.jeecg.modules.junmpProcess.utils;
import org.springframework.util.StringUtils;
......
package org.jeecg.module.junmpProcess.utils;
package org.jeecg.modules.junmpProcess.utils;
import org.jeecg.module.junmpProcess.dto.json.UserInfo;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.NumberUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import org.jeecg.modules.junmpProcess.dto.json.UserInfo;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
......
package org.jeecg.module.junmpProcess.utils;
package org.jeecg.modules.junmpProcess.utils;
import lombok.Cleanup;
import lombok.extern.slf4j.Slf4j;
......
package org.jeecg.module.junmpProcess.utils;
package org.jeecg.modules.junmpProcess.utils;
import java.lang.management.ManagementFactory;
import java.net.InetAddress;
......
package org.jeecg.module.junmpProcess.utils;
package org.jeecg.modules.junmpProcess.utils;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Constants;
......
......@@ -17,7 +17,7 @@
*
*/
package org.jeecg.module.junmpProcess.utils;
package org.jeecg.modules.junmpProcess.utils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.DisposableBean;
......
package org.jeecg.module.junmpProcess.utils;
package org.jeecg.modules.junmpProcess.utils;
import lombok.extern.slf4j.Slf4j;
import org.owasp.validator.html.AntiSamy;
......
package org.jeecg.module.junmpProcess.vo;
package org.jeecg.modules.junmpProcess.vo;
import lombok.Data;
......
package org.jeecg.module.junmpProcess.vo;
package org.jeecg.modules.junmpProcess.vo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
......
package org.jeecg.module.junmpProcess.vo;
package org.jeecg.modules.junmpProcess.vo;
import org.jeecg.module.junmpProcess.dto.json.ChildNode;
import org.jeecg.module.junmpProcess.entity.ProcessTemplates;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.modules.junmpProcess.dto.json.ChildNode;
import org.jeecg.modules.junmpProcess.entity.ProcessTemplates;
import java.util.List;
import java.util.Map;
......
package org.jeecg.module.junmpProcess.vo;
package org.jeecg.modules.junmpProcess.vo;
import org.jeecg.module.junmpProcess.dto.json.UserInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.modules.junmpProcess.dto.json.UserInfo;
import java.util.Date;
......
package org.jeecg.module.junmpProcess.vo;
package org.jeecg.modules.junmpProcess.vo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
......
package org.jeecg.module.junmpProcess.vo;
package org.jeecg.modules.junmpProcess.vo;
import lombok.Data;
......
package org.jeecg.module.junmpProcess.vo;
package org.jeecg.modules.junmpProcess.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
......
package org.jeecg.module.junmpProcess.vo;
package org.jeecg.modules.junmpProcess.vo;
import org.jeecg.module.junmpProcess.entity.ProcessTemplates;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import org.jeecg.modules.junmpProcess.entity.ProcessTemplates;
import java.util.List;
......
package org.jeecg.module.junmpProcess.vo;
package org.jeecg.modules.junmpProcess.vo;
import lombok.Data;
......
package org.jeecg.module.junmpProcess.vo;
package org.jeecg.modules.junmpProcess.vo;
import org.jeecg.module.junmpProcess.dto.json.UserInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.flowable.task.api.DelegationState;
import org.jeecg.modules.junmpProcess.dto.json.UserInfo;
import java.util.Date;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论