Sfoglia il codice sorgente

Merge branch 'test' of http://www.baoxianzhanggui.com:8090/sxzgd/java-insagent-pc into test-cyr

caiyaru 2 anni fa
parent
commit
bf921004b1
100 ha cambiato i file con 1074 aggiunte e 486 eliminazioni
  1. 33 0
      src/main/java/com/ydtech/extension/BaseIService.java
  2. 20 0
      src/main/java/com/ydtech/modules/admin/constants/ManagementSource.java
  3. 22 0
      src/main/java/com/ydtech/modules/admin/constants/SwitchConfig.java
  4. 1 1
      src/main/java/com/ydtech/modules/admin/constants/UserWorkStatus.java
  5. 54 0
      src/main/java/com/ydtech/modules/admin/controller/SysSwitchConfigController.java
  6. 23 15
      src/main/java/com/ydtech/modules/admin/controller/SysUserController.java
  7. 18 0
      src/main/java/com/ydtech/modules/admin/dao/SysSwitchConfigMapper.java
  8. 14 0
      src/main/java/com/ydtech/modules/admin/model/SysUserTrack.java
  9. 134 0
      src/main/java/com/ydtech/modules/admin/model/po/SysSwitchConfig.java
  10. 39 0
      src/main/java/com/ydtech/modules/admin/model/vo/SysSwitchConfigQueryVo.java
  11. 33 0
      src/main/java/com/ydtech/modules/admin/model/vo/SysSwitchConfigVo.java
  12. 3 0
      src/main/java/com/ydtech/modules/admin/model/vo/SysUserBaseVO.java
  13. 62 0
      src/main/java/com/ydtech/modules/admin/service/SysSwitchConfigService.java
  14. 16 2
      src/main/java/com/ydtech/modules/admin/service/SysUserService.java
  15. 117 0
      src/main/java/com/ydtech/modules/admin/service/impl/SysSwitchConfigServiceImpl.java
  16. 17 9
      src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java
  17. 17 23
      src/main/java/com/ydtech/modules/base/controller/BaseController.java
  18. 27 0
      src/main/java/com/ydtech/modules/fee/constants/CostAllocation.java
  19. 3 0
      src/main/java/com/ydtech/modules/fee/dto/vo/ReCalcuLateProportion.java
  20. 22 13
      src/main/java/com/ydtech/modules/fee/service/FeeRuleSchemeNewService.java
  21. 48 38
      src/main/java/com/ydtech/modules/fee/service/FeeRuleSchemeService.java
  22. 3 0
      src/main/java/com/ydtech/modules/fee/service/InsFeeOrderConfigService.java
  23. 74 49
      src/main/java/com/ydtech/modules/fee/service/impl/FeeRuleSchemeServiceImpl.java
  24. 187 116
      src/main/java/com/ydtech/modules/fee/service/impl/FeeRuleSchemeServiceNewImpl.java
  25. 0 3
      src/main/java/com/ydtech/modules/fee/service/impl/InsFeeOrderConfigServiceImpl.java
  26. 0 4
      src/main/java/com/ydtech/modules/order/aop/aspect/AuditVerificationAspect.java
  27. 7 3
      src/main/java/com/ydtech/modules/order/aop/aspect/QuoteVerificationAspect.java
  28. 25 0
      src/main/java/com/ydtech/modules/order/constants/OrderEntryStatus.java
  29. 0 5
      src/main/java/com/ydtech/modules/order/controller/InsCrawlerOrderController.java
  30. 0 1
      src/main/java/com/ydtech/modules/order/dao/BatchOrderMapper.java
  31. 0 1
      src/main/java/com/ydtech/modules/order/dao/InsAccidentalDrivingDaJiaMapper.java
  32. 0 1
      src/main/java/com/ydtech/modules/order/dao/InsAccidentalDrivingSubDaJiaMapper.java
  33. 0 1
      src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyAccidentalDrivingMapper.java
  34. 0 12
      src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyExternalFeeMapper.java
  35. 0 1
      src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyMapper.java
  36. 0 11
      src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyPositionMapper.java
  37. 0 1
      src/main/java/com/ydtech/modules/order/dao/InsDrivingIntentionInsuranceSonMapper.java
  38. 0 6
      src/main/java/com/ydtech/modules/order/dao/InsOrderQrCodeMapper.java
  39. 0 1
      src/main/java/com/ydtech/modules/order/dao/InsOrdersMapper.java
  40. 0 1
      src/main/java/com/ydtech/modules/order/dao/InsTaskImagesMapper.java
  41. 0 1
      src/main/java/com/ydtech/modules/order/dao/PtlAgreementNonCarProductRuleMapper.java
  42. 0 2
      src/main/java/com/ydtech/modules/order/entity/BatchOrder.java
  43. 6 0
      src/main/java/com/ydtech/modules/order/entity/InsAreaCompany.java
  44. 0 2
      src/main/java/com/ydtech/modules/order/entity/InsAreaCompanyAccidentalDriving.java
  45. 0 12
      src/main/java/com/ydtech/modules/order/entity/InsAreaCompanyExternalFee.java
  46. 0 1
      src/main/java/com/ydtech/modules/order/entity/InsAreaCompanyExternalPolicy.java
  47. 0 15
      src/main/java/com/ydtech/modules/order/entity/InsAreaCompanyPosition.java
  48. 0 1
      src/main/java/com/ydtech/modules/order/entity/InsDrivingIntentionInsurance.java
  49. 0 1
      src/main/java/com/ydtech/modules/order/entity/InsFeeOrder.java
  50. 0 16
      src/main/java/com/ydtech/modules/order/entity/InsOrderQrCode.java
  51. 20 0
      src/main/java/com/ydtech/modules/order/entity/InsOrders.java
  52. 0 1
      src/main/java/com/ydtech/modules/order/entity/InsOrdersTrack.java
  53. 0 1
      src/main/java/com/ydtech/modules/order/entity/api/bohai/request/ElectronicPolicyRequest.java
  54. 0 5
      src/main/java/com/ydtech/modules/order/entity/api/bohai/request/GenerateOrderNoRequest.java
  55. 0 1
      src/main/java/com/ydtech/modules/order/entity/api/bohai/request/ImageUploadRequest.java
  56. 0 1
      src/main/java/com/ydtech/modules/order/entity/api/bohai/request/PaymentRequest.java
  57. 0 1
      src/main/java/com/ydtech/modules/order/entity/api/bohai/request/StatusDocumentsRequest.java
  58. 0 1
      src/main/java/com/ydtech/modules/order/entity/api/bohai/request/UnderwritingRequest.java
  59. 0 1
      src/main/java/com/ydtech/modules/order/entity/api/bohai/request/VehicleConfirmationReqeust.java
  60. 0 1
      src/main/java/com/ydtech/modules/order/entity/api/bohai/response/QuotationResponse.java
  61. 3 8
      src/main/java/com/ydtech/modules/order/entity/api/dajia/AESEncrypt.java
  62. 1 1
      src/main/java/com/ydtech/modules/order/entity/api/dajia/DaJiaBaseRequest.java
  63. 0 1
      src/main/java/com/ydtech/modules/order/entity/api/dajia/DaJiaConfigureParameters.java
  64. 0 1
      src/main/java/com/ydtech/modules/order/entity/api/dajia/constants/CIndemLmtLvl.java
  65. 0 3
      src/main/java/com/ydtech/modules/order/entity/api/dajia/request/NVHLODR1001Request.java
  66. 0 2
      src/main/java/com/ydtech/modules/order/entity/api/dajia/request/NVHLODR2007Request.java
  67. 0 2
      src/main/java/com/ydtech/modules/order/entity/api/dajia/request/ODR1007Request.java
  68. 3 13
      src/main/java/com/ydtech/modules/order/entity/api/dajia/request/ODR1009Request.java
  69. 0 4
      src/main/java/com/ydtech/modules/order/entity/api/dajia/request/ODR1010Request.java
  70. 0 1
      src/main/java/com/ydtech/modules/order/entity/api/dajia/request/ODR1013Request.java
  71. 0 1
      src/main/java/com/ydtech/modules/order/entity/api/dajia/request/ODR1014Request.java
  72. 0 2
      src/main/java/com/ydtech/modules/order/entity/api/dajia/request/ODR2009Request.java
  73. 0 1
      src/main/java/com/ydtech/modules/order/entity/api/dajia/response/ODR1007Response.java
  74. 0 1
      src/main/java/com/ydtech/modules/order/entity/api/guoren/request/SpecialAgreementRequest.java
  75. 0 2
      src/main/java/com/ydtech/modules/order/entity/api/huatai/request/HuaTaiInsurancePolicyPrintRequest.java
  76. 0 7
      src/main/java/com/ydtech/modules/order/entity/api/huatai/request/HuaTaiSubmitStatusQueryRequest.java
  77. 0 3
      src/main/java/com/ydtech/modules/order/entity/api/huatai/request/HuaTaiUploadImageRequest.java
  78. 0 1
      src/main/java/com/ydtech/modules/order/entity/api/huatai/response/HuaTaiModelsQueryResponse.java
  79. 0 3
      src/main/java/com/ydtech/modules/order/entity/api/huatai/response/HuaTaiQuotedPriceResponse.java
  80. 3 3
      src/main/java/com/ydtech/modules/order/entity/api/pingan/request/CarConfirmRequest.java
  81. 2 2
      src/main/java/com/ydtech/modules/order/entity/api/pingan/request/QuoteRequest.java
  82. 0 1
      src/main/java/com/ydtech/modules/order/entity/api/yongcheng/request/AccidentUnderwritingRequest.java
  83. 0 1
      src/main/java/com/ydtech/modules/order/entity/api/yongcheng/response/AccidentUnderwritingResponse.java
  84. 0 1
      src/main/java/com/ydtech/modules/order/entity/api/zhongmei/request/CoverageRequest.java
  85. 0 1
      src/main/java/com/ydtech/modules/order/entity/api/zijin/constants/enums/UnderWriteFlagEnum.java
  86. 0 1
      src/main/java/com/ydtech/modules/order/entity/api/zijin/constants/enums/UseNatureCode.java
  87. 0 1
      src/main/java/com/ydtech/modules/order/entity/api/zijin/request/NewPayRequest.java
  88. 0 5
      src/main/java/com/ydtech/modules/order/entity/crawler/response/CrawlerVerifyPaymentResponse.java
  89. 0 3
      src/main/java/com/ydtech/modules/order/entity/crawler/vo/CrawlerPolicyPrintVo.java
  90. 0 1
      src/main/java/com/ydtech/modules/order/entity/vo/AccidentalDrivingQueryVo.java
  91. 0 1
      src/main/java/com/ydtech/modules/order/entity/vo/AuditExportVo.java
  92. 1 1
      src/main/java/com/ydtech/modules/order/entity/vo/BaseQuoteInfoVo.java
  93. 0 1
      src/main/java/com/ydtech/modules/order/entity/vo/BatchOrderAuditVo.java
  94. 0 1
      src/main/java/com/ydtech/modules/order/entity/vo/BatchOrderVo.java
  95. 0 4
      src/main/java/com/ydtech/modules/order/entity/vo/CostSettlementExcelVo.java
  96. 0 1
      src/main/java/com/ydtech/modules/order/entity/vo/CostSettlementQueryVo.java
  97. 0 2
      src/main/java/com/ydtech/modules/order/entity/vo/FeeOrderNewRecordVo.java
  98. 16 2
      src/main/java/com/ydtech/modules/order/entity/vo/FeeOrderNewVo.java
  99. 0 6
      src/main/java/com/ydtech/modules/order/entity/vo/OrderExpirationQueryVo.java
  100. 0 8
      src/main/java/com/ydtech/modules/order/entity/vo/OrderExpirationVo.java

+ 33 - 0
src/main/java/com/ydtech/extension/BaseIService.java

@@ -0,0 +1,33 @@
+package com.ydtech.extension;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.exception.SystemException;
+import org.springframework.util.ObjectUtils;
+
+import java.io.Serializable;
+
+
+/**
+ * 扩展 IService
+ *
+ * @param <T>
+ */
+public interface BaseIService<T> extends IService<T> {
+
+    /**
+     * 判断是否存在
+     *
+     * @param id 订单表
+     * @param message 报错信息
+     * @return 实体
+     */
+    default T getByIdExist(Serializable id, String message) {
+        T t = getById(id);
+        if (ObjectUtils.isEmpty(t)) {
+            throw new SystemException(message);
+        }
+        return t;
+    }
+
+
+}

+ 20 - 0
src/main/java/com/ydtech/modules/admin/constants/ManagementSource.java

@@ -0,0 +1,20 @@
+package com.ydtech.modules.admin.constants;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * 机构来源枚举
+ */
+@AllArgsConstructor
+@Getter
+public enum ManagementSource {
+
+    MS_01("1", "渠道"),
+    MS_02("2", "个代");
+
+    private final String code;
+
+    private final String desc;
+}

+ 22 - 0
src/main/java/com/ydtech/modules/admin/constants/SwitchConfig.java

@@ -0,0 +1,22 @@
+package com.ydtech.modules.admin.constants;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+
+/**
+ * 启动配置
+ */
+@AllArgsConstructor
+@Getter
+public enum SwitchConfig {
+
+    SC_01("proxyCustomerAgent", "代客录单(代理人启动)"),
+    SC_02("proxyCustomerChannel", "代客录单(渠道启动)");
+
+    private final String code;
+
+    private final String desc;
+
+}

+ 1 - 1
src/main/java/com/ydtech/modules/admin/constants/UserWorkStatus.java

