diff --git a/src/main/java/com/huaheng/api/mes/controller/MesReceiptController.java b/src/main/java/com/huaheng/api/mes/controller/MesReceiptController.java index 71aefba..dfa6080 100644 --- a/src/main/java/com/huaheng/api/mes/controller/MesReceiptController.java +++ b/src/main/java/com/huaheng/api/mes/controller/MesReceiptController.java @@ -566,15 +566,8 @@ public class MesReceiptController extends BaseController { JSONArray jsonArray = new JSONArray(); JSONObject Rd_In_S = new JSONObject(); List<TaskDetail> taskDetails = taskDetailService.list(new LambdaQueryWrapper<TaskDetail>().eq(TaskDetail::getBillDetailId, receiptDetail.getId())); - if (!taskDetails.isEmpty()) { - if (taskDetails.get(0).getFlat() != null && taskDetails.get(0).getFlat() == 1) { - Rd_In_S.put("cidefine10", "平库"); - } else { - Rd_In_S.put("cidefine10", "立库"); - } - } else { - Rd_In_S.put("cidefine10", "错误:未查询到任务!"); - } + String str = computeWarehouseType(taskDetails); + Rd_In_S.put("cidefine10", str); Rd_In_S.put("MGPK", receiptHeader.getMOMID()); Rd_In_S.put("SGPK", receiptDetail.getMOMID()); Rd_In_S.put("SNNO", receiptDetail.getSNNO()); @@ -629,15 +622,8 @@ public class MesReceiptController extends BaseController { for (ReceiptDetail receiptDetail : receiptDetails) { OtherReceiptDetail detail = new OtherReceiptDetail(); List<TaskDetail> taskDetails = taskDetailService.list(new LambdaQueryWrapper<TaskDetail>().eq(TaskDetail::getBillDetailId, receiptDetail.getId())); - if (!taskDetails.isEmpty()) { - if (taskDetails.get(0).getFlat() != null && taskDetails.get(0).getFlat() == 1) { - detail.setIsFlat("平库"); - } else { - detail.setIsFlat("立库"); - } - } else { - detail.setIsFlat("错误:未查询到任务!"); - } + String str = computeWarehouseType(taskDetails); + detail.setIsFlat(str); detail.setMomIdByHeader(receiptHeader.getMOMID()); detail.setMomId(receiptDetail.getMOMID()); detail.setSnNo(receiptDetail.getSNNO()); @@ -786,15 +772,8 @@ public class MesReceiptController extends BaseController { Rd_Out_S.put("iFQuantity", shipmentDetail.getQty()); Rd_Out_S.put("cwhcode", "035"); List<TaskDetail> taskDetails = taskDetailService.list(new LambdaQueryWrapper<TaskDetail>().eq(TaskDetail::getBillDetailId, shipmentDetail.getId())); - if (!taskDetails.isEmpty()) { - if (taskDetails.get(0).getFlat() != null && taskDetails.get(0).getFlat() == 1) { - Rd_Out_S.put("cidefine10", "平库"); - } else { - Rd_Out_S.put("cidefine10", "立库"); - } - } else { - Rd_Out_S.put("cidefine10", "错误:未查询到任务!"); - } + String str = computeWarehouseType(taskDetails); + Rd_Out_S.put("cidefine10", str); Rd_Out_S.put("MOCode", shipmentDetail.getNoticeNo()); Rd_Out_S.put("ISUrgent", shipmentDetail.getIsUrgent()); Rd_Out_S.put("updatedByNo", user.getLoginName()); @@ -812,6 +791,34 @@ public class MesReceiptController extends BaseController { return jsonArray; } + + public String computeWarehouseType(List<TaskDetail> taskDetails) { + int flatCount = 0; + int uprightCount = 0; + BigDecimal flatQty = BigDecimal.ZERO; + BigDecimal uprightQty = BigDecimal.ZERO; + String str; + for (TaskDetail taskDetail : taskDetails) { + if (taskDetail.getFlat() != null && taskDetail.getFlat() == 1) { + flatCount++; + flatQty = flatQty.add(taskDetail.getQty()); + } else { + uprightCount++; + uprightQty = uprightQty.add(taskDetail.getQty()); + } + } + if (flatCount > 0 && uprightCount == 0) { + str = "平库"; + } else if (uprightCount > 0 && flatCount == 0) { + str = "立库"; + } else if (flatCount > 0 && uprightCount > 0) { + str = "平库" + flatCount + "/" + "立库" + uprightQty; + } else { + str = "错误:未查询到任务!"; + } + return str; + } + public JSONObject getRd_Out_M(@RequestBody ShipmentHeader shipmentHeader, String name) { User user = userService.selectUserByEmail(shipmentHeader.getLastUpdatedBy()); JSONObject Rd_Out_M = new JSONObject();