zhangxin 1 rok pred
rodič
commit
11d8b75c35
100 zmenil súbory, kde vykonal 1220 pridanie a 3744 odobranie
  1. 84 0
      base_sql/pallet_sql/jinyinhua_ddl_20231025.sql
  2. 0 855
      base_sql/pallet_sql/jinyinhua_dml_20231025.sql
  3. 0 16
      pom.xml
  4. 0 0
      warewms-ams/install.sh
  5. 322 5
      warewms-ams/pom.xml
  6. 0 0
      warewms-ams/remove.sh
  7. 0 0
      warewms-ams/src/main/java/com/warewms/WareWmsApplication.java
  8. 0 0
      warewms-ams/src/main/java/com/warewms/WareWmsServletInitializer.java
  9. 0 34
      warewms-ams/src/main/java/com/warewms/agv/ndc/controller/AmsTaskController.java
  10. 0 35
      warewms-ams/src/main/java/com/warewms/agv/ndc/service/AgvInteractingService.java
  11. 0 31
      warewms-ams/src/main/java/com/warewms/agv/ndc/service/impl/AgvInteractingServiceImpl.java
  12. 0 164
      warewms-ams/src/main/java/com/warewms/agv/ndc/service/impl/AmsTaskServiceImpl.java
  13. 0 57
      warewms-ams/src/main/java/com/warewms/agv/ndc/service/impl/StatusUpdateServiceImpl.java
  14. 0 28
      warewms-ams/src/main/java/com/warewms/agv/ndc/thread/AutoTaskThread.java
  15. 3 2
      warewms-ams/src/main/java/com/warewms/agv/car/controller/CarInfoController.java
  16. 1 1
      warewms-ams/src/main/java/com/warewms/agv/car/domain/CarInfo.java
  17. 1 1
      warewms-ams/src/main/java/com/warewms/agv/car/dto/CarInfoDTO.java
  18. 3 2
      warewms-ams/src/main/java/com/warewms/agv/car/mapper/CarInfoMapper.java
  19. 4 3
      warewms-ams/src/main/java/com/warewms/agv/car/service/ICarInfoService.java
  20. 5 5
      warewms-ams/src/main/java/com/warewms/agv/car/service/impl/CarInfoServiceImpl.java
  21. 2 2
      warewms-ams/src/main/java/com/warewms/agv/car/vo/CarInfoVO.java
  22. 7 15
      warewms-ams/src/main/java/com/warewms/init/StartService.java
  23. 88 86
      warewms-ams/src/main/java/com/warewms/agv/ndc/AciService.java
  24. 1 1
      warewms-ams/src/main/java/com/warewms/agv/ndc/common/Aci.java
  25. 1 1
      warewms-ams/src/main/java/com/warewms/agv/ndc/common/ByteUtil.java
  26. 1 1
      warewms-ams/src/main/java/com/warewms/agv/ndc/common/CRC16Util.java
  27. 1 1
      warewms-ams/src/main/java/com/warewms/agv/ndc/common/ValType.java
  28. 1 3
      warewms-ams/src/main/java/com/warewms/agv/ndc/config/TestTagConfig.java
  29. 45 0
      warewms-ams/src/main/java/com/warewms/ams/ndc/controller/AmsTaskController.java
  30. 1 1
      warewms-ams/src/main/java/com/warewms/agv/ndc/domain/AmsHexdefineDetail.java
  31. 1 1
      warewms-ams/src/main/java/com/warewms/agv/ndc/domain/AmsHexdefineHeader.java
  32. 1 1
      warewms-ams/src/main/java/com/warewms/agv/ndc/domain/AmsNdcEvent.java
  33. 1 1
      warewms-ams/src/main/java/com/warewms/agv/ndc/domain/AmsTask.java
  34. 6 6
      warewms-wms/src/main/java/com/warewms/wms/task/dto/WcsTaskCallBackDTO.java
  35. 3 3
      warewms-wms/src/main/java/com/warewms/wms/task/dto/WcsTaskCancelDTO.java
  36. 5 5
      warewms-wms/src/main/java/com/warewms/wms/task/dto/WcsTaskInfoDTO.java
  37. 3 3
      warewms-wms/src/main/java/com/warewms/wms/task/dto/WcsTaskInsertDTO.java
  38. 2 2
      warewms-wms/src/main/java/com/warewms/wms/task/dto/WcsTaskStateFeedbackDTO.java
  39. 1 1
      warewms-ams/src/main/java/com/warewms/agv/ndc/entity/AciInfo.java
  40. 1 1
      warewms-ams/src/main/java/com/warewms/agv/ndc/entity/CallbackResult.java
  41. 1 1
      warewms-ams/src/main/java/com/warewms/agv/ndc/entity/CarStatus.java
  42. 1 1
      warewms-ams/src/main/java/com/warewms/agv/ndc/entity/EventBean.java
  43. 1 1
      warewms-ams/src/main/java/com/warewms/agv/ndc/entity/Messageb.java
  44. 1 1
      warewms-ams/src/main/java/com/warewms/agv/ndc/entity/Order.java
  45. 2 2
      warewms-ams/src/main/java/com/warewms/agv/ndc/mapper/AmsHexdefineDetailMapper.java
  46. 4 3
      warewms-ams/src/main/java/com/warewms/agv/ndc/mapper/AmsHexdefineHeaderMapper.java
  47. 2 2
      warewms-ams/src/main/java/com/warewms/agv/ndc/mapper/AmsNdcEventMapper.java
  48. 7 4
      warewms-ams/src/main/java/com/warewms/agv/ndc/mapper/AmsTaskMapper.java
  49. 4 4
      warewms-ams/src/main/java/com/warewms/agv/ndc/service/IAmsHexdefineDetailService.java
  50. 2 2
      warewms-ams/src/main/java/com/warewms/agv/ndc/service/IAmsHexdefineHeaderService.java
  51. 2 2
      warewms-ams/src/main/java/com/warewms/agv/ndc/service/IAmsNdcEventService.java
  52. 12 5
      warewms-ams/src/main/java/com/warewms/agv/ndc/service/IAmsTaskService.java
  53. 2 2
      warewms-ams/src/main/java/com/warewms/agv/ndc/service/SocketBufferService.java
  54. 4 1
      warewms-ams/src/main/java/com/warewms/agv/ndc/service/StatusUpdateService.java
  55. 6 6
      warewms-ams/src/main/java/com/warewms/agv/ndc/service/impl/AmsHexdefineDetailServiceImpl.java
  56. 6 6
      warewms-ams/src/main/java/com/warewms/agv/ndc/service/impl/AmsHexdefineHeaderServiceImpl.java
  57. 5 5
      warewms-ams/src/main/java/com/warewms/agv/ndc/service/impl/AmsNdcEventServiceImpl.java
  58. 231 0
      warewms-ams/src/main/java/com/warewms/ams/ndc/service/impl/AmsTaskServiceImpl.java
  59. 17 13
      warewms-ams/src/main/java/com/warewms/agv/ndc/service/impl/SocketBufferServiceImpl.java
  60. 63 0
      warewms-ams/src/main/java/com/warewms/ams/ndc/service/impl/StatusUpdateServiceImpl.java
  61. 2 2
      warewms-ams/src/main/java/com/warewms/agv/ndc/thread/AciServiceThread.java
  62. 1 1
      warewms-ams/src/main/java/com/warewms/nio/NioBaseServer.java
  63. 11 8
      warewms-ams/src/main/java/com/warewms/thread/ClientHandler.java
  64. 116 0
      warewms-ams/src/main/java/com/warewms/ams/thread/ServerGs.java
  65. 3 3
      warewms-ams/src/main/java/com/warewms/wcs/controller/WcsController.java
  66. 1 1
      warewms-ams/src/main/java/com/warewms/wcs/form/BtnOpForm.java
  67. 2 2
      warewms-ams/src/main/java/com/warewms/wcs/service/IWcsService.java
  68. 34 11
      warewms-ams/src/main/java/com/warewms/wcs/service/impl/WcsServiceImpl.java
  69. 0 166
      warewms-ams/src/main/java/com/warewms/business/controller/BusinessController.java
  70. 0 17
      warewms-ams/src/main/java/com/warewms/business/domain/FilterLockInvLocationDTO.java
  71. 0 39
      warewms-ams/src/main/java/com/warewms/business/domain/LocationSortComparator.java
  72. 0 42
      warewms-ams/src/main/java/com/warewms/business/domain/LocationSortDTO.java
  73. 0 30
      warewms-ams/src/main/java/com/warewms/business/form/LineCallDetailsForm.java
  74. 0 30
      warewms-ams/src/main/java/com/warewms/business/form/LineCallForm.java
  75. 0 107
      warewms-ams/src/main/java/com/warewms/business/form/LineCallListFrom.java
  76. 0 222
      warewms-ams/src/main/java/com/warewms/business/service/IBusinessService.java
  77. 0 17
      warewms-ams/src/main/java/com/warewms/business/service/ILineCallService.java
  78. 0 1276
      warewms-ams/src/main/java/com/warewms/business/service/impl/BusinessServiceImpl.java
  79. 0 159
      warewms-ams/src/main/java/com/warewms/business/service/impl/LineCallServiceImpl.java
  80. 0 176
      warewms-ams/src/main/java/com/warewms/business/vo/LineCallVO.java
  81. 0 0
      warewms-ams/src/main/java/com/warewms/common/annotation/DataScope.java
  82. 0 0
      warewms-ams/src/main/java/com/warewms/common/annotation/DataSource.java
  83. 0 0
      warewms-ams/src/main/java/com/warewms/common/annotation/Excel.java
  84. 0 0
      warewms-ams/src/main/java/com/warewms/common/annotation/Excels.java
  85. 0 0
      warewms-ams/src/main/java/com/warewms/common/annotation/Log.java
  86. 0 0
      warewms-ams/src/main/java/com/warewms/common/annotation/RateLimiter.java
  87. 0 0
      warewms-ams/src/main/java/com/warewms/common/annotation/RepeatSubmit.java
  88. 12 0
      warewms-ams/src/main/java/com/warewms/common/base/bean/dto/WarewmsDTO.java
  89. 24 0
      warewms-ams/src/main/java/com/warewms/common/base/bean/dto/WarewmsExtDTO.java
  90. 14 0
      warewms-ams/src/main/java/com/warewms/common/base/bean/entity/WarewmsEntity.java
  91. 32 0
      warewms-ams/src/main/java/com/warewms/common/base/bean/entity/WarewmsExtEntity.java
  92. 0 0
      warewms-ams/src/main/java/com/warewms/common/base/controller/BaseController.java
  93. 0 0
      warewms-ams/src/main/java/com/warewms/common/base/dao/BaseDao.java
  94. 0 0
      warewms-ams/src/main/java/com/warewms/common/base/domain/AjaxResult.java
  95. 0 0
      warewms-ams/src/main/java/com/warewms/common/base/domain/BaseEntity.java
  96. 0 0
      warewms-ams/src/main/java/com/warewms/common/base/domain/TreeEntity.java
  97. 0 0
      warewms-ams/src/main/java/com/warewms/common/base/domain/TreeSelect.java
  98. 0 0
      warewms-ams/src/main/java/com/warewms/common/base/page/PageData.java
  99. 0 0
      warewms-ams/src/main/java/com/warewms/common/base/page/PageDomain.java
  100. 0 0
      warewms-wms/src/main/java/com/warewms/common/base/page/TableDataInfo.java

+ 84 - 0
base_sql/pallet_sql/jinyinhua_ddl_20231025.sql

