From ba5135c336c1ab2e4e738b30be7db61e50abae60 Mon Sep 17 00:00:00 2001 From: liuxy Date: Wed, 11 Jan 2023 09:57:47 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/HandMoveStorServiceImpl.java | 2 +- .../service/impl/CheckOutBillServiceImpl.java | 314 ++++++++++-------- .../org/nl/wms/st/outbill/wql/ST_OUTIVT04.wql | 3 +- 3 files changed, 177 insertions(+), 142 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/HandMoveStorServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/HandMoveStorServiceImpl.java index de561f62f..58cb6ad3c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/HandMoveStorServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/HandMoveStorServiceImpl.java @@ -75,7 +75,7 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { * * @param moveinv_id */ - void deleteById(String moveinv_id) { + public void deleteById(String moveinv_id) { //明细表 WQLObject wo_dtl = WQLObject.getWQLObject("ST_IVT_MoveInvDtl"); //主表 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java index 0cadccf54..033f7d901 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java @@ -34,6 +34,7 @@ import org.nl.wms.st.inbill.service.CheckOutBillService; import org.nl.wms.st.inbill.service.RawAssistIStorService; import org.nl.wms.st.inbill.service.StorPublicService; import org.nl.wms.st.instor.service.HandMoveStorService; +import org.nl.wms.st.instor.service.impl.HandMoveStorServiceImpl; import org.nl.wms.st.instor.task.HandMoveStorAcsTask; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; @@ -1235,6 +1236,10 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_IOStorInv"); //任务表 WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task"); + //移库单明细表 + WQLObject move_dtl = WQLObject.getWQLObject("ST_IVT_MoveInvDtl"); + //移库单主表 + WQLObject move_mst = WQLObject.getWQLObject("ST_IVT_MoveInv"); String iostorinv_id = whereJson.getString("iostorinv_id"); //查询主表信息 @@ -1313,9 +1318,32 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { if (flag.size() == 0) {//仓位载具冻结数为0 //任务号不为空 if (ObjectUtil.isNotEmpty(dis.getString("task_id"))) { + // 判断是否有移库的任务:有就取消掉 + JSONObject jsonTask = wo_Task.query("task_id = '" + dis.getString("task_id") + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(jsonTask)) { + JSONArray moveArrTask = wo_Task.query("task_group_id = '" + jsonTask.getString("task_group_id") + "' and task_type = '010505'").getResultJSONArray(0); + + for (int j = 0; j < moveArrTask.size(); j++) { + JSONObject jsonMoveTask = moveArrTask.getJSONObject(j); + // 调用删除移库单 + JSONObject jsonMoveDtl = move_dtl.query("task_id = '" + jsonMoveTask.getString("task_id") + "'").uniqueResult(0); + + if (ObjectUtil.isNotEmpty(jsonMoveDtl)) { + JSONObject jsonMoveMst = move_mst.query("moveinv_id = '" + jsonMoveDtl.getString("moveinv_id") + "' and is_delete = '0'").uniqueResult(0); + + if (ObjectUtil.isNotEmpty(jsonMoveMst)) { + HandMoveStorServiceImpl bean = SpringContextHolder.getBean(HandMoveStorServiceImpl.class); + bean.deleteById(jsonMoveMst.getString("moveinv_id")); + } + } + + } + } + //更新对应任务为删除 map.put("is_delete", "1"); wo_Task.update(map, "task_id='" + dis.getString("task_id") + "'"); + } //解锁起点仓位点位 JSONObject from_start = new JSONObject(); @@ -2524,43 +2552,149 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { JSONArray disRowArrNew = new JSONArray(); String option = ""; // 1.左 2.右 - String placement_type = jsonRow.getString("placement_type"); // 单通或双通 - // 双通 - if (StrUtil.equals(placement_type, "01")) { +// String placement_type = jsonRow.getString("placement_type"); // 单通或双通 - // 取右边第一个 - JSONObject jsonDisRight = disRowArr.getJSONObject(0); - // 取左边第一个 - JSONObject jsonDisLeft = disRowArr.getJSONObject(disRowArr.size() - 1); + for (int p = 0; p < disRowArr.size(); p++) { + JSONObject jsonObject4 = disRowArr.getJSONObject(p); + String placement_type = jsonObject4.getString("placement_type"); + // 双通 + if (StrUtil.equals(placement_type, "01")) { - /* - * 判断左边被挡住的个数多还是右边被挡住的个数多 - */ - // 判断右边边被挡住的个数 - JSONObject isNumMap = new JSONObject(); - isNumMap.put("flag", "3"); - isNumMap.put("block_num", jsonDisRight.getString("block_num")); - isNumMap.put("row_num", jsonDisRight.getString("row_num")); - isNumMap.put("out_order_seq", jsonDisRight.getString("out_order_seq")); - JSONArray numArrFirst = WQL.getWO("ST_OUTIVT04").addParamMap(isNumMap).process().getResultJSONArray(0); + // 取右边第一个 + JSONObject jsonDisRight = disRowArr.getJSONObject(0); + // 取左边第一个 + JSONObject jsonDisLeft = disRowArr.getJSONObject(disRowArr.size() - 1); - // 调用共用方法计算被挡个数 - JSONArray rightNumArr = this.isNum(numArrFirst); - - // 判断左边被挡住的个数 - isNumMap.put("flag", "4"); - isNumMap.put("block_num", jsonDisLeft.getString("block_num")); - isNumMap.put("row_num", jsonDisLeft.getString("row_num")); - isNumMap.put("out_order_seq", jsonDisLeft.getString("out_order_seq")); - JSONArray numArrLast = WQL.getWO("ST_OUTIVT04").addParamMap(isNumMap).process().getResultJSONArray(0); - - // 调用共用方法计算被挡个数 - JSONArray leftNumArr = this.isNum(numArrLast); - // 判断哪边少 - if (rightNumArr.size() > leftNumArr.size()) { /* - * 左边开始 + * 判断左边被挡住的个数多还是右边被挡住的个数多 */ + // 判断右边边被挡住的个数 + JSONObject isNumMap = new JSONObject(); + isNumMap.put("flag", "3"); + isNumMap.put("block_num", jsonDisRight.getString("block_num")); + isNumMap.put("row_num", jsonDisRight.getString("row_num")); + isNumMap.put("out_order_seq", jsonDisRight.getString("out_order_seq")); + JSONArray numArrFirst = WQL.getWO("ST_OUTIVT04").addParamMap(isNumMap).process().getResultJSONArray(0); + + // 调用共用方法计算被挡个数 + JSONArray rightNumArr = this.isNum(numArrFirst); + + // 判断左边被挡住的个数 + isNumMap.put("flag", "4"); + isNumMap.put("block_num", jsonDisLeft.getString("block_num")); + isNumMap.put("row_num", jsonDisLeft.getString("row_num")); + isNumMap.put("out_order_seq", jsonDisLeft.getString("out_order_seq")); + JSONArray numArrLast = WQL.getWO("ST_OUTIVT04").addParamMap(isNumMap).process().getResultJSONArray(0); + + // 调用共用方法计算被挡个数 + JSONArray leftNumArr = this.isNum(numArrLast); + // 判断哪边少 + if (rightNumArr.size() > leftNumArr.size()) { + /* + * 左边开始 + */ + // 查询仓位被锁住的货位 + isNumMap.put("flag", "5"); + isNumMap.put("block_num", jsonDisLeft.getString("block_num")); + isNumMap.put("row_num", jsonDisLeft.getString("row_num")); + isNumMap.put("out_order_seq", jsonDisLeft.getString("out_order_seq")); + JSONArray isLockArr = WQL.getWO("ST_OUTIVT04").addParamMap(isNumMap).process().getResultJSONArray(0); + + JSONArray numArr = this.isNum(isLockArr); + // 不为空则返回报错 + if (ObjectUtil.isNotEmpty(numArr)) { + String error = ""; + + for (int k = 0; k < numArr.size(); k++) { + JSONObject json = numArr.getJSONObject(k); + error += json.getString("struct_code") + ","; + } + + throw new BadRequestException("仓位:" + error + "被锁定且未下发任务,无法生成任务!"); + } + // 重新按照排序查询 + disRowArrNew = WQL.getWO("ST_OUTIVT04") + .addParam("flag", "22") + .addParam("iostorinvdtl_id", iostorinvdtl_id) + .addParam("block_num", jsonRow.getString("block_num")) + .addParam("row_num", jsonRow.getString("row_num")) + .process().getResultJSONArray(0); + + option = "1"; + + } else if (rightNumArr.size() < leftNumArr.size()) { + /* + * 右边开始 + */ + // 查询仓位被锁住的货位 + isNumMap.put("flag", "6"); + isNumMap.put("block_num", jsonDisRight.getString("block_num")); + isNumMap.put("row_num", jsonDisRight.getString("row_num")); + isNumMap.put("out_order_seq", jsonDisRight.getString("out_order_seq")); + JSONArray isLockArr = WQL.getWO("ST_OUTIVT04").addParamMap(isNumMap).process().getResultJSONArray(0); + + JSONArray numArr = this.isNum(isLockArr); + // 不为空则返回报错 + if (ObjectUtil.isNotEmpty(numArr)) { + String error = ""; + + for (int k = 0; k < numArr.size(); k++) { + JSONObject json = numArr.getJSONObject(k); + error += json.getString("struct_code") + ","; + } + + throw new BadRequestException("仓位:" + error + "被锁定且未下发任务,无法生成任务!"); + } + + // 重新按照排序查询 + disRowArrNew = WQL.getWO("ST_OUTIVT04") + .addParam("flag", "2") + .addParam("iostorinvdtl_id", iostorinvdtl_id) + .addParam("block_num", jsonRow.getString("block_num")) + .addParam("row_num", jsonRow.getString("row_num")) + .process().getResultJSONArray(0); + + option = "2"; + } else { + /* + * 相等默认右边开始 + */ + // 查询仓位被锁住的货位 + isNumMap.put("flag", "6"); + isNumMap.put("block_num", jsonDisRight.getString("block_num")); + isNumMap.put("row_num", jsonDisRight.getString("row_num")); + isNumMap.put("out_order_seq", jsonDisRight.getString("out_order_seq")); + JSONArray isLockArr = WQL.getWO("ST_OUTIVT04").addParamMap(isNumMap).process().getResultJSONArray(0); + + JSONArray numArr = this.isNum(isLockArr); + // 不为空则返回报错 + if (ObjectUtil.isNotEmpty(numArr)) { + String error = ""; + + for (int k = 0; k < numArr.size(); k++) { + JSONObject json = numArr.getJSONObject(k); + error += json.getString("struct_code") + ","; + } + + throw new BadRequestException("仓位:" + error + "被锁定且未下发任务,无法生成任务!"); + } + + // 重新按照排序查询 + disRowArrNew = WQL.getWO("ST_OUTIVT04") + .addParam("flag", "2") + .addParam("iostorinvdtl_id", iostorinvdtl_id) + .addParam("block_num", jsonRow.getString("block_num")) + .addParam("row_num", jsonRow.getString("row_num")) + .process().getResultJSONArray(0); + + option = "2"; + } + + } else if (StrUtil.equals(placement_type, "02")) { + // 左通 + JSONObject jsonDisLeft = disRowArr.getJSONObject(disRowArr.size() - 1); + + JSONObject isNumMap = new JSONObject(); // 查询仓位被锁住的货位 isNumMap.put("flag", "5"); isNumMap.put("block_num", jsonDisLeft.getString("block_num")); @@ -2578,7 +2712,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { error += json.getString("struct_code") + ","; } - throw new BadRequestException("仓位:" + error + "被锁定且未下发任务,无法生成任务!"); + throw new BadRequestException("仓位:" + error + "被锁定且未下发任务"); } // 重新按照排序查询 disRowArrNew = WQL.getWO("ST_OUTIVT04") @@ -2590,10 +2724,10 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { option = "1"; - } else if (rightNumArr.size() < leftNumArr.size()) { - /* - * 右边开始 - */ + } else if (StrUtil.equals(placement_type, "03")) { + // 右通 + JSONObject jsonDisRight = disRowArr.getJSONObject(0); + JSONObject isNumMap = new JSONObject(); // 查询仓位被锁住的货位 isNumMap.put("flag", "6"); isNumMap.put("block_num", jsonDisRight.getString("block_num")); @@ -2611,40 +2745,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { error += json.getString("struct_code") + ","; } - throw new BadRequestException("仓位:" + error + "被锁定且未下发任务,无法生成任务!"); - } - - // 重新按照排序查询 - disRowArrNew = WQL.getWO("ST_OUTIVT04") - .addParam("flag", "2") - .addParam("iostorinvdtl_id", iostorinvdtl_id) - .addParam("block_num", jsonRow.getString("block_num")) - .addParam("row_num", jsonRow.getString("row_num")) - .process().getResultJSONArray(0); - - option = "2"; - } else { - /* - * 相等默认右边开始 - */ - // 查询仓位被锁住的货位 - isNumMap.put("flag", "6"); - isNumMap.put("block_num", jsonDisRight.getString("block_num")); - isNumMap.put("row_num", jsonDisRight.getString("row_num")); - isNumMap.put("out_order_seq", jsonDisRight.getString("out_order_seq")); - JSONArray isLockArr = WQL.getWO("ST_OUTIVT04").addParamMap(isNumMap).process().getResultJSONArray(0); - - JSONArray numArr = this.isNum(isLockArr); - // 不为空则返回报错 - if (ObjectUtil.isNotEmpty(numArr)) { - String error = ""; - - for (int k = 0; k < numArr.size(); k++) { - JSONObject json = numArr.getJSONObject(k); - error += json.getString("struct_code") + ","; - } - - throw new BadRequestException("仓位:" + error + "被锁定且未下发任务,无法生成任务!"); + throw new BadRequestException("仓位:" + error + "被锁定且未下发任务"); } // 重新按照排序查询 @@ -2657,78 +2758,11 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { option = "2"; } - - } else if (StrUtil.equals(placement_type, "02")) { - // 左通 - JSONObject jsonDisLeft = disRowArr.getJSONObject(disRowArr.size() - 1); - - JSONObject isNumMap = new JSONObject(); - // 查询仓位被锁住的货位 - isNumMap.put("flag", "5"); - isNumMap.put("block_num", jsonDisLeft.getString("block_num")); - isNumMap.put("row_num", jsonDisLeft.getString("row_num")); - isNumMap.put("out_order_seq", jsonDisLeft.getString("out_order_seq")); - JSONArray isLockArr = WQL.getWO("ST_OUTIVT04").addParamMap(isNumMap).process().getResultJSONArray(0); - - JSONArray numArr = this.isNum(isLockArr); - // 不为空则返回报错 - if (ObjectUtil.isNotEmpty(numArr)) { - String error = ""; - - for (int k = 0; k < numArr.size(); k++) { - JSONObject json = numArr.getJSONObject(k); - error += json.getString("struct_code") + ","; - } - - throw new BadRequestException("仓位:" + error + "被锁定且未下发任务"); - } - // 重新按照排序查询 - disRowArrNew = WQL.getWO("ST_OUTIVT04") - .addParam("flag", "22") - .addParam("iostorinvdtl_id", iostorinvdtl_id) - .addParam("block_num", jsonRow.getString("block_num")) - .addParam("row_num", jsonRow.getString("row_num")) - .process().getResultJSONArray(0); - - option = "1"; - - } else if (StrUtil.equals(placement_type, "03")) { - // 右通 - JSONObject jsonDisRight = disRowArr.getJSONObject(0); - JSONObject isNumMap = new JSONObject(); - // 查询仓位被锁住的货位 - isNumMap.put("flag", "6"); - isNumMap.put("block_num", jsonDisRight.getString("block_num")); - isNumMap.put("row_num", jsonDisRight.getString("row_num")); - isNumMap.put("out_order_seq", jsonDisRight.getString("out_order_seq")); - JSONArray isLockArr = WQL.getWO("ST_OUTIVT04").addParamMap(isNumMap).process().getResultJSONArray(0); - - JSONArray numArr = this.isNum(isLockArr); - // 不为空则返回报错 - if (ObjectUtil.isNotEmpty(numArr)) { - String error = ""; - - for (int k = 0; k < numArr.size(); k++) { - JSONObject json = numArr.getJSONObject(k); - error += json.getString("struct_code") + ","; - } - - throw new BadRequestException("仓位:" + error + "被锁定且未下发任务"); - } - - // 重新按照排序查询 - disRowArrNew = WQL.getWO("ST_OUTIVT04") - .addParam("flag", "2") - .addParam("iostorinvdtl_id", iostorinvdtl_id) - .addParam("block_num", jsonRow.getString("block_num")) - .addParam("row_num", jsonRow.getString("row_num")) - .process().getResultJSONArray(0); - - option = "2"; + break; } /* - * 循环生成任务 + * 生成任务 */ boolean canOut = false; int j = 0; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/wql/ST_OUTIVT04.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/wql/ST_OUTIVT04.wql index 761b28921..aa2072d28 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/wql/ST_OUTIVT04.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/wql/ST_OUTIVT04.wql @@ -88,7 +88,8 @@ max(dis.point_id) AS point_id, max(attr.out_order_seq) AS out_order_seq, max(attr.block_num) AS block_num, - max(attr.row_num) AS row_num + max(attr.row_num) AS row_num, + max(attr.placement_type) AS placement_type FROM ST_IVT_IOStorInvDis dis LEFT JOIN st_ivt_structattr attr ON dis.struct_id = attr.struct_id From 7aeb910489d30725ddf043228ba7e17a779f726d Mon Sep 17 00:00:00 2001 From: liuxy Date: Wed, 11 Jan 2023 13:08:32 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/nl/wms/st/returns/wql/QST_IVT_INANDOUTRETRUN.wql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/wql/QST_IVT_INANDOUTRETRUN.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/wql/QST_IVT_INANDOUTRETRUN.wql index d3dd06d2a..5dfccaae8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/wql/QST_IVT_INANDOUTRETRUN.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/wql/QST_IVT_INANDOUTRETRUN.wql @@ -63,7 +63,7 @@ PAGEQUERY SELECT DISTINCT mst.*, - dtl.source_bill_type, + IFNULL( dtl.source_bill_type, '' ) AS source_bill_type, IFNULL(dtl.vbeln,'') AS vbeln, user.person_name AS upload_name FROM From 5eca5cacf6c532a5e5290957f559c405dd114d35 Mon Sep 17 00:00:00 2001 From: zhangzhiqiang Date: Wed, 11 Jan 2023 13:38:02 +0800 Subject: [PATCH 3/4] =?UTF-8?q?fix:=E7=94=A8=E6=88=B7=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=A8=A1=E7=B3=8A=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/system/service/user/dao/mapper/SysUserMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/user/dao/mapper/SysUserMapper.xml b/lms/nladmin-system/src/main/java/org/nl/system/service/user/dao/mapper/SysUserMapper.xml index bb1a78448..e89cfc99e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/system/service/user/dao/mapper/SysUserMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/user/dao/mapper/SysUserMapper.xml @@ -86,7 +86,7 @@ and #{query.endTime} >= sys_user.create_time - and (email like #{query.blurry} or username like #{query.blurry} or person_name like #{query.blurry}) + and (email like "%"#{query.blurry}"%" or username like "%"#{query.blurry}"%" or person_name like "%"#{query.blurry}"%") From 26fe010d9cf0bedfb553cc1be2f94886a8ba5a21 Mon Sep 17 00:00:00 2001 From: liuxy Date: Wed, 11 Jan 2023 18:29:22 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wms/ext/acs/rest/AcsToWmsController.java | 10 ++ .../wms/ext/acs/service/AcsToWmsService.java | 4 + .../acs/service/impl/AcsToWmsServiceImpl.java | 104 ++++++++++++++++++ 3 files changed, 118 insertions(+) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java index 23b518599..c70523920 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java @@ -80,5 +80,15 @@ public class AcsToWmsController { return new ResponseEntity<>(acsToWmsService.process(jo), HttpStatus.OK); } + @PostMapping("/initialize") + @Log("仓位初始化") + @ApiOperation("仓位初始化") + @SaIgnore + @SaCheckPermission("menu:list") + public ResponseEntity initialize(@RequestBody JSONObject json) { + acsToWmsService.initialize(json); + return new ResponseEntity<>(HttpStatus.OK); + } + } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java index 8e84247a0..3fab02fb1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java @@ -69,4 +69,8 @@ public interface AcsToWmsService { */ JSONObject process(JSONObject whereJson); + /** + * 仓位初始化 + */ + void initialize(JSONObject json); } 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 29385a761..a1b495fce 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 @@ -1,6 +1,7 @@ package org.nl.wms.ext.acs.service.impl; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; @@ -545,4 +546,107 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { result.put("dtl_type", "1"); return result; } + + @Override + public void initialize(JSONObject param) { + { + { + int j_size = param.getInteger("j"); // 排 + int k_size = param.getInteger("k"); // 列 + String block = param.getString("layer"); // 块 + JSONObject max_jo = WQLObject.getWQLObject("ST_IVT_StructAttr").query("sect_code = 'ZC01' order by out_order_seq desc ").uniqueResult(0); + int max_no = 0; + if (ObjectUtil.isNotEmpty(max_jo)) { + max_no = max_jo.getIntValue("out_order_seq"); + } + max_no++; + for (int i = 1; i < 4; i++) { + for (int j = 1; j < j_size; j++) { + for (int k = 1; k < k_size; k++) { + //排 + String row = ""; + if (j < 10) { + row = "0" + j; + } else { + row = j + ""; + } + + //列 + String line = ""; + if (k < 10) { + line = "0" + k; + } else { + line = k + ""; + } + + //块 + String piece = i + block; + + //层 + String layer = "0" + i; + + + JSONObject jo = new JSONObject(); + jo.put("struct_id", IdUtil.getSnowflake(1, 1).nextId()); + jo.put("struct_code", piece + row + "-" + line + "-" + layer); + jo.put("struct_name", piece + "区" + row + "排" + line + "列" + layer + "层"); + jo.put("simple_name", piece + "区" + row + "排" + line + "列" + layer + "层"); + jo.put("sect_id", "1582991348217286656"); + jo.put("sect_code", "ZC01"); + jo.put("sect_name", "主存区"); + jo.put("stor_id", "1582991156504039424"); + jo.put("stor_code", "CP01"); + jo.put("stor_name", "兰州仓库"); + jo.put("stor_type", "03"); + jo.put("is_tempstruct", "0"); + jo.put("row_num", row); + jo.put("col_num", line); + jo.put("layer_num", layer); + jo.put("block_num", piece); + jo.put("in_order_seq", 0); + jo.put("out_order_seq", max_no); + jo.put("in_empty_seq", 0); + jo.put("out_empty_seq", 0); + jo.put("placement_type", "01"); + jo.put("create_id", "1"); + jo.put("create_name", "管理员"); + jo.put("create_time", DateUtil.now()); + jo.put("update_optid", "1"); + jo.put("update_optname", "管理员"); + jo.put("update_time", DateUtil.now()); + jo.put("is_delete", "0"); + jo.put("is_used", "1"); + jo.put("lock_type", "1"); + jo.put("material_height_type", "1"); + WQLObject.getWQLObject("ST_IVT_StructAttr").insert(jo); + max_no++; + //插入点位 + JSONObject structMap = new JSONObject(); + structMap.put("point_id", IdUtil.getSnowflake(1,1).nextId()); + structMap.put("point_code", jo.getString("struct_code")); + structMap.put("point_name", jo.getString("struct_name")); + structMap.put("region_id", "1582991348217286656"); + structMap.put("region_code", jo.getString("sect_code")); + structMap.put("region_name", jo.getString("sect_name")); + structMap.put("point_type", "2"); + structMap.put("point_status", "1"); + structMap.put("lock_type", jo.getString("lock_type")); + structMap.put("block_num", jo.getIntValue("block_num")); + structMap.put("row_num", jo.getIntValue("row_num")); + structMap.put("col_num", jo.getIntValue("col_num")); + structMap.put("layer_num", jo.getIntValue("layer_num")); + structMap.put("source_id", jo.getString("struct_id")); + structMap.put("create_id", "1"); + structMap.put("create_name", "管理员"); + structMap.put("create_time", DateUtil.now()); + structMap.put("update_optid", "1"); + structMap.put("update_optname", "管理员"); + structMap.put("update_time", DateUtil.now()); + WQLObject.getWQLObject("sch_base_point").insert(structMap); + } + } + } + } + } + } }