czh před 2 roky
rodič
revize
9787a4cef9
72 změnil soubory, kde provedl 2637 přidání a 63 odebrání
  1. 2 2
      sckw-auth/src/main/java/com/sckw/auth/model/vo/req/UpdatePasswordReqVo.java
  2. 3 1
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/enums/DictTypeEnum.java
  3. 37 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/ChargingTypeEnum.java
  4. 38 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/ContractTrackEnum.java
  5. 35 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/SigningWayEnum.java
  6. 1 1
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/model/LoginUserInfo.java
  7. 5 0
      sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/req/UpdatePasswordReqDto.java
  8. 46 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcCheckedController.java
  9. 14 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcContractTradeController.java
  10. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractLogisticsGoodsMapper.java
  11. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractLogisticsMapper.java
  12. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractLogisticsTrackMapper.java
  13. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractLogisticsUnitMapper.java
  14. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTemplateMapper.java
  15. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeGoodsMapper.java
  16. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeMapper.java
  17. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeOrderMapper.java
  18. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeTrackMapper.java
  19. 20 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dao/KwcContractTradeUnitMapper.java
  20. 129 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractLogistics.java
  21. 117 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractLogisticsGoods.java
  22. 71 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractLogisticsTrack.java
  23. 96 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractLogisticsUnit.java
  24. 81 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTemplate.java
  25. 127 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTrade.java
  26. 97 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTradeGoods.java
  27. 76 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTradeOrder.java
  28. 66 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTradeTrack.java
  29. 96 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTradeUnit.java
  30. 49 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/ContractLogisticsReqVo.java
  31. 80 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/LogisticsBaseInfoReqVo.java
  32. 62 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/LogisticsGoodsInfoReqVo.java
  33. 69 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsGoodsService.java
  34. 130 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsService.java
  35. 54 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsTrackService.java
  36. 17 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsUnitService.java
  37. 17 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTemplateService.java
  38. 18 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeGoodsService.java
  39. 17 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeOrderService.java
  40. 17 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeService.java
  41. 17 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeTrackService.java
  42. 17 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeUnitService.java
  43. 38 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsGoodsMapper.xml
  44. 42 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsMapper.xml
  45. 26 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsTrackMapper.xml
  46. 32 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsUnitMapper.xml
  47. 28 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTemplateMapper.xml
  48. 32 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeGoodsMapper.xml
  49. 40 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeMapper.xml
  50. 27 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeOrderMapper.xml
  51. 24 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeTrackMapper.xml
  52. 32 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeUnitMapper.xml
  53. 3 2
      sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsEnterpriseController.java
  54. 1 5
      sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsRoleController.java
  55. 15 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsUserController.java
  56. 3 2
      sckw-modules/sckw-system/src/main/java/com/sckw/system/dao/KwsUserDao.java
  57. 10 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/pojo/FindEntListPojo.java
  58. 14 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/pojo/FindPojoParam.java
  59. 6 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/ApprovalReqVo.java
  60. 15 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/EntFindPageReqVo.java
  61. 1 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/EntRegisterReqVo.java
  62. 27 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/ResetPasswordReqVo.java
  63. 5 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/UserAddReqVo.java
  64. 134 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/res/EntDetailResVo.java
  65. 15 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/res/EntFindPageResVo.java
  66. 35 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/res/KwsUserResVo.java
  67. 29 15
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java
  68. 13 3
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsRoleService.java
  69. 33 12
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsUserService.java
  70. 1 1
      sckw-modules/sckw-system/src/main/resources/mapper/KwsEntCertificateDao.xml
  71. 25 10
      sckw-modules/sckw-system/src/main/resources/mapper/KwsEnterpriseDao.xml
  72. 30 5
      sckw-modules/sckw-system/src/main/resources/mapper/KwsUserDao.xml

+ 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;
 
     /**
      * 旧密码

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

@@ -26,7 +26,9 @@ public enum DictTypeEnum {
     CLASSIFICATION_TYPE("classification_type", "分类类型"),
     CATEGORY_TYPE("category_type", "类别类型"),
     PRODUCT_NAME_TYPE("product_name_type", "品名类型"),
-    GOODS_STATUS("goods_status", "商品状态");
+    GOODS_STATUS("goods_status", "商品状态"),
+    CHARGING_TYPE("charging_type", "计费方式");
+
     private final String type;
     private final String name;
 

+ 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;
+    }
+}

+ 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;
+    }
+
+}

+ 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;
+    }
+}

+ 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锁定)
      */
-    private int status;
+    private Integer status;
     /**
      * 用户所属企业id
      */

+ 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
     private static final long serialVersionUID = 610262871898122771L;
 
+    /**
+     * 主键
+     */
+    private Long id;
+
     /**
      * 账号
      */

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

