diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/controller/ESAnnualInitController.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/controller/ESAnnualInitController.java index b805b86c..1555e863 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/controller/ESAnnualInitController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/controller/ESAnnualInitController.java @@ -5,7 +5,11 @@ import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.aspect.annotation.Translation; import com.jero.common.constant.enums.YesOrNoEnum; +import com.jero.modules.activiti.process.esAnnualInit.entity.vo.AnnualInitDataVO; import com.jero.modules.activiti.process.esAnnualInit.service.ProcessEsAnnualInitService; +import com.jero.modules.activiti.process.esInitChange.entity.ProcessEsInitChange; +import com.jero.modules.activiti.process.esInitChange.entity.vo.InitChangeDataVO; +import com.jero.modules.laws.common.constant.FieldCommon; import io.swagger.annotations.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.compress.utils.IOUtils; @@ -18,6 +22,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.InputStream; import java.io.OutputStream; +import java.util.HashMap; import java.util.Map; @@ -34,6 +39,71 @@ public class ESAnnualInitController { @Resource private ProcessEsAnnualInitService annualInitService; + /** + * 新增立项变更申请 + * + * @param annualInitData + */ + @AutoLog(value = "企标年度制修订标准化发起流程-发起立项变更申请") + @ApiOperation(value="企标年度制修订标准化发起流程-发起立项变更申请", notes="企标年度制修订标准化发起流程-发起立项变更申请") + @PostMapping("/start") + public Result startProcess(@RequestBody AnnualInitDataVO annualInitData) { + annualInitService.startProcess(annualInitData); + return Result.OK(); + } + + /** + * 保存到待办 + * @param annualInitData + */ + @AutoLog(value = "企标年度制修订标准化发起流程-保存") + @ApiOperation(value="企标年度制修订标准化发起流程-保存", notes="企标年度制修订标准化发起流程-保存") + @PostMapping("/save") + public Result save(@RequestBody AnnualInitDataVO annualInitData) { + annualInitService.saveToDraft(annualInitData); + return Result.OK(); + } + + /** + * 保存到待办 + * @param taskId + */ + @AutoLog(value = "企标年度制修订标准化发起流程-办理") + @ApiOperation(value="企标年度制修订标准化发起流程-办理", notes="企标年度制修订标准化发起流程-办理") + @GetMapping("/handle/{taskId}") + @Translation + public Result handle(@PathVariable("taskId") String taskId) { + return Result.OK(annualInitService.getHandleData(taskId)); + } + + /** + * 同意 + * + * @param annualInitData + */ + @AutoLog(value = "企标年度制修订标准化发起流程-同意") + @ApiOperation(value="企标年度制修订标准化发起流程-同意", notes="企标年度制修订标准化发起流程-同意") + @PostMapping("/agree") + public Result agree(@RequestBody AnnualInitDataVO annualInitData) { + annualInitService.approvalInitChange(annualInitData, true); + return Result.OK(); + } + + /** + * 驳回 + * + * @param annualInitData + */ + @AutoLog(value = "企标年度制修订标准化发起流程-驳回") + @ApiOperation(value="企标年度制修订标准化发起流程-驳回", notes="企标年度制修订标准化发起流程-驳回") + @PostMapping("/reject") + public Result reject(@RequestBody AnnualInitDataVO annualInitData) { + annualInitService.approvalInitChange(annualInitData, false); + return Result.OK(); + } + + + /** * 导入模板下载 */ diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualInit.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualInit.java index 1a6e9e1a..d7b4266c 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualInit.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualInit.java @@ -308,6 +308,20 @@ public class ProcessEsAnnualInit implements Serializable { @ApiModelProperty(value = "联络人") private String contactUser; + /** + * 流程中的主起草人 + */ + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty(value = "流程中的主起草人") + private String prcMainDraftUser; + + /** + * 驳回标识 + */ + @ApiModelProperty(value = "驳回标识") + @Dict(dicCode = "YN") + private String rejectFlag; + /** * 审批人 */ diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/constant/AnnualInitTaskNameConstant.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/constant/AnnualInitTaskNameConstant.java new file mode 100644 index 00000000..76ada2e9 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/constant/AnnualInitTaskNameConstant.java @@ -0,0 +1,17 @@ +package com.jero.modules.activiti.process.esAnnualInit.entity.constant; + +/** + * @author: Mzaxd + * @Date: 2023/10/27 7:32 + */ +public class AnnualInitTaskNameConstant { + + public static final String STANDARD_ENGINEER_INIT = "标准化工程师发起,填写新法规"; + public static final String CONTACT_USER_EDIT = "部所联络人 选取审批人 调整完成时间"; + public static final String STANDARD_ENGINEER_EDIT = "标准化工程师修改调整"; + public static final String MAIN_DRAFT_LEADER_APPROVAL = "主起草单位主管审批"; + public static final String MAIN_DRAFT_WRITE = "主起草人填写信息"; + public static final String CONTACT_USER_COLLECT = "部所联络人 汇总"; + public static final String MAIN_DRAFT_LEADER_LEADER_APPROVAL = "主起草单位主管级领导审批"; + public static final String STANDARD_ENGINEER_COLLECT = "标准化工程师归档"; +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/vo/AnnualInitDataVO.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/vo/AnnualInitDataVO.java new file mode 100644 index 00000000..c89b262f --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/vo/AnnualInitDataVO.java @@ -0,0 +1,28 @@ +package com.jero.modules.activiti.process.esAnnualInit.entity.vo; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.jero.modules.activiti.process.common.entity.CommonVO; +import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualInit; +import com.jero.modules.activiti.process.esAnnualReport.entity.ProcessEsAnnualReport; +import com.jero.modules.activiti.process.esAnnualReport.entity.vo.AnnualReportFlowUserVO; +import lombok.Data; + +import java.util.List; + +/** + * @author: Mzaxd + * @Date: 2023/10/26 17:28 + */ +@Data +public class AnnualInitDataVO { + + @JsonProperty("common") + private CommonVO commonVO; + + @JsonProperty("dataList") + private List dataList; + + @JsonProperty("flowUser") + private AnnualInitFlowUserVO flowUser; + +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/vo/AnnualInitFlowUserVO.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/vo/AnnualInitFlowUserVO.java new file mode 100644 index 00000000..2a07bc4c --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/vo/AnnualInitFlowUserVO.java @@ -0,0 +1,54 @@ +package com.jero.modules.activiti.process.esAnnualInit.entity.vo; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author: Mzaxd + * @Date: 2023/10/26 17:29 + */ +@Data +public class AnnualInitFlowUserVO { + + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty("标准化工程师") + private String standardEngineer; + + // 部所联络人 + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty("各部所联络人") + private String contactUser; + + // 部所联络人 + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty("各部所联络人集合") + @JsonIgnore + private List contactUserList; + + // 主起草单位主管 + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty("主起草单位主管") + private String approvalUser; + + // 主起草单位主管 + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty("主起草单位主管集合") + private List approvalUserList; + + // 主起草人 + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty("主起草人") + private String mainDraftUser; + + // 主起草人 + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty("主起草人集合") + @JsonIgnore + private List mainDraftUserList; + +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/ProcessEsAnnualInitService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/ProcessEsAnnualInitService.java index f1fd8cde..ffc2514b 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/ProcessEsAnnualInitService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/ProcessEsAnnualInitService.java @@ -2,6 +2,7 @@ package com.jero.modules.activiti.process.esAnnualInit.service; import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualInit; import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.modules.activiti.process.esAnnualInit.entity.vo.AnnualInitDataVO; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; @@ -20,4 +21,12 @@ public interface ProcessEsAnnualInitService extends IService importData(MultipartFile file); + + void startProcess(AnnualInitDataVO annualInitData); + + void saveToDraft(AnnualInitDataVO annualInitData); + + AnnualInitDataVO getHandleData(String taskId); + + void approvalInitChange(AnnualInitDataVO annualInitData, boolean b); } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java index 762be900..258bc1b0 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java @@ -5,18 +5,35 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.api.CommonAPI; import com.jero.common.constant.enums.YesOrNoEnum; +import com.jero.common.exception.JeroBootException; import com.jero.common.system.vo.SysDictItemCore; +import com.jero.modules.activiti.entity.ProcessAll; +import com.jero.modules.activiti.entity.ProcessNode; +import com.jero.modules.activiti.process.common.entity.CommonVO; +import com.jero.modules.activiti.process.common.enums.ProcessType; +import com.jero.modules.activiti.process.common.service.ActFlowCommonService; import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualInit; +import com.jero.modules.activiti.process.esAnnualInit.entity.vo.AnnualInitDataVO; +import com.jero.modules.activiti.process.esAnnualInit.entity.vo.AnnualInitFlowUserVO; import com.jero.modules.activiti.process.esAnnualInit.service.ProcessEsAnnualInitService; import com.jero.modules.activiti.process.esAnnualInit.mapper.ProcessEsAnnualInitMapper; import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectType; +import com.jero.modules.activiti.service.ProcessAllService; +import com.jero.modules.activiti.service.ProcessNodeLinkService; +import com.jero.modules.activiti.service.ProcessNodeService; import com.jero.modules.activiti.util.ExcelUtils; import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard; import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService; +import com.jero.modules.sys.utils.UserUtils; import lombok.extern.slf4j.Slf4j; +import org.activiti.engine.RuntimeService; +import org.activiti.engine.TaskService; +import org.activiti.engine.runtime.ProcessInstance; +import org.activiti.engine.task.Task; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.entity.ImportParams; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; @@ -24,12 +41,15 @@ import java.io.IOException; import java.util.*; import java.util.stream.Collectors; +import static com.jero.modules.activiti.process.esAnnualInit.entity.constant.AnnualInitTaskNameConstant.*; + /** * @author ThinkBook * @description 针对表【process_es_annual_init(企标立项变更流程)】的数据库操作Service实现 * @createDate 2023-10-18 10:01:44 */ @Slf4j +@Transactional(rollbackFor = JeroBootException.class) @Service public class ProcessEsAnnualInitServiceImpl extends ServiceImpl implements ProcessEsAnnualInitService { @@ -43,6 +63,251 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl annualReportList = annualInitData.getDataList(); + // 当前用户Id + String userId = UserUtils.getUserId(); + // 设置流程变量 + Map variables = this.setVariables(annualInitData); + // 启动流程 + ProcessInstance processInstance = actFlowCommonService.startProcess(processDefinitionKey, variables); + // 获取流程实例ID + String processDefinitionId = processInstance.getProcessDefinitionId(); + String processInstanceId = processInstance.getId(); + // 手动设置所有流程变量 + actFlowCommonService.setProcessVariables(processInstanceId, variables); + // 自动完成第一个任务 + actFlowCommonService.autoCompleteFirstTask(userId, processInstanceId, processDefinitionId); + // 设置流程实例Id + annualReportList.forEach(annualReport -> annualReport.setProcessInstanceId(processInstanceId)); + // 保存到业务流程表 + saveBatch(annualReportList); + // 保存选人信息 + processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, this.getUserMap(variables)); + // 根据流程实例id更新流程总表 + String prcName = annualInitData.getCommonVO().getPrcName(); + String prcMes = annualInitData.getCommonVO().getPrcMes(); + Date dueTime = annualInitData.getCommonVO().getDueTime(); + actFlowCommonService.updateProcessAll(processInstanceId, userId, prcName, prcMes, dueTime); + + } + + public void startRunTask(AnnualInitDataVO annualInitData) { + // do nothing now + } + + public Map setVariables(AnnualInitDataVO annualInitData) { + AnnualInitFlowUserVO annualInitFlowUserVO = annualInitData.getFlowUser(); + List dataList = annualInitData.getDataList(); + List contactUserList = new ArrayList<>(); + dataList.forEach(item -> contactUserList.add(item.getContactUser())); + annualInitFlowUserVO.setContactUserList(contactUserList); + // 设置流程中各个节点的人 + return new HashMap<>(this.setUserVariables(annualInitFlowUserVO)); + } + + public Map setUserVariables(AnnualInitFlowUserVO userVO) { + HashMap map = new HashMap<>(); + // 使用一个通用方法来只在不为空时添加键值对 + actFlowCommonService.putIfNotNull(map, "standardEngineer", userVO.getStandardEngineer()); + actFlowCommonService.putIfNotNull(map, "contactUserList", userVO.getContactUserList()); + actFlowCommonService.putIfNotNull(map, "approvalUserList", userVO.getApprovalUserList()); + actFlowCommonService.putIfNotNull(map, "mainDraftUserList", userVO.getMainDraftUserList()); + return map; + } + + private Map getUserMap(Map variables) { + // 转成逗号拼接 + variables.put("contactUserList", Optional.ofNullable((List) variables.get("contactUserList")) + .map(list -> String.join(",", list)) + .orElse("")); + variables.put("approvalUserList", Optional.ofNullable((List) variables.get("approvalUserList")) + .map(list -> String.join(",", list)) + .orElse("")); + variables.put("mainDraftUserList", Optional.ofNullable((List) variables.get("mainDraftUserList")) + .map(list -> String.join(",", list)) + .orElse("")); + return variables; + } + + @Override + public void saveToDraft(AnnualInitDataVO annualInitData) { + + } + + @Override + public AnnualInitDataVO getHandleData(String taskId) { + String userId = UserUtils.getUserId(); + if (!actFlowCommonService.taskExists(taskId)) { + throw new JeroBootException("任务不存在"); + } + AnnualInitDataVO annualInitDataVO = new AnnualInitDataVO(); + // 使用流程引擎根据taskId找到流程实例Id + String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId); + String processDefinitionId = actFlowCommonService.getProcessDefId(processInstanceId); + // 获取流程通用数据 + ProcessAll process = processAllService.getByProcessInstanceId(processInstanceId); + CommonVO commonVO = new CommonVO(); + commonVO.setPrcName(process.getPrcName()); + commonVO.setTaskId(process.getTaskId()); + commonVO.setPrcMes(process.getPrcMes()); + commonVO.setDueTime(process.getDueTime()); + annualInitDataVO.setCommonVO(commonVO); + // 获取流程实例数据 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ProcessEsAnnualInit::getProcessInstanceId, processInstanceId); + Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); + String taskName = task.getName(); + switch (taskName) { + case STANDARD_ENGINEER_INIT: + // do nothing now + break; + case CONTACT_USER_EDIT: + wrapper.eq(ProcessEsAnnualInit::getContactUser, userId); + break; + case STANDARD_ENGINEER_EDIT: + wrapper.eq(ProcessEsAnnualInit::getRejectFlag, YesOrNoEnum.YES.getValue()); + break; + case MAIN_DRAFT_LEADER_APPROVAL: + wrapper.eq(ProcessEsAnnualInit::getApprovalUser, userId); + break; + case MAIN_DRAFT_WRITE: + wrapper.eq(ProcessEsAnnualInit::getPrcMainDraftUser, userId); + break; + case CONTACT_USER_COLLECT: + wrapper.eq(ProcessEsAnnualInit::getContactUser, userId); + break; + case MAIN_DRAFT_LEADER_LEADER_APPROVAL: + wrapper.eq(ProcessEsAnnualInit::getContactUser, userId); + break; + case STANDARD_ENGINEER_COLLECT: + // do nothing now + break; + } + // 选人组件内容填充 + annualInitDataVO.setFlowUser(this.getProcessUserInfo(processDefinitionId, processInstanceId)); + return annualInitDataVO; + } + + private AnnualInitFlowUserVO getProcessUserInfo(String processDefinitionId, String processInstanceId) { + //TODO 每个节点返回的人员信息应该是不同的 + List nodeList = processNodeService.getNodeList(processDefinitionId, processInstanceId); + AnnualInitFlowUserVO annualInitFlowUserVO = new AnnualInitFlowUserVO(); + Map userMap = nodeList.stream().collect(Collectors.toMap(ProcessNode::getVariableName, node -> node)); +// annualInitFlowUserVO.setStandardEngineer(userMap.get("standardEngineer").getLinkUserIds()); +// annualInitFlowUserVO.setContactUserList(userMap.get("contactUserList").getLinkUserIds()); +// annualInitFlowUserVO.setWorkGroupUserList(userMap.get("workGroupUserList").getLinkUserIds()); +// annualInitFlowUserVO.setCollectUserLeader(userMap.get("collectUserLeader").getLinkUserIds()); +// annualInitFlowUserVO.setContactUserLeaderLeader(userMap.get("contactUserLeaderLeader").getLinkUserIds()); + return annualInitFlowUserVO; + } + + @Override + public void approvalInitChange(AnnualInitDataVO annualInitData, boolean pass) { + String userId = UserUtils.getUserId(); + CommonVO commonVO = annualInitData.getCommonVO(); + AnnualInitFlowUserVO flowUserVO = annualInitData.getFlowUser(); + List dataList = annualInitData.getDataList(); + String taskId = commonVO.getTaskId(); + // 获取task + if (StrUtil.isBlank(taskId) && !actFlowCommonService.taskExists(taskId)) { + throw new JeroBootException("taskId为空或任务不存在"); + } + Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); + String taskName = task.getName(); + String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId); + String processDefinitionId = actFlowCommonService.getProcessDefId(processInstanceId); + switch (taskName) { + case CONTACT_USER_EDIT: + // 处理驳回 + if (pass) { + dataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.NO.getValue())); + } else { + dataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.YES.getValue())); + } + saveOrUpdateBatch(dataList); + // 设置本地变量 + List approvalUserList = new ArrayList<>(); + dataList.forEach(d -> approvalUserList.add(d.getApprovalUser())); + flowUserVO.setApprovalUserList(approvalUserList); + taskService.setVariableLocal(taskId, "approvalUserList", approvalUserList); + break; + case STANDARD_ENGINEER_EDIT: + dataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.NO.getValue())); + saveOrUpdateBatch(dataList); + // 设置流程变量 + List contactUserList = new ArrayList<>(); + dataList.forEach(d -> contactUserList.add(d.getContactUser())); + flowUserVO.setApprovalUserList(contactUserList); + runtimeService.setVariable(processInstanceId, "contactUserList", contactUserList); + break; + case MAIN_DRAFT_LEADER_APPROVAL: + // 如果不驳回 + if (!pass) { + dataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.NO.getValue())); + saveOrUpdateBatch(dataList); + // 设置本地变量 + List mainDraftUserList = new ArrayList<>(); + dataList.forEach(d -> mainDraftUserList.add(d.getPrcMainDraftUser())); + flowUserVO.setApprovalUserList(mainDraftUserList); + taskService.setVariableLocal(taskId, "mainDraftUserList", mainDraftUserList); + } + break; + case MAIN_DRAFT_WRITE: + saveOrUpdateBatch(dataList); + break; + case CONTACT_USER_COLLECT: + saveOrUpdateBatch(dataList); + break; + case MAIN_DRAFT_LEADER_LEADER_APPROVAL: + break; + case STANDARD_ENGINEER_COLLECT: + // 根据流程ID删除所有数据后新增 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ProcessEsAnnualInit::getProcessInstanceId, processInstanceId); + remove(wrapper); + saveOrUpdateBatch(dataList); + break; + } + if (pass) { + if (flowUserVO != null) { + Map userMap = new HashMap<>(this.setUserVariables(flowUserVO)); + processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, userMap); + } + runtimeService.setVariable(processInstanceId, "pass", true); + } else { + // 设置流程变量 + runtimeService.setVariable(processInstanceId, "pass", false); + } + // 更新审批表为完成,填充数据 + actFlowCommonService.updateApprovalInfo(commonVO, taskId, pass); + // 审批节点 + actFlowCommonService.completeTask(taskId, userId); + } + @Override public Map importData(MultipartFile file) { List listDict = commonAPI.getDictItemAll(); diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/controller/ProcessESInitChangeController.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/controller/ProcessESInitChangeController.java index 1e2cf0b1..e02cc814 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/controller/ProcessESInitChangeController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/controller/ProcessESInitChangeController.java @@ -120,18 +120,6 @@ public class ProcessESInitChangeController { return Result.OK(); } - /** - * 转办 - * - */ - @AutoLog(value = "企标立项变更流程-转办") - @ApiOperation(value="企标立项变更流程-转办", notes="企标立项变更流程-转办") - @PostMapping(value = "/transfer") - public Result transfer(@RequestBody TransferVO transferVO) { - initChangeService.transfer(transferVO.getTaskId(), transferVO.getUserId()); - return Result.OK(); - } - /** * 选择企标编号带出数据 *