fix 81689 法规工程师驳回

This commit is contained in:
lijiarao
2024-02-02 19:16:10 +08:00
parent 8d5336c490
commit 011a3316c2
5 changed files with 54 additions and 11 deletions
@@ -49,6 +49,8 @@ public class ProcessProjectStandardCommon {
//部所主管级领导审批
public static final String BSZGJLDSP_ = "bszgjldsp_";
public static final String BSZGJLDSP_1 = "bszgjldsp_1";
public static final String BSZGJLDSP_2 = "bszgjldsp_2";
public static final String BSZGJLDSP_3 = "bszgjldsp_3";
//法规工程师审批
public static final String FGGCSSP = "fggcssp";
//设计工程师补充工作令编号
@@ -79,6 +79,12 @@ public class ProcessProjectStandardTermUser {
@ApiModelProperty(value="评估流程id")
private String processId;
/**
* 部所级领导父执行id
*/
@ApiModelProperty(value="部所级领导父执行id")
private String leaderParentExecutionId;
/**
* 关联条款表id
*/
@@ -14,7 +14,7 @@ import java.util.List;
public interface ProcessProjectStandardTermMapper extends BaseMapper<ProcessProjectStandardTerm> {
List<ProcessProjectStandardTerm> getByResponsibleUnitLeader(@Param("processId") String processId, @Param("originUserId") String originUserId, @Param("hasModuleOwner") Boolean hasModuleOwner);
List<ProcessProjectStandardTerm> getByResponsibleUnitLeaderSp(@Param("processId") String processId, @Param("originUserId") String originUserId);
List<ProcessProjectStandardTerm> getByResponsibleUnitLeaderSp(@Param("processId") String processId, @Param("originUserId") String originUserId, @Param("parentId") String parentId);
List<ProcessProjectStandardTerm> getByModuleOwner(@Param("processId") String processId, @Param("originUserId") String originUserId, @Param("executionParentId") String executionParentId, @Param("hasDesignEngineer") Boolean hasDesignEngineer);
@@ -61,7 +61,7 @@
<select id="getByResponsibleUnitLeaderSp" resultMap="BaseResultMap">
select
group_concat(ppstu.module_owner) module_owner,
group_concat(ppstu.module_owner) as module_owner,
<include refid="Base_Column_List">
<property name="alias" value="ppst"/>
</include>
@@ -71,6 +71,12 @@
and ppstu.responsible_unit_leader = #{originUserId}
and ppstu.module_owner is not null
and ppstu.id is not null
<if test="parentId != null and parentId != ''">
and ppstu.leader_parent_execution_id = #{parentId}
</if>
<if test="parentId == null">
and ppstu.leader_parent_execution_id is null
</if>
group by ppst.id
</select>
@@ -54,6 +54,7 @@ import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.runtime.Execution;
import org.activiti.engine.task.Task;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
@@ -68,8 +69,6 @@ import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
import static org.apache.tools.ant.taskdefs.SetPermissions.NonPosixMode.pass;
/**
*
*@author liJiaRao
@@ -131,11 +130,14 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
ProcessApprovalRecord processApprovalRecord = processDTO.getProcessApprovalRecord();
String originUserId = processApprovalRecord.getOriginUserId();
Task task = processDTO.getTask();
Execution execution = processDTO.getExecution();
String parentId = execution.getParentId();
String executionParentId = task.getFormKey();
String taskDefinitionKey = task.getTaskDefinitionKey();
if (taskDefinitionKey.contains("_")
&& !taskDefinitionKey.contains(ProcessProjectStandardCommon.MKZRRFF_)
&& !taskDefinitionKey.contains(ProcessProjectStandardCommon.BSZGJLDSP_)
&& !taskDefinitionKey.contains(ProcessProjectStandardCommon.BSZGJLDXF_)){
taskDefinitionKey = taskDefinitionKey.substring(0,taskDefinitionKey.length()-1);
}
@@ -185,8 +187,15 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
termUserList = termUserService.list(wrapper);
break;
//部所主管级领导审批
case ProcessProjectStandardCommon.BSZGJLDSP_:
processProjectStandardTermList = termMapper.getByResponsibleUnitLeaderSp(processId, originUserId);
case ProcessProjectStandardCommon.BSZGJLDSP_1:
case ProcessProjectStandardCommon.BSZGJLDSP_3:
processProjectStandardTermList = termMapper.getByResponsibleUnitLeaderSp(processId, originUserId,parentId);
wrapper.eq(ProcessProjectStandardTermUser::getResponsibleUnitLeader, originUserId);
termUserList = termUserService.list(wrapper);
break;
//部所主管级领导审批
case ProcessProjectStandardCommon.BSZGJLDSP_2:
processProjectStandardTermList = termMapper.getByResponsibleUnitLeaderSp(processId, originUserId, null);
wrapper.eq(ProcessProjectStandardTermUser::getResponsibleUnitLeader, originUserId);
termUserList = termUserService.list(wrapper);
break;
@@ -425,7 +434,7 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
case ProcessProjectStandardCommon.BSZGJLDXF_1:
bszgjldxfSubmit(processInfoVO, processDTO,false);
break;
//部所主管级领导下发
//驳回后部所主管级领导下发
case ProcessProjectStandardCommon.BSZGJLDXF_2:
bszgjldxfSubmit(processInfoVO, processDTO,true);
break;
@@ -463,7 +472,7 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
String taskDefinitionKey = task.getTaskDefinitionKey();
if (taskDefinitionKey.contains("_")
&& !taskDefinitionKey.contains(ProcessProjectStandardCommon.MKZRRFF_)
&& !taskDefinitionKey.contains(ProcessProjectStandardCommon.BSZGJLDXF_)){
&& !taskDefinitionKey.contains(ProcessProjectStandardCommon.BSZGJLDSP_)){
taskDefinitionKey = taskDefinitionKey.substring(0,taskDefinitionKey.length()-1);
}
processHandleService.updateApprovalRecord(processInfoVO);
@@ -473,8 +482,13 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
mkzrrffApprove(processInfoVO, processDTO, pass);
break;
//部所主管级领导审批
case ProcessProjectStandardCommon.BSZGJLDSP_:
bszgjldspApprove(processInfoVO, processDTO, pass);
case ProcessProjectStandardCommon.BSZGJLDSP_1:
case ProcessProjectStandardCommon.BSZGJLDSP_3:
bszgjldspApprove(processInfoVO, processDTO, pass, true);
break;
//部所主管级领导审批
case ProcessProjectStandardCommon.BSZGJLDSP_2:
bszgjldspApprove(processInfoVO, processDTO, pass, false);
break;
//法规工程师审批
case ProcessProjectStandardCommon.FGGCSSP:
@@ -534,7 +548,7 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
}
//部所主管级领导审批
private void bszgjldspApprove(ProcessInfoVO<ProcessProjectStandardVO> processInfoVO, ProcessDTO processDTO, boolean pass) {
private void bszgjldspApprove(ProcessInfoVO<ProcessProjectStandardVO> processInfoVO, ProcessDTO processDTO, boolean pass, boolean hasParent) {
String businessId = processInfoVO.getBusinessId();
ProcessApprovalRecord processApprovalRecord = processDTO.getProcessApprovalRecord();
String originUserId = processApprovalRecord.getOriginUserId();
@@ -722,6 +736,11 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
if (pass){
termService.updateBatchById(updateTermList);
termUserService.updateBatchById(updateTermUserList);
}else {
LambdaUpdateWrapper<ProcessProjectStandardTermUser> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(ProcessProjectStandardTermUser::getProcessId, businessId);
updateWrapper.set(ProcessProjectStandardTermUser::getLeaderParentExecutionId, null);
termUserService.update(updateWrapper);
}
// 完成任务
String taskId = processDTO.getTaskId();
@@ -793,6 +812,8 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
String userId = CurrentUserUtil.getId();
Task task = processDTO.getTask();
String executionId = task.getExecutionId();
Execution execution = processDTO.getExecution();
String executionParentId = execution.getParentId();
// 查询原先存储的关联
LambdaQueryWrapper<ProcessProjectStandardTermUser> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProcessProjectStandardTermUser::getProcessId, businessId);
@@ -807,6 +828,13 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
Map<String, ProcessProjectStandardTerm> termUserIdMap = CollStreamUtil.toIdentityMap(termList, ProcessProjectStandardTerm::getTermUserId);
List<ProcessProjectStandardTermApproval> termApprovalList = new ArrayList<>();
//删除之前的立项结果
List<String> termIdList = termList.stream().map(ProcessProjectStandardTerm::getId).collect(Collectors.toList());
LambdaQueryWrapper<ProcessProjectStandardTermApproval> deleteWrapper = new LambdaQueryWrapper<>();
deleteWrapper.eq(ProcessProjectStandardTermApproval::getProcessId,businessId);
deleteWrapper.eq(ProcessProjectStandardTermApproval::getResponsibleUnitLeader,originUserId);
deleteWrapper.in(ProcessProjectStandardTermApproval::getTermId,termIdList);
List<String> moduleOwnerIds = new ArrayList<>();
for (ProcessProjectStandardTermUser termUser : termUserList) {
String termUserId = termUser.getId();
@@ -815,6 +843,7 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
LambdaUpdateWrapper<ProcessProjectStandardTermUser> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(ProcessProjectStandardTermUser::getId,termUserId);
updateWrapper.set(ProcessProjectStandardTermUser::getResponsibleUnitLeader, userId);
updateWrapper.set(ProcessProjectStandardTermUser::getLeaderParentExecutionId,executionParentId);
if (StringUtils.isNotBlank(notInvolved)){
updateWrapper.set(ProcessProjectStandardTermUser::getNotInvolved,notInvolved);
updateWrapper.set(ProcessProjectStandardTermUser::getAssessResults, AssessCommon.NOT_INVOLVED);