Bladeren bron

Merge branch 'dev' into dev-xcq

xucaiqin 2 jaren geleden
bovenliggende
commit
9462778c79
100 gewijzigde bestanden met toevoegingen van 4197 en 32 verwijderingen
  1. 2 2
      sckw-auth/src/main/java/com/sckw/auth/model/vo/req/UpdatePasswordReqVo.java
  2. 18 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/enums/DictEnum.java
  3. 9 1
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/enums/DictTypeEnum.java
  4. 25 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/config/JacksonConfig.java
  5. 37 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/ChargingTypeEnum.java
  6. 39 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/ContractStatusEnum.java
  7. 38 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/ContractTrackEnum.java
  8. 2 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/CooperateStatusEnum.java
  9. 35 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/SigningWayEnum.java
  10. 11 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/page/PageHelperUtil.java
  11. 3 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/constant/HttpStatus.java
  12. 1 1
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/model/LoginUserInfo.java
  13. 2 1
      sckw-common/sckw-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  14. 2 2
      sckw-common/sckw-common-mongo/src/main/java/com/sckw/mongo/model/SckwTradeOrder.java
  15. 50 0
      sckw-common/sckw-common-mongo/src/main/java/com/sckw/mongo/model/SckwWaybillOrder.java
  16. 206 0
      sckw-common/sckw-common-mongo/src/main/java/com/sckw/mongo/model/TradeOrderUpdateParam.java
  17. 1 1
      sckw-common/sckw-common-stream/src/main/java/com/sckw/stream/model/SckwBusSum.java
  18. 7 0
      sckw-modules-api/pom.xml
  19. 25 0
      sckw-modules-api/sckw-fleet-api/pom.xml
  20. 29 0
      sckw-modules-api/sckw-fleet-api/src/main/java/com/sckw/fleet/api/RemoteFleetService.java
  21. 49 0
      sckw-modules-api/sckw-fleet-api/src/main/java/com/sckw/fleet/api/model/vo/RDriverVo.java
  22. 54 0
      sckw-modules-api/sckw-fleet-api/src/main/java/com/sckw/fleet/api/model/vo/RTruckVo.java
  23. 6 0
      sckw-modules-api/sckw-modules-bom/pom.xml
  24. 10 0
      sckw-modules-api/sckw-product-api/src/main/java/com/sckw/product/api/model/GoodsDetail.java
  25. 28 0
      sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/RemoteSystemService.java
  26. 5 0
      sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/req/UpdatePasswordReqDto.java
  27. 16 0
      sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/res/EntCacheResDto.java
  28. 16 0
      sckw-modules-api/sckw-transport-api/pom.xml
  29. 17 2
      sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/dubbo/TransportDubboService.java
  30. 180 0
      sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/dto/vo/KwtLogisticsOrderVO.java
  31. 85 0
      sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/dto/vo/LogisticsOrderDTO.java
  32. 4 4
      sckw-modules/sckw-contract/pom.xml
  33. 146 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcCheckedController.java
  34. 15 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcContractTradeController.java
  35. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractLogisticsGoodsMapper.java
  36. 32 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractLogisticsMapper.java
  37. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractLogisticsTrackMapper.java
  38. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractLogisticsUnitMapper.java
  39. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTemplateMapper.java
  40. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeGoodsMapper.java
  41. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeMapper.java
  42. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeOrderMapper.java
  43. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeTrackMapper.java
  44. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeUnitMapper.java
  45. 128 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractLogistics.java
  46. 113 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractLogisticsGoods.java
  47. 67 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractLogisticsTrack.java
  48. 92 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractLogisticsUnit.java
  49. 78 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTemplate.java
  50. 123 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTrade.java
  51. 93 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTradeGoods.java
  52. 73 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTradeOrder.java
  53. 63 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTradeTrack.java
  54. 92 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTradeUnit.java
  55. 54 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/ContractLogisticsReqVo.java
  56. 26 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/IdReqVo.java
  57. 26 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/IdsReqVo.java
  58. 80 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/LogisticsBaseInfoReqVo.java
  59. 62 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/LogisticsGoodsInfoReqVo.java
  60. 48 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/QueryListReqVo.java
  61. 45 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/res/ContractLogisticsDetailResVo.java
  62. 65 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/res/LogisticsBaseInfoResVo.java
  63. 61 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/res/LogisticsGoodsInfoResVo.java
  64. 114 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/res/QueryListResVo.java
  65. 27 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/CommonBusinessService.java
  66. 100 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsGoodsService.java
  67. 399 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsService.java
  68. 54 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsTrackService.java
  69. 117 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsUnitService.java
  70. 17 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTemplateService.java
  71. 18 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeGoodsService.java
  72. 17 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeOrderService.java
  73. 17 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeService.java
  74. 17 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeTrackService.java
  75. 17 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeUnitService.java
  76. 38 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsGoodsMapper.xml
  77. 66 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsMapper.xml
  78. 26 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsTrackMapper.xml
  79. 32 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsUnitMapper.xml
  80. 28 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTemplateMapper.xml
  81. 32 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeGoodsMapper.xml
  82. 40 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeMapper.xml
  83. 27 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeOrderMapper.xml
  84. 24 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeTrackMapper.xml
  85. 32 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeUnitMapper.xml
  86. 5 0
      sckw-modules/sckw-fleet/pom.xml
  87. 0 3
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/controller/KwfFleetController.java
  88. 5 4
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/controller/KwfTruckController.java
  89. 6 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/dao/KwfFleetDriverMapper.java
  90. 7 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/dao/KwfFleetTruckMapper.java
  91. 24 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/dao/KwfTruckReportMapper.java
  92. 93 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/dubbo/RemoteFleetServiceImpl.java
  93. 5 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/KwfFleetDriver.java
  94. 7 2
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/KwfFleetTruck.java
  95. 3 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/KwfTransportLicense.java
  96. 1 1
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/KwfTruckReport.java
  97. 2 2
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfDriverDto.java
  98. 2 2
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfTransportLicenseDto.java
  99. 2 2
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfTruckDto.java
  100. 2 2
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfTruckLicenseDto.java

+ 2 - 2
sckw-auth/src/main/java/com/sckw/auth/model/vo/req/UpdatePasswordReqVo.java

@@ -21,8 +21,8 @@ public class UpdatePasswordReqVo implements Serializable {
     /**
     /**
      * 账号
      * 账号
      */
      */
-    @NotBlank(message = "账号不能为空")
-    private String account;
+    @NotNull(message = "id不能为空")
+    private Long id;
 
 
     /**
     /**
      * 旧密码
      * 旧密码

+ 18 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/enums/DictEnum.java

@@ -3,6 +3,10 @@ package com.sckw.core.common.enums.enums;
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.Getter;
 
 
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.List;
+
 /**
 /**
  * @author lfdc
  * @author lfdc
  * @description 枚举字典
  * @description 枚举字典
@@ -17,9 +21,14 @@ public enum DictEnum {
     UNIT_TYPE_1("unit_type","1", "方"),
     UNIT_TYPE_1("unit_type","1", "方"),
     UNIT_TYPE_2("unit_type","2", "箱"),
     UNIT_TYPE_2("unit_type","2", "箱"),
     UNIT_TYPE_3("unit_type","3", "件"),
     UNIT_TYPE_3("unit_type","3", "件"),
+    UNIT_TYPE_4("unit_type","4", "其他"),
+    TAX_RATE_0("tax_rate","13.00", "13%"),
+    TAX_RATE_1("tax_rate","11.00", "11%"),
+    TAX_RATE_2("tax_rate","10.00", "10%"),
     TRADE_TYPE_0("trade_type", "0", "预付款"),
     TRADE_TYPE_0("trade_type", "0", "预付款"),
     TRADE_TYPE_1("trade_type", "1", "货到付款"),
     TRADE_TYPE_1("trade_type", "1", "货到付款"),
     TRADE_TYPE_2("trade_type", "2", "线下付款"),
     TRADE_TYPE_2("trade_type", "2", "线下付款"),
+    TRADE_TYPE_3("trade_type", "3", "第三方支付"),
     PICKUP_TYPE_0("pickup_type", "0", "供应配送"),
     PICKUP_TYPE_0("pickup_type", "0", "供应配送"),
     PICKUP_TYPE_1("pickup_type", "1", "采方自提"),
     PICKUP_TYPE_1("pickup_type", "1", "采方自提"),
     DELIVERY_TYPE_0("delivery_type", "0", "签发交付"),
     DELIVERY_TYPE_0("delivery_type", "0", "签发交付"),
@@ -60,5 +69,14 @@ public enum DictEnum {
         }
         }
         return null;
         return null;
     }
     }
+    public static List<DictEnum> getEnumsByType(String type) {
+        List<DictEnum> list = new ArrayList<>();
+        for (DictEnum dict : DictEnum.values()) {
+            if (dict.getType().equals(type) ) {
+                list.add(dict);
+            }
+        }
+        return list.stream().sorted(Comparator.comparing(DictEnum::getValue)).toList();
+    }
 
 
 }
 }

+ 9 - 1
sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/enums/DictTypeEnum.java

@@ -12,6 +12,8 @@ import lombok.Getter;
 @AllArgsConstructor
 @AllArgsConstructor
 public enum DictTypeEnum {
 public enum DictTypeEnum {
     INTEGRAL_TYPE("integral_type", "积分类型"),
     INTEGRAL_TYPE("integral_type", "积分类型"),
+    UNIT_TYPE("unit_type", "商品单位类型"),
+    TAX_RATE("tax_rate", "商品税率"),
     PRICE_TYPE("price_type", "运价方式"),
     PRICE_TYPE("price_type", "运价方式"),
     TRADE_TYPE("trade_type", "交易方式"),
     TRADE_TYPE("trade_type", "交易方式"),
     PICKUP_TYPE("pickup_type", "提货方式"),
     PICKUP_TYPE("pickup_type", "提货方式"),
@@ -26,7 +28,13 @@ public enum DictTypeEnum {
     CLASSIFICATION_TYPE("classification_type", "分类类型"),
     CLASSIFICATION_TYPE("classification_type", "分类类型"),
     CATEGORY_TYPE("category_type", "类别类型"),
     CATEGORY_TYPE("category_type", "类别类型"),
     PRODUCT_NAME_TYPE("product_name_type", "品名类型"),
     PRODUCT_NAME_TYPE("product_name_type", "品名类型"),
-    GOODS_STATUS("goods_status", "商品状态");
+    GOODS_STATUS("goods_status", "商品状态"),
+    CHARGING_TYPE("charging_type", "计费方式") ,
+    COLOR_TYPE("color_type", "车辆颜色"),
+    ENERGY_TYPE("energy_type", "能源类型"),
+    TRUCK_TYPE("truck_type", "车辆类型"),
+    USE_TYPE("use_type", "使用性质");
+
     private final String type;
     private final String type;
     private final String name;
     private final String name;
 
 

+ 25 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/config/JacksonConfig.java

@@ -0,0 +1,25 @@
+package com.sckw.core.config;
+
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.math.BigInteger;
+
+/**
+ * @desc: Jackson全局转化long类型为String,解决jackson序列化时传入前端Long类型缺失精度问题(js解析只能解析到16位)
+ * @author: yzc
+ * @date: 2023-07-17 11:19
+ */
+@Configuration
+public class JacksonConfig {
+    @Bean
+    public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
+        return jacksonObjectMapperBuilder -> {
+            jacksonObjectMapperBuilder.serializerByType(BigInteger.class, ToStringSerializer.instance);
+            jacksonObjectMapperBuilder.serializerByType(Long.class, ToStringSerializer.instance);
+            jacksonObjectMapperBuilder.serializerByType(Long.TYPE, ToStringSerializer.instance);
+        };
+    }
+}

+ 37 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/ChargingTypeEnum.java

@@ -0,0 +1,37 @@
+package com.sckw.core.model.enums;
+
+import lombok.Getter;
+
+/**
+ * @author czh
+ * @desc 计费方式枚举
+ * @date 2023/7/14
+ */
+@Getter
+public enum ChargingTypeEnum {
+
+    //装货量
+    ON(1, "装货量"),
+    //卸货量
+    OFF(2, "卸货量"),
+    //车次
+    CAR(3, "车次");
+
+    private final int code;
+
+    private final String name;
+
+    ChargingTypeEnum(int code, String name){
+        this.code = code;
+        this.name = name;
+    }
+
+    public static ChargingTypeEnum getName(int code){
+        for (ChargingTypeEnum chargingTypeEnum : values()) {
+            if (chargingTypeEnum.getCode() == code) {
+                return chargingTypeEnum;
+            }
+        }
+        return null;
+    }
+}

+ 39 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/ContractStatusEnum.java

@@ -0,0 +1,39 @@
+package com.sckw.core.model.enums;
+
+import lombok.Getter;
+
+/**
+ * @author czh
+ * @desc 合同状态
+ * @date 2023/7/14
+ */
+@Getter
+public enum ContractStatusEnum {
+    //已签约
+    SIGNED(0, "已签约"),
+    //已完结
+    COMPLETE(1, "已完结"),
+    //已保存
+    SAVE(2, "已保存"),
+    //签约中
+    SUBMIT(3, "签约中");
+
+    private final int code;
+
+    private final String name;
+
+    ContractStatusEnum(int code, String name) {
+        this.code = code;
+        this.name = name;
+    }
+
+    public static ContractStatusEnum getName(int code) {
+        for (ContractStatusEnum contractTrackEnum : values()) {
+            if (contractTrackEnum.getCode() == code) {
+                return contractTrackEnum;
+            }
+        }
+        return null;
+    }
+
+}

+ 38 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/ContractTrackEnum.java

@@ -0,0 +1,38 @@
+package com.sckw.core.model.enums;
+
+import lombok.Getter;
+
+/**
+ * @author czh
+ * @desc 合同审批状态
+ * @date 2023/7/14
+ */
+@Getter
+public enum ContractTrackEnum {
+
+    //审批中
+    APPROVAL(1, "审批中"),
+    //签约中
+    SIGNING(2, "签约中"),
+    //履约中
+    PERFORMANCE(3, "履约中");
+
+    private final int code;
+
+    private final String name;
+
+    ContractTrackEnum(int code, String name){
+        this.code = code;
+        this.name = name;
+    }
+
+    public static ContractTrackEnum getName(int code){
+        for (ContractTrackEnum contractTrackEnum : values()) {
+            if (contractTrackEnum.getCode() == code) {
+                return contractTrackEnum;
+            }
+        }
+        return null;
+    }
+
+}

+ 2 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/CooperateStatusEnum.java

@@ -2,6 +2,8 @@ package com.sckw.core.model.enums;
 
 
 import lombok.Getter;
 import lombok.Getter;
 
 
+import java.util.Map;
+
 /**
 /**
  * @author czh
  * @author czh
  * @desc 合作状态
  * @desc 合作状态

+ 35 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/SigningWayEnum.java

@@ -0,0 +1,35 @@
+package com.sckw.core.model.enums;
+
+import lombok.Getter;
+
+/**
+ * @author czh
+ * @desc 签约方式
+ * @date 2023/7/14
+ */
+@Getter
+public enum SigningWayEnum {
+
+    //线上签约
+    ONLINE(1, "线上签约"),
+    //线下签约
+    OFFLINE(2, "线下签约");
+
+    private final int code;
+
+    private final String name;
+
+    SigningWayEnum(int code, String name){
+        this.code = code;
+        this.name = name;
+    }
+
+    public static SigningWayEnum getName(int code){
+        for (SigningWayEnum signingWayEnum : values()) {
+            if (signingWayEnum.getCode() == code) {
+                return signingWayEnum;
+            }
+        }
+        return null;
+    }
+}

+ 11 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/page/PageHelperUtil.java

@@ -57,6 +57,17 @@ public class PageHelperUtil {
         return setPageResult(pageInfo);
         return setPageResult(pageInfo);
     }
     }
 
 
