From 7a1277cc909fcde71c87ae6ea6b29bffcfadf386 Mon Sep 17 00:00:00 2001 From: ls <1793460677@qq.com> Date: Fri, 16 Jan 2026 18:25:46 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iostorInv/IStIvtIostorinvService.java | 4 ++ .../impl/StIvtIostorinvOutServiceImpl.java | 22 +++---- .../impl/StIvtIostorinvServiceImpl.java | 57 +++++++++++++++++++ .../service/impl/VirtualOutServiceImpl.java | 4 +- .../inbill/rest/RawAssistIStorController.java | 15 ++++- .../service/impl/OutChargeServiceImpl.java | 7 ++- 6 files changed, 91 insertions(+), 18 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/IStIvtIostorinvService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/IStIvtIostorinvService.java index fa2cd4e..00bb7c8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/IStIvtIostorinvService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/IStIvtIostorinvService.java @@ -1,5 +1,6 @@ package org.nl.b_lms.storage_manage.ios.service.iostorInv; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinv; @@ -101,6 +102,9 @@ public interface IStIvtIostorinvService extends IService { */ void unDivStruct(Map whereJson); + + void allDivStruct(JSONObject form); + /** * 设置起点 * @param whereJson { diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java index d67a8be..77ab22d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java @@ -297,17 +297,17 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl vehicle_set = new HashSet<>(); + for (int j = 0; j < dis_rows.size(); j++) { + JSONObject dtl_row = dis_rows.getJSONObject(j); + vehicle_set.add(dtl_row.getString("box_no")); + } + + RLock lock = redissonClient.getLock("all_div"); + boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); + + try { + if (tryLock) { + for (String vehicle_code : vehicle_set) { + HashMap map = new HashMap<>(); + map.put("flag", "4"); + map.put("iostorinv_id", iostorinv_id); + map.put("package_box_sn", vehicle_code); + JSONArray dtl_rows = WQL.getWO("QST_IVT_RAWASSISTISTOR").addParamMap(map).process().getResultJSONArray(0); + List list = new ArrayList<>(); + for (int i = 0; i < dtl_rows.size(); i++) { + JSONObject jo = dtl_rows.getJSONObject(i); + list.add(JSON.parseObject(jo.toString(), Map.class)); + } + Map dis_map = new HashMap<>(); + dis_map.put("tableMater", list); + dis_map.put("sect_id", sect_id); + dis_map.put("stor_id", stor_id); + dis_map.put("checked", true); + this.divStruct(dis_map); + } + } else { + throw new BadRequestException("其他入库单当前正在分配货位,请等待几秒再进行操作!"); + } + } finally { + if (lock.isLocked() && lock.isHeldByCurrentThread()) { + lock.unlock(); + } + } + + } + + @Override @Transactional public void unDivStruct(Map whereJson) { diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/VirtualOutServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/VirtualOutServiceImpl.java index e99b8e4..e62d498 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/VirtualOutServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/VirtualOutServiceImpl.java @@ -148,9 +148,7 @@ public class VirtualOutServiceImpl implements VirtualOutService { JSONArray dtlNoArr = dtlTab.query("iostorinv_id = '" + jsonDis.getString("iostorinv_id") + "' and bill_status <> '99'").getResultJSONArray(0); if (ObjectUtil.isEmpty(dtlNoArr)) { // 调用强制完成接口(判断是一期还是二期) - if (jsonMst.getString("stor_id").equals(IOSEnum.STOR_ID.code("二期"))) { - iStIvtIostorinvOutService.confirm(jsonMst); - } + iStIvtIostorinvOutService.confirm(jsonMst); } } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/rest/RawAssistIStorController.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/rest/RawAssistIStorController.java index ed36e7d..2070d85 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/rest/RawAssistIStorController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/rest/RawAssistIStorController.java @@ -1,6 +1,7 @@ package org.nl.wms.st.inbill.rest; import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; @@ -150,10 +151,18 @@ public class RawAssistIStorController { //@PreAuthorize("@el.check('materialtype:list')") public ResponseEntity unDivStruct(@RequestBody Map whereJson) { - if (whereJson.get("stor_id").toString().equals(IOSEnum.STOR_ID.code("二期"))) { - iStIvtIostorinvService.unDivStruct(whereJson); - } + iStIvtIostorinvService.unDivStruct(whereJson); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } + + + @PostMapping("/allDivStruct") + @Log("全部分配货位") + + //@PreAuthorize("@el.check('materialtype:list')") + public ResponseEntity allDivStruct(@RequestBody JSONObject whereJson) { + iStIvtIostorinvService.allDivStruct(whereJson); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/OutChargeServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/OutChargeServiceImpl.java index c5a1f54..bc223d7 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/OutChargeServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/OutChargeServiceImpl.java @@ -351,9 +351,14 @@ public class OutChargeServiceImpl implements OutChargeService { needSaveDtlList.add(outDtl); disRow.setIostorinvdis_id(getStringId()); disRow.setSeq_no(BigDecimal.ONE); - disRow.setSect_id(""); disRow.setSect_code(""); disRow.setSect_name(""); + disRow.setIostorinv_id(manualInStorageOrderId); + disRow.setIostorinvdtl_id(newDtlId); + disRow.setMaterial_id(outDtl.getMaterial_id()); + disRow.setPcsn(outDtl.getPcsn()); + disRow.setQty_unit_id(outDtl.getQty_unit_id()); + disRow.setQty_unit_name(outDtl.getQty_unit_name()); disRow.setWork_status("00"); disRow.setReal_qty(BigDecimal.ZERO); disRow.setPoint_id("0");