fix 81561 法规合规评估流程--部所主管级领导选择不涉及的数据,驳回后回显数据错误

This commit is contained in:
lijiarao
2024-02-01 17:21:47 +08:00
parent 2340fd2610
commit 60407a365f
3 changed files with 46 additions and 24 deletions
@@ -28,6 +28,7 @@ public class ProcessProjectStandardCommon {
//部所主管级领导下发 //部所主管级领导下发
public static final String BSZGJLDXF_ = "bszgjldxf_"; public static final String BSZGJLDXF_ = "bszgjldxf_";
public static final String BSZGJLDXF_1 = "bszgjldxf_1"; public static final String BSZGJLDXF_1 = "bszgjldxf_1";
public static final String BSZGJLDXF_2 = "bszgjldxf_2";
//模块责任人分发 //模块责任人分发
public static final String MKZRRFF_ = "mkzrrff_"; public static final String MKZRRFF_ = "mkzrrff_";
public static final String MKZRRFF_1 = "mkzrrff_1"; public static final String MKZRRFF_1 = "mkzrrff_1";
@@ -53,8 +53,8 @@
left join process_project_standard_term_user ppstu on ppst.id = ppstu.term_id left join process_project_standard_term_user ppstu on ppst.id = ppstu.term_id
where ppst.process_id = #{processId} where ppst.process_id = #{processId}
and ppstu.responsible_unit_leader = #{originUserId} and ppstu.responsible_unit_leader = #{originUserId}
<if test="hasModuleOwner"> <if test="!hasModuleOwner">
and ppstu.module_owner is not null and ppstu.module_owner is null
</if> </if>
and ppstu.id is not null and ppstu.id is not null
</select> </select>
@@ -128,7 +128,9 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
String executionParentId = task.getFormKey(); String executionParentId = task.getFormKey();
String taskDefinitionKey = task.getTaskDefinitionKey(); String taskDefinitionKey = task.getTaskDefinitionKey();
if (taskDefinitionKey.contains("_") && !taskDefinitionKey.contains(ProcessProjectStandardCommon.MKZRRFF_)){ if (taskDefinitionKey.contains("_")
&& !taskDefinitionKey.contains(ProcessProjectStandardCommon.MKZRRFF_)
&& !taskDefinitionKey.contains(ProcessProjectStandardCommon.BSZGJLDXF_)){
taskDefinitionKey = taskDefinitionKey.substring(0,taskDefinitionKey.length()-1); taskDefinitionKey = taskDefinitionKey.substring(0,taskDefinitionKey.length()-1);
} }
List<ProcessProjectStandardTermUser> processProjectStandardTermUserList = new ArrayList<>(); List<ProcessProjectStandardTermUser> processProjectStandardTermUserList = new ArrayList<>();
@@ -147,7 +149,11 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
List<ProcessProjectStandardTermUser> termUserList = new ArrayList<>(); List<ProcessProjectStandardTermUser> termUserList = new ArrayList<>();
switch (taskDefinitionKey) { switch (taskDefinitionKey) {
//部所主管级领导下发 //部所主管级领导下发
case ProcessProjectStandardCommon.BSZGJLDXF_: case ProcessProjectStandardCommon.BSZGJLDXF_1:
processProjectStandardTermList = termMapper.getByResponsibleUnitLeader(processId, originUserId, true);
break;
//驳回后部所主管级领导下发
case ProcessProjectStandardCommon.BSZGJLDXF_2:
processProjectStandardTermList = termMapper.getByResponsibleUnitLeader(processId, originUserId, false); processProjectStandardTermList = termMapper.getByResponsibleUnitLeader(processId, originUserId, false);
break; break;
//模块责任人分发 //模块责任人分发
@@ -251,12 +257,14 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
String projectApprovalFlag; String projectApprovalFlag;
if (ProcessProjectStandardCommon.FGGCSSP.equals(taskDefinitionKey)){ if (ProcessProjectStandardCommon.FGGCSSP.equals(taskDefinitionKey)){
projectApprovalFlag = YesOrNoEnum.NO.getValue(); projectApprovalFlag = YesOrNoEnum.NO.getValue();
List<ProcessProjectStandardTermApproval> termApprovalList = termIdApprovalListMap.get(termId); if (termIdApprovalListMap.containsKey(termId)){
for (ProcessProjectStandardTermApproval termApproval : termApprovalList) { List<ProcessProjectStandardTermApproval> termApprovalList = termIdApprovalListMap.get(termId);
String projectApprovalFlag1 = termApproval.getProjectApprovalFlag(); for (ProcessProjectStandardTermApproval termApproval : termApprovalList) {
if (YesOrNoEnum.YES.getValue().equals(projectApprovalFlag1)){ String projectApprovalFlag1 = termApproval.getProjectApprovalFlag();
projectApprovalFlag = YesOrNoEnum.YES.getValue(); if (YesOrNoEnum.YES.getValue().equals(projectApprovalFlag1)){
break; projectApprovalFlag = YesOrNoEnum.YES.getValue();
break;
}
} }
} }
}else if (AssessCommon.NOT_COMPLIANT.equals(assessResults)) { }else if (AssessCommon.NOT_COMPLIANT.equals(assessResults)) {
@@ -287,16 +295,18 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
processProjectStandardVO.setProcessProjectStandardTermList(processProjectStandardTermList); processProjectStandardVO.setProcessProjectStandardTermList(processProjectStandardTermList);
if (ProcessProjectStandardCommon.FGGCSSP.equals(taskDefinitionKey)){ if (ProcessProjectStandardCommon.FGGCSSP.equals(taskDefinitionKey)){
String termId = processProjectStandardTermList.get(0).getId(); String termId = processProjectStandardTermList.get(0).getId();
List<ProcessProjectStandardTermApproval> approvalList = termIdApprovalListMap.get(termId); if (termIdApprovalListMap.containsKey(termId)) {
for (ProcessProjectStandardTermApproval termApproval : approvalList) { List<ProcessProjectStandardTermApproval> approvalList = termIdApprovalListMap.get(termId);
String responsibleUnitLeader = termApproval.getResponsibleUnitLeader(); for (ProcessProjectStandardTermApproval termApproval : approvalList) {
termApproval.setResponsibleUnitLeader(userNameMap.get(responsibleUnitLeader)); String responsibleUnitLeader = termApproval.getResponsibleUnitLeader();
String assessResults = termApproval.getAssessResults(); termApproval.setResponsibleUnitLeader(userNameMap.get(responsibleUnitLeader));
termApproval.setAssessResults(assessResultsMap.get(assessResults)); String assessResults = termApproval.getAssessResults();
String projectApprovalFlag = termApproval.getProjectApprovalFlag(); termApproval.setAssessResults(assessResultsMap.get(assessResults));
termApproval.setProjectApprovalFlag(YesOrNoEnum.YES.getValue().equals(projectApprovalFlag)?YesOrNoEnum.YES.getName():YesOrNoEnum.NO.getName()); String projectApprovalFlag = termApproval.getProjectApprovalFlag();
termApproval.setProjectApprovalFlag(YesOrNoEnum.YES.getValue().equals(projectApprovalFlag)?YesOrNoEnum.YES.getName():YesOrNoEnum.NO.getName());
}
processProjectStandardVO.setProcessProjectStandardTermApprovalList(approvalList);
} }
processProjectStandardVO.setProcessProjectStandardTermApprovalList(approvalList);
} }
processInfoVO.setBusinessInfoDTO(processProjectStandardVO); processInfoVO.setBusinessInfoDTO(processProjectStandardVO);
@@ -398,14 +408,20 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
processInfoVO.setBusinessId(processAll.getProjectId()); processInfoVO.setBusinessId(processAll.getProjectId());
Task task = processDTO.getTask(); Task task = processDTO.getTask();
String taskDefinitionKey = task.getTaskDefinitionKey(); String taskDefinitionKey = task.getTaskDefinitionKey();
if (taskDefinitionKey.contains("_") && !taskDefinitionKey.contains(ProcessProjectStandardCommon.MKZRRFF_)){ if (taskDefinitionKey.contains("_")
&& !taskDefinitionKey.contains(ProcessProjectStandardCommon.MKZRRFF_)
&& !taskDefinitionKey.contains(ProcessProjectStandardCommon.BSZGJLDXF_)){
taskDefinitionKey = taskDefinitionKey.substring(0,taskDefinitionKey.length()-1); taskDefinitionKey = taskDefinitionKey.substring(0,taskDefinitionKey.length()-1);
} }
processHandleService.updateApprovalRecord(processInfoVO); processHandleService.updateApprovalRecord(processInfoVO);
switch (taskDefinitionKey){ switch (taskDefinitionKey){
//部所主管级领导下发 //部所主管级领导下发
case ProcessProjectStandardCommon.BSZGJLDXF_: case ProcessProjectStandardCommon.BSZGJLDXF_1:
bszgjldxfSubmit(processInfoVO, processDTO); bszgjldxfSubmit(processInfoVO, processDTO,false);
break;
//部所主管级领导下发
case ProcessProjectStandardCommon.BSZGJLDXF_2:
bszgjldxfSubmit(processInfoVO, processDTO,true);
break; break;
//模块责任人分发 //模块责任人分发
//驳回后模块责任人分发 //驳回后模块责任人分发
@@ -439,7 +455,9 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
processInfoVO.setBusinessId(processAll.getProjectId()); processInfoVO.setBusinessId(processAll.getProjectId());
Task task = processDTO.getTask(); Task task = processDTO.getTask();
String taskDefinitionKey = task.getTaskDefinitionKey(); String taskDefinitionKey = task.getTaskDefinitionKey();
if (taskDefinitionKey.contains("_") && !taskDefinitionKey.contains(ProcessProjectStandardCommon.MKZRRFF_)){ if (taskDefinitionKey.contains("_")
&& !taskDefinitionKey.contains(ProcessProjectStandardCommon.MKZRRFF_)
&& !taskDefinitionKey.contains(ProcessProjectStandardCommon.BSZGJLDXF_)){
taskDefinitionKey = taskDefinitionKey.substring(0,taskDefinitionKey.length()-1); taskDefinitionKey = taskDefinitionKey.substring(0,taskDefinitionKey.length()-1);
} }
processHandleService.updateApprovalRecord(processInfoVO); processHandleService.updateApprovalRecord(processInfoVO);
@@ -759,7 +777,7 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
} }
//部所主管级领导下发 //部所主管级领导下发
private void bszgjldxfSubmit(ProcessInfoVO<ProcessProjectStandardVO> processInfoVO, ProcessDTO processDTO) { private void bszgjldxfSubmit(ProcessInfoVO<ProcessProjectStandardVO> processInfoVO, ProcessDTO processDTO, boolean isAfterReject) {
String businessId = processInfoVO.getBusinessId(); String businessId = processInfoVO.getBusinessId();
ProcessApprovalRecord processApprovalRecord = processDTO.getProcessApprovalRecord(); ProcessApprovalRecord processApprovalRecord = processDTO.getProcessApprovalRecord();
String originUserId = processApprovalRecord.getOriginUserId(); String originUserId = processApprovalRecord.getOriginUserId();
@@ -770,6 +788,9 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
LambdaQueryWrapper<ProcessProjectStandardTermUser> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<ProcessProjectStandardTermUser> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProcessProjectStandardTermUser::getProcessId, businessId); wrapper.eq(ProcessProjectStandardTermUser::getProcessId, businessId);
wrapper.eq(ProcessProjectStandardTermUser::getResponsibleUnitLeader, originUserId); wrapper.eq(ProcessProjectStandardTermUser::getResponsibleUnitLeader, originUserId);
if (isAfterReject){
wrapper.isNull(ProcessProjectStandardTermUser::getModuleOwner);
}
List<ProcessProjectStandardTermUser> termUserList = termUserService.list(wrapper); List<ProcessProjectStandardTermUser> termUserList = termUserService.list(wrapper);
ProcessProjectStandardVO businessInfoDTO = processInfoVO.getBusinessInfoDTO(); ProcessProjectStandardVO businessInfoDTO = processInfoVO.getBusinessInfoDTO();