From eaa0c500114081638d485609c501e2f38ffca878 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Mon, 29 Jul 2024 14:31:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A0=E6=89=B9=E6=AC=A1=E5=8F=B7=E5=87=BA?= =?UTF-8?q?=E5=BA=93=E9=BB=98=E8=AE=A4=E8=B5=8B=E4=BA=88=E6=89=B9=E6=AC=A1?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/service/inout/IoAddInoutService.java | 27 +++++++++++++++++-- .../thrsys/impl/ThrInvOrderServiceImpl.java | 4 +-- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java index 5c9412954..d3023eccd 100644 --- a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java @@ -358,6 +358,29 @@ public class IoAddInoutService { } } } + } else if (StrUtil.isEmpty(bizEntity.getBatchNo())) { + List invProductEntities = invProductService.selectByRelId(bizEntity.getBindRlFk(), bizEntity.getSupId(), null, orderEntity.getInvCode()); + if (CollUtil.isNotEmpty(invProductEntities)) { + int count = 0; + for (InvProductEntity invProductEntity : invProductEntities) { + if (invProductEntity.getReCount() + count > IntUtil.value(bizEntity.getCount())) { + IoOrderDetailBizEntity orderDetailBizEntity = new IoOrderDetailBizEntity(); + BeanUtils.copyProperties(bizEntity, orderDetailBizEntity); + orderDetailBizEntity.setId(IdUtil.getSnowflakeNextId()); + orderDetailBizEntity.setBatchNo(invProductEntity.getBatchNo()); + newBizList.add(orderDetailBizEntity); + break; + } else { + count = invProductEntity.getReCount(); + IoOrderDetailBizEntity orderDetailBizEntity = new IoOrderDetailBizEntity(); + BeanUtils.copyProperties(bizEntity, orderDetailBizEntity); + orderDetailBizEntity.setCount(count); + orderDetailBizEntity.setId(IdUtil.getSnowflakeNextId()); + orderDetailBizEntity.setBatchNo(invProductEntity.getBatchNo()); + newBizList.add(orderDetailBizEntity); + } + } + } } } @@ -368,7 +391,7 @@ public class IoAddInoutService { List codeTempEntities = new ArrayList<>(); - for (IoOrderDetailBizEntity bizEntity : bizEntities) { + for (IoOrderDetailBizEntity bizEntity : newBizList) { IoCodeTempEntity codeTempEntity = new IoCodeTempEntity(); String udiCode = "#" + bizEntity.getNameCode() + "#" + StrUtil.trimToEmpty(bizEntity.getProductDate()) @@ -398,7 +421,7 @@ public class IoAddInoutService { codeTempEntities.add(codeTempEntity); } codeTempService.insertBatch(codeTempEntities); - bizEntities.forEach(orderDetailBizEntity -> { + newBizList.forEach(orderDetailBizEntity -> { IoOrderDetailCodeEntity orderDetailCodeEntity = new IoOrderDetailCodeEntity(); BeanUtils.copyProperties(orderDetailBizEntity, orderDetailCodeEntity); orderDetailCodeEntity.setId(null); diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java index 4d2327517..cb59153e6 100644 --- a/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java @@ -1348,7 +1348,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity(); parameterPackag(basicProductsEntity, ioOrderDetailBizEntity, thrInvOrderDetail); ioOrderDetailBizEntity.setOrderIdFk(newBillNo); - ioOrderDetailBizEntity.setBatchNo("/"); +// ioOrderDetailBizEntity.setBatchNo(); thrInvOrderDetail.setToBillNo(newBillNo); thrInvOrderDetail.setHandleStatus(1); newOrderDetailBiz.add(ioOrderDetailBizEntity); @@ -1511,7 +1511,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { List udiRlSupEntitys = udiRlSupService.findByUdiRlId(relId); if (CollUtil.isNotEmpty(udiRlSupEntitys)) { for (UdiRlSupEntity udiRlSupEntity : udiRlSupEntitys) { - Integer count1 = invProductService.selectExitCount("1000000", Long.parseLong(udiRlSupEntity.getCustomerId()), Long.parseLong(udiRlSupEntity.getUdiRlIdFk())); + Integer count1 = invProductService.selectExitCount(thrInvOrder.getInvCode(), Long.parseLong(udiRlSupEntity.getCustomerId()), Long.parseLong(udiRlSupEntity.getUdiRlIdFk())); if (IntUtil.value(count1 > 0)) { thrInvOrderDetail.setSupId(udiRlSupEntity.getCustomerId()); if (udiRlSupEntity.getPrice() == null)