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.

255 lines
8.7 KiB

5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
  1. package com.gaotao.modules.automatedWarehouse.service;
  2. import com.gaotao.modules.automatedWarehouse.entity.*;
  3. import com.gaotao.modules.base.entity.PalletType;
  4. import java.util.List;
  5. import java.util.Map;
  6. public interface WcsIntegrationService {
  7. List<WmsLabelAndPalletData> palletListForPartNo(PartPalletData inData);
  8. void callPalletFromWcs(List<WmsLabelAndPalletData> data);
  9. /**
  10. * 新方法直接Call栈板不使用定时任务方式 - rqrq
  11. * @param data 栈板明细列表
  12. * @return 包含成功数量和失败栈板列表的Map
  13. * @author rqrq
  14. * @date 2025/10/04
  15. */
  16. Map<String, Object> callPalletFromWcsNew(List<WmsLabelAndPalletData> data);
  17. // ==================== 打托相关方法 - AI制作 ====================
  18. /**
  19. * 检查栈板是否存在并获取位置信息 - AI制作
  20. */
  21. Map<String, Object> checkPalletExists(Map<String, Object> params) ;
  22. /**
  23. * @Description 简单查询栈板信息无任何校验- rqrq
  24. * @Title getPalletInfoSimple
  25. * @param params 查询参数site, palletId
  26. * @return 栈板信息包含positions
  27. * @author rqrq
  28. * @date 2025/10/09
  29. */
  30. Map<String, Object> getPalletInfoSimple(Map<String, Object> params);
  31. /**
  32. * 获取栈板明细 - AI制作
  33. */
  34. List<Map<String, Object>> getPalletDetails(Map<String, Object> params) throws Exception;
  35. /**
  36. * 根据位置获取层数 - AI制作
  37. */
  38. List<Integer> getLayersByPosition(Map<String, Object> params) throws Exception;
  39. /**
  40. * 保存栈板明细扫进 - AI制作
  41. */
  42. void savePalletDetail(Map<String, Object> params) throws Exception;
  43. /**
  44. * 删除栈板明细扫出 - AI制作
  45. */
  46. void deletePalletDetail(Map<String, Object> params) throws Exception;
  47. /**
  48. * 获取编辑位置时的层数选项排除指定标签 - AI制作
  49. */
  50. List<Integer> getLayersForEdit(Map<String, Object> params) throws Exception;
  51. /**
  52. * 更新栈板明细位置 - AI制作
  53. */
  54. void updatePalletDetailPosition(Map<String, Object> params) throws Exception;
  55. // ==================== 运输任务相关方法 - AI制作 ====================
  56. /**
  57. * 获取AGV站点列表 - AI制作
  58. */
  59. List<Map<String, Object>> getAgvStations(Map<String, Object> params) throws Exception;
  60. /**
  61. * 获取可用的AGV站点列表已在后台过滤状态和类型- AI制作
  62. * @param params statusDb: 站点状态0-空闲1-有货null则不过滤
  63. * @return 符合条件的正式站点列表
  64. */
  65. List<AgvStation> getAvailableAgvStations(Map<String, Object> params) throws Exception;
  66. /**
  67. * 根据起点站点获取可达目标站点 - AI制作
  68. */
  69. List<Map<String, Object>> getTargetStations(Map<String, Object> params) throws Exception;
  70. /**
  71. * 创建栈板运输任务 - AI制作
  72. */
  73. void createPalletTransportTask(Map<String, Object> params) throws Exception;
  74. /**
  75. * Call栈板到指定站点 - AI制作
  76. */
  77. void callPalletToStation(CallPalletRequestDto request) ;
  78. /**
  79. * Call栈板到指定站点包含组盘处理 - AI制作
  80. */
  81. void callPalletToStationWithUpdateZuPan(CallPalletRequestDto request) ;
  82. /**
  83. * 更新栈板明细的wcs_flag为0已传输给WCS - AI制作
  84. */
  85. void updatePalletDetailWcsFlag(String site, String palletId) throws Exception;
  86. /**
  87. *
  88. */
  89. void pushPalletDetailNew(String site, String palletId,String taskNo ,Integer itemNo,String endFlag);
  90. /**
  91. * 获取栈板详细信息包含palletType和autoSort - AI制作
  92. */
  93. /**
  94. * 获取栈板详细信息包含类型关联数据 - AI制作
  95. * @param params 查询参数包含site和palletId
  96. * @return 栈板详细信息实体类
  97. */
  98. com.gaotao.modules.warehouse.entity.PalletData getPalletInfo(Map<String, Object> params) throws Exception;
  99. /**
  100. * 更新栈板类型和自动分拣标志 - AI制作
  101. */
  102. void updatePalletTypeAndAutoSort(Map<String, Object> params) throws Exception;
  103. /**
  104. * 完成组托不创建运输任务只推送组托数据到WCS - AI制作
  105. * @param params 包含site和palletId
  106. */
  107. void completePalletAssembly(Map<String, Object> params) throws Exception;
  108. void completePalletAssemblyForFenJian(Map<String, Object> params) throws Exception;
  109. /**
  110. * 获取指定层数下各个位置的可用状态 - rqrq
  111. * @param params {site, palletId, layer}
  112. * @return 包含positions位置列表availablePositions可用位置maxLayer最大层数isMixed是否混装
  113. */
  114. Map<String, Object> getAvailablePositionsForLayer(Map<String, Object> params) throws Exception;
  115. /**
  116. * @Description 恢复标签到原栈板分拣撤回保留所有原始字段包括wcs_flag- rqrq
  117. * @Title restorePalletDetail
  118. * @param data 恢复标签请求参数实体
  119. * @return void
  120. * @author rqrq
  121. * @date 2025/10/09
  122. */
  123. void restorePalletDetail(RestorePalletDetailData data) throws Exception;
  124. /**
  125. * @Description 查询标签当前所在栈板的信息包括wcs_flag等完整字段- rqrq
  126. * @Title getLabelInfo
  127. * @param data 查询标签信息请求参数实体
  128. * @return LabelInfoResult 标签信息结果实体
  129. * @author rqrq
  130. * @date 2025/10/09
  131. */
  132. LabelInfoResult getLabelInfo(GetLabelInfoData data) throws Exception;
  133. // ==================== 栈板换站相关方法 - rqrq ====================
  134. /**
  135. * @Description 检查栈板是否可以换站判断calling_flag和获取当前站点信息- rqrq
  136. * @Title checkPalletForChangeStation
  137. * @param params {site, palletId}
  138. * @return 栈板信息(包含callingFlagcurrentStationIdcurrentStationCode)
  139. * @author rqrq
  140. * @date 2025/10/16
  141. */
  142. CheckPalletResult checkPalletForChangeStation(Map<String, Object> params);
  143. /**
  144. * @Description 获取可选择的区域列表choose_able为Y- rqrq
  145. * @Title getAreaOptionsForChange
  146. * @param params 查询参数
  147. * @return 区域列表
  148. * @author rqrq
  149. * @date 2025/10/16
  150. */
  151. List<Area> getAreaOptionsForChange(Map<String, Object> params);
  152. /**
  153. * @Description 根据区域获取可用站点列表 - rqrq
  154. * @Title getStationsByArea
  155. * @param params {areaId}
  156. * @return 站点列表(active=Y, station_type=正式站点, status_db=0)
  157. * @author rqrq
  158. * @date 2025/10/16
  159. */
  160. List<AgvStation> getStationsByArea(Map<String, Object> params);
  161. // ==================== 手工移动托盘相关方法 - rqrq ====================
  162. /**
  163. * @Description 检查托盘是否可以手工移动 - rqrq
  164. * @Title checkPalletForManualMove
  165. * @param params {site, palletId}
  166. * @return 托盘信息(包含calling_flag当前站点编码站点类型是否可操作)
  167. * @author rqrq
  168. * @date 2025/10/16
  169. */
  170. CheckPalletResult checkPalletForManualMove(Map<String, Object> params);
  171. /**
  172. * @Description 移出站点更新托盘location_code为null更新站点状态为空闲- rqrq
  173. * @Title removeFromStation
  174. * @param params {site, palletId, stationCode}
  175. * @author rqrq
  176. * @date 2025/10/16
  177. */
  178. void removeFromStation(Map<String, Object> params);
  179. /**
  180. * @Description 绑定托盘到站点更新托盘location_code更新站点状态为有货- rqrq
  181. * @Title bindPalletToStation
  182. * @param params {site, palletId, stationCode}
  183. * @author rqrq
  184. * @date 2025/10/16
  185. */
  186. void bindPalletToStation(Map<String, Object> params);
  187. // ==================== 空托盘组盘相关方法 - rqrq ====================
  188. /**
  189. * @Description 检查托盘是否为空托盘 - rqrq
  190. * @Title checkEmptyPallet
  191. * @param params {site, palletId}
  192. * @return 托盘信息(包含当前站点ID站点编码托盘类型是否为空托盘)
  193. * @author rqrq
  194. * @date 2025/10/16
  195. */
  196. CheckPalletResult checkEmptyPallet(Map<String, Object> params);
  197. /**
  198. * @Description 获取托盘类型列表根据pallet_family过滤- rqrq
  199. * @Title getPalletTypes
  200. * @param params {site, palletFamily}
  201. * @return 托盘类型列表
  202. * @author rqrq
  203. * @date 2025/10/16
  204. */
  205. List<PalletType> getPalletTypes(Map<String, Object> params);
  206. /**
  207. * @Description 空托盘通知入库 - rqrq
  208. * @Title notifyEmptyPalletInbound
  209. * @param params {site, palletId, transportFlag}
  210. * @author rqrq
  211. * @date 2025/10/16
  212. */
  213. void notifyEmptyPalletInbound(Map<String, Object> params);
  214. }