3 Commitit a1d5016d25 ... c5cfed9f05

Tekijä SHA1 Viesti Päivämäärä
  18782137998 c5cfed9f05 pom.xml 1 vuosi sitten
  18782137998 7fd73c09e7 业务数据 1 vuosi sitten
  18782137998 24c1c24e72 底层框架代码 1 vuosi sitten
75 muutettua tiedostoa jossa 3502 lisäystä ja 28 poistoa
  1. 7 0
      pom.xml
  2. 5 1
      src/main/java/com/sckw/freight/FreightApplication.java
  3. 31 0
      src/main/java/com/sckw/freight/config/WebConfig.java
  4. 114 25
      src/main/java/com/sckw/freight/controller/IndexController.java
  5. 75 0
      src/main/java/com/sckw/freight/controller/LedgerController.java
  6. 176 0
      src/main/java/com/sckw/freight/entity/freight/KwpLedgerLogistics.java
  7. 76 0
      src/main/java/com/sckw/freight/entity/freight/KwpLedgerLogisticsOrder.java
  8. 66 0
      src/main/java/com/sckw/freight/entity/freight/KwpLedgerLogisticsTrack.java
  9. 106 0
      src/main/java/com/sckw/freight/entity/freight/KwpLedgerLogisticsUnit.java
  10. 129 0
      src/main/java/com/sckw/freight/entity/freight/KwpSettlementLogistics.java
  11. 66 0
      src/main/java/com/sckw/freight/entity/freight/KwpSettlementLogisticsTrack.java
  12. 91 0
      src/main/java/com/sckw/freight/entity/freight/KwpSettlementRecord.java
  13. 223 0
      src/main/java/com/sckw/freight/entity/kll/KllOrder.java
  14. 170 0
      src/main/java/com/sckw/freight/entity/kll/KllOrderProduct.java
  15. 230 0
      src/main/java/com/sckw/freight/entity/kll/KllOrderTask.java
  16. 106 0
      src/main/java/com/sckw/freight/entity/kll/KllOrderTruck.java
  17. 18 0
      src/main/java/com/sckw/freight/mapper/freight/KwpLedgerLogisticsMapper.java
  18. 18 0
      src/main/java/com/sckw/freight/mapper/freight/KwpLedgerLogisticsOrderMapper.java
  19. 18 0
      src/main/java/com/sckw/freight/mapper/freight/KwpLedgerLogisticsTrackMapper.java
  20. 18 0
      src/main/java/com/sckw/freight/mapper/freight/KwpLedgerLogisticsUnitMapper.java
  21. 18 0
      src/main/java/com/sckw/freight/mapper/freight/KwpSettlementLogisticsMapper.java
  22. 18 0
      src/main/java/com/sckw/freight/mapper/freight/KwpSettlementLogisticsTrackMapper.java
  23. 18 0
      src/main/java/com/sckw/freight/mapper/freight/KwpSettlementRecordMapper.java
  24. 18 0
      src/main/java/com/sckw/freight/mapper/kll/KllOrderMapper.java
  25. 18 0
      src/main/java/com/sckw/freight/mapper/kll/KllOrderProductMapper.java
  26. 18 0
      src/main/java/com/sckw/freight/mapper/kll/KllOrderTaskMapper.java
  27. 18 0
      src/main/java/com/sckw/freight/mapper/kll/KllOrderTruckMapper.java
  28. 22 0
      src/main/java/com/sckw/freight/model/dto/KllOrderDTO.java
  29. 40 0
      src/main/java/com/sckw/freight/model/enums/DelFlagEnum.java
  30. 43 0
      src/main/java/com/sckw/freight/model/enums/KwpLedgerLogisticsStatusEnum.java
  31. 40 0
      src/main/java/com/sckw/freight/model/enums/LedgerLogisticsOrderStatusEnum.java
  32. 33 0
      src/main/java/com/sckw/freight/model/enums/OrderExecutionStatusEnum.java
  33. 49 0
      src/main/java/com/sckw/freight/model/enums/OrderStatusEnum.java
  34. 43 0
      src/main/java/com/sckw/freight/model/vo/request/RequestLedgerLogisticsPageInfo.java
  35. 32 0
      src/main/java/com/sckw/freight/model/vo/request/RequestPageInfo.java
  36. 43 0
      src/main/java/com/sckw/freight/model/vo/request/RequestSaveLedgerLogisticsInfo.java
  37. 17 0
      src/main/java/com/sckw/freight/model/vo/request/TestModel.java
  38. 122 0
      src/main/java/com/sckw/freight/model/vo/response/ResponseKllOrderTask.java
  39. 68 0
      src/main/java/com/sckw/freight/model/vo/response/ResponseLedgerLogistics.java
  40. 39 0
      src/main/java/com/sckw/freight/model/vo/response/ResponsePageData.java
  41. 16 0
      src/main/java/com/sckw/freight/service/freight/IKwpLedgerLogisticsOrderService.java
  42. 48 0
      src/main/java/com/sckw/freight/service/freight/IKwpLedgerLogisticsService.java
  43. 16 0
      src/main/java/com/sckw/freight/service/freight/IKwpLedgerLogisticsTrackService.java
  44. 16 0
      src/main/java/com/sckw/freight/service/freight/IKwpLedgerLogisticsUnitService.java
  45. 16 0
      src/main/java/com/sckw/freight/service/freight/IKwpSettlementLogisticsService.java
  46. 16 0
      src/main/java/com/sckw/freight/service/freight/IKwpSettlementLogisticsTrackService.java
  47. 16 0
      src/main/java/com/sckw/freight/service/freight/IKwpSettlementRecordService.java
  48. 20 0
      src/main/java/com/sckw/freight/service/freight/impl/KwpLedgerLogisticsOrderServiceImpl.java
  49. 370 0
      src/main/java/com/sckw/freight/service/freight/impl/KwpLedgerLogisticsServiceImpl.java
  50. 20 0
      src/main/java/com/sckw/freight/service/freight/impl/KwpLedgerLogisticsTrackServiceImpl.java
  51. 20 0
      src/main/java/com/sckw/freight/service/freight/impl/KwpLedgerLogisticsUnitServiceImpl.java
  52. 20 0
      src/main/java/com/sckw/freight/service/freight/impl/KwpSettlementLogisticsServiceImpl.java
  53. 20 0
      src/main/java/com/sckw/freight/service/freight/impl/KwpSettlementLogisticsTrackServiceImpl.java
  54. 20 0
      src/main/java/com/sckw/freight/service/freight/impl/KwpSettlementRecordServiceImpl.java
  55. 16 0
      src/main/java/com/sckw/freight/service/kll/IKllOrderProductService.java
  56. 16 0
      src/main/java/com/sckw/freight/service/kll/IKllOrderService.java
  57. 16 0
      src/main/java/com/sckw/freight/service/kll/IKllOrderTaskService.java
  58. 16 0
      src/main/java/com/sckw/freight/service/kll/IKllOrderTruckService.java
  59. 20 0
      src/main/java/com/sckw/freight/service/kll/impl/KllOrderProductServiceImpl.java
  60. 20 0
      src/main/java/com/sckw/freight/service/kll/impl/KllOrderServiceImpl.java
  61. 20 0
      src/main/java/com/sckw/freight/service/kll/impl/KllOrderTaskServiceImpl.java
  62. 20 0
      src/main/java/com/sckw/freight/service/kll/impl/KllOrderTruckServiceImpl.java
  63. 182 0
      src/main/java/com/sckw/freight/util/SnowflakeIdUtil.java
  64. 27 2
      src/main/resources/application-dev.yml
  65. 5 0
      src/main/resources/com/sckw/freight/mapper/freight/ILedgerSettlementService.xml
  66. 5 0
      src/main/resources/com/sckw/freight/mapper/freight/KwpLedgerLogisticsMapper.xml
  67. 5 0
      src/main/resources/com/sckw/freight/mapper/freight/KwpLedgerLogisticsOrderMapper.xml
  68. 5 0
      src/main/resources/com/sckw/freight/mapper/freight/KwpLedgerLogisticsTrackMapper.xml
  69. 5 0
      src/main/resources/com/sckw/freight/mapper/freight/KwpLedgerLogisticsUnitMapper.xml
  70. 5 0
      src/main/resources/com/sckw/freight/mapper/freight/KwpSettlementLogisticsMapper.xml
  71. 5 0
      src/main/resources/com/sckw/freight/mapper/freight/KwpSettlementRecordMapper.xml
  72. 5 0
      src/main/resources/com/sckw/freight/mapper/kll/KllOrderMapper.xml
  73. 5 0
      src/main/resources/com/sckw/freight/mapper/kll/KllOrderProductMapper.xml
  74. 5 0
      src/main/resources/com/sckw/freight/mapper/kll/KllOrderTaskMapper.xml
  75. 5 0
      src/main/resources/com/sckw/freight/mapper/kll/KllOrderTruckMapper.xml

+ 7 - 0
pom.xml

@@ -121,6 +121,7 @@
             <artifactId>druid-spring-boot-starter</artifactId>
             <version>1.2.18</version>
         </dependency>
+
         <!--mysql-->
         <dependency>
             <groupId>com.mysql</groupId>
@@ -136,6 +137,12 @@
             <artifactId>okhttp</artifactId>
             <version>4.9.1</version>
         </dependency>
+        <!--接口 swagger-->
+        <dependency>
+            <groupId>com.github.xiaoymin</groupId>
+            <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
+            <version>4.4.0</version>
+        </dependency>
     </dependencies>
 
 

+ 5 - 1
src/main/java/com/sckw/freight/FreightApplication.java

@@ -1,5 +1,8 @@
 package com.sckw.freight;
 
+import com.sckw.freight.service.freight.IKwpLedgerLogisticsService;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 
@@ -7,7 +10,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
  * @Author xucaiqin
  * @date 2023-06-13 09:14:25
  */
