|
@@ -27,6 +27,7 @@ import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.time.LocalDate;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Collections;
|
|
@@ -104,15 +105,16 @@ public class VoyageServiceImpl implements VoyageService {
|
|
|
}else {
|
|
|
//新增时添加统计数据
|
|
|
List<RoomModelFloorNumDTO> list = shipApi.queryRoomModelFloorToNum(reqVO.getShipId());
|
|
|
- int sum = list.stream().mapToInt(RoomModelFloorNumDTO::getNum).sum();
|
|
|
+ int intSum = list.stream().mapToInt(RoomModelFloorNumDTO::getNum).sum();
|
|
|
+ BigDecimal sum = BigDecimal.valueOf(intSum);
|
|
|
voyageStockDO.setTotalNum(sum);
|
|
|
voyageStockDO.setRealTotalNum(sum);
|
|
|
voyageStockDO.setNotShelfNum(sum);
|
|
|
- voyageStockDO.setShelfedNum(0);
|
|
|
- voyageStockDO.setBookNum(0);
|
|
|
- voyageStockDO.setCanSellNum(0);
|
|
|
- voyageStockDO.setVirtualNum(0);
|
|
|
- voyageStockDO.setOversoldNum(0);
|
|
|
+ voyageStockDO.setShelfedNum(BigDecimal.ZERO);
|
|
|
+ voyageStockDO.setBookNum(BigDecimal.ZERO);
|
|
|
+ voyageStockDO.setCanSellNum(BigDecimal.ZERO);
|
|
|
+ voyageStockDO.setVirtualNum(BigDecimal.ZERO);
|
|
|
+ voyageStockDO.setOversoldNum(BigDecimal.ZERO);
|
|
|
voyageStockDO.setSurplusNum(sum);
|
|
|
voyageStockDO.setVoyageId(voyageId);
|
|
|
voyageStockMapper.insert(voyageStockDO);
|
|
@@ -124,16 +126,16 @@ public class VoyageServiceImpl implements VoyageService {
|
|
|
stockDetailDO.setRoomModelId(item.getRoomModelId());
|
|
|
stockDetailDO.setRoomModelName(item.getRoomModelName());
|
|
|
stockDetailDO.setFloor(item.getFloor());
|
|
|
- stockDetailDO.setTotalNum(item.getNum());
|
|
|
- stockDetailDO.setRealTotalNum(item.getNum());
|
|
|
- stockDetailDO.setShelfNum(0);
|
|
|
- stockDetailDO.setNotShelfNum(item.getNum());
|
|
|
- stockDetailDO.setShelfedNum(0);
|
|
|
- stockDetailDO.setBookNum(0);
|
|
|
- stockDetailDO.setCanSellNum(0);
|
|
|
- stockDetailDO.setOversoldNum(0);
|
|
|
- stockDetailDO.setVirtualNum(0);
|
|
|
- stockDetailDO.setSurplusNum(item.getNum());
|
|
|
+ stockDetailDO.setTotalNum(BigDecimal.valueOf(item.getNum()));
|
|
|
+ stockDetailDO.setRealTotalNum(BigDecimal.valueOf(item.getNum()));
|
|
|
+ stockDetailDO.setShelfNum(BigDecimal.ZERO);
|
|
|
+ stockDetailDO.setNotShelfNum(BigDecimal.valueOf(item.getNum()));
|
|
|
+ stockDetailDO.setShelfedNum(BigDecimal.ZERO);
|
|
|
+ stockDetailDO.setBookNum(BigDecimal.ZERO);
|
|
|
+ stockDetailDO.setCanSellNum(BigDecimal.ZERO);
|
|
|
+ stockDetailDO.setOversoldNum(BigDecimal.ZERO);
|
|
|
+ stockDetailDO.setVirtualNum(BigDecimal.ZERO);
|
|
|
+ stockDetailDO.setSurplusNum(BigDecimal.valueOf(item.getNum()));
|
|
|
stockDetailDOS.add(stockDetailDO);
|
|
|
});
|
|
|
voyageStockDetailMapper.insertBatch(stockDetailDOS);
|
|
@@ -147,7 +149,9 @@ public class VoyageServiceImpl implements VoyageService {
|
|
|
List<VoyageStockDetailDO> stockDetailDOS = new ArrayList<>();
|
|
|
//新增时添加统计数据
|
|
|
List<RoomModelFloorNumDTO> list = shipApi.queryRoomModelFloorToNum(shipId);
|
|
|
- int sum = list.stream().mapToInt(RoomModelFloorNumDTO::getNum).sum();
|
|
|
+ int intSum = list.stream().mapToInt(RoomModelFloorNumDTO::getNum).sum();
|
|
|
+ BigDecimal sum = BigDecimal.valueOf(intSum);
|
|
|
+ BigDecimal zero = BigDecimal.ZERO;
|
|
|
voyageDOList.stream().forEach(item -> {
|
|
|
VoyageStockDO voyageStockDO = new VoyageStockDO();
|
|
|
voyageStockDO.setVoyageId(item.getId());
|
|
@@ -157,30 +161,31 @@ public class VoyageServiceImpl implements VoyageService {
|
|
|
voyageStockDO.setTotalNum(sum);
|
|
|
voyageStockDO.setRealTotalNum(sum);
|
|
|
voyageStockDO.setNotShelfNum(sum);
|
|
|
- voyageStockDO.setShelfedNum(0);
|
|
|
- voyageStockDO.setBookNum(0);
|
|
|
- voyageStockDO.setCanSellNum(0);
|
|
|
- voyageStockDO.setVirtualNum(0);
|
|
|
- voyageStockDO.setOversoldNum(0);
|
|
|
+ voyageStockDO.setShelfedNum(zero);
|
|
|
+ voyageStockDO.setBookNum(zero);
|
|
|
+ voyageStockDO.setCanSellNum(zero);
|
|
|
+ voyageStockDO.setVirtualNum(zero);
|
|
|
+ voyageStockDO.setOversoldNum(zero);
|
|
|
voyageStockDO.setSurplusNum(sum);
|
|
|
voyageStockDO.setVoyageId(item.getId());
|
|
|
voyageStockDOList.add(voyageStockDO);
|
|
|
list.stream().forEach(roomModelFloorNumDTO -> {
|
|
|
+ BigDecimal num = BigDecimal.valueOf(roomModelFloorNumDTO.getNum());
|
|
|
VoyageStockDetailDO stockDetailDO = new VoyageStockDetailDO();
|
|
|
stockDetailDO.setVoyageId(item.getId());
|
|
|
stockDetailDO.setRoomModelId(roomModelFloorNumDTO.getRoomModelId());
|
|
|
stockDetailDO.setRoomModelName(roomModelFloorNumDTO.getRoomModelName());
|
|
|
stockDetailDO.setFloor(roomModelFloorNumDTO.getFloor());
|
|
|
- stockDetailDO.setTotalNum(roomModelFloorNumDTO.getNum());
|
|
|
- stockDetailDO.setRealTotalNum(roomModelFloorNumDTO.getNum());
|
|
|
- stockDetailDO.setShelfNum(0);
|
|
|
- stockDetailDO.setNotShelfNum(roomModelFloorNumDTO.getNum());
|
|
|
- stockDetailDO.setShelfedNum(0);
|
|
|
- stockDetailDO.setBookNum(0);
|
|
|
- stockDetailDO.setCanSellNum(0);
|
|
|
- stockDetailDO.setOversoldNum(0);
|
|
|
- stockDetailDO.setVirtualNum(0);
|
|
|
- stockDetailDO.setSurplusNum(roomModelFloorNumDTO.getNum());
|
|
|
+ stockDetailDO.setTotalNum(num);
|
|
|
+ stockDetailDO.setRealTotalNum(num);
|
|
|
+ stockDetailDO.setShelfNum(zero);
|
|
|
+ stockDetailDO.setNotShelfNum(num);
|
|
|
+ stockDetailDO.setShelfedNum(zero);
|
|
|
+ stockDetailDO.setBookNum(zero);
|
|
|
+ stockDetailDO.setCanSellNum(zero);
|
|
|
+ stockDetailDO.setOversoldNum(zero);
|
|
|
+ stockDetailDO.setVirtualNum(zero);
|
|
|
+ stockDetailDO.setSurplusNum(num);
|
|
|
stockDetailDOS.add(stockDetailDO);
|
|
|
});
|
|
|
});
|