From c5fdf97b983f322b8a48411cdd5cfe7ab0216a59 Mon Sep 17 00:00:00 2001 From: liuxy Date: Mon, 20 May 2024 09:23:24 +0800 Subject: [PATCH] =?UTF-8?q?rav=EF=BC=9A=E4=BB=BB=E5=8A=A1=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E6=97=B6=E9=87=8A=E6=94=BE=E8=B4=A7=E4=BD=8D=E4=BB=A5?= =?UTF-8?q?=E5=8F=8A=E5=BA=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/StIvtIostorinvOutServiceImpl.java | 59 ++++++++++++++++++- 1 file changed, 56 insertions(+), 3 deletions(-) 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 1d620704f..2712223ef 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 @@ -639,6 +639,19 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl row.getTask_id().toString()) + .distinct() + .collect(Collectors.joining("','")); + + JSONArray taskArr = taskService.query("task_id IN ('" + task_in + "') AND task_status <> '" + TaskStatusEnum.FINISHED.getCode() + "' AND is_delete = '0'") + .getResultJSONArray(0); + + if (ObjectUtil.isNotEmpty(taskArr)) { + throw new BadRequestException("有任务未完成,不允许强制确认!"); + } + // 需要更新的库存集合 List needUpdateIvtList = new ArrayList<>(); @@ -654,6 +667,11 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl paramLockList = disDaoList.stream() + .filter(row -> !row.getSect_id().toString().equals(RegionTypeEnum.TWO_BZC01.getId())) .map(StIvtIostorinvdis::getStruct_code) .distinct() .collect(Collectors.toList()); @@ -681,7 +702,9 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl needUpdateIvtList = new ArrayList<>(); + for (int i = 0; i < disDaoList.size(); i++) { + StIvtIostorinvdis dao = disDaoList.get(i); + + JSONObject jsonIvt = new JSONObject(); + jsonIvt.put("struct_id", dao.getStruct_id()); + jsonIvt.put("material_id", dao.getMaterial_id()); + jsonIvt.put("pcsn", dao.getPcsn()); + jsonIvt.put("canuse_qty", dao.getPlan_qty()); + + needUpdateIvtList.add(jsonIvt); + } + outBussManageService.upateIvt(needUpdateIvtList,mstDao,IOSEnum.IVT_CHANGE.code("减库存")); + + // 更新仓位 + List paramLockList = new ArrayList<>(); + + JSONObject jsonLockParam = new JSONObject(); + jsonLockParam.put("inv_type", ""); + jsonLockParam.put("inv_id", ""); + jsonLockParam.put("inv_code", ""); + jsonLockParam.put("storagevehicle_code", ""); + jsonLockParam.put("lock_type", IOSEnum.LOCK_TYPE.code("未锁定")); + jsonLockParam.put("operate", IOSEnum.IO_TYPE.code("出库")); + + paramLockList.add(disDao.getStruct_code()); + outBussManageService.lockStruct(paramLockList,jsonLockParam); + if (IOSEnum.OUT_TYPE.code("改切出库").equals(mstDao.getBill_type()) || IOSEnum.OUT_TYPE.code("返检出库").equals(mstDao.getBill_type())) { HashMap map = new HashMap<>(); map.put("need_delete", IOSEnum.IS_NOTANDYES.code("是"));