-@SpringBootApplication
+@SpringBootApplication(scanBasePackages = {"com.sckw.freight"})
+@MapperScan("com.sckw.freight.mapper")
 public class FreightApplication {
     public static void main(String[] args) {
         SpringApplication.run(FreightApplication.class, args);

+ 31 - 0
src/main/java/com/sckw/freight/config/WebConfig.java

@@ -0,0 +1,31 @@
+package com.sckw.freight.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.cors.CorsConfiguration;
+import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
+import org.springframework.web.filter.CorsFilter;
+
+import java.util.Collections;
+/**
+ * @BelongsProject: Freight-Settlement-Backend
+ * @BelongsPackage: com.sckw.freight.config
+ * @Author: xj
+ * @CreateTime: 2025-01-09  18:44
+ * @Description: 跨域处理
+ * @Version: 1.0
+ */
+@Configuration
+public class WebConfig {
+    @Bean
+    public CorsFilter corsFilter() {
+        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
+        CorsConfiguration config = new CorsConfiguration();
+        config.setAllowCredentials(true);
+        config.setAllowedOrigins(Collections.singletonList("*")); // 允许所有域名
+        config.setAllowedHeaders(Collections.singletonList("*"));
+        config.setAllowedMethods(Collections.singletonList("*"));
+        source.registerCorsConfiguration("/**", config);
+        return new CorsFilter(source);
+    }
+}

+ 114 - 25
src/main/java/com/sckw/freight/controller/IndexController.java

@@ -1,25 +1,114 @@
-package com.sckw.freight.controller;
-
-import com.sckw.freight.util.DateTimeUtil;
-import com.sckw.freight.util.R;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @Author xucaiqin
- * @date 2023-06-13 09:12:32
- */
-@RestController
-@RequestMapping("/index")
-@Slf4j
-public class IndexController {
-
-    @GetMapping("")
-    public R<String> index() {
-        return R.ok(DateTimeUtil.formatYMD());
-    }
-
-
-}
+//package com.sckw.freight.controller;
+//
+//import com.baomidou.mybatisplus.core.metadata.IPage;
+//import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+//import com.sckw.freight.entity.freight.KwpLedgerLogistics;
+//import com.sckw.freight.entity.kll.KllOrder;
+//import com.sckw.freight.mapper.freight.KwpLedgerLogisticsMapper;
+//import com.sckw.freight.mapper.kll.KllOrderMapper;
+//import com.sckw.freight.model.enums.DelFlagEnum;
+//import com.sckw.freight.model.enums.KwpLedgerLogisticsStatusEnum;
+//import com.sckw.freight.model.vo.request.RequestPageInfo;
+//import com.sckw.freight.model.vo.request.TestModel;
+//import com.sckw.freight.model.vo.response.ResponsePageData;
+//import com.sckw.freight.service.freight.IKwpLedgerLogisticsService;
+//import com.sckw.freight.service.kll.IKllOrderService;
+//import com.sckw.freight.util.DateTimeUtil;
+//import com.sckw.freight.util.R;
+//import com.sckw.freight.util.SnowflakeIdUtil;
+//import io.swagger.v3.oas.annotations.Operation;
+//import io.swagger.v3.oas.annotations.tags.Tag;
+//import lombok.extern.slf4j.Slf4j;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.web.bind.annotation.*;
+//
+//import java.math.BigDecimal;
+//import java.time.LocalDateTime;
+//import java.util.List;
+//
+///**
+// * @Author xucaiqin
+// * @date 2023-06-13 09:12:32
+// */
+//@RestController
+//@RequestMapping("/index")
+//@Slf4j
+//@Tag(name = "测试模块")
+//public class IndexController {
+//    @Autowired
+//    IKwpLedgerLogisticsService iKwpLedgerLogisticsService;
+//    @Autowired
+//    KwpLedgerLogisticsMapper kwpLedgerLogisticsMapper;
+//
+//    @Autowired
+//    IKllOrderService iKllOrderService;
+//    @Autowired
+//    KllOrderMapper kllOrderMapper;
+//
+//    @GetMapping("/index")
+//    public R<String> index() {
+//        KwpLedgerLogistics logistics = iKwpLedgerLogisticsService.getById(275691749186211840l);
+//        KllOrder order = iKllOrderService.getById(871);
+//        return R.ok(DateTimeUtil.formatYMD());
+//    }
+//
+//    @PostMapping("/t1")
+//    @ResponseBody
+//    public R<TestModel> index(@RequestBody TestModel testModel) {
+//        return R.ok(testModel);
+//    }
+//
+//    @GetMapping("/insert")
+//    public R<List<KwpLedgerLogistics>> getDbData() {
+//        KwpLedgerLogistics kwpLedgerLogistics = new KwpLedgerLogistics();
+//        kwpLedgerLogistics.setName("name");
+//        kwpLedgerLogistics.setEntId(1l);
+//        kwpLedgerLogistics.setDeductPrice(BigDecimal.ZERO);
+//        kwpLedgerLogistics.setOrderCount(0);
+//        //运单总额 = 总应收
+//        kwpLedgerLogistics.setTotalPrice(BigDecimal.ZERO);
+//        //不含税金额 = 总应收
+//        kwpLedgerLogistics.setExTaxPrice(kwpLedgerLogistics.getTotalPrice());
+//        //账单结算金额 = 总应收 - 款金额
+//        kwpLedgerLogistics.setSettlePrice(kwpLedgerLogistics.getTotalPrice().subtract(kwpLedgerLogistics.getDeductPrice()));
+//        kwpLedgerLogistics.setLLedgerNo(SnowflakeIdUtil.getInstance().nextStringId());
+//        kwpLedgerLogistics.setRemark("requestSaveLedgerSettlementInfo.getRemark()");
+//        kwpLedgerLogistics.setStatus(KwpLedgerLogisticsStatusEnum.Unpaid.getCode());
+//        //创建人
+//        kwpLedgerLogistics.setCreateBy(1l);
+//        kwpLedgerLogistics.setUpdateBy(1l);
+//        kwpLedgerLogistics.setCreateTime(LocalDateTime.now());
+//        kwpLedgerLogistics.setUpdateTime(LocalDateTime.now());
+//        kwpLedgerLogistics.setDelFlag(DelFlagEnum.NotDelete.getCode());
+//        kwpLedgerLogistics.setId(SnowflakeIdUtil.getInstance().nextId());
+//        int t = kwpLedgerLogisticsMapper.insert(kwpLedgerLogistics);
+//        //boolean isSave = iKwpLedgerLogisticsService.save(kwpLedgerLogistics);
+//
+//
+//        List<KwpLedgerLogistics> list = iKwpLedgerLogisticsService.list();
+//        return R.ok(list);
+//    }
+//
+//    @GetMapping("/t3")
+//    public R<KllOrder> getkllData() {
+//        KllOrder list = iKllOrderService.getById(167);
+//        return R.ok(list);
+//    }
+//
+//    @PostMapping("/page")
+//    @Operation(summary = "分页测试")
+//    public R<ResponsePageData<KllOrder>> getPageData(@RequestBody RequestPageInfo requestPageInfo) {
+//        // 创建分页对象
+//        Page<KllOrder> page = new Page<>(requestPageInfo.getPage(), requestPageInfo.getPageSize());
+//        // 执行分页查询
+//        IPage<KllOrder> orderPage = kllOrderMapper.selectPage(page, null);
+//
+//        ResponsePageData<KllOrder> responsePageData = new ResponsePageData<>();
+//        responsePageData.setPage(orderPage.getCurrent());
+//        responsePageData.setPageSize(orderPage.getSize());
+//        responsePageData.setList(orderPage.getRecords());
+//        responsePageData.setPages(orderPage.getPages());
+//        responsePageData.setTotal(orderPage.getTotal());
+//        return R.ok(responsePageData);
+//    }
+//}

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

@@ -0,0 +1,75 @@
+package com.sckw.freight.controller;
+
+import com.github.xiaoymin.knife4j.annotations.DynamicParameter;
+import com.github.xiaoymin.knife4j.annotations.DynamicResponseParameters;
+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.ResponsePageData;
+import com.sckw.freight.service.freight.IKwpLedgerLogisticsService;
+import com.sckw.freight.util.R;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.Getter;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @BelongsProject: Freight-Settlement-Backend
+ * @BelongsPackage: com.sckw.freight.controller
+ * @Author: xj
+ * @CreateTime: 2025-01-10  10:18
+ * @Description: 对账结算
+ * @Version: 1.0
+ */
+@RestController
+@RequestMapping("/ledger")
+@Slf4j
+@Tag(name = "对账结算")
+public class LedgerController {
+    @Autowired
+    IKwpLedgerLogisticsService iKwpLedgerLogisticsService;
+
+    /**
+     * 保存对账结算 并发起支付
+     *
+     * @return
+     */
+    @PostMapping("/add")
+    @Operation(summary = "保存对账物流单并发起支付")
+    public R<String> add(@RequestBody RequestSaveLedgerLogisticsInfo requestSaveLedgerSettlementInfo) {
+        return iKwpLedgerLogisticsService.saveLedgerLogistics(requestSaveLedgerSettlementInfo);
+    }
+
+    /**
+     * 分页查询对账单
+     *
+     * @return
+     */
+    @PostMapping("/list")
+    @Operation(summary = "分页查询对账单")
+    public R<ResponsePageData<ResponseLedgerLogistics>> list(@RequestBody RequestLedgerLogisticsPageInfo requestPageInfo) {
+        return iKwpLedgerLogisticsService.queryLedgerLogistics(requestPageInfo);
+    }
+
+    /**
+     * 根据对账单id查询运单列表信息
+     *
+     * @return
+     */
+    @GetMapping("/queryOrderTaskListByLedgerLogisticsId")
+    @Operation(summary = "根据对账单id查询运单列表信息")
+    @DynamicResponseParameters(name = "queryOrderTaskListByLedgerLogisticsId",properties = {
+            @DynamicParameter(name = "ledgerLogisticsId",value = "对账单id"),
+            @DynamicParameter(name = "entId",value = "企业id"),
+    })
+    public R<List<ResponseKllOrderTask>> queryOrderTaskListByLedgerLogisticsId(
+            @RequestParam(value = "ledgerLogisticsId", required = true) Long ledgerLogisticsId,
+            @RequestParam(value = "entId", required = true) Long entId) {
+        return iKwpLedgerLogisticsService.queryOrderTaskListByLedgerLogisticsId(ledgerLogisticsId, entId);
+    }
+}

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

@@ -0,0 +1,176 @@
+package com.sckw.freight.entity.freight;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 对账-物流订单
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("kwp_ledger_logistics")
+public class KwpLedgerLogistics implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 企业id
+     */
+    private Long entId;
+
+    /**
+     * 物流对账单编号
+     */
+    private String lLedgerNo;
+
+    /**
+     * 对账单名称
+     */
+    private String name;
+
+    /**
+     * 开始日期
+     */
+    private LocalDateTime startTime;
+
+    /**
+     * 结束日期
+     */
+    private LocalDateTime endTime;
+
+    /**
+     * 发票税率(%)
+     */
+    private Integer taxRate;
+
+    /**
+     * 交易方式(1x-预付款、2x-货到付款 3-线下付款)
+     */
+    private String trading;
+
+    /**
+     * 总应收/元
+     */
+    private BigDecimal totalPrice;
+
+    /**
+     * 不含税金额
+     */
+    private BigDecimal exTaxPrice;
+
+    /**
+     * 实际结算金额
+     */
+    private BigDecimal settlePrice;
+
+    /**
+     * 已收款/元
+     */
+    private BigDecimal actualPrice;
+
+    /**
+     * 扣款金额
+     */
+    private BigDecimal deductPrice;
+
+    /**
+     * 审核人id(托运方财务)
+     */
+    private Long auditUserId;
+
+    /**
+     * 审核人联系方式(托运方)
+     */
+    private String auditUser;
+
+    /**
+     * 审核人电话(托运方)
+     */
+    private String auditPhone;
+
+    /**
+     * 对账完成人id(承运方财务)
+     */
+    private Long successUserId;
+
+    /**
+     * 对账完成人联系方式
+     */
+    private String successUser;
+
+    /**
+     * 对账完成人电话
+     */
+    private String successPhone;
+
+    /**
+     * 对账清单凭证
+     */
+    private String url;
+
+    /**
+     * 生成时间
+     */
+    private LocalDateTime generateTime;
+
+    /**
+     * 预计收款日期
+     */
+    private LocalDateTime receiptTime;
+
+    /**
+     * 订单数量
+     */
+    private Integer orderCount;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 4.0 状态(1-已保存、2-待对账、3-已对账、4-已完成、5-已退回 6-已撤回)
+     * 数货运结 (1-待支付,2-部分支付,3-已支付)
+     */
+    private Integer status;
+
+    private Long createBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+
+}

+ 76 - 0
src/main/java/com/sckw/freight/entity/freight/KwpLedgerLogisticsOrder.java

@@ -0,0 +1,76 @@
+package com.sckw.freight.entity.freight;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 对账-物流订单-对账关联交易订单
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("kwp_ledger_logistics_order")
+public class KwpLedgerLogisticsOrder implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 物流订单对账id(kwp_ledger_logistics)
+     */
+    private Long lLedgerId;
+
+    /**
+     * 物流订单id(kwt_logistics_order)
+     */
+    private Long lOrderId;
+
+    /**
+     * 物流订单编号(kwt_logistics_order)
+     */
+    private String lOrderNo;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态(0正常、1已锁)
+     */
+    private Integer status;
+
+    private Long createBy;
+
+    private LocalDateTime createTime;
+
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+
+}

+ 66 - 0
src/main/java/com/sckw/freight/entity/freight/KwpLedgerLogisticsTrack.java

@@ -0,0 +1,66 @@
+package com.sckw.freight.entity.freight;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 对账-物流订单-状态信息
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("kwp_ledger_logistics_track")
+public class KwpLedgerLogisticsTrack implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 物流订单对账id(kwp_ledger_logistics)
+     */
+    private Long lLedgerId;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 1-对账 2-对账 3-撤回 4-删除 5-确认 6-驳回 7-完成
+     */
+    private Integer status;
+
+    private Long createBy;
+
+    private LocalDateTime createTime;
+
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+
+}

+ 106 - 0
src/main/java/com/sckw/freight/entity/freight/KwpLedgerLogisticsUnit.java

