From 61c74eec48c0e7095dcaae0240c42ce04a651ad1 Mon Sep 17 00:00:00 2001 From: zhangzq Date: Wed, 4 Dec 2024 16:52:26 +0800 Subject: [PATCH] =?UTF-8?q?rev:=E4=BF=AE=E6=94=B9=E5=8D=95=E6=8D=AE?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iostorage/sevice/PdaIOService.java | 34 +++++++++++++------ 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/iostorage/sevice/PdaIOService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/iostorage/sevice/PdaIOService.java index 8bdb0216..b2d4ad70 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/iostorage/sevice/PdaIOService.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/iostorage/sevice/PdaIOService.java @@ -32,6 +32,8 @@ import org.nl.wms.stor_manage.io.service.iostor.IStIvtIostorinvService; import org.nl.wms.stor_manage.io.service.iostor.dao.StIvtIostorinv; import org.nl.wms.stor_manage.io.service.iostor_dtl.IStIvtIostorinvdtlService; import org.nl.wms.stor_manage.io.service.iostor_dtl.dao.StIvtIostorinvdtl; +import org.nl.wms.stor_manage.struct.service.IStIvtStructattrService; +import org.nl.wms.stor_manage.struct.service.dao.StructAssignQty; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -49,10 +51,7 @@ import java.net.URLConnection; import java.nio.file.FileSystem; import java.nio.file.FileSystems; import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @Service public class PdaIOService { @@ -64,6 +63,8 @@ public class PdaIOService { @Autowired private IStIvtIostorinvService iStIvtIostorinvService; @Autowired + private IStIvtStructattrService iStIvtStructattrService; + @Autowired private IStIvtIostorinvdtlService iStIvtIostorinvdtlService; @Autowired private BmMeasureUnitServiceImpl bmMeasureUnitServiceImpl; @@ -131,14 +132,25 @@ public class PdaIOService { } String storCode = pdaFormOutMst.getStor_code(); if (StringUtils.isEmpty(storCode)){ - storCode="FStockId"; -// throw new BadRequestException("出库申请失败:明细数据仓库字段未指定"); + throw new BadRequestException("出库申请失败:明细数据仓库字段未指定"); + } + String pcsn = dtl.getPcsn(); + if (StringUtils.isEmpty(pcsn)){ + throw new BadRequestException("明细物料没有指定批号"); + } + List structMaterials = iStIvtStructattrService.getStructIvtAssign(ListOf.of(ivtDtl.getMaterial_id()), storCode); + for (StructAssignQty assignQty : structMaterials) { + if (assignQty.getPcsn().equals(pcsn)){ + boolean b = assignQty.getSto_qty().intValue() >= dtl.getNow_assign_qty().intValue(); + if (!b){ + throw new BadRequestException(dtl.getMaterial_code()+"物料该批号库存不足"); + } + } } - HashMap map = MapOf.of("end_struct_code", "", "start_struct_code", "", "order", "", "product_area", productArea); ivtDtl.setForm_data(new JSONObject(map)); ivtDtl.setQty(now_assign_qty); - ivtDtl.setPcsn(dtl.getPcsn()); + ivtDtl.setPcsn(pcsn); ivtDtl.setStor_code(storCode);//pdaFormOutMst.getStor_code() ivtDtl.setId(IdUtil.getStringId()); ivtDtl.setInv_id(mst.getId()); @@ -160,9 +172,6 @@ public class PdaIOService { } iStIvtIostorinvdtlService.saveBatch(list); iStIvtIostorinvService.save(mst); - for (StIvtIostorinvdtl stIvtIostorinvdtl : list) { - iStIvtIostorinvService.outDispense((JSONObject) JSON.toJSON(stIvtIostorinvdtl)); - } //生成流程 String now = DateUtil.now(); String nickName = SecurityUtils.getCurrentNickName(); @@ -193,6 +202,9 @@ public class PdaIOService { .set("update_name",nickName) .eq("id",sourceFormid)); } + for (StIvtIostorinvdtl stIvtIostorinvdtl : list) { + iStIvtIostorinvService.outDispense((JSONObject) JSON.toJSON(stIvtIostorinvdtl)); + } return mst; }