+    /**
+     * 将分页信息封装到统一的接口  针对于有复杂的业务组装接口
+     * @return PageResult
+     */
+    public static PageResult getPageResult(PageInfo<?> pageInfo, List<?> totalList, int pageSize) {
+        PageInfo<?> pageInfoTotal = new PageInfo<>(totalList);
+        pageInfo.setTotal(pageInfoTotal.getTotal());
+        pageInfo.setPageSize(pageSize);
+        return setPageResult(pageInfo);
+    }
+
     public static PageResult setPageResult(PageInfo<?> pageInfo){
     public static PageResult setPageResult(PageInfo<?> pageInfo){
         PageResult pageResult = new PageResult();
         PageResult pageResult = new PageResult();
         pageResult.setPage(pageInfo.getPageNum());
         pageResult.setPage(pageInfo.getPageNum());

+ 3 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/constant/HttpStatus.java

@@ -128,6 +128,7 @@ public class HttpStatus {
     public static final String COOPERATE_ATTRIBUTE_NOT_EXISTS = "未查询到已有的合作属性";
     public static final String COOPERATE_ATTRIBUTE_NOT_EXISTS = "未查询到已有的合作属性";
     public static final String COOPERATE_NOT_EXISTS = "未查询到合作记录或已失效";
     public static final String COOPERATE_NOT_EXISTS = "未查询到合作记录或已失效";
     public static final String ADDRESS_NOT_EXISTS = "未查询到地址记录或已失效";
     public static final String ADDRESS_NOT_EXISTS = "未查询到地址记录或已失效";
+    public static final String CONTRACT_NOT_EXISTS = "未查询到合同或已失效";
 
 
     /**自定义提示消息*/
     /**自定义提示消息*/
     public static final String PASSWD_ERROR = "密码不正确";
     public static final String PASSWD_ERROR = "密码不正确";
@@ -154,4 +155,6 @@ public class HttpStatus {
     public static final String MSG_019 = "只能操作正在审核中的记录!";
     public static final String MSG_019 = "只能操作正在审核中的记录!";
     public static final String MSG_020 = "当前机构还存在员工数据,不能删除!";
     public static final String MSG_020 = "当前机构还存在员工数据,不能删除!";
     public static final String MSG_021 = "不能重复设置默认地址!";
     public static final String MSG_021 = "不能重复设置默认地址!";
+    public static final String MSG_022 = "只能对草稿进行删除!";
+
 }
 }

+ 1 - 1
sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/model/LoginUserInfo.java

@@ -36,7 +36,7 @@ public class LoginUserInfo {
     /**
     /**
      *用户账号状态(0正常/1锁定)
      *用户账号状态(0正常/1锁定)
      */
      */
-    private int status;
+    private Integer status;
     /**
     /**
      * 用户所属企业id
      * 用户所属企业id
      */
      */

+ 2 - 1
sckw-common/sckw-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@@ -3,4 +3,5 @@ com.sckw.core.exception.GlobalSystemExceptionHandler
 com.sckw.core.web.config.CustomConfig
 com.sckw.core.web.config.CustomConfig
 com.sckw.core.filter.LoginFilter
 com.sckw.core.filter.LoginFilter
 #com.sckw.core.filter.ExceptionFilterConfig
 #com.sckw.core.filter.ExceptionFilterConfig
-com.sckw.core.config.MybatisPlusConfig
+com.sckw.core.config.MybatisPlusConfig
+com.sckw.core.config.JacksonConfig

+ 2 - 2
sckw-common/sckw-common-mongo/src/main/java/com/sckw/mongo/model/SckwTradeOrder.java

@@ -251,7 +251,7 @@ public class SckwTradeOrder {
     /**
     /**
      * 装货所在地区
      * 装货所在地区
      */
      */
-    private Integer loadCityCode;
+    private String loadCityCode;
 
 
     /**
     /**
      * 装货所属区域名称
      * 装货所属区域名称
@@ -296,7 +296,7 @@ public class SckwTradeOrder {
     /**
     /**
      * 卸货所在地区
      * 卸货所在地区
      */
      */
-    private Integer unloadCityCode;
+    private String unloadCityCode;
 
 
     /**
     /**
      * 卸货所属区域名称
      * 卸货所属区域名称

+ 50 - 0
sckw-common/sckw-common-mongo/src/main/java/com/sckw/mongo/model/SckwWaybillOrder.java

@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
 import lombok.experimental.Accessors;
 import org.springframework.data.annotation.Id;
 import org.springframework.data.annotation.Id;
 import org.springframework.data.mongodb.core.mapping.Document;
 import org.springframework.data.mongodb.core.mapping.Document;
+
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.Date;
 
 
@@ -368,5 +369,54 @@ public class SckwWaybillOrder{
      */
      */
     private Integer delFlag;
     private Integer delFlag;
 
 
+    /**
+     * 单据状态
+     */
+    private String status;
+
+    /**
+     * 循环/趟次
+     */
+    private String type;
+
+    /**
+     * 车队id
+     */
+    private String fleetId;
+    /**
+     * 车队姓名
+     */
+    private String fleetName;
+
+    /**
+     * 派车时间-创建时间
+     */
+    private Date sendCarTime;
+    /**
+     * 启送时间
+     */
+    private Date startTime;
+    /**
+     * 结束时间
+     */
+    private Date endTime;
+
+    /**
+     * 装货区域
+     */
+    private String loadingCity;
+    /**
+     * 装货详细地址
+     */
+    private String loadingAddress;
+
+    /**
+     * 卸货区域
+     */
+    private String unloadingCity;
+    /**
+     * 卸货详细地址
+     */
+    private String unloadingAddress;
 
 
 }
 }

+ 206 - 0
sckw-common/sckw-common-mongo/src/main/java/com/sckw/mongo/model/TradeOrderUpdateParam.java

@@ -0,0 +1,206 @@
+package com.sckw.mongo.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+import org.springframework.util.StringUtils;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.util.Date;
+import java.util.Objects;
+
+/**
+ * @author zk
+ * @desc MongoDB-交易订单信息
+ * @date 2023/7/8
+ */
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class TradeOrderUpdateParam {
+
+    /**
+     * 订单主键
+     */
+    private Long tOrderId;
+
+    /**
+     * 订单成交数量
+     */
+    private BigDecimal amount;
+
+    /**
+     * 订单成交单价
+     */
+    private BigDecimal unitPrice;
+
+    /**
+     * 订单金额
+     */
+    private BigDecimal price;
+
+    /**
+     * 订单开始日期
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private LocalDate startTime;
+
+    /**
+     * 订单结束日期
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private LocalDate endTime;
+
+    /**
+     * 订单交易方式(预付款、货到付款)
+     */
+    private String trading;
+
+    /**
+     * 订单提货方式(采方自提、供应配送)
+     */
+    private String pickupType;
+
+    /**
+     * 订单交付类型(签发交付、签收交付)
+     */
+    private String deliveryType;
+
+    /**
+     * 订单已委托量
+     */
+    private BigDecimal entrustAmount;
+
+    /**
+     * 订单实际交付量
+     */
+    private BigDecimal actualAmount;
+
+    /**
+     * 状态
+     */
+    private Integer status;
+
+    /**
+     * 订单备注
+     */
+    private String remark;
+
+    /**
+     * 合同主键
+     */
+    private Long contractId;
+
+    /**
+     * 合同编号
+     */
+    private String contractNo;
+
+    /**
+     * 合同mc
+     */
+    private String contractName;
+
+    /**
+     * 合同签约方式
+     */
+    private String contractSigningWay;
+
+    /**
+     * 更新人主键id
+     */
+    private Long updateBy;
+
+    /**
+     * 更新人姓名
+     */
+    private String updateByName;
+
+    /**
+     * 更新时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+    /**
+     * @desc: 参数转换
+     * @author: yzc
+     * @date: 2023-07-17 9:16
+     * @Param param:
+     * @Param order:
+     * @return: com.sckw.mongo.model.SckwTradeOrder
+     */
+    public void convertSckwTradeOrder(TradeOrderUpdateParam param, SckwTradeOrder order) {
+        if (Objects.nonNull(param.getAmount())) {
+            order.setAmount(param.getAmount());
+        }
+        if (Objects.nonNull(param.getUnitPrice())) {
+            order.setUnitPrice(param.getUnitPrice());
+        }
+        if (Objects.nonNull(param.getPrice())) {
+            order.setPrice(param.getPrice());
+        }
+        if (Objects.nonNull(param.getStartTime())) {
+            order.setStartTime(param.getStartTime());
+        }
+        if (Objects.nonNull(param.getEndTime())) {
+            order.setEndTime(param.getEndTime());
+        }
+        if (StringUtils.hasText(param.getTrading())) {
+            order.setTrading(param.getTrading());
+        }
+        if (StringUtils.hasText(param.getPickupType())) {
+            order.setPickupType(param.getPickupType());
+        }
+        if (StringUtils.hasText(param.getDeliveryType())) {
+            order.setDeliveryType(param.getDeliveryType());
+        }
+        if (Objects.nonNull(param.getEntrustAmount())) {
+            order.setEntrustAmount(param.getEntrustAmount());
+        }
+        if (Objects.nonNull(param.getActualAmount())) {
+            order.setActualAmount(param.getActualAmount());
+        }
+        if (Objects.nonNull(param.getStatus())) {
+            order.setStatus(param.getStatus());
+        }
+        if (StringUtils.hasText(param.getRemark())) {
+            order.setRemark(param.getRemark());
+        }
+        if (Objects.nonNull(param.getContractId())) {
+            order.setContractId(param.getContractId());
+        }
+        if (StringUtils.hasText(param.getContractNo())) {
+            order.setContractNo(param.getContractNo());
+        }
+        if (StringUtils.hasText(param.getContractName())) {
+            order.setContractName(param.getContractName());
+        }
+        if (StringUtils.hasText(param.getContractSigningWay())) {
+            order.setContractSigningWay(param.getContractSigningWay());
+        }
+        if (Objects.nonNull(param.getUpdateBy())) {
+            order.setUpdateBy(param.getUpdateBy());
+        }
+        if (StringUtils.hasText(param.getUpdateByName())) {
+            order.setUpdateByName(param.getUpdateByName());
+        }
+        if (Objects.nonNull(param.getUpdateTime())) {
+            order.setUpdateTime(param.getUpdateTime());
+        }
+        if (Objects.nonNull(param.getDelFlag())) {
+            order.setDelFlag(param.getDelFlag());
+        }
+    }
+
+}

+ 1 - 1
sckw-common/sckw-common-stream/src/main/java/com/sckw/stream/model/SckwBusSum.java

@@ -22,7 +22,7 @@ public class SckwBusSum {
     private String busSumType;
     private String busSumType;
 
 
     /**
     /**
-     * 操作对象(1新增/2修改
+     * 操作对象(1新增/2全量更新/3部分更新
      */
      */
     private Integer method;
     private Integer method;
 
 

+ 7 - 0
sckw-modules-api/pom.xml

@@ -7,6 +7,12 @@
         <groupId>com.sckw</groupId>
         <groupId>com.sckw</groupId>
         <version>1.0.0</version>
         <version>1.0.0</version>
     </parent>
     </parent>
+    <dependencies>
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-common-core</artifactId>
+        </dependency>
+    </dependencies>
     <modelVersion>4.0.0</modelVersion>
     <modelVersion>4.0.0</modelVersion>
 
 
     <artifactId>sckw-modules-api</artifactId>
     <artifactId>sckw-modules-api</artifactId>
@@ -19,6 +25,7 @@
         <module>sckw-transport-api</module>
         <module>sckw-transport-api</module>
         <module>sckw-product-api</module>
         <module>sckw-product-api</module>
         <module>sckw-order-api</module>
         <module>sckw-order-api</module>
+        <module>sckw-fleet-api</module>
     </modules>
     </modules>
 
 
     <properties>
     <properties>

+ 25 - 0
sckw-modules-api/sckw-fleet-api/pom.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>sckw-modules-api</artifactId>
+        <groupId>com.sckw</groupId>
+        <version>1.0.0</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>sckw-fleet-api</artifactId>
+
+    <properties>
+        <maven.compiler.source>17</maven.compiler.source>
+        <maven.compiler.target>17</maven.compiler.target>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+    </dependencies>
+</project>

+ 29 - 0
sckw-modules-api/sckw-fleet-api/src/main/java/com/sckw/fleet/api/RemoteFleetService.java

@@ -0,0 +1,29 @@
+package com.sckw.fleet.api;
+
+import com.sckw.fleet.api.model.vo.RDriverVo;
+import com.sckw.fleet.api.model.vo.RTruckVo;
+import java.util.Map;
+
+/**
+ * @author zk
+ * @desc 车队服务
+ * @date 2023/7/18 0018
+ */
+public interface RemoteFleetService {
+
+    /**
+     * @param driverIds 司机档案主键id,多个已逗号隔开
+     * @desc 查询司机信息
+     * @author zk
+     * @date 2023/7/18
+     **/
+    Map<Long, RDriverVo> findDriver(String driverIds);
+
+    /**
+     * @param truckNos 车牌号,多个已逗号隔开
+     * @desc 查询车辆信息
+     * @author zk
+     * @date 2023/7/18
+     **/
+    Map<Long, RTruckVo> findTruck(String truckNos);
+}

+ 49 - 0
sckw-modules-api/sckw-fleet-api/src/main/java/com/sckw/fleet/api/model/vo/RDriverVo.java

@@ -0,0 +1,49 @@
+package com.sckw.fleet.api.model.vo;
+
+import lombok.Data;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @author zk
+ * @desc 司机
+ * @date 2023/7/17 0017
+ */
+@Data
+public class RDriverVo implements Serializable {
+
+    /**
+     * 司机档案主键id
+     */
+    private Long id;
+
+    /**
+     * 司机姓名
+     */
+    private String name;
+
+    /**
+     * 司机手机号
+     */
+    private String phone;
+
+    /**
+     * 身份证号
+     */
+    private String idcard;
+
+    /**
+     * 总运单完成量
+     */
+    private Integer totalComplete;
+
+    /**
+     * 总运单接单量
+     */
+    private Integer totalTake;
+
+    /**
+     * 总运量(净重)
+     */
+    private BigDecimal totalWeight;
+}

+ 54 - 0
sckw-modules-api/sckw-fleet-api/src/main/java/com/sckw/fleet/api/model/vo/RTruckVo.java

@@ -0,0 +1,54 @@
+package com.sckw.fleet.api.model.vo;
+
+import lombok.Data;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @author zk
+ * @desc 车辆档案
+ * @date 2023/7/17 0017
+ */
+@Data
+public class RTruckVo implements Serializable {
+
+    /**
+     * 车辆档案主键id
+     */
+    private Long id;
+
+    /**
+     * 车牌号
+     */
+    private String truckNo;
+
+    /**
+     * 核定载质量/吨
+     */
+    private Double actualWeight;
+
+    /**
+     * 挂车号
+     */
+    private String trailerNo;
+
+    /**
+     * 总运单完成量
+     */
+    private Integer totalComplete;
+
+    /**
+     * 总运单接单量
+     */
+    private Integer totalTake;
+
+    /**
+     * 总运量(净重)
+     */
+    private BigDecimal totalWeight;
+
+    /**
+     * 车辆业务状态
+     */
+    private Integer businessStatus;
+}

+ 6 - 0
sckw-modules-api/sckw-modules-bom/pom.xml

@@ -34,6 +34,12 @@
                 <artifactId>sckw-message-api</artifactId>
                 <artifactId>sckw-message-api</artifactId>
                 <version>${project.version}</version>
                 <version>${project.version}</version>
             </dependency>
             </dependency>
+
+            <dependency>
+                <groupId>com.sckw</groupId>
+                <artifactId>sckw-fleet-api</artifactId>
+                <version>${project.version}</version>
+            </dependency>
         </dependencies>
         </dependencies>
     </dependencyManagement>
     </dependencyManagement>
 </project>
 </project>

+ 10 - 0
sckw-modules-api/sckw-product-api/src/main/java/com/sckw/product/api/model/GoodsDetail.java

@@ -76,6 +76,11 @@ public class GoodsDetail {
      */
      */
     private String unit;
     private String unit;
 
 
+    /**
+     * 单位lab
+     */
+    private String unitLabel;
+
     /**
     /**
      * 尺寸大小
      * 尺寸大小
      */
      */
@@ -86,6 +91,11 @@ public class GoodsDetail {
      */
      */
     private BigDecimal taxRate;
     private BigDecimal taxRate;
 
 
+    /**
+     * 发票税率label
+     */
+    private String taxRateLabel;
+
     /**
     /**
      * 交易方式(value)(合同采购、直接采购、预付款、货到付款、到款发货)
      * 交易方式(value)(合同采购、直接采购、预付款、货到付款、到款发货)
      */
      */

+ 28 - 0
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/RemoteSystemService.java

@@ -12,6 +12,24 @@ import java.util.Map;
  */
  */
 public interface RemoteSystemService {
 public interface RemoteSystemService {
 
 
+    /**
+     * @param keys type#value,type#value
+     * @return Map<String, SysDictResDto>
+     * @desc: 根据类型id查字典,先查redis,没查到查数据库,查出来了存redis
+     * @author: czh
+     * @date: 2023/7/5
+     */
+    Map<String, SysDictResDto> queryDictMapByTypeValues(String keys);
+
+    /**
+     * @param type 类型
+     * @return Map<String, SysDictResDto>
+     * @desc: 根据类型id查字典,先查redis,没查到查数据库,查出来了存redis
+     * @author: czh
+     * @date: 2023/7/5
+     */
+    Map<String, SysDictResDto> queryDictMapByType(String type);
+
     /**
     /**
      * @param type 类型
      * @param type 类型
      * @return SysDictResDto
      * @return SysDictResDto
@@ -84,6 +102,15 @@ public interface RemoteSystemService {
      */
      */
     List<EntCacheResDto> queryEntCacheByName(String entName);
     List<EntCacheResDto> queryEntCacheByName(String entName);
 
 
+    /**
+     * @param entIdList 企业id集合
+     * @return Map<Long, EntCacheResDto>
+     * @desc: 查企业树
+     * @author: czh
+     * @date: 2023/7/17
+     */
+    Map<Long, EntCacheResDto> queryEntTreeByIds(List<Long> entIdList);
+
     /**
     /**
      * @param userId 用户id
      * @param userId 用户id
      * @return UserCacheResDto
      * @return UserCacheResDto
@@ -128,4 +155,5 @@ public interface RemoteSystemService {
      * @date: 2023/7/11
      * @date: 2023/7/11
      */
      */
     UserCacheResDto queryManagerInfoByEntId(Long entId);
     UserCacheResDto queryManagerInfoByEntId(Long entId);
+
 }
 }

+ 5 - 0
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/req/UpdatePasswordReqDto.java

@@ -16,6 +16,11 @@ public class UpdatePasswordReqDto implements Serializable {
     @Serial
     @Serial
     private static final long serialVersionUID = 610262871898122771L;
     private static final long serialVersionUID = 610262871898122771L;
 
 
+    /**
+     * 主键
+     */
+    private Long id;
+
     /**
     /**
      * 账号
      * 账号
      */
      */

+ 16 - 0
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/res/EntCacheResDto.java

@@ -55,6 +55,16 @@ public class EntCacheResDto implements Serializable {
      */
      */
     private String phone;
     private String phone;
 
 
+    /**
+     * 集团企业id
+     */
+    private Long parentId;
+
+    /**
+     * 主体单位们id
+     */
+    private String entDeptIds;
+
     /**
     /**
      * 机构信息
      * 机构信息
      */
      */
@@ -64,4 +74,10 @@ public class EntCacheResDto implements Serializable {
      * 资质信息
      * 资质信息
      */
      */
     private List<EntCertificateResDto> certificateInfo;
     private List<EntCertificateResDto> certificateInfo;
+
+    /**
+     * 下属单位
+     */
+    private List<EntCacheResDto> child;
+
 }
 }

+ 16 - 0
sckw-modules-api/sckw-transport-api/pom.xml

@@ -17,4 +17,20 @@
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     </properties>
     </properties>
 
 
+    <dependencies>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-openfeign-core</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-common-core</artifactId>
+        </dependency>
+    </dependencies>
 </project>
 </project>

+ 17 - 2
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/dubbo/TransportDubboService.java

@@ -1,8 +1,23 @@
 package com.sckw.transport.api.dubbo;
 package com.sckw.transport.api.dubbo;
 
 
+import com.sckw.transport.api.model.dto.vo.KwtLogisticsOrderVO;
+
+import java.util.List;
+
 /**
 /**
- *
- *
+ * @author lfdc
+ * @version 1.0
+ * @className TransportDubboService
+ * @description 物流订单dubbo
+ * @company sckw
+ * @date 2023-07-17 10:06:27
  */
  */
 public interface TransportDubboService {
 public interface TransportDubboService {
+
+    /**
+     * 根据id 获取详情
+     * @param ids
+     * @return
+     */
+    List<KwtLogisticsOrderVO> getAcceptCarriageOrderDetail(List<String> ids);
 }
 }

+ 180 - 0
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/dto/vo/KwtLogisticsOrderVO.java

@@ -0,0 +1,180 @@
+package com.sckw.transport.api.model.dto.vo;
+
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author lfdc
+ * @description 物流订单
+ * @date 2023-06-26 16:06:12
+ */
+@Data
+public class KwtLogisticsOrderVO implements Serializable {
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * 企业id
+     */
+    private Long entId;
+
+    /**
+     * 交易订单id(kwo_trade_order)
+     */
+    private Long tOrderId;
+
+    /**
+     * 交易订单编号(kwo_trade_order)
+     */
+    private String tOrderNo;
+
+    /**
+     * 物流订单编号
+     */
+    private String lOrderNo;
+
+    /**
+     * 分包上级物流订单id
+     */
+    private Long pid;
+
+    /**
+     * 结算周期(周结、月结、季结)
+     */
+    private Long settlementCycle;
+    /**
+     * 计费方式
+     */
+    private String billingMode;
+
+    /**
+     * 运价
+     */
+    private BigDecimal price;
+
+    /**
+     * 运价方式(元/吨、元/车)
+     */
+    private Long priceType;
+
+    /**
+     * 已委托量
+     */
+    private BigDecimal amount;
+
+    /**
+     * 单位(吨、方、箱、件)
+     */
+    private String unit;
+
+    /**
+     * 合理损耗
+     */
+    private BigDecimal loss;
+
+    /**
+     * 合理损耗单位(‰/kG)
+     */
+    private String lossUnit;
+
+    /**
+     * 商品价值(扣亏货值)
+     */
+    private BigDecimal goodsPrice;
+
+    /**
+     * 商品价值(扣亏货值)单位
+     */
+    private String goodsPriceUnit;
+
+    /**
+     * 计划开始日期
+     */
+    private Date startTime;
+
+    /**
+     * 计划结束日期
+     */
+    private Date entTime;
+
+    /**
+     * 分包量
+     */
+    private BigDecimal subcontractAmount;
+
+    /**
+     * 已委托量
+     */
+    private BigDecimal entrustAmount;
+
+    /**
+     * 卸货量
+     */
+    private BigDecimal unloadAmount;
+
+    /**
+     * 装货量
+     */
+    private BigDecimal loadAmount;
+
+    /**
+     * 忽略剩余量
+     */
+    private BigDecimal ignoreAmount;
+
+    /**
+     * 亏吨量(装货量-卸货量)
+     */
+    private BigDecimal deficitAmount;
+
+    /**
+     * 亏吨扣款
+     */
+    private BigDecimal deficitPrice;
+
+    /**
+     * 付款方式(预付款、线下支付、第三方支付)
+     */
+    private Long payment;
+
+    /**
+     * 发票税率(%)
+     */
+    private BigDecimal taxRate;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态(0正常、1已锁)
+     */
+    private Integer status;
+
+    private Long createBy;
+
+    private Date createTime;
+
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    @TableLogic(value = "0")
+    private Integer delFlag;
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 85 - 0
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/dto/vo/LogisticsOrderDTO.java

@@ -0,0 +1,85 @@
+package com.sckw.transport.api.model.dto.vo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author lfdc
+ * @description 承运订单dto
+ * @date 2023-07-17 11:07:08
+ */
+@Data
+public class LogisticsOrderDTO {
+
+    /**
+     * 物流订单id
+     */
+    private String lOrderId;
+    /**
+     * 物流订单编号
+     */
+    private String lOrderNO;
+
+    /**
+     * 销售订单id
+     */
+    private String tOrderId;
+    /**
+     * 销售订单编号
+     */
+    private String tOrderNO;
+    /**
+     * 付款方式
+     */
+    private String payment;
+    /**
+     * 运输趟次
+     */
+    private Long count;
+    /**
+     * 计费方式
+     */
+    private String billingMode;
+    /**
+     * 合同
+     */
+    private String contract;
+    /**
+     * 合同编号
+     */
+    private String contractNo;
+    /**
+     * 合同名称
+     */
+    private String contractName;
+    /**
+     * 承运单位
+     */
+    private String carrierCompany;
+    /**
+     * 托运单位
+     */
+    private String consignCompany;
+    /**
+     * 商品名称
+     */
+    private String goodsName;
+    /**
+     * 计划量
+     */
+    private String amount;
+    /**
+     * 运价
+     */
+    private BigDecimal price;
+
+    /**
+     * 扣亏损值
+     */
+    private BigDecimal goodsPrice;
+    private BigDecimal loss;
+    private BigDecimal unloadAmount;
+    private BigDecimal loadAmount;
+
+}

+ 4 - 4
sckw-modules/sckw-contract/pom.xml

@@ -34,10 +34,6 @@
             <artifactId>sckw-common-remote</artifactId>
             <artifactId>sckw-common-remote</artifactId>
         </dependency>
         </dependency>
 
 
-        <dependency>
-            <groupId>com.sckw</groupId>
-            <artifactId>sckw-common-datasource</artifactId>
-        </dependency>
 
 
         <dependency>
         <dependency>
             <groupId>com.sckw</groupId>
             <groupId>com.sckw</groupId>
@@ -53,6 +49,10 @@
             <groupId>com.sckw</groupId>
             <groupId>com.sckw</groupId>
             <artifactId>sckw-system-api</artifactId>
             <artifactId>sckw-system-api</artifactId>
         </dependency>
         </dependency>
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-common-excel</artifactId>
+        </dependency>
 
 
     </dependencies>
     </dependencies>
 
 

+ 146 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcCheckedController.java

@@ -0,0 +1,146 @@
+package com.sckw.contract.controller;
+
+import com.sckw.contract.model.vo.req.ContractLogisticsReqVo;
+import com.sckw.contract.model.vo.req.IdReqVo;
+import com.sckw.contract.model.vo.req.IdsReqVo;
+import com.sckw.contract.model.vo.req.QueryListReqVo;
+import com.sckw.contract.service.*;
+import com.sckw.core.exception.SystemException;
+import com.sckw.core.web.constant.HttpStatus;
+import com.sckw.core.web.response.HttpResult;
+import jakarta.validation.Valid;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author czh
+ * @desc 托运合同
+ * @date 2023/7/13
+ */
+@RestController
+@RequestMapping("kwcChecked")
+public class KwcCheckedController {
+
+    @Autowired
+    private KwcContractLogisticsService kwcContractLogisticsService;
+
+    /**
+     * @desc 分页查询
+     * @param reqVo 分页入参
+     * @author czh
+     * @date 2023/7/17
+     * @return HttpResult
+     */
+    @RequestMapping("queryListByPage")
+    public HttpResult queryListByPage(@Valid @RequestBody QueryListReqVo reqVo) throws SystemException {
+        return HttpResult.ok(kwcContractLogisticsService.queryListByPage(reqVo));
+    }
+
+    /**
+     * @param reqVo 新增入参
+     * @return HttpResult
+     * @desc 新增托运合同
+     * @author czh
+     * @date 2023/7/13
+     */
+    @RequestMapping("add")
+    public HttpResult addCheckedContract(@Valid @RequestBody ContractLogisticsReqVo reqVo) throws SystemException {
+        kwcContractLogisticsService.addCheckedContract(reqVo);
+        return HttpResult.ok(HttpStatus.MSG_003);
+    }
+
+    /**
+     * @param reqVo 补充入参
+     * @desc: 补充合同
+     * @author: czh
+     * @date: 2023/7/14
+     */
+    @PostMapping("supplement")
+    public HttpResult supplement(@Valid @RequestBody ContractLogisticsReqVo reqVo) throws SystemException {
+        kwcContractLogisticsService.supplement(reqVo);
+        return HttpResult.ok(HttpStatus.MSG_003);
+    }
+
+    /**
+     * @desc: 合同详情
+     * @param reqVo id
+     * @author: czh
+     * @date 2023/7/16
+     * @return HttpResult
+     */
+    @PostMapping("detail")
+    public HttpResult detail(@Valid @RequestBody IdReqVo reqVo) throws SystemException {
+        return HttpResult.ok(kwcContractLogisticsService.detail(reqVo.getId()));
+    }
+
+    /**
+     * @desc: 发起签约
+     * @param reqVo id
+     * @author: czh
+     * @date 2023/7/16
+     * @return HttpResult
+     */
+    @PostMapping("submit")
+    public HttpResult submit(@Valid @RequestBody ContractLogisticsReqVo reqVo) throws SystemException {
+        kwcContractLogisticsService.submit(reqVo);
+        return HttpResult.ok();
+    }
+
+    /**
+     * @desc: 修改草稿
+     * @param reqVo id
+     * @author: czh
+     * @date 2023/7/16
+     * @return HttpResult
+     */
+    @PostMapping("update")
+    public HttpResult update(@Valid @RequestBody ContractLogisticsReqVo reqVo) throws SystemException {
+        kwcContractLogisticsService.update(reqVo);
+        return HttpResult.ok();
+    }
+
+
+    /**
+     * @desc: 手动完结
+     * @param reqVo ids
+     * @author: czh
+     * @date 2023/7/16
+     * @return HttpResult
+     */
+    @PostMapping("complete")
+    public HttpResult complete(@Valid @RequestBody IdsReqVo reqVo) throws SystemException {
+        kwcContractLogisticsService.complete(reqVo.getIds());
+        return HttpResult.ok();
+    }
+
+
+    /**
+     * @desc: 删除
+     * @param reqVo ids
+     * @author: czh
+     * @date 2023/7/16
+     * @return HttpResult
+     */
+    @PostMapping("delete")
+    public HttpResult delete(@Valid @RequestBody IdsReqVo reqVo) throws SystemException {
+        kwcContractLogisticsService.delete(reqVo.getIds());
+        return HttpResult.ok();
+    }
+
+
+    /**
+     * @desc: 导出
+     * @param @param null
+     * @author: czh
+     * @date 2023/7/17
+     */
+    @PostMapping("export")
+    public void export(@Valid @RequestBody QueryListReqVo reqVo) throws SystemException {
+        kwcContractLogisticsService.export(reqVo);
+    }
+
+
+}

+ 15 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcContractTradeController.java

@@ -0,0 +1,15 @@
+package com.sckw.contract.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author czh
+ * @desc 销售合同
+ * @date 2023/7/13
+ */
+@RestController
+@RequestMapping("kwcContractTrade")
+public class KwcContractTradeController {
+    
+}

+ 20 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractLogisticsGoodsMapper.java

@@ -0,0 +1,20 @@
+package com.sckw.contract.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.contract.model.entity.KwcContractLogisticsGoods;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_logistics_goods(物流合同商品信息)】的数据库操作Mapper
+* @createDate 2023-07-13 13:36:19
+* @Entity com.sckw.contract.model.entity.KwcContractLogisticsGoods
+*/
+@Mapper
+public interface KwcContractLogisticsGoodsMapper extends BaseMapper<KwcContractLogisticsGoods> {
+
+}
+
+
+
+

+ 32 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractLogisticsMapper.java

@@ -0,0 +1,32 @@
+package com.sckw.contract.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.contract.model.entity.KwcContractLogistics;
+import com.sckw.contract.model.vo.req.QueryListReqVo;
+import com.sckw.contract.model.vo.res.QueryListResVo;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_logistics(物流合同(承运合同/托运合同))】的数据库操作Mapper
+* @createDate 2023-07-13 13:36:19
+* @Entity com.sckw.contract.model.entity.KwcContractLogistics
+*/
+@Mapper
+public interface KwcContractLogisticsMapper extends BaseMapper<KwcContractLogistics> {
+
+    /**
+     * @desc: 查询
+     * @param: reqVo
+     * @author: czh
+     * @date 2023/7/17
+     * @return QueryListResVo
+     */
+    List<QueryListResVo> queryList(QueryListReqVo reqVo);
+}
+
+
+
+

+ 20 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractLogisticsTrackMapper.java

@@ -0,0 +1,20 @@
+package com.sckw.contract.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.contract.model.entity.KwcContractLogisticsTrack;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_logistics_track(物流合同(承运合同/托运合同)-物流订单)】的数据库操作Mapper
+* @createDate 2023-07-13 13:36:19
+* @Entity com.sckw.contract.model.entity.KwcContractLogisticsTrack
+*/
+@Mapper
+public interface KwcContractLogisticsTrackMapper extends BaseMapper<KwcContractLogisticsTrack> {
+
+}
+
+
+
+

+ 20 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractLogisticsUnitMapper.java

@@ -0,0 +1,20 @@
+package com.sckw.contract.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.contract.model.entity.KwcContractLogisticsUnit;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_logistics_unit(物流合同采购/销售企业信息)】的数据库操作Mapper
+* @createDate 2023-07-13 13:36:19
+* @Entity com.sckw.contract.model.entity.KwcContractLogisticsUnit
+*/
+@Mapper
+public interface KwcContractLogisticsUnitMapper extends BaseMapper<KwcContractLogisticsUnit> {
+
+}
+
+
+
+

+ 20 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTemplateMapper.java

@@ -0,0 +1,20 @@
+package com.sckw.contract.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.contract.model.entity.KwcContractTemplate;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_template(合同模版)】的数据库操作Mapper
+* @createDate 2023-07-13 13:36:19
+* @Entity com.sckw.contract.model.entity.KwcContractTemplate
+*/
+@Mapper
+public interface KwcContractTemplateMapper extends BaseMapper<KwcContractTemplate> {
+
+}
+
+
+
+

+ 20 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeGoodsMapper.java

@@ -0,0 +1,20 @@
+package com.sckw.contract.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.contract.model.entity.KwcContractTradeGoods;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_trade_goods(交易合同商品信息)】的数据库操作Mapper
+* @createDate 2023-07-13 13:36:19
+* @Entity com.sckw.contract.model.entity.KwcContractTradeGoods
+*/
+@Mapper
+public interface KwcContractTradeGoodsMapper extends BaseMapper<KwcContractTradeGoods> {
+
+}
+
+
+
+

+ 20 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeMapper.java

@@ -0,0 +1,20 @@
+package com.sckw.contract.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.contract.model.entity.KwcContractTrade;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_trade(交易合同(采购合同/销售合同))】的数据库操作Mapper
+* @createDate 2023-07-13 13:36:19
+* @Entity com.sckw.contract.model.entity.KwcContractTrade
+*/
+@Mapper
+public interface KwcContractTradeMapper extends BaseMapper<KwcContractTrade> {
+
+}
+
+
+
+

+ 20 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeOrderMapper.java

@@ -0,0 +1,20 @@
+package com.sckw.contract.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.contract.model.entity.KwcContractTradeOrder;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_trade_order(交易合同(采购合同/销售合同)-状态记录)】的数据库操作Mapper
+* @createDate 2023-07-13 13:36:19
+* @Entity com.sckw.contract.model.entity.KwcContractTradeOrder
+*/
+@Mapper
+public interface KwcContractTradeOrderMapper extends BaseMapper<KwcContractTradeOrder> {
+
+}
+
+
+
+

+ 20 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeTrackMapper.java

@@ -0,0 +1,20 @@
+package com.sckw.contract.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.contract.model.entity.KwcContractTradeTrack;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_trade_track(交易合同(采购合同/销售合同)-交易订单(采购订单/销售订单))】的数据库操作Mapper
+* @createDate 2023-07-13 13:36:19
+* @Entity com.sckw.contract.model.entity.KwcContractTradeTrack
+*/
+@Mapper
+public interface KwcContractTradeTrackMapper extends BaseMapper<KwcContractTradeTrack> {
+
+}
+
+
+
+

+ 20 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeUnitMapper.java

@@ -0,0 +1,20 @@
+package com.sckw.contract.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.contract.model.entity.KwcContractTradeUnit;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_trade_unit(交易合同采购/销售企业信息)】的数据库操作Mapper
+* @createDate 2023-07-13 13:36:19
+* @Entity com.sckw.contract.model.entity.KwcContractTradeUnit
+*/
+@Mapper
+public interface KwcContractTradeUnitMapper extends BaseMapper<KwcContractTradeUnit> {
+
+}
+
+
+
+

+ 128 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractLogistics.java

@@ -0,0 +1,128 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 物流合同(承运合同/托运合同)
+ * @TableName kwc_contract_logistics
+ */
+@TableName(value ="kwc_contract_logistics")
+@Data
+public class KwcContractLogistics implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 企业id
+     */
+    private Long entId;
+
+    /**
+     * 合同编号
+     */
+    private String contractNo;
+
+    /**
+     * 合同名称
+     */
+    private String name;
+
+    /**
+     * 签约方式
+     */
+    private String signingWay;
+
+    /**
+     * 计费方式(1按装货量、2按卸货量、3按车次)
+     */
+    private Long charging;
+
+    /**
+     * 交易方式(1预付款、2货到付款)
+     */
+    private Long trading;
+
+    /**
+     * 开始日期
+     */
+    private Date startTime;
+
+    /**
+     * 结束日期
+     */
+    private Date endTime;
+
+    /**
+     * 数量
+     */
+    private BigDecimal amount;
+
+    /**
+     * 履行量
+     */
+    private BigDecimal performedAmount;
+
+    /**
+     * 签署文件
+     */
+    private String signingUrl;
+
+    /**
+     * 已签署文件
+     */
+    private String signedUrl;
+
+    /**
+     * 签约编号
+     */
+    private String signingNo;
+
+    /**
+     * 合同关联id
+     */
+    private Long contractPid;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态  0已签约 1已完结 2已保存(草稿) 3签约中
+     */
+    private Integer status;
+
+    /**
+     * 创建人
+     */
+    private Long createBy;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 修改人
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+}

+ 113 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractLogisticsGoods.java

@@ -0,0 +1,113 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 物流合同商品信息
+ * @TableName kwc_contract_logistics_goods
+ */
+@TableName(value ="kwc_contract_logistics_goods")
+@Data
+public class KwcContractLogisticsGoods implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 合同id(kwc_contract_logistics)
+     */
+    private Long contractId;
+
+    /**
+     * 商品id
+     */
+    private Long goodsId;
+
+    /**
+     * sku
+     */
+    private Long skuId;
+
+    /**
+     * 数量
+     */
+    private BigDecimal amount;
+
+    /**
+     * 单位(吨、方、箱、件)
+     */
+    private String unit;
+
+    /**
+     * 
+     */
+    private BigDecimal price;
+
+    /**
+     * 履行量
+     */
+    private BigDecimal performedAmount;
+
+    /**
+     * 合理损耗
+     */
+    private BigDecimal loss;
+
+    /**
+     * 合理损耗单位
+     */
+    private String lossUnit;
+
+    /**
+     * 亏吨扣款
+     */
+    private BigDecimal deficitPrice;
+
+    /**
+     * 亏吨扣款单位
+     */
+    private String deficitUnit;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态(0正常、1已锁)
+     */
+    private Integer status;
+
+    /**
+     * 
+     */
+    private Long createBy;
+
+    /**
+     * 
+     */
+    private Date createTime;
+
+    /**
+     * 
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+}

+ 67 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractLogisticsTrack.java

@@ -0,0 +1,67 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 物流合同(承运合同/托运合同)-物流订单
+ * @TableName kwc_contract_logistics_track
+ */
+@TableName(value ="kwc_contract_logistics_track")
+@Data
+public class KwcContractLogisticsTrack implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 合同id
+     */
+    private Long contractId;
+
+    /**
+     * 状态类型(1审批状态、2签约状态、3履约状态)
+     */
+    private Integer type;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态(0通过、1不通过)
+     */
+    private Integer status;
+
+    /**
+     * 
+     */
+    private Long createBy;
+
+    /**
+     * 
+     */
+    private Date createTime;
+
+    /**
+     * 
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+}

+ 92 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractLogisticsUnit.java

@@ -0,0 +1,92 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 物流合同采购/销售企业信息
+ * @TableName kwc_contract_logistics_unit
+ */
+@TableName(value ="kwc_contract_logistics_unit")
+@Data
+public class KwcContractLogisticsUnit implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 物流合同id
+     */
+    private Long contractId;
+
+    /**
+     * 单位类型(1托运单位、2承运单位)
+     */
+    private Integer unitType;
+
+    /**
+     * 企业id
+     */
+    private Long entId;
+
+    /**
+     * 企业名称
+     */
+    private String firmName;
+
+    /**
+     * 联系人姓名
+     */
+    private String contacts;
+
+    /**
+     * 联系电话
+     */
+    private String phone;
+
+    /**
+     * 签约电话
+     */
+    private String signPhone;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态(0正常、1已锁)
+     */
+    private Integer status;
+
+    /**
+     * 
+     */
+    private Long createBy;
+
+    /**
+     * 
+     */
+    private Date createTime;
+
+    /**
+     * 
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+}

+ 78 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTemplate.java

@@ -0,0 +1,78 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 合同模版
+ * @TableName kwc_contract_template
+ */
+@TableName(value ="kwc_contract_template")
+@Data
+public class KwcContractTemplate implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 企业id
+     */
+    private Long entId;
+
+    /**
+     * 合同编号
+     */
+    private String code;
+
+    /**
+     * 合同名称
+     */
+    private String name;
+
+    /**
+     * 合同地址
+     */
+    private String url;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态(0正常、1已锁)
+     */
+    private Integer status;
+
+    /**
+     * 
+     */
+    private Long createBy;
+
+    /**
+     * 
+     */
+    private Date createTime;
+
+    /**
+     * 
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+}

+ 123 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTrade.java

@@ -0,0 +1,123 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 交易合同(采购合同/销售合同)
+ * @TableName kwc_contract_trade
+ */
+@TableName(value ="kwc_contract_trade")
+@Data
+public class KwcContractTrade implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 企业id
+     */
+    private Long entId;
+
+    /**
+     * 合同编号
+     */
+    private String contractNo;
+
+    /**
+     * 合同名称
+     */
+    private String name;
+
+    /**
+     * 签约方式(1线上签约、2线下签约)
+     */
+    private Long signingWay;
+
+    /**
+     * 交易方式(1预付款、2货到付款)
+     */
+    private Long trading;
+
+    /**
+     * 开始日期
+     */
+    private Date startTime;
+
+    /**
+     * 结束日期
+     */
+    private Date endTime;
+
+    /**
+     * 数量
+     */
+    private BigDecimal amount;
+
+    /**
+     * 履行量
+     */
+    private BigDecimal performedAmount;
+
+    /**
+     * 签署文件
+     */
+    private String signingUrl;
+
+    /**
+     * 已签署文件
+     */
+    private String signedUrl;
+
+    /**
+     * 签约编号
+     */
+    private String signingNo;
+
+    /**
+     * 合同关联id
+     */
+    private Long contractPid;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 签约状态(签约中、已签约、已完结(结算时间已完成)、已解约、签约失败)
+     */
+    private Integer status;
+
+    /**
+     * 
+     */
+    private Long createBy;
+
+    /**
+     * 
+     */
+    private Date createTime;
+
+    /**
+     * 
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+}

+ 93 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTradeGoods.java

@@ -0,0 +1,93 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 交易合同商品信息
+ * @TableName kwc_contract_trade_goods
+ */
+@TableName(value ="kwc_contract_trade_goods")
+@Data
+public class KwcContractTradeGoods implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 合同id(kwc_contract_trade)
+     */
+    private Long contractId;
+
+    /**
+     * 商品id
+     */
+    private Long goodsId;
+
+    /**
+     * 商品skuid
+     */
+    private Long skuId;
+
+    /**
+     * 数量
+     */
+    private BigDecimal amount;
+
+    /**
+     * 单位(吨、方、箱、件)
+     */
+    private String unit;
+
+    /**
+     * 
+     */
+    private BigDecimal price;
+
+    /**
+     * 履行量
+     */
+    private BigDecimal performedAmount;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态(0正常、1已锁)
+     */
+    private Integer status;
+
+    /**
+     * 
+     */
+    private Long createBy;
+
+    /**
+     * 
+     */
+    private Date createTime;
+
+    /**
+     * 
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+}

+ 73 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTradeOrder.java

@@ -0,0 +1,73 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 交易合同(采购合同/销售合同)-状态记录
+ * @TableName kwc_contract_trade_order
+ */
+@TableName(value ="kwc_contract_trade_order")
+@Data
+public class KwcContractTradeOrder implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 合同id
+     */
+    private Long contractId;
+
+    /**
+     * 订单id(销售订单/采购订单)
+     */
+    private Long orderId;
+
+    /**
+     * 订单编号(销售订单/采购订单)
+     */
+    private String orderNo;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态(0正常、1已锁)
+     */
+    private Integer status;
+
+    /**
+     * 
+     */
+    private Long createBy;
+
+    /**
+     * 
+     */
+    private Date createTime;
+
+    /**
+     * 
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+}

+ 63 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTradeTrack.java

@@ -0,0 +1,63 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 交易合同(采购合同/销售合同)-交易订单(采购订单/销售订单)
+ * @TableName kwc_contract_trade_track
+ */
+@TableName(value ="kwc_contract_trade_track")
+@Data
+public class KwcContractTradeTrack implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 合同id
+     */
+    private Long contractId;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态(0通过、1不通过)
+     */
+    private Integer status;
+
+    /**
+     * 
+     */
+    private Long createBy;
+
+    /**
+     * 
+     */
+    private Date createTime;
+
+    /**
+     * 
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+}

+ 92 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTradeUnit.java

@@ -0,0 +1,92 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 交易合同采购/销售企业信息
+ * @TableName kwc_contract_trade_unit
+ */
+@TableName(value ="kwc_contract_trade_unit")
+@Data
+public class KwcContractTradeUnit implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 企业id
+     */
+    private Long entId;
+
+    /**
+     * 交易合同id
+     */
+    private Long contractId;
+
+    /**
+     * 单位类型(1销售单位、2采购单位)
+     */
+    private Integer unitType;
+
+    /**
+     * 企业名称
+     */
+    private String firmName;
+
+    /**
+     * 联系人姓名
+     */
+    private String contacts;
+
+    /**
+     * 联系电话
+     */
+    private String phone;
+
+    /**
+     * 签约电话
+     */
+    private String signHone;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 用户状态(0正常、1已锁)
+     */
+    private Integer status;
+
+    /**
+     * 
+     */
+    private Long createBy;
+
+    /**
+     * 
+     */
+    private Date createTime;
+
+    /**
+     * 
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+}

+ 54 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/ContractLogisticsReqVo.java

@@ -0,0 +1,54 @@
+package com.sckw.contract.model.vo.req;
+
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author czh
+ * @desc 物流合同新增入参
+ * @date 2023/7/13
+ */
+@Data
+public class ContractLogisticsReqVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -3606037883613411620L;
+
+    /**
+     * 合同id 修改时必传
+     */
+    private Long id;
+
+    /**
+     * 父合同ID 补充合同
+     */
+    private Long pId;
+
+    /**
+     * 基础信息
+     */
+    @NotNull(message = "基础信息不能为空")
+    private LogisticsBaseInfoReqVo baseInfo;
+
+    /**
+     * 合同文件
+     */
+    @NotNull(message = "合同文件不能为空")
+    private List<String> contractFile;
+
+    /**
+     * 标的信息
+     */
+    @NotNull(message = "标的信息不能为空")
+    private List<LogisticsGoodsInfoReqVo> goodsInfo;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 26 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/IdReqVo.java

@@ -0,0 +1,26 @@
+package com.sckw.contract.model.vo.req;
+
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author czh
+ * @desc id 入参
+ * @date 2023/7/13
+ */
+@Data
+public class IdReqVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 3027498279284285824L;
+
+    /**
+     * 主键
+     */
+    @NotNull(message = "id不能为空")
+    private Long id;
+
+}

+ 26 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/IdsReqVo.java

@@ -0,0 +1,26 @@
+package com.sckw.contract.model.vo.req;
+
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author czh
+ * @desc ids 入参
+ * @date 2023/7/13
+ */
+@Data
+public class IdsReqVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 3027498279284285824L;
+
+    /**
+     * 主键
+     */
+    @NotBlank(message = "id不能为空")
+    private String ids;
+
+}

+ 80 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/LogisticsBaseInfoReqVo.java

@@ -0,0 +1,80 @@
+package com.sckw.contract.model.vo.req;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author czh
+ * @desc 物流合同基础信息
+ * @date 2023/7/13
+ */
+@Data
+public class LogisticsBaseInfoReqVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1427836562492850217L;
+
+    /**
+     * 承运单位id
+     */
+    @NotNull(message = "承运单位不能为空")
+    private Long carrierEntId;
+
+    /**
+     * 承运单位联系电话
+     */
+    @NotBlank(message = "承运单位联系电话不能为空")
+    private String carrierPhone;
+
+    /**
+     * 计费方式(1按装货量、2按卸货量、3按车次)
+     */
+    @NotNull(message = "计费方式不能为空")
+    private String charging;
+
+    /**
+     * 托运单位id
+     */
+    @NotNull(message = "托运单位不能为空")
+    private Long checkedEntId;
+
+    /**
+     * 托运单位联系电话
+     */
+    @NotBlank(message = "托运单位联系电话不能为空")
+    private String checkedPhone;
+
+    /**
+     * 合同编号
+     */
+    @NotBlank(message = "合同编号不能为空")
+    private String contractCode;
+
+    /**
+     * 合同名称
+     */
+    @NotBlank(message = "合同名称不能为空")
+    private String contractName;
+
+    /**
+     * 终止时间
+     */
+    private Date endTime;
+
+    /**
+     * 签约方式(1线上签约、2线下签约)
+     */
+    @NotNull(message = "签约方式不能为空")
+    private Integer signingWay;
+
+    /**
+     * 生效时间
+     */
+    @NotNull(message = "生效时间不能为空")
+    private Date startTime;
+}

+ 62 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/LogisticsGoodsInfoReqVo.java

@@ -0,0 +1,62 @@
+package com.sckw.contract.model.vo.req;
+
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @author czh
+ * @desc 物流合同标的信息
+ * @date 2023/7/13
+ */
+@Data
+public class LogisticsGoodsInfoReqVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -1110645263914068341L;
+
+    /**
+     * 商品id
+     */
+    @NotNull(message = "商品不能为空")
+    private Long goodsId;
+
+    /**
+     * 运量
+     */
+    private BigDecimal amount;
+
+    /**
+     * 运量单位字典id
+     */
+    private String unit;
+
+    /**
+     * 运价
+     */
+    private BigDecimal price;
+
+    /**
+     * 合理损耗
+     */
+    private BigDecimal loss;
+
+    /**
+     * 合理损耗单位
+     */
+    private String lossUnit;
+
+    /**
+     * 扣亏货值
+     */
+    private BigDecimal deficit;
+
+    /**
+     * 字典id  扣亏货值
+     */
+    private String deficitUnit;
+
+}

+ 48 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/QueryListReqVo.java

@@ -0,0 +1,48 @@
+package com.sckw.contract.model.vo.req;
+
+import com.sckw.core.model.page.PageRequest;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class QueryListReqVo extends PageRequest implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -5785283278707737826L;
+
+    /**
+     * 主键id
+     */
+    private String ids;
+
+    /**
+     * ID集合
+     */
+    private List<Long> idList;
+
+    /**
+     * 单位名称、联系人、联系电话
+     */
+    private String keywords;
+
+    /**
+     * 创建结束时间
+     */
+    private Date endTime;
+
+    /**
+     * 创建开始时间
+     */
+    private Date startTime;
+
+    /**
+     * 合同状态  0已签约 1已完结 2已保存(草稿) 3签约中
+     */
+    private Integer status;
+
+
+}

+ 45 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/res/ContractLogisticsDetailResVo.java

@@ -0,0 +1,45 @@
+package com.sckw.contract.model.vo.res;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author czh
+ * @desc 物流合同详情返参
+ * @date 2023/7/13
+ */
+@Data
+public class ContractLogisticsDetailResVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 6152841290674824503L;
+
+    /**
+     * 基础信息
+     */
+    private LogisticsBaseInfoResVo baseInfo;
+
+    /**
+     * 合同文件
+     */
+    private List<String> contractFile;
+
+    /**
+     * 标的信息
+     */
+    private List<LogisticsGoodsInfoResVo> goodsInfo;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 补充合同
+     */
+    private List<ContractLogisticsDetailResVo> child;
+
+}

