Pārlūkot izejas kodu

Merge branch 'refs/heads/test-2024-08-27' into test

wks 2 gadi atpakaļ
vecāks
revīzija
4ed3739320
32 mainītis faili ar 1134 papildinājumiem un 319 dzēšanām
  1. 8 4
      src/main/java/com/ydtech/constants/enums/dict/FeeAuditAuditstatus.java
  2. 2 1
      src/main/java/com/ydtech/modules/admin/constants/ManagementSource.java
  3. 0 2
      src/main/java/com/ydtech/modules/admin/controller/SysLoginController.java
  4. 1 1
      src/main/java/com/ydtech/modules/admin/controller/SysUserController.java
  5. 9 0
      src/main/java/com/ydtech/modules/admin/dao/SysDeptMapper.java
  6. 4 3
      src/main/java/com/ydtech/modules/admin/model/dto/SysUserDto.java
  7. 9 0
      src/main/java/com/ydtech/modules/admin/service/SysDeptService.java
  8. 8 0
      src/main/java/com/ydtech/modules/admin/service/impl/SysDeptServiceImpl.java
  9. 18 0
      src/main/java/com/ydtech/modules/fee/dao/InsFeeTelemarketingMapper.java
  10. 130 0
      src/main/java/com/ydtech/modules/fee/entity/po/InsFeeTelemarketing.java
  11. 13 0
      src/main/java/com/ydtech/modules/fee/service/InsFeeTelemarketingService.java
  12. 22 0
      src/main/java/com/ydtech/modules/fee/service/impl/InsFeeTelemarketingServiceImpl.java
  13. 7 2
      src/main/java/com/ydtech/modules/fnc/entity/InsFeeAudit.java
  14. 9 1
      src/main/java/com/ydtech/modules/fnc/service/impl/InsFeeAuditServiceImpl.java
  15. 1 1
      src/main/java/com/ydtech/modules/order/aop/aspect/QuoteVerificationAspect.java
  16. 2 1
      src/main/java/com/ydtech/modules/order/constants/OrderLinkTypeConstants.java
  17. 3 0
      src/main/java/com/ydtech/modules/order/controller/InsOrdersController.java
  18. 53 0
      src/main/java/com/ydtech/modules/order/controller/InsTelemarketingOrderController.java
  19. 60 40
      src/main/java/com/ydtech/modules/order/dao/InsOrdersMapper.java
  20. 48 0
      src/main/java/com/ydtech/modules/order/entity/dto/TelemarketingAuditOrderDTO.java
  21. 34 0
      src/main/java/com/ydtech/modules/order/entity/vo/SubmitExportFeesVo.java
  22. 80 0
      src/main/java/com/ydtech/modules/order/entity/vo/telemarketing/TelemarketingAuditOrderEditVo.java
  23. 49 0
      src/main/java/com/ydtech/modules/order/entity/vo/telemarketing/TelemarketingAuditOrderQueryVo.java
  24. 9 0
      src/main/java/com/ydtech/modules/order/service/InsOrdersService.java
  25. 39 0
      src/main/java/com/ydtech/modules/order/service/InsTelemarketingOrderService.java
  26. 140 129
      src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyServiceImpl.java
  27. 16 0
      src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java
  28. 117 0
      src/main/java/com/ydtech/modules/order/service/impl/InsTelemarketingOrderServiceImpl.java
  29. 105 78
      src/main/java/com/ydtech/modules/protocols/service/InsFeeOrderNewService.java
  30. 57 56
      src/main/resources/mapper/modules/admin/SysDeptMapper.xml
  31. 22 0
      src/main/resources/mapper/modules/ins/InsFeeTelemarketingMapper.xml
  32. 59 0
      src/main/resources/mapper/modules/order/InsOrdersMapper.xml

+ 8 - 4
src/main/java/com/ydtech/constants/enums/dict/FeeAuditAuditstatus.java

