Răsfoiți Sursa

合伙人APP展示更改

helixiao 2 ani în urmă
părinte
comite
1e41d37477

+ 13 - 4
src/main/java/com/ydtech/modules/admin/controller/SysAgencyLeaderController.java

@@ -2,10 +2,7 @@ package com.ydtech.modules.admin.controller;
 
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.admin.model.SysUser;
-import com.ydtech.modules.admin.model.dto.SysAgencyLeaderDto;
-import com.ydtech.modules.admin.model.dto.SysAgencyLeaderPageDto;
-import com.ydtech.modules.admin.model.dto.TeamInformationDto;
-import com.ydtech.modules.admin.model.dto.TeamUserInfoDto;
+import com.ydtech.modules.admin.model.dto.*;
 import com.ydtech.modules.admin.model.vo.*;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.order.entity.BasePageResult;
@@ -168,6 +165,18 @@ public class SysAgencyLeaderController extends BaseController {
         return HttpResult.ok("success", this.sysAgencyLeaderService.queryTeamInfoPage(teamInformationDto));
     }
 
+    /**
+     * 合伙人直接机构、间接机构分页查询
+     */
+    @PostMapping("/queryWorkroomPage")
+    @ApiOperation(value = "合伙人查看直接机构、间接机构分页查询")
+    public HttpResult<BasePageResult<AgencyTeamVo>> queryWorkroomPage(@RequestBody AgencyTeamDto agencyTeamDto){
+
+        return HttpResult.ok("success", this.sysAgencyLeaderService.queryWorkroomPage(agencyTeamDto));
+    }
+
+
+
     /**
      * 查询团队下人员  报价笔数 核保笔数 出单笔数 签单保费
      */

+ 17 - 0
src/main/java/com/ydtech/modules/admin/controller/SysPartnerController.java

@@ -2,9 +2,11 @@ package com.ydtech.modules.admin.controller;
 
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.admin.model.SysPartner;
+import com.ydtech.modules.admin.model.dto.SysPartnerAPPPageDto;
 import com.ydtech.modules.admin.model.dto.SysPartnerDto;
 import com.ydtech.modules.admin.model.dto.SysPartnerPageDto;
 import com.ydtech.modules.admin.model.vo.AgencyExtractFeeVo;
+import com.ydtech.modules.admin.model.vo.SysPartnerAPPPageVo;
 import com.ydtech.modules.admin.model.vo.SysUserPartner;
 import com.ydtech.modules.admin.service.SysPartnerService;
 import com.ydtech.modules.base.controller.BaseController;
@@ -116,6 +118,21 @@ public class SysPartnerController extends BaseController {
         return HttpResult.ok(this.sysPartnerService.queryPartnerByPage(sysPartnerPageDto));
     }
 
+    /**
+     * 合伙人查看直接合伙人、间接合伙人分页查询
+     *
+     */
+    @PostMapping("/querySysPartnerAPPPage")
+    @ApiOperation(value = "合伙人查看直接合伙人、间接合伙人分页查询")
+    public HttpResult<BasePageResult<SysPartnerAPPPageVo>> SysPartnerAPPPage(@RequestBody SysPartnerAPPPageDto sysPartnerAPPPageDto) {
+        if (sysPartnerAPPPageDto.getPageNum() == 0) {
+            sysPartnerAPPPageDto.setPageNum(1);
+        }
+        if (sysPartnerAPPPageDto.getPageSize() == 0) {
+            sysPartnerAPPPageDto.setPageSize(10);
+        }
+        return HttpResult.ok(this.sysPartnerService.SysPartnerAPPPage(sysPartnerAPPPageDto));
+    }
 
 
 

+ 23 - 0
src/main/java/com/ydtech/modules/admin/model/dto/AgencyTeamDto.java

@@ -0,0 +1,23 @@
+package com.ydtech.modules.admin.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "APP查询机构下团队信息")
+public class AgencyTeamDto {
+
+
+    @ApiModelProperty(value = "推荐等级(0:直接推荐;1:间接推荐)")
+    private int source;
+
+    @ApiModelProperty(value = "机构name")
+    private String deptName;
+
+    @ApiModelProperty(value = "页数")
+    private int pageNum;
+    @ApiModelProperty(value = "每页条数")
+    private int pageSize;
+
+}

+ 25 - 0
src/main/java/com/ydtech/modules/admin/model/dto/SysPartnerAPPPageDto.java

@@ -0,0 +1,25 @@
+package com.ydtech.modules.admin.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+@Data
+@ApiModel(value = "直接、间接合伙人入参")
+public class SysPartnerAPPPageDto {
+
+    @ApiModelProperty(value = "页数")
+    private int pageNum;
+
+    @ApiModelProperty(value = "每页条数")
+    private int pageSize;
+
+    @ApiModelProperty(value = "推荐等级(0:直接推荐;1:间接推荐)")
+    private int source;
+
+    @ApiModelProperty(value = "合伙人姓名")
+    private String userName;
+
+
+}

+ 50 - 0
src/main/java/com/ydtech/modules/admin/model/vo/AgencyTeamVo.java

