|
|
@ -4,6 +4,7 @@ import java.math.BigDecimal; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Optional; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
import com.ruoyi.aftersales.mapper.AfterSalesShippingDeviceMapper; |
|
|
|
import com.ruoyi.common.core.redis.RedisCache; |
|
|
@ -593,22 +594,26 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS |
|
|
|
String purchaseOrderCode = warehouseStorageOrder.getRelatedOrderCode(); |
|
|
|
PurchaseOrder purchaseOrder = purchaseOrderMapper.selectPurchaseOrderByOrderCode(purchaseOrderCode); |
|
|
|
|
|
|
|
List<WarehouseStorageOrderDetail> warehouseStorageOrderDetailList = warehouseStorageOrder.getWarehouseStorageOrderDetailList(); |
|
|
|
if (StringUtils.isEmpty(warehouseStorageOrderDetailList)){ |
|
|
|
log.warn("入库单详情数据为空:{}",warehouseStorageOrderDetailList); |
|
|
|
List<WarehouseStorageOrderDetail> orderDetailList = warehouseStorageOrder.getWarehouseStorageOrderDetailList(); |
|
|
|
if (StringUtils.isEmpty(orderDetailList)){ |
|
|
|
log.warn("入库单详情数据为空:{}",orderDetailList); |
|
|
|
throw new BusinessException("入库单详情数据为空"); |
|
|
|
} |
|
|
|
|
|
|
|
//入库数
|
|
|
|
Integer storageNum = 0; |
|
|
|
|
|
|
|
// 检查storageNum是否含有null值
|
|
|
|
boolean hasThisStorageNumNull = warehouseStorageOrderDetailList.stream() |
|
|
|
boolean hasThisStorageNumNull = orderDetailList.stream() |
|
|
|
.anyMatch(item -> item.getStorageNum() == null); |
|
|
|
|
|
|
|
if (hasThisStorageNumNull) { |
|
|
|
throw new BusinessException("存在入库数为空,请检查!"); |
|
|
|
} |
|
|
|
|
|
|
|
List<WarehouseStorageOrderDetail> warehouseStorageOrderDetailList = orderDetailList.stream() |
|
|
|
.filter(item ->item.getStorageNum() != 0).collect(Collectors.toList()); |
|
|
|
|
|
|
|
|
|
|
|
//入库数
|
|
|
|
Integer storageNum = 0; |
|
|
|
|
|
|
|
// 计算各个字段的总和
|
|
|
|
storageNum = warehouseStorageOrderDetailList.stream() |
|
|
|
.mapToInt(WarehouseStorageOrderDetail::getStorageNum) |
|
|
@ -979,22 +984,26 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS |
|
|
|
String purchaseOrderCode = warehouseStorageOrder.getRelatedOrderCode(); |
|
|
|
PurchaseOrder purchaseOrder = purchaseOrderMapper.selectPurchaseOrderByOrderCode(purchaseOrderCode); |
|
|
|
|
|
|
|
List<WarehouseStorageOrderDetail> warehouseStorageOrderDetailList = warehouseStorageOrder.getWarehouseStorageOrderDetailList(); |
|
|
|
if (StringUtils.isEmpty(warehouseStorageOrderDetailList)){ |
|
|
|
log.warn("入库单详情数据为空:{}",warehouseStorageOrderDetailList); |
|
|
|
List<WarehouseStorageOrderDetail> orderDetailList = warehouseStorageOrder.getWarehouseStorageOrderDetailList(); |
|
|
|
if (StringUtils.isEmpty(orderDetailList)){ |
|
|
|
log.warn("入库单详情数据为空:{}",orderDetailList); |
|
|
|
throw new BusinessException("入库单详情数据为空"); |
|
|
|
} |
|
|
|
|
|
|
|
//入库数
|
|
|
|
Integer storageNum = 0; |
|
|
|
|
|
|
|
// 检查storageNum是否含有null值
|
|
|
|
boolean hasThisStorageNumNull = warehouseStorageOrderDetailList.stream() |
|
|
|
boolean hasThisStorageNumNull = orderDetailList.stream() |
|
|
|
.anyMatch(item -> item.getStorageNum() == null); |
|
|
|
|
|
|
|
if (hasThisStorageNumNull) { |
|
|
|
throw new BusinessException("存在入库数为空,请检查!"); |
|
|
|
} |
|
|
|
|
|
|
|
List<WarehouseStorageOrderDetail> warehouseStorageOrderDetailList = orderDetailList.stream() |
|
|
|
.filter(item ->item.getStorageNum() != null && item.getStorageNum() != 0).collect(Collectors.toList()); |
|
|
|
|
|
|
|
//入库数
|
|
|
|
Integer storageNum = 0; |
|
|
|
|
|
|
|
// 计算各个字段的总和
|
|
|
|
storageNum = warehouseStorageOrderDetailList.stream() |
|
|
|
.mapToInt(WarehouseStorageOrderDetail::getStorageNum) |
|
|
@ -1026,7 +1035,8 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS |
|
|
|
oldPurchaseOrderChild.setUpdateTime(DateUtils.getNowDate()); |
|
|
|
|
|
|
|
Integer storageNumDetail = warehouseStorageOrderDetail.getStorageNum(); |
|
|
|
Integer qualityHasQualifiedNum = warehouseStorageOrderDetail.getQualityHasQualifiedNum(); |
|
|
|
Integer qualityHasQualifiedNum = Optional.ofNullable(warehouseStorageOrderDetail.getQualityHasQualifiedNum()) |
|
|
|
.orElse(0); |
|
|
|
if (qualityHasQualifiedNum < storageNumDetail){ |
|
|
|
throw new BusinessException("入库数量不能大于品质合格数"); |
|
|
|
} |
|
|
@ -1044,7 +1054,7 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS |
|
|
|
} |
|
|
|
|
|
|
|
if (qualityHasQualifiedNum < hasStorageNum){ |
|
|
|
throw new BusinessException("已入库数量不能大于品质合格数"); |
|
|
|
throw new BusinessException("总入库数量不能大于品质合格数"); |
|
|
|
} |
|
|
|
|
|
|
|
int updatePurchaseOrderChildResult = purchaseOrderChildMapper.updatePurchaseOrderChild(oldPurchaseOrderChild); |
|
|
|