完善市场清单发布流程
This commit is contained in:
@@ -11,10 +11,10 @@ import lombok.Getter;
|
||||
@AllArgsConstructor
|
||||
public enum ProcessTypeEnum {
|
||||
DEMO("测试流程", 0, "com.jero.modules.activiti.process.demo.service.ProcessDemoService", "/workCenter/StandardEntryOrChangeProcess", "/workCenter/StandardEntryOrChangeProcess"),
|
||||
NEW_STANDARD_IMPORT("新法规导入流程", 1, "com.jero.modules.activiti.process.ni.service.impl.ProcessNewStandardImportServiceImpl", "/workCenter/ProcessNewStandardImportProcess", "/workCenter/StandardComplianceCheckProcess"),
|
||||
NEW_STANDARD_IMPORT("新法规导入流程", 1, "com.jero.modules.activiti.process.ni.service.impl.ProcessNewStandardImportServiceImpl", "/workCenter/", "/workCenter/"),
|
||||
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"),
|
||||
MARKET_STANDARD_PUBLISH("市场清单发布流程", 4, "com.jero.modules.activiti.process.ni.service.ProcessNewStandardImportService", "/workCenter/ProcessNewStandardImportProcess", "/workCenter/StandardComplianceCheckProcess"),
|
||||
MARKET_STANDARD_PUBLISH("市场清单发布流程", 4, "com.jero.modules.activiti.process.ms.service.impl.ProcessMarketStandardReleaseServiceImpl", "/workCenter/", "/workCenter/"),
|
||||
;
|
||||
|
||||
private final String name;
|
||||
|
||||
+2
-2
@@ -30,7 +30,7 @@ public interface IProcessMarketStandardReleaseService extends IService<ProcessMa
|
||||
/**
|
||||
* 根据id 判断数据的流程状态
|
||||
* @param id
|
||||
* @return boolean true:没有流程或流程已结束 false:有正在流转的流程
|
||||
* @return
|
||||
*/
|
||||
boolean checkProcessStatus(String id);
|
||||
void checkProcessStatus(String id);
|
||||
}
|
||||
|
||||
+34
-26
@@ -3,6 +3,7 @@ package com.jero.modules.activiti.process.ms.service.impl;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
@@ -20,6 +21,7 @@ import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail;
|
||||
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardDetailService;
|
||||
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardService;
|
||||
import com.jero.modules.sys.utils.UserUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
@@ -50,31 +52,26 @@ public class ProcessMarketStandardReleaseServiceImpl extends ServiceImpl<Process
|
||||
|
||||
@Resource
|
||||
private ActFlowCommonService actFlowCommonService;
|
||||
|
||||
@Resource
|
||||
private ProcessNodeLinkService processNodeLinkService;
|
||||
|
||||
@Resource
|
||||
private TaskService taskService;
|
||||
|
||||
@Resource
|
||||
private ProcessAllService processAllService;
|
||||
|
||||
@Resource
|
||||
private RuntimeService runtimeService;
|
||||
|
||||
@Resource
|
||||
private IProcessHandleService processHandleService;
|
||||
|
||||
@Resource
|
||||
private ProcessMarketStandardReleaseMapper processMarketStandardReleaseMapper;
|
||||
|
||||
@Resource
|
||||
private ILawsMarketStandardDetailService lawsMarketStandardDetailService;
|
||||
@Resource
|
||||
private ILawsMarketStandardService lawsMarketStandardService;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public void startProcess(ProcessInfoVO<ProcessMarketStandardRelease> processInfoVO) {
|
||||
// 验证是否已发起流程
|
||||
checkProcessStatus(processInfoVO.getBusinessInfoDTO().getManifestId());
|
||||
// 流程Key
|
||||
String processDefinitionKey = ProcessType.MARKET_STANDARD_PUBLISH.getProcessKey();
|
||||
// 流程信息
|
||||
@@ -125,11 +122,14 @@ public class ProcessMarketStandardReleaseServiceImpl extends ServiceImpl<Process
|
||||
// 人员信息
|
||||
userInfoMap.forEach((key, value) -> {
|
||||
if(Objects.equals("moreUserList",key)){
|
||||
map.put(key, value);
|
||||
map.put(key, Arrays.asList(value.toString().split(",")));
|
||||
return;
|
||||
}else if(Objects.equals("checkUserLeader1List",key + "List")
|
||||
|| Objects.equals("checkUserLeader2List",key + "List")){
|
||||
map.put(key, value);
|
||||
map.put(key + "List", Arrays.asList(value.toString().split(",")));
|
||||
}else{
|
||||
map.put(key, value);
|
||||
}
|
||||
map.put(key, value);
|
||||
});
|
||||
return map;
|
||||
}
|
||||
@@ -137,6 +137,8 @@ public class ProcessMarketStandardReleaseServiceImpl extends ServiceImpl<Process
|
||||
@Override
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public void saveToDraft(ProcessInfoVO<ProcessMarketStandardRelease> processInfoVO) {
|
||||
// 验证是否已发起流程
|
||||
checkProcessStatus(processInfoVO.getBusinessInfoDTO().getManifestId());
|
||||
// 流程信息
|
||||
BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO();
|
||||
// 流程类型
|
||||
@@ -164,33 +166,39 @@ public class ProcessMarketStandardReleaseServiceImpl extends ServiceImpl<Process
|
||||
}
|
||||
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);
|
||||
// 保存快照
|
||||
processHandleService.saveToSnapshot(processInfoVO,userId);
|
||||
// 获取流程通用数据
|
||||
ProcessAll process = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
if(!Objects.isNull(process)){
|
||||
BasicProcessInfoDTO basicProcessInfoDTO = new BasicProcessInfoDTO();
|
||||
basicProcessInfoDTO.setProcessName(process.getPrcName());
|
||||
basicProcessInfoDTO.setProcessType(process.getPrcType());
|
||||
basicProcessInfoDTO.setProcessDefinitionId(process.getProcessDefinitionId());
|
||||
basicProcessInfoDTO.setProcessInstanceId(process.getProcessInstanceId());
|
||||
basicProcessInfoDTO.setProcessDescription(process.getPrcMes());
|
||||
basicProcessInfoDTO.setProcessDueDate(process.getDueTime());
|
||||
processInfoVO.setBasicProcessInfoDTO(basicProcessInfoDTO);
|
||||
// 保存快照
|
||||
processHandleService.saveToSnapshot(processInfoVO,userId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -216,7 +224,8 @@ public class ProcessMarketStandardReleaseServiceImpl extends ServiceImpl<Process
|
||||
if(Objects.isNull(processMarketStandardRelease)){
|
||||
return;
|
||||
}
|
||||
// todo 更新业务状态
|
||||
// 更新业务状态
|
||||
lawsMarketStandardService.publish(processMarketStandardRelease.getManifestId());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -247,7 +256,7 @@ public class ProcessMarketStandardReleaseServiceImpl extends ServiceImpl<Process
|
||||
LambdaQueryWrapper<LawsMarketStandardDetail> queryLawsMarketStandardDetail = new LambdaQueryWrapper<>();
|
||||
queryLawsMarketStandardDetail.eq(LawsMarketStandardDetail::getManifestId,data.getManifestId());
|
||||
queryLawsMarketStandardDetail.orderByDesc(LawsMarketStandardDetail::getId);
|
||||
List<LawsMarketStandardDetail> listLawsMarketStandardDetail = lawsMarketStandardDetailService.list();
|
||||
List<LawsMarketStandardDetail> listLawsMarketStandardDetail = lawsMarketStandardDetailService.list(queryLawsMarketStandardDetail);
|
||||
if(!CollectionUtils.isEmpty(listLawsMarketStandardDetail)){
|
||||
data.setList(listLawsMarketStandardDetail);
|
||||
}
|
||||
@@ -258,13 +267,13 @@ public class ProcessMarketStandardReleaseServiceImpl extends ServiceImpl<Process
|
||||
|
||||
|
||||
@Override
|
||||
public boolean checkProcessStatus(String id) {
|
||||
public void checkProcessStatus(String id) {
|
||||
LambdaQueryWrapper<ProcessMarketStandardRelease> queryWrapperMarketStandardRelease = new LambdaQueryWrapper<>();
|
||||
queryWrapperMarketStandardRelease.select(ProcessMarketStandardRelease::getProcessInstanceId);
|
||||
queryWrapperMarketStandardRelease.eq(ProcessMarketStandardRelease::getManifestId,id);
|
||||
List<ProcessMarketStandardRelease> listProcessMarketStandardRelease = list(queryWrapperMarketStandardRelease);
|
||||
if(CollectionUtils.isEmpty(listProcessMarketStandardRelease)){
|
||||
return true;
|
||||
return;
|
||||
}
|
||||
List<String> listProcessInstanceId = listProcessMarketStandardRelease.stream()
|
||||
.map(ProcessMarketStandardRelease::getProcessInstanceId).collect(Collectors.toList());
|
||||
@@ -273,9 +282,8 @@ public class ProcessMarketStandardReleaseServiceImpl extends ServiceImpl<Process
|
||||
queryProcessAll.eq(ProcessAll::getPrcStatus,"1");
|
||||
long l = processAllService.count(queryProcessAll);
|
||||
if(l > 0){
|
||||
return false;
|
||||
throw new JeroBootException("当前数据已发布的流程未结束,不可重复发布");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+17
-7
@@ -116,6 +116,8 @@ public class ProcessNewStandardImportServiceImpl extends ServiceImpl<ProcessNewS
|
||||
actFlowCommonService.completeTask(taskId, userId);
|
||||
// 根据流程实例id更新流程总表
|
||||
actFlowCommonService.updateProcessAll(processInfo);
|
||||
// 保存快照
|
||||
processHandleService.saveToSnapshot(processInfoVO,userId);
|
||||
}
|
||||
|
||||
private Map<String, Object> setVariables(Map<String, Object> userInfoMap) {
|
||||
@@ -165,31 +167,39 @@ public class ProcessNewStandardImportServiceImpl extends ServiceImpl<ProcessNewS
|
||||
}
|
||||
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);
|
||||
// 保存快照
|
||||
// 获取流程通用数据
|
||||
ProcessAll process = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
if(!Objects.isNull(process)){
|
||||
BasicProcessInfoDTO basicProcessInfoDTO = new BasicProcessInfoDTO();
|
||||
basicProcessInfoDTO.setProcessName(process.getPrcName());
|
||||
basicProcessInfoDTO.setProcessType(process.getPrcType());
|
||||
basicProcessInfoDTO.setProcessDefinitionId(process.getProcessDefinitionId());
|
||||
basicProcessInfoDTO.setProcessInstanceId(process.getProcessInstanceId());
|
||||
basicProcessInfoDTO.setProcessDescription(process.getPrcMes());
|
||||
basicProcessInfoDTO.setProcessDueDate(process.getDueTime());
|
||||
processInfoVO.setBasicProcessInfoDTO(basicProcessInfoDTO);
|
||||
// 保存快照
|
||||
processHandleService.saveToSnapshot(processInfoVO,userId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+1
-10
@@ -267,10 +267,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
|
||||
return Result.error("没有权限");
|
||||
}
|
||||
// 验证是否已发起流程
|
||||
boolean flag = processMarketStandardReleaseService.checkProcessStatus(id);
|
||||
if(!flag){
|
||||
return Result.error("当前数据已发布的流程未结束,不可重复发布");
|
||||
}
|
||||
processMarketStandardReleaseService.checkProcessStatus(id);
|
||||
|
||||
// 获取不同版本的数据
|
||||
LambdaQueryWrapper<LawsMarketStandard> queryLawsMarketStandard = new LambdaQueryWrapper<>();
|
||||
@@ -383,11 +380,6 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
|
||||
return Result.error("没有权限");
|
||||
}
|
||||
|
||||
// 验证是否已发起流程
|
||||
boolean flag = processMarketStandardReleaseService.checkProcessStatus(id);
|
||||
if(!flag){
|
||||
return Result.error("当前数据已发布的流程未结束,不可重复发布");
|
||||
}
|
||||
if(Objects.equals(lawsMarketStandardOld.getManifestStatus(),MarketStandardConstants.MANIFEST_STATUS_PUBLISH)){
|
||||
return Result.error("数据已发布");
|
||||
}
|
||||
@@ -403,7 +395,6 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
|
||||
updateLawsMarketStandard.set(LawsMarketStandard::getUpdateTime,new Date());
|
||||
updateLawsMarketStandard.set(LawsMarketStandard::getUpdateBy,sysUser.getUsername());
|
||||
update(updateLawsMarketStandard);
|
||||
// todo 发起流程
|
||||
return Result.OK("发布成功");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user