From 16b2f16488ac87c43c07b72e3f2ff615b0ed009d Mon Sep 17 00:00:00 2001 From: starrysky <838252223@qq.com> Date: Fri, 22 May 2020 10:43:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A7=94=E5=A4=96=E9=AA=8C=E6=94=B6=E5=8D=95?= =?UTF-8?q?=EF=BC=8C=20=E9=94=80=E5=94=AE=E5=8F=91=E8=B4=A7=E5=8D=95=20?= =?UTF-8?q?=E5=87=BA=E8=B4=A7=20=E6=89=A3=E9=99=A4=E5=95=86=E5=93=81?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/InvoiceServiceImpl.java | 25 +++++++++++++------ ...ourceInspectionCertificateServiceImpl.java | 19 ++++++++++++++ .../sr/productCount/domain/ProductCount.java | 3 +++ .../repository/ProductCountRepository.java | 8 ++++++ .../service/dto/ProductCountDTO.java | 2 ++ 5 files changed, 49 insertions(+), 8 deletions(-) diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/invoice/service/impl/InvoiceServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/invoice/service/impl/InvoiceServiceImpl.java index 97fda329..f53c8626 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/invoice/service/impl/InvoiceServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/invoice/service/impl/InvoiceServiceImpl.java @@ -10,9 +10,6 @@ import me.zhengjie.modules.system.domain.Message; import me.zhengjie.modules.system.domain.User; import me.zhengjie.modules.system.repository.MessageRepository; import me.zhengjie.modules.system.repository.UserRepository; -import me.zhengjie.modules.system.service.UserService; -import me.zhengjie.modules.system.service.dto.UserDTO; -import me.zhengjie.modules.system.service.dto.UserQueryCriteria; import me.zhengjie.modules.wms.bd.domain.CustomerInfo; import me.zhengjie.modules.wms.bd.domain.ProductInfo; import me.zhengjie.modules.wms.bd.repository.CustomerInfoRepository; @@ -21,9 +18,6 @@ import me.zhengjie.modules.wms.customerOrder.domain.CustomerOrder; import me.zhengjie.modules.wms.customerOrder.domain.CustomerOrderProduct; import me.zhengjie.modules.wms.customerOrder.repository.CustomerOrderProductRepository; import me.zhengjie.modules.wms.customerOrder.repository.CustomerOrderRepository; -import me.zhengjie.modules.wms.customerOrder.request.CustomerOrderProductRequest; -import me.zhengjie.modules.wms.customerOrder.service.dto.CustomerOrderDTO; -import me.zhengjie.modules.wms.customerOrder.service.dto.CustomerOrderProductDTO; import me.zhengjie.modules.wms.invoice.domain.Invoice; import me.zhengjie.modules.wms.invoice.domain.InvoiceProduct; import me.zhengjie.modules.wms.invoice.repository.InvoiceProductRepository; @@ -32,6 +26,8 @@ import me.zhengjie.modules.wms.invoice.request.UpdateInvoiceRequest; import me.zhengjie.modules.wms.invoice.service.dto.InvoiceDetailDTO; import me.zhengjie.modules.wms.invoice.service.dto.InvoiceProductDTO; import me.zhengjie.modules.wms.invoice.service.mapper.InvoiceProductMapper; +import me.zhengjie.modules.wms.sr.productCount.domain.ProductCount; +import me.zhengjie.modules.wms.sr.productCount.repository.ProductCountRepository; import me.zhengjie.utils.*; import me.zhengjie.modules.wms.invoice.repository.InvoiceRepository; import me.zhengjie.modules.wms.invoice.service.InvoiceService; @@ -101,6 +97,9 @@ public class InvoiceServiceImpl implements InvoiceService { @Autowired private UserRepository userRepository; + @Autowired + private ProductCountRepository productCountRepository; + @Override public Object queryAll(InvoiceQueryCriteria criteria, Pageable pageable){ Specification specification = new Specification() { @@ -302,6 +301,18 @@ public class InvoiceServiceImpl implements InvoiceService { invoiceProduct.setCustomerOrderCode(customerOrderCode); invoiceProduct.setProductId(productInfo.getId()); invoiceProductRepository.save(invoiceProduct); + + //TODO 发货之后,扣除统计数据 + ProductCount productCount = productCountRepository.findByProductCode(productCode); + if(null != productCount){ + Long dphNumber = productCount.getDphNumber(); + // 剩余数量 + long syNumber = dphNumber - invoiceProduct.getActualInvoiceNumber(); + if(syNumber<0){ + syNumber = 0; + } + productCountRepository.updateDphNumber(dphNumber, productCode); + } } List invoiceProductList = invoiceProductRepository.findByInvoiceIdAndStatusTrue(invoice.getId()); @@ -321,8 +332,6 @@ public class InvoiceServiceImpl implements InvoiceService { * 比较是否完成 */ - - /** * 新增消息通知 */ diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/service/impl/OutSourceInspectionCertificateServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/service/impl/OutSourceInspectionCertificateServiceImpl.java index 8d7419d6..8e6eb58b 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/service/impl/OutSourceInspectionCertificateServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/service/impl/OutSourceInspectionCertificateServiceImpl.java @@ -24,6 +24,8 @@ import me.zhengjie.modules.wms.outSourceProductSheet.repository.OutSourceProcess import me.zhengjie.modules.wms.outSourceProductSheet.request.*; import me.zhengjie.modules.wms.outSourceProductSheet.service.dto.*; import me.zhengjie.modules.wms.outSourceProductSheet.service.mapper.OutSourceInspectionCertificateProductMapper; +import me.zhengjie.modules.wms.sr.productCount.domain.ProductCount; +import me.zhengjie.modules.wms.sr.productCount.repository.ProductCountRepository; import me.zhengjie.utils.*; import me.zhengjie.modules.wms.outSourceProductSheet.repository.OutSourceInspectionCertificateRepository; import me.zhengjie.modules.wms.outSourceProductSheet.service.OutSourceInspectionCertificateService; @@ -83,6 +85,9 @@ public class OutSourceInspectionCertificateServiceImpl implements OutSourceInspe @Autowired private OutSourceProcessSheetRepository outSourceProcessSheetRepository; + @Autowired + private ProductCountRepository productCountRepository; + @Override public Object queryAll(OutSourceInspectionCertificateQueryCriteria criteria, Pageable pageable){ Specification specification = new Specification() { @@ -183,6 +188,20 @@ public class OutSourceInspectionCertificateServiceImpl implements OutSourceInspe outSourceInspectionCertificateProduct.setOutSourceInspectionCertificateCode(outSourceInspectionCertificateCode); outSourceInspectionCertificateProduct.setOutSourceInspectionCertificateId(outSourceInspectionCertificate.getId()); outSourceInspectionCertificateProductRepository.save(outSourceInspectionCertificateProduct); + + String productCode = outSourceInspectionCertificateProduct.getProductCode(); + + //TODO 发货之后,扣除统计数据 + ProductCount productCount = productCountRepository.findByProductCode(productCode); + if(null != productCount){ + Long dphNumber = productCount.getDphNumber(); + // 剩余数量 + long syNumber = dphNumber - outSourceInspectionCertificateProduct.getQualifiedNumber(); + if(syNumber<0){ + syNumber = 0; + } + productCountRepository.updateDphNumber(dphNumber, productCode); + } } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/sr/productCount/domain/ProductCount.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/sr/productCount/domain/ProductCount.java index ff9467f5..ab72933b 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/sr/productCount/domain/ProductCount.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/sr/productCount/domain/ProductCount.java @@ -29,6 +29,9 @@ public class ProductCount implements Serializable { @Column(name = "product_name") private String productName; + @Column(name = "product_code") + private String productCode; + @Column(name = "total_number") private Long totalNumber; diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/sr/productCount/repository/ProductCountRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/sr/productCount/repository/ProductCountRepository.java index d7ed9c99..8d148ff5 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/sr/productCount/repository/ProductCountRepository.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/sr/productCount/repository/ProductCountRepository.java @@ -3,6 +3,8 @@ package me.zhengjie.modules.wms.sr.productCount.repository; import me.zhengjie.modules.wms.sr.productCount.domain.ProductCount; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; /** * @author jie @@ -11,4 +13,10 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor; public interface ProductCountRepository extends JpaRepository, JpaSpecificationExecutor { ProductCount findByProductId(Long productId); + + ProductCount findByProductCode(String productCode); + + @Modifying + @Query(value = "update sr_product_count set dph_number = 1 where product_code = ?2", nativeQuery = true) + void updateDphNumber(long dphNumber, String productCode); } \ No newline at end of file diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/sr/productCount/service/dto/ProductCountDTO.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/sr/productCount/service/dto/ProductCountDTO.java index 9c0e7566..366eff9c 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/sr/productCount/service/dto/ProductCountDTO.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/sr/productCount/service/dto/ProductCountDTO.java @@ -24,6 +24,8 @@ public class ProductCountDTO implements Serializable { private String productName; + private String productCode; + private Long totalNumber; private Timestamp gmtCreate;