|
@@ -318,11 +318,15 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
|
|
|
@Override
|
|
|
public void receive(StockTransferDto stockTransferDto) {
|
|
|
StockTransfer stockTransfer = stockTransferService.getById(stockTransferDto.getId());
|
|
|
+ //修改调仓状态
|
|
|
+ stockTransfer.setInStatus(2);//修改为已接收
|
|
|
+ stockTransfer.setInUserId(SecurityUtils.getUserId());//赋值接收人
|
|
|
+ stockTransfer.setInTime(new Date());//赋值接收时间
|
|
|
+
|
|
|
//明细
|
|
|
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);
|
|
@@ -337,10 +341,18 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
|
|
|
|
|
|
//调仓接收数量与发出数量不一致
|
|
|
StockTransferDetails oldstockTransferDetails = oldstockTransferDetailsMap.get(stockTransferDetails.getId());
|
|
|
- if (stockTransferDetails.getInQuantity() != oldstockTransferDetails.getOutQuantity()) {
|
|
|
+ if (stockTransferDetails.getInQuantity().compareTo(oldstockTransferDetails.getOutQuantity())!=0) {
|
|
|
abnormalFlag =1;
|
|
|
+ }
|
|
|
+
|
|
|
+ //计算已入库数量
|
|
|
+ BigDecimal inCount = oldstockTransferDetails.getInQuantity().add(stockTransferDetails.getInQuantity());
|
|
|
+ if (inCount.compareTo(oldstockTransferDetails.getOutQuantity())!=0 ) {
|
|
|
stockTransfer.setInStatus(1);//设置为部分接收
|
|
|
}
|
|
|
+ stockTransferDetails.setInQuantity(inCount);
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
if(abnormalFlag ==1){
|
|
|
AbnormalInfo abnormalInfo = new AbnormalInfo();
|
|
@@ -348,23 +360,13 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
|
|
|
abnormalInfo.setType(30);
|
|
|
abnormalInfo.setLinkId(stockTransfer.getId());
|
|
|
abnormalInfo.setLinkCode(stockTransfer.getCode());
|
|
|
- abnormalInfo.setTitle("调仓接收数量与发出数量不一致");
|
|
|
+ abnormalInfo.setTitle("京东订单接收数量与发出数量不一致");
|
|
|
abnormalInfoService.save(abnormalInfo);
|
|
|
}
|
|
|
}
|
|
|
- //修改调仓状态
|
|
|
- stockTransfer.setInStatus(2);//修改为已接收
|
|
|
- stockTransfer.setInUserId(SecurityUtils.getUserId());//赋值接收人
|
|
|
- stockTransfer.setInTime(new Date());//赋值接收时间
|
|
|
- List<StockTransferDetails> stockTransferDetails = stockTransferDetailsService.list(q -> q.eq(StockTransferDetails::getStockTransferId, stockTransfer.getId()));
|
|
|
- for (StockTransferDetails stockTransferDetail : stockTransferDetails) {
|
|
|
- if(stockTransferDetail.getOutQuantity().compareTo(stockTransferDetail.getInQuantity())!=0){
|
|
|
- stockTransfer.setInStatus(1);//部分接收
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
stockTransferService.updateById(stockTransfer);
|
|
|
+ stockTransferDetailsService.updateBatchById(stockTransferDetailsList);
|
|
|
//创建入库记录
|
|
|
StockJournal stockJournal = new StockJournal();
|
|
|
stockJournal.setOpType(1);
|
|
@@ -394,7 +396,6 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
|
|
|
//保存出入库记录明细
|
|
|
stockJournalDetailsService.saveBatch(stockJournalDetailsList);
|
|
|
stockJournalDetailsService.saveBatch(stockJournalDetailsList1);
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
|