add 项目合规评估流程 各个节点的查询详情
update 项目合规评估流程 各部门主管级领导下发
This commit is contained in:
+6
@@ -126,6 +126,12 @@ public class ProcessProjectAssessTerm {
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "不涉及原因")
|
||||
private String notInvolved;
|
||||
/**
|
||||
* 上一节点处理人
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "上一节点处理人")
|
||||
private String previousNodeHandler;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "条款关联用户")
|
||||
|
||||
+1
-1
@@ -77,7 +77,7 @@ public class ProcessProjectAssessTermUser {
|
||||
* 关联条款表id
|
||||
*/
|
||||
@ApiModelProperty(value = "关联条款表id")
|
||||
private String tremId;
|
||||
private String termId;
|
||||
|
||||
/**
|
||||
* 责任单位id
|
||||
|
||||
+5
@@ -12,4 +12,9 @@ import java.util.List;
|
||||
*/
|
||||
public interface ProcessProjectAssessTermMapper extends BaseMapper<ProcessProjectAssessTerm> {
|
||||
List<ProcessProjectAssessTerm> getByResponsibleUnitLeader(@Param("assessmentId") String assessmentId, @Param("originUserId") String originUserId);
|
||||
|
||||
List<ProcessProjectAssessTerm> getByModuleOwner(@Param("assessmentId") String assessmentId, @Param("originUserId") String originUserId, @Param("executionParentId") String executionParentId);
|
||||
|
||||
List<ProcessProjectAssessTerm> getByDesignEngineer(@Param("assessmentId") String assessmentId, @Param("originUserId") String originUserId, @Param("executionParentId") String executionParentId);
|
||||
|
||||
}
|
||||
+34
-10
@@ -25,17 +25,41 @@
|
||||
term_number, term_name, term_text, split_info_id, can_assign_flag
|
||||
</sql>
|
||||
|
||||
|
||||
|
||||
<select id="getByResponsibleUnitLeader" resultMap="BaseResultMap">
|
||||
select
|
||||
ppat.id,ppat.create_by,ppat.create_time,ppat.update_by,ppat.update_time,ppat.org_code,ppat.del_flag,ppat.assessment_id,
|
||||
ppat.term_number,ppat.term_name,ppat.term_text,ppat.split_info_id,ppat.can_assign_flag
|
||||
from process_project_assess_term ppat
|
||||
left join process_project_assess_term_user ppatu on ppat.id = ppatu.trem_id
|
||||
where
|
||||
ppat.assessment_id = #{assessmentId}
|
||||
select
|
||||
<include refid="Base_Column_List">
|
||||
<property name="alias" value="ppat"/>
|
||||
</include>
|
||||
from process_project_assess_term ppat
|
||||
left join process_project_assess_term_user ppatu on ppat.id = ppatu.trem_id
|
||||
where ppat.assessment_id = #{assessmentId}
|
||||
and ppatu.responsible_unit_leader = #{originUserId}
|
||||
and ppatu.id is not null
|
||||
</select>
|
||||
</select>
|
||||
|
||||
<select id="getByModuleOwner" resultMap="BaseResultMap">
|
||||
select
|
||||
<include refid="Base_Column_List">
|
||||
<property name="alias" value="ppat"/>
|
||||
</include>
|
||||
from process_project_assess_term ppat
|
||||
left join process_project_assess_term_user ppatu on ppat.id = ppatu.trem_id
|
||||
where ppat.assessment_id = #{assessmentId}
|
||||
and ppatu.module_owner = #{originUserId}
|
||||
and ppatu.parent_execution_id = #{executionParentId}
|
||||
and ppatu.id is not null
|
||||
</select>
|
||||
|
||||
<select id="getByDesignEngineer" resultMap="BaseResultMap">
|
||||
select
|
||||
<include refid="Base_Column_List">
|
||||
<property name="alias" value="ppat"/>
|
||||
</include>
|
||||
from process_project_assess_term ppat
|
||||
left join process_project_assess_term_user ppatu on ppat.id = ppatu.trem_id
|
||||
where ppat.assessment_id = #{assessmentId}
|
||||
and ppatu.design_engineer = #{originUserId}
|
||||
and ppatu.parent_execution_id = #{executionParentId}
|
||||
and ppatu.id is not null
|
||||
</select>
|
||||
</mapper>
|
||||
+1
-1
@@ -12,7 +12,7 @@
|
||||
<result column="org_code" jdbcType="VARCHAR" property="orgCode" />
|
||||
<result column="del_flag" jdbcType="INTEGER" property="delFlag" />
|
||||
<result column="assessment_id" jdbcType="VARCHAR" property="assessmentId" />
|
||||
<result column="trem_id" jdbcType="VARCHAR" property="tremId" />
|
||||
<result column="trem_id" jdbcType="VARCHAR" property="termId" />
|
||||
<result column="responsible_unit" jdbcType="VARCHAR" property="responsibleUnit" />
|
||||
<result column="responsible_unit_leader" jdbcType="VARCHAR" property="responsibleUnitLeader" />
|
||||
<result column="sub_process_id" jdbcType="VARCHAR" property="subProcessId" />
|
||||
|
||||
+91
-15
@@ -1,17 +1,18 @@
|
||||
package com.jero.modules.activiti.process.projectassess.service;
|
||||
import java.util.List;
|
||||
|
||||
import cn.hutool.core.collection.CollStreamUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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.ComboModel;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
import com.jero.modules.activiti.process.fb.common.ConsultationNodeSort;
|
||||
import com.jero.modules.activiti.process.fb.common.FbCommon;
|
||||
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.BasicTaskInfoDTO;
|
||||
@@ -27,6 +28,7 @@ import com.jero.modules.activiti.process.projectassess.vo.ProcessProjectAssessVO
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.runtime.Execution;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -87,34 +89,106 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
|
||||
String originUserId = processApprovalRecord.getOriginUserId();
|
||||
Task task = processDTO.getTask();
|
||||
String taskDefinitionKey = task.getTaskDefinitionKey();
|
||||
Execution execution = processDTO.getExecution();
|
||||
String executionParentId = execution.getParentId();
|
||||
List<ProcessProjectAssessTermUser> processProjectAssessTermUserList = new ArrayList<>();
|
||||
List<ProcessProjectAssessTerm> processProjectAssessTermList = new ArrayList<>();
|
||||
//获取所有用户信息
|
||||
List<LoginUser> userList = sysBaseAPI.getAllUser();
|
||||
Map<String,String> userNameMap = new HashMap<>();
|
||||
for (LoginUser loginUser : userList) {
|
||||
userNameMap.put(loginUser.getId(),loginUser.calcNameWorkNo());
|
||||
}
|
||||
//上一节点处理人
|
||||
Map<String,String> previousNodeHandlerMap = new HashMap<>();
|
||||
LambdaQueryWrapper<ProcessProjectAssessTermUser> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ProcessProjectAssessTermUser::getAssessmentId, assessmentId);
|
||||
switch (taskDefinitionKey) {
|
||||
//各部门主管级领导下发
|
||||
case ProcessProjectAssessCommon.GBMZGJLDXF:
|
||||
processProjectAssessTermList = processProjectAssessTermService.getByResponsibleUnitLeader(assessmentId,originUserId);
|
||||
break;
|
||||
//各部门主管级领导(汇总)审批
|
||||
case ProcessProjectAssessCommon.GBMZGJLDSP:
|
||||
processProjectAssessTermList = processProjectAssessTermService.getByResponsibleUnitLeader(assessmentId,originUserId);
|
||||
wrapper.eq(ProcessProjectAssessTermUser::getResponsibleUnitLeader,originUserId);
|
||||
processProjectAssessTermUserList = processProjectAssessTermUserService.list(wrapper);
|
||||
previousNodeHandlerMap = processProjectAssessTermUserList.stream()
|
||||
.collect(
|
||||
Collectors.groupingBy(ProcessProjectAssessTermUser::getTermId,
|
||||
Collectors.mapping(item -> {
|
||||
return userNameMap.get(item.getModuleOwner());
|
||||
},
|
||||
Collectors.joining(",")))
|
||||
);
|
||||
break;
|
||||
//模块负责人分发
|
||||
case ProcessProjectAssessCommon.MKFZRFF:
|
||||
processProjectAssessTermList = processProjectAssessTermService.getByModuleOwner(assessmentId,originUserId,executionParentId);
|
||||
break;
|
||||
//模块负责人审批
|
||||
case ProcessProjectAssessCommon.MKFZRSP:
|
||||
//模块负责人修改
|
||||
case ProcessProjectAssessCommon.MKFZRXG:
|
||||
processProjectAssessTermList = processProjectAssessTermService.getByModuleOwner(assessmentId,originUserId,executionParentId);
|
||||
wrapper.eq(ProcessProjectAssessTermUser::getModuleOwner,originUserId);
|
||||
wrapper.eq(ProcessProjectAssessTermUser::getParentExecutionId,executionParentId);
|
||||
processProjectAssessTermUserList = processProjectAssessTermUserService.list(wrapper);
|
||||
previousNodeHandlerMap = processProjectAssessTermUserList.stream()
|
||||
.collect(
|
||||
Collectors.groupingBy(ProcessProjectAssessTermUser::getTermId,
|
||||
Collectors.mapping(item -> {
|
||||
return userNameMap.get(item.getDesignEngineer());
|
||||
},
|
||||
Collectors.joining(",")))
|
||||
);
|
||||
break;
|
||||
//设计工程师评估
|
||||
case ProcessProjectAssessCommon.SJGCSPG:
|
||||
processProjectAssessTermList = processProjectAssessTermService.getByDesignEngineer(assessmentId,originUserId,executionParentId);
|
||||
wrapper.eq(ProcessProjectAssessTermUser::getDesignEngineer,originUserId);
|
||||
wrapper.eq(ProcessProjectAssessTermUser::getParentExecutionId,executionParentId);
|
||||
processProjectAssessTermUserList = processProjectAssessTermUserService.list(wrapper);
|
||||
previousNodeHandlerMap = processProjectAssessTermUserList.stream()
|
||||
.collect(
|
||||
Collectors.groupingBy(ProcessProjectAssessTermUser::getTermId,
|
||||
Collectors.mapping(item -> {
|
||||
return userNameMap.get(item.getModuleOwner());
|
||||
},
|
||||
Collectors.joining(",")))
|
||||
);
|
||||
break;
|
||||
//法规工程师归档
|
||||
case ProcessProjectAssessCommon.FGGCSGD:
|
||||
processProjectAssessTermList = processProjectAssessTermService.getByStandardsEngineer(assessmentId);
|
||||
processProjectAssessTermUserList = processProjectAssessTermUserService.list(wrapper);
|
||||
previousNodeHandlerMap = processProjectAssessTermUserList.stream()
|
||||
.collect(
|
||||
Collectors.groupingBy(ProcessProjectAssessTermUser::getTermId,
|
||||
Collectors.mapping(item -> {
|
||||
return userNameMap.get(item.getResponsibleUnitLeader());
|
||||
},
|
||||
Collectors.joining(",")))
|
||||
);
|
||||
break;
|
||||
|
||||
default:
|
||||
}
|
||||
//给条款中保存关联的信息
|
||||
Map<String, ProcessProjectAssessTerm> splitInfoIdMap = processProjectAssessTermService.getSplitInfoIdMap(assessmentId);
|
||||
if (!processProjectAssessTermUserList.isEmpty()){
|
||||
|
||||
//给条款中保存关联的信息
|
||||
if (!processProjectAssessTermUserList.isEmpty()){
|
||||
Map<String, List<ProcessProjectAssessTermUser>> termIdListMap = CollStreamUtil.groupByKey(processProjectAssessTermUserList, ProcessProjectAssessTermUser::getTermId);
|
||||
for (ProcessProjectAssessTerm term : processProjectAssessTermList) {
|
||||
String termId = term.getId();
|
||||
|
||||
List<ProcessProjectAssessTermUser> termUsers = termIdListMap.get(termId);
|
||||
term.setProcessProjectAssessTermUserList(termUsers);
|
||||
String previousNodeHandler = previousNodeHandlerMap.get(termId);
|
||||
term.setPreviousNodeHandler(previousNodeHandler);
|
||||
}
|
||||
}
|
||||
//拼接分类法规标题
|
||||
List<ProcessProjectAssessTerm> AllProjectAssesTermList = new ArrayList<>();
|
||||
Map<String, ProcessProjectAssessTerm> splitInfoIdMap = processProjectAssessTermService.getSplitInfoIdMap(assessmentId);
|
||||
List<ProcessProjectAssessTerm> allProjectAssesTermList = new ArrayList<>();
|
||||
List<String> usedSplitInfoId = new ArrayList<>();
|
||||
for (ProcessProjectAssessTerm term : processProjectAssessTermList) {
|
||||
String splitInfoId = term.getSplitInfoId();
|
||||
@@ -125,12 +199,12 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
|
||||
term1.setTermName(titleTerm.getTermName());
|
||||
term1.setTermNumber(titleTerm.getTermNumber());
|
||||
term1.setTermText(titleTerm.getTermText());
|
||||
AllProjectAssesTermList.add(term1);
|
||||
allProjectAssesTermList.add(term1);
|
||||
}
|
||||
AllProjectAssesTermList.add(term);
|
||||
allProjectAssesTermList.add(term);
|
||||
}
|
||||
ProcessProjectAssessVO processProjectAssessVO = new ProcessProjectAssessVO();
|
||||
processProjectAssessVO.setProcessProjectAssessTermList(AllProjectAssesTermList);
|
||||
processProjectAssessVO.setProcessProjectAssessTermList(allProjectAssesTermList);
|
||||
processInfoVO.setBusinessInfoDTO(processProjectAssessVO);
|
||||
return processInfoVO;
|
||||
}
|
||||
@@ -176,7 +250,7 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
|
||||
for (String responsibleUnitLeader : distinctResponsibleUnitLeader) {
|
||||
ProcessProjectAssessTermUser processProjectAssessTermUser = new ProcessProjectAssessTermUser();
|
||||
processProjectAssessTermUser.setAssessmentId(assessmentId);
|
||||
processProjectAssessTermUser.setTremId(termId);
|
||||
processProjectAssessTermUser.setTermId(termId);
|
||||
processProjectAssessTermUser.setResponsibleUnitLeader(responsibleUnitLeader);
|
||||
saveProcessProjectAssessTermUserList.add(processProjectAssessTermUser);
|
||||
}
|
||||
@@ -231,6 +305,8 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
|
||||
String businessId = processInfoVO.getBusinessId();
|
||||
ProcessApprovalRecord processApprovalRecord = processDTO.getProcessApprovalRecord();
|
||||
String originUserId = processApprovalRecord.getOriginUserId();
|
||||
Task task = processDTO.getTask();
|
||||
String executionId = task.getExecutionId();
|
||||
// 删除原先存储的关联
|
||||
LambdaQueryWrapper<ProcessProjectAssessTermUser> removeWrapper = new LambdaQueryWrapper<>();
|
||||
removeWrapper.eq(ProcessProjectAssessTermUser::getAssessmentId, businessId);
|
||||
@@ -251,9 +327,9 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
|
||||
if (StringUtils.isNotBlank(notInvolved)) {
|
||||
ProcessProjectAssessTermUser newTermUser = new ProcessProjectAssessTermUser();
|
||||
newTermUser.setAssessmentId(businessId);
|
||||
newTermUser.setTremId(termId);
|
||||
newTermUser.setTermId(termId);
|
||||
newTermUser.setResponsibleUnitLeader(originUserId);
|
||||
//newTermUser.setParentExecutionId();
|
||||
newTermUser.setParentExecutionId(executionId);
|
||||
newTermUser.setNotInvolved(notInvolved);
|
||||
allTermUserList.add(newTermUser);
|
||||
continue;
|
||||
@@ -264,9 +340,9 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
|
||||
for (String moduleOwnerId : moduleOwnerIdList) {
|
||||
ProcessProjectAssessTermUser newTermUser = new ProcessProjectAssessTermUser();
|
||||
newTermUser.setAssessmentId(businessId);
|
||||
newTermUser.setTremId(termId);
|
||||
newTermUser.setTermId(termId);
|
||||
newTermUser.setResponsibleUnitLeader(originUserId);
|
||||
//newTermUser.setParentExecutionId();
|
||||
newTermUser.setParentExecutionId(executionId);
|
||||
newTermUser.setModuleOwner(moduleOwnerId);
|
||||
moduleOwnerIds.add(moduleOwnerId);
|
||||
allTermUserList.add(newTermUser);
|
||||
|
||||
+18
@@ -63,4 +63,22 @@ public class ProcessProjectAssessTermService extends ServiceImpl<ProcessProjectA
|
||||
Map<String, ProcessProjectAssessTerm> stringProcessProjectAssessTermMap = CollStreamUtil.toIdentityMap(list, ProcessProjectAssessTerm::getSplitInfoId);
|
||||
return stringProcessProjectAssessTermMap;
|
||||
}
|
||||
|
||||
public List<ProcessProjectAssessTerm> getByModuleOwner(String assessmentId, String originUserId, String executionParentId) {
|
||||
List<ProcessProjectAssessTerm> list = baseMapper.getByModuleOwner(assessmentId,originUserId,executionParentId);
|
||||
return list;
|
||||
}
|
||||
|
||||
public List<ProcessProjectAssessTerm> getByDesignEngineer(String assessmentId, String originUserId, String executionParentId) {
|
||||
List<ProcessProjectAssessTerm> list = baseMapper.getByDesignEngineer(assessmentId,originUserId,executionParentId);
|
||||
return list;
|
||||
}
|
||||
|
||||
public List<ProcessProjectAssessTerm> getByStandardsEngineer(String assessmentId) {
|
||||
LambdaQueryWrapper<ProcessProjectAssessTerm> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ProcessProjectAssessTerm::getAssessmentId,assessmentId);
|
||||
wrapper.eq(ProcessProjectAssessTerm::getCanAssignFlag, YesOrNoEnum.NO.getInteger());
|
||||
List<ProcessProjectAssessTerm> list = this.list(wrapper);
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user