@@ -0,0 +1,50 @@
+package com.ydtech.modules.admin.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@ApiModel(value = "机构下团队的信息实体")
+public class AgencyTeamVo {
+    /**
+     * 团队id
+     */
+    @ApiModelProperty(value = "团队id")
+    private String deptId;
+
+    /**
+     * 机构名称
+     */
+    @ApiModelProperty(value = "机构名称")
+    private String deptName;
+
+    /**
+     * 机构下总保费
+     */
+    @ApiModelProperty(value = "机构下总保费")
+    @JsonFormat(pattern = "0.00")
+    private BigDecimal sumpremium;
+
+    @ApiModelProperty(value = "保费收入")
+    @JsonFormat(pattern = "0.00")
+    private BigDecimal extractFee;
+
+    /**
+     * 团队人数
+     */
+    @ApiModelProperty(value = "团队人数")
+    private int deptManNum;
+
+    @ApiModelProperty(value = "团队数")
+    private int deptNum;
+
+
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    @ApiModelProperty(value = "保费提层计算开始时间")
+    private Date startTime;
+}

+ 47 - 0
src/main/java/com/ydtech/modules/admin/model/vo/SysPartnerAPPPageVo.java

@@ -0,0 +1,47 @@
+package com.ydtech.modules.admin.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@ApiModel(value = "直接、间接合伙人返参")
+public class SysPartnerAPPPageVo {
+
+    @ApiModelProperty(value = "员工id")
+    private String userId;
+    /**
+     * 员工姓名
+     */
+    @ApiModelProperty(value = "员工姓名")
+    private String userName;
+
+    @ApiModelProperty(value = "机构id")
+    private String deptId;
+    /**
+     * 机构name
+     */
+    @ApiModelProperty(value = "机构name")
+    private String deptName;
+
+    @ApiModelProperty(value = "总保费")
+    @JsonFormat(pattern = "0.00")
+    private BigDecimal sumpremium;
+
+    @ApiModelProperty(value = "抽成比例(总保费抽成)")
+    @JsonFormat(pattern = "0.00")
+    private String proportional;
+
+    @ApiModelProperty(value = "总保费抽成费用")
+    @JsonFormat(pattern = "0.00")
+    private BigDecimal extractFee;
+
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    @ApiModelProperty(value = "保费提层计算开始时间")
+    private Date startTime;
+
+}

+ 2 - 4
src/main/java/com/ydtech/modules/admin/service/SysAgencyLeaderService.java

@@ -4,10 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.modules.admin.model.SysAgencyLeader;
 import com.ydtech.modules.admin.model.SysDept;
 import com.ydtech.modules.admin.model.SysUser;
-import com.ydtech.modules.admin.model.dto.SysAgencyLeaderDto;
-import com.ydtech.modules.admin.model.dto.SysAgencyLeaderPageDto;
-import com.ydtech.modules.admin.model.dto.TeamInformationDto;
-import com.ydtech.modules.admin.model.dto.TeamUserInfoDto;
+import com.ydtech.modules.admin.model.dto.*;
 import com.ydtech.modules.admin.model.vo.*;
 import com.ydtech.modules.order.entity.BasePageResult;
 
@@ -54,6 +51,7 @@ public interface SysAgencyLeaderService extends IService<SysAgencyLeader> {
     BasePageResult<TeamUserInfoVo> queryTeamUser(TeamUserInfoDto teamUserInfoDto);
 
     BasePageResult<TeamInformation> queryTeamInfoPage(TeamInformationDto teamInformationDto);
+    BasePageResult<AgencyTeamVo> queryWorkroomPage(AgencyTeamDto agencyTeamDto);
 
     List<SysAgencyLeaderVo> queryAgencyLeader(String userId);
 

+ 4 - 0
src/main/java/com/ydtech/modules/admin/service/SysPartnerService.java

@@ -4,10 +4,12 @@ package com.ydtech.modules.admin.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.modules.admin.model.SysPartner;
 import com.ydtech.modules.admin.model.SysUser;
+import com.ydtech.modules.admin.model.dto.SysPartnerAPPPageDto;
 import com.ydtech.modules.admin.model.dto.SysPartnerDto;
 import com.ydtech.modules.admin.model.dto.SysPartnerPageDto;
 import com.ydtech.modules.admin.model.vo.AgencyExtractFee;
 import com.ydtech.modules.admin.model.vo.AgencyExtractFeeVo;
+import com.ydtech.modules.admin.model.vo.SysPartnerAPPPageVo;
 import com.ydtech.modules.admin.model.vo.SysUserPartner;
 import com.ydtech.modules.order.entity.BasePageResult;
 
@@ -34,4 +36,6 @@ public interface SysPartnerService extends IService<SysPartner> {
     boolean deleteById(Integer id);
 
     BasePageResult<AgencyExtractFeeVo> queryPartnerByPage(SysPartnerPageDto sysPartnerPageDto);
+
+    BasePageResult<SysPartnerAPPPageVo> SysPartnerAPPPage(SysPartnerAPPPageDto sysPartnerAPPPageDto);
 }

+ 163 - 57
src/main/java/com/ydtech/modules/admin/service/impl/SysAgencyLeaderServiceImpl.java

@@ -1,6 +1,7 @@
 package com.ydtech.modules.admin.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -9,10 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.aop.exception.DescribeException;
 import com.ydtech.modules.admin.dao.*;
 import com.ydtech.modules.admin.model.*;
-import com.ydtech.modules.admin.model.dto.SysAgencyLeaderDto;
-import com.ydtech.modules.admin.model.dto.SysAgencyLeaderPageDto;
-import com.ydtech.modules.admin.model.dto.TeamInformationDto;
-import com.ydtech.modules.admin.model.dto.TeamUserInfoDto;
+import com.ydtech.modules.admin.model.dto.*;
 import com.ydtech.modules.admin.model.vo.*;
 import com.ydtech.modules.admin.service.SysAgencyLeaderService;
 import com.ydtech.modules.admin.service.SysDeptService;
@@ -223,9 +221,8 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
     public List<SysAgencyLeaderVo> queryInfo(String id) {
         List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>()
                 .eq(SysAgencyLeader::getDelFlag, 1).likeRight(StringUtils.isNotEmpty(id),SysAgencyLeader::getDeptId,id));
-        List<SysAgencyLeaderVo> sysAgencyLeaderVos = BeanUtil.copyToList(sysAgencyLeaders, SysAgencyLeaderVo.class);
 
-        return sysAgencyLeaderVos;
+        return BeanUtil.copyToList(sysAgencyLeaders, SysAgencyLeaderVo.class);
     }
 
     @Override
