委外验收单, 销售发货单 出货 扣除商品统计

pull/451/head
starrysky 2020-05-22 10:43:47 +08:00
parent 994294fc76
commit 16b2f16488
5 changed files with 49 additions and 8 deletions

View File

@ -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<Invoice> specification = new Specification<Invoice>() {
@ -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<InvoiceProduct> invoiceProductList = invoiceProductRepository.findByInvoiceIdAndStatusTrue(invoice.getId());
@ -321,8 +332,6 @@ public class InvoiceServiceImpl implements InvoiceService {
*
*/
/**
*
*/

View File

@ -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<OutSourceInspectionCertificate> specification = new Specification<OutSourceInspectionCertificate>() {
@ -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);
}
}

View File

@ -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;

View File

@ -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<ProductCount, Long>, 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);
}

View File

@ -24,6 +24,8 @@ public class ProductCountDTO implements Serializable {
private String productName;
private String productCode;
private Long totalNumber;
private Timestamp gmtCreate;