@@ -8,7 +8,7 @@ import lombok.Getter;
 @AllArgsConstructor
 public enum UserWorkStatus {
 
-    UWS_0(0,"离司"),
+    UWS_0(0,"在职"),
     UWS_1(1,"正常"),
     UWS_2(2,"入司待审核"),
     UWS_3(3,"入司审核驳回"),

+ 54 - 0
src/main/java/com/ydtech/modules/admin/controller/SysSwitchConfigController.java

@@ -0,0 +1,54 @@
+package com.ydtech.modules.admin.controller;
+
+
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.model.po.SysSwitchConfig;
+import com.ydtech.modules.admin.model.vo.SysSwitchConfigQueryVo;
+import com.ydtech.modules.admin.model.vo.SysSwitchConfigVo;
+import com.ydtech.modules.admin.service.SysSwitchConfigService;
+import com.ydtech.modules.order.entity.BasePageResult;
+import com.ydtech.modules.protocol.utils.AssertionUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/sys/switch")
+@Api(tags = "开关配置")
+@RequiredArgsConstructor
+public class SysSwitchConfigController {
+
+    private final SysSwitchConfigService sysSwitchConfigService;
+
+    @PostMapping("/page")
+    @ApiOperation(value = "获取分页列表")
+    public HttpResult<BasePageResult<SysSwitchConfig>> queryPage(@RequestBody SysSwitchConfigQueryVo sysSwitchConfigQueryVo) {
+        BasePageResult<SysSwitchConfig> pageResult = sysSwitchConfigService.queryPage(sysSwitchConfigQueryVo);
+        return HttpResult.ok(pageResult);
+    }
+
+    @PostMapping
+    @ApiOperation(value = "增加")
+    public HttpResult<Object> add(@RequestBody SysSwitchConfigVo sysSwitchConfigVo) {
+        sysSwitchConfigService.add(sysSwitchConfigVo);
+        return HttpResult.ok();
+    }
+
+    @DeleteMapping("/{id}")
+    @ApiOperation(value = "删除")
+    public HttpResult<Object> del(@PathVariable String id) {
+        boolean b = sysSwitchConfigService.removeById(id);
+        AssertionUtils.isSucceed(b, "删除失败");
+        return HttpResult.ok();
+    }
+
+    @PutMapping("/{id}")
+    @ApiOperation(value = "修改")
+    public HttpResult<Object> revise(@PathVariable String id, @RequestBody SysSwitchConfigVo sysSwitchConfigVo) {
+        sysSwitchConfigService.revise(id, sysSwitchConfigVo);
+        return HttpResult.ok();
+    }
+
+
+}

+ 23 - 15
src/main/java/com/ydtech/modules/admin/controller/SysUserController.java

@@ -413,8 +413,7 @@ public class SysUserController extends BaseController {
     @PostMapping(value = "/findUserList")
     public HttpResult findUserList(@RequestBody PageDto<SysUserDto> pageDto) {
         if (pageDto.getDto().getDeptId() == null) {
-            BaseController baseController = new BaseController();
-            pageDto.getDto().setDeptId(baseController.getDeptId());
+            pageDto.getDto().setDeptId(BaseController.getDeptId());
         }
         return HttpResult.ok(sysUserService.findUserList(pageDto));
     }
@@ -423,17 +422,16 @@ public class SysUserController extends BaseController {
     @PostMapping(value = "/findBackUserList")
     public HttpResult findBackUserList(@RequestBody SysUserDto sysUserDto) {
         if (sysUserDto.getDeptId() == null) {
-            BaseController baseController = new BaseController();
-            sysUserDto.setDeptId(baseController.getDeptId());
+            sysUserDto.setDeptId(BaseController.getDeptId());
         }
         return HttpResult.ok(sysUserService.findBackUserList(sysUserDto));
     }
+
     @ApiOperation(value = "后线用户查询不分页(编辑时查询领导人)")
     @PostMapping(value = "/findBackUserList1")
     public HttpResult findBackUserList1(@RequestBody SysUserDto sysUserDto) {
         if (sysUserDto.getDeptId() == null) {
-            BaseController baseController = new BaseController();
-            sysUserDto.setDeptId(baseController.getDeptId());
+            sysUserDto.setDeptId(BaseController.getDeptId());
         }
         return HttpResult.ok(sysUserService.findBackUserList1(sysUserDto));
     }
@@ -459,9 +457,9 @@ public class SysUserController extends BaseController {
     @GetMapping(value = "/approvalPass")
     public HttpResult approvalPass(@RequestParam String userId) {
         SysUser sysUser = sysUserService.getById(userId);
-        if(sysUser.getStatus() == UserWorkStatus.UWS_2.getCode()){
+        if (sysUser.getStatus() == UserWorkStatus.UWS_2.getCode()) {
             sysUser.setStatus(UserWorkStatus.UWS_1.getCode());
-        }else if(sysUser.getStatus() == UserWorkStatus.UWS_4.getCode()){
+        } else if (sysUser.getStatus() == UserWorkStatus.UWS_4.getCode()) {
             sysUser.setStatus(UserWorkStatus.UWS_0.getCode());
         }
         SysUserTrack sysUserTrack = new SysUserTrack();
@@ -485,9 +483,9 @@ public class SysUserController extends BaseController {
 
 
         SysUser sysUser = sysUserService.getById(userId);
-        if(Objects.equals(sysUser.getStatus(), UserWorkStatus.UWS_2.getCode())) {
+        if (Objects.equals(sysUser.getStatus(), UserWorkStatus.UWS_2.getCode())) {
             sysUser.setStatus(UserWorkStatus.UWS_3.getCode());
-        }else if(Objects.equals(sysUser.getStatus(), UserWorkStatus.UWS_4.getCode())){
+        } else if (Objects.equals(sysUser.getStatus(), UserWorkStatus.UWS_4.getCode())) {
             sysUser.setStatus(UserWorkStatus.UWS_5.getCode());
         }
         sysUser.setApprovalOpinion(reason);
@@ -546,7 +544,7 @@ public class SysUserController extends BaseController {
         queryBank.setUserId(userId);
         queryBank.setAuditStatus("1");
         HttpResult<List<SysUserBankCard>> userBankList = sysUserBankCardService.getUserBankListByQueryParam(queryBank);
-        if(!Objects.isNull(userInfo)) {
+        if (!Objects.isNull(userInfo)) {
             if (userBankList.getData().isEmpty()) {
                 userInfo.setBankName(null);
                 userInfo.setAccountno(null);
@@ -883,11 +881,12 @@ public class SysUserController extends BaseController {
         }
 
     }
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/7/11 16:04
-     *  @Description: 查询的所有的后线人员
+     * @version
+     * @author: hxl
+     * @Date: 2024/7/11 16:04
+     * @Description: 查询的所有的后线人员
      */
     @ApiOperation(value = "后线用户查询不分页(编辑时查询领导人)")
     @GetMapping(value = "/findHxUserList")
@@ -901,4 +900,13 @@ public class SysUserController extends BaseController {
     public HttpResult departApply(@RequestBody SysUser2Vo sysUserVO) {
         return sysUserService.departApply(sysUserVO) ? HttpResult.ok("离职申请提交成功") : HttpResult.error("离职申请提交失败");
     }
+
+
+    @ApiOperation(value = "离职恢复")
+    @PostMapping("/separationReinstatement/{id}")
+    public HttpResult separationReinstatement(@PathVariable String id) {
+        sysUserService.separationReinstatement(id);
+        return HttpResult.ok("恢复成功");
+    }
+
 }

+ 18 - 0
src/main/java/com/ydtech/modules/admin/dao/SysSwitchConfigMapper.java

@@ -0,0 +1,18 @@
+package com.ydtech.modules.admin.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ydtech.modules.admin.model.po.SysSwitchConfig;
+
+/**
+* @author Administrator
+* @description 针对表【sys_switch_config(系统开关配置表)】的数据库操作Mapper
+* @createDate 2024-08-07 18:04:47
+* @Entity generator.domain.SysSwitchConfig
+*/
+public interface SysSwitchConfigMapper extends BaseMapper<SysSwitchConfig> {
+
+}
+
+
+
+

+ 14 - 0
src/main/java/com/ydtech/modules/admin/model/SysUserTrack.java

@@ -1,10 +1,15 @@
 package com.ydtech.modules.admin.model;
 
+import cn.dev33.satoken.stp.StpUtil;
+import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
 import java.util.Date;
 
 @Data
+@AllArgsConstructor
+@NoArgsConstructor
 public class SysUserTrack {
     /**
      * id
@@ -30,4 +35,13 @@ public class SysUserTrack {
      * 审核信息
      */
     private String approveMess;
+
+
+    public SysUserTrack(SysUser sysUser) {
+        this.userId = sysUser.getId();
+        this.status = sysUser.getStatus();
+        this.approveBy = StpUtil.getLoginId().toString();
+        this.approveTime = new Date();
+    }
+
 }

+ 134 - 0
src/main/java/com/ydtech/modules/admin/model/po/SysSwitchConfig.java

@@ -0,0 +1,134 @@
+package com.ydtech.modules.admin.model.po;
+
+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 lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 系统开关配置表
+ * @TableName sys_switch_config
+ */
+@TableName(value ="sys_switch_config")
+@Data
+public class SysSwitchConfig implements Serializable {
+    /**
+     * 主键id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 模块名称
+     */
+    @TableField(value = "project")
+    private String project;
+
+    /**
+     * 功能名称
+     */
+    @TableField(value = "function_name")
+    private String functionName;
+
+    /**
+     * keyword
+     */
+    @TableField(value = "keyword")
+    private String keyword;
+
+    /**
+     * 是否启动 1 启动 0 关闭
+     */
+    @TableField(value = "enabled")
+    private Integer enabled;
+
+    /**
+     * 创建人
+     */
+    @TableField(value = "create_by")
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    private Date createTime;
+
+    /**
+     * 修改人
+     */
+    @TableField(value = "update_by")
+    private String updateBy;
+
+    /**
+     * 修改时间
+     */
+    @TableField(value = "update_time")
+    private Date updateTime;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        SysSwitchConfig other = (SysSwitchConfig) that;
+        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+            && (this.getProject() == null ? other.getProject() == null : this.getProject().equals(other.getProject()))
+            && (this.getFunctionName() == null ? other.getFunctionName() == null : this.getFunctionName().equals(other.getFunctionName()))
+            && (this.getKeyword() == null ? other.getKeyword() == null : this.getKeyword().equals(other.getKeyword()))
+            && (this.getEnabled() == null ? other.getEnabled() == null : this.getEnabled().equals(other.getEnabled()))
+            && (this.getCreateBy() == null ? other.getCreateBy() == null : this.getCreateBy().equals(other.getCreateBy()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getUpdateBy() == null ? other.getUpdateBy() == null : this.getUpdateBy().equals(other.getUpdateBy()))
+            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+        result = prime * result + ((getProject() == null) ? 0 : getProject().hashCode());
+        result = prime * result + ((getFunctionName() == null) ? 0 : getFunctionName().hashCode());
+        result = prime * result + ((getKeyword() == null) ? 0 : getKeyword().hashCode());
+        result = prime * result + ((getEnabled() == null) ? 0 : getEnabled().hashCode());
+        result = prime * result + ((getCreateBy() == null) ? 0 : getCreateBy().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getUpdateBy() == null) ? 0 : getUpdateBy().hashCode());
+        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", project=").append(project);
+        sb.append(", functionName=").append(functionName);
+        sb.append(", keyword=").append(keyword);
+        sb.append(", enabled=").append(enabled);
+        sb.append(", createBy=").append(createBy);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", updateBy=").append(updateBy);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 39 - 0
src/main/java/com/ydtech/modules/admin/model/vo/SysSwitchConfigQueryVo.java

@@ -0,0 +1,39 @@
+package com.ydtech.modules.admin.model.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.Min;
+
+
+/**
+ * 配置开关查询接口
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class SysSwitchConfigQueryVo {
+
+    @ApiModelProperty("模块名称")
+    private String project;
+
+    @ApiModelProperty("功能名称")
+    private String functionName;
+
+    @ApiModelProperty("keyword")
+    private String keyword;
+
+    @ApiModelProperty("是否启动 1 启动 0 关闭")
+    private Integer enabled;
+
+
+    @ApiModelProperty(value = "每页页数")
+    private int pageSize;
+
+    @ApiModelProperty(value = "页数")
+    @Min(value = 1, message = "页数最小为1")
+    private int pageNum;
+
+}

+ 33 - 0
src/main/java/com/ydtech/modules/admin/model/vo/SysSwitchConfigVo.java

@@ -0,0 +1,33 @@
+package com.ydtech.modules.admin.model.vo;
+
+
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@ApiModel("启动实体")
+public class SysSwitchConfigVo implements Serializable {
+
+    private static final long serialVersionUID = 3596838212640291050L;
+
+    @ApiModelProperty("模块名称")
+    private String project;
+
+    @ApiModelProperty("功能名称")
+    private String functionName;
+
+    @ApiModelProperty("keyword")
+    private String keyword;
+
+    @ApiModelProperty("是否启动 1 启动 0 关闭")
+    private Integer enabled;
+
+}

+ 3 - 0
src/main/java/com/ydtech/modules/admin/model/vo/SysUserBaseVO.java

@@ -70,4 +70,7 @@ public class SysUserBaseVO {
 
     @ApiModelProperty(value = "审核时间")
     private Date approveTime;
+
+    @ApiModelProperty(value = "审核人")
+    private String approveBy;
 }

+ 62 - 0
src/main/java/com/ydtech/modules/admin/service/SysSwitchConfigService.java

@@ -0,0 +1,62 @@
+package com.ydtech.modules.admin.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.modules.admin.model.po.SysSwitchConfig;
+import com.ydtech.modules.admin.model.vo.SysSwitchConfigQueryVo;
+import com.ydtech.modules.admin.model.vo.SysSwitchConfigVo;
+import com.ydtech.modules.order.entity.BasePageResult;
+import com.ydtech.modules.protocol.utils.AssertionUtils;
+
+import java.math.BigDecimal;
+
+/**
+ * @author Administrator
+ * @description 针对表【sys_switch_config(系统开关配置表)】的数据库操作Service
+ * @createDate 2024-08-07 18:04:47
+ */
+public interface SysSwitchConfigService extends IService<SysSwitchConfig> {
+
+    /**
+     * 判断开关是否开启的
+     *
+     * @param id id
+     * @return 系统开关配置
+     */
+    default SysSwitchConfig getByIdExists(String id) {
+        SysSwitchConfig sysSwitchConfig = getById(id);
+        AssertionUtils.isEmpty(sysSwitchConfig, "未查询到你所配置的开关");
+        return sysSwitchConfig;
+    }
+
+    /**
+     * 获取 代理人、渠道 代客录单费用是否开启
+     *
+     * @param deptId 机构id
+     * @return 功能是够开启
+     */
+    BigDecimal getEnterProportion(String deptId, Integer entryStatus);
+
+    /**
+     * 添加开关信息
+     *
+     * @param sysSwitchConfigVo
+     */
+    void add(SysSwitchConfigVo sysSwitchConfigVo);
+
+
+    /**
+     * 修改
+     *
+     * @param id                开关表 id
+     * @param sysSwitchConfigVo 开关信息
+     */
+    void revise(String id, SysSwitchConfigVo sysSwitchConfigVo);
+
+    /**
+     * 分页查询开关配置
+     *
+     * @param sysSwitchConfigQueryVo 开关配置
+     * @return
+     */
+    BasePageResult<SysSwitchConfig> queryPage(SysSwitchConfigQueryVo sysSwitchConfigQueryVo);
+}

+ 16 - 2
src/main/java/com/ydtech/modules/admin/service/SysUserService.java

@@ -3,9 +3,9 @@ package com.ydtech.modules.admin.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.PageResult;
+import com.ydtech.extension.BaseIService;
 import com.ydtech.modules.admin.model.QuTeamNum;
 import com.ydtech.modules.admin.model.QuUserNum;
 import com.ydtech.modules.admin.model.SysUser;
@@ -20,7 +20,9 @@ import com.ydtech.modules.base.model.vo.PageVo;
 import java.util.List;
 import java.util.Set;
 
-public interface SysUserService extends IService<SysUser> {
+public interface SysUserService extends BaseIService<SysUser> {
+
+
     SysUser findByUsername(String username);
 
     SysUser findByPhone(String phone);
@@ -83,6 +85,11 @@ public interface SysUserService extends IService<SysUser> {
 
     IPage<SysUserBaseVO> findAllUserList(PageDto<SysUserDto> pageDto);
 
+    /**
+     * 查询人员列表
+     * @param sysUserDto 查询实体
+     * @return 人员列表
+     */
     IPage<SysUserBaseVO> findBackUserList(SysUserDto sysUserDto);
 
     List<SysUserBaseVO> findBackUserList1(SysUserDto sysUserDto);
@@ -200,6 +207,13 @@ public interface SysUserService extends IService<SysUser> {
      * @return
      */
     boolean departApply(SysUser2Vo sysUserVO);
+
+    /**
+     * 离职恢复
+     * @param userid 用户id
+     */
+    void separationReinstatement(String userid);
+
 }
 
 

+ 117 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysSwitchConfigServiceImpl.java

@@ -0,0 +1,117 @@
+package com.ydtech.modules.admin.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.pagehelper.util.StringUtil;
+import com.ydtech.modules.admin.constants.ManagementSource;
+import com.ydtech.modules.admin.constants.SwitchConfig;
+import com.ydtech.modules.admin.dao.SysSwitchConfigMapper;
+import com.ydtech.modules.admin.model.SysDept;
+import com.ydtech.modules.admin.model.po.SysSwitchConfig;
+import com.ydtech.modules.admin.model.vo.SysSwitchConfigQueryVo;
+import com.ydtech.modules.admin.model.vo.SysSwitchConfigVo;
+import com.ydtech.modules.admin.service.SysDeptService;
+import com.ydtech.modules.admin.service.SysSwitchConfigService;
+import com.ydtech.modules.base.controller.BaseController;
+import com.ydtech.modules.fee.constants.CostAllocation;
+import com.ydtech.modules.fee.dto.po.InsFeeOrderConfig;
+import com.ydtech.modules.fee.service.InsFeeOrderConfigService;
+import com.ydtech.modules.order.entity.BasePageResult;
+import com.ydtech.modules.protocol.utils.AssertionUtils;
+import lombok.RequiredArgsConstructor;
+import org.apache.commons.lang3.ObjectUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author Administrator
+ * @description 针对表【sys_switch_config(系统开关配置表)】的数据库操作Service实现
+ * @createDate 2024-08-07 18:04:47
+ */
+@Service
+@RequiredArgsConstructor
+public class SysSwitchConfigServiceImpl extends ServiceImpl<SysSwitchConfigMapper, SysSwitchConfig> implements SysSwitchConfigService {
+
+    private final SysDeptService sysDeptService;
+
+    private final InsFeeOrderConfigService insFeeOrderConfigService;
+
+    @Override
+    public BigDecimal getEnterProportion(String deptId, Integer entryStatus) {
+        if (entryStatus != 2) {
+            return BigDecimal.ZERO;
+        }
+
+        SysDept dept = sysDeptService.getById(deptId);
+        SysSwitchConfig config;
+        CostAllocation costAllocation;
+        SwitchConfig switchConfig;
+        // 渠道
+        if (ManagementSource.MS_01.getCode().equals(dept.getManagementSource())) {
+            costAllocation = CostAllocation.CA_05;
+            switchConfig = SwitchConfig.SC_02;
+            // 代理人
+        } else {
+            costAllocation = CostAllocation.CA_04;
+            switchConfig = SwitchConfig.SC_01;
+        }
+
+        config = lambdaQuery().eq(SysSwitchConfig::getKeyword, switchConfig.getCode()).one();
+        if (config.getEnabled() == 1) {
+            InsFeeOrderConfig insFeeOrderConfig = insFeeOrderConfigService.lambdaQuery()
+                    .eq(InsFeeOrderConfig::getKeyword, costAllocation.getCode())
+                    .one();
+            return insFeeOrderConfig.getVal();
+        }
+
+        return BigDecimal.ZERO;
+
+    }
+
+    @Override
+    public void add(SysSwitchConfigVo sysSwitchConfigVo) {
+        SysSwitchConfig sysSwitchConfig = new SysSwitchConfig();
+        BeanUtils.copyProperties(sysSwitchConfigVo, sysSwitchConfig);
+        String userId = BaseController.getUserId();
+        sysSwitchConfig.setCreateBy(userId);
+        sysSwitchConfig.setCreateTime(new Date());
+        boolean save = save(sysSwitchConfig);
+        AssertionUtils.isSucceed(save, "增加失败");
+    }
+
+    @Override
+    @Transactional
+    public void revise(String id, SysSwitchConfigVo sysSwitchConfigVo) {
+        SysSwitchConfig sysSwitchConfig = getByIdExists(id);
+        BeanUtils.copyProperties(sysSwitchConfigVo, sysSwitchConfig);
+        String userId = BaseController.getUserId();
+        sysSwitchConfig.setUpdateBy(userId);
+        sysSwitchConfig.setUpdateTime(new Date());
+        boolean b = updateById(sysSwitchConfig);
+        AssertionUtils.isSucceed(b, "修改失败");
+    }
+
+    @Override
+    public BasePageResult<SysSwitchConfig> queryPage(SysSwitchConfigQueryVo sysSwitchConfigQueryVo) {
+        Page<SysSwitchConfig> page = new Page<>(sysSwitchConfigQueryVo.getPageNum(), sysSwitchConfigQueryVo.getPageSize());
+
+        Page<SysSwitchConfig> sysSwitchConfigPage = lambdaQuery()
+                .eq(!ObjectUtils.isEmpty(sysSwitchConfigQueryVo.getEnabled()), SysSwitchConfig::getEnabled, sysSwitchConfigQueryVo.getEnabled())
+                .like(StringUtil.isNotEmpty(sysSwitchConfigQueryVo.getKeyword()), SysSwitchConfig::getKeyword, sysSwitchConfigQueryVo.getKeyword())
+                .like(StringUtil.isNotEmpty(sysSwitchConfigQueryVo.getProject()), SysSwitchConfig::getProject, sysSwitchConfigQueryVo.getProject())
+                .like(StringUtil.isNotEmpty(sysSwitchConfigQueryVo.getFunctionName()), SysSwitchConfig::getFunctionName, sysSwitchConfigQueryVo.getFunctionName())
+                .page(page);
+
+        return new BasePageResult<>(sysSwitchConfigQueryVo.getPageNum(), sysSwitchConfigQueryVo.getPageSize(),
+                sysSwitchConfigPage.getTotal(), sysSwitchConfigPage.getPages(), sysSwitchConfigPage.getRecords());
+    }
+
+}
+
+
+
+

+ 17 - 9
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -113,13 +113,15 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
     @Override
     public IPage<SysUserBaseVO> findBackUserList(SysUserDto sysUserDto) {
-        PageVo<SysUserBaseVO> pageVo = new PageVo();
-        Page page = new Page(sysUserDto.getPageNum(), sysUserDto.getPageSize());
+        PageVo<SysUserBaseVO> pageVo = new PageVo<>();
+        Page<SysUserBaseVO> page = new Page<>(sysUserDto.getPageNum(), sysUserDto.getPageSize());
+
         pageVo.setPageNum(sysUserDto.getPageNum());
         pageVo.setPageSize(sysUserDto.getPageSize());
         if (sysUserDto.getAgentFlag() == null) {
             throw new SystemException("必传标识未传递");
         }
+
         return sysUserMapper.findBackUserList(page, sysUserDto);
     }
 
@@ -1316,7 +1318,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             strIds.removeIf(id -> !id.contains("99" + quUserNumDto.getAreaCode()));
 
             // 如果筛选后没有有效的下属ID,返回空分页对象
-            if (strIds.size() == 0) {
+            if (strIds.isEmpty()) {
                 return new Page<>();
             }
             // 设置查询条件中的用户ID列表
@@ -1484,6 +1486,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         sysUserLambdaQueryWrapper.in(SysUser::getId, userIds);
         return sysUserMapper.selectList(sysUserLambdaQueryWrapper);
     }
+
     /**
      *  @version
      *  @author: hxl
@@ -1534,12 +1537,17 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     public List<String> getUserIds() {
         return baseMapper.getUserIds();
     }
-}
-
-
-
-
-
 
+    @Override
+    @Transactional
+    public void separationReinstatement(String userid) {
+        SysUser sysUser = getByIdExist(userid, "离职用户未查询到");
+        sysUser.setStatus(UserWorkStatus.UWS_2.getCode());
+        this.updateById(sysUser);
 
+        //添加轨迹
+        SysUserTrack sysUserTrack = new SysUserTrack(sysUser);
+        sysUserTrackService.save(sysUserTrack);
+    }
 
+}

+ 17 - 23
src/main/java/com/ydtech/modules/base/controller/BaseController.java

@@ -20,7 +20,7 @@ import org.apache.poi.ss.formula.functions.T;
 public class BaseController {
 
     /**
-     *  获取用户
+     * 获取用户
      *
      * @author: lig
      * @date: 2023年06月28日 0028
@@ -33,48 +33,47 @@ public class BaseController {
 
 
     /**
-     *  获取用户ID
+     * 获取用户ID
      *
      * @author: lig
      * @date: 2023-06-28
      */
-    public String getUserId() {
+    public static String getUserId() {
         return StpUtil.getLoginId().toString();
     }
 
     /**
-     *  获取用户名   系统用户名与ID相同
+     * 获取用户名   系统用户名与ID相同
      *
      * @author: lig
      * @date: 2023-06-28
      */
-    public String getUserName() {
+    public static String getUserName() {
         return StpUtil.getLoginId().toString();
     }
 
     /**
-     *  获取部门ID
+     * 获取部门ID
      *
      * @author: lig
      * @date: 2023年06月28日 0028
      */
-    public String getDeptId() {
+    public static String getDeptId() {
         SaSession saSession = StpUtil.getSessionByLoginId(StpUtil.getLoginId());
         SysUser sysUser = (SysUser) saSession.get(SaSession.USER);
         return sysUser.getDeptId();
     }
 
 
-
     /**
-     *  构造分页 请求 数据
+     * 构造分页 请求 数据
      *
      * @author: lig
      * @date: 2023年06月28日 0028
      */
-    public Page<T> buildPageRequest(PageDto pageDto){
-        int pageNum = pageDto.getPageNum() < 1?1: pageDto.getPageNum();
-        int pageSize = pageDto.getPageSize() <1?1: pageDto.getPageSize();
+    public Page<T> buildPageRequest(PageDto pageDto) {
+        int pageNum = pageDto.getPageNum() < 1 ? 1 : pageDto.getPageNum();
+        int pageSize = pageDto.getPageSize() < 1 ? 1 : pageDto.getPageSize();
         Page<org.apache.poi.ss.formula.functions.T> p = new Page<>();
         p.setSize(pageSize);
         p.setCurrent(pageNum);
@@ -83,27 +82,22 @@ public class BaseController {
 
 
     /**
-     *  构造分页 响应 数据
+     * 构造分页 响应 数据
      *
      * @author: lig
      * @date: 2023-06-28
      */
     public PageResult buildPageResponse(IPage page) {
         PageResult p = new PageResult();
-        p.setPageNum((int)page.getCurrent());
-        p.setPageSize((int)page.getSize());
-        p.setTotalPages((int)page.getPages());
-        p.setTotalSize((int)page.getTotal());
+        p.setPageNum((int) page.getCurrent());
+        p.setPageSize((int) page.getSize());
+        p.setTotalPages((int) page.getPages());
+        p.setTotalSize((int) page.getTotal());
 
-        p.setContent(page.getRecords()) ;
+        p.setContent(page.getRecords());
         return p;
 
     }
 
 
-
-
-
-
-
 }

+ 27 - 0
src/main/java/com/ydtech/modules/fee/constants/CostAllocation.java

@@ -0,0 +1,27 @@
+package com.ydtech.modules.fee.constants;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@AllArgsConstructor
+@Getter
+public enum CostAllocation {
+
+    // 不够减扣除比例
+    CA_01("retailProportion", "分销比例", "0.2"),
+    CA_02("deptProportion", "机构比例", "0.1"),
+    CA_03("proxyProportion", "代课录单比例", "0.1"),
+
+    // 扣减扣除比例
+    CA_04("agentProportion", "代课录单代理人扣减比例", "1"),
+    CA_05("channelProportion", "代课录单渠道扣减比例", "1");
+
+    private final String code;
+
+    private final String desc;
+
+    private final String defaultScale;
+
+
+}

+ 3 - 0
src/main/java/com/ydtech/modules/fee/dto/vo/ReCalcuLateProportion.java

@@ -32,6 +32,9 @@ public class ReCalcuLateProportion {
     @ApiModelProperty("三级分销费")
     private BigDecimal retail_level_3_proportion;
 
+    @ApiModelProperty("代课录单比例")
+    private BigDecimal proxyProportion;
+
     public ReCalcuLateProportion() {
         this.dept_level_1_proportion = new BigDecimal(0);
         this.dept_level_2_proportion = new BigDecimal(0);

+ 22 - 13
src/main/java/com/ydtech/modules/fee/service/FeeRuleSchemeNewService.java

@@ -32,6 +32,7 @@ public interface FeeRuleSchemeNewService {
 
     /**
      * 查询费用明细
+     *
      * @param companyId
      * @return
      */
@@ -41,22 +42,25 @@ public interface FeeRuleSchemeNewService {
 
     /**
      * 比较和更新总费用比例
+     *
      * @param insOrderNo
      * @param jqCostsProportionStr
      * @param syCostsProportionStr
      */
-    void compareAndUpdateFeeOrderInfo(String insOrderNo ,String jqCostsProportionStr,String syCostsProportionStr,String dealUser);
+    void compareAndUpdateFeeOrderInfo(String insOrderNo, String jqCostsProportionStr, String syCostsProportionStr, String dealUser);
 
 
     /**
      * 查找匹配的费用因子
+     *
      * @param insAreaCompany
      * @param insOrders
      */
-    void verificationCostFactor(InsAreaCompany insAreaCompany, InsOrders insOrders,StringBuilder logs);
+    void verificationCostFactor(InsAreaCompany insAreaCompany, InsOrders insOrders, StringBuilder logs);
 
     /**
      * 查找匹配承保规则的因子
+     *
      * @param insAreaCompany
      * @param insOrders
      */
@@ -64,6 +68,7 @@ public interface FeeRuleSchemeNewService {
 
     /**
      * 重新计算费用
+     *
      * @param costsProportion
      * @param deptProportion
      * @param retailProportion
@@ -73,29 +78,33 @@ public interface FeeRuleSchemeNewService {
      * @param type
      * @return
      */
-    public ReCalcuLateProportion recalculateProportion(BigDecimal costsProportion,
-                                                       BigDecimal deptProportion,
-                                                       BigDecimal retailProportion,
-                                                       BigDecimal taxRadio,
-                                                       Integer retailLevel,
-                                                       PtlAgreementProductCostsExport ptlAgreementProductCostsExport,
-                                                       RetailProportion originalRetailProportion,
-                                                       String type);
+    ReCalcuLateProportion recalculateProportion(BigDecimal costsProportion,
+                                                BigDecimal deptProportion,
+                                                BigDecimal retailProportion,
+                                                BigDecimal taxRadio,
+                                                Integer retailLevel,
+                                                PtlAgreementProductCostsExport ptlAgreementProductCostsExport,
+                                                RetailProportion originalRetailProportion,
+                                                String type,
+                                                BigDecimal enterProportion
+    );
 
 
     /**
      * 计算费用因子
+     *
      * @param costsId
      */
-    void calcCosts(String costsId,InsAreaCompany insAreaCompany);
+    void calcCosts(String costsId, InsAreaCompany insAreaCompany);
 
 
-    void calcCostsTest(String costsId,InsAreaCompany insAreaCompany);
+    void calcCostsTest(String costsId, InsAreaCompany insAreaCompany);
 
     /**
      * 计算费用因子  外部订单录入使用
+     *
      * @param costsNew
      * @param insAreaCompany
      */
-    void calcCostsExternal(PtlAgreementProductCostsNew costsNew,InsAreaCompany insAreaCompany);
+    void calcCostsExternal(PtlAgreementProductCostsNew costsNew, InsAreaCompany insAreaCompany);
 }

+ 48 - 38
src/main/java/com/ydtech/modules/fee/service/FeeRuleSchemeService.java

@@ -26,6 +26,7 @@ public interface FeeRuleSchemeService {
 
     /**
      * 查询费用明细
+     *
      * @param companyId
      * @return
      */
@@ -35,48 +36,53 @@ public interface FeeRuleSchemeService {
 
     /**
      * 比较和更新总费用比例
+     *
      * @param insOrderNo
      * @param jqCostsProportionStr
      * @param syCostsProportionStr
      */
-    void compareAndUpdateFeeOrderInfo(String insOrderNo ,String jqCostsProportionStr,String syCostsProportionStr,String dealUser);
+    void compareAndUpdateFeeOrderInfo(String insOrderNo, String jqCostsProportionStr, String syCostsProportionStr, String dealUser);
 
     /**
      * 计算入口费用
-     * @param premium    保费
-     * @param superviseCostsProportion  手续费比例
-     * @param otherCostsProportion      跟单比例
+     *
+     * @param premium                  保费
+     * @param superviseCostsProportion 手续费比例
+     * @param otherCostsProportion     跟单比例
      */
     FeeOrderNewVo.EntranceFee calcEntranceFee(BigDecimal premium, BigDecimal superviseCostsProportion, BigDecimal otherCostsProportion, BigDecimal taxRate);
 
     /**
      * 计算机构管理费用
-     * @param premium   保费
-     * @param level1Proportion  一级比例
-     * @param level2Proportion  二级比例
-     * @param level3Proportion  三级比例
-     * @param level4Proportion  四级比例
-     * @param level5Proportion  五级比例
+     *
+     * @param premium          保费
+     * @param level1Proportion 一级比例
+     * @param level2Proportion 二级比例
+     * @param level3Proportion 三级比例
+     * @param level4Proportion 四级比例
+     * @param level5Proportion 五级比例
      * @return
      */
-    public FeeOrderNewVo.DeptManagerFee calcDeptManagerFee(BigDecimal premium, BigDecimal level1Proportion,BigDecimal level2Proportion,
-                                                           BigDecimal level3Proportion,BigDecimal level4Proportion,BigDecimal level5Proportion);
+     FeeOrderNewVo.DeptManagerFee calcDeptManagerFee(BigDecimal premium, BigDecimal level1Proportion, BigDecimal level2Proportion,
+                                                           BigDecimal level3Proportion, BigDecimal level4Proportion, BigDecimal level5Proportion);
 
     /**
      * 计算出口费用
-     * @param premium   保费
-     * @param superviseCostsProportion  出口手续费
-     * @param entranceTotalProportion   入口总比例
-     * @param deptTotalProportion       机构管理费总比例
-     * @param retailTotalProportion     分销总比例
-     * @param taxRate                   税率
+     *
+     * @param premium                  保费
+     * @param superviseCostsProportion 出口手续费
+     * @param entranceTotalProportion  入口总比例
+     * @param deptTotalProportion      机构管理费总比例
+     * @param retailTotalProportion    分销总比例
+     * @param taxRate                  税率
      * @return
      */
-    public FeeOrderNewVo.ExportFee calcExportFee(BigDecimal premium, BigDecimal superviseCostsProportion, BigDecimal entranceTotalProportion,
-                                                 BigDecimal deptTotalProportion,BigDecimal retailTotalProportion,BigDecimal taxRate);
+     FeeOrderNewVo.ExportFee calcExportFee(BigDecimal premium, BigDecimal superviseCostsProportion, BigDecimal entranceTotalProportion,
+                                                 BigDecimal deptTotalProportion, BigDecimal retailTotalProportion, BigDecimal taxRate, BigDecimal enterProportion);
 
     /**
      * 计算分销费用
+     *
      * @param jqPremiums
      * @param jqProportion
      * @param syPremiums
@@ -85,38 +91,42 @@ public interface FeeRuleSchemeService {
      * @param noProportion
      * @param jqRetailProportion
      */
-    FeeOrderNewVo.RetailFee calcRetail(BigDecimal jqPremiums,BigDecimal jqProportion, BigDecimal syPremiums,BigDecimal syProportion, BigDecimal noPremiums,
-                                 BigDecimal noProportion, BigDecimal jqRetailProportion, BigDecimal syRetailProportion, BigDecimal noRetailProportion);
+    FeeOrderNewVo.RetailFee calcRetail(BigDecimal jqPremiums, BigDecimal jqProportion, BigDecimal syPremiums, BigDecimal syProportion, BigDecimal noPremiums,
+                                       BigDecimal noProportion, BigDecimal jqRetailProportion, BigDecimal syRetailProportion, BigDecimal noRetailProportion);
 
 
     FeeOrderNewVo newConvertOrderFeeVoData(InsFeeOrderNew insFeeOrderNew, PtlAgreementProductCostsNew ptlAgreementProductCostsNew);
 
 
-    FeeOrderNewVo.EntranceFee assignEntranceFee(String title,BigDecimal premium,BigDecimal superviseCostsProportion,BigDecimal otherCostsProportion,
-                                                BigDecimal costsProportion,BigDecimal superviseCostsPremiums,BigDecimal otherCostsPremiums,
+    FeeOrderNewVo.EntranceFee assignEntranceFee(String title, BigDecimal premium, BigDecimal superviseCostsProportion, BigDecimal otherCostsProportion,
+                                                BigDecimal costsProportion, BigDecimal superviseCostsPremiums, BigDecimal otherCostsPremiums,
                                                 BigDecimal costsPremiums);
 
-    FeeOrderNewVo.DeptManagerFee assignDeptFee(String title,BigDecimal level1Proportion,BigDecimal level1Premium,
-                                               BigDecimal level2Proportion,BigDecimal level2Premium,
-                                               BigDecimal level3Proportion,BigDecimal level3Premium,
-                                               BigDecimal level4Proportion,BigDecimal level4Premium,
-                                               BigDecimal level5Proportion,BigDecimal level5Premium,
-                                               BigDecimal profitMarginPremiums);
+    FeeOrderNewVo.DeptManagerFee assignDeptFee(String title, BigDecimal level1Proportion, BigDecimal level1Premium,
+                                               BigDecimal level2Proportion, BigDecimal level2Premium,
+                                               BigDecimal level3Proportion, BigDecimal level3Premium,
+                                               BigDecimal level4Proportion, BigDecimal level4Premium,
+                                               BigDecimal level5Proportion, BigDecimal level5Premium,
+                                               BigDecimal profitMarginPremiums,
+                                               BigDecimal externalProportion, BigDecimal externalPremiums
+    );
 
-    FeeOrderNewVo.ExportFee assignExportFee(String title,BigDecimal premium,BigDecimal superviseCostsProportion,BigDecimal otherCostsProportion,
-                                            BigDecimal superviseCostsPremiums,BigDecimal otherCostsPremiums);
+    FeeOrderNewVo.ExportFee assignExportFee(String title, BigDecimal premium, BigDecimal superviseCostsProportion, BigDecimal otherCostsProportion,
+                                            BigDecimal superviseCostsPremiums, BigDecimal otherCostsPremiums
+    );
 
 
     /**
      * 推算比例是否正确
-     * @param entranceFee     入口
-     * @param deptManagerFee  机构管理
-     * @param exportFee       出口
-     * @param retailRadio     分销比例
-     * @param premiums        保费
+     *
+     * @param entranceFee    入口
+     * @param deptManagerFee 机构管理
+     * @param exportFee      出口
+     * @param retailRadio    分销比例
+     * @param premiums       保费
      * @return
      */
-    boolean calculateProportion(FeeOrderNewVo.EntranceFee entranceFee,FeeOrderNewVo.DeptManagerFee deptManagerFee,FeeOrderNewVo.ExportFee exportFee,BigDecimal retailRadio,BigDecimal taxRadio,BigDecimal premiums);
+    boolean calculateProportion(FeeOrderNewVo.EntranceFee entranceFee, FeeOrderNewVo.DeptManagerFee deptManagerFee, FeeOrderNewVo.ExportFee exportFee, BigDecimal retailRadio, BigDecimal taxRadio, BigDecimal premiums);
 
     List<DistributionLevelVo> converDistrbutionData(InsFeeOrderNew insFeeOrderNew);
 }

+ 3 - 0
src/main/java/com/ydtech/modules/fee/service/InsFeeOrderConfigService.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.modules.fee.dto.po.InsFeeOrderConfig;
 import com.ydtech.modules.order.entity.vo.dajia.InsAccidentalDrivingDajia;
 
+import java.math.BigDecimal;
+
 /**
  * @author
  * @description 针对表【InsFeeOrderConfig()】的数据库操作Service
@@ -11,4 +13,5 @@ import com.ydtech.modules.order.entity.vo.dajia.InsAccidentalDrivingDajia;
  */
 public interface InsFeeOrderConfigService extends IService<InsFeeOrderConfig> {
 
+
 }

+ 74 - 49
src/main/java/com/ydtech/modules/fee/service/impl/FeeRuleSchemeServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ydtech.modules.fee.service.impl;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.beust.ah.A;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.admin.model.SysUser;
@@ -27,6 +28,7 @@ import com.ydtech.modules.protocol.service.*;
 import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
 import com.ydtech.modules.protocols.entity.po.PtlAgreementProductCostsNew;
 import com.ydtech.modules.protocols.service.InsFeeOrderNewService;
+import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.math.NumberUtils;
@@ -104,7 +106,7 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
                 }
             }
 
-            if (validSchemeList.size() > 0) {
+            if (!validSchemeList.isEmpty()) {
                 //先判断匹配到的是不是只有兜底类型,如果不是则过滤掉兜底类型的费用,优先以跟单的为准,如果只有兜底类型,则按同样逻辑进行筛选
                 //根据ProductId去重后的结果集
                 List tempList =
@@ -1779,10 +1781,10 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
         detailLevel2FeeResultVo.setSyFeeRateAll(insFeeOrderNew.getSecondDetailProportion().toString());
         detailLevel2FeeResultVo.setFcFeeRateAll(insFeeOrderNew.getSecondDetailProportion().toString());
         BigDecimal jqDetailFeePremium2 =
-         insFeeOrderNew.getJqPremium().multiply(insFeeOrderNew.getSecondDetailProportion().divide(new BigDecimal("100")));
+                insFeeOrderNew.getJqPremium().multiply(insFeeOrderNew.getSecondDetailProportion().divide(new BigDecimal("100")));
         detailLevel2FeeResultVo.setJqFeeAmountAll(jqDetailFeePremium2.setScale(2, BigDecimal.ROUND_DOWN).toString());
         BigDecimal syDetailFeePremium2 =
-         insFeeOrderNew.getSyPremium().multiply(insFeeOrderNew.getSecondDetailProportion().divide(new BigDecimal("100")));
+                insFeeOrderNew.getSyPremium().multiply(insFeeOrderNew.getSecondDetailProportion().divide(new BigDecimal("100")));
         detailLevel2FeeResultVo.setSyFeeAmountAll(syDetailFeePremium2.setScale(2, BigDecimal.ROUND_DOWN).toString());
         BigDecimal fcDetailFeePremium2 =
                 insFeeOrderNew.getNoPremium().multiply(insFeeOrderNew.getSecondDetailProportion().divide(new BigDecimal("100")));
@@ -1800,10 +1802,10 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
                 insFeeOrderNew.getJqPremium().multiply(insFeeOrderNew.getThirdDetailProportion().divide(new BigDecimal("100")));
         detailLevel3FeeResultVo.setJqFeeAmountAll(jqDetailFeePremium3.setScale(2, BigDecimal.ROUND_DOWN).toString());
         BigDecimal syDetailFeePremium3 =
-         insFeeOrderNew.getSyPremium().multiply(insFeeOrderNew.getThirdDetailProportion().divide(new BigDecimal("100")));
+                insFeeOrderNew.getSyPremium().multiply(insFeeOrderNew.getThirdDetailProportion().divide(new BigDecimal("100")));
         detailLevel3FeeResultVo.setSyFeeAmountAll(syDetailFeePremium3.setScale(2, BigDecimal.ROUND_DOWN).toString());
         BigDecimal fcDetailFeePremium3 =
-         insFeeOrderNew.getNoPremium().multiply(insFeeOrderNew.getThirdDetailProportion().divide(new BigDecimal("100")));
+                insFeeOrderNew.getNoPremium().multiply(insFeeOrderNew.getThirdDetailProportion().divide(new BigDecimal("100")));
         detailLevel3FeeResultVo.setFcFeeAmountAll(fcDetailFeePremium3.setScale(2, BigDecimal.ROUND_DOWN).toString());
         queryOrderFeeResultVos.add(detailLevel3FeeResultVo);
 
@@ -2648,7 +2650,7 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
         FeeOrderNewVo.EntranceFee jqEntranceFee = this.assignEntranceFee("交强险", insFeeOrderNew.getJqPremium(),
                 insFeeOrderNew.getJqSuperviseCostsProportion(),
                 insFeeOrderNew.getJqOtherCostsProportion(), insFeeOrderNew.getJqCostsProportion(),
-                 insFeeOrderNew.getJqSuperviseCostsPremiums(),
+                insFeeOrderNew.getJqSuperviseCostsPremiums(),
                 insFeeOrderNew.getJqOtherCostsPremiums(), insFeeOrderNew.getJqCostsPremiums());
         entranceFeeList.add(jqEntranceFee);
 
@@ -2656,20 +2658,19 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
         FeeOrderNewVo.EntranceFee syEntranceFee = this.assignEntranceFee("商业险", insFeeOrderNew.getSyPremium(),
                 insFeeOrderNew.getSySuperviseCostsProportion(),
                 insFeeOrderNew.getSyOtherCostsProportion(), insFeeOrderNew.getSyCostsProportion(),
-                 insFeeOrderNew.getSySuperviseCostsPremiums(),
+                insFeeOrderNew.getSySuperviseCostsPremiums(),
                 insFeeOrderNew.getSyOtherCostsPremiums(), insFeeOrderNew.getSyCostsPremiums());
         entranceFeeList.add(syEntranceFee);
 
         //非车
         FeeOrderNewVo.EntranceFee noEntranceFee = this.assignEntranceFee("非车险", insFeeOrderNew.getNoPremium(),
-         insFeeOrderNew.getNoSuperviseCostsProportion(),
+                insFeeOrderNew.getNoSuperviseCostsProportion(),
                 insFeeOrderNew.getNoOtherCostsProportion(), insFeeOrderNew.getNoCostsProportion(),
                 insFeeOrderNew.getNoSuperviseCostsPremiums(),
                 insFeeOrderNew.getNoOtherCostsPremiums(), insFeeOrderNew.getNoCostsPremiums());
         entranceFeeList.add(noEntranceFee);
         //endregion
 
-
         //region 机构管理对象
 
         //交强
@@ -2679,7 +2680,11 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
                 insFeeOrderNew.getJqDeptProportionLevel3(), insFeeOrderNew.getJqDeptPremiumsLevel3(),
                 insFeeOrderNew.getJqDeptProportionLevel4(), insFeeOrderNew.getJqDeptPremiumsLevel4(),
                 insFeeOrderNew.getJqDeptProportionLevel5(), insFeeOrderNew.getJqDeptPremiumsLevel5(),
-                insFeeOrderNew.getJqProfitMarginPremiums());
+                insFeeOrderNew.getJqProfitMarginPremiums(),
+                insFeeOrderNew.getJqExternalProportion(), insFeeOrderNew.getJqExternalPremiums());
+        jqDeptManagerFee.setExternalProportion(insFeeOrderNew.getJqExternalProportion());
+        jqDeptManagerFee.setExternalPremiums(insFeeOrderNew.getJqExternalPremiums());
+
         deptManagerFeeList.add(jqDeptManagerFee);
 
         //商业
@@ -2689,7 +2694,10 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
                 insFeeOrderNew.getSyDeptProportionLevel3(), insFeeOrderNew.getSyDeptPremiumsLevel3(),
                 insFeeOrderNew.getSyDeptProportionLevel4(), insFeeOrderNew.getSyDeptPremiumsLevel4(),
                 insFeeOrderNew.getSyDeptProportionLevel5(), insFeeOrderNew.getSyDeptPremiumsLevel5(),
-                insFeeOrderNew.getSyProfitMarginPremiums());
+                insFeeOrderNew.getSyProfitMarginPremiums(),
+                insFeeOrderNew.getJqExternalProportion(), insFeeOrderNew.getJqExternalPremiums());
+        syDeptManagerFee.setExternalProportion(insFeeOrderNew.getSyExternalProportion());
+        syDeptManagerFee.setExternalPremiums(insFeeOrderNew.getSyExternalPremiums());
         deptManagerFeeList.add(syDeptManagerFee);
 
         //非车
@@ -2699,7 +2707,10 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
                 insFeeOrderNew.getNoDeptProportionLevel3(), insFeeOrderNew.getNoDeptPremiumsLevel3(),
                 insFeeOrderNew.getNoDeptProportionLevel4(), insFeeOrderNew.getNoDeptPremiumsLevel4(),
                 insFeeOrderNew.getNoDeptProportionLevel5(), insFeeOrderNew.getNoDeptPremiumsLevel5(),
-                insFeeOrderNew.getNoProfitMarginPremiums());
+                insFeeOrderNew.getNoProfitMarginPremiums(),
+                insFeeOrderNew.getJqExternalProportion(), insFeeOrderNew.getJqExternalPremiums());
+        noDeptManagerFee.setExternalProportion(insFeeOrderNew.getNoExternalProportion());
+        noDeptManagerFee.setExternalPremiums(insFeeOrderNew.getNoExternalPremiums());
         deptManagerFeeList.add(noDeptManagerFee);
 
         //endregion
@@ -2714,7 +2725,7 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
         retailFeeLevel1.setNoRetailProportion(insFeeOrderNew.getNoRetailProportionLevel1());
         retailFeeLevel1.setNoRetailPremiums(insFeeOrderNew.getNoRetailPremiumsLevel1());
         retailFeeLevel1.setTotalRetailPremiums(insFeeOrderNew.getFirstDetailPremiums());
-        if(insFeeOrderNew.getFirstLevelUserId() != null) {
+        if (insFeeOrderNew.getFirstLevelUserId() != null) {
             SysUser byId = sysUserService.getById(insFeeOrderNew.getFirstLevelUserId());
             retailFeeLevel1.setUserName(byId.getName() + "(" + byId.getId() + ")");
         }
@@ -2729,7 +2740,7 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
         retailFeeLevel2.setNoRetailProportion(insFeeOrderNew.getNoRetailProportionLevel2());
         retailFeeLevel2.setNoRetailPremiums(insFeeOrderNew.getNoRetailPremiumsLevel2());
         retailFeeLevel2.setTotalRetailPremiums(insFeeOrderNew.getSecondDetailPremiums());
-        if(insFeeOrderNew.getTwoLevelUserId() != null) {
+        if (insFeeOrderNew.getTwoLevelUserId() != null) {
             SysUser byId = sysUserService.getById(insFeeOrderNew.getTwoLevelUserId());
             retailFeeLevel2.setUserName(byId.getName() + "(" + byId.getId() + ")");
         }
@@ -2744,9 +2755,9 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
         retailFeeLevel3.setNoRetailProportion(insFeeOrderNew.getNoRetailProportionLevel3());
         retailFeeLevel3.setNoRetailPremiums(insFeeOrderNew.getNoRetailPremiumsLevel3());
         retailFeeLevel3.setTotalRetailPremiums(insFeeOrderNew.getThirdDetailPremiums());
-        if(insFeeOrderNew.getThreeLevelUserId() != null){
+        if (insFeeOrderNew.getThreeLevelUserId() != null) {
             SysUser byId = sysUserService.getById(insFeeOrderNew.getThreeLevelUserId());
-            retailFeeLevel3.setUserName(byId.getName()+"("+byId.getId()+")");
+            retailFeeLevel3.setUserName(byId.getName() + "(" + byId.getId() + ")");
         }
         retailFeeList.add(retailFeeLevel3);
 
@@ -2757,28 +2768,31 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
         //交强
         FeeOrderNewVo.ExportFee jqExportFee = this.assignExportFee("交强险",
                 insFeeOrderNew.getJqPremium(), insFeeOrderNew.getJqCostsExportProportion(),
-                 insFeeOrderNew.getJqExportOtherCostsProportion(),
-                insFeeOrderNew.getJqExportSuperviseCostsPremiums(), insFeeOrderNew.getJqExportOtherCostsPremiums());
+                insFeeOrderNew.getJqExportOtherCostsProportion(),
+                insFeeOrderNew.getJqExportSuperviseCostsPremiums(), insFeeOrderNew.getJqExportOtherCostsPremiums()
+        );
         //exportFeeList.add(jqExportFee);
 
         //交强
         FeeOrderNewVo.ExportFee syExportFee = this.assignExportFee("商业险",
                 insFeeOrderNew.getSyPremium(), insFeeOrderNew.getSyCostsExportProportion(),
                 insFeeOrderNew.getSyExportOtherCostsProportion(),
-                insFeeOrderNew.getSyExportSuperviseCostsPremiums(), insFeeOrderNew.getSyExportOtherCostsPremiums());
+                insFeeOrderNew.getSyExportSuperviseCostsPremiums(), insFeeOrderNew.getSyExportOtherCostsPremiums()
+        );
         //exportFeeList.add(syExportFee);
 
 
         //交强
         FeeOrderNewVo.ExportFee noExportFee = this.assignExportFee("非车险",
                 insFeeOrderNew.getNoPremium(), insFeeOrderNew.getNoCostsExportProportion(),
-insFeeOrderNew.getNoExportOtherCostsProportion(),
+                insFeeOrderNew.getNoExportOtherCostsProportion(),
                 insFeeOrderNew.getNoExportSuperviseCostsPremiums(), insFeeOrderNew.getNoExportOtherCostsPremiums());
-       // exportFeeList.add(noExportFee);
+
+        // exportFeeList.add(noExportFee);
         //add  by  hxl   添加出单员不能查看优惠的限制    2024-07-11
         String userId = new BaseController().getUserId();
         SysUserRole sysUserRole = sysUserRoleService.selectByUserId(userId);
-        if(sysUserRole!=null && sysUserRole.getRoleId()==19){
+        if (sysUserRole != null && sysUserRole.getRoleId() == 19) {
             jqExportFee.setTotalAmount(BigDecimal.ZERO);
             jqExportFee.setTotalProportion(BigDecimal.ZERO);
             syExportFee.setTotalAmount(BigDecimal.ZERO);
@@ -2806,17 +2820,17 @@ insFeeOrderNew.getNoExportOtherCostsProportion(),
      * @param otherCostsProportion     跟单比例
      */
     public FeeOrderNewVo.EntranceFee calcEntranceFee(BigDecimal premium, BigDecimal superviseCostsProportion,
-     BigDecimal otherCostsProportion, BigDecimal taxRate) {
+                                                     BigDecimal otherCostsProportion, BigDecimal taxRate) {
         FeeOrderNewVo.EntranceFee entranceFee = new FeeOrderNewVo.EntranceFee();
         entranceFee.setPremium(premium);
         premium = premium.divide(taxRate, 5, BigDecimal.ROUND_DOWN);
         //手续费
         entranceFee.setSuperviseCostsPremiums(premium.multiply(superviseCostsProportion.divide(new BigDecimal(100))).setScale(5,
-BigDecimal.ROUND_DOWN));
+                BigDecimal.ROUND_DOWN));
         entranceFee.setSuperviseCosts(superviseCostsProportion);
         //跟单费
         entranceFee.setOtherCostsPremiums(premium.multiply(otherCostsProportion.divide(new BigDecimal(100))).setScale(5,
-BigDecimal.ROUND_DOWN));
+                BigDecimal.ROUND_DOWN));
         entranceFee.setOtherCostsProportion(otherCostsProportion);
         //总费用比例
         BigDecimal totalCostsProportion = superviseCostsProportion.add(otherCostsProportion);
@@ -2842,11 +2856,11 @@ BigDecimal.ROUND_DOWN));
         FeeOrderNewVo.DeptManagerFee deptManagerFee = new FeeOrderNewVo.DeptManagerFee();
         //一级管理费
         deptManagerFee.setDeptPremiumsLevelOne(premium.multiply(level1Proportion.divide(new BigDecimal(100))).setScale(2,
-         BigDecimal.ROUND_DOWN));
+                BigDecimal.ROUND_DOWN));
         deptManagerFee.setDeptProportionLevelOne(level1Proportion);
         //二级管理费
         deptManagerFee.setDeptPremiumsLevelTwo(premium.multiply(level2Proportion.divide(new BigDecimal(100))).setScale(2,
-        BigDecimal.ROUND_DOWN));
+                BigDecimal.ROUND_DOWN));
         deptManagerFee.setDeptProportionLevelTwo(level2Proportion);
         //三级管理费
         deptManagerFee.setDeptPremiumsLevelThree(premium.multiply(level3Proportion.divide(new BigDecimal(100))).setScale(2,
@@ -2875,14 +2889,19 @@ BigDecimal.ROUND_DOWN));
      * @return
      */
     public FeeOrderNewVo.ExportFee calcExportFee(BigDecimal premium, BigDecimal superviseCostsProportion,
-     BigDecimal entranceTotalProportion,
-                                                 BigDecimal deptTotalProportion, BigDecimal retailTotalProportion, BigDecimal taxRate) {
+                                                 BigDecimal entranceTotalProportion,
+                                                 BigDecimal deptTotalProportion, BigDecimal retailTotalProportion, BigDecimal taxRate, BigDecimal enterProportion) {
         FeeOrderNewVo.ExportFee exportFee = new FeeOrderNewVo.ExportFee();
         exportFee.setPremium(premium);
         //去税后的入口比例
         BigDecimal noTaxEntranceTotalProportion = entranceTotalProportion.divide(taxRate, 2, RoundingMode.DOWN);
         //出口的总比例
-        BigDecimal exportTotalProportion = noTaxEntranceTotalProportion.subtract(deptTotalProportion).subtract(retailTotalProportion);
+        BigDecimal exportTotalProportion = noTaxEntranceTotalProportion.subtract(deptTotalProportion).subtract(retailTotalProportion).subtract(enterProportion);
+
+        // 外部
+        exportFee.setExternalProportion(enterProportion);
+        exportFee.setExternalPremiums(premium.multiply(enterProportion.divide(new BigDecimal(100))).setScale(2,  RoundingMode.DOWN));
+
         if (exportTotalProportion.compareTo(BigDecimal.ZERO) < 0 && premium.compareTo(BigDecimal.ZERO) == 0) {
             //出口比例为负数了
             exportTotalProportion = new BigDecimal(0);
@@ -2908,32 +2927,32 @@ BigDecimal.ROUND_DOWN));
     }
 
     @Override
-    public FeeOrderNewVo.RetailFee calcRetail(BigDecimal jqPremiums,BigDecimal jqProportion, BigDecimal syPremiums,BigDecimal syProportion, BigDecimal noPremiums,
-                                 BigDecimal noProportion, BigDecimal jqRetailProportion, BigDecimal syRetailProportion, BigDecimal noRetailProportion) {
+    public FeeOrderNewVo.RetailFee calcRetail(BigDecimal jqPremiums, BigDecimal jqProportion, BigDecimal syPremiums, BigDecimal syProportion, BigDecimal noPremiums,
+                                              BigDecimal noProportion, BigDecimal jqRetailProportion, BigDecimal syRetailProportion, BigDecimal noRetailProportion) {
         BigDecimal jqRetail = new BigDecimal(0);
         BigDecimal syRetail = new BigDecimal(0);
         BigDecimal noRetail = new BigDecimal(0);
         FeeOrderNewVo.RetailFee retailFee = new FeeOrderNewVo.RetailFee();
         //计算交强险分销
-        if(jqProportion.compareTo(new BigDecimal(0)) > 0) {
+        if (jqProportion.compareTo(new BigDecimal(0)) > 0) {
             jqRetail = jqPremiums.multiply(jqRetailProportion.divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN);
             retailFee.setJqRetailPremiums(jqRetail);
             retailFee.setJqRetailProportion(jqRetailProportion);
         }
         //计算商业险分销
-        if(syProportion.compareTo(new BigDecimal(0)) > 0) {
+        if (syProportion.compareTo(new BigDecimal(0)) > 0) {
             syRetail = syPremiums.multiply(syRetailProportion.divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN);
             retailFee.setSyRetailPremiums(syRetail);
             retailFee.setSyRetailProportion(syRetailProportion);
         }
         //计算非车险分销
-        if(noProportion.compareTo(new BigDecimal(0)) > 0) {
+        if (noProportion.compareTo(new BigDecimal(0)) > 0) {
             noRetail = noPremiums.multiply(noRetailProportion.divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN);
             retailFee.setNoRetailPremiums(noRetail);
             retailFee.setNoRetailProportion(noRetailProportion);
         }
         //总分销
-        BigDecimal totalRetail = jqRetail.add(syRetail).add(noRetail).setScale(2,BigDecimal.ROUND_DOWN);
+        BigDecimal totalRetail = jqRetail.add(syRetail).add(noRetail).setScale(2, BigDecimal.ROUND_DOWN);
         retailFee.setTotalRetailPremiums(totalRetail);
         return retailFee;
     }
@@ -2995,9 +3014,9 @@ BigDecimal.ROUND_DOWN));
      * @return
      */
     public FeeOrderNewVo.EntranceFee assignEntranceFee(String title, BigDecimal premium, BigDecimal superviseCostsProportion,
-     BigDecimal otherCostsProportion,
+                                                       BigDecimal otherCostsProportion,
                                                        BigDecimal costsProportion, BigDecimal superviseCostsPremiums,
-                                                        BigDecimal otherCostsPremiums,
+                                                       BigDecimal otherCostsPremiums,
                                                        BigDecimal costsPremiums) {
         FeeOrderNewVo.EntranceFee entranceFee = new FeeOrderNewVo.EntranceFee();
         entranceFee.setInsuranceType(title);
@@ -3039,7 +3058,8 @@ BigDecimal.ROUND_DOWN));
                                                       BigDecimal level3Proportion, BigDecimal level3Premium,
                                                       BigDecimal level4Proportion, BigDecimal level4Premium,
                                                       BigDecimal level5Proportion, BigDecimal level5Premium,
-                                                      BigDecimal profitMarginPremiums) {
+                                                      BigDecimal profitMarginPremiums,
+                                                      BigDecimal externalProportion, BigDecimal externalPremiums) {
         FeeOrderNewVo.DeptManagerFee deptManagerFee = new FeeOrderNewVo.DeptManagerFee();
         deptManagerFee.setInsuranceType(title);
         deptManagerFee.setDeptProportionLevelOne(level1Proportion);
@@ -3053,6 +3073,8 @@ BigDecimal.ROUND_DOWN));
         deptManagerFee.setDeptProportionLevelFive(level5Proportion);
         deptManagerFee.setDeptPremiumsLevelFive(level5Premium);
         deptManagerFee.setProfitMarginPremiums(profitMarginPremiums);
+        deptManagerFee.setExternalProportion(externalProportion);
+        deptManagerFee.setExternalPremiums(externalPremiums);
         return deptManagerFee;
     }
 
@@ -3068,8 +3090,9 @@ BigDecimal.ROUND_DOWN));
      * @return
      */
     public FeeOrderNewVo.ExportFee assignExportFee(String title, BigDecimal premium, BigDecimal superviseCostsProportion,
-     BigDecimal otherCostsProportion,
-                                                   BigDecimal superviseCostsPremiums, BigDecimal otherCostsPremiums) {
+                                                   BigDecimal otherCostsProportion,
+                                                   BigDecimal superviseCostsPremiums, BigDecimal otherCostsPremiums
+    ) {
         FeeOrderNewVo.ExportFee exportFee = new FeeOrderNewVo.ExportFee();
         exportFee.setInsuranceType(title);
         //保费
@@ -3086,6 +3109,7 @@ BigDecimal.ROUND_DOWN));
         exportFee.setOtherCostsPremiums(otherCostsPremiums);
         //总费用
         exportFee.setTotalAmount(superviseCostsPremiums.add(otherCostsPremiums));
+
         return exportFee;
     }
 
@@ -3101,17 +3125,18 @@ BigDecimal.ROUND_DOWN));
      */
     @Override
     public boolean calculateProportion(FeeOrderNewVo.EntranceFee entranceFee, FeeOrderNewVo.DeptManagerFee deptManagerFee,
-     FeeOrderNewVo.ExportFee exportFee, BigDecimal retailRadio, BigDecimal taxRadio, BigDecimal premiums) {
+                                       FeeOrderNewVo.ExportFee exportFee, BigDecimal retailRadio, BigDecimal taxRadio, BigDecimal premiums) {
         if (entranceFee.getTotalAmount().compareTo(BigDecimal.ZERO) == 0)
             return true;
         //去税入口比例
         BigDecimal noTaxEntranceTotalProportion = entranceFee.getTotalProportion().divide(taxRadio, 2, BigDecimal.ROUND_DOWN);
-        if (noTaxEntranceTotalProportion.subtract(exportFee.getTotalProportion()).subtract(deptManagerFee.getDeptProportionLevelOne())
-                .subtract(deptManagerFee.getDeptProportionLevelTwo()).subtract(deptManagerFee.getDeptProportionLevelThree())
-                .subtract(deptManagerFee.getDeptProportionLevelFoure()).subtract(deptManagerFee.getDeptProportionLevelFive())
-                .subtract(retailRadio).compareTo(BigDecimal.ZERO) == 0) {
-            return true;
-        }
-        return false;
+        return noTaxEntranceTotalProportion.subtract(exportFee.getTotalProportion())
+                .subtract(exportFee.getExternalProportion())
+                .subtract(deptManagerFee.getDeptProportionLevelOne())
+                .subtract(deptManagerFee.getDeptProportionLevelTwo())
+                .subtract(deptManagerFee.getDeptProportionLevelThree())
+                .subtract(deptManagerFee.getDeptProportionLevelFoure())
+                .subtract(deptManagerFee.getDeptProportionLevelFive())
+                .subtract(retailRadio).compareTo(BigDecimal.ZERO) == 0;
     }
 }

+ 187 - 116
src/main/java/com/ydtech/modules/fee/service/impl/FeeRuleSchemeServiceNewImpl.java

@@ -4,12 +4,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ydtech.constants.enums.dict.insurance.EnergyType;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.admin.model.SysUser;
+import com.ydtech.modules.admin.service.SysSwitchConfigService;
 import com.ydtech.modules.admin.service.SysUserAccountService;
 import com.ydtech.modules.admin.service.SysUserService;
 import com.ydtech.modules.esm.model.EsmRetail;
 import com.ydtech.modules.esm.model.EsmUserReferrer;
 import com.ydtech.modules.esm.service.EsmRetailService;
 import com.ydtech.modules.esm.service.EsmUserReferrerService;
+import com.ydtech.modules.fee.constants.CostAllocation;
 import com.ydtech.modules.fee.dto.po.InsFeeOrderConfig;
 import com.ydtech.modules.fee.dto.vo.ReCalcuLateProportion;
 import com.ydtech.modules.fee.dto.vo.RetailProportion;
@@ -96,6 +98,8 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
     @Autowired
     private InsFeeOrderConfigService insFeeOrderConfigService;
 
+    @Autowired
+    private SysSwitchConfigService sysSwitchConfigService;
 
     @Override
     public QueryOrderFeeVo queryFeeOrderInfo(String companyId) {
@@ -156,55 +160,70 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
     }
 
     //BigDecimal取两位
-    private BigDecimal twoPeople(BigDecimal number){
+    private BigDecimal twoPeople(BigDecimal number) {
         return number.setScale(2, BigDecimal.ROUND_DOWN);
     }
 
     /**
      * 重新计算分销和机构比例
-     * @param sumCostsProportion       总入口费用比例
-     * @param deptProportion        机构管理总比例
-     * @param retailProportion      默认分销总比例
-     * @param retailLevel           分销级别
-     * @return  如果不够减则 返回新的分销比例
+     *
+     * @param sumCostsProportion 总入口费用比例
+     * @param deptProportion     机构管理总比例
+     * @param retailProportion   默认分销总比例
+     * @param retailLevel        分销级别
+     * @return 如果不够减则 返回新的分销比例
      */
     public ReCalcuLateProportion recalculateProportion(BigDecimal sumCostsProportion,
-                                                        BigDecimal deptProportion,
-                                                        BigDecimal retailProportion,
-                                                        BigDecimal taxRadio,
-                                                        Integer retailLevel,
-                                                        PtlAgreementProductCostsExport ptlAgreementProductCostsExport,
-                                                        RetailProportion originalRetailProportion,
-                                                        String type){
+                                                       BigDecimal deptProportion,
+                                                       BigDecimal retailProportion,
+                                                       BigDecimal taxRadio,
+                                                       Integer retailLevel,
+                                                       PtlAgreementProductCostsExport ptlAgreementProductCostsExport,
+                                                       RetailProportion originalRetailProportion,
+                                                       String type,
+                                                       BigDecimal enterProportion) {
         ReCalcuLateProportion reCalcuLateProportion = new ReCalcuLateProportion();
         BigDecimal costsProportion = sumCostsProportion.divide(taxRadio, 2, BigDecimal.ROUND_DOWN);
         List<InsFeeOrderConfig> list = insFeeOrderConfigService.list();
         //总比例 / 比例 / 分销等级
+        // 不够减扣除比例
+        Map<String, BigDecimal> notEnoughReduce = list.stream().collect(Collectors.toMap(InsFeeOrderConfig::getKeyword, InsFeeOrderConfig::getVal));
         //分销配置的比例
-        BigDecimal retailProportionConfig = list.stream().filter(x -> x.getKeyword().equals("retailProportion")).findFirst().get().getVal();
+        BigDecimal retailProportionConfig = notEnoughReduce.get(CostAllocation.CA_01.getCode());
+
         BigDecimal retailSettingProportion = new BigDecimal(retailProportionConfig.toString());
+        // 机构配置的比例
+        BigDecimal deptProportionConfig = notEnoughReduce.get(CostAllocation.CA_02.getCode());
+        // 代课录单比例
+        BigDecimal proxyProportionConfig = notEnoughReduce.get(CostAllocation.CA_03.getCode());
 
-        //分销比例均分
-        BigDecimal jqAverageRetail = new BigDecimal(0);
-        if(retailLevel != 0) {
-            jqAverageRetail = twoPeople(twoPeople(costsProportion.multiply(retailSettingProportion)).divide(new BigDecimal(retailLevel), 2, RoundingMode.DOWN));
-        }
-        //机构配置的比例
-        BigDecimal deptProportionConfig = list.stream().filter(x -> x.getKeyword().equals("deptProportion")).findFirst().get().getVal();
         BigDecimal deptSettingProportion = new BigDecimal(deptProportionConfig.toString());
         //机构比例均分
         BigDecimal jqAverageDept = twoPeople(twoPeople(costsProportion.multiply(deptSettingProportion)).divide(new BigDecimal(5)));
 
-
         //如果不够减的话
-        if(deptProportion.add(retailProportion).compareTo(costsProportion) > 0){
-            if(retailLevel >= 3){
+        if (deptProportion.add(retailProportion).add(enterProportion).compareTo(costsProportion) > 0) {
+            //分销比例均分
+            BigDecimal jqAverageRetail = new BigDecimal(0);
+            if (retailLevel != 0) {
+                jqAverageRetail = twoPeople(twoPeople(costsProportion.multiply(retailSettingProportion)).divide(new BigDecimal(retailLevel), 2, RoundingMode.DOWN));
+            }
+
+            if (enterProportion.compareTo(BigDecimal.ZERO) == 0) {
+                reCalcuLateProportion.setProxyProportion(BigDecimal.ZERO);
+            } else {
+                // 代客比例
+                BigDecimal proxyProportion = costsProportion.multiply(proxyProportionConfig);
+                reCalcuLateProportion.setProxyProportion(twoPeople(proxyProportion));
+            }
+
+            if (retailLevel >= 3) {
                 reCalcuLateProportion.setRetail_level_3_proportion(jqAverageRetail);
             }
-            if(retailLevel >= 2){
+            if (retailLevel >= 2) {
                 reCalcuLateProportion.setRetail_level_2_proportion(jqAverageRetail);
             }
-            if(retailLevel >= 1){
+            if (retailLevel >= 1) {
                 reCalcuLateProportion.setRetail_level_1_proportion(jqAverageRetail);
             }
             reCalcuLateProportion.setDept_level_1_proportion(jqAverageDept);
@@ -212,8 +231,8 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
             reCalcuLateProportion.setDept_level_3_proportion(jqAverageDept);
             reCalcuLateProportion.setDept_level_4_proportion(jqAverageDept);
             reCalcuLateProportion.setDept_level_5_proportion(jqAverageDept);
-        }else{
-            if(type.equals("jq")) {
+        } else {
+            if (type.equals("jq")) {
                 reCalcuLateProportion.setDept_level_1_proportion(ptlAgreementProductCostsExport.getJqExportRadioLevel1());
                 reCalcuLateProportion.setDept_level_2_proportion(ptlAgreementProductCostsExport.getJqExportRadioLevel2());
                 reCalcuLateProportion.setDept_level_3_proportion(ptlAgreementProductCostsExport.getJqExportRadioLevel3());
@@ -223,8 +242,7 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                 reCalcuLateProportion.setRetail_level_1_proportion(originalRetailProportion.getJqRetailLevel1Proportion());
                 reCalcuLateProportion.setRetail_level_2_proportion(originalRetailProportion.getJqRetailLevel2Proportion());
                 reCalcuLateProportion.setRetail_level_3_proportion(originalRetailProportion.getJqRetailLevel3Proportion());
-            }else if(type.equals("sy"))
-            {
+            } else if (type.equals("sy")) {
                 reCalcuLateProportion.setDept_level_1_proportion(ptlAgreementProductCostsExport.getSyExportRadioLevel1());
                 reCalcuLateProportion.setDept_level_2_proportion(ptlAgreementProductCostsExport.getSyExportRadioLevel2());
                 reCalcuLateProportion.setDept_level_3_proportion(ptlAgreementProductCostsExport.getSyExportRadioLevel3());
@@ -233,7 +251,7 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                 reCalcuLateProportion.setRetail_level_1_proportion(originalRetailProportion.getSyRetailLevel1Proportion());
                 reCalcuLateProportion.setRetail_level_2_proportion(originalRetailProportion.getSyRetailLevel2Proportion());
                 reCalcuLateProportion.setRetail_level_3_proportion(originalRetailProportion.getSyRetailLevel3Proportion());
-            }else if(type.equals("no")){
+            } else if (type.equals("no")) {
                 reCalcuLateProportion.setDept_level_1_proportion(ptlAgreementProductCostsExport.getNoCarExportRadioLevel1());
                 reCalcuLateProportion.setDept_level_2_proportion(ptlAgreementProductCostsExport.getNoCarExportRadioLevel2());
                 reCalcuLateProportion.setDept_level_3_proportion(ptlAgreementProductCostsExport.getNoCarExportRadioLevel3());
@@ -243,6 +261,9 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                 reCalcuLateProportion.setRetail_level_2_proportion(originalRetailProportion.getNoRetailLevel2Proportion());
                 reCalcuLateProportion.setRetail_level_3_proportion(originalRetailProportion.getNoRetailLevel3Proportion());
             }
+            // 代课比例
+            reCalcuLateProportion.setProxyProportion(enterProportion);
+
         }
         return reCalcuLateProportion;
     }
@@ -279,7 +300,6 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
         insFeeOrderNew.setAgreementId(insAreaCompany.getAgreementId());
 
 
-
         //存储部门id与用户id
         InsOrders order = insOrdersService.getById(insAreaCompany.getOrderno());
         InsFeeOrderNew insFeeOrderNewByCompanyId = insFeeOrderNewService.getInsFeeOrderNewByCompanyId(insAreaCompany.getId());
@@ -347,11 +367,10 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
 
         //默认分销比例设置
         RetailProportion retailProportion = new RetailProportion();
-        if(!Objects.isNull(esmRetailList) && !esmRetailList.isEmpty())
-        {
+        if (!Objects.isNull(esmRetailList) && !esmRetailList.isEmpty()) {
             retailLevel = Integer.parseInt(esmRetailList.get(0).getRetailtype());
             //赋值默认的分销比例
-            retailProportion.setProportion(esmRetailList.get(0).getDisrate1(),esmRetailList.get(0).getDisrate2(),esmRetailList.get(0).getDisrate3());
+            retailProportion.setProportion(esmRetailList.get(0).getDisrate1(), esmRetailList.get(0).getDisrate2(), esmRetailList.get(0).getDisrate3());
         }
 
 
@@ -389,6 +408,9 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                 .add(retailProportion.getNoRetailLevel2Proportion())
                 .add(retailProportion.getNoRetailLevel3Proportion());
 
+        // 外部订单比例
+        BigDecimal enterProportion = sysSwitchConfigService.getEnterProportion(insOrders.getDeptid(), insOrders.getEntryStatus());
+
         //重新计算比例  入口是否超出支付的比例
         ReCalcuLateProportion jqReCalcuLateProportion = recalculateProportion(
                 new BigDecimal(ptlAgreementProductCostsNew.getJqCostsProportion()),
@@ -398,7 +420,9 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                 retailLevel,
                 ptlAgreementProductCostsExport,
                 retailProportion,
-                "jq");
+                "jq",
+                enterProportion
+        );
 
         ReCalcuLateProportion syReCalcuLateProportion = recalculateProportion(
                 new BigDecimal(ptlAgreementProductCostsNew.getSyCostsProportion()),
@@ -408,7 +432,9 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                 retailLevel,
                 ptlAgreementProductCostsExport,
                 retailProportion,
-                "sy");
+                "sy",
+                enterProportion
+        );
 
         ReCalcuLateProportion noReCalcuLateProportion = recalculateProportion(
                 new BigDecimal(ptlAgreementProductCostsNew.getNoCostsProportion()),
@@ -418,9 +444,11 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                 retailLevel,
                 ptlAgreementProductCostsExport,
                 retailProportion,
-                "no");
+                "no",
+                enterProportion
+        );
 
-        retailProportion.setProportion(jqReCalcuLateProportion,syReCalcuLateProportion,noReCalcuLateProportion);
+        retailProportion.setProportion(jqReCalcuLateProportion, syReCalcuLateProportion, noReCalcuLateProportion);
 //        ptlAgreementProductCostsExportService.updateById(ptlAgreementProductCostsExport);
 
 
@@ -464,7 +492,7 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                     if (parents != null && parents.size() > 2) {
                         insFeeOrderNew.setThreeLevelUserId(parents.get(2).getId());
                     }
-                }else{
+                } else {
                     insFeeOrderNew.setThirdDetailProportion(new BigDecimal(0));
                 }
                 if (Integer.parseInt(esmRetail.getRetailtype()) >= 2) {
@@ -484,7 +512,7 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                     if (parents != null && parents.size() > 1) {
                         insFeeOrderNew.setTwoLevelUserId(parents.get(1).getId());
                     }
-                }else{
+                } else {
                     insFeeOrderNew.setSecondDetailProportion(new BigDecimal(0));
                 }
                 if (Integer.parseInt(esmRetail.getRetailtype()) >= 1) {
@@ -501,36 +529,36 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
 
                     insFeeOrderNew.setFirstDetailPremiums(retailFeeLevel1.getTotalRetailPremiums());
 
-                    if (parents != null && parents.size() > 0) {
+                    if (parents != null && !parents.isEmpty()) {
                         insFeeOrderNew.setFirstLevelUserId(parents.get(0).getId());
                     }
 
-                }else{
+                } else {
                     insFeeOrderNew.setFirstDetailProportion(new BigDecimal(0));
                 }
-            }else{
+            } else {
                 insFeeOrderNew.setFirstDetailPremiums(new BigDecimal(0));
                 insFeeOrderNew.setSecondDetailPremiums(new BigDecimal(0));
                 insFeeOrderNew.setThirdDetailPremiums(new BigDecimal(0));
             }
-        }else{
+        } else {
             insFeeOrderNew.setFirstDetailProportion(new BigDecimal(0));
             insFeeOrderNew.setSecondDetailProportion(new BigDecimal(0));
             insFeeOrderNew.setThirdDetailProportion(new BigDecimal(0));
         }
         jqRetailRadio = jqRetailRadio.add(retailFeeLevel1.getJqRetailProportion())
-                        .add(retailFeeLevel2.getJqRetailProportion())
-                                .add(retailFeeLevel3.getJqRetailProportion());
+                .add(retailFeeLevel2.getJqRetailProportion())
+                .add(retailFeeLevel3.getJqRetailProportion());
 
         syRetailRadio = syRetailRadio.add(retailFeeLevel1.getSyRetailProportion())
-                        .add(retailFeeLevel2.getSyRetailProportion())
-                                .add(retailFeeLevel3.getSyRetailProportion());
+                .add(retailFeeLevel2.getSyRetailProportion())
+                .add(retailFeeLevel3.getSyRetailProportion());
 
         noRetailRadio = noRetailRadio.add(retailFeeLevel1.getNoRetailProportion())
-                        .add(retailFeeLevel2.getNoRetailProportion())
-                                .add(retailFeeLevel3.getNoRetailProportion());
+                .add(retailFeeLevel2.getNoRetailProportion())
+                .add(retailFeeLevel3.getNoRetailProportion());
 
-        insFeeOrderNew.assignRetail(retailFeeLevel1,retailFeeLevel2,retailFeeLevel3);
+        insFeeOrderNew.assignRetail(retailFeeLevel1, retailFeeLevel2, retailFeeLevel3);
 
         //endregion
 
@@ -582,7 +610,7 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                 noReCalcuLateProportion.getDept_level_4_proportion(),
                 noReCalcuLateProportion.getDept_level_5_proportion());
 
-        insFeeOrderNew.assignDept(jqDeptManagerFee,syDeptManagerFee,noDeptManagerFee);
+        insFeeOrderNew.assignDept(jqDeptManagerFee, syDeptManagerFee, noDeptManagerFee);
 
         //endregion
 
@@ -595,7 +623,9 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                 insFeeOrderNew.getJqCostsProportion(),
                 jqDeptRadio,
                 jqRetailRadio,
-                taxRadio);
+                taxRadio,
+                jqReCalcuLateProportion.getProxyProportion()
+        );
 
         //商业出口手续费比例
         FeeOrderNewVo.ExportFee syExportFee = feeRuleSchemeService.calcExportFee(
@@ -604,7 +634,9 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                 insFeeOrderNew.getSyCostsProportion(),
                 syDeptRadio,
                 syRetailRadio,
-                taxRadio);
+                taxRadio,
+                syReCalcuLateProportion.getProxyProportion()
+        );
 
         //非车出口手续费比例
         FeeOrderNewVo.ExportFee noExportFee = feeRuleSchemeService.calcExportFee(
@@ -613,7 +645,9 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                 insFeeOrderNew.getNoCostsProportion(),
                 noDeptRadio,
                 noRetailRadio,
-                taxRadio);
+                taxRadio,
+                noReCalcuLateProportion.getProxyProportion()
+        );
 
         //出口手续费用
         insFeeOrderNew.setJqExportSuperviseCostsPremiums(twoPeople(jqExportFee.getSuperviseCostsPremiums()));