+ 65 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/res/LogisticsBaseInfoResVo.java

@@ -0,0 +1,65 @@
+package com.sckw.contract.model.vo.res;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+public class LogisticsBaseInfoResVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 2834018651817251590L;
+
+    /**
+     * 承运单位
+     */
+    private String carrierEntName;
+
+    /**
+     * 承运单位联系电话
+     */
+    private String carrierPhone;
+
+    /**
+     * 计费方式
+     */
+    private String chargingName;
+
+    /**
+     * 托运单位
+     */
+    private String checkedEntName;
+
+    /**
+     * 托运单位联系电话
+     */
+    private String checkedPhone;
+
+    /**
+     * 合同编号
+     */
+    private String contractCode;
+
+    /**
+     * 合同名称
+     */
+    private String contractName;
+
+    /**
+     * 终止时间
+     */
+    private Date endTime;
+
+    /**
+     * 签约方式
+     */
+    private String signingWayName;
+
+    /**
+     * 生效时间
+     */
+    private Date startTime;
+
+}

+ 61 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/res/LogisticsGoodsInfoResVo.java

@@ -0,0 +1,61 @@
+package com.sckw.contract.model.vo.res;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+@Data
+public class LogisticsGoodsInfoResVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 5173885241592701709L;
+
+    /**
+     * 运量
+     */
+    private BigDecimal amount;
+
+    /**
+     * 单位(运量为 X ,运价为 元/X)
+     */
+    private String unit;
+
+    /**
+     * 运价
+     */
+    private BigDecimal price;
+
+    /**
+     * 运价单位
+     */
+    private String priceUnit;
+
+    /**
+     * 亏吨扣款
+     */
+    private BigDecimal deficitPrice;
+
+    /**
+     * 亏吨扣款单位
+     */
+    private String deficitUnit;
+
+    /**
+     * 商品
+     */
+    private String goodsName;
+
+    /**
+     * 合理损耗
+     */
+    private BigDecimal loss;
+
+    /**
+     * 合理损耗单位
+     */
+    private String lossUnit;
+
+
+}

