Просмотр исходного кода

Merge remote-tracking branch 'origin/test' into test

haoyu 2 лет назад
Родитель
Сommit
6b923961dc
32 измененных файлов с 798 добавлено и 167 удалено
  1. 41 9
      src/main/java/com/ydtech/modules/admin/controller/SysUserAccountController.java
  2. 4 0
      src/main/java/com/ydtech/modules/admin/model/dto/SysUserTeamDto.java
  3. 2 8
      src/main/java/com/ydtech/modules/admin/model/vo/AppCustomerManagementQueryVo.java
  4. 64 0
      src/main/java/com/ydtech/modules/admin/model/vo/SubOrder.java
  5. 13 2
      src/main/java/com/ydtech/modules/admin/model/vo/SysUserAccountVo.java
  6. 8 3
      src/main/java/com/ydtech/modules/admin/service/SysUserAccountService.java
  7. 3 3
      src/main/java/com/ydtech/modules/admin/service/impl/AppCustomerManagementImpl.java
  8. 134 32
      src/main/java/com/ydtech/modules/admin/service/impl/SysUserAccountServiceImpl.java
  9. 2 2
      src/main/java/com/ydtech/modules/esm/model/vo/EsmUserCountVO.java
  10. 15 5
      src/main/java/com/ydtech/modules/esm/service/impl/EsmUserReferrerServiceImpl.java
  11. 3 37
      src/main/java/com/ydtech/modules/fee/service/impl/FeeRuleSchemeServiceNewImpl.java
  12. 4 0
      src/main/java/com/ydtech/modules/fnc/entity/InsPlyIncome.java
  13. 1 0
      src/main/java/com/ydtech/modules/fnc/entity/SettlementDocumentaryFeesEntity.java
  14. 8 2
      src/main/java/com/ydtech/modules/fnc/service/impl/InsPlyIncomeServiceImpl.java
  15. 2 0
      src/main/java/com/ydtech/modules/fnc/vo/InsPlyIncomeVo.java
  16. 2 2
      src/main/java/com/ydtech/modules/order/controller/InsOrdersController.java
  17. 15 0
      src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyMapper.java
  18. 2 2
      src/main/java/com/ydtech/modules/order/dao/InsOrdersMapper.java
  19. 2 0
      src/main/java/com/ydtech/modules/order/entity/vo/OrderExpirationQueryVo.java
  20. 3 0
      src/main/java/com/ydtech/modules/order/entity/vo/OrderExpirationVo.java
  21. 7 0
      src/main/java/com/ydtech/modules/order/service/InsAreaCompanyService.java
  22. 24 4
      src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyServiceImpl.java
  23. 9 7
      src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java
  24. 21 0
      src/main/java/com/ydtech/modules/protocols/dao/InsFeeOrderNewMapper.java
  25. 4 2
      src/main/java/com/ydtech/modules/protocols/entity/po/InsFeeOrderNew.java
  26. 21 1
      src/main/java/com/ydtech/modules/protocols/service/InsFeeOrderNewService.java
  27. 20 0
      src/main/java/com/ydtech/modules/protocols/service/impl/InsFeeOrderNewServiceImpl.java
  28. 15 18
      src/main/resources/mapper/modules/esm/EsmUserReferrerMapper.xml
  29. 50 4
      src/main/resources/mapper/modules/fnc/InsPlyIncomeMapper.xml
  30. 187 7
      src/main/resources/mapper/modules/ins/InsFeeOrderNewMapper.xml
  31. 82 1
      src/main/resources/mapper/modules/order/InsAreaCompanyMapper.xml
  32. 30 16
      src/main/resources/mapper/modules/order/InsOrdersMapper.xml

+ 41 - 9
src/main/java/com/ydtech/modules/admin/controller/SysUserAccountController.java

@@ -3,13 +3,14 @@ package com.ydtech.modules.admin.controller;
 
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.admin.model.po.SysUserAccount;
+import com.ydtech.modules.admin.model.vo.SubOrder;
 import com.ydtech.modules.admin.model.vo.SysUserAccountVo;
 import com.ydtech.modules.admin.service.SysUserAccountService;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.order.entity.BasePageResult;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -44,20 +45,51 @@ public class SysUserAccountController extends BaseController {
     }
 
     @GetMapping(value = "/getSysAllAmount")
-    @ApiModelProperty("用户余额new")
+    @ApiOperation("用户余额new")
     public HttpResult<SysUserAccountVo>  getSysAllAmount (){
-
         String   userId = BaseController.getUser().getId();
-
         SysUserAccountVo result = sysUserAccountService.getSysAllAmount(userId);
         return  HttpResult.ok("success", result);
     }
     @PostMapping("getInsOrders")
-    @ApiOperation("获取子订单号")
+    @ApiOperation("获取预收实收列表数据")
     public HttpResult<SysUserAccountVo>  getInsOrders(@RequestBody SysUserAccountVo sysUserAccountVo){
-        SysUserAccountVo result =sysUserAccountService.getInsOrders(sysUserAccountVo);
-        return  HttpResult.ok("success", result);
-    }
-
 
+        if(StringUtils.isBlank(sysUserAccountVo.getAmountType())){
+            return HttpResult.error("金额类型(手续费金额1跟单金额2推广金额3)amountType不能为空");
+        }
+        //预收实收类型
+        if(StringUtils.isBlank(sysUserAccountVo.getSearchType())){
+            return HttpResult.error("预收实收类型(预收1实收2)searchType不能为空");
+        }
+        //查询时间
+        if(StringUtils.isBlank(sysUserAccountVo.getTimeFiltering())){
+            return HttpResult.error("查询时间timeFiltering不能为空");
+        }
+        try{
+            SysUserAccountVo result =sysUserAccountService.getInsOrders(sysUserAccountVo);
+            return  HttpResult.ok("success", result);
+        }catch (Exception e){
+            return HttpResult.error("查询失败"+e.getMessage());
+        }
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/3 15:03
+     *  @Description: 通过子订单编号查询订单的详情页面
+     */
+    @GetMapping("getSubOrderDetails")
+    @ApiOperation("获取订单详情")
+    public HttpResult<SubOrder>  getSubOrderDetails(String subOrderId){
+        if(StringUtils.isBlank(subOrderId)){
+            return HttpResult.error("订单号subOrderId不能为空");
+        }
+        try{
+            SubOrder subOrder =sysUserAccountService.getSubOrderDetails(subOrderId,BaseController.getUser().getId());
+            return  HttpResult.ok("success", subOrder);
+        }catch (Exception e){
+            return HttpResult.error("操作失败"+e.getMessage());
+        }
+    }
 }

+ 4 - 0
src/main/java/com/ydtech/modules/admin/model/dto/SysUserTeamDto.java

@@ -3,13 +3,17 @@ package com.ydtech.modules.admin.model.dto;
 import com.ydtech.modules.admin.model.SysUser;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
 
 
 @ApiModel(value = "团队认证返回实体")
 @Data
