From b0bf4a0d107260539eaa99f34e735dbecef8da4b Mon Sep 17 00:00:00 2001 From: x_z Date: Fri, 12 Aug 2022 18:17:09 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=BA=93=E5=AD=98=E7=BB=9F=E8=AE=A1=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=89=B9=E6=AC=A1=E5=8F=B7=E5=88=86=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/StockOrderDetailController.java | 3 +- .../inventory/InvProductsController.java | 14 -------- .../impl/InvProductDetailServiceImpl.java | 2 +- .../inventory/impl/InvProductServiceImpl.java | 32 +++++++++++++++---- .../mapper/inventory/InvProductDetailDao.xml | 2 +- 5 files changed, 29 insertions(+), 24 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderDetailController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderDetailController.java index d447068d..ca96e750 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderDetailController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderDetailController.java @@ -1,5 +1,6 @@ package com.glxp.api.admin.controller.business; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; @@ -552,7 +553,7 @@ public class StockOrderDetailController { } StockOrderDetailEntity stockOrderDetailEntity = new StockOrderDetailEntity(); - BeanUtils.copyProperties(stockOrderDetailFilterRequest, stockOrderDetailEntity); + BeanUtil.copyProperties(stockOrderDetailFilterRequest, stockOrderDetailEntity); boolean b = stockOrderDetailService.updateById(stockOrderDetailEntity); if (b) { return ResultVOUtils.success(); diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvProductsController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvProductsController.java index a53dad4f..aa39d2d0 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvProductsController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvProductsController.java @@ -6,20 +6,16 @@ import com.github.pagehelper.PageInfo; import com.glxp.api.admin.annotation.AuthRuleAnnotation; import com.glxp.api.admin.constant.ConstantStatus; import com.glxp.api.admin.constant.ConstantType; -import com.glxp.api.admin.controller.inout.UdiTraceController; import com.glxp.api.admin.entity.basic.UdiEntity; import com.glxp.api.admin.entity.basic.UdiInfoEntity; -import com.glxp.api.admin.entity.info.CompanyEntity; import com.glxp.api.admin.entity.inout.OrderEntity; import com.glxp.api.admin.entity.inout.WarehouseUserEntity; import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; import com.glxp.api.admin.entity.inventory.InvProductEntity; -import com.glxp.api.admin.entity.inventory.InvWarehouseEntity; import com.glxp.api.admin.req.inout.DeleteRequest; import com.glxp.api.admin.req.inventory.FilterCodeTraceRequest; import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest; import com.glxp.api.admin.req.inventory.FilterInvProductRequest; -import com.glxp.api.admin.req.inventory.FilterInvWarehouseRequest; import com.glxp.api.admin.res.PageSimpleResponse; import com.glxp.api.admin.res.basic.UdiRelevanceResponse; import com.glxp.api.admin.res.inventory.InvProductDetailResponse; @@ -29,20 +25,14 @@ import com.glxp.api.admin.res.inventory.InvProductStatResponse; import com.glxp.api.admin.service.auth.CustomerService; import com.glxp.api.admin.service.basic.UdiInfoService; import com.glxp.api.admin.service.basic.UdiRelevanceService; -import com.glxp.api.admin.service.info.CompanyService; import com.glxp.api.admin.service.inout.OrderService; import com.glxp.api.admin.service.inout.WarehouseUserService; import com.glxp.api.admin.service.inventory.InvProductDetailService; import com.glxp.api.admin.service.inventory.InvProductService; -import com.glxp.api.admin.service.inventory.InvWarehouseService; import com.glxp.api.admin.util.FilterUdiUtils; -import com.glxp.api.admin.util.GennerOrderUtils; -import com.glxp.api.admin.util.OrderNoTypeBean; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; @@ -72,10 +62,6 @@ public class InvProductsController { @Resource private UdiInfoService udiInfoService; @Resource - private CompanyService companyService; - @Resource - private InvWarehouseService invWarehouseService; - @Resource private WarehouseUserService warehouseUserService; @Resource CustomerService customerService; diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductDetailServiceImpl.java index 72005a28..d76c7037 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductDetailServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductDetailServiceImpl.java @@ -21,7 +21,7 @@ import java.util.List; public class InvProductDetailServiceImpl implements InvProductDetailService { @Resource - InvProductDetailDao invProductDetailDao; + private InvProductDetailDao invProductDetailDao; @Override public List findByCode(String code) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductServiceImpl.java index 12d22dcc..11b5c38a 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductServiceImpl.java @@ -92,16 +92,34 @@ public class InvProductServiceImpl implements InvProductService { relIdFkSet.add(invProductResponse.getRelIdFk()); }); + //按照产品批次分组 + Set batchNoSet = new HashSet<>(); + data.forEach(invProductResponse -> { + batchNoSet.add(invProductResponse.getBatchNo()); + }); + List result = new ArrayList<>(); for (String relIdFk : relIdFkSet) { - InvProductResponse invProductResponse = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).collect(Collectors.toList()).get(0); - int inCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).mapToInt(InvProductResponse::getInCount).sum(); - int outCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).mapToInt(InvProductResponse::getOutCount).sum(); - invProductResponse.setInCount(inCount); - invProductResponse.setOutCount(outCount); - invProductResponse.setReCount(inCount - outCount); - result.add(invProductResponse); + if (CollUtil.isNotEmpty(batchNoSet)) { + for (String batchNo : batchNoSet) { + InvProductResponse invProductResponse = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).filter(product -> product.getBatchNo().equals(batchNo)).collect(Collectors.toList()).get(0); + int inCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).filter(product -> product.getBatchNo().equals(batchNo)).mapToInt(InvProductResponse::getInCount).sum(); + int outCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).filter(product -> product.getBatchNo().equals(batchNo)).mapToInt(InvProductResponse::getOutCount).sum(); + invProductResponse.setInCount(inCount); + invProductResponse.setOutCount(outCount); + invProductResponse.setReCount(inCount - outCount); + result.add(invProductResponse); + } + } else { + InvProductResponse invProductResponse = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).collect(Collectors.toList()).get(0); + int inCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).mapToInt(InvProductResponse::getInCount).sum(); + int outCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).mapToInt(InvProductResponse::getOutCount).sum(); + invProductResponse.setInCount(inCount); + invProductResponse.setOutCount(outCount); + invProductResponse.setReCount(inCount - outCount); + result.add(invProductResponse); + } } return result; } diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml index 27b2ed2d..bdb3fbaf 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml @@ -40,7 +40,7 @@ AND supId = #{supId} - AND code = #{code} + AND originCode = #{code} AND originCode = #{originCode}