Browse Source

订单合同新增接口

chenxiaofei 2 tháng trước cách đây
mục cha
commit
967b25c4c2

+ 16 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcContractSaleController.java

@@ -49,6 +49,22 @@ public class KwcContractSaleController {
         return BaseResult.success(kwcContractTradeService.queryListByPage(reqVo));
     }
 
+    /**
+     * @desc: 分页查询
+     * @param: reqVo 分页入参
+     * @author: sky
+     * @date 2023/7/17
+     * @return HttpResult
+     */
+    @PostMapping("/queryTradeListByPage")
+    @Operation(summary = "分页查询贸易合同")
+    public BaseResult<PageDataResult<QueryListResVo>> queryTradeByPage(@RequestBody QueryTradeReq req) {
+        //reqVo.setEntType(EntTypeEnum.SUPPLIER.getCode());
+        //return BaseResult.success(kwcContractTradeService.queryListByPage(reqVo));
+        return null;
+    }
+
+
     /**
      * @param reqVo 新增入参
      * @return HttpResult

+ 1 - 1
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/ContractTradeReqVo.java

@@ -39,7 +39,7 @@ public class ContractTradeReqVo implements Serializable {
      * 合同文件
      */
 
-    @NotBlank(message = "合同文件不能为空")
+    //@NotBlank(message = "合同文件不能为空")
     private String contractFile;
 
     /**

+ 18 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/QueryTradeReq.java

@@ -0,0 +1,18 @@
+package com.sckw.contract.model.vo.req;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author :chenXiaoFei
+ * @version :1.0
+ * @description : 贸易订单分页查询
+ * @create :2025-11-10 11:14:00
+ */
+@Data
+public class QueryTradeReq implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 2211511377945341272L;
+}

+ 6 - 5
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/operateService/KwcContractLogisticsService.java

@@ -48,6 +48,7 @@ import com.sckw.system.api.model.dto.res.EntCacheResDto;
 import com.sckw.system.api.model.dto.res.KwsUserResDto;
 import com.sckw.system.api.model.dto.res.SysDictResDto;
 import com.sckw.system.api.model.dto.res.UserCacheResDto;
