fix: scc流程加签报错

This commit is contained in:
2024-07-19 09:20:29 +08:00
parent 205e0e4cb9
commit 56cf824ca5
3 changed files with 27 additions and 3 deletions
@@ -2,11 +2,14 @@ package com.jero.modules.activiti.process.standardComplianceCheck.service;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.jero.common.exception.JeroBootException;
import com.jero.modules.activiti.entity.ProcessAll;
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
import com.jero.modules.activiti.process.standardComplianceCheck.entity.ProcessStandardComplianceCheck;
import com.jero.modules.activiti.process.standardComplianceCheck.entity.ProcessStandardComplianceCheckDetail;
import com.jero.modules.activiti.process.standardinterpret.entity.ProcessStandardInterpret;
import com.jero.modules.activiti.process.standardinterpret.service.ProcessStandardInterpretService;
import com.jero.modules.activiti.service.ProcessAllService;
import com.jero.modules.activiti.service.WorkCenterService;
import com.jero.modules.activiti.util.SpringContextUtil;
@@ -19,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import static com.jero.modules.activiti.common.ActivitiCommon.MAIN_INSTANCE_ID;
@@ -91,6 +95,21 @@ public class StandardComplianceCheckFlow implements WorkCenterService {
@Override
public void flowCountersign(DelegateTaskParam param) {
String projectId = param.getProjectId();
String userId = param.getUserId();
ProcessStandardInterpretService processStandardInterpretService =
SpringContextUtil.getBean(ProcessStandardInterpretService.class);
ProcessStandardInterpret processStandardInterpret = processStandardInterpretService.getOne(
new LambdaQueryWrapper<ProcessStandardInterpret>()
.eq(ProcessStandardInterpret::getProjectId, projectId));
if (!Objects.isNull(processStandardInterpret)){
// 处理业务表
String newCountersignPersonIds = processStandardInterpret.getCountersignPersonIds() + "," + userId;
// 更新会签人员信息
processStandardInterpretService.update(
new LambdaUpdateWrapper<ProcessStandardInterpret>()
.eq(ProcessStandardInterpret::getId, processStandardInterpret.getId())
.set(ProcessStandardInterpret::getCountersignPersonIds, newCountersignPersonIds));
}
}
}
@@ -475,7 +475,8 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
@Override
public Map<String, Object> importExcelWithData(MultipartFile file) {
return null;
Map<String, Object> resultMap = new HashMap<>();
return resultMap;
}
private List<ProcessStandardComplianceCheckDetail> getSplitDataByStandard(ProcessStandardComplianceCheck scc) {
@@ -28,6 +28,7 @@ import com.jero.modules.activiti.mapper.ProcessAllMapper;
import com.jero.modules.activiti.process.common.common.DraftCommon;
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
import com.jero.modules.activiti.process.standardComplianceCheck.common.ProcessStandardComplianceCheckConstants;
import com.jero.modules.activiti.process.standardinterpret.common.StandardInterpretCommon;
import com.jero.modules.activiti.util.ActivityCountersign;
import com.jero.modules.activiti.util.SpringContextUtil;
@@ -329,7 +330,10 @@ public class ProcessAllService extends ServiceImpl<ProcessAllMapper, ProcessAll>
processNodeLink.setUserId(userId);
processNodeLinkService.save(processNodeLink);
if (StandardInterpretCommon.JOINTLY_SIGN_LIST.equals(processNode.getVariableName())){
if (StandardInterpretCommon.JOINTLY_SIGN_LIST.equals(processNode.getVariableName()) ||
ProcessStandardComplianceCheckConstants.COUNTERSIGN_USER_LIST.equals(processNode.getVariableName()) ||
ProcessStandardComplianceCheckConstants.MANAGER_LIST.equals(processNode.getVariableName()) ||
ProcessStandardComplianceCheckConstants.SENIOR_MANAGER_LIST.equals(processNode.getVariableName())){
processNode.setVariableName(processNode.getVariableName().replace("List", ""));
}