yzc 1 жил өмнө
parent
commit
cd1f9d11c1

+ 55 - 60
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitServiceImpl.java

@@ -1,15 +1,12 @@
 package com.fjhx.wms.service.stock.impl;
 
 import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.common.utils.Assert;
 import com.fjhx.item.entity.product.po.ProductInfo;
 import com.fjhx.item.service.product.ProductInfoService;
-import com.fjhx.wms.entity.arrival.po.ArrivalDetailPo;
-import com.fjhx.wms.entity.purchase.po.PurchaseDetailPo;
 import com.fjhx.wms.entity.stock.dto.StockJournalDetailsDto;
 import com.fjhx.wms.entity.stock.dto.StockWaitDetailsDto;
 import com.fjhx.wms.entity.stock.dto.StockWaitDto;
@@ -31,12 +28,10 @@ import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
-import java.util.function.Function;
 import java.util.stream.Collectors;
 
 
@@ -202,61 +197,61 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
         StockWait stockWait = getById(stockWaitDto.getId());
         updateById(stockWait);
 
-        //如果业务类型是 采购到货入库 计算结存单价[结存单价=(结存单价*库存数量+采购单价*入库数量)/(库存数量+入库数量)]
-        if (StockWaitType.PURCHASE_ARRIVAL_IN.getDetailType().equals(stockWait.getBusinessType())) {
-            //获取待入库明细信息
-            List<Long> swdId = stockWaitDetailsDtoList.stream().map(StockWaitDetails::getId).collect(Collectors.toList());
-            List<StockWaitDetails> oldStockWaitDetailsList = stockWaitDetailsService.listByIds(swdId);
-            Map<Long, StockWaitDetails> oldStockWaitDetailsMap = oldStockWaitDetailsList.stream()
-                    .collect(Collectors.toMap(StockWaitDetails::getId, Function.identity()));
-
-            List<Long> productIds = oldStockWaitDetailsList.stream().map(StockWaitDetails::getProductId).collect(Collectors.toList());
-            //获取库存消息
-            Map<Long, Stock> stockMap = stockService.mapKEntity(Stock::getProductId, q -> q
-                    .eq(Stock::getWarehouseId, stockWaitDto.getWarehouseId())
-                    .in(Stock::getProductId, productIds));
-            //获取到货明细信息
-            List<Long> arrivalDetailsIds = oldStockWaitDetailsList.stream().map(StockWaitDetails::getBusinessDetailsId).collect(Collectors.toList());
-            List<ArrivalDetailPo> arrivalDetailList = myPurchaseService.getArrivalDetailList(arrivalDetailsIds);
-            Assert.notEmpty(arrivalDetailList, "到货明细信息为空");
-            Map<Long, ArrivalDetailPo> arrivalDetailPoMap = arrivalDetailList.stream().collect(Collectors.toMap(ArrivalDetailPo::getId, Function.identity()));
-            //获取采购明细信息
-            List<Long> purchaseDetailIds = arrivalDetailList.stream().map(ArrivalDetailPo::getPurchaseDetailId).collect(Collectors.toList());
-            List<PurchaseDetailPo> purchaseDetailList = myPurchaseService.getPurchaseDetailList(purchaseDetailIds);
-            Assert.notEmpty(arrivalDetailList, "采购明细信息为空");
-            Map<Long, PurchaseDetailPo> purchaseDetailPoMap = purchaseDetailList.stream().collect(Collectors.toMap(PurchaseDetailPo::getId, Function.identity()));
-
-            List<Stock> stockList1 = new ArrayList<>();
-            for (StockWaitDetails stockWaitDetails : stockWaitDetailsDtoList) {
-                StockWaitDetails oldStockWaitDetails = oldStockWaitDetailsMap.get(stockWaitDetails.getId());
-                Assert.notEmpty(oldStockWaitDetails, "查询不到待入库明细信息");
-                //获取到货信息
-                ArrivalDetailPo arrivalDetailPo = arrivalDetailPoMap.get(oldStockWaitDetails.getBusinessDetailsId());
-                Assert.notEmpty(arrivalDetailPo, "查询不到到货明细信息");
-                //获取采购信息
-                PurchaseDetailPo purchaseDetailPo = purchaseDetailPoMap.get(arrivalDetailPo.getPurchaseDetailId());
-                Assert.notEmpty(arrivalDetailPo, "查询不到采购明细信息");
-                //获取库存信息
-                Stock stock = stockMap.get(oldStockWaitDetails.getProductId());
-                if (ObjectUtil.isEmpty(stock)) {
-                    stock = new Stock();
-                    stock.setWarehouseId(stockWaitDto.getWarehouseId());
-                    stock.setProductId(oldStockWaitDetails.getProductId());
-                    stock.setQuantity(BigDecimal.ZERO);
-                    stock.setUnitPrice(BigDecimal.ZERO);
-                }
-                //计算结存单价 结存单价=(结存单价*库存数量+采购单价*入库数量)/(库存数量+入库数量)
-                BigDecimal multiply = stock.getUnitPrice().multiply(stock.getQuantity());//结存单价*库存数量
-                BigDecimal multiply1 = purchaseDetailPo.getPrice().multiply(stockWaitDetails.getQuantity());//采购单价*入库数量
-                BigDecimal add = multiply.add(multiply1);//(结存单价*库存数量+采购单价*入库数量)
-                BigDecimal add1 = stock.getQuantity().add(stockWaitDetails.getQuantity());//库存数量+入库数量
-                BigDecimal divide = add.divide(add1, 4, BigDecimal.ROUND_HALF_UP);//(结存单价*库存数量+采购单价*入库数量)/(库存数量+入库数量)
-                stock.setUnitPrice(divide);
-
-                stockList1.add(stock);
-            }
-            stockService.saveOrUpdateBatch(stockList1);
-        }
+//        //如果业务类型是 采购到货入库 计算结存单价[结存单价=(结存单价*库存数量+采购单价*入库数量)/(库存数量+入库数量)]
+//        if (StockWaitType.PURCHASE_ARRIVAL_IN.getDetailType().equals(stockWait.getBusinessType())) {
+//            //获取待入库明细信息
+//            List<Long> swdId = stockWaitDetailsDtoList.stream().map(StockWaitDetails::getId).collect(Collectors.toList());
+//            List<StockWaitDetails> oldStockWaitDetailsList = stockWaitDetailsService.listByIds(swdId);
+//            Map<Long, StockWaitDetails> oldStockWaitDetailsMap = oldStockWaitDetailsList.stream()
+//                    .collect(Collectors.toMap(StockWaitDetails::getId, Function.identity()));
+//
+//            List<Long> productIds = oldStockWaitDetailsList.stream().map(StockWaitDetails::getProductId).collect(Collectors.toList());
+//            //获取库存消息
+//            Map<Long, Stock> stockMap = stockService.mapKEntity(Stock::getProductId, q -> q
+//                    .eq(Stock::getWarehouseId, stockWaitDto.getWarehouseId())
+//                    .in(Stock::getProductId, productIds));
+//            //获取到货明细信息
+//            List<Long> arrivalDetailsIds = oldStockWaitDetailsList.stream().map(StockWaitDetails::getBusinessDetailsId).collect(Collectors.toList());
+//            List<ArrivalDetailPo> arrivalDetailList = myPurchaseService.getArrivalDetailList(arrivalDetailsIds);
+//            Assert.notEmpty(arrivalDetailList, "到货明细信息为空");
+//            Map<Long, ArrivalDetailPo> arrivalDetailPoMap = arrivalDetailList.stream().collect(Collectors.toMap(ArrivalDetailPo::getId, Function.identity()));
+//            //获取采购明细信息
+//            List<Long> purchaseDetailIds = arrivalDetailList.stream().map(ArrivalDetailPo::getPurchaseDetailId).collect(Collectors.toList());
+//            List<PurchaseDetailPo> purchaseDetailList = myPurchaseService.getPurchaseDetailList(purchaseDetailIds);
+//            Assert.notEmpty(arrivalDetailList, "采购明细信息为空");
+//            Map<Long, PurchaseDetailPo> purchaseDetailPoMap = purchaseDetailList.stream().collect(Collectors.toMap(PurchaseDetailPo::getId, Function.identity()));
+//
+//            List<Stock> stockList1 = new ArrayList<>();
+//            for (StockWaitDetails stockWaitDetails : stockWaitDetailsDtoList) {
+//                StockWaitDetails oldStockWaitDetails = oldStockWaitDetailsMap.get(stockWaitDetails.getId());
+//                Assert.notEmpty(oldStockWaitDetails, "查询不到待入库明细信息");
+//                //获取到货信息
+//                ArrivalDetailPo arrivalDetailPo = arrivalDetailPoMap.get(oldStockWaitDetails.getBusinessDetailsId());
+//                Assert.notEmpty(arrivalDetailPo, "查询不到到货明细信息");
+//                //获取采购信息
+//                PurchaseDetailPo purchaseDetailPo = purchaseDetailPoMap.get(arrivalDetailPo.getPurchaseDetailId());
+//                Assert.notEmpty(arrivalDetailPo, "查询不到采购明细信息");
+//                //获取库存信息
+//                Stock stock = stockMap.get(oldStockWaitDetails.getProductId());
+//                if (ObjectUtil.isEmpty(stock)) {
+//                    stock = new Stock();
+//                    stock.setWarehouseId(stockWaitDto.getWarehouseId());
+//                    stock.setProductId(oldStockWaitDetails.getProductId());
+//                    stock.setQuantity(BigDecimal.ZERO);
+//                    stock.setUnitPrice(BigDecimal.ZERO);
+//                }
+//                //计算结存单价 结存单价=(结存单价*库存数量+采购单价*入库数量)/(库存数量+入库数量)
+//                BigDecimal multiply = stock.getUnitPrice().multiply(stock.getQuantity());//结存单价*库存数量
+//                BigDecimal multiply1 = purchaseDetailPo.getPrice().multiply(stockWaitDetails.getQuantity());//采购单价*入库数量
+//                BigDecimal add = multiply.add(multiply1);//(结存单价*库存数量+采购单价*入库数量)
+//                BigDecimal add1 = stock.getQuantity().add(stockWaitDetails.getQuantity());//库存数量+入库数量
+//                BigDecimal divide = add.divide(add1, 4, BigDecimal.ROUND_HALF_UP);//(结存单价*库存数量+采购单价*入库数量)/(库存数量+入库数量)
+//                stock.setUnitPrice(divide);
+//
+//                stockList1.add(stock);
+//            }
+//            stockService.saveOrUpdateBatch(stockList1);
+//        }
 
         //操作库存
         List<Long> swdIds = stockWaitDetailsDtoList.stream().map(StockWaitDetails::getId).collect(Collectors.toList());