You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

356 lines
14 KiB

2 months ago
​
​
​
2 months ago
​
2 months ago
2 months ago
​
​
1 month ago
2 months ago
1 month ago
1 month ago
2 months ago
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
2 months ago
2 months ago
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
2 months ago
2 months ago
​
​
​
​
2 months ago
2 months ago
​
​
​
​
2 months ago
2 months ago
​
​
​
​
2 months ago
2 months ago
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
1 month ago
​
​
​
​
​
2 months ago
​
2 months ago
2 months ago
​
​
​
​
​
​
​
​
2 months ago
​
​
​
​
​
​
​
​
​
​
​
2 months ago
​
​
​
​
​
​
​
2 months ago
2 months ago
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
4 weeks ago
2 months ago
​
​
​
​
​
​
​
​
2 months ago
​
2 months ago
2 months ago
​
​
2 months ago
​
​
​
​
​
2 months ago
​
2 months ago
2 months ago
​
​
2 months ago
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
2 months ago
​
​
​
​
​
​
​
​
​
​
​
​
​
2 months ago
2 months ago
​
​
2 months ago
​
1 month ago
2 months ago
​
​
1 month ago
​
​
​
​
​
2 months ago
​
2 months ago
2 months ago
​
​
​
​
​
​
​
​
​
​
2 months ago
2 months ago
​
​
2 months ago
​
​
​
​
​
2 months ago
​
2 months ago
2 months ago
​
​
​
​
2 months ago
2 months ago
​
​
​
​
2 months ago
2 months ago
​
​
2 months ago
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
1 month ago
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
4 weeks ago
1 month ago
​
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
​
​
​
​
2 months ago
  1. package com.gaotao.modules.autoWareHourceHaian.service;
  2. import com.gaotao.modules.autoWareHourceHaian.entity.pda.HaiAnAreaOption;
  3. import com.gaotao.modules.autoWareHourceHaian.entity.pda.HaiAnAvailablePositionsResult;
  4. import com.gaotao.modules.autoWareHourceHaian.entity.pda.HaiAnCallPalletResult;
  5. import com.gaotao.modules.autoWareHourceHaian.entity.pda.HaiAnCancelReserveLabelResult;
  6. import com.gaotao.modules.autoWareHourceHaian.entity.pda.HaiAnCheckPalletResult;
  7. import com.gaotao.modules.autoWareHourceHaian.entity.pda.HaiAnPalletDetailRow;
  8. import com.gaotao.modules.autoWareHourceHaian.entity.pda.HaiAnPalletInfoResult;
  9. import com.gaotao.modules.autoWareHourceHaian.entity.pda.HaiAnPalletListRow;
  10. import com.gaotao.modules.autoWareHourceHaian.entity.HaiAnPalletTransferEnqueueResult;
  11. import com.gaotao.modules.autoWareHourceHaian.entity.pda.HaiAnPalletMergeResult;
  12. import com.gaotao.modules.autoWareHourceHaian.entity.pda.HaiAnPalletRelocateScanResult;
  13. import com.gaotao.modules.autoWareHourceHaian.entity.pda.HaiAnForceRemovePalletResult;
  14. import com.gaotao.modules.autoWareHourceHaian.entity.pda.HaiAnPalletSpecialEditResult;
  15. import com.gaotao.modules.autoWareHourceHaian.entity.pda.HaiAnPalletReservedResult;
  16. import com.gaotao.modules.autoWareHourceHaian.entity.pda.HaiAnPalletScanResult;
  17. import com.gaotao.modules.autoWareHourceHaian.entity.pda.HaiAnPalletTypeAreaOption;
  18. import com.gaotao.modules.autoWareHourceHaian.entity.pda.HaiAnPalletTypeOption;
  19. import com.gaotao.modules.autoWareHourceHaian.entity.pda.HaiAnPdaRequest;
  20. import com.gaotao.modules.autoWareHourceHaian.entity.pda.HaiAnSortingListResult;
  21. import com.gaotao.modules.autoWareHourceHaian.entity.pda.HaiAnStationRow;
  22. import com.gaotao.modules.autoWareHourceHaian.entity.pda.HaiAnStationsByAreaResult;
  23. import com.gaotao.modules.autoWareHourceHaian.entity.pda.HaiAnWcsActionResult;
  24. import java.util.List;
  25. /**
  26. * @author rqrq
  27. * @Description 海安PDA立库服务接口,所有入参/回参强制实体化,禁止Map参数协议 - rqrq
  28. */
  29. public interface HaiAnPdaAutoWarehouseService {
  30. /**
  31. * @author rqrq
  32. * @Description 校验海安栈板存在性并返回位置基础数据;组盘入库/手工组盘拦截分拣与被分拣盘;人工分拣页才带出 sortedSourceFlag - rqrq
  33. */
  34. HaiAnPalletScanResult checkPalletExists(HaiAnPdaRequest request);
  35. /**
  36. * @author rqrq
  37. * @Description 简单查询栈板信息,不做额外业务拦截用于查看页扫描入口 - rqrq
  38. */
  39. HaiAnPalletScanResult getPalletInfoSimple(HaiAnPdaRequest request);
  40. /**
  41. * @author rqrq
  42. * @Description 查询海安栈板明细,支持位置/层级过滤 - rqrq
  43. */
  44. List<HaiAnPalletDetailRow> getPalletDetails(HaiAnPdaRequest request) throws Exception;
  45. /**
  46. * @author rqrq
  47. * @Description 查询某位置已有层级并回传前端可选层清单 - rqrq
  48. */
  49. List<Integer> getLayersByPosition(HaiAnPdaRequest request) throws Exception;
  50. /**
  51. * @author rqrq
  52. * @Description 查询栈板预定清单,供PDA查看托盘页面展示 - rqrq
  53. */
  54. HaiAnPalletReservedResult getPalletReservedLabels(HaiAnPdaRequest request) throws Exception;
  55. /**
  56. * @author rqrq
  57. * @Description 批量取消栈板标签预定,复用handling_unit预定字段机制 - rqrq
  58. */
  59. void batchCancelReserve(HaiAnPdaRequest request) throws Exception;
  60. /**
  61. * @author rqrq
  62. * @Description 保存扫入标签;组盘入库/手工组盘禁止A0206主动扫入且拦截分拣盘;人工分拣/被分拣扫入不拦A0206 - rqrq
  63. */
  64. void savePalletDetail(HaiAnPdaRequest request) throws Exception;
  65. /**
  66. * @author rqrq
  67. * @Description 扫出标签:组盘入库/手工组盘拦截分拣盘并校验 pack_able;仅人工分拣页被分拣源盘按解绑处理 - rqrq
  68. */
  69. void deletePalletDetail(HaiAnPdaRequest request) throws Exception;
  70. /**
  71. * @author rqrq
  72. * @Description 分拣扫回恢复标签到原位置,保留原始轨迹字段 - rqrq
  73. */
  74. void restorePalletDetail(HaiAnPdaRequest request) throws Exception;
  75. /**
  76. * @author rqrq
  77. * @Description 查询标签当前所在海安栈板信息,用于分拣撤回缓存 - rqrq
  78. */
  79. HaiAnPalletDetailRow getLabelInfo(HaiAnPdaRequest request) throws Exception;
  80. /**
  81. * @author rqrq
  82. * @Description 编辑位置时查询可用层级,避免同位置层级冲突 - rqrq
  83. */
  84. List<Integer> getLayersForEdit(HaiAnPdaRequest request) throws Exception;
  85. /**
  86. * @author rqrq
  87. * @Description 更新标签位置层级并重置待提交标记 - rqrq
  88. */
  89. void updatePalletDetailPosition(HaiAnPdaRequest request) throws Exception;
  90. /**
  91. * @author rqrq
  92. * @Description 查询指定层位置可用状态,驱动前端九宫格交互 - rqrq
  93. */
  94. HaiAnAvailablePositionsResult getAvailablePositionsForLayer(HaiAnPdaRequest request) throws Exception;
  95. /**
  96. * @author rqrq
  97. * @Description 查询海安栈板+托盘类型联合信息,供页面回显与规则判断 - rqrq
  98. */
  99. HaiAnPalletInfoResult getPalletInfo(HaiAnPdaRequest request) throws Exception;
  100. /**
  101. * @author rqrq
  102. * @Description 更新栈板托盘类型与自动分拣配置,支持强制整托出库映射 - rqrq
  103. */
  104. void updatePalletTypeAndAutoSort(HaiAnPdaRequest request) throws Exception;
  105. /**
  106. * @author rqrq
  107. * @Description 保存 A0206 手工备注到 haian_pallet.manual_remark。只改这一列,不改占用备注。类型不是 A0206 时拒绝。 - rqrq
  108. */
  109. void updatePalletManualRemark(HaiAnPdaRequest request) throws Exception;
  110. /**
  111. * @author rqrq
  112. * @Description 手工分拣提交:工作盘只推增量;被分拣源盘按放回语义 Type=2+endFlag=Y,无增量也发空报文通知回库 - rqrq
  113. */
  114. HaiAnWcsActionResult completePalletAssemblyForFenJian(HaiAnPdaRequest request) throws Exception;
  115. /**
  116. * @author rqrq
  117. * @Description 查询海安区域列表(choose_able=Y),按site隔离 - rqrq
  118. */
  119. List<HaiAnAreaOption> getAreaOptionsForChange(HaiAnPdaRequest request);
  120. /**
  121. * @author rqrq
  122. * @Description 栈板换站扫描校验,返回calling_flag与当前站点信息 - rqrq
  123. */
  124. HaiAnCheckPalletResult checkPalletForChangeStation(HaiAnPdaRequest request);
  125. /**
  126. * @author rqrq
  127. * @Description 提交海安托盘换站任务:写haian_wms_order_task并下达库外搬运接口 - rqrq
  128. */
  129. void submitChangeStationTask(HaiAnPdaRequest request);
  130. /**
  131. * @author rqrq
  132. * @Description 查询可用站点清单(兼容旧前端结构,海安侧返回静态或占位)- rqrq
  133. */
  134. List<HaiAnStationRow> getAvailableAgvStations(HaiAnPdaRequest request);
  135. /**
  136. * @author rqrq
  137. * @Description 通过haian_area.wcs_area_code调用getGroundLocationList(status=IDLE)获取空闲站点清单并解析locationCode/status - rqrq
  138. */
  139. HaiAnStationsByAreaResult getStationsByArea(HaiAnPdaRequest request);
  140. /**
  141. * @author rqrq
  142. * @Description 调用空托盘动作,按开关执行真实调用或短路通过 - rqrq
  143. */
  144. HaiAnWcsActionResult callEmptyPalletToStation(HaiAnPdaRequest request);
  145. /**
  146. * @author rqrq
  147. * @Description 组盘运输入库动作,按开关执行真实调用或短路通过 - rqrq
  148. */
  149. HaiAnWcsActionResult callPalletToStationWithUpdateZuPan(HaiAnPdaRequest request);
  150. /**
  151. * @author rqrq
  152. * @Description 结束分拣:有无增量均下发结束报文,仅人工分拣位当前盘置calling_flag=Y、remark=手工分拣结束分拣;WCS成功后该盘普通明细置1供下次回库全量下发,负数业务状态保留;其他位置仍只清已提交增量,失败回滚本地状态,不写WOT/WTT - rqrq
  153. */
  154. HaiAnWcsActionResult finishSorting(HaiAnPdaRequest request);
  155. /**
  156. * @author rqrq
  157. * @Description Call料到指定位置动作,按开关执行真实调用或短路通过 - rqrq
  158. */
  159. HaiAnWcsActionResult callOutToStation(HaiAnPdaRequest request);
  160. /**
  161. * @author rqrq
  162. * @Description 立库特殊操作-Call料:目标固定整托出库口,其余逻辑沿用海安Call料链路 - rqrq
  163. */
  164. HaiAnWcsActionResult callOutToOutboundPort(HaiAnPdaRequest request);
  165. /**
  166. * @author rqrq
  167. * @Description 空托盘组盘入口:校验托盘是否为空并返回站点/类型信息 - rqrq
  168. */
  169. HaiAnCheckPalletResult checkEmptyPallet(HaiAnPdaRequest request);
  170. /**
  171. * @author rqrq
  172. * @Description 立库特殊操作-直接组盘:仅允许area/location为空的托盘推送到固定入库口 - rqrq
  173. */
  174. HaiAnWcsActionResult pushPalletAssemblyToInboundPort(HaiAnPdaRequest request);
  175. /**
  176. * @author rqrq
  177. * @Description 空托盘通知入库:写海安任务并按开关调用/短路立库接口 - rqrq
  178. */
  179. void notifyEmptyPalletInbound(HaiAnPdaRequest request);
  180. /**
  181. * @author rqrq
  182. * @Description 检查取消组盘页面状态:返回调用标记、是否已推送、是否有明细 - rqrq
  183. */
  184. HaiAnCheckPalletResult checkPalletWcsStatus(HaiAnPdaRequest request);
  185. /**
  186. * @author rqrq
  187. * @Description 取消组盘:回滚明细wcs_flag并恢复托盘calling_flag - rqrq
  188. */
  189. void cancelWcsPallet(HaiAnPdaRequest request);
  190. /**
  191. * @author rqrq
  192. * @Description 一键移出全部物料:删除haian_pallet_detail并刷新empty_flag - rqrq
  193. */
  194. void removeAllPalletDetails(HaiAnPdaRequest request);
  195. /**
  196. * @author rqrq
  197. * @Description 立库特殊操作-栈板人工移动扫描校验,返回当前站点与calling状态 - rqrq
  198. */
  199. HaiAnCheckPalletResult checkPalletForManualMove(HaiAnPdaRequest request);
  200. /**
  201. * @author rqrq
  202. * @Description 立库特殊操作-栈板人工移动(移出站点):清空托盘绑定并同步地面点位状态 - rqrq
  203. */
  204. void removeFromStation(HaiAnPdaRequest request);
  205. /**
  206. * @author rqrq
  207. * @Description 立库特殊操作-栈板人工移动(绑定站点):写入区域站点后触发海安独立移库入队,并同步地面点位状态 - rqrq
  208. */
  209. void bindPalletToStation(HaiAnPdaRequest request);
  210. /**
  211. * @author rqrq
  212. * @Description 合托来源托盘校验:检查存在性、调用状态、A0206,并且必须已有明细 - rqrq
  213. */
  214. HaiAnPalletMergeResult checkPalletForMerge(HaiAnPdaRequest request);
  215. /**
  216. * @author rqrq
  217. * @Description 合托目标托盘校验:检查存在性、调用状态、A0206;允许没有明细,空托可作为接收方 - rqrq
  218. */
  219. HaiAnPalletMergeResult checkTargetPalletForMerge(HaiAnPdaRequest request);
  220. /**
  221. * @author rqrq
  222. * @Description 合托目标托盘类型校验:禁止A0206,仅允许混装托盘(wcsAutoSort=N) - rqrq
  223. */
  224. HaiAnPalletMergeResult checkTargetPalletType(HaiAnPdaRequest request);
  225. /**
  226. * @author rqrq
  227. * @Description 合托明细查看:按site+palletId返回托盘明细列表 - rqrq
  228. */
  229. List<HaiAnPalletDetailRow> getPalletDetailForMerge(HaiAnPdaRequest request);
  230. /**
  231. * @author rqrq
  232. * @Description 执行合托:将来源托盘明细转移到目标托盘;A0206来源或目标都拒绝 - rqrq
  233. */
  234. void executePalletMerge(HaiAnPdaRequest request);
  235. /**
  236. * @author rqrq
  237. * @Description 查询可Call料海安栈板清单,列表字段优先来自haian_pallet_detail - rqrq
  238. */
  239. List<HaiAnPalletListRow> palletListForPartNo(HaiAnPdaRequest request);
  240. /**
  241. * @author rqrq
  242. * @Description 立库特殊操作-合托Call板:扫描单托下达到整托出库口(与 Call料同一出口),返回成功失败统计 - rqrq
  243. */
  244. HaiAnCallPalletResult scanAndCallPalletForHetuo(HaiAnPdaRequest request);
  245. /**
  246. * @author rqrq
  247. * @Description 立库特殊操作-取消预定查询:按标签返回库存与预定信息 - rqrq
  248. */
  249. HaiAnCancelReserveLabelResult queryLabelInfo(HaiAnPdaRequest request);
  250. /**
  251. * @author rqrq
  252. * @Description 立库特殊操作-取消预定提交:按标签释放reserve_flag及引用单据字段 - rqrq
  253. */
  254. void cancelReserve(HaiAnPdaRequest request);
  255. /**
  256. * @author rqrq
  257. * @Description 查询分拣清单,按开关走静态返回或真实立库调用 - rqrq
  258. */
  259. HaiAnSortingListResult getSortingList(HaiAnPdaRequest request);
  260. /**
  261. * @author rqrq
  262. * @Description 查询海安托盘类型列表,供PDA下拉选择 - rqrq
  263. */
  264. List<HaiAnPalletTypeOption> getPalletTypeList(HaiAnPdaRequest request);
  265. /**
  266. * @author rqrq
  267. * @Description 查询海安托盘类型点位配置,驱动扫入位置可选项 - rqrq
  268. */
  269. List<HaiAnPalletTypeAreaOption> getPalletTypeAreas(HaiAnPdaRequest request);
  270. /**
  271. * @author rqrq
  272. * @Description 栈板重移库扫描:无区域拒绝;有区域则返回区域描述、仓库库位,以及库位不一致的标签 - rqrq
  273. */
  274. HaiAnPalletRelocateScanResult scanPalletForRelocate(HaiAnPdaRequest request);
  275. /**
  276. * @author rqrq
  277. * @Description 栈板重移库提交:按托盘当前区域再次调用自动移库,只搬仓库或库位不一致的在库标签 - rqrq
  278. */
  279. HaiAnPalletTransferEnqueueResult retryPalletRelocate(HaiAnPdaRequest request);
  280. /**
  281. * @author rqrq
  282. * @Description 栈板特殊修改扫描:回显calling_flag、区域、位置,以及wcs_location是否为空 - rqrq
  283. */
  284. HaiAnPalletSpecialEditResult scanPalletForSpecialEdit(HaiAnPdaRequest request);
  285. /**
  286. * @author rqrq
  287. * @Description 栈板特殊修改保存:位置为空时区域、位置及货架点位置NULL;其它字段按有效输入保存,失败回滚 - rqrq
  288. */
  289. void savePalletSpecialEdit(HaiAnPdaRequest request);
  290. /**
  291. * 强制置空非立库托盘的区域、位置及货架点位,调用标记置N并清空备注;完成后先把明细wcs_flag 0改1,再调用立库errorPalletRefresh,同步失败不回滚本地置空 - rqrq
  292. */
  293. HaiAnForceRemovePalletResult forceRemovePalletSpecialEdit(HaiAnPdaRequest request);
  294. /**
  295. * @author rqrq
  296. * @Description 栈板特殊修改按区域查全部地面站点。立库区域拒绝,其它区域合并空闲、已装载、运输中、空载,供所在位置下拉 - rqrq
  297. */
  298. List<HaiAnStationRow> listStationsForSpecialEdit(HaiAnPdaRequest request);
  299. }