@@ -239,7 +236,7 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
         Page<SysAgencyLeader> insOrdersPage = page(page, wrapper);
         List<SysAgencyLeader> records = insOrdersPage.getRecords();
         List<SysAgencyLeaderVo> sysAgencyLeaderVos = BeanUtil.copyToList(records, SysAgencyLeaderVo.class);
-        if (sysAgencyLeaderVos.size()>0) {
+        if (sysAgencyLeaderVos.size() > 0) {
             for (SysAgencyLeaderVo sysAgencyLeaderVo : sysAgencyLeaderVos) {
                 SysDept sysDept = sysDeptMapper.selectOne(new LambdaQueryWrapper<SysDept>().eq(SysDept::getId, sysAgencyLeaderVo.getDeptId()).eq(SysDept::getDelFlag, 0));
                 if (sysDept != null) {
@@ -324,24 +321,30 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                             agencyExtractFee.setStartTime(updateTime);
                         }
                         if (insOrderList.size() > 0) {
-                            for (InsOrders insOrders : insOrderList) {
-                                //查询订单下的所有子订单
-                                List<InsAreaCompany> insAreaCompanies = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>().eq(InsAreaCompany::getOrderno, insOrders.getOrderno())
-                                        .eq(InsAreaCompany::getOrderstatus, 3));
-                                if (insAreaCompanies.size() > 0) {
-                                    for (InsAreaCompany insAreaCompany : insAreaCompanies) {
-                                        //累加每一个子订单的交强险费用+商业险费用+驾意险费用
-                                        bigDecimal = bigDecimal.add(insAreaCompany.getJqpremium()).add(insAreaCompany.getSypremium()).add(insAreaCompany.getJypremium());
-
-                                    }
-                                }
+                            List<String> collect = insOrderList.stream().map(InsOrders::getOrderno).collect(Collectors.toList());
+                            //查询订单下的所有子订单
+                            List<InsAreaCompany> insAreaCompanies = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>()
+                                    .in(InsAreaCompany::getOrderno, collect)
+                                    .eq(InsAreaCompany::getOrderstatus, 3));
+                            if (insAreaCompanies.size() > 0) {
+                                BigDecimal jqpremium = insAreaCompanies.stream().map(InsAreaCompany::getJqpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+                                BigDecimal sypremium = insAreaCompanies.stream().map(InsAreaCompany::getSypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+                                BigDecimal jypremium = insAreaCompanies.stream().map(InsAreaCompany::getJypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+
+                                bigDecimal = jqpremium.add(sypremium).add(jypremium);
+//                                    for (InsAreaCompany insAreaCompany : insAreaCompanies) {
+//                                        //累加每一个子订单的交强险费用+商业险费用+驾意险费用
+//                                        bigDecimal = bigDecimal.add(insAreaCompany.getJqpremium()).add(insAreaCompany.getSypremium()).add(insAreaCompany.getJypremium());
+//
+//                                    }
                             }
                         }
                     }
                 }
                 agencyExtractFee.setSumpremium(bigDecimal);
                 //总保费*比例/100  保留两位小数
-                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()).divide(new BigDecimal("100"))).setScale(2, RoundingMode.HALF_UP);
+                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional())
+                        .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN);
                 agencyExtractFee.setExtractFee(multiply);
                 // 填充 已提现抽成费用和可提现抽成费用
                 List<SysAgencyFeeApproval> sysAgencyFeeApprovals = sysAgencyFeeApprovalMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApproval>()
@@ -402,21 +405,22 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                     agencyExtractFee.setStartTime(updateTime);
                 }
                 if (insOrderList.size() > 0) {
-                    for (InsOrders insOrders : insOrderList) {
-                        //查询订单下的所有子订单
-                        List<InsAreaCompany> insAreaCompanies = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>().eq(InsAreaCompany::getOrderno, insOrders.getOrderno())
-                                .eq(InsAreaCompany::getOrderstatus, 3));
-                        if (insAreaCompanies.size() > 0) {
-                            for (InsAreaCompany insAreaCompany : insAreaCompanies) {
-                                //累加每一个子订单的交强险费用+商业险费用+驾意险费用
-                                bigDecimal = bigDecimal.add(insAreaCompany.getJqpremium()).add(insAreaCompany.getSypremium()).add(insAreaCompany.getJypremium());
-
-                            }
-                        }
+                    List<String> collect = insOrderList.stream().map(InsOrders::getOrderno).collect(Collectors.toList());
+                    //查询订单下的所有子订单
+                    List<InsAreaCompany> insAreaCompanies = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>()
+                            .in(InsAreaCompany::getOrderno, collect)
+                            .eq(InsAreaCompany::getOrderstatus, 3));
+                    if (insAreaCompanies.size() > 0) {
+                        BigDecimal jqpremium = insAreaCompanies.stream().map(InsAreaCompany::getJqpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+                        BigDecimal sypremium = insAreaCompanies.stream().map(InsAreaCompany::getSypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+                        BigDecimal jypremium = insAreaCompanies.stream().map(InsAreaCompany::getJypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+
+                        bigDecimal = jqpremium.add(sypremium).add(jypremium);
                     }
                 }
                 agencyExtractFee.setSumpremium(bigDecimal);
-                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()).divide(new BigDecimal("100"))).setScale(2, RoundingMode.HALF_UP);
+                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional())
+                        .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN);
                 agencyExtractFee.setExtractFee(multiply);
                 // 填充 已提现抽成费用和可提现抽成费用
                 List<SysAgencyFeeApproval> sysAgencyFeeApprovals = sysAgencyFeeApprovalMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApproval>()
