Procházet zdrojové kódy

调仓流水赋值金额

yzc před 1 rokem
rodič
revize
47ef3896cf

+ 19 - 4
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/stock/impl/StockTransferServiceImpl.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 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.victoriatourist.entity.abnormal.po.AbnormalInfo;
 import com.fjhx.victoriatourist.entity.stock.dto.StockTransferDto;
@@ -20,7 +21,9 @@ import com.fjhx.victoriatourist.service.abnormal.AbnormalInfoService;
 import com.fjhx.victoriatourist.service.stock.StockTransferDetailsService;
 import com.fjhx.victoriatourist.service.stock.StockTransferService;
 import com.fjhx.victoriatourist.utils.CodeEnum;
+import com.fjhx.wms.entity.stock.bo.InOutBo;
 import com.fjhx.wms.entity.stock.dto.StockJournalDetailsDto;
+import com.fjhx.wms.entity.stock.emums.InOutType;
 import com.fjhx.wms.entity.stock.emums.JournalType;
 import com.fjhx.wms.entity.stock.po.Stock;
 import com.fjhx.wms.entity.stock.po.StockJournal;
@@ -276,9 +279,12 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
         }
         stockTransferDetailsService.saveBatch(stockTransferDetailsList);
 
-        List<Stock> stockList = new ArrayList<>();
+        List<Long> productIds = stockTransferDetailsList.stream().map(StockTransferDetails::getProductId).collect(Collectors.toList());
+        Map<Long, ProductInfo> productInfoMap = productInfoService.mapKEntity(ProductInfo::getId, q -> q.in(ProductInfo::getId, productIds));
+
+        List<InOutBo> stockList = new ArrayList<>();
         for (StockTransferDetails stockTransferDetails : stockTransferDetailsList) {
-            Stock stock = new Stock();
+            InOutBo stock = new InOutBo();
             stock.setProductId(stockTransferDetails.getProductId());
             stock.setQuantity(stockTransferDetails.getOutQuantity());
             stockList.add(stock);
@@ -301,9 +307,17 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
             stockJournalDetails.setQuantity(stockTransferDetails.getOutQuantity());
             stockJournalDetails.setBusinessDetailsId(stockTransferDetails.getId());
             stockJournalDetailsList.add(stockJournalDetails);
+
+            //赋值当前实时金额
+            ProductInfo productInfo = productInfoMap.get(stockTransferDetails.getProductId());
+            Assert.notEmpty(productInfo,"未知产品id:"+stockTransferDetails.getProductId());
+            stockJournalDetails.setPrice(productInfo.getUnitPrice());
+            stockJournalDetails.setStockPrice(productInfo.getUnitPrice());
+            stockJournalDetails.setOutStockPrice(productInfo.getOutUnitPrice());
         }
         //操作库存
-        stockService.ModifyInventory(2, stockList, stockTransferDto.getOutWarehouseId());
+//        stockService.ModifyInventory(2, stockList, stockTransferDto.getOutWarehouseId());
+        stockService.changeStock(stockList, stockTransferDto.getOutWarehouseId(),JournalType.ADJUSTING_OUT);
         //保存出库记录明细
         stockJournalDetailsService.saveBatch(stockJournalDetailsList);
 
@@ -316,7 +330,8 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
         stockJournal1.setWarehouseId(stockTransferDto.getInWarehouseId());
         stockJournalService.save(stockJournal1);
         //入库操作
-        stockService.ModifyInventory(1, stockList, stockTransferDto.getInWarehouseId());
+//        stockService.ModifyInventory(1, stockList, stockTransferDto.getInWarehouseId());
+        stockService.changeStock(stockList, stockTransferDto.getInWarehouseId(),JournalType.ADJUSTING_IN);
         //保存入库记录明细
         for (StockJournalDetails stockJournalDetails : stockJournalDetailsList) {
             //清空id再插入一份入库记录