Bladeren bron

Merge remote-tracking branch 'origin/master'

xucaiqin 1 jaar geleden
bovenliggende
commit
b3365929ef
22 gewijzigde bestanden met toevoegingen van 227 en 77 verwijderingen
  1. 10 0
      src/main/java/com/sckw/freight/controller/LedgerController.java
  2. 4 0
      src/main/java/com/sckw/freight/entity/freight/KwpLedgerLogistics.java
  3. 9 6
      src/main/java/com/sckw/freight/entity/kll/KllOrder.java
  4. 5 2
      src/main/java/com/sckw/freight/mapper/freight/KwpLedgerLogisticsMapper.java
  5. 38 0
      src/main/java/com/sckw/freight/model/enums/KllOrderExecutionStatusEnum.java
  6. 11 9
      src/main/java/com/sckw/freight/model/enums/KllOrderLedgerStatusEnum.java
  7. 9 13
      src/main/java/com/sckw/freight/model/enums/KllOrderStatusEnum.java
  8. 5 5
      src/main/java/com/sckw/freight/model/enums/KwpLedgerLogisticsOrderStatusEnum.java
  9. 5 5
      src/main/java/com/sckw/freight/model/enums/KwpSettlementLogisticsStatusEnum.java
  10. 17 0
      src/main/java/com/sckw/freight/model/po/LedgerLogisticsStatistics.java
  11. 3 2
      src/main/java/com/sckw/freight/model/vo/request/RequestSaveLedgerLogisticsInfo.java
  12. 1 1
      src/main/java/com/sckw/freight/model/vo/request/RequestSettlementLogisticsPageInfo.java
  13. 1 1
      src/main/java/com/sckw/freight/model/vo/response/ResponseKllOrderTask.java
  14. 1 1
      src/main/java/com/sckw/freight/model/vo/response/ResponseLedgerLogistics.java
  15. 25 0
      src/main/java/com/sckw/freight/model/vo/response/ResponseLedgerLogisticsStatistics.java
  16. 1 1
      src/main/java/com/sckw/freight/model/vo/response/ResponseSettlementLogistics.java
  17. 10 0
      src/main/java/com/sckw/freight/service/freight/IKwpLedgerLogisticsService.java
  18. 51 21
      src/main/java/com/sckw/freight/service/freight/impl/KwpLedgerLogisticsServiceImpl.java
  19. 5 6
      src/main/java/com/sckw/freight/service/freight/impl/KwpSettlementLogisticsServiceImpl.java
  20. 2 2
      src/main/resources/application-dev.yml
  21. 7 2
      src/main/resources/application-test.yml
  22. 7 0
      src/main/resources/com/sckw/freight/mapper/freight/KwpLedgerLogisticsMapper.xml

+ 10 - 0
src/main/java/com/sckw/freight/controller/LedgerController.java

@@ -4,6 +4,7 @@ import com.sckw.freight.model.vo.request.RequestLedgerLogisticsPageInfo;
 import com.sckw.freight.model.vo.request.RequestSaveLedgerLogisticsInfo;
 import com.sckw.freight.model.vo.response.ResponseKllOrderTask;
 import com.sckw.freight.model.vo.response.ResponseLedgerLogistics;
+import com.sckw.freight.model.vo.response.ResponseLedgerLogisticsStatistics;
 import com.sckw.freight.model.vo.response.ResponsePageData;
 import com.sckw.freight.service.freight.IKwpLedgerLogisticsService;
 import com.sckw.freight.util.R;
@@ -72,4 +73,13 @@ public class LedgerController {
             @RequestParam(value = "entId", required = true) Long entId) {
         return iKwpLedgerLogisticsService.queryOrderTaskListByLedgerLogisticsId(ledgerLogisticsId, entId);
     }
+
+    @GetMapping("/queryLedgerLogisticsStatistics")
+    @Operation(summary = "物流对账单-统计信息")
+    @Parameters(value = {
+            @Parameter(name = "entId", description = "企业id")
+    })
+    public R<ResponseLedgerLogisticsStatistics> queryLedgerLogisticsStatistics(@RequestParam(value = "entId", required = true) Long entId) {
+        return iKwpLedgerLogisticsService.queryLedgerLogisticsStatistics(entId);
+    }
 }

+ 4 - 0
src/main/java/com/sckw/freight/entity/freight/KwpLedgerLogistics.java

@@ -172,6 +172,10 @@ public class KwpLedgerLogistics implements Serializable {
      * 是否删除(0未删除,1删除)
      */
     private Integer delFlag;
+    /**
+     * 物流单上的企业id
+     */
+    private Long companyId;
 
 
 }

+ 9 - 6
src/main/java/com/sckw/freight/entity/kll/KllOrder.java

@@ -1,15 +1,16 @@
 package com.sckw.freight.entity.kll;
 