+ 114 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/res/QueryListResVo.java

@@ -0,0 +1,114 @@
+package com.sckw.contract.model.vo.res;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.sckw.core.utils.LongToStringUtils;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class QueryListResVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -8699172452542787584L;
+
+    /**
+     * 合同总量
+     */
+    private BigDecimal amount;
+
+    /**
+     * 承运单位名
+     */
+    private String carrierEntName;
+
+    /**
+     * 计费方式中文名
+     */
+    private String chargingName;
+
+    /**
+     * 托运单位名
+     */
+    private String checkedEntName;
+
+    /**
+     * 合同名称
+     */
+    private String contractName;
+
+    /**
+     * 合同编号
+     */
+    private String contractNo;
+
+    /**
+     * 发起人
+     */
+    private String createByName;
+
+    /**
+     * 发起单位
+     */
+    private String createEntName;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 终止日期
+     */
+    private Date endTime;
+
+    /**
+     * 主键id
+     */
+    @JsonSerialize(using = LongToStringUtils.class)
+    private Double id;
+
+    /**
+     * 发起时间
+     */
+    private Date initiateTime;
+
+    /**
+     * 已履约量
+     */
+    private BigDecimal performedAmount;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 签约方式中文名
+     */
+    private String signingWayName;
+
+    /**
+     * 签约时间
+     */
+    private Date signTime;
+
+    /**
+     * 起始日期
+     */
+    private Date startTime;
+
+    /**
+     * 合同状态
+     */
+    private Integer status;
+
+    /**
+     * 合同状态中文名
+     */
+    private String statusName;
+
+}