@@ -635,6 +669,16 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
         insFeeOrderNew.setSyCostsExportProportion(twoPeople(syExportFee.getSuperviseCosts()));
         insFeeOrderNew.setNoCostsExportProportion(twoPeople(noExportFee.getSuperviseCosts()));
 
+        // 外部费用
+        insFeeOrderNew.setJqExternalProportion(jqExportFee.getExternalProportion());
+        insFeeOrderNew.setJqExternalPremiums(jqExportFee.getExternalPremiums());
+
+        insFeeOrderNew.setSyExternalProportion(syExportFee.getExternalProportion());
+        insFeeOrderNew.setSyExternalPremiums(syExportFee.getExternalPremiums());
+
+        insFeeOrderNew.setNoExternalProportion(noExportFee.getExternalProportion());
+        insFeeOrderNew.setNoExternalPremiums(noExportFee.getExternalPremiums());
+
         //endregion
 
         //region 计算利润差值
@@ -642,59 +686,65 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
 
         //分销交强费用
         //分开算  1  2 3 级
-        BigDecimal jqFirst = insFeeOrderNew.getJqPremium().multiply(insFeeOrderNew.getJqRetailProportionLevel1().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
-        BigDecimal jqSecond = insFeeOrderNew.getJqPremium().multiply(insFeeOrderNew.getJqRetailProportionLevel2().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
-        BigDecimal jqThird = insFeeOrderNew.getJqPremium().multiply(insFeeOrderNew.getJqRetailProportionLevel3().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
+        BigDecimal jqFirst = insFeeOrderNew.getJqPremium().multiply(insFeeOrderNew.getJqRetailProportionLevel1().divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN);
+        BigDecimal jqSecond = insFeeOrderNew.getJqPremium().multiply(insFeeOrderNew.getJqRetailProportionLevel2().divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN);
+        BigDecimal jqThird = insFeeOrderNew.getJqPremium().multiply(insFeeOrderNew.getJqRetailProportionLevel3().divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN);
         BigDecimal jqFenXiao = jqFirst.add(jqSecond).add(jqThird);
         //分销商业费用
-        BigDecimal syFirst = insFeeOrderNew.getSyPremium().multiply(insFeeOrderNew.getSyRetailProportionLevel1().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
-        BigDecimal sySecond = insFeeOrderNew.getSyPremium().multiply(insFeeOrderNew.getSyRetailProportionLevel2().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
-        BigDecimal syThird = insFeeOrderNew.getSyPremium().multiply(insFeeOrderNew.getSyRetailProportionLevel3().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
+        BigDecimal syFirst = insFeeOrderNew.getSyPremium().multiply(insFeeOrderNew.getSyRetailProportionLevel1().divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN);
+        BigDecimal sySecond = insFeeOrderNew.getSyPremium().multiply(insFeeOrderNew.getSyRetailProportionLevel2().divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN);
+        BigDecimal syThird = insFeeOrderNew.getSyPremium().multiply(insFeeOrderNew.getSyRetailProportionLevel3().divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN);
         BigDecimal syFenXiao = syFirst.add(sySecond).add(syThird);
         //分销非车费用
-        BigDecimal noFirst = insFeeOrderNew.getNoPremium().multiply(insFeeOrderNew.getNoRetailProportionLevel1().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
-        BigDecimal noSecond = insFeeOrderNew.getNoPremium().multiply(insFeeOrderNew.getNoRetailProportionLevel2().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
-        BigDecimal noThird = insFeeOrderNew.getNoPremium().multiply(insFeeOrderNew.getNoRetailProportionLevel3().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
+        BigDecimal noFirst = insFeeOrderNew.getNoPremium().multiply(insFeeOrderNew.getNoRetailProportionLevel1().divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN);
+        BigDecimal noSecond = insFeeOrderNew.getNoPremium().multiply(insFeeOrderNew.getNoRetailProportionLevel2().divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN);
+        BigDecimal noThird = insFeeOrderNew.getNoPremium().multiply(insFeeOrderNew.getNoRetailProportionLevel3().divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN);
         BigDecimal noFenXiao = noFirst.add(noSecond).add(noThird);
 
-
-        BigDecimal jqDifference = jqEntranceFee.getTotalAmount().subtract(
+        BigDecimal jqDifference = jqEntranceFee.getTotalAmount()
+                .subtract(jqExportFee.getExternalPremiums())
+                .subtract(
                         (jqExportFee.getSuperviseCostsPremiums().add(jqExportFee.getOtherCostsPremiums())))
                 .subtract(
                         (jqDeptManagerFee.getDeptPremiumsLevelOne().add(jqDeptManagerFee.getDeptPremiumsLevelTwo().add(jqDeptManagerFee.getDeptPremiumsLevelThree()).add(jqDeptManagerFee.getDeptPremiumsLevelFoure()).add(jqDeptManagerFee.getDeptPremiumsLevelFive())))
                 )
-                .subtract(jqFenXiao).setScale(5, BigDecimal.ROUND_HALF_DOWN);
+                .subtract(jqFenXiao)
+                .setScale(5, BigDecimal.ROUND_HALF_DOWN);
         insFeeOrderNew.setJqProfitMarginPremiums(jqDifference);
 
-        BigDecimal syDifference = syEntranceFee.getTotalAmount().subtract(
+        BigDecimal syDifference = syEntranceFee.getTotalAmount()
+                .subtract(syExportFee.getExternalPremiums())
+                .subtract(
                         (syExportFee.getSuperviseCostsPremiums().add(syExportFee.getOtherCostsPremiums())))
                 .subtract(
                         (syDeptManagerFee.getDeptPremiumsLevelOne().add(syDeptManagerFee.getDeptPremiumsLevelTwo().add(syDeptManagerFee.getDeptPremiumsLevelThree()).add(syDeptManagerFee.getDeptPremiumsLevelFoure()).add(syDeptManagerFee.getDeptPremiumsLevelFive())))
                 )
-                .subtract(syFenXiao).setScale(5, BigDecimal.ROUND_HALF_DOWN);
+                .subtract(syFenXiao)
+                .setScale(5, BigDecimal.ROUND_HALF_DOWN);
         insFeeOrderNew.setSyProfitMarginPremiums(syDifference);
 
-
-        BigDecimal noDifference = noEntranceFee.getTotalAmount().subtract(
+        BigDecimal noDifference = noEntranceFee.getTotalAmount()
+                .subtract(noExportFee.getExternalPremiums())
+                .subtract(
                         (noExportFee.getSuperviseCostsPremiums().add(noExportFee.getOtherCostsPremiums())))
                 .subtract(
                         (noDeptManagerFee.getDeptPremiumsLevelOne().add(noDeptManagerFee.getDeptPremiumsLevelTwo().add(noDeptManagerFee.getDeptPremiumsLevelThree()).add(noDeptManagerFee.getDeptPremiumsLevelFoure()).add(noDeptManagerFee.getDeptPremiumsLevelFive())))
                 )
-                .subtract(noFenXiao).setScale(5, BigDecimal.ROUND_HALF_DOWN);
-
+                .subtract(noFenXiao)
+                .setScale(5, BigDecimal.ROUND_HALF_DOWN);
         insFeeOrderNew.setNoProfitMarginPremiums(noDifference);
 
         //endregion
 
         //region 比例逆推是否等于0
 
-        if(!feeRuleSchemeService.calculateProportion(jqEntranceFee,jqDeptManagerFee,jqExportFee,jqRetailRadio,taxRadio,insFeeOrderNew.getJqPremium()))
+        if (!feeRuleSchemeService.calculateProportion(jqEntranceFee, jqDeptManagerFee, jqExportFee, jqRetailRadio, taxRadio, insFeeOrderNew.getJqPremium()))
             throw new SystemException("交强比例异常");
 
-        if(!feeRuleSchemeService.calculateProportion(syEntranceFee,syDeptManagerFee,syExportFee,syRetailRadio,taxRadio,insFeeOrderNew.getSyPremium()))
+        if (!feeRuleSchemeService.calculateProportion(syEntranceFee, syDeptManagerFee, syExportFee, syRetailRadio, taxRadio, insFeeOrderNew.getSyPremium()))
             throw new SystemException("商业比例异常");
 
-        if(!feeRuleSchemeService.calculateProportion(noEntranceFee,noDeptManagerFee,noExportFee,noRetailRadio,taxRadio,insFeeOrderNew.getNoPremium()))
+        if (!feeRuleSchemeService.calculateProportion(noEntranceFee, noDeptManagerFee, noExportFee, noRetailRadio, taxRadio, insFeeOrderNew.getNoPremium()))
             throw new SystemException("非车比例异常");
 
         //endregion
@@ -705,6 +755,7 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
 
     /**
      * 计算费用测试方法 没有数据库保存操作 只带入值进行计算核对
+     *
      * @param costsId
      * @param insAreaCompany
      */
@@ -1028,9 +1079,11 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
     @Override
     public void calcCostsExternal(PtlAgreementProductCostsNew ptlAgreementProductCostsNew, InsAreaCompany insAreaCompany) {
         //获取协议信息
+        // 外部订单比例
         PtlAgreement ptlAgreement = ptlAgreementService.getById(insAreaCompany.getAgreementId());
         InsOrders insOrders = insOrdersService.getById(insAreaCompany.getOrderno());
         SysUser sysUser = sysUserService.findByUserId(insOrders.getUserid());
+        BigDecimal enterProportion = sysSwitchConfigService.getEnterProportion(insOrders.getDeptid(), insAreaCompany.getEntryStatus());
 
         BigDecimal taxRadio = new BigDecimal("1.00");
         //如果是外部订单则 不含税
@@ -1112,11 +1165,10 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
 
         //默认分销比例设置
         RetailProportion retailProportion = new RetailProportion();
-        if(!Objects.isNull(esmRetailList) && !esmRetailList.isEmpty())
-        {
+        if (!Objects.isNull(esmRetailList) && !esmRetailList.isEmpty()) {
             retailLevel = Integer.parseInt(esmRetailList.get(0).getRetailtype());
             //赋值默认的分销比例
-            retailProportion.setProportion(esmRetailList.get(0).getDisrate1(),esmRetailList.get(0).getDisrate2(),esmRetailList.get(0).getDisrate3());
+            retailProportion.setProportion(esmRetailList.get(0).getDisrate1(), esmRetailList.get(0).getDisrate2(), esmRetailList.get(0).getDisrate3());
         }
 
 
@@ -1163,7 +1215,9 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                 retailLevel,
                 ptlAgreementProductCostsExport,
                 retailProportion,
-                "jq");
+                "jq",
+                enterProportion
+        );
 
         ReCalcuLateProportion syReCalcuLateProportion = recalculateProportion(
                 new BigDecimal(ptlAgreementProductCostsNew.getSyCostsProportion()),
@@ -1173,7 +1227,9 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                 retailLevel,
                 ptlAgreementProductCostsExport,
                 retailProportion,
-                "sy");
+                "sy",
+                enterProportion
+        );
 
         ReCalcuLateProportion noReCalcuLateProportion = recalculateProportion(
                 new BigDecimal(ptlAgreementProductCostsNew.getNoCostsProportion()),
@@ -1183,9 +1239,11 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                 retailLevel,
                 ptlAgreementProductCostsExport,
                 retailProportion,
-                "no");
+                "no",
+                enterProportion
+        );
 
-        retailProportion.setProportion(jqReCalcuLateProportion,syReCalcuLateProportion,noReCalcuLateProportion);
+        retailProportion.setProportion(jqReCalcuLateProportion, syReCalcuLateProportion, noReCalcuLateProportion);
 //        ptlAgreementProductCostsExportService.updateById(ptlAgreementProductCostsExport);
 
 
@@ -1232,7 +1290,7 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                     if (parents != null && parents.size() > 2) {
                         insFeeOrderNew.setThreeLevelUserId(parents.get(2).getId());
                     }
-                }else{
+                } else {
                     insFeeOrderNew.setThirdDetailProportion(new BigDecimal(0));
                 }
                 if (Integer.parseInt(esmRetail.getRetailtype()) >= 2) {
@@ -1251,7 +1309,7 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                     if (parents != null && parents.size() > 1) {
                         insFeeOrderNew.setTwoLevelUserId(parents.get(1).getId());
                     }
-                }else{
+                } else {
                     insFeeOrderNew.setSecondDetailProportion(new BigDecimal(0));
                 }
                 if (Integer.parseInt(esmRetail.getRetailtype()) >= 1) {
@@ -1267,23 +1325,23 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                             retailProportion.getSyRetailLevel1Proportion(),
                             retailProportion.getNoRetailLevel1Proportion());
                     insFeeOrderNew.setFirstDetailPremiums(retailFeeLevel1.getTotalRetailPremiums());
-                    if (parents != null && parents.size() > 0) {
+                    if (parents != null && !parents.isEmpty()) {
                         insFeeOrderNew.setFirstLevelUserId(parents.get(0).getId());
                     }
-                }else{
+                } else {
                     insFeeOrderNew.setFirstDetailProportion(new BigDecimal(0));
                 }
-            }else{
+            } else {
                 insFeeOrderNew.setFirstDetailPremiums(new BigDecimal(0));
                 insFeeOrderNew.setSecondDetailPremiums(new BigDecimal(0));
                 insFeeOrderNew.setThirdDetailPremiums(new BigDecimal(0));
             }
-        }else{
+        } else {
             insFeeOrderNew.setFirstDetailProportion(new BigDecimal(0));
             insFeeOrderNew.setSecondDetailProportion(new BigDecimal(0));
             insFeeOrderNew.setThirdDetailProportion(new BigDecimal(0));
         }
-        insFeeOrderNew.assignRetail(retailFeeLevel1,retailFeeLevel2,retailFeeLevel3);
+        insFeeOrderNew.assignRetail(retailFeeLevel1, retailFeeLevel2, retailFeeLevel3);
 
         //endregion
 
@@ -1347,15 +1405,15 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
 
         //交强出口手续费比例
         FeeOrderNewVo.ExportFee jqExportFee = feeRuleSchemeService.calcExportFee(insFeeOrderNew.getJqPremium(), new BigDecimal(ptlAgreementProductCostsNew.getJqCostsExportProportion()),
-                insFeeOrderNew.getJqCostsProportion(), jqDeptRadio, retailRadio, taxRadio);
+                insFeeOrderNew.getJqCostsProportion(), jqDeptRadio, retailRadio, taxRadio, jqReCalcuLateProportion.getProxyProportion());
 
         //商业出口手续费比例
         FeeOrderNewVo.ExportFee syExportFee = feeRuleSchemeService.calcExportFee(insFeeOrderNew.getSyPremium(), new BigDecimal(ptlAgreementProductCostsNew.getSyCostsExportProportion()),
-                insFeeOrderNew.getSyCostsProportion(), syDeptRadio, retailRadio, taxRadio);
+                insFeeOrderNew.getSyCostsProportion(), syDeptRadio, retailRadio, taxRadio, syReCalcuLateProportion.getProxyProportion());
 
         //非车出口手续费比例
         FeeOrderNewVo.ExportFee noExportFee = feeRuleSchemeService.calcExportFee(insFeeOrderNew.getNoPremium(), new BigDecimal(ptlAgreementProductCostsNew.getNoCostsExportProportion()),
-                insFeeOrderNew.getNoCostsProportion(), noDeptRadio, retailRadio, taxRadio);
+                insFeeOrderNew.getNoCostsProportion(), noDeptRadio, retailRadio, taxRadio, noReCalcuLateProportion.getProxyProportion());
 
         //出口手续费用
         insFeeOrderNew.setJqExportSuperviseCostsPremiums(twoPeople(jqExportFee.getSuperviseCostsPremiums()));
@@ -1377,6 +1435,16 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
         insFeeOrderNew.setSyCostsExportProportion(twoPeople(syExportFee.getSuperviseCosts()));
         insFeeOrderNew.setNoCostsExportProportion(twoPeople(noExportFee.getSuperviseCosts()));
 
+        // 外部订单费用
+        insFeeOrderNew.setJqExternalProportion(jqExportFee.getExternalProportion());
+        insFeeOrderNew.setJqExternalPremiums(jqExportFee.getExternalPremiums());
+
+        insFeeOrderNew.setSyExternalProportion(syExportFee.getExternalProportion());
+        insFeeOrderNew.setSyExternalPremiums(syExportFee.getExternalPremiums());
+
+        insFeeOrderNew.setNoExternalProportion(noExportFee.getExternalProportion());
+        insFeeOrderNew.setNoExternalPremiums(noExportFee.getExternalPremiums());
+
         //endregion
 
         //region 计算利润差值
@@ -1384,23 +1452,24 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
 
         //分销交强费用
         //分开算  1  2 3 级
-        BigDecimal jqFirst = insFeeOrderNew.getJqPremium().multiply(insFeeOrderNew.getFirstDetailProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
-        BigDecimal jqSecond = insFeeOrderNew.getJqPremium().multiply(insFeeOrderNew.getSecondDetailProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
-        BigDecimal jqThird = insFeeOrderNew.getJqPremium().multiply(insFeeOrderNew.getThirdDetailProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
+        BigDecimal jqFirst = insFeeOrderNew.getJqPremium().multiply(insFeeOrderNew.getFirstDetailProportion().divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN);
+        BigDecimal jqSecond = insFeeOrderNew.getJqPremium().multiply(insFeeOrderNew.getSecondDetailProportion().divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN);
+        BigDecimal jqThird = insFeeOrderNew.getJqPremium().multiply(insFeeOrderNew.getThirdDetailProportion().divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN);
         BigDecimal jqFenXiao = jqFirst.add(jqSecond).add(jqThird);
         //分销商业费用
-        BigDecimal syFirst = insFeeOrderNew.getSyPremium().multiply(insFeeOrderNew.getFirstDetailProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
-        BigDecimal sySecond = insFeeOrderNew.getSyPremium().multiply(insFeeOrderNew.getSecondDetailProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
-        BigDecimal syThird = insFeeOrderNew.getSyPremium().multiply(insFeeOrderNew.getThirdDetailProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
+        BigDecimal syFirst = insFeeOrderNew.getSyPremium().multiply(insFeeOrderNew.getFirstDetailProportion().divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN);
+        BigDecimal sySecond = insFeeOrderNew.getSyPremium().multiply(insFeeOrderNew.getSecondDetailProportion().divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN);
+        BigDecimal syThird = insFeeOrderNew.getSyPremium().multiply(insFeeOrderNew.getThirdDetailProportion().divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN);
         BigDecimal syFenXiao = syFirst.add(sySecond).add(syThird);
         //分销非车费用
-        BigDecimal noFirst = insFeeOrderNew.getNoPremium().multiply(insFeeOrderNew.getFirstDetailProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
-        BigDecimal noSecond = insFeeOrderNew.getNoPremium().multiply(insFeeOrderNew.getSecondDetailProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
-        BigDecimal noThird = insFeeOrderNew.getNoPremium().multiply(insFeeOrderNew.getThirdDetailProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
+        BigDecimal noFirst = insFeeOrderNew.getNoPremium().multiply(insFeeOrderNew.getFirstDetailProportion().divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN);
+        BigDecimal noSecond = insFeeOrderNew.getNoPremium().multiply(insFeeOrderNew.getSecondDetailProportion().divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN);
+        BigDecimal noThird = insFeeOrderNew.getNoPremium().multiply(insFeeOrderNew.getThirdDetailProportion().divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN);
         BigDecimal noFenXiao = noFirst.add(noSecond).add(noThird);
 
-
-        BigDecimal jqDifference = jqEntranceFee.getTotalAmount().subtract(
+        BigDecimal jqDifference = jqEntranceFee.getTotalAmount()
+                .subtract(jqExportFee.getExternalPremiums())
+                .subtract(
                         (jqExportFee.getSuperviseCostsPremiums().add(jqExportFee.getOtherCostsPremiums())))
                 .subtract(
                         (jqDeptManagerFee.getDeptPremiumsLevelOne().add(jqDeptManagerFee.getDeptPremiumsLevelTwo().add(jqDeptManagerFee.getDeptPremiumsLevelThree()).add(jqDeptManagerFee.getDeptPremiumsLevelFoure()).add(jqDeptManagerFee.getDeptPremiumsLevelFive())))
@@ -1408,7 +1477,9 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                 .subtract(jqFenXiao).setScale(5, BigDecimal.ROUND_HALF_DOWN);
         insFeeOrderNew.setJqProfitMarginPremiums(jqDifference);
 
-        BigDecimal syDifference = syEntranceFee.getTotalAmount().subtract(
+        BigDecimal syDifference = syEntranceFee.getTotalAmount()
+                .subtract(syExportFee.getExternalPremiums())
+                .subtract(
                         (syExportFee.getSuperviseCostsPremiums().add(syExportFee.getOtherCostsPremiums())))
                 .subtract(
                         (syDeptManagerFee.getDeptPremiumsLevelOne().add(syDeptManagerFee.getDeptPremiumsLevelTwo().add(syDeptManagerFee.getDeptPremiumsLevelThree()).add(syDeptManagerFee.getDeptPremiumsLevelFoure()).add(syDeptManagerFee.getDeptPremiumsLevelFive())))
@@ -1416,8 +1487,9 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                 .subtract(syFenXiao).setScale(5, BigDecimal.ROUND_HALF_DOWN);
         insFeeOrderNew.setSyProfitMarginPremiums(syDifference);
 
-
-        BigDecimal noDifference = noEntranceFee.getTotalAmount().subtract(
+        BigDecimal noDifference = noEntranceFee.getTotalAmount()
+                .subtract(noExportFee.getExternalPremiums())
+                .subtract(
                         (noExportFee.getSuperviseCostsPremiums().add(noExportFee.getOtherCostsPremiums())))
                 .subtract(
                         (noDeptManagerFee.getDeptPremiumsLevelOne().add(noDeptManagerFee.getDeptPremiumsLevelTwo().add(noDeptManagerFee.getDeptPremiumsLevelThree()).add(noDeptManagerFee.getDeptPremiumsLevelFoure()).add(noDeptManagerFee.getDeptPremiumsLevelFive())))
@@ -1430,13 +1502,13 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
 
         //region 比例逆推是否等于0
 
-        if(!feeRuleSchemeService.calculateProportion(jqEntranceFee,jqDeptManagerFee,jqExportFee,retailRadio,taxRadio,insFeeOrderNew.getJqPremium()))
+        if (!feeRuleSchemeService.calculateProportion(jqEntranceFee, jqDeptManagerFee, jqExportFee, retailRadio, taxRadio, insFeeOrderNew.getJqPremium()))
             throw new SystemException("交强比例异常");
 
-        if(!feeRuleSchemeService.calculateProportion(syEntranceFee,syDeptManagerFee,syExportFee,retailRadio,taxRadio,insFeeOrderNew.getSyPremium()))
+        if (!feeRuleSchemeService.calculateProportion(syEntranceFee, syDeptManagerFee, syExportFee, retailRadio, taxRadio, insFeeOrderNew.getSyPremium()))
             throw new SystemException("商业比例异常");
 
-        if(!feeRuleSchemeService.calculateProportion(noEntranceFee,noDeptManagerFee,noExportFee,retailRadio,taxRadio,insFeeOrderNew.getNoPremium()))
+        if (!feeRuleSchemeService.calculateProportion(noEntranceFee, noDeptManagerFee, noExportFee, retailRadio, taxRadio, insFeeOrderNew.getNoPremium()))
             throw new SystemException("非车比例异常");
 
         //endregion
@@ -1765,9 +1837,8 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
      */
     private boolean checkBoxEqual(PtlAgreementProductCostsAttrLink ptlAgreementProductCostsAttrLink, String value) {
         String[] split = ptlAgreementProductCostsAttrLink.getMin().split(",");
-        for( String sp : split)
-        {
-            if(sp.equals(value)){
+        for (String sp : split) {
+            if (sp.equals(value)) {
                 return true;
             }
         }
@@ -1867,13 +1938,13 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
         //将值进行分割
         String[] split = ptlAgreementUndwrtRulesAttrLink.getMin().split(",");
         AtomicBoolean returnBool = new AtomicBoolean(true);
-        if(ptlAgreementUndwrtRulesAttrLink.getAttrCode().equals("NatureOfUse")) {
+        if (ptlAgreementUndwrtRulesAttrLink.getAttrCode().equals("NatureOfUse")) {
             Arrays.stream(split).forEach(x -> {
                 if (!x.equals("") && value.equals(x)) {
                     returnBool.set(false);
                 }
             });
-        }else{
+        } else {
             Arrays.stream(split).forEach(x -> {
                 if (!x.equals("") && value.contains(x)) {
                     returnBool.set(false);

+ 0 - 3
src/main/java/com/ydtech/modules/fee/service/impl/InsFeeOrderConfigServiceImpl.java

@@ -4,9 +4,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.modules.fee.dao.InsFeeOrderConfigMapper;
 import com.ydtech.modules.fee.dto.po.InsFeeOrderConfig;
 import com.ydtech.modules.fee.service.InsFeeOrderConfigService;
-import com.ydtech.modules.order.dao.InsAccidentalDrivingDaJiaMapper;
-import com.ydtech.modules.order.entity.vo.dajia.InsAccidentalDrivingDajia;
-import com.ydtech.modules.order.service.InsAccidentalDrivingDaJiaService;
 import org.springframework.stereotype.Service;
 
 /**

+ 0 - 4
src/main/java/com/ydtech/modules/order/aop/aspect/AuditVerificationAspect.java

@@ -3,10 +3,8 @@ package com.ydtech.modules.order.aop.aspect;
 
 import com.alibaba.fastjson.JSONObject;
 import com.ydtech.exception.SystemException;
-import com.ydtech.modules.admin.service.SysUserRoleService;
 import com.ydtech.modules.fee.service.FeeRuleSchemeNewService;
 import com.ydtech.modules.fee.service.FeeRuleSchemeService;
-import com.ydtech.modules.order.components.InsOrdersComponents;
 import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsAreaCompanyAccidentalDriving;
 import com.ydtech.modules.order.entity.InsOrders;
@@ -15,8 +13,6 @@ import com.ydtech.modules.order.entity.vo.SpecialAuditVo;
 import com.ydtech.modules.order.service.InsAreaCompanyAccidentalDrivingService;
 import com.ydtech.modules.order.service.InsAreaCompanyService;
 import com.ydtech.modules.order.service.InsOrdersService;
-import com.ydtech.modules.protocol.service.PtlAgreementDeptService;
-import com.ydtech.modules.protocol.service.impl.TaxSourceServiceImpl;
 import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
 import com.ydtech.modules.protocols.entity.po.PtlAgreementProductCostsNew;
 import com.ydtech.modules.protocols.service.InsFeeOrderNewService;

+ 7 - 3
src/main/java/com/ydtech/modules/order/aop/aspect/QuoteVerificationAspect.java

@@ -169,7 +169,7 @@ public class QuoteVerificationAspect {
                  **/
                 //添加外部订单的限制  add by hxl  2024-07-12
                 List<InsAreaCompany> insAreaList = insAreaCompanyService.getBaseMapper().selectList(new LambdaQueryWrapper<InsAreaCompany>().eq(InsAreaCompany::getOrderno, orderno));
-                if(insAreaList!=null  && insAreaList.size()>0 ){
+                if(insAreaList!=null  && !insAreaList.isEmpty()){
                     for(InsAreaCompany subOrder : insAreaList){
                         PtlAgreement ptlAgreement = ptlAgreementService.getById(subOrder.getAgreementId());
                         if(ptlAgreement!=null && ptlAgreement.getIsExternal()!=null && ptlAgreement.getIsExternal()==1){
@@ -200,7 +200,11 @@ public class QuoteVerificationAspect {
                 boolean isExclude = true;
                 //排除的部门信息
                 List<TaxSourceExcludeDto> excludeDepts =
-                        taxSourceExcludeService.list(new LambdaQueryWrapper<TaxSourceExcludeDto>().eq(TaxSourceExcludeDto::getExcludeInfo, deptId).eq(TaxSourceExcludeDto::getInsCompanyId, companyId).eq(TaxSourceExcludeDto::getType, TaxSourceStatusConstants.EXCLUDE_TYPE_DEPT));
+                        taxSourceExcludeService.list(new LambdaQueryWrapper<TaxSourceExcludeDto>()
+                                .eq(TaxSourceExcludeDto::getExcludeInfo, deptId)
+                                .eq(TaxSourceExcludeDto::getInsCompanyId, companyId)
+                                .eq(TaxSourceExcludeDto::getType, TaxSourceStatusConstants.EXCLUDE_TYPE_DEPT));
+
                 //部门排除
                 String finalDeptId = deptId;
                 if (excludeDepts.stream().anyMatch(taxSourceDto -> taxSourceDto.getExcludeInfo().equals(finalDeptId))) {
@@ -219,7 +223,7 @@ public class QuoteVerificationAspect {
                         List<PtlTaxSourceNew> taxSourceDtoList = ptlTaxSourceNewMapper.selectList(new LambdaQueryWrapper<PtlTaxSourceNew>()
                                 .eq(PtlTaxSourceNew::getInsCompanyId, companyId)
                                 .eq(PtlTaxSourceNew::getDefaultFlag,"1"));
-                        if(taxSourceDtoList!=null && taxSourceDtoList.size()>0){
+                        if(taxSourceDtoList!=null && !taxSourceDtoList.isEmpty()){
                             //throw new SystemException("配置默认协议且部门未排除应走默认逻辑,操作错误,请联系管理员!!");
                           //强制走默认状态
                             String taxAgreementId = ptlTaxSourceNewService.getAgreementId(deptId, userId, companyId, quoteInfo,insuranceRisk.getCode(),orderno);

+ 25 - 0
src/main/java/com/ydtech/modules/order/constants/OrderEntryStatus.java

@@ -0,0 +1,25 @@
+package com.ydtech.modules.order.constants;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+
+/**
+ * 订单表 录入状态
+ * 1 车险录入 2 待客录单 3 外部订单
+ */
+@AllArgsConstructor
+@Getter
+public enum OrderEntryStatus {
+
+    OES_1(1, "车险录入"),
+    OES_2(2, "待客录单"),
+    OES_3(3, "外部订单");
+
+    private final Integer code;
+
+    private final String desc;
+
+
+}

+ 0 - 5
src/main/java/com/ydtech/modules/order/controller/InsCrawlerOrderController.java

@@ -14,8 +14,6 @@ import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
 import com.ydtech.modules.order.entity.vo.QuoteAccidentalDrivingVo;
 import com.ydtech.modules.order.service.InsCrawlerOrderService;
 import com.ydtech.modules.order.service.InsOrdersService;
-import com.ydtech.modules.protocols.entity.vo.AgreementProductCosts;
-import com.ydtech.modules.protocols.service.PtlAgreementProductCostsNewService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
@@ -24,8 +22,6 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.List;
-
 @Api(tags = "爬虫对接")
 @RequestMapping("/insurance/crawler")
 @RestController
@@ -52,7 +48,6 @@ public class InsCrawlerOrderController extends BaseController {
     @ApiOperation(value = "提交影像信息")
     public HttpResult<Object> submitImage(@RequestSingleParam(value = "subOrderNo") String subOrderNo) {
         return insuranceCrawlerOrderService.submitImage(subOrderNo);
-//        return HttpResult.ok("ok");
     }
 
     @AuditVerification("核保")

+ 0 - 1
src/main/java/com/ydtech/modules/order/dao/BatchOrderMapper.java

@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ydtech.modules.order.entity.BatchOrder;
 import com.ydtech.modules.order.entity.vo.BatchOrderQueryVo;
-import com.ydtech.modules.order.entity.vo.dajia.InsAccidentalDrivingDajia;
 import org.apache.ibatis.annotations.Param;
 
 /**

+ 0 - 1
src/main/java/com/ydtech/modules/order/dao/InsAccidentalDrivingDaJiaMapper.java

@@ -1,7 +1,6 @@
 package com.ydtech.modules.order.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ydtech.modules.order.entity.InsAccidentalDriving;
 import com.ydtech.modules.order.entity.vo.dajia.InsAccidentalDrivingDajia;
 
 /**

+ 0 - 1
src/main/java/com/ydtech/modules/order/dao/InsAccidentalDrivingSubDaJiaMapper.java

@@ -1,7 +1,6 @@
 package com.ydtech.modules.order.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ydtech.modules.order.entity.vo.dajia.InsAccidentalDrivingDajia;
 import com.ydtech.modules.order.entity.vo.dajia.InsAccidentalDrivingSubDajia;
 
 /**

+ 0 - 1
src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyAccidentalDrivingMapper.java

@@ -2,7 +2,6 @@ package com.ydtech.modules.order.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ydtech.modules.order.entity.InsAreaCompanyAccidentalDriving;
-import com.ydtech.modules.order.entity.vo.dajia.InsAccidentalDrivingSubDajia;
 
 /**
  * @author Administrator

+ 0 - 12
src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyExternalFeeMapper.java

@@ -1,19 +1,7 @@
 package com.ydtech.modules.order.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ydtech.modules.admin.model.dto.AllpremiumDto;
-import com.ydtech.modules.admin.model.dto.PremiumReportDto;
-import com.ydtech.modules.admin.model.vo.SubOrder;
-import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsAreaCompanyExternalFee;
-import com.ydtech.modules.order.entity.InsOrders;
-import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
-import com.ydtech.modules.order.entity.vo.OrderQueryVo;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.HashMap;
-import java.util.List;
 
 /**
  * @author Administrator

+ 0 - 1
src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyMapper.java

@@ -17,7 +17,6 @@ import com.ydtech.modules.admin.model.report.opetationData.QuotationCountDataDto
 import com.ydtech.modules.admin.model.report.opetationData.QuotationCountQueryDto;
 import com.ydtech.modules.admin.model.vo.SubOrder;
 import com.ydtech.modules.admin.model.vo.TaskStatisticsVo;
-import com.ydtech.modules.base.model.vo.PageVo;
 import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;

+ 0 - 11
src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyPositionMapper.java

@@ -1,18 +1,7 @@
 package com.ydtech.modules.order.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ydtech.modules.admin.model.dto.PremiumReportDto;
-import com.ydtech.modules.admin.model.vo.SubOrder;
-import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsAreaCompanyPosition;
-import com.ydtech.modules.order.entity.InsOrders;
-import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
-import com.ydtech.modules.order.entity.vo.OrderQueryVo;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.HashMap;
-import java.util.List;
 
 /**
  * @author Administrator

+ 0 - 1
src/main/java/com/ydtech/modules/order/dao/InsDrivingIntentionInsuranceSonMapper.java

@@ -1,7 +1,6 @@
 package com.ydtech.modules.order.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ydtech.modules.order.entity.InsDrivingIntentionInsurance;
 import com.ydtech.modules.order.entity.InsDrivingIntentionInsuranceSon;
 
 /**

+ 0 - 6
src/main/java/com/ydtech/modules/order/dao/InsOrderQrCodeMapper.java

@@ -2,12 +2,6 @@ package com.ydtech.modules.order.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ydtech.modules.order.entity.InsOrderQrCode;
-import com.ydtech.modules.order.entity.InsOrders;
-import com.ydtech.modules.order.entity.vo.OrderQueryVo;
-import com.ydtech.modules.order.entity.vo.OrderVo;
-import com.ydtech.modules.order.entity.vo.VerifyOrdersVo;
-
-import java.util.List;
 
 /**
  * @author Administrator

+ 0 - 1
src/main/java/com/ydtech/modules/order/dao/InsOrdersMapper.java

@@ -1,7 +1,6 @@
 package com.ydtech.modules.order.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ydtech.modules.ins.model.InsOrdersExcel;
 import com.ydtech.modules.ins.model.InsOrdersExcelVo;

+ 0 - 1
src/main/java/com/ydtech/modules/order/dao/InsTaskImagesMapper.java

@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ydtech.modules.order.entity.dto.InsTaskImagesDto;
 import com.ydtech.modules.order.entity.dto.InsUploadImagesDto;
 import com.ydtech.modules.order.entity.po.InsTaskImages;
-import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 

+ 0 - 1
src/main/java/com/ydtech/modules/order/dao/PtlAgreementNonCarProductRuleMapper.java

@@ -1,7 +1,6 @@
 package com.ydtech.modules.order.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ydtech.modules.order.entity.InsDrivingIntentionInsurance;
 import com.ydtech.modules.order.entity.PtlAgreementNonCarProductRule;
 
 /**

+ 0 - 2
src/main/java/com/ydtech/modules/order/entity/BatchOrder.java

@@ -6,10 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
 import com.ydtech.modules.order.entity.vo.BatchOrderVo;
-import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import org.joda.time.DateTime;
 
 import java.time.LocalDateTime;
 

+ 6 - 0
src/main/java/com/ydtech/modules/order/entity/InsAreaCompany.java

@@ -491,6 +491,12 @@ public class InsAreaCompany implements Serializable {
     @TableField(exist = false)
     private String orderExternalStatus;
 
+    /**
+     * 录入状态 1 车险录入 2 待客录单 3 外部订单
+     */
+    @TableField(value = "entry_status")
+    private Integer entryStatus;
+
 
     public InsAreaCompany(QuoteRespVo quoteRespVo, PtlAgreementAttribution ptlAgreementAttribution) {
         this.id = IdGenerate.nextId();

+ 0 - 2
src/main/java/com/ydtech/modules/order/entity/InsAreaCompanyAccidentalDriving.java

@@ -1,7 +1,6 @@
 package com.ydtech.modules.order.entity;
 
 import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -9,7 +8,6 @@ import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
 import lombok.Data;
 
 import java.io.Serializable;
-import java.math.BigDecimal;
 
 /**
  * 子订单驾意险信息

+ 0 - 12
src/main/java/com/ydtech/modules/order/entity/InsAreaCompanyExternalFee.java

@@ -1,18 +1,8 @@
 package com.ydtech.modules.order.entity;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
-import com.ydtech.modules.ins.model.vo.QuoteRespVo;
-import com.ydtech.modules.protocol.entity.po.PtlAgreementAttribution;
-import com.ydtech.utils.StringUtils;
-import com.ydtech.utils.idgen.IdGenerate;
 import io.swagger.annotations.ApiModel;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -20,8 +10,6 @@ import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
-import java.time.LocalDateTime;
-import java.util.Date;
 
 /**
  * 报价渠道

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/InsAreaCompanyExternalPolicy.java

@@ -9,7 +9,6 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
-import java.math.BigDecimal;
 
 /**
  * 报价渠道

+ 0 - 15
src/main/java/com/ydtech/modules/order/entity/InsAreaCompanyPosition.java

@@ -1,27 +1,12 @@
 package com.ydtech.modules.order.entity;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
-import com.ydtech.modules.ins.model.vo.QuoteRespVo;
-import com.ydtech.modules.protocol.entity.po.PtlAgreementAttribution;
-import com.ydtech.utils.StringUtils;
-import com.ydtech.utils.idgen.IdGenerate;
 import io.swagger.annotations.ApiModel;
-import lombok.AllArgsConstructor;
 import lombok.Data;
-import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
-import java.util.Date;
 
 /**
  * 报价渠道

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/InsDrivingIntentionInsurance.java

@@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 
-import javax.persistence.Table;
 import java.io.Serializable;
 
 /**

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/InsFeeOrder.java

@@ -15,7 +15,6 @@ import lombok.NoArgsConstructor;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
-import java.util.Date;
 
 /**
  * 订单费用跟单表

+ 0 - 16
src/main/java/com/ydtech/modules/order/entity/InsOrderQrCode.java

@@ -1,37 +1,21 @@
 package com.ydtech.modules.order.entity;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.google.zxing.BarcodeFormat;
 import com.google.zxing.client.j2se.MatrixToImageWriter;
 import com.google.zxing.common.BitMatrix;
 import com.google.zxing.qrcode.QRCodeWriter;
-import com.ydtech.constants.enums.InsuranceRisk;
-import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
-import com.ydtech.constants.enums.dict.agreement.ProductsType;
-import com.ydtech.exception.SystemException;
-import com.ydtech.modules.admin.model.SysDept;
-import com.ydtech.modules.admin.model.SysUser;
-import com.ydtech.modules.ins.model.vo.KindInfoVo;
-import com.ydtech.modules.ins.model.vo.RiskInfoVo;
-import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
-import com.ydtech.utils.idgen.IdGenerate;
 import lombok.*;
 
 import javax.imageio.ImageIO;
 import java.awt.image.BufferedImage;
 import java.io.ByteArrayOutputStream;
 import java.io.Serializable;
-import java.time.LocalDateTime;
 import java.util.Base64;
 import java.util.Date;
-import java.util.List;
 
 /**
  * 保险订单二维码表

+ 20 - 0
src/main/java/com/ydtech/modules/order/entity/InsOrders.java

@@ -17,6 +17,7 @@ import com.ydtech.modules.admin.model.SysDept;
 import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.ins.model.vo.KindInfoVo;
 import com.ydtech.modules.ins.model.vo.RiskInfoVo;
+import com.ydtech.modules.order.constants.OrderEntryStatus;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.*;
@@ -212,9 +213,18 @@ public class InsOrders implements Serializable {
     @TableField(value = "vehicle_and_vessel_tax", typeHandler = FastjsonTypeHandler.class)
     private JSONObject vehicleAndVesselTax;
 
+    /**
+     * 是否为外部订单
+     */
     @TableField(value = "is_external")
     private Integer isExternal;
 
+    /**
+     * 录入状态 1 车险录入 2 待客录单 3 外部订单
+     */
+    @TableField(value = "entry_status")
+    private Integer entryStatus;
+
     /**
      * 承保时间
      */
@@ -333,6 +343,16 @@ public class InsOrders implements Serializable {
         this.setVehicleAndVesselTax(JSON.parseObject(JSON.toJSONString(quoteInfoVo.getVehicleAndVesselTax())));
     }
 
+    public void setUpEntryStatus(boolean daikeFlag){
+        if (this.isExternal == 1) {
+            this.entryStatus = OrderEntryStatus.OES_3.getCode();
+        }else if(daikeFlag){
+            this.entryStatus = OrderEntryStatus.OES_2.getCode();
+        }else {
+            this.entryStatus = OrderEntryStatus.OES_1.getCode();
+        }
+    }
+
     /**
      * 保险信息
      *

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/InsOrdersTrack.java

@@ -4,7 +4,6 @@ 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 com.ydtech.modules.order.service.InsOrdersTrackService;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/api/bohai/request/ElectronicPolicyRequest.java

@@ -1,7 +1,6 @@
 package com.ydtech.modules.order.entity.api.bohai.request;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.ydtech.modules.order.entity.api.bohai.constants.RequestType;
 import com.ydtech.modules.order.entity.config.BoHaiConfigureParameters;
 import com.ydtech.utils.StringUtils;
 import lombok.Data;

+ 0 - 5
src/main/java/com/ydtech/modules/order/entity/api/bohai/request/GenerateOrderNoRequest.java

@@ -1,16 +1,11 @@
 package com.ydtech.modules.order.entity.api.bohai.request;
 
 
-import com.ydtech.modules.order.entity.api.bohai.constants.RequestType;
 import com.ydtech.modules.order.entity.config.BoHaiConfigureParameters;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
-import java.util.UUID;
-
 /**
  * @description: 渤海财险 生成订单接口
  * @author: wenks

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/api/bohai/request/ImageUploadRequest.java

@@ -3,7 +3,6 @@ package com.ydtech.modules.order.entity.api.bohai.request;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.ydtech.modules.order.entity.api.bohai.constants.DocumentClass;
-import com.ydtech.modules.order.entity.api.bohai.constants.RequestType;
 import com.ydtech.modules.order.entity.config.BoHaiConfigureParameters;
 import com.ydtech.modules.order.entity.po.InsTaskImagesBase64;
 import lombok.Data;

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/api/bohai/request/PaymentRequest.java

@@ -2,7 +2,6 @@ package com.ydtech.modules.order.entity.api.bohai.request;
 
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.ydtech.modules.order.entity.api.bohai.constants.RequestType;
 import com.ydtech.modules.order.entity.config.BoHaiConfigureParameters;
 import lombok.Data;
 import lombok.EqualsAndHashCode;

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/api/bohai/request/StatusDocumentsRequest.java

@@ -1,7 +1,6 @@
 package com.ydtech.modules.order.entity.api.bohai.request;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.ydtech.modules.order.entity.api.bohai.constants.RequestType;
 import com.ydtech.modules.order.entity.config.BoHaiConfigureParameters;
 import lombok.Data;
 import lombok.EqualsAndHashCode;

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/api/bohai/request/UnderwritingRequest.java

@@ -1,7 +1,6 @@
 package com.ydtech.modules.order.entity.api.bohai.request;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.ydtech.modules.order.entity.api.bohai.constants.RequestType;
 import com.ydtech.modules.order.entity.config.BoHaiConfigureParameters;
 import lombok.Data;
 import lombok.EqualsAndHashCode;

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/api/bohai/request/VehicleConfirmationReqeust.java

@@ -17,7 +17,6 @@ import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
-import java.text.SimpleDateFormat;
 import java.util.List;
 import java.util.stream.Collectors;
 

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/api/bohai/response/QuotationResponse.java

@@ -6,7 +6,6 @@ import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
-import java.math.BigDecimal;
 import java.util.List;
 
 @EqualsAndHashCode(callSuper = true)

+ 3 - 8
src/main/java/com/ydtech/modules/order/entity/api/dajia/AESEncrypt.java

@@ -1,20 +1,15 @@
 package com.ydtech.modules.order.entity.api.dajia;
 
 
-import javax.crypto.Cipher;
-import javax.crypto.spec.IvParameterSpec;
-import javax.crypto.spec.SecretKeySpec;
-
 import cn.hutool.core.codec.Base64Decoder;
 import cn.hutool.core.codec.Base64Encoder;
-import com.ydtech.modules.order.entity.api.dajia.constants.CIndemLmtLvl;
-import io.lettuce.core.dynamic.annotation.Value;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
 
-import java.util.Arrays;
-import java.util.Base64;
+import javax.crypto.Cipher;
+import javax.crypto.spec.IvParameterSpec;
+import javax.crypto.spec.SecretKeySpec;
 
 
 /**

+ 1 - 1
src/main/java/com/ydtech/modules/order/entity/api/dajia/DaJiaBaseRequest.java

@@ -1,9 +1,9 @@
 package com.ydtech.modules.order.entity.api.dajia;
 
+import cn.hutool.core.date.DateUtil;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.ydtech.utils.idgen.IdGenerate;
 import lombok.Data;
-import cn.hutool.core.date.DateUtil;
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/api/dajia/DaJiaConfigureParameters.java

@@ -1,7 +1,6 @@
 package com.ydtech.modules.order.entity.api.dajia;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.ydtech.modules.order.components.ConfigureParametersComponents;
 import com.ydtech.modules.order.entity.config.ConfigureParameters;
 import lombok.Data;
 import lombok.NoArgsConstructor;

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/api/dajia/constants/CIndemLmtLvl.java

@@ -1,7 +1,6 @@
 package com.ydtech.modules.order.entity.api.dajia.constants;
 
 import lombok.AllArgsConstructor;
-import lombok.Data;
 import lombok.Getter;
 
 /**

+ 0 - 3
src/main/java/com/ydtech/modules/order/entity/api/dajia/request/NVHLODR1001Request.java

@@ -7,11 +7,8 @@ import com.ydtech.modules.admin.model.vo.PersonAreaVo;
 import com.ydtech.modules.ins.model.vo.RiskInfoVo;
 import com.ydtech.modules.order.entity.api.dajia.DaJiaBaseRequest;
 import com.ydtech.modules.order.entity.api.dajia.DaJiaConfigureParameters;
-import com.ydtech.modules.order.entity.api.dajia.constants.CVhlTyp;
 import com.ydtech.modules.order.entity.api.dajia.constants.ServiceCode;
 import com.ydtech.modules.order.entity.api.dajia.response.ODR1009Response;
-import com.ydtech.modules.order.entity.vo.AccidentalDrivingQueryVo;
-import com.ydtech.modules.order.entity.vo.AccidentalDrivingVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import com.ydtech.modules.order.entity.vo.dajia.InsAccidentalDrivingDajia;
 import com.ydtech.utils.idgen.IdGenerate;

+ 0 - 2
src/main/java/com/ydtech/modules/order/entity/api/dajia/request/NVHLODR2007Request.java

@@ -4,13 +4,11 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 import com.ydtech.modules.order.entity.api.dajia.DaJiaBaseRequest;
 import com.ydtech.modules.order.entity.api.dajia.DaJiaConfigureParameters;
 import com.ydtech.modules.order.entity.api.dajia.constants.ServiceCode;
-import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
-import java.util.List;
 import java.util.Objects;
 
 

+ 0 - 2
src/main/java/com/ydtech/modules/order/entity/api/dajia/request/ODR1007Request.java

@@ -4,13 +4,11 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 import com.ydtech.modules.order.entity.api.dajia.DaJiaBaseRequest;
 import com.ydtech.modules.order.entity.api.dajia.DaJiaConfigureParameters;
 import com.ydtech.modules.order.entity.api.dajia.constants.ServiceCode;
-import com.ydtech.modules.order.entity.api.dajia.constants.TradeCode;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
-import java.util.List;
 
 
 /**

+ 3 - 13
src/main/java/com/ydtech/modules/order/entity/api/dajia/request/ODR1009Request.java

@@ -1,34 +1,24 @@
 package com.ydtech.modules.order.entity.api.dajia.request;
 
-import cn.hutool.core.date.DateTime;
-import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.ydtech.constants.enums.InsurKind;
 import com.ydtech.constants.enums.InsuranceRisk;
 import com.ydtech.modules.ins.model.vo.KindInfoVo;
-import com.ydtech.modules.ins.model.vo.QuoteInfoVo;
 import com.ydtech.modules.ins.model.vo.RiskInfoVo;
 import com.ydtech.modules.order.entity.api.dajia.DaJiaBaseRequest;
 import com.ydtech.modules.order.entity.api.dajia.DaJiaConfigureParameters;
 import com.ydtech.modules.order.entity.api.dajia.constants.*;
-import com.ydtech.modules.order.entity.api.dajia.response.ODR1009Response;
 import com.ydtech.modules.order.entity.api.dajia.response.ODR1016Response;
-import com.ydtech.modules.order.entity.vo.AccidentalDrivingQueryVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import com.ydtech.modules.order.entity.vo.dajia.InsAccidentalDrivingDajia;
 import com.ydtech.modules.order.entity.vo.dajia.InsAccidentalDrivingSubDajia;
-import com.ydtech.utils.DateTimeUtil;
-import com.ydtech.utils.DateTimeUtils;
-import com.ydtech.utils.idgen.IdGenerate;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
-import java.util.*;
-import java.util.stream.Stream;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
 
-import static com.ydtech.modules.order.entity.api.dajia.constants.CInspectRec.INSREC1;
 import static com.ydtech.modules.order.entity.api.dajia.constants.CPayTaxType.T5002;
 
 

+ 0 - 4
src/main/java/com/ydtech/modules/order/entity/api/dajia/request/ODR1010Request.java

@@ -1,15 +1,11 @@
 package com.ydtech.modules.order.entity.api.dajia.request;
 
-import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.api.dajia.DaJiaBaseRequest;
 import com.ydtech.modules.order.entity.api.dajia.DaJiaConfigureParameters;
-import com.ydtech.modules.order.entity.api.dajia.constants.CChannelSrc;
 import com.ydtech.modules.order.entity.api.dajia.constants.ServiceCode;
-import com.ydtech.modules.order.entity.api.dajia.response.NVHLODR1001Response;
 import com.ydtech.modules.order.entity.api.dajia.response.ODR1009Response;
-import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/api/dajia/request/ODR1013Request.java

@@ -5,7 +5,6 @@ import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.api.dajia.DaJiaBaseRequest;
 import com.ydtech.modules.order.entity.api.dajia.DaJiaConfigureParameters;
 import com.ydtech.modules.order.entity.api.dajia.constants.ServiceCode;
-import com.ydtech.modules.order.entity.dto.InsUploadImagesDto;
 import com.ydtech.modules.order.entity.po.InsTaskImagesBase64;
 import lombok.Data;
 import lombok.EqualsAndHashCode;

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/api/dajia/request/ODR1014Request.java

@@ -9,7 +9,6 @@ import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
-import java.util.List;
 
 
 /**

+ 0 - 2
src/main/java/com/ydtech/modules/order/entity/api/dajia/request/ODR2009Request.java

@@ -1,7 +1,6 @@
 package com.ydtech.modules.order.entity.api.dajia.request;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.ydtech.modules.ins.model.vo.QuoteInfoVo;
 import com.ydtech.modules.order.entity.api.dajia.DaJiaBaseRequest;
 import com.ydtech.modules.order.entity.api.dajia.DaJiaConfigureParameters;
 import com.ydtech.modules.order.entity.api.dajia.constants.ServiceCode;
@@ -11,7 +10,6 @@ import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
-import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
 

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/api/dajia/response/ODR1007Response.java

@@ -7,7 +7,6 @@ import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
-import java.util.List;
 
 
 /**

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/api/guoren/request/SpecialAgreementRequest.java

@@ -6,7 +6,6 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
-import java.util.List;
 
 
 /**

+ 0 - 2
src/main/java/com/ydtech/modules/order/entity/api/huatai/request/HuaTaiInsurancePolicyPrintRequest.java

@@ -8,8 +8,6 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 
-import java.util.List;
-
 @EqualsAndHashCode(callSuper = true)
 @NoArgsConstructor
 @Data

+ 0 - 7
src/main/java/com/ydtech/modules/order/entity/api/huatai/request/HuaTaiSubmitStatusQueryRequest.java

@@ -1,14 +1,10 @@
 package com.ydtech.modules.order.entity.api.huatai.request;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.ydtech.modules.ins.model.vo.RiskInfoVo;
-import com.ydtech.modules.ins.model.ya.YaQuoteInfoVo;
-import com.ydtech.modules.order.constants.InsuranceTypeCorrespondence;
 import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.api.huatai.HuaTaiBaseRequest;
 import com.ydtech.modules.order.entity.api.huatai.HuaTaiBaseRequestHead;
 import com.ydtech.modules.order.entity.api.huatai.constants.HuaTaiTransCode;
-import com.ydtech.modules.order.entity.api.zhongmei.constants.TimeConstants;
 import com.ydtech.modules.order.entity.config.HuaTaiConfigureParameters;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -17,9 +13,6 @@ import lombok.NoArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
 
 import java.io.Serializable;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.List;
 

+ 0 - 3
src/main/java/com/ydtech/modules/order/entity/api/huatai/request/HuaTaiUploadImageRequest.java

@@ -11,9 +11,6 @@ import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
 
-import java.util.ArrayList;
-import java.util.List;
-
 @EqualsAndHashCode(callSuper = true)
 @NoArgsConstructor
 @Data

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/api/huatai/response/HuaTaiModelsQueryResponse.java

@@ -2,7 +2,6 @@ package com.ydtech.modules.order.entity.api.huatai.response;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.ydtech.modules.order.entity.api.huatai.HuaTaiBaseResponse;
-import com.ydtech.modules.order.entity.api.zhongmei.BaseResponse;
 import com.ydtech.modules.order.entity.filter.CarModelsFilter;
 import com.ydtech.modules.order.entity.vo.CoreModelsVo;
 import lombok.Data;

+ 0 - 3
src/main/java/com/ydtech/modules/order/entity/api/huatai/response/HuaTaiQuotedPriceResponse.java

@@ -2,7 +2,6 @@ package com.ydtech.modules.order.entity.api.huatai.response;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.ydtech.modules.order.entity.api.huatai.HuaTaiBaseResponse;
-import com.ydtech.modules.order.entity.api.huatai.request.HuaTaiQuotedPriceRequest;
 import com.ydtech.utils.StringUtils;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -11,8 +10,6 @@ import lombok.NoArgsConstructor;
 import java.io.Serializable;
 import java.util.Date;
 import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
 
 /**
  * @Author: CXP

+ 3 - 3
src/main/java/com/ydtech/modules/order/entity/api/pingan/request/CarConfirmRequest.java

@@ -417,16 +417,16 @@ public class CarConfirmRequest extends PingAnBaseRequest {
             this.engineNo = carInfo.getEngineNo();
            // this.frameNo = "VNN3ZYKS1X8H05E4D";
             // 货车 modelCode KMD1129SDH,家用车用 OYI1004SKD
-            //this.modelCode = "OYI1004SKD";
+           // this.modelCode = "OYI1004SKD";
             this.paModelCode = modelsDto.getPaModelCode();
             // this.modelIndex = modelsDto.getModelIndex();
 //            this.vehicleStyleUniqueId = vehicleStyleUniqueId;
-            this.autoModelName = modelsDto.getModelName();
+            this.autoModelName = carInfo.getCarBrand();
             this.seats = carInfo.getSeatCount();
             //这辆参数货车传递
            // this.wholeWeight = String.valueOf(Float.parseFloat(carInfo.getCompleteKerbMass()) / 1000);
           //  this.tonNumber = carInfo.getCompleteKerbMass();
-            this.exhaustMeasure = modelsDto.getExhaustMeasure();
+            this.exhaustMeasure = carInfo.getExhaustScale();
             this.power = carInfo.getPowerScale();
            // this.vehicleCertiType = vehicleCertiType;
            // this.vehicleCertiNo = vehicleCertiNo;

+ 2 - 2
src/main/java/com/ydtech/modules/order/entity/api/pingan/request/QuoteRequest.java

@@ -80,7 +80,7 @@ public class QuoteRequest extends PingAnBaseRequest {
      * 机动车损失保险保额
      * c
      */
-    @PingAnQuoteRequest(key="MR",remark="机动车损失保险保额取车辆确认中的默认保额",flag="FXNY")
+    @PingAnQuoteRequest(key="A_YN",remark="机动车损失保险保额取车辆确认中的默认保额",flag="FXNY")
     private String inputAmount;
     /***
      * 车损险绝对免赔额(元)
@@ -540,7 +540,7 @@ public class QuoteRequest extends PingAnBaseRequest {
      * 新能源汽车损失保险保额
      * C
      */
-    @PingAnQuoteRequest(key="MR",remark="新能源汽车损失保险",flag="XNY")
+    @PingAnQuoteRequest(key="A_YN",remark="新能源汽车损失保险",flag="XNY")
     private String inputAmountXNY;
     /***
      * 车损险绝对免赔额(元)

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/api/yongcheng/request/AccidentUnderwritingRequest.java

@@ -3,7 +3,6 @@ package com.ydtech.modules.order.entity.api.yongcheng.request;
 
 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
-import com.ydtech.modules.ins.model.yc.YcConfigureParameters;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/api/yongcheng/response/AccidentUnderwritingResponse.java

@@ -2,7 +2,6 @@ package com.ydtech.modules.order.entity.api.yongcheng.response;
 
 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
-import com.ydtech.modules.order.entity.api.yongcheng.request.AccidentUnderwritingRequest;
 import lombok.Data;
 
 import java.io.Serializable;

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/api/zhongmei/request/CoverageRequest.java

@@ -2,7 +2,6 @@ package com.ydtech.modules.order.entity.api.zhongmei.request;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.ydtech.modules.order.entity.api.zhongmei.BaseRequest;
-import com.ydtech.modules.order.entity.api.zhongmei.response.OrderStatusResponse;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.EqualsAndHashCode;

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/api/zijin/constants/enums/UnderWriteFlagEnum.java

@@ -2,7 +2,6 @@ package com.ydtech.modules.order.entity.api.zijin.constants.enums;
 
 
 import lombok.AllArgsConstructor;
-import lombok.Data;
 import lombok.Getter;
 
 

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/api/zijin/constants/enums/UseNatureCode.java

@@ -1,7 +1,6 @@
 package com.ydtech.modules.order.entity.api.zijin.constants.enums;
 
 import lombok.AllArgsConstructor;
-import lombok.Data;
 import lombok.Getter;
 
 @Getter

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/api/zijin/request/NewPayRequest.java

@@ -8,7 +8,6 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
-import java.math.BigDecimal;
 
 /**
  * @version

+ 0 - 5
src/main/java/com/ydtech/modules/order/entity/crawler/response/CrawlerVerifyPaymentResponse.java

@@ -1,18 +1,13 @@
 package com.ydtech.modules.order.entity.crawler.response;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.ydtech.modules.order.entity.api.zijin.constants.enums.RiskCodeEnum;
-import com.ydtech.modules.order.entity.api.zijin.response.QueryOrderDetailResponse;
-import com.ydtech.modules.order.entity.dto.DrivingInsuranceDto;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
-import java.util.stream.Collectors;
 
 @EqualsAndHashCode(callSuper = true)
 @Data

+ 0 - 3
src/main/java/com/ydtech/modules/order/entity/crawler/vo/CrawlerPolicyPrintVo.java

@@ -1,16 +1,13 @@
 package com.ydtech.modules.order.entity.crawler.vo;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.ydtech.modules.order.entity.crawler.response.CrawlerPolicyPrintResponse;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
-import org.springframework.util.ObjectUtils;
 
 import java.io.Serializable;
-import java.util.Collections;
 import java.util.List;
 
 @Data

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/vo/AccidentalDrivingQueryVo.java

@@ -4,7 +4,6 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import javax.validation.constraints.Min;
 import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
 import java.io.Serializable;

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/vo/AuditExportVo.java

@@ -2,7 +2,6 @@ package com.ydtech.modules.order.entity.vo;
 
 import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
-import com.ydtech.modules.nai.httpvo.excel.Excel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 

+ 1 - 1
src/main/java/com/ydtech/modules/order/entity/vo/BaseQuoteInfoVo.java

@@ -24,7 +24,7 @@ public class BaseQuoteInfoVo extends YaQuoteInfoVo {
     @ApiModelProperty("代客录单用-实际业务归属人")
     private String userId;
 
-    @ApiModelProperty("是否外部订单")
+    @ApiModelProperty("是否外部订单 1 外部订单录入 ")
     private Integer isExternal;
 
     public BaseQuoteInfoVo() {

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/vo/BatchOrderAuditVo.java

@@ -1,7 +1,6 @@
 package com.ydtech.modules.order.entity.vo;
 
 
-import com.alibaba.fastjson.JSONObject;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/vo/BatchOrderVo.java

@@ -2,7 +2,6 @@ package com.ydtech.modules.order.entity.vo;
 
 
 import com.alibaba.fastjson.JSONObject;
-import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;

+ 0 - 4
src/main/java/com/ydtech/modules/order/entity/vo/CostSettlementExcelVo.java

@@ -1,13 +1,9 @@
 package com.ydtech.modules.order.entity.vo;
 
 import com.alibaba.excel.annotation.ExcelProperty;
-import com.ydtech.modules.nai.httpvo.excel.Excel;
 import io.swagger.annotations.ApiModelProperty;
-import io.swagger.annotations.ApiOperation;
 import lombok.Data;
 
-import java.time.LocalDate;
-
 @Data
 public class CostSettlementExcelVo {
 

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/vo/CostSettlementQueryVo.java

@@ -1,6 +1,5 @@
 package com.ydtech.modules.order.entity.vo;
 
-import com.alibaba.excel.annotation.ExcelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 

+ 0 - 2
src/main/java/com/ydtech/modules/order/entity/vo/FeeOrderNewRecordVo.java

@@ -6,8 +6,6 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
-import java.math.BigDecimal;
-import java.util.List;
 
 @ApiModel(description = "费用明细调整费用")
 @Data

+ 16 - 2
src/main/java/com/ydtech/modules/order/entity/vo/FeeOrderNewVo.java

@@ -1,11 +1,9 @@
 package com.ydtech.modules.order.entity.vo;
 
 
-import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import org.apache.poi.hpsf.Decimal;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
@@ -15,6 +13,8 @@ import java.util.List;
 @Data
 public class FeeOrderNewVo implements Serializable {
 
+    private static final long serialVersionUID = -1351499340097428564L;
+
     @ApiModelProperty("费用id")
     private String costsId;
 
@@ -58,6 +58,7 @@ public class FeeOrderNewVo implements Serializable {
         @ApiModelProperty("出口手续费比例")
         private BigDecimal exportSuperviseCosts;
 
+
     }
 
     /**
@@ -82,6 +83,12 @@ public class FeeOrderNewVo implements Serializable {
         private BigDecimal otherCostsProportion;
         @ApiModelProperty("跟单费")
         private BigDecimal otherCostsPremiums;
+        @ApiModelProperty("外部比例")
+        private BigDecimal externalProportion;
+        @ApiModelProperty("外部金额")
+        private BigDecimal externalPremiums;
+
+
     }
 
     @ApiModel(description = "部门管理费用")
@@ -111,6 +118,13 @@ public class FeeOrderNewVo implements Serializable {
         private BigDecimal deptPremiumsLevelFive;
         @ApiModelProperty("利润差值")
         private BigDecimal profitMarginPremiums;
+
+        @ApiModelProperty("代课录单扣减比例")
+        private BigDecimal externalProportion;
+        @ApiModelProperty("代课录单扣减金额")
+        private BigDecimal externalPremiums;
+
+
     }
 
     @ApiModel(description = "分销费用")

+ 0 - 6
src/main/java/com/ydtech/modules/order/entity/vo/OrderExpirationQueryVo.java

@@ -1,16 +1,10 @@
 package com.ydtech.modules.order.entity.vo;
 
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.ydtech.core.page.PageRequest;
 import io.swagger.annotations.ApiModelProperty;
-import lombok.Builder;
 import lombok.Data;
 
-import java.io.Serializable;
-import java.util.Date;
-
 @Data
 @TableName(autoResultMap = true)
 public class OrderExpirationQueryVo extends PageRequest {

+ 0 - 8
src/main/java/com/ydtech/modules/order/entity/vo/OrderExpirationVo.java

@@ -1,20 +1,12 @@
 package com.ydtech.modules.order.entity.vo;
 
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.ydtech.modules.protocols.entity.vo.AgreementProductCostsSave;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
-import java.util.List;
 
 @Data
 @TableName(autoResultMap = true)

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