|
@@ -3,11 +3,9 @@ package com.fjhx.victoriatourist.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.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
|
|
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.constant.SourceConstant;
|
|
|
import com.fjhx.item.service.product.ProductInfoService;
|
|
|
import com.fjhx.victoriatourist.entity.abnormal.po.AbnormalInfo;
|
|
|
import com.fjhx.victoriatourist.entity.stock.dto.StockTransferDto;
|
|
@@ -21,6 +19,7 @@ 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.dto.StockDto;
|
|
|
import com.fjhx.wms.entity.stock.emums.JournalType;
|
|
|
import com.fjhx.wms.entity.stock.po.Stock;
|
|
|
import com.fjhx.wms.entity.stock.po.StockJournal;
|
|
@@ -203,4 +202,55 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @DSTransactional
|
|
|
+ public void stockTransfer(StockTransferDto stockTransferDto) {
|
|
|
+ stockTransferDto.setCode(CodeEnum.STOCK_TRANSFER.getCode());
|
|
|
+ stockTransferDto.setType(1);
|
|
|
+ stockTransferDto.setInStatus(0);
|
|
|
+ this.save(stockTransferDto);
|
|
|
+ List<StockTransferDetails> stockTransferDetailsList = stockTransferDto.getStockTransferDetailsList();
|
|
|
+ for (StockTransferDetails stockTransferDetails : stockTransferDetailsList) {
|
|
|
+ stockTransferDetails.setStockTransferId(stockTransferDto.getId());
|
|
|
+ }
|
|
|
+ stockTransferDetailsService.saveBatch(stockTransferDetailsList);
|
|
|
+
|
|
|
+ List<Stock> stockList = new ArrayList<>();
|
|
|
+ for (StockTransferDetails stockTransferDetails : stockTransferDetailsList) {
|
|
|
+ Stock stock = new Stock();
|
|
|
+ stock.setProductId(stockTransferDetails.getProductId());
|
|
|
+ stock.setQuantity(stockTransferDetails.getOutQuantity());
|
|
|
+ stockList.add(stock);
|
|
|
+ }
|
|
|
+
|
|
|
+ //创建出库记录
|
|
|
+ StockJournal stockJournal = new StockJournal();
|
|
|
+ stockJournal.setCode(CodeEnum.STOCK_TRANSFER.getCode());
|
|
|
+ stockJournal.setOpType(2);//出库
|
|
|
+ stockJournal.setType(JournalType.ADJUSTING_OUT.getDetailType());//调仓入库
|
|
|
+ stockJournal.setWarehouseId(stockTransferDto.getOutWarehouseId());
|
|
|
+// stockJournal.setToWarehouseId(stockDto.getToWarehouseId());
|
|
|
+ //保存出入库记录
|
|
|
+ stockJournalService.save(stockJournal);
|
|
|
+ //操作库存
|
|
|
+ List<StockJournalDetails> stockJournalDetailsList = stockService.ModifyInventory(stockJournal.getId(), 2, stockList, stockTransferDto.getOutWarehouseId());
|
|
|
+ //保存出入库明细
|
|
|
+ stockJournalDetailsService.saveBatch(stockJournalDetailsList);
|
|
|
+
|
|
|
+ //创建入库记录
|
|
|
+ StockJournal stockJournal1 = new StockJournal();
|
|
|
+ stockJournal1.setCode(com.fjhx.wms.utils.CodeEnum.STOCK_TRANSFER.getCode());
|
|
|
+ stockJournal1.setOpType(1);//入库
|
|
|
+ stockJournal1.setType(JournalType.ADJUSTING_IN.getDetailType());//调仓出库
|
|
|
+ stockJournal1.setWarehouseId(stockTransferDto.getInWarehouseId());
|
|
|
+// stockJournal1.setToWarehouseId(stockDto.getToWarehouseId());
|
|
|
+ //保存出入库记录
|
|
|
+ stockJournalService.save(stockJournal1);
|
|
|
+
|
|
|
+ //入库操作
|
|
|
+ List<StockJournalDetails> stockJournalDetailsList1 = stockService.ModifyInventory(stockJournal1.getId(), 1, stockList, stockTransferDto.getInWarehouseId());
|
|
|
+ //保存出入库明细
|
|
|
+ stockJournalDetailsService.saveBatch(stockJournalDetailsList1);
|
|
|
+ }
|
|
|
+
|
|
|
}
|