+ 27 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/CommonBusinessService.java

@@ -0,0 +1,27 @@
+package com.sckw.contract.service;
+
+import com.sckw.system.api.RemoteSystemService;
+import com.sckw.system.api.model.dto.res.EntCacheResDto;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class CommonBusinessService {
+
+    @DubboReference(version = "2.0.0", group = "design", check = false)
+    private RemoteSystemService remoteSystemService;
+
+    /**
+     * @return Map
+     * @desc: 查企业
+     * @param: entIdList 企业id集合
+     * @author: czh
+     * @date 2023/7/16
+     */
+    public Map<Long, EntCacheResDto> queryEntCacheMapByIds(List<Long> entIdList) {
+        return remoteSystemService.queryEntCacheMapByIds(entIdList);
+    }
+}

+ 100 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsGoodsService.java

@@ -0,0 +1,100 @@
+package com.sckw.contract.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.sckw.contract.dao.KwcContractLogisticsGoodsMapper;
+import com.sckw.contract.dao.KwcContractTradeGoodsMapper;
+import com.sckw.contract.model.entity.KwcContractLogisticsGoods;
+import com.sckw.contract.model.entity.KwcContractTradeGoods;
+import com.sckw.contract.model.vo.req.LogisticsGoodsInfoReqVo;
+import com.sckw.core.exception.SystemException;
+import com.sckw.core.model.constant.Global;
+import com.sckw.core.utils.BeanUtils;
+import com.sckw.core.utils.IdWorker;
+import com.sckw.core.web.constant.HttpStatus;
+import com.sckw.core.web.context.LoginUserHolder;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author PC
+ * @description 针对表【kwc_contract_logistics_goods(物流合同商品信息)】的数据库操作Service实现
+ * @createDate 2023-07-13 13:36:19
+ */
+@Service
+public class KwcContractLogisticsGoodsService {
+
+
+    @Autowired
+    private KwcContractLogisticsGoodsMapper kwcContractLogisticsGoodsMapper;
+
+
+    /**
+     * @param contractId 合同id, goodsInfoList标的信息
+     * @desc: 保存交易合同商品信息
+     * @author: czh
+     * @date: 2023/7/14
+     */
+    public void saveContractLogisticsGoods(Long contractId, List<LogisticsGoodsInfoReqVo> goodsInfoList) throws SystemException {
+        //todo 调dubbo接口返回商品详情 填充sku
+        List<Long> goodsIdList = goodsInfoList.stream().map(LogisticsGoodsInfoReqVo::getGoodsId).toList();
+
+        Long userId = LoginUserHolder.getUserId();
+        Date date = new Date();
+        for (LogisticsGoodsInfoReqVo logisticsGoodsInfoReqVo : goodsInfoList) {
+            KwcContractLogisticsGoods kwcContractLogisticsGoods = new KwcContractLogisticsGoods();
+            BeanUtils.copyProperties(logisticsGoodsInfoReqVo, kwcContractLogisticsGoods);
+            kwcContractLogisticsGoods.setId(new IdWorker(1L).nextId());
+            kwcContractLogisticsGoods.setContractId(contractId);
+            kwcContractLogisticsGoods.setSkuId(0L);
+            kwcContractLogisticsGoods.setPerformedAmount(new BigDecimal("0"));
+            kwcContractLogisticsGoods.setStatus(Global.NO);
+            kwcContractLogisticsGoods.setCreateBy(userId);
+            kwcContractLogisticsGoods.setCreateTime(date);
+            kwcContractLogisticsGoods.setUpdateBy(userId);
+            kwcContractLogisticsGoods.setUpdateTime(date);
+            kwcContractLogisticsGoods.setDelFlag(Global.NO);
+            if (kwcContractLogisticsGoodsMapper.insert(kwcContractLogisticsGoods) <= 0) {
+                throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
+            }
+        }
+    }
+
+    /**
+     * @return KwcContractLogisticsGoods
+     * @desc: 根据合同id查标的信息
+     * @param: contractId 合同id
+     * @author: czh
+     * @date 2023/7/16
+     */
+    public List<KwcContractLogisticsGoods> queryGoodsInfoByContractId(Long contractId) {
+        LambdaQueryWrapper<KwcContractLogisticsGoods> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(KwcContractLogisticsGoods::getContractId, contractId);
+        wrapper.eq(KwcContractLogisticsGoods::getDelFlag, Global.NO);
+        wrapper.eq(KwcContractLogisticsGoods::getStatus, Global.NO);
+        return kwcContractLogisticsGoodsMapper.selectList(wrapper);
+    }
+
+    /**
+     * @return 修改个数
+     * @desc: 修改
+     * @param: list 实体类
+     * @author: czh
+     * @date 2023/7/17
+     */
+    public int updateBatch(List<KwcContractLogisticsGoods> list) {
+        int count = 0;
+        for (KwcContractLogisticsGoods kwcContractLogisticsGoods : list) {
+            count += kwcContractLogisticsGoodsMapper.updateById(kwcContractLogisticsGoods);
+        }
+        return count;
+    }
+
+}
+
+
+
+

+ 399 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsService.java

