|
@@ -92,6 +92,134 @@ public class PdaController {
|
|
|
@Autowired
|
|
|
private IInvLotLocIdService invLotLocIdService;
|
|
|
|
|
|
+ /**
|
|
|
+ * 物料拉动通用
|
|
|
+ *
|
|
|
+ * @param lineCallForm
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @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("指令查询不到对应的流程");
|
|
|
+ }
|
|
|
+
|
|
|
+ Map<String, AgvCallDTO> map = new HashMap<>();
|
|
|
+ List<AgvCallDTO> list = new ArrayList<>();
|
|
|
+ for (LineCallListFrom lform : lineCallForm.getLineCallList()) {
|
|
|
+
|
|
|
+ //入库时绑定托盘
|
|
|
+ if (flowConfigHeaderVO.getFlowType().equals("ASN")) {
|
|
|
+ PaForm paForm = new PaForm();
|
|
|
+ paForm.setPalletNo(lform.getPalletNo());
|
|
|
+ paForm.setLocationFrom("900");
|
|
|
+ paForm.setLocationTo(lform.getLocationFrom());
|
|
|
+ wmsDocAsnHeaderService.doPa(paForm);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (flowConfigHeaderVO.getFlowType().equals("ASN") && org.apache.commons.lang3.StringUtils.isEmpty(lform.getLocationFrom())) {
|
|
|
+ return AjaxResult.error("入库任务必须选择起始库位");
|
|
|
+ }
|
|
|
+ if (flowConfigHeaderVO.getFlowType().equals("SO") && (lform.getQty() == null || lform.getQty().longValue() == 0)) {
|
|
|
+ return AjaxResult.error("出库任务必须选择数量");
|
|
|
+ }
|
|
|
+ AgvCallDTO agvCallDTO;
|
|
|
+ if (map.containsKey(lform.getLocationFrom() + "-" + lform.getLocationTo())) {
|
|
|
+ agvCallDTO = map.get(lform.getLocationFrom() + "-" + lform.getLocationTo());
|
|
|
+ } else {
|
|
|
+ agvCallDTO = new AgvCallDTO();
|
|
|
+ agvCallDTO.setWarehouseId(1L);//没用暂时写死
|
|
|
+ agvCallDTO.setLocationFrom(lform.getLocationFrom());
|
|
|
+ agvCallDTO.setLocationTo(lform.getLocationTo());
|
|
|
+ agvCallDTO.setId(lform.getId());
|
|
|
+ }
|
|
|
+ AgvCallItemDTO agvCallItemDTO = new AgvCallItemDTO();
|
|
|
+ agvCallItemDTO.setWarehouseId(1L);
|
|
|
+ agvCallItemDTO.setSku(lform.getSku());
|
|
|
+ agvCallItemDTO.setQty(lform.getQty());
|
|
|
+ agvCallItemDTO.setSupplier(lform.getSupplier());
|
|
|
+ agvCallItemDTO.setWeight(lform.getWeight());
|
|
|
+ agvCallItemDTO.setLocationFrom(lform.getLocationFrom());
|
|
|
+ agvCallItemDTO.setLocationTo(lform.getLocationTo());
|
|
|
+ agvCallDTO.getAgvCallItemDTOList().add(agvCallItemDTO);
|
|
|
+ LotattDTO lotattDTO = new LotattDTO();
|
|
|
+ List<LineCallDetailsForm> lineCallDetailsForms = lform.getLineCallDetailsFormList();
|
|
|
+ if (lineCallDetailsForms != null && lineCallDetailsForms.size() > 0) {
|
|
|
+ for (LineCallDetailsForm detailsForm : lineCallDetailsForms) {
|
|
|
+ lotattDTO.setAttr(detailsForm.getLotattId(), detailsForm.getLotattValue());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ agvCallItemDTO.setLotattDTO(lotattDTO);
|
|
|
+ map.put(lform.getLocationFrom() + "-" + lform.getLocationTo(), agvCallDTO);
|
|
|
+ }
|
|
|
+ for (Map.Entry<String, AgvCallDTO> entry : map.entrySet()) {
|
|
|
+ AgvCallDTO mapValue = entry.getValue();
|
|
|
+ list.add(mapValue);
|
|
|
+ }
|
|
|
+ return businessService.agvCall(flowConfigHeaderVO, list);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 入库码盘
|
|
|
+ *
|
|
|
+ * @param stockForm
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("/docAsn/stock")
|
|
|
+ @Log(title = "码盘", businessType = BusinessType.INSERT)
|
|
|
+ public AjaxResult stock(@RequestBody StockForm stockForm) {
|
|
|
+ if (stockForm.getStockTag().equals("Y") && StringUtils.isEmpty(stockForm.getOrderNo())) {
|
|
|
+ return AjaxResult.error("码盘备货必须输入出库单号");
|
|
|
+ }
|
|
|
+ return wmsDocAsnHeaderService.doStock(stockForm);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 条码检测
|
|
|
+ *
|
|
|
+ * @param snCheckForm
|
|
|
+ * @return 根据入库单和条码查询出未码盘的信息,入库单数量-已码盘数量
|
|
|
+ */
|
|
|
+ @PostMapping("/docAsn/snCheck")
|
|
|
+ public AjaxResult snCheck(@Validated @RequestBody SnCheckForm snCheckForm) {
|
|
|
+ CodeSkuRelationshipVO codeSkuRelationshipVO = wmsDocAsnHeaderService.searchSn(snCheckForm);
|
|
|
+ return AjaxResult.success(codeSkuRelationshipVO);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * PDA上架
|
|
|
+ *
|
|
|
+ * @param paForm
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("/docAsn/doPa")
|
|
|
+ public AjaxResult doPa(@RequestBody PaForm paForm) {
|
|
|
+ if (StringUtils.isEmpty(paForm.getPalletNo())) {
|
|
|
+ return AjaxResult.error("托盘号不能为空");
|
|
|
+ }
|
|
|
+ if (StringUtils.isEmpty(paForm.getLocationFrom())) {
|
|
|
+ return AjaxResult.error("起始库位不能为空");
|
|
|
+ }
|
|
|
+ if (StringUtils.isEmpty(paForm.getLocationTo())) {
|
|
|
+ return AjaxResult.error("目标库位不能为空");
|
|
|
+ }
|
|
|
+ return wmsDocAsnHeaderService.doPa(paForm);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 解绑物料
|
|
|
+ *
|
|
|
+ * @param unlockForm
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("/docAsn/unloadStock")
|
|
|
+ public AjaxResult unloadStock(@RequestBody UnlockForm unlockForm) {
|
|
|
+ return wmsDocAsnHeaderService.unloadStock(unlockForm);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 查询批次属性后台配置
|
|
|
*
|
|
@@ -149,54 +277,6 @@ public class PdaController {
|
|
|
return AjaxResult.success(detailsList);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- /**
|
|
|
- * 码盘
|
|
|
- *
|
|
|
- * @param stockForm
|
|
|
- * @return
|
|
|
- */
|
|
|
- @PostMapping("/docAsn/stock")
|
|
|
- @Log(title = "码盘", businessType = BusinessType.INSERT)
|
|
|
- public AjaxResult stock(@RequestBody StockForm stockForm) {
|
|
|
- if (stockForm.getStockTag().equals("Y") && StringUtils.isEmpty(stockForm.getOrderNo())) {
|
|
|
- return AjaxResult.error("码盘备货必须输入出库单号");
|
|
|
- }
|
|
|
- return wmsDocAsnHeaderService.doStock(stockForm);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 条码检测
|
|
|
- *
|
|
|
- * @param snCheckForm
|
|
|
- * @return
|
|
|
- */
|
|
|
- @PostMapping("/docAsn/snCheck")
|
|
|
- public AjaxResult snCheck(@Validated @RequestBody SnCheckForm snCheckForm) {
|
|
|
- CodeSkuRelationshipVO codeSkuRelationshipVO = wmsDocAsnHeaderService.searchSn(snCheckForm);
|
|
|
- return AjaxResult.success(codeSkuRelationshipVO);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * PDA上架
|
|
|
- *
|
|
|
- * @param paForm
|
|
|
- * @return
|
|
|
- */
|
|
|
- @PostMapping("/docAsn/doPa")
|
|
|
- public AjaxResult doPa(@RequestBody PaForm paForm) {
|
|
|
- if (StringUtils.isEmpty(paForm.getPalletNo())) {
|
|
|
- return AjaxResult.error("托盘号不能为空");
|
|
|
- }
|
|
|
- if (StringUtils.isEmpty(paForm.getLocationFrom())) {
|
|
|
- return AjaxResult.error("起始库位不能为空");
|
|
|
- }
|
|
|
- if (StringUtils.isEmpty(paForm.getLocationTo())) {
|
|
|
- return AjaxResult.error("目标库位不能为空");
|
|
|
- }
|
|
|
- return wmsDocAsnHeaderService.doPa(paForm);
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 查询备货绑定
|
|
|
*
|
|
@@ -209,17 +289,6 @@ public class PdaController {
|
|
|
return AjaxResult.success("", searchStockVOList);
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 解绑删除
|
|
|
- *
|
|
|
- * @param unlockForm
|
|
|
- * @return
|
|
|
- */
|
|
|
- @PostMapping("/docAsn/unloadStock")
|
|
|
- public AjaxResult unloadStock(@RequestBody UnlockForm unlockForm) {
|
|
|
- return wmsDocAsnHeaderService.unloadStock(unlockForm);
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 查询流程配置
|
|
|
*
|
|
@@ -247,76 +316,6 @@ public class PdaController {
|
|
|
return AjaxResult.success(lineCallVO);
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 物料拉动通用
|
|
|
- *
|
|
|
- * @param lineCallForm
|
|
|
- * @return
|
|
|
- */
|
|
|
- @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("指令查询不到对应的流程");
|
|
|
- }
|
|
|
-
|
|
|
- Map<String, AgvCallDTO> map = new HashMap<>();
|
|
|
- List<AgvCallDTO> list = new ArrayList<>();
|
|
|
- for (LineCallListFrom lform : lineCallForm.getLineCallList()) {
|
|
|
-
|
|
|
- //入库时绑定托盘
|
|
|
- if (flowConfigHeaderVO.getFlowType().equals("ASN")) {
|
|
|
- PaForm paForm = new PaForm();
|
|
|
- paForm.setPalletNo(lform.getPalletNo());
|
|
|
- paForm.setLocationFrom("900");
|
|
|
- paForm.setLocationTo(lform.getLocationFrom());
|
|
|
- wmsDocAsnHeaderService.doPa(paForm);
|
|
|
- }
|
|
|
-
|
|
|
- if (flowConfigHeaderVO.getFlowType().equals("ASN") && org.apache.commons.lang3.StringUtils.isEmpty(lform.getLocationFrom())) {
|
|
|
- return AjaxResult.error("入库任务必须选择起始库位");
|
|
|
- }
|
|
|
- if (flowConfigHeaderVO.getFlowType().equals("SO") && (lform.getQty() == null || lform.getQty().longValue() == 0)) {
|
|
|
- return AjaxResult.error("出库任务必须选择数量");
|
|
|
- }
|
|
|
- AgvCallDTO agvCallDTO;
|
|
|
- if (map.containsKey(lform.getLocationFrom() + "-" + lform.getLocationTo())) {
|
|
|
- agvCallDTO = map.get(lform.getLocationFrom() + "-" + lform.getLocationTo());
|
|
|
- } else {
|
|
|
- agvCallDTO = new AgvCallDTO();
|
|
|
- agvCallDTO.setWarehouseId(1L);//没用暂时写死
|
|
|
- agvCallDTO.setLocationFrom(lform.getLocationFrom());
|
|
|
- agvCallDTO.setLocationTo(lform.getLocationTo());
|
|
|
- agvCallDTO.setId(lform.getId());
|
|
|
- }
|
|
|
- AgvCallItemDTO agvCallItemDTO = new AgvCallItemDTO();
|
|
|
- agvCallItemDTO.setWarehouseId(1L);
|
|
|
- agvCallItemDTO.setSku(lform.getSku());
|
|
|
- agvCallItemDTO.setQty(lform.getQty());
|
|
|
- agvCallItemDTO.setSupplier(lform.getSupplier());
|
|
|
- agvCallItemDTO.setWeight(lform.getWeight());
|
|
|
- agvCallItemDTO.setLocationFrom(lform.getLocationFrom());
|
|
|
- agvCallItemDTO.setLocationTo(lform.getLocationTo());
|
|
|
- agvCallDTO.getAgvCallItemDTOList().add(agvCallItemDTO);
|
|
|
- LotattDTO lotattDTO = new LotattDTO();
|
|
|
- List<LineCallDetailsForm> lineCallDetailsForms = lform.getLineCallDetailsFormList();
|
|
|
- if (lineCallDetailsForms != null && lineCallDetailsForms.size() > 0) {
|
|
|
- for (LineCallDetailsForm detailsForm : lineCallDetailsForms) {
|
|
|
- lotattDTO.setAttr(detailsForm.getLotattId(), detailsForm.getLotattValue());
|
|
|
- }
|
|
|
- }
|
|
|
- agvCallItemDTO.setLotattDTO(lotattDTO);
|
|
|
- map.put(lform.getLocationFrom() + "-" + lform.getLocationTo(), agvCallDTO);
|
|
|
- }
|
|
|
- for (Map.Entry<String, AgvCallDTO> entry : map.entrySet()) {
|
|
|
- AgvCallDTO mapValue = entry.getValue();
|
|
|
- list.add(mapValue);
|
|
|
- }
|
|
|
- return businessService.agvCall(flowConfigHeaderVO, list);
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 分拣明细查询
|
|
|
*
|
|
@@ -375,11 +374,12 @@ public class PdaController {
|
|
|
|
|
|
/**
|
|
|
* 出库列表
|
|
|
+ *
|
|
|
* @return
|
|
|
*/
|
|
|
@GetMapping("/docOrder/checkOutList")
|
|
|
public AjaxResult checkOutList(@RequestParam String orderNos) {
|
|
|
- List<String> orderList = JSONArray.parseArray(orderNos,String.class);
|
|
|
+ List<String> orderList = JSONArray.parseArray(orderNos, String.class);
|
|
|
List<CheckOutVO> checkOutVOList = wmsDocOrderHeaderService.checkOutList(orderList);
|
|
|
return AjaxResult.success(checkOutVOList);
|
|
|
}
|