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.

369 lines
15 KiB

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