@@ -0,0 +1,84 @@
+
+CREATE TABLE if not exists `ams_hexdefine_detail`  (
+    `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `business_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '任务类型',
+    `col_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '字段',
+    `col_type` int(11) NULL DEFAULT NULL COMMENT '1值2绑定字段',
+    `bind_table` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '绑定表',
+    `col_val` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'col_type1为值否则为bind_table指定表字段',
+    `val_type` int(11) NOT NULL DEFAULT 1 COMMENT '1字符串2数字',
+    `sort_index` int(11) NOT NULL DEFAULT 1 COMMENT '字段排序',
+    PRIMARY KEY (`id`) USING BTREE
+    ) ENGINE = InnoDB AUTO_INCREMENT = 227 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '任务定义表(lp0-lp30)' ROW_FORMAT = DYNAMIC;
+
+CREATE TABLE if not exists `ams_hexdefine_header`  (
+    `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `task_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '任务名称',
+    `business_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '任务类型',
+    `create_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    PRIMARY KEY (`id`) USING BTREE
+    ) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '16进制指令定义表' ROW_FORMAT = DYNAMIC;
+
+CREATE TABLE if not exists `ams_ndc_event`  (
+    `id` int(11) NOT NULL AUTO_INCREMENT,
+    `type` int(11) NULL DEFAULT NULL,
+    `eCode` int(11) NULL DEFAULT NULL,
+    `locationIndex` int(11) NULL DEFAULT NULL,
+    `lp1` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+    `lp2` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+    `lp3` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+    `lp4` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+    `display` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+    `displayID` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+    `level` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+    PRIMARY KEY (`id`) USING BTREE,
+    INDEX `id`(`id`) USING BTREE
+    ) ENGINE = InnoDB AUTO_INCREMENT = 140 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'Ndc反馈事件代码字典表' ROW_FORMAT = DYNAMIC;
+
+CREATE TABLE if not exists `ams_task`  (
+    `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+    `task_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+    `iKey` int(11) NULL DEFAULT NULL,
+    `aci_index` tinyint(3) UNSIGNED NULL DEFAULT NULL,
+    `st_from` int(10) UNSIGNED NOT NULL,
+    `st_to` int(10) UNSIGNED NOT NULL,
+    `priority` int(10) UNSIGNED NOT NULL DEFAULT 0,
+    `system_status` int(10) UNSIGNED NULL DEFAULT NULL,
+    `event` int(10) UNSIGNED NULL DEFAULT NULL,
+    `server_ack` tinyint(3) UNSIGNED NULL DEFAULT 0,
+    `aci_accept` tinyint(3) UNSIGNED NULL DEFAULT 0,
+    `is_delete` tinyint(3) UNSIGNED NULL DEFAULT 0,
+    `callBackUrl` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+    `addtime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    `addwho` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+    `sys_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '调用系统名称',
+    `device_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '设备名称',
+    `business_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '任务类型(01普通任务60进判断位90出判断位m释放判断位)',
+    `ext1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+    `ext2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+    `ext3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+    `height_level` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '1(低) 2(中) 3(高)',
+    `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+    `roadway` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '巷道',
+    `tier` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '层',
+    PRIMARY KEY (`id`) USING BTREE,
+    INDEX `id`(`id`) USING BTREE,
+    INDEX `task_no`(`task_no`) USING BTREE
+    ) ENGINE = InnoDB AUTO_INCREMENT = 2503 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
+
+CREATE TABLE if not exists `car_info` (
+    `id` int(11) NOT NULL AUTO_INCREMENT,
+    `carNo` int(11) DEFAULT NULL COMMENT '车编号',
+    `warehouse_id` int(11) DEFAULT NULL COMMENT '仓库编号',
+    `state` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '1' COMMENT '状态',
+    `active_flag` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'Y' COMMENT '是否启用',
+    `userdefine1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+    `userdefine2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+    `userdefine3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+    `userdefine4` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+    `userdefine5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+    `battery` int(11) DEFAULT NULL COMMENT '电池',
+    `x` int(11) DEFAULT NULL COMMENT 'x轴',
+    `y` int(11) DEFAULT NULL COMMENT 'y轴',
+    PRIMARY KEY (`id`) USING BTREE
+    ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;

+ 0 - 855
base_sql/pallet_sql/jinyinhua_dml_20231025.sql

@@ -1,855 +0,0 @@
-CREATE TABLE if not exists `pallet_match_log`
-(
-    `id`          varchar(255) NOT NULL COMMENT 'id',
-    `pallet_no`   varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '托盘',
-    `sku`         varchar(255)                                                  DEFAULT NULL COMMENT '物料/产品',
-    `total_qty`   varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '数量',
-    `order_nos`   varchar(2000)                                                 DEFAULT NULL COMMENT '所扫描出库单(多出库单以,隔开)',
-    `location_id` varchar(255)                                                  DEFAULT NULL COMMENT '库位id',
-    `agv_no`      varchar(255)                                                  DEFAULT NULL COMMENT 'agv车号',
-    `remark`      varchar(255)                                                  DEFAULT NULL COMMENT '备注',
-    `userdefine1` varchar(255)                                                  DEFAULT NULL,
-    `userdefine2` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci       DEFAULT NULL,
-    `userdefine3` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci       DEFAULT NULL,
-    `userdefine4` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci       DEFAULT NULL,
-    `userdefine5` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci       DEFAULT NULL,
-    `create_by`   varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci  DEFAULT '' COMMENT '创建者',
-    `create_time` datetime                                                      DEFAULT NULL COMMENT '创建时间',
-    `update_by`   varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci  DEFAULT '' COMMENT '更新者',
-    `update_time` datetime                                                      DEFAULT NULL COMMENT '更新时间',
-    PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='托盘匹配记录';
-
-CREATE TABLE if not exists `wms_doc_asn_details` (
-    `asn_line_no` int(11) NOT NULL COMMENT '行号',
-    `asn_no` varchar(50) NOT NULL COMMENT '入库单号',
-    `sku` varchar(255) NOT NULL COMMENT '产品',
-    `expected_qty` decimal(18,8) DEFAULT NULL COMMENT '预期件数',
-    `expected_qty_each` decimal(18,8) DEFAULT NULL COMMENT '预期数量_EA',
-    `received_qty` decimal(18,8) DEFAULT NULL COMMENT '收货件数',
-    `received_qty_each` decimal(18,8) DEFAULT NULL COMMENT '收货数量',
-    `line_status` varchar(10) DEFAULT NULL COMMENT '行状态(00新建,10上架)',
-    `hold_rejectreason` varchar(255) DEFAULT NULL COMMENT '冻结原因',
-    `notes` varchar(500) DEFAULT NULL COMMENT '备注',
-    `pack_id` varchar(50) DEFAULT NULL COMMENT '包装',
-    `location_zone` varchar(255) DEFAULT NULL COMMENT '指定库区',
-    `lotatt01` varchar(255) DEFAULT NULL COMMENT '批号',
-    `lotatt02` varchar(255) DEFAULT NULL COMMENT '版本号',
-    `lotatt03` varchar(255) DEFAULT NULL COMMENT '生产日期',
-    `lotatt04` varchar(255) DEFAULT NULL COMMENT '有效期',
-    `lotatt05` varchar(255) DEFAULT NULL COMMENT '入库单号',
-    `lotatt06` varchar(255) DEFAULT NULL COMMENT 'poNo',
-    `lotatt07` varchar(255) DEFAULT NULL COMMENT '质量状态',
-    `lotatt08` varchar(255) DEFAULT NULL COMMENT '供应商',
-    `lotatt09` varchar(255) DEFAULT NULL,
-    `lotatt10` varchar(255) DEFAULT NULL COMMENT '检验日期',
-    `lotatt11` varchar(255) DEFAULT NULL,
-    `lotatt12` varchar(255) DEFAULT NULL,
-    `lotatt13` varchar(255) DEFAULT NULL,
-    `lotatt14` varchar(255) DEFAULT NULL,
-    `lotatt15` varchar(255) DEFAULT NULL,
-    `lotatt16` varchar(255) DEFAULT NULL,
-    `lotatt17` varchar(255) DEFAULT NULL,
-    `lotatt18` varchar(255) DEFAULT NULL,
-    `create_by` varchar(50) DEFAULT NULL,
-    `create_time` datetime DEFAULT NULL,
-    `update_by` varchar(50) DEFAULT NULL,
-    `update_time` datetime DEFAULT NULL,
-    `location_id` int(11) DEFAULT NULL COMMENT '指定库位',
-    `document_id` varchar(50) DEFAULT NULL COMMENT 'sap_doucment_id',
-    `d_edi_01` varchar(255) DEFAULT NULL COMMENT '归还人',
-    `d_edi_02` varchar(255) DEFAULT NULL,
-    `d_edi_03` varchar(255) DEFAULT NULL,
-    `d_edi_04` varchar(255) DEFAULT NULL,
-    `d_edi_05` varchar(255) DEFAULT NULL,
-    `d_edi_06` varchar(255) DEFAULT NULL,
-    `d_edi_07` varchar(255) DEFAULT NULL,
-    `d_edi_08` varchar(255) DEFAULT NULL,
-    `d_edi_09` varchar(255) DEFAULT NULL,
-    `d_edi_10` varchar(255) DEFAULT NULL,
-    `d_edi_11` varchar(255) DEFAULT NULL,
-    `d_edi_12` varchar(255) DEFAULT NULL,
-    `d_edi_13` varchar(255) DEFAULT NULL,
-    `d_edi_14` varchar(255) DEFAULT NULL,
-    `d_edi_15` varchar(255) DEFAULT NULL,
-    PRIMARY KEY (`asn_line_no`,`asn_no`) USING BTREE,
-    KEY `index_docd_asnno1` (`asn_no`,`asn_line_no`) USING BTREE
-    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='入库单表体';
-
-CREATE TABLE if not exists `wms_doc_asn_header` (
-    `asn_no` varchar(50) NOT NULL COMMENT '入库单号',
-    `asn_type` varchar(10) DEFAULT NULL COMMENT '入库类型',
-    `asn_status` varchar(10) DEFAULT NULL COMMENT '单据状态',
-    `customer_id` varchar(50) DEFAULT NULL COMMENT '货主代码',
-    `customer_no` varchar(50) DEFAULT NULL COMMENT '客户单号',
-    `asn_reference1` varchar(50) DEFAULT NULL COMMENT '采购单号',
-    `asn_reference2` varchar(50) DEFAULT NULL COMMENT 'asn参考信息',
-    `release_status` varchar(10) DEFAULT NULL COMMENT '释放状态',
-    `expected_arrive_time` datetime DEFAULT NULL COMMENT '预期到货时间',
-    `pa_no` varchar(50) DEFAULT NULL COMMENT '上架单号',
-    `qc_no` varchar(50) DEFAULT NULL COMMENT '验收单号',
-    `notes` varchar(500) DEFAULT NULL COMMENT '备注',
-    `supplier_id` varchar(50) DEFAULT NULL COMMENT '供应商代码',
-    `userdefine1` varchar(255) DEFAULT NULL COMMENT '车间号',
-    `userdefine2` varchar(2000) DEFAULT NULL COMMENT '第三方系统入库信息JSON数据',
-    `userdefine3` varchar(255) DEFAULT NULL,
-    `userdefine4` varchar(255) DEFAULT NULL,
-    `userdefine5` varchar(255) DEFAULT NULL,
-    `create_by` varchar(50) NOT NULL,
-    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
-    `update_by` varchar(50) DEFAULT NULL,
-    `update_time` datetime DEFAULT NULL,
-    `active_flag` varchar(1) DEFAULT 'Y' COMMENT '是否有效(N删除Y有效)',
-    `h_edi_01` varchar(255) DEFAULT NULL,
-    `h_edi_02` varchar(255) DEFAULT NULL,
-    `h_edi_03` varchar(255) DEFAULT NULL,
-    `h_edi_04` varchar(255) DEFAULT NULL,
-    `h_edi_05` varchar(255) DEFAULT NULL,
-    `h_edi_06` varchar(255) DEFAULT NULL,
-    `h_edi_07` varchar(255) DEFAULT NULL,
-    `h_edi_08` varchar(255) DEFAULT NULL,
-    `h_edi_09` varchar(255) DEFAULT NULL,
-    `h_edi_10` varchar(255) DEFAULT NULL,
-    `h_edi_11` varchar(255) DEFAULT NULL,
-    `h_edi_12` varchar(255) DEFAULT NULL,
-    `h_edi_13` varchar(255) DEFAULT NULL,
-    `h_edi_14` varchar(255) DEFAULT NULL,
-    `h_edi_15` varchar(255) DEFAULT NULL,
-    `edi_send_flag` varchar(2) DEFAULT NULL COMMENT '上游回传标记',
-    PRIMARY KEY (`asn_no`) USING BTREE,
-    KEY `index_dah_asnno` (`asn_no`) USING BTREE,
-    KEY ```asn_reference1``` (`asn_reference1`) USING BTREE
-    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='入库单表头';
-
-CREATE TABLE if not exists `act_allocation_details`  (
-    `allocation_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
-    `order_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '订单号',
-    `line_no` int(11) NOT NULL COMMENT '行号',
-    `material` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '物料',
-    `location_id` int(11) NULL DEFAULT NULL COMMENT '待检库位',
-    `call_transaction_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '叫料待检事务id',
-    `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '状态',
-    `lotnum` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '批次号',
-    `qty` decimal(18, 3) NULL DEFAULT NULL COMMENT '分配数量',
-    `pick_transaction_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '拣货事务id',
-    `pick_to_location` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '拣货库位',
-    `pick_qty` decimal(18, 3) NULL DEFAULT NULL COMMENT '拣货数量',
-    `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `create_time` datetime NULL DEFAULT NULL,
-    `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `update_time` datetime NULL DEFAULT NULL,
-    `userdefine1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `userdefine2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `userdefine3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `userdefine4` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    PRIMARY KEY (`allocation_id`) USING BTREE
-    ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '分配明细' ROW_FORMAT = COMPACT;
-
-
-CREATE TABLE if not exists `act_transaction_log`  (
-    `transaction_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '事务id',
-    `transaction_type` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '事务类型',
-    `transaction_status` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '事务执行状态',
-    `doc_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '单证号',
-    `doc_line_no` int(11) NULL DEFAULT NULL COMMENT '单证行号',
-    `doc_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '单证类型',
-    `fm_customer_id` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'From客户',
-    `fm_sku` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'From产品',
-    `fm_lotnum` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'From 批次号',
-    `fm_location` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'From 库位',
-    `fm_id` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'From 跟踪号',
-    `fm_packid` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'From 包装ID',
-    `fm_uom` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'From 单位',
-    `fm_qty` decimal(18, 8) NULL DEFAULT NULL COMMENT 'From 件数',
-    `fm_qty_each` decimal(18, 8) NULL DEFAULT NULL COMMENT 'From 数量',
-    `to_customer_id` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'To 客户',
-    `to_sku` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'To 产品',
-    `to_lotnum` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'To 批次号',
-    `to_localtion` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'To 库位',
-    `to_id` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'To 跟踪号',
-    `to_packid` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'To 包装ID',
-    `to_uom` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'To 单位',
-    `to_qty` decimal(18, 8) NULL DEFAULT NULL COMMENT 'To 件数',
-    `to_qty_each` decimal(18, 8) NULL DEFAULT NULL COMMENT 'To 数量',
-    `warehouse_id` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '仓库id',
-    `create_date` datetime(6) NOT NULL COMMENT '创建时间',
-    `create_user_id` varchar(35) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人',
-    `edit_date` datetime(6) NULL DEFAULT NULL COMMENT '编辑时间',
-    `edit_user_id` varchar(35) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '编辑人',
-    `total_netweight` decimal(18, 8) NULL DEFAULT NULL COMMENT '总净重',
-    `total_grossweight` decimal(18, 8) NULL DEFAULT NULL COMMENT '总毛重',
-    `total_cubic` decimal(18, 8) NULL DEFAULT NULL COMMENT '总体积',
-    `transaction_time` datetime(6) NULL DEFAULT NULL COMMENT '事务时间',
-    `reason_code` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '操作原因编码(bas_codes)',
-    `reason` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '操作原因',
-    `userdefine1` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段1',
-    `userdefine2` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段2',
-    `userdefine3` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段3',
-    `userdefine4` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段4',
-    `userdefine5` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段5',
-    PRIMARY KEY (`transaction_id`) USING BTREE,
-    INDEX `IDX_TRANSACTION_3`(`transaction_type`, `transaction_time`, `fm_customer_id`, `fm_sku`, `transaction_status`) USING BTREE,
-    INDEX `IDX_TRANSACTION_6`(`doc_no`, `transaction_type`) USING BTREE,
-    INDEX `IDX_TRANSACTION_BYFMCUSTOMERID`(`fm_customer_id`, `fm_sku`) USING BTREE,
-    INDEX `IDX_TRANSACTION_BYTRANSA`(`transaction_time`, `fm_customer_id`, `fm_sku`) USING BTREE,
-    INDEX `IDX_TRANSACTION_OPTIMIZE`(`transaction_time`, `fm_customer_id`, `doc_no`, `doc_line_no`) USING BTREE,
-    INDEX `IDX_TRANSACTION_TIME`(`transaction_time`, `transaction_type`, `transaction_status`) USING BTREE,
-    INDEX `IDX_TRANSACTION_TYPE`(`transaction_type`, `transaction_time`, `fm_customer_id`, `fm_sku`, `to_lotnum`) USING BTREE,
-    INDEX `IDX_TRANSACTION_TYP_STA`(`transaction_type`, `transaction_status`) USING BTREE,
-    INDEX `I_ACT_TRANSACTION_LOG_6`(`transaction_type`, `doc_type`, `edit_date`, `transaction_status`) USING BTREE,
-    INDEX `I_ACT_TRANSACTION_LOG_C`(`doc_no`, `doc_line_no`) USING BTREE,
-    INDEX `I_ACT_TRANSACTION_LOG_D`(`to_customer_id`, `to_sku`) USING BTREE,
-    INDEX `XIE3ACT_TRANSACTION_LOG`(`doc_no`, `doc_type`, `transaction_type`) USING BTREE,
-    INDEX `XIE6ACT_TRANSACTION_LOG`(`fm_lotnum`, `fm_location`, `fm_id`) USING BTREE,
-    INDEX `XIE7ACT_TRANSACTION_LOG`(`to_lotnum`, `to_localtion`, `to_id`) USING BTREE
-    ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '库存事务表' ROW_FORMAT = COMPACT;
-
-
-CREATE TABLE if not exists `ams_hexdefine_detail`  (
-    `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
-    `business_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '任务类型',
-    `col_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '字段',
-    `col_type` int(11) NULL DEFAULT NULL COMMENT '1值2绑定字段',
-    `bind_table` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '绑定表',
-    `col_val` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'col_type1为值否则为bind_table指定表字段',
-    `val_type` int(11) NOT NULL DEFAULT 1 COMMENT '1字符串2数字',
-    `sort_index` int(11) NOT NULL DEFAULT 1 COMMENT '字段排序',
-    PRIMARY KEY (`id`) USING BTREE
-    ) ENGINE = InnoDB AUTO_INCREMENT = 227 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '任务定义表(lp0-lp30)' ROW_FORMAT = DYNAMIC;
-
-CREATE TABLE if not exists `ams_hexdefine_header`  (
-    `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
-    `task_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '任务名称',
-    `business_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '任务类型',
-    `create_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
-    PRIMARY KEY (`id`) USING BTREE
-    ) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '16进制指令定义表' ROW_FORMAT = DYNAMIC;
-
-CREATE TABLE if not exists `ams_ndc_event`  (
-    `id` int(11) NOT NULL AUTO_INCREMENT,
-    `type` int(11) NULL DEFAULT NULL,
-    `eCode` int(11) NULL DEFAULT NULL,
-    `locationIndex` int(11) NULL DEFAULT NULL,
-    `lp1` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `lp2` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `lp3` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `lp4` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `display` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `displayID` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `level` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    PRIMARY KEY (`id`) USING BTREE,
-    INDEX `id`(`id`) USING BTREE
-    ) ENGINE = InnoDB AUTO_INCREMENT = 140 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'Ndc反馈事件代码字典表' ROW_FORMAT = DYNAMIC;
-
-CREATE TABLE if not exists `ams_task`  (
-    `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-    `task_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `iKey` int(11) NULL DEFAULT NULL,
-    `aci_index` tinyint(3) UNSIGNED NULL DEFAULT NULL,
-    `st_from` int(10) UNSIGNED NOT NULL,
-    `st_to` int(10) UNSIGNED NOT NULL,
-    `priority` int(10) UNSIGNED NOT NULL DEFAULT 0,
-    `system_status` int(10) UNSIGNED NULL DEFAULT NULL,
-    `event` int(10) UNSIGNED NULL DEFAULT NULL,
-    `server_ack` tinyint(3) UNSIGNED NULL DEFAULT 0,
-    `aci_accept` tinyint(3) UNSIGNED NULL DEFAULT 0,
-    `is_delete` tinyint(3) UNSIGNED NULL DEFAULT 0,
-    `callBackUrl` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `addtime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
-    `addwho` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `sys_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '调用系统名称',
-    `device_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '设备名称',
-    `business_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '任务类型(01普通任务60进判断位90出判断位m释放判断位)',
-    `ext1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `ext2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `ext3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `height_level` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '1(低) 2(中) 3(高)',
-    `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `roadway` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '巷道',
-    `tier` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '层',
-    PRIMARY KEY (`id`) USING BTREE,
-    INDEX `id`(`id`) USING BTREE,
-    INDEX `task_no`(`task_no`) USING BTREE
-    ) ENGINE = InnoDB AUTO_INCREMENT = 2503 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-
-CREATE TABLE if not exists `asn_so_strategy`  (
-    `id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
-    `asn_same_sku` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '同物料编码靠近',
-    `asn_same_sku_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '同物料种类靠近',
-    `asn_same_lotatt1_flag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '同批次属性靠近1',
-    `asn_same_lotatt1_value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '同批次属性靠近1值',
-    `asn_same_lotatt2_flag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '同批次属性靠近2',
-    `asn_same_lotatt2_value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '同批次属性靠近2值',
-    `asn_height_limit` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '入库限高',
-    `asn_weight_limit` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '入库限重',
-    `asn_location_average` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '入库库位(平均分散)平铺',
-    `so_period_flag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '近效期优先',
-    `so_same_lotatt1_flag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '同属性优先',
-    `so_same_lotatt1_value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '同属性优先值',
-    `so_outer_flag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '外围优先',
-    `so_location_average` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '取货(平均分散)平铺',
-    `so_period_lotatt` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '近效期批次属性',
-    PRIMARY KEY (`id`) USING BTREE
-    ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '出入库策略' ROW_FORMAT = DYNAMIC;
-
-CREATE TABLE if not exists `base_customer`  (
-    `customer_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
-    `customer_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '名称',
-    `status` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '状态',
-    `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
-    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
-    `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
-    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
-    `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
-    `userdefine1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自定义字段1',
-    `userdefine2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自定义字段2',
-    `userdefine3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自定义字段3',
-    `userdefine4` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自定义字段4',
-    `userdefine5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自定义字段5',
-    PRIMARY KEY (`customer_id`) USING BTREE
-    ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '客户' ROW_FORMAT = DYNAMIC;
-
-CREATE TABLE if not exists `base_location_info`  (
-    `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
-    `warehouse_id` int(11) NULL DEFAULT NULL COMMENT '车间id',
-    `zone_id` int(11) NULL DEFAULT NULL COMMENT '区域id',
-    `location_no` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '库位编码',
-    `location_barcode` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '条形码',
-    `row_no` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '排号',
-    `row_index` int(11) NULL DEFAULT NULL COMMENT '排序号',
-    `col_no` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '列号',
-    `col_index` int(11) NULL DEFAULT NULL COMMENT '列序号',
-    `shift_no` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '层号',
-    `shift_index` int(11) NULL DEFAULT NULL COMMENT '层序号',
-    `stock_status` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '储位状态(00)空闲,(10)占用,(20)完成,(90)合格,(99)不合格(80封存)',
-    `is_empty` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否为空(Y空/N非空)',
-    `bind_sku` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '指定产品',
-    `location_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '储位类型(1货架2地堆3流离货架)',
-    `rack_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '盘架编号',
-    `agv_station` int(11) NULL DEFAULT NULL COMMENT 'AGV点位',
-    `folded_tag` int(11) NULL DEFAULT 0 COMMENT '是否堆叠',
-    `folded_count` int(11) NULL DEFAULT 0 COMMENT '叠空托盘上限(当folded_tag为1时有效)',
-    `height_limit` double(12, 0) NULL DEFAULT 0 COMMENT '限高',
-    `weight_limit` double(12, 0) NULL DEFAULT 0 COMMENT '限重',
-    `userdefine1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `userdefine2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `userdefine3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `userdefine4` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `userdefine5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `userdefine6` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `userdefine7` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `userdefine8` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `userdefine9` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `userdefine10` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
-    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
-    `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
-    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
-    `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
-    PRIMARY KEY (`id`) USING BTREE,
-    INDEX `location_index_1`(`zone_id`) USING BTREE,
-    INDEX `location_index_2`(`bind_sku`) USING BTREE,
-    INDEX `location_index_3`(`location_type`) USING BTREE,
-    INDEX `location_index_4`(`is_empty`) USING BTREE,
-    INDEX `location_index_5`(`agv_station`) USING BTREE
-    ) ENGINE = InnoDB AUTO_INCREMENT = 99999 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '库位信息' ROW_FORMAT = DYNAMIC;
-
-CREATE TABLE if not exists `base_location_zone`  (
-    `zone_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '库区ID',
-    `zone_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '库区名称',
-    `warehouse_id` int(11) NULL DEFAULT NULL COMMENT '所属仓库',
-    `status` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '状态(0正常 1停用)',
-    `userdefine1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自定义字段1',
-    `userdefine2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自定义字段2',
-    `userdefine3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自定义字段3',
-    `userdefine4` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自定义字段4',
-    `userdefine5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自定义字段5',
-    `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
-    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
-    `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
-    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
-    `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
-    PRIMARY KEY (`zone_id`) USING BTREE
-    ) ENGINE = InnoDB AUTO_INCREMENT = 9999 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '库区' ROW_FORMAT = DYNAMIC;
-
-CREATE TABLE if not exists `base_package`  (
-    `pack_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '包装代码',
-    `desc1` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述1',
-    `pack_uom` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '包装单位',
-    `qty` decimal(18, 8) NULL DEFAULT NULL COMMENT '数量',
-    `desc2` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述2',
-    `cartonize_uom` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '装箱单位',
-    `length` double(10, 6) NULL DEFAULT NULL COMMENT '长',
-    `width` double(10, 6) NULL DEFAULT NULL COMMENT '宽',
-    `height` double(10, 6) NULL DEFAULT NULL COMMENT '高',
-    `cube` double(10, 6) NULL DEFAULT NULL COMMENT '体积',
-    `weight` double(10, 6) NULL DEFAULT NULL COMMENT '重量',
-    `palletwood_length` double(10, 6) NULL DEFAULT NULL COMMENT '托盘长度',
-    `palletwood_width` double(10, 6) NULL DEFAULT NULL COMMENT '托盘宽度',
-    `palletwood_height` double(10, 6) NULL DEFAULT NULL COMMENT '托盘高度',
-    `userdefine1` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `userdefine2` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `userdefine3` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `userdefine4` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `userdefine5` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    PRIMARY KEY (`pack_id`) USING BTREE
-    ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '包装规格' ROW_FORMAT = DYNAMIC;
-
-CREATE TABLE if not exists `base_sku`  (
-    `customer_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '货主编号',
-    `sku` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '产品编号',
-    `sku_type` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '产品类型',
-    `specs` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '规格',
-    `model` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '型号',
-    `status` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '有效否',
-    `desc1` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述1',
-    `desc2` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述2',
-    `self_code1` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '自赋码1',
-    `self_code2` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '自赋码2',
-    `hazard_flag` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N' COMMENT '是否危险品',
-    `pack_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '包装',
-    `tare` decimal(18, 8) NULL DEFAULT NULL COMMENT '皮重',
-    `grossweight` decimal(18, 8) NULL DEFAULT NULL COMMENT '毛重',
-    `netweight` decimal(18, 8) NULL DEFAULT NULL COMMENT '净重',
-    `active_flag` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'Y' COMMENT '是否激活',
-    `putaway_location` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '上架库位',
-    `putaway_zone` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '上架区域',
-    `putaway_rule` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '上架规则',
-    `sku_high` decimal(18, 8) NULL DEFAULT NULL COMMENT '高',
-    `sku_length` decimal(18, 8) NULL DEFAULT NULL COMMENT '长',
-    `sku_width` decimal(18, 8) NULL DEFAULT NULL COMMENT '宽',
-    `qtymax` decimal(18, 8) NULL DEFAULT NULL COMMENT '库存上限',
-    `qtymin` decimal(18, 8) NULL DEFAULT NULL COMMENT '库存下限',
-    `default_receiving_uom` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '默认收货单位',
-    `default_shipment_uom` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '默认发货单位',
-    `qc_rule` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '质检规则',
-    `qc_time` double(4, 1) NULL DEFAULT NULL COMMENT '质检周期',
-    `shelflife` int(11) NULL DEFAULT NULL COMMENT '有效期(天)',
-    `cold_flag` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '冷链标志',
-    `sterilization_flag` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '灭菌标志',
-    `curing_cycle` double(4, 1) NULL DEFAULT NULL COMMENT '养护周期(天)',
-    `manufacturer` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '生产企业',
-    `userdefine1` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `userdefine2` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `userdefine3` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `userdefine4` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `userdefine5` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `userdefine6` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `userdefine7` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `userdefine8` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `userdefine9` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `userdefine10` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `expiration_date_check` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '是否检测效期',
-    `overcharge_check` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '是否允许超收',
-    `qc_check` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '是否需要质检',
-    `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
-    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
-    `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
-    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
-    `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
-    PRIMARY KEY (`customer_id`, `sku`) USING BTREE,
-    INDEX `base_sku_index1`(`customer_id`, `sku`) USING BTREE,
-    INDEX `base_sku_index2`(`sku_type`) USING BTREE,
-    INDEX `base_sku_index3`(`pack_id`) USING BTREE
-    ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '物料信息' ROW_FORMAT = DYNAMIC;
-
-CREATE TABLE if not exists `base_sku_type`  (
-    `item_code` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
-    `item_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '分类名称',
-    `parent_code` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '父id',
-    `status` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '启用状态',
-    `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
-    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
-    `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
-    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
-    `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
-    PRIMARY KEY (`item_code`) USING BTREE,
-    INDEX `remark`(`remark`) USING BTREE
-    ) ENGINE = InnoDB AUTO_INCREMENT = 24 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '物料分类' ROW_FORMAT = DYNAMIC;
-
-
-CREATE TABLE if not exists `base_supplier`  (
-    `supplier_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
-    `supplier_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '名称',
-    `status` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '状态',
-    `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
-    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
-    `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
-    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
-    `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
-    `userdefine1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自定义字段1',
-    `userdefine2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自定义字段2',
-    `userdefine3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自定义字段3',
-    `userdefine4` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自定义字段4',
-    `userdefine5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自定义字段5',
-    PRIMARY KEY (`supplier_id`) USING BTREE
-    ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '供应商' ROW_FORMAT = DYNAMIC;
-
-
-CREATE TABLE if not exists `base_warehouse`  (
-    `warehouse_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '仓库主键',
-    `warehouse_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '仓库名称',
-    `status` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '状态(0正常 1停用)',
-    `userdefine1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自定义字段1',
-    `userdefine2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自定义字段2',
-    `userdefine3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自定义字段3',
-    `userdefine4` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自定义字段4',
-    `userdefine5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自定义字段5',
-    `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
-    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
-    `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
-    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
-    `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
-    PRIMARY KEY (`warehouse_id`) USING BTREE
-    ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '仓库信息' ROW_FORMAT = DYNAMIC;
-
-
-CREATE TABLE if not exists `code_sku_relationship`  (
-    `id` int(11) NOT NULL AUTO_INCREMENT,
-    `sn` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '条码',
-    `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '有效否',
-    `sku` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `vdate` datetime NULL DEFAULT NULL,
-    `user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `create_time` datetime NULL DEFAULT NULL,
-    `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `update_time` datetime NULL DEFAULT NULL,
-    PRIMARY KEY (`id`) USING BTREE,
-    INDEX `sn`(`sn`) USING BTREE
-    ) ENGINE = InnoDB AUTO_INCREMENT = 129128 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-
-
-CREATE TABLE if not exists `erp_barcodes`  (
-    `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
-    `barcode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '条码号',
-    `stock_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '仓库id',
-    `location_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '货架编号',
-    `box_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '栈板号',
-    `lotnum` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '批次',
-    `qty` decimal(18, 8) NULL DEFAULT NULL COMMENT '数量',
-    `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '入库/出库',
-    `erp_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'erp单号',
-    `erp_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项次',
-    `erp_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'erp单据类型',
-    `create_time` datetime(6) NOT NULL,
-    `create_by` varchar(35) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `update_time` datetime(6) NULL DEFAULT NULL,
-    `update_by` varchar(35) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `userdefine1` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段1',
-    `userdefine2` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段2',
-    `userdefine3` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段3',
-    `userdefine4` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段4',
-    `userdefine5` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段5',
-    `userdefine6` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段3',
-    `userdefine7` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段4',
-    `userdefine8` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段5',
-    PRIMARY KEY (`id`) USING BTREE,
-    INDEX `u8`(`userdefine8`) USING BTREE
-    ) ENGINE = InnoDB AUTO_INCREMENT = 12279 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-
-
-CREATE TABLE if not exists `inv_lot_att`  (
-    `lotnum` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键',
-    `customer_id` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '货主代码',
-    `sku` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '物料编码',
-    `lotatt01` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `lotatt02` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `lotatt03` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `lotatt04` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `lotatt05` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `lotatt06` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `lotatt07` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `lotatt08` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `lotatt09` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `lotatt10` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `lotatt11` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `lotatt12` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `lotatt13` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `lotatt14` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `lotatt15` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `lotatt16` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `lotatt17` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `lotatt18` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
-    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
-    `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
-    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
-    `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
-    PRIMARY KEY (`lotnum`) USING BTREE
-    ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '批次属性' ROW_FORMAT = DYNAMIC;
-
-CREATE TABLE if not exists `inv_lot_loc_id`  (
-    `lotnum` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '批次号',
-    `location_id` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '库位',
-    `traceid` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '跟踪号',
-    `customer_id` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '客户',
-    `sku` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '产品',
-    `qty` decimal(18, 8) NULL DEFAULT NULL COMMENT '数量',
-    `qty_each` decimal(18, 8) NULL DEFAULT NULL,
-    `qtyallocated` decimal(18, 8) NULL DEFAULT NULL COMMENT '分配数量',
-    `qtyallocated_each` decimal(18, 8) NULL DEFAULT NULL,
-    `qtypa` decimal(18, 8) NULL DEFAULT NULL COMMENT '上架数量',
-    `qtyrpin` decimal(18, 3) NULL DEFAULT NULL,
-    `qtyrpout` decimal(18, 3) NULL DEFAULT NULL,
-    `qtymvin` decimal(18, 3) NULL DEFAULT NULL,
-    `qtymvout` decimal(19, 4) NULL DEFAULT NULL,
-    `qtyonhold` decimal(18, 3) NULL DEFAULT NULL,
-    `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
-    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
-    `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
-    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
-    `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
-    PRIMARY KEY (`lotnum`, `location_id`, `customer_id`, `sku`) USING BTREE
-    ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '库位库存信息' ROW_FORMAT = DYNAMIC;
-
-CREATE TABLE if not exists `lotatt_config`  (
-    `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
-    `lotatt_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字段名称',
-    `lotatt_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字段描述',
-    `required_tag` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否必填',
-    `input_type` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '控件类型',
-    `input_scope` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '输入范围',
-    `default_value` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '默认值',
-    `status` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '状态(0启用1禁用)',
-    `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
-    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
-    `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
-    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
-    `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
-    PRIMARY KEY (`id`) USING BTREE
-    ) ENGINE = InnoDB AUTO_INCREMENT = 19 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '批次属性配置' ROW_FORMAT = DYNAMIC;
-
-CREATE TABLE if not exists `wcs_task`  (
-    `task_no` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'AGV任务主键',
-    `business_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'AGV任务类型',
-    `wh_type_from` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '任务关联单号类型1',
-    `wh_no_from` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '任务关联单号1',
-    `wh_type_to` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '任务关联单号类型2',
-    `wh_no_to` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '任务关联单号2',
-    `sys_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '调用系统名称',
-    `device_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '调用设备名称',
-    `batch_no` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '批号',
-    `batch_order_no` int(11) NULL DEFAULT NULL COMMENT '批号2',
-    `location_from` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '起始点位',
-    `area_from` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '起始区域',
-    `location_to` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '终点点位',
-    `area_to` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '终点区域',
-    `priority` int(11) NULL DEFAULT NULL COMMENT '优先级(用于任务排序与ndc不同,10间隔中间插队)',
-    `state` int(11) NULL DEFAULT NULL COMMENT 'ִ状态9:(队列等待) 0:(下达AMS成功)',
-    `remark` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
-    `create_user` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人',
-    `create_date` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-    `update_user` int(11) NULL DEFAULT NULL COMMENT '编辑人',
-    `update_date` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '编辑时间',
-    `task_type` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '任务类型(事务)',
-    `shop_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '车间id/仓库id',
-    `start_time` datetime NULL DEFAULT NULL COMMENT '任务开始时间',
-    `end_time` datetime NULL DEFAULT NULL COMMENT '任务结束时间',
-    `parent_task` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '父任务单号',
-    `ext_param` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '拓展属性',
-    `ext1` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '拓展字段1',
-    `ext2` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '拓展字段2',
-    `ext3` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '拓展字段3',
-    `ext4` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '任务类型',
-    `ext5` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '托盘号',
-    `ext6` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '出库单号',
-    `ext7` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `ext8` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-    `agv_no` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'AGV接收车号',
-    `before_task` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否有前置任务,有必须等待前置任务完成',
-    PRIMARY KEY (`task_no`) USING BTREE
-    ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '任务表' ROW_FORMAT = DYNAMIC;
-
-
-CREATE TABLE if not exists `wms_box_info`  (
-    `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
-    `box_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '容器编号',
-    `box_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '容器类型',
-    `box_remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
-    `box_state` int(11) NULL DEFAULT NULL COMMENT '状态',
-    `is_empty` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否有货',
-    `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人',
-    `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
-    `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人',
-    `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
-    `userdefine1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `userdefine2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `location_id` int(11) NULL DEFAULT NULL COMMENT '绑定库位',
-    `is_full` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否满托',
-    PRIMARY KEY (`id`) USING BTREE
-    ) ENGINE = InnoDB AUTO_INCREMENT = 926 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '容器' ROW_FORMAT = DYNAMIC;
-
-
-CREATE TABLE if not exists `wms_doc_order_details`  (
-    `order_no` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '出库单号',
-    `order_line_no` decimal(65, 30) NOT NULL COMMENT '明细行号',
-    `customer_id` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '货主代码',
-    `sku` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '产品代码',
-    `line_status` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '行状态',
-    `qty_ordered` decimal(18, 8) NULL DEFAULT NULL COMMENT '订货件数',
-    `qty_ordered_each` decimal(18, 8) NULL DEFAULT NULL COMMENT '订货数量',
-    `qty_soft_allocated` decimal(18, 8) NULL DEFAULT NULL COMMENT '软分配件数',
-    `qty_softallocated_each` decimal(18, 8) NULL DEFAULT NULL COMMENT '软分配数量',
-    `qty_allocated` decimal(18, 8) UNSIGNED NULL DEFAULT NULL COMMENT '分配件数',
-    `qty_allocated_each` decimal(18, 8) NULL DEFAULT NULL COMMENT '分配数量',
-    `qty_picked` decimal(18, 8) NULL DEFAULT NULL COMMENT '拣货件数',
-    `qty_picked_each` decimal(18, 8) NULL DEFAULT NULL COMMENT '拣货数量',
-    `qty_packed` decimal(18, 8) NULL DEFAULT NULL COMMENT '复核件数',
-    `qty_packed_each` decimal(18, 8) NULL DEFAULT NULL COMMENT '复核数量',
-    `qty_shipped` decimal(18, 8) NULL DEFAULT NULL COMMENT '发运件数',
-    `qty_shipped_each` decimal(18, 8) NULL DEFAULT NULL COMMENT '发运数量',
-    `uom` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '单位',
-    `lotatt01` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `lotatt02` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `lotatt03` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `lotatt04` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `lotatt05` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `lotatt06` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `lotatt07` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `lotatt08` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `lotatt09` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '领用人',
-    `lotatt10` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `lotatt11` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `lotatt12` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `lotatt13` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `lotatt14` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `lotatt15` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `lotatt16` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `lotatt17` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `lotatt18` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `pack_id` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '包装规格',
-    `pick_zone` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '指定出库库存的库区(未启用)',
-    `location` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '指定库位',
-    `lotnum` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '批次号',
-    `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '备注',
-    `create_time` datetime(6) NOT NULL,
-    `create_by` varchar(35) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `update_time` datetime(6) NULL DEFAULT NULL,
-    `update_by` varchar(35) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `net_weight` decimal(18, 8) NULL DEFAULT NULL COMMENT '净重',
-    `gross_weight` decimal(18, 8) NULL DEFAULT NULL COMMENT '毛重',
-    `cubic` decimal(18, 8) NULL DEFAULT NULL COMMENT '体积',
-    `d_edi_01` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `d_edi_02` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '目标库位',
-    `d_edi_03` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `d_edi_04` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `d_edi_05` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `d_edi_06` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `d_edi_07` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `d_edi_08` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `d_edi_09` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `d_edi_10` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `d_edi_11` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `d_edi_12` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `d_edi_13` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `d_edi_14` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `d_edi_15` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `d_edi_16` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `d_edi_17` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `d_edi_18` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `d_edi_19` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `d_edi_20` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `trace_id` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '跟踪号(未启用)',
-    `soft_allocation_rule` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '软分配规则(未启用)',
-    `allocation_rule` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '分配规则(未启用)',
-    `userdefine1` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段1',
-    `userdefine2` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段2',
-    `userdefine3` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段3',
-    `userdefine4` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段4',
-    `userdefine5` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段5',
-    PRIMARY KEY (`order_no`, `order_line_no`) USING BTREE
-    ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '出库单表体' ROW_FORMAT = Dynamic;
-
-
-CREATE TABLE if not exists `wms_doc_order_header`  (
-    `order_no` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '出库单号',
-    `customer_id` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '货主代码',
-    `order_status` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '单据状态',
-    `order_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '单据类型',
-    `so_reference1` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '客户单号1',
-    `so_reference2` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '客户单号2',
-    `so_reference3` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '客户单号3',
-    `priority` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '单据操作优先级(按天)',
-    `consignee_id` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '收货单位id',
-    `consignee_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '收货单位名称',
-    `cus_country` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '国家',
-    `cus_province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '省',
-    `cus_city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '市',
-    `cus_district` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '区',
-    `cus_address` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '收货地址',
-    `cus_contact` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '收货联系人',
-    `cus_postcode` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '收货地址邮编',
-    `cus_email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '收货联系人邮箱',
-    `carrier_id` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '发运单位id',
-    `shipment_time` datetime(6) NULL DEFAULT NULL COMMENT '订单发运时间',
-    `carrier_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '发运单位名称',
-    `delivery_no` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '发运单号',
-    `edi_send_flag` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '上游单据回传标识',
-    `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '备注',
-    `warehouse_id` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '仓库id',
-    `userdefine1` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '目标货柜(移转目标刀具柜)',
-    `userdefine2` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段2',
-    `userdefine3` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段3',
-    `userdefine4` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段4',
-    `userdefine5` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预留字段5',
-    `userdefine6` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '拣货时保存之前状态',
-    `create_time` datetime(6) NOT NULL,
-    `create_by` varchar(35) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `update_time` datetime(6) NULL DEFAULT NULL,
-    `update_by` varchar(35) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `h_edi_01` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `h_edi_02` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `h_edi_03` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `h_edi_04` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `h_edi_05` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `h_edi_06` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `h_edi_07` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `h_edi_08` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
-    `h_edi_09` decimal(18, 8) NULL DEFAULT NULL,
-    `h_edi_10` decimal(18, 8) NULL DEFAULT NULL,
-    `h_edi_11` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `h_edi_12` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `h_edi_13` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `h_edi_14` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    `h_edi_15` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
-    PRIMARY KEY (`order_no`) USING BTREE,
-    INDEX `so_reference1`(`so_reference1`) USING BTREE
-    ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '出库单表头' ROW_FORMAT = Dynamic;
-
-SET FOREIGN_KEY_CHECKS = 1;
-
-CREATE TABLE if not exists `base_idsequence` (
-                                   `id_name` varchar(60) NOT NULL,
-                                   `descr` varchar(100) DEFAULT NULL,
-                                   `id_type` varchar(2) NOT NULL,
-                                   `id_sequence` decimal(18,0) DEFAULT NULL,
-                                   `create_date` datetime(6) DEFAULT NULL,
-                                   `max_id_sequence` decimal(18,0) DEFAULT NULL,
-                                   `create_user_id` varchar(35) DEFAULT NULL,
-                                   `edit_time` datetime(6) DEFAULT NULL,
-                                   `edit_user_id` varchar(35) DEFAULT NULL,
-                                   `prefix` varchar(20) DEFAULT NULL,
-                                   `length` decimal(65,30) DEFAULT NULL,
-                                   `date_format` varchar(10) DEFAULT NULL,
-                                   `date_max` varchar(10) DEFAULT NULL,
-                                   `warehouseid` varchar(35) NOT NULL,
-                                   PRIMARY KEY (`id_name`,`warehouseid`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=COMPACT COMMENT='主键生成规则表';
-
-CREATE TABLE if not exists `car_info` (
-                            `id` int(11) NOT NULL AUTO_INCREMENT,
-                            `carNo` int(11) DEFAULT NULL COMMENT '车编号',
-                            `warehouse_id` int(11) DEFAULT NULL COMMENT '仓库编号',
-                            `state` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '1' COMMENT '状态',
-                            `active_flag` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'Y' COMMENT '是否启用',
-                            `userdefine1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
-                            `userdefine2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
-                            `userdefine3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
-                            `userdefine4` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
-                            `userdefine5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
-                            `battery` int(11) DEFAULT NULL COMMENT '电池',
-                            `x` int(11) DEFAULT NULL COMMENT 'x轴',
-                            `y` int(11) DEFAULT NULL COMMENT 'y轴',
-                            PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;

+ 0 - 16
pom.xml

@@ -184,13 +184,6 @@
                 <version>${httpclient.version}</version>
             </dependency>
 
-            <!-- warewms基础信息模块-->
-            <dependency>
-                <groupId>com.warewms</groupId>
-                <artifactId>warewms-wms</artifactId>
-                <version>${warewms.version}</version>
-            </dependency>
-
             <!-- ams模块-->
             <dependency>
                 <groupId>com.warewms</groupId>
@@ -198,20 +191,11 @@
                 <version>${warewms.version}</version>
             </dependency>
 
-            <!-- hard模块-->
-            <dependency>
-                <groupId>com.warewms</groupId>
-                <artifactId>warewms-hard</artifactId>
-                <version>${warewms.version}</version>
-            </dependency>
-
         </dependencies>
     </dependencyManagement>
 
     <modules>
-        <module>warewms-wms</module>
         <module>warewms-ams</module>
-        <module>warewms-hard</module>
     </modules>
     <packaging>pom</packaging>
 

warewms-wms/install.sh → warewms-ams/install.sh


+ 322 - 5
warewms-ams/pom.xml

@@ -8,19 +8,336 @@
         <version>1.0.0</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
-
+    <packaging>jar</packaging>
     <artifactId>warewms-ams</artifactId>
+    <groupId>com.warewms</groupId>
     <version>1.0.0</version>
-    <description>ams模块</description>
+
+    <description>
+        ams服务入口
+    </description>
+
+    <properties>
+        <project.name>${project.artifactId}-release-${project.version}</project.name>
+        <project.build.libUrl>${project.build.directory}/${project.name}/${project.name}/lib</project.build.libUrl>
+    </properties>
 
     <dependencies>
 
-        <!-- wms框架 -->
+        <!-- spring-boot-devtools -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-devtools</artifactId>
+            <optional>true</optional> <!-- 表示依赖不会传递 -->
+        </dependency>
+
+        <!-- swagger3-->
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-boot-starter</artifactId>
+        </dependency>
+
+        <!-- 防止进入swagger页面报类型转换错误,排除3.0.0中的引用,手动增加1.6.2版本 -->
+        <dependency>
+            <groupId>io.swagger</groupId>
+            <artifactId>swagger-models</artifactId>
+            <version>1.6.2</version>
+        </dependency>
+
+        <!-- Mysql驱动包 -->
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+
+        <!-- 单元测试 -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <!-- 定时任务 -->
+        <dependency>
+            <groupId>org.quartz-scheduler</groupId>
+            <artifactId>quartz</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.mchange</groupId>
+                    <artifactId>c3p0</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <!--velocity代码生成使用模板 -->
+        <dependency>
+            <groupId>org.apache.velocity</groupId>
+            <artifactId>velocity-engine-core</artifactId>
+        </dependency>
+
+        <!-- collections工具类 -->
+        <dependency>
+            <groupId>commons-collections</groupId>
+            <artifactId>commons-collections</artifactId>
+        </dependency>
+
+        <!-- SpringBoot Web容器 -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+
+        <!-- SpringBoot 拦截器 -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-aop</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.springframework.boot</groupId>
+                    <artifactId>spring-boot-starter</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-jdbc</artifactId>
+            <version>5.3.16</version>
+        </dependency>
+
+        <!-- 阿里数据库连接池 -->
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>druid-spring-boot-starter</artifactId>
+        </dependency>
+
+
+        <!-- 验证码 -->
+        <dependency>
+            <groupId>com.github.penggle</groupId>
+            <artifactId>kaptcha</artifactId>
+            <exclusions>
+                <exclusion>
+                    <artifactId>javax.servlet-api</artifactId>
+                    <groupId>javax.servlet</groupId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <!-- 获取系统信息 -->
+        <dependency>
+            <groupId>com.github.oshi</groupId>
+            <artifactId>oshi-core</artifactId>
+        </dependency>
+
+
+        <!-- Spring框架基本的核心工具 -->
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-context-support</artifactId>
+        </dependency>
+
+        <!-- SpringWeb模块 -->
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-web</artifactId>
+        </dependency>
+
+        <!-- spring security 安全认证 -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-security</artifactId>
+        </dependency>
+
         <dependency>
-            <groupId>com.warewms</groupId>
-            <artifactId>warewms-wms</artifactId>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+        </dependency>
+
+        <!-- pagehelper 分页插件 -->
+        <dependency>
+            <groupId>com.github.pagehelper</groupId>
+            <artifactId>pagehelper-spring-boot-starter</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.mybatis</groupId>
+                    <artifactId>mybatis</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.mybatis</groupId>
+                    <artifactId>mybatis-spring</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>com.github.jsqlparser</groupId>
+                    <artifactId>jsqlparser</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <!-- 自定义验证注解 -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-validation</artifactId>
+        </dependency>
+
+        <!--常用工具类 -->
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+        </dependency>
+
+        <!-- JSON工具类 -->
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+        </dependency>
+
+        <!-- 阿里JSON解析器 -->
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>fastjson</artifactId>
+        </dependency>
+
+        <!-- io常用工具类 -->
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+        </dependency>
+
+        <!-- 文件上传工具类 -->
+        <dependency>
+            <groupId>commons-fileupload</groupId>
+            <artifactId>commons-fileupload</artifactId>
+        </dependency>
+
+        <!-- excel工具 -->
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-ooxml</artifactId>
+        </dependency>
+
+        <!-- yml解析器 -->
+        <dependency>
+            <groupId>org.yaml</groupId>
+            <artifactId>snakeyaml</artifactId>
+        </dependency>
+
+        <!-- Token生成与解析-->
+        <dependency>
+            <groupId>io.jsonwebtoken</groupId>
+            <artifactId>jjwt</artifactId>
+        </dependency>
+
+        <!-- Jaxb -->
+        <dependency>
+            <groupId>javax.xml.bind</groupId>
+            <artifactId>jaxb-api</artifactId>
+        </dependency>
+
+        <!-- redis 缓存操作 -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-redis</artifactId>
+        </dependency>
+
+        <!-- pool 对象池 -->
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-pool2</artifactId>
+        </dependency>
+
+        <!-- 解析客户端操作系统、浏览器等 -->
+        <dependency>
+            <groupId>eu.bitwalker</groupId>
+            <artifactId>UserAgentUtils</artifactId>
+        </dependency>
+
+        <!-- servlet包 -->
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>javax.servlet-api</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.retry</groupId>
+            <artifactId>spring-retry</artifactId>
         </dependency>
 
     </dependencies>
 
+    <build>
+        <plugins>
+            <!-- jar包	-->
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <version>2.1.1.RELEASE</version>
+                <configuration>
+                    <fork>true</fork>
+                    <classifier>exec</classifier>
+                    <finalName>${project.name}</finalName>
+                    <outputDirectory>${project.build.directory}/</outputDirectory>
+                    <!-- 在打包时将引用的外部jar引入到当前项目包中	-->
+                    <includeSystemScope>true</includeSystemScope>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <!-- zip、tar.gz包	-->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <version>3.1.0</version>
+                <executions>
+                    <execution>
+                        <id>make-assembly</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                        <configuration>
+                            <!-- 打包生成的文件名 -->
+                            <finalName>${project.name}</finalName>
+                            <!-- jar 等压缩文件在被打包进入 zip、tar.gz 时是否压缩,设置为 false 可加快打包速度 -->
+                            <recompressZippedFiles>false</recompressZippedFiles>
+                            <!-- 打包生成的文件是否要追加 package.xml 中定义的 id 值 -->
+                            <appendAssemblyId>false</appendAssemblyId>
+                            <!-- 指向打包描述文件 package.xml -->
+                            <descriptors>
+                                <descriptor>package.xml</descriptor>
+                            </descriptors>
+                            <!-- 打包结果输出的基础目录 -->
+                            <outputDirectory>${project.build.directory}/</outputDirectory>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
 </project>

warewms-wms/remove.sh → warewms-ams/remove.sh


warewms-wms/src/main/java/com/warewms/WareWmsApplication.java → warewms-ams/src/main/java/com/warewms/WareWmsApplication.java


warewms-wms/src/main/java/com/warewms/WareWmsServletInitializer.java → warewms-ams/src/main/java/com/warewms/WareWmsServletInitializer.java


+ 0 - 34
warewms-ams/src/main/java/com/warewms/agv/ndc/controller/AmsTaskController.java

@@ -1,34 +0,0 @@
-package com.warewms.agv.ndc.controller;
-
-import com.warewms.agv.ndc.service.IAmsTaskService;
-import com.warewms.common.base.controller.BaseController;
-import com.warewms.common.base.domain.AjaxResult;
-import com.warewms.wms.task.dto.WcsTaskCancelDTO;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.validation.Valid;
-
-/**
- * AGV任务Controller
- *
- * @author andy
- * @date 2022-03-10
- */
-@RestController
-@RequestMapping("/ams/amsTask")
-public class AmsTaskController extends BaseController {
-    @Autowired
-    private IAmsTaskService amsTaskService;
-
-
-    @PostMapping(value = "/amsTaskCancel")
-    public AjaxResult cancelAmsTask(@RequestBody @Valid WcsTaskCancelDTO wcsTaskCancelDTO) {
-        amsTaskService.cancelAmsTask(wcsTaskCancelDTO);
-        return AjaxResult.success();
-    }
-
-}

+ 0 - 35
warewms-ams/src/main/java/com/warewms/agv/ndc/service/AgvInteractingService.java

@@ -1,35 +0,0 @@
-package com.warewms.agv.ndc.service;
-
-import com.warewms.agv.ndc.domain.AmsNdcEvent;
-import com.warewms.agv.ndc.domain.AmsTask;
-
-/**
- * Created by IntelliJ IDEA.
- * User: andy.qu
- * Date: 2022/8/10
- * Description: AGV交互接口
- */
-public interface AgvInteractingService {
-
-    /**
-     * 任务确认分析
-     *
-     * @param taskNo   任务编号
-     * @param aciIndex index
-     * @param type     取卸货
-     */
-    void confirmAnalysis(String taskNo, Integer aciIndex, String type, Integer carNo);
-
-    /**
-     * 空托盘堆叠申请,根据库位当前托盘数量确认第几层堆叠
-     *
-     * @param taskNo
-     */
-    void confirmEmptyPlate(String taskNo);
-
-    /**
-     * AGV运行异常
-     */
-    void agvError(AmsNdcEvent event, AmsTask task);
-
-}

+ 0 - 31
warewms-ams/src/main/java/com/warewms/agv/ndc/service/impl/AgvInteractingServiceImpl.java

@@ -1,31 +0,0 @@
-package com.warewms.agv.ndc.service.impl;
-
-import com.warewms.agv.ndc.domain.AmsNdcEvent;
-import com.warewms.agv.ndc.domain.AmsTask;
-import com.warewms.agv.ndc.service.AgvInteractingService;
-import org.springframework.stereotype.Component;
-
-/**
- * Created by IntelliJ IDEA.
- * User: andy.qu
- * Date: 2022/8/10
- * Description:
- */
-@Component
-public class AgvInteractingServiceImpl implements AgvInteractingService {
-
-    @Override
-    public void confirmAnalysis(String taskNo, Integer aciIndex, String type, Integer carNo) {
-
-    }
-
-    @Override
-    public void confirmEmptyPlate(String taskNo) {
-
-    }
-
-    @Override
-    public void agvError(AmsNdcEvent event, AmsTask task) {
-
-    }
-}

+ 0 - 164
warewms-ams/src/main/java/com/warewms/agv/ndc/service/impl/AmsTaskServiceImpl.java

@@ -1,164 +0,0 @@
-package com.warewms.agv.ndc.service.impl;
-
-import cn.hutool.core.comparator.CompareUtil;
-import cn.hutool.core.util.ObjectUtil;
-import com.warewms.agv.ndc.domain.AmsTask;
-import com.warewms.agv.ndc.mapper.AmsTaskMapper;
-import com.warewms.agv.ndc.service.IAmsTaskService;
-import com.warewms.common.base.domain.AjaxResult;
-import com.warewms.common.constant.WmsConstant;
-import com.warewms.common.utils.string.StringUtils;
-import com.warewms.wms.task.domain.WcsTask;
-import com.warewms.wms.task.dto.WcsTaskCallBackDTO;
-import com.warewms.wms.task.dto.WcsTaskCancelDTO;
-import com.warewms.wms.task.service.IWcsTaskService;
-import io.jsonwebtoken.lang.Assert;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.List;
-
-/**
- * ams任务列表Service业务层处理
- * 
- * @author andy
- * @date 2022-08-08
- */
-@Service
-public class AmsTaskServiceImpl implements IAmsTaskService 
-{
-    @Autowired
-    private AmsTaskMapper amsTaskMapper;
-
-    @Autowired
-    private IWcsTaskService wcsTaskService;
-
-    /**
-     * 查询ams任务列表
-     * 
-     * @param id ams任务列表主键
-     * @return ams任务列表
-     */
-    @Override
-    public AmsTask selectAmsTaskById(Long id)
-    {
-        return amsTaskMapper.selectAmsTaskById(id);
-    }
-
-    /**
-     * 查询ams任务列表列表
-     * 
-     * @param amsTask ams任务列表
-     * @return ams任务列表
-     */
-    @Override
-    public List<AmsTask> selectAmsTaskList(AmsTask amsTask)
-    {
-        return amsTaskMapper.selectAmsTaskList(amsTask);
-    }
-
-    /**
-     * 查询ams任务列表
-     *
-     * @param amsTask ams任务列表
-     * @return ams任务列表
-     */
-    @Override
-    public AmsTask selectAmsTaskByModel(AmsTask amsTask)
-    {
-        List<AmsTask> list = amsTaskMapper.selectAmsTaskList(amsTask);
-        if (list!=null && list.size()>0) {
-            return list.get(0);
-        } else {
-            return null;
-        }
-    }
-
-    /**
-     * 新增ams任务列表
-     * 
-     * @param amsTask ams任务列表
-     * @return 结果
-     */
-    @Override
-    public int insertAmsTask(AmsTask amsTask)
-    {
-        return amsTaskMapper.insertAmsTask(amsTask);
-    }
-
-    /**
-     * 修改ams任务列表
-     * 
-     * @param amsTask ams任务列表
-     * @return 结果
-     */
-    @Override
-    public int updateAmsTask(AmsTask amsTask)
-    {
-        return amsTaskMapper.updateAmsTask(amsTask);
-    }
-
-    /**
-     * 批量删除ams任务列表
-     * 
-     * @param ids 需要删除的ams任务列表主键
-     * @return 结果
-     */
-    @Override
-    public int deleteAmsTaskByIds(Long[] ids)
-    {
-        return amsTaskMapper.deleteAmsTaskByIds(ids);
-    }
-
-    /**
-     * 删除ams任务列表信息
-     * 
-     * @param id ams任务列表主键
-     * @return 结果
-     */
-    @Override
-    public int deleteAmsTaskById(Long id)
-    {
-        return amsTaskMapper.deleteAmsTaskById(id);
-    }
-
-    @Override
-    public List<AmsTask> selectTaskNotIssued() {
-        return amsTaskMapper.selectTaskNotIssued();
-    }
-
-    /**
-     * 任务取消
-     * @param wcsTaskCancelDTO
-     * @return
-     */
-    @Transactional
-    @Override
-    public AjaxResult cancelAmsTask(WcsTaskCancelDTO wcsTaskCancelDTO) {
-        String taskNo = wcsTaskCancelDTO.getTaskNo();
-        String remark = StringUtils.isNotBlank(wcsTaskCancelDTO.getReason()) ? wcsTaskCancelDTO.getReason() : null;
-        WcsTask wcsTask = wcsTaskService.selectWcsTaskByTaskNo(taskNo);
-        Assert.isTrue(ObjectUtil.isNotNull(wcsTask), "任务不存在!");
-        // 任务状态: 队列等待 直接删除即可 其他状态 需要请求AMS删除
-        if (wcsTask.getState() == WmsConstant.TASK_STS.TASK9.getValue().longValue()
-                || wcsTask.getState() == WmsConstant.TASK_STS.TASK10.getValue().longValue()) {
-            return wcsTaskService.callBack(new WcsTaskCallBackDTO(taskNo, WmsConstant.TASK_STS.TASK7.getValue(), remark));
-        }
-        //请求ams 取消任务
-        AmsTask amsTaskQuery = new AmsTask();
-        amsTaskQuery.setTaskNo(taskNo);
-        AmsTask amsTask = selectAmsTaskByModel(amsTaskQuery);
-        Assert.isTrue(ObjectUtil.isNotNull(amsTask), "amsTask没有对应任务!");
-        Assert.isTrue(ObjectUtil.isNull(amsTask.getEvent()) || CompareUtil.compare(amsTask.getEvent(), 85) != 0
-                , "任务已取消!");
-        AmsTask amsTaskUpdate = new AmsTask();
-        amsTaskUpdate.setId(amsTask.getId());
-        amsTaskUpdate.setIsDelete(1);
-        amsTaskUpdate.setAciAccept(0);
-        amsTaskUpdate.setRemark("下发超时1分钟未接收自动取消" + amsTaskUpdate.getAciAccept());
-        updateAmsTask(amsTaskUpdate);
-
-        return AjaxResult.success("取消任务指令已下发!");
-    }
-}

+ 0 - 57
warewms-ams/src/main/java/com/warewms/agv/ndc/service/impl/StatusUpdateServiceImpl.java

@@ -1,57 +0,0 @@
-package com.warewms.agv.ndc.service.impl;
-
-import cn.hutool.core.util.ObjectUtil;
-import com.warewms.agv.ndc.domain.AmsTask;
-import com.warewms.agv.ndc.entity.CallbackResult;
-import com.warewms.agv.ndc.service.IAmsTaskService;
-import com.warewms.agv.ndc.service.StatusUpdateService;
-import com.warewms.wms.task.service.IWcsTaskService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.HashMap;
-import java.util.Map;
-
-@Slf4j
-@Component
-public class StatusUpdateServiceImpl implements StatusUpdateService {
-
-    @Autowired
-    private IAmsTaskService amsTaskService;
-    @Autowired
-    private IWcsTaskService wcsTaskService;
-
-    private final static Map<Integer, Integer> eventIdToStatus =  new HashMap<Integer, Integer>(){
-        {
-            put(86, 1);
-            put(90, 2);
-            put(91, 4);
-            put(92, 6);
-            put(85, 7);
-            put(113, 8);
-            put(114, 2);
-        }
-    };
-
-    @Override
-    public void updateStatus(Long id, Integer carNo) {
-        AmsTask amsTask = amsTaskService.selectAmsTaskById(id);
-        if (ObjectUtil.isNull(amsTask)) return;
-
-        log.info("任务回调-------------------------》" + amsTask.getTaskNo());
-        if (amsTask.getAciIndex() == null) {
-            log.error("没有index,未下发的任务");
-        }
-        CallbackResult result = new CallbackResult();
-        result.setCarNo(carNo);
-        result.setTaskNo(amsTask.getTaskNo());
-
-        //判断状态
-        result.setState(eventIdToStatus.get(amsTask.getEvent()));
-        wcsTaskService.callBack(result.getTaskNo(), result.getState(), result.getCarNo());
-
-        amsTask.setSystemStatus(result.getState());
-        amsTaskService.updateAmsTask(amsTask);
-    }
-}

+ 0 - 28
warewms-ams/src/main/java/com/warewms/agv/ndc/thread/AutoTaskThread.java

@@ -1,28 +0,0 @@
-package com.warewms.agv.ndc.thread;
-
-import com.warewms.business.service.IBusinessService;
-import lombok.extern.slf4j.Slf4j;
-
-@Slf4j
-public class AutoTaskThread implements Runnable {
-
-    private IBusinessService businessService;
-
-    public AutoTaskThread(IBusinessService businessService) {
-        this.businessService = businessService;
-    }
-
-    @Override
-    public void run() {
-        log.info("-------------------------自动下发任务服务启动---------------------->");
-        while (true) {
-            try {
-                Thread.sleep(1000L);
-                businessService.autoSend();
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-
-        }
-    }
-}

+ 3 - 2
warewms-ams/src/main/java/com/warewms/agv/car/controller/CarInfoController.java

@@ -1,6 +1,7 @@
-package com.warewms.agv.car.controller;
+package com.warewms.ams.car.controller;
 
-import com.warewms.agv.car.service.ICarInfoService;
+
+import com.warewms.ams.car.service.ICarInfoService;
 import com.warewms.common.base.controller.BaseController;
 import com.warewms.common.base.domain.AjaxResult;
 import org.springframework.beans.factory.annotation.Autowired;

+ 1 - 1
warewms-ams/src/main/java/com/warewms/agv/car/domain/CarInfo.java

@@ -1,4 +1,4 @@
-package com.warewms.agv.car.domain;
+package com.warewms.ams.car.domain;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.warewms.common.base.domain.BaseEntity;

+ 1 - 1
warewms-ams/src/main/java/com/warewms/agv/car/dto/CarInfoDTO.java

@@ -1,4 +1,4 @@
-package com.warewms.agv.car.dto;
+package com.warewms.ams.car.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;

+ 3 - 2
warewms-ams/src/main/java/com/warewms/agv/car/mapper/CarInfoMapper.java

@@ -1,7 +1,8 @@
-package com.warewms.agv.car.mapper;
+package com.warewms.ams.car.mapper;
+
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.warewms.agv.car.domain.CarInfo;
+import com.warewms.ams.car.domain.CarInfo;
 import org.apache.ibatis.annotations.Mapper;
 
 /**

+ 4 - 3
warewms-ams/src/main/java/com/warewms/agv/car/service/ICarInfoService.java

@@ -1,7 +1,8 @@
-package com.warewms.agv.car.service;
+package com.warewms.ams.car.service;
 
-import com.warewms.agv.car.domain.CarInfo;
-import com.warewms.agv.car.dto.CarInfoDTO;
+
+import com.warewms.ams.car.domain.CarInfo;
+import com.warewms.ams.car.dto.CarInfoDTO;
 
 /**
  * 入库单Service接口

+ 5 - 5
warewms-ams/src/main/java/com/warewms/agv/car/service/impl/CarInfoServiceImpl.java

@@ -1,10 +1,10 @@
-package com.warewms.agv.car.service.impl;
+package com.warewms.ams.car.service.impl;
 
 import cn.hutool.core.util.ObjectUtil;
-import com.warewms.agv.car.domain.CarInfo;
-import com.warewms.agv.car.dto.CarInfoDTO;
-import com.warewms.agv.car.mapper.CarInfoMapper;
-import com.warewms.agv.car.service.ICarInfoService;
+import com.warewms.ams.car.domain.CarInfo;
+import com.warewms.ams.car.dto.CarInfoDTO;
+import com.warewms.ams.car.mapper.CarInfoMapper;
+import com.warewms.ams.car.service.ICarInfoService;
 import com.warewms.common.utils.ConvertUtils;
 import io.jsonwebtoken.lang.Assert;
 import org.springframework.beans.factory.annotation.Autowired;

+ 2 - 2
warewms-ams/src/main/java/com/warewms/agv/car/vo/CarInfoVO.java

@@ -1,6 +1,6 @@
-package com.warewms.agv.car.vo;
+package com.warewms.ams.car.vo;
 
-import com.warewms.agv.car.domain.CarInfo;
+import com.warewms.ams.car.domain.CarInfo;
 import lombok.Getter;
 import lombok.Setter;
 

+ 7 - 15
warewms-ams/src/main/java/com/warewms/init/StartService.java

@@ -1,11 +1,10 @@
-package com.warewms.init;
-
-import com.warewms.agv.ndc.AciService;
-import com.warewms.agv.ndc.config.TestTagConfig;
-import com.warewms.agv.ndc.thread.AciServiceThread;
-import com.warewms.agv.ndc.thread.AutoTaskThread;
-import com.warewms.business.service.IBusinessService;
-import com.warewms.thread.ServerGs;
+package com.warewms.ams.init;
+
+
+import com.warewms.ams.ndc.AciService;
+import com.warewms.ams.ndc.config.TestTagConfig;
+import com.warewms.ams.ndc.thread.AciServiceThread;
+import com.warewms.ams.thread.ServerGs;
 import com.warewms.common.utils.redis.RedisCache;
 import com.warewms.common.utils.redis.RedisKey;
 import com.warewms.system.service.ISysConfigService;
@@ -16,8 +15,6 @@ import org.springframework.stereotype.Component;
 @Component("startService")
 public class StartService implements CommandLineRunner {
 
-    @Autowired
-    private IBusinessService businessService;
     @Autowired
     private ISysConfigService configService;
     @Autowired
@@ -30,11 +27,6 @@ public class StartService implements CommandLineRunner {
 
     @Override
     public void run(String... args) throws Exception {
-        //自动下发任务
-        if (testTagConfig.getAutoSend()) {
-            Thread thread = new Thread(new AutoTaskThread(businessService));
-            thread.start();
-        }
 
         //ndc下发
         if (testTagConfig.getAciService()) {

+ 88 - 86
warewms-ams/src/main/java/com/warewms/agv/ndc/AciService.java

@@ -1,27 +1,30 @@
-package com.warewms.agv.ndc;
+package com.warewms.ams.ndc;
 
 import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSON;
-import com.warewms.agv.ndc.common.Aci;
-import com.warewms.agv.ndc.common.ByteUtil;
-import com.warewms.agv.ndc.domain.AmsHexdefineDetail;
-import com.warewms.agv.ndc.domain.AmsTask;
-import com.warewms.agv.ndc.entity.Order;
-import com.warewms.agv.ndc.service.IAmsHexdefineDetailService;
-import com.warewms.agv.ndc.service.IAmsTaskService;
-import com.warewms.agv.ndc.service.SocketBufferService;
+import com.warewms.ams.ndc.common.Aci;
+import com.warewms.ams.ndc.common.ByteUtil;
+import com.warewms.ams.ndc.domain.AmsHexdefineDetail;
+import com.warewms.ams.ndc.domain.AmsTask;
+import com.warewms.ams.ndc.entity.Order;
+import com.warewms.ams.ndc.service.IAmsHexdefineDetailService;
+import com.warewms.ams.ndc.service.IAmsTaskService;
+import com.warewms.ams.ndc.service.SocketBufferService;
 import com.warewms.common.constant.WmsConstant;
+import com.warewms.common.exception.base.BaseException;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.io.IOException;
 import java.net.InetSocketAddress;
-import java.net.SocketAddress;
 import java.nio.ByteBuffer;
+import java.nio.channels.SelectionKey;
+import java.nio.channels.Selector;
 import java.nio.channels.SocketChannel;
 import java.util.Date;
+import java.util.Iterator;
 import java.util.List;
 
 /**
@@ -39,6 +42,10 @@ public class AciService {
 
     private static final String IP = "127.0.0.1";
 
+    private Selector selector;
+
+    private SocketChannel socketChannel;
+
     private static final int PORT = 30002;
 
     @Autowired
@@ -48,32 +55,31 @@ public class AciService {
     @Autowired
     private IAmsHexdefineDetailService amsHexdefineDetailService;
 
+    public void init() throws IOException {
+        selector = Selector.open();
+        try {
+            socketChannel = socketChannel.open(new InetSocketAddress(IP, PORT));
+            socketChannel.configureBlocking(false);
+            socketChannel.register(selector, SelectionKey.OP_READ);
+        } catch (Exception exception) {
+            log.warn("AciService socketChannel open is on error");
+            try {
+                Thread.currentThread().sleep(3000);
+            }catch (InterruptedException e) {
+                throw new BaseException(e.getMessage());
+            }
+            init();
+        }
+    }
+
     @SuppressWarnings("InfiniteLoopStatement")
     public void start() throws IOException {
-
-        SocketChannel socketChannel = SocketChannel.open();
-        socketChannel.configureBlocking(false); // 解决了IO阻塞
+        init();
+        readInfo();
         while (true) {
-
             try {
-                //链接服务端Socket
-                if (!socketChannel.isConnected()) {
-                    if (!socketChannel.isOpen()) {
-                        socketChannel = SocketChannel.open();
-                        socketChannel.configureBlocking(false); // 解决了IO阻塞
-                    }
-                    // 非阻塞模式下 这段代码并不是等到连接建立之后再往下执行
-                    SocketAddress socketAddress = new InetSocketAddress(IP, PORT);
-                    socketChannel.connect(socketAddress);
-                    Thread.sleep(2000);
-                    if (socketChannel.isConnectionPending()) {
-                        socketChannel.finishConnect();
-                    }
-                }
-
                 ByteBuffer buffer = ByteBuffer.allocate(BUFF_SIZE);
                 buffer.clear();
-
                 //删除指令
                 AmsTask taskBean = new AmsTask();
                 taskBean.setIsDelete(1);
@@ -163,75 +169,71 @@ public class AciService {
                                 t.setRoadway("TS请求反馈任务发送成功!");
                                 amsTaskService.updateAmsTask(t);
                             }
-//                        } catch (Exception e) {
-//                            e.printStackTrace();
-//                            t.setServerAck(0);
-//                            t.setAciAccept(1);
-//                            t.setRoadway("程序异常自动ack");
-//                            t.setIsDelete(null);
-//                            amsTaskService.updateAmsTask(t);
-//                        }
                     }
                 }
-
-                //从服务端读取
-                buffer.clear();
-                //因为设置了异步 这边不会阻塞 测试了一下 服务器断开这边会抛出异常 但是写的时候不会抛出异常 可能是设置了异步的原因
-                int readLenth = socketChannel.read(buffer);
-                if (readLenth == -1) {
-//                    throw new IOException();
-                }
-                if (readLenth > 0) {
-                    buffer.flip();
-                    byte[] bytes = new byte[readLenth];
-                    buffer.get(bytes);
-                    List<Order> bufferSeparators = socketBufferService.bufferSeparator(bytes);
-                    for (Order order : bufferSeparators) {
-
-//                    log.info("消息类型:" + order.getMessageType() + ",消息参数:" + ByteUtil.byteArray2HexString(order.getParameters()));
-                        switch (order.getMessageType()) {
-
-                            case Aci.MSG_ORDER_STATUS://车体状态信息、位置信息
-                                socketBufferService.handleMsgOrderStatus(order.getParameters());
-                                break;
-                            case Aci.MSG_EVENT://任务反馈、自定义消息
-                                socketBufferService.handleMsgEvent(order.getParameters());
-                                break;
-                            case Aci.MSG_STOP://交通管制暂停
-                                socketBufferService.handleMsgStopStart(order.getParameters(), true);
-                                break;
-                            case Aci.MSG_START://启动信息
-                                socketBufferService.handleMsgStopStart(order.getParameters(), false);
-                                break;
-                            case Aci.MSG_ORDER_ACK://信息接收反馈
-                                socketBufferService.handleMsgOrderAck(order.getParameters());
-                                break;
-                        }
-                    }
-                }
-                buffer.clear();
-
                 try {
                     Thread.sleep(500);
                 } catch (InterruptedException e) {
-                    e.printStackTrace();
+                    throw new BaseException(e.getMessage());
                 }
 
-            }catch (IOException i) {
-                log.error("NDC通讯异常!" ,i);
-                try {
-                    socketChannel.close();
-                } catch (Exception exception) {
-                    i.printStackTrace();
-                }
             }catch (Exception e) {
-                e.printStackTrace();
+                log.error("NDC通讯异常!");
                 try {
                     socketChannel.close();
                 } catch (Exception exception) {
-                    e.printStackTrace();
+                    throw new BaseException(exception.getMessage());
                 }
+                throw new BaseException(e.getMessage());
             }
         }
     }
+
+    public void readInfo() {
+        //读取客户端消息
+        new Thread(() -> {
+            while (true) {
+                try {
+                    int readChannels = selector.select();
+                    if (readChannels > 0) {
+                        Iterator<SelectionKey> iterator = selector.selectedKeys().iterator();
+                        while (iterator.hasNext()) {
+                            SelectionKey key = iterator.next();
+                            if (!key.isReadable()) {
+                                iterator.remove();
+                                continue;
+                            }
+                            SocketChannel channel = (SocketChannel) key.channel();
+                            ByteBuffer buffer = ByteBuffer.allocate(BUFF_SIZE);
+                            channel.read(buffer);
+                            List<Order> bufferSeparators = socketBufferService.bufferSeparator(buffer.array());
+                            for (Order order : bufferSeparators) {
+                                switch (order.getMessageType()) {
+                                    case Aci.MSG_ORDER_STATUS://车体状态信息、位置信息
+                                        socketBufferService.handleMsgOrderStatus(order.getParameters());
+                                        break;
+                                    case Aci.MSG_EVENT://任务反馈、自定义消息
+                                        socketBufferService.handleMsgEvent(order.getParameters());
+                                        break;
+                                    case Aci.MSG_STOP://交通管制暂停
+                                        socketBufferService.handleMsgStopStart(order.getParameters(), true);
+                                        break;
+                                    case Aci.MSG_START://启动信息
+                                        socketBufferService.handleMsgStopStart(order.getParameters(), false);
+                                        break;
+                                    case Aci.MSG_ORDER_ACK://信息接收反馈
+                                        socketBufferService.handleMsgOrderAck(order.getParameters());
+                                        break;
+                                }
+                            }
+                            iterator.remove();
+                        }
+                    }
+                    Thread.currentThread().sleep(3000);
+                } catch (Exception e) {
+                    throw new BaseException(e.getMessage());
+                }
+            }
+        }).start();
+    }
 }

+ 1 - 1
warewms-ams/src/main/java/com/warewms/agv/ndc/common/Aci.java

@@ -1,4 +1,4 @@
-package com.warewms.agv.ndc.common;
+package com.warewms.ams.ndc.common;
 
 /**
  * Created by IntelliJ IDEA.

+ 1 - 1
warewms-ams/src/main/java/com/warewms/agv/ndc/common/ByteUtil.java

@@ -1,4 +1,4 @@
-package com.warewms.agv.ndc.common;
+package com.warewms.ams.ndc.common;
 
 import org.springframework.util.StringUtils;
 

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 1
warewms-ams/src/main/java/com/warewms/agv/ndc/common/CRC16Util.java


+ 1 - 1
warewms-ams/src/main/java/com/warewms/agv/ndc/common/ValType.java

@@ -1,4 +1,4 @@
-package com.warewms.agv.ndc.common;
+package com.warewms.ams.ndc.common;
 
 import lombok.Getter;
 

+ 1 - 3
warewms-ams/src/main/java/com/warewms/agv/ndc/config/TestTagConfig.java

@@ -1,4 +1,4 @@
-package com.warewms.agv.ndc.config;
+package com.warewms.ams.ndc.config;
 
 import lombok.Data;
 import org.springframework.beans.factory.annotation.Value;
@@ -9,8 +9,6 @@ import org.springframework.stereotype.Component;
 @Component
 @ConfigurationProperties(prefix = "testtag")
 public class TestTagConfig {
-    @Value("${testtag.autosend}")
-    private Boolean autoSend;
     @Value("${testtag.aciservice}")
     private Boolean aciService;
     @Value("${testtag.gsService}")

+ 45 - 0
warewms-ams/src/main/java/com/warewms/ams/ndc/controller/AmsTaskController.java

@@ -0,0 +1,45 @@
+package com.warewms.ams.ndc.controller;
+
+import com.warewms.ams.ndc.dto.AmsTaskCancelDTO;
+import com.warewms.ams.ndc.dto.AmsTaskInfoDTO;
+import com.warewms.ams.ndc.dto.AmsTaskInsertDTO;
+import com.warewms.ams.ndc.service.IAmsTaskService;
+import com.warewms.common.base.controller.BaseController;
+import com.warewms.common.base.domain.AjaxResult;
+import org.assertj.core.util.Maps;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+
+/**
+ * AGV任务Controller
+ *
+ * @author andy
+ * @date 2022-03-10
+ */
+@RestController
+@RequestMapping("/ams")
+public class AmsTaskController extends BaseController {
+    @Autowired
+    private IAmsTaskService amsTaskService;
+
+    @PostMapping(value = "/wcsTask/taskInsert")
+    public AjaxResult taskInsert(@RequestBody @Valid AmsTaskInsertDTO amsTaskInsertDTO) {
+        Long taskNo = amsTaskService.amsTaskInsert(amsTaskInsertDTO);
+        return AjaxResult.success("任务生成成功", Maps.newHashMap("taskNo", taskNo));
+    }
+
+    @GetMapping(value = "/wcsTask/getTaskInfo")
+    public AjaxResult getTaskInfo(@RequestParam String businessNo) {
+        AmsTaskInfoDTO AmsTaskInfoDTO = amsTaskService.getAmsTaskInfo(businessNo);
+        return AjaxResult.success(AmsTaskInfoDTO);
+    }
+
+    @PostMapping(value = "/wcsTask/taskCancel")
+    public AjaxResult taskCancel(@RequestBody @Valid AmsTaskCancelDTO amsTaskCancelDTO) {
+        amsTaskService.cancelAmsTask(amsTaskCancelDTO);
+        return AjaxResult.success();
+    }
+
+}

+ 1 - 1
warewms-ams/src/main/java/com/warewms/agv/ndc/domain/AmsHexdefineDetail.java

@@ -1,4 +1,4 @@
-package com.warewms.agv.ndc.domain;
+package com.warewms.ams.ndc.domain;
 
 import com.warewms.common.annotation.Excel;
 import com.warewms.common.base.domain.BaseEntity;

+ 1 - 1
warewms-ams/src/main/java/com/warewms/agv/ndc/domain/AmsHexdefineHeader.java

@@ -1,4 +1,4 @@
-package com.warewms.agv.ndc.domain;
+package com.warewms.ams.ndc.domain;
 
 import com.warewms.common.annotation.Excel;
 import com.warewms.common.base.domain.BaseEntity;

+ 1 - 1
warewms-ams/src/main/java/com/warewms/agv/ndc/domain/AmsNdcEvent.java

@@ -1,4 +1,4 @@
-package com.warewms.agv.ndc.domain;
+package com.warewms.ams.ndc.domain;
 
 import com.warewms.common.annotation.Excel;
 import com.warewms.common.base.domain.BaseEntity;

+ 1 - 1
warewms-ams/src/main/java/com/warewms/agv/ndc/domain/AmsTask.java

@@ -1,4 +1,4 @@
-package com.warewms.agv.ndc.domain;
+package com.warewms.ams.ndc.domain;
 
 import com.warewms.common.annotation.Excel;
 import com.warewms.common.base.domain.BaseEntity;

+ 6 - 6
warewms-wms/src/main/java/com/warewms/wms/task/dto/WcsTaskCallBackDTO.java

@@ -1,11 +1,11 @@
-package com.warewms.wms.task.dto;
+package com.warewms.ams.ndc.dto;
 
 import lombok.Data;
 
 import java.io.Serializable;
 
 @Data
-public class WcsTaskCallBackDTO implements Serializable {
+public class AmsTaskCallBackDTO implements Serializable {
 
     private static final long serialVersionUID = -9096165003129622801L;
     private String taskNo;
@@ -16,20 +16,20 @@ public class WcsTaskCallBackDTO implements Serializable {
     private String remark;
 
 
-    public WcsTaskCallBackDTO(){}
+    public AmsTaskCallBackDTO(){}
 
-    public WcsTaskCallBackDTO(String taskNo, Integer state){
+    public AmsTaskCallBackDTO(String taskNo, Integer state){
         this.taskNo = taskNo;
         this.state = state;
     }
 
-    public WcsTaskCallBackDTO(String taskNo, Integer state, Integer carNo){
+    public AmsTaskCallBackDTO(String taskNo, Integer state, Integer carNo){
         this.taskNo = taskNo;
         this.state = state;
         this.carNo = carNo;
     }
 
-    public WcsTaskCallBackDTO(String taskNo, Integer state, String remark){
+    public AmsTaskCallBackDTO(String taskNo, Integer state, String remark){
         this.taskNo = taskNo;
         this.state = state;
         this.remark = remark;

+ 3 - 3
warewms-wms/src/main/java/com/warewms/wms/task/dto/WcsTaskCancelDTO.java

@@ -1,4 +1,4 @@
-package com.warewms.wms.task.dto;
+package com.warewms.ams.ndc.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -7,9 +7,9 @@ import javax.validation.constraints.NotBlank;
 import java.io.Serializable;
 
 @Data
-public class WcsTaskCancelDTO implements Serializable {
+public class AmsTaskCancelDTO implements Serializable {
 
-    private static final long serialVersionUID = 8668896503742786366L;
+    private static final long serialVersionUID = 2632946436423179432L;
 
     @ApiModelProperty("任务编号")
     @NotBlank(message = "任务编号不能为空!")

+ 5 - 5
warewms-wms/src/main/java/com/warewms/wms/task/dto/WcsTaskInfoDTO.java

@@ -1,4 +1,4 @@
-package com.warewms.wms.task.dto;
+package com.warewms.ams.ndc.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -6,7 +6,7 @@ import lombok.Data;
 import java.io.Serializable;
 
 @Data
-public class WcsTaskInfoDTO implements Serializable {
+public class AmsTaskInfoDTO implements Serializable {
 
     private static final long serialVersionUID = -6573961452126621794L;
 
@@ -14,13 +14,13 @@ public class WcsTaskInfoDTO implements Serializable {
     private String taskNo;
 
     @ApiModelProperty("AMS任务状态")
-    private Long state;
+    private Integer state;
 
     @ApiModelProperty("事件id")
-    private String event;
+    private Integer event;
 
     @ApiModelProperty("是否下发 0:未下发 1:已下发")
-    private String aciAccept;
+    private Integer aciAccept;
 
     @ApiModelProperty("车辆编号")
     private String carNo;

+ 3 - 3
warewms-wms/src/main/java/com/warewms/wms/task/dto/WcsTaskInsertDTO.java

@@ -1,4 +1,4 @@
-package com.warewms.wms.task.dto;
+package com.warewms.ams.ndc.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -8,7 +8,7 @@ import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 
 @Data
-public class WcsTaskInsertDTO implements Serializable {
+public class AmsTaskInsertDTO implements Serializable {
 
     private static final long serialVersionUID = 3177872880015150980L;
 
@@ -35,7 +35,7 @@ public class WcsTaskInsertDTO implements Serializable {
 
     @ApiModelProperty("任务优先级")
     @NotNull(message = "任务优先级不能为空!")
-    private Long priority;
+    private Integer priority;
 
     @ApiModelProperty("拓展字段")
     private String extParam;

+ 2 - 2
warewms-wms/src/main/java/com/warewms/wms/task/dto/WcsTaskStateFeedbackDTO.java

@@ -1,4 +1,4 @@
-package com.warewms.wms.task.dto;
+package com.warewms.ams.ndc.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -8,7 +8,7 @@ import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 
 @Data
-public class WcsTaskStateFeedbackDTO implements Serializable {
+public class AmsTaskStateFeedbackDTO implements Serializable {
 
     private static final long serialVersionUID = -842403273529360488L;
 

+ 1 - 1
warewms-ams/src/main/java/com/warewms/agv/ndc/entity/AciInfo.java

@@ -1,4 +1,4 @@
-package com.warewms.agv.ndc.entity;
+package com.warewms.ams.ndc.entity;
 
 
 import java.util.ArrayList;

+ 1 - 1
warewms-ams/src/main/java/com/warewms/agv/ndc/entity/CallbackResult.java

@@ -1,4 +1,4 @@
-package com.warewms.agv.ndc.entity;
+package com.warewms.ams.ndc.entity;
 
 import lombok.Data;
 

+ 1 - 1
warewms-ams/src/main/java/com/warewms/agv/ndc/entity/CarStatus.java

@@ -1,4 +1,4 @@
-package com.warewms.agv.ndc.entity;
+package com.warewms.ams.ndc.entity;
 
 import lombok.Data;
 

+ 1 - 1
warewms-ams/src/main/java/com/warewms/agv/ndc/entity/EventBean.java

@@ -1,4 +1,4 @@
-package com.warewms.agv.ndc.entity;
+package com.warewms.ams.ndc.entity;
 
 import lombok.Data;
 

+ 1 - 1
warewms-ams/src/main/java/com/warewms/agv/ndc/entity/Messageb.java

@@ -1,4 +1,4 @@
-package com.warewms.agv.ndc.entity;
+package com.warewms.ams.ndc.entity;
 
 import lombok.Data;
 

+ 1 - 1
warewms-ams/src/main/java/com/warewms/agv/ndc/entity/Order.java

@@ -1,4 +1,4 @@
-package com.warewms.agv.ndc.entity;
+package com.warewms.ams.ndc.entity;
 
 import lombok.Data;
 

+ 2 - 2
warewms-ams/src/main/java/com/warewms/agv/ndc/mapper/AmsHexdefineDetailMapper.java

@@ -1,6 +1,6 @@
-package com.warewms.agv.ndc.mapper;
+package com.warewms.ams.ndc.mapper;
 
-import com.warewms.agv.ndc.domain.AmsHexdefineDetail;
+import com.warewms.ams.ndc.domain.AmsHexdefineDetail;
 
 import java.util.List;
 

+ 4 - 3
warewms-ams/src/main/java/com/warewms/agv/ndc/mapper/AmsHexdefineHeaderMapper.java

@@ -1,8 +1,9 @@
-package com.warewms.agv.ndc.mapper;
+package com.warewms.ams.ndc.mapper;
+
+import com.warewms.ams.ndc.domain.AmsHexdefineDetail;
+import com.warewms.ams.ndc.domain.AmsHexdefineHeader;
 
 import java.util.List;
-import com.warewms.agv.ndc.domain.AmsHexdefineHeader;
-import com.warewms.agv.ndc.domain.AmsHexdefineDetail;
 
 /**
  * 16进制指令定义Mapper接口

+ 2 - 2
warewms-ams/src/main/java/com/warewms/agv/ndc/mapper/AmsNdcEventMapper.java

@@ -1,6 +1,6 @@
-package com.warewms.agv.ndc.mapper;
+package com.warewms.ams.ndc.mapper;
 
-import com.warewms.agv.ndc.domain.AmsNdcEvent;
+import com.warewms.ams.ndc.domain.AmsNdcEvent;
 
 import java.util.List;
 

+ 7 - 4
warewms-ams/src/main/java/com/warewms/agv/ndc/mapper/AmsTaskMapper.java

@@ -1,8 +1,10 @@
-package com.warewms.agv.ndc.mapper;
+package com.warewms.ams.ndc.mapper;
 
-import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.warewms.ams.ndc.domain.AmsTask;
+import org.apache.ibatis.annotations.Mapper;
 
-import com.warewms.agv.ndc.domain.AmsTask;
+import java.util.List;
 
 /**
  * ams任务列表Mapper接口
@@ -10,7 +12,8 @@ import com.warewms.agv.ndc.domain.AmsTask;
  * @author andy
  * @date 2022-08-08
  */
-public interface AmsTaskMapper {
+@Mapper
+public interface AmsTaskMapper extends BaseMapper<AmsTask> {
     /**
      * 查询ams任务列表
      *

+ 4 - 4
warewms-ams/src/main/java/com/warewms/agv/ndc/service/IAmsHexdefineDetailService.java

@@ -1,7 +1,7 @@
-package com.warewms.agv.ndc.service;
+package com.warewms.ams.ndc.service;
 
-import com.warewms.agv.ndc.domain.AmsHexdefineDetail;
-import com.warewms.agv.ndc.domain.AmsTask;
+import com.warewms.ams.ndc.domain.AmsHexdefineDetail;
+import com.warewms.ams.ndc.domain.AmsTask;
 
 import java.util.List;
 
@@ -82,5 +82,5 @@ public interface IAmsHexdefineDetailService {
      * @param amsHexdefineDetails
      * @return
      */
-    String concatOrder(AmsTask amsTask,List<AmsHexdefineDetail> amsHexdefineDetails);
+    String concatOrder(AmsTask amsTask, List<AmsHexdefineDetail> amsHexdefineDetails);
 }

+ 2 - 2
warewms-ams/src/main/java/com/warewms/agv/ndc/service/IAmsHexdefineHeaderService.java

@@ -1,6 +1,6 @@
-package com.warewms.agv.ndc.service;
+package com.warewms.ams.ndc.service;
 
-import com.warewms.agv.ndc.domain.AmsHexdefineHeader;
+import com.warewms.ams.ndc.domain.AmsHexdefineHeader;
 
 import java.util.List;
 

+ 2 - 2
warewms-ams/src/main/java/com/warewms/agv/ndc/service/IAmsNdcEventService.java

@@ -1,6 +1,6 @@
-package com.warewms.agv.ndc.service;
+package com.warewms.ams.ndc.service;
 
-import com.warewms.agv.ndc.domain.AmsNdcEvent;
+import com.warewms.ams.ndc.domain.AmsNdcEvent;
 
 import java.util.List;
 

+ 12 - 5
warewms-ams/src/main/java/com/warewms/agv/ndc/service/IAmsTaskService.java

@@ -1,8 +1,9 @@
-package com.warewms.agv.ndc.service;
+package com.warewms.ams.ndc.service;
 
-import com.warewms.agv.ndc.domain.AmsTask;
-import com.warewms.common.base.domain.AjaxResult;
-import com.warewms.wms.task.dto.WcsTaskCancelDTO;
+import com.warewms.ams.ndc.domain.AmsTask;
+import com.warewms.ams.ndc.dto.AmsTaskCancelDTO;
+import com.warewms.ams.ndc.dto.AmsTaskInfoDTO;
+import com.warewms.ams.ndc.dto.AmsTaskInsertDTO;
 
 import java.util.List;
 
@@ -75,5 +76,11 @@ public interface IAmsTaskService {
      */
     List<AmsTask> selectTaskNotIssued();
 
-    AjaxResult cancelAmsTask(WcsTaskCancelDTO wcsTaskCancelDTO);
+    Long amsTaskInsert(AmsTaskInsertDTO amsTaskInsertDTO);
+
+    AmsTaskInfoDTO getAmsTaskInfo(String businessNo);
+
+    Boolean cancelAmsTask(AmsTaskCancelDTO amsTaskCancelDTO);
+
+    AmsTask getAmsTaskByAciIndex(Integer aciIndex);
 }

+ 2 - 2
warewms-ams/src/main/java/com/warewms/agv/ndc/service/SocketBufferService.java

@@ -1,6 +1,6 @@
-package com.warewms.agv.ndc.service;
+package com.warewms.ams.ndc.service;
 
-import com.warewms.agv.ndc.entity.Order;
+import com.warewms.ams.ndc.entity.Order;
 
 import java.util.List;
 

+ 4 - 1
warewms-ams/src/main/java/com/warewms/agv/ndc/service/StatusUpdateService.java

@@ -1,4 +1,4 @@
-package com.warewms.agv.ndc.service;
+package com.warewms.ams.ndc.service;
 
 /**
  * Created by IntelliJ IDEA.
@@ -7,6 +7,9 @@ package com.warewms.agv.ndc.service;
  * Description:
  */
 public interface StatusUpdateService {
+
+    void taskStateResponse(Integer state, Integer carNo, Integer aciIndex);
+
     /**
      * 任务状态反馈
      *

+ 6 - 6
warewms-ams/src/main/java/com/warewms/agv/ndc/service/impl/AmsHexdefineDetailServiceImpl.java

@@ -1,10 +1,10 @@
-package com.warewms.agv.ndc.service.impl;
+package com.warewms.ams.ndc.service.impl;
 
-import com.warewms.agv.ndc.common.ValType;
-import com.warewms.agv.ndc.domain.AmsHexdefineDetail;
-import com.warewms.agv.ndc.domain.AmsTask;
-import com.warewms.agv.ndc.mapper.AmsHexdefineDetailMapper;
-import com.warewms.agv.ndc.service.IAmsHexdefineDetailService;
+import com.warewms.ams.ndc.common.ValType;
+import com.warewms.ams.ndc.domain.AmsHexdefineDetail;
+import com.warewms.ams.ndc.domain.AmsTask;
+import com.warewms.ams.ndc.mapper.AmsHexdefineDetailMapper;
+import com.warewms.ams.ndc.service.IAmsHexdefineDetailService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 

+ 6 - 6
warewms-ams/src/main/java/com/warewms/agv/ndc/service/impl/AmsHexdefineHeaderServiceImpl.java

@@ -1,10 +1,10 @@
-package com.warewms.agv.ndc.service.impl;
+package com.warewms.ams.ndc.service.impl;
 
 import cn.hutool.core.collection.CollectionUtil;
-import com.warewms.agv.ndc.domain.AmsHexdefineDetail;
-import com.warewms.agv.ndc.domain.AmsHexdefineHeader;
-import com.warewms.agv.ndc.mapper.AmsHexdefineHeaderMapper;
-import com.warewms.agv.ndc.service.IAmsHexdefineHeaderService;
+import com.warewms.ams.ndc.domain.AmsHexdefineDetail;
+import com.warewms.ams.ndc.domain.AmsHexdefineHeader;
+import com.warewms.ams.ndc.mapper.AmsHexdefineHeaderMapper;
+import com.warewms.ams.ndc.service.IAmsHexdefineHeaderService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -19,7 +19,7 @@ import java.util.List;
  * @date 2022-08-12
  */
 @Service
-public class AmsHexdefineHeaderServiceImpl implements IAmsHexdefineHeaderService 
+public class AmsHexdefineHeaderServiceImpl implements IAmsHexdefineHeaderService
 {
     @Autowired
     private AmsHexdefineHeaderMapper amsHexdefineHeaderMapper;

+ 5 - 5
warewms-ams/src/main/java/com/warewms/agv/ndc/service/impl/AmsNdcEventServiceImpl.java

@@ -1,8 +1,8 @@
-package com.warewms.agv.ndc.service.impl;
+package com.warewms.ams.ndc.service.impl;
 
-import com.warewms.agv.ndc.domain.AmsNdcEvent;
-import com.warewms.agv.ndc.mapper.AmsNdcEventMapper;
-import com.warewms.agv.ndc.service.IAmsNdcEventService;
+import com.warewms.ams.ndc.domain.AmsNdcEvent;
+import com.warewms.ams.ndc.mapper.AmsNdcEventMapper;
+import com.warewms.ams.ndc.service.IAmsNdcEventService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -15,7 +15,7 @@ import java.util.List;
  * @date 2022-08-08
  */
 @Service
-public class AmsNdcEventServiceImpl implements IAmsNdcEventService 
+public class AmsNdcEventServiceImpl implements IAmsNdcEventService
 {
     @Autowired
     private AmsNdcEventMapper amsNdcEventMapper;

+ 231 - 0
warewms-ams/src/main/java/com/warewms/ams/ndc/service/impl/AmsTaskServiceImpl.java

@@ -0,0 +1,231 @@
+package com.warewms.ams.ndc.service.impl;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.comparator.CompareUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.warewms.ams.ndc.common.ByteUtil;
+import com.warewms.ams.ndc.common.CRC16Util;
+import com.warewms.ams.ndc.domain.AmsTask;
+import com.warewms.ams.ndc.dto.AmsTaskCancelDTO;
+import com.warewms.ams.ndc.dto.AmsTaskInfoDTO;
+import com.warewms.ams.ndc.dto.AmsTaskInsertDTO;
+import com.warewms.ams.ndc.mapper.AmsTaskMapper;
+import com.warewms.ams.ndc.service.IAmsTaskService;
+import com.warewms.common.constant.WmsConstant;
+import com.warewms.common.exception.base.BaseException;
+import com.warewms.common.utils.ConvertUtils;
+import com.warewms.common.utils.string.StringUtils;
+import io.jsonwebtoken.lang.Assert;
+import org.assertj.core.util.Lists;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * ams任务列表Service业务层处理
+ * 
+ * @author andy
+ * @date 2022-08-08
+ */
+@Service
+public class AmsTaskServiceImpl implements IAmsTaskService
+{
+    @Autowired
+    private AmsTaskMapper amsTaskMapper;
+
+    public static int genIKey(String taskNo) {
+        int res = CRC16Util.calcCrc16(ByteUtil.string2byteArray(taskNo));
+        if (res == 0) {
+            BigDecimal t = new BigDecimal(taskNo);
+            t = t.add(BigDecimal.ONE);
+            return genIKey(t.toString());
+        } else {
+            return res;
+        }
+    }
+
+    /**
+     * 查询ams任务列表
+     * 
+     * @param id ams任务列表主键
+     * @return ams任务列表
+     */
+    @Override
+    public AmsTask selectAmsTaskById(Long id)
+    {
+        return amsTaskMapper.selectAmsTaskById(id);
+    }
+
+    /**
+     * 查询ams任务列表列表
+     * 
+     * @param amsTask ams任务列表
+     * @return ams任务列表
+     */
+    @Override
+    public List<AmsTask> selectAmsTaskList(AmsTask amsTask)
+    {
+        return amsTaskMapper.selectAmsTaskList(amsTask);
+    }
+
+    /**
+     * 查询ams任务列表
+     *
+     * @param amsTask ams任务列表
+     * @return ams任务列表
+     */
+    @Override
+    public AmsTask selectAmsTaskByModel(AmsTask amsTask)
+    {
+        List<AmsTask> list = amsTaskMapper.selectAmsTaskList(amsTask);
+        if (list!=null && list.size()>0) {
+            return list.get(0);
+        } else {
+            return null;
+        }
+    }
+
+    /**
+     * 新增ams任务列表
+     * 
+     * @param amsTask ams任务列表
+     * @return 结果
+     */
+    @Override
+    public int insertAmsTask(AmsTask amsTask)
+    {
+        return amsTaskMapper.insertAmsTask(amsTask);
+    }
+
+    /**
+     * 修改ams任务列表
+     * 
+     * @param amsTask ams任务列表
+     * @return 结果
+     */
+    @Override
+    public int updateAmsTask(AmsTask amsTask)
+    {
+        return amsTaskMapper.updateAmsTask(amsTask);
+    }
+
+    /**
+     * 批量删除ams任务列表
+     * 
+     * @param ids 需要删除的ams任务列表主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAmsTaskByIds(Long[] ids)
+    {
+        return amsTaskMapper.deleteAmsTaskByIds(ids);
+    }
+
+    /**
+     * 删除ams任务列表信息
+     * 
+     * @param id ams任务列表主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAmsTaskById(Long id)
+    {
+        return amsTaskMapper.deleteAmsTaskById(id);
+    }
+
+    @Override
+    public List<AmsTask> selectTaskNotIssued() {
+        return amsTaskMapper.selectTaskNotIssued();
+    }
+
+    /**
+     * 下发任务
+     * @param amsTaskInsertDTO
+     * @return
+     */
+    @Override
+    public Long amsTaskInsert(AmsTaskInsertDTO amsTaskInsertDTO) {
+        List<AmsTask> wcsTaskList = amsTaskMapper.selectList(Wrappers.<AmsTask>lambdaQuery().eq(AmsTask::getTaskNo, amsTaskInsertDTO.getBusinessNo()));
+        Assert.isTrue(CollectionUtil.isEmpty(wcsTaskList), "任务下发重复!");
+        AmsTask amsTask = ConvertUtils.sourceToTarget(amsTaskInsertDTO, AmsTask.class);
+        amsTask.setId(Long.parseLong(IdWorker.getIdStr()));
+        amsTask.setTaskNo(amsTaskInsertDTO.getBusinessNo());
+        amsTask.setStFrom(Integer.valueOf(amsTaskInsertDTO.getLocationFrom().toString()));
+        amsTask.setStTo(Integer.valueOf(amsTaskInsertDTO.getLocationTo().toString()));
+        amsTask.setBusinessType(StringUtils.isNotBlank(amsTaskInsertDTO.getBusinessType()) ?
+                amsTaskInsertDTO.getBusinessType() : WmsConstant.TASK_BUSINESS_TYPE.TASK_01.getValue());
+        amsTask.setIsDelete(0);
+        amsTask.setAciAccept(0);
+        amsTask.setIkey((long) genIKey(amsTask.getTaskNo()));
+        amsTaskMapper.insert(amsTask);
+        return amsTask.getId();
+    }
+
+    /**
+     * 获取AMS任务详情
+     * @param businessNo
+     * @return
+     */
+    @Override
+    public AmsTaskInfoDTO getAmsTaskInfo(String businessNo) {
+        List<AmsTask> amsTaskList = amsTaskMapper.selectList(Wrappers.<AmsTask>lambdaQuery().eq(AmsTask::getTaskNo, businessNo));
+        AmsTask amsTask = amsTaskList.stream().findFirst().orElseThrow(() -> new BaseException("任务编号有误!"));
+        AmsTaskInfoDTO amsTaskInfoDTO = ConvertUtils.sourceToTarget(amsTask, AmsTaskInfoDTO.class);
+        amsTaskInfoDTO.setState(getAmsTaskState(amsTask));
+        return amsTaskInfoDTO;
+    }
+
+    /**
+     * 任务取消
+     * @param amsTaskCancelDTO
+     * @return
+     */
+    @Transactional
+    @Override
+    public Boolean cancelAmsTask(AmsTaskCancelDTO amsTaskCancelDTO) {
+        String id = amsTaskCancelDTO.getTaskNo();
+        String remark = StringUtils.isNotBlank(amsTaskCancelDTO.getReason()) ? amsTaskCancelDTO.getReason() : null;
+        AmsTask amsTask = getAmsTaskById(id);
+        Assert.isTrue(ObjectUtil.isNotNull(amsTask), "任务不存在!");
+        //请求ams 取消任务
+        Assert.isTrue(ObjectUtil.isNull(amsTask.getEvent()) || CompareUtil.compare(amsTask.getEvent(), WmsConstant.TASK_STS.TASK7.getKey()) != 0
+                , "任务已取消!");
+        return amsTaskMapper.update(new AmsTask(), Wrappers.<AmsTask>lambdaUpdate()
+                .eq(AmsTask::getId, id)
+                .set(AmsTask::getIsDelete, WmsConstant.DELETE_STATUS.Y.getValue())
+                .set(AmsTask::getAciAccept, WmsConstant.ACI_ACCEPT_STATUS.N.getValue())
+                .set(AmsTask::getRemark, "下发超时1分钟未接收自动取消, 取消原因为:" + remark)) > 0;
+    }
+
+    public Integer getAmsTaskState(AmsTask amsTask){
+        Integer delete = ObjectUtil.isNotNull(amsTask.getIsDelete()) ? amsTask.getIsDelete() : null;
+        Integer aciAccept = ObjectUtil.isNotNull(amsTask.getAciAccept()) ? amsTask.getAciAccept() : null;
+        if ((CompareUtil.compare(new BigDecimal(aciAccept), BigDecimal.ZERO) == 0 &&
+                CompareUtil.compare(new BigDecimal(delete), BigDecimal.ZERO) == 0) || ObjectUtil.isNull(amsTask.getAciIndex()) || ObjectUtil.isNull(amsTask.getEvent())){
+            return WmsConstant.TASK_STS.TASK0.getValue();
+        }
+        return WmsConstant.TASK_STS.getValueByKey(amsTask.getEvent());
+    }
+
+    public AmsTask getAmsTaskById(String id){
+        return getAmsTaskList(null, Lists.newArrayList(id), null).stream().findFirst().orElseGet(() -> null);
+    }
+
+    @Override
+    public AmsTask getAmsTaskByAciIndex(Integer aciIndex){
+        return getAmsTaskList(null, null, aciIndex).stream().findFirst().orElseGet(() -> null);
+    }
+
+    public List<AmsTask> getAmsTaskList(List<String> businessNoList, List<String> idList, Integer aciIndex){
+        List<AmsTask> amsTaskList = amsTaskMapper.selectList(Wrappers.<AmsTask>lambdaQuery()
+                .in(CollectionUtil.isNotEmpty(businessNoList), AmsTask::getTaskNo, businessNoList)
+                .in(CollectionUtil.isNotEmpty(idList), AmsTask::getId, idList)
+                .eq(ObjectUtil.isNotNull(aciIndex), AmsTask::getAciIndex, aciIndex));
+        return amsTaskList;
+    }
+}

+ 17 - 13
warewms-ams/src/main/java/com/warewms/agv/ndc/service/impl/SocketBufferServiceImpl.java

@@ -1,15 +1,17 @@
-package com.warewms.agv.ndc.service.impl;
+package com.warewms.ams.ndc.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSON;
-import com.warewms.agv.ndc.common.Aci;
-import com.warewms.agv.ndc.common.ByteUtil;
-import com.warewms.agv.ndc.domain.AmsNdcEvent;
-import com.warewms.agv.ndc.domain.AmsTask;
-import com.warewms.agv.ndc.entity.Order;
-import com.warewms.agv.ndc.service.IAmsNdcEventService;
-import com.warewms.agv.ndc.service.IAmsTaskService;
-import com.warewms.agv.ndc.service.SocketBufferService;
-import com.warewms.agv.ndc.service.StatusUpdateService;
+import com.warewms.ams.ndc.common.Aci;
+import com.warewms.ams.ndc.common.ByteUtil;
+import com.warewms.ams.ndc.domain.AmsNdcEvent;
+import com.warewms.ams.ndc.domain.AmsTask;
+import com.warewms.ams.ndc.entity.Order;
+import com.warewms.ams.ndc.service.IAmsNdcEventService;
+import com.warewms.ams.ndc.service.IAmsTaskService;
+import com.warewms.ams.ndc.service.SocketBufferService;
+import com.warewms.ams.ndc.service.StatusUpdateService;
+import com.warewms.common.constant.WmsConstant;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -122,8 +124,7 @@ public class SocketBufferServiceImpl implements SocketBufferService {
         event.setType(parameters[13] & 0xff);
         event.setEcode((int) ByteUtil.getShort(parameters, 16));
         AmsNdcEvent eventBean = amsNdcEventService.selectAmsNdcEventByModel(event);
-        if (eventBean != null) {
-
+        if (ObjectUtil.isNull(eventBean)) return;
             event = eventBean;
             event.setLocationindex(ByteUtil.getInt(parameters, 26));
             event.setLp1("" + ByteUtil.getInt(parameters, 34));
@@ -131,6 +132,9 @@ public class SocketBufferServiceImpl implements SocketBufferService {
             event.setLp3("" + ByteUtil.getInt(parameters, 42));
             event.setLp4("" + ByteUtil.getInt(parameters, 46));
             int eventId = event.getId();
+            if (ObjectUtil.isNotNull(WmsConstant.TASK_STS.getValueByKey(eventId))){
+                statusUpdateService.taskStateResponse(WmsConstant.TASK_STS.getValueByKey(eventId), icarNo, Integer.parseInt(event.getLp1()));
+            }
             AmsTask taskBean = new AmsTask();
 
 //            log.info("----event:" + eventId);
@@ -296,7 +300,7 @@ public class SocketBufferServiceImpl implements SocketBufferService {
                     log.info("----event:" + eventId);
                     break;
             }
-        }
+
     }
 
     @Override

+ 63 - 0
warewms-ams/src/main/java/com/warewms/ams/ndc/service/impl/StatusUpdateServiceImpl.java

@@ -0,0 +1,63 @@
+package com.warewms.ams.ndc.service.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.warewms.ams.ndc.domain.AmsTask;
+import com.warewms.ams.ndc.dto.AmsTaskStateFeedbackDTO;
+import com.warewms.ams.ndc.service.IAmsTaskService;
+import com.warewms.ams.ndc.service.StatusUpdateService;
+import com.warewms.common.constant.WmsConstant;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.retry.annotation.Backoff;
+import org.springframework.retry.annotation.Retryable;
+import org.springframework.stereotype.Component;
+import org.springframework.web.client.RestClientException;
+import org.springframework.web.client.RestTemplate;
+
+@Slf4j
+@Component
+public class StatusUpdateServiceImpl implements StatusUpdateService {
+
+    @Autowired
+    private IAmsTaskService amsTaskService;
+
+    private RestTemplate restTemplate = new RestTemplate();
+
+    private final String WMS_URL = "localhost:28080/v2/api-docs/erp/execResult";
+
+    @Retryable(
+            maxAttempts = 4,
+            backoff = @Backoff(delay = 2000, multiplier = 2)
+    )
+    @Override
+    public void taskStateResponse(Integer state, Integer carNo, Integer aciIndex){
+        AmsTask amsTask = amsTaskService.getAmsTaskByAciIndex(aciIndex);
+        if (ObjectUtil.isNull(amsTask)) return;
+        AmsTaskStateFeedbackDTO amsTaskStateFeedbackDTO = new AmsTaskStateFeedbackDTO();
+        amsTaskStateFeedbackDTO.setState(state);
+        amsTaskStateFeedbackDTO.setTaskNo(String.valueOf(amsTask.getId()));
+        amsTaskStateFeedbackDTO.setBusinessNo(amsTask.getTaskNo());
+        amsTaskStateFeedbackDTO.setCarNo(carNo);
+        Object response = null;
+        try {
+            response = restTemplate.postForObject(WMS_URL, amsTaskStateFeedbackDTO, Object.class);
+        } catch (RestClientException e) {
+            log.error("AMS send request to WMS is on error, pause is :{}", e.getMessage());
+        }
+        log.info("wms response data is :{}", JSONObject.toJSONString(response));
+    }
+
+    @Override
+    public void updateStatus(Long id, Integer carNo) {
+        AmsTask amsTask = amsTaskService.selectAmsTaskById(id);
+        if (ObjectUtil.isNull(amsTask)) return;
+
+        log.info("任务回调-------------------------》" + amsTask.getTaskNo());
+        if (amsTask.getAciIndex() == null) {
+            log.error("没有index,未下发的任务");
+        }
+        amsTask.setSystemStatus(WmsConstant.TASK_STS.getValueByKey(amsTask.getEvent()));
+        amsTaskService.updateAmsTask(amsTask);
+    }
+}

+ 2 - 2
warewms-ams/src/main/java/com/warewms/agv/ndc/thread/AciServiceThread.java

@@ -1,6 +1,6 @@
-package com.warewms.agv.ndc.thread;
+package com.warewms.ams.ndc.thread;
 
-import com.warewms.agv.ndc.AciService;
+import com.warewms.ams.ndc.AciService;
 import lombok.extern.slf4j.Slf4j;
 
 @Slf4j

+ 1 - 1
warewms-ams/src/main/java/com/warewms/nio/NioBaseServer.java

@@ -1,4 +1,4 @@
-package com.warewms.nio;
+package com.warewms.ams.nio;
 
 import cn.hutool.core.util.NumberUtil;
 import lombok.extern.slf4j.Slf4j;

+ 11 - 8
warewms-ams/src/main/java/com/warewms/thread/ClientHandler.java

@@ -1,16 +1,16 @@
-package com.warewms.thread;
+package com.warewms.ams.thread;
 
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
-import com.warewms.agv.ndc.common.ByteUtil;
-import com.warewms.agv.ndc.common.CRC16Util;
-import com.warewms.agv.ndc.domain.AmsTask;
-import com.warewms.agv.ndc.service.IAmsTaskService;
+import com.warewms.ams.ndc.common.ByteUtil;
+import com.warewms.ams.ndc.common.CRC16Util;
+import com.warewms.ams.ndc.domain.AmsTask;
+import com.warewms.ams.ndc.service.IAmsTaskService;
 import com.warewms.common.constant.WmsConstant;
 import com.warewms.common.utils.redis.RedisCache;
+import com.warewms.common.utils.spring.SpringUtils;
 import com.warewms.system.entity.SysConfig;
 import com.warewms.system.service.ISysConfigService;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -34,15 +34,18 @@ public class ClientHandler {
     private final Socket socket;
     private ISysConfigService configService;
 
-    @Autowired
     private IAmsTaskService amsTaskService;
 
-    @Autowired
     private RedisCache redisCache;
 
+
+
     public ClientHandler(Socket socket, ISysConfigService configService) {
         this.socket = socket;
         this.configService = configService;
+        this.redisCache = SpringUtils.getBean("redisCache");
+        this.amsTaskService = SpringUtils.getBean("amsTaskServiceImpl");
+
     }
 
     public void start() {

+ 116 - 0
warewms-ams/src/main/java/com/warewms/ams/thread/ServerGs.java

@@ -0,0 +1,116 @@
+package com.warewms.ams.thread;
+
+import com.warewms.ams.ndc.common.ByteUtil;
+import com.warewms.common.constant.WmsConstant;
+import com.warewms.common.utils.redis.RedisCache;
+import com.warewms.common.utils.spring.SpringUtils;
+import com.warewms.system.entity.SysConfig;
+import com.warewms.system.service.ISysConfigService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.util.List;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Server监听端口主服务
+ *
+ * @Author: five
+ * @Date: 2019/12/23
+ */
+@Slf4j
+public class ServerGs {
+
+    private ServerSocket serverSocket;
+
+    private ISysConfigService configService;
+
+    private ScheduledExecutorService executor;
+
+    private RedisCache redisCache;
+
+    /**
+     * 监听端口
+     *
+     * @param port
+     */
+    public ServerGs(int port, ISysConfigService configService) {
+        try {
+            this.serverSocket = new ServerSocket(port);
+            this.configService = configService;
+            this.executor = SpringUtils.getBean("scheduledExecutorService");
+            this.redisCache = SpringUtils.getBean("redisCache");
+            System.out.println("光栅服务端启动成功,端口:" + port);
+        } catch (IOException e) {
+            System.out.println("光栅服务端启动失败");
+            if (serverSocket != null) {
+                try {
+                    serverSocket.close();
+                } catch (IOException ex) {
+                    ex.printStackTrace();
+                }
+            }
+        }
+    }
+
+    /**
+     * 线程模式,防止注释
+     */
+    public void start() {
+        new Thread(new Runnable() {
+            @Override
+            public void run() {
+                doStart();
+            }
+        }).start();
+    }
+
+    /**
+     * 启动客户端接受
+     */
+    private void doStart() {
+        while (true) {
+            try {
+                Socket client = serverSocket.accept();
+                log.info("----->有光栅客户端新连接:ip," + client.getInetAddress() + ",p:" + client.getPort());
+                executor.scheduleWithFixedDelay(() -> {
+                    OutputStream os = null;
+                    try {
+                        os = client.getOutputStream();
+
+                        //根据参数判定哪个光栅进行超高检测  > condifvalue为Y开启光栅检测,N关闭光栅检测
+                        SysConfig config = new SysConfig();
+                        config.setConfigName("光栅");
+                        config.setConfigValue("Y");
+                        List<SysConfig> list = configService.selectConfigList(config);
+                        for (SysConfig sysConfig : list) {
+                            String detectionSignal = WmsConstant.GRATING_DETECTION_SIGNAL.getValueByKey(sysConfig.getConfigKey());
+                            if (StringUtils.isBlank(detectionSignal)) continue;
+                            os.write(ByteUtil.hexString2ByteArray(detectionSignal));
+                            os.flush();
+                            Thread.sleep(200);
+                        }
+                    } catch (Exception e) {
+                        log.error("光栅客户端断开:" + e.getMessage());
+                        //关闭连接
+                        try {
+                            os.close();
+                            client.close();
+                        } catch (Exception ex) {
+                            ex.printStackTrace();
+                        }
+                        throw new RuntimeException("光栅客户端断开,释放线程资源:" + e.getMessage());
+                    }
+                }, 1, 1, TimeUnit.SECONDS);
+                new ClientHandler(client, configService).start();
+            } catch (IOException e) {
+                System.out.println("光栅服务端异常:" + e);
+            }
+        }
+    }
+}

+ 3 - 3
warewms-ams/src/main/java/com/warewms/wcs/controller/WcsController.java

@@ -1,7 +1,7 @@
-package com.warewms.wcs.controller;
+package com.warewms.ams.wcs.controller;
 
-import com.warewms.wcs.form.BtnOpForm;
-import com.warewms.wcs.service.IWcsService;
+import com.warewms.ams.wcs.form.BtnOpForm;
+import com.warewms.ams.wcs.service.IWcsService;
 import com.warewms.common.base.domain.AjaxResult;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;

+ 1 - 1
warewms-ams/src/main/java/com/warewms/wcs/form/BtnOpForm.java

@@ -1,4 +1,4 @@
-package com.warewms.wcs.form;
+package com.warewms.ams.wcs.form;
 
 import lombok.Data;
 

+ 2 - 2
warewms-ams/src/main/java/com/warewms/wcs/service/IWcsService.java

@@ -1,6 +1,6 @@
-package com.warewms.wcs.service;
+package com.warewms.ams.wcs.service;
 
-import com.warewms.wcs.form.BtnOpForm;
+import com.warewms.ams.wcs.form.BtnOpForm;
 
 /**
  * 出库单头Service接口

+ 34 - 11
warewms-ams/src/main/java/com/warewms/wcs/service/impl/WcsServiceImpl.java

@@ -1,13 +1,13 @@
-package com.warewms.wcs.service.impl;
+package com.warewms.ams.wcs.service.impl;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
-import com.warewms.agv.ndc.service.IAmsTaskService;
-import com.warewms.agv.ndc.common.ByteUtil;
-import com.warewms.agv.ndc.common.CRC16Util;
-import com.warewms.agv.ndc.domain.AmsTask;
-import com.warewms.wcs.form.BtnOpForm;
-import com.warewms.wcs.service.IWcsService;
+import com.warewms.ams.ndc.common.ByteUtil;
+import com.warewms.ams.ndc.common.CRC16Util;
+import com.warewms.ams.ndc.domain.AmsTask;
+import com.warewms.ams.ndc.service.IAmsTaskService;
+import com.warewms.ams.wcs.form.BtnOpForm;
+import com.warewms.ams.wcs.service.IWcsService;
 import com.warewms.common.constant.WmsConstant;
 import com.warewms.common.utils.redis.RedisCache;
 import lombok.extern.slf4j.Slf4j;
@@ -45,17 +45,27 @@ public class WcsServiceImpl implements IWcsService {
     private final static String CLOSE = "CLOSE";
 
     /**
-     * 按钮盒对应出库区域ip
+     * 按钮盒对应出库区域ip(旧)
      */
     private final static String EXIT_AREA_IP = "192.168.77.105";
 
     /**
-     * 按钮盒对应入库区域ip
+     * 按钮盒对应出库区域ip
+     */
+    private final static String NEW_EXIT_AREA_IP = "192.168.77.108";
+
+    /**
+     * 按钮盒对应入库区域ip(旧)
      */
     private final static String STORAGE_AREA_IP = "192.168.77.104";
 
     /**
-     * 按钮盒控制
+     * 按钮盒对应入库区域ip
+     */
+    private final static String NEW_STORAGE_AREA_IP = "192.168.77.107";
+
+    /**
+     * 按钮盒控制对应NDC任务类型
      */
     private static final Map<String, String> buttonBoxControlMap= new HashMap<String, String>(){
         {
@@ -65,12 +75,24 @@ public class WcsServiceImpl implements IWcsService {
     };
 
     /**
-     * 按钮盒区域对应id
+     * 按钮盒解除管控对应光栅缓存key
+     */
+    private static final Map<String, String> buttonBoxGratingRedisKeyMap= new HashMap<String, String>(){
+        {
+            put(WmsConstant.AREA_INFO.STORAGE_AREA.getValue(), WmsConstant.GRATING_RELIEVE_CMD.STORAGE_GRATING.getKey());
+            put(WmsConstant.AREA_INFO.EXIT_AREA.getValue(), WmsConstant.GRATING_RELIEVE_CMD.EXIT_GRATING.getKey());
+        }
+    };
+
+    /**
+     * 按钮盒区域对应NDCid
      */
     private static final Map<String, String> buttonBoxAreaMap= new HashMap<String, String>(){
         {
             put(EXIT_AREA_IP, WmsConstant.AREA_INFO.EXIT_AREA.getValue());
             put(STORAGE_AREA_IP, WmsConstant.AREA_INFO.STORAGE_AREA.getValue());
+            put(NEW_EXIT_AREA_IP, WmsConstant.AREA_INFO.EXIT_AREA.getValue());
+            put(NEW_STORAGE_AREA_IP, WmsConstant.AREA_INFO.STORAGE_AREA.getValue());
         }
     };
 
@@ -84,6 +106,7 @@ public class WcsServiceImpl implements IWcsService {
         if (WmsConstant.TASK_BUSINESS_TYPE.TASK_75.getValue().equals(businessType)
                 && redisCache.checkIsExist(WmsConstant.AREA_INFO.getKeyByValue(op))) {
             insertAmsTask(op, WmsConstant.TASK_BUSINESS_TYPE.TASK_77.getValue());
+            redisCache.setCacheObject(buttonBoxGratingRedisKeyMap.get(op), Boolean.TRUE, 3, TimeUnit.SECONDS);
             redisCache.deleteObject(WmsConstant.AREA_INFO.getKeyByValue(op));
         }
         insertAmsTask(op, businessType);

+ 0 - 166
warewms-ams/src/main/java/com/warewms/business/controller/BusinessController.java

@@ -1,166 +0,0 @@
-package com.warewms.business.controller;
-
-import com.alibaba.fastjson.JSON;
-import com.warewms.business.form.LineCallForm;
-import com.warewms.business.form.LineCallListFrom;
-import com.warewms.business.service.IBusinessService;
-import com.warewms.business.service.ILineCallService;
-import com.warewms.business.vo.LineCallVO;
-import com.warewms.common.annotation.Log;
-import com.warewms.common.base.domain.AjaxResult;
-import com.warewms.common.constant.WmsConstant;
-import com.warewms.common.enums.BusinessType;
-import com.warewms.common.utils.string.StringUtils;
-import com.warewms.wms.asn.form.PaForm;
-import com.warewms.wms.base.entity.BaseLocationInfo;
-import com.warewms.wms.base.service.IBaseLocationInfoService;
-import com.warewms.wms.flow.service.IFlowConfigHeaderService;
-import com.warewms.wms.flow.vo.FlowConfigHeaderVO;
-import com.warewms.wms.inv.domain.form.InvLotLocIdMoveForm;
-import com.warewms.wms.order.form.CheckOutForm;
-import com.warewms.wms.order.form.CheckOutInfoForm;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * Created by IntelliJ IDEA.
- * User: andy.qu
- * Date: 2022/10/28
- * Description:
- */
-@Slf4j
-@RestController
-@RequestMapping("/ams/business")
-public class BusinessController {
-
-    @Autowired
-    private IBusinessService businessService;
-    @Autowired
-    private IFlowConfigHeaderService flowConfigHeaderService;
-    @Autowired
-    private IBaseLocationInfoService baseLocationInfoService;
-    @Autowired
-    private ILineCallService lineCallService;
-
-    /**
-     * 物料拉动(出库)
-     *
-     * @param checkOutForm
-     * @return
-     */
-    @PostMapping("/docOrder/checkOut")
-    public AjaxResult checkOut(@RequestBody CheckOutForm checkOutForm) {
-        if (checkOutForm.getCheckOutInfoFormList().size() == 0) {
-            return AjaxResult.error("无任务!");
-        }
-        for (CheckOutInfoForm checkOutInfoForm : checkOutForm.getCheckOutInfoFormList()) {
-            businessService.doCheckout(checkOutInfoForm);
-        }
-        return AjaxResult.success("任务下发成功!");
-    }
-
-    /**
-     * 物料拉动通用(入库,回库)
-     * flowId:入库5,回库9
-     *
-     * @param lineCallForm
-     * @return
-     */
-//    @Transactional
-    @PostMapping("/lineCall/pulling")
-    public AjaxResult pulling(@RequestBody LineCallForm lineCallForm) {
-        //查询所属流程
-        FlowConfigHeaderVO flowConfigHeaderVO = flowConfigHeaderService.selectFlowConfigHeaderById(lineCallForm.getFlowId());
-        if (flowConfigHeaderVO == null) {
-            log.info("-----------指令查询不到对应的流程:" + JSON.toJSONString(lineCallForm));
-            return AjaxResult.error("指令查询不到对应的流程");
-        }
-
-        LineCallListFrom lform = lineCallForm.getLineCallList().get(0);
-        // 校验
-        BaseLocationInfo baseLocationInfoFrom = baseLocationInfoService.selectBaseLocationInfoByIdOrNo(lform.getLocationFrom()
-                , WmsConstant.WAREHOUSE_ID);
-        if (baseLocationInfoFrom == null) {
-            return AjaxResult.error("起始库位不存在!");
-        }
-        if (!baseLocationInfoFrom.getStockStatus().equals(WmsConstant.STOCK_STATUS.STOCK00.getValue())) {
-            return AjaxResult.error("起始库位不为空闲状态!");
-        }
-        if (!baseLocationInfoFrom.getZoneId().equals(WmsConstant.ZONE_TYPE.ZONE_VIRTUAL.getValue())
-                && !baseLocationInfoFrom.getIsEmpty().equals(WmsConstant.IS_YES.Y.name())) {
-            return AjaxResult.error("起始库位已经有货!");
-        }
-        if (StringUtils.isNotEmpty(lform.getLocationTo())) {
-            BaseLocationInfo baseLocationInfoTo = baseLocationInfoService.selectBaseLocationInfoByIdOrNo(lform.getLocationTo()
-                    , WmsConstant.WAREHOUSE_ID);
-            if (baseLocationInfoTo == null) {
-                return AjaxResult.error("目标库位不存在!");
-            }
-            if (!baseLocationInfoTo.getZoneId().equals(WmsConstant.ZONE_TYPE.ZONE_INV.getValue())) {
-                return AjaxResult.error("目标库位需要为仓储区!");
-            }
-        }
-        // 光栅检测
-        boolean superHighMark = false;
-
-        //上架+下发任务
-        PaForm paForm = new PaForm();
-        paForm.setPalletNo(lform.getPalletNo());
-        if (lineCallForm.getFlowId().intValue() == 5) {
-            paForm.setLocationFrom(WmsConstant.LOC_STAGE_CACHE.toString());
-        } else {
-            paForm.setLocationFrom(WmsConstant.LOC_SORTATION_CACHE.toString());
-        }
-        paForm.setLocationTo(lform.getLocationFrom());
-        paForm.setFlowId(lineCallForm.getFlowId().intValue());
-        paForm.setIsFull(lform.getIsFull());
-        return businessService.doPaAndTask(paForm, flowConfigHeaderVO, lform, lineCallForm, superHighMark);
-    }
-
-    /**
-     * 库存移动
-     */
-    @Log(title = "PDA库位库存移动", businessType = BusinessType.UPDATE)
-    @PostMapping("/move")
-    public AjaxResult move(@RequestBody InvLotLocIdMoveForm invLotLocIdMoveForm) {
-        invLotLocIdMoveForm.setUpdateBy(invLotLocIdMoveForm.getUpdateBy());
-        invLotLocIdMoveForm.setWarehouseId(WmsConstant.WAREHOUSE_ID);
-
-        if (StringUtils.isEmpty(invLotLocIdMoveForm.getLocationFrom()) && StringUtils.isEmpty(invLotLocIdMoveForm.getPalletNo())) {
-            return AjaxResult.error("起始库位不能为空");
-        }
-
-        if (StringUtils.isEmpty(invLotLocIdMoveForm.getLocationTo())) {
-            return AjaxResult.error("目标库位不能为空");
-        }
-
-        if (!StringUtils.isEmpty(invLotLocIdMoveForm.getLocationFrom())) {
-            // 判断是否叫车
-            if (invLotLocIdMoveForm != null
-                    && invLotLocIdMoveForm.getIsCallCar().equals(WmsConstant.IS_YES.Y.name())) {
-                return businessService.move(invLotLocIdMoveForm);
-            } else {
-                return businessService.moveDirect(invLotLocIdMoveForm);
-            }
-        } else {
-            return businessService.movePalletTo(invLotLocIdMoveForm.getPalletNo(), invLotLocIdMoveForm.getLocationTo(), invLotLocIdMoveForm.getIsCallCar(), invLotLocIdMoveForm.getReason(), invLotLocIdMoveForm.getWarehouseId(), invLotLocIdMoveForm.getUpdateBy());
-        }
-    }
-
-    /**
-     * 获取流程明细
-     *
-     * @param id
-     * @return
-     */
-    @GetMapping("/lineCall/choseFlow/{id}")
-    public AjaxResult choseFlow(@PathVariable("id") Long id) {
-        LineCallVO lineCallVO = lineCallService.selectLineCall(id, 1L);
-        if (lineCallVO == null) {
-            return AjaxResult.error("查询不到对应的流程");
-        }
-        return AjaxResult.success(lineCallVO);
-    }
-
-}

+ 0 - 17
warewms-ams/src/main/java/com/warewms/business/domain/FilterLockInvLocationDTO.java

@@ -1,17 +0,0 @@
-package com.warewms.business.domain;
-
-import com.warewms.config.domain.dto.OutWarehouseDTO;
-import com.warewms.wms.base.entity.BaseLocationInfo;
-import lombok.Data;
-
-/**
- * Created by IntelliJ IDEA.
- * User: andy.qu
- * Date: 2022/9/30
- * Description:
- */
-@Data
-public class FilterLockInvLocationDTO {
-    private BaseLocationInfo locationInfo;
-    private OutWarehouseDTO outWarehouseDTO;
-}

+ 0 - 39
warewms-ams/src/main/java/com/warewms/business/domain/LocationSortComparator.java

@@ -1,39 +0,0 @@
-package com.warewms.business.domain;
-
-import org.apache.commons.lang3.StringUtils;
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Comparator;
-import java.util.Date;
-
-/**
- * Created by IntelliJ IDEA.
- * User: andy.qu
- * Date: 2022/3/21
- */
-public class LocationSortComparator implements Comparator<LocationSortDTO> {
-
-    @Override
-    public int compare(LocationSortDTO o1, LocationSortDTO o2) {
-        SimpleDateFormat sdft = new SimpleDateFormat("yyyy-MM-dd");
-        int mark = 1;
-        try {
-            if (!StringUtils.isEmpty(o1.getLotatt04()) && !StringUtils.isEmpty(o2.getLotatt04())) {
-                Date date1 = sdft.parse(o1.getLotatt04());
-                Date date2 = sdft.parse(o2.getLotatt04());
-                if (date1.getTime() < date2.getTime()) {
-                    mark = -1;//调整顺序,-1为不需要调整顺序;
-                }
-                if (date1.equals(date2)) {
-                    mark = 0;
-                }
-            } else {
-                return -1;
-            }
-        } catch (ParseException e) {
-            e.printStackTrace();
-        }
-        return mark;
-    }
-}

+ 0 - 42
warewms-ams/src/main/java/com/warewms/business/domain/LocationSortDTO.java

@@ -1,42 +0,0 @@
-package com.warewms.business.domain;
-
-
-/**
- * Created by IntelliJ IDEA.
- * User: andy.qu
- * Date: 2022/3/21
- */
-public class LocationSortDTO {
-
-    /**
-     * 列号
-     */
-    private String colNo;
-    //有效期
-    private String lotatt04;
-
-    public LocationSortDTO() {
-    }
-
-    public LocationSortDTO(String colNo, String lotatt04) {
-        this.colNo = colNo;
-        this.lotatt04 = lotatt04;
-    }
-
-    public String getColNo() {
-        return colNo;
-    }
-
-    public void setColNo(String colNo) {
-        this.colNo = colNo;
-    }
-
-    public String getLotatt04() {
-        return lotatt04;
-    }
-
-    public void setLotatt04(String lotatt04) {
-        this.lotatt04 = lotatt04;
-    }
-
-}

+ 0 - 30
warewms-ams/src/main/java/com/warewms/business/form/LineCallDetailsForm.java

@@ -1,30 +0,0 @@
-package com.warewms.business.form;
-
-/**
- * Created by IntelliJ IDEA.
- * User: andy.qu
- * Date: 2022/3/9
- */
-public class LineCallDetailsForm {
-
-    //批次属性id
-    private String lotattId;
-    //批次属性值
-    private String lotattValue;
-
-    public String getLotattId() {
-        return lotattId;
-    }
-
-    public void setLotattId(String lotattId) {
-        this.lotattId = lotattId;
-    }
-
-    public String getLotattValue() {
-        return lotattValue;
-    }
-
-    public void setLotattValue(String lotattValue) {
-        this.lotattValue = lotattValue;
-    }
-}

+ 0 - 30
warewms-ams/src/main/java/com/warewms/business/form/LineCallForm.java

@@ -1,30 +0,0 @@
-package com.warewms.business.form;
-
-import java.io.Serializable;
-import java.util.List;
-
-/**
- * Created by IntelliJ IDEA.
- * User: andy.qu
- * Date: 2022/3/9
- */
-public class LineCallForm implements Serializable {
-    private Long flowId;
-    private List<LineCallListFrom> lineCallList;
-
-    public Long getFlowId() {
-        return flowId;
-    }
-
-    public void setFlowId(Long flowId) {
-        this.flowId = flowId;
-    }
-
-    public List<LineCallListFrom> getLineCallList() {
-        return lineCallList;
-    }
-
-    public void setLineCallList(List<LineCallListFrom> lineCallList) {
-        this.lineCallList = lineCallList;
-    }
-}

+ 0 - 107
warewms-ams/src/main/java/com/warewms/business/form/LineCallListFrom.java

@@ -1,107 +0,0 @@
-package com.warewms.business.form;
-
-import java.io.Serializable;
-import java.util.List;
-
-public class LineCallListFrom implements Serializable {
-    //编号
-    private Long id;
-    //物料
-    private String sku;
-    //数量
-    private Double qty;
-    //重量
-    private Double weight;
-    //供应商
-    private String supplier;
-    //起始(库位或者区域)
-    private String locationFrom;
-    //目标(库位或者区域)
-    private String locationTo;
-    //托盘号
-    private String palletNo;
-    //是否满托
-    private String isFull;
-    //批次属性
-    private List<LineCallDetailsForm> lineCallDetailsFormList;
-
-    public String getSku() {
-        return sku;
-    }
-
-    public void setSku(String sku) {
-        this.sku = sku;
-    }
-
-    public Double getQty() {
-        return qty;
-    }
-
-    public void setQty(Double qty) {
-        this.qty = qty;
-    }
-
-    public Double getWeight() {
-        return weight;
-    }
-
-    public void setWeight(Double weight) {
-        this.weight = weight;
-    }
-
-    public String getSupplier() {
-        return supplier;
-    }
-
-    public void setSupplier(String supplier) {
-        this.supplier = supplier;
-    }
-
-    public String getLocationFrom() {
-        return locationFrom;
-    }
-
-    public void setLocationFrom(String locationFrom) {
-        this.locationFrom = locationFrom;
-    }
-
-    public String getLocationTo() {
-        return locationTo;
-    }
-
-    public void setLocationTo(String locationTo) {
-        this.locationTo = locationTo;
-    }
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getPalletNo() {
-        return palletNo;
-    }
-
-    public void setPalletNo(String palletNo) {
-        this.palletNo = palletNo;
-    }
-
-    public String getIsFull() {
-        return isFull;
-    }
-
-    public void setIsFull(String isFull) {
-        this.isFull = isFull;
-    }
-
-    public List<LineCallDetailsForm> getLineCallDetailsFormList() {
-        return lineCallDetailsFormList;
-    }
-
-    public void setLineCallDetailsFormList(List<LineCallDetailsForm> lineCallDetailsFormList) {
-        this.lineCallDetailsFormList = lineCallDetailsFormList;
-    }
-}

+ 0 - 222
warewms-ams/src/main/java/com/warewms/business/service/IBusinessService.java

@@ -1,222 +0,0 @@
-package com.warewms.business.service;
-
-import com.warewms.ams.config.domain.dto.*;
-import com.warewms.business.form.LineCallForm;
-import com.warewms.business.form.LineCallListFrom;
-import com.warewms.common.base.domain.AjaxResult;
-import com.warewms.config.domain.dto.*;
-import com.warewms.wms.asn.form.PaForm;
-import com.warewms.wms.base.entity.BaseLocationInfo;
-import com.warewms.wms.flow.domain.AsnSoStrategy;
-import com.warewms.wms.flow.vo.FlowConfigHeaderVO;
-import com.warewms.wms.inv.domain.form.InvLotLocIdMoveForm;
-import com.warewms.wms.order.form.CheckOutInfoForm;
-import com.warewms.wms.task.domain.WcsTask;
-
-import java.util.List;
-
-/**
- * AMS业务逻辑
- * Created by IntelliJ IDEA.
- * User: andy.qu
- * Date: 2022/2/27
- */
-public interface IBusinessService {
-
-
-    /**
-     * AGV呼叫业务
-     * @param flowConfigHeaderVO
-     * @param lform
-     * @param lineCallForm
-     * @param asnNo
-     * @param orderRules
-     * @param superHighMark
-     * @return
-     */
-    AjaxResult agvCall(FlowConfigHeaderVO flowConfigHeaderVO, LineCallListFrom lform, LineCallForm lineCallForm
-            , String asnNo, int orderRules, boolean superHighMark);
-
-
-    /**
-     * AGV呼叫业务
-     *
-     * @param agvCallItem
-     * @param flowId
-     * @return
-     */
-    AjaxResult agvCall(AgvCallItem agvCallItem, Long flowId);
-
-    /**
-     * AGV呼叫业务
-     *
-     * @param flowConfigHeaderVO
-     * @param agvCallDTO
-     * @return
-     */
-    AjaxResult agvCall(FlowConfigHeaderVO flowConfigHeaderVO, AgvCallDTO agvCallDTO);
-
-    /**
-     * AGV呼叫业务
-     *
-     * @param flowConfigHeaderVO
-     * @param agvCallDTOList
-     * @return
-     */
-    AjaxResult agvCall(FlowConfigHeaderVO flowConfigHeaderVO, List<AgvCallDTO> agvCallDTOList);
-
-
-    /**
-     * 入库库位分配
-     *
-     * @param inWarehouseDTO
-     * @return
-     */
-    BaseLocationInfo inLocationAllocation(InWarehouseDTO inWarehouseDTO, Long token);
-
-    /**
-     * 出库库存分配
-     *
-     * @return
-     */
-    BaseLocationInfo outInvAllocation(OutWarehouseDTO outWarehouseDTO, Long token);
-
-    /**
-     * 区域多库位分配
-     *
-     * @param locationInfoList 库位列表
-     * @param type             入库还是出库
-     * @param asnSoStrategy    策略对象
-     * @return
-     */
-    BaseLocationInfo zoneLocationAllocation(List<BaseLocationInfo> locationInfoList, String locationType
-            , String type, AsnSoStrategy asnSoStrategy, AgvCallItemDTO agvCallDTO, Long token);
-
-    BaseLocationInfo zoneLocationAllocation(BaseLocationInfo locationFrom, List<BaseLocationInfo> locationInfoList, String locationType
-            , String type, AsnSoStrategy asnSoStrategy, AgvCallItemDTO agvCallDTO, Long token);
-
-
-    /**
-     * 上架和下发任务
-     *
-     * @param paForm
-     * @return
-     */
-    AjaxResult doPaAndTask(PaForm paForm, FlowConfigHeaderVO flowConfigHeaderVO, LineCallListFrom lform, LineCallForm lineCallForm
-            , boolean superHighMark);
-
-    /**
-     * 库存移动
-     *
-     * @return
-     */
-    AjaxResult move(InvLotLocIdMoveForm invLotLocIdMoveForm);
-
-    /**
-     * 库存移动(直接转移库存)
-     *
-     * @param invLotLocIdMoveForm
-     * @return
-     */
-    AjaxResult moveDirect(InvLotLocIdMoveForm invLotLocIdMoveForm);
-
-    /**
-     * 库存移动(根据托盘
-     *
-     * @param palletNo
-     * @param locationTo
-     * @param isCallCar
-     * @param reason
-     * @param warehouseId
-     * @param updateBy
-     * @return
-     */
-    AjaxResult movePalletTo(String palletNo, String locationTo, String isCallCar, String reason
-            , Long warehouseId, String updateBy);
-
-    /**
-     * 根据起始库位判断目标库位是否可以放置
-     *
-     * @param locationFrom
-     * @param locationTo
-     * @param isSuperHigh 起始库位货物是否超高1600
-     * @return
-     */
-    Boolean checkLocCanPut(BaseLocationInfo locationFrom, BaseLocationInfo locationTo,boolean isSuperHigh);
-
-
-    /***
-     *  根据id转换库位列表(如果是库位id直接返回库位如果是区域id则返回相应的库位)
-     * @param locationNoOrZoneId 库位id或者区域id
-     * @param warehouseId 仓库id
-     * @return
-     */
-    List<BaseLocationInfo> convertLocation(String locationNoOrZoneId, Long warehouseId, String orderBy);
-
-    /**
-     * 生成任务
-     *
-     * @param flowConfigHeaderVO
-     * @return
-     */
-    List<WcsTask> genTask(BaseLocationInfo locationFrom, BaseLocationInfo locationTo, FlowConfigHeaderVO flowConfigHeaderVO, AgvCallDTO agvCallDTO, Long token);
-
-    /**
-     * 新增任务
-     *
-     * @param wcsTask
-     */
-    AjaxResult addTask(WcsTask wcsTask);
-
-    /**
-     * 新增任务列表
-     *
-     * @param wcsTaskList
-     * @return
-     */
-    AjaxResult addTaskList(List<WcsTask> wcsTaskList);
-
-    /**
-     * 下发任务
-     *
-     * @param wcsTask
-     * @return
-     */
-    AjaxResult sendTask(WcsTask wcsTask);
-
-    /**
-     * 批量下发任务
-     *
-     * @param wcsTaskList
-     * @return
-     */
-    AjaxResult sendTaskList(List<WcsTask> wcsTaskList);
-
-    /**
-     * 自动下发任务
-     */
-    void autoSend();
-
-    /**
-     * 任务拆分
-     *
-     * @param wcsTask
-     * @return
-     */
-    boolean taskDispatchStack(WcsTask wcsTask);
-
-    /**
-     * 任务可执行判断
-     *
-     * @param wcsTask
-     * @return
-     */
-    boolean taskDispatchCheck(WcsTask wcsTask);
-
-    /**
-     * 物料拉动
-     *
-     * @return
-     */
-    AjaxResult doCheckout(CheckOutInfoForm check);
-}

+ 0 - 17
warewms-ams/src/main/java/com/warewms/business/service/ILineCallService.java

@@ -1,17 +0,0 @@
-package com.warewms.business.service;
-
-import com.warewms.business.vo.LineCallVO;
-
-/**
- * Created by IntelliJ IDEA.
- * User: andy.qu
- * Date: 2022/3/7
- */
-public interface ILineCallService {
-    /**
-     * 线边呼叫
-     * @param flowConfigId
-     * @return
-     */
-    LineCallVO selectLineCall(Long flowConfigId, Long warehouseId);
-}

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 1276
warewms-ams/src/main/java/com/warewms/business/service/impl/BusinessServiceImpl.java


+ 0 - 159
warewms-ams/src/main/java/com/warewms/business/service/impl/LineCallServiceImpl.java

@@ -1,159 +0,0 @@
-package com.warewms.business.service.impl;
-
-import com.warewms.business.service.ILineCallService;
-import com.warewms.business.vo.LineCallVO;
-import com.warewms.common.exception.ServiceException;
-import com.warewms.wms.base.entity.BaseLocationInfo;
-import com.warewms.wms.base.entity.BaseLocationZone;
-import com.warewms.wms.base.entity.BaseSku;
-import com.warewms.wms.base.service.IBaseLocationInfoService;
-import com.warewms.wms.base.service.IBaseLocationZoneService;
-import com.warewms.wms.base.service.IBaseSkuService;
-import com.warewms.wms.flow.mapper.FlowConfigHeaderMapper;
-import com.warewms.wms.flow.vo.FlowConfigHeaderVO;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Created by IntelliJ IDEA.
- * User: andy.qu
- * Date: 2022/3/7
- */
-@Service
-public class LineCallServiceImpl implements ILineCallService {
-
-    @Autowired
-    private FlowConfigHeaderMapper flowConfigHeaderMapper;
-    @Autowired
-    private IBaseLocationInfoService baseLocationInfoService;
-    @Autowired
-    private IBaseLocationZoneService baseLocationZoneService;
-    @Autowired
-    private IBaseSkuService baseSkuService;
-
-    @Override
-    public LineCallVO selectLineCall(Long flowConfigId, Long warehouseId) {
-        LineCallVO lineCallVO = new LineCallVO();
-        FlowConfigHeaderVO flowConfigHeaderVO = flowConfigHeaderMapper.selectFlowConfigHeaderById(flowConfigId);
-        if (flowConfigHeaderVO == null) {
-            throw new ServiceException(String.format("ID:%d的流程不存在", flowConfigId));
-        }
-        List<BaseSku> skuList;
-        if (!StringUtils.isEmpty(flowConfigHeaderVO.getSkuType())) {
-            List<String> arr = Arrays.asList(flowConfigHeaderVO.getSkuType().split(","));
-            skuList = baseSkuService.selectBaseSkuBySkuTypeList(arr);
-        } else {
-            skuList = baseSkuService.selectBaseSkuBySkuTypeList(null);
-        }
-
-        //返回前端的字典
-        List<BaseLocationInfo> locationFromList = new ArrayList<>();
-        List<BaseLocationInfo> locationToList = new ArrayList<>();
-        //把前端传递的参数转换成数组方便使用
-        String[] locationFromArr = flowConfigHeaderVO.getLocationFrom().split(",");
-        String[] locationToArr = flowConfigHeaderVO.getLocationTo().split(",");
-        //起始库位
-        for (int i = 0; i < locationFromArr.length; i++) {
-            String s = locationFromArr[i];
-            //判断是否为库位
-            boolean isLocation = baseLocationInfoService.checkIsLocation(s, warehouseId);
-            if (isLocation) {
-                BaseLocationInfo b = baseLocationInfoService.selectBaseLocationInfoById(Long.parseLong(s));
-                locationFromList.add(b);
-            } else {
-                //如果是区域把区域内的库位查询出来
-                BaseLocationZone zoneQuery = baseLocationZoneService.selectBaseLocationZoneByZoneId(Long.parseLong(s));
-
-                BaseLocationInfo locZone = new BaseLocationInfo();
-                locZone.setId(Long.parseLong(s));
-                locZone.setLocationNo("-"+zoneQuery.getZoneName());
-                locZone.setZoneId(Long.parseLong(s));
-                locZone.setWarehouseId(warehouseId);
-                locZone.setStockStatus("00");
-                locationFromList.add(locZone);
-
-                BaseLocationInfo query = new BaseLocationInfo();
-                query.setWarehouseId(warehouseId);
-                query.setZoneId(Long.parseLong(s));
-                query.setStockStatus("00");
-                List<BaseLocationInfo> bList = baseLocationInfoService.selectBaseLocationInfoList(query);
-                locationFromList.addAll(bList);
-            }
-        }
-        //目标库位逻辑同上
-        for (int i = 0; i < locationToArr.length; i++) {
-            String s = locationToArr[i];
-            boolean isLocation = baseLocationInfoService.checkIsLocation(s, warehouseId);
-            if (isLocation) {
-                BaseLocationInfo b = baseLocationInfoService.selectBaseLocationInfoById(Long.parseLong(s));
-                locationToList.add(b);
-            } else {
-                //如果是区域把区域内的库位查询出来
-                BaseLocationZone zoneQuery = baseLocationZoneService.selectBaseLocationZoneByZoneId(Long.parseLong(s));
-
-                BaseLocationInfo locZone = new BaseLocationInfo();
-                locZone.setId(Long.parseLong(s));
-                locZone.setLocationNo("-"+zoneQuery.getZoneName());
-                locZone.setZoneId(Long.parseLong(s));
-                locZone.setWarehouseId(warehouseId);
-                locZone.setStockStatus("00");
-                locationToList.add(locZone);
-
-                BaseLocationInfo query = new BaseLocationInfo();
-                query.setWarehouseId(warehouseId);
-                query.setZoneId(Long.parseLong(s));
-                query.setStockStatus("00");
-                List<BaseLocationInfo> bList = baseLocationInfoService.selectBaseLocationInfoList(query);
-                locationToList.addAll(bList);
-            }
-        }
-        //数量默认值
-        if (flowConfigHeaderVO.getQty() != null) {
-            lineCallVO.setQty(flowConfigHeaderVO.getQty().doubleValue());
-        }
-        //重量默认值
-        if (flowConfigHeaderVO.getWeight() != null) {
-            lineCallVO.setWeight(flowConfigHeaderVO.getWeight().doubleValue());
-        }
-        if (!StringUtils.isEmpty(flowConfigHeaderVO.getWeightRange())) {
-            String[] arr = flowConfigHeaderVO.getWeightRange().split("-");
-            if (arr.length > 0) {
-                if (arr[0] != null) {
-                    lineCallVO.setWeightMin(Double.valueOf(arr[0]));
-                }
-                if (arr[arr.length - 1] != null) {
-                    lineCallVO.setWeightMax(Double.valueOf(arr[arr.length - 1]));
-                }
-            }
-        }
-        if (!StringUtils.isEmpty(flowConfigHeaderVO.getQtyRange())) {
-            String[] arr = flowConfigHeaderVO.getQtyRange().split("-");
-            if (arr.length > 0) {
-                if (arr[0] != null) {
-                    lineCallVO.setQtyMin(Double.valueOf(arr[0]));
-                }
-                if (arr[arr.length - 1] != null) {
-                    lineCallVO.setQtyMax(Double.valueOf(arr[arr.length - 1]));
-                }
-            }
-        }
-        lineCallVO.setId(flowConfigHeaderVO.getId());
-        lineCallVO.setSkuList(skuList);
-        lineCallVO.setLocationFrom(locationFromList);
-        lineCallVO.setLocationFromFlag(flowConfigHeaderVO.getLocationFromFlag());
-        lineCallVO.setLocationTo(locationToList);
-        lineCallVO.setLocationToFlag(flowConfigHeaderVO.getLocationToFlag());
-        lineCallVO.setSkuTypeFlag(flowConfigHeaderVO.getSkuTypeFlag());
-        lineCallVO.setQtyFlag(flowConfigHeaderVO.getQtyFlag());
-        lineCallVO.setWeightFlag(flowConfigHeaderVO.getWeightFlag());
-        lineCallVO.setSupplierFlag(flowConfigHeaderVO.getSupplierFlag());
-        lineCallVO.setId(flowConfigHeaderVO.getId());
-        lineCallVO.setFlowType(flowConfigHeaderVO.getFlowType());
-        return lineCallVO;
-    }
-}

+ 0 - 176
warewms-ams/src/main/java/com/warewms/business/vo/LineCallVO.java

@@ -1,176 +0,0 @@
-package com.warewms.business.vo;
-
-import com.warewms.wms.base.entity.BaseLocationInfo;
-import com.warewms.wms.base.entity.BaseSku;
-
-import java.util.List;
-
-/**
- * Created by IntelliJ IDEA.
- * User: andy.qu
- * Date: 2022/3/7
- */
-public class LineCallVO {
-    private Long id;
-    private List<BaseSku> skuList;
-    private String skuTypeFlag;
-    private Double qty;
-    private String qtyFlag;
-    private Double qtyMax;
-    private Double qtyMin;
-    private Double weight;
-    private String weightFlag;
-    private Double weightMax;
-    private Double weightMin;
-    private String supplier;
-    private String supplierFlag;
-    private List<BaseLocationInfo> locationFrom;
-    private String locationFromFlag;
-    private List<BaseLocationInfo> locationTo;
-    private String locationToFlag;
-    private String flowType;
-
-    public List<BaseSku> getSkuList() {
-        return skuList;
-    }
-
-    public void setSkuList(List<BaseSku> skuList) {
-        this.skuList = skuList;
-    }
-
-    public Double getQty() {
-        return qty;
-    }
-
-    public void setQty(Double qty) {
-        this.qty = qty;
-    }
-
-    public Double getWeight() {
-        return weight;
-    }
-
-    public void setWeight(Double weight) {
-        this.weight = weight;
-    }
-
-    public List<BaseLocationInfo> getLocationFrom() {
-        return locationFrom;
-    }
-
-    public void setLocationFrom(List<BaseLocationInfo> locationFrom) {
-        this.locationFrom = locationFrom;
-    }
-
-    public List<BaseLocationInfo> getLocationTo() {
-        return locationTo;
-    }
-
-    public void setLocationTo(List<BaseLocationInfo> locationTo) {
-        this.locationTo = locationTo;
-    }
-
-    public String getSupplier() {
-        return supplier;
-    }
-
-    public void setSupplier(String supplier) {
-        this.supplier = supplier;
-    }
-
-    public String getSkuTypeFlag() {
-        return skuTypeFlag;
-    }
-
-    public void setSkuTypeFlag(String skuTypeFlag) {
-        this.skuTypeFlag = skuTypeFlag;
-    }
-
-    public String getQtyFlag() {
-        return qtyFlag;
-    }
-
-    public void setQtyFlag(String qtyFlag) {
-        this.qtyFlag = qtyFlag;
-    }
-
-    public String getWeightFlag() {
-        return weightFlag;
-    }
-
-    public void setWeightFlag(String weightFlag) {
-        this.weightFlag = weightFlag;
-    }
-
-    public String getSupplierFlag() {
-        return supplierFlag;
-    }
-
-    public void setSupplierFlag(String supplierFlag) {
-        this.supplierFlag = supplierFlag;
-    }
-
-    public String getLocationFromFlag() {
-        return locationFromFlag;
-    }
-
-    public void setLocationFromFlag(String locationFromFlag) {
-        this.locationFromFlag = locationFromFlag;
-    }
-
-    public String getLocationToFlag() {
-        return locationToFlag;
-    }
-
-    public void setLocationToFlag(String locationToFlag) {
-        this.locationToFlag = locationToFlag;
-    }
-
-    public Double getQtyMax() {
-        return qtyMax;
-    }
-
-    public void setQtyMax(Double qtyMax) {
-        this.qtyMax = qtyMax;
-    }
-
-    public Double getQtyMin() {
-        return qtyMin;
-    }
-
-    public void setQtyMin(Double qtyMin) {
-        this.qtyMin = qtyMin;
-    }
-
-    public Double getWeightMax() {
-        return weightMax;
-    }
-
-    public void setWeightMax(Double weightMax) {
-        this.weightMax = weightMax;
-    }
-
-    public Double getWeightMin() {
-        return weightMin;
-    }
-
-    public void setWeightMin(Double weightMin) {
-        this.weightMin = weightMin;
-    }
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getFlowType() {
-        return flowType;
-    }
-
-    public void setFlowType(String flowType) {
-        this.flowType = flowType;
-    }
-}

warewms-wms/src/main/java/com/warewms/common/annotation/DataScope.java → warewms-ams/src/main/java/com/warewms/common/annotation/DataScope.java


warewms-wms/src/main/java/com/warewms/common/annotation/DataSource.java → warewms-ams/src/main/java/com/warewms/common/annotation/DataSource.java


warewms-wms/src/main/java/com/warewms/common/annotation/Excel.java → warewms-ams/src/main/java/com/warewms/common/annotation/Excel.java


warewms-wms/src/main/java/com/warewms/common/annotation/Excels.java → warewms-ams/src/main/java/com/warewms/common/annotation/Excels.java


warewms-wms/src/main/java/com/warewms/common/annotation/Log.java → warewms-ams/src/main/java/com/warewms/common/annotation/Log.java


warewms-wms/src/main/java/com/warewms/common/annotation/RateLimiter.java → warewms-ams/src/main/java/com/warewms/common/annotation/RateLimiter.java


warewms-wms/src/main/java/com/warewms/common/annotation/RepeatSubmit.java → warewms-ams/src/main/java/com/warewms/common/annotation/RepeatSubmit.java


+ 12 - 0
warewms-ams/src/main/java/com/warewms/common/base/bean/dto/WarewmsDTO.java

@@ -0,0 +1,12 @@
+package com.warewms.common.base.bean.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class WarewmsDTO implements Serializable {
+
+    private static final long serialVersionUID = -3689701440388944457L;
+
+}

+ 24 - 0
warewms-ams/src/main/java/com/warewms/common/base/bean/dto/WarewmsExtDTO.java

@@ -0,0 +1,24 @@
+package com.warewms.common.base.bean.dto;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class WarewmsExtDTO extends WarewmsDTO {
+
+
+    private static final long serialVersionUID = 972168161325170489L;
+
+    private String id;
+
+    private Long creator;
+
+    private Date createDate;
+
+    private Long updater;
+
+    private Date updateDate;
+
+
+}

+ 14 - 0
warewms-ams/src/main/java/com/warewms/common/base/bean/entity/WarewmsEntity.java

@@ -0,0 +1,14 @@
+package com.warewms.common.base.bean.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+@TableName
+public class WarewmsEntity implements Serializable {
+
+    private static final long serialVersionUID = -4517083772312506873L;
+
+}

+ 32 - 0
warewms-ams/src/main/java/com/warewms/common/base/bean/entity/WarewmsExtEntity.java

@@ -0,0 +1,32 @@
+package com.warewms.common.base.bean.entity;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.util.Date;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+@Accessors(chain = true)
+public class WarewmsExtEntity extends WarewmsEntity {
+
+    private static final long serialVersionUID = 5454051931854654410L;
+
+//    @TableId
+    private String id;
+
+//    @TableField(fill = FieldFill.INSERT)
+    private String creator;
+
+//    @TableField(fill = FieldFill.INSERT)
+    private Date createDate;
+
+//    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private String updater;
+
+//    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Date updateDate;
+
+    private String remark;
+}

warewms-wms/src/main/java/com/warewms/common/base/controller/BaseController.java → warewms-ams/src/main/java/com/warewms/common/base/controller/BaseController.java


warewms-wms/src/main/java/com/warewms/common/base/dao/BaseDao.java → warewms-ams/src/main/java/com/warewms/common/base/dao/BaseDao.java


warewms-wms/src/main/java/com/warewms/common/base/domain/AjaxResult.java → warewms-ams/src/main/java/com/warewms/common/base/domain/AjaxResult.java


warewms-wms/src/main/java/com/warewms/common/base/domain/BaseEntity.java → warewms-ams/src/main/java/com/warewms/common/base/domain/BaseEntity.java


warewms-wms/src/main/java/com/warewms/common/base/domain/TreeEntity.java → warewms-ams/src/main/java/com/warewms/common/base/domain/TreeEntity.java


warewms-wms/src/main/java/com/warewms/common/base/domain/TreeSelect.java → warewms-ams/src/main/java/com/warewms/common/base/domain/TreeSelect.java


warewms-wms/src/main/java/com/warewms/common/base/page/PageData.java → warewms-ams/src/main/java/com/warewms/common/base/page/PageData.java


warewms-wms/src/main/java/com/warewms/common/base/page/PageDomain.java → warewms-ams/src/main/java/com/warewms/common/base/page/PageDomain.java


+ 0 - 0
warewms-wms/src/main/java/com/warewms/common/base/page/TableDataInfo.java


Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov