AutoMonitorUtils.java
package com.mycim.valueobject.automonitor.util;
import com.mycim.framework.utils.lang.BooleanUtils;
import com.mycim.framework.utils.lang.StringUtils;
import com.mycim.valueobject.consts.EquipmentStatus;
import com.mycim.valueobject.consts.EventName;
import com.mycim.valueobject.ems.Equipment;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
public class AutoMonitorUtils {
public static String checkItemMainEqptType(String mainEqptType) {
if (StringUtils.isNotBlank(mainEqptType)) {
return StringUtils.trimToUpperCase(mainEqptType);
} else {
return AutoMonitorItemMainEqptType.NORMAL.toString();
}
}
public enum AutoMonitorItemMainEqptType {
/**
* Type 炉管有单独种类
**/
NORMAL, DIFF
}
public enum AutoMonitorItemMonitorCarrierType {
/**
* Single
**/
SINGLE,
/**
* Multi
**/
MULTI;
public static boolean isSingle(String carrierType) {
if (SINGLE.toString().equals(carrierType)) {
return true;
}
return false;
}
public static boolean isMulti(String carrierType) {
if (MULTI.toString().equals(carrierType)) {
return true;
}
return false;
}
}
public static boolean checkStepIsPreEdcStep(String eqptType) {
return StringUtils.startsWith(eqptType, AutoMonitorOperationConstants.STEP_TYPE_PRE) ||
StringUtils.equalsIgnoreCase(eqptType, AutoMonitorOperationConstants.STEP_TYPE_SINGLE_PRE);
}
public static boolean checkStepIsPostEdcStep(String eqptType) {
return StringUtils.startsWith(eqptType,AutoMonitorOperationConstants.STEP_TYPE_POST);
}
public static boolean checkStepIsEdcStep(String eqptType) {
return StringUtils.startsWith(eqptType, AutoMonitorOperationConstants.STEP_TYPE_PRE) ||
StringUtils.startsWith(eqptType, AutoMonitorOperationConstants.STEP_TYPE_POST) ||
StringUtils.equalsIgnoreCase(eqptType, AutoMonitorOperationConstants.STEP_TYPE_SINGLE_PRE);
}
public static boolean checkStepIsProcessStep(String eqptType) {
return !checkStepIsEdcStep(eqptType);
}
public static boolean checkStepIsMainProcessStep(String eqptType) {
return StringUtils.equals(eqptType,AutoMonitorOperationConstants.STEP_TYPE_MAIN);
}
public static boolean checkStepIsProcessEdcStep(String eqptType) {
return StringUtils.startsWith(eqptType, AutoMonitorOperationConstants.STEP_TYPE_PROCESS_PRE) ||
StringUtils.startsWith(eqptType, AutoMonitorOperationConstants.STEP_TYPE_PROCESS_POST) ||
StringUtils.equalsIgnoreCase(eqptType, AutoMonitorOperationConstants.STEP_TYPE_SINGLE_PRE);
}
public static String buildItemWorkflowId(String eqptId, String itemType) {
return "MONITOR-ITEM-" + StringUtils.trimToUpperCase(eqptId) + "-" + StringUtils.trimToUpperCase(itemType);
}
public static List<String> getDispatchEqptAvailableStatus(Equipment equipment, String eqptType) {
if(checkStepIsMainProcessStep(eqptType)) {
return Arrays.asList(EquipmentStatus.AVAILABLE_EQP_AUTO_MONITOR_STATUS);
} else if (BooleanUtils.toBoolean(equipment.getIsChamberEquip()) &&
StringUtils.isNotEmpty(equipment.getChamberMode())) {
List<String> allAvailableStatus = new ArrayList<>();
allAvailableStatus.addAll(Arrays.asList(EquipmentStatus.AVAILABLE_EQP_STATUS));
allAvailableStatus.addAll(Arrays.asList(EquipmentStatus.AVAILABLE_EQP_AUTO_MONITOR_STATUS));
return allAvailableStatus;
} else {
return Arrays.asList(EquipmentStatus.AVAILABLE_EQP_STATUS);
}
}
public static boolean checkJobStatusIsFixed(String jobStatus){
return Arrays.asList(MonitorJobStatusConts.getFixedJobStatus()).contains(jobStatus);
}
public static boolean checkJobStatusCanCancel(String jobStatus) {
return Arrays.asList(MonitorJobStatusConts.getCanCancelJobStatus()).contains(jobStatus);
}
}