feat: 封存驳回问题

This commit is contained in:
2023-11-28 18:40:32 +08:00
parent df47bb51ad
commit ecfbb646b3
3 changed files with 31 additions and 0 deletions
@@ -0,0 +1,11 @@
package com.jero.modules.activiti.process.common.entity;
/**
* @author: Mzaxd
* @Date: 2023/11/28 16:44
*/
public class CounterSignNodeNameConstants {
public static final String COUNTER_SIGN_NODE_NAME = "相关人员会签";
}
@@ -9,6 +9,7 @@ import com.jero.modules.activiti.entity.ProcessAll;
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
import com.jero.modules.activiti.enums.CommitFlagEnum;
import com.jero.modules.activiti.enums.FinishFlagEnum;
import com.jero.modules.activiti.enums.ProcessStatusEnum;
import com.jero.modules.activiti.enums.ProcessTypeEnum;
import com.jero.modules.activiti.mapper.ProcessNodeMapper;
import com.jero.modules.activiti.process.common.entity.CommonVO;
@@ -429,4 +430,18 @@ public class ActFlowCommonService {
draftWrapper.eq(ProcessDraft::getProcessInstanceId, processInstanceId);
processDraftService.remove(draftWrapper);
}
/**
* 会签节点驳回后,将其余节点recode设置为 未处理 状态
* @param prcId
* @param nodeName
*/
public void updateOtherCountersignRecodeStatus(String prcId, String nodeName) {
LambdaUpdateWrapper<ProcessApprovalRecord> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(ProcessApprovalRecord::getProcessInstanceId, prcId);
updateWrapper.eq(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.INCOMPLETE.getValue());
updateWrapper.eq(ProcessApprovalRecord::getTaskName, nodeName);
updateWrapper.set(ProcessApprovalRecord::getFinishFlag, ProcessStatusEnum.WITHDRAWN.getValue());
processApprovalRecordService.update(updateWrapper);
}
}
@@ -8,6 +8,7 @@ import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.modules.activiti.enums.ProcessTypeEnum;
import com.jero.modules.activiti.process.common.entity.CommonVO;
import com.jero.modules.activiti.process.common.entity.CounterSignNodeNameConstants;
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
import com.jero.modules.activiti.process.common.enums.ProcessType;
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
@@ -162,6 +163,10 @@ public class ProcessEsArchiveServiceImpl extends ServiceImpl<ProcessEsArchiveMap
actFlowCommonService.completeTask(taskId, userId);
// 删除草稿
actFlowCommonService.removeDraft(commonVO);
// 如果是会签节点,驳回后要将其余节点recode设置为 未处理 状态
if (!pass) {
actFlowCommonService.updateOtherCountersignRecodeStatus(processInstanceId, CounterSignNodeNameConstants.COUNTER_SIGN_NODE_NAME);
}
}
@Override