From 2c87ed7efb9b668cfa130d121716335e95dc3aee Mon Sep 17 00:00:00 2001 From: x_z Date: Thu, 2 Jun 2022 19:26:07 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=BA=93=E5=AD=98=E7=A0=81=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E6=B2=A1=E6=95=B0=E6=8D=AE=E6=97=B6=EF=BC=8C=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E5=BA=93=E5=AD=98=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/inout/impl/CodesServiceImpl.java | 17 ++++++++++--- .../service/inout/impl/OrderServiceImpl.java | 24 ++++++++++++------- 2 files changed, 30 insertions(+), 11 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/CodesServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/CodesServiceImpl.java index 56f8e09..23f21b6 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/CodesServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/CodesServiceImpl.java @@ -213,7 +213,7 @@ public class CodesServiceImpl implements CodesService { if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { //出库 - int count = invProductEntity.getOutCount() + invProductDetailEntity.getCount(); + int count = invProductEntity.getOutCount() - invProductDetailEntity.getCount(); invProductEntity.setOutCount(count); } else if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { //入库 @@ -221,8 +221,19 @@ public class CodesServiceImpl implements CodesService { invProductEntity.setInCount(count); } - //更新库存 - invProductDao.updateInvProduct(invProductEntity); + //查询库存码详情,如果库存码详情为空,则删除此库存 + FilterInvProductDetailRequest detailParams = new FilterInvProductDetailRequest(); + detailParams.setBatchNo(invProductEntity.getBatchNo()); + detailParams.setInvCodes(Collections.singletonList(invProductEntity.getInvStorageCode())); + detailParams.setProductIdFk(invProductEntity.getRelIdFk()); + int count = invProductDetailDao.statCount(detailParams); + if (count == 0) { + //如果库存码详情为空,则删除此库存 + invProductDao.deleteById(String.valueOf(invProductEntity.getId())); + } else { + //更新库存 + invProductDao.updateInvProduct(invProductEntity); + } } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderServiceImpl.java index 72df361..0806e93 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderServiceImpl.java @@ -35,10 +35,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; @Slf4j @@ -407,7 +404,7 @@ public class OrderServiceImpl implements OrderService { productEntity.setInCount(count); } else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) { //出库,在原有库存上增加库存 - int count = productEntity.getOutCount() + invProductDetailEntity.getCount(); + int count = productEntity.getOutCount() - invProductDetailEntity.getCount(); productEntity.setOutCount(count); } @@ -416,12 +413,23 @@ public class OrderServiceImpl implements OrderService { //删除单据相关数据,更新库存 try { + //删除库存详情 + invProductDetailDao.deleteByOrderId(id); //更新库存 for (InvProductEntity invProductEntity : invProductList) { - invProductDao.updateInvProduct(invProductEntity); + //查询库存码详情,如果库存码详情为空,则删除此库存 + FilterInvProductDetailRequest detailParams = new FilterInvProductDetailRequest(); + detailParams.setBatchNo(invProductEntity.getBatchNo()); + detailParams.setInvCodes(Collections.singletonList(invProductEntity.getInvStorageCode())); + detailParams.setProductIdFk(invProductEntity.getRelIdFk()); + int count = invProductDetailDao.statCount(detailParams); + if (count == 0) { + //如果库存码详情为空,则删除此库存 + invProductDao.deleteById(String.valueOf(invProductEntity.getId())); + } else { + invProductDao.updateInvProduct(invProductEntity); + } } - //删除库存详情 - invProductDetailDao.deleteByOrderId(id); //删除码详情 codesDao.deleteByOrderId(id); //查询业务单据