-import java.math.BigDecimal;
-import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
-import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
 /**
  * <p>
  * 订单
@@ -218,6 +219,8 @@ public class KllOrder implements Serializable {
     private LocalDateTime updateTime;
 
     private String payPlatformMainAccount;
-
-
+    /**
+     * 对账状态(0-未对账,1-已对账)
+     **/
+    private Integer ledgerStatus;
 }

+ 5 - 2
src/main/java/com/sckw/freight/mapper/freight/KwpLedgerLogisticsMapper.java

@@ -1,8 +1,11 @@
 package com.sckw.freight.mapper.freight;
 
 import com.baomidou.dynamic.datasource.annotation.DS;
-import com.sckw.freight.entity.freight.KwpLedgerLogistics;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.freight.entity.freight.KwpLedgerLogistics;
+import com.sckw.freight.model.po.LedgerLogisticsStatistics;
+
+import java.util.List;
 
 /**
  * <p>
@@ -14,5 +17,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 @DS("freight")
 public interface KwpLedgerLogisticsMapper extends BaseMapper<KwpLedgerLogistics> {
-
+    List<LedgerLogisticsStatistics> queryLedgerLogisticsStatistics(Long entId);
 }

+ 38 - 0
src/main/java/com/sckw/freight/model/enums/KllOrderExecutionStatusEnum.java

@@ -0,0 +1,38 @@
+package com.sckw.freight.model.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+import java.util.stream.Collectors;
+@Getter
+@AllArgsConstructor
+public enum KllOrderExecutionStatusEnum {
+
+    /**
+     * 订单状态枚举
+     */
+    Pending (1, "待处理"),
+    Dispatched  (2, "已派运力"),
+    Running (3, "执行中"),
+    Finished  (4, "已结束");
+
+    private final Integer code;
+    private final String msg;
+
+    public static String getMsg(Integer code) {
+        for (KllOrderExecutionStatusEnum ele : KllOrderExecutionStatusEnum.values()) {
+            if (ele.getCode().equals(code)) {
+                return ele.getMsg();
+            }
+        }
+        return null;
+    }
+
+    public static List<KllOrderExecutionStatusEnum> getSortList() {
+        KllOrderExecutionStatusEnum[] enums = KllOrderExecutionStatusEnum.values();
+        return Arrays.stream(enums).sorted(Comparator.comparingInt(KllOrderExecutionStatusEnum::getCode)).collect(Collectors.toList());
+    }
+}

+ 11 - 9
src/main/java/com/sckw/freight/model/enums/OrderExecutionStatusEnum.java → src/main/java/com/sckw/freight/model/enums/KllOrderLedgerStatusEnum.java

@@ -7,18 +7,20 @@ import java.util.Arrays;
 import java.util.Comparator;
 import java.util.List;
 import java.util.stream.Collectors;
+
 @Getter
 @AllArgsConstructor
