fix 81689 法规工程师驳回
This commit is contained in:
+2
@@ -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";
|
||||
//设计工程师补充工作令编号
|
||||
|
||||
+6
@@ -79,6 +79,12 @@ public class ProcessProjectStandardTermUser {
|
||||
@ApiModelProperty(value="评估流程id")
|
||||
private String processId;
|
||||
|
||||
/**
|
||||
* 部所级领导父执行id
|
||||
*/
|
||||
@ApiModelProperty(value="部所级领导父执行id")
|
||||
private String leaderParentExecutionId;
|
||||
|
||||
/**
|
||||
* 关联条款表id
|
||||
*/
|
||||
|
||||
+1
-1
@@ -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);
|
||||
|
||||
|
||||
+7
-1
@@ -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>
|
||||
|
||||
|
||||
+38
-9
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user