package com.iailab.module.bpm.enums.definition; import cn.hutool.core.util.ArrayUtil; import com.iailab.framework.common.core.IntArrayValuable; import lombok.AllArgsConstructor; import lombok.Getter; import java.util.Arrays; /** * BPM 多人审批方å¼çš„æžšä¸¾ * * @author hou */ @Getter @AllArgsConstructor public enum BpmUserTaskApproveMethodEnum implements IntArrayValuable { RANDOM(1, "éšæœºæŒ‘选一人审批", null), RATIO(2, "多人会ç¾(按通过比例)", "${ nrOfCompletedInstances/nrOfInstances >= %s}"), // 会ç¾ï¼ˆæŒ‰é€šè¿‡æ¯”例) ANY(3, "多人或ç¾(一人通过或拒ç»)", "${ nrOfCompletedInstances > 0 }"), // 或ç¾ï¼ˆé€šè¿‡åªéœ€ä¸€äººï¼Œæ‹’ç»åªéœ€ä¸€äººï¼‰ SEQUENTIAL(4, "便¬¡å®¡æ‰¹", "${ nrOfCompletedInstances >= nrOfInstances }"); // 便¬¡å®¡æ‰¹ /** * å®¡æ‰¹æ–¹å¼ */ private final Integer method; /** * åå— */ private final String name; /** * 完æˆè¡¨è¾¾å¼ */ private final String completionCondition; public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(BpmUserTaskApproveMethodEnum::getMethod).toArray(); public static BpmUserTaskApproveMethodEnum valueOf(Integer method) { return ArrayUtil.firstMatch(item -> item.getMethod().equals(method), values()); } @Override public int[] array() { return ARRAYS; } }