|
@@ -270,15 +270,27 @@ public class VoyageApiImpl implements VoyageApi {
|
|
|
|
|
|
|
|
stockDetailList.forEach(item -> {
|
|
stockDetailList.forEach(item -> {
|
|
|
String key = item.getRoomModelId() + "_" + item.getFloor();
|
|
String key = item.getRoomModelId() + "_" + item.getFloor();
|
|
|
- item.setBookNum(item.getBookNum().subtract(totalNumMap.get(key)));
|
|
|
|
|
- item.setCanSellNum(item.getCanSellNum().add(totalNumMap.get(key)));
|
|
|
|
|
- item.setRealTotalNum(item.getRealTotalNum().add(realNumMap.get(key)));
|
|
|
|
|
- item.setVirtualNum(item.getVirtualNum().add(virtualNumMap.get(key)));
|
|
|
|
|
|
|
+ BigDecimal totalNum = totalNumMap.get(key);
|
|
|
|
|
+ if (totalNum == null) {
|
|
|
|
|
+ totalNum = BigDecimal.ZERO;
|
|
|
|
|
+ }
|
|
|
|
|
+ BigDecimal realNum = realNumMap.get(key);
|
|
|
|
|
+ if (realNum == null) {
|
|
|
|
|
+ realNum = BigDecimal.ZERO;
|
|
|
|
|
+ }
|
|
|
|
|
+ BigDecimal virtualNum = virtualNumMap.get(key);
|
|
|
|
|
+ if (virtualNum == null) {
|
|
|
|
|
+ virtualNum = BigDecimal.ZERO;
|
|
|
|
|
+ }
|
|
|
|
|
+ item.setBookNum(item.getBookNum().subtract(totalNum));
|
|
|
|
|
+ item.setCanSellNum(item.getCanSellNum().add(totalNum));
|
|
|
|
|
+ item.setRealTotalNum(item.getRealTotalNum().add(realNum));
|
|
|
|
|
+ item.setVirtualNum(item.getVirtualNum().add(virtualNum));
|
|
|
if(item.getTenantId() == null && voyageStockLogDO.getTenantId() != null) {
|
|
if(item.getTenantId() == null && voyageStockLogDO.getTenantId() != null) {
|
|
|
item.setTenantId(voyageStockLogDO.getTenantId());
|
|
item.setTenantId(voyageStockLogDO.getTenantId());
|
|
|
}
|
|
}
|
|
|
if (stockType == 1) {//使用的是共享库存,才退回共享库存
|
|
if (stockType == 1) {//使用的是共享库存,才退回共享库存
|
|
|
- item.setShareNum(item.getShareNum().add(totalNumMap.get(key)));
|
|
|
|
|
|
|
+ item.setShareNum(item.getShareNum().add(totalNum));
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
voyageStockDetailMapper.updateBatch(stockDetailList);
|
|
voyageStockDetailMapper.updateBatch(stockDetailList);
|
|
@@ -666,13 +678,25 @@ public class VoyageApiImpl implements VoyageApi {
|
|
|
|
|
|
|
|
stockDetailList.forEach(item -> {
|
|
stockDetailList.forEach(item -> {
|
|
|
String key = item.getRoomModelId() + "_" + item.getFloor();
|
|
String key = item.getRoomModelId() + "_" + item.getFloor();
|
|
|
- item.setBookNum(item.getBookNum().subtract(totalNumMap.get(key)));
|
|
|
|
|
- item.setCanSellNum(item.getCanSellNum().add(totalNumMap.get(key)));
|
|
|
|
|
- item.setRealTotalNum(item.getRealTotalNum().add(realNumMap.get(key)));
|
|
|
|
|
- item.setVirtualNum(item.getVirtualNum().add(virtualNumMap.get(key)));
|
|
|
|
|
|
|
+ BigDecimal totalNum = totalNumMap.get(key);
|
|
|
|
|
+ if(totalNum == null) {
|
|
|
|
|
+ totalNum = BigDecimal.ZERO;
|
|
|
|
|
+ }
|
|
|
|
|
+ BigDecimal realNum = realNumMap.get(key);
|
|
|
|
|
+ if (realNum == null) {
|
|
|
|
|
+ realNum = BigDecimal.ZERO;
|
|
|
|
|
+ }
|
|
|
|
|
+ BigDecimal virtualNum = virtualNumMap.get(key);
|
|
|
|
|
+ if (virtualNum == null) {
|
|
|
|
|
+ virtualNum = BigDecimal.ZERO;
|
|
|
|
|
+ }
|
|
|
|
|
+ item.setBookNum(item.getBookNum().subtract(totalNum));
|
|
|
|
|
+ item.setCanSellNum(item.getCanSellNum().add(totalNum));
|
|
|
|
|
+ item.setRealTotalNum(item.getRealTotalNum().add(realNum));
|
|
|
|
|
+ item.setVirtualNum(item.getVirtualNum().add(virtualNum));
|
|
|
if (stockType == 1) {
|
|
if (stockType == 1) {
|
|
|
//共享库存要还回库存详情
|
|
//共享库存要还回库存详情
|
|
|
- item.setShareNum(item.getShareNum().add(totalNumMap.get(key)));
|
|
|
|
|
|
|
+ item.setShareNum(item.getShareNum().add(totalNum));
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
voyageStockDetailMapper.updateBatch(stockDetailList);
|
|
voyageStockDetailMapper.updateBatch(stockDetailList);
|