fix:87383

This commit is contained in:
梁琦涛
2024-07-26 14:46:05 +08:00
parent 8dd48f3fd1
commit f34c24698d
2 changed files with 28 additions and 12 deletions
@@ -10,6 +10,7 @@ import com.jero.common.exception.JeroBootException;
import com.jero.modules.activiti.common.ActivitiCommon;
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.ProcessTypeEnum;
import com.jero.modules.activiti.process.common.enums.ProcessType;
@@ -178,22 +179,13 @@ public class ProcessMarketStandardReleaseServiceImpl extends ServiceImpl<Process
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
// 更新审批表为完成,填充数据
actFlowCommonService.updateApprovalInfo(processTask, taskId);
// 驳回,结束所有节点
if(!pass){
LambdaUpdateWrapper<ProcessApprovalRecord> update = new LambdaUpdateWrapper<>();
update.eq(ProcessApprovalRecord::getProcessInstanceId,processInstanceId);
update.ne(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.COMPLETE.getValue());
update.eq(ProcessApprovalRecord::getNodeId,xmlNodeId);
update.set(ProcessApprovalRecord::getCommitText,"未处理");
update.set(ProcessApprovalRecord::getCommitFlag,ActivitiCommon.COMMIT_FLAG3);
update.set(ProcessApprovalRecord::getFinishFlag,FinishFlagEnum.COMPLETE.getValue());
update.set(ProcessApprovalRecord::getEndTime,new Date());
processApprovalRecordService.update(update);
}
runtimeService.setVariable(processInstanceId, PASS, pass);
// 审批节点
actFlowCommonService.completeTask(taskId, userId);
// 驳回,结束所有节点
processApprovalRecordService.updateApprovalRecordFinishFlag(pass, taskId, xmlNodeId, processInstanceId);
// 保存快照
// 获取流程通用数据
ProcessAll process = processAllService.getByProcessInstanceId(processInstanceId);
@@ -4,11 +4,13 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.common.system.api.ISysBaseAPI;
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.mapper.ProcessApprovalRecordMapper;
import com.jero.modules.activiti.process.common.entity.ProcessSnapshot;
@@ -132,4 +134,26 @@ public class ProcessApprovalRecordService extends ServiceImpl<ProcessApprovalRec
processAllLambdaQueryWrapper.eq(ProcessApprovalRecord::getProcessInstanceId, oldPrcId);
remove(processAllLambdaQueryWrapper);
}
/**
*
* @param pass false 驳回
* @param taskId 任务id
* @param xmlNodeId 节点
* @param processInstanceId 实例
*/
public void updateApprovalRecordFinishFlag(boolean pass, String taskId, String xmlNodeId, String processInstanceId) {
if(!pass){
// 其他会签人员审批信息,更新状态为未处理
update(
new LambdaUpdateWrapper<ProcessApprovalRecord>()
.eq(ProcessApprovalRecord::getProcessInstanceId, processInstanceId)
.eq(ProcessApprovalRecord::getNodeId, xmlNodeId)
.isNull(ProcessApprovalRecord::getEndTime)
.ne(ProcessApprovalRecord::getTaskId, taskId)
.set(ProcessApprovalRecord::getCommitText, CommitFlagEnum.UNDISPOSED.getName())
.set(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.SUSPEND.getValue()));
}
}
}