|
@@ -35,11 +35,13 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
+import java.util.stream.Stream;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -144,7 +146,6 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
|
|
|
List<Stock> stockList = new ArrayList<>();
|
|
|
List<StockTransferDetails> stockTransferDetailsList = stockTransferDto.getStockTransferDetailsList();
|
|
|
if(ObjectUtil.isNotEmpty(stockTransferDetailsList)) {
|
|
|
- stockTransferDetailsService.updateBatchById(stockTransferDetailsList);
|
|
|
//获取数据库中的数据
|
|
|
List<Long> ids = stockTransferDetailsList.stream().map(StockTransferDetails::getId).collect(Collectors.toList());
|
|
|
List<StockTransferDetails> oldstockTransferDetailsList = stockTransferDetailsService.listByIds(ids);
|
|
@@ -159,7 +160,10 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
|
|
|
|
|
|
//调仓接收数量与发出数量不一致
|
|
|
StockTransferDetails oldstockTransferDetails = oldstockTransferDetailsMap.get(stockTransferDetails.getId());
|
|
|
- if (stockTransferDetails.getInQuantity() != oldstockTransferDetails.getOutQuantity()) {
|
|
|
+ //计算已入库数量
|
|
|
+ BigDecimal inCount = oldstockTransferDetails.getInQuantity().add(stockTransferDetails.getInQuantity());
|
|
|
+ stockTransferDetails.setInQuantity(inCount);
|
|
|
+ if (inCount != oldstockTransferDetails.getOutQuantity()) {
|
|
|
abnormalFlag =1;
|
|
|
stockTransfer.setInStatus(1);//设置为部分接收
|
|
|
}
|
|
@@ -173,6 +177,9 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
|
|
|
abnormalInfo.setTitle("调仓接收数量与发出数量不一致");
|
|
|
abnormalInfoService.save(abnormalInfo);
|
|
|
}
|
|
|
+
|
|
|
+ //修改质检信息
|
|
|
+ stockTransferDetailsService.updateBatchById(stockTransferDetailsList);
|
|
|
}
|
|
|
updateById(stockTransfer);
|
|
|
//创建入库记录
|
|
@@ -217,11 +224,12 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
|
|
|
|
|
|
stockTransferDto.setCode(CodeEnum.STOCK_TRANSFER.getCode());
|
|
|
stockTransferDto.setType(1);
|
|
|
- stockTransferDto.setInStatus(0);
|
|
|
+ stockTransferDto.setInStatus(2);//已接收
|
|
|
this.save(stockTransferDto);
|
|
|
List<StockTransferDetails> stockTransferDetailsList = stockTransferDto.getStockTransferDetailsList();
|
|
|
for (StockTransferDetails stockTransferDetails : stockTransferDetailsList) {
|
|
|
stockTransferDetails.setStockTransferId(stockTransferDto.getId());
|
|
|
+ stockTransferDetails.setInQuantity(stockTransferDetails.getOutQuantity());
|
|
|
}
|
|
|
stockTransferDetailsService.saveBatch(stockTransferDetailsList);
|
|
|
|