update 标准征求意见流程-发起流程 自测成功
This commit is contained in:
+1
-1
@@ -59,7 +59,7 @@ public class MyGlobalEventListener implements ActivitiEventListener {
|
|||||||
this.activityComplete(event);
|
this.activityComplete(event);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
log.info("Event received: " + event.getType());
|
//log.info("Event received: " + event.getType());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
package com.jero.modules.activiti.process.projectassess.common;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author liJiaRao
|
||||||
|
* @date 2023-12-13 17:28
|
||||||
|
*/
|
||||||
|
public class ProcessProjectAssessCommon {
|
||||||
|
public static String standardsEngineer = "standardsEngineer";
|
||||||
|
public static String managerLeaderList = "managerLeaderList";
|
||||||
|
}
|
||||||
+47
-25
@@ -1,30 +1,41 @@
|
|||||||
package com.jero.modules.activiti.process.projectassess.service;
|
package com.jero.modules.activiti.process.projectassess.service;
|
||||||
|
import cn.hutool.core.collection.CollStreamUtil;
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import com.jero.common.api.vo.ResultCommon;
|
||||||
|
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||||
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.common.system.api.ISysBaseAPI;
|
import com.jero.common.system.api.ISysBaseAPI;
|
||||||
import com.jero.common.system.vo.LoginUser;
|
import com.jero.common.system.vo.LoginUser;
|
||||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||||
import com.jero.modules.activiti.process.fb.common.ProcessDefinitionKey;
|
import com.jero.modules.activiti.process.fb.common.ProcessDefinitionKey;
|
||||||
import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO;
|
import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO;
|
||||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||||
|
import com.jero.modules.activiti.process.projectassess.common.ProcessProjectAssessCommon;
|
||||||
import com.jero.modules.activiti.process.projectassess.entity.ProcessProjectAssessTerm;
|
import com.jero.modules.activiti.process.projectassess.entity.ProcessProjectAssessTerm;
|
||||||
import com.jero.modules.activiti.process.projectassess.entity.ProcessProjectAssessTermUser;
|
import com.jero.modules.activiti.process.projectassess.entity.ProcessProjectAssessTermUser;
|
||||||
import com.jero.modules.activiti.process.projectassess.entity.ProcessProjectAssessLink;
|
import com.jero.modules.activiti.process.projectassess.entity.ProcessProjectAssessLink;
|
||||||
|
|
||||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||||
import com.jero.modules.activiti.process.projectassess.vo.ProcessProjectAssessVO;
|
import com.jero.modules.activiti.process.projectassess.vo.ProcessProjectAssessVO;
|
||||||
|
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.List;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.jero.modules.activiti.process.projectassess.entity.ProcessProjectAssess;
|
import com.jero.modules.activiti.process.projectassess.entity.ProcessProjectAssess;
|
||||||
import com.jero.modules.activiti.process.projectassess.mapper.ProcessProjectAssessMapper;
|
import com.jero.modules.activiti.process.projectassess.mapper.ProcessProjectAssessMapper;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*@author liJiaRao
|
*@author liJiaRao
|
||||||
*@date 2023-12-05 15:57
|
*@date 2023-12-05 15:57
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAssessMapper, ProcessProjectAssess> {
|
public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAssessMapper, ProcessProjectAssess> {
|
||||||
@Resource
|
@Resource
|
||||||
private ISysBaseAPI sysBaseAPI;
|
private ISysBaseAPI sysBaseAPI;
|
||||||
@@ -59,47 +70,58 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
|
|||||||
|
|
||||||
ProcessProjectAssess processProjectAssess = businessInfoDTO.getProcessProjectAssess();
|
ProcessProjectAssess processProjectAssess = businessInfoDTO.getProcessProjectAssess();
|
||||||
this.save(processProjectAssess);
|
this.save(processProjectAssess);
|
||||||
String id = processProjectAssess.getId();
|
String assessmentId = processProjectAssess.getId();
|
||||||
|
//保存关联标准
|
||||||
List<ProcessProjectAssessLink> processProjectAssessLinkList = businessInfoDTO.getProcessProjectAssessLinkList();
|
List<ProcessProjectAssessLink> processProjectAssessLinkList = businessInfoDTO.getProcessProjectAssessLinkList();
|
||||||
for (ProcessProjectAssessLink processProjectAssessLink : processProjectAssessLinkList) {
|
for (ProcessProjectAssessLink processProjectAssessLink : processProjectAssessLinkList) {
|
||||||
processProjectAssessLink.setAssessmentId(id);
|
processProjectAssessLink.setId(null);
|
||||||
|
processProjectAssessLink.setAssessmentId(assessmentId);
|
||||||
}
|
}
|
||||||
processProjectAssessLinkService.saveBatch(processProjectAssessLinkList);
|
processProjectAssessLinkService.saveBatch(processProjectAssessLinkList);
|
||||||
|
//保存关联的条款、标准
|
||||||
List<ProcessProjectAssessTerm> processProjectAssessTermList = businessInfoDTO.getProcessProjectAssessTermList();
|
List<ProcessProjectAssessTerm> processProjectAssessTermList = businessInfoDTO.getProcessProjectAssessTermList();
|
||||||
for (ProcessProjectAssessTerm processProjectAssessTerm : processProjectAssessTermList) {
|
for (ProcessProjectAssessTerm processProjectAssessTerm : processProjectAssessTermList) {
|
||||||
processProjectAssessTerm.setAssessmentId(id);
|
processProjectAssessTerm.setAssessmentId(assessmentId);
|
||||||
}
|
}
|
||||||
processProjectAssessTermService.saveBatch(processProjectAssessTermList);
|
processProjectAssessTermService.saveBatch(processProjectAssessTermList);
|
||||||
|
//保存条款和负责人的关联关系
|
||||||
|
List<String> AllResponsibleUnitLeaderList = new ArrayList<>();
|
||||||
List<ProcessProjectAssessTermUser> saveProcessProjectAssessTermUserList = new ArrayList<>();
|
List<ProcessProjectAssessTermUser> saveProcessProjectAssessTermUserList = new ArrayList<>();
|
||||||
List<ProcessProjectAssessTermUser> processProjectAssessTermUserList = businessInfoDTO.getProcessProjectAssessTermUserList();
|
for (ProcessProjectAssessTerm processProjectAssessTerm : processProjectAssessTermList) {
|
||||||
for (ProcessProjectAssessTermUser processProjectAssessTermUser : processProjectAssessTermUserList) {
|
String termId = processProjectAssessTerm.getId();
|
||||||
processProjectAssessTermUser.setAssessmentId(id);
|
processProjectAssessTerm.setAssessmentId(assessmentId);
|
||||||
String responsibleUnitLeader = processProjectAssessTermUser.getResponsibleUnitLeader();
|
Integer canAssignFlag = processProjectAssessTerm.getCanAssignFlag();
|
||||||
String responsibleUnit = processProjectAssessTermUser.getResponsibleUnit();
|
//如果是不需要分派的先跳过
|
||||||
if (StringUtils.isBlank(responsibleUnitLeader)||StringUtils.isBlank(responsibleUnit)){
|
if (YesOrNoEnum.NO.getInteger().equals(canAssignFlag)){
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
String[] responsibleUnitLeaderSplit = responsibleUnitLeader.split(",");
|
String responsibleUnitLeaders = processProjectAssessTerm.getResponsibleUnitLeaders();
|
||||||
String[] responsibleUnitSplit = responsibleUnit.split(",");
|
if (StringUtils.isBlank(responsibleUnitLeaders)){
|
||||||
for (int i = 0; i < responsibleUnitLeaderSplit.length; i++) {
|
throw new JeroBootException(ResultCommon.PARAMETER_NOT_RECOGNIZED);
|
||||||
String responsibleUnitLeaderId = responsibleUnitLeaderSplit[i];
|
|
||||||
String responsibleUnitId = responsibleUnitSplit[i];
|
|
||||||
ProcessProjectAssessTermUser saveProcessProjectAssessTermUser = new ProcessProjectAssessTermUser();
|
|
||||||
|
|
||||||
saveProcessProjectAssessTermUser.setAssessmentId(id);
|
|
||||||
saveProcessProjectAssessTermUser.setTremId(processProjectAssessTermUser.getTremId());
|
|
||||||
saveProcessProjectAssessTermUser.setResponsibleUnit(responsibleUnitId);
|
|
||||||
saveProcessProjectAssessTermUser.setResponsibleUnitLeader(responsibleUnitLeaderId);
|
|
||||||
saveProcessProjectAssessTermUserList.add(saveProcessProjectAssessTermUser);
|
|
||||||
}
|
}
|
||||||
|
//去重
|
||||||
|
List<String> responsibleUnitLeaderList = Arrays.asList(responsibleUnitLeaders.split(","));
|
||||||
|
List<String> distinctResponsibleUnitLeader = responsibleUnitLeaderList.stream().distinct().collect(Collectors.toList());
|
||||||
|
for (String responsibleUnitLeader : distinctResponsibleUnitLeader) {
|
||||||
|
ProcessProjectAssessTermUser processProjectAssessTermUser = new ProcessProjectAssessTermUser();
|
||||||
|
processProjectAssessTermUser.setAssessmentId(assessmentId);
|
||||||
|
processProjectAssessTermUser.setTremId(termId);
|
||||||
|
processProjectAssessTermUser.setResponsibleUnitLeader(responsibleUnitLeader);
|
||||||
|
saveProcessProjectAssessTermUserList.add(processProjectAssessTermUser);
|
||||||
|
}
|
||||||
|
AllResponsibleUnitLeaderList.addAll(distinctResponsibleUnitLeader);
|
||||||
}
|
}
|
||||||
|
List<String> distinctAllResponsibleUnitLeaderList = AllResponsibleUnitLeaderList.stream().distinct().collect(Collectors.toList());
|
||||||
|
String distinctAllResponsibleUnitLeaderListJoin = CollectionUtil.join(distinctAllResponsibleUnitLeaderList, ",");
|
||||||
processProjectAssessTermUserService.saveBatch(saveProcessProjectAssessTermUserList);
|
processProjectAssessTermUserService.saveBatch(saveProcessProjectAssessTermUserList);
|
||||||
|
|
||||||
BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO();
|
BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO();
|
||||||
basicProcessInfoDTO.setProcessDefinitionId(processHandleService.getDefinitionIdByKey(ProcessDefinitionKey.PROJECT_ASSESS)); // 流程定义id
|
basicProcessInfoDTO.setProcessDefinitionId(processHandleService.getDefinitionIdByKey(ProcessDefinitionKey.PROJECT_ASSESS)); // 流程定义id
|
||||||
basicProcessInfoDTO.setProcessType(ProcessTypeEnum.PROJECT_ASSESS.getValue()); // 流程类型
|
basicProcessInfoDTO.setProcessType(ProcessTypeEnum.PROJECT_ASSESS.getValue()); // 流程类型
|
||||||
|
Map<String, Object> userInfoMap = new HashMap<>();
|
||||||
|
userInfoMap.put(ProcessProjectAssessCommon.standardsEngineer, CurrentUserUtil.getId());
|
||||||
|
userInfoMap.put(ProcessProjectAssessCommon.managerLeaderList, distinctAllResponsibleUnitLeaderListJoin);
|
||||||
|
processInfoVO.setUserInfoMap(userInfoMap);
|
||||||
processHandleService.startProcess(processInfoVO);
|
processHandleService.startProcess(processInfoVO);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user