优化
This commit is contained in:
@@ -150,21 +150,24 @@ public class CartonMeasurementService {
|
||||
.filter(weight -> "CONFIRMED".equals(weight.getRecognitionStatus()))
|
||||
.toList();
|
||||
if (!confirmedWeights.isEmpty()) {
|
||||
if (confirmedWeights.stream().anyMatch(weight -> !positive(weight.getGrossWeightKg())
|
||||
|| !positive(weight.getNetWeightKg()))) {
|
||||
throw new BizException(ResultCode.VALIDATION_FAILED,
|
||||
"已确认称重结果缺少有效毛重或净重,请重新确认后再修改箱数");
|
||||
}
|
||||
BigDecimal confirmedGrossWeight = confirmedWeights.stream()
|
||||
.map(InboundWeightResultEntity::getGrossWeightKg)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add)
|
||||
.setScale(3, RoundingMode.HALF_UP);
|
||||
BigDecimal confirmedNetWeight = confirmedWeights.stream()
|
||||
.map(InboundWeightResultEntity::getNetWeightKg)
|
||||
.filter(java.util.Objects::nonNull)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add)
|
||||
.setScale(3, RoundingMode.CEILING);
|
||||
inbound.setActualGrossWeightKg(confirmedNetWeight);
|
||||
.setScale(3, RoundingMode.HALF_UP);
|
||||
inbound.setActualGrossWeightKg(confirmedGrossWeight);
|
||||
inbound.setActualNetWeightKg(confirmedNetWeight);
|
||||
} else {
|
||||
BigDecimal totalWeight = items.stream()
|
||||
.map(InboundMeasurementItemEntity::getTotalWeightKg)
|
||||
.filter(java.util.Objects::nonNull)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add)
|
||||
.setScale(3, RoundingMode.CEILING);
|
||||
if (positive(totalWeight)) {
|
||||
inbound.setActualGrossWeightKg(totalWeight);
|
||||
}
|
||||
inbound.setActualGrossWeightKg(null);
|
||||
inbound.setActualNetWeightKg(null);
|
||||
}
|
||||
inbound.setActualVolumeCbm(measurement.getTotalVolumeCbm());
|
||||
inbound.setVolumeWeightKg(measurement.getVolumeWeightKg());
|
||||
|
||||
Reference in New Issue
Block a user