+@NoArgsConstructor
+@AllArgsConstructor
 public class SysUserTeamDto implements Serializable {
 
     private static final long serialVersionUID = 8942812169841900706L;

+ 2 - 8
src/main/java/com/ydtech/modules/admin/model/vo/AppCustomerManagementQueryVo.java

@@ -21,14 +21,8 @@ public class AppCustomerManagementQueryVo implements Serializable {
 
     private static final long serialVersionUID = 7309342260901481363L;
 
-    @ApiModelProperty("工号")
-    private String userId;
-
-    @ApiModelProperty("用户名")
-    private String username;
-
-    @ApiModelProperty("手机号")
-    private String phoneNumber;
+    @ApiModelProperty("工号,用户名,手机号")
+    private String criteria;
 
     @ApiModelProperty("认证状态 1 认证成功 2 认证失败")
     private String authenticationStatus;

+ 64 - 0
src/main/java/com/ydtech/modules/admin/model/vo/SubOrder.java

@@ -0,0 +1,64 @@
+package com.ydtech.modules.admin.model.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/6/3 15:04
+ *  @Description: 订单详情
+ */
+@Data
+@ApiModel("订单详情数据")
+public class SubOrder {
+
+    @ApiModelProperty("订单号")
+    private String subOrderId;
+
+    @ApiModelProperty("承保时间")
+    private String  signingTime;
+
+    @ApiModelProperty("车牌号")
+    private String licenseNo;
+
+    @ApiModelProperty("交强险费用")
+    private String jqpremium;
+
+    @ApiModelProperty("商业险费用")
+    private String sypremium;
+
+    @ApiModelProperty("驾意险费用")
+    private String jypremium;
+    /**
+    @ApiModelProperty("一级分销人名称")
+    private String firstLevelUserName;
+    @ApiModelProperty("一级分销比例")
+    private BigDecimal firstDetailProportion;
+    @ApiModelProperty("一级分销金额")
+    private BigDecimal firstDetailPremiums;
+
+    @ApiModelProperty("二级分销人名称")
+    private String twoLevelUserName;
+    @ApiModelProperty("二级分销比例")
+    private BigDecimal twoDetailProportion;
+    @ApiModelProperty("二级分销金额")
+    private BigDecimal twoDetailPremiums;
+    @ApiModelProperty("三级分销人名称")
+    private String threeLevelUserName;
+    @ApiModelProperty("三级分销比例")
+    private BigDecimal threeDetailProportion;
+    @ApiModelProperty("三级分销金额")
+    private BigDecimal threeDetailPremiums;
+    **/
+
+    @ApiModelProperty("用户id")
+    private String userId;
+
+    @ApiModelProperty("代理人名称")
+    private String agentName;
+
+    @ApiModelProperty("代理人级别")
+    private String agentLevel;
+}

+ 13 - 2
src/main/java/com/ydtech/modules/admin/model/vo/SysUserAccountVo.java

@@ -3,7 +3,6 @@ package com.ydtech.modules.admin.model.vo;
 
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
 import io.swagger.annotations.ApiModel;
@@ -111,6 +110,14 @@ public class SysUserAccountVo {
     @ApiModelProperty(value = "预收推广费")
     private BigDecimal willPromotion;
 
+    //  add by  hxl  2024-06-03   添加实收的手续费佣金、预收非跟单佣金、预收推广费
+    @ApiModelProperty(value = "实收手续费佣金")
+    private BigDecimal receivedWillHalding;
+    @ApiModelProperty(value = "实收非跟单佣金")
+    private BigDecimal receivedWillDocumentary;
+    @ApiModelProperty(value = "实收推广费")
+    private BigDecimal receivedWillPromotion;
+
 
     @ApiModelProperty(value = "提现中手续费佣金")
     private BigDecimal withdrawalHalding;
@@ -131,7 +138,11 @@ public class SysUserAccountVo {
     private String  timeFiltering;
     @ApiModelProperty("子订单数组")
     private List<InsFeeOrderNew> insFeeOrderNewList;
-    @ApiModelProperty("金额类型")
+    @ApiModelProperty("金额类型 1. 手续费金额 2. 跟单金额  3. 推广金额")
     private String  amountType;
+    //添加预收和实收前台逻辑的判断  add by hxl   2024-06-03
+    @ApiModelProperty("预收和实收的判断区分 预收是1  实收是2")
+    private String  searchType;
+
 
 }

+ 8 - 3
src/main/java/com/ydtech/modules/admin/service/SysUserAccountService.java

@@ -3,11 +3,10 @@ package com.ydtech.modules.admin.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.admin.model.po.SysUserAccount;
+import com.ydtech.modules.admin.model.vo.SubOrder;
 import com.ydtech.modules.admin.model.vo.SysUserAccountVo;
 import com.ydtech.modules.order.entity.BasePageResult;
 
-import java.util.List;
-
 /**
 * @author Administrator
 * @description 针对表【sys_user_account(用户账户表)】的数据库操作Service
@@ -27,5 +26,11 @@ public interface SysUserAccountService extends IService<SysUserAccount> {
     SysUserAccountVo getSysAllAmount(String userId);
 
     SysUserAccountVo getInsOrders(SysUserAccountVo sysUserAccountVo);
-
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/3 15:16
+     *  @Description: 查询子订单的详情页面
+     */
+    SubOrder getSubOrderDetails(String subOrderId,String userId);
 }

+ 3 - 3
src/main/java/com/ydtech/modules/admin/service/impl/AppCustomerManagementImpl.java

@@ -42,9 +42,9 @@ public class AppCustomerManagementImpl implements AppCustomerManagementService {
 
             Page<SysUser> sysUserPage = sysUserService.lambdaQuery()
                     .eq(SysUser::getOperatorCode, userId)
-                    .eq(StringUtils.isEmpty(managementQueryVo.getPhoneNumber()), SysUser::getMobile, managementQueryVo.getPhoneNumber())
-                    .eq(StringUtils.isEmpty(managementQueryVo.getUserId()), SysUser::getId, managementQueryVo.getUserId())
-                    .eq(StringUtils.isEmpty(managementQueryVo.getUsername()), SysUser::getName, managementQueryVo.getUsername())
+                    .or(x-> x.eq(StringUtils.isEmpty(managementQueryVo.getCriteria()), SysUser::getMobile, managementQueryVo.getCriteria()))
+                    .or(x-> x.eq(StringUtils.isEmpty(managementQueryVo.getCriteria()), SysUser::getId, managementQueryVo.getCriteria()))
+                    .or(x-> x.eq(StringUtils.isEmpty(managementQueryVo.getCriteria()), SysUser::getName, managementQueryVo.getCriteria()))
                     .eq(StringUtils.isEmpty(managementQueryVo.getAuthenticationStatus()), SysUser::getName, managementQueryVo.getAuthenticationStatus())
                     .page(page);
 

+ 134 - 32
src/main/java/com/ydtech/modules/admin/service/impl/SysUserAccountServiceImpl.java

@@ -1,24 +1,25 @@
 package com.ydtech.modules.admin.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.admin.constants.MoneyAttrConstants;
 import com.ydtech.modules.admin.constants.WithdrawTypeConstants;
 import com.ydtech.modules.admin.dao.SysUserAccountMapper;
+import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.po.SysAmountAuditingEntity;
 import com.ydtech.modules.admin.model.po.SysUserAccount;
 import com.ydtech.modules.admin.model.po.SysUserAccountHistory;
 import com.ydtech.modules.admin.model.po.SysUserBankCard;
+import com.ydtech.modules.admin.model.vo.SubOrder;
 import com.ydtech.modules.admin.model.vo.SysUserAccountVo;
-import com.ydtech.modules.admin.service.SysAmountAuditingService;
-import com.ydtech.modules.admin.service.SysUserAccountHistoryService;
-import com.ydtech.modules.admin.service.SysUserAccountService;
-import com.ydtech.modules.admin.service.SysUserBankCardService;
+import com.ydtech.modules.admin.service.*;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.esm.service.EsmUserReferrerService;
 import com.ydtech.modules.message.constants.MessageTypeConstants;
 import com.ydtech.modules.message.service.MessageSecretaryService;
+import com.ydtech.modules.order.dao.InsAreaCompanyMapper;
 import com.ydtech.modules.order.dao.InsOrdersMapper;
 import com.ydtech.modules.order.entity.BasePageResult;
 import com.ydtech.modules.order.entity.InsOrders;
@@ -71,6 +72,11 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
     @Autowired
     private MessageSecretaryService messageSecretaryService;
 
+    @Autowired
+    private InsAreaCompanyMapper insAreaCompanyMapper;
+
+    @Autowired
+    private SysUserService sysUserService;
 
     @Override
     @Transactional
@@ -281,30 +287,47 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
         if (ObjectUtils.isEmpty(sysUserAccount)) {
             return sysUserAccountVo;
         }
-
         BeanUtils.copyProperties(sysUserAccount, sysUserAccountVo);
-
         BigDecimal willHalding = BigDecimal.ZERO;        //预收手续费佣金
         BigDecimal willDocumentary = BigDecimal.ZERO;   //预收 非跟单佣金
         BigDecimal willPromotion = BigDecimal.ZERO;   //预收 推广
-        StringBuffer stringBuffer = new StringBuffer();
-
-        willPromotion = this.willPromotion(willPromotion, userId);  // 佣金
+        BigDecimal receivedWillHalding = BigDecimal.ZERO;        //实收手续费佣金
+        BigDecimal receivedWillDocumentary = BigDecimal.ZERO;   //实收非跟单佣金
+        BigDecimal receivedWillPromotion = BigDecimal.ZERO;   //实收推广费
+        // 预收手续费佣金
+        willPromotion = this.willPromotionAll(willPromotion, userId,"1");
+        // 实收手续费佣金
+        receivedWillPromotion = this.willPromotionAll(willPromotion, userId,"2");
         // add by   hxl  修改sql 添加承保状态和不在审核表中的条件   begin ===============
-        //List<InsFeeOrderNew> willList = insFeeOrderNewService.getByUserId(userId);
-        List<InsFeeOrderNew> willList = insFeeOrderNewService.getByUserIdAndOrderStatusAndNoCheck(userId);
-        //  add by  hxl   end ==========================
+        List<InsFeeOrderNew> willList = insFeeOrderNewService.getByUserIdAndOrderStatusAndNoCheckType(userId,"1");
+        List<InsFeeOrderNew> willListnew = insFeeOrderNewService.getByUserIdAndOrderStatusAndNoCheckType(userId,"2");
         if (!CollectionUtils.isEmpty(willList)) {
             for (InsFeeOrderNew item : willList) {
-                String quoteno = item.getInsOrderNo();
-                stringBuffer.append(quoteno).append(",");
                 if (ObjectUtils.isNotEmpty(item)) {
-                    this.willAmount(item, willHalding, willDocumentary, sysUserAccountVo);  // 推广 非跟单
+                    //1.预收手续费佣金  2. 预收非跟单佣金
+                    willHalding = willHalding.add(this.willAmountNew(item,1));
+                    willDocumentary = willDocumentary.add(this.willAmountNew(item,2));
                 }
             }
-
         }
-//        提现现中
+        if (!CollectionUtils.isEmpty(willListnew)) {
+            for (InsFeeOrderNew item : willListnew) {
+                if (ObjectUtils.isNotEmpty(item)) {
+                    //1.实收手续费佣金  2. 实收非跟单佣金
+                    receivedWillHalding = willHalding.add(this.willAmountNew(item,1));
+                    receivedWillDocumentary = willDocumentary.add(this.willAmountNew(item,2));
+                }
+            }
+        }
+        //预收手续费佣金
+        sysUserAccountVo.setWillHalding(willPromotion);
+        //预收非跟单佣金
+        sysUserAccountVo.setWillDocumentary(willDocumentary);
+        //实收手续费佣金
+        sysUserAccountVo.setReceivedWillHalding(receivedWillHalding);
+        //实收非跟单佣金
+        sysUserAccountVo.setReceivedWillDocumentary(receivedWillDocumentary);
+        //提现现中 手续费、非跟单、推广费
         HashMap<String, Object> params = new HashMap<>();
         params.put("auditingStatus", "2");  // 待审核
         params.put("userId", userId);
@@ -313,14 +336,13 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
         params.clear();
         params.put("auditingStatus", "3");  // 已审核审核
         params.put("userId", userId);
+        //已提现 手续费、非跟单、推广费
         List<SysAmountAuditingEntity> sysAmountAuditingApproved = sysAmountAuditingService.getProgressIng(params);
         this.judgeSysAmountAuditing(sysAmountAuditingApproved, sysUserAccountVo);
+        //预收手续费佣金
         sysUserAccountVo.setWillPromotion(willPromotion);
-        String ids = stringBuffer.toString();
-        if (ids.endsWith(",")) {
-            ids = ids.substring(0, ids.length() - 1);  // 去掉末尾的逗号
-        }
-        sysUserAccountVo.setIds(ids);
+        //实收手续费佣金
+        sysUserAccountVo.setReceivedWillPromotion(receivedWillPromotion);
         return sysUserAccountVo;
     }
 
@@ -329,25 +351,26 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
         ArrayList<InsFeeOrderNew> resultList = new ArrayList<>();
         HashMap<String, Object> params = new HashMap<>();
         params.put("userId", BaseController.getUser().getId());
+        //日期
         params.put("timeFiltering", sysUserAccountVo.getTimeFiltering());
-
+        //1预收2.实收
+        params.put("type",sysUserAccountVo.getSearchType());
+        sysUserAccountVo.setInsFeeOrderNewList(null);
+        //金额类型 1. 手续费金额 2. 跟单金额  3. 推广金额
         if ("3".equals(sysUserAccountVo.getAmountType())) {
-            List<InsFeeOrderNew> sumWillAmountGeneralization = insFeeOrderNewService.getSumWillAmountGeneralization(params);
+            List<InsFeeOrderNew> sumWillAmountGeneralization = insFeeOrderNewService.getSumWillAmountGeneralizationNew(params);
             sysUserAccountVo.setInsFeeOrderNewList(sumWillAmountGeneralization);
         } else {
-            List<InsFeeOrderNew> resultInsFeeOrderNew = insFeeOrderNewService.getSumWillAmount(params);
-            if (!resultInsFeeOrderNew.isEmpty()) {
+            List<InsFeeOrderNew> resultInsFeeOrderNew = insFeeOrderNewService.getSumWillAmountNew(params);
+            if (resultInsFeeOrderNew!=null && resultInsFeeOrderNew.size()>0) {
                 for (InsFeeOrderNew item : resultInsFeeOrderNew) {
                     BigDecimal willPromotion = BigDecimal.ZERO;
                     if ("1".equals(sysUserAccountVo.getAmountType())) {
                         //手续费出口预收
-                        willPromotion =
-                                willPromotion.add(item.getJqExportSuperviseCostsPremiums()).add(item.getSyExportSuperviseCostsPremiums()).add(item.getNoExportSuperviseCostsPremiums());
+                        willPromotion = willPromotion.add(item.getJqExportSuperviseCostsPremiums()).add(item.getSyExportSuperviseCostsPremiums()).add(item.getNoExportSuperviseCostsPremiums());
                     } else if ("2".equals(sysUserAccountVo.getAmountType())) {
-                        willPromotion =
-                                willPromotion.add(item.getJqExportOtherCostsPremiums()).add(item.getSyExportOtherCostsPremiums()).add(item.getNoExportOtherCostsPremiums());
+                        willPromotion = willPromotion.add(item.getJqExportOtherCostsPremiums()).add(item.getSyExportOtherCostsPremiums()).add(item.getNoExportOtherCostsPremiums());
                     }
-
                     item.setWillAmount(willPromotion);
                     if (willPromotion.compareTo(BigDecimal.ZERO) != 0) {
                         resultList.add(item);
@@ -356,7 +379,6 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
                 sysUserAccountVo.setInsFeeOrderNewList(resultList);
             }
         }
-
         return sysUserAccountVo;
     }
 
@@ -531,6 +553,86 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
             sysUserAccountVo.setWillDocumentary(sysUserAccountVo.getWillDocumentary().add(jqExportOtherCostsPremiums).add(syExportOtherCostsPremiums).add(noExportOtherCostsPremiums));
         }
     }
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/3 11:20
+     *  @Description:  通过类型查询预收、实收的金额
+     */
+    private BigDecimal willPromotionAll(BigDecimal willPromotion, String userId,String type) {
+        InsFeeOrderNew insFeeOrderNew = new InsFeeOrderNew();
+        insFeeOrderNew.setUserId(userId);
+        InsOrders InsOrders = insAreaCompanyService.selectByInFeeOrderNewByType(insFeeOrderNew,type);
+        if (ObjectUtils.isNotEmpty(InsOrders)) {
+            BigDecimal willFirstPremiums = ObjectUtils.defaultIfNull(InsOrders.getWillFirstPremiums(), BigDecimal.ZERO);
+            // 累加保费
+            willPromotion = willPromotion.add(willFirstPremiums);
+        }
+        return willPromotion;
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/4 11:51
+     *  @Description:  获取费用
+     */
+    private BigDecimal willAmountNew(InsFeeOrderNew insFeeOrderNew, int type) {
+        BigDecimal  val= BigDecimal.ZERO;
+        if (ObjectUtils.isNotEmpty(insFeeOrderNew)) {
+            if(type==1){
+                // 交强手续费+商业手续费+非车手续费
+                val= val.add(insFeeOrderNew.getJqExportSuperviseCostsPremiums()).add(insFeeOrderNew.getSyExportSuperviseCostsPremiums()).add(insFeeOrderNew.getNoExportSuperviseCostsPremiums());
+            }else{
+                // 交强跟单出口费用+商业跟单出口费用+非车跟单出口费用
+                val= val.add(insFeeOrderNew.getJqExportOtherCostsPremiums()).add(insFeeOrderNew.getSyExportOtherCostsPremiums()).add(insFeeOrderNew.getNoExportOtherCostsPremiums());
+            }
+        }
+        return val;
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/3 15:16
+     *  @Description: 查询子订单的详细信息
+     */
+    @Override
+    public SubOrder getSubOrderDetails(String subOrderId, String userId) {
+        SubOrder subOrder=insAreaCompanyMapper.getSubOrderDetails(subOrderId);
+        subOrder.setAgentName("");
+        subOrder.setAgentLevel("");
+        //根据用户id查询分销等级
+        InsFeeOrderNew insFeeOrderNew = insFeeOrderNewService.getOne(new LambdaQueryWrapper<InsFeeOrderNew>()
+                .eq(InsFeeOrderNew::getInsOrderNo, subOrder.getSubOrderId()));
+        if(userId.equals(insFeeOrderNew.getFirstLevelUserId())){
+            subOrder.setAgentName(this.getUserName(insFeeOrderNew.getFirstLevelUserId()));
+            subOrder.setAgentLevel("一级分销代理");
+        }
+        if(userId.equals(insFeeOrderNew.getTwoLevelUserId())){
+            subOrder.setAgentName(this.getUserName(insFeeOrderNew.getTwoLevelUserId()));
+            subOrder.setAgentLevel("二级分销代理");
+        }
+        if(userId.equals(insFeeOrderNew.getThreeLevelUserId())){
+            subOrder.setAgentName(this.getUserName(insFeeOrderNew.getThreeLevelUserId()));
+            subOrder.setAgentLevel("三级分销代理");
+        }
+        return subOrder;
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/3 16:34
+     *  @Description: 查询分销人名称
+     */
+    private String getUserName(String userId) {
+        if(StringUtils.isNotEmpty(userId)){
+            SysUser sysUser = sysUserService.getBaseMapper().selectById(userId);
+            if(ObjectUtils.isNotEmpty(sysUser)){
+                return sysUser.getName();
+            }
+        }
+        return "";
+    }
 }
 
 

+ 2 - 2
src/main/java/com/ydtech/modules/esm/model/vo/EsmUserCountVO.java

@@ -23,8 +23,8 @@ public class EsmUserCountVO implements Serializable {
     private List<EsmUserPolicyVO> userPolicyList1 ;//一级详细
     @ApiModelProperty(value = "明细数据--二级")
     private List<EsmUserPolicyVO> userPolicyList2 ;//二级详细
-    /*@ApiModelProperty(value = "明细数据--三级")
-    private List<EsmUserPolicyVO> userPolicyList3 ;//三级详细*/
+    @ApiModelProperty(value = "明细数据--三级")
+    private List<EsmUserPolicyVO> userPolicyList3 ;//三级详细
     @ApiModelProperty(value = "明细数据--临时团队")
     private List<EsmUserPolicyVO> userPolicyList9 ;//临时团队
 

+ 15 - 5
src/main/java/com/ydtech/modules/esm/service/impl/EsmUserReferrerServiceImpl.java

@@ -347,6 +347,9 @@ public class EsmUserReferrerServiceImpl extends ServiceImpl<EsmUserReferrerMappe
             EsmTeamPolicyVO esmTeamPolicyVO0 = this.baseMapper.queryOrderCountHz(userList0, record.getStartdate(), record.getEnddate());
             EsmTeamPolicyVO esmTeamPolicyVO1 = new EsmTeamPolicyVO();
             EsmTeamPolicyVO esmTeamPolicyVO2 = new EsmTeamPolicyVO();
+            EsmTeamPolicyVO esmTeamPolicyVO3 = new EsmTeamPolicyVO();
+            esmTeamPolicyVO2.setTeamlevel("二级团队");
+            esmTeamPolicyVO3.setTeamlevel("三级团队");
             if (esmTeamPolicyVO0 == null) {
                 esmTeamPolicyVO0 = new EsmTeamPolicyVO();
                 esmTeamPolicyVO0.setSumpremium(0);
@@ -383,14 +386,18 @@ public class EsmUserReferrerServiceImpl extends ServiceImpl<EsmUserReferrerMappe
                     }
                     esmTeamPolicyVO2.setTeamnum(userList2.size());
                     // 三级团队信息
-                    /*userList3 = this.baseMapper.getIdDown_3(esmUserReferrer.getId());
+                    userList3 = this.baseMapper.getIdDown_3(esmUserReferrer.getId());
                     if(userList3!=null && userList3.size()>0){
-                        userPolicyList3=this.baseMapper.queryOrderCount(userList3);
-                        EsmTeamPolicyVO esmTeamPolicyVO3=this.baseMapper.queryOrderCountHz(userList3);
+                        userPolicyList3=this.baseMapper.queryOrderCount(userList3,record.getStartdate(), record.getEnddate());
+                        EsmTeamPolicyVO esmTeamPolicyVO3_t=this.baseMapper.queryOrderCountHz(userList3,record.getStartdate(), record.getEnddate());
                         esmTeamPolicyVO3.setTeamlevel("三级团队");
                         esmTeamPolicyVO3.setTeamnum(userList3.size());
-                        hzList.add(esmTeamPolicyVO3);
-                    }*/
+                        if (esmTeamPolicyVO2_t != null) {
+                            esmTeamPolicyVO3.setSumpremium(esmTeamPolicyVO3_t.getSumpremium());
+                            esmTeamPolicyVO3.setUsernum(userPolicyList3.size());
+                        }
+
+                    }
                 }
 
             }
@@ -406,6 +413,7 @@ public class EsmUserReferrerServiceImpl extends ServiceImpl<EsmUserReferrerMappe
             userList.addAll(userList0);
             userList.addAll(userList1);
             userList.addAll(userList2);
+            userList.addAll(userList3);
             userList.addAll(registList);
             userPolicyList = this.baseMapper.queryOrderCount(userList, record.getStartdate(), record.getEnddate());
             EsmTeamPolicyVO esmTeamPolicyVO = new EsmTeamPolicyVO();
@@ -420,12 +428,14 @@ public class EsmUserReferrerServiceImpl extends ServiceImpl<EsmUserReferrerMappe
             hzList.add(esmTeamPolicyVO0);
             hzList.add(esmTeamPolicyVO1);
             hzList.add(esmTeamPolicyVO2);
+            hzList.add(esmTeamPolicyVO3);
             hzList.add(esmTeamPolicyVO9);
             esmUserCountVO.setHzList(hzList);
             esmUserCountVO.setUserPolicyList(userPolicyList);
             esmUserCountVO.setUserPolicyList0(userPolicyList0);
             esmUserCountVO.setUserPolicyList1(userPolicyList1);
             esmUserCountVO.setUserPolicyList2(userPolicyList2);
+            esmUserCountVO.setUserPolicyList3(userPolicyList3);
         } else {
             throw new SystemException("内部错误");
         }

+ 3 - 37
src/main/java/com/ydtech/modules/fee/service/impl/FeeRuleSchemeServiceNewImpl.java

@@ -91,9 +91,6 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
     @Autowired
     private FeeRuleSchemeService feeRuleSchemeService;
 
-    @Resource
-    private InsFeeOrderNewDistributionService insFeeOrderNewDistributionService;
-
 
     @Override
     public QueryOrderFeeVo queryFeeOrderInfo(String companyId) {
@@ -260,6 +257,7 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                 BigDecimal sumPremium = insFeeOrderNew.getJqPremium().add(insFeeOrderNew.getSyPremium()).add(insFeeOrderNew.getNoPremium());
                 if (Integer.parseInt(esmRetail.getRetailtype()) >= 3) {
                     insFeeOrderNew.setThirdDetailProportion(new BigDecimal(esmRetail.getDisrate3()));
+                    retailRadio = retailRadio.add(insFeeOrderNew.getThirdDetailProportion()).setScale(2, BigDecimal.ROUND_DOWN);
                     BigDecimal thirdDetailPremiums = feeRuleSchemeService.calcRetail(insFeeOrderNew.getJqPremium(), insFeeOrderNew.getSyPremium(), insFeeOrderNew.getNoPremium(), insFeeOrderNew.getThirdDetailProportion());
                     insFeeOrderNew.setThirdDetailPremiums(thirdDetailPremiums);
                     if (parents != null && parents.size() > 2) {
@@ -268,6 +266,7 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                 }
                 if (Integer.parseInt(esmRetail.getRetailtype()) >= 2) {
                     insFeeOrderNew.setSecondDetailProportion(new BigDecimal(esmRetail.getDisrate2()));
+                    retailRadio = retailRadio.add(insFeeOrderNew.getSecondDetailProportion()).setScale(2, BigDecimal.ROUND_DOWN);
                     BigDecimal secondDetailPremiums = feeRuleSchemeService.calcRetail(insFeeOrderNew.getJqPremium(), insFeeOrderNew.getSyPremium(), insFeeOrderNew.getNoPremium(), insFeeOrderNew.getSecondDetailProportion());
                     insFeeOrderNew.setSecondDetailPremiums(secondDetailPremiums);
                     if (parents != null && parents.size() > 1) {
@@ -276,6 +275,7 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
                 }
                 if (Integer.parseInt(esmRetail.getRetailtype()) >= 1) {
                     insFeeOrderNew.setFirstDetailProportion(new BigDecimal(esmRetail.getDisrate1()));
+                    retailRadio = retailRadio.add(insFeeOrderNew.getFirstDetailProportion()).setScale(2, BigDecimal.ROUND_DOWN);
                     BigDecimal firstDetailPremiums = feeRuleSchemeService.calcRetail(insFeeOrderNew.getJqPremium(), insFeeOrderNew.getSyPremium(), insFeeOrderNew.getNoPremium(), insFeeOrderNew.getFirstDetailProportion());
                     insFeeOrderNew.setFirstDetailPremiums(firstDetailPremiums);
                     if (parents != null && parents.size() > 0) {
@@ -436,40 +436,6 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
         //endregion
 
         insFeeOrderNewService.saveOrUpdate(insFeeOrderNew);
-        if (insFeeOrderNew.getFirstLevelUserId() != null) {
-            createInsFeeOrderNewDistribution(insFeeOrderNew, insAreaCompany, insOrders,
-                    insFeeOrderNew.getFirstLevelUserId(), insFeeOrderNew.getFirstDetailProportion(),
-                    insFeeOrderNew.getFirstDetailPremiums(), insFeeOrderNew.getDistributionStatus());
-        }
-        if (insFeeOrderNew.getTwoLevelUserId() != null) {
-            createInsFeeOrderNewDistribution(insFeeOrderNew, insAreaCompany, insOrders,
-                    insFeeOrderNew.getTwoLevelUserId(), insFeeOrderNew.getSecondDetailProportion(),
-                    insFeeOrderNew.getSecondDetailPremiums(), insFeeOrderNew.getDistributionStatus());
-        }
-        if (insFeeOrderNew.getThreeLevelUserId() != null) {
-            createInsFeeOrderNewDistribution(insFeeOrderNew, insAreaCompany, insOrders,
-                    insFeeOrderNew.getThreeLevelUserId(), insFeeOrderNew.getThirdDetailProportion(),
-                    insFeeOrderNew.getThirdDetailPremiums(), insFeeOrderNew.getDistributionStatus());
-        }
-    }
-
-    private void createInsFeeOrderNewDistribution(InsFeeOrderNew insFeeOrderNew, InsAreaCompany insAreaCompany, InsOrders insOrders, String userId, BigDecimal commissionRate, BigDecimal commissionAmount, String commissionLevel) {
-        InsFeeOrderNewDistribution insFeeOrderNewDistribution = new InsFeeOrderNewDistribution();
-        insFeeOrderNewDistribution.setId(IdGenerate.nextId());
-        insFeeOrderNewDistribution.setOrderNo(insFeeOrderNew.getInsOrderNo());
-        insFeeOrderNewDistribution.setJqPolicyNo(insAreaCompany.getJqpolicyno());
-        insFeeOrderNewDistribution.setSyPolicyNo(insAreaCompany.getSypolicyno());
-        insFeeOrderNewDistribution.setLicenseNo(insOrders.getLicenseno());
-        insFeeOrderNewDistribution.setProductId(insAreaCompany.getProductid());
-        insFeeOrderNewDistribution.setProduct(insAreaCompany.getProduct());
-        insFeeOrderNewDistribution.setSignTime(insAreaCompany.getSigningTime());
-        insFeeOrderNewDistribution.setInsCompany(insAreaCompany.getInscompany());
-        insFeeOrderNewDistribution.setUserId(userId);
-        insFeeOrderNewDistribution.setCommissionRate(commissionRate);
-        insFeeOrderNewDistribution.setCommissionAmount(commissionAmount);
-        insFeeOrderNewDistribution.setCommissionLevel(commissionLevel);
-        // 保存insFeeOrderNewDistribution
-        insFeeOrderNewDistributionService.save(insFeeOrderNewDistribution);
     }
 
 

+ 4 - 0
src/main/java/com/ydtech/modules/fnc/entity/InsPlyIncome.java

@@ -435,6 +435,10 @@ public class InsPlyIncome implements Serializable {
     @TableField(exist = false)
     private BigDecimal taxPoints;
 
+    @ApiModelProperty("税费")
+    @TableField(exist = false)
+    private BigDecimal taxesFees;
+
     public InsPlyIncome(String orderno, String policyno, String syPolicyno, String noPolicyno, String settleno, String deptId, String deptName, String riskcode, LocalDateTime payDate, LocalDateTime signDate, String companyId, String companyName, String agreementId, String licenseno, BigDecimal taxamount, BigDecimal noTaxPremium, BigDecimal commissionFeerate, BigDecimal otherFeerate, BigDecimal commissionFeevalue, BigDecimal otherFeevalue, BigDecimal allFeeValue, BigDecimal finalFeeValue, BigDecimal doingFeeValue, LocalDate createTime, String voucherNumber, String contractId, String contractFileId, String handlingFeesStatus, String documentaryFeesStatus, String isNotCar, String isNotDocumentary) {
         this.orderno = orderno;
         this.policyno = policyno;

+ 1 - 0
src/main/java/com/ydtech/modules/fnc/entity/SettlementDocumentaryFeesEntity.java

@@ -132,6 +132,7 @@ public class SettlementDocumentaryFeesEntity implements Serializable {
 
 
     @ApiModelProperty("图片路径")
+    @TableField(exist = false)
     private String imageUrl;
 
     @ApiModelProperty("税费")

+ 8 - 2
src/main/java/com/ydtech/modules/fnc/service/impl/InsPlyIncomeServiceImpl.java

@@ -604,6 +604,10 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
         if(!CollectionUtils.isEmpty(insPlyIncomeVo.getSelectIds())){
             params.put("selectIds",insPlyIncomeVo.getSelectIds());
         }
+        if(!CollectionUtils.isEmpty(insPlyIncomeVo.getPartnerCompaniesIdList())){
+            params.put("partnerCompaniesIdList",insPlyIncomeVo.getPartnerCompaniesIdList());
+        }
+
         return params;
     }
 
@@ -737,6 +741,7 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
         ArrayList<HashMap<String, Object>> resultList = new ArrayList<>();
         HashMap<String, Object> resultMap = new HashMap<>();
         StringBuffer strBuilder = new StringBuffer();
+        boolean   open=true;
         String ids="";
         try {
             List<InsBxPlyIncomeExcelDto> dtoList = ExcelEasypoiUtils.importExcel(multipartFile, InsBxPlyIncomeExcelDto.class, 0, 1, 1);
@@ -820,7 +825,8 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
                     params.put("isOther","0");
                     params.put("isNotCar",isNotCar);
                     InsPlyIncome insPlyIncome = baseMapper.findByBxLicenseno(params);
-                    if(i==dtoList.size() &&  ObjectUtils.isNotEmpty(insPlyIncome)){
+                    if(ObjectUtils.isNotEmpty(insPlyIncome)  && open){
+                        open=false;
                         resultMap.put("companyId",insPlyIncome.getCompanyId()); // 保险公司id
                         resultMap.put("partnerCompaniesId",insPlyIncome.getPartnerCompaniesId()); //合作公司id
                         resultMap.put("agreementId",insPlyIncome.getAgreementId());  //协议id
@@ -1491,7 +1497,7 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
         settlementDocumentaryFeesVo.setIsNotCar(insPlyIncomeVo.getIsNotCar()); // 是否是非车
         settlementDocumentaryFeesVo.setInvoicingMethod(insPlyIncomeVo.getInvoicingMethod());  //开票方式
         settlementDocumentaryFeesVo.setTaxPoints(insPlyIncomeVo.getTaxPoints());  //税点
-        settlementDocumentaryFeesVo.setExpendAmount(insPlyIncomeVo.getExpendAmount()); //税点支出
+//        settlementDocumentaryFeesVo.setExpendAmount(insPlyIncomeVo.getExpendAmount()); //税点支出
         settlementDocumentaryFeesVo.setTotalAmount(insPlyIncomeVo.getInvoicCommissionFeevalue());
         settlementDocumentaryFeesVo.setHandlingFeesStatus("0");
         settlementDocumentaryFeesVo.setParentId(insPlyIncomeVo.getId());

+ 2 - 0
src/main/java/com/ydtech/modules/fnc/vo/InsPlyIncomeVo.java

@@ -319,4 +319,6 @@ public class InsPlyIncomeVo implements Serializable {
 
     @ApiModelProperty("跟单结算")
     private String settleOtherStatus;
+    @ApiModelProperty("合作公司idList")
+    private List<String> partnerCompaniesIdList;
 }

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

@@ -315,7 +315,7 @@ public class InsOrdersController extends BaseController {
      * 获取快到期的保单
      * @return
      */
-    @GetMapping("/getExpirationInsure")
+    @PostMapping("/getExpirationInsure")
     @ApiOperation(value = "获取快到期的保单")
     public HttpResult getExpirationInsure(@RequestBody OrderExpirationQueryVo orderExpirationQueryVo){
         Page page = buildPageRequest(orderExpirationQueryVo.getPageDto());
@@ -328,7 +328,7 @@ public class InsOrdersController extends BaseController {
      * 获取快到期的保单的数量
      * @return
      */
-    @GetMapping("/getExpirationInsureCount")
+    @PostMapping("/getExpirationInsureCount")
     @ApiOperation(value = "获取快到期的保单数量")
     public HttpResult getExpirationInsureCount(@RequestBody OrderExpirationQueryVo orderExpirationQueryVo){
         orderExpirationQueryVo.setUserid(getUserId());

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

@@ -2,6 +2,7 @@ package com.ydtech.modules.order.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ydtech.modules.admin.model.vo.SubOrder;
 import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
@@ -76,6 +77,20 @@ public interface InsAreaCompanyMapper extends BaseMapper<InsAreaCompany> {
      *  @Description: 通过子订单查询订单id
      */
     List<InsAreaCompany> selectListById(@Param("id") String id);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/3 11:44
+     *  @Description:  通过状态查询预收和实收的金额
+     */
+    InsOrders selectSecondPromotionByNew(HashMap<String, Object> params);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/3 15:25
+     *  @Description: 获取订单详情页面
+     */
+    SubOrder getSubOrderDetails(String subOrderId);
 }
 
 

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

@@ -87,7 +87,7 @@ public interface InsOrdersMapper extends BaseMapper<InsOrders> {
      */
     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);
+    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("userId") String userId,@Param("startDate") String startTime,@Param("endDate") String endTime,@Param("isJq")Integer isJq);
+    Page<OrderExpirationVo> getExpirationInsure(@Param("page") Page page,@Param("userId") String userId,@Param("startDate") String startTime,@Param("endDate") String endTime,@Param("isJq")Integer isJq,@Param("param") String param);
 }

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

@@ -33,5 +33,7 @@ public class OrderExpirationQueryVo extends PageRequest {
     @ApiModelProperty(value = "商业终保时间")
     private String syEndDate;
 
+    @ApiModelProperty(value = "查询参数")
+    private String param;
 
 }

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

@@ -60,6 +60,9 @@ public class OrderExpirationVo implements Serializable {
     @TableField(value = "company_id")
     private String companyId;
 
+    @TableField(value = "ins_company")
+    private String insCompany;
+
     /**
      * 交强险结束时间
      */

+ 7 - 0
src/main/java/com/ydtech/modules/order/service/InsAreaCompanyService.java

@@ -120,4 +120,11 @@ public interface InsAreaCompanyService extends IService<InsAreaCompany> {
     *  @Description: 批量更新险种状态
     */
     HttpResult updateBatchPruductById(String subOrderId);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/3 11:41
+     *  @Description:  通过类型查询数据
+     */
+    InsOrders selectByInFeeOrderNewByType(InsFeeOrderNew insFeeOrderNew, String type);
 }

+ 24 - 4
src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.exception.SystemException;
+import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.fnc.service.InsFeeAuditService;
 import com.ydtech.modules.ins.model.vo.KindInfoVo;
 import com.ydtech.modules.ins.model.vo.RiskInfoVo;
@@ -101,13 +102,13 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         }
         //添加订单消息
         if(insAreaCompany.getOrderstatus().equals("1")){
-            messageSecretaryService.addMessage(MessageTypeConstants.M_3,insAreaCompany.getUserId(),"订单号"+insAreaCompany.getOrderno()+"待核保");
+            messageSecretaryService.addMessage(MessageTypeConstants.M_3, BaseController.getUser().getId(),"订单号"+insAreaCompany.getOrderno()+"待核保");
         }else if(insAreaCompany.getOrderstatus().equals("2")){
-            messageSecretaryService.addMessage(MessageTypeConstants.M_3,insAreaCompany.getUserId(),"订单号"+insAreaCompany.getOrderno()+"已核保待缴费");
+            messageSecretaryService.addMessage(MessageTypeConstants.M_3,BaseController.getUser().getId(),"订单号"+insAreaCompany.getOrderno()+"已核保待缴费");
         }else if(insAreaCompany.getOrderstatus().equals("3")){
-            messageSecretaryService.addMessage(MessageTypeConstants.M_3,insAreaCompany.getUserId(),"订单号"+insAreaCompany.getOrderno()+"已经承保成功");
+            messageSecretaryService.addMessage(MessageTypeConstants.M_3,BaseController.getUser().getId(),"订单号"+insAreaCompany.getOrderno()+"已经承保成功");
         }else if(insAreaCompany.getOrderstatus().equals("4")) {
-            messageSecretaryService.addMessage(MessageTypeConstants.M_3, insAreaCompany.getUserId(), "订单号" + insAreaCompany.getOrderno() + "核保退回");
+            messageSecretaryService.addMessage(MessageTypeConstants.M_3, BaseController.getUser().getId(), "订单号" + insAreaCompany.getOrderno() + "核保退回");
         }
         insOrdersTrackService.addingTrajectories(insAreaCompany);
         insOrdersService.updateByOrderStatus(insAreaCompany);
@@ -352,6 +353,25 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         company.setProduct(insOrders.getProduct());
         return company;
     }
+
+
+    /**
+     *  @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());
+        }
+        params.put("type", type);
+        return baseMapper.selectSecondPromotionByNew(params);
+    }
 }
 
 

+ 9 - 7
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -532,7 +532,9 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         OrderVo orderAndAreaCompany = baseMapper.getOrderAndAreaCompany(companyId);
         //团队归属信息
         String areaInfo = sysDeptService.queryBelongArea(orderAndAreaCompany.getDeptid());
-        SysUser sysUser = sysUserService.getById(orderAndAreaCompany.getUserid());
+        SysUser sysUser = Optional.ofNullable(sysUserService.getById(orderAndAreaCompany.getUserid()))
+                .orElse(new SysUser());
+
         SysUserInfo sysUserInfo = sysUserInfoService.getById(orderAndAreaCompany.getUserid());
         if(!ObjectUtils.isEmpty(sysUserInfo)){
             if("M".equals(sysUserInfo.getSex())){
@@ -1185,8 +1187,8 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             oneMonthAgo = currentTime.minus(1, ChronoUnit.MONTHS);
         }
         return baseMapper.getExpirationInsureCount(orderExpirationQueryVo.getUserid(),
-                currentTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")),
-                oneMonthAgo.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")),isJq);
+                oneMonthAgo.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")),
+                currentTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")),isJq,orderExpirationQueryVo.getParam());
     }
 
     @Override
@@ -1194,10 +1196,10 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         LocalDateTime currentTime,oneMonthAgo;
         Integer isJq = 1;
         if(orderExpirationQueryVo.getJqEndDate() != null){
-            currentTime = LocalDateTime.parse(orderExpirationQueryVo.getJqEndDate());
+            currentTime = LocalDateTime.parse(orderExpirationQueryVo.getJqEndDate(),DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
             oneMonthAgo = currentTime.minus(1, ChronoUnit.MONTHS);
         }else if(orderExpirationQueryVo.getSyEndDate() != null){
-            currentTime = LocalDateTime.parse(orderExpirationQueryVo.getSyEndDate());
+            currentTime = LocalDateTime.parse(orderExpirationQueryVo.getSyEndDate(),DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
             oneMonthAgo = currentTime.minus(1, ChronoUnit.MONTHS);
             isJq = 2;
         }else {
@@ -1205,7 +1207,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             oneMonthAgo = currentTime.minus(1, ChronoUnit.MONTHS);
         }
         return baseMapper.getExpirationInsure(page,orderExpirationQueryVo.getUserid(),
-                currentTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")),
-                oneMonthAgo.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")),isJq);
+                oneMonthAgo.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")),
+                currentTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")),isJq,orderExpirationQueryVo.getParam());
     }
 }

+ 21 - 0
src/main/java/com/ydtech/modules/protocols/dao/InsFeeOrderNewMapper.java

@@ -29,6 +29,27 @@ public interface InsFeeOrderNewMapper extends BaseMapper<InsFeeOrderNew> {
     List<InsFeeOrderNew> getSumWillAmount(HashMap<String, Object> params);
 
     List<InsFeeOrderNew> getSumWillAmountGeneralization(HashMap<String, Object> params);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/3 12:01
+     *  @Description: 查询预收和实收的金额数据
+     */
+    List<InsFeeOrderNew> getByUserIdAndOrderStatusAndNoCheckType(String userId, String type);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/3 14:35
+     *  @Description: 查询订单数据
+     */
+    List<InsFeeOrderNew> getSumWillAmountGeneralizationNew(HashMap<String, Object> params);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/3 14:42
+     *  @Description: 查询订单数据
+     */
+    List<InsFeeOrderNew> getSumWillAmountNew(HashMap<String, Object> params);
 }
 
 

+ 4 - 2
src/main/java/com/ydtech/modules/protocols/entity/po/InsFeeOrderNew.java

@@ -3,6 +3,7 @@ package com.ydtech.modules.protocols.entity.po;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -10,7 +11,7 @@ import lombok.NoArgsConstructor;
 import org.springframework.util.ObjectUtils;
 
 import java.math.BigDecimal;
-import java.time.LocalDate;
+import java.util.Date;
 
 /**
  * @author: tz
@@ -416,7 +417,8 @@ public class InsFeeOrderNew {
 
     @ApiModelProperty(value = "签单日期")
     @TableField(exist = false)
-    private LocalDate signingTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date signingTime;
 
     @ApiModelProperty(value = "车牌号")
     @TableField(exist = false)

+ 21 - 1
src/main/java/com/ydtech/modules/protocols/service/InsFeeOrderNewService.java

@@ -47,5 +47,25 @@ public interface InsFeeOrderNewService extends IService<InsFeeOrderNew> {
 
 
     List<InsFeeOrderNew> getSumWillAmountGeneralization(HashMap<String, Object> params);
-
+    /**
+     *  @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:  查询跟单明细的数据
+     */
+    List<InsFeeOrderNew> getSumWillAmountGeneralizationNew(HashMap<String, Object> params);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/3 14:41
+     *  @Description: 推广费
+     */
+    List<InsFeeOrderNew> getSumWillAmountNew(HashMap<String, Object> params);
 }

+ 20 - 0
src/main/java/com/ydtech/modules/protocols/service/impl/InsFeeOrderNewServiceImpl.java

@@ -82,4 +82,24 @@ public class InsFeeOrderNewServiceImpl extends ServiceImpl<InsFeeOrderNewMapper,
         return baseMapper.getSumWillAmountGeneralization(params);
 
     }
+
+    @Override
+    public List<InsFeeOrderNew> getByUserIdAndOrderStatusAndNoCheckType(String userId, String type) {
+        return baseMapper.getByUserIdAndOrderStatusAndNoCheckType(userId,type);
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/6/3 14:32
+     *  @Description: 获取跟单费用列表
+     */
+    @Override
+    public List<InsFeeOrderNew> getSumWillAmountGeneralizationNew(HashMap<String, Object> params) {
+        return baseMapper.getSumWillAmountGeneralizationNew(params);
+    }
+
+    @Override
+    public List<InsFeeOrderNew> getSumWillAmountNew(HashMap<String, Object> params) {
+        return baseMapper.getSumWillAmountNew(params);
+    }
 }

+ 15 - 18
src/main/resources/mapper/modules/esm/EsmUserReferrerMapper.xml

@@ -116,27 +116,24 @@
 
     <select id="getByTeam" resultType="com.ydtech.modules.admin.model.dto.SysUserTeamDto">
         with recursive t1 as (select *
-                              from esm_user_referrer
-                              WHERE referrer_id = #{userId}
-                              union all
-                              select r1.*
-                              from esm_user_referrer r1
-                                       INNER JOIN t1 on t1.id = r1.referrer_id
-                              WHERE r1.level &lt; #{level})
-        select u.id, u.name, u.mobile, u.status
+        from esm_user_referrer
+        WHERE referrer_id = #{userId}
+        union all
+        select r1.*
+        from esm_user_referrer r1
+        INNER JOIN t1 on t1.id = r1.referrer_id
+        WHERE r1.level &lt; #{level})
+        select u.id as id , u.name as name , u.mobile as mobile, u.status as status
         from t1
-                 LEFT JOIN sys_user u on t1.id = u.id
-        <if test="managementQueryVo.userId != null and managementQueryVo.userId != ''">
-            AND sd.id = #{managementQueryVo.userId}
-        </if>
-        <if test="managementQueryVo.username != null and managementQueryVo.username != ''">
-            AND sd.id = #{managementQueryVo.username}
-        </if>
-        <if test="managementQueryVo.phoneNumber != null and managementQueryVo.phoneNumber != ''">
-            AND sd.id = #{managementQueryVo.phoneNumber}
+        LEFT JOIN sys_user u on t1.id = u.id
+        where 1=1
+        <if test="managementQueryVo.criteria != null and managementQueryVo.criteria != ''">
+            or u.id = #{managementQueryVo.criteria}
+            or u.name = #{managementQueryVo.criteria}
+            or u.mobile = #{managementQueryVo.criteria}
         </if>
         <if test="managementQueryVo.authenticationStatus != null and managementQueryVo.authenticationStatus != ''">
-            AND sd.id = #{managementQueryVo.authenticationStatus}
+            AND u.status = #{managementQueryVo.authenticationStatus}
         </if>
     </select>
 

+ 50 - 4
src/main/resources/mapper/modules/fnc/InsPlyIncomeMapper.xml

@@ -217,6 +217,13 @@
                     </foreach>
                 </if>
 
+                <if test="partnerCompaniesIdList != null and partnerCompaniesIdList != '' and partnerCompaniesIdList.size() > 0">
+                    and a.partner_companies_id in
+                    <foreach collection="partnerCompaniesIdList" item="item" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
+
                 <if test="isOther !=null  and  isOther  !=''">
                     and a.is_not_documentary   =#{isOther}
                 </if>
@@ -270,7 +277,10 @@
                   AND  a.insured_name =#{insuredName}
                 </if>
                 <if test="jqStartDate  !=null  and  jqStartDate  != ''  and  jqEndDate   != null  and  jqEndDate   !=''">
-                   AND (a.jq_start_date  )
+                   AND a.jq_end_date BETWEEN #{jqStartDate} AND #{jqEndDate}  AND a.jq_start_date &gt; = #{jqStartDate}
+                </if>
+                <if test="syStartDate  !=null  and  syStartDate  != ''  and  syEndDate   != null  and  syEndDate   !=''">
+                   AND a.sy_start_date BETWEEN #{syStartDate} AND #{syEndDate}  AND a.sy_start_date &gt; = #{syStartDate}
                 </if>
 
             </where>
@@ -615,6 +625,12 @@
                 <if test="isNotCar !=null  and  isNotCar  !=''">
                     and a.is_not_car =#{isNotCar}
                 </if>
+                <if test="jqStartDate  !=null  and  jqStartDate  != ''  and  jqEndDate   != null  and  jqEndDate   !=''">
+                    AND a.jq_end_date BETWEEN #{jqStartDate} AND #{jqEndDate}  AND a.jq_start_date &gt; = #{jqStartDate}
+                </if>
+                <if test="syStartDate  !=null  and  syStartDate  != ''  and  syEndDate   != null  and  syEndDate   !=''">
+                    AND a.sy_start_date BETWEEN #{syStartDate} AND #{syEndDate}  AND a.sy_start_date &gt; = #{syStartDate}
+                </if>
 
                 <if test="isOther !=null  and  isOther  !=''">
                     and a.is_not_documentary   =#{isOther}
@@ -623,6 +639,24 @@
                     and a.licenseno  =#{licenseno}
                 </if>
 
+                <if test="deptId !=null  and  deptId  !=''">
+                    and pa.dept_id =#{deptId}
+                </if>
+
+
+                <if test="ids != null and ids != '' and ids.length > 0">
+                    and a.id in
+                    <foreach collection="ids" item="item" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
+
+                <if test="selectIds != null and selectIds != '' and selectIds.size() > 0">
+                    and a.id in
+                    <foreach collection="selectIds" item="item" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
                 <if test="syPolicyno != null and syPolicyno != ''  ">
                     and a.sy_policyno =#{syPolicyno}
                 </if>
@@ -669,6 +703,12 @@
                 <if test="insuredName !=null  and  insuredName !=''">
                     AND  a.insured_name =#{insuredName}
                 </if>
+                <if test="partnerCompaniesIdList != null and partnerCompaniesIdList != '' and partnerCompaniesIdList.size() > 0">
+                    and a.partner_companies_id in
+                    <foreach collection="partnerCompaniesIdList" item="item" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
             </where>
     </select>
 
@@ -800,11 +840,17 @@
         MAX( a.company_name ) AS "companyName",
         MAX( a.company_id ) AS "companyId",
         MAX( a.partner_companies_name ) AS "partnerCompaniesName",
-        IFNULL ( max(c.settleMentAmount),0.00) as  "allInvoicCommissionFeevalue",
+        CASE
+        WHEN (IFNULL(MAX(d.settleMentAmount), 0.00) - IFNULL(MAX(f.settleMentAmount), 0.00)) = 0.00
+        THEN   IFNULL ( MAX(d.settleMentAmount) ,0.00)
+        ELSE (IFNULL(MAX(d.settleMentAmount), 0.00) - IFNULL(MAX(f.settleMentAmount), 0.00))
+        END AS "allInvoicCommissionFeevalue",
         IFNULL(max(f.settleMentAmount) , 0.00)  as  "readyCommissionFeevalue",
         IFNULL ( max(d.settleMentAmount),0.00) as "invoicCommissionFeevalue",
-        sum(COALESCE( a.commission_feevalue,0.00) )-COALESCE(max(c.settleMentAmount),0.00)  as "noInvoicCommissionFeevalue",
+        sum(COALESCE( a.commission_feevalue,0.00) )-IFNULL ( max(d.settleMentAmount),0.00)  as "noInvoicCommissionFeevalue",
         sum(COALESCE( a.commission_feevalue,0.00) )-COALESCE(max(c.settleMentAmount),0.00)+IFNULL ( max(d.settleMentAmount),0.00)  AS "unSettledAmount",
+        IFNULL(MAX(f.expendAmount),0.00) as   "expendAmount",
+        MAX(COALESCE( f.settleMentAmount,0.00) )-IFNULL ( max(f.expendAmount),0.00)  as "taxesFees",
         sum( a.commission_feevalue ) AS "commissionFeevalue"
         FROM
         ins_ply_income a
@@ -828,7 +874,7 @@
         GROUP BY partner_companies_id
         ) d ON d.partnerCompaniesId = a.partner_companies_id
         LEFT JOIN ( SELECT a.partner_companies_id AS "partnerCompaniesId",sum(
-        settlement_amount ) AS "settleMentAmount" FROM settlement_documentary_fees a
+        settlement_amount ) AS "settleMentAmount" , sum(a.expend_amount) as  "expendAmount", sum(a.tax_points ) as "taxPoints" FROM settlement_documentary_fees a
         WHERE a.settlement_status = '2'
         and  a.handling_fees_status ='0'
         <if test="isNotCar !=null  and  isNotCar  !=''">

+ 187 - 7
src/main/resources/mapper/modules/ins/InsFeeOrderNewMapper.xml

@@ -202,7 +202,7 @@
         WHERE
             a.user_id = #{userId}
           and  ins.orderstatus ='3'
-          and a.ins_order_no  not in (select ins_order_no from ins_fee_audit)
+          and NOT EXISTS (SELECT ins_order_no FROM ins_fee_audit fee where fee.ins_order_no =a.ins_order_no)
     </select>
 
     <select id="getSumWillAmount"  resultType="com.ydtech.modules.protocols.entity.po.InsFeeOrderNew">
@@ -225,7 +225,7 @@
                 a.user_id = #{userId}
             </if>
             and  ins.orderstatus ='3'
-            and a.ins_order_no  not in (select ins_order_no from ins_fee_audit)
+            and NOT EXISTS (SELECT ins_order_no FROM ins_fee_audit fee where fee.ins_order_no =a.ins_order_no)
             <if test="timeFiltering!= null  and  timeFiltering  !=''">
                 AND DATE_FORMAT(ins.signing_time, '%Y-%m' ) = #{timeFiltering}
             </if>
@@ -268,7 +268,7 @@
         LEFT JOIN ins_area_company iac ON iac.id = a.ins_order_no
         left join  ins_orders o ON o.orderno=iac.orderno
         <where>
-            a.ins_order_no NOT IN ( SELECT ins_order_no FROM ins_fee_audit )
+            NOT EXISTS (SELECT ins_order_no FROM ins_fee_audit fee where fee.ins_order_no =a.ins_order_no)
             and iac.orderstatus = '3'
             <if test="userId!=null and  userId!= ''">
                 AND a.first_level_user_id = #{userId}
@@ -292,7 +292,7 @@
         LEFT JOIN ins_area_company iac ON iac.id = a.ins_order_no
         left join  ins_orders o ON o.orderno=iac.orderno
         <where>
-            a.ins_order_no NOT IN ( SELECT ins_order_no FROM ins_fee_audit )
+            NOT EXISTS (SELECT ins_order_no FROM ins_fee_audit fee where fee.ins_order_no =a.ins_order_no)
             and iac.orderstatus = '3'
             <if test="userId!=null and  userId!= ''">
                 AND a.three_level_user_id = #{userId}
@@ -316,7 +316,7 @@
         LEFT JOIN ins_area_company iac ON iac.id = a.ins_order_no
         left join  ins_orders o ON o.orderno=iac.orderno
         <where>
-            a.ins_order_no NOT IN ( SELECT ins_order_no FROM ins_fee_audit )
+            NOT EXISTS (SELECT ins_order_no FROM ins_fee_audit fee where fee.ins_order_no =a.ins_order_no)
             and iac.orderstatus = '3'
             <if test="userId!=null and  userId!= ''">
                 AND a.two_level_user_id = #{userId}
@@ -324,7 +324,187 @@
         </where>
         ) AS fee
     </select>
+    <select id="getByUserIdAndOrderStatusAndNoCheckType"
+            resultType="com.ydtech.modules.protocols.entity.po.InsFeeOrderNew">
+        select a.*  from
+            ins_fee_order_new a  left join ins_area_company ins  on  a.ins_order_no=ins.id
+        WHERE
+            a.user_id = #{userId}
+          and  ins.orderstatus ='3'
+          and a.ins_order_no
+          <if test="type=='1'">
+             not
+          </if>
+           in
+           (select ins_order_no from ins_fee_audit)
+    </select>
+    <select id="getSumWillAmountGeneralizationNew"
+            resultType="com.ydtech.modules.protocols.entity.po.InsFeeOrderNew">
+        SELECT
+        fee.id,
+        fee.userId,
+        fee.signingTime,
+        fee.licenseno,
+        fee.jqExportSuperviseCostsPremiums,
+        fee.syExportSuperviseCostsPremiums,
+        fee.noExportSuperviseCostsPremiums,
+        fee.jqExportOtherCostsPremiums,
+        fee.syExportOtherCostsPremiums,
+        fee.noExportOtherCostsPremiums,
+        fee.willAmount
+        FROM
+        (
+        SELECT
+        a.ins_order_no as "id",
+        a.user_id as "userId",
+        iac.signing_time as "signingTime",
+        o.licenseno as "licenseno",
+        a.jq_export_supervise_costs_premiums as "jqExportSuperviseCostsPremiums",
+        a.sy_export_supervise_costs_premiums as "syExportSuperviseCostsPremiums",
+        a.no_export_supervise_costs_premiums as "noExportSuperviseCostsPremiums",
+        a.jq_export_other_costs_premiums as "jqExportOtherCostsPremiums",
+        a.sy_export_other_costs_premiums as "syExportOtherCostsPremiums",
+        a.no_export_other_costs_premiums as "noExportOtherCostsPremiums",
+        a.first_detail_premiums as "willAmount"
+        FROM
+        ins_fee_order_new a
+        LEFT JOIN ins_area_company iac ON iac.id = a.ins_order_no
+        left join  ins_orders o ON o.orderno=iac.orderno
+        <where>
+            <if test='type == "1"'>
+                NOT
+            </if>
+            EXISTS (SELECT ins_order_no FROM ins_fee_audit fee where fee.ins_order_no =a.ins_order_no)
+            and iac.orderstatus = '3'
+            <if test="userId!=null and  userId!= ''">
+                AND a.first_level_user_id = #{userId}
+            </if>
+            <if test="timeFiltering!= null  and  timeFiltering  !=''">
+                <choose>
+                    <when  test='type == "1"'>
+                        AND DATE_FORMAT(iac.signing_time, '%Y-%m-%d' ) = #{timeFiltering}
+                    </when>
+                    <otherwise>
+                        AND DATE_FORMAT(iac.signing_time, '%Y-%m-%d' ) = #{timeFiltering}
+                    </otherwise>
+                </choose>
+            </if>
+        </where>
+        UNION
+        SELECT
+        a.ins_order_no as "id",
+        a.user_id as "userId",
+        iac.signing_time as "signingTime",
+        o.licenseno as "licenseno",
+        a.jq_export_supervise_costs_premiums as "jqExportSuperviseCostsPremiums",
+        a.sy_export_supervise_costs_premiums as "syExportSuperviseCostsPremiums",
+        a.no_export_supervise_costs_premiums as "noExportSuperviseCostsPremiums",
+        a.jq_export_other_costs_premiums as "jqExportOtherCostsPremiums",
+        a.sy_export_other_costs_premiums as "syExportOtherCostsPremiums",
+        a.no_export_other_costs_premiums as "noExportOtherCostsPremiums",
+        a.third_detail_premiums as "willAmount"
+        FROM
+        ins_fee_order_new a
+        LEFT JOIN ins_area_company iac ON iac.id = a.ins_order_no
+        left join  ins_orders o ON o.orderno=iac.orderno
+        <where>
+            <if test='type == "1"'>
+                NOT
+            </if>
+            EXISTS (SELECT ins_order_no FROM ins_fee_audit fee where fee.ins_order_no =a.ins_order_no)
+            and iac.orderstatus = '3'
+            <if test="userId!=null and  userId!= ''">
+                AND a.three_level_user_id = #{userId}
+            </if>
+            <if test="timeFiltering!= null  and  timeFiltering  !=''">
+                <choose>
+                    <when  test='type == "1"'>
+                        AND DATE_FORMAT(iac.signing_time, '%Y-%m-%d' ) = #{timeFiltering}
+                    </when>
+                    <otherwise>
+                        AND DATE_FORMAT(iac.signing_time, '%Y-%m-%d' ) = #{timeFiltering}
+                    </otherwise>
+                </choose>
+            </if>
+        </where>
+        UNION
+        SELECT
+        a.ins_order_no as "id",
+        a.user_id as "userId",
+        iac.signing_time as "signingTime",
+        o.licenseno as "licenseno",
+        a.jq_export_supervise_costs_premiums as "jqExportSuperviseCostsPremiums",
+        a.sy_export_supervise_costs_premiums as "syExportSuperviseCostsPremiums",
+        a.no_export_supervise_costs_premiums as "noExportSuperviseCostsPremiums",
+        a.jq_export_other_costs_premiums as "jqExportOtherCostsPremiums",
+        a.sy_export_other_costs_premiums as "syExportOtherCostsPremiums",
+        a.no_export_other_costs_premiums as "noExportOtherCostsPremiums",
+        a.second_detail_premiums as "willAmount"
+        FROM
+        ins_fee_order_new a
+        LEFT JOIN ins_area_company iac ON iac.id = a.ins_order_no
+        left join  ins_orders o ON o.orderno=iac.orderno
+        <where>
+            <if test='type == "1"'>
+                NOT
+            </if>
+            EXISTS (SELECT ins_order_no FROM ins_fee_audit fee where fee.ins_order_no =a.ins_order_no)
+            and iac.orderstatus = '3'
+            <if test="userId!=null and  userId!= ''">
+                AND a.two_level_user_id = #{userId}
+            </if>
+            <if test="timeFiltering!= null  and  timeFiltering  !=''">
+                <choose>
+                    <when  test='type == "1"'>
+                        AND DATE_FORMAT(iac.signing_time, '%Y-%m-%d' ) = #{timeFiltering}
+                    </when>
+                    <otherwise>
+                        AND DATE_FORMAT(iac.signing_time, '%Y-%m-%d' ) = #{timeFiltering}
+                    </otherwise>
+                </choose>
+            </if>
+        </where>
+        ) AS fee
+    </select>
 
-
-
+    <select id="getSumWillAmountNew"  resultType="com.ydtech.modules.protocols.entity.po.InsFeeOrderNew">
+        select
+        a.ins_order_no as "id",
+        a.user_id as "userId",
+        ins.signing_time as "signingTime",
+        o.licenseno as "licenseno",
+        a.jq_export_supervise_costs_premiums as "jqExportSuperviseCostsPremiums",
+        a.sy_export_supervise_costs_premiums as "syExportSuperviseCostsPremiums",
+        a.no_export_supervise_costs_premiums as "noExportSuperviseCostsPremiums",
+        a.jq_export_other_costs_premiums as "jqExportOtherCostsPremiums",
+        a.sy_export_other_costs_premiums as "syExportOtherCostsPremiums",
+        a.no_export_other_costs_premiums as "noExportOtherCostsPremiums"
+        from
+        ins_fee_order_new a  left join ins_area_company ins  on  a.ins_order_no=ins.id
+        left join  ins_orders o ON o.orderno=ins.orderno
+        <where>
+            <if test="userId !=null  and  userId !=''">
+                a.user_id = #{userId}
+            </if>
+            and  ins.orderstatus ='3'
+            and
+            <if test='type == "1"'>
+                NOT
+            </if>
+            EXISTS (SELECT ins_order_no FROM ins_fee_audit fee where fee.ins_order_no =a.ins_order_no)
+            <if test="timeFiltering!= null  and  timeFiltering  !=''">
+                <choose>
+                    <when  test='type == "1"'>
+                        AND DATE_FORMAT(ins.signing_time, '%Y-%m-%d' ) = #{timeFiltering}
+                    </when>
+                    <otherwise>
+                        AND DATE_FORMAT(ins.signing_time, '%Y-%m-%d' ) = #{timeFiltering}
+                    </otherwise>
+                </choose>
+            </if>
+            <if test="amountType !=null  and amountType !=''  and amountType == 3 ">
+                and  (a.first_level_user_id is not  null   or  a.two_level_user_id is not null  or  a.three_level_user_id is  not  null )
+            </if>
+        </where>
+    </select>
 </mapper>

+ 82 - 1
src/main/resources/mapper/modules/order/InsAreaCompanyMapper.xml

@@ -486,7 +486,7 @@
            iac.*
         FROM
            ins_area_company iac
-        JOIN ins_orders AS io  ON io.orderno = iac.orderno
+         left JOIN ins_orders AS io  ON io.orderno = iac.orderno
         WHERE
         1=1
         <if test="dateStr != null and dateStr != ''">
@@ -505,4 +505,85 @@
             AND iac.id =#{id}
         </if>
     </select>
+    <select id="selectSecondPromotionByNew" resultType="com.ydtech.modules.order.entity.InsOrders">
+        SELECT
+        sum( fee.p ) as  "willFirstPremiums"
+        FROM
+        (
+        SELECT
+        sum( a.first_detail_premiums ) AS p
+        FROM
+        ins_fee_order_new a
+        LEFT JOIN ins_area_company iac ON iac.id = a.ins_order_no
+        <where>
+            <if test='type == "1"'>
+                NOT
+            </if>
+            EXISTS
+            ( SELECT ins_order_no FROM ins_fee_audit AS b WHERE b.ins_order_no = a.ins_order_no )
+            and iac.orderstatus = '3'
+            <if test="userId!=null and  userId!= ''">
+                AND a.first_level_user_id = #{userId}
+            </if>
+            <if test="id  != null  and  id!=''">
+                AND  a.id =#{id}
+            </if>
+        </where>
+        UNION
+        SELECT
+        sum( a.third_detail_premiums ) AS p
+        FROM
+        ins_fee_order_new a
+        LEFT JOIN ins_area_company iac ON iac.id = a.ins_order_no
+        <where>
+            <if test='type == "1"'>
+                NOT
+            </if>
+            EXISTS ( SELECT ins_order_no FROM ins_fee_audit AS b WHERE b.ins_order_no = a.ins_order_no )
+            and iac.orderstatus = '3'
+            <if test="userId!=null and  userId!= ''">
+                AND a.three_level_user_id = #{userId}
+            </if>
+            <if test="id  != null  and  id!=''">
+                AND  a.id =#{id}
+            </if>
+        </where>
+        UNION
+        SELECT
+        sum( a.second_detail_premiums ) AS p
+        FROM
+        ins_fee_order_new a
+        LEFT JOIN ins_area_company iac ON iac.id = a.ins_order_no
+        <where>
+            <if test='type == "1"'>
+                NOT
+            </if>
+            EXISTS ( SELECT ins_order_no FROM ins_fee_audit AS b WHERE b.ins_order_no = a.ins_order_no )
+            and iac.orderstatus = '3'
+            <if test="userId!=null and  userId!= ''">
+                AND a.two_level_user_id = #{userId}
+            </if>
+            <if test="id  != null  and  id!=''">
+                AND  a.id =#{id}
+            </if>
+        </where>
+        ) AS fee
+    </select>
+
+
+    <select id="getSubOrderDetails" resultType="com.ydtech.modules.admin.model.vo.SubOrder">
+        SELECT
+            iac.id as subOrderId,
+            iac.signing_time    as signingTime,
+            iac.jqpremium  as  jqpremium,
+            iac.sypremium  as  sypremium,
+            iac.jypremium  as  jypremium,
+            io.licenseno  as  licenseno,
+            io.userid as userId
+        FROM
+            ins_area_company iac
+            LEFT  JOIN ins_orders AS io  ON io.orderno = iac.orderno
+        WHERE
+            iac.id=#{subOrderId}
+    </select>
 </mapper>

+ 30 - 16
src/main/resources/mapper/modules/order/InsOrdersMapper.xml

@@ -413,10 +413,10 @@
             and b.orderstatus = #{orderstatus}
         </if>
         <if test="startDate != null ">
-            and a.signing_time &gt;= #{startDate}
+            and b.signing_time &gt;= #{startDate}
         </if>
         <if test="endDate != null ">
-            and a.signing_time &lt;= #{endDate}
+            and b.signing_time &lt;= #{endDate}
         </if>
     </select>
 
@@ -1237,9 +1237,12 @@
 
     <select id="getExpirationInsureCount" resultType="Integer">
         SELECT
-            count( orderno ) AS count
+            count( b.orderno ) AS count
         FROM
-            ins_orders
+            ins_orders a
+        left join
+            ins_area_company b
+        on a.orderno = b.orderno
         WHERE
             <if test="isJq == 1">
                 jqenddate BETWEEN #{startDate} AND #{endDate}
@@ -1247,19 +1250,23 @@
             <if test="isJq == 2">
                 syenddate BETWEEN #{startDate} AND #{endDate}
             </if>
-          AND orderstatus = 3
-          AND userid LIKE '${userId}%'
+        AND a.orderstatus = 3
+        AND b.orderstatus = 3
+        <if test="param != null and param != ''">
+            AND (a.licenseno = #{param} or a.ins_company = #{param})
+        </if>
+
     </select>
 
     <select id="getExpirationInsure" resultType="com.ydtech.modules.order.entity.vo.OrderExpirationVo">
         SELECT
-            ins_company,
-            orderno,
-            jqenddate,
-            syenddate,
-            productid,
-            product,
-            licenseno,
+            a.ins_company,
+            b.id as orderno,
+        a.jqenddate,
+        a.syenddate,
+        a.productid,
+        a.product,
+        a.licenseno,
             <if test="isJq == 1">
                 DATEDIFF( NOW(), jqenddate ) AS difference
             </if>
@@ -1268,7 +1275,10 @@
             </if>
 
         FROM
-            ins_orders
+            ins_orders a
+        left join
+            ins_area_company b
+        on a.orderno = b.orderno
         WHERE
             <if test="isJq == 1">
                 jqenddate BETWEEN #{startDate} AND #{endDate}
@@ -1277,8 +1287,12 @@
                 syenddate BETWEEN #{startDate} AND #{endDate}
             </if>
 
-          AND orderstatus = 3
-          AND userid LIKE '${userId}%'
+          AND a.orderstatus = 3
+        AND b.orderstatus = 3
+        <if test="param != null and param != ''">
+        AND (a.licenseno = #{param} or a.ins_company = #{param})
+        </if>
+
         ORDER BY
             jqenddate DESC
     </select>