Constant.java 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765
  1. package com.ruoyi.base.constant;
  2. import cn.hutool.core.comparator.CompareUtil;
  3. import java.util.Arrays;
  4. /**
  5. * Created by IntelliJ IDEA.
  6. * User: andy.qu
  7. * Date: 2022/3/9
  8. */
  9. public class Constant {
  10. public static final String CUSTOMER_ID = "default";
  11. public static final Long WAREHOUSE_ID = 1L;
  12. /**
  13. * 入库
  14. */
  15. public static final int FLOW_ID_ASN = 5;
  16. /**
  17. * 出库
  18. */
  19. public static final int FLOW_ID_SO = 6;
  20. /**
  21. * 回库
  22. */
  23. public static final int FLOW_ID_RSO = 9;
  24. /**
  25. * 入库缓存位
  26. */
  27. public static final Long LOC_STAGE_CACHE = 99997l;
  28. /**
  29. * 出库缓存位
  30. */
  31. public static final Long LOC_SORTATION_CACHE = 99998l;
  32. /**
  33. * 备货虚拟区(仓储外)
  34. */
  35. public static final Long LOC_SORTATION02_CACHE = 99996l;
  36. /**
  37. * 中间缓存位
  38. * AGV作业搬运任务时候库存的虚拟库位
  39. */
  40. public static final Long LOC_MIDDLE_CACHE = 99999l;
  41. /**
  42. * 是否
  43. */
  44. public enum IS_YES {
  45. /**
  46. * 是
  47. */
  48. Y("1"),
  49. /**
  50. * 否
  51. */
  52. N("0");
  53. private String value;
  54. IS_YES(String value) {
  55. this.value = value;
  56. }
  57. public String getValue() {
  58. return value;
  59. }
  60. }
  61. /**
  62. * 入库单据类型
  63. */
  64. public enum ASN_TYP {
  65. /**
  66. * 正常入库
  67. */
  68. ZC("ZC"),
  69. /**
  70. * 采购入库
  71. */
  72. PR("PR"),
  73. /**
  74. * 其他入库
  75. */
  76. OT("OT");
  77. private String value;
  78. ASN_TYP(String value) {
  79. this.value = value;
  80. }
  81. public String getValue() {
  82. return value;
  83. }
  84. }
  85. /**
  86. * 出库单据类型
  87. */
  88. public enum ORDER_TYP {
  89. /**
  90. * 正常出库
  91. */
  92. ZC("ZC"),
  93. /**
  94. * 备货
  95. */
  96. BH("BH"),
  97. /**
  98. * 反拣
  99. */
  100. FJ("FJ"),
  101. /**
  102. * 库内理货
  103. */
  104. LH("LH");
  105. private String value;
  106. ORDER_TYP(String value) {
  107. this.value = value;
  108. }
  109. public String getValue() {
  110. return value;
  111. }
  112. }
  113. /**
  114. * 入库单状态
  115. */
  116. public enum ASN_STS {
  117. /**
  118. * 订单创建
  119. */
  120. STS00("00"),
  121. /**
  122. * 部分收货
  123. */
  124. STS30("30"),
  125. /**
  126. * 完全收货
  127. */
  128. STS40("40"),
  129. /**
  130. * 部分上架
  131. */
  132. STS50("50"),
  133. /**
  134. * 完全上架
  135. */
  136. STS60("60"),
  137. /**
  138. * 部分验收
  139. */
  140. STS70("70"),
  141. /**
  142. * 完全验收
  143. */
  144. STS80("80"),
  145. /**
  146. * 收货取消
  147. */
  148. STS90("90"),
  149. /**
  150. * ASN关闭
  151. */
  152. STS99("99");
  153. private String value;
  154. ASN_STS(String value) {
  155. this.value = value;
  156. }
  157. public String getValue() {
  158. return value;
  159. }
  160. }
  161. /**
  162. * 出库状态
  163. */
  164. public enum ORDER_STS {
  165. /**
  166. * 订单创建
  167. */
  168. STS00("00"),
  169. /**
  170. * 部分分配
  171. */
  172. STS10("10"),
  173. /**
  174. * 完全分配
  175. */
  176. STS20("20"),
  177. /**
  178. * 任务生成
  179. */
  180. STS21("21"),
  181. /**
  182. * 部分备货
  183. */
  184. STS22("22"),
  185. /**
  186. * 备货完成
  187. */
  188. STS23("23"),
  189. /**
  190. * 部分拣货
  191. */
  192. STS30("30"),
  193. /**
  194. * 拣货完成
  195. */
  196. STS40("40"),
  197. /**
  198. * 取消
  199. */
  200. STS90("90"),
  201. /**
  202. * 部分完成
  203. */
  204. STS98("98"),
  205. /**
  206. * 关闭
  207. */
  208. STS99("99");
  209. private String value;
  210. ORDER_STS(String value) {
  211. this.value = value;
  212. }
  213. public String getValue() {
  214. return value;
  215. }
  216. }
  217. /**
  218. * 库存状态
  219. */
  220. public enum INV_STS {
  221. /**
  222. * 合格
  223. */
  224. HG("90"),
  225. /**
  226. * 不合格
  227. */
  228. BHG("99");
  229. private String value;
  230. INV_STS(String value) {
  231. this.value = value;
  232. }
  233. public String getValue() {
  234. return value;
  235. }
  236. }
  237. /**
  238. * 储位状态
  239. */
  240. public enum STOCK_STATUS {
  241. /**
  242. * 空闲
  243. */
  244. STOCK00("00"),
  245. /**
  246. * 占用
  247. */
  248. STOCK10("10"),
  249. /**
  250. * 封存
  251. */
  252. STOCK80("80");
  253. private String value;
  254. STOCK_STATUS(String value) {
  255. this.value = value;
  256. }
  257. public String getValue() {
  258. return value;
  259. }
  260. }
  261. /**
  262. * NDC任务类型
  263. */
  264. public enum TASK_BUSINESS_TYPE {
  265. /**
  266. * 01叉货任务
  267. */
  268. TASK_01("01"),
  269. /**
  270. * 60暂停点
  271. */
  272. TASK_60("60"),
  273. /**
  274. * 90暂停重启
  275. */
  276. TASK_90("90"),
  277. /**
  278. * 电量
  279. */
  280. TASK_POWER("power"),
  281. /**
  282. * m
  283. */
  284. TASK_m("m"),
  285. /**
  286. * 按钮盒触发交通管制
  287. */
  288. TASK_74("74"),
  289. /**
  290. * 按钮盒解除交通管制
  291. */
  292. TASK_75("75"),
  293. /**
  294. * 光栅触发交通管制
  295. */
  296. TASK_76("76"),
  297. /**
  298. * 光栅解除交通管制
  299. */
  300. TASK_77("77"),
  301. /**
  302. * 暂停
  303. */
  304. TASK_03("03");
  305. private String value;
  306. TASK_BUSINESS_TYPE(String value) {
  307. this.value = value;
  308. }
  309. public String getValue() {
  310. return value;
  311. }
  312. }
  313. /**
  314. * 任务类型
  315. */
  316. public enum TASK_TYPE {
  317. /**
  318. * 转发任务
  319. */
  320. FORWARD("FW");
  321. private String value;
  322. TASK_TYPE(String value) {
  323. this.value = value;
  324. }
  325. public String getValue() {
  326. return value;
  327. }
  328. }
  329. /**
  330. * 任务状态 State
  331. */
  332. public enum TASK_STS {
  333. /**
  334. * 下发AMS
  335. */
  336. TASK0(0),
  337. /**
  338. * 开始
  339. */
  340. TASK1(1),
  341. /**
  342. * 完成
  343. */
  344. TASK2(2),
  345. /**
  346. * 开始取货
  347. */
  348. TASK3(3),
  349. /**
  350. * 取货完成
  351. */
  352. TASK4(4),
  353. /**
  354. * 开始卸货
  355. */
  356. TASK5(5),
  357. /**
  358. * 卸货完成
  359. */
  360. TASK6(6),
  361. /**
  362. * 取消
  363. */
  364. TASK7(7),
  365. /**
  366. * 空叉取消
  367. */
  368. TASK8(8),
  369. /**
  370. * 队列等待
  371. */
  372. TASK9(9),
  373. /**
  374. * 已下发
  375. */
  376. TASK10(10);
  377. private Integer value;
  378. public Integer getValue() {
  379. return value;
  380. }
  381. TASK_STS(Integer value) {
  382. this.value = value;
  383. }
  384. }
  385. public enum ZONE_TYPE {
  386. /**
  387. * 仓储区域
  388. */
  389. ZONE_INV(2L),
  390. /**
  391. * 入库区域
  392. */
  393. ZONE_IN(4L),
  394. /**
  395. * 回库区域
  396. */
  397. ZONE_RE(10L),
  398. /**
  399. * 出库区域
  400. */
  401. ZONE_OUT(5L),
  402. /**
  403. * 虚拟区
  404. */
  405. ZONE_VIRTUAL(9999L);
  406. private Long value;
  407. ZONE_TYPE(Long value) {
  408. this.value = value;
  409. }
  410. public Long getValue() {
  411. return value;
  412. }
  413. }
  414. /**
  415. * 事务类型
  416. */
  417. public enum Transaction_TYPE {
  418. /**
  419. * 收货
  420. */
  421. RC("RC"),
  422. /**
  423. * 上架
  424. */
  425. PA("PA"),
  426. /**
  427. * 拣货
  428. */
  429. PK("PK"),
  430. /**
  431. * 调整
  432. */
  433. OB("OB"),
  434. /**
  435. * 盘点
  436. */
  437. CO("CO"),
  438. /**
  439. * 验收
  440. */
  441. QC("QC");
  442. private String value;
  443. Transaction_TYPE(String value) {
  444. this.value = value;
  445. }
  446. public String getValue() {
  447. return value;
  448. }
  449. }
  450. /**
  451. * 质量状态
  452. */
  453. public enum QUALITY_STATUS {
  454. /***
  455. * 合格
  456. */
  457. HG("HG"),
  458. /***
  459. * 不合格
  460. */
  461. BHG("BHG"),
  462. /***
  463. * 待检
  464. */
  465. DJ("DJ");
  466. private String value;
  467. QUALITY_STATUS(String value) {
  468. this.value = value;
  469. }
  470. public String getValue() {
  471. return value;
  472. }
  473. }
  474. /**
  475. * 光栅和库位编号对应关系
  476. */
  477. public enum GRATING_AND_LOCATION_MAPPING {
  478. /***
  479. * 1号光栅
  480. */
  481. NO1("sys.guangshan.no1", "IN-01-01"),
  482. /***
  483. * 2号光栅
  484. */
  485. NO2("sys.guangshan.no2", "IN-02-01"),
  486. /***
  487. * 3号光栅
  488. */
  489. NO3("sys.guangshan.no3", "RET-01-01"),
  490. /***
  491. * 4号光栅
  492. */
  493. NO4("sys.guangshan.no4", "RET-02-01");
  494. /**
  495. * 光栅编号
  496. */
  497. private String value;
  498. /**
  499. * 库位编号
  500. */
  501. private String value1;
  502. GRATING_AND_LOCATION_MAPPING(String value, String value1) {
  503. this.value = value;
  504. this.value1 = value1;
  505. }
  506. /**
  507. * 获取光栅编号
  508. *
  509. * @return
  510. */
  511. public String getValue() {
  512. return value;
  513. }
  514. /**
  515. * 获取库位编号
  516. *
  517. * @return
  518. */
  519. public String getValue1() {
  520. return value1;
  521. }
  522. /**
  523. * 根据光栅号获取
  524. *
  525. * @param grating
  526. * @return
  527. */
  528. public static GRATING_AND_LOCATION_MAPPING getByGrating(String grating) {
  529. for (GRATING_AND_LOCATION_MAPPING code : values()) {
  530. if (code.getValue().equals(grating)) {
  531. return code;
  532. }
  533. }
  534. return null;
  535. }
  536. /**
  537. * 根据库位编号获取
  538. *
  539. * @param location
  540. * @return
  541. */
  542. public static GRATING_AND_LOCATION_MAPPING getByLocation(String location) {
  543. for (GRATING_AND_LOCATION_MAPPING code : values()) {
  544. if (code.getValue1().equals(location)) {
  545. return code;
  546. }
  547. }
  548. return null;
  549. }
  550. }
  551. /**
  552. * 光栅检测信号
  553. */
  554. public enum GRATING_DETECTION_SIGNAL {
  555. /***
  556. * 1号光栅
  557. */
  558. NO1("sys.guangshan.no1", "3F00010D0A"),
  559. /***
  560. * 2号光栅
  561. */
  562. NO2("sys.guangshan.no2", "3F00020D0A"),
  563. /***
  564. * 3号光栅
  565. */
  566. NO3("sys.guangshan.no3", "3F00030D0A"),
  567. /***
  568. * 4号光栅
  569. */
  570. NO4("sys.guangshan.no4", "3F00040D0A"),
  571. /***
  572. * 5号光栅
  573. */
  574. NO5("sys.guangshan.no5", "3F00510D0A"),
  575. /***
  576. * 6号光栅
  577. */
  578. NO6("sys.guangshan.no6", "3F00610D0A");
  579. /**
  580. * 光栅编号
  581. */
  582. private String key;
  583. /**
  584. * 检测信号
  585. */
  586. private String value;
  587. GRATING_DETECTION_SIGNAL(String key, String value) {
  588. this.key = key;
  589. this.value = value;
  590. }
  591. /**
  592. * 获取光栅编号
  593. *
  594. * @return
  595. */
  596. public String getKey() {
  597. return key;
  598. }
  599. /**
  600. * 获取检测信号
  601. *
  602. * @return
  603. */
  604. public String getValue() {
  605. return value;
  606. }
  607. /**
  608. * 根据光栅号获取检测信号
  609. *
  610. * @param key
  611. * @return
  612. */
  613. public static String getValueByKey(String key) {
  614. return Arrays.stream(values()).filter(item -> CompareUtil.compare(item.getKey(), key) == 0)
  615. .map(GRATING_DETECTION_SIGNAL::getValue).findFirst().orElseGet(() -> null);
  616. }
  617. }
  618. /**
  619. * 出入库区域信息
  620. */
  621. public enum AREA_INFO {
  622. /***
  623. * 入库区域
  624. */
  625. STORAGE_AREA("storageAreaControl", "2"),
  626. /***
  627. * 出库区域
  628. */
  629. EXIT_AREA("exitAreaControl", "1");
  630. /**
  631. * 区域缓存key
  632. */
  633. private String key;
  634. /**
  635. * 区域对接杭叉AGV LP0字段
  636. */
  637. private String value;
  638. AREA_INFO(String key, String value) {
  639. this.key = key;
  640. this.value = value;
  641. }
  642. /**
  643. * 获取区域缓存key
  644. *
  645. * @return
  646. */
  647. public String getKey() {
  648. return key;
  649. }
  650. /**
  651. * 获取区域对接杭叉AGV LP0字段
  652. *
  653. * @return
  654. */
  655. public String getValue() {
  656. return value;
  657. }
  658. /**
  659. * 根据区域缓存key获取区域对接杭叉AGV LP0字段
  660. *
  661. * @param key
  662. * @return
  663. */
  664. public static String getValueByKey(String key) {
  665. return Arrays.stream(values()).filter(item -> CompareUtil.compare(item.getKey(), key) == 0)
  666. .map(AREA_INFO::getValue).findFirst().orElseGet(() -> null);
  667. }
  668. /**
  669. * 根据区域对接杭叉AGV LP0字段获取区域缓存key
  670. *
  671. * @param value
  672. * @return
  673. */
  674. public static String getKeyByValue(String value) {
  675. return Arrays.stream(values()).filter(item -> CompareUtil.compare(item.getValue(), value) == 0)
  676. .map(AREA_INFO::getKey).findFirst().orElseGet(() -> null);
  677. }
  678. }
  679. }