update 标准征求意见流程-发起流程 自测成功
This commit is contained in:
+1
-1
@@ -59,7 +59,7 @@ public class MyGlobalEventListener implements ActivitiEventListener {
|
||||
this.activityComplete(event);
|
||||
break;
|
||||
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;
|
||||
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.vo.LoginUser;
|
||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
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.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.ProcessProjectAssessTermUser;
|
||||
import com.jero.modules.activiti.process.projectassess.entity.ProcessProjectAssessLink;
|
||||
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
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.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.modules.activiti.process.projectassess.entity.ProcessProjectAssess;
|
||||
import com.jero.modules.activiti.process.projectassess.mapper.ProcessProjectAssessMapper;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
*
|
||||
*@author liJiaRao
|
||||
*@date 2023-12-05 15:57
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAssessMapper, ProcessProjectAssess> {
|
||||
@Resource
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
@@ -59,47 +70,58 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
|
||||
|
||||
ProcessProjectAssess processProjectAssess = businessInfoDTO.getProcessProjectAssess();
|
||||
this.save(processProjectAssess);
|
||||
String id = processProjectAssess.getId();
|
||||
String assessmentId = processProjectAssess.getId();
|
||||
//保存关联标准
|
||||
List<ProcessProjectAssessLink> processProjectAssessLinkList = businessInfoDTO.getProcessProjectAssessLinkList();
|
||||
for (ProcessProjectAssessLink processProjectAssessLink : processProjectAssessLinkList) {
|
||||
processProjectAssessLink.setAssessmentId(id);
|
||||
processProjectAssessLink.setId(null);
|
||||
processProjectAssessLink.setAssessmentId(assessmentId);
|
||||
}
|
||||
processProjectAssessLinkService.saveBatch(processProjectAssessLinkList);
|
||||
|
||||
//保存关联的条款、标准
|
||||
List<ProcessProjectAssessTerm> processProjectAssessTermList = businessInfoDTO.getProcessProjectAssessTermList();
|
||||
for (ProcessProjectAssessTerm processProjectAssessTerm : processProjectAssessTermList) {
|
||||
processProjectAssessTerm.setAssessmentId(id);
|
||||
processProjectAssessTerm.setAssessmentId(assessmentId);
|
||||
}
|
||||
processProjectAssessTermService.saveBatch(processProjectAssessTermList);
|
||||
|
||||
//保存条款和负责人的关联关系
|
||||
List<String> AllResponsibleUnitLeaderList = new ArrayList<>();
|
||||
List<ProcessProjectAssessTermUser> saveProcessProjectAssessTermUserList = new ArrayList<>();
|
||||
List<ProcessProjectAssessTermUser> processProjectAssessTermUserList = businessInfoDTO.getProcessProjectAssessTermUserList();
|
||||
for (ProcessProjectAssessTermUser processProjectAssessTermUser : processProjectAssessTermUserList) {
|
||||
processProjectAssessTermUser.setAssessmentId(id);
|
||||
String responsibleUnitLeader = processProjectAssessTermUser.getResponsibleUnitLeader();
|
||||
String responsibleUnit = processProjectAssessTermUser.getResponsibleUnit();
|
||||
if (StringUtils.isBlank(responsibleUnitLeader)||StringUtils.isBlank(responsibleUnit)){
|
||||
for (ProcessProjectAssessTerm processProjectAssessTerm : processProjectAssessTermList) {
|
||||
String termId = processProjectAssessTerm.getId();
|
||||
processProjectAssessTerm.setAssessmentId(assessmentId);
|
||||
Integer canAssignFlag = processProjectAssessTerm.getCanAssignFlag();
|
||||
//如果是不需要分派的先跳过
|
||||
if (YesOrNoEnum.NO.getInteger().equals(canAssignFlag)){
|
||||
continue;
|
||||
}
|
||||
String[] responsibleUnitLeaderSplit = responsibleUnitLeader.split(",");
|
||||
String[] responsibleUnitSplit = responsibleUnit.split(",");
|
||||
for (int i = 0; i < responsibleUnitLeaderSplit.length; i++) {
|
||||
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);
|
||||
String responsibleUnitLeaders = processProjectAssessTerm.getResponsibleUnitLeaders();
|
||||
if (StringUtils.isBlank(responsibleUnitLeaders)){
|
||||
throw new JeroBootException(ResultCommon.PARAMETER_NOT_RECOGNIZED);
|
||||
}
|
||||
//去重
|
||||
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);
|
||||
|
||||
BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO();
|
||||
basicProcessInfoDTO.setProcessDefinitionId(processHandleService.getDefinitionIdByKey(ProcessDefinitionKey.PROJECT_ASSESS)); // 流程定义id
|
||||
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);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user