package com.ruoyi.base.constant; import cn.hutool.core.comparator.CompareUtil; import java.util.Arrays; /** * Created by IntelliJ IDEA. * User: andy.qu * Date: 2022/3/9 */ public class Constant { public static final String CUSTOMER_ID = "default"; public static final Long WAREHOUSE_ID = 1L; /** * 入库 */ public static final int FLOW_ID_ASN = 5; /** * 出库 */ public static final int FLOW_ID_SO = 6; /** * 回库 */ public static final int FLOW_ID_RSO = 9; /** * 入库缓存位 */ public static final Long LOC_STAGE_CACHE = 99997l; /** * 出库缓存位 */ public static final Long LOC_SORTATION_CACHE = 99998l; /** * 备货虚拟区(仓储外) */ public static final Long LOC_SORTATION02_CACHE = 99996l; /** * 中间缓存位 * AGV作业搬运任务时候库存的虚拟库位 */ public static final Long LOC_MIDDLE_CACHE = 99999l; /** * 是否 */ public enum IS_YES { /** * 是 */ Y("1"), /** * 否 */ N("0"); private String value; IS_YES(String value) { this.value = value; } public String getValue() { return value; } } /** * 入库单据类型 */ public enum ASN_TYP { /** * 正常入库 */ ZC("ZC"), /** * 采购入库 */ PR("PR"), /** * 其他入库 */ OT("OT"); private String value; ASN_TYP(String value) { this.value = value; } public String getValue() { return value; } } /** * 出库单据类型 */ public enum ORDER_TYP { /** * 正常出库 */ ZC("ZC"), /** * 备货 */ BH("BH"), /** * 反拣 */ FJ("FJ"), /** * 库内理货 */ LH("LH"); private String value; ORDER_TYP(String value) { this.value = value; } public String getValue() { return value; } } /** * 入库单状态 */ public enum ASN_STS { /** * 订单创建 */ STS00("00"), /** * 部分收货 */ STS30("30"), /** * 完全收货 */ STS40("40"), /** * 部分上架 */ STS50("50"), /** * 完全上架 */ STS60("60"), /** * 部分验收 */ STS70("70"), /** * 完全验收 */ STS80("80"), /** * 收货取消 */ STS90("90"), /** * ASN关闭 */ STS99("99"); private String value; ASN_STS(String value) { this.value = value; } public String getValue() { return value; } } /** * 出库状态 */ public enum ORDER_STS { /** * 订单创建 */ STS00("00"), /** * 部分分配 */ STS10("10"), /** * 完全分配 */ STS20("20"), /** * 任务生成 */ STS21("21"), /** * 部分备货 */ STS22("22"), /** * 备货完成 */ STS23("23"), /** * 部分拣货 */ STS30("30"), /** * 拣货完成 */ STS40("40"), /** * 取消 */ STS90("90"), /** * 部分完成 */ STS98("98"), /** * 关闭 */ STS99("99"); private String value; ORDER_STS(String value) { this.value = value; } public String getValue() { return value; } } /** * 库存状态 */ public enum INV_STS { /** * 合格 */ HG("90"), /** * 不合格 */ BHG("99"); private String value; INV_STS(String value) { this.value = value; } public String getValue() { return value; } } /** * 储位状态 */ public enum STOCK_STATUS { /** * 空闲 */ STOCK00("00"), /** * 占用 */ STOCK10("10"), /** * 封存 */ STOCK80("80"); private String value; STOCK_STATUS(String value) { this.value = value; } public String getValue() { return value; } } /** * NDC任务类型 */ public enum TASK_BUSINESS_TYPE { /** * 01叉货任务 */ TASK_01("01"), /** * 60暂停点 */ TASK_60("60"), /** * 90暂停重启 */ TASK_90("90"), /** * 电量 */ TASK_POWER("power"), /** * m */ TASK_m("m"), /** * 按钮盒触发交通管制 */ TASK_74("74"), /** * 按钮盒解除交通管制 */ TASK_75("75"), /** * 光栅触发交通管制 */ TASK_76("76"), /** * 光栅解除交通管制 */ TASK_77("77"), /** * 暂停 */ TASK_03("03"); private String value; TASK_BUSINESS_TYPE(String value) { this.value = value; } public String getValue() { return value; } } /** * 任务类型 */ public enum TASK_TYPE { /** * 转发任务 */ FORWARD("FW"); private String value; TASK_TYPE(String value) { this.value = value; } public String getValue() { return value; } } /** * 任务状态 State */ public enum TASK_STS { /** * 下发AMS */ TASK0(0), /** * 开始 */ TASK1(1), /** * 完成 */ TASK2(2), /** * 开始取货 */ TASK3(3), /** * 取货完成 */ TASK4(4), /** * 开始卸货 */ TASK5(5), /** * 卸货完成 */ TASK6(6), /** * 取消 */ TASK7(7), /** * 空叉取消 */ TASK8(8), /** * 队列等待 */ TASK9(9), /** * 已下发 */ TASK10(10); private Integer value; public Integer getValue() { return value; } TASK_STS(Integer value) { this.value = value; } } public enum ZONE_TYPE { /** * 仓储区域 */ ZONE_INV(2L), /** * 入库区域 */ ZONE_IN(4L), /** * 回库区域 */ ZONE_RE(10L), /** * 出库区域 */ ZONE_OUT(5L), /** * 虚拟区 */ ZONE_VIRTUAL(9999L); private Long value; ZONE_TYPE(Long value) { this.value = value; } public Long getValue() { return value; } } /** * 事务类型 */ public enum Transaction_TYPE { /** * 收货 */ RC("RC"), /** * 上架 */ PA("PA"), /** * 拣货 */ PK("PK"), /** * 调整 */ OB("OB"), /** * 盘点 */ CO("CO"), /** * 验收 */ QC("QC"); private String value; Transaction_TYPE(String value) { this.value = value; } public String getValue() { return value; } } /** * 质量状态 */ public enum QUALITY_STATUS { /*** * 合格 */ HG("HG"), /*** * 不合格 */ BHG("BHG"), /*** * 待检 */ DJ("DJ"); private String value; QUALITY_STATUS(String value) { this.value = value; } public String getValue() { return value; } } /** * 光栅和库位编号对应关系 */ public enum GRATING_AND_LOCATION_MAPPING { /*** * 1号光栅 */ NO1("sys.guangshan.no1", "IN-01-01"), /*** * 2号光栅 */ NO2("sys.guangshan.no2", "IN-02-01"), /*** * 3号光栅 */ NO3("sys.guangshan.no3", "RET-01-01"), /*** * 4号光栅 */ NO4("sys.guangshan.no4", "RET-02-01"); /** * 光栅编号 */ private String value; /** * 库位编号 */ private String value1; GRATING_AND_LOCATION_MAPPING(String value, String value1) { this.value = value; this.value1 = value1; } /** * 获取光栅编号 * * @return */ public String getValue() { return value; } /** * 获取库位编号 * * @return */ public String getValue1() { return value1; } /** * 根据光栅号获取 * * @param grating * @return */ public static GRATING_AND_LOCATION_MAPPING getByGrating(String grating) { for (GRATING_AND_LOCATION_MAPPING code : values()) { if (code.getValue().equals(grating)) { return code; } } return null; } /** * 根据库位编号获取 * * @param location * @return */ public static GRATING_AND_LOCATION_MAPPING getByLocation(String location) { for (GRATING_AND_LOCATION_MAPPING code : values()) { if (code.getValue1().equals(location)) { return code; } } return null; } } /** * 光栅检测信号 */ public enum GRATING_DETECTION_SIGNAL { /*** * 1号光栅 */ NO1("sys.guangshan.no1", "3F00010D0A"), /*** * 2号光栅 */ NO2("sys.guangshan.no2", "3F00020D0A"), /*** * 3号光栅 */ NO3("sys.guangshan.no3", "3F00030D0A"), /*** * 4号光栅 */ NO4("sys.guangshan.no4", "3F00040D0A"), /*** * 5号光栅 */ NO5("sys.guangshan.no5", "3F00510D0A"), /*** * 6号光栅 */ NO6("sys.guangshan.no6", "3F00610D0A"); /** * 光栅编号 */ private String key; /** * 检测信号 */ private String value; GRATING_DETECTION_SIGNAL(String key, String value) { this.key = key; this.value = value; } /** * 获取光栅编号 * * @return */ public String getKey() { return key; } /** * 获取检测信号 * * @return */ public String getValue() { return value; } /** * 根据光栅号获取检测信号 * * @param key * @return */ public static String getValueByKey(String key) { return Arrays.stream(values()).filter(item -> CompareUtil.compare(item.getKey(), key) == 0) .map(GRATING_DETECTION_SIGNAL::getValue).findFirst().orElseGet(() -> null); } } /** * 出入库区域信息 */ public enum AREA_INFO { /*** * 入库区域 */ STORAGE_AREA("storageAreaControl", "2"), /*** * 出库区域 */ EXIT_AREA("exitAreaControl", "1"); /** * 区域缓存key */ private String key; /** * 区域对接杭叉AGV LP0字段 */ private String value; AREA_INFO(String key, String value) { this.key = key; this.value = value; } /** * 获取区域缓存key * * @return */ public String getKey() { return key; } /** * 获取区域对接杭叉AGV LP0字段 * * @return */ public String getValue() { return value; } /** * 根据区域缓存key获取区域对接杭叉AGV LP0字段 * * @param key * @return */ public static String getValueByKey(String key) { return Arrays.stream(values()).filter(item -> CompareUtil.compare(item.getKey(), key) == 0) .map(AREA_INFO::getValue).findFirst().orElseGet(() -> null); } /** * 根据区域对接杭叉AGV LP0字段获取区域缓存key * * @param value * @return */ public static String getKeyByValue(String value) { return Arrays.stream(values()).filter(item -> CompareUtil.compare(item.getValue(), value) == 0) .map(AREA_INFO::getKey).findFirst().orElseGet(() -> null); } } }