feat: 企标更改流程
This commit is contained in:
-33
@@ -1,33 +0,0 @@
|
|||||||
package com.jero.modules.activiti.process.esArchive.entity.vo;
|
|
||||||
|
|
||||||
import com.jero.common.aspect.annotation.Dict;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author: Mzaxd
|
|
||||||
* @Date: 2023/10/9 16:57
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class ESArchiveFlowUserVO {
|
|
||||||
|
|
||||||
// 创建人
|
|
||||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
|
||||||
@ApiModelProperty("创建人")
|
|
||||||
private String createUser;
|
|
||||||
|
|
||||||
// 相关人员
|
|
||||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
|
||||||
@ApiModelProperty("相关人员")
|
|
||||||
private String relatedUser;
|
|
||||||
|
|
||||||
// 创建人
|
|
||||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
|
||||||
@ApiModelProperty("起草人和会签人主管级领导")
|
|
||||||
private String leader;
|
|
||||||
|
|
||||||
// 标准化审批人
|
|
||||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
|
||||||
@ApiModelProperty("标准化审批人")
|
|
||||||
private String standardizationUser;
|
|
||||||
}
|
|
||||||
-4
@@ -7,17 +7,14 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.modules.activiti.entity.ProcessAll;
|
import com.jero.modules.activiti.entity.ProcessAll;
|
||||||
import com.jero.modules.activiti.entity.ProcessNode;
|
|
||||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||||
import com.jero.modules.activiti.process.common.entity.CommonVO;
|
import com.jero.modules.activiti.process.common.entity.CommonVO;
|
||||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||||
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||||
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
||||||
import com.jero.modules.activiti.process.esAbolish.entity.vo.ESAbolishDataVO;
|
|
||||||
import com.jero.modules.activiti.process.esArchive.entity.ProcessEsArchive;
|
import com.jero.modules.activiti.process.esArchive.entity.ProcessEsArchive;
|
||||||
import com.jero.modules.activiti.process.esArchive.entity.vo.ESArchiveDataVO;
|
import com.jero.modules.activiti.process.esArchive.entity.vo.ESArchiveDataVO;
|
||||||
import com.jero.modules.activiti.process.esArchive.entity.vo.ESArchiveFlowUserVO;
|
|
||||||
import com.jero.modules.activiti.process.esArchive.service.ProcessEsArchiveService;
|
import com.jero.modules.activiti.process.esArchive.service.ProcessEsArchiveService;
|
||||||
import com.jero.modules.activiti.process.esArchive.mapper.ProcessEsArchiveMapper;
|
import com.jero.modules.activiti.process.esArchive.mapper.ProcessEsArchiveMapper;
|
||||||
import com.jero.modules.activiti.service.ProcessAllService;
|
import com.jero.modules.activiti.service.ProcessAllService;
|
||||||
@@ -32,7 +29,6 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author ThinkBook
|
* @author ThinkBook
|
||||||
|
|||||||
+16
-16
@@ -21,7 +21,7 @@ import javax.annotation.Resource;
|
|||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@RestController
|
@RestController
|
||||||
@Api(tags = "企标更改发起流程")
|
@Api(tags = "企标更改流程")
|
||||||
@RequestMapping("/process/es/change")
|
@RequestMapping("/process/es/change")
|
||||||
public class ESChangeController {
|
public class ESChangeController {
|
||||||
|
|
||||||
@@ -32,12 +32,12 @@ public class ESChangeController {
|
|||||||
private ActFlowCommonService actFlowCommonService;
|
private ActFlowCommonService actFlowCommonService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增立项变更申请
|
* 新增企标更改流程
|
||||||
*
|
*
|
||||||
* @param changeData
|
* @param changeData
|
||||||
*/
|
*/
|
||||||
@AutoLog(value = "企标更改发起流程-发起流程")
|
@AutoLog(value = "企标更改流程-发起流程")
|
||||||
@ApiOperation(value="企标更改发起流程-发起流程", notes="企标更改发起流程-发起流程")
|
@ApiOperation(value="企标更改流程-发起流程", notes="企标更改流程-发起流程")
|
||||||
@PostMapping("/start")
|
@PostMapping("/start")
|
||||||
public Result<?> startProcess(@RequestBody ESChangeDataVO changeData) {
|
public Result<?> startProcess(@RequestBody ESChangeDataVO changeData) {
|
||||||
changeService.startProcess(changeData);
|
changeService.startProcess(changeData);
|
||||||
@@ -48,8 +48,8 @@ public class ESChangeController {
|
|||||||
* 保存到待办
|
* 保存到待办
|
||||||
* @param changeData
|
* @param changeData
|
||||||
*/
|
*/
|
||||||
@AutoLog(value = "企标更改发起流程-保存")
|
@AutoLog(value = "企标更改流程-保存")
|
||||||
@ApiOperation(value="企标更改发起流程-保存", notes="企标更改发起流程-保存")
|
@ApiOperation(value="企标更改流程-保存", notes="企标更改流程-保存")
|
||||||
@PostMapping("/save")
|
@PostMapping("/save")
|
||||||
public Result<?> save(@RequestBody ESChangeDataVO changeData) {
|
public Result<?> save(@RequestBody ESChangeDataVO changeData) {
|
||||||
changeService.saveToDraft(changeData);
|
changeService.saveToDraft(changeData);
|
||||||
@@ -60,8 +60,8 @@ public class ESChangeController {
|
|||||||
* 保存到待办
|
* 保存到待办
|
||||||
* @param taskId
|
* @param taskId
|
||||||
*/
|
*/
|
||||||
@AutoLog(value = "企标更改发起流程-办理")
|
@AutoLog(value = "企标更改流程-办理")
|
||||||
@ApiOperation(value="企标更改发起流程-办理", notes="企标更改发起流程-办理")
|
@ApiOperation(value="企标更改流程-办理", notes="企标更改流程-办理")
|
||||||
@GetMapping("/handle/{taskId}")
|
@GetMapping("/handle/{taskId}")
|
||||||
@Translation
|
@Translation
|
||||||
public Result<?> handle(@PathVariable("taskId") String taskId) {
|
public Result<?> handle(@PathVariable("taskId") String taskId) {
|
||||||
@@ -73,11 +73,11 @@ public class ESChangeController {
|
|||||||
*
|
*
|
||||||
* @param changeData
|
* @param changeData
|
||||||
*/
|
*/
|
||||||
@AutoLog(value = "企标更改发起流程-同意")
|
@AutoLog(value = "企标更改流程-同意")
|
||||||
@ApiOperation(value="企标更改发起流程-同意", notes="企标更改发起流程-同意")
|
@ApiOperation(value="企标更改流程-同意", notes="企标更改流程-同意")
|
||||||
@PostMapping("/agree")
|
@PostMapping("/agree")
|
||||||
public Result<?> agree(@RequestBody ESChangeDataVO changeData) {
|
public Result<?> agree(@RequestBody ESChangeDataVO changeData) {
|
||||||
changeService.approvalInitChange(changeData, true);
|
changeService.approval(changeData, true);
|
||||||
return Result.OK();
|
return Result.OK();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -86,11 +86,11 @@ public class ESChangeController {
|
|||||||
*
|
*
|
||||||
* @param changeData
|
* @param changeData
|
||||||
*/
|
*/
|
||||||
@AutoLog(value = "企标更改发起流程-驳回")
|
@AutoLog(value = "企标更改流程-驳回")
|
||||||
@ApiOperation(value="企标更改发起流程-驳回", notes="企标更改发起流程-驳回")
|
@ApiOperation(value="企标更改流程-驳回", notes="企标更改流程-驳回")
|
||||||
@PostMapping("/reject")
|
@PostMapping("/reject")
|
||||||
public Result<?> reject(@RequestBody ESChangeDataVO changeData) {
|
public Result<?> reject(@RequestBody ESChangeDataVO changeData) {
|
||||||
changeService.approvalInitChange(changeData, false);
|
changeService.approval(changeData, false);
|
||||||
return Result.OK();
|
return Result.OK();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -98,8 +98,8 @@ public class ESChangeController {
|
|||||||
* 转办
|
* 转办
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@AutoLog(value = "企标更改发起流程-转办")
|
@AutoLog(value = "企标更改流程-转办")
|
||||||
@ApiOperation(value="企标更改发起流程-转办", notes="企标更改发起流程-转办")
|
@ApiOperation(value="企标更改流程-转办", notes="企标更改流程-转办")
|
||||||
@PostMapping(value = "/transfer")
|
@PostMapping(value = "/transfer")
|
||||||
public Result<?> transfer(@RequestBody TransferVO transferVO) {
|
public Result<?> transfer(@RequestBody TransferVO transferVO) {
|
||||||
actFlowCommonService.transfer(transferVO.getTaskId(), transferVO.getUserId());
|
actFlowCommonService.transfer(transferVO.getTaskId(), transferVO.getUserId());
|
||||||
|
|||||||
+1
-1
@@ -100,7 +100,7 @@ public class ProcessEsChange implements Serializable {
|
|||||||
* 企标英文名称
|
* 企标英文名称
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "企标英文名称")
|
@ApiModelProperty(value = "企标英文名称")
|
||||||
private String englishName;
|
private String standardEnglishName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发布日期
|
* 发布日期
|
||||||
|
|||||||
+3
-1
@@ -6,6 +6,8 @@ import com.jero.modules.activiti.process.esChange.entity.ProcessEsChange;
|
|||||||
import com.jero.modules.activiti.process.esRecheck.entity.vo.ESRecheckFlowUserVO;
|
import com.jero.modules.activiti.process.esRecheck.entity.vo.ESRecheckFlowUserVO;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author: Mzaxd
|
* @author: Mzaxd
|
||||||
@@ -21,5 +23,5 @@ public class ESChangeDataVO {
|
|||||||
ProcessEsChange data;
|
ProcessEsChange data;
|
||||||
|
|
||||||
@JsonProperty("flowUser")
|
@JsonProperty("flowUser")
|
||||||
ESChangeFlowUserVO flowUser;
|
Map<String, Object> flowUser;
|
||||||
}
|
}
|
||||||
|
|||||||
-37
@@ -1,37 +0,0 @@
|
|||||||
package com.jero.modules.activiti.process.esChange.entity.vo;
|
|
||||||
|
|
||||||
import com.jero.common.aspect.annotation.Dict;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author: Mzaxd
|
|
||||||
* @Date: 2023/10/9 16:57
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class ESChangeFlowUserVO {
|
|
||||||
|
|
||||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
|
||||||
@ApiModelProperty("主起草人")
|
|
||||||
private String mainDraftUser;
|
|
||||||
|
|
||||||
// 主起草人主管级领导
|
|
||||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
|
||||||
@ApiModelProperty("主起草人主管级领导")
|
|
||||||
private String mainDraftUserLeader;
|
|
||||||
|
|
||||||
// 主起草人主管级领导上级领导
|
|
||||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
|
||||||
@ApiModelProperty("主起草人主管级领导上级领导")
|
|
||||||
private String mainDraftUserLeaderLeader;
|
|
||||||
|
|
||||||
// 标准化审批人
|
|
||||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
|
||||||
@ApiModelProperty("标准化审批人")
|
|
||||||
private String standardizationUser;
|
|
||||||
|
|
||||||
// 相关人员
|
|
||||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
|
||||||
@ApiModelProperty("相关人员")
|
|
||||||
private String relatedUser;
|
|
||||||
}
|
|
||||||
+1
-1
@@ -17,5 +17,5 @@ public interface ProcessEsChangeService extends IService<ProcessEsChange> {
|
|||||||
|
|
||||||
ESChangeDataVO getHandleData(String taskId);
|
ESChangeDataVO getHandleData(String taskId);
|
||||||
|
|
||||||
void approvalInitChange(ESChangeDataVO changeData, boolean pass);
|
void approval(ESChangeDataVO changeData, boolean pass);
|
||||||
}
|
}
|
||||||
|
|||||||
+28
-61
@@ -7,14 +7,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.modules.activiti.entity.ProcessAll;
|
import com.jero.modules.activiti.entity.ProcessAll;
|
||||||
import com.jero.modules.activiti.entity.ProcessNode;
|
|
||||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||||
import com.jero.modules.activiti.process.common.entity.CommonVO;
|
import com.jero.modules.activiti.process.common.entity.CommonVO;
|
||||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||||
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||||
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
||||||
import com.jero.modules.activiti.process.esChange.entity.vo.ESChangeFlowUserVO;
|
|
||||||
import com.jero.modules.activiti.process.esChange.entity.ProcessEsChange;
|
import com.jero.modules.activiti.process.esChange.entity.ProcessEsChange;
|
||||||
import com.jero.modules.activiti.process.esChange.entity.vo.ESChangeDataVO;
|
import com.jero.modules.activiti.process.esChange.entity.vo.ESChangeDataVO;
|
||||||
import com.jero.modules.activiti.process.esChange.service.ProcessEsChangeService;
|
import com.jero.modules.activiti.process.esChange.service.ProcessEsChangeService;
|
||||||
@@ -31,18 +29,17 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author ThinkBook
|
* @author ThinkBook
|
||||||
* @description 针对表【process_es_change(企业标准)】的数据库操作Service实现
|
* @description 针对表【process_es_change(企业标准)】的数据库操作Service实现
|
||||||
* @createDate 2023-10-29 21:00:13
|
* @createDate 2023-10-29 21:00:13
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Transactional(rollbackFor = JeroBootException.class)
|
@Transactional(rollbackFor = JeroBootException.class)
|
||||||
@Service
|
@Service
|
||||||
public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMapper, ProcessEsChange>
|
public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMapper, ProcessEsChange>
|
||||||
implements ProcessEsChangeService{
|
implements ProcessEsChangeService {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private ProcessAllService processAllService;
|
private ProcessAllService processAllService;
|
||||||
@@ -67,7 +64,7 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
|
|||||||
// 执行流程发起前的操作
|
// 执行流程发起前的操作
|
||||||
this.startRunTask(changeData);
|
this.startRunTask(changeData);
|
||||||
// 流程Key
|
// 流程Key
|
||||||
String processDefinitionKey = ProcessType.ES_INIT_CHANGE.getProcessKey();
|
String processDefinitionKey = ProcessType.ES_CHANGE.getProcessKey();
|
||||||
// 当前用户Id
|
// 当前用户Id
|
||||||
String userId = UserUtils.getUserId();
|
String userId = UserUtils.getUserId();
|
||||||
// 业务数据
|
// 业务数据
|
||||||
@@ -75,16 +72,16 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
|
|||||||
// 通用数据
|
// 通用数据
|
||||||
CommonVO common = changeData.getCommon();
|
CommonVO common = changeData.getCommon();
|
||||||
// 人员数据
|
// 人员数据
|
||||||
ESChangeFlowUserVO flowUser = changeData.getFlowUser();
|
Map<String, Object> variables = changeData.getFlowUser();
|
||||||
// 设置流程变量
|
// 设置流程变量
|
||||||
Map<String, Object> variables = this.setVariables(flowUser);
|
Map<String, Object> actVariables = this.setVariables(variables);
|
||||||
// 启动流程
|
// 启动流程
|
||||||
ProcessInstance processInstance = actFlowCommonService.startProcess(processDefinitionKey, variables);
|
ProcessInstance processInstance = actFlowCommonService.startProcess(processDefinitionKey, actVariables);
|
||||||
// 获取流程实例ID
|
// 获取流程实例ID
|
||||||
String processDefinitionId = processInstance.getProcessDefinitionId();
|
String processDefinitionId = processInstance.getProcessDefinitionId();
|
||||||
String processInstanceId = processInstance.getId();
|
String processInstanceId = processInstance.getId();
|
||||||
// 手动设置所有流程变量
|
// 手动设置所有流程变量
|
||||||
actFlowCommonService.setProcessVariables(processInstanceId, variables);
|
actFlowCommonService.setProcessVariables(processInstanceId, actVariables);
|
||||||
// 自动完成第一个任务
|
// 自动完成第一个任务
|
||||||
actFlowCommonService.autoCompleteFirstTask(userId, processInstanceId, processDefinitionId, common);
|
actFlowCommonService.autoCompleteFirstTask(userId, processInstanceId, processDefinitionId, common);
|
||||||
// 设置流程实例Id
|
// 设置流程实例Id
|
||||||
@@ -101,27 +98,24 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
|
|||||||
actFlowCommonService.updateProcessAll(processInstanceId, userId, prcName, prcMes, prcType, dueTime);
|
actFlowCommonService.updateProcessAll(processInstanceId, userId, prcName, prcMes, prcType, dueTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<String, Object> setVariables(ESChangeFlowUserVO flowUser) {
|
public Map<String, Object> setVariables(Map<String, Object> flowUser) {
|
||||||
return new HashMap<>(this.setUserVariables(flowUser));
|
Map<String, Object> actVariables = new HashMap<>();
|
||||||
}
|
String relatedUsers = (String) flowUser.get("relatedUserList");
|
||||||
|
// 将relatedUserList从逗号拼接转为List
|
||||||
public Map<String, Object> setUserVariables(ESChangeFlowUserVO flowUser) {
|
List<String> relatedUserList = StrUtil.split(relatedUsers, ',');
|
||||||
HashMap<String, Object> map = new HashMap<>();
|
actFlowCommonService.putIfNotNull(actVariables, "relatedUserList", relatedUserList);
|
||||||
// 使用一个通用方法来只在不为空时添加键值对
|
for (Map.Entry<String, Object> entry : flowUser.entrySet()) {
|
||||||
actFlowCommonService.putIfNotNull(map, "mainDraftUser", flowUser.getMainDraftUser());
|
String key = entry.getKey();
|
||||||
actFlowCommonService.putIfNotNull(map, "relatedUserList", Optional.ofNullable(flowUser.getRelatedUser()).map(s -> Arrays.asList(s.split(","))).orElse(null));
|
if (!key.equals("relatedUserList")) {
|
||||||
actFlowCommonService.putIfNotNull(map, "mainDraftUserLeader", flowUser.getMainDraftUserLeader());
|
actVariables.put(key, entry.getValue());
|
||||||
actFlowCommonService.putIfNotNull(map, "mainDraftUserLeaderLeader", flowUser.getMainDraftUserLeaderLeader());
|
}
|
||||||
actFlowCommonService.putIfNotNull(map, "standardizationUser", flowUser.getStandardizationUser());
|
}
|
||||||
return map;
|
actVariables.put("pass", true);
|
||||||
|
return actVariables;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Map<String, Object> getUserMap(Map<String, Object> variables) {
|
private Map<String, Object> getUserMap(Map<String, Object> variables) {
|
||||||
variables.remove("pass");
|
variables.remove("pass");
|
||||||
// 转成逗号拼接
|
|
||||||
variables.put("relatedUserList", Optional.ofNullable((List<String>) variables.get("relatedUserList"))
|
|
||||||
.map(list -> String.join(",", list))
|
|
||||||
.orElse(""));
|
|
||||||
return variables;
|
return variables;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -186,50 +180,23 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
|
|||||||
lambdaQueryWrapper.eq(ProcessEsChange::getDelFlag, YesOrNoEnum.NO.getValue());
|
lambdaQueryWrapper.eq(ProcessEsChange::getDelFlag, YesOrNoEnum.NO.getValue());
|
||||||
ProcessEsChange data = getOne(lambdaQueryWrapper);
|
ProcessEsChange data = getOne(lambdaQueryWrapper);
|
||||||
changeData.setData(data);
|
changeData.setData(data);
|
||||||
// 选人组件内容填充
|
|
||||||
changeData.setFlowUser(this.getProcessUserInfo(processDefinitionId, processInstanceId));
|
|
||||||
return changeData;
|
return changeData;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ESChangeFlowUserVO getProcessUserInfo(String processDefinitionId, String processInstanceId) {
|
|
||||||
List<ProcessNode> nodeList = processNodeService.getNodeList(processDefinitionId, processInstanceId);
|
|
||||||
ESChangeFlowUserVO flowUser = new ESChangeFlowUserVO();
|
|
||||||
Map<String, ProcessNode> userMap = nodeList.stream().collect(Collectors.toMap(ProcessNode::getVariableName, node -> node));
|
|
||||||
Optional.ofNullable(userMap.get("mainDraftUser")).ifPresent(node -> flowUser.setMainDraftUser(node.getLinkUserIds()));
|
|
||||||
Optional.ofNullable(userMap.get("relatedUserList")).ifPresent(node -> flowUser.setRelatedUser(node.getLinkUserIds()));
|
|
||||||
Optional.ofNullable(userMap.get("mainDraftUserLeader")).ifPresent(node -> flowUser.setMainDraftUserLeader(node.getLinkUserIds()));
|
|
||||||
Optional.ofNullable(userMap.get("standardizationUser")).ifPresent(node -> flowUser.setStandardizationUser(node.getLinkUserIds()));
|
|
||||||
Optional.ofNullable(userMap.get("mainDraftUserLeaderLeader")).ifPresent(node -> flowUser.setMainDraftUserLeaderLeader(node.getLinkUserIds()));
|
|
||||||
return flowUser;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void approvalInitChange(ESChangeDataVO changeData, boolean pass) {
|
public void approval(ESChangeDataVO changeData, boolean pass) {
|
||||||
String userId = UserUtils.getUserId();
|
String userId = UserUtils.getUserId();
|
||||||
CommonVO commonVO = changeData.getCommon();
|
CommonVO commonVO = changeData.getCommon();
|
||||||
ProcessEsChange data = changeData.getData();
|
|
||||||
String taskId = commonVO.getTaskId();
|
String taskId = commonVO.getTaskId();
|
||||||
if (StrUtil.isBlank(taskId) && !actFlowCommonService.taskExists(taskId)) {
|
if (StrUtil.isBlank(taskId) && !actFlowCommonService.taskExists(taskId)) {
|
||||||
throw new JeroBootException("taskId为空或任务不存在");
|
throw new JeroBootException("taskId为空或任务不存在");
|
||||||
}
|
}
|
||||||
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
|
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
|
||||||
String processDefinitionId = actFlowCommonService.getProcessDefId(processInstanceId);
|
// 设置流程变量
|
||||||
if (pass) {
|
runtimeService.setVariable(processInstanceId, "pass", pass);
|
||||||
if (data != null) {
|
|
||||||
saveOrUpdate(data);
|
|
||||||
ESChangeFlowUserVO flowUserInfoVO = changeData.getFlowUser();
|
|
||||||
Map<String, Object> variables = this.setVariables(flowUserInfoVO);
|
|
||||||
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, this.getUserMap(variables));
|
|
||||||
actFlowCommonService.setProcessVariables(processInstanceId, variables);
|
|
||||||
}
|
|
||||||
runtimeService.setVariable(processInstanceId, "pass", true);
|
|
||||||
} else {
|
|
||||||
// 设置流程变量
|
|
||||||
runtimeService.setVariable(processInstanceId, "pass", false);
|
|
||||||
}
|
|
||||||
// 更新审批表为完成,填充数据
|
// 更新审批表为完成,填充数据
|
||||||
actFlowCommonService.updateApprovalInfo(commonVO, taskId, pass);
|
actFlowCommonService.updateApprovalInfo(commonVO, taskId, pass);
|
||||||
//审批节点
|
// 审批节点
|
||||||
actFlowCommonService.completeTask(taskId, userId);
|
actFlowCommonService.completeTask(taskId, userId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user