瀏覽代碼

1.采购订单提交,装货地址分配量默认为订单总量

yzc 1 年之前
父節點
當前提交
d5083d11fa
共有 1 個文件被更改,包括 13 次插入4 次删除
  1. 13 4
      sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java

+ 13 - 4
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java

@@ -243,17 +243,26 @@ public class KwoTradeOrderService {
         if (CollUtil.isNotEmpty(addressInfos)) {
             BigDecimal amount = Objects.isNull(param.getAmount()) ? BigDecimal.ZERO : param.getAmount();
             if (!isDraft) {
+                boolean isPurchase = OrderSourceEnum.PURCHASE.getType().equals(tradeOrder.getSource());
+                if (isPurchase) {
+                    List<AddressInfo> loadAddress = addressInfos.stream().filter(e -> Objects.equals(e.getAddressType(), OrderAddressTypeEnum.LOAD.getType())).toList();
+                    if (CollUtil.isEmpty(loadAddress) || loadAddress.size() != 1) {
+                        throw new BusinessException("采购下单装货地址信息有误!");
+                    }
+                }
                 BigDecimal totalLoadAmount = BigDecimal.ZERO;
                 BigDecimal totalUnloadAmount = BigDecimal.ZERO;
                 boolean loadFlag = false;
                 boolean unloadFlag = false;
                 for (AddressInfo e : addressInfos) {
-                    BigDecimal addressAmount = Objects.isNull(e.getAmount()) ? BigDecimal.ZERO : e.getAmount();
                     if (Objects.equals(e.getAddressType(), OrderAddressTypeEnum.LOAD.getType())) {
-                        totalLoadAmount = totalLoadAmount.add(addressAmount);
+                        if (isPurchase){
+                            e.setAmount(amount);
+                        }
+                        totalLoadAmount = totalLoadAmount.add(e.getAmount());
                         loadFlag = true;
                     } else {
-                        totalUnloadAmount = totalUnloadAmount.add(addressAmount);
+                        totalUnloadAmount = totalUnloadAmount.add(e.getAmount());
                         unloadFlag = true;
                     }
                 }
@@ -1603,7 +1612,7 @@ public class KwoTradeOrderService {
      * @author yzc
      * @date 2024/3/15 14:23
      */
-    private PageResult buildResult(List<OrderListResDTO> list, int pageSize) {
+    public PageResult buildResult(List<OrderListResDTO> list, int pageSize) {
         if (CollUtil.isEmpty(list)) {
             return PageHelperUtil.getPageResult(new PageInfo<>());
         }