@@ -0,0 +1,106 @@
+package com.sckw.freight.entity.freight;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 物流对账单托运方或承运方企业信息
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("kwp_ledger_logistics_unit")
+public class KwpLedgerLogisticsUnit implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 物流对账单id
+     */
+    private Long lLedgerId;
+
+    /**
+     * 物流对账单编号
+     */
+    private String lLedgerNo;
+
+    /**
+     * 单位类型(1托运方、2承运方)
+     */
+    private Integer unitType;
+
+    /**
+     * 企业id
+     */
+    private Long entId;
+
+    /**
+     * 顶级企业ID
+     */
+    private Long topEntId;
+
+    /**
+     * 企业名称
+     */
+    private String firmName;
+
+    /**
+     * 联系人ID
+     */
+    private Long contactsId;
+
+    /**
+     * 联系人姓名
+     */
+    private String contacts;
+
+    /**
+     * 联系电话
+     */
+    private String phone;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态(0正常、1已锁)
+     */
+    private Integer status;
+
+    private Long createBy;
+
+    private LocalDateTime createTime;
+
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+
+}

+ 129 - 0
src/main/java/com/sckw/freight/entity/freight/KwpSettlementLogistics.java

@@ -0,0 +1,129 @@
+package com.sckw.freight.entity.freight;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 结算-物流订单
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("kwp_settlement_logistics")
+public class KwpSettlementLogistics implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 企业id
+     */
+    private Long entId;
+
+    /**
+     * 物流订单对账id
+     */
+    private Long lLedgerId;
+
+    /**
+     * 结算单编号
+     */
+    private String slOrderNo;
+
+    private String name;
+
+    /**
+     * 对账金额
+     */
+    private BigDecimal totalPrice;
+
+    /**
+     * 已收账款
+     */
+    private BigDecimal actualPrice;
+
+    /**
+     * 预计收款日期
+     */
+    private LocalDateTime receiptTime;
+
+    /**
+     * 交易方式(1x-预付款、2x-货到付款 3-线下付款)
+     */
+    private String trading;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 对账托运方财务联系人id
+     */
+    private Long auditUserId;
+
+    /**
+     * 对账托运方财务联系人
+     */
+    private String auditUser;
+
+    /**
+     * 对账托运方财务联系人电话
+     */
+    private String auditPhone;
+
+    /**
+     * 对账承运方财务联系人id
+     */
+    private Long successUserId;
+
+    /**
+     * 对账承运方财务联系人
+     */
+    private String successUser;
+
+    /**
+     * 对账承运方财务联系人电话
+     */
+    private String successPhone;
+
+    /**
+     * 状态(1待结算2部分结算3全部结算)
+     */
+    private Integer status;
+
+    private Long createBy;
+
+    private LocalDateTime createTime;
+
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+
+}

+ 66 - 0
src/main/java/com/sckw/freight/entity/freight/KwpSettlementLogisticsTrack.java

@@ -0,0 +1,66 @@
+package com.sckw.freight.entity.freight;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 结算-物流订单-状态信息
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("kwp_settlement_logistics_track")
+public class KwpSettlementLogisticsTrack implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 物流订单结算id
+     */
+    private Long lSettlementId;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态(1待结算,2部分结算,3全部结算)
+     */
+    private Integer status;
+
+    private Long createBy;
+
+    private LocalDateTime createTime;
+
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+
+}

+ 91 - 0
src/main/java/com/sckw/freight/entity/freight/KwpSettlementRecord.java

@@ -0,0 +1,91 @@
+package com.sckw.freight.entity.freight;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 结算归档表
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("kwp_settlement_record")
+public class KwpSettlementRecord implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 企业id
+     */
+    private Long entId;
+
+    /**
+     * 总应收金额
+     */
+    private BigDecimal totalReceiveMoney;
+
+    /**
+     * 待收金额
+     */
+    private BigDecimal exactMoney;
+
+    /**
+     * 已收金额(累加金额)
+     */
+    private BigDecimal receivedMoney;
+
+    /**
+     * 逾期待收金额
+     */
+    private BigDecimal overdueExactMoney;
+
+    /**
+     * 总应付金额
+     */
+    private BigDecimal totalPayMoney;
+
+    /**
+     * 待付金额
+     */
+    private BigDecimal unpaidMoney;
+
+    /**
+     * 已付金额(累加金额)
+     */
+    private BigDecimal paidMoney;
+
+    /**
+     * 逾期待付金额
+     */
+    private BigDecimal overduePaidMoney;
+
+    /**
+     * 创建日期
+     */
+    private LocalDate createTime;
+
+    /**
+     * 1-物流 2-贸易
+     */
+    private Integer orderType;
+
+
+}

+ 223 - 0
src/main/java/com/sckw/freight/entity/kll/KllOrder.java

@@ -0,0 +1,223 @@
+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 lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 订单
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("kll_order")
+public class KllOrder implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 主体集团公司ID
+     */
+    private Integer companyId;
+
+    /**
+     * 矿厂公司ID
+     */
+    private Integer factoryId;
+
+    /**
+     * 订单号
+     */
+    private String orderNo;
+
+    /**
+     * 1-矿拉拉2-矿拉拉商城
+     */
+    private Integer orderSource;
+
+    /**
+     * 经销商ID
+     */
+    private Integer customerId;
+
+    /**
+     * 贸易订单id
+     */
+    private Integer tradeOrderId;
+
+    /**
+     * 贸易订单号
+     */
+    private String tradeOrderNo;
+
+    /**
+     * 结算方式1-线下2-线上
+     */
+    private Boolean payType;
+
+    /**
+     * 线上支付通道
+     */
+    private String payChannel;
+
+    /**
+     * 钱包ID
+     */
+    private String walletGuid;
+
+    /**
+     * 线上支付平台收款方ID
+     */
+    private String factoryPaymentUid;
+
+    /**
+     * 0:完整模式
+1:快速模式(无需首次过磅)
+     */
+    private Integer type;
+
+    /**
+     * 规格ID
+     */
+    private Integer skuId;
+
+    /**
+     * 产品ID
+     */
+    private Integer productId;
+
+    /**
+     * 价格ID
+     */
+    private Integer priceId;
+
+    /**
+     * 产品售价
+     */
+    private BigDecimal skuPrice;
+
+    /**
+     * 订单码
+     */
+    private String reviewCode;
+
+    /**
+     * 下单量,0为不限制
+     */
+    private BigDecimal quantity;
+
+    /**
+     * 运单锁定数量
+     */
+    private BigDecimal loaded;
+
+    /**
+     * 总计支付金额(包括其他费用)
+     */
+    private BigDecimal totalPrice;
+
+    /**
+     * 订单下单金额
+     */
+    private BigDecimal orderPrice;
+
+    /**
+     * 已装载数量
+     */
+    private BigDecimal actualWeight;
+
+    /**
+     * 实际扣除金额
+     */
+    private BigDecimal actualDeduction;
+
+    /**
+     * 开始时间
+     */
+    private LocalDateTime beginDatetime;
+
+    /**
+     * 结束时间
+     */
+    private LocalDateTime endDatetime;
+
+    /**
+     * 执行状态
+0:等待执行
+1:执行成功
+2:执行中
+3:开始结算
+     */
+    private Integer executionStatus;
+
+    /**
+     * 任务完成率
+     */
+    private BigDecimal completionRate;
+
+    /**
+     * 备注
+     */
+    private String remarks;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 订单状态
+     */
+    private Integer status;
+
+    /**
+     * 结算ID
+     */
+    private Integer settlementId;
+
+    /**
+     * 派遣运输车次
+     */
+    private Integer truckNums;
+
+    /**
+     * 返利总金额
+     */
+    private BigDecimal totalRebateMoney;
+
+    /**
+     * 物流公司
+     */
+    private Integer logisticsId;
+
+    /**
+     * 上版本原始ID
+     */
+    private Integer oldId;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    private String payPlatformMainAccount;
+
+
+}

+ 170 - 0
src/main/java/com/sckw/freight/entity/kll/KllOrderProduct.java

@@ -0,0 +1,170 @@
+package com.sckw.freight.entity.kll;
+
+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 lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 订单产品及规格详情快照
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("kll_order_product")
+public class KllOrderProduct implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 订单ID
+     */
+    private Integer orderId;
+
+    /**
+     * 厂区ID
+     */
+    private Integer factoryId;
+
+    /**
+     * 厂区名称
+     */
+    private String factoryName;
+
+    /**
+     * 厂区原始数据
+     */
+    private String factoryJson;
+
+    /**
+     * 签订商品大合同ID
+     */
+    private Integer contractId;
+
+    /**
+     * 合同编号
+     */
+    private String contractNo;
+
+    /**
+     * 销售人
+     */
+    private String contactsName;
+
+    /**
+     * 销售人电话
+     */
+    private String contactsPhone;
+
+    /**
+     * 产品ID
+     */
+    private Integer productId;
+
+    /**
+     * 产品名称
+     */
+    private String productName;
+
+    /**
+     * 产品code
+     */
+    private String productCode;
+
+    /**
+     * 产品单位[千克|吨]
+     */
+    private String productUnit;
+
+    /**
+     * 产品原始详细数据
+     */
+    private String productJson;
+
+    /**
+     * SKU-id
+     */
+    private Integer skuId;
+
+    /**
+     * 零售价
+     */
+    private String skuCode;
+
+    /**
+     * SKU-code
+     */
+    private String skuName;
+
+    /**
+     * SKU原始数据
+     */
+    private String skuJson;
+
+    /**
+     * SKU-关联仓id
+     */
+    private Integer skuPointId;
+
+    /**
+     * SKU-关联仓名称
+     */
+    private String skuPointName;
+
+    /**
+     * SKU-仓库json
+     */
+    private String skuPointJson;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 删除时间
+     */
+    private LocalDateTime deleteTime;
+
+    /**
+     * 小合同ID
+     */
+    private Integer contractDetailId;
+
+    /**
+     * 是否限量小合同1-是0-否
+     */
+    private Integer contractLimit;
+
+    /**
+     * 分类ID
+     */
+    private Integer categoryId;
+
+    /**
+     * 分类名称
+     */
+    private String categoryName;
+
+
+}

+ 230 - 0
src/main/java/com/sckw/freight/entity/kll/KllOrderTask.java

@@ -0,0 +1,230 @@
+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 lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 订单任务
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("kll_order_task")
+public class KllOrderTask implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private String taskNo;
+
+    /**
+     * 订单ID
+     */
+    private Integer orderId;
+
+    /**
+     * 物流公司ID
+     */
+    private Integer logisticId;
+
+    /**
+     * 卡车ID
+     */
+    private Integer truckId;
+
+    /**
+     * 卡车车牌
+     */
+    private String truckLicensePlate;
+
+    /**
+     * 目标载重(货+车)
+     */
+    private BigDecimal targetLoad;
+
+    /**
+     * 装载重量/预估装载(货)
+     */
+    private BigDecimal loaderWeight;
+
+    /**
+     * 0:等待进入厂区
+1:等待首次称重
+2:等待装货
+3:等待二次称重
+4:等待出厂
+5:已出厂
+     */
+    private Integer truckState;
+
+    /**
+     * 卡车司机
+     */
+    private Integer driverId;
+
+    /**
+     * 卡车司机名
+     */
+    private String driverName;
+
+    /**
+     * 卡车司机电话
+     */
+    private String driverPhone;
+
+    /**
+     * 卡车司机身份正
+     */
+    private String driverIdcard;
+
+    /**
+     * 进厂记录
+     */
+    private Integer checkinReleaseId;
+
+    /**
+     * 出厂记录
+     */
+    private Integer checkoutReleaseId;
+
+    /**
+     * 荷载重量
+     */
+    private BigDecimal licenseWeight;
+
+    /**
+     * 皮重
+     */
+    private BigDecimal tareWeight;
+
+    /**
+     * 首次称重
+     */
+    private BigDecimal firstWeight;
+
+    /**
+     * 首次称重时间
+     */
+    private LocalDateTime firstWeightTime;
+
+    /**
+     * 二次称重
+     */
+    private BigDecimal secondWeight;
+
+    /**
+     * 二次称重时间
+     */
+    private LocalDateTime secondWeightTime;
+
+    /**
+     * 实际完成重量
+     */
+    private BigDecimal actualWeight;
+
+    /**
+     * 实际扣款金额
+     */
+    private BigDecimal actualDeduction;
+
+    /**
+     * 离厂称重地磅ID
+     */
+    private Integer wbId;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 下单位置
+     */
+    private String location;
+
+    /**
+     * 打印次数
+     */
+    private Integer printNums;
+
+    /**
+     * 0:已取消;1:执行成功;2:执行中;3:空载出厂
+     */
+    private Integer state;
+
+    /**
+     * 结算时计价模型ID
+     */
+    private Integer priceId;
+
+    /**
+     * 结算单价
+     */
+    private BigDecimal price;
+
+    /**
+     * 返利金额
+     */
+    private BigDecimal rebateMoney;
+
+    /**
+     * 确认出厂时间
+     */
+    private LocalDateTime confirmOutTime;
+
+    /**
+     * 迁移ID
+     */
+    private Integer oldId;
+
+    /**
+     * 电子运单图片地址
+     */
+    private String electricPic;
+
+    /**
+     * 结算小合同详情ID
+     */
+    private Integer contractDetailId;
+
+    /**
+     * 结算单价
+     */
+    private BigDecimal contractDetailPrice;
+
+    /**
+     * 暂停状态0-正常1-暂停
+     */
+    private Integer pauseState;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 结算状态,1已结算,2未结算
+     */
+    private Integer settlement;
+
+    /**
+     * 装载地址
+     */
+    private String loadAddress;
+
+
+}

