update - 更新选人计算逻辑

This commit is contained in:
wangli 2023-12-05 10:00:13 +08:00
parent fe9661fe44
commit d6420121af
2 changed files with 7 additions and 9 deletions

View File

@ -13,7 +13,6 @@ import cn.axzo.workflow.common.model.request.bpmn.BpmnNoticeConf;
import cn.axzo.workflow.common.model.request.bpmn.BpmnNoticeProperty; import cn.axzo.workflow.common.model.request.bpmn.BpmnNoticeProperty;
import cn.axzo.workflow.common.model.request.bpmn.BpmnPendingProperty; import cn.axzo.workflow.common.model.request.bpmn.BpmnPendingProperty;
import cn.axzo.workflow.common.model.request.bpmn.BpmnSmsProperty; import cn.axzo.workflow.common.model.request.bpmn.BpmnSmsProperty;
import com.alibaba.fastjson.JSON;
import org.flowable.bpmn.model.BpmnModel; import org.flowable.bpmn.model.BpmnModel;
import org.flowable.bpmn.model.ExtensionElement; import org.flowable.bpmn.model.ExtensionElement;
import org.flowable.bpmn.model.FlowElement; import org.flowable.bpmn.model.FlowElement;
@ -213,11 +212,11 @@ public final class BpmnMetaParserHelper {
.map(element -> ApproverSpecifyEnum.valueOf(element.getAttributeValue(null, ELEMENT_ATTRIBUTE_VALUE))); .map(element -> ApproverSpecifyEnum.valueOf(element.getAttributeValue(null, ELEMENT_ATTRIBUTE_VALUE)));
} }
public static Optional<List<String>> getApproverSpecifyValue(UserTask userTask) { public static Optional<String> getApproverSpecifyValue(UserTask userTask) {
return defaultValid(userTask, CONFIG_APPROVER_SPECIFY) return defaultValid(userTask, CONFIG_APPROVER_SPECIFY)
.map(element -> StringUtils.hasLength(element.getElementText()) .map(element -> StringUtils.hasLength(element.getElementText())
? JSON.parseArray(element.getElementText(), String.class) ? element.getElementText()
: Collections.emptyList()); : "{}");
} }
public static Optional<ApproverEmptyHandleTypeEnum> getApproverEmptyHandleType(UserTask userTask) { public static Optional<ApproverEmptyHandleTypeEnum> getApproverEmptyHandleType(UserTask userTask) {

View File

@ -22,7 +22,6 @@ import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.function.Supplier; import java.util.function.Supplier;
import java.util.stream.Collectors;
import static cn.axzo.workflow.core.common.enums.BpmnErrorCode.CONVERTOR_META_DATA_FORMAT_ERROR; import static cn.axzo.workflow.core.common.enums.BpmnErrorCode.CONVERTOR_META_DATA_FORMAT_ERROR;
@ -74,11 +73,11 @@ public abstract class AbstractBpmnTaskAssigneeSelector implements BpmnTaskAssign
// 默认解析格式[{"name":"预算员", "value":"xxxx"}] // 默认解析格式[{"name":"预算员", "value":"xxxx"}]
try { try {
return BpmnMetaParserHelper.getApproverSpecifyValue(userTask) return BpmnMetaParserHelper.getApproverSpecifyValue(userTask)
.map(strings -> strings.stream().map(i -> JSON.parseObject(i).getString("value")) .map(s -> JSON.parseArray(s, String.class))
.collect(Collectors.toList()))
.orElse(Collections.emptyList()); .orElse(Collections.emptyList());
} catch (Exception e) { } catch (Exception e) {
throw new WorkflowEngineException(CONVERTOR_META_DATA_FORMAT_ERROR, "AbstractBpmnTaskAssigneeSelector#getTypes", e.getMessage()); throw new WorkflowEngineException(CONVERTOR_META_DATA_FORMAT_ERROR, "AbstractBpmnTaskAssigneeSelector" +
"#getTypes", e.getMessage());
} }
} }