@@ -451,8 +455,8 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
 
         Page<SysAgencyLeader> page = new Page<>(sysAgencyLeaderPageDto.getPageNum(), sysAgencyLeaderPageDto.getPageSize());
         LambdaQueryWrapper<SysAgencyLeader> wrapper = new LambdaQueryWrapper<>();
-        wrapper.like(StringUtils.isNotEmpty(sysAgencyLeaderPageDto.getUserId()),SysAgencyLeader::getUserId,sysAgencyLeaderPageDto.getUserId());
-        wrapper.like(StringUtils.isNotEmpty(sysAgencyLeaderPageDto.getUserName()),SysAgencyLeader::getUserName,sysAgencyLeaderPageDto.getUserName());
+        wrapper.like(StringUtils.isNotEmpty(sysAgencyLeaderPageDto.getUserId()), SysAgencyLeader::getUserId, sysAgencyLeaderPageDto.getUserId());
+        wrapper.like(StringUtils.isNotEmpty(sysAgencyLeaderPageDto.getUserName()), SysAgencyLeader::getUserName, sysAgencyLeaderPageDto.getUserName());
         wrapper.eq(SysAgencyLeader::getDelFlag, 1);
 
         Page<SysAgencyLeader> insOrdersPage = page(page, wrapper);
@@ -486,22 +490,22 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                     agencyExtractFee.setStartTime(updateTime);
                 }
                 if (insOrderList.size() > 0) {
-                    for (InsOrders insOrders : insOrderList) {
-                        //查询订单下的所有子订单
-                        List<InsAreaCompany> insAreaCompanies = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>()
-                                .eq(InsAreaCompany::getOrderno, insOrders.getOrderno())
-                                .eq(InsAreaCompany::getOrderstatus, 3));
-                        if (insAreaCompanies.size() > 0) {
-                            for (InsAreaCompany insAreaCompany : insAreaCompanies) {
-                                //累加每一个子订单的交强险费用+商业险费用+驾意险费用
-                                bigDecimal = bigDecimal.add(insAreaCompany.getJqpremium()).add(insAreaCompany.getSypremium()).add(insAreaCompany.getJypremium());
-
-                            }
-                        }
+                    List<String> collect = insOrderList.stream().map(InsOrders::getOrderno).collect(Collectors.toList());
+                    //查询订单下的所有子订单
+                    List<InsAreaCompany> insAreaCompanies = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>()
+                            .in(InsAreaCompany::getOrderno, collect)
+                            .eq(InsAreaCompany::getOrderstatus, 3));
+                    if (insAreaCompanies.size() > 0) {
+                        BigDecimal jqpremium = insAreaCompanies.stream().map(InsAreaCompany::getJqpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+                        BigDecimal sypremium = insAreaCompanies.stream().map(InsAreaCompany::getSypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+                        BigDecimal jypremium = insAreaCompanies.stream().map(InsAreaCompany::getJypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+
+                        bigDecimal = jqpremium.add(sypremium).add(jypremium);
                     }
                 }
                 agencyExtractFee.setSumpremium(bigDecimal);
-                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()).divide(new BigDecimal("100"))).setScale(2, RoundingMode.HALF_UP);
+                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional())
+                        .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN);
                 agencyExtractFee.setExtractFee(multiply);
                 // 填充 已提现抽成费用和可提现抽成费用
                 List<SysAgencyFeeApproval> sysAgencyFeeApprovals = sysAgencyFeeApprovalMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApproval>()
@@ -544,7 +548,6 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
         SysAgencyLeader sysAgencyLeaders = sysAgencyLeaderMapper.selectOne(new LambdaQueryWrapper<SysAgencyLeader>().eq(SysAgencyLeader::getUserId, userId)
                 .eq(SysAgencyLeader::getDelFlag, 1));
         if (sysAgencyLeaders == null) return null;
-//        String[] split = sysAgencyLeaders.getSource().split(",");
 
         Page<SysDept> page = new Page<>(teamInformationDto.getPageNum(), teamInformationDto.getPageSize());
 
@@ -626,6 +629,114 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                 informationList);
     }
 