@@ -0,0 +1,46 @@
+package com.sckw.contract.controller;
+
+import com.sckw.contract.model.vo.req.ContractLogisticsReqVo;
+import com.sckw.contract.service.KwcContractLogisticsService;
+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;
+
+    /**
+     * @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);
+    }
+
+
+    @PostMapping("supplement")
+    public HttpResult supplement(@Valid @RequestBody ContractLogisticsReqVo reqVo) throws SystemException {
+        kwcContractLogisticsService.supplement(reqVo);
+        return HttpResult.ok(HttpStatus.MSG_003);
+    }
+}

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

@@ -0,0 +1,14 @@
+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("contractTrade")
+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> {
+
+}
+
+
+
+

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

@@ -0,0 +1,20 @@
+package com.sckw.contract.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.contract.model.entity.KwcContractLogistics;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @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> {
+
+}
+
+
+
+

+ 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> {
+
+}
+
+
+
+

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

@@ -0,0 +1,129 @@
+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.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已锁)
+     */
+    private Integer status;
+
+    /**
+     * 创建人
+     */
+    private Long createBy;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 修改人
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 是否删除(0未删除,1删除)
+     */
+    private Integer delFlag;
+
+}

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

@@ -0,0 +1,117 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+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;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

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

@@ -0,0 +1,71 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+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_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;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

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

@@ -0,0 +1,96 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+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_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;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

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

@@ -0,0 +1,81 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+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;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

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

@@ -0,0 +1,127 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+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;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

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

@@ -0,0 +1,97 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+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;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

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

@@ -0,0 +1,76 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+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;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

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

@@ -0,0 +1,66 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+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;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

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

@@ -0,0 +1,96 @@
+package com.sckw.contract.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+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_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;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

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

@@ -0,0 +1,49 @@
+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;
+
+    /**
+     * 基础信息
+     */
+    @NotNull(message = "基础信息不能为空")
+    private LogisticsBaseInfoReqVo baseInfo;
+
+    /**
+     * 合同文件
+     */
+    @NotNull(message = "合同文件不能为空")
+    private List<String> contractFile;
+
+    /**
+     * 标的信息
+     */
+    @NotNull(message = "标的信息不能为空")
+    private List<LogisticsGoodsInfoReqVo> goodsInfo;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 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;
+
+}

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

@@ -0,0 +1,69 @@
+package com.sckw.contract.service;
+
+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);
+            }
+        }
+    }
+
+}
+
+
+
+

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

@@ -0,0 +1,130 @@
+package com.sckw.contract.service;
+import java.math.BigDecimal;
+import java.util.Date;
+
+import com.sckw.contract.dao.KwcContractLogisticsMapper;
+import com.sckw.contract.dao.KwcContractLogisticsTrackMapper;
+import com.sckw.contract.model.entity.KwcContractLogistics;
+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.core.common.enums.enums.DictTypeEnum;
+import com.sckw.core.exception.SystemException;
+import com.sckw.core.model.constant.Global;
+import com.sckw.core.model.enums.ChargingTypeEnum;
+import com.sckw.core.model.enums.SigningWayEnum;
+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.RemoteSystemService;
+import com.sckw.system.api.model.dto.res.SysDictResDto;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.bouncycastle.cms.PasswordRecipientId;
+import org.checkerframework.checker.units.qual.A;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+* @author PC
+* @description 针对表【kwc_contract_logistics(物流合同(承运合同/托运合同))】的数据库操作Service实现
+* @createDate 2023-07-13 13:36:19
+*/
+@Service
+public class KwcContractLogisticsService {
+
+    @Autowired
+    private KwcContractLogisticsMapper kwcContractLogisticsMapper;
+
+    @Autowired
+    private KwcContractLogisticsGoodsService kwcContractLogisticsGoodsService;
+
+    @Autowired
+    private KwcContractLogisticsTrackService kwcContractLogisticsTrackService;
+
+    @DubboReference(version = "2.0.0", group = "design", check = false)
+    private RemoteSystemService remoteSystemService;
+
+    /**
+     * @param reqVo 新增入参
+     * @desc: 新增托运合同
+     * @author: czh
+     * @date: 2023/7/13
+     */
+    @Transactional(rollbackFor = {})
+    public void addCheckedContract(ContractLogisticsReqVo reqVo) {
+        LogisticsBaseInfoReqVo baseInfo = reqVo.getBaseInfo();
+        List<String> contractFileList = reqVo.getContractFile();
+        List<LogisticsGoodsInfoReqVo> goodsInfoList = reqVo.getGoodsInfo();
+
+        //创建合同
+        KwcContractLogistics kwcContractLogistics = getKwcContractLogistics(baseInfo, reqVo.getRemark(), reqVo.getId());
+        if (kwcContractLogisticsMapper.insert(kwcContractLogistics) <= 0) {
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
+        }
+
+        //保存交易合同商品信息
+        kwcContractLogisticsGoodsService.saveContractLogisticsGoods(kwcContractLogistics.getId(), goodsInfoList);
+
+        //存审批记录
+        kwcContractLogisticsTrackService.saveContractLogisticsTrack(kwcContractLogistics.getId());
+    }
+
+    private KwcContractLogistics getKwcContractLogistics(LogisticsBaseInfoReqVo baseInfo, String remark, Long pid) {
+
+        Date date = new Date();
+        KwcContractLogistics kwcContractLogistics = new KwcContractLogistics();
+        long contactId = new IdWorker(1L).nextId();
+        kwcContractLogistics.setId(contactId);
+        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());
+        }
+        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(0L);
+        kwcContractLogistics.setRemark(remark);
+        kwcContractLogistics.setStatus(Global.NO);
+        kwcContractLogistics.setCreateBy(LoginUserHolder.getUserId());
+        kwcContractLogistics.setCreateTime(date);
+        kwcContractLogistics.setUpdateBy(LoginUserHolder.getUserId());
+        kwcContractLogistics.setUpdateTime(date);
+        kwcContractLogistics.setDelFlag(Global.NO);
+        return kwcContractLogistics;
+    }
+
+
+    /**
+     * @param reqVo 补充入参
+     * @desc: 补充合同
+     * @author: czh
+     * @date: 2023/7/14
+     */
+    public void supplement(ContractLogisticsReqVo reqVo) {
+        Long id = reqVo.getId();
+        KwcContractLogistics kwcContractLogistics = kwcContractLogisticsMapper.selectById(id);
+        if (Objects.isNull(kwcContractLogistics)) {
+
+        }
+
+        addCheckedContract(reqVo);
+    }
+}
+
+
+
+

