|
@@ -6,6 +6,7 @@ import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
|
|
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.service.product.ProductInfoService;
|
|
|
import com.fjhx.victoriatourist.entity.abnormal.po.AbnormalInfo;
|
|
|
import com.fjhx.victoriatourist.entity.stock.dto.StockTransferDto;
|
|
@@ -18,8 +19,8 @@ import com.fjhx.victoriatourist.mapper.stock.StockTransferMapper;
|
|
|
import com.fjhx.victoriatourist.service.abnormal.AbnormalInfoService;
|
|
|
import com.fjhx.victoriatourist.service.stock.StockTransferDetailsService;
|
|
|
import com.fjhx.victoriatourist.service.stock.StockTransferService;
|
|
|
-import com.fjhx.common.utils.Assert;
|
|
|
import com.fjhx.victoriatourist.utils.CodeEnum;
|
|
|
+import com.fjhx.wms.entity.stock.dto.StockJournalDetailsDto;
|
|
|
import com.fjhx.wms.entity.stock.emums.JournalType;
|
|
|
import com.fjhx.wms.entity.stock.po.Stock;
|
|
|
import com.fjhx.wms.entity.stock.po.StockJournal;
|
|
@@ -125,15 +126,6 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
|
|
|
this.save(stockTransferDto);
|
|
|
List<StockTransferDetails> stockTransferDetailsList = stockTransferDto.getStockTransferDetailsList();
|
|
|
List<Stock> stockList = new ArrayList<>();
|
|
|
- for (StockTransferDetails stockTransferDetails : stockTransferDetailsList) {
|
|
|
- Stock stock = new Stock();
|
|
|
- stock.setProductId(stockTransferDetails.getProductId());
|
|
|
- stock.setQuantity(stockTransferDetails.getOutQuantity());
|
|
|
- stockList.add(stock);
|
|
|
-
|
|
|
- stockTransferDetails.setStockTransferId(stockTransferDto.getId());
|
|
|
- }
|
|
|
- stockTransferDetailsService.saveBatch(stockTransferDetailsList);
|
|
|
|
|
|
//创建出库记录
|
|
|
StockJournal stockJournal1 = new StockJournal();
|
|
@@ -144,9 +136,30 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
|
|
|
stockJournal1.setBusinessId(stockTransferDto.getId());
|
|
|
//保存出库记录
|
|
|
stockJournalService.save(stockJournal1);
|
|
|
+
|
|
|
+ List<StockJournalDetails> stockJournalDetailsList1 = new ArrayList<>();
|
|
|
+ for (StockTransferDetails stockTransferDetails : stockTransferDetailsList) {
|
|
|
+ Stock stock = new Stock();
|
|
|
+ stock.setProductId(stockTransferDetails.getProductId());
|
|
|
+ stock.setQuantity(stockTransferDetails.getOutQuantity());
|
|
|
+ stockList.add(stock);
|
|
|
+
|
|
|
+ //创建出入库明细
|
|
|
+ StockJournalDetails stockJournalDetails = new StockJournalDetailsDto();
|
|
|
+ stockJournalDetails.setStockJournalId(stockJournal1.getId());
|
|
|
+ stockJournalDetails.setProductId(stock.getProductId());
|
|
|
+ stockJournalDetails.setQuantity(stock.getQuantity());
|
|
|
+ stockJournalDetails.setBusinessDetailsId(stockTransferDetails.getId());
|
|
|
+ stockJournalDetailsList1.add(stockJournalDetails);
|
|
|
+
|
|
|
+ stockTransferDetails.setStockTransferId(stockTransferDto.getId());
|
|
|
+ }
|
|
|
+ stockTransferDetailsService.saveBatch(stockTransferDetailsList);
|
|
|
+
|
|
|
+
|
|
|
if (ObjectUtil.isNotEmpty(stockList)) {
|
|
|
//出库
|
|
|
- List<StockJournalDetails> stockJournalDetailsList1 = stockService.ModifyInventory(stockJournal1.getId(), 2, stockList, stockTransferDto.getOutWarehouseId());
|
|
|
+ stockService.ModifyInventory(2, stockList, stockTransferDto.getOutWarehouseId());
|
|
|
//保存出库记录明细
|
|
|
stockJournalDetailsService.saveBatch(stockJournalDetailsList1);
|
|
|
}
|
|
@@ -170,6 +183,8 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
|
|
|
stockTransfer.setInUserId(SecurityUtils.getUserId());//赋值接收人
|
|
|
stockTransfer.setInTime(new Date());//赋值接收时间
|
|
|
|
|
|
+ List<StockJournalDetails> stockJournalDetailsList = new ArrayList<>();
|
|
|
+
|
|
|
//明细
|
|
|
List<Stock> stockList = new ArrayList<>();
|
|
|
List<StockTransferDetails> stockTransferDetailsList = stockTransferDto.getStockTransferDetailsList();
|
|
@@ -179,6 +194,16 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
|
|
|
List<StockTransferDetails> oldstockTransferDetailsList = stockTransferDetailsService.listByIds(ids);
|
|
|
Map<Long, StockTransferDetails> oldstockTransferDetailsMap = oldstockTransferDetailsList.stream().collect(Collectors.toMap(StockTransferDetails::getId, Function.identity()));
|
|
|
|
|
|
+ //创建入库记录
|
|
|
+ StockJournal stockJournal = new StockJournal();
|
|
|
+ stockJournal.setOpType(1);
|
|
|
+ stockJournal.setType(JournalType.ADJUSTING_IN.getDetailType());
|
|
|
+ stockJournal.setCode(stockTransfer.getCode());
|
|
|
+ stockJournal.setWarehouseId(stockTransfer.getInWarehouseId());
|
|
|
+ stockJournal.setBusinessId(stockTransfer.getId());
|
|
|
+ //保存人库记录
|
|
|
+ stockJournalService.save(stockJournal);
|
|
|
+
|
|
|
Integer abnormalFlag = 0;
|
|
|
for (StockTransferDetails stockTransferDetails : stockTransferDetailsList) {
|
|
|
Stock stock = new Stock();
|
|
@@ -186,12 +211,21 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
|
|
|
stock.setQuantity(stockTransferDetails.getInQuantity());
|
|
|
stockList.add(stock);
|
|
|
|
|
|
+ //创建出入库明细
|
|
|
+ StockJournalDetails stockJournalDetails = new StockJournalDetailsDto();
|
|
|
+ stockJournalDetails.setStockJournalId(stockJournal.getId());
|
|
|
+ stockJournalDetails.setProductId(stock.getProductId());
|
|
|
+ stockJournalDetails.setQuantity(stock.getQuantity());
|
|
|
+ stockJournalDetails.setBusinessDetailsId(stockTransferDetails.getId());
|
|
|
+ stockJournalDetailsList.add(stockJournalDetails);
|
|
|
+
|
|
|
//调仓接收数量与发出数量不一致
|
|
|
StockTransferDetails oldstockTransferDetails = oldstockTransferDetailsMap.get(stockTransferDetails.getId());
|
|
|
if (stockTransferDetails.getInQuantity().compareTo(oldstockTransferDetails.getOutQuantity()) != 0) {
|
|
|
abnormalFlag = 1;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
//计算已入库数量
|
|
|
BigDecimal inCount = oldstockTransferDetails.getInQuantity().add(stockTransferDetails.getInQuantity());
|
|
|
if (inCount.compareTo(oldstockTransferDetails.getOutQuantity()) != 0) {
|
|
@@ -214,19 +248,11 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
|
|
|
stockTransferDetailsService.updateBatchById(stockTransferDetailsList);
|
|
|
}
|
|
|
updateById(stockTransfer);
|
|
|
- //创建入库记录
|
|
|
- StockJournal stockJournal = new StockJournal();
|
|
|
- stockJournal.setOpType(1);
|
|
|
- stockJournal.setType(JournalType.ADJUSTING_IN.getDetailType());
|
|
|
- stockJournal.setCode(stockTransfer.getCode());
|
|
|
- stockJournal.setWarehouseId(stockTransfer.getInWarehouseId());
|
|
|
- stockJournal.setBusinessId(stockTransfer.getId());
|
|
|
- //保存人库记录
|
|
|
- stockJournalService.save(stockJournal);
|
|
|
+
|
|
|
|
|
|
if (ObjectUtil.isNotEmpty(stockList)) {
|
|
|
//入库
|
|
|
- List<StockJournalDetails> stockJournalDetailsList = stockService.ModifyInventory(stockJournal.getId(), 1, stockList, stockTransfer.getInWarehouseId());
|
|
|
+ stockService.ModifyInventory(1, stockList, stockTransfer.getInWarehouseId());
|
|
|
//保存入库记录明细
|
|
|
stockJournalDetailsService.saveBatch(stockJournalDetailsList);
|
|
|
}
|
|
@@ -268,8 +294,18 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
|
|
|
// stockJournal.setToWarehouseId(stockDto.getToWarehouseId());
|
|
|
//保存出入库记录
|
|
|
stockJournalService.save(stockJournal);
|
|
|
+ List<StockJournalDetails> stockJournalDetailsList = new ArrayList<>();
|
|
|
+ for (StockTransferDetails stockTransferDetails : stockTransferDetailsList) {
|
|
|
+ //创建出入库明细
|
|
|
+ StockJournalDetails stockJournalDetails = new StockJournalDetailsDto();
|
|
|
+ stockJournalDetails.setStockJournalId(stockJournal.getId());
|
|
|
+ stockJournalDetails.setProductId(stockTransferDetails.getProductId());
|
|
|
+ stockJournalDetails.setQuantity(stockTransferDetails.getOutQuantity());
|
|
|
+ stockJournalDetails.setBusinessDetailsId(stockTransferDetails.getId());
|
|
|
+ stockJournalDetailsList.add(stockJournalDetails);
|
|
|
+ }
|
|
|
//操作库存
|
|
|
- List<StockJournalDetails> stockJournalDetailsList = stockService.ModifyInventory(stockJournal.getId(), 2, stockList, stockTransferDto.getOutWarehouseId());
|
|
|
+ stockService.ModifyInventory(2, stockList, stockTransferDto.getOutWarehouseId());
|
|
|
//保存出入库明细
|
|
|
stockJournalDetailsService.saveBatch(stockJournalDetailsList);
|
|
|
|
|
@@ -285,9 +321,9 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
|
|
|
stockJournalService.save(stockJournal1);
|
|
|
|
|
|
//入库操作
|
|
|
- List<StockJournalDetails> stockJournalDetailsList1 = stockService.ModifyInventory(stockJournal1.getId(), 1, stockList, stockTransferDto.getInWarehouseId());
|
|
|
+ stockService.ModifyInventory(1, stockList, stockTransferDto.getInWarehouseId());
|
|
|
//保存出入库明细
|
|
|
- stockJournalDetailsService.saveBatch(stockJournalDetailsList1);
|
|
|
+ stockJournalDetailsService.saveBatch(stockJournalDetailsList);
|
|
|
}
|
|
|
|
|
|
}
|