-public enum OrderExecutionStatusEnum {
-    WaitingExecution(0, "等待执行"),
-    ExecutionSuccess (1, "执行成功"),
-    BeingExecuted (2, "正在执行"),
-    Settlement (3, "开始结算");
+public enum KllOrderLedgerStatusEnum {
+    /**
+     * 订单状态枚举
+     */
+    NoLedger (0, "未对账"),
+    Ledgered  (1, "已对账");
     private final Integer code;
     private final String msg;
 
     public static String getMsg(Integer code) {
-        for (OrderExecutionStatusEnum ele : OrderExecutionStatusEnum.values()) {
+        for (KllOrderLedgerStatusEnum ele : KllOrderLedgerStatusEnum.values()) {
             if (ele.getCode().equals(code)) {
                 return ele.getMsg();
             }
@@ -26,8 +28,8 @@ public enum OrderExecutionStatusEnum {
         return null;
     }
 
-    public static List<OrderExecutionStatusEnum> getSortList() {
-        OrderExecutionStatusEnum[] enums = OrderExecutionStatusEnum.values();
-        return Arrays.stream(enums).sorted(Comparator.comparingInt(OrderExecutionStatusEnum::getCode)).collect(Collectors.toList());
+    public static List<KllOrderLedgerStatusEnum> getSortList() {
+        KllOrderLedgerStatusEnum[] enums = KllOrderLedgerStatusEnum.values();
+        return Arrays.stream(enums).sorted(Comparator.comparingInt(KllOrderLedgerStatusEnum::getCode)).collect(Collectors.toList());
     }
 }

+ 9 - 13
src/main/java/com/sckw/freight/model/enums/OrderStatusEnum.java → src/main/java/com/sckw/freight/model/enums/KllOrderStatusEnum.java

@@ -15,25 +15,21 @@ import java.util.stream.Collectors;
  */
 @Getter
 @AllArgsConstructor
-public enum OrderStatusEnum {
+public enum KllOrderStatusEnum {
 
     /**
      * 订单状态枚举
      */
-    SAVED(0, "已保存"),
-    WAIT_ACCEPTED(1, "待受理"),
-    RETURNED(2, "已退回"),
-    WAIT_SIGNED(3, "待签约"),
-    EXECUTING(4, "执行中"),
-    FINISHED(5, "已完结"),
-    RECONCILED(6, "已对账"),
-    SETTLED(7, "已结算");
+    Pending (1, "待处理"),
+    Dispatched  (2, "已派运力"),
+    Running (3, "执行中"),
+    Finished  (4, "已结束");
 
     private final Integer code;
     private final String msg;
 
     public static String getMsg(Integer code) {
-        for (OrderStatusEnum ele : OrderStatusEnum.values()) {
+        for (KllOrderStatusEnum ele : KllOrderStatusEnum.values()) {
             if (ele.getCode().equals(code)) {
                 return ele.getMsg();
             }
@@ -41,9 +37,9 @@ public enum OrderStatusEnum {
         return null;
     }
 
-    public static List<OrderStatusEnum> getSortList() {
-        OrderStatusEnum[] enums = OrderStatusEnum.values();
-        return Arrays.stream(enums).sorted(Comparator.comparingInt(OrderStatusEnum::getCode)).collect(Collectors.toList());
+    public static List<KllOrderStatusEnum> getSortList() {
+        KllOrderStatusEnum[] enums = KllOrderStatusEnum.values();
+        return Arrays.stream(enums).sorted(Comparator.comparingInt(KllOrderStatusEnum::getCode)).collect(Collectors.toList());
     }
 
 }

+ 5 - 5
src/main/java/com/sckw/freight/model/enums/LedgerLogisticsOrderStatusEnum.java → src/main/java/com/sckw/freight/model/enums/KwpLedgerLogisticsOrderStatusEnum.java

@@ -18,14 +18,14 @@ import java.util.stream.Collectors;
  */
 @Getter
 @AllArgsConstructor
-public enum LedgerLogisticsOrderStatusEnum {
+public enum KwpLedgerLogisticsOrderStatusEnum {
     Normal(0, "正常"),
     Locked (1, "已锁");
     private final Integer code;
     private final String msg;
 
     public static String getMsg(Integer code) {
-        for (LedgerLogisticsOrderStatusEnum ele : LedgerLogisticsOrderStatusEnum.values()) {
+        for (KwpLedgerLogisticsOrderStatusEnum ele : KwpLedgerLogisticsOrderStatusEnum.values()) {
             if (ele.getCode().equals(code)) {
                 return ele.getMsg();
             }
@@ -33,8 +33,8 @@ public enum LedgerLogisticsOrderStatusEnum {
         return null;
     }
 
-    public static List<LedgerLogisticsOrderStatusEnum> getSortList() {
-        LedgerLogisticsOrderStatusEnum[] enums = LedgerLogisticsOrderStatusEnum.values();
-        return Arrays.stream(enums).sorted(Comparator.comparingInt(LedgerLogisticsOrderStatusEnum::getCode)).collect(Collectors.toList());
+    public static List<KwpLedgerLogisticsOrderStatusEnum> getSortList() {
+        KwpLedgerLogisticsOrderStatusEnum[] enums = KwpLedgerLogisticsOrderStatusEnum.values();
+        return Arrays.stream(enums).sorted(Comparator.comparingInt(KwpLedgerLogisticsOrderStatusEnum::getCode)).collect(Collectors.toList());
     }
 }

+ 5 - 5
src/main/java/com/sckw/freight/model/enums/SettlementLogisticsStatusEnum.java → src/main/java/com/sckw/freight/model/enums/KwpSettlementLogisticsStatusEnum.java

@@ -16,7 +16,7 @@ import java.util.stream.Collectors;
  **/
 @Getter
 @AllArgsConstructor
-public enum SettlementLogisticsStatusEnum {
+public enum KwpSettlementLogisticsStatusEnum {
 
 //    ToSettled(1, "待结算"),
 //    PartialSettlement (2, "部分结算"),
@@ -25,7 +25,7 @@ public enum SettlementLogisticsStatusEnum {
     private final String msg;
 
     public static String getMsg(Integer code) {
-        for (SettlementLogisticsStatusEnum ele : SettlementLogisticsStatusEnum.values()) {
+        for (KwpSettlementLogisticsStatusEnum ele : KwpSettlementLogisticsStatusEnum.values()) {
             if (ele.getCode().equals(code)) {
                 return ele.getMsg();
             }
@@ -33,8 +33,8 @@ public enum SettlementLogisticsStatusEnum {
         return null;
     }
 
-    public static List<SettlementLogisticsStatusEnum> getSortList() {
-        SettlementLogisticsStatusEnum[] enums = SettlementLogisticsStatusEnum.values();
-        return Arrays.stream(enums).sorted(Comparator.comparingInt(SettlementLogisticsStatusEnum::getCode)).collect(Collectors.toList());
+    public static List<KwpSettlementLogisticsStatusEnum> getSortList() {
+        KwpSettlementLogisticsStatusEnum[] enums = KwpSettlementLogisticsStatusEnum.values();
+        return Arrays.stream(enums).sorted(Comparator.comparingInt(KwpSettlementLogisticsStatusEnum::getCode)).collect(Collectors.toList());
     }
 }

+ 17 - 0
src/main/java/com/sckw/freight/model/po/LedgerLogisticsStatistics.java

@@ -0,0 +1,17 @@
+package com.sckw.freight.model.po;
+
+import lombok.Data;
+
+/**
+ * @BelongsProject: Freight-Settlement-Backend
+ * @BelongsPackage: com.sckw.freight.model.vo.response
+ * @Author: xj
+ * @CreateTime: 2025-01-13  15:27
+ * @Description: 物流对账单-统计信息
+ * @Version: 1.0
+ */
+@Data
+public class LedgerLogisticsStatistics {
+    private Integer status;
+    private Long count;
+}

+ 3 - 2
src/main/java/com/sckw/freight/model/vo/request/RequestSaveLedgerLogisticsInfo.java

@@ -35,10 +35,11 @@ public class RequestSaveLedgerLogisticsInfo {
     @Schema(description = "扣款金额" )
     private BigDecimal deductPrice;
     /**
-     * 企业id
+     * 当前登录者的企业id
      */
-    @Schema(description = "企业id" )
+    @Schema(description = "当前登录者的企业id" )
     private Long entId;
+
     /**
      * 备注
      */

+ 1 - 1
src/main/java/com/sckw/freight/model/vo/request/RequestSettlementLogisticsPageInfo.java

@@ -20,7 +20,7 @@ import java.util.List;
 @Schema( description = "物流对账单-收款记录-分页查询参数")
 public class RequestSettlementLogisticsPageInfo extends RequestPageInfo {
     @Schema(description = "对账单 id")
-    private Long lLedgerId;
+    private String lLedgerId;
     @Schema(description = "收款单号")
     private String slOrderNo;
     @Schema(description = "收款时间", allowableValues = "[2025-01-09,2025-01-09]")

+ 1 - 1
src/main/java/com/sckw/freight/model/vo/response/ResponseKllOrderTask.java

@@ -22,7 +22,7 @@ public class ResponseKllOrderTask {
      * 运单ID
      */
     @Schema(description = "运单ID")
-    private Integer id;
+    private String id;
     /**
      * 运单号
      */

+ 1 - 1
src/main/java/com/sckw/freight/model/vo/response/ResponseLedgerLogistics.java

@@ -20,7 +20,7 @@ public class ResponseLedgerLogistics {
      * 主键
      */
     @Schema(description = "物流对账单id")
-    private Long id;
+    private String id;
     /**
      * 物流对账单编号
      */

+ 25 - 0
src/main/java/com/sckw/freight/model/vo/response/ResponseLedgerLogisticsStatistics.java

@@ -0,0 +1,25 @@
+package com.sckw.freight.model.vo.response;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @BelongsProject: Freight-Settlement-Backend
+ * @BelongsPackage: com.sckw.freight.model.vo.response
+ * @Author: xj
+ * @CreateTime: 2025-01-13  17:25
+ * @Description: TODO
+ * @Version: 1.0
+ */
+@Data
+@Schema(description = "物流对账单-统计信息")
+public class ResponseLedgerLogisticsStatistics {
+    @Schema(description = "全部")
+    private Long allTotal;
+    @Schema(description = "待支付")
+    private Long unpaidTotal;
+    @Schema(description = "部分支付")
+    private Long partialPaidTotal;
+    @Schema(description = "已支付")
+    private Long paidTotal;
+}

+ 1 - 1
src/main/java/com/sckw/freight/model/vo/response/ResponseSettlementLogistics.java

@@ -21,7 +21,7 @@ public class ResponseSettlementLogistics {
      * 主键
      */
     @Schema(description = "主键")
-    private Long id;
+    private String id;
 
     /**
      * 企业id

+ 10 - 0
src/main/java/com/sckw/freight/service/freight/IKwpLedgerLogisticsService.java

@@ -6,6 +6,7 @@ import com.sckw.freight.model.vo.request.RequestLedgerLogisticsPageInfo;
 import com.sckw.freight.model.vo.request.RequestSaveLedgerLogisticsInfo;
 import com.sckw.freight.model.vo.response.ResponseKllOrderTask;
 import com.sckw.freight.model.vo.response.ResponseLedgerLogistics;
+import com.sckw.freight.model.vo.response.ResponseLedgerLogisticsStatistics;
 import com.sckw.freight.model.vo.response.ResponsePageData;
 import com.sckw.freight.util.R;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -58,4 +59,13 @@ public interface IKwpLedgerLogisticsService extends IService<KwpLedgerLogistics>
      * @return: null
      **/
     void updateLedgerLogisticsStatus(KwpLedgerLogistics ledgerLogistics, Long userId);
+
+    /**
+     * @description: 物流对账统计信息
+     * @author: xj
+     * @date: 2025/1/13 星期一 15:43
+     * @param: entId 企业id
+     * @return: null
+     **/
+    R<ResponseLedgerLogisticsStatistics> queryLedgerLogisticsStatistics(Long entId);
 }

+ 51 - 21
src/main/java/com/sckw/freight/service/freight/impl/KwpLedgerLogisticsServiceImpl.java

@@ -13,10 +13,12 @@ import com.sckw.freight.mapper.freight.KwpLedgerLogisticsMapper;
 import com.sckw.freight.mapper.freight.KwpSettlementLogisticsMapper;
 import com.sckw.freight.mapper.kll.KllOrderTaskMapper;
 import com.sckw.freight.model.enums.*;
+import com.sckw.freight.model.po.LedgerLogisticsStatistics;
 import com.sckw.freight.model.vo.request.RequestLedgerLogisticsPageInfo;
 import com.sckw.freight.model.vo.request.RequestSaveLedgerLogisticsInfo;
 import com.sckw.freight.model.vo.response.ResponseKllOrderTask;
 import com.sckw.freight.model.vo.response.ResponseLedgerLogistics;
+import com.sckw.freight.model.vo.response.ResponseLedgerLogisticsStatistics;
 import com.sckw.freight.model.vo.response.ResponsePageData;
 import com.sckw.freight.service.freight.IKwpLedgerLogisticsOrderService;
 import com.sckw.freight.service.freight.IKwpLedgerLogisticsService;
@@ -28,7 +30,6 @@ import com.sckw.freight.util.SnowflakeIdUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
@@ -60,6 +61,32 @@ public class KwpLedgerLogisticsServiceImpl extends ServiceImpl<KwpLedgerLogistic
     @Autowired
     KllOrderTaskMapper kllOrderTaskMapper;
 
+    /**
+     * @description: 物流对账统计信息
+     * @author: xj
+     * @date: 2025/1/13 星期一 15:43
+     * @param: entId 企业id
+     * @return: null
+     **/
+    @Override
+    public R<ResponseLedgerLogisticsStatistics> queryLedgerLogisticsStatistics(Long entId) {
+
+        List<LedgerLogisticsStatistics> statistics = kwpLedgerLogisticsMapper.queryLedgerLogisticsStatistics(entId);
+        if (statistics == null) {
+            statistics = new ArrayList<>();
+        }
+
+        ResponseLedgerLogisticsStatistics responseLedgerLogisticsStatistics = new ResponseLedgerLogisticsStatistics();
+        responseLedgerLogisticsStatistics.setAllTotal(statistics.stream().mapToLong(LedgerLogisticsStatistics::getCount).sum());
+        responseLedgerLogisticsStatistics.setUnpaidTotal(statistics.stream().filter(item -> item.getStatus() == KwpLedgerLogisticsStatusEnum.Unpaid.getCode())
+                .mapToLong(LedgerLogisticsStatistics::getCount).sum());
+        responseLedgerLogisticsStatistics.setPartialPaidTotal(statistics.stream().filter(item -> item.getStatus() == KwpLedgerLogisticsStatusEnum.PartialPaid.getCode())
+                .mapToLong(LedgerLogisticsStatistics::getCount).sum());
+        responseLedgerLogisticsStatistics.setPaidTotal(statistics.stream().filter(item -> item.getStatus() == KwpLedgerLogisticsStatusEnum.Paid.getCode())
+                .mapToLong(LedgerLogisticsStatistics::getCount).sum());
+        return R.ok(responseLedgerLogisticsStatistics);
+    }
+
 
     /**
      * @description:更改物流对账单状态(每一次收款后调用)
@@ -81,7 +108,7 @@ public class KwpLedgerLogisticsServiceImpl extends ServiceImpl<KwpLedgerLogistic
 
         LambdaQueryWrapper<KwpSettlementLogistics> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(KwpSettlementLogistics::getLLedgerId, ledgerLogistics.getId());
-        wrapper.eq(KwpSettlementLogistics::getStatus, SettlementLogisticsStatusEnum.FullSettlement.getCode());
+        wrapper.eq(KwpSettlementLogistics::getStatus, KwpSettlementLogisticsStatusEnum.FullSettlement.getCode());
         List<KwpSettlementLogistics> kwpSettlementLogistics = kwpSettlementLogisticsMapper.selectList(wrapper);
         if (kwpSettlementLogistics == null) kwpSettlementLogistics = new ArrayList<>();
         BigDecimal totalPrice = kwpSettlementLogistics.stream().map(KwpSettlementLogistics::getActualPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
@@ -104,6 +131,7 @@ public class KwpLedgerLogisticsServiceImpl extends ServiceImpl<KwpLedgerLogistic
 
     }
 
+
     /**
      * 根骨对账单id查询运单
      *
@@ -124,11 +152,14 @@ public class KwpLedgerLogisticsServiceImpl extends ServiceImpl<KwpLedgerLogistic
         wrapper.eq(KwpLedgerLogistics::getEntId, entId);
         List<KwpLedgerLogistics> records = kwpLedgerLogisticsMapper.selectList(wrapper);
         if (records == null) records = new ArrayList<>();
+        if (records.size() == 0)
+            return R.failed("企业id【entId=" + entId + "】物流对账单[ledgerLogisticsId=" + ledgerLogisticsId + "]不存在");
         //查对账单 下的订单
         LambdaQueryWrapper<KwpLedgerLogisticsOrder> wrapper1 = new LambdaQueryWrapper<>();
         wrapper1.in(KwpLedgerLogisticsOrder::getLLedgerId, records.stream().map(KwpLedgerLogistics::getId).collect(Collectors.toList()));
         List<KwpLedgerLogisticsOrder> orders = iKwpLedgerLogisticsOrderService.list(wrapper1);
         if (orders == null) orders = new ArrayList<>();
+        if (orders.size() == 0) return R.failed("物流对账单[ledgerLogisticsId=" + ledgerLogisticsId + "]下没有运单");
 
         //查询运单
         LambdaQueryWrapper<KllOrderTask> wrapperOrderTask = new LambdaQueryWrapper<>();
@@ -140,7 +171,7 @@ public class KwpLedgerLogisticsServiceImpl extends ServiceImpl<KwpLedgerLogistic
         //组装数据
         List<ResponseKllOrderTask> responseKllOrderTasks = tasks.stream().map(task -> {
             ResponseKllOrderTask orderTask = new ResponseKllOrderTask();
-            orderTask.setId(task.getId().intValue());
+            orderTask.setId(task.getId().toString());
             orderTask.setTaskNo(task.getTaskNo());
             orderTask.setOrderId(task.getOrderId().intValue());
             //orderTask.setLogisticId(task.getLogisticId().intValue());
@@ -206,7 +237,7 @@ public class KwpLedgerLogisticsServiceImpl extends ServiceImpl<KwpLedgerLogistic
         List<ResponseLedgerLogistics> responseLedgerLogisticsList = records.stream().map(item -> {
 
             ResponseLedgerLogistics responseLedgerLogistics = new ResponseLedgerLogistics();
-            responseLedgerLogistics.setId(item.getId());
+            responseLedgerLogistics.setId(item.getId().toString());
             responseLedgerLogistics.setLLedgerNo(item.getLLedgerNo());
             responseLedgerLogistics.setName(item.getName());
             responseLedgerLogistics.setStatusName(KwpLedgerLogisticsStatusEnum.getMsg(item.getStatus()));
@@ -239,7 +270,7 @@ public class KwpLedgerLogisticsServiceImpl extends ServiceImpl<KwpLedgerLogistic
      * @since 2025-01-09
      */
     @Override
-    @Transactional
+    //@Transactional
     public R<String> saveLedgerLogistics(RequestSaveLedgerLogisticsInfo requestSaveLedgerSettlementInfo) {
         /**
          * 1:数据验证
@@ -272,13 +303,13 @@ public class KwpLedgerLogisticsServiceImpl extends ServiceImpl<KwpLedgerLogistic
      */
     private List<KllOrder> verifySaveLedgerLogisticsInfo(RequestSaveLedgerLogisticsInfo requestSaveLedgerSettlementInfo) {
         if (requestSaveLedgerSettlementInfo == null) {
-            throw new RuntimeException("保存对账单参数为空");
+            throw new RuntimeException("对账单参数为空");
         }
-        if (requestSaveLedgerSettlementInfo.getOrderIds() == null || requestSaveLedgerSettlementInfo.getOrderIds().size() == 0) {
-            throw new RuntimeException("保存对账单的订单为空");
+        if (requestSaveLedgerSettlementInfo.getOrderIds() == null || requestSaveLedgerSettlementInfo.getOrderIds().isEmpty()) {
+            throw new RuntimeException("对账单的订单为空");
         }
         if (requestSaveLedgerSettlementInfo.getEntId() == null) {
-            throw new RuntimeException("保存对账单的企业id为空");
+            throw new RuntimeException("对账单的企业id为空");
         }
         if (requestSaveLedgerSettlementInfo.getName() == null) {
             throw new RuntimeException("保存对账单的名称为空");
@@ -293,17 +324,15 @@ public class KwpLedgerLogisticsServiceImpl extends ServiceImpl<KwpLedgerLogistic
         //验证对应的订单是否在该企业下 ,且状态是完结
         LambdaQueryWrapper<KllOrder> wrapper = new LambdaQueryWrapper<>();
         wrapper.in(KllOrder::getId, requestSaveLedgerSettlementInfo.getOrderIds());
-        wrapper.eq(KllOrder::getCompanyId, requestSaveLedgerSettlementInfo.getEntId());
-        //wrapper.eq(KllOrder::getStatus, OrderStatusEnum.SAVED);
-        wrapper.eq(KllOrder::getStatus, OrderExecutionStatusEnum.ExecutionSuccess.getCode());
+        //wrapper.eq(KllOrder::getCompanyId, requestSaveLedgerSettlementInfo.getEntId());
+        wrapper.eq(KllOrder::getExecutionStatus, KllOrderExecutionStatusEnum.Finished.getCode());
+        wrapper.eq(KllOrder::getLedgerStatus, KllOrderLedgerStatusEnum.NoLedger.getCode());
         List<KllOrder> list = iKllOrderService.list(wrapper);
-        if (list == null || list.size() == 0 || list.size() != requestSaveLedgerSettlementInfo.getOrderIds().size()) {
-            if (list.size() == 0) {
-                throw new RuntimeException("保存对账单的物流订单不存在,请检查物流单所属企业和状态。");
-            }
-            if (list.size() != requestSaveLedgerSettlementInfo.getOrderIds().size()) {
-                throw new RuntimeException("保存对账单的物流订单数量和参数数量不一致,请检查物流单所属企业和状态。");
-            }
+        if (list == null || list.isEmpty()) {
+            throw new RuntimeException("保存对账单的物流订单不存在,请检查物流单状态。");
+        }
+        if (list.size() != requestSaveLedgerSettlementInfo.getOrderIds().size()) {
+            throw new RuntimeException("保存对账单的物流订单数量和参数数量不一致,请检查物流单所属企业和状态。");
         }
         //扣减金额不能大于 总金额
         if (requestSaveLedgerSettlementInfo.getDeductPrice().compareTo(list.stream().map(KllOrder::getTotalPrice).reduce(BigDecimal.ZERO, BigDecimal::add)) > 0) {
@@ -344,6 +373,7 @@ public class KwpLedgerLogisticsServiceImpl extends ServiceImpl<KwpLedgerLogistic
         kwpLedgerLogistics.setUpdateTime(LocalDateTime.now());
         kwpLedgerLogistics.setDelFlag(DelFlagEnum.NotDelete.getCode());
         kwpLedgerLogistics.setId(SnowflakeIdUtil.getInstance().nextId());
+        kwpLedgerLogistics.setCompanyId(Long.valueOf(orderList.get(0).getCompanyId()));
         boolean isSave = this.save(kwpLedgerLogistics);
         if (isSave) return kwpLedgerLogistics;
         throw new RuntimeException("保存对账单失败");
@@ -370,7 +400,7 @@ public class KwpLedgerLogisticsServiceImpl extends ServiceImpl<KwpLedgerLogistic
             kwpLedgerLogisticsOrder.setUpdateBy(kwpLedgerLogistics.getUpdateBy());
             kwpLedgerLogisticsOrder.setCreateTime(kwpLedgerLogistics.getCreateTime());
             kwpLedgerLogisticsOrder.setUpdateTime(kwpLedgerLogistics.getUpdateTime());
-            kwpLedgerLogisticsOrder.setStatus(LedgerLogisticsOrderStatusEnum.Normal.getCode());
+            kwpLedgerLogisticsOrder.setStatus(KwpLedgerLogisticsOrderStatusEnum.Normal.getCode());
             kwpLedgerLogisticsOrder.setDelFlag(DelFlagEnum.NotDelete.getCode());
             kwpLedgerLogisticsOrder.setLOrderNo(order.getOrderNo());
             return kwpLedgerLogisticsOrder;
@@ -413,7 +443,7 @@ public class KwpLedgerLogisticsServiceImpl extends ServiceImpl<KwpLedgerLogistic
      */
     private void updateKllOrderStatus(List<KllOrder> orderList) {
         KllOrder newOrder = new KllOrder();
-        newOrder.setExecutionStatus(OrderExecutionStatusEnum.Settlement.getCode());
+        newOrder.setLedgerStatus(KllOrderLedgerStatusEnum.Ledgered.getCode());
         newOrder.setUpdateTime(LocalDateTime.now());
         boolean isUpdate = iKllOrderService.update(newOrder, new LambdaQueryWrapper<KllOrder>().in(KllOrder::getId, orderList.stream().map(KllOrder::getId).collect(Collectors.toList())));
         if (!isUpdate) throw new RuntimeException("更新物流订单状态失败");

+ 5 - 6
src/main/java/com/sckw/freight/service/freight/impl/KwpSettlementLogisticsServiceImpl.java

@@ -7,7 +7,7 @@ import com.sckw.freight.entity.freight.KwpLedgerLogistics;
 import com.sckw.freight.entity.freight.KwpSettlementLogistics;
 import com.sckw.freight.mapper.freight.KwpSettlementLogisticsMapper;
 import com.sckw.freight.model.enums.DelFlagEnum;
-import com.sckw.freight.model.enums.SettlementLogisticsStatusEnum;
+import com.sckw.freight.model.enums.KwpSettlementLogisticsStatusEnum;
 import com.sckw.freight.model.vo.request.RequestSettlementLogisticsPageInfo;
 import com.sckw.freight.model.vo.response.ResponsePageData;
 import com.sckw.freight.model.vo.response.ResponseSettlementLogistics;
@@ -18,7 +18,6 @@ import com.sckw.freight.util.R;
 import com.sckw.freight.util.SnowflakeIdUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
@@ -60,7 +59,7 @@ public class KwpSettlementLogisticsServiceImpl extends ServiceImpl<KwpSettlement
      * @param: userid 操作用户id
      * @return: void
      **/
-    @Transactional
+    //@Transactional
     public void addSettlementLogistics(Long lLedgerId, BigDecimal price, String slOrderNo, LocalDateTime payTime, Long userid) {
         //先进性数据验证
         KwpLedgerLogistics logistics = verifySettlementLogistics(lLedgerId, price, payTime, userid);
@@ -100,7 +99,7 @@ public class KwpSettlementLogisticsServiceImpl extends ServiceImpl<KwpSettlement
         List<ResponseSettlementLogistics> responseSettlementLogisticsStream = selectPage.getRecords().stream().map(item -> {
 
             ResponseSettlementLogistics responseSettlementLogistics = new ResponseSettlementLogistics();
-            responseSettlementLogistics.setId(item.getId());
+            responseSettlementLogistics.setId(item.getId().toString());
             responseSettlementLogistics.setEntId(item.getEntId());
             responseSettlementLogistics.setLLedgerId(item.getLLedgerId());
             responseSettlementLogistics.setSlOrderNo(item.getSlOrderNo());
@@ -109,7 +108,7 @@ public class KwpSettlementLogisticsServiceImpl extends ServiceImpl<KwpSettlement
             responseSettlementLogistics.setCreatedTime(DateTimeUtil.format(item.getCreateTime(), "YYYY-MM-dd HH:mm:ss"));
             responseSettlementLogistics.setRemark(item.getRemark());
             responseSettlementLogistics.setStatus(item.getStatus());
-            responseSettlementLogistics.setStatusName(SettlementLogisticsStatusEnum.getMsg(item.getStatus()));
+            responseSettlementLogistics.setStatusName(KwpSettlementLogisticsStatusEnum.getMsg(item.getStatus()));
             return responseSettlementLogistics;
         }).collect(Collectors.toList());
 
@@ -157,7 +156,7 @@ public class KwpSettlementLogisticsServiceImpl extends ServiceImpl<KwpSettlement
         settlementLogistics.setTotalPrice(price);
         settlementLogistics.setActualPrice(price);
         settlementLogistics.setReceiptTime(payTime);
-        settlementLogistics.setStatus(SettlementLogisticsStatusEnum.FullSettlement.getCode());
+        settlementLogistics.setStatus(KwpSettlementLogisticsStatusEnum.FullSettlement.getCode());
         settlementLogistics.setCreateBy(userid);
         settlementLogistics.setUpdateBy(userid);
         settlementLogistics.setCreateTime(LocalDateTime.now());

+ 2 - 2
src/main/resources/application-dev.yml

@@ -5,7 +5,7 @@ spring:
         initial-size: 2
         max-active: 20
         min-idle: 2
-      primary: freight
+      primary: kll
       datasource:
         freight:
           driver-class-name: com.mysql.cj.jdbc.Driver
@@ -14,7 +14,7 @@ spring:
           password: freight
         kll:
           driver-class-name: com.mysql.cj.jdbc.Driver
-          url: jdbc:mysql://10.10.10.221:3306/kll?useUnicode=true&characterEncoding=utf8&allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull
+          url: jdbc:mysql://10.10.10.230:3306/kll?useUnicode=true&characterEncoding=utf8&allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull
           username: kll
           password: kll
 

+ 7 - 2
src/main/resources/application-test.yml

@@ -5,13 +5,18 @@ spring:
         initial-size: 2
         max-active: 20
         min-idle: 2
-      primary: master
+      primary: freight
       datasource:
-        master:
+        freight:
           driver-class-name: com.mysql.cj.jdbc.Driver
           url: jdbc:mysql://10.10.10.221:3306/freight?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull
           username: freight
           password: freight
+        kll:
+          driver-class-name: com.mysql.cj.jdbc.Driver
+          url: jdbc:mysql://10.10.10.221:3306/kll?useUnicode=true&characterEncoding=utf8&allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull
+          username: kll
+          password: kll
   data:
     redis:
       host: 10.10.10.221

+ 7 - 0
src/main/resources/com/sckw/freight/mapper/freight/KwpLedgerLogisticsMapper.xml

@@ -2,4 +2,11 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.sckw.freight.mapper.freight.KwpLedgerLogisticsMapper">
 
+    <select id="queryLedgerLogisticsStatistics"
+            resultType="com.sckw.freight.model.po.LedgerLogisticsStatistics"
+            parameterType="java.lang.Long">
+        SELECT t.`status`,count(*) count FROM `kwp_ledger_logistics` t
+        where t.ent_id=#{entId}
+        GROUP BY t.`status`
+    </select>
 </mapper>