@@ -0,0 +1,399 @@
+package com.sckw.contract.service;
+
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.util.*;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.sckw.contract.dao.KwcContractLogisticsMapper;
+import com.sckw.contract.model.entity.KwcContractLogistics;
+import com.sckw.contract.model.entity.KwcContractLogisticsGoods;
+import com.sckw.contract.model.entity.KwcContractLogisticsUnit;
+import com.sckw.contract.model.vo.req.ContractLogisticsReqVo;
+import com.sckw.contract.model.vo.req.LogisticsBaseInfoReqVo;
+import com.sckw.contract.model.vo.req.LogisticsGoodsInfoReqVo;
+import com.sckw.contract.model.vo.req.QueryListReqVo;
+import com.sckw.contract.model.vo.res.ContractLogisticsDetailResVo;
+import com.sckw.contract.model.vo.res.LogisticsBaseInfoResVo;
+import com.sckw.contract.model.vo.res.LogisticsGoodsInfoResVo;
+import com.sckw.contract.model.vo.res.QueryListResVo;
+import com.sckw.core.common.enums.enums.DictTypeEnum;
+import com.sckw.core.exception.SystemException;
+import com.sckw.core.model.constant.Global;
+import com.sckw.core.model.enums.ContractStatusEnum;
+import com.sckw.core.model.enums.CooperateTypeEnum;
+import com.sckw.core.model.enums.SigningWayEnum;
+import com.sckw.core.model.page.PageHelperUtil;
+import com.sckw.core.model.page.PageResult;
+import com.sckw.core.utils.CollectionUtils;
+import com.sckw.core.utils.IdWorker;
+import com.sckw.core.utils.StringUtils;
+import com.sckw.core.web.constant.HttpStatus;
+import com.sckw.core.web.context.LoginUserHolder;
+import com.sckw.excel.utils.EasyExcelUtil;
+import com.sckw.system.api.RemoteSystemService;
+import com.sckw.system.api.model.dto.res.SysDictResDto;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * @author PC
+ * @description 针对表【kwc_contract_logistics(物流合同(承运合同/托运合同))】的数据库操作Service实现
+ * @createDate 2023-07-13 13:36:19
+ */
+@Service
+@Slf4j
+public class KwcContractLogisticsService {
+
+    @Autowired
+    private KwcContractLogisticsMapper kwcContractLogisticsMapper;
+
+    @Autowired
+    private KwcContractLogisticsGoodsService kwcContractLogisticsGoodsService;
+
+    @Autowired
+    private KwcContractLogisticsTrackService kwcContractLogisticsTrackService;
+
+    @Autowired
+    private KwcContractLogisticsUnitService kwcContractLogisticsUnitService;
+
+
+    @DubboReference(version = "2.0.0", group = "design", check = false)
+    private RemoteSystemService remoteSystemService;
+
+    /**
+     * @param reqVo 新增入参
+     * @desc: 新增托运合同
+     * @author: czh
+     * @date: 2023/7/13
+     */
+    @Transactional(rollbackFor = {})
+    public Long addCheckedContract(ContractLogisticsReqVo reqVo) {
+        LogisticsBaseInfoReqVo baseInfo = reqVo.getBaseInfo();
+        List<String> contractFileList = reqVo.getContractFile();
+        List<LogisticsGoodsInfoReqVo> goodsInfoList = reqVo.getGoodsInfo();
+
+        //创建合同
+        KwcContractLogistics kwcContractLogistics = getKwcContractLogistics(baseInfo, reqVo.getRemark(), reqVo.getPId());
+        Date date = new Date();
+        long contactId = new IdWorker(1L).nextId();
+        kwcContractLogistics.setId(contactId);
+        kwcContractLogistics.setStatus(ContractStatusEnum.SAVE.getCode());
+        kwcContractLogistics.setCreateBy(LoginUserHolder.getUserId());
+        kwcContractLogistics.setCreateTime(date);
+        kwcContractLogistics.setUpdateBy(LoginUserHolder.getUserId());
+        kwcContractLogistics.setUpdateTime(date);
+        kwcContractLogistics.setDelFlag(Global.NO);
+        if (kwcContractLogisticsMapper.insert(kwcContractLogistics) <= 0) {
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
+        }
+
+        //保存交易合同商品信息
+        kwcContractLogisticsGoodsService.saveContractLogisticsGoods(kwcContractLogistics.getId(), goodsInfoList);
+
+        //存单位信息
+        kwcContractLogisticsUnitService.saveContractLogisticsUnit(kwcContractLogistics.getId(), baseInfo);
+
+        return contactId;
+    }
+
+    public KwcContractLogistics getKwcContractLogistics(LogisticsBaseInfoReqVo baseInfo, String remark, Long pid) {
+        KwcContractLogistics kwcContractLogistics = new KwcContractLogistics();
+        kwcContractLogistics.setEntId(LoginUserHolder.getEntId());
+        kwcContractLogistics.setContractNo(baseInfo.getContractCode());
+        kwcContractLogistics.setName(baseInfo.getContractName());
+        kwcContractLogistics.setSigningWay(SigningWayEnum.getName(baseInfo.getSigningWay()).getName());
+        SysDictResDto sysDictResDto = remoteSystemService.queryDictByTypeAndValue(DictTypeEnum.CHARGING_TYPE.getType(), baseInfo.getCharging());
+        if (Objects.isNull(sysDictResDto)) {
+            kwcContractLogistics.setCharging(sysDictResDto.getId());
+        }
+
+//        remoteSystemService.queryDictByTypeAndValue(DictTypeEnum.TRADE_TYPE, baseInfo.getT)
+//        kwcContractLogistics.setTrading(pid);
+        kwcContractLogistics.setStartTime(baseInfo.getStartTime());
+        kwcContractLogistics.setEndTime(baseInfo.getEndTime());
+        //单位不同怎么汇总?
+        kwcContractLogistics.setAmount(new BigDecimal("0"));
+        kwcContractLogistics.setPerformedAmount(new BigDecimal("0"));
+        kwcContractLogistics.setSigningUrl("");
+        kwcContractLogistics.setSignedUrl("");
+        kwcContractLogistics.setSigningNo("");
+        kwcContractLogistics.setContractPid(pid);
+        kwcContractLogistics.setRemark(remark);
+        return kwcContractLogistics;
+    }
+
+
+    /**
+     * @param reqVo 补充入参
+     * @desc: 补充合同
+     * @author: czh
+     * @date: 2023/7/14
+     */
+    public void supplement(ContractLogisticsReqVo reqVo) {
+        Long id = reqVo.getPId();
+        KwcContractLogistics kwcContractLogistics = kwcContractLogisticsMapper.selectById(id);
+        if (Objects.isNull(kwcContractLogistics)) {
+
+        }
+
+        addCheckedContract(reqVo);
+    }
+
+    /**
+     * @return ContractLogisticsDetailResVo
+     * @desc: 合同详情
+     * @param: reqVo id
+     * @author: czh
+     * @date 2023/7/16
+     */
+    public ContractLogisticsDetailResVo detail(Long id) {
+        KwcContractLogistics kwcContractLogistics = kwcContractLogisticsMapper.selectById(id);
+        if (Objects.isNull(kwcContractLogistics)) {
+            return null;
+        }
+
+        return buildContractLogisticsDetailResVo(kwcContractLogistics);
+    }
+
+
+    private ContractLogisticsDetailResVo buildContractLogisticsDetailResVo(KwcContractLogistics kwcContractLogistics) {
+        ContractLogisticsDetailResVo contractLogisticsDetailResVo = new ContractLogisticsDetailResVo();
+        //基础信息
+        List<KwcContractLogisticsUnit> kwcContractLogisticsUnitList = kwcContractLogisticsUnitService.queryByContractId(kwcContractLogistics.getId());
+        if (CollectionUtils.isNotEmpty(kwcContractLogisticsUnitList)) {
+            LogisticsBaseInfoResVo logisticsBaseInfoResVo = new LogisticsBaseInfoResVo();
+            for (KwcContractLogisticsUnit kwcContractLogisticsUnit : kwcContractLogisticsUnitList) {
+                if (kwcContractLogisticsUnit.getUnitType().equals(CooperateTypeEnum.CONSIGN.getCode())) {
+                    logisticsBaseInfoResVo.setCheckedEntName(kwcContractLogisticsUnit.getFirmName());
+                    logisticsBaseInfoResVo.setCheckedPhone(kwcContractLogisticsUnit.getSignPhone());
+                }
+
+                if (kwcContractLogisticsUnit.getUnitType().equals(CooperateTypeEnum.CARRIAGE.getCode())) {
+                    logisticsBaseInfoResVo.setCarrierEntName(kwcContractLogisticsUnit.getFirmName());
+                    logisticsBaseInfoResVo.setCarrierPhone(kwcContractLogisticsUnit.getSignPhone());
+                }
+            }
+
+            //logisticsBaseInfoResVo.setChargingName();
+            logisticsBaseInfoResVo.setContractCode(kwcContractLogistics.getContractNo());
+            logisticsBaseInfoResVo.setContractName(kwcContractLogistics.getName());
+            logisticsBaseInfoResVo.setEndTime(kwcContractLogistics.getEndTime());
+            logisticsBaseInfoResVo.setSigningWayName(kwcContractLogistics.getSigningWay());
+            logisticsBaseInfoResVo.setStartTime(kwcContractLogistics.getStartTime());
+            contractLogisticsDetailResVo.setBaseInfo(logisticsBaseInfoResVo);
+        }
+
+        //标的信息
+        List<KwcContractLogisticsGoods> kwcContractLogisticsGoodsList = kwcContractLogisticsGoodsService.queryGoodsInfoByContractId(kwcContractLogistics.getId());
+        if (CollectionUtils.isNotEmpty(kwcContractLogisticsGoodsList)) {
+            List<Long> goodsIdList = kwcContractLogisticsGoodsList.stream().map(KwcContractLogisticsGoods::getGoodsId).toList();
+            List<LogisticsGoodsInfoResVo> goodsInfo = new ArrayList<>();
+            for (KwcContractLogisticsGoods kwcContractLogisticsGoods : kwcContractLogisticsGoodsList) {
+                LogisticsGoodsInfoResVo logisticsGoodsInfoResVo = new LogisticsGoodsInfoResVo();
+                logisticsGoodsInfoResVo.setAmount(kwcContractLogisticsGoods.getAmount());
+                logisticsGoodsInfoResVo.setUnit(kwcContractLogisticsGoods.getUnit());
+                logisticsGoodsInfoResVo.setPrice(kwcContractLogisticsGoods.getPrice());
+                //logisticsGoodsInfoResVo.setPriceUnit();
+                logisticsGoodsInfoResVo.setDeficitPrice(kwcContractLogisticsGoods.getDeficitPrice());
+                logisticsGoodsInfoResVo.setDeficitUnit(kwcContractLogisticsGoods.getDeficitUnit());
+                //logisticsGoodsInfoResVo.setGoodsName();
+                logisticsGoodsInfoResVo.setLoss(kwcContractLogisticsGoods.getLoss());
+                logisticsGoodsInfoResVo.setLossUnit(kwcContractLogisticsGoods.getLossUnit());
+                goodsInfo.add(logisticsGoodsInfoResVo);
+            }
+            contractLogisticsDetailResVo.setGoodsInfo(goodsInfo);
+        }
+
+        //合同文件
+        List<String> fileList = new ArrayList<>();
+        fileList.add(kwcContractLogistics.getSignedUrl());
+        fileList.add(kwcContractLogistics.getSigningUrl());
+        contractLogisticsDetailResVo.setContractFile(fileList);
+
+        //补充合同
+        List<KwcContractLogistics> supplementList = getSupplementList(kwcContractLogistics);
+        if (CollectionUtils.isNotEmpty(supplementList)) {
+            List<ContractLogisticsDetailResVo> child = new ArrayList<>();
+            for (KwcContractLogistics supplement : supplementList) {
+                child.add(buildContractLogisticsDetailResVo(supplement));
+            }
+            contractLogisticsDetailResVo.setChild(child);
+        }
+        return contractLogisticsDetailResVo;
+    }
+
+
+    private List<KwcContractLogistics> getSupplementList(KwcContractLogistics kwcContractLogistics) {
+        LambdaQueryWrapper<KwcContractLogistics> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(KwcContractLogistics::getContractPid, kwcContractLogistics.getId());
+        wrapper.eq(KwcContractLogistics::getDelFlag, Global.NO);
+        wrapper.eq(KwcContractLogistics::getStatus, Global.NO);
+        List<KwcContractLogistics> supplementList = kwcContractLogisticsMapper.selectList(wrapper);
+        return supplementList;
+    }
+
+
+    /**
+     * @desc: 发起签约
+     * @param: reqVo 入参
+     * @author: czh
+     * @date 2023/7/17
+     */
+    @Transactional(rollbackFor = {})
+    public void submit(ContractLogisticsReqVo reqVo) {
+        Long id = reqVo.getId();
+        if (Objects.isNull(id)) {
+            //创建合同
+            KwcContractLogistics kwcContractLogistics = getKwcContractLogistics(reqVo.getBaseInfo(), reqVo.getRemark(), reqVo.getPId());
+            Date date = new Date();
+            id = new IdWorker(1L).nextId();
+            kwcContractLogistics.setId(id);
+            kwcContractLogistics.setStatus(ContractStatusEnum.SUBMIT.getCode());
+            kwcContractLogistics.setCreateBy(LoginUserHolder.getUserId());
+            kwcContractLogistics.setCreateTime(date);
+            kwcContractLogistics.setUpdateBy(LoginUserHolder.getUserId());
+            kwcContractLogistics.setUpdateTime(date);
+            kwcContractLogistics.setDelFlag(Global.NO);
+            if (kwcContractLogisticsMapper.insert(kwcContractLogistics) <= 0) {
+                throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
+            }
+
+            //存审批记录
+            kwcContractLogisticsTrackService.saveContractLogisticsTrack(id);
+            return;
+        }
+
+        id = addCheckedContract(reqVo);
+        //存审批记录
+        kwcContractLogisticsTrackService.saveContractLogisticsTrack(id);
+    }
+
+
+    /**
+     * @desc: 修改草稿
+     * @param: reqVo 入参
+     * @author: czh
+     * @date 2023/7/16
+     */
+    @Transactional(rollbackFor = {})
+    public void update(ContractLogisticsReqVo reqVo) {
+        Long contractId = reqVo.getId();
+        KwcContractLogistics kwcContractLogistics = kwcContractLogisticsMapper.selectById(contractId);
+        if (Objects.isNull(kwcContractLogistics)) {
+            throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.CONTRACT_NOT_EXISTS);
+        }
+
+        KwcContractLogistics param = getKwcContractLogistics(reqVo.getBaseInfo(), reqVo.getRemark(), reqVo.getPId());
+        param.setId(contractId);
+        param.setStatus(ContractStatusEnum.SAVE.getCode());
+        param.setUpdateBy(LoginUserHolder.getUserId());
+        param.setUpdateTime(new Date());
+        if (kwcContractLogisticsMapper.updateById(param) <= 0) {
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
+        }
+
+
+        //保存交易合同商品信息-先把以前的删除
+        List<KwcContractLogisticsGoods> kwcContractLogisticsGoodsList = kwcContractLogisticsGoodsService.queryGoodsInfoByContractId(contractId);
+        if (CollectionUtils.isNotEmpty(kwcContractLogisticsGoodsList)) {
+            Date date = new Date();
+            kwcContractLogisticsGoodsList.forEach(item -> {
+                item.setDelFlag(Global.YES);
+                item.setCreateBy(LoginUserHolder.getUserId());
+                item.setCreateTime(date);
+            });
+
+            if (kwcContractLogisticsGoodsService.updateBatch(kwcContractLogisticsGoodsList) != kwcContractLogisticsGoodsList.size()) {
+                throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
+            }
+        }
+        kwcContractLogisticsGoodsService.saveContractLogisticsGoods(kwcContractLogistics.getId(), reqVo.getGoodsInfo());
+
+    }
+
+    /**
+     * @desc: 手动完结
+     * @param: reqVo ids
+     * @author: czh
+     * @date 2023/7/16
+     * @return HttpResult
+     */
+    @Transactional(rollbackFor = {})
+    public void complete(String ids) {
+        List<Long> contractIdList = Arrays.asList(ids.split(Global.COMMA)).stream().map(Long::parseLong).toList();
+        List<KwcContractLogistics> kwcContractLogistics = kwcContractLogisticsMapper.selectBatchIds(contractIdList);
+        Date date = new Date();
+        kwcContractLogistics.forEach(item -> {
+            item.setStatus(ContractStatusEnum.COMPLETE.getCode());
+            item.setUpdateBy(LoginUserHolder.getUserId());
+            item.setUpdateTime(date);
+            if (kwcContractLogisticsMapper.updateById(item) <= 0) {
+                throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
+            }
+        });
+
+    }
+
+
+    /**
+     * @desc: 手动完结
+     * @param: reqVo ids
+     * @author: czh
+     * @date 2023/7/16
+     * @return HttpResult
+     */
+    @Transactional(rollbackFor = {})
+    public void delete(String ids) {
+        List<Long> contractIdList = Arrays.asList(ids.split(Global.COMMA)).stream().map(Long::parseLong).toList();
+        List<KwcContractLogistics> kwcContractLogistics = kwcContractLogisticsMapper.selectBatchIds(contractIdList);
+        Date date = new Date();
+        kwcContractLogistics.forEach(item -> {
+            if (item.getStatus() != ContractStatusEnum.SAVE.getCode()) {
+                throw new SystemException(HttpStatus.CODE_10301, HttpStatus.MSG_022);
+            }
+            item.setStatus(ContractStatusEnum.COMPLETE.getCode());
+            item.setUpdateBy(LoginUserHolder.getUserId());
+            item.setUpdateTime(date);
+            if (kwcContractLogisticsMapper.updateById(item) <= 0) {
+                throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
+            }
+        });
+    }
+
+    /**
+     * @desc: 分页查询
+     * @param:  reqVo
+     * @author: czh
+     * @date 2023/7/17
+     * @return PageResult
+     */
+    public PageResult queryListByPage(QueryListReqVo reqVo) {
+        PageHelper.startPage(reqVo.getPage(), reqVo.getPageSize());
+        List<QueryListResVo> list = kwcContractLogisticsMapper.queryList(reqVo);
+        return PageHelperUtil.getPageResult(new PageInfo<>(list));
+    }
+
+    public void export(QueryListReqVo reqVo) {
+        if (StringUtils.isNotBlank(reqVo.getIds())) {
+            List<Long> idList = Arrays.asList(reqVo.getIds().split(Global.COMMA)).stream().map(Long::parseLong).toList();
+            reqVo.setIdList(idList);
+        }
+        List<QueryListResVo> queryListResVos = kwcContractLogisticsMapper.queryList(reqVo);
+        try {
+            EasyExcelUtil.writeSingleExcel("物流合同.xlsx", "sheet1", queryListResVos, QueryListResVo.class);
+        } catch (IOException e) {
+            log.error("导出失败:", e);
+            throw new SystemException(HttpStatus.CODE_10301, HttpStatus.MSG_014);
+        }
+    }
+}
+
+
+
+

+ 54 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsTrackService.java

@@ -0,0 +1,54 @@
+package com.sckw.contract.service;
+import java.util.Date;
+
+import com.sckw.contract.dao.KwcContractLogisticsTrackMapper;
+import com.sckw.contract.model.entity.KwcContractLogisticsTrack;
+import com.sckw.core.exception.SystemException;
+import com.sckw.core.model.constant.Global;
+import com.sckw.core.model.enums.ContractTrackEnum;
+import com.sckw.core.utils.IdWorker;
+import com.sckw.core.web.constant.HttpStatus;
+import com.sckw.core.web.context.LoginUserHolder;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_logistics_track(物流合同(承运合同/托运合同)-物流订单)】的数据库操作Service实现
+* @createDate 2023-07-13 13:36:19
+*/
+@Service
+public class KwcContractLogisticsTrackService {
+
+    @Autowired
+    private KwcContractLogisticsTrackMapper kwcContractLogisticsTrackMapper;
+
+    /**
+     * @param contractId 合同id
+     * @desc: 存审批记录
+     * @author: czh
+     * @date: 2023/7/14
+     */
+    public void saveContractLogisticsTrack(Long contractId) {
+        KwcContractLogisticsTrack kwcContractLogisticsTrack = new KwcContractLogisticsTrack();
+        Date date = new Date();
+        kwcContractLogisticsTrack.setId(new IdWorker(1L).nextId());
+        kwcContractLogisticsTrack.setContractId(contractId);
+        kwcContractLogisticsTrack.setType(ContractTrackEnum.APPROVAL.getCode());
+        kwcContractLogisticsTrack.setRemark("");
+        kwcContractLogisticsTrack.setStatus(Global.NO);
+        kwcContractLogisticsTrack.setCreateBy(LoginUserHolder.getUserId());
+        kwcContractLogisticsTrack.setCreateTime(date);
+        kwcContractLogisticsTrack.setUpdateBy(LoginUserHolder.getUserId());
+        kwcContractLogisticsTrack.setUpdateTime(date);
+        kwcContractLogisticsTrack.setDelFlag(Global.NO);
+        if (kwcContractLogisticsTrackMapper.insert(kwcContractLogisticsTrack) <= 0) {
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
+        }
+    }
+
+}
+
+
+
+

+ 117 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsUnitService.java

@@ -0,0 +1,117 @@
+package com.sckw.contract.service;
+
+import java.util.*;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.sckw.contract.dao.KwcContractLogisticsUnitMapper;
+import com.sckw.contract.model.entity.KwcContractLogisticsUnit;
+import com.sckw.contract.model.vo.req.LogisticsBaseInfoReqVo;
+import com.sckw.core.exception.SystemException;
+import com.sckw.core.model.constant.Global;
+import com.sckw.core.model.enums.CooperateTypeEnum;
+import com.sckw.core.utils.IdWorker;
+import com.sckw.core.web.constant.HttpStatus;
+import com.sckw.core.web.context.LoginUserHolder;
+import com.sckw.system.api.model.dto.res.EntCacheResDto;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author PC
+ * @description 针对表【kwc_contract_logistics_unit(物流合同采购/销售企业信息)】的数据库操作Service实现
+ * @createDate 2023-07-13 13:36:19
+ */
+@Service
+public class KwcContractLogisticsUnitService {
+
+    @Autowired
+    private KwcContractLogisticsUnitMapper kwcContractLogisticsUnitMapper;
+
+    @Autowired
+    private CommonBusinessService commonBusinessService;
+
+    /**
+     * @desc: 保存合同单位
+     * @param: contractId 合同id, baseInfo基础信息
+     * @author: czh
+     * @date 2023/7/16
+     */
+    public void saveContractLogisticsUnit(Long contractId, LogisticsBaseInfoReqVo baseInfo) throws SystemException {
+        List<Long> entIdList = new ArrayList<>();
+        entIdList.add(baseInfo.getCheckedEntId());
+        entIdList.add(baseInfo.getCarrierEntId());
+        Map<Long, EntCacheResDto> entCacheResDtoMap = commonBusinessService.queryEntCacheMapByIds(entIdList);
+
+        Date date = new Date();
+        saveCheckAndCarrier(contractId, entCacheResDtoMap, date, baseInfo);
+    }
+
+    /**
+     * @desc: 存托运、承运企业
+     * @param: contractId 合同id, entCacheResDtoMap 企业信息 date时间  logisticsBaseInfoReqVo 入参
+     * @author: czh
+     * @date 2023/7/16
+     */
+    private void saveCheckAndCarrier(Long contractId, Map<Long, EntCacheResDto> entCacheResDtoMap, Date date, LogisticsBaseInfoReqVo logisticsBaseInfoReqVo) {
+        //存托运企业
+        KwcContractLogisticsUnit kwcContractLogisticsUnit = new KwcContractLogisticsUnit();
+        kwcContractLogisticsUnit.setId(new IdWorker(1L).nextId());
+        kwcContractLogisticsUnit.setContractId(contractId);
+        kwcContractLogisticsUnit.setUnitType(CooperateTypeEnum.CONSIGN.getCode());
+        kwcContractLogisticsUnit.setEntId(logisticsBaseInfoReqVo.getCheckedEntId());
+        saveEnt(entCacheResDtoMap, kwcContractLogisticsUnit);
+        kwcContractLogisticsUnit.setSignPhone(logisticsBaseInfoReqVo.getCheckedPhone());
+        kwcContractLogisticsUnit.setStatus(Global.NO);
+        kwcContractLogisticsUnit.setCreateBy(LoginUserHolder.getUserId());
+        kwcContractLogisticsUnit.setCreateTime(date);
+        kwcContractLogisticsUnit.setUpdateBy(LoginUserHolder.getUserId());
+        kwcContractLogisticsUnit.setUpdateTime(date);
+        kwcContractLogisticsUnit.setDelFlag(Global.NO);
+        if (kwcContractLogisticsUnitMapper.insert(kwcContractLogisticsUnit) <= 0) {
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
+        }
+
+        //存承运运企业
+        kwcContractLogisticsUnit.setId(new IdWorker(1L).nextId());
+        kwcContractLogisticsUnit.setUnitType(CooperateTypeEnum.CARRIAGE.getCode());
+        kwcContractLogisticsUnit.setEntId(logisticsBaseInfoReqVo.getCheckedEntId());
+        saveEnt(entCacheResDtoMap, kwcContractLogisticsUnit);
+        kwcContractLogisticsUnit.setSignPhone(logisticsBaseInfoReqVo.getCarrierPhone());
+        if (kwcContractLogisticsUnitMapper.insert(kwcContractLogisticsUnit) <= 0) {
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
+        }
+    }
+
+    /**
+     * @desc: 保存合同企业
+     * @author: czh
+     * @date 2023/7/16
+     */
+    private void saveEnt(Map<Long, EntCacheResDto> entCacheResDtoMap, KwcContractLogisticsUnit kwcContractLogisticsUnit) {
+        EntCacheResDto entCacheResDto = entCacheResDtoMap.get(kwcContractLogisticsUnit.getEntId());
+        if (Objects.nonNull(entCacheResDto)) {
+            kwcContractLogisticsUnit.setFirmName(entCacheResDto.getFirmName());
+        }
+        kwcContractLogisticsUnit.setContacts(entCacheResDto.getContacts());
+        kwcContractLogisticsUnit.setPhone(entCacheResDto.getPhone());
+    }
+
+    /**
+     * @desc: 根据合同id查企业
+     * @param: id 合同id
+     * @author: czh
+     * @date 2023/7/16
+     * @return KwcContractLogisticsUnit
+     */
+    public List<KwcContractLogisticsUnit> queryByContractId(Long id) {
+        LambdaQueryWrapper<KwcContractLogisticsUnit> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(KwcContractLogisticsUnit::getContractId, id);
+        wrapper.eq(KwcContractLogisticsUnit::getDelFlag, Global.NO);
+        wrapper.eq(KwcContractLogisticsUnit::getStatus, Global.NO);
+        return kwcContractLogisticsUnitMapper.selectList(wrapper);
+    }
+}
+
+
+
+