+ 106 - 0
src/main/java/com/sckw/freight/entity/kll/KllOrderTruck.java

@@ -0,0 +1,106 @@
+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 lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 订单派车关系
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("kll_order_truck")
+public class KllOrderTruck implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 订单号ID
+     */
+    private Integer orderId;
+
+    /**
+     * TMS车辆ID
+     */
+    private Integer truckId;
+
+    /**
+     * 物流公司ID
+     */
+    private Integer logisticId;
+
+    /**
+     * 车牌号
+     */
+    private String licensePlate;
+
+    /**
+     * 车型
+     */
+    private String modelStr;
+
+    /**
+     * 车辆皮重
+     */
+    private BigDecimal tareWeight;
+
+    /**
+     * 额定荷载
+     */
+    private BigDecimal licenseWeight;
+
+    /**
+     * 创建这ID
+     */
+    private Integer creatorId;
+
+    /**
+     * 司机姓名
+     */
+    private String driverName;
+
+    /**
+     * 司机电话
+     */
+    private String driverPhone;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 状态0取消1-正常
+     */
+    private Integer status;
+
+    /**
+     * 接单次数
+     */
+    private Integer taskNums;
+
+    /**
+     * 完成次数
+     */
+    private Integer completeNums;
+
+
+}

+ 18 - 0
src/main/java/com/sckw/freight/mapper/freight/KwpLedgerLogisticsMapper.java

@@ -0,0 +1,18 @@
+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;
+
+/**
+ * <p>
+ * 对账-物流订单 Mapper 接口
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@DS("freight")
+public interface KwpLedgerLogisticsMapper extends BaseMapper<KwpLedgerLogistics> {
+
+}

+ 18 - 0
src/main/java/com/sckw/freight/mapper/freight/KwpLedgerLogisticsOrderMapper.java

@@ -0,0 +1,18 @@
+package com.sckw.freight.mapper.freight;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.sckw.freight.entity.freight.KwpLedgerLogisticsOrder;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 对账-物流订单-对账关联交易订单 Mapper 接口
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@DS("freight")
+public interface KwpLedgerLogisticsOrderMapper extends BaseMapper<KwpLedgerLogisticsOrder> {
+
+}

+ 18 - 0
src/main/java/com/sckw/freight/mapper/freight/KwpLedgerLogisticsTrackMapper.java

@@ -0,0 +1,18 @@
+package com.sckw.freight.mapper.freight;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.sckw.freight.entity.freight.KwpLedgerLogisticsTrack;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 对账-物流订单-状态信息 Mapper 接口
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@DS("freight")
+public interface KwpLedgerLogisticsTrackMapper extends BaseMapper<KwpLedgerLogisticsTrack> {
+
+}

+ 18 - 0
src/main/java/com/sckw/freight/mapper/freight/KwpLedgerLogisticsUnitMapper.java

@@ -0,0 +1,18 @@
+package com.sckw.freight.mapper.freight;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.sckw.freight.entity.freight.KwpLedgerLogisticsUnit;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 物流对账单托运方或承运方企业信息 Mapper 接口
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@DS("freight")
+public interface KwpLedgerLogisticsUnitMapper extends BaseMapper<KwpLedgerLogisticsUnit> {
+
+}

+ 18 - 0
src/main/java/com/sckw/freight/mapper/freight/KwpSettlementLogisticsMapper.java

@@ -0,0 +1,18 @@
+package com.sckw.freight.mapper.freight;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.sckw.freight.entity.freight.KwpSettlementLogistics;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 结算-物流订单 Mapper 接口
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@DS("freight")
+public interface KwpSettlementLogisticsMapper extends BaseMapper<KwpSettlementLogistics> {
+
+}

+ 18 - 0
src/main/java/com/sckw/freight/mapper/freight/KwpSettlementLogisticsTrackMapper.java

@@ -0,0 +1,18 @@
+package com.sckw.freight.mapper.freight;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.sckw.freight.entity.freight.KwpSettlementLogisticsTrack;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 结算-物流订单-状态信息 Mapper 接口
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@DS("freight")
+public interface KwpSettlementLogisticsTrackMapper extends BaseMapper<KwpSettlementLogisticsTrack> {
+
+}

+ 18 - 0
src/main/java/com/sckw/freight/mapper/freight/KwpSettlementRecordMapper.java

@@ -0,0 +1,18 @@
+package com.sckw.freight.mapper.freight;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.sckw.freight.entity.freight.KwpSettlementRecord;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 结算归档表 Mapper 接口
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@DS("freight")
+public interface KwpSettlementRecordMapper extends BaseMapper<KwpSettlementRecord> {
+
+}

+ 18 - 0
src/main/java/com/sckw/freight/mapper/kll/KllOrderMapper.java

@@ -0,0 +1,18 @@
+package com.sckw.freight.mapper.kll;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.sckw.freight.entity.kll.KllOrder;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 订单 Mapper 接口
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@DS("kll")
+public interface KllOrderMapper extends BaseMapper<KllOrder> {
+
+}

+ 18 - 0
src/main/java/com/sckw/freight/mapper/kll/KllOrderProductMapper.java

@@ -0,0 +1,18 @@
+package com.sckw.freight.mapper.kll;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.sckw.freight.entity.kll.KllOrderProduct;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 订单产品及规格详情快照 Mapper 接口
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@DS("kll")
+public interface KllOrderProductMapper extends BaseMapper<KllOrderProduct> {
+
+}

+ 18 - 0
src/main/java/com/sckw/freight/mapper/kll/KllOrderTaskMapper.java

@@ -0,0 +1,18 @@
+package com.sckw.freight.mapper.kll;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.sckw.freight.entity.kll.KllOrderTask;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 订单任务 Mapper 接口
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@DS("kll")
+public interface KllOrderTaskMapper extends BaseMapper<KllOrderTask> {
+
+}

+ 18 - 0
src/main/java/com/sckw/freight/mapper/kll/KllOrderTruckMapper.java

@@ -0,0 +1,18 @@
+package com.sckw.freight.mapper.kll;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.sckw.freight.entity.kll.KllOrderTruck;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 订单派车关系 Mapper 接口
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@DS("kll")
+public interface KllOrderTruckMapper extends BaseMapper<KllOrderTruck> {
+
+}

+ 22 - 0
src/main/java/com/sckw/freight/model/dto/KllOrderDTO.java

@@ -0,0 +1,22 @@
+package com.sckw.freight.model.dto;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @BelongsProject: Freight-Settlement-Backend
+ * @BelongsPackage: com.sckw.freight.model.dto
+ * @Author: xj
+ * @CreateTime: 2025-01-09  20:13
+ * @Description: KllOrderDTO 返回给前端的订单信息
+ * @Version: 1.0
+ */
+@Data
+public class KllOrderDTO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 2058696103492482712L;
+
+}

+ 40 - 0
src/main/java/com/sckw/freight/model/enums/DelFlagEnum.java

@@ -0,0 +1,40 @@
+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;
+
+/**
+ * @BelongsProject: Freight-Settlement-Backend
+ * @BelongsPackage: com.sckw.freight.model.enums
+ * @Author: xj
+ * @CreateTime: 2025-01-10  15:04
+ * @Description: 删除标记
+ * @Version: 1.0
+ */
+@Getter
+@AllArgsConstructor
+public enum DelFlagEnum {
+    NotDelete(0, "未删除"),
+    Deleted (1, "删除");
+    private final Integer code;
+    private final String msg;
+
+    public static String getMsg(Integer code) {
+        for (DelFlagEnum ele : DelFlagEnum.values()) {
+            if (ele.getCode().equals(code)) {
+                return ele.getMsg();
+            }
+        }
+        return null;
+    }
+
+    public static List<DelFlagEnum> getSortList() {
+        DelFlagEnum[] enums = DelFlagEnum.values();
+        return Arrays.stream(enums).sorted(Comparator.comparingInt(DelFlagEnum::getCode)).collect(Collectors.toList());
+    }
+}

+ 43 - 0
src/main/java/com/sckw/freight/model/enums/KwpLedgerLogisticsStatusEnum.java

@@ -0,0 +1,43 @@
+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;
+
+/**
+ * @BelongsProject: Freight-Settlement-Backend
+ * @BelongsPackage: com.sckw.freight.model.enums
+ * @Author: xj
+ * @CreateTime: 2025-01-10  15:00
+ * @Description: 对账单状态
+ * @Version: 1.0
+ */
+
+@Getter
+@AllArgsConstructor
+public enum KwpLedgerLogisticsStatusEnum {
+
+    Unpaid (1, "待支付"),
+    PartialPaid (2, "部分支付"),
+    Paid (3, "已支付");
+    private final Integer code;
+    private final String msg;
+
+    public static String getMsg(Integer code) {
+        for (KwpLedgerLogisticsStatusEnum ele : KwpLedgerLogisticsStatusEnum.values()) {
+            if (ele.getCode().equals(code)) {
+                return ele.getMsg();
+            }
+        }
+        return null;
+    }
+
+    public static List<KwpLedgerLogisticsStatusEnum> getSortList() {
+        KwpLedgerLogisticsStatusEnum[] enums = KwpLedgerLogisticsStatusEnum.values();
+        return Arrays.stream(enums).sorted(Comparator.comparingInt(KwpLedgerLogisticsStatusEnum::getCode)).collect(Collectors.toList());
+    }
+}

+ 40 - 0
src/main/java/com/sckw/freight/model/enums/LedgerLogisticsOrderStatusEnum.java

@@ -0,0 +1,40 @@
+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;
+
+/**
+ * @BelongsProject: Freight-Settlement-Backend
+ * @BelongsPackage: com.sckw.freight.model.enums
+ * @Author: xj
+ * @CreateTime: 2025-01-10  16:32
+ * @Description: 对账物流单关联 订单状态  0正常、1已锁
+ * @Version: 1.0
+ */
+@Getter
+@AllArgsConstructor
+public enum LedgerLogisticsOrderStatusEnum {
+    Normal(0, "正常"),
+    Locked (1, "已锁");
+    private final Integer code;
+    private final String msg;
+
+    public static String getMsg(Integer code) {
+        for (LedgerLogisticsOrderStatusEnum ele : LedgerLogisticsOrderStatusEnum.values()) {
+            if (ele.getCode().equals(code)) {
+                return ele.getMsg();
+            }
+        }
+        return null;
+    }
+
+    public static List<LedgerLogisticsOrderStatusEnum> getSortList() {
+        LedgerLogisticsOrderStatusEnum[] enums = LedgerLogisticsOrderStatusEnum.values();
+        return Arrays.stream(enums).sorted(Comparator.comparingInt(LedgerLogisticsOrderStatusEnum::getCode)).collect(Collectors.toList());
+    }
+}

+ 33 - 0
src/main/java/com/sckw/freight/model/enums/OrderExecutionStatusEnum.java

@@ -0,0 +1,33 @@
+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 OrderExecutionStatusEnum {
+    WaitingExecution(0, "等待执行"),
+    ExecutionSuccess (1, "执行成功"),
+    BeingExecuted (2, "正在执行"),
+    Settlement (3, "开始结算");
+    private final Integer code;
+    private final String msg;
+
+    public static String getMsg(Integer code) {
+        for (OrderExecutionStatusEnum ele : OrderExecutionStatusEnum.values()) {
+            if (ele.getCode().equals(code)) {
+                return ele.getMsg();
+            }
+        }
+        return null;
+    }
+
+    public static List<OrderExecutionStatusEnum> getSortList() {
+        OrderExecutionStatusEnum[] enums = OrderExecutionStatusEnum.values();
+        return Arrays.stream(enums).sorted(Comparator.comparingInt(OrderExecutionStatusEnum::getCode)).collect(Collectors.toList());
+    }
+}

