From 0f494b087acb8f546ca1bb49dac61219869b64ec Mon Sep 17 00:00:00 2001 From: anthonyywj2 <353682448@qq.com> Date: Thu, 8 Dec 2022 18:42:49 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=84=E9=AA=8C=E6=94=B6=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E4=B8=8E=E6=92=A4=E5=9B=9E=EF=BC=8C=E6=B8=85=E7=A9=BA=E5=BA=93?= =?UTF-8?q?=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inout/StockOrderDetailController.java | 3 +- .../service/inout/impl/OrderServiceImpl.java | 108 +++++++++--------- .../inout/impl/StockOrderServiceImpl.java | 91 ++++++++------- .../main/resources/application-dev.properties | 2 +- 4 files changed, 107 insertions(+), 97 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderDetailController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderDetailController.java index f7efe64..3cec627 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderDetailController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderDetailController.java @@ -120,7 +120,8 @@ public class StockOrderDetailController { if (CollUtil.isNotEmpty(codeList)) { for (WarehouseEntity codeDetaiEntity : codeList) { if (StrUtil.trimToEmpty(codeDetaiEntity.getRelId()).equals(StrUtil.trimToEmpty(stockOrderDetailEntity.getRelId())) - && StrUtil.trimToEmpty(codeDetaiEntity.getBatchNo()).equals(StrUtil.trimToEmpty(stockOrderDetailEntity.getBatchNo())) + && + (StrUtil.isEmpty(codeDetaiEntity.getBatchNo()) || StrUtil.trimToEmpty(codeDetaiEntity.getBatchNo()).equals(StrUtil.trimToEmpty(stockOrderDetailEntity.getBatchNo()))) ) { StockOrderDetailEntity item = new StockOrderDetailEntity(); BeanUtils.copyProperties(stockOrderDetailEntity, item); 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 ac1a849..0ef8328 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 @@ -526,59 +526,63 @@ public class OrderServiceImpl implements OrderService { //删除单据相关数据,更新库存 try { if (isPreInOrder(orderEntity)) { - //查询预验收库详情 - FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); - filterInvProductDetailRequest.setOrderIdFk(id); - List invProductDetailEntities = invPreInProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); - Map> invPreInProductDetailMap = invProductDetailEntities.stream().collect(Collectors.groupingBy(InvProductDetailEntity::getProductIdFk)); - - List invPreInProductList = new ArrayList<>(invPreInProductDetailMap.keySet().size()); - - for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { - FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest(); - filterInvProductRequest.setRelIdFk(invProductDetailEntity.getProductIdFk()); - filterInvProductRequest.setSupId(invProductDetailEntity.getSupId()); - filterInvProductRequest.setInvStorageCode(invProductDetailEntity.getInvStorageCode()); - filterInvProductRequest.setInvWarehouseCode(invProductDetailEntity.getInvWarehouseCode()); - if (StrUtil.isBlank(invProductDetailEntity.getBatchNo())) { - filterInvProductRequest.setBatchNo("empty"); - } else { - filterInvProductRequest.setBatchNo(invProductDetailEntity.getBatchNo()); - } - List invPerInProductEntities = invPreInProductDao.filterInvProduct(filterInvProductRequest); - InvProductEntity invProductEntity = invPerInProductEntities.get(0); - if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) { - //入库,扣减入库数量 - int count = invProductEntity.getInCount() - invProductDetailEntity.getCount(); - invProductEntity.setInCount(count); - } else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) { - //出库,扣减出库数量 - int count = invProductEntity.getOutCount() - invProductDetailEntity.getCount(); - invProductEntity.setOutCount(count); - } - - invPreInProductList.add(invProductEntity); - } - //删除库存详情 - invPreInProductDetailDao.deleteByOrderId(id); - //删除码详情 - codesDao.deleteByOrderId(id); - //更新库存 - for (InvProductEntity invProductEntity : invPreInProductList) { - //查询库存码详情,如果库存码详情为空,则删除此库存 - FilterInvProductDetailRequest detailParams = new FilterInvProductDetailRequest(); - detailParams.setBatchNo(invProductEntity.getBatchNo()); - detailParams.setInvCodes(Collections.singletonList(invProductEntity.getInvStorageCode())); - detailParams.setProductIdFk(invProductEntity.getRelIdFk()); - int count = invPreInProductDetailDao.statCount(detailParams); - if (count == 0) { - //如果库存码详情为空,则删除此库存 - invPreInProductDao.deleteById(String.valueOf(invProductEntity.getId())); - } else { - invPreInProductDao.updateInvProduct(invProductEntity); - } - } + invPreInProductDetailDao.deleteByOrderId(orderEntity.getId()); + invPreInProductDao.deleteByOrderIdFk(orderEntity.getId()); + +// //查询预验收库详情 +// FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); +// filterInvProductDetailRequest.setOrderIdFk(id); +// List invProductDetailEntities = invPreInProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); +// Map> invPreInProductDetailMap = invProductDetailEntities.stream().collect(Collectors.groupingBy(InvProductDetailEntity::getProductIdFk)); +// +// List invPreInProductList = new ArrayList<>(invPreInProductDetailMap.keySet().size()); +// +// for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { +// FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest(); +// filterInvProductRequest.setRelIdFk(invProductDetailEntity.getProductIdFk()); +// filterInvProductRequest.setSupId(invProductDetailEntity.getSupId()); +// filterInvProductRequest.setInvStorageCode(invProductDetailEntity.getInvStorageCode()); +// filterInvProductRequest.setInvWarehouseCode(invProductDetailEntity.getInvWarehouseCode()); +// if (StrUtil.isBlank(invProductDetailEntity.getBatchNo())) { +// filterInvProductRequest.setBatchNo("empty"); +// } else { +// filterInvProductRequest.setBatchNo(invProductDetailEntity.getBatchNo()); +// } +// List invPerInProductEntities = invPreInProductDao.filterInvProduct(filterInvProductRequest); +// InvProductEntity invProductEntity = invPerInProductEntities.get(0); +// if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) { +// //入库,扣减入库数量 +// int count = invProductEntity.getInCount() - invProductDetailEntity.getCount(); +// invProductEntity.setInCount(count); +// } else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) { +// //出库,扣减出库数量 +// int count = invProductEntity.getOutCount() - invProductDetailEntity.getCount(); +// invProductEntity.setOutCount(count); +// } +// +// invPreInProductList.add(invProductEntity); +// } +// +// //删除库存详情 +// invPreInProductDetailDao.deleteByOrderId(id); +// //删除码详情 +// codesDao.deleteByOrderId(id); +// //更新库存 +// for (InvProductEntity invProductEntity : invPreInProductList) { +// //查询库存码详情,如果库存码详情为空,则删除此库存 +// FilterInvProductDetailRequest detailParams = new FilterInvProductDetailRequest(); +// detailParams.setBatchNo(invProductEntity.getBatchNo()); +// detailParams.setInvCodes(Collections.singletonList(invProductEntity.getInvStorageCode())); +// detailParams.setProductIdFk(invProductEntity.getRelIdFk()); +// int count = invPreInProductDetailDao.statCount(detailParams); +// if (count == 0) { +// //如果库存码详情为空,则删除此库存 +// invPreInProductDao.deleteById(String.valueOf(invProductEntity.getId())); +// } else { +// invPreInProductDao.updateInvProduct(invProductEntity); +// } +// } } else { //查询库存详情 FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/StockOrderServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/StockOrderServiceImpl.java index 0f7b1cf..03bdad1 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/StockOrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/StockOrderServiceImpl.java @@ -175,11 +175,11 @@ public class StockOrderServiceImpl implements StockOrderService { } @Override - public boolean rollbackOrder(String billNo,Integer contrastStatus) { + public boolean rollbackOrder(String billNo, Integer contrastStatus) { //查询业务单据 StockOrderEntity stockOrderEntity = stockOrderDao.selectByBillNo(billNo); //查询扫码单据 - OrderEntity orderEntity = orderDao.selectByBillNoAndStatus(billNo,contrastStatus); + OrderEntity orderEntity = orderDao.selectByBillNoAndStatus(billNo, contrastStatus); BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); if (stockOrderEntity.getStatus().equals(ConstantStatus.SORDER_CHECKED)) { //回退未验收单据 @@ -222,48 +222,53 @@ public class StockOrderServiceImpl implements StockOrderService { 不是预验收单据,则正常扣减库存,回滚业务单据状态 */ if (isPreInOrder(orderEntity)) { - //查询预验收库库存详情 - FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); - filterInvProductDetailRequest.setOrderIdFk(orderEntity.getId()); - List invProductDetailEntities = invPreInProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); - List invPreInProductList = new ArrayList<>(); - for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { - FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest(); - filterInvProductRequest.setRelIdFk(invProductDetailEntity.getProductIdFk()); - filterInvProductRequest.setSupId(invProductDetailEntity.getSupId()); - filterInvProductRequest.setInvWarehouseCode(invProductDetailEntity.getInvWarehouseCode()); - filterInvProductRequest.setInvStorageCode(invProductDetailEntity.getInvStorageCode()); - if (StrUtil.isBlank(invProductDetailEntity.getBatchNo())) { - filterInvProductRequest.setBatchNo("empty"); - } else { - filterInvProductRequest.setBatchNo(invProductDetailEntity.getBatchNo()); - } - List invProductEntities = invPreInProductDao.filterInvProduct(filterInvProductRequest); - if (CollUtil.isNotEmpty(invProductEntities) && invProductEntities.size() > 0) { - InvProductEntity invProductEntity = invProductEntities.get(0); - calculateInvCount(invProductEntity, invProductDetailEntity); - invPreInProductList.add(invProductEntity); - } else { - return false; - } - } - //删除库存详情 + invPreInProductDetailDao.deleteByOrderId(orderEntity.getId()); - //更新库存 - for (InvProductEntity invProductEntity : invPreInProductList) { - //查询库存码详情,如果库存码详情为空,则删除此库存 - FilterInvProductDetailRequest detailParams = new FilterInvProductDetailRequest(); - detailParams.setBatchNo(invProductEntity.getBatchNo()); - detailParams.setInvCodes(Collections.singletonList(invProductEntity.getInvStorageCode())); - detailParams.setProductIdFk(invProductEntity.getRelIdFk()); - int count = invPreInProductDetailDao.statCount(detailParams); - if (count == 0) { - //如果库存码详情为空,则删除此库存 - invPreInProductDao.deleteById(String.valueOf(invProductEntity.getId())); - } else { - invPreInProductDao.updateInvProduct(invProductEntity); - } - } + invPreInProductDao.deleteByOrderIdFk(orderEntity.getId()); + + + //查询预验收库库存详情 +// FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); +// filterInvProductDetailRequest.setOrderIdFk(orderEntity.getId()); +// List invProductDetailEntities = invPreInProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); +// List invPreInProductList = new ArrayList<>(); +// for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { +// FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest(); +// filterInvProductRequest.setRelIdFk(invProductDetailEntity.getProductIdFk()); +// filterInvProductRequest.setSupId(invProductDetailEntity.getSupId()); +// filterInvProductRequest.setInvWarehouseCode(invProductDetailEntity.getInvWarehouseCode()); +// filterInvProductRequest.setInvStorageCode(invProductDetailEntity.getInvStorageCode()); +// if (StrUtil.isBlank(invProductDetailEntity.getBatchNo())) { +// filterInvProductRequest.setBatchNo("empty"); +// } else { +// filterInvProductRequest.setBatchNo(invProductDetailEntity.getBatchNo()); +// } +// List invProductEntities = invPreInProductDao.filterInvProduct(filterInvProductRequest); +// if (CollUtil.isNotEmpty(invProductEntities) && invProductEntities.size() > 0) { +// InvProductEntity invProductEntity = invProductEntities.get(0); +// calculateInvCount(invProductEntity, invProductDetailEntity); +// invPreInProductList.add(invProductEntity); +// } else { +// return false; +// } +// } +// //删除库存详情 +// invPreInProductDetailDao.deleteByOrderId(orderEntity.getId()); +// //更新库存 +// for (InvProductEntity invProductEntity : invPreInProductList) { +// //查询库存码详情,如果库存码详情为空,则删除此库存 +// FilterInvProductDetailRequest detailParams = new FilterInvProductDetailRequest(); +// detailParams.setBatchNo(invProductEntity.getBatchNo()); +// detailParams.setInvCodes(Collections.singletonList(invProductEntity.getInvStorageCode())); +// detailParams.setProductIdFk(invProductEntity.getRelIdFk()); +// int count = invPreInProductDetailDao.statCount(detailParams); +// if (count == 0) { +// //如果库存码详情为空,则删除此库存 +// invPreInProductDao.deleteById(String.valueOf(invProductEntity.getId())); +// } else { +// invPreInProductDao.updateInvProduct(invProductEntity); +// } +// } } else { //非预验收单据库存,正常扣减库存 FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); diff --git a/api-admin/src/main/resources/application-dev.properties b/api-admin/src/main/resources/application-dev.properties index 0aa70ca..fbe878e 100644 --- a/api-admin/src/main/resources/application-dev.properties +++ b/api-admin/src/main/resources/application-dev.properties @@ -1,7 +1,7 @@ # \u751F\u4EA7\u73AF\u5883 server.port=9906 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver -spring.datasource.jdbc-url=jdbc:mysql://127.0.0.1:3306/spms_za?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true +spring.datasource.jdbc-url=jdbc:mysql://192.168.0.55:3306/spms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true spring.datasource.username=root spring.datasource.password=123456 spring.datasource.hikari.connection-timeout=60000