添加新法规清单导入流程
This commit is contained in:
@@ -13,6 +13,7 @@ public enum ProcessTypeEnum {
|
||||
DEMO("测试流程", 0, "com.jero.modules.activiti.process.demo.service.ProcessDemoService", "/workCenter/StandardEntryOrChangeProcess", "/workCenter/StandardEntryOrChangeProcess"),
|
||||
STANDARD_INTERPRET("标准解读流程", 2, "com.jero.modules.activiti.process.standardinterpret.service.impl.StandardInterpretFlow", "", ""),
|
||||
STANDARD_COMPLIANCE_CHECK("法规符合性排查流程", 3, "com.jero.modules.activiti.process.standardComplianceCheck.service.ProcessStandardComplianceCheckService", "/workCenter/StandardComplianceCheckProcess", "/workCenter/StandardComplianceCheckProcess"),
|
||||
NEW_STANDARD_IMPORT("新法规导入流程", 4, "com.jero.modules.activiti.process.ni.service.ProcessNewStandardImportService", "/workCenter/ProcessNewStandardImportProcess", "/workCenter/StandardComplianceCheckProcess"),
|
||||
;
|
||||
|
||||
private final String name;
|
||||
|
||||
+1
@@ -13,6 +13,7 @@ public enum ProcessType {
|
||||
|
||||
STANDARD_INTERPRET("标准解读流程", "2", "standard_interpret", "StandardInterpretFlowServiceImpl"),
|
||||
STANDARD_COMPLIANCE_CHECK("法规符合性评估流程", "3", "laws-evaluation-main", "ProcessStandardComplianceCheckServiceImpl"),
|
||||
NEW_STANDARD_IMPORT("新法规搭导入流程", "4", "new_standard_import", "ProcessNewStandardImportServiceImpl"),
|
||||
;
|
||||
|
||||
private final String name;
|
||||
|
||||
+68
@@ -0,0 +1,68 @@
|
||||
package com.jero.modules.activiti.process.ni.common;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2024-06-17 15:28
|
||||
*/
|
||||
public class ProcessNewStandardImportConstants {
|
||||
|
||||
/** 法规工程师 */
|
||||
public static final String STANDARD_ENGINEER = "standardEngineer";
|
||||
/** 各部门接口人 */
|
||||
public static final String DEPT_USER = "deptUser";
|
||||
/** 主排查人 */
|
||||
public static final String MAIN_CHECK_USER = "mainCheckUser";
|
||||
/** 会签人员列表 */
|
||||
public static final String COUNTERSIGN_USER_LIST = "countersignUserList";
|
||||
/** 设计工程师科室经理审核 */
|
||||
public static final String MANAGER = "manager";
|
||||
/** 高级经理/技术官 */
|
||||
public static final String SENIOR_MANAGER = "seniorManager";
|
||||
/** 未分配数量 */
|
||||
public static final String UNALLOCATED_QUANTITY = "unallocatedQuantity";
|
||||
|
||||
/**
|
||||
* 法规工程师发起
|
||||
*/
|
||||
public static final String STANDARD_ENGINEER_START = "sid-F144BD89-366F-482C-89DE-3AE2BD22D371";
|
||||
/**
|
||||
* 各部门接口人分发
|
||||
*/
|
||||
public static final String DEPT_USER_DISTRIBUTE = "sid-F07416DD-65BF-499E-AC96-F7A407AA3CEB";
|
||||
/**
|
||||
* 主排查人分发
|
||||
*/
|
||||
public static final String MAIN_CHECK_USER_DISTRIBUTE = "sid-96A59284-7EE2-4F10-A327-F76BC26B95F8";
|
||||
/**
|
||||
* 主排查人分发
|
||||
*/
|
||||
public static final String MAIN_CHECK_USER_REDISTRIBUTE = "sid-3D1BFC0F-9074-4868-891F-2F76D00A21C7";
|
||||
/**
|
||||
* 主排查人汇总
|
||||
*/
|
||||
public static final String MAIN_CHECK_USER_COLLECT = "sid-A478E1B2-84B6-4884-875B-E6C53392BC4F";
|
||||
/**
|
||||
* 会签
|
||||
*/
|
||||
public static final String COUNTERSIGN = "sid-D3B3377E-9392-44D6-81D5-9DDDA91FB083";
|
||||
/**
|
||||
* 设计工程师科室经理审核
|
||||
*/
|
||||
public static final String MANAGER_APPROVAL = "sid-B253F229-2E92-4882-A054-EAA068069F0F";
|
||||
/**
|
||||
* 高级经理/技术官审核
|
||||
*/
|
||||
public static final String SENIOR_MANAGER_APPROVAL = "sid-31D9FF6F-D1BE-4B02-910C-5DB7A5D0A626";
|
||||
/**
|
||||
* 设计工程师工程师评估
|
||||
*/
|
||||
public static final String DESIGNER_ENGINEER_EVALUATION = "sid-45FC4ED6-DB83-49E0-A080-55192B7860EB";
|
||||
/**
|
||||
* 主排查人审核
|
||||
*/
|
||||
public static final String MAIN_CHECK_USER_APPROVAL = "sid-C9A2FE2E-8A8A-4846-8010-5AE4ECF14DFE";
|
||||
/** 自动任务 */
|
||||
public static final String AUTO_TASK_1 = "sid-95E41F78-FE01-4FEC-BF8B-EC11DFBA8824";
|
||||
public static final String AUTO_TASK_2 = "autoTask_2";
|
||||
public static final String AUTO_TASK_3 = "autoTask_3";
|
||||
}
|
||||
+126
@@ -0,0 +1,126 @@
|
||||
package com.jero.modules.activiti.process.ni.controller;
|
||||
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.aspect.annotation.Translation;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.entity.TransferVO;
|
||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.process.ni.entity.ProcessNewStandardImport;
|
||||
import com.jero.modules.activiti.process.ni.service.IProcessNewStandardImportService;
|
||||
import com.jero.modules.activiti.process.standardComplianceCheck.entity.vo.ModelExcelVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||
import org.jeecgframework.poi.excel.entity.enmus.ExcelType;
|
||||
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* 流程-新法规导入流程
|
||||
*
|
||||
* @author xxxxx
|
||||
*/
|
||||
@Slf4j
|
||||
@Api(tags = "新法规导入流程")
|
||||
@RestController
|
||||
@RequestMapping("process/newStandardImport")
|
||||
public class ProcessNewStandardImportController extends JeroController<ProcessNewStandardImport
|
||||
, IProcessNewStandardImportService> {
|
||||
|
||||
@Resource
|
||||
private IProcessNewStandardImportService sccService;
|
||||
|
||||
@Resource
|
||||
private IProcessHandleService processHandleService;
|
||||
|
||||
@Resource
|
||||
private ActFlowCommonService actFlowCommonService;
|
||||
|
||||
@AutoLog(value = "新法规导入流程-发起流程")
|
||||
@ApiOperation(value = "新法规导入流程-发起流程", notes = "新法规导入流程-发起流程")
|
||||
@PostMapping(value = "/start")
|
||||
public Result<T> startProcess(@Validated @RequestBody ProcessInfoVO<ProcessNewStandardImport> processInfoVO) {
|
||||
sccService.startProcess(processInfoVO);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "新法规导入流程-同意")
|
||||
@ApiOperation(value = "新法规导入流程-同意", notes = "新法规导入流程-同意")
|
||||
@PostMapping("/agree")
|
||||
public Result<T> agree(@Validated @RequestBody ProcessInfoVO<ProcessNewStandardImport> processInfoVO) {
|
||||
sccService.approveTask(processInfoVO, true);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "新法规导入流程-驳回")
|
||||
@ApiOperation(value = "新法规导入流程-驳回", notes = "新法规导入流程-驳回")
|
||||
@PostMapping("/reject")
|
||||
public Result<T> reject(@Validated @RequestBody ProcessInfoVO<ProcessNewStandardImport> processInfoVO) {
|
||||
sccService.approveTask(processInfoVO, false);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "新法规导入流程-提交")
|
||||
@ApiOperation(value = "新法规导入流程-提交", notes = "新法规导入流程-提交")
|
||||
@PostMapping("/submit")
|
||||
public Result<T> submit(@Validated @RequestBody ProcessInfoVO<ProcessNewStandardImport> processInfoVO) {
|
||||
sccService.submit(processInfoVO);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
/**
|
||||
* 转办
|
||||
*
|
||||
*/
|
||||
@AutoLog(value = "新法规导入流程-转办")
|
||||
@ApiOperation(value="新法规导入流程-转办", notes="新法规导入流程-转办")
|
||||
@PostMapping(value = "/transfer")
|
||||
public Result<?> transfer(@RequestBody TransferVO transferVO) {
|
||||
processHandleService.transfer(transferVO.getTaskId(), transferVO.getUserId());
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存到待办
|
||||
* @param taskId
|
||||
*/
|
||||
@AutoLog(value = "新法规导入流程-办理")
|
||||
@ApiOperation(value="新法规导入流程-办理", notes="新法规导入流程-办理")
|
||||
@GetMapping("/handle/{taskId}")
|
||||
@Translation
|
||||
public Result<?> handle(@PathVariable("taskId") String taskId) {
|
||||
ProcessDraft draft = actFlowCommonService.getExistDraftByTaskId(taskId, ProcessTypeEnum.STANDARD_COMPLIANCE_CHECK);
|
||||
if (draft != null) {
|
||||
return Result.OK(draft);
|
||||
}
|
||||
return Result.OK(sccService.getHandleData(taskId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成
|
||||
* @param scc
|
||||
*/
|
||||
@AutoLog(value = "新法规导入流程-生成")
|
||||
@ApiOperation(value="新法规导入流程-生成", notes="新法规导入流程-生成")
|
||||
@PostMapping("/generate")
|
||||
@Translation
|
||||
public Result<?> generate(@RequestPart("scc") ProcessNewStandardImport scc,
|
||||
@RequestPart("modelFile") MultipartFile modelFile,
|
||||
@RequestPart(name = "splitFile", required = false) MultipartFile splitFile) throws Exception {
|
||||
return Result.OK(sccService.generate(scc, modelFile, splitFile));
|
||||
}
|
||||
}
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
package com.jero.modules.activiti.process.ni.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
*
|
||||
* @TableName process_standard_compliance_check
|
||||
*/
|
||||
@TableName(value ="process_standard_import")
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="process_standard_import对象", description="新法规导入流程-主表")
|
||||
public class ProcessNewStandardImport implements Serializable {
|
||||
|
||||
/**主键*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "主键")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 标准ID
|
||||
*/
|
||||
@ApiModelProperty(value = "标准ID")
|
||||
private String standardId;
|
||||
|
||||
/**
|
||||
* 流程实例id
|
||||
*/
|
||||
@ApiModelProperty(value = "流程实例id")
|
||||
private String processInstanceId;
|
||||
|
||||
/**创建人*/
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private String createBy;
|
||||
|
||||
/**创建日期*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "创建日期")
|
||||
private Date createTime;
|
||||
|
||||
/**更新人*/
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private String updateBy;
|
||||
|
||||
/**更新日期*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "更新日期")
|
||||
private Date updateTime;
|
||||
|
||||
|
||||
/**
|
||||
* 0表示未删除,1表示删除
|
||||
*/
|
||||
@ApiModelProperty(value = "0表示未删除,1表示删除")
|
||||
@TableLogic
|
||||
private Integer delFlag;
|
||||
|
||||
/**所处阶段*/
|
||||
@ApiModelProperty(value = "所处阶段")
|
||||
private String eventPhase;
|
||||
|
||||
/**适用市场*/
|
||||
@ApiModelProperty(value = "适用市场")
|
||||
private String applicableMarket;
|
||||
/**法规要求简要描述*/
|
||||
@ApiModelProperty(value = "法规要求简要描述")
|
||||
private String requireBriefDesc;
|
||||
/**抄送人员*/
|
||||
@ApiModelProperty(value = "抄送人员")
|
||||
private String copyUser;
|
||||
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
package com.jero.modules.activiti.process.ni.entity.vo;
|
||||
|
||||
|
||||
import com.jero.modules.activiti.process.ni.entity.ProcessNewStandardImport;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ProcessNewStandardImportVO {
|
||||
|
||||
ProcessNewStandardImport standardInfo;
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package com.jero.modules.activiti.process.ni.listener;
|
||||
|
||||
import com.jero.common.util.SpringContextUtils;
|
||||
import com.jero.modules.activiti.process.ni.service.IProcessNewStandardImportService;
|
||||
import com.jero.modules.activiti.process.standardinterpret.service.StandardInterpretFlowService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2023-06-18 15:43
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class ProcessNewStandardImportFlowListener implements TaskListener {
|
||||
|
||||
@Resource
|
||||
private IProcessNewStandardImportService processNewStandardImportService;
|
||||
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
processNewStandardImportService.flowListener(delegateTask);
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package com.jero.modules.activiti.process.ni.mapper;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.modules.activiti.process.ni.entity.ProcessNewStandardImport;
|
||||
|
||||
/**
|
||||
* @author
|
||||
* @description 针对表【process_standard_import】的数据库操作Mapper
|
||||
* @createDate 2024-07-04 10:21:21
|
||||
* @Entity
|
||||
*/
|
||||
public interface ProcessNewStandardImportMapper extends BaseMapper<ProcessNewStandardImport> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
<?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">
|
||||
<mapper namespace="com.jero.modules.activiti.process.ni.mapper.ProcessNewStandardImportMapper">
|
||||
|
||||
</mapper>
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package com.jero.modules.activiti.process.ni.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.process.ni.entity.ProcessNewStandardImport;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
* @description 针对表【process_standard_compliance_check】的数据库操作Service
|
||||
* @createDate 2024-07-04 10:21:21
|
||||
*/
|
||||
public interface IProcessNewStandardImportService extends IService<ProcessNewStandardImport> {
|
||||
|
||||
void startProcess(ProcessInfoVO<ProcessNewStandardImport> processInfoVO);
|
||||
|
||||
void approveTask(ProcessInfoVO<ProcessNewStandardImport> processInfoVO, boolean b);
|
||||
|
||||
ProcessInfoVO<ProcessNewStandardImport> getHandleData(String taskId);
|
||||
|
||||
void submit(ProcessInfoVO<ProcessNewStandardImport> processInfoVO);
|
||||
|
||||
String generate(ProcessNewStandardImport scc, MultipartFile modelFile, MultipartFile splitFile) throws Exception;
|
||||
|
||||
void flowListener(DelegateTask delegateTask);
|
||||
}
|
||||
+199
@@ -0,0 +1,199 @@
|
||||
package com.jero.modules.activiti.process.ni.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||
import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO;
|
||||
import com.jero.modules.activiti.process.fb.dto.BasicTaskInfoDTO;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.process.ni.entity.ProcessNewStandardImport;
|
||||
import com.jero.modules.activiti.process.ni.mapper.ProcessNewStandardImportMapper;
|
||||
import com.jero.modules.activiti.process.ni.service.IProcessNewStandardImportService;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.sys.utils.UserUtils;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.runtime.ProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.jero.modules.activiti.common.ActivitiCommon.PASS;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
* @description 针对表【process_standard_compliance_check】的数据库操作Service实现
|
||||
* @createDate 2024-07-04 10:21:21
|
||||
*/
|
||||
@Service
|
||||
public class ProcessNewStandardImportServiceImpl extends ServiceImpl<ProcessNewStandardImportMapper, ProcessNewStandardImport>
|
||||
implements IProcessNewStandardImportService {
|
||||
|
||||
@Resource
|
||||
private ActFlowCommonService actFlowCommonService;
|
||||
|
||||
@Resource
|
||||
private ProcessNodeLinkService processNodeLinkService;
|
||||
|
||||
@Resource
|
||||
private TaskService taskService;
|
||||
|
||||
@Resource
|
||||
private ProcessAllService processAllService;
|
||||
|
||||
@Resource
|
||||
private RuntimeService runtimeService;
|
||||
|
||||
@Override
|
||||
public void startProcess(ProcessInfoVO<ProcessNewStandardImport> processInfoVO) {
|
||||
// 流程Key
|
||||
String processDefinitionKey = ProcessType.NEW_STANDARD_IMPORT.getProcessKey();
|
||||
// 流程信息
|
||||
BasicProcessInfoDTO processInfo = processInfoVO.getBasicProcessInfoDTO();
|
||||
// 任务信息
|
||||
BasicTaskInfoDTO processTask = processInfoVO.getBasicTaskInfoDTO();
|
||||
// 人员信息
|
||||
Map<String, Object> userInfoMap = processInfoVO.getUserInfoMap();
|
||||
// 业务数据
|
||||
ProcessNewStandardImport businessInfoDTO = processInfoVO.getBusinessInfoDTO();
|
||||
// 当前用户Id
|
||||
String userId = UserUtils.getUserId();
|
||||
// 设置流程变量
|
||||
Map<String, Object> actVariables = this.setVariables(businessInfoDTO);
|
||||
// 删除草稿
|
||||
actFlowCommonService.getExistDraftAndRemove(processInfoVO.getDraftId());
|
||||
// 启动流程
|
||||
ProcessInstance processInstance = actFlowCommonService.startProcess(processDefinitionKey, actVariables);
|
||||
// 获取流程实例ID
|
||||
String processDefinitionId = processInstance.getProcessDefinitionId();
|
||||
String processInstanceId = processInstance.getId();
|
||||
businessInfoDTO.setProcessInstanceId(processInstanceId);
|
||||
processInfo.setProcessInstanceId(processInstanceId);
|
||||
processInfo.setProcessDefinitionId(processDefinitionId);
|
||||
processInfo.setProcessType(ProcessTypeEnum.NEW_STANDARD_IMPORT.getValue());
|
||||
// 第一个节点业务数据处理 返回流程名称
|
||||
this.startNodeBusProcess(processInfoVO);
|
||||
// 保存选人信息
|
||||
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, this.getUserMap(userInfoMap));
|
||||
// 获取第一个任务的taskId
|
||||
String taskId = actFlowCommonService.getFirstTaskId(processInstanceId, userId, processDefinitionId);
|
||||
// 保存第一个节点的草稿
|
||||
actFlowCommonService.saveFirstNodeDraft(processInfoVO, userId);
|
||||
// 更新审批表为完成,填充数据
|
||||
actFlowCommonService.updateApprovalInfo(processTask, taskId);
|
||||
// 自动完成第一个任务
|
||||
actFlowCommonService.completeTask(taskId, userId);
|
||||
// 根据流程实例id更新流程总表
|
||||
actFlowCommonService.updateProcessAll(processInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 第一个节点业务数据处理
|
||||
* @param processInfoVO
|
||||
*/
|
||||
private void startNodeBusProcess(ProcessInfoVO<ProcessNewStandardImport> processInfoVO) {
|
||||
ProcessNewStandardImport businessInfoDTO = processInfoVO.getBusinessInfoDTO();
|
||||
save(businessInfoDTO);
|
||||
}
|
||||
|
||||
private Map<String, Object> setVariables(ProcessNewStandardImport businessInfoDTO) {
|
||||
// TODO 转List
|
||||
return new HashMap<>();
|
||||
}
|
||||
|
||||
private Map<String, Object> getUserMap(Map<String, Object> map) {
|
||||
// TODO 转逗号拼接
|
||||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void approveTask(ProcessInfoVO<ProcessNewStandardImport> processInfoVO, boolean pass) {
|
||||
BasicTaskInfoDTO processTask = processInfoVO.getBasicTaskInfoDTO();
|
||||
String taskId = processTask.getTaskId();
|
||||
// 获取task
|
||||
if (StrUtil.isBlank(taskId) || !actFlowCommonService.taskExists(taskId)) {
|
||||
throw new JeroBootException("taskId为空或任务不存在");
|
||||
}
|
||||
String userId = actFlowCommonService.getOriginTaskAssignee(taskId);
|
||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||
// 获取执行id
|
||||
String executionId = task.getExecutionId();
|
||||
// 获取当前节点的id
|
||||
ProcessApprovalRecord record = actFlowCommonService.getNodeIdByTaskId(taskId);
|
||||
String xmlNodeId = record.getNodeId();
|
||||
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
|
||||
// 获取当前流程
|
||||
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
|
||||
String processDefinitionId = processInstance.getProcessDefinitionId();
|
||||
Map<String, Object> userMap = new HashMap<>();
|
||||
Map<String, Object> flowUser;
|
||||
// 更新审批表为完成,填充数据
|
||||
actFlowCommonService.updateApprovalInfo(processTask, taskId);
|
||||
String curUserId;
|
||||
switch (xmlNodeId) {
|
||||
|
||||
}
|
||||
// 转办修改流程变量逻辑
|
||||
switch (xmlNodeId) {
|
||||
|
||||
|
||||
}
|
||||
runtimeService.setVariable(processInstanceId, PASS, pass);
|
||||
// 审批节点
|
||||
actFlowCommonService.completeTask(taskId, userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void submit(ProcessInfoVO<ProcessNewStandardImport> processInfoVO) {
|
||||
startProcess(processInfoVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String generate(ProcessNewStandardImport scc, MultipartFile modelFile, MultipartFile splitFile) throws Exception {
|
||||
// 新增流程主表数据
|
||||
this.save(scc);
|
||||
// 返回主键
|
||||
return scc.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flowListener(DelegateTask delegateTask) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProcessInfoVO<ProcessNewStandardImport> getHandleData(String taskId) {
|
||||
if (!actFlowCommonService.taskExists(taskId)) {
|
||||
throw new JeroBootException("任务不存在");
|
||||
}
|
||||
ProcessInfoVO<ProcessNewStandardImport> result = new ProcessInfoVO<>();
|
||||
String userId = actFlowCommonService.getOriginTaskAssignee(taskId);
|
||||
String executionId = taskService.createTaskQuery().taskId(taskId).singleResult().getExecutionId();
|
||||
// 使用流程引擎根据taskId找到流程实例Id
|
||||
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
|
||||
// 获取流程通用数据
|
||||
ProcessAll process = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
ProcessApprovalRecord record = actFlowCommonService.getNodeIdByTaskId(taskId);
|
||||
String xmlNodeId = record.getNodeId();
|
||||
// 设置流程信息
|
||||
switch (xmlNodeId) {
|
||||
//TODO
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user