+ 49 - 0
src/main/java/com/sckw/freight/model/enums/OrderStatusEnum.java

@@ -0,0 +1,49 @@
+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;
+
+/**
+ * @desc: 订单状态枚举
+ * @author: yzc
+ * @date: 2023-09-18 15:32
+ */
+@Getter
+@AllArgsConstructor
+public enum OrderStatusEnum {
+
+    /**
+     * 订单状态枚举
+     */
+    SAVED(0, "已保存"),
+    WAIT_ACCEPTED(1, "待受理"),
+    RETURNED(2, "已退回"),
+    WAIT_SIGNED(3, "待签约"),
+    EXECUTING(4, "执行中"),
+    FINISHED(5, "已完结"),
+    RECONCILED(6, "已对账"),
+    SETTLED(7, "已结算");
+
+    private final Integer code;
+    private final String msg;
+
+    public static String getMsg(Integer code) {
+        for (OrderStatusEnum ele : OrderStatusEnum.values()) {
+            if (ele.getCode().equals(code)) {
+                return ele.getMsg();
+            }
+        }
+        return null;
+    }
+
+    public static List<OrderStatusEnum> getSortList() {
+        OrderStatusEnum[] enums = OrderStatusEnum.values();
+        return Arrays.stream(enums).sorted(Comparator.comparingInt(OrderStatusEnum::getCode)).collect(Collectors.toList());
+    }
+
+}

+ 43 - 0
src/main/java/com/sckw/freight/model/vo/request/RequestLedgerLogisticsPageInfo.java

@@ -0,0 +1,43 @@
+package com.sckw.freight.model.vo.request;
+
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * @BelongsProject: Freight-Settlement-Backend
+ * @BelongsPackage: com.sckw.freight.model.vo.request
+ * @Author: xj
+ * @CreateTime: 2025-01-10  16:47
+ * @Description: 对账单分页查询
+ * @Version: 1.0
+ */
+@Data
+public class RequestLedgerLogisticsPageInfo extends RequestPageInfo {
+
+    /**
+     * 物流对账单编号
+     */
+    private String lLedgerNo;
+
+    /**
+     * 对账单名称
+     */
+    private String name;
+    /**
+     * 对账单状态
+     */
+    private Integer status;
+    /**
+     * 创建时间 ["2025-01-09","2025-01-09"]
+     */
+    private LocalDateTime[] createTime;
+    /**
+     * 更新时间 ["2025-01-09","2025-01-09"]
+     */
+    private LocalDateTime[] updateTime;
+    /**
+     * 企业id
+     */
+    private Long entId;
+}

+ 32 - 0
src/main/java/com/sckw/freight/model/vo/request/RequestPageInfo.java

@@ -0,0 +1,32 @@
+package com.sckw.freight.model.vo.request;
+
+import lombok.Data;
+
+/**
+ * @BelongsProject: Freight-Settlement-Backend
+ * @BelongsPackage: com.sckw.freight.model.vo.request
+ * @Author: xj
+ * @CreateTime: 2025-01-09  19:55
+ * @Description: 请求分页数据
+ * @Version: 1.0
+ */
+@Data
+public class RequestPageInfo {
+    private static final long serialVersionUID = 1L;
+    /**
+     * 当前页码
+     */
+    private long page=1;
+    /**
+     * 每页数量
+     */
+    private long pageSize=10;
+    /**
+     * 排序字段
+     */
+    private String sortField;
+    /**
+     * 排序方式
+     */
+    private String sortOrder;
+}

+ 43 - 0
src/main/java/com/sckw/freight/model/vo/request/RequestSaveLedgerLogisticsInfo.java

@@ -0,0 +1,43 @@
+package com.sckw.freight.model.vo.request;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @BelongsProject: Freight-Settlement-Backend
+ * @BelongsPackage: com.sckw.freight.model.vo.request
+ * @Author: xj
+ * @CreateTime: 2025-01-10  10:43
+ * @Description: 新建对账单信息
+ * @Version: 1.0
+ */
+@Data
+public class RequestSaveLedgerLogisticsInfo {
+    /**
+     * 物流订单ID
+     */
+    private List<Long> orderIds;
+    /**
+     * 对账单名称
+     */
+    private String name;
+    /**
+     * 扣款金额
+     */
+    private BigDecimal deductPrice;
+    /**
+     * 企业id
+     */
+    private Long entId;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 当前登录用户id
+     */
+    private Long userId;
+
+}

+ 17 - 0
src/main/java/com/sckw/freight/model/vo/request/TestModel.java

@@ -0,0 +1,17 @@
+package com.sckw.freight.model.vo.request;
+
+import lombok.Data;
+
+/**
+ * @BelongsProject: Freight-Settlement-Backend
+ * @BelongsPackage: com.sckw.freight.model.vo.req
+ * @Author: xj
+ * @CreateTime: 2025-01-09  14:33
+ * @Description: TODO
+ * @Version: 1.0
+ */
+@Data
+public class TestModel {
+    private String name;
+    private String age;
+}

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

@@ -0,0 +1,122 @@
+package com.sckw.freight.model.vo.response;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * @BelongsProject: Freight-Settlement-Backend
+ * @BelongsPackage: com.sckw.freight.model.vo.response
+ * @Author: xj
+ * @CreateTime: 2025-01-10  14:49
+ * @Description: 运单信息
+ * @Version: 1.0
+ */
+@Data
+public class ResponseKllOrderTask {
+    private static final long serialVersionUID = 1L;
+
+    private Integer id;
+    /**
+     * 运单号
+     */
+    private String taskNo;
+
+    /**
+     * 订单ID
+     */
+    private Integer orderId;
+
+    /**
+     * 物流公司ID
+     */
+    private Integer logisticId;
+
+    /**
+     * 卡车ID
+     */
+    //private Integer truckId;
+
+    /**
+     * 卡车车牌
+     */
+    private String truckLicensePlate;
+
+    /**
+     * 目标载重(货+车)
+     */
+    //private BigDecimal targetLoad;
+
+    /**
+     * 装载重量/预估装载(货)
+     */
+    //private BigDecimal loaderWeight;
+
+    /**
+     * 0:等待进入厂区
+     * 1:等待首次称重
+     * 2:等待装货
+     * 3:等待二次称重
+     * 4:等待出厂
+     * 5:已出厂
+     */
+    //private Integer truckState;
+
+    /**
+     * 卡车司机
+     */
+    private Integer driverId;
+
+    /**
+     * 卡车司机名
+     */
+    private String driverName;
+
+    /**
+     * 卡车司机电话
+     */
+    private String driverPhone;
+
+    /**
+     * 卡车司机身份正
+     */
+    //private String driverIdcard;
+
+    /**
+     * 进厂记录
+     */
+    //private Integer checkinReleaseId;
+
+    /**
+     * 出厂记录
+     */
+    //private Integer checkoutReleaseId;
+
+    /**
+     * 荷载重量
+     */
+    //private BigDecimal licenseWeight;
+
+    /**
+     * 皮重
+     */
+    //private BigDecimal tareWeight;
+
+    /**
+     * 首次称重
+     */
+    private BigDecimal firstWeight;
+
+    /**
+     * 首次称重时间
+     */
+    //private LocalDateTime firstWeightTime;
+
+    /**
+     * 二次称重
+     */
+    private BigDecimal secondWeight;
+}

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