+ 17 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTemplateService.java

@@ -0,0 +1,17 @@
+package com.sckw.contract.service;
+
+import org.springframework.stereotype.Service;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_template(合同模版)】的数据库操作Service实现
+* @createDate 2023-07-13 13:36:19
+*/
+@Service
+public class KwcContractTemplateService {
+
+}
+
+
+
+

+ 18 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeGoodsService.java

@@ -0,0 +1,18 @@
+package com.sckw.contract.service;
+
+import org.springframework.stereotype.Service;
+
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_trade_goods(交易合同商品信息)】的数据库操作Service实现
+* @createDate 2023-07-13 13:36:19
+*/
+@Service
+public class KwcContractTradeGoodsService {
+
+}
+
+
+
+

+ 17 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeOrderService.java

@@ -0,0 +1,17 @@
+package com.sckw.contract.service;
+
+import org.springframework.stereotype.Service;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_trade_order(交易合同(采购合同/销售合同)-状态记录)】的数据库操作Service实现
+* @createDate 2023-07-13 13:36:19
+*/
+@Service
+public class KwcContractTradeOrderService {
+
+}
+
+
+
+

+ 17 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeService.java

@@ -0,0 +1,17 @@
+package com.sckw.contract.service;
+
+import org.springframework.stereotype.Service;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_trade(交易合同(采购合同/销售合同))】的数据库操作Service实现
+* @createDate 2023-07-13 13:36:19
+*/
+@Service
+public class KwcContractTradeService {
+
+}
+
+
+
+

+ 17 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeTrackService.java

@@ -0,0 +1,17 @@
+package com.sckw.contract.service;
+
+import org.springframework.stereotype.Service;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_trade_track(交易合同(采购合同/销售合同)-交易订单(采购订单/销售订单))】的数据库操作Service实现
+* @createDate 2023-07-13 13:36:19
+*/
+@Service
+public class KwcContractTradeTrackService {
+
+}
+
+
+
+

+ 17 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeUnitService.java

@@ -0,0 +1,17 @@
+package com.sckw.contract.service;
+
+import org.springframework.stereotype.Service;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_trade_unit(交易合同采购/销售企业信息)】的数据库操作Service实现
+* @createDate 2023-07-13 13:36:19
+*/
+@Service
+public class KwcContractTradeUnitService {
+
+}
+
+
+
+

+ 38 - 0
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsGoodsMapper.xml

@@ -0,0 +1,38 @@
+<?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.contract.dao.KwcContractLogisticsGoodsMapper">
+
+    <resultMap id="BaseResultMap" type="com.sckw.contract.model.entity.KwcContractLogisticsGoods">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="contract_id" column="contract_id" jdbcType="BIGINT"/>
+            <result property="goods_id" column="goods_id" jdbcType="BIGINT"/>
+            <result property="sku_id" column="sku_id" jdbcType="BIGINT"/>
+            <result property="amount" column="amount" jdbcType="DECIMAL"/>
+            <result property="unit" column="unit" jdbcType="VARCHAR"/>
+            <result property="price" column="price" jdbcType="DECIMAL"/>
+            <result property="performed_amount" column="performed_amount" jdbcType="DECIMAL"/>
+            <result property="loss" column="loss" jdbcType="DECIMAL"/>
+            <result property="loss_unit" column="loss_unit" jdbcType="VARCHAR"/>
+            <result property="deficit_price" column="deficit_price" jdbcType="DECIMAL"/>
+            <result property="deficit_unit" column="deficit_unit" jdbcType="VARCHAR"/>
+            <result property="remark" column="remark" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="INTEGER"/>
+            <result property="create_by" column="create_by" jdbcType="BIGINT"/>
+            <result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="update_by" column="update_by" jdbcType="BIGINT"/>
+            <result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="del_flag" column="del_flag" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,contract_id,goods_id,
+        sku_id,amount,unit,
+        price,performed_amount,loss,
+        loss_unit,deficit_price,deficit_unit,
+        remark,status,create_by,
+        create_time,update_by,update_time,
+        del_flag
+    </sql>
+</mapper>

+ 66 - 0
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsMapper.xml

@@ -0,0 +1,66 @@
+<?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.contract.dao.KwcContractLogisticsMapper">
+
+    <resultMap id="BaseResultMap" type="com.sckw.contract.model.entity.KwcContractLogistics">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="ent_id" column="ent_id" jdbcType="BIGINT"/>
+            <result property="contract_no" column="contract_no" jdbcType="VARCHAR"/>
+            <result property="name" column="name" jdbcType="VARCHAR"/>
+            <result property="signing_way" column="signing_way" jdbcType="VARCHAR"/>
+            <result property="charging" column="charging" jdbcType="BIGINT"/>
+            <result property="trading" column="trading" jdbcType="BIGINT"/>
+            <result property="start_time" column="start_time" jdbcType="TIMESTAMP"/>
+            <result property="end_time" column="end_time" jdbcType="TIMESTAMP"/>
+            <result property="amount" column="amount" jdbcType="DECIMAL"/>
+            <result property="performed_amount" column="performed_amount" jdbcType="DECIMAL"/>
+            <result property="signing_url" column="signing_url" jdbcType="VARCHAR"/>
+            <result property="signed_url" column="signed_url" jdbcType="VARCHAR"/>
+            <result property="signing_no" column="signing_no" jdbcType="VARCHAR"/>
+            <result property="contract_pid" column="contract_pid" jdbcType="BIGINT"/>
+            <result property="remark" column="remark" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="INTEGER"/>
+            <result property="create_by" column="create_by" jdbcType="BIGINT"/>
+            <result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="update_by" column="update_by" jdbcType="BIGINT"/>
+            <result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="del_flag" column="del_flag" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,ent_id,contract_no,
+        name,signing_way,charging,
+        trading,start_time,end_time,
+        amount,performed_amount,signing_url,
+        signed_url,signing_no,contract_pid,
+        remark,status,create_by,
+        create_time,update_by,update_time,
+        del_flag
+    </sql>
+    <select id="queryList" resultType="com.sckw.contract.model.vo.res.QueryListResVo">
+        select distinct a.*
+          from kwc_contract_logistics a
+          left join kwc_contract_logistics_unit b on a.id = b.contractId
+        where a.del_flag = 0
+          <if test="startTime != null">
+              and a.create_time >= #{startTime}
+          </if>
+          <if test="endTime != null">
+              and a.create_time &lt;= #{endTime}
+          </if>
+          <if test="status != null">
+              and a.status = #{status}
+          </if>
+          <if test="keywords != null and keywords != ''">
+              and (b.firm_name like concat('%', keywords, '%') or b.contacts like concat('%', keywords, '%') or b.phone like concat('%', keywords, '%'))
+          </if>
+          <if test="idList != null and idList.size() > 0">
+              and a.id in
+            <foreach collection="idList" open="(" close=")" separator="," item="item">
+                #{item}
+            </foreach>
+          </if>
+    </select>
+</mapper>

+ 26 - 0
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsTrackMapper.xml

@@ -0,0 +1,26 @@
+<?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.contract.dao.KwcContractLogisticsTrackMapper">
+
+    <resultMap id="BaseResultMap" type="com.sckw.contract.model.entity.KwcContractLogisticsTrack">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="contract_id" column="contract_id" jdbcType="BIGINT"/>
+            <result property="type" column="type" jdbcType="INTEGER"/>
+            <result property="remark" column="remark" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="INTEGER"/>
+            <result property="create_by" column="create_by" jdbcType="BIGINT"/>
+            <result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="update_by" column="update_by" jdbcType="BIGINT"/>
+            <result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="del_flag" column="del_flag" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,contract_id,type,
+        remark,status,create_by,
+        create_time,update_by,update_time,
+        del_flag
+    </sql>
+</mapper>

+ 32 - 0
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsUnitMapper.xml

@@ -0,0 +1,32 @@
+<?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.contract.dao.KwcContractLogisticsUnitMapper">
+
+    <resultMap id="BaseResultMap" type="com.sckw.contract.model.entity.KwcContractLogisticsUnit">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="contract_id" column="contract_id" jdbcType="BIGINT"/>
+            <result property="unit_type" column="unit_type" jdbcType="INTEGER"/>
+            <result property="ent_id" column="ent_id" jdbcType="BIGINT"/>
+            <result property="firm_name" column="firm_name" jdbcType="VARCHAR"/>
+            <result property="contacts" column="contacts" jdbcType="VARCHAR"/>
+            <result property="phone" column="phone" jdbcType="VARCHAR"/>
+            <result property="sign_phone" column="sign_phone" jdbcType="VARCHAR"/>
+            <result property="remark" column="remark" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="INTEGER"/>
+            <result property="create_by" column="create_by" jdbcType="BIGINT"/>
+            <result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="update_by" column="update_by" jdbcType="BIGINT"/>
+            <result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="del_flag" column="del_flag" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,contract_id,unit_type,
+        ent_id,firm_name,contacts,
+        phone,sign_phone,remark,
+        status,create_by,create_time,
+        update_by,update_time,del_flag
+    </sql>
+</mapper>

+ 28 - 0
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTemplateMapper.xml

@@ -0,0 +1,28 @@
+<?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.contract.dao.KwcContractTemplateMapper">
+
+    <resultMap id="BaseResultMap" type="com.sckw.contract.model.entity.KwcContractTemplate">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="ent_id" column="ent_id" jdbcType="BIGINT"/>
+            <result property="code" column="code" jdbcType="VARCHAR"/>
+            <result property="name" column="name" jdbcType="VARCHAR"/>
+            <result property="url" column="url" jdbcType="VARCHAR"/>
+            <result property="remark" column="remark" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="INTEGER"/>
+            <result property="create_by" column="create_by" jdbcType="BIGINT"/>
+            <result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="update_by" column="update_by" jdbcType="BIGINT"/>
+            <result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="del_flag" column="del_flag" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,ent_id,code,
+        name,url,remark,
+        status,create_by,create_time,
+        update_by,update_time,del_flag
+    </sql>
+</mapper>

+ 32 - 0
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeGoodsMapper.xml

@@ -0,0 +1,32 @@
+<?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.contract.dao.KwcContractTradeGoodsMapper">
+
+    <resultMap id="BaseResultMap" type="com.sckw.contract.model.entity.KwcContractTradeGoods">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="contract_id" column="contract_id" jdbcType="BIGINT"/>
+            <result property="goods_id" column="goods_id" jdbcType="BIGINT"/>
+            <result property="sku_id" column="sku_id" jdbcType="BIGINT"/>
+            <result property="amount" column="amount" jdbcType="DECIMAL"/>
+            <result property="unit" column="unit" jdbcType="VARCHAR"/>
+            <result property="price" column="price" jdbcType="DECIMAL"/>
+            <result property="performed_amount" column="performed_amount" jdbcType="DECIMAL"/>
+            <result property="remark" column="remark" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="INTEGER"/>
+            <result property="create_by" column="create_by" jdbcType="BIGINT"/>
+            <result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="update_by" column="update_by" jdbcType="BIGINT"/>
+            <result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="del_flag" column="del_flag" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,contract_id,goods_id,
+        sku_id,amount,unit,
+        price,performed_amount,remark,
+        status,create_by,create_time,
+        update_by,update_time,del_flag
+    </sql>
+</mapper>

+ 40 - 0
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeMapper.xml

@@ -0,0 +1,40 @@
+<?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.contract.dao.KwcContractTradeMapper">
+
+    <resultMap id="BaseResultMap" type="com.sckw.contract.model.entity.KwcContractTrade">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="ent_id" column="ent_id" jdbcType="BIGINT"/>
+            <result property="contract_no" column="contract_no" jdbcType="VARCHAR"/>
+            <result property="name" column="name" jdbcType="VARCHAR"/>
+            <result property="signing_way" column="signing_way" jdbcType="BIGINT"/>
+            <result property="trading" column="trading" jdbcType="BIGINT"/>
+            <result property="start_time" column="start_time" jdbcType="TIMESTAMP"/>
+            <result property="end_time" column="end_time" jdbcType="TIMESTAMP"/>
+            <result property="amount" column="amount" jdbcType="DECIMAL"/>
+            <result property="performed_amount" column="performed_amount" jdbcType="DECIMAL"/>
+            <result property="signing_url" column="signing_url" jdbcType="VARCHAR"/>
+            <result property="signed_url" column="signed_url" jdbcType="VARCHAR"/>
+            <result property="signing_no" column="signing_no" jdbcType="VARCHAR"/>
+            <result property="contract_pid" column="contract_pid" jdbcType="BIGINT"/>
+            <result property="remark" column="remark" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="INTEGER"/>
+            <result property="create_by" column="create_by" jdbcType="BIGINT"/>
+            <result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="update_by" column="update_by" jdbcType="BIGINT"/>
+            <result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="del_flag" column="del_flag" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,ent_id,contract_no,
+        name,signing_way,trading,
+        start_time,end_time,amount,
+        performed_amount,signing_url,signed_url,
+        signing_no,contract_pid,remark,
+        status,create_by,create_time,
+        update_by,update_time,del_flag
+    </sql>
+</mapper>

+ 27 - 0
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeOrderMapper.xml

@@ -0,0 +1,27 @@
+<?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.contract.dao.KwcContractTradeOrderMapper">
+
+    <resultMap id="BaseResultMap" type="com.sckw.contract.model.entity.KwcContractTradeOrder">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="contract_id" column="contract_id" jdbcType="BIGINT"/>
+            <result property="order_id" column="order_id" jdbcType="BIGINT"/>
+            <result property="order_no" column="order_no" jdbcType="VARCHAR"/>
+            <result property="remark" column="remark" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="INTEGER"/>
+            <result property="create_by" column="create_by" jdbcType="BIGINT"/>
+            <result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="update_by" column="update_by" jdbcType="BIGINT"/>
+            <result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="del_flag" column="del_flag" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,contract_id,order_id,
+        order_no,remark,status,
+        create_by,create_time,update_by,
+        update_time,del_flag
+    </sql>
+</mapper>

+ 24 - 0
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeTrackMapper.xml