+    @Override
+    public BasePageResult<AgencyTeamVo> queryWorkroomPage(AgencyTeamDto agencyTeamDto) {
+        List<AgencyTeamVo> agencyTeamVoList = new ArrayList<>();
+        String userId = BaseController.getUserId();
+        int source = agencyTeamDto.getSource();
+        List<SysRelationPerson> sysRelationPersonList = null;
+        //判断是0:直接推荐;1:间接推荐
+        if (source == 0) {
+            sysRelationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
+                    .eq(SysRelationPerson::getSuggestId, userId)
+                    .eq(SysRelationPerson::getDelFlag, 1)
+                    .eq(SysRelationPerson::getSource, 0)
+                    .eq(SysRelationPerson::getType, 1));
+        } else {
+            sysRelationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
+                    .eq(SysRelationPerson::getSuggestId, userId)
+                    .eq(SysRelationPerson::getDelFlag, 1)
+                    .eq(SysRelationPerson::getSource, 1)
+                    .eq(SysRelationPerson::getType, 1));
+
+        }
+        List<String> ids = sysRelationPersonList.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
+        if (CollectionUtil.isNotEmpty(ids)) {
+            //分页查询推荐的机构信息
+            Page<SysAgencyLeader> page = new Page<>(agencyTeamDto.getPageNum(), agencyTeamDto.getPageSize());
+
+            LambdaQueryWrapper<SysAgencyLeader> wrapper = new LambdaQueryWrapper<>();
+            wrapper.like(StringUtils.isNotEmpty(agencyTeamDto.getDeptName()), SysAgencyLeader::getDeptName, agencyTeamDto.getDeptName());
+            wrapper.in(SysAgencyLeader::getUserId, ids);
+
+            Page<SysAgencyLeader> insOrdersPage = page(page, wrapper);
+            List<SysAgencyLeader> leaderList = insOrdersPage.getRecords();
+            if (leaderList.size() > 0) {
+                for (SysAgencyLeader sysAgencyLeader : leaderList) {
+                    //总保费
+                    BigDecimal bigDecimal = new BigDecimal("0.00");
+                    int deptManNum = 0;
+                    AgencyTeamVo agencyTeamVo = new AgencyTeamVo();
+                    agencyTeamVo.setDeptId(sysAgencyLeader.getDeptId());
+                    agencyTeamVo.setDeptName(sysAgencyLeader.getDeptName());
+                    //获取机构下的团队
+                    List<SysDept> sysDeptList = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>()
+                            .likeRight(SysDept::getId, sysAgencyLeader.getDeptId())
+                            .isNull(SysDept::getComlevel).eq(SysDept::getDelFlag, 0)
+                            .eq(SysDept::getManagementSource, sysAgencyLeader.getSource()));
+
+                    agencyTeamVo.setDeptNum(sysDeptList.size());
+                    if (sysDeptList.size() > 0) {
+                        for (SysDept sysDept : sysDeptList) {
+
+                            List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
+                                    .likeRight(SysUser::getId, sysDept.getId()).eq(SysUser::getStatus, 1));
+                            deptManNum = deptManNum + sysUsers.size();
+                            List<InsOrders> insOrderList;
+                            //筛选订单,选择时间
+                            Date updateTime = sysAgencyLeader.getUpdateTime();
+                            if (updateTime == null) {
+                                //机构下所有订单
+                                insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
+                                        .likeRight(InsOrders::getDeptid, sysDept.getId())
+                                        .ge(InsOrders::getCreatetime, sysAgencyLeader.getCreateTime()));
+                                agencyTeamVo.setStartTime(sysAgencyLeader.getCreateTime());
+
+                            } else {
+                                insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
+                                        .likeRight(InsOrders::getDeptid, sysDept.getId())
+                                        .ge(InsOrders::getCreatetime, updateTime));
+                                agencyTeamVo.setStartTime(updateTime);
+                            }
+
+                            if (insOrderList.size() > 0) {
+                                List<String> collect = insOrderList.stream().map(InsOrders::getOrderno).collect(Collectors.toList());
+                                //查询订单下的所有子订单
+                                List<InsAreaCompany> insAreaCompanies = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>()
+                                        .in(InsAreaCompany::getOrderno, collect)
+                                        .eq(InsAreaCompany::getOrderstatus, 3));
+                                if (insAreaCompanies.size() > 0) {
+                                    BigDecimal jqpremium = insAreaCompanies.stream().map(InsAreaCompany::getJqpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+                                    BigDecimal sypremium = insAreaCompanies.stream().map(InsAreaCompany::getSypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+                                    BigDecimal jypremium = insAreaCompanies.stream().map(InsAreaCompany::getJypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+
+                                    bigDecimal = jqpremium.add(sypremium).add(jypremium);
+
+                                }
+                            }
+
+                        }
+
+                    }
+                    agencyTeamVo.setDeptManNum(deptManNum);
+                    agencyTeamVo.setSumpremium(bigDecimal);
+                    BigDecimal multiply = bigDecimal.multiply(new BigDecimal(sysAgencyLeader.getProportional())
+                            .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN);
+                    agencyTeamVo.setExtractFee(multiply);
+                    agencyTeamVoList.add(agencyTeamVo);
+
+                }
+
+            }
+
+            return new BasePageResult<>(agencyTeamDto.getPageNum(), page.getSize(), insOrdersPage.getTotal(), page.getPages(),
+                    agencyTeamVoList);
+        }
+
+        return new BasePageResult<>(agencyTeamDto.getPageNum(), agencyTeamDto.getPageSize(), 0L, 0L,
+                agencyTeamVoList);
+    }
+
     @Override
     public List<SysAgencyLeaderVo> queryAgencyLeader(String userId) {
         List<SysRelationPerson> sysRelationPeople = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
@@ -656,11 +767,6 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
         Page<SysUser> insOrdersPage = sysUserService.page(page, wrapper);
         List<SysUser> sysUsers = insOrdersPage.getRecords();
 
-
-//        //团队下的人员 报价笔数 核保笔数 出单笔数 签单保费
-//        List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
-//                .likeRight(SysUser::getId, teamUserInfoDto.getDeptId())
-//                .eq(SysUser::getStatus, 1));
         //总保费
         for (SysUser sysUser : sysUsers) {
             List<InsOrders> insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
@@ -680,12 +786,12 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                         .in(InsAreaCompany::getOrderno, orderNoList)
                         .eq(InsAreaCompany::getOrderstatus, 3));
                 if (insAreaCompanies.size() > 0) {
-                    //
-                    for (InsAreaCompany insAreaCompany : insAreaCompanies) {
-                        //累加每一个子订单的交强险费用+商业险费用+驾意险费用
-                        bigDecimal = bigDecimal.add(insAreaCompany.getJqpremium()).add(insAreaCompany.getSypremium()).add(insAreaCompany.getJypremium());
+                    //累加每一个子订单的交强险费用+商业险费用+驾意险费用
+                    BigDecimal jqpremium = insAreaCompanies.stream().map(InsAreaCompany::getJqpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+                    BigDecimal sypremium = insAreaCompanies.stream().map(InsAreaCompany::getSypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+                    BigDecimal jypremium = insAreaCompanies.stream().map(InsAreaCompany::getJypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
 
-                    }
+                    bigDecimal = jqpremium.add(sypremium).add(jypremium);
                 }
                 //出单笔数
                 teamUserInfoVo.setIssueNum(insAreaCompanies.size());

+ 139 - 17
src/main/java/com/ydtech/modules/admin/service/impl/SysPartnerServiceImpl.java

@@ -2,16 +2,20 @@ package com.ydtech.modules.admin.service.impl;
 
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollectionUtil;
 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.aop.exception.DescribeException;
 import com.ydtech.modules.admin.dao.*;
 import com.ydtech.modules.admin.model.*;
+import com.ydtech.modules.admin.model.dto.SysPartnerAPPPageDto;
 import com.ydtech.modules.admin.model.dto.SysPartnerDto;
 import com.ydtech.modules.admin.model.dto.SysPartnerPageDto;
 import com.ydtech.modules.admin.model.vo.AgencyExtractFeeVo;
+import com.ydtech.modules.admin.model.vo.SysPartnerAPPPageVo;
 import com.ydtech.modules.admin.model.vo.SysUserPartner;
+import com.ydtech.modules.admin.model.vo.TeamInformation;
 import com.ydtech.modules.admin.service.SysPartnerService;
 import com.ydtech.modules.admin.service.SysUserService;
 import com.ydtech.modules.base.controller.BaseController;
@@ -68,7 +72,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
 
     @Override
     public List<SysPartner> queryRecommendAndPartner(String id) {
-        return sysPartnerMapper.selectList(new LambdaQueryWrapper<SysPartner>().eq(SysPartner::getDelFlag, 1).likeRight(SysPartner::getUserId,id));
+        return sysPartnerMapper.selectList(new LambdaQueryWrapper<SysPartner>().eq(SysPartner::getDelFlag, 1).likeRight(SysPartner::getUserId, id));
     }
 
     @Override
@@ -77,13 +81,13 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
 
         LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(SysUser::getStatus, 1);
-        wrapper.likeRight(StringUtils.isNotEmpty(sysPartnerPageDto.getDeptId()),SysUser::getId, sysPartnerPageDto.getDeptId());
+        wrapper.likeRight(StringUtils.isNotEmpty(sysPartnerPageDto.getDeptId()), SysUser::getId, sysPartnerPageDto.getDeptId());
         wrapper.notLike(SysUser::getId, "M");
 
         Page<SysUser> insOrdersPage = sysUserService.page(page, wrapper);
         List<SysUser> records = insOrdersPage.getRecords();
         List<SysUserPartner> sysUserPartners = BeanUtil.copyToList(records, SysUserPartner.class);
-        if (sysUserPartners.size()>0) {
+        if (sysUserPartners.size() > 0) {
             for (SysUserPartner user : sysUserPartners) {
                 SysDept sysDept = sysDeptMapper.selectOne(new LambdaQueryWrapper<SysDept>().eq(SysDept::getId, user.getDeptId()).eq(SysDept::getDelFlag, 0));
                 user.setParentId(sysDept.getParentId());
@@ -128,8 +132,8 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
         SysPartner sysPartner = BeanUtil.copyProperties(sysPartnerDto, SysPartner.class);
         sysPartner.setCreateTime(new Date());
         sysPartner.setCreateBy(BaseController.getUser().getId());
-        boolean b = sysPartnerMapper.insert(sysPartner)>0;
-        if (sysPartnerDto.getSuggestId()!=null) {
+        boolean b = sysPartnerMapper.insert(sysPartner) > 0;
+        if (sysPartnerDto.getSuggestId() != null) {
             SysRelationPerson sysRelationPerson = new SysRelationPerson();
             sysRelationPerson.setAgencyLeaderId(sysPartnerDto.getUserId());
             sysRelationPerson.setSuggestId(sysPartnerDto.getSuggestId());
@@ -144,7 +148,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
             List<SysRelationPerson> sysRelationPeople = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
                     .eq(SysRelationPerson::getAgencyLeaderId, sysPartnerDto.getSuggestId())
                     .eq(SysRelationPerson::getType, 0));
-            if (sysRelationPeople.size()>0) {
+            if (sysRelationPeople.size() > 0) {
                 for (SysRelationPerson relationPerson : sysRelationPeople) {
                     SysRelationPerson sysRelationPerson1 = new SysRelationPerson();
                     sysRelationPerson1.setAgencyLeaderId(sysPartnerDto.getUserId());
@@ -193,7 +197,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
 
         Page<SysPartner> insOrdersPage = page(page, wrapper);
         List<SysPartner> sysPartnerList = insOrdersPage.getRecords();
-        if (sysPartnerList.size()>0) {
+        if (sysPartnerList.size() > 0) {
             for (SysPartner sysPartner : sysPartnerList) {
                 AgencyExtractFeeVo agencyExtractFee = new AgencyExtractFeeVo();
                 //总保费
@@ -212,7 +216,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
                 agencyExtractFee.setDeptName(sysDept.getName());
                 //查询所有推荐的机构负责人核算总保费
                 List<SysRelationPerson> sysRelationPeople = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
-                        .eq(SysRelationPerson::getSuggestId, sysPartner.getUserId()).eq(SysRelationPerson::getType,1));
+                        .eq(SysRelationPerson::getSuggestId, sysPartner.getUserId()).eq(SysRelationPerson::getType, 1));
                 if (sysRelationPeople.size() > 0) {
                     List<String> agencyLeaderIds = sysRelationPeople.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
                     for (String agencyLeaderId : agencyLeaderIds) {
@@ -238,24 +242,26 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
                                 agencyExtractFee.setStartTime(updateTime);
                             }
                             if (insOrderList.size() > 0) {
-                                for (InsOrders insOrders : insOrderList) {
+                                List<String> collect = insOrderList.stream().map(InsOrders::getOrderno).collect(Collectors.toList());
                                     //查询订单下的所有子订单
                                     List<InsAreaCompany> insAreaCompanies = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>()
-                                            .eq(InsAreaCompany::getOrderno, insOrders.getOrderno())
+                                            .in(InsAreaCompany::getOrderno, collect)
                                             .eq(InsAreaCompany::getOrderstatus, 3));
                                     if (insAreaCompanies.size() > 0) {
-                                        for (InsAreaCompany insAreaCompany : insAreaCompanies) {
-                                            //累加每一个子订单的交强险费用+商业险费用+驾意险费用
-                                            bigDecimal = bigDecimal.add(insAreaCompany.getJqpremium()).add(insAreaCompany.getSypremium()).add(insAreaCompany.getJypremium());
+                                        //累加每一个子订单的交强险费用+商业险费用+驾意险费用
+                                        BigDecimal jqpremium = insAreaCompanies.stream().map(InsAreaCompany::getJqpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+                                        BigDecimal sypremium = insAreaCompanies.stream().map(InsAreaCompany::getSypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+                                        BigDecimal jypremium = insAreaCompanies.stream().map(InsAreaCompany::getJypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
 
-                                        }
+                                        bigDecimal = jqpremium.add(sypremium).add(jypremium);
                                     }
-                                }
+
                             }
                         }
                     }
                     agencyExtractFee.setSumpremium(bigDecimal);
-                    BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()).divide(new BigDecimal("100"))).setScale(2, RoundingMode.HALF_UP);
+                    BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional())
+                            .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN);
                     agencyExtractFee.setExtractFee(multiply);
                     // 填充 已提现抽成费用和可提现抽成费用
                     List<SysAgencyFeeApproval> sysAgencyFeeApprovals = sysAgencyFeeApprovalMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApproval>()
@@ -272,7 +278,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
                         agencyExtractFee.setHistoryFee(historyFee);
                         //可提现 = 总抽成-已提现
                         agencyExtractFee.setCashFee(multiply.subtract(historyFee));
-                    }else {
+                    } else {
                         agencyExtractFee.setHistoryFee(new BigDecimal("0.00"));
                         agencyExtractFee.setCashFee(multiply.subtract(new BigDecimal("0.00")));
                     }
@@ -288,10 +294,126 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
 
     }
 
+    @Override
+    public BasePageResult<SysPartnerAPPPageVo> SysPartnerAPPPage(SysPartnerAPPPageDto sysPartnerAPPPageDto) {
+        List<SysPartnerAPPPageVo> sysPartnerAPPPageVoList = new ArrayList<>();
+        String userId = BaseController.getUserId();
+        int source = sysPartnerAPPPageDto.getSource();
+        List<SysRelationPerson> sysRelationPersonList = null;
+        //判断是0:直接推荐;1:间接推荐
+        if (source == 0) {
+            sysRelationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
+                    .eq(SysRelationPerson::getSuggestId, userId)
+                    .eq(SysRelationPerson::getDelFlag, 1)
+                    .eq(SysRelationPerson::getSource, 0)
+                    .eq(SysRelationPerson::getType, 0));
 
+        } else {
+            sysRelationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
+                    .eq(SysRelationPerson::getSuggestId, userId)
+                    .eq(SysRelationPerson::getDelFlag, 1)
+                    .eq(SysRelationPerson::getSource, 1)
+                    .eq(SysRelationPerson::getType, 0));
 
+        }
+        List<String> ids = sysRelationPersonList.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
+        if (CollectionUtil.isNotEmpty(ids)) {
+            //分页查询合伙人信息
+            Page<SysPartner> page = new Page<>(sysPartnerAPPPageDto.getPageNum(), sysPartnerAPPPageDto.getPageSize());
+
+            LambdaQueryWrapper<SysPartner> wrapper = new LambdaQueryWrapper<>();
+            wrapper.like(StringUtils.isNotEmpty(sysPartnerAPPPageDto.getUserName()), SysPartner::getUserName, sysPartnerAPPPageDto.getUserName());
+            wrapper.in(SysPartner::getUserId, ids);
+
+            Page<SysPartner> insOrdersPage = page(page, wrapper);
+            List<SysPartner> sysPartnerList = insOrdersPage.getRecords();
+            if (sysPartnerList.size() > 0) {
+                for (SysPartner sysPartner : sysPartnerList) {
+                    //总保费
+                    BigDecimal bigDecimal = new BigDecimal("0.00");
+                    SysPartnerAPPPageVo sysPartnerAPPPageVo = new SysPartnerAPPPageVo();
+                    sysPartnerAPPPageVo.setUserId(sysPartner.getUserId());
+                    sysPartnerAPPPageVo.setUserName(sysPartner.getUserName());
+                    //填充机构信息
+                    SysUser sysUser = sysUserMapper.selectOne(new LambdaQueryWrapper<SysUser>()
+                            .eq(SysUser::getId, sysPartner.getUserId())
+                            .eq(SysUser::getStatus, 1));
+                    SysDept sysDept = sysDeptMapper.selectOne(new LambdaQueryWrapper<SysDept>()
+                            .eq(SysDept::getId, sysUser.getDeptId()).eq(SysDept::getDelFlag, 0));
+                    sysPartnerAPPPageVo.setDeptId(sysDept.getId());
+                    sysPartnerAPPPageVo.setDeptName(sysDept.getName());
+                    sysPartnerAPPPageVo.setProportional(sysPartner.getProportional());
+
+                    List<SysRelationPerson> relationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
+                            .eq(SysRelationPerson::getSuggestId, sysPartner.getUserId())
+                            .eq(SysRelationPerson::getDelFlag, 1)
+                            .eq(SysRelationPerson::getType, 1));
+                    if (relationPersonList.size() > 0) {
+                        List<String> agencyLeaderIds = relationPersonList.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
+                        List<SysAgencyLeader> leaderList = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>()
+                                .eq(SysAgencyLeader::getDelFlag, 1).in(SysAgencyLeader::getUserId, agencyLeaderIds));
+                        for (SysAgencyLeader sysAgencyLeader : leaderList) {
+                            //获取机构下的团队
+                            List<SysDept> sysDeptList = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>()
+                                    .likeRight(SysDept::getId, sysAgencyLeader.getDeptId())
+                                    .isNull(SysDept::getComlevel).eq(SysDept::getDelFlag, 0)
+                                    .eq(SysDept::getManagementSource, sysAgencyLeader.getSource()));
+                            if (sysDeptList.size() > 0) {
+
+                                for (SysDept sysDept1 : sysDeptList) {
+
+                                    List<InsOrders> insOrderList;
+                                    //筛选订单,选择时间
+                                    Date updateTime = sysAgencyLeader.getUpdateTime();
+                                    if (updateTime == null) {
+                                        //机构下所有订单
+                                        insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
+                                                .likeRight(InsOrders::getDeptid, sysDept1.getId())
+                                                .ge(InsOrders::getCreatetime, sysAgencyLeader.getCreateTime()));
+                                        sysPartnerAPPPageVo.setStartTime(sysAgencyLeader.getCreateTime());
+
+                                    } else {
+                                        insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
+                                                .likeRight(InsOrders::getDeptid, sysDept1.getId())
+                                                .ge(InsOrders::getCreatetime, updateTime));
+                                        sysPartnerAPPPageVo.setStartTime(updateTime);
+                                    }
 
+                                    if (insOrderList.size() > 0) {
+                                        List<String> collect = insOrderList.stream().map(InsOrders::getOrderno).collect(Collectors.toList());
+                                        //查询订单下的所有子订单
+                                        List<InsAreaCompany> insAreaCompanies = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>()
+                                                .in(InsAreaCompany::getOrderno, collect)
+                                                .eq(InsAreaCompany::getOrderstatus, 3));
+                                        if (insAreaCompanies.size() > 0) {
+                                            BigDecimal jqpremium = insAreaCompanies.stream().map(InsAreaCompany::getJqpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+                                            BigDecimal sypremium = insAreaCompanies.stream().map(InsAreaCompany::getSypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+                                            BigDecimal jypremium = insAreaCompanies.stream().map(InsAreaCompany::getJypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+
+                                            bigDecimal = jqpremium.add(sypremium).add(jypremium);
+                                        }
+                                    }
 
+                                }
+                            }
+                        }
+                    }
+                    sysPartnerAPPPageVo.setSumpremium(bigDecimal);
+                    BigDecimal multiply = bigDecimal.multiply(new BigDecimal(sysPartner.getProportional())
+                            .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN);
+                    sysPartnerAPPPageVo.setExtractFee(multiply);
+                    sysPartnerAPPPageVoList.add(sysPartnerAPPPageVo);
+
+                }
+
+            }
+
+            return new BasePageResult<>(sysPartnerAPPPageDto.getPageNum(), page.getSize(), insOrdersPage.getTotal(), page.getPages(),
+                    sysPartnerAPPPageVoList);
+        }
+        return new BasePageResult<>(sysPartnerAPPPageDto.getPageNum(), sysPartnerAPPPageDto.getPageSize(), 0L, 0L,
+                sysPartnerAPPPageVoList);
+    }
 
 
 }