feat: scc流程会签节点驳回后人员回显

This commit is contained in:
2024-07-18 11:04:10 +08:00
parent 7337f33b39
commit 0c344672f3
2 changed files with 29 additions and 30 deletions
@@ -36,6 +36,8 @@ import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.*;
import java.util.function.Consumer;
import java.util.function.Function;
@Slf4j
@Service
@@ -152,6 +154,27 @@ public class ActFlowCommonService {
return processApprovalRecordService.getByTaskId(taskId);
}
public void setListAttribute(String instanceId, String variableName, Consumer<List<String>> setter, Function<Object, List<String>> converter) {
Object value = runtimeService.getVariable(instanceId, variableName);
if (value != null) {
setter.accept(converter.apply(value));
}
}
public void setStringAttribute(String instanceId, String variableName, Consumer<String> setter, Function<Object, String> converter) {
Object value = runtimeService.getVariable(instanceId, variableName);
if (value != null) {
setter.accept(converter.apply(value));
}
}
public void setStringBooleanAttribute(String instanceId, String variableName, Consumer<String> setter, Function<Object, String> converter) {
Object value = runtimeService.getVariable(instanceId, variableName);
if (value != null) {
setter.accept(converter.apply(value));
}
}
/**
* 完成提交任务
*/
@@ -52,8 +52,6 @@ import javax.annotation.Resource;
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Collectors;
import static com.jero.modules.activiti.common.ActivitiCommon.*;
@@ -223,11 +221,6 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
case SENIOR_MANAGER_APPROVAL:
runtimeService.setVariable(processInstanceId, PASS, pass);
break;
}
// TODO 转办修改流程变量逻辑
switch (xmlNodeId) {
}
// 保存快照
processHandleService.saveToSnapshot(processInfoVO, curUserId);
@@ -457,29 +450,12 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
}
private void handleDataVariables(ProcessStandardComplianceCheck scc, String mainInstanceId) {
Object distributeFlag = runtimeService.getVariable(mainInstanceId, DISTRIBUTE);
if (distributeFlag != null) {
scc.setDistributeFlag((boolean)distributeFlag ? YesOrNoEnum.YES.getValue() : YesOrNoEnum.NO.getValue());
}
setStringAttribute(mainInstanceId, DEPT_USER, scc::setDeptUser, Object::toString);
setStringAttribute(mainInstanceId, MAIN_CHECK_USER, scc::setMainCheckUser, Object::toString);
// setListAttribute(mainInstanceId, COUNTERSIGN_USER_LIST, v -> scc.setCountersignUser(String.join(",", (List<String>) v)), v -> (List<String>) v);
// setListAttribute(mainInstanceId, MANAGER, scc::setManager, Object::toString);
// setListAttribute(mainInstanceId, SENIOR_MANAGER, scc::setSeniorManager, Object::toString);
}
private void setListAttribute(String instanceId, String variableName, Consumer<List<String>> setter, Function<Object, List<String>> converter) {
Object value = runtimeService.getVariable(instanceId, variableName);
if (value != null) {
setter.accept(converter.apply(value));
}
}
private void setStringAttribute(String instanceId, String variableName, Consumer<String> setter, Function<Object, String> converter) {
Object value = runtimeService.getVariable(instanceId, variableName);
if (value != null) {
setter.accept(converter.apply(value));
}
actFlowCommonService.setStringBooleanAttribute(mainInstanceId, DISTRIBUTE, scc::setDistributeFlag, value -> (boolean) value ? YesOrNoEnum.YES.getValue() : YesOrNoEnum.NO.getValue());
actFlowCommonService.setStringAttribute(mainInstanceId, DEPT_USER, scc::setDeptUser, Object::toString);
actFlowCommonService.setStringAttribute(mainInstanceId, MAIN_CHECK_USER, scc::setMainCheckUser, Object::toString);
actFlowCommonService.setListAttribute(mainInstanceId, COUNTERSIGN_USER_LIST, v -> scc.setCountersignUser(String.join(",", v)), v -> (List<String>) v);
actFlowCommonService.setListAttribute(mainInstanceId, MANAGER_LIST, v -> scc.setManager(String.join(",", v)), v -> (List<String>) v);
actFlowCommonService.setListAttribute(mainInstanceId, SENIOR_MANAGER_LIST, v -> scc.setSeniorManager(String.join(",", v)), v -> (List<String>) v);
}
private void setDesignerEngineerEvaluationHandleData(ProcessSccVO processSccVO, String mainInstanceId, String processInstanceId) {