+import com.sckw.transport.api.model.vo.RWaybillSubOrderVo;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -1135,11 +1136,11 @@ public class KwcContractLogisticsService {
                 if (b){
                     queryLogisticListResp.setContractTransportAmount(null);
                 }else {
-                    double totalTransportAmount = goods.stream()
-                            .filter(g -> Objects.nonNull(g.getAmount()))
-                            .mapToDouble(x -> Double.parseDouble(String.valueOf(x.getAmount())))
-                            .sum();
-                    queryLogisticListResp.setTotalTransportAmount(String.valueOf( totalTransportAmount));
+                    BigDecimal totalTransportAmount = goods.stream()
+                            .map(KwcContractLogisticsGoods::getAmount)
+                            .filter(Objects::nonNull)
+                            .reduce(BigDecimal.ZERO, BigDecimal::add);
+                    queryLogisticListResp.setTotalTransportAmount(totalTransportAmount.setScale(2, RoundingMode.HALF_UP).toPlainString());
                 }
 
 

+ 1 - 1
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/operateService/KwcContractTradeService.java

@@ -278,7 +278,7 @@ public class KwcContractTradeService {
         long contactId = new IdWorker(1L).nextId();
         kwcContractTrade.setId(contactId);
         kwcContractTrade.setStatus(ContractStatusEnum.WAIT_APPROVE.getCode());
-        kwcContractTrade.setSigningUrl(changeFile(reqVo.getContractFile()));
+       // kwcContractTrade.setSigningUrl(changeFile(reqVo.getContractFile()));
         if (kwcContractTradeMapper.insert(kwcContractTrade) <= 0) {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
         }

+ 40 - 26
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/TradeOrderManageService.java

@@ -351,14 +351,16 @@ public class TradeOrderManageService {
                 new RWaybillSubOrderVo());
         List<RWaybillSubOrderVo.BillSubOrder> subOrders = subOrderVo.getSubOrders();
         if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(subOrders)) {
-            double sum = subOrders.stream()
-                    .filter(s -> Objects.nonNull(s.getLoadAmount()))
-                    .mapToDouble(s -> s.getLoadAmount().doubleValue()).sum();
-            double unloadQty = subOrders.stream()
-                    .filter(s -> Objects.nonNull(s.getUnloadAmount()))
-                    .mapToDouble(s -> s.getUnloadAmount().doubleValue()).sum();
-            queryTradeOrderResp.setLoadQty(String.valueOf(sum));
-            queryTradeOrderResp.setUnloadQty(String.valueOf(unloadQty));
+            BigDecimal sum = subOrders.stream()
+                    .map(RWaybillSubOrderVo.BillSubOrder::getLoadAmount)
+                    .filter(Objects::nonNull)
+                    .reduce(BigDecimal.ZERO, BigDecimal::add);
+            BigDecimal unloadQty = subOrders.stream()
+                    .map(RWaybillSubOrderVo.BillSubOrder::getUnloadAmount)
+                    .filter(Objects::nonNull)
+                    .reduce(BigDecimal.ZERO, BigDecimal::add);
+            queryTradeOrderResp.setLoadQty(sum.setScale(2, RoundingMode.HALF_UP).toPlainString());
+            queryTradeOrderResp.setUnloadQty(unloadQty.setScale(2, RoundingMode.HALF_UP).toPlainString());
         }
         queryTradeOrderResp.setOrderQty(Objects.nonNull(tradeOrder.getAmount()) ?
                 tradeOrder.getAmount().setScale(2, RoundingMode.HALF_UP).toPlainString() : "");
@@ -482,28 +484,36 @@ public class TradeOrderManageService {
         if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(subOrders)){
         
             //累计装货量
-            double loadTotal = subOrders.stream().filter(x -> Objects.nonNull(x.getLoadAmount()))
-                    .mapToDouble(x -> x.getLoadAmount().doubleValue()).sum();
-            double unloadTotal = subOrders.stream().filter(x -> Objects.nonNull(x.getUnloadAmount()))
-                    .mapToDouble(x -> x.getUnloadAmount().doubleValue()).sum();
-            double loadAmount = 0.0 ;
+            BigDecimal loadTotal = subOrders.stream()
+                    .map(RWaybillSubOrderVo.BillSubOrder::getLoadAmount)
+                    .filter(Objects::nonNull)
+                    .reduce(BigDecimal.ZERO, BigDecimal::add);
+            BigDecimal unloadTotal = subOrders.stream()
+                    .map(RWaybillSubOrderVo.BillSubOrder::getUnloadAmount)
+                    .filter(Objects::nonNull)
+                    .reduce(BigDecimal.ZERO, BigDecimal::add);
+            BigDecimal loadAmount = BigDecimal.ZERO ;
             if (org.apache.commons.lang3.StringUtils.equals(String.valueOf(tradeOrder.getTrading()),
                     DictEnum.CHARGING_TYPE_2.getValue())){
                 //已履约量
-                loadAmount = subOrders.stream().filter(x -> Objects.nonNull(x.getUnloadAmount()))
-                        .mapToDouble(x -> x.getUnloadAmount().doubleValue()).sum();
+                loadAmount = subOrders.stream()
+                        .map(RWaybillSubOrderVo.BillSubOrder::getUnloadAmount)
+                        .filter(Objects::nonNull)
+                        .reduce(BigDecimal.ZERO, BigDecimal::add);
             }else if (org.apache.commons.lang3.StringUtils.equals(String.valueOf(tradeOrder.getTrading()),
                     DictEnum.CHARGING_TYPE_1.getValue())){
                 //已履约量
-                loadAmount = subOrders.stream().filter(x -> Objects.nonNull(x.getLoadAmount()))
-                        .mapToDouble(x -> x.getLoadAmount().doubleValue()).sum();
+                loadAmount = subOrders.stream()
+                        .map(RWaybillSubOrderVo.BillSubOrder::getLoadAmount)
+                        .filter(Objects::nonNull)
+                        .reduce(BigDecimal.ZERO, BigDecimal::add);
              
             }
-            tradeOrderPerformanceInfo.setLoadAmount(String.valueOf(loadAmount));
+            tradeOrderPerformanceInfo.setLoadAmount(loadAmount.setScale(2, RoundingMode.HALF_UP).toPlainString());
 
-            tradeOrderPerformanceInfo.setLoadTotal(String.valueOf(loadTotal));
+            tradeOrderPerformanceInfo.setLoadTotal(loadTotal.setScale(2, RoundingMode.HALF_UP).toPlainString());
 
-            tradeOrderPerformanceInfo.setUnloadTotal(String.valueOf(unloadTotal));
+            tradeOrderPerformanceInfo.setUnloadTotal(unloadTotal.setScale(2, RoundingMode.HALF_UP).toPlainString());
             //按照物流id进行分组
             Map<Long, List<RWaybillSubOrderVo.BillSubOrder>> logIdAndSubOrderVoMap =
                     subOrders.stream().collect(Collectors.groupingBy(RWaybillSubOrderVo.BillSubOrder::getLOrderId));
@@ -512,20 +522,24 @@ public class TradeOrderManageService {
                 KwtLogisticsOrderVO logisticsOrder = finalLogIdAndLogisticsOrderMap.getOrDefault(logId, new KwtLogisticsOrderVO());
                 BigDecimal price =
                         Optional.ofNullable(logisticsOrder).map(KwtLogisticsOrderVO::getPrice).orElse(BigDecimal.ZERO);
-                double sum = 0.0 ;
+                BigDecimal sum = BigDecimal.ZERO ;
                 if (org.apache.commons.lang3.StringUtils.equals(String.valueOf(tradeOrder.getTrading()),
                         DictEnum.CHARGING_TYPE_2.getValue())){
                     //已履约量
-                    sum = subOrderVos.stream().filter(x -> Objects.nonNull(x.getUnloadAmount()))
-                            .mapToDouble(x -> x.getUnloadAmount().doubleValue()).sum();
+                    sum = subOrderVos.stream()
+                            .map(RWaybillSubOrderVo.BillSubOrder::getUnloadAmount)
+                            .filter(Objects::nonNull)
+                            .reduce(BigDecimal.ZERO, BigDecimal::add);
                 }else if (org.apache.commons.lang3.StringUtils.equals(String.valueOf(tradeOrder.getTrading()),
                         DictEnum.CHARGING_TYPE_1.getValue())){
                     //已履约量
-                    sum = subOrderVos.stream().filter(x -> Objects.nonNull(x.getLoadAmount()))
-                            .mapToDouble(x -> x.getLoadAmount().doubleValue()).sum();
+                    sum = subOrderVos.stream()
+                            .map(RWaybillSubOrderVo.BillSubOrder::getLoadAmount)
+                            .filter(Objects::nonNull)
+                            .reduce(BigDecimal.ZERO, BigDecimal::add);
 
                 }
-             tradeOrderPerformanceInfo.setLoadAmountPrice(price.multiply(new BigDecimal(sum)).setScale(2,
+             tradeOrderPerformanceInfo.setLoadAmountPrice(price.multiply(sum).setScale(2,
                      RoundingMode.HALF_UP).toPlainString());
             });
         }