@@ -0,0 +1,68 @@
+package com.sckw.freight.model.vo.response;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @BelongsProject: Freight-Settlement-Backend
+ * @BelongsPackage: com.sckw.freight.model.vo.response
+ * @Author: xj
+ * @CreateTime: 2025-01-10  14:48
+ * @Description: 物流对账单信息
+ * @Version: 1.0
+ */
+@Data
+public class ResponseLedgerLogistics {
+    /**
+     * 主键
+     */
+    private Long id;
+    /**
+     * 物流对账单编号
+     */
+    private String lLedgerNo;
+
+    /**
+     * 对账单名称
+     */
+    private String name;
+
+    /**
+     * 4.0 状态(1-已保存、2-待对账、3-已对账、4-已完成、5-已退回 6-已撤回)
+     * 数货运结 (1-待支付,2-部分支付,3-已支付)
+     */
+    private Integer status;
+    /**
+     * 状态名称
+     */
+    private String statusName;
+    /**
+     * 支付比例
+     */
+    private String payRatio;
+    /**
+     * 已收款/元
+     */
+    private BigDecimal actualPrice;
+    /**
+     * 总应收/元
+     */
+    private BigDecimal totalPrice;
+    /**
+     * 创建时间
+     */
+    private String createTime;
+    /**
+     * 更新时间
+     */
+    private String updateTime;
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 39 - 0
src/main/java/com/sckw/freight/model/vo/response/ResponsePageData.java

@@ -0,0 +1,39 @@
+package com.sckw.freight.model.vo.response;
+
+import com.github.xiaoymin.knife4j.annotations.DynamicParameter;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @BelongsProject: Freight-Settlement-Backend
+ * @BelongsPackage: com.sckw.freight.model.vo.res
+ * @Author: xj
+ * @CreateTime: 2025-01-09  19:38
+ * @Description: 分页数据
+ * @Version: 1.0
+ */
+@Data
+public class ResponsePageData<T> {
+    private static final long serialVersionUID = 7367318386929321066L;
+    /**
+     * 当前页码
+     */
+    private long page;
+    /**
+     * 每页数量
+     */
+    private long pageSize;
+    /**
+     * 总页数
+     */
+    private long pages;
+    /**
+     *总条数
+     */
+    private long total;
+    /**
+     * 数据列表
+     */
+    private List<T> list;
+}

+ 16 - 0
src/main/java/com/sckw/freight/service/freight/IKwpLedgerLogisticsOrderService.java

@@ -0,0 +1,16 @@
+package com.sckw.freight.service.freight;
+
+import com.sckw.freight.entity.freight.KwpLedgerLogisticsOrder;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 对账-物流订单-对账关联交易订单 服务类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+public interface IKwpLedgerLogisticsOrderService extends IService<KwpLedgerLogisticsOrder> {
+
+}

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

@@ -0,0 +1,48 @@
+package com.sckw.freight.service.freight;
+
+import com.sckw.freight.entity.freight.KwpLedgerLogistics;
+import com.baomidou.mybatisplus.extension.service.IService;
+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.ResponsePageData;
+import com.sckw.freight.util.R;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 对账-物流订单 服务类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+public interface IKwpLedgerLogisticsService extends IService<KwpLedgerLogistics> {
+    /**
+     * 保存对账-物流订单
+     *
+     * @param requestSaveLedgerSettlementInfo
+     * @return
+     */
+    R<String> saveLedgerLogistics(@RequestBody RequestSaveLedgerLogisticsInfo requestSaveLedgerSettlementInfo);
+
+    /**
+     * 查询对账-物流订单
+     *
+     * @param requestPageInfo
+     * @return
+     */
+    R<ResponsePageData<ResponseLedgerLogistics>> queryLedgerLogistics(@RequestBody RequestLedgerLogisticsPageInfo requestPageInfo);
+
+    /**
+     * 根据对账单ID查询运单
+     * @param ledgerLogisticsId
+     * @param entId
+     * @return
+     */
+    R<List<ResponseKllOrderTask>> queryOrderTaskListByLedgerLogisticsId(Long ledgerLogisticsId, Long entId);
+}

+ 16 - 0
src/main/java/com/sckw/freight/service/freight/IKwpLedgerLogisticsTrackService.java

@@ -0,0 +1,16 @@
+package com.sckw.freight.service.freight;
+
+import com.sckw.freight.entity.freight.KwpLedgerLogisticsTrack;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 对账-物流订单-状态信息 服务类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+public interface IKwpLedgerLogisticsTrackService extends IService<KwpLedgerLogisticsTrack> {
+
+}

+ 16 - 0
src/main/java/com/sckw/freight/service/freight/IKwpLedgerLogisticsUnitService.java

@@ -0,0 +1,16 @@
+package com.sckw.freight.service.freight;
+
+import com.sckw.freight.entity.freight.KwpLedgerLogisticsUnit;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 物流对账单托运方或承运方企业信息 服务类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+public interface IKwpLedgerLogisticsUnitService extends IService<KwpLedgerLogisticsUnit> {
+
+}

+ 16 - 0
src/main/java/com/sckw/freight/service/freight/IKwpSettlementLogisticsService.java

@@ -0,0 +1,16 @@
+package com.sckw.freight.service.freight;
+
+import com.sckw.freight.entity.freight.KwpSettlementLogistics;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 结算-物流订单 服务类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+public interface IKwpSettlementLogisticsService extends IService<KwpSettlementLogistics> {
+
+}

+ 16 - 0
src/main/java/com/sckw/freight/service/freight/IKwpSettlementLogisticsTrackService.java

@@ -0,0 +1,16 @@
+package com.sckw.freight.service.freight;
+
+import com.sckw.freight.entity.freight.KwpSettlementLogisticsTrack;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 结算-物流订单-状态信息 服务类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+public interface IKwpSettlementLogisticsTrackService extends IService<KwpSettlementLogisticsTrack> {
+
+}

+ 16 - 0
src/main/java/com/sckw/freight/service/freight/IKwpSettlementRecordService.java

@@ -0,0 +1,16 @@
+package com.sckw.freight.service.freight;
+
+import com.sckw.freight.entity.freight.KwpSettlementRecord;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 结算归档表 服务类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+public interface IKwpSettlementRecordService extends IService<KwpSettlementRecord> {
+
+}

+ 20 - 0
src/main/java/com/sckw/freight/service/freight/impl/KwpLedgerLogisticsOrderServiceImpl.java

@@ -0,0 +1,20 @@
+package com.sckw.freight.service.freight.impl;
+
+import com.sckw.freight.entity.freight.KwpLedgerLogisticsOrder;
+import com.sckw.freight.mapper.freight.KwpLedgerLogisticsOrderMapper;
+import com.sckw.freight.service.freight.IKwpLedgerLogisticsOrderService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 对账-物流订单-对账关联交易订单 服务实现类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@Service
+public class KwpLedgerLogisticsOrderServiceImpl extends ServiceImpl<KwpLedgerLogisticsOrderMapper, KwpLedgerLogisticsOrder> implements IKwpLedgerLogisticsOrderService {
+
+}

+ 370 - 0
src/main/java/com/sckw/freight/service/freight/impl/KwpLedgerLogisticsServiceImpl.java

@@ -0,0 +1,370 @@
+package com.sckw.freight.service.freight.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.sckw.freight.entity.freight.KwpLedgerLogistics;
+import com.sckw.freight.entity.freight.KwpLedgerLogisticsOrder;
+import com.sckw.freight.entity.freight.KwpLedgerLogisticsTrack;
+import com.sckw.freight.entity.kll.KllOrder;
+import com.sckw.freight.entity.kll.KllOrderTask;
+import com.sckw.freight.mapper.freight.KwpLedgerLogisticsMapper;
+import com.sckw.freight.mapper.kll.KllOrderTaskMapper;
+import com.sckw.freight.model.enums.*;
+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.ResponsePageData;
+import com.sckw.freight.service.freight.IKwpLedgerLogisticsOrderService;
+import com.sckw.freight.service.freight.IKwpLedgerLogisticsService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sckw.freight.service.freight.IKwpLedgerLogisticsTrackService;
+import com.sckw.freight.service.kll.IKllOrderService;
+import com.sckw.freight.util.DateTimeUtil;
+import com.sckw.freight.util.R;
+import com.sckw.freight.util.SnowflakeIdUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.jetbrains.annotations.NotNull;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 对账-物流订单 服务实现类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@Service
+public class KwpLedgerLogisticsServiceImpl extends ServiceImpl<KwpLedgerLogisticsMapper, KwpLedgerLogistics> implements IKwpLedgerLogisticsService {
+
+    @Autowired
+    IKllOrderService iKllOrderService;
+    @Autowired
+    IKwpLedgerLogisticsOrderService iKwpLedgerLogisticsOrderService;
+    @Autowired
+    IKwpLedgerLogisticsTrackService iKwpLedgerLogisticsTrackService;
+    @Autowired
+    KwpLedgerLogisticsMapper kwpLedgerLogisticsMapper;
+    @Autowired
+    KllOrderTaskMapper kllOrderTaskMapper;
+
+    /**
+     * 根骨对账单id查询运单
+     *
+     * @param ledgerLogisticsId 对账单id
+     * @param entId             企业id
+     * @return R<List < ResponseKllOrderTask>>
+     * @author xj
+     * @since 2025-01-09
+     */
+    @Override
+    public R<List<ResponseKllOrderTask>> queryOrderTaskListByLedgerLogisticsId(Long ledgerLogisticsId, Long entId) {
+        /**
+         * 1:查对账单 下的订单
+         * 2:查所有订单id下的所有运单
+         */
+        LambdaQueryWrapper<KwpLedgerLogistics> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(KwpLedgerLogistics::getId, ledgerLogisticsId);
+        wrapper.eq(KwpLedgerLogistics::getEntId, entId);
+        List<KwpLedgerLogistics> records = kwpLedgerLogisticsMapper.selectList(wrapper);
+        if (records == null) records = new ArrayList<>();
+        //查对账单 下的订单
+        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<>();
+
+        //查询运单
+        LambdaQueryWrapper<KllOrderTask> wrapperOrderTask = new LambdaQueryWrapper<>();
+        wrapperOrderTask.in(KllOrderTask::getOrderId, orders.stream().map(order -> {
+            return order.getId().intValue();
+        }).collect(Collectors.toList()));
+
+        List<KllOrderTask> tasks = kllOrderTaskMapper.selectList(wrapperOrderTask);
+        //组装数据
+        List<ResponseKllOrderTask> responseKllOrderTasks = tasks.stream().map(task -> {
+            ResponseKllOrderTask orderTask = new ResponseKllOrderTask();
+            orderTask.setId(task.getId().intValue());
+            orderTask.setTaskNo(task.getTaskNo());
+            orderTask.setOrderId(task.getOrderId().intValue());
+            orderTask.setLogisticId(task.getLogisticId().intValue());
+            orderTask.setTruckLicensePlate(task.getTruckLicensePlate());
+            orderTask.setDriverId(task.getDriverId().intValue());
+            orderTask.setDriverName(task.getDriverName());
+            orderTask.setDriverPhone(task.getDriverPhone());
+            orderTask.setFirstWeight(task.getFirstWeight());
+            orderTask.setSecondWeight(task.getSecondWeight());
+            return orderTask;
+        }).collect(Collectors.toList());
+
+        return R.ok(responseKllOrderTasks);
+    }
+
+    /**
+     * 查询对账-物流订单
+     *
+     * @param requestPageInfo 查询对账-物流订单参数
+     * @return R<List < ResponseLedgerLogistics>>
+     * @author xj
+     * @since 2025-01-09
+     */
+    @Override
+    public R<ResponsePageData<ResponseLedgerLogistics>> queryLedgerLogistics(RequestLedgerLogisticsPageInfo requestPageInfo) {
+        /**
+         * 1:按照条件分页查询对账单
+         * 2:查询运单
+         * 3:组装数据
+         */
+        LambdaQueryWrapper<KwpLedgerLogistics> wrapper = new LambdaQueryWrapper<>();
+        if (!StringUtils.isEmpty(requestPageInfo.getName())) {
+            wrapper.like(KwpLedgerLogistics::getName, requestPageInfo.getName());
+        }
+        if (!StringUtils.isEmpty(requestPageInfo.getLLedgerNo())) {
+            wrapper.eq(KwpLedgerLogistics::getLLedgerNo, requestPageInfo.getLLedgerNo());
+        }
+        if (requestPageInfo.getStatus() != null) {
+            wrapper.eq(KwpLedgerLogistics::getStatus, requestPageInfo.getStatus());
+        }
+        if (requestPageInfo.getCreateTime() != null && requestPageInfo.getCreateTime().length == 2) {
+            wrapper.ge(KwpLedgerLogistics::getCreateTime, requestPageInfo.getCreateTime()[0]);
+            wrapper.le(KwpLedgerLogistics::getCreateTime, requestPageInfo.getCreateTime()[1]);
+        }
+        if (requestPageInfo.getUpdateTime() != null && requestPageInfo.getUpdateTime().length == 2) {
+            wrapper.ge(KwpLedgerLogistics::getUpdateTime, requestPageInfo.getUpdateTime()[0]);
+            wrapper.le(KwpLedgerLogistics::getUpdateTime, requestPageInfo.getUpdateTime()[1]);
+        }
+        wrapper.eq(KwpLedgerLogistics::getDelFlag, 0);
+        wrapper.eq(KwpLedgerLogistics::getEntId, requestPageInfo.getEntId());
+        wrapper.orderByDesc(KwpLedgerLogistics::getCreateTime);
+
+        // 创建分页对象
+        Page<KwpLedgerLogistics> page = new Page<>(requestPageInfo.getPage(), requestPageInfo.getPageSize());
+        Page<KwpLedgerLogistics> selectPage = kwpLedgerLogisticsMapper.selectPage(page, wrapper);
+        //原数据
+        List<KwpLedgerLogistics> records = selectPage.getRecords();
+        if (records == null) records = new ArrayList<>();
+
+
+        //返回给客户端的数据
+        List<ResponseLedgerLogistics> responseLedgerLogisticsList = records.stream().map(item -> {
+
+            ResponseLedgerLogistics responseLedgerLogistics = new ResponseLedgerLogistics();
+            responseLedgerLogistics.setId(item.getId());
+            responseLedgerLogistics.setLLedgerNo(item.getLLedgerNo());
+            responseLedgerLogistics.setName(item.getName());
+            responseLedgerLogistics.setStatusName(KwpLedgerLogisticsStatusEnum.getMsg(item.getStatus()));
+            responseLedgerLogistics.setTotalPrice(item.getTotalPrice());
+            responseLedgerLogistics.setRemark(item.getRemark());
+            responseLedgerLogistics.setActualPrice(item.getActualPrice());
+            responseLedgerLogistics.setPayRatio(item.getActualPrice().divide(item.getTotalPrice(), 2).toString() + "%");
+            responseLedgerLogistics.setCreateTime(DateTimeUtil.format(item.getCreateTime(), "YYYY-MM-dd HH:mm:ss"));
+            responseLedgerLogistics.setUpdateTime(DateTimeUtil.format(item.getUpdateTime(), "YYYY-MM-dd HH:mm:ss"));
+            responseLedgerLogistics.setStatus(item.getStatus());
+
+            return responseLedgerLogistics;
+        }).collect(Collectors.toList());
+        //组装分页数据
+        ResponsePageData<ResponseLedgerLogistics> responsePageData = new ResponsePageData<>();
+        responsePageData.setPage(selectPage.getCurrent());
+        responsePageData.setPageSize(selectPage.getSize());
+        responsePageData.setTotal(selectPage.getTotal());
+        responsePageData.setPages(selectPage.getPages());
+        responsePageData.setList(responseLedgerLogisticsList);
+        return R.ok(responsePageData);
+    }
+
+    /**
+     * 保存 对账-物流订单  并发起支付
+     *
+     * @param requestSaveLedgerSettlementInfo 保存对账-物流订单参数
+     * @return R<String>
+     * @author xj
+     * @since 2025-01-09
+     */
+    @Override
+    public R<String> saveLedgerLogistics(RequestSaveLedgerLogisticsInfo requestSaveLedgerSettlementInfo) {
+        /**
+         * 1:数据验证
+         * 2:保存对账
+         * 3:保存对账订单
+         * 4:保存对账状态
+         * 5:改订单状态
+         * 6:发起支付
+         */
+        //1:数据验证
+        List<KllOrder> kllOrders = verifySaveLedgerLogisticsInfo(requestSaveLedgerSettlementInfo);
+        //2:保存对账
+        KwpLedgerLogistics kwpLedgerLogistics = savaKwpLedgerLogistics(requestSaveLedgerSettlementInfo, kllOrders);
+        //3:保存对账订单
+        List<KwpLedgerLogisticsOrder> kwpLedgerLogisticsOrders = savaKwpLedgerLogisticsOrder(kwpLedgerLogistics, kllOrders);
+        //4:保存对账状态
+        savaKwpLedgerLogisticsTrack(kwpLedgerLogistics);
+        //5:改订单状态
+        updateKllOrderStatus(kllOrders);
+        return R.ok(kwpLedgerLogistics.getLLedgerNo());
+    }
+
+    /**
+     * 数据验证
+     *
+     * @param requestSaveLedgerSettlementInfo 保存对账-物流订单参数
+     * @return void
+     * @author xj
+     * @since 2025-01-09
+     */
+    private List<KllOrder> verifySaveLedgerLogisticsInfo(RequestSaveLedgerLogisticsInfo requestSaveLedgerSettlementInfo) {
+        if (requestSaveLedgerSettlementInfo == null) {
+            throw new RuntimeException("保存对账单参数为空");
+        }
+        if (requestSaveLedgerSettlementInfo.getOrderIds() == null || requestSaveLedgerSettlementInfo.getOrderIds().size() == 0) {
+            throw new RuntimeException("保存对账单的订单为空");
+        }
+        if (requestSaveLedgerSettlementInfo.getEntId() == null) {
+            throw new RuntimeException("保存对账单的企业id为空");
+        }
+        if (requestSaveLedgerSettlementInfo.getName() == null) {
+            throw new RuntimeException("保存对账单的名称为空");
+        }
+        if (requestSaveLedgerSettlementInfo.getDeductPrice() == null) {
+            requestSaveLedgerSettlementInfo.setDeductPrice(BigDecimal.ZERO);
+        }
+        //不能小于0
+        if (requestSaveLedgerSettlementInfo.getDeductPrice().compareTo(BigDecimal.ZERO) < 0) {
+            throw new RuntimeException("对账单的扣减金额不能小于0");
+        }
+        //验证对应的订单是否在该企业下 ,且状态是完结
+        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());
+        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 (requestSaveLedgerSettlementInfo.getDeductPrice().compareTo(list.stream().map(KllOrder::getTotalPrice).reduce(BigDecimal.ZERO, BigDecimal::add)) > 0) {
+            throw new RuntimeException("保存对账单的物流订单扣减金额不能大于 总金额");
+        }
+        return list;
+    }
+
+    /**
+     * 保存对账单
+     *
+     * @param requestSaveLedgerSettlementInfo 保存对账单参数
+     * @return void
+     * @author xj
+     * @since 2025-01-09
+     */
+    private KwpLedgerLogistics savaKwpLedgerLogistics(RequestSaveLedgerLogisticsInfo requestSaveLedgerSettlementInfo, List<KllOrder> orderList) {
+        KwpLedgerLogistics kwpLedgerLogistics = new KwpLedgerLogistics();
+        kwpLedgerLogistics.setName(requestSaveLedgerSettlementInfo.getName());
+        kwpLedgerLogistics.setEntId(requestSaveLedgerSettlementInfo.getEntId());
+        kwpLedgerLogistics.setDeductPrice(requestSaveLedgerSettlementInfo.getDeductPrice());
+        kwpLedgerLogistics.setOrderCount(orderList.size());
+        //运单总额 = 总应收
+        kwpLedgerLogistics.setTotalPrice(orderList.stream().map(KllOrder::getTotalPrice).reduce(BigDecimal.ZERO, BigDecimal::add));
+        //不含税金额 = 总应收
+        kwpLedgerLogistics.setExTaxPrice(kwpLedgerLogistics.getTotalPrice());
+        //账单结算金额 = 总应收 - 款金额
+        kwpLedgerLogistics.setSettlePrice(kwpLedgerLogistics.getTotalPrice().subtract(kwpLedgerLogistics.getDeductPrice()));
+        kwpLedgerLogistics.setLLedgerNo(SnowflakeIdUtil.getInstance().nextStringId());
+        kwpLedgerLogistics.setRemark(requestSaveLedgerSettlementInfo.getRemark());
+        kwpLedgerLogistics.setStatus(KwpLedgerLogisticsStatusEnum.Unpaid.getCode());
+        kwpLedgerLogistics.setActualPrice(BigDecimal.ZERO);
+        //创建人
+        kwpLedgerLogistics.setCreateBy(requestSaveLedgerSettlementInfo.getUserId());
+        kwpLedgerLogistics.setUpdateBy(requestSaveLedgerSettlementInfo.getUserId());
+        kwpLedgerLogistics.setCreateTime(LocalDateTime.now());
+        kwpLedgerLogistics.setUpdateTime(LocalDateTime.now());
+        kwpLedgerLogistics.setDelFlag(DelFlagEnum.NotDelete.getCode());
+        kwpLedgerLogistics.setId(SnowflakeIdUtil.getInstance().nextId());
+        boolean isSave = this.save(kwpLedgerLogistics);
+        if (isSave) return kwpLedgerLogistics;
+        throw new RuntimeException("保存对账单失败");
+    }
+
+
+    /**
+     * 保存对账单订单 明细
+     *
+     * @param kwpLedgerLogistics 对账单
+     * @param orderList          物流订单列表
+     * @return void
+     * @author xj
+     * @since 2025-01-09
+     */
+    private List<KwpLedgerLogisticsOrder> savaKwpLedgerLogisticsOrder(KwpLedgerLogistics kwpLedgerLogistics, List<KllOrder> orderList) {
+        //数据组装
+        List<KwpLedgerLogisticsOrder> list = orderList.stream().map(order -> {
+            KwpLedgerLogisticsOrder kwpLedgerLogisticsOrder = new KwpLedgerLogisticsOrder();
+            kwpLedgerLogisticsOrder.setId(SnowflakeIdUtil.getInstance().nextId());
+            kwpLedgerLogisticsOrder.setLLedgerId(kwpLedgerLogistics.getId());
+            kwpLedgerLogisticsOrder.setLOrderId(order.getId().longValue());
+            kwpLedgerLogisticsOrder.setCreateBy(kwpLedgerLogistics.getCreateBy());
+            kwpLedgerLogisticsOrder.setUpdateBy(kwpLedgerLogistics.getUpdateBy());
+            kwpLedgerLogisticsOrder.setCreateTime(kwpLedgerLogistics.getCreateTime());
+            kwpLedgerLogisticsOrder.setUpdateTime(kwpLedgerLogistics.getUpdateTime());
+            kwpLedgerLogisticsOrder.setStatus(LedgerLogisticsOrderStatusEnum.Normal.getCode());
+            kwpLedgerLogisticsOrder.setDelFlag(DelFlagEnum.NotDelete.getCode());
+            kwpLedgerLogisticsOrder.setLOrderNo(order.getOrderNo());
+            return kwpLedgerLogisticsOrder;
+        }).collect(Collectors.toList());
+        boolean isSave = iKwpLedgerLogisticsOrderService.saveBatch(list);
+        if (isSave) return list;
+        throw new RuntimeException("保存对账单-订单明细失败");
+    }
+
+    /**
+     * 保存对账单物流单状态
+     *
+     * @param kwpLedgerLogistics 对账单
+     * @return void
+     * @author xj
+     * @since 2025-01-09
+     */
+    private KwpLedgerLogisticsTrack savaKwpLedgerLogisticsTrack(KwpLedgerLogistics kwpLedgerLogistics) {
+        KwpLedgerLogisticsTrack kwpLedgerLogisticsTrack = new KwpLedgerLogisticsTrack();
+        kwpLedgerLogisticsTrack.setId(SnowflakeIdUtil.getInstance().nextId());
+        kwpLedgerLogisticsTrack.setLLedgerId(kwpLedgerLogistics.getId());
+        kwpLedgerLogisticsTrack.setStatus(0);
+        kwpLedgerLogisticsTrack.setCreateBy(kwpLedgerLogistics.getCreateBy());
+        kwpLedgerLogisticsTrack.setUpdateBy(kwpLedgerLogistics.getUpdateBy());
+        kwpLedgerLogisticsTrack.setCreateTime(kwpLedgerLogistics.getCreateTime());
+        kwpLedgerLogisticsTrack.setUpdateTime(kwpLedgerLogistics.getUpdateTime());
+        kwpLedgerLogisticsTrack.setDelFlag(DelFlagEnum.NotDelete.getCode());
+        boolean isSave = iKwpLedgerLogisticsTrackService.save(kwpLedgerLogisticsTrack);
+        if (isSave) return kwpLedgerLogisticsTrack;
+        throw new RuntimeException("保存对账单物流单状态失败");
+    }
+
+    /**
+     * 更新物流订单状态
+     *
+     * @param orderList 物流订单列表
+     * @return void
+     * @author xj
+     * @since 2025-01-09
+     */
+    private void updateKllOrderStatus(List<KllOrder> orderList) {
+        KllOrder newOrder = new KllOrder();
+        newOrder.setExecutionStatus(OrderExecutionStatusEnum.Settlement.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("更新物流订单状态失败");
+    }
+}

+ 20 - 0
src/main/java/com/sckw/freight/service/freight/impl/KwpLedgerLogisticsTrackServiceImpl.java

@@ -0,0 +1,20 @@
+package com.sckw.freight.service.freight.impl;
+
+import com.sckw.freight.entity.freight.KwpLedgerLogisticsTrack;
+import com.sckw.freight.mapper.freight.KwpLedgerLogisticsTrackMapper;
+import com.sckw.freight.service.freight.IKwpLedgerLogisticsTrackService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 对账-物流订单-状态信息 服务实现类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@Service
+public class KwpLedgerLogisticsTrackServiceImpl extends ServiceImpl<KwpLedgerLogisticsTrackMapper, KwpLedgerLogisticsTrack> implements IKwpLedgerLogisticsTrackService {
+
+}

+ 20 - 0
src/main/java/com/sckw/freight/service/freight/impl/KwpLedgerLogisticsUnitServiceImpl.java

@@ -0,0 +1,20 @@
+package com.sckw.freight.service.freight.impl;
+
+import com.sckw.freight.entity.freight.KwpLedgerLogisticsUnit;
+import com.sckw.freight.mapper.freight.KwpLedgerLogisticsUnitMapper;
+import com.sckw.freight.service.freight.IKwpLedgerLogisticsUnitService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 物流对账单托运方或承运方企业信息 服务实现类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@Service
+public class KwpLedgerLogisticsUnitServiceImpl extends ServiceImpl<KwpLedgerLogisticsUnitMapper, KwpLedgerLogisticsUnit> implements IKwpLedgerLogisticsUnitService {
+
+}

+ 20 - 0
src/main/java/com/sckw/freight/service/freight/impl/KwpSettlementLogisticsServiceImpl.java

@@ -0,0 +1,20 @@
+package com.sckw.freight.service.freight.impl;
+
+import com.sckw.freight.entity.freight.KwpSettlementLogistics;
+import com.sckw.freight.mapper.freight.KwpSettlementLogisticsMapper;
+import com.sckw.freight.service.freight.IKwpSettlementLogisticsService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 结算-物流订单 服务实现类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@Service
+public class KwpSettlementLogisticsServiceImpl extends ServiceImpl<KwpSettlementLogisticsMapper, KwpSettlementLogistics> implements IKwpSettlementLogisticsService {
+
+}

+ 20 - 0
src/main/java/com/sckw/freight/service/freight/impl/KwpSettlementLogisticsTrackServiceImpl.java

@@ -0,0 +1,20 @@
+package com.sckw.freight.service.freight.impl;
+
+import com.sckw.freight.entity.freight.KwpSettlementLogisticsTrack;
+import com.sckw.freight.mapper.freight.KwpSettlementLogisticsTrackMapper;
+import com.sckw.freight.service.freight.IKwpSettlementLogisticsTrackService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 结算-物流订单-状态信息 服务实现类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@Service
+public class KwpSettlementLogisticsTrackServiceImpl extends ServiceImpl<KwpSettlementLogisticsTrackMapper, KwpSettlementLogisticsTrack> implements IKwpSettlementLogisticsTrackService {
+
+}

+ 20 - 0
src/main/java/com/sckw/freight/service/freight/impl/KwpSettlementRecordServiceImpl.java

@@ -0,0 +1,20 @@
+package com.sckw.freight.service.freight.impl;
+
+import com.sckw.freight.entity.freight.KwpSettlementRecord;
+import com.sckw.freight.mapper.freight.KwpSettlementRecordMapper;
+import com.sckw.freight.service.freight.IKwpSettlementRecordService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 结算归档表 服务实现类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@Service
+public class KwpSettlementRecordServiceImpl extends ServiceImpl<KwpSettlementRecordMapper, KwpSettlementRecord> implements IKwpSettlementRecordService {
+
+}

+ 16 - 0
src/main/java/com/sckw/freight/service/kll/IKllOrderProductService.java

@@ -0,0 +1,16 @@
+package com.sckw.freight.service.kll;
+
+import com.sckw.freight.entity.kll.KllOrderProduct;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 订单产品及规格详情快照 服务类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+public interface IKllOrderProductService extends IService<KllOrderProduct> {
+
+}

+ 16 - 0
src/main/java/com/sckw/freight/service/kll/IKllOrderService.java

@@ -0,0 +1,16 @@
+package com.sckw.freight.service.kll;
+
+import com.sckw.freight.entity.kll.KllOrder;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 订单 服务类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+public interface IKllOrderService extends IService<KllOrder> {
+
+}

+ 16 - 0
src/main/java/com/sckw/freight/service/kll/IKllOrderTaskService.java

@@ -0,0 +1,16 @@
+package com.sckw.freight.service.kll;
+
+import com.sckw.freight.entity.kll.KllOrderTask;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 订单任务 服务类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+public interface IKllOrderTaskService extends IService<KllOrderTask> {
+
+}

+ 16 - 0
src/main/java/com/sckw/freight/service/kll/IKllOrderTruckService.java

@@ -0,0 +1,16 @@
+package com.sckw.freight.service.kll;
+
+import com.sckw.freight.entity.kll.KllOrderTruck;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 订单派车关系 服务类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+public interface IKllOrderTruckService extends IService<KllOrderTruck> {
+
+}

+ 20 - 0
src/main/java/com/sckw/freight/service/kll/impl/KllOrderProductServiceImpl.java

@@ -0,0 +1,20 @@
+package com.sckw.freight.service.kll.impl;
+
+import com.sckw.freight.entity.kll.KllOrderProduct;
+import com.sckw.freight.mapper.kll.KllOrderProductMapper;
+import com.sckw.freight.service.kll.IKllOrderProductService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 订单产品及规格详情快照 服务实现类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@Service
+public class KllOrderProductServiceImpl extends ServiceImpl<KllOrderProductMapper, KllOrderProduct> implements IKllOrderProductService {
+
+}

+ 20 - 0
src/main/java/com/sckw/freight/service/kll/impl/KllOrderServiceImpl.java

@@ -0,0 +1,20 @@
+package com.sckw.freight.service.kll.impl;
+
+import com.sckw.freight.entity.kll.KllOrder;
+import com.sckw.freight.mapper.kll.KllOrderMapper;
+import com.sckw.freight.service.kll.IKllOrderService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 订单 服务实现类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@Service
+public class KllOrderServiceImpl extends ServiceImpl<KllOrderMapper, KllOrder> implements IKllOrderService {
+
+}

+ 20 - 0
src/main/java/com/sckw/freight/service/kll/impl/KllOrderTaskServiceImpl.java

@@ -0,0 +1,20 @@
+package com.sckw.freight.service.kll.impl;
+
+import com.sckw.freight.entity.kll.KllOrderTask;
+import com.sckw.freight.mapper.kll.KllOrderTaskMapper;
+import com.sckw.freight.service.kll.IKllOrderTaskService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 订单任务 服务实现类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@Service
+public class KllOrderTaskServiceImpl extends ServiceImpl<KllOrderTaskMapper, KllOrderTask> implements IKllOrderTaskService {
+
+}

+ 20 - 0
src/main/java/com/sckw/freight/service/kll/impl/KllOrderTruckServiceImpl.java

@@ -0,0 +1,20 @@
+package com.sckw.freight.service.kll.impl;
+
+import com.sckw.freight.entity.kll.KllOrderTruck;
+import com.sckw.freight.mapper.kll.KllOrderTruckMapper;
+import com.sckw.freight.service.kll.IKllOrderTruckService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 订单派车关系 服务实现类
+ * </p>
+ *
+ * @author xj
+ * @since 2025-01-09
+ */
+@Service
+public class KllOrderTruckServiceImpl extends ServiceImpl<KllOrderTruckMapper, KllOrderTruck> implements IKllOrderTruckService {
+
+}

+ 182 - 0
src/main/java/com/sckw/freight/util/SnowflakeIdUtil.java

@@ -0,0 +1,182 @@
+package com.sckw.freight.util;
+
+/**
+ * @BelongsProject: Freight-Settlement-Backend
+ * @BelongsPackage: com.sckw.freight.util
+ * @Author: xj
+ * @CreateTime: 2025-01-10  13:02
+ * @Description: TODO
+ * @Version: 1.0
+ */
+import org.apache.commons.lang3.RandomUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.text.MessageFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.concurrent.atomic.AtomicLong;
+
+public class SnowflakeIdUtil {
+    private static Logger logger = LoggerFactory.getLogger(SnowflakeIdUtil.class.getName());
+    /** 业务系统上线的时间 2024-10-01 0:0:0,41位最多可以表示约69.7年 */
+    private static final long twepoch = 1727712000000L;
+    /** 毫秒内序列 */
+    private long sequence = 0L;
+    /** 机器ID */
+    private int workerId;
+    /** 上次生成ID的时间戳 */
+    private long lastTimestamp = -1L;
+    private volatile static SnowflakeIdUtil instance = null;
+
+    public void setWorkerId(int workerId) {
+        if (workerId > 1023 || workerId < 0)
+            throw new IllegalArgumentException("workerId must be between 0 and 1023");
+        this.workerId = workerId;
+    }
+
+
+    /**
+     * SnowflakeIdUtil 类的构造函数
+     *
+     * @throws IllegalArgumentException 如果传入的 workerId 或 datacenterId 不在 0 到 31 的范围内,则抛出此异常
+     */
+    private SnowflakeIdUtil() {
+        workerId = getWorkId();
+    }
+
+
+    /**
+     * 获取 SnowflakeIdUtil 的单例对象。
+     * 此方法首先获取工作机器ID和数据中心ID,然后使用这两个ID调用另一个 getInstance 方法来获取 SnowflakeIdUtil 的单例对象。
+     * @return 返回 SnowflakeIdUtil 的单例对象。
+     */
+    public static SnowflakeIdUtil getInstance() {
+        if (instance == null) {
+            synchronized (SnowflakeIdUtil.class) {
+                if (instance == null) {
+                    instance = new SnowflakeIdUtil();
+                }
+            }
+        }
+        return instance;
+    }
+
+    /**
+     * workId使用IP生成
+     * @return workId
+     */
+    private int getWorkId() {
+        try {
+            String hostAddress = InetAddress.getLocalHost().getHostAddress();
+            int[] ints = StringUtils.toCodePoints(hostAddress);
+            int sums = 0;
+            for (int b : ints) {
+                sums = sums + b;
+            }
+            return (sums % 1024);
+        } catch (UnknownHostException ex) {
+            ex.printStackTrace();
+            // 失败就随机生成
+            return RandomUtils.nextInt(0, 1024);
+        }
+    }
+
+    public String nextStringId(){
+       return String.valueOf( nextId());
+    }
+    /**
+     * 生成下一个唯一的ID
+     *
+     * @return 下一个唯一的ID
+     * @throws RuntimeException 如果系统时钟回退,则抛出RuntimeException异常
+     */
+    public synchronized long nextId() {
+        long now = getTimestamp(); // 获取时间戳
+        // 时钟回退处理:如果当前时间小于上一次ID生成的时间戳
+        if (now < lastTimestamp) {
+            //最多支持1.5秒以内的回拨(1500毫秒),否则抛出异常
+            long offset = lastTimestamp - now;
+            if(offset<=1500) {
+                try {
+                    offset = offset<<2;//等待2两倍的时间
+                    Thread.sleep(offset);
+                    now = getTimestamp();
+                    //还是小,抛异常
+                    if (now < lastTimestamp) {
+                        throw new RuntimeException(String.format("时钟回拨,无法生成ID %d milliseconds", lastTimestamp - now));
+                    }
+                } catch (InterruptedException e) {
+                    throw new RuntimeException(e);
+                }
+            }
+        }
+        // 如果是同一时间生成的,则进行毫秒内序列
+        if (lastTimestamp == now) {
+            //毫秒级顺序号,使用掩码4095取低12位的数,限制自增取值在1~4095之间,(掩码4095表示二进制12位均为1的值,即:1111 1111 1111)
+            sequence = (sequence + 1) & 4095;
+            //溢出
+            if (sequence == 0) {
+                //毫秒内序列溢出,等待到下一毫秒再继续
+                now = getNextMillis(now);
+            }
+        } else {
+            //置0之前,序列号在同一时间并发后自增到这里说明时间不同了,版本号所以置0
+            sequence = 0;
+        }
+        lastTimestamp = now;
+        /*
+         * 长度64位,其中:
+         * 1位符号位,0正数,1负数
+         * 41位毫秒级时间戳,41111111111111111111111111111
+         * 10位机器ID,11 1111 1111
+         * 12位序列号,1111 1111 1111
+         * */
+        long id = ((now - twepoch) << 22) | (workerId << 12) | sequence;
+        return id;
+    }
+
+    /**
+     * 将长整型ID解码为字符串格式
+     *
+     * @param id 需要解码的长整型ID
+     * @return 解码后的字符串,格式为"时间戳\t序列号\t工作机ID\t中心ID"
+     */
+    public static String idDecode(long id) {
+        long sequence = id & 4095; //取低12位的数
+        long workerId = (id >> 10) & 1023;//左移后取低10位的数
+        long time = (id >> 22); //左移后取低41位的数
+        return MessageFormat.format("time:{0,number,#}\treq:{1}\twid:{2}\t{3}"
+                , time
+                , sequence
+                , workerId
+                , getDataTime(time));
+    }
+
+    private static String getDataTime(long timeInterval) {
+        var timestamp = twepoch+timeInterval;
+        var date = new Date(timestamp);
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
+        var dtStr = format.format(date);
+        return dtStr;
+    }
+
+
+    protected long getTimestamp() {
+        return System.currentTimeMillis();
+    }
+
+    // 等待下一个毫秒,直到获得新的时间戳
+    protected long getNextMillis(long lastTimestamp) {
+        //logger.info("wait until next millis : "+lastTimestamp);
+        long timestamp = getTimestamp();
+        while (timestamp <= lastTimestamp) {
+            timestamp = getTimestamp();
+        }
+        return timestamp;
+    }
+}
+

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

@@ -5,13 +5,19 @@ 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.230: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.230
@@ -35,3 +41,22 @@ logging:
 mybatis-plus:
   configuration:
     log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+
+# 生产环境不需要配置
+# springdoc-openapi项目配置
+springdoc:
+  swagger-ui:
+    path: /swagger-ui.html
+    tags-sorter: alpha
+    operations-sorter: alpha
+  api-docs:
+    path: /v3/api-docs
+  group-configs:
+    - group: 'default'
+      paths-to-match: '/**'
+      packages-to-scan: com.sckw.freight.controller
+# knife4j的增强配置,不需要增强可以不配
+knife4j:
+  enable: true
+  setting:
+    language: zh_cn

+ 5 - 0
src/main/resources/com/sckw/freight/mapper/freight/ILedgerSettlementService.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!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.KwpSettlementLogisticsTrackMapper">
+
+</mapper>

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

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!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">
+
+</mapper>

+ 5 - 0
src/main/resources/com/sckw/freight/mapper/freight/KwpLedgerLogisticsOrderMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!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.KwpLedgerLogisticsOrderMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/com/sckw/freight/mapper/freight/KwpLedgerLogisticsTrackMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!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.KwpLedgerLogisticsTrackMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/com/sckw/freight/mapper/freight/KwpLedgerLogisticsUnitMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!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.KwpLedgerLogisticsUnitMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/com/sckw/freight/mapper/freight/KwpSettlementLogisticsMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!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.KwpSettlementLogisticsMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/com/sckw/freight/mapper/freight/KwpSettlementRecordMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!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.KwpSettlementRecordMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/com/sckw/freight/mapper/kll/KllOrderMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sckw.freight.mapper.kll.KllOrderMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/com/sckw/freight/mapper/kll/KllOrderProductMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sckw.freight.mapper.kll.KllOrderProductMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/com/sckw/freight/mapper/kll/KllOrderTaskMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sckw.freight.mapper.kll.KllOrderTaskMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/com/sckw/freight/mapper/kll/KllOrderTruckMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sckw.freight.mapper.kll.KllOrderTruckMapper">
+
+</mapper>