+ 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);
+        }
+    }
+
+}
+
+
+
+

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

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

+ 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>

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

@@ -0,0 +1,42 @@
+<?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>
+</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>

+ 3 - 2
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsEnterpriseController.java

@@ -31,8 +31,8 @@ public class KwsEnterpriseController {
      * @date 2023/06/02
      **/
     @GetMapping("/detail")
-    public HttpResult selectByKey(Long id) throws SystemException {
-        return HttpResult.ok(kwsEntService.selectByKey(id));
+    public HttpResult detail(@RequestParam Long id) throws SystemException {
+        return HttpResult.ok(kwsEntService.detail(id));
     }
 
     /**
@@ -199,4 +199,5 @@ public class KwsEnterpriseController {
     public HttpResult changeMasterAccount(@RequestBody Map<String, String> params) {
         return null;
     }
+
 }

+ 1 - 5
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsRoleController.java

@@ -51,11 +51,7 @@ public class KwsRoleController {
      **/
     @PostMapping("/select")
     public HttpResult select(@RequestBody HashMap params) throws SystemException {
-        // 设置分页参数
-        PageHelper.startPage(PageResult.getPage(params), PageResult.getPageSize(params));
-        List<RoleResVo> list = kwsRoleService.findPage(params);
-        PageResult pageResult = PageHelperUtil.getPageResult(new PageInfo<>(list));
-        return HttpResult.ok(pageResult);
+        return HttpResult.ok(kwsRoleService.findPage(params));
     }
 
     /**

+ 15 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsUserController.java

@@ -9,7 +9,9 @@ import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.system.model.KwsUser;
 import com.sckw.system.model.vo.req.QueryEntUserReqVo;
+import com.sckw.system.model.vo.req.ResetPasswordReqVo;
 import com.sckw.system.model.vo.req.UserAddReqVo;
+import com.sckw.system.model.vo.res.KwsUserResVo;
 import com.sckw.system.service.KwsUserService;
 import jakarta.validation.Valid;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -52,7 +54,7 @@ public class KwsUserController {
     public HttpResult findPage(@RequestBody HashMap params) throws SystemException {
         // 设置分页参数
         PageHelper.startPage(PageResult.getPage(params), PageResult.getPageSize(params));
-        List<KwsUser> list = kwsUserService.findPage(params);
+        List<KwsUserResVo> list = kwsUserService.findPage(params);
         PageResult pageResult = PageHelperUtil.getPageResult(new PageInfo<>(list));
         return HttpResult.ok(pageResult);
     }
@@ -118,6 +120,18 @@ public class KwsUserController {
         return HttpResult.ok(HttpStatus.MSG_008);
     }
 
+    /**
+     * @param reqVo 重置入参
+     * @return HttpResult
+     * @desc: 重置密码
+     * @author: czh
+     * @date: 2023/7/14
+     */
+    @PostMapping("resetPassword")
+    public HttpResult resetPassword(@RequestBody ResetPasswordReqVo reqVo) {
+        kwsUserService.resetPasswordByMain(reqVo);
+        return HttpResult.ok(HttpStatus.MSG_005);
+    }
 
     /**
      * @param ids 主键

+ 3 - 2
sckw-modules/sckw-system/src/main/java/com/sckw/system/dao/KwsUserDao.java

@@ -3,6 +3,7 @@ package com.sckw.system.dao;
 import com.sckw.system.model.KwsDept;
 import com.sckw.system.model.KwsUser;
 import com.sckw.system.model.KwsUserDept;
+import com.sckw.system.model.vo.res.KwsUserResVo;
 import org.apache.ibatis.annotations.Mapper;
 import java.util.List;
 import java.util.Map;
@@ -41,14 +42,14 @@ public interface KwsUserDao {
      * @return
      * @throws Exception
      */
-    List<KwsUser> findPage(Map<String, Object> params);
+    List<KwsUserResVo> findPage(Map<String, Object> params);
 
     /**
      * 查询
      * @param params
      * @return
      */
-    List<KwsUser> findList(KwsUser params);
+    List<KwsUserResVo> findList(KwsUser params);
 
     /**
      * 根据用户id查用户机构

+ 10 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/pojo/FindEntListPojo.java

@@ -177,4 +177,14 @@ public class FindEntListPojo {
      * 创建人
      */
     private String createByName;
+
+    /**
+     * 主单位、子单位
+     */
+    private String entDept;
+
+    /**
+     * 状态中文
+     */
+    private String statusName;
 }

+ 14 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/pojo/FindPojoParam.java

@@ -38,10 +38,24 @@ public class FindPojoParam extends PageRequest {
      * 提交开始时间
      */
     private Date endTime;
+    /**
+     * 提交开始时间
+     */
+    private Date approvalStartTime;
+
+    /**
+     * 提交开始时间
+     */
+    private Date approvalEndTime;
 
     /**
      * 审批状态 0未审批、1通过、2未通过、3审批中
      */
     private Integer approval;
 
+    /**
+     * 状态
+     */
+    private Integer status;
+
 }

+ 6 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/ApprovalReqVo.java

@@ -20,11 +20,16 @@ public class ApprovalReqVo implements Serializable {
     /**
      * 资质id
      */
-    private String certificateIds;
+    private Long entId;
 
     /**
      * 状态
      */
     private Integer status;
 
+    /**
+     * 备注
+     */
+    private String remark;
+
 }

+ 15 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/EntFindPageReqVo.java

@@ -59,6 +59,11 @@ public class EntFindPageReqVo extends PageRequest implements Serializable {
      */
     private Integer entryType;
 
+    /**
+     * 状态  0正常  1冻结
+     */
+    private Integer status;
+
     /**
      * 提交开始时间
      */
@@ -69,4 +74,14 @@ public class EntFindPageReqVo extends PageRequest implements Serializable {
      */
     private Date endTime;
 
+    /**
+     * 审核开始时间
+     */
+    private Date approvalStartTime;
+
+    /**
+     * 审核结束时间
+     */
+    private Date approvalEndTime;
+
 }

+ 1 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/EntRegisterReqVo.java

@@ -75,7 +75,7 @@ public class EntRegisterReqVo implements Serializable {
     /**
      * 企业地址
      */
-    @NotNull(message = "企业地址编码不能为空")
+//    @NotNull(message = "企业地址编码不能为空")
     private Integer cityCode;
 
     /**

+ 27 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/ResetPasswordReqVo.java

@@ -0,0 +1,27 @@
+package com.sckw.system.model.vo.req;
+
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author czh
+ * @desc 重置密码
+ * @date 2023/7/14
+ */
+@Data
+public class ResetPasswordReqVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 703465913285529266L;
+
+    private Long id;
+
+    /**
+     * 新密码
+     */
+    @NotBlank(message = "新密码不能为空")
+    private String newPassword;
+}

+ 5 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/UserAddReqVo.java

@@ -48,7 +48,6 @@ public class UserAddReqVo implements Serializable {
     /**
      * 手机号
      */
-    @NotBlank(message = "手机号不能为空")
     private String phone;
 
     /**
@@ -83,4 +82,9 @@ public class UserAddReqVo implements Serializable {
     @NotBlank(message = "岗位不能为空")
     private String roleIds;
 
+    /**
+     * 备注
+     */
+    private String remark;
+
 }

+ 134 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/res/EntDetailResVo.java

@@ -0,0 +1,134 @@
+package com.sckw.system.model.vo.res;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author czh
+ * @desc 企业详情返参
+ * @date 2023/7/14
+ */
+@Data
+public class EntDetailResVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -7056667255439191707L;
+
+    /**
+     * 企业编号
+     */
+    private String code;
+
+    /**
+     * 企业名称
+     */
+    private String firmName;
+
+    /**
+     * 企业联系人
+     */
+    private String contacts;
+
+    /**
+     * 联系电话
+     */
+    private String phone;
+
+    /**
+     * 法人姓名
+     */
+    private String legalName;
+
+    /**
+     * 法人联系电话
+     */
+    private String legalPhone;
+
+    /**
+     * 企业头像
+     */
+    private String head;
+
+    /**
+     * 积分
+     */
+    private Integer integral;
+
+    /**
+     * 账号余额(分)
+     */
+    private Long balance;
+
+    /**
+     * 经验值
+     */
+    private Integer experience;
+
+    /**
+     * 会员等级
+     */
+    private Integer memberLevel;
+
+    /**
+     * 注册时间
+     */
+    private Date regTime;
+
+    /**
+     * 注册来源(app、pc)
+     */
+    private String regSource;
+
+    /**
+     * 组织机构代码
+     */
+    private String orgCode;
+
+    /**
+     * 企业地址code-----区域表id---实际用途?
+     */
+    private Integer cityCode;
+
+    /**
+     * 企业地址-----区域表id---实际用途?
+     */
+    private String cityName;
+
+    /**
+     * 企业详细地址
+     */
+    private String detailAddress;
+
+    /**
+     * 企业地址坐标----纬度
+     */
+    private String lat;
+
+    /**
+     * 企业地址坐标----经度
+     */
+    private String lng;
+
+    /**
+     * 资料审批状态(0未审批、1通过、2未通过、3审批中)
+     */
+    private Integer approval;
+
+    /**
+     * 审批时间
+     */
+    private Date approvalTime;
+
+    /**
+     * 专属客户经理(用户ID)
+     */
+    private long manager;
+
+    /**
+     * 企业属性
+     */
+    private String entTypes;
+}

+ 15 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/res/EntFindPageResVo.java

@@ -80,4 +80,19 @@ public class EntFindPageResVo implements Serializable {
      */
     private String entryTypeStr;
 
+    /**
+     * 状态
+     */
+    private Integer status;
+
+    /**
+     * 主单位、子单位
+     */
+    private String entDept;
+
+    /**
+     * 状态中文
+     */
+    private String statusName;
+
 }

+ 35 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/res/KwsUserResVo.java

@@ -1,5 +1,7 @@
 package com.sckw.system.model.vo.res;
 
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.sckw.core.utils.LongToStringUtils;
 import lombok.Data;
 
 import java.io.Serial;
@@ -19,6 +21,7 @@ public class KwsUserResVo implements Serializable {
     /**
      * 主键
      */
+    @JsonSerialize(using = LongToStringUtils.class)
     private Long id;
 
     /**
@@ -36,6 +39,11 @@ public class KwsUserResVo implements Serializable {
      */
     private String account;
 
+    /**
+     * 密码
+     */
+    private String password;
+
     /**
      * 用户名
      */
@@ -66,4 +74,31 @@ public class KwsUserResVo implements Serializable {
      */
     private Integer isMain;
 
+    /**
+     * 机构id
+     */
+    @JsonSerialize(using = LongToStringUtils.class)
+    private Long deptId;
+
+    /**
+     * 角色id
+     */
+    @JsonSerialize(using = LongToStringUtils.class)
+    private Long roleId;
+
+    /**
+     * 机构名
+     */
+    private String deptName;
+
+    /**
+     * 机构名
+     */
+    private String roleName;
+
+    /**
+     * 状态
+     */
+    private Integer status;
+
 }

+ 29 - 15
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java

@@ -4,10 +4,7 @@ import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.sckw.core.exception.SystemException;
 import com.sckw.core.model.constant.Global;
-import com.sckw.core.model.enums.ApprovalEnum;
-import com.sckw.core.model.enums.EntTypeEnum;
-import com.sckw.core.model.enums.EntryTypeEnum;
-import com.sckw.core.model.enums.SystemTypeEnum;
+import com.sckw.core.model.enums.*;
 import com.sckw.core.model.page.PageHelperUtil;
 import com.sckw.core.model.page.PageResult;
 import com.sckw.core.utils.BeanUtils;
@@ -17,6 +14,7 @@ import com.sckw.core.utils.StringUtils;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.model.EntCertificateInfo;
+import com.sckw.core.web.response.HttpResult;
 import com.sckw.system.api.model.dto.req.RegisterReqDto;
 import com.sckw.system.api.model.dto.res.RegisterResDto;
 import com.sckw.system.dao.*;
@@ -28,6 +26,7 @@ import com.sckw.system.model.pojo.FindManagePojo;
 import com.sckw.system.model.pojo.FindPojoParam;
 import com.sckw.system.model.vo.req.*;
 import com.sckw.system.model.vo.res.CertificateResVo;
+import com.sckw.system.model.vo.res.EntDetailResVo;
 import com.sckw.system.model.vo.res.EntFindPageResVo;
 import com.sckw.system.model.vo.res.FindListGroupResVo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -312,6 +311,8 @@ public class KwsEnterpriseService {
         kwsEnterprise.setMemberLevel(0);
         kwsEnterprise.setOrgCode("");
         kwsEnterprise.setRegTime(date);
+        kwsEnterprise.setUpdateBy(LoginUserHolder.getUserId());
+        kwsEnterprise.setCreateBy(LoginUserHolder.getUserId());
         kwsEnterprise.setApproval(ApprovalEnum.PROCESS.getCode());
         if (kwsEnterpriseDao.update(kwsEnterprise) <= 0) {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
@@ -340,7 +341,6 @@ public class KwsEnterpriseService {
         List<KwsEntCertificate> kwsEntCertificates = new ArrayList<>();
         for (BusinessLicense businessLicense : reqVo.getBusinessLicense()) {
             KwsEntCertificate kwsEntCertificate = new KwsEntCertificate();
-            //todo 上传证书正反面,将url放到两个入参里
             kwsEntCertificate.setEntId(entId);
             kwsEntCertificate.setCreateBy(userId);
             kwsEntCertificate.setCreateTime(date);
@@ -375,18 +375,16 @@ public class KwsEnterpriseService {
     @Transactional(rollbackFor = Exception.class)
     public void approval(ApprovalReqVo reqVo) throws SystemException {
         Integer status = reqVo.getStatus();
-        Long entId = null;
-        String certificateIds = reqVo.getCertificateIds();
+        Long entId = reqVo.getEntId();
+        List<KwsEntCertificate> kwsEntCertificateList = kwsEntCertificateDao.selectByEntId(entId);
+        if (CollectionUtils.isEmpty(kwsEntCertificateList)) {
+            throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.ENTCERTIFICATES_NOT_EXISTS);
+        }
         List<KwsEntCertificate> kwsEntCertificates = new ArrayList<>();
-        for (String id : certificateIds.split(",")) {
-            KwsEntCertificate kwsEntCertificate = kwsEntCertificateDao.selectByKey(Long.parseLong(id));
-            if (Objects.isNull(kwsEntCertificate)) {
-                throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
-            }
-
+        for (KwsEntCertificate kwsEntCertificate : kwsEntCertificateList) {
             //先把旧的作废
             List<KwsEntCertificate> previous = kwsEntCertificateDao.findByEntType(kwsEntCertificate.getEntId(), kwsEntCertificate.getType());
-            previous = previous.stream().filter(item -> item.getId() != Long.parseLong(id)).toList();
+            previous = previous.stream().filter(item -> item.getId().compareTo(kwsEntCertificate.getId()) != 0).toList();
             if (!CollectionUtils.isEmpty(previous)) {
                 for (KwsEntCertificate kwsEntCertificate1 : previous) {
                     kwsEntCertificate1.setDelFlag(Global.YES);
@@ -406,6 +404,7 @@ public class KwsEnterpriseService {
         KwsEnterprise kwsEnterprise = checkKwsEnterpriseById(entId);
         Integer currentApproval = kwsEnterprise.getApproval();
         kwsEnterprise.setApproval(reqVo.getStatus());
+        kwsEnterprise.setRemark(reqVo.getRemark());
         if (kwsEnterpriseDao.approval(kwsEnterprise) <= 0) {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
         }
@@ -474,7 +473,7 @@ public class KwsEnterpriseService {
         List<CertificateResVo> list = new ArrayList<>();
         kwsEntCertificates.forEach(item -> {
             CertificateResVo certificateResVo = new CertificateResVo();
-            certificateResVo.setTypeName(Objects.requireNonNull(EntTypeEnum.getName(item.getType())).getName());
+            certificateResVo.setTypeName(Objects.requireNonNull(CertificateTypeEnum.getName(item.getType())).getName());
             BeanUtils.copyProperties(item, certificateResVo);
             list.add(certificateResVo);
         });
@@ -621,4 +620,19 @@ public class KwsEnterpriseService {
         findListGroupResVo.setApprovalName(ApprovalEnum.getName(code).getName());
         return findListGroupResVo;
     }
+
+    public EntDetailResVo detail(Long id) {
+        KwsEnterprise kwsEnterprise = selectByKey(id);
+        if (Objects.isNull(kwsEnterprise)) {
+            throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.ENT_NOT_EXISTS);
+        }
+        EntDetailResVo entDetailResVo = new EntDetailResVo();
+        BeanUtils.copyProperties(kwsEnterprise, entDetailResVo);
+        List<KwsEntType> listByEntIds = kwsEntTypeDao.findListByEntIds(Collections.singletonList(kwsEnterprise.getId()));
+        if (CollectionUtils.isNotEmpty(listByEntIds)) {
+            entDetailResVo.setEntTypes(String.join(Global.COMMA, listByEntIds.stream().map(KwsEntType::getType).map(String::valueOf).toList()));
+        }
+        return entDetailResVo;
+    }
+
 }

+ 13 - 3
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsRoleService.java

@@ -2,8 +2,13 @@ package com.sckw.system.service;
 
 import java.util.Date;
 
+import com.github.pagehelper.Page;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import com.sckw.core.exception.SystemException;
 import com.sckw.core.model.constant.Global;
+import com.sckw.core.model.page.PageHelperUtil;
+import com.sckw.core.model.page.PageResult;
 import com.sckw.core.utils.BeanUtils;
 import com.sckw.core.utils.CollectionUtils;
 import com.sckw.core.utils.IdWorker;
@@ -239,10 +244,12 @@ public class KwsRoleService {
      * @param params 分页入参
      * @return List
      */
-    public List<RoleResVo> findPage(Map<String, Object> params) throws SystemException {
+    public PageResult findPage(Map<String, Object> params) throws SystemException {
+        Page<Object> objects = PageHelper.startPage(PageResult.getPage(params), PageResult.getPageSize(params));
         List<KwsRole> list = kwsRoleDao.findPage(params);
+
         if (CollectionUtils.isEmpty(list)) {
-            return Collections.emptyList();
+            return PageHelperUtil.getPageResult(new PageInfo<>(list));
         }
 
         List<RoleResVo> roleResVos = BeanUtils.copyToList(list, RoleResVo.class);
@@ -268,7 +275,10 @@ public class KwsRoleService {
                 }
             });
         }
-        return roleResVos;
+        PageInfo pageInfo = new PageInfo(list);
+        PageInfo<RoleResVo> roleResVoPageInfo = new PageInfo<>(roleResVos);
+        roleResVoPageInfo.setTotal(pageInfo.getTotal());
+        return PageHelperUtil.getPageResult(roleResVoPageInfo);
     }
 
     /**

+ 33 - 12
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsUserService.java

@@ -267,13 +267,13 @@ public class KwsUserService {
             throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.ACCOUNT_NOT_EXISTS);
         }
         //更换账号后账号唯一性校验
-        if (StringUtils.isNotBlank(params.getAccount())) {
-            //用户信息
-            KwsUser userByAccount = getUserByAccount(params.getAccount(), params.getSystemType());
-            if (Objects.isNull(userByAccount)) {
-                throw new SystemException(HttpStatus.PARAMETERS_MISSING_CODE, HttpStatus.ACCOUNT_EXISTS);
-            }
-        }
+//        if (StringUtils.isNotBlank(params.getAccount())) {
+//            //用户信息
+//            KwsUser userByAccount = getUserByAccount(params.getAccount(), params.getSystemType());
+//            if (Objects.isNull(userByAccount)) {
+//                throw new SystemException(HttpStatus.PARAMETERS_MISSING_CODE, HttpStatus.ACCOUNT_EXISTS);
+//            }
+//        }
 
         //以前的关联数据先删除再新增
         List<KwsUserDept> kwsUserDepts = kwsUserDeptDao.findAllByUserId(params.getId());
@@ -296,6 +296,7 @@ public class KwsUserService {
             }
         }
 
+        kwsUser.setRemark(params.getRemark());
         kwsUser.setName(params.getName());
         kwsUserDao.update(kwsUser);
 
@@ -330,14 +331,14 @@ public class KwsUserService {
     /**
      * 分页查询
      */
-    public List<KwsUser> findPage(Map<String, Object> params) throws SystemException {
+    public List<KwsUserResVo> findPage(Map<String, Object> params) throws SystemException {
         return kwsUserDao.findPage(params);
     }
 
     /**
      * 查询
      */
-    public List<KwsUser> findList(KwsUser params) throws SystemException {
+    public List<KwsUserResVo> findList(KwsUser params) throws SystemException {
         return kwsUserDao.findList(params);
     }
 
@@ -348,8 +349,13 @@ public class KwsUserService {
         KwsUser kwsUser = new KwsUser();
         kwsUser.setAccount(username);
         kwsUser.setSystemType(systemType);
-        List<KwsUser> list = kwsUserDao.findList(kwsUser);
-        return CollectionUtils.isEmpty(list) ? null : list.get(0);
+        List<KwsUserResVo> list = kwsUserDao.findList(kwsUser);
+        if (CollectionUtils.isEmpty(list)) {
+            return null;
+        }
+        KwsUserResVo kwsUserResVo = list.get(0);
+        BeanUtils.copyProperties(kwsUserResVo, kwsUser);
+        return kwsUser;
     }
 
     /**
@@ -360,7 +366,7 @@ public class KwsUserService {
      */
     public void updatePassword(UpdatePasswordReqDto reqVo) {
         //查用户信息
-        KwsUser kwsUser = checkUserBase(reqVo.getAccount(), reqVo.getSystemType());
+        KwsUser kwsUser = checkUserBase(reqVo.getId());
 
         //密码校验
         String password = reqVo.getPassword();
@@ -551,4 +557,19 @@ public class KwsUserService {
             }
         }
     }
+
+    /**
+     * @param reqVo 入参
+     * @desc: 重置密码
+     * @author: czh
+     * @date: 2023/7/14
+     */
+    @Transactional(rollbackFor = {})
+    public void resetPasswordByMain(ResetPasswordReqVo reqVo) {
+        //查用户信息
+        KwsUser kwsUser = checkUserBase(reqVo.getId());
+
+        //重置密码
+        updatePwd(reqVo.getNewPassword(), kwsUser);
+    }
 }

+ 1 - 1
sckw-modules/sckw-system/src/main/resources/mapper/KwsEntCertificateDao.xml

@@ -31,7 +31,7 @@
   </select>
 
   <select id="selectByEntId" resultType="com.sckw.system.model.KwsEntCertificate">
-    select a.* from kws_ent_certificate a where a.ent_id = #{id} and a.del_flag = 0 and a.status = 0
+    select a.* from kws_ent_certificate a where a.ent_id = #{id} and a.del_flag = 0
   </select>
 
   <select id="findByEntType" resultType="com.sckw.system.model.KwsEntCertificate">

+ 25 - 10
sckw-modules/sckw-system/src/main/resources/mapper/KwsEnterpriseDao.xml

@@ -19,6 +19,7 @@
     <result column="org_code" jdbcType="VARCHAR" property="orgCode" />
     <result column="city_code" jdbcType="INTEGER" property="cityCode" />
     <result column="detail_address" jdbcType="VARCHAR" property="detailAddress" />
+    <result column="city_name" jdbcType="VARCHAR" property="cityName" />
     <result column="lat" jdbcType="VARCHAR" property="lat" />
     <result column="lng" jdbcType="VARCHAR" property="lng" />
     <result column="approval" jdbcType="INTEGER" property="approval" />
@@ -37,7 +38,7 @@
     id, firm_name, code, contacts, phone, legal_name, legal_phone, head, integral,
     balance, experience, member_level, reg_time, reg_source, org_code, city_code, detail_address, 
     lat, lng, approval, approval_time, manager, remark, status, create_by, create_time, 
-    update_by, update_time, del_flag
+    update_by, update_time, del_flag,city_name
   </sql>
 
   <select id="selectByKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
@@ -49,7 +50,9 @@
 
 
   <select id="findPojo" resultType="com.sckw.system.model.pojo.FindEntListPojo" parameterType="com.sckw.system.model.pojo.FindPojoParam">
-    select tab.* from
+    select tab.*,
+           case when tab.id in (select ent_id from kws_ent_dep) then '子单位' else '主单位' end entDept,
+           case when tab.status = 0 then '正常' else '冻结' end statusName from
     (
     select a.id,
     min(a.firm_name) firm_name,
@@ -98,8 +101,7 @@
       and a.approval = #{dto.approval}
     </if>
     <if test="dto.keywords != null">
-      and (a.contacts like concat('%', #{dto.keywords}, '%') or a.phone like concat('%', #{dto.keywords}, '%') or a.
-      firm_name like concat('%', #{dto.keywords}, '%'))
+      and (a.contacts like concat('%', #{dto.keywords}, '%') or a.phone like concat('%', #{dto.keywords}, '%') or a.firm_name like concat('%', #{dto.keywords}, '%'))
     </if>
     <if test="dto.startTime != null">
       and a.update_time >= #{dto.startTime}
@@ -107,6 +109,21 @@
     <if test="dto.endTime != null">
       and a.update_time &lt;= #{dto.endTime}
     </if>
+    <if test="dto.approvalStartTime != null">
+      and a.approval_time >= #{dto.approvalStartTime}
+    </if>
+    <if test="dto.approvalEndTime != null">
+      and a.approval_time &lt;= #{dto.approvalEndTime}
+    </if>
+    <if test="dto.status != null and dto.status != ''">
+      and a.status = #{dto.status}
+    </if>
+    <if test="entryType != null and entryType == '1'">
+      and k.system_type = 2
+    </if>
+    <if test="entryType != null and entryType == '2'">
+      and k.system_type = 1
+    </if>
     group by a.id
     ) tab
      where tab.id is not null
@@ -211,22 +228,18 @@
 
   <select id="findManageInfoByEntIdBeforeApproval" resultType="com.sckw.system.model.pojo.FindManagePojo">
     select distinct d.id userId,
-                    b.id deptId,
                     f.id roleId
     from kws_enterprise a
            left join kws_dept b on a.id = b.ent_id
-           left join kws_user_dept c on b.id = c.dept_id
-           left join kws_user d on c.user_id = d.id
+           LEFT JOIN kws_user d ON a.phone = d.account
            left join kws_role f on a.id = f.dept_id
     where a.del_flag = 0
       and b.del_flag = 0
-      and c.del_flag = 0
       and d.del_flag = 0
       and f.del_flag = 0
       and d.is_main = 1
       and d.system_type = 2
       and a.id = #{entId}
-      and f.name = '系统管理员'
   </select>
 
   <select id="queryEntByName" resultType="com.sckw.system.model.KwsEnterprise">
@@ -508,7 +521,9 @@
 
   <update id="approval">
     update kws_enterprise
-       set approval = #{approval}, approval_time = now()
+       set approval = #{approval},
+           approval_time = now(),
+           remark = #{remark}
      where id = #{id,jdbcType=BIGINT}
        and approval in (3, 4)
        and del_flag = 0

+ 30 - 5
sckw-modules/sckw-system/src/main/resources/mapper/KwsUserDao.xml

@@ -208,10 +208,16 @@
     where id = #{id,jdbcType=BIGINT}
   </update>
 
-  <select id="findPage" resultMap="BaseResultMap" parameterType="java.util.Map" >
+  <select id="findPage" resultType="com.sckw.system.model.vo.res.KwsUserResVo" parameterType="java.util.Map" >
     select
-    <include refid="Base_Column_List" />
+    su.id, su.system_type systemType, su.account, su.password, su.name,
+    su.phone, su.photo, su.email, su.is_main isMain, su.remark, su.status, su.salt,
+    c.id deptId,c.name deptName,e.id roleId, e.name roleName
     from kws_user su
+    left join kws_user_dept b on su.id = b.user_id
+    left join kws_dept c on b.dept_id = c.id
+    left join kws_user_role d on su.id = d.user_id
+    left join kws_role e on e.id = d.role_id
     where su.del_flag = 0
     <if test="systemType != null and systemType != ''">
       and su.system_type = #{system_type, jdbcType=VARCHAR}
@@ -235,9 +241,17 @@
         from kws_user_dept sud
         left join kws_dept sd on sud.dept_id = sd.id
         where sd.del_flag = 0 and sud.del_flag = 0
-        and sd.dept_id = #{deptId, jdbcType=VARCHAR}
+        and sd.id = #{deptId, jdbcType=VARCHAR}
       )
     </if>
+      <if test="roleId != null and roleId != ''">
+        and su.id in (
+            select kr.user_id from kws_user_role kr where kr.id = #{roleId} and kr.del_flag = 0
+        )
+      </if>
+      <if test="keywords != null and keywords != ''">
+        and (su.name like concat('%', #{keywords}, '%') or su.account like concat('%', #{keywords}, '%') or su.create_by in (select id from kws_user where name like concat('%', #{keywords}, '%')))
+      </if>
     <if test="entId != null and entId != ''">
       and su.id in (
         select
@@ -246,14 +260,25 @@
         where del_flag = 0 and ent_id = #{entId, jdbcType=VARCHAR}
       )
     </if>
+    <if test="startTime != null and startTime != ''">
+      and su.create_time >= #{startTime}
+    </if>
+    <if test="endTime != null and endTime != ''">
+      and su.create_time &lt;= #{endTime}
+    </if>
     ORDER BY su.create_time desc
   </select>
 
-  <select id="findList" resultType="com.sckw.system.model.KwsUser" parameterType="com.sckw.system.model.KwsUser" >
+  <select id="findList" resultType="com.sckw.system.model.vo.res.KwsUserResVo" parameterType="com.sckw.system.model.KwsUser" >
     select
       su.id, su.system_type systemType, su.account, su.password, su.name,
-      su.phone, su.photo, su.email, su.is_main isMain, su.remark, su.status, su.salt
+      su.phone, su.photo, su.email, su.is_main isMain, su.remark, su.status, su.salt,
+      c.id deptId,c.name deptName,e.id roleId, e.name roleName
     from kws_user su
+    left join kws_user_dept b on su.id = b.user_id
+    left join kws_dept c on b.dept_id = c.id
+    left join kws_user_role d on su.id = d.user_id
+    left join kws_role e on e.id = d.role_id
     where su.del_flag = 0
     <if test="systemType != null and systemType != ''">
       and su.system_type = #{systemType, jdbcType=INTEGER}