diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/SendOutManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/SendOutManageServiceImpl.java index 7108ad2a8..e9727d0b3 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/SendOutManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/SendOutManageServiceImpl.java @@ -289,6 +289,10 @@ public class SendOutManageServiceImpl implements SendOutManageService { .sorted(Comparator.comparing(SchBasePoint::getIn_order_seq)) .collect(Collectors.toList()); + if (ObjectUtil.isEmpty(rowPointList)) { + throw new BadRequestException("此排没有空位!"+json.getString("row_num")); + } + JSONObject jsonNewRow = JSONObject.parseObject(JSON.toJSONString(rowPointList.get(0))); if (cutConveyorTask.isSingleTask(jsonNewRow.getString("point_code"))) { diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 39c077cc8..cf7c2622d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -326,6 +326,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { // 校验木箱高度 String height = whereJson.getString("height"); // 高度类型 JSONObject jsonSub = WQLObject.getWQLObject("pdm_bi_subpackagerelation").query("package_box_sn = '" + vehicle_code + "'").uniqueResult(0); + + if (ObjectUtil.isEmpty(jsonSub)) { + throw new BadRequestException("请检查子卷包装关系是否存在!"); + } double box_high = jsonSub.getDoubleValue("box_high"); // 入库木箱下限 String in_download_box_high = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("in_download_box_high").getValue(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/rest/ProductionOutController.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/rest/ProductionOutController.java index a23e75865..1027127a6 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/rest/ProductionOutController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/rest/ProductionOutController.java @@ -33,6 +33,13 @@ public class ProductionOutController { return new ResponseEntity<>(productionOutService.ivtQuery(whereJson), HttpStatus.OK); } + @PostMapping("/ivtQueryTwo") + @Log("单据初始化查询(二期)") + + public ResponseEntity ivtQueryTwo(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(productionOutService.ivtQueryTwo(whereJson), HttpStatus.OK); + } + @PostMapping("/ivtDtlQuery") @Log("查询点位木箱") @@ -40,6 +47,13 @@ public class ProductionOutController { return new ResponseEntity<>(productionOutService.ivtDtlQuery(whereJson), HttpStatus.OK); } + @PostMapping("/ivtDtlQueryTwo") + @Log("查询点位木箱(二期)") + + public ResponseEntity ivtDtlQueryTwo(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(productionOutService.ivtDtlQueryTwo(whereJson), HttpStatus.OK); + } + @PostMapping("/ivtbBoxDtlQuery") @Log("木箱明细") diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/ProductionOutService.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/ProductionOutService.java index 680584777..0cb0ba048 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/ProductionOutService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/ProductionOutService.java @@ -40,4 +40,20 @@ public interface ProductionOutService { * @return JSONObject / */ JSONObject ivtbBoxDtlQuery(JSONObject whereJson); + + /** + * 单据初始化查询(二期) + * + * @param whereJson / + * @return JSONObject / + */ + JSONObject ivtQueryTwo(JSONObject whereJson); + + /** + * 查询点位木箱(二期) + * + * @param whereJson / + * @return JSONObject / + */ + JSONObject ivtDtlQueryTwo(JSONObject whereJson); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductionOutServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductionOutServiceImpl.java index d7f83f196..8600522c1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductionOutServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductionOutServiceImpl.java @@ -141,4 +141,46 @@ public class ProductionOutServiceImpl implements ProductionOutService { jo.put("message", "查询成功!"); return jo; } + + @Override + public JSONObject ivtQueryTwo(JSONObject whereJson) { + String box_no = whereJson.getString("box_no"); + String bill_code = whereJson.getString("bill_code"); + + JSONObject map = new JSONObject(); + map.put("flag", "11"); + if (ObjectUtil.isNotEmpty(box_no)) { + map.put("box_no", "%" + box_no + "%"); + } + if (ObjectUtil.isNotEmpty(bill_code)) { + map.put("bill_code", "%" + bill_code + "%"); + } + + JSONArray resultJSONArray = WQL.getWO("PDA_PRODUVTIONOUT").addParamMap(map).process().getResultJSONArray(0); + + JSONObject jo = new JSONObject(); + jo.put("data", resultJSONArray); + jo.put("message", "查询成功!"); + return jo; + } + + @Override + public JSONObject ivtDtlQueryTwo(JSONObject whereJson) { + String box_no = whereJson.getString("box_no"); + String bill_code = whereJson.getString("bill_code"); + + JSONObject map = new JSONObject(); + map.put("flag", "22"); + map.put("bill_code", bill_code); + if (ObjectUtil.isNotEmpty(box_no)) { + map.put("box_no", "%" + box_no + "%"); + } + + JSONArray resultJSONArray = WQL.getWO("PDA_PRODUVTIONOUT").addParamMap(map).process().getResultJSONArray(0); + + JSONObject jo = new JSONObject(); + jo.put("data", resultJSONArray); + jo.put("message", "查询成功!"); + return jo; + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/wql/PDA_PRODUVTIONOUT.wql b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/wql/PDA_PRODUVTIONOUT.wql index d22e70d6b..f66d3abf4 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/wql/PDA_PRODUVTIONOUT.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/wql/PDA_PRODUVTIONOUT.wql @@ -82,6 +82,65 @@ ) dis ON dis.iostorinv_id = mst.iostorinv_id LEFT JOIN sch_base_point point ON point.vehicle_code = dis.box_no LEFT JOIN md_cs_customerbase cust ON cust.cust_code = mst.cust_code + WHERE + mst.is_delete = '0' + AND mst.io_type = '1' + AND point.point_type = '9' + + OPTION 输入.box_no <> "" + point.vehicle_code LIKE 输入.box_no + ENDOPTION + + OPTION 输入.bill_code <> "" + mst.bill_code LIKE 输入.bill_code + ENDOPTION + + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "11" + QUERY + SELECT DISTINCT + mst.bill_code, + ( + CASE + mst.bill_status + WHEN '10' THEN '生成' + WHEN '20' THEN '提交' + WHEN '30' THEN '分配中' + WHEN '40' THEN '分配完' + WHEN '50' THEN '确认' + WHEN '99' THEN '完成' + END + ) AS bill_status, + ROUND(mst.total_qty, 3) AS total_qty, + mst.detail_count, + mst.cust_code, + cust.cust_name, + mst.source_id, + mst.remark, + mst.input_optname, + mst.input_time, + mst.dis_optname, + mst.dis_time, + mst.confirm_optname, + mst.confirm_time + FROM + st_ivt_iostorinv mst + LEFT JOIN ( + SELECT + a.box_no, + max(a.iostorinv_id) AS iostorinv_id + FROM + st_ivt_iostorinvdis a + LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id + WHERE + b.io_type = '1' + group by a.box_no + ) dis ON dis.iostorinv_id = mst.iostorinv_id + LEFT JOIN sch_base_point point ON point.vehicle_code = dis.box_no + LEFT JOIN md_cs_customerbase cust ON cust.cust_code = mst.cust_code WHERE mst.is_delete = '0' AND mst.io_type = '1' @@ -139,6 +198,64 @@ group by package_box_sn ) sub ON sub.package_box_sn = dis.box_no LEFT JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id + WHERE + mst.is_delete = '0' + AND mst.io_type = '1' + AND point.point_type = '9' + + OPTION 输入.box_no <> "" + point.vehicle_code LIKE 输入.box_no + ENDOPTION + + OPTION 输入.bill_code <> "" + mst.bill_code = 输入.bill_code + ENDOPTION + + order by point_code + + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "22" + QUERY + SELECT + point.vehicle_code AS package_box_sn, + point.point_code, + point.point_name, + ROUND(sub.box_weight,3) AS box_weight, + sub.product_name, + sub.product_description, + sub.sale_order_name, + ROUND(sub.net_weight_num,3) AS net_weight_num + FROM + sch_base_point point + LEFT JOIN ( + SELECT + a.box_no, + max(a.iostorinv_id) AS iostorinv_id + FROM + st_ivt_iostorinvdis a + LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id + WHERE + b.io_type = '1' + group by a.box_no + ) dis ON dis.box_no = point.vehicle_code + LEFT JOIN ( + SELECT + package_box_sn, + MAX(box_weight) AS box_weight, + sum(net_weight) AS net_weight_num, + MAX(product_name) AS product_name, + MAX(product_description) AS product_description, + MAX(sale_order_name) AS sale_order_name + FROM + pdm_bi_subpackagerelation + WHERE + 1 = 1 + group by package_box_sn + ) sub ON sub.package_box_sn = dis.box_no + LEFT JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id WHERE mst.is_delete = '0' AND mst.io_type = '1'