@@ -0,0 +1,24 @@
+<?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.contract.dao.KwcContractTradeTrackMapper">
+
+    <resultMap id="BaseResultMap" type="com.sckw.contract.model.entity.KwcContractTradeTrack">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="contract_id" column="contract_id" jdbcType="BIGINT"/>
+            <result property="remark" column="remark" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="INTEGER"/>
+            <result property="create_by" column="create_by" jdbcType="BIGINT"/>
+            <result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="update_by" column="update_by" jdbcType="BIGINT"/>
+            <result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="del_flag" column="del_flag" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,contract_id,remark,
+        status,create_by,create_time,
+        update_by,update_time,del_flag
+    </sql>
+</mapper>

+ 32 - 0
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeUnitMapper.xml

@@ -0,0 +1,32 @@
+<?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.contract.dao.KwcContractTradeUnitMapper">
+
+    <resultMap id="BaseResultMap" type="com.sckw.contract.model.entity.KwcContractTradeUnit">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="ent_id" column="ent_id" jdbcType="BIGINT"/>
+            <result property="contract_id" column="contract_id" jdbcType="BIGINT"/>
+            <result property="unit_type" column="unit_type" jdbcType="INTEGER"/>
+            <result property="firm_name" column="firm_name" jdbcType="VARCHAR"/>
+            <result property="contacts" column="contacts" jdbcType="VARCHAR"/>
+            <result property="phone" column="phone" jdbcType="VARCHAR"/>
+            <result property="sign_hone" column="sign_hone" jdbcType="VARCHAR"/>
+            <result property="remark" column="remark" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="INTEGER"/>
+            <result property="create_by" column="create_by" jdbcType="BIGINT"/>
+            <result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="update_by" column="update_by" jdbcType="BIGINT"/>
+            <result property="update_time" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="del_flag" column="del_flag" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,ent_id,contract_id,
+        unit_type,firm_name,contacts,
+        phone,sign_hone,remark,
+        status,create_by,create_time,
+        update_by,update_time,del_flag
+    </sql>
+</mapper>

+ 5 - 0
sckw-modules/sckw-fleet/pom.xml

@@ -64,6 +64,11 @@
             <artifactId>sckw-system-api</artifactId>
             <artifactId>sckw-system-api</artifactId>
         </dependency>
         </dependency>
 
 
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-fleet-api</artifactId>
+        </dependency>
+
     </dependencies>
     </dependencies>
 
 
     <build>
     <build>

+ 0 - 3
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/controller/KwfFleetController.java

@@ -5,14 +5,11 @@ import com.github.pagehelper.PageInfo;
 import com.sckw.core.exception.SystemException;
 import com.sckw.core.exception.SystemException;
 import com.sckw.core.model.page.PageHelperUtil;
 import com.sckw.core.model.page.PageHelperUtil;
 import com.sckw.core.model.page.PageResult;
 import com.sckw.core.model.page.PageResult;
-import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.excel.easyexcel.RequestHolder;
 import com.sckw.excel.easyexcel.RequestHolder;
 import com.sckw.excel.utils.ExcelUtil;
 import com.sckw.excel.utils.ExcelUtil;
-import com.sckw.fleet.model.KwfDriver;
 import com.sckw.fleet.model.KwfFleet;
 import com.sckw.fleet.model.KwfFleet;
 import com.sckw.fleet.model.dto.KwfFleetDto;
 import com.sckw.fleet.model.dto.KwfFleetDto;
-import com.sckw.fleet.model.vo.KwfDriverVo;
 import com.sckw.fleet.model.vo.KwfFleetVo;
 import com.sckw.fleet.model.vo.KwfFleetVo;
 import com.sckw.fleet.service.KwfFleetService;
 import com.sckw.fleet.service.KwfFleetService;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.servlet.http.HttpServletResponse;

+ 5 - 4
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/controller/KwfTruckController.java

@@ -13,6 +13,7 @@ import com.sckw.excel.utils.ExcelUtil;
 import com.sckw.fleet.model.*;
 import com.sckw.fleet.model.*;
 import com.sckw.fleet.model.dto.*;
 import com.sckw.fleet.model.dto.*;
 import com.sckw.fleet.model.vo.KwfDriverVo;
 import com.sckw.fleet.model.vo.KwfDriverVo;
+import com.sckw.fleet.model.vo.KwfTruckVo;
 import com.sckw.fleet.service.KwfTruckService;
 import com.sckw.fleet.service.KwfTruckService;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.Valid;
 import jakarta.validation.Valid;
@@ -107,11 +108,11 @@ public class KwfTruckController {
     @PostMapping("/export")
     @PostMapping("/export")
     public HttpResult export(@RequestBody HashMap params) {
     public HttpResult export(@RequestBody HashMap params) {
         /**查询数据**/
         /**查询数据**/
-        List<KwfDriverVo> drivers = truckService.findPage(params);
+        List<KwfTruckVo> trucks = truckService.findPage(params);
 
 
-        if (!CollectionUtils.isEmpty(drivers)) {
+        if (!CollectionUtils.isEmpty(trucks)) {
             HttpServletResponse response = RequestHolder.getResponse();
             HttpServletResponse response = RequestHolder.getResponse();
-            ExcelUtil.download(response, KwfDriverVo.class, drivers);
+            ExcelUtil.download(response, KwfTruckVo.class, trucks);
             return null;
             return null;
         }
         }
         return HttpResult.error("无数据!");
         return HttpResult.error("无数据!");
@@ -179,7 +180,7 @@ public class KwfTruckController {
      * @author zk
      * @author zk
      * @date 2023/7/7
      * @date 2023/7/7
      **/
      **/
-    @PostMapping("/transportLicenseEdit")
+    @PostMapping("/tranLicenseEdit")
     public HttpResult transportLicenseEdit(@Valid @RequestBody KwfTransportLicenseDto params) throws SystemException {
     public HttpResult transportLicenseEdit(@Valid @RequestBody KwfTransportLicenseDto params) throws SystemException {
         return truckService.transportLicenseEdit(params);
         return truckService.transportLicenseEdit(params);
     }
     }

+ 6 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/dao/KwfFleetDriverMapper.java

@@ -12,4 +12,10 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 @Mapper
 public interface KwfFleetDriverMapper extends BaseMapper<KwfFleetDriver> {
 public interface KwfFleetDriverMapper extends BaseMapper<KwfFleetDriver> {
 
 
+    /**
+     * 查询
+     * @param params 参数
+     * @return
+     */
+    KwfFleetDriver findByTruckDriver(KwfFleetDriver params);
 }
 }

+ 7 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/dao/KwfFleetTruckMapper.java

@@ -2,6 +2,7 @@ package com.sckw.fleet.dao;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.sckw.fleet.model.KwfFleetTruck;
 import com.sckw.fleet.model.KwfFleetTruck;
+import com.sckw.fleet.model.KwfTruckEnt;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 /**
 /**
@@ -12,4 +13,10 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 @Mapper
 public interface KwfFleetTruckMapper extends BaseMapper<KwfFleetTruck> {
 public interface KwfFleetTruckMapper extends BaseMapper<KwfFleetTruck> {
 
 
+    /**
+     * 查询
+     * @param params 参数
+     * @return
+     */
+    KwfFleetTruck findByTruckFleet(KwfFleetTruck params);
 }
 }

+ 24 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/dao/KwfTruckReportMapper.java

@@ -2,7 +2,11 @@ package com.sckw.fleet.dao;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.sckw.fleet.model.KwfTruckReport;
 import com.sckw.fleet.model.KwfTruckReport;
+import com.sckw.fleet.model.vo.KwfTableTopCount;
+import com.sckw.fleet.model.vo.KwfTruckReportVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
+import java.util.List;
+import java.util.Map;
 
 
 /**
 /**
  * @desc 车辆上报 Mapper 接口
  * @desc 车辆上报 Mapper 接口
@@ -12,4 +16,24 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 @Mapper
 public interface KwfTruckReportMapper extends BaseMapper<KwfTruckReport> {
 public interface KwfTruckReportMapper extends BaseMapper<KwfTruckReport> {
 
 
+    /**
+     * 统计
+     * @param params
+     * @return
+     */
+    List<KwfTableTopCount> statistics(Map<String, Object> params);
+
+    /**
+     * 分页查询
+     * @param params
+     * @return
+     */
+    List<KwfTruckReportVo> findPage(Map<String, Object> params);
+
+    /**
+     * 查询
+     * @param params
+     * @return
+     */
+    List<Map<String, Object>> findList(Map<String, Object> params);
 }
 }

+ 93 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/dubbo/RemoteFleetServiceImpl.java

@@ -0,0 +1,93 @@
+package com.sckw.fleet.dubbo;
+
+import com.sckw.core.utils.CollectionUtils;
+import com.sckw.fleet.api.RemoteFleetService;
+import com.sckw.fleet.api.model.vo.RDriverVo;
+import com.sckw.fleet.api.model.vo.RTruckVo;
+import com.sckw.fleet.dao.KwfDriverMapper;
+import com.sckw.fleet.dao.KwfTruckMapper;
+import org.apache.dubbo.config.annotation.DubboService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author zk
+ * @desc 车队服务
+ * @date 2023/7/18 0018
+ */
+@DubboService(group = "design", version = "1.0.0")
+@Service
+public class RemoteFleetServiceImpl implements RemoteFleetService {
+
+    @Autowired
+    KwfTruckMapper truckDao;
+    @Autowired
+    KwfDriverMapper driverDao;
+
+    /**
+     * @param driverIds 司机档案主键id,多个已逗号隔开
+     * @desc 查询司机信息
+     * @author zk
+     * @date 2023/7/18
+     **/
+    @Override
+    public Map<Long, RDriverVo> findDriver(String driverIds) {
+        /**获取数据**/
+        Map<Long, RDriverVo> driverMap = new HashMap();
+        List<Map<String, Object>> drivers = driverDao.findList(new HashMap(){{put("ids", driverIds);}});
+        if (CollectionUtils.isEmpty(drivers)) {
+            return driverMap;
+        }
+
+        /**数据处理**/
+        for (Map<String, Object> driver:drivers) {
+            RDriverVo driverVo = new RDriverVo();
+            driverVo.setId(driver.get("id") != null ? Long.parseLong(String.valueOf(driver.get("id"))) : null);
+            driverVo.setName(driver.get("name") != null ? String.valueOf(driver.get("name")) : null);
+            driverVo.setPhone(driver.get("phone") != null ? String.valueOf(driver.get("phone")) : null);
+            driverVo.setIdcard(driver.get("idcard") != null ? String.valueOf(driver.get("idcard")) : null);
+            driverVo.setTotalComplete(driver.get("totalComplete") != null ? Integer.parseInt(String.valueOf(driver.get("totalComplete"))) : null);
+            driverVo.setTotalTake(driver.get("totalTake") != null ? Integer.parseInt(String.valueOf(driver.get("totalTake"))) : null);
+            driverVo.setTotalWeight(driver.get("totalWeight") != null ? new BigDecimal(Double.parseDouble(String.valueOf(driver.get("totalWeight")))) : null);
+            driverMap.put(driverVo.getId(), driverVo);
+        }
+
+        return driverMap;
+    }
+
+    /**
+     * @param truckNos 车牌号,多个已逗号隔开
+     * @desc 查询车辆信息
+     * @author zk
+     * @date 2023/7/18
+     **/
+    @Override
+    public Map<Long, RTruckVo> findTruck(String truckNos) {
+        /**获取数据**/
+        Map<Long, RTruckVo> truckMap = new HashMap();
+        List<Map<String, Object>> trucks = truckDao.findList(new HashMap(){{put("truckNos", truckNos);}});
+        if (CollectionUtils.isEmpty(trucks)) {
+            return truckMap;
+        }
+
+        /**数据处理**/
+        for (Map<String, Object> truck:trucks) {
+            RTruckVo truckVo = new RTruckVo();
+            truckVo.setId(truck.get("id") != null ? Long.parseLong(String.valueOf(truck.get("id"))) : null);
+            truckVo.setTruckNo(truck.get("truckNo") != null ? String.valueOf(truck.get("truckNo")) : null);
+            truckVo.setActualWeight(truck.get("actualWeight") != null ? Double.parseDouble(String.valueOf(truck.get("actualWeight"))) : null);
+            truckVo.setTrailerNo(truck.get("trailerNo") != null ? String.valueOf(truck.get("trailerNo")) : null);
+            truckVo.setTotalComplete(truck.get("totalComplete") != null ? Integer.parseInt(String.valueOf(truck.get("totalComplete"))) : null);
+            truckVo.setTotalTake(truck.get("totalTake") != null ? Integer.parseInt(String.valueOf(truck.get("totalTake"))) : null);
+            truckVo.setTotalWeight(truck.get("totalWeight") != null ? new BigDecimal(Double.parseDouble(String.valueOf(truck.get("totalWeight")))) : null);
+            truckVo.setBusinessStatus(truck.get("businessStatus") != null ? Integer.parseInt(String.valueOf(truck.get("businessStatus"))) : null);
+            truckMap.put(truckVo.getId(), truckVo);
+        }
+
+        return truckMap;
+    }
+}

+ 5 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/KwfFleetDriver.java

@@ -25,4 +25,9 @@ public class KwfFleetDriver extends BaseModel {
      */
      */
     private Long driverId;
     private Long driverId;
 
 
+    /**
+     * 企业id
+     */
+    private Long entId;
+
 }
 }

+ 7 - 2
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/KwfFleetTruck.java

@@ -21,8 +21,13 @@ public class KwfFleetTruck extends BaseModel {
     private Long fleetId;
     private Long fleetId;
 
 
     /**
     /**
-     * 车牌号
+     * 车辆档案主键id
      */
      */
-    private String truckNo;
+    private Long truckId;
+
+    /**
+     * 企业id
+     */
+    private Long entId;
 
 
 }
 }

+ 3 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/KwfTransportLicense.java

@@ -1,5 +1,6 @@
 package com.sckw.fleet.model;
 package com.sckw.fleet.model;
 
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.sckw.core.model.base.BaseModel;
 import com.sckw.core.model.base.BaseModel;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
@@ -44,11 +45,13 @@ public class KwfTransportLicense extends BaseModel {
     /**
     /**
      * 发证日期
      * 发证日期
      */
      */
+    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
     private Date grantTime;
     private Date grantTime;
 
 
     /**
     /**
      * 有效期至
      * 有效期至
      */
      */
+    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
     private Date expireTime;
     private Date expireTime;
 
 
     /**
     /**

+ 1 - 1
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/KwfTruckReport.java

@@ -23,7 +23,7 @@ public class KwfTruckReport extends BaseModel {
     /**
     /**
      * 车牌号
      * 车牌号
      */
      */
-    private String truckNo;
+    private Long truckId;
 
 
     /**
     /**
      * 司机id
      * 司机id

+ 2 - 2
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfDriverDto.java

@@ -18,7 +18,7 @@ public class KwfDriverDto {
     private String id;
     private String id;
 
 
     /**
     /**
-     * 车队名称
+     * 司机名称
      */
      */
     @NotBlank(message = "司机姓名不能为空!")
     @NotBlank(message = "司机姓名不能为空!")
     @Size(max=10, message = "司机姓名长度不能大于10个字符!")
     @Size(max=10, message = "司机姓名长度不能大于10个字符!")
@@ -40,7 +40,7 @@ public class KwfDriverDto {
     /**
     /**
      * 车队班组主键ID
      * 车队班组主键ID
      */
      */
-    private String fleetId;
+    private Long fleetId;
 
 
     /**
     /**
      * 身份证信息
      * 身份证信息

+ 2 - 2
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfTransportLicenseDto.java

@@ -44,13 +44,13 @@ public class KwfTransportLicenseDto {
     /**
     /**
      * 发证日期
      * 发证日期
      */
      */
-    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
     private Date grantTime;
     private Date grantTime;
 
 
     /**
     /**
      * 有效期至
      * 有效期至
      */
      */
-    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
     private Date expireTime;
     private Date expireTime;
 
 
     /**
     /**

+ 2 - 2
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfTruckDto.java

@@ -52,13 +52,13 @@ public class KwfTruckDto {
     /**
     /**
      * 标准荷载(净重)
      * 标准荷载(净重)
      */
      */
-    @Pattern(regexp = "^1[3456789]\\d{9}$", message = "标准荷载格式不正确!")
+    //@Pattern(regexp = "^1[3456789]\\d{9}$", message = "标准荷载格式不正确!")
     private Double actualWeight;
     private Double actualWeight;
 
 
     /**
     /**
      * 车辆总质量(毛重)
      * 车辆总质量(毛重)
      */
      */
-    @Digits(integer=1, fraction=0)
+    //@Digits(integer=1, fraction=0)
     private Double grossWeight;
     private Double grossWeight;
 
 
     /**
     /**

+ 2 - 2
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfTruckLicenseDto.java

@@ -44,13 +44,13 @@ public class KwfTruckLicenseDto {
     /**
     /**
      * 注册日期
      * 注册日期
      */
      */
-    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
     private Date regTime;
     private Date regTime;
 
 
     /**
     /**
      * 发证日期
      * 发证日期
      */
      */
-    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
     private Date grantTime;
     private Date grantTime;
 
 
     /**
     /**

Some files were not shown because too many files changed in this diff