@@ -10,14 +10,18 @@ import lombok.Getter;
 @DictEnum(key = "FeeAuditAuditstatus", desc = "费用审核状态")
 public enum FeeAuditAuditstatus {
 
-    UNREVICEWED("0","未审核",1,1),
+    UNREVICEWED("0", "未审核", 1, 1),
 
-    PASSED("1","已审核",2,1),
+    PASSED("1", "已审核", 2, 1),
 
-    REJECT("2","驳回",3,1),
+    REJECT("2", "驳回", 3, 1),
+
+    TELEMARKETING_NOT_SUBMITTED("4", "电销未提交", 6, 1),
+
+    TELEMARKETING_TO_BE_SUBMITTED("5", "电销待提交", 5, 1),
 
     //轨迹中显示 承保信息
-    UNDERWRITING("3","已承保",4,1);
+    UNDERWRITING("3", "已承保", 4, 1);
 
     // 编号
     private final String code;

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

@@ -12,7 +12,8 @@ import lombok.Getter;
 public enum ManagementSource {
 
     MS_01("1", "渠道"),
-    MS_02("2", "个代");
+    MS_02("2", "个代"),
+    MS_03("3", "电销");
 
     private final String code;
 

+ 0 - 2
src/main/java/com/ydtech/modules/admin/controller/SysLoginController.java

@@ -201,8 +201,6 @@ public class SysLoginController {
 //
         // 用户信息
         SysUser user = sysUserService.getById(username);
-
-
         /**
          *  多个系统登录  添加默认参数解决手机端登陆问题
          * */

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

@@ -412,7 +412,7 @@ public class SysUserController extends BaseController {
         return HttpResult.ok(sysUserService.gainUserPage(pageDto));
     }
 
-    @ApiOperation(value = "渠道和个代的用户查询分页")
+    @ApiOperation(value = "渠道、个代、电销 的用户查询分页")
     @PostMapping(value = "/findUserList")
     public HttpResult findUserList(@RequestBody PageDto<SysUserDto> pageDto) {
         if (pageDto.getDto().getDeptId() == null) {

+ 9 - 0
src/main/java/com/ydtech/modules/admin/dao/SysDeptMapper.java

@@ -38,6 +38,15 @@ public interface SysDeptMapper extends BaseMapper<SysDept> {
      *  @Description:
      */ 
     List<SysDept> queryHXDeptTree();
+
+    /**
+     * 通过订单号查询业务来源
+     * @param orderNo 订单号
+     * @return 业务来源
+     */
+    String getByOrderNoQueryManagementSource(@Param(value = "orderNo") String orderNo);
+
+
 }
 
 

+ 4 - 3
src/main/java/com/ydtech/modules/admin/model/dto/SysUserDto.java

@@ -4,6 +4,7 @@ import com.ydtech.core.page.PageRequest;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
 
 /**
  * 用户DTO
@@ -11,11 +12,11 @@ import lombok.Data;
  * @author: lig
  * @date: 2023-06-29
  */
+@EqualsAndHashCode(callSuper = true)
 @Data
 @ApiModel
 public class SysUserDto extends PageRequest {
 
-
     @ApiModelProperty("用户ID(工号)")
     private String userId;
 
@@ -37,7 +38,7 @@ public class SysUserDto extends PageRequest {
     @ApiModelProperty("领导人")
     private String leaderName;
 
-    @ApiModelProperty("代理个代标识")
+    @ApiModelProperty("代理个代标识 1 渠道  2 个代 3 电销")
     private Integer agentFlag;
 
     private int pageNum;
@@ -45,5 +46,5 @@ public class SysUserDto extends PageRequest {
     private int pageSize;
 
     @ApiModelProperty("内部机构id")
-    private String  deptNBId;
+    private String deptNBId;
 }

+ 9 - 0
src/main/java/com/ydtech/modules/admin/service/SysDeptService.java

@@ -11,6 +11,7 @@ import com.ydtech.modules.admin.model.vo.SysDeptRemoveVo;
 import com.ydtech.modules.admin.model.vo.SysDeptTreeVo;
 import com.ydtech.modules.admin.model.vo.SysDeptVo;
 import com.ydtech.modules.admin.model.vo.TreeSysDeptVO;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -117,6 +118,14 @@ public interface SysDeptService extends IService<SysDept> {
 
     List<SysDeptTreeVo> getPartnerDeptTree();
 
+    /**
+     * 对比订单中的业务来源和传入业务来源是否一致
+     * @param orderNo 订单号
+     * @param managementSource 业务来源
+     * @return ture 一致 false 不一致
+     */
+    boolean contrastiveManagementSource(String orderNo, String managementSource);
+
 }
 
 

+ 8 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysDeptServiceImpl.java

@@ -53,6 +53,9 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept>
     private SysUserTreeShowLevelService sysUserTreeShowLevelService;
 
 
+
+
+
     /**
      * 根据用户权限和指定部门ID,查询并构建部门树。
      *
@@ -641,6 +644,11 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept>
         return sysDeptTreeVos;
     }
 
+    @Override
+    public boolean contrastiveManagementSource(String orderNo, String managementSource) {
+        String managementSourceDept = sysDeptMapper.getByOrderNoQueryManagementSource(orderNo);
+        return managementSource.equals(managementSourceDept);
+    }
 
 }
 

+ 18 - 0
src/main/java/com/ydtech/modules/fee/dao/InsFeeTelemarketingMapper.java

@@ -0,0 +1,18 @@
+package com.ydtech.modules.fee.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ydtech.modules.fee.entity.po.InsFeeTelemarketing;
+
+/**
+* @author Administrator
+* @description 针对表【ins_fee_telemarketing(电销费用扣减比例)】的数据库操作Mapper
+* @createDate 2024-08-28 19:13:00
+* @Entity com.ydtech.modules.fee.entity.po.InsFeeTelemarketing
+*/
+public interface InsFeeTelemarketingMapper extends BaseMapper<InsFeeTelemarketing> {
+
+}
+
+
+
+

+ 130 - 0
src/main/java/com/ydtech/modules/fee/entity/po/InsFeeTelemarketing.java

@@ -0,0 +1,130 @@
+package com.ydtech.modules.fee.entity.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 java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+import com.ydtech.modules.base.controller.BaseController;
+import com.ydtech.modules.order.entity.vo.SubmitExportFeesVo;
+import lombok.Data;
+
+/**
+ * 电销费用扣减比例
+ *
+ * @TableName ins_fee_telemarketing
+ */
+@TableName(value = "ins_fee_telemarketing")
+@Data
+public class InsFeeTelemarketing implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 子订单id
+     */
+    @TableField(value = "sub_order_no")
+    private String subOrderNo;
+
+    /**
+     * 交强扣减比例
+     */
+    @TableField(value = "jq_export_proportion")
+    private BigDecimal jqExportProportion;
+
+    /**
+     * 商业扣减比例
+     */
+    @TableField(value = "sy_export_proportion")
+    private BigDecimal syExportProportion;
+
+    /**
+     * 非车扣减比例
+     */
+    @TableField(value = "no_car_export_proportion")
+    private BigDecimal noCarExportProportion;
+
+    /**
+     * 创建用户
+     */
+    @TableField(value = "create_user")
+    private String createUser;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    private Date createTime;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+    public InsFeeTelemarketing(SubmitExportFeesVo submitExportFeesVo) {
+        this.subOrderNo = submitExportFeesVo.getSubOrderNo();
+        this.jqExportProportion = submitExportFeesVo.getJqExportProportion();
+        this.syExportProportion = submitExportFeesVo.getSyExportProportion();
+        this.noCarExportProportion = submitExportFeesVo.getNoCarExportProportion();
+        this.createTime = new Date();
+        this.createUser = BaseController.getUserId();
+    }
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        InsFeeTelemarketing other = (InsFeeTelemarketing) that;
+        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+                && (this.getSubOrderNo() == null ? other.getSubOrderNo() == null : this.getSubOrderNo().equals(other.getSubOrderNo()))
+                && (this.getJqExportProportion() == null ? other.getJqExportProportion() == null : this.getJqExportProportion().equals(other.getJqExportProportion()))
+                && (this.getSyExportProportion() == null ? other.getSyExportProportion() == null : this.getSyExportProportion().equals(other.getSyExportProportion()))
+                && (this.getNoCarExportProportion() == null ? other.getNoCarExportProportion() == null : this.getNoCarExportProportion().equals(other.getNoCarExportProportion()))
+                && (this.getCreateUser() == null ? other.getCreateUser() == null : this.getCreateUser().equals(other.getCreateUser()))
+                && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+        result = prime * result + ((getSubOrderNo() == null) ? 0 : getSubOrderNo().hashCode());
+        result = prime * result + ((getJqExportProportion() == null) ? 0 : getJqExportProportion().hashCode());
+        result = prime * result + ((getSyExportProportion() == null) ? 0 : getSyExportProportion().hashCode());
+        result = prime * result + ((getNoCarExportProportion() == null) ? 0 : getNoCarExportProportion().hashCode());
+        result = prime * result + ((getCreateUser() == null) ? 0 : getCreateUser().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().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(", subOrderNo=").append(subOrderNo);
+        sb.append(", jqExportProportion=").append(jqExportProportion);
+        sb.append(", syExportProportion=").append(syExportProportion);
+        sb.append(", noCarExportProportion=").append(noCarExportProportion);
+        sb.append(", createUser=").append(createUser);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 13 - 0
src/main/java/com/ydtech/modules/fee/service/InsFeeTelemarketingService.java

@@ -0,0 +1,13 @@
+package com.ydtech.modules.fee.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.modules.fee.entity.po.InsFeeTelemarketing;
+
+/**
+* @author Administrator
+* @description 针对表【ins_fee_telemarketing(电销费用扣减比例)】的数据库操作Service
+* @createDate 2024-08-28 19:13:00
+*/
+public interface InsFeeTelemarketingService extends IService<InsFeeTelemarketing> {
+
+}

+ 22 - 0
src/main/java/com/ydtech/modules/fee/service/impl/InsFeeTelemarketingServiceImpl.java

@@ -0,0 +1,22 @@
+package com.ydtech.modules.fee.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.modules.fee.dao.InsFeeTelemarketingMapper;
+import com.ydtech.modules.fee.entity.po.InsFeeTelemarketing;
+import com.ydtech.modules.fee.service.InsFeeTelemarketingService;
+import org.springframework.stereotype.Service;
+
+/**
+* @author Administrator
+* @description 针对表【ins_fee_telemarketing(电销费用扣减比例)】的数据库操作Service实现
+* @createDate 2024-08-28 19:13:00
+*/
+@Service
+public class InsFeeTelemarketingServiceImpl extends ServiceImpl<InsFeeTelemarketingMapper, InsFeeTelemarketing>
+    implements InsFeeTelemarketingService {
+
+}
+
+
+
+

+ 7 - 2
src/main/java/com/ydtech/modules/fnc/entity/InsFeeAudit.java

@@ -2,8 +2,10 @@ package com.ydtech.modules.fnc.entity;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
+
 import java.io.Serializable;
 import java.time.LocalDateTime;
+
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -12,7 +14,7 @@ import lombok.Setter;
 
 /**
  * <p>
- * 
+ *
  * </p>
  *
  * @author gws
@@ -33,7 +35,10 @@ public class InsFeeAudit implements Serializable {
     @TableField("ins_order_no")
     private String insOrderNo;
 
-    @ApiModelProperty("费用审核状态0未审核 1审核通过")
+    /**
+     * @see com.ydtech.constants.enums.dict.FeeAuditAuditstatus
+     */
+    @ApiModelProperty("费用审核状态 0未审核 1审核通过 4 电销审核")
     @TableField("auditstatus")
     private String auditstatus;
 

+ 9 - 1
src/main/java/com/ydtech/modules/fnc/service/impl/InsFeeAuditServiceImpl.java

@@ -4,6 +4,7 @@ import cn.dev33.satoken.stp.StpUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.constants.enums.dict.FeeAuditAuditstatus;
 import com.ydtech.constants.enums.dict.ins.InsFeeAuditDistributionStatusEnum;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.admin.model.SysDept;
@@ -69,13 +70,17 @@ import java.util.concurrent.TimeUnit;
 public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFeeAudit> implements InsFeeAuditService {
 
     private final InsOrdersMapper insOrdersMapper;
+
     private final InsPlyIncomeMapper insPlyIncomeMapper;
 
     private final FncInsAreaCompanyMapper insAreaCompanyMapper;
 
     private final InsDeptFeeService insDeptFeeService;
+
     private final InsCommissionService insCommissionService;
+
     private final InsCompanyFeeService insCompanyFeeService;
+
     private final EsmUserReferrerService esmUserReferrerService;
 
     private final SysUserService sysUserService;
@@ -88,16 +93,19 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
 
     @Autowired
     private SysDeptService sysDeptService;
+
     @Autowired
     private SysDeptAccountService sysDeptAccountService;
 
     @Autowired
     private SysDeptAccountHistoryService sysDeptAccountHistoryService;
+
     @Autowired
     private InsPlyIncomeService insPlyIncomeService;
 
     @Autowired
     private InsFeeAuditHistoryService insFeeAuditHistoryService;
+
     @Autowired
     private PtlAgreementService ptlAgreementService;
 
@@ -832,7 +840,7 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
         } else {
             //状态码为已审核且数据不为空,则更新审核状态
             //如果审核状态为已审核则一直都是已审核
-            if(insFeeAudit.getAuditstatus().equals("1")) {
+            if(insFeeAudit.getAuditstatus().equals(FeeAuditAuditstatus.PASSED.getCode())) {
                 insFeeAudit.setAuditstatus(insFeeAudit.getAuditstatus());
             }else{
                 insFeeAudit.setAuditstatus(auditstatus);

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

@@ -114,7 +114,7 @@ public class QuoteVerificationAspect {
                 if (insFeeOrderNew != null) {
                     //出口
                     //add  by  hxl   添加出单员不能查看优惠的限制    2024-07-11
-                    String userId = new BaseController().getUserId();
+                    String userId = BaseController.getUserId();
                     SysUserRole sysUserRole = sysUserRoleService.selectByUserId(userId);
                     if(sysUserRole!=null && sysUserRole.getRoleId()!=19){
                         //出口

+ 2 - 1
src/main/java/com/ydtech/modules/order/constants/OrderLinkTypeConstants.java

@@ -16,7 +16,8 @@ public enum OrderLinkTypeConstants {
 
     ORDER_LINK_TYPE_CONSTANTS_1(1, "渠道"),
     ORDER_LINK_TYPE_CONSTANTS_2(2,"代理人"),
-    ORDER_LINK_TYPE_CONSTANTS_3(3,"保险公司");
+    ORDER_LINK_TYPE_CONSTANTS_3(3,"保险公司"),
+    ORDER_LINK_TYPE_CONSTANTS_4(4,"电销");
 
     private final Integer code;
 

+ 3 - 0
src/main/java/com/ydtech/modules/order/controller/InsOrdersController.java

@@ -57,6 +57,7 @@ public class InsOrdersController extends BaseController {
     private final BatchOrderService batchOrderService;
 
     private final InsAreaCompanyPositionService insAreaCompanyPositionService;
+
     @Value("${upload.file.path}")
     private String uploadPath;
 
@@ -447,4 +448,6 @@ public class InsOrdersController extends BaseController {
         String fileName = EasyExcelUtils.downExcel(uploadPath, "后线人员代课录单统计报表", QueryHxOrdersCountExcel.class, result);
         return HttpResult.ok("",uploadUrl + "excel/" + fileName);
     }
+
+
 }

+ 53 - 0
src/main/java/com/ydtech/modules/order/controller/InsTelemarketingOrderController.java

@@ -0,0 +1,53 @@
+package com.ydtech.modules.order.controller;
+
+
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.order.entity.BasePageResult;
+import com.ydtech.modules.order.entity.dto.TelemarketingAuditOrderDTO;
+import com.ydtech.modules.order.entity.vo.SubmitExportFeesVo;
+import com.ydtech.modules.order.entity.vo.telemarketing.TelemarketingAuditOrderEditVo;
+import com.ydtech.modules.order.entity.vo.telemarketing.TelemarketingAuditOrderQueryVo;
+import com.ydtech.modules.order.service.InsTelemarketingOrderService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+@Api(tags = "电销订单")
+@RequestMapping("/insurance/telemarketing")
+@RestController
+@RequiredArgsConstructor
+public class InsTelemarketingOrderController {
+
+    private final InsTelemarketingOrderService insTelemarketingOrderService;
+
+    @PostMapping("/getOrderList")
+    @ApiOperation(value = "获取订单列表")
+    public HttpResult<BasePageResult<TelemarketingAuditOrderDTO>> getOrderList(@RequestBody TelemarketingAuditOrderQueryVo telemarketingAuditOrderQueryVo) {
+        BasePageResult<TelemarketingAuditOrderDTO> basePageResult =  insTelemarketingOrderService.getOrderList(telemarketingAuditOrderQueryVo);
+        return HttpResult.ok(basePageResult);
+    }
+
+    @PostMapping("/submitExportFees")
+    @ApiOperation(value = "提交出口费用")
+    public HttpResult<Object> submitExportFees(@RequestBody SubmitExportFeesVo submitExportFeesVo){
+        insTelemarketingOrderService.submitExportFeesVo(submitExportFeesVo);
+        return HttpResult.ok();
+    }
+
+    @PostMapping("/submitAudit/{subOrderNo}")
+    @ApiOperation(value = "提交审核")
+    public HttpResult<Object> submitAudit(@PathVariable String subOrderNo){
+        insTelemarketingOrderService.submitAudit(subOrderNo);
+        return HttpResult.ok();
+    }
+
+    @PostMapping("/edit/{subOrderNo}")
+    @ApiOperation(value = "修改费用编辑")
+    public HttpResult<TelemarketingAuditOrderEditVo> edit(@PathVariable String subOrderNo){
+        TelemarketingAuditOrderEditVo telemarketingAuditOrderEditVo = insTelemarketingOrderService.edit(subOrderNo);
+        return HttpResult.ok(telemarketingAuditOrderEditVo);
+    }
+
+
+}

+ 60 - 40
src/main/java/com/ydtech/modules/order/dao/InsOrdersMapper.java

@@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ydtech.modules.ins.model.InsOrdersExcel;
 import com.ydtech.modules.ins.model.InsOrdersExcelVo;
 import com.ydtech.modules.order.entity.InsOrders;
+import com.ydtech.modules.order.entity.dto.TelemarketingAuditOrderDTO;
 import com.ydtech.modules.order.entity.vo.*;
+import com.ydtech.modules.order.entity.vo.telemarketing.TelemarketingAuditOrderQueryVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -23,91 +25,101 @@ public interface InsOrdersMapper extends BaseMapper<InsOrders> {
     InsOrders getByUseridAndLicenseNo(VerifyOrdersVo verifyOrdersVo);
 
     Long queryPageOrderCount(@Param("orderQueryVo") OrderQueryVo orderQueryVo,
-                             @Param("isTeamLeader") Boolean isTeamLeader,@Param("isCdy")Boolean isCdy,@Param("deptId")String deptId);
-    Page<InsOrders> queryPageOrder(@Param("page") Page page,@Param("orderQueryVo") OrderQueryVo orderQueryVo,
-                                   @Param("isTeamLeader") Boolean isTeamLeader,@Param("isCdy")Boolean isCdy,@Param("deptId")String deptId);
+                             @Param("isTeamLeader") Boolean isTeamLeader, @Param("isCdy") Boolean isCdy, @Param("deptId") String deptId);
+
+    Page<InsOrders> queryPageOrder(@Param("page") Page page, @Param("orderQueryVo") OrderQueryVo orderQueryVo,
+                                   @Param("isTeamLeader") Boolean isTeamLeader, @Param("isCdy") Boolean isCdy, @Param("deptId") String deptId);
 
     List<InsOrdersExcel> queryOrderList(InsOrdersExcelVo insOrdersExcelVo);
 
-    Page<PolicyInsuranceReportResVo> getPolicyInsuranceReport(@Param("page") Page page,@Param("policyReqVo")PolicyInsuranceReportReqVo policyInsuranceReportReqVo);
+    Page<PolicyInsuranceReportResVo> getPolicyInsuranceReport(@Param("page") Page page, @Param("policyReqVo") PolicyInsuranceReportReqVo policyInsuranceReportReqVo);
 
-    List<PolicyInsuranceReportResVo> getPolicyInsuranceReport(@Param("policyReqVo")PolicyInsuranceReportReqVo policyInsuranceReportReqVo);
+    List<PolicyInsuranceReportResVo> getPolicyInsuranceReport(@Param("policyReqVo") PolicyInsuranceReportReqVo policyInsuranceReportReqVo);
 
     Long getPolicyInsuranceReportCount(@Param("policyReqVo") PolicyInsuranceReportReqVo policyInsuranceReportReqVo);
 
     boolean updateStatus(@Param("orderno") String orderno, @Param("status") String status);
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/4/17 15:41
-     *  @Description: 通过用户id和订单状态查询订单信息
+     * @version
+     * @author: hxl
+     * @Date: 2024/4/17 15:41
+     * @Description: 通过用户id和订单状态查询订单信息
      */
     Page<InsOrders> queryPageHospitalityOrder(@Param("page") Page<InsOrders> page, @Param("orderQueryVo") OrderQueryVo orderQueryVo);
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/4/17 15:43
-     *  @Description: 通过用户id和订单状态查询订单信息总条数
+     * @version
+     * @author: hxl
+     * @Date: 2024/4/17 15:43
+     * @Description: 通过用户id和订单状态查询订单信息总条数
      */
     Long queryPageHospitalityOrderCount(@Param("orderQueryVo") OrderQueryVo orderQueryVo);
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/4/17 18:01
-     *  @Description:  通过用户id查询订单、渠道、代理人、保险公司
+     * @version
+     * @author: hxl
+     * @Date: 2024/4/17 18:01
+     * @Description: 通过用户id查询订单、渠道、代理人、保险公司
      */
-    Page<InsOrders> queryPageOrderByLinkType(@Param("page") Page<InsOrders> page,@Param("orderQueryVo") OrderQueryVo orderQueryVo, @Param("agentUserIds") List<String> agentUserIds,  @Param("agreeIds") List<String> agreeIds,@Param("deptIds") List<String> deptIds,@Param("flag") Boolean flag,@Param("type") int type);
+    Page<InsOrders> queryPageOrderByLinkType(@Param("page") Page<InsOrders> page, @Param("orderQueryVo") OrderQueryVo orderQueryVo, @Param("agentUserIds") List<String> agentUserIds, @Param("agreeIds") List<String> agreeIds, @Param("deptIds") List<String> deptIds, @Param("flag") Boolean flag, @Param("type") int type);
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/4/17 18:36
-     *  @Description: 通过用户id查询订单、渠道、代理人、保险公司条数
+     * @version
+     * @author: hxl
+     * @Date: 2024/4/17 18:36
+     * @Description: 通过用户id查询订单、渠道、代理人、保险公司条数
      */
-    Long queryPageOrderByLinkTypeCount(@Param("orderQueryVo") OrderQueryVo orderQueryVo, @Param("agentUserIds")  List<String> agentUserIds, @Param("agreeIds")  List<String> agreeIds,@Param("deptIds") List<String> deptIds,@Param("flag") Boolean flag,@Param("type") int type);
+    Long queryPageOrderByLinkTypeCount(@Param("orderQueryVo") OrderQueryVo orderQueryVo, @Param("agentUserIds") List<String> agentUserIds, @Param("agreeIds") List<String> agreeIds, @Param("deptIds") List<String> deptIds, @Param("flag") Boolean flag, @Param("type") int type);
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/4/18 10:51
-     *  @Description: 查询子订单的数据
+     * @version
+     * @author: hxl
+     * @Date: 2024/4/18 10:51
+     * @Description: 查询子订单的数据
      */
     Page<InsOrders> queryPageSubOrders(@Param("page") Page<InsOrders> page, @Param("orderQueryVo") OrderTaskPoolsVo orderTaskPoolsVo);
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/4/18 11:13
-     *  @Description: 查询子订单的数据条数
+     * @version
+     * @author: hxl
+     * @Date: 2024/4/18 11:13
+     * @Description: 查询子订单的数据条数
      */
     Long queryPageSubOrdersCount(@Param("orderQueryVo") OrderTaskPoolsVo orderTaskPoolsVo);
 
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/5/8 18:05
-     *  @Description: 通过年查询数据
+     * @version
+     * @author: hxl
+     * @Date: 2024/5/8 18:05
+     * @Description: 通过年查询数据
      */
-    OrderVo selectEntityByinsOrderNo(@Param("insOrderNo") String insOrderNo,@Param("timeFiltering")  String timeFiltering);
+    OrderVo selectEntityByinsOrderNo(@Param("insOrderNo") String insOrderNo, @Param("timeFiltering") String timeFiltering);
 
-    int getExpirationInsureCount(@Param("userId") String userId,@Param("startDate") String startTime,@Param("endDate") String endTime,@Param("isJq")Integer isJq,@Param("param") String param);
+    int getExpirationInsureCount(@Param("userId") String userId, @Param("startDate") String startTime, @Param("endDate") String endTime, @Param("isJq") Integer isJq, @Param("param") String param);
 
-    Page<OrderExpirationVo> getExpirationInsure(@Param("page") Page page,@Param("order")OrderExpirationQueryVo orderExpirationQueryVo);
+    Page<OrderExpirationVo> getExpirationInsure(@Param("page") Page page, @Param("order") OrderExpirationQueryVo orderExpirationQueryVo);
 
 
     /**
      * 获取车险业务明细表
+     *
      * @return
      */
-    List<CarBusinessDetailVo> getCarBusinessDetailList(@Param("userId") String userId,@Param("param") CarBusinessDetailQueryVo carBusinessDetailQueryVo);
+    List<CarBusinessDetailVo> getCarBusinessDetailList(@Param("userId") String userId, @Param("param") CarBusinessDetailQueryVo carBusinessDetailQueryVo);
 
     /**
      * 获取收支明细表
+     *
      * @param userId
      * @param carBusinessDetailQueryVo
      * @return
      */
-    List<RevenueExpenditureDetailVo> getRevenueExpenditureDetailList(@Param("userId") String userId,@Param("param") CarBusinessDetailQueryVo carBusinessDetailQueryVo);
+    List<RevenueExpenditureDetailVo> getRevenueExpenditureDetailList(@Param("userId") String userId, @Param("param") CarBusinessDetailQueryVo carBusinessDetailQueryVo);
 
     /**
      * 获取财务审核明细列表
+     *
      * @param auditExportQueryVo
      * @return
      */
@@ -116,4 +128,12 @@ public interface InsOrdersMapper extends BaseMapper<InsOrders> {
 
     List<QueryHxOrdersCountExcel> queryHxOrdersCount(@Param("queryHxOrdersCountVo") QueryHxOrdersCountVo queryHxOrdersCountVo);
 
+    /**
+     *
+     * @param telemarketingAuditOrderQueryVo 电销审核状态查询实体
+     * @param userId 用户id
+     * @return
+     */
+    List<TelemarketingAuditOrderDTO> getTelemarketingAudit(@Param("telemarketingAuditOrderQueryVo") TelemarketingAuditOrderQueryVo telemarketingAuditOrderQueryVo, @Param("userId") String userId);
+
 }

+ 48 - 0
src/main/java/com/ydtech/modules/order/entity/dto/TelemarketingAuditOrderDTO.java

@@ -0,0 +1,48 @@
+package com.ydtech.modules.order.entity.dto;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class TelemarketingAuditOrderDTO implements Serializable {
+
+    private static final long serialVersionUID = -3696348969543758477L;
+
+    @ApiModelProperty("子订单号")
+    private String id;
+
+    @ApiModelProperty("订单号")
+    private String orderNo;
+
+    @ApiModelProperty("业务员工号")
+    private String userid;
+
+    @ApiModelProperty("业务员名称")
+    private String username;
+
+    @ApiModelProperty("投保险种")
+    private String product;
+
+    @ApiModelProperty("车牌号")
+    private String licenseNo;
+
+    @ApiModelProperty("订单状态")
+    private String orderStatus;
+
+    @ApiModelProperty("投保人姓名")
+    private String insuredName;
+
+    @ApiModelProperty("录单时间")
+    private String createTime;
+
+    @ApiModelProperty("审核状态")
+    private String auditStatus;
+
+}

+ 34 - 0
src/main/java/com/ydtech/modules/order/entity/vo/SubmitExportFeesVo.java

@@ -0,0 +1,34 @@
+package com.ydtech.modules.order.entity.vo;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+
+/**
+ * 提交出口比例
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class SubmitExportFeesVo {
+
+    @ApiModelProperty("交强出口比例")
+    private BigDecimal jqExportProportion;
+
+    @ApiModelProperty("商业出口比例")
+    private BigDecimal syExportProportion;
+
+    @ApiModelProperty("非车出口比例")
+    private BigDecimal noCarExportProportion;
+
+    @ApiModelProperty("子订单号")
+    private String subOrderNo;
+
+    @ApiModelProperty("使用状态 0 使用最开始的费用 1 使用修改状态下的费用")
+    private String state;
+
+}

+ 80 - 0
src/main/java/com/ydtech/modules/order/entity/vo/telemarketing/TelemarketingAuditOrderEditVo.java

@@ -0,0 +1,80 @@
+package com.ydtech.modules.order.entity.vo.telemarketing;
+
+
+import com.ydtech.modules.order.entity.vo.FeeOrderNewVo;
+import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class TelemarketingAuditOrderEditVo implements Serializable {
+
+    private static final long serialVersionUID = 2054402491714986822L;
+
+    @ApiModelProperty("出口费用")
+    private List<ExportFeeDTO> exportFee;
+
+    public TelemarketingAuditOrderEditVo(InsFeeOrderNew insFeeOrderNew) {
+        List<ExportFeeDTO> exportFeeDTOS = new ArrayList<>();
+        ExportFeeDTO jqExportFee = new ExportFeeDTO("交强险", insFeeOrderNew.getJqPremium(), insFeeOrderNew.getJqCostsExportProportion(),
+                insFeeOrderNew.getJqExportOtherCostsProportion(),
+                insFeeOrderNew.getJqExportSuperviseCostsPremiums(), insFeeOrderNew.getJqExportOtherCostsPremiums());
+        exportFeeDTOS.add(jqExportFee);
+        ExportFeeDTO syExportFee = new ExportFeeDTO("商业险",
+                insFeeOrderNew.getSyPremium(), insFeeOrderNew.getSyCostsExportProportion(),
+                insFeeOrderNew.getSyExportOtherCostsProportion(),
+                insFeeOrderNew.getSyExportSuperviseCostsPremiums(), insFeeOrderNew.getSyExportOtherCostsPremiums()
+        );
+        exportFeeDTOS.add(syExportFee);
+        ExportFeeDTO noExportFee = new ExportFeeDTO("非车险",
+                insFeeOrderNew.getNoPremium(), insFeeOrderNew.getNoCostsExportProportion(),
+                insFeeOrderNew.getNoExportOtherCostsProportion(),
+                insFeeOrderNew.getNoExportSuperviseCostsPremiums(), insFeeOrderNew.getNoExportOtherCostsPremiums());
+        exportFeeDTOS.add(noExportFee);
+        this.exportFee = exportFeeDTOS;
+    }
+
+    @Data
+    @AllArgsConstructor
+    @NoArgsConstructor
+    public static class ExportFeeDTO {
+
+        @ApiModelProperty("险种")
+        private String insuranceType;
+
+        @ApiModelProperty("保费")
+        private BigDecimal premium;
+
+        @ApiModelProperty("总比例")
+        private BigDecimal totalProportion;
+
+        @ApiModelProperty("总费用")
+        private BigDecimal totalAmount;
+
+        public ExportFeeDTO(String title,
+                            BigDecimal premium,
+                            BigDecimal superviseCostsProportion,
+                            BigDecimal otherCostsProportion,
+                            BigDecimal superviseCostsPremiums,
+                            BigDecimal otherCostsPremiums) {
+
+            this.insuranceType = title;
+            //保费
+            this.premium = premium;
+            //总比例
+            this.totalProportion = superviseCostsProportion.add(otherCostsProportion);
+            //总费用
+            this.totalAmount = superviseCostsPremiums.add(otherCostsPremiums);
+        }
+    }
+
+}

+ 49 - 0
src/main/java/com/ydtech/modules/order/entity/vo/telemarketing/TelemarketingAuditOrderQueryVo.java

@@ -0,0 +1,49 @@
+package com.ydtech.modules.order.entity.vo.telemarketing;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ydtech.core.page.BasePageVO;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class TelemarketingAuditOrderQueryVo extends BasePageVO implements Serializable {
+
+    private static final long serialVersionUID = 376645405401745108L;
+
+    @ApiModelProperty(value = "订单号")
+    private String orderNo;
+
+    @ApiModelProperty("保险公司编号")
+    private String companyId;
+
+    @ApiModelProperty(value = "车牌号")
+    private String licenseNo;
+
+    @ApiModelProperty(value = "车架号(Vin码)")
+    private String frameNo;
+
+    @ApiModelProperty(value = "投保险种")
+    private String productId;
+
+    @ApiModelProperty(value = "审核状态")
+    private String auditStatus;
+
+    @ApiModelProperty(value = "开始时间")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private LocalDate startDate;
+
+    @ApiModelProperty(value = "结束时间")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private LocalDate endDate;
+
+}

+ 9 - 0
src/main/java/com/ydtech/modules/order/service/InsOrdersService.java

@@ -12,7 +12,9 @@ import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.dto.InquiryDetalsQueryDto;
 import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
+import com.ydtech.modules.order.entity.dto.TelemarketingAuditOrderDTO;
 import com.ydtech.modules.order.entity.vo.*;
+import com.ydtech.modules.order.entity.vo.telemarketing.TelemarketingAuditOrderQueryVo;
 import com.ydtech.modules.order.entity.vo.zj.ZjQuoteAccidentVo;
 import com.ydtech.modules.protocol.entity.dto.PtlAgreementInsCompanyDto;
 
@@ -221,4 +223,11 @@ public interface InsOrdersService extends IService<InsOrders> {
 
     List<QueryHxOrdersCountExcel> exportHxOrdersCount(QueryHxOrdersCountVo queryHxOrdersCountVo);
 
+
+    /**
+     *
+     * @param telemarketingAuditOrderQueryVo 电销审核状态查询实体
+     * @return
+     */
+    BasePageResult<TelemarketingAuditOrderDTO> getTelemarketingAudit(TelemarketingAuditOrderQueryVo telemarketingAuditOrderQueryVo);
 }

+ 39 - 0
src/main/java/com/ydtech/modules/order/service/InsTelemarketingOrderService.java

@@ -0,0 +1,39 @@
+package com.ydtech.modules.order.service;
+
+import com.ydtech.modules.order.entity.BasePageResult;
+import com.ydtech.modules.order.entity.dto.TelemarketingAuditOrderDTO;
+import com.ydtech.modules.order.entity.vo.SubmitExportFeesVo;
+import com.ydtech.modules.order.entity.vo.telemarketing.TelemarketingAuditOrderEditVo;
+import com.ydtech.modules.order.entity.vo.telemarketing.TelemarketingAuditOrderQueryVo;
+
+public interface InsTelemarketingOrderService {
+
+    /**
+     * 获取电销审核状态的订单
+     *
+     * @param telemarketingAuditOrderQueryVo 电销订单查询
+     * @return 分页列表
+     */
+    BasePageResult<TelemarketingAuditOrderDTO> getOrderList(TelemarketingAuditOrderQueryVo telemarketingAuditOrderQueryVo);
+
+    /**
+     * 电销审核提交费用 并重新计算
+     *
+     * @param submitExportFeesVo 提交信息
+     */
+    void submitExportFeesVo(SubmitExportFeesVo submitExportFeesVo);
+
+    /**
+     * 电销审核
+     *
+     * @param subOrderNo 子订单编号
+     */
+    void submitAudit(String subOrderNo);
+
+    /**
+     * 修改编辑
+     * @param subOrderNo 子订单编号
+     */
+    TelemarketingAuditOrderEditVo edit(String subOrderNo);
+
+}

+ 140 - 129
src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyServiceImpl.java

@@ -9,7 +9,9 @@ import com.ydtech.constants.enums.dict.FeeAuditAuditstatus;
 import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.exception.SystemException;
+import com.ydtech.modules.admin.constants.ManagementSource;
 import com.ydtech.modules.admin.model.dto.QxFrontlineAgentDto;
+import com.ydtech.modules.admin.service.SysDeptService;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.fee.service.FeeRuleSchemeNewService;
 import com.ydtech.modules.fnc.entity.vo.ProblemOrderQueryVo;
@@ -58,6 +60,8 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
 
     private final InsOrdersTrackService insOrdersTrackService;
 
+    private final SysDeptService sysDeptService;
+
     @Autowired
     private InsAreaCompanyAccidentalDrivingService insAreaCompanyAccidentalDrivingService;
 
@@ -85,9 +89,10 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
     @Autowired
     private InsAreaCompanyExternalPolicyService insAreaCompanyExternalPolicyService;
 
-    public InsAreaCompanyServiceImpl(@Lazy InsOrdersService insOrdersService, InsOrdersTrackService insOrdersTrackService) {
+    public InsAreaCompanyServiceImpl(@Lazy InsOrdersService insOrdersService, InsOrdersTrackService insOrdersTrackService, SysDeptService sysDeptService) {
         this.insOrdersService = insOrdersService;
         this.insOrdersTrackService = insOrdersTrackService;
+        this.sysDeptService = sysDeptService;
     }
 
     @Override
@@ -111,19 +116,23 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         //生成结算
         //判断协议是否为人工还是自动审核
         PtlAgreement ptlAgreement = ptlAgreementService.getById(insAreaCompany.getAgreementId());
-        if(ptlAgreement.getAuditType() == 2 && insAreaCompany.getOrderstatus().equals(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode()))
-        {
+
+        boolean b = sysDeptService.contrastiveManagementSource(insAreaCompany.getOrderno(), ManagementSource.MS_03.getCode());
+
+        if (b) {
+            // 电销未提交
+            insFeeAuditService.saveDefaultInsFeeAuditAndHistory(insAreaCompany.getOrderno(), insAreaCompany.getId(), FeeAuditAuditstatus.TELEMARKETING_NOT_SUBMITTED.getCode(), null);
+        } else if (ptlAgreement.getAuditType() == 2 && insAreaCompany.getOrderstatus().equals(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode())) {
             //如果为自动审核 则自动进行审核
-            insFeeAuditService.feeAudit( insAreaCompany.getOrderno(),insAreaCompany.getId(), true,FeeAuditAuditstatus.PASSED.getCode());
-        }else if(ptlAgreement.getAuditType() == 1 && insAreaCompany.getOrderstatus().equals(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode()))
-        {
+            insFeeAuditService.feeAudit(insAreaCompany.getOrderno(), insAreaCompany.getId(), true, FeeAuditAuditstatus.PASSED.getCode());
+        } else if (ptlAgreement.getAuditType() == 1 && insAreaCompany.getOrderstatus().equals(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode())) {
             //添加默认审核 添加审核表及轨迹信息
-            insFeeAuditService.saveDefaultInsFeeAuditAndHistory(insAreaCompany.getOrderno(), insAreaCompany.getId(), FeeAuditAuditstatus.UNREVICEWED.getCode(),null);
+            insFeeAuditService.saveDefaultInsFeeAuditAndHistory(insAreaCompany.getOrderno(), insAreaCompany.getId(), FeeAuditAuditstatus.UNREVICEWED.getCode(), null);
         }
 
         //添加订单消息
         messageSecretaryService.addMessage(MessageTypeConstants.M_3, BaseController.getUser().getId(),
-                "订单号"+insAreaCompany.getOrderno()+InsOrderStatusEnum.matchKey(insAreaCompany.getOrderstatus()).getDesc());
+                "订单号" + insAreaCompany.getOrderno() + InsOrderStatusEnum.matchKey(insAreaCompany.getOrderstatus()).getDesc());
         insOrdersTrackService.addingTrajectories(insAreaCompany);
         insOrdersService.updateByOrderStatus(insAreaCompany);
     }
@@ -295,8 +304,8 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         HashMap<String, Object> params = new HashMap<>();
         String userId = insFeeOrderNew.getUserId();
         params.put("userId", userId);
-        if(StringUtils.isNotEmpty(insFeeOrderNew.getIsDetail())){
-                params.put("id",insFeeOrderNew.getId());
+        if (StringUtils.isNotEmpty(insFeeOrderNew.getIsDetail())) {
+            params.put("id", insFeeOrderNew.getId());
         }
         return baseMapper.selectSecondPromotionBy(params);
     }
@@ -370,119 +379,119 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
 
 
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/6/3 11:42
-     *  @Description: 通过状态查询预收和实收金额
+     * @version
+     * @author: hxl
+     * @Date: 2024/6/3 11:42
+     * @Description: 通过状态查询预收和实收金额
      */
     @Override
     public InsOrders selectByInFeeOrderNewByType(InsFeeOrderNew insFeeOrderNew, String type) {
         HashMap<String, Object> params = new HashMap<>();
         String userId = insFeeOrderNew.getUserId();
         params.put("userId", userId);
-        if(StringUtils.isNotEmpty(insFeeOrderNew.getIsDetail())){
-            params.put("id",insFeeOrderNew.getId());
+        if (StringUtils.isNotEmpty(insFeeOrderNew.getIsDetail())) {
+            params.put("id", insFeeOrderNew.getId());
         }
         params.put("type", type);
         return baseMapper.selectSecondPromotionByNew(params);
     }
 
-    private BaseQuoteVo<AccidentalDrivingVo> checkQuoteVo(BaseQuoteVo<AccidentalDrivingVo> quoteVo){
-        if(quoteVo.getJqpremium() == null){
+    private BaseQuoteVo<AccidentalDrivingVo> checkQuoteVo(BaseQuoteVo<AccidentalDrivingVo> quoteVo) {
+        if (quoteVo.getJqpremium() == null) {
             quoteVo.setJqpremium(new BigDecimal(0));
         }
-        if(quoteVo.getSypremium() == null){
+        if (quoteVo.getSypremium() == null) {
             quoteVo.setSypremium(new BigDecimal(0));
         }
-        if(quoteVo.getJypremium() == null){
+        if (quoteVo.getJypremium() == null) {
             quoteVo.setJypremium(new BigDecimal(0));
         }
-        if(quoteVo.getTaxamount() == null){
+        if (quoteVo.getTaxamount() == null) {
             quoteVo.setTaxamount(new BigDecimal(0));
         }
-        if(quoteVo.getJqSuperviseCostsProportion() == null){
+        if (quoteVo.getJqSuperviseCostsProportion() == null) {
             quoteVo.setJqSuperviseCostsProportion(new BigDecimal(0));
         }
-        if(quoteVo.getJqOtherCostsProportion() == null){
+        if (quoteVo.getJqOtherCostsProportion() == null) {
             quoteVo.setJqOtherCostsProportion(new BigDecimal(0));
         }
-        if(quoteVo.getSySuperviseCostsProportion() == null){
+        if (quoteVo.getSySuperviseCostsProportion() == null) {
             quoteVo.setSySuperviseCostsProportion(new BigDecimal(0));
         }
-        if(quoteVo.getSyOtherCostsProportion() == null){
+        if (quoteVo.getSyOtherCostsProportion() == null) {
             quoteVo.setSyOtherCostsProportion(new BigDecimal(0));
         }
-        if(quoteVo.getNoSuperviseCostsProportion() == null){
+        if (quoteVo.getNoSuperviseCostsProportion() == null) {
             quoteVo.setNoSuperviseCostsProportion(new BigDecimal(0));
         }
-        if(quoteVo.getNoOtherCostsProportion() == null){
+        if (quoteVo.getNoOtherCostsProportion() == null) {
             quoteVo.setNoOtherCostsProportion(new BigDecimal(0));
         }
         return quoteVo;
     }
 
-    private void validQuoteVo(BaseQuoteVo<AccidentalDrivingVo> quoteVo){
-        if(quoteVo.getJqpremium() != null && quoteVo.getJqpremium().compareTo(new BigDecimal(0)) <= 0){
+    private void validQuoteVo(BaseQuoteVo<AccidentalDrivingVo> quoteVo) {
+        if (quoteVo.getJqpremium() != null && quoteVo.getJqpremium().compareTo(new BigDecimal(0)) <= 0) {
             throw new SystemException("交强险保费填写错误请重新填写");
         }
-        if(quoteVo.getJqpolicyno() != null || !quoteVo.getJqPolicyList().isEmpty() || quoteVo.getJqpremium() != null || quoteVo.getJqCostsProportion() != null){
-            if(quoteVo.getJqpolicyno() == null){
+        if (quoteVo.getJqpolicyno() != null || !quoteVo.getJqPolicyList().isEmpty() || quoteVo.getJqpremium() != null || quoteVo.getJqCostsProportion() != null) {
+            if (quoteVo.getJqpolicyno() == null) {
                 throw new SystemException("交强险保单号不能为空");
             }
-            if(quoteVo.getJqPolicyList() == null || quoteVo.getJqPolicyList().isEmpty()){
+            if (quoteVo.getJqPolicyList() == null || quoteVo.getJqPolicyList().isEmpty()) {
                 throw new SystemException("交强险保单不能为空");
             }
-            if(quoteVo.getJqpremium() == null){
+            if (quoteVo.getJqpremium() == null) {
                 throw new SystemException("交强险保费不能为空");
             }
-            if(quoteVo.getJqCostsProportion() == null){
+            if (quoteVo.getJqCostsProportion() == null) {
                 throw new SystemException("交强险总比例不能为空");
             }
         }
 
-        if(quoteVo.getSypremium() != null && quoteVo.getSypremium().compareTo(new BigDecimal(0)) <= 0){
+        if (quoteVo.getSypremium() != null && quoteVo.getSypremium().compareTo(new BigDecimal(0)) <= 0) {
             throw new SystemException("商业险保费填写错误请重新填写");
         }
-        if(quoteVo.getSypolicyno() != null || !quoteVo.getSyPolicyList().isEmpty() || quoteVo.getSypremium() != null || quoteVo.getSyCostsProportion() != null){
-            if(quoteVo.getSypolicyno() == null){
+        if (quoteVo.getSypolicyno() != null || !quoteVo.getSyPolicyList().isEmpty() || quoteVo.getSypremium() != null || quoteVo.getSyCostsProportion() != null) {
+            if (quoteVo.getSypolicyno() == null) {
                 throw new SystemException("商业险保单号不能为空");
             }
-            if(quoteVo.getSyPolicyList() == null || quoteVo.getSyPolicyList().isEmpty()){
+            if (quoteVo.getSyPolicyList() == null || quoteVo.getSyPolicyList().isEmpty()) {
                 throw new SystemException("商业险保单不能为空");
             }
-            if(quoteVo.getSypremium() == null){
+            if (quoteVo.getSypremium() == null) {
                 throw new SystemException("商业险保费不能为空");
             }
-            if(quoteVo.getSyCostsProportion() == null){
+            if (quoteVo.getSyCostsProportion() == null) {
                 throw new SystemException("商业险总比例不能为空");
             }
         }
 
-        if(quoteVo.getJypremium() != null && quoteVo.getJypremium().compareTo(new BigDecimal(0)) <= 0){
+        if (quoteVo.getJypremium() != null && quoteVo.getJypremium().compareTo(new BigDecimal(0)) <= 0) {
             throw new SystemException("非车险保费填写错误请重新填写");
         }
-        if(quoteVo.getJypolicyno() != null || quoteVo.getJypremium() != null || !quoteVo.getNoPolicyList().isEmpty()  || quoteVo.getNoCostsProportion() != null){
-            if(quoteVo.getJypolicyno() == null){
+        if (quoteVo.getJypolicyno() != null || quoteVo.getJypremium() != null || !quoteVo.getNoPolicyList().isEmpty() || quoteVo.getNoCostsProportion() != null) {
+            if (quoteVo.getJypolicyno() == null) {
                 throw new SystemException("非车险保单号不能为空");
             }
-            if(quoteVo.getNoPolicyList() == null || quoteVo.getNoPolicyList().isEmpty()){
+            if (quoteVo.getNoPolicyList() == null || quoteVo.getNoPolicyList().isEmpty()) {
                 throw new SystemException("非车险保单不能为空");
             }
-            if(quoteVo.getJypremium() == null){
+            if (quoteVo.getJypremium() == null) {
                 throw new SystemException("非车险保费不能为空");
             }
-            if(quoteVo.getNoCostsProportion() == null){
+            if (quoteVo.getNoCostsProportion() == null) {
                 throw new SystemException("非车险总比例不能为空");
             }
         }
-        if(quoteVo.getTaxamount() ==  null){
+        if (quoteVo.getTaxamount() == null) {
             throw new SystemException("请填写车船税");
         }
-        if(quoteVo.getSignDate() == null){
+        if (quoteVo.getSignDate() == null) {
             throw new SystemException("请选择签单日期");
         }
         //添加协议判断逻辑  add by  2024-07-10
-        if(quoteVo.getAgreementId() == null){
+        if (quoteVo.getAgreementId() == null) {
             throw new SystemException("请选择协议");
         }
 
@@ -492,7 +501,7 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
     @Transactional
     public boolean saveSubOrder(BaseQuoteInfoVo quoteInfo, BaseQuoteVo<AccidentalDrivingVo> quoteVo) {
         //添加暂存标志   add by  hxl  2024-07-10  0 暂存 1 保存
-        if(quoteVo.getStageFlag() == null){
+        if (quoteVo.getStageFlag() == null) {
             throw new SystemException("暂存标志为空");
         }
 
@@ -500,20 +509,20 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
 
         //校验  保单号
         LambdaQueryWrapper<InsAreaCompany> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(InsAreaCompany::getJqpolicyno,quoteVo.getJqpolicyno())
+        queryWrapper.eq(InsAreaCompany::getJqpolicyno, quoteVo.getJqpolicyno())
                 .or()
-                .eq(InsAreaCompany::getSypolicyno,quoteVo.getSypolicyno());
+                .eq(InsAreaCompany::getSypolicyno, quoteVo.getSypolicyno());
         List<InsAreaCompany> list = this.list(queryWrapper);
-        if(!list.isEmpty()){
+        if (!list.isEmpty()) {
             throw new SystemException("已存在订单");
         }
 
         InsOrders insOrders = insOrdersService.getById(quoteInfo.getOrderNo());
         //添加暂存处理  add by hxl  2024-07-10   0 暂存
-        if(quoteVo.getStageFlag()==0){
+        if (quoteVo.getStageFlag() == 0) {
             //设置为报价中
             insOrders.setOrderstatus(InsOrderStatusEnum.QUOTE_ING.getCode());
-        }else{
+        } else {
             //设置为已承保状态
             insOrders.setOrderstatus(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode());
             insOrders.setInsureTime(quoteVo.getSignDate());
@@ -538,8 +547,7 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
 
         List<PtlAgreementProductCostsNew> costsNews = ptlAgreementProductCostsNewService.getByAgreementId(agreementProductQueryVo);
 
-        if(costsNews.isEmpty())
-        {
+        if (costsNews.isEmpty()) {
             throw new SystemException("没有找到费用信息");
         }
         quoteVo.setJqSuperviseCostsProportion(new BigDecimal(costsNews.get(0).getJqCarCostsProportion()));
@@ -563,10 +571,10 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         insAreaCompany.setSyRenewal(quoteVo.getSyRenewal());
         insAreaCompany.setScore(quoteVo.getScore());
         //添加暂存处理  add by hxl  2024-07-10   0 暂存
-        if(quoteVo.getStageFlag()==0){
+        if (quoteVo.getStageFlag() == 0) {
             //设置为报价中
             insAreaCompany.setOrderstatus(InsOrderStatusEnum.QUOTE_ING.getCode());
-        }else{
+        } else {
             //设置为已承保状态
             insAreaCompany.setOrderstatus(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode());
         }
@@ -590,9 +598,9 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         insAreaCompany.setJypremium(quoteVo.getJypremium());
         insAreaCompany.setTaxamount(quoteVo.getTaxamount());
         insAreaCompany.setSumpremium(insAreaCompany.getJqpremium()
-                        .add(insAreaCompany.getSypremium())
-                        .add(insAreaCompany.getJypremium())
-                        .add(insAreaCompany.getTaxamount()));
+                .add(insAreaCompany.getSypremium())
+                .add(insAreaCompany.getJypremium())
+                .add(insAreaCompany.getTaxamount()));
 
         insAreaCompany.setOperatorId(BaseController.getUser().getId());
         insAreaCompany.setOperatorName(BaseController.getUser().getName());
@@ -608,7 +616,7 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         //保存费用比例
         InsAreaCompanyExternalFee insAreaCompanyExternalFee = new InsAreaCompanyExternalFee();
         insAreaCompanyExternalFee.setSubOrderNo(subOrderNo);
-        if(quoteVo.getJqCostsProportion() != null) {
+        if (quoteVo.getJqCostsProportion() != null) {
             if (quoteVo.getJqSuperviseCostsProportion().compareTo(quoteVo.getJqCostsProportion()) > 0) {
                 //总比例等于手续费比例
                 quoteVo.setJqSuperviseCostsProportion(quoteVo.getJqCostsProportion());
@@ -619,7 +627,7 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
             }
         }
 
-        if(quoteVo.getSyCostsProportion() != null) {
+        if (quoteVo.getSyCostsProportion() != null) {
             if (quoteVo.getSySuperviseCostsProportion().compareTo(quoteVo.getSyCostsProportion()) >= 0) {
                 //总比例等于手续费比例
                 quoteVo.setSySuperviseCostsProportion(quoteVo.getSyCostsProportion());
@@ -630,7 +638,7 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
             }
         }
 
-        if(quoteVo.getNoCostsProportion() != null) {
+        if (quoteVo.getNoCostsProportion() != null) {
             if (quoteVo.getNoSuperviseCostsProportion().compareTo(quoteVo.getNoCostsProportion()) >= 0) {
                 //总比例等于手续费比例
                 quoteVo.setNoSuperviseCostsProportion(quoteVo.getNoCostsProportion());
@@ -640,12 +648,12 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
                 quoteVo.setNoOtherCostsProportion(quoteVo.getNoCostsProportion().subtract(quoteVo.getNoSuperviseCostsProportion()));
             }
         }
-        insAreaCompanyExternalFee.setJqSuperviseCostsProportion(quoteVo.getJqSuperviseCostsProportion()!=null ? quoteVo.getJqSuperviseCostsProportion() : new BigDecimal(0));
-        insAreaCompanyExternalFee.setJqOtherCostsProportion(quoteVo.getJqOtherCostsProportion()!=null ? quoteVo.getJqOtherCostsProportion() : new BigDecimal(0));
-        insAreaCompanyExternalFee.setSySuperviseCostsProportion(quoteVo.getSySuperviseCostsProportion()!=null ? quoteVo.getSySuperviseCostsProportion() : new BigDecimal(0));
-        insAreaCompanyExternalFee.setSyOtherCostsProportion(quoteVo.getSyOtherCostsProportion()!=null ? quoteVo.getSyOtherCostsProportion() : new BigDecimal(0));
-        insAreaCompanyExternalFee.setNoSuperviseCostsProportion(quoteVo.getNoSuperviseCostsProportion()!=null ? quoteVo.getNoSuperviseCostsProportion() : new BigDecimal(0));
-        insAreaCompanyExternalFee.setNoOtherCostsProportion(quoteVo.getNoOtherCostsProportion()!=null ? quoteVo.getNoOtherCostsProportion() : new BigDecimal(0));
+        insAreaCompanyExternalFee.setJqSuperviseCostsProportion(quoteVo.getJqSuperviseCostsProportion() != null ? quoteVo.getJqSuperviseCostsProportion() : new BigDecimal(0));
+        insAreaCompanyExternalFee.setJqOtherCostsProportion(quoteVo.getJqOtherCostsProportion() != null ? quoteVo.getJqOtherCostsProportion() : new BigDecimal(0));
+        insAreaCompanyExternalFee.setSySuperviseCostsProportion(quoteVo.getSySuperviseCostsProportion() != null ? quoteVo.getSySuperviseCostsProportion() : new BigDecimal(0));
+        insAreaCompanyExternalFee.setSyOtherCostsProportion(quoteVo.getSyOtherCostsProportion() != null ? quoteVo.getSyOtherCostsProportion() : new BigDecimal(0));
+        insAreaCompanyExternalFee.setNoSuperviseCostsProportion(quoteVo.getNoSuperviseCostsProportion() != null ? quoteVo.getNoSuperviseCostsProportion() : new BigDecimal(0));
+        insAreaCompanyExternalFee.setNoOtherCostsProportion(quoteVo.getNoOtherCostsProportion() != null ? quoteVo.getNoOtherCostsProportion() : new BigDecimal(0));
 
         this.insAreaCompanyExternalFeeService.save(insAreaCompanyExternalFee);
 
@@ -657,22 +665,21 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         List<InsAreaCompanyExternalPolicyVo> jqSignList = quoteVo.getJqSignList();
         InsAreaCompanyExternalPolicy externalPolicy = new InsAreaCompanyExternalPolicy();
         externalPolicy.setSubOrderNo(subOrderNo);
-        if(!jqPolicyList.isEmpty()){
+        if (!jqPolicyList.isEmpty()) {
             externalPolicy.setJqPolicy(jqPolicyList.get(0).getUrl());
         }
-        if(!syPolicyList.isEmpty()){
+        if (!syPolicyList.isEmpty()) {
             externalPolicy.setSyPolicy(syPolicyList.get(0).getUrl());
         }
-        if(!noPolicyList.isEmpty()){
+        if (!noPolicyList.isEmpty()) {
             externalPolicy.setNoPolicy(noPolicyList.get(0).getUrl());
         }
-        if(!jqSignList.isEmpty()){
+        if (!jqSignList.isEmpty()) {
             externalPolicy.setJqSign(jqSignList.get(0).getUrl());
         }
         this.insAreaCompanyExternalPolicyService.save(externalPolicy);
 
 
-
         costsNews.get(0).setJqCarCostsProportion(quoteVo.getJqSuperviseCostsProportion().toString());
         costsNews.get(0).setJqCarOtherCostsProportion(quoteVo.getJqOtherCostsProportion().toString());
         costsNews.get(0).setJqCostsProportion(quoteVo.getJqSuperviseCostsProportion().add(quoteVo.getJqOtherCostsProportion()).toString());
@@ -684,39 +691,41 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         costsNews.get(0).setNoCostsProportion(quoteVo.getNoSuperviseCostsProportion().add(quoteVo.getNoOtherCostsProportion()).toString());
 
         //计算费用
-        feeRuleSchemeNewService.calcCostsExternal(costsNews.get(0),insAreaCompany);
+        feeRuleSchemeNewService.calcCostsExternal(costsNews.get(0), insAreaCompany);
         // add by  hxl   2024-07-10  保存时查询审核表
-        if(quoteVo.getStageFlag()==1){
+        if (quoteVo.getStageFlag() == 1) {
             //审核表数据插入
-            insFeeAuditService.saveDefaultInsFeeAuditAndHistory(insAreaCompany.getOrderno(), insAreaCompany.getId(), FeeAuditAuditstatus.UNREVICEWED.getCode(),null);
+            insFeeAuditService.saveDefaultInsFeeAuditAndHistory(insAreaCompany.getOrderno(), insAreaCompany.getId(), FeeAuditAuditstatus.UNREVICEWED.getCode(), null);
         }
         return true;
     }
 
     /**
      * 根据订单id 获取已承保的子订单信息
+     *
      * @param orderno
      * @return
      */
     @Override
     public InsAreaCompany getUnderWrittenSubOrder(String orderno) {
         LambdaQueryWrapper<InsAreaCompany> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(InsAreaCompany::getOrderno,orderno);
-        queryWrapper.eq(InsAreaCompany::getOrderstatus,InsOrderStatusEnum.ACCEPT_INSURANCE.getCode());
+        queryWrapper.eq(InsAreaCompany::getOrderno, orderno);
+        queryWrapper.eq(InsAreaCompany::getOrderstatus, InsOrderStatusEnum.ACCEPT_INSURANCE.getCode());
         return this.getOne(queryWrapper);
     }
 
     /**
      * 标注疑问订单
+     *
      * @param problemOrderQueryVo
      * @return
      */
     @Override
     public boolean markProblemOrder(ProblemOrderQueryVo problemOrderQueryVo) {
         LambdaQueryWrapper<InsAreaCompany> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(InsAreaCompany::getId,problemOrderQueryVo.getSubOrder());
+        queryWrapper.eq(InsAreaCompany::getId, problemOrderQueryVo.getSubOrder());
         InsAreaCompany insAreaCompany = this.getOne(queryWrapper);
-        if(insAreaCompany == null){
+        if (insAreaCompany == null) {
             throw new SystemException("订单不存在");
         }
         insAreaCompany.setProblemOrder(problemOrderQueryVo.getProblemOrder());
@@ -724,26 +733,27 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
     }
 
     @Override
-    public Page<InsAreaCompany> getRejectOrder(Page page,String userId,RejectPageQueryVo rejectPageQueryVo) {
-        Page<InsAreaCompany> rejectOrder = baseMapper.getRejectOrder(page, userId,rejectPageQueryVo);
+    public Page<InsAreaCompany> getRejectOrder(Page page, String userId, RejectPageQueryVo rejectPageQueryVo) {
+        Page<InsAreaCompany> rejectOrder = baseMapper.getRejectOrder(page, userId, rejectPageQueryVo);
         return rejectOrder;
     }
 
     /**
      * 更新外部订单
+     *
      * @param insOrdersEditingVo
      * @return
      */
     @Override
     @Transactional
     public boolean updateOrderAndSubOrder(InsOrdersEditingVo insOrdersEditingVo) {
-        if(StringUtils.isBlank(insOrdersEditingVo.getAgreementId())){
+        if (StringUtils.isBlank(insOrdersEditingVo.getAgreementId())) {
             throw new SystemException("请选择协议!!");
         }
         //通过协议id 查询费用
         PtlAgreement ptlAgreement = ptlAgreementService.getById(insOrdersEditingVo.getAgreementId());
         InsOrders insOrders = new InsOrders();
-        BeanUtils.copyProperties(insOrdersEditingVo,insOrders);
+        BeanUtils.copyProperties(insOrdersEditingVo, insOrders);
         insOrders.setFrameno(insOrdersEditingVo.getCarinfo().getString("engineNo"));
         insOrders.setLicenseno(insOrdersEditingVo.getCarinfo().getString("licenseNo"));
         //更新创建时间
@@ -762,10 +772,10 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         insOrders.setProductid(insOrders.getProductid());
         insOrders.setProduct(insOrders.getProduct());
         //添加暂存处理  add by hxl  2024-07-10   0 暂存
-        if(insOrdersEditingVo.getStageFlag()==0){
+        if (insOrdersEditingVo.getStageFlag() == 0) {
             //设置为报价中
             insOrders.setOrderstatus(InsOrderStatusEnum.QUOTE_ING.getCode());
-        }else{
+        } else {
             //设置为已承保状态
             insOrders.setOrderstatus(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode());
             insOrders.setInsureTime(insOrdersEditingVo.getSignDate());
@@ -775,30 +785,30 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         //处理保单
         InsAreaCompanyExternalPolicy externalPolicy = new InsAreaCompanyExternalPolicy();
         externalPolicy.setSubOrderNo(subOrderNo);
-        if(insOrdersEditingVo.getJqPolicyList() != null && !insOrdersEditingVo.getJqPolicyList().isEmpty()){
+        if (insOrdersEditingVo.getJqPolicyList() != null && !insOrdersEditingVo.getJqPolicyList().isEmpty()) {
             externalPolicy.setJqPolicy(insOrdersEditingVo.getJqPolicyList().get(0).getUrl());
         }
-        if(insOrdersEditingVo.getSyPolicyList() != null && !insOrdersEditingVo.getSyPolicyList().isEmpty()){
+        if (insOrdersEditingVo.getSyPolicyList() != null && !insOrdersEditingVo.getSyPolicyList().isEmpty()) {
             externalPolicy.setSyPolicy(insOrdersEditingVo.getSyPolicyList().get(0).getUrl());
         }
-        if(insOrdersEditingVo.getNoPolicyList() != null && !insOrdersEditingVo.getNoPolicyList().isEmpty()){
+        if (insOrdersEditingVo.getNoPolicyList() != null && !insOrdersEditingVo.getNoPolicyList().isEmpty()) {
             externalPolicy.setNoPolicy(insOrdersEditingVo.getNoPolicyList().get(0).getUrl());
         }
-        if(insOrdersEditingVo.getJqSignList() != null && !insOrdersEditingVo.getJqSignList().isEmpty()){
+        if (insOrdersEditingVo.getJqSignList() != null && !insOrdersEditingVo.getJqSignList().isEmpty()) {
             externalPolicy.setJqSign(insOrdersEditingVo.getJqSignList().get(0).getUrl());
         }
         insAreaCompanyExternalPolicyService.updateBySuOrderNo(externalPolicy);
 
         //处理子订单重新赋值   add  by hxl  2024-07-01  处理编辑数据不更新的bug
         InsAreaCompany insAreaCompany = insOrdersEditingVo.getInsAreaCompanyList().get(0);
-        insAreaCompany =getNewEntity(insAreaCompany,insOrdersEditingVo,ptlAgreement);
+        insAreaCompany = getNewEntity(insAreaCompany, insOrdersEditingVo, ptlAgreement);
         this.updateById(insAreaCompany);
 
         //更新轨迹表
-       // if(insOrdersEditingVo.getStageFlag()==1){
-            insOrdersTrackService.addingTrajectories(insAreaCompany);
-            insOrdersService.updateByOrderStatus(insAreaCompany);
-       // }
+        // if(insOrdersEditingVo.getStageFlag()==1){
+        insOrdersTrackService.addingTrajectories(insAreaCompany);
+        insOrdersService.updateByOrderStatus(insAreaCompany);
+        // }
         //查找协议的费用
         AgreementProductQueryVo agreementProductQueryVo = new AgreementProductQueryVo();
         List<String> productId = new ArrayList<>();
@@ -809,11 +819,10 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
 
         List<PtlAgreementProductCostsNew> costsNews = ptlAgreementProductCostsNewService.getByAgreementId(agreementProductQueryVo);
 
-        if(costsNews.isEmpty())
-        {
+        if (costsNews.isEmpty()) {
             throw new SystemException("没有找到费用信息");
         }
-        BigDecimal jqSuperviseCostsProportion,sySuperviseCostsProportion,noSuperviseCostsProportion  = new BigDecimal(0);
+        BigDecimal jqSuperviseCostsProportion, sySuperviseCostsProportion, noSuperviseCostsProportion = new BigDecimal(0);
         jqSuperviseCostsProportion = (new BigDecimal(costsNews.get(0).getJqCarCostsProportion()));
         sySuperviseCostsProportion = (new BigDecimal(costsNews.get(0).getSyCarCostsProportion()));
         noSuperviseCostsProportion = (new BigDecimal(costsNews.get(0).getNoCarCostsProportion()));
@@ -821,7 +830,7 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
 
         InsAreaCompanyExternalFee insAreaCompanyExternalFee = new InsAreaCompanyExternalFee();
         insAreaCompanyExternalFee.setSubOrderNo(subOrderNo);
-        if(insOrdersEditingVo.getJqCostsProportion() != null) {
+        if (insOrdersEditingVo.getJqCostsProportion() != null) {
             if (jqSuperviseCostsProportion.compareTo(insOrdersEditingVo.getJqCostsProportion()) > 0) {
                 //总比例等于手续费比例
                 insAreaCompanyExternalFee.setJqSuperviseCostsProportion(insOrdersEditingVo.getJqCostsProportion());
@@ -833,7 +842,7 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
             }
         }
 
-        if(insOrdersEditingVo.getSyCostsProportion() != null) {
+        if (insOrdersEditingVo.getSyCostsProportion() != null) {
             if (sySuperviseCostsProportion.compareTo(insOrdersEditingVo.getSyCostsProportion()) >= 0) {
                 //总比例等于手续费比例
                 insAreaCompanyExternalFee.setSySuperviseCostsProportion(insOrdersEditingVo.getSyCostsProportion());
@@ -845,7 +854,7 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
             }
         }
 
-        if(insOrdersEditingVo.getNoCostsProportion() != null) {
+        if (insOrdersEditingVo.getNoCostsProportion() != null) {
             if (noSuperviseCostsProportion.compareTo(insOrdersEditingVo.getNoCostsProportion()) >= 0) {
                 //总比例等于手续费比例
                 insAreaCompanyExternalFee.setNoSuperviseCostsProportion(insOrdersEditingVo.getNoCostsProportion());
@@ -867,21 +876,22 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         costsNews.get(0).setNoCarOtherCostsProportion(insAreaCompanyExternalFee.getNoOtherCostsProportion().toString());
 
         //计算费用
-        feeRuleSchemeNewService.calcCostsExternal(costsNews.get(0),insAreaCompany);
+        feeRuleSchemeNewService.calcCostsExternal(costsNews.get(0), insAreaCompany);
         // add by  hxl   2024-07-10  保存时查询审核表
-        if(insOrdersEditingVo.getStageFlag()==1){
+        if (insOrdersEditingVo.getStageFlag() == 1) {
             //重新进入审核状态
-            insFeeAuditService.saveDefaultInsFeeAuditAndHistory(insAreaCompany.getOrderno(), insAreaCompany.getId(), FeeAuditAuditstatus.UNREVICEWED.getCode(),null);
+            insFeeAuditService.saveDefaultInsFeeAuditAndHistory(insAreaCompany.getOrderno(), insAreaCompany.getId(), FeeAuditAuditstatus.UNREVICEWED.getCode(), null);
         }
         return true;
     }
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/7/11 17:28
-     *  @Description:  重新赋值更新
+     * @version
+     * @author: hxl
+     * @Date: 2024/7/11 17:28
+     * @Description: 重新赋值更新
      */
-    private InsAreaCompany getNewEntity(InsAreaCompany insAreaCompany, InsOrdersEditingVo insOrdersEditingVo,PtlAgreement ptlAgreement) {
+    private InsAreaCompany getNewEntity(InsAreaCompany insAreaCompany, InsOrdersEditingVo insOrdersEditingVo, PtlAgreement ptlAgreement) {
         insAreaCompany.setAgreementId(insOrdersEditingVo.getAgreementId());
         //设置时间
         insAreaCompany.setJqStartDate(insOrdersEditingVo.getJqstartdate());
@@ -893,10 +903,10 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         insAreaCompany.setSyRenewal(insOrdersEditingVo.getSyRenewal());
         insAreaCompany.setScore(insOrdersEditingVo.getScore());
         //添加暂存处理  add by hxl  2024-07-10   0 暂存
-        if(insOrdersEditingVo.getStageFlag()==0){
+        if (insOrdersEditingVo.getStageFlag() == 0) {
             //设置为报价中
             insAreaCompany.setOrderstatus(InsOrderStatusEnum.QUOTE_ING.getCode());
-        }else{
+        } else {
             //设置为已承保状态
             insAreaCompany.setOrderstatus(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode());
         }
@@ -913,10 +923,10 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         insAreaCompany.setRiskinfo(insOrdersEditingVo.getRisk());
         insAreaCompany.setKindinfo(insOrdersEditingVo.getKing());
         //设置保费
-        insAreaCompany.setJqpremium(StringUtils.isNotBlank(insOrdersEditingVo.getJqpremium())?new BigDecimal(insOrdersEditingVo.getJqpremium()):BigDecimal.ZERO);
-        insAreaCompany.setSypremium(StringUtils.isNotBlank(insOrdersEditingVo.getSypremium())?new BigDecimal(insOrdersEditingVo.getSypremium()):BigDecimal.ZERO);
-        insAreaCompany.setJypremium(StringUtils.isNotBlank(insOrdersEditingVo.getJypremium())?new BigDecimal(insOrdersEditingVo.getJypremium()):BigDecimal.ZERO);
-        insAreaCompany.setTaxamount(StringUtils.isNotBlank(insOrdersEditingVo.getTaxamount())?new BigDecimal(insOrdersEditingVo.getTaxamount()):BigDecimal.ZERO);
+        insAreaCompany.setJqpremium(StringUtils.isNotBlank(insOrdersEditingVo.getJqpremium()) ? new BigDecimal(insOrdersEditingVo.getJqpremium()) : BigDecimal.ZERO);
+        insAreaCompany.setSypremium(StringUtils.isNotBlank(insOrdersEditingVo.getSypremium()) ? new BigDecimal(insOrdersEditingVo.getSypremium()) : BigDecimal.ZERO);
+        insAreaCompany.setJypremium(StringUtils.isNotBlank(insOrdersEditingVo.getJypremium()) ? new BigDecimal(insOrdersEditingVo.getJypremium()) : BigDecimal.ZERO);
+        insAreaCompany.setTaxamount(StringUtils.isNotBlank(insOrdersEditingVo.getTaxamount()) ? new BigDecimal(insOrdersEditingVo.getTaxamount()) : BigDecimal.ZERO);
         insAreaCompany.setSumpremium(insAreaCompany.getJqpremium()
                 .add(insAreaCompany.getSypremium())
                 .add(insAreaCompany.getJypremium())
@@ -940,20 +950,21 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
     }
 
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/7/10 17:41
-     *  @Description: 获取暂存订单的数据
+     * @version
+     * @author: hxl
+     * @Date: 2024/7/10 17:41
+     * @Description: 获取暂存订单的数据
      */
     @Override
-    public Page<InsAreaCompany> getStageOrder(Page page, String userId,RejectPageQueryVo rejectPageQueryVo) {
-        return baseMapper.getStageOrder(page, userId,rejectPageQueryVo);
+    public Page<InsAreaCompany> getStageOrder(Page page, String userId, RejectPageQueryVo rejectPageQueryVo) {
+        return baseMapper.getStageOrder(page, userId, rejectPageQueryVo);
     }
+
     /**
-     *  @version
-     *  @author: whp
-     *  @Date: 2024/8/08
-     *  @Description:  控制台出单人力
+     * @version
+     * @author: whp
+     * @Date: 2024/8/08
+     * @Description: 控制台出单人力
      */
     @Override
     public QxFrontlineAgentDto getOrderManpower(List<String> ids) {
@@ -962,7 +973,7 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
 
     @Override
     public QxFrontlineAgentDto getOrderManpowerByUserId(String id) {
-        return  baseMapper.getOrderManpowerByUserId(id);
+        return baseMapper.getOrderManpowerByUserId(id);
     }
 
     @Override

+ 16 - 0
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import com.ydtech.components.OrderComponents;
 import com.ydtech.config.DictEnumConfig;
 import com.ydtech.constants.InsuranceEnum;
@@ -52,10 +54,12 @@ import com.ydtech.modules.order.entity.crawler.response.CrawlerVerifyPaymentResp
 import com.ydtech.modules.order.entity.dto.DrivingInsuranceDto;
 import com.ydtech.modules.order.entity.dto.InquiryDetalsQueryDto;
 import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
+import com.ydtech.modules.order.entity.dto.TelemarketingAuditOrderDTO;
 import com.ydtech.modules.order.entity.vo.*;
 import com.ydtech.modules.order.entity.vo.bohai.BoHaiQuoteAccidentVo;
 import com.ydtech.modules.order.entity.vo.guoren.GuoRenQuoteVo;
 import com.ydtech.modules.order.entity.vo.guoren.GuorenAccidentalDrivingVo;
+import com.ydtech.modules.order.entity.vo.telemarketing.TelemarketingAuditOrderQueryVo;
 import com.ydtech.modules.order.entity.vo.ya.YaExtendInfoDto;
 import com.ydtech.modules.order.entity.vo.zj.ZjQuoteAccidentVo;
 import com.ydtech.modules.order.service.*;
@@ -1689,4 +1693,16 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
     public List<QueryHxOrdersCountExcel> exportHxOrdersCount(QueryHxOrdersCountVo queryHxOrdersCountVo) {
         return baseMapper.queryHxOrdersCount(queryHxOrdersCountVo);
     }
+
+    @Override
+    public BasePageResult<TelemarketingAuditOrderDTO> getTelemarketingAudit(TelemarketingAuditOrderQueryVo telemarketingAuditOrderQueryVo) {
+        String userId = BaseController.getUserId();
+        PageHelper.<TelemarketingAuditOrderDTO>startPage(telemarketingAuditOrderQueryVo.getPageNum(), telemarketingAuditOrderQueryVo.getPageSize());
+        List<TelemarketingAuditOrderDTO> telemarketingAudit = baseMapper.getTelemarketingAudit(telemarketingAuditOrderQueryVo, userId);
+        PageInfo<TelemarketingAuditOrderDTO> pageInfo = new PageInfo<>(telemarketingAudit, telemarketingAuditOrderQueryVo.getPageNum());
+        return new BasePageResult<>(telemarketingAuditOrderQueryVo.getPageNum(), telemarketingAuditOrderQueryVo.getPageSize(), pageInfo.getTotal(),
+                pageInfo.getPages()
+                , pageInfo.getList());
+    }
+
 }

+ 117 - 0
src/main/java/com/ydtech/modules/order/service/impl/InsTelemarketingOrderServiceImpl.java

@@ -0,0 +1,117 @@
+package com.ydtech.modules.order.service.impl;
+
+
+import com.ydtech.constants.enums.dict.FeeAuditAuditstatus;
+import com.ydtech.modules.fee.entity.po.InsFeeTelemarketing;
+import com.ydtech.modules.fee.service.FeeRuleSchemeNewService;
+import com.ydtech.modules.fee.service.InsFeeTelemarketingService;
+import com.ydtech.modules.fnc.service.InsFeeAuditService;
+import com.ydtech.modules.order.entity.BasePageResult;
+import com.ydtech.modules.order.entity.InsAreaCompany;
+import com.ydtech.modules.order.entity.InsOrders;
+import com.ydtech.modules.order.entity.dto.TelemarketingAuditOrderDTO;
+import com.ydtech.modules.order.entity.vo.SubmitExportFeesVo;
+import com.ydtech.modules.order.entity.vo.telemarketing.TelemarketingAuditOrderEditVo;
+import com.ydtech.modules.order.entity.vo.telemarketing.TelemarketingAuditOrderQueryVo;
+import com.ydtech.modules.order.service.InsAreaCompanyService;
+import com.ydtech.modules.order.service.InsOrdersService;
+import com.ydtech.modules.order.service.InsTelemarketingOrderService;
+import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
+import com.ydtech.modules.protocols.entity.po.PtlAgreementProductCostsNew;
+import com.ydtech.modules.protocols.service.InsFeeOrderNewService;
+import com.ydtech.modules.protocols.service.PtlAgreementProductCostsNewService;
+import com.ydtech.utils.BigDecimalUtils;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.math.BigDecimal;
+
+
+@Service
+@RequiredArgsConstructor
+public class InsTelemarketingOrderServiceImpl implements InsTelemarketingOrderService {
+
+    private final InsOrdersService insOrdersService;
+
+    private final InsAreaCompanyService insAreaCompanyService;
+
+    private final FeeRuleSchemeNewService feeRuleSchemeNewService;
+
+    private final PtlAgreementProductCostsNewService ptlAgreementProductCostsNewService;
+
+    private final InsFeeOrderNewService insFeeOrderNewService;
+
+    private final InsFeeAuditService insFeeAuditService;
+
+    private final InsFeeTelemarketingService insFeeTelemarketingService;
+
+    @Override
+    public BasePageResult<TelemarketingAuditOrderDTO> getOrderList(TelemarketingAuditOrderQueryVo telemarketingAuditOrderQueryVo) {
+        return insOrdersService.getTelemarketingAudit(telemarketingAuditOrderQueryVo);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void submitExportFeesVo(SubmitExportFeesVo submitExportFeesVo) {
+        InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(submitExportFeesVo.getSubOrderNo());
+
+        // 费用信息
+        InsFeeOrderNew insFeeOrderNew = insFeeOrderNewService.getByInsOrderNo(insAreaCompany.getId());
+
+        // 协议费用信息
+        PtlAgreementProductCostsNew ptlAgreementProductCostsNew = ptlAgreementProductCostsNewService.lambdaQuery()
+                .eq(PtlAgreementProductCostsNew::getId, insFeeOrderNew.getAgreementId())
+                .one();
+
+        String state = submitExportFeesVo.getState();
+        boolean equals = "0".equals(state);
+
+        // 保存扣减比例信息
+        InsFeeTelemarketing insFeeTelemarketing = new InsFeeTelemarketing(submitExportFeesVo);
+        insFeeTelemarketingService.save(insFeeTelemarketing);
+
+        // 交强一级管理比例
+        BigDecimal jqExportRadioLevel1 = getTheScaleBasedOnTheStatus(equals, ptlAgreementProductCostsNew.getJqExportRadioLevel1(), insFeeOrderNew.getJqDeptProportionLevel1());
+        BigDecimal jq = jqExportRadioLevel1.add(submitExportFeesVo.getJqExportProportion());
+        ptlAgreementProductCostsNew.setJqExportRadioLevel1(String.valueOf(jq));
+
+        // 商业一级管理比例
+        BigDecimal syExportRadioLevel1 = getTheScaleBasedOnTheStatus(equals, ptlAgreementProductCostsNew.getSyExportRadioLevel1(), insFeeOrderNew.getSyDeptProportionLevel1());
+        BigDecimal sy = syExportRadioLevel1.add(submitExportFeesVo.getSyExportProportion());
+        ptlAgreementProductCostsNew.setSyExportRadioLevel1(String.valueOf(sy));
+
+        // 非车一级管理比例
+        BigDecimal noCarExportRadioLevel1 = getTheScaleBasedOnTheStatus(equals, ptlAgreementProductCostsNew.getNoCarExportRadioLevel1(), insFeeOrderNew.getNoDeptProportionLevel1());
+        BigDecimal no = noCarExportRadioLevel1.add(submitExportFeesVo.getNoCarExportProportion());
+        ptlAgreementProductCostsNew.setNoCarExportRadioLevel1(String.valueOf(no));
+
+        // 重新计算比例
+        feeRuleSchemeNewService.calcCostsExternal(ptlAgreementProductCostsNew, insAreaCompany);
+        // 改完之后到待提交
+        insFeeAuditService.saveDefaultInsFeeAuditAndHistory(insAreaCompany.getOrderno(), insAreaCompany.getId(), FeeAuditAuditstatus.TELEMARKETING_TO_BE_SUBMITTED.getCode(), null);
+    }
+
+    public BigDecimal getTheScaleBasedOnTheStatus(boolean b, String exportRadioLevel1, BigDecimal proportionLevel1) {
+        if (b) {
+            return BigDecimalUtils.transferToBigDecmail(exportRadioLevel1);
+        }
+        return proportionLevel1;
+    }
+
+
+    @Override
+    public void submitAudit(String subOrderNo) {
+        InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(subOrderNo);
+        insFeeAuditService.saveDefaultInsFeeAuditAndHistory(insAreaCompany.getOrderno(), insAreaCompany.getId(), FeeAuditAuditstatus.UNREVICEWED.getCode(), null);
+    }
+
+    @Override
+    public TelemarketingAuditOrderEditVo edit(String subOrderNo) {
+        InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(subOrderNo);
+        // 费用信息
+        InsFeeOrderNew insFeeOrderNew = insFeeOrderNewService.getByInsOrderNo(insAreaCompany.getId());
+        return new TelemarketingAuditOrderEditVo(insFeeOrderNew);
+    }
+
+}

+ 105 - 78
src/main/java/com/ydtech/modules/protocols/service/InsFeeOrderNewService.java

@@ -13,10 +13,10 @@ import java.util.HashMap;
 import java.util.List;
 
 /**
-*@author: tz
-*@description: 费用计算表 service
-*@create: 2024-2-22 15:44:29
-*/
+ * @author: tz
+ * @description: 费用计算表 service
+ * @create: 2024-2-22 15:44:29
+ */
 public interface InsFeeOrderNewService extends IService<InsFeeOrderNew> {
 
     InsFeeOrderNew getInsFeeOrderNewByCompanyId(String companyId);
@@ -28,15 +28,16 @@ public interface InsFeeOrderNewService extends IService<InsFeeOrderNew> {
     List<InsFeeOrderNew> getByUserId(String userId);
 
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/5/8 15:49
-     *  @Description: 通过用户id查询预收金额的数据    查询  承保状态订单且不在 审核表中的数据
+     * @version
+     * @author: hxl
+     * @Date: 2024/5/8 15:49
+     * @Description: 通过用户id查询预收金额的数据    查询  承保状态订单且不在 审核表中的数据
      */
     List<InsFeeOrderNew> getByUserIdAndOrderStatusAndNoCheck(String userId);
 
     /**
      * 更新一级机构管理费用
+     *
      * @param insOrderNo
      * @param jqPremium
      * @return
@@ -44,138 +45,164 @@ public interface InsFeeOrderNewService extends IService<InsFeeOrderNew> {
     boolean updateLevelDeptManager(String insOrderNo, BigDecimal jqPremium, BigDecimal syPremium, BigDecimal noPremium);
 
     /**
-     *
-     * @param params    用户id   时间过滤
+     * @param params 用户id   时间过滤
      * @return
      */
     List<InsFeeOrderNew> getSumWillAmount(HashMap<String, Object> params);
 
 
     List<InsFeeOrderNew> getSumWillAmountGeneralization(HashMap<String, Object> params);
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/6/3 12:00
-     *  @Description: 通过类型查询数据
+     * @version
+     * @author: hxl
+     * @Date: 2024/6/3 12:00
+     * @Description: 通过类型查询数据
      */
     List<InsFeeOrderNew> getByUserIdAndOrderStatusAndNoCheckType(String userId, String number);
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/6/3 14:32
-     *  @Description:  查询跟单明细的数据
+     * @version
+     * @author: hxl
+     * @Date: 2024/6/3 14:32
+     * @Description: 查询跟单明细的数据
      */
     List<InsFeeOrderNew> getSumWillAmountGeneralizationNew(HashMap<String, Object> params);
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/6/3 14:41
-     *  @Description: 推广费
+     * @version
+     * @author: hxl
+     * @Date: 2024/6/3 14:41
+     * @Description: 推广费
      */
     List<InsFeeOrderNew> getSumWillAmountNew(HashMap<String, Object> params);
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/6/19 14:21
-     *  @Description:  通过用户id查询推广费
+     * @version
+     * @author: hxl
+     * @Date: 2024/6/19 14:21
+     * @Description: 通过用户id查询推广费
      */
-    Page<MyCollectInAdvanceDto> findMyCollectInAdvanceWillAmountByUserId(Page<MyCollectInAdvanceDto> page,MyCollectInAdvanceQueryDto myCollectInAdvanceQueryDto);
+    Page<MyCollectInAdvanceDto> findMyCollectInAdvanceWillAmountByUserId(Page<MyCollectInAdvanceDto> page, MyCollectInAdvanceQueryDto myCollectInAdvanceQueryDto);
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/6/19 14:47
-     *  @Description: 通过用户id查询手续费+跟单费
+     * @version
+     * @author: hxl
+     * @Date: 2024/6/19 14:47
+     * @Description: 通过用户id查询手续费+跟单费
      */
-    Page<MyCollectInAdvanceDto> findMyCollectInAdvanceSumByUserId(Page<MyCollectInAdvanceDto> page,MyCollectInAdvanceQueryDto myCollectInAdvanceQueryDto);
+    Page<MyCollectInAdvanceDto> findMyCollectInAdvanceSumByUserId(Page<MyCollectInAdvanceDto> page, MyCollectInAdvanceQueryDto myCollectInAdvanceQueryDto);
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/6/19 15:07
-     *  @Description: 通过用户id查询推广费  总条数
+     * @version
+     * @author: hxl
+     * @Date: 2024/6/19 15:07
+     * @Description: 通过用户id查询推广费  总条数
      */
     Long findMyCollectInAdvanceWillAmountByUserIdCount(MyCollectInAdvanceQueryDto myCollectInAdvanceQueryDto);
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/6/19 15:17
-     *  @Description: 通过用户id查询手续费+跟单费 总条数
+     * @version
+     * @author: hxl
+     * @Date: 2024/6/19 15:17
+     * @Description: 通过用户id查询手续费+跟单费 总条数
      */
     Long findMyCollectInAdvanceSumByUserIdCount(MyCollectInAdvanceQueryDto myCollectInAdvanceQueryDto);
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/6/19 17:29
-     *  @Description:  计算推广费总费用
+     * @version
+     * @author: hxl
+     * @Date: 2024/6/19 17:29
+     * @Description: 计算推广费总费用
      */
     BigDecimal findSumWillAmount(MyCollectInAdvanceQueryDto myCollectInAdvanceQueryDto);
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/6/19 17:30
-     *  @Description:  计算手续费+跟单费 总费用
+     * @version
+     * @author: hxl
+     * @Date: 2024/6/19 17:30
+     * @Description: 计算手续费+跟单费 总费用
      */
     BigDecimal findSumAmount(MyCollectInAdvanceQueryDto myCollectInAdvanceQueryDto);
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/6/30 15:56
-     *  @Description:  查询车险明细查询
+     * @version
+     * @author: hxl
+     * @Date: 2024/6/30 15:56
+     * @Description: 查询车险明细查询
      */
-    Page<ExportExpenditureTypeDetalsDto> findMyInsuranceByUserId(Page<ExportExpenditureTypeDetalsDto> page,MyInsuranceQueryDto myInsuranceQueryDto,List<String> userList);
+    Page<ExportExpenditureTypeDetalsDto> findMyInsuranceByUserId(Page<ExportExpenditureTypeDetalsDto> page, MyInsuranceQueryDto myInsuranceQueryDto, List<String> userList);
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/6/30 17:38
-     *  @Description: 查询推广费统计
+     * @version
+     * @author: hxl
+     * @Date: 2024/6/30 17:38
+     * @Description: 查询推广费统计
      */
     Page<ExportExpenditureTypeDetalsTGDto> findMyInsuranceTGByUserId(Page<ExportExpenditureTypeDetalsTGDto> page, MyInsuranceTgQueryDto myInsuranceTgQueryDto);
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/6/30 18:01
-     *  @Description: 导出车险明细
+     * @version
+     * @author: hxl
+     * @Date: 2024/6/30 18:01
+     * @Description: 导出车险明细
      */
     List<ExportExpenditureTypeDetalsDto> exportMyInsuranceByUserId(MyInsuranceQueryDto myInsuranceQueryDto, List<String> userList);
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/6/30 18:02
-     *  @Description: 导出推广费明细
+     * @version
+     * @author: hxl
+     * @Date: 2024/6/30 18:02
+     * @Description: 导出推广费明细
      */
     List<ExportExpenditureTypeDetalsTGDto> exportMyInsuranceTGByUserId(MyInsuranceTgQueryDto myInsuranceTgQueryDto);
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/6/30 19:48
-     *  @Description:  预收和实收手续+跟单的总金额
+     * @version
+     * @author: hxl
+     * @Date: 2024/6/30 19:48
+     * @Description: 预收和实收手续+跟单的总金额
      */
     BigDecimal findMyAmountYSOrSSCXAmount(MySumAmountQueryDto mySumAmountQueryDto);
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/6/30 19:48
-     *  @Description: 预收和实收推广费的总金额
+     * @version
+     * @author: hxl
+     * @Date: 2024/6/30 19:48
+     * @Description: 预收和实收推广费的总金额
      */
     BigDecimal findMyAmountYSOrSSTGAmount(MySumAmountQueryDto mySumAmountQueryDto);
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/6/30 19:58
-     *  @Description: 查询用户已提现的金额
+     * @version
+     * @author: hxl
+     * @Date: 2024/6/30 19:58
+     * @Description: 查询用户已提现的金额
      */
-    BigDecimal findMyAmountYTXmount(String userId,String status);
+    BigDecimal findMyAmountYTXmount(String userId, String status);
 
     /**
      * 获取费用结算导出表的数据
+     *
      * @return
      */
     List<CostSettlementExcelVo> getCostSettlementExcel(CostSettlementQueryVo costSettlementQueryVo);
 
     /**
      * 获取应收费用
+     *
      * @param costSettlementQueryVo
      * @return
      */
     List<FeeReceivableVo> getFeeReceivable(CostSettlementQueryVo costSettlementQueryVo);
 
+    /**
+     * 通过子订单获取费用信息
+     */
+    default InsFeeOrderNew getByInsOrderNo(String insOrderNo) {
+        return lambdaQuery()
+                .eq(InsFeeOrderNew::getInsOrderNo, insOrderNo)
+                .one();
+    }
+
 }

+ 57 - 56
src/main/resources/mapper/modules/admin/SysDeptMapper.xml

@@ -5,29 +5,28 @@
 <mapper namespace="com.ydtech.modules.admin.dao.SysDeptMapper">
 
     <resultMap id="BaseResultMap" type="com.ydtech.modules.admin.model.SysDept">
-            <id property="id" column="id" jdbcType="VARCHAR"/>
-            <result property="name" column="name" jdbcType="VARCHAR"/>
-            <result property="parentId" column="parent_id" jdbcType="VARCHAR"/>
-            <result property="orderNum" column="order_num" jdbcType="INTEGER"/>
-            <result property="createBy" column="create_by" jdbcType="VARCHAR"/>
-            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
-            <result property="lastUpdateBy" column="last_update_by" jdbcType="VARCHAR"/>
-            <result property="lastUpdateTime" column="last_update_time" jdbcType="TIMESTAMP"/>
-            <result property="delFlag" column="del_flag" jdbcType="TINYINT"/>
-            <result property="comtype" column="comtype" jdbcType="VARCHAR"/>
-            <result property="comlevel" column="comlevel" jdbcType="VARCHAR"/>
-            <result property="address" column="address" jdbcType="VARCHAR"/>
-            <result property="leadername" column="leadername" jdbcType="VARCHAR"/>
-            <result property="leaderphone" column="leaderphone" jdbcType="VARCHAR"/>
-            <result property="comattribute" column="comattribute" jdbcType="VARCHAR"/>
-            <result property="isstop" column="isstop" jdbcType="VARCHAR"/>
-            <result property="deptCode" column="dept_code" jdbcType="VARCHAR"/>
-            <result property="province" column="province" jdbcType="VARCHAR"/>
-            <result property="city" column="city" jdbcType="VARCHAR"/>
-            <result property="area" column="area" jdbcType="VARCHAR"/>
-            <result property="house" column="house" jdbcType="VARCHAR"/>
-            <result property="deptType" column="dept_type" jdbcType="VARCHAR"/>
-            <result property="managementFee" column="management_fee" jdbcType="DOUBLE"/>
+        <id property="id" column="id" jdbcType="VARCHAR"/>
+        <result property="name" column="name" jdbcType="VARCHAR"/>
+        <result property="parentId" column="parent_id" jdbcType="VARCHAR"/>
+        <result property="orderNum" column="order_num" jdbcType="INTEGER"/>
+        <result property="createBy" column="create_by" jdbcType="VARCHAR"/>
+        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+        <result property="lastUpdateBy" column="last_update_by" jdbcType="VARCHAR"/>
+        <result property="lastUpdateTime" column="last_update_time" jdbcType="TIMESTAMP"/>
+        <result property="delFlag" column="del_flag" jdbcType="TINYINT"/>
+        <result property="comtype" column="comtype" jdbcType="VARCHAR"/>
+        <result property="comlevel" column="comlevel" jdbcType="VARCHAR"/>
+        <result property="address" column="address" jdbcType="VARCHAR"/>
+        <result property="leadername" column="leadername" jdbcType="VARCHAR"/>
+        <result property="leaderphone" column="leaderphone" jdbcType="VARCHAR"/>
+        <result property="comattribute" column="comattribute" jdbcType="VARCHAR"/>
+        <result property="isstop" column="isstop" jdbcType="VARCHAR"/>
+        <result property="deptCode" column="dept_code" jdbcType="VARCHAR"/>
+        <result property="province" column="province" jdbcType="VARCHAR"/>
+        <result property="city" column="city" jdbcType="VARCHAR"/>
+        <result property="area" column="area" jdbcType="VARCHAR"/>
+        <result property="house" column="house" jdbcType="VARCHAR"/>
+        <result property="deptType" column="dept_type" jdbcType="VARCHAR"/>
     </resultMap>
 
     <sql id="Base_Column_List">
@@ -53,14 +52,14 @@
 
     <select id="queryListByParentId" resultType="com.ydtech.modules.admin.model.SysDept">
         SELECT
-            dept.*
+        dept.*
         FROM
-            sys_dept dept
+        sys_dept dept
         WHERE
-            dept.del_flag = 0
-          <if test="level == 0">
-              AND dept.parent_id = #{parentId}
-          </if>
+        dept.del_flag = 0
+        <if test="level == 0">
+            AND dept.parent_id = #{parentId}
+        </if>
         <if test='level == "1"'>
             AND dept.province IN ( SELECT area_code FROM sys_area WHERE LEVEL = 1 )
             AND LENGTH(
@@ -88,35 +87,37 @@
     </select>
 
     <select id="queryListByQXDept" resultType="com.ydtech.modules.admin.model.SysDept">
-        SELECT
-            sd.id as id,
-            sd.name as name,
-            sd.parent_id as parentId,
-            sd.comlevel as comlevel,
-            false as flag
-        FROM
-            sys_dept sd
-        WHERE
-            ( sd.comlevel = 3 )
-           OR  ( sd.comlevel = 4 )
-           OR ( sd.comlevel > 4 AND sd.id LIKE '%M%' )
-           OR ( sd.comlevel > 4 AND sd.id LIKE '%D%' )
-           OR ( sd.id LIKE '%M%' )
+        SELECT sd.id        as id,
+               sd.name      as name,
+               sd.parent_id as parentId,
+               sd.comlevel  as comlevel,
+               false        as flag
+        FROM sys_dept sd
+        WHERE (sd.comlevel = 3)
+           OR (sd.comlevel = 4)
+           OR (sd.comlevel > 4 AND sd.id LIKE '%M%')
+           OR (sd.comlevel > 4 AND sd.id LIKE '%D%')
+           OR (sd.id LIKE '%M%')
         ORDER BY comlevel
     </select>
     <select id="queryHXDeptTree" resultType="com.ydtech.modules.admin.model.SysDept">
-        SELECT
-        sd.id AS id,
-        sd.NAME AS NAME,
-        sd.parent_id AS parentId,
-        sd.comlevel AS comlevel,
-        FALSE AS flag
-        FROM
-        sys_dept sd
-        WHERE
-        ( sd.comlevel &lt; 4 )
-        OR ( sd.id LIKE '%D%' AND sd.id NOT LIKE '%M%' )
-        ORDER BY
-        id
+        SELECT sd.id        AS id,
+               sd.NAME      AS NAME,
+               sd.parent_id AS parentId,
+               sd.comlevel  AS comlevel,
+               FALSE        AS flag
+        FROM sys_dept sd
+        WHERE (sd.comlevel &lt; 4)
+           OR (sd.id LIKE '%D%' AND sd.id NOT LIKE '%M%')
+        ORDER BY id
     </select>
+
+    <select id="getByOrderNoQueryManagementSource" resultType="java.lang.String">
+        SELECT management_source
+        FROM sys_dept
+        WHERE id = (SELECT deptid
+                    FROM ins_orders
+                    WHERE orderno = #{orderNo})
+    </select>
+
 </mapper>

+ 22 - 0
src/main/resources/mapper/modules/ins/InsFeeTelemarketingMapper.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ydtech.modules.fee.dao.InsFeeTelemarketingMapper">
+
+    <resultMap id="BaseResultMap" type="com.ydtech.modules.fee.entity.po.InsFeeTelemarketing">
+            <id property="id" column="id" jdbcType="INTEGER"/>
+            <result property="subOrderNo" column="sub_order_no" jdbcType="VARCHAR"/>
+            <result property="jqExportProportion" column="jq_export_proportion" jdbcType="DECIMAL"/>
+            <result property="syExportProportion" column="sy_export_proportion" jdbcType="DECIMAL"/>
+            <result property="noCarExportProportion" column="no_car_export_proportion" jdbcType="DECIMAL"/>
+            <result property="createUser" column="create_user" jdbcType="VARCHAR"/>
+            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,sub_order_no,jq_export_proportion,
+        sy_export_proportion,no_car_export_proportion,create_user,
+        create_time
+    </sql>
+</mapper>

+ 59 - 0
src/main/resources/mapper/modules/order/InsOrdersMapper.xml

@@ -1569,6 +1569,19 @@
         <result property="count" column="count1" jdbcType="VARCHAR"/>
     </resultMap>
 
+    <resultMap id="TelemarketingAuditOrderMap" type="com.ydtech.modules.order.entity.dto.TelemarketingAuditOrderDTO">
+        <result property="id" column="id" jdbcType="VARCHAR"/>
+        <result property="orderNo" column="orderno" jdbcType="VARCHAR"/>
+        <result property="userid" column="userid" jdbcType="VARCHAR"/>
+        <result property="username" column="username" jdbcType="VARCHAR"/>
+        <result property="product" column="product" jdbcType="VARCHAR"/>
+        <result property="licenseNo" column="licenseno" jdbcType="VARCHAR"/>
+        <result property="orderStatus" column="orderstatus" jdbcType="VARCHAR"/>
+        <result property="insuredName" column="insuredname" jdbcType="VARCHAR"/>
+        <result property="createTime" column="createtime" jdbcType="VARCHAR"/>
+        <result property="auditStatus" column="auditstatus" jdbcType="VARCHAR"/>
+    </resultMap>
+
 
     <select id="queryHxOrdersCount" resultMap="hxOrderCountMap">
         select
@@ -1609,4 +1622,50 @@
         order by
             count1 desc
     </select>
+
+    <select id="getTelemarketingAudit" resultMap="TelemarketingAuditOrderMap">
+        SELECT
+            iac.id as id,
+            iac.orderno as orderno,
+            io.userid as userid,
+            io.username as username,
+            iac.product as product,
+            io.licenseno as licenseno,
+            io.orderstatus as orderstatus,
+            io.insuredname as insuredname,
+            iac.createtime as createtime,
+            ifa.auditstatus as auditstatus
+        FROM
+            ins_area_company iac
+                LEFT JOIN ins_orders io ON iac.orderno = io.orderno
+                LEFT JOIN ins_fee_audit ifa ON ifa.ins_order_no = iac.id
+        WHERE
+            ifa.auditstatus in ('4', '5') AND
+            io.userid = #{userId}
+        <if test="telemarketingAuditOrderQueryVo.orderNo != null and telemarketingAuditOrderQueryVo.orderNo != '' ">
+            and iac.orderno = #{telemarketingAuditOrderQueryVo.orderNo}
+        </if>
+
+        <if test="telemarketingAuditOrderQueryVo.companyId != null and telemarketingAuditOrderQueryVo.companyId != '' ">
+            and iac.company_id = #{telemarketingAuditOrderQueryVo.companyId}
+        </if>
+
+        <if test="telemarketingAuditOrderQueryVo.licenseNo != null and telemarketingAuditOrderQueryVo.licenseNo != '' ">
+            and io.licenseno = #{telemarketingAuditOrderQueryVo.licenseNo}
+        </if>
+
+        <if test="telemarketingAuditOrderQueryVo.frameNo != null and telemarketingAuditOrderQueryVo.frameNo != '' ">
+            and io.frameno = #{telemarketingAuditOrderQueryVo.frameNo}
+        </if>
+
+        <if test="telemarketingAuditOrderQueryVo.productId != null and telemarketingAuditOrderQueryVo.productId != '' ">
+            and io.product = #{telemarketingAuditOrderQueryVo.productId}
+        </if>
+
+        <if test="telemarketingAuditOrderQueryVo.startDate != null and telemarketingAuditOrderQueryVo.startDate != '' and telemarketingAuditOrderQueryVo.endDate != null and telemarketingAuditOrderQueryVo.endDate != ''">
+            and iac.createtime between #{telemarketingAuditOrderQueryVo.startDate} and #{telemarketingAuditOrderQueryVo.endDate}
+        </if>
+
+    </select>
+
 </mapper>