Browse Source

个代人员详情调整

haoyu 2 years ago
parent
commit
77ae00990b

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

@@ -15,7 +15,11 @@ import lombok.Getter;
 public enum QuMarks {
 public enum QuMarks {
 
 
     COMPANY_MARK(1, "保险公司"),
     COMPANY_MARK(1, "保险公司"),
-    USER_MARK(2,"用户");
+
+    USER_MARK(2,"用户"),
+
+    USER_COMPANY_MARK(3,"用户/保险公司/详情");
+
 
 
     private final Integer code;
     private final Integer code;
 
 

+ 4 - 1
src/main/java/com/ydtech/modules/admin/dao/SysUserMapper.java

@@ -168,8 +168,11 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
     List<QuTeamNum> getUser(@Param("quTeamNumDto")QuTeamNumDto quTeamNumDto);
     List<QuTeamNum> getUser(@Param("quTeamNumDto")QuTeamNumDto quTeamNumDto);
 
 
     List<QuUserNum> getUserNum(@Param("quUserNumDto") QuUserNumDto quUserNumDto);
     List<QuUserNum> getUserNum(@Param("quUserNumDto") QuUserNumDto quUserNumDto);
+    List<QuUserNum> getMainWaitAuditSum(@Param("quUserNumDto") QuUserNumDto quUserNumDto);
+    List<QuUserNum> getMainWaitPaySum(@Param("quUserNumDto") QuUserNumDto quUserNumDto);
+    List<QuUserNum> getMainAcceptInsuranceSum(@Param("quUserNumDto") QuUserNumDto quUserNumDto);
 
 
-    List<QuUserNum> getMainOrderDetails(@Param("quUserNumDto") QuUserNumDto quUserNumDto);
+//    List<QuUserNum> getMainOrderDetails(@Param("quUserNumDto") QuUserNumDto quUserNumDto);
 
 
     List<QuUserNum> getUserByCompany(@Param("quUserNumDto") QuUserNumDto quUserNumDto);
     List<QuUserNum> getUserByCompany(@Param("quUserNumDto") QuUserNumDto quUserNumDto);
     List<QuUserNum> getComMainWaitAuditSum(@Param("quUserNumDto") QuUserNumDto quUserNumDto);
     List<QuUserNum> getComMainWaitAuditSum(@Param("quUserNumDto") QuUserNumDto quUserNumDto);

+ 142 - 124
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -814,7 +814,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             // 根据查询条件获取用户数量统计信息
             // 根据查询条件获取用户数量统计信息
             quUserNumDto.setUserIds(strIds);
             quUserNumDto.setUserIds(strIds);
             List<QuUserNum> userNums = sysUserMapper.getUserNum(quUserNumDto);
             List<QuUserNum> userNums = sysUserMapper.getUserNum(quUserNumDto);
-            List<QuUserNum> orderDetails = sysUserMapper.getMainOrderDetails(quUserNumDto);
+            // 获取地区主订单待核保订单数量
+            List<QuUserNum> mainWaitAuditSums = sysUserMapper.getMainWaitAuditSum(quUserNumDto);
+            // 获取地区主订单已核保待缴费订单数量
+            List<QuUserNum> mainWaitPaySums = sysUserMapper.getMainWaitPaySum(quUserNumDto);
+            // 获取地区主订单已承包订单数量
+            List<QuUserNum> mainAcceptInsuranceSums = sysUserMapper.getMainAcceptInsuranceSum(quUserNumDto);
             // 根据区域名称匹配用户数量统计信息,并构造最终返回的结果列表
             // 根据区域名称匹配用户数量统计信息,并构造最终返回的结果列表
             for (QuUserNum quUserNum : userNums) {
             for (QuUserNum quUserNum : userNums) {
                 for (SysArea sysArea : areaList) {
                 for (SysArea sysArea : areaList) {
@@ -826,13 +831,23 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                         }
                         }
                     }
                     }
                 }
                 }
-                for (QuUserNum orderDetail : orderDetails) {
-                    if (quUserNum.getAreaCode().equals(orderDetail.getAreaCode())) {
-                        quUserNum.setMainAcceptInsuranceSum(orderDetail.getMainAcceptInsuranceSum());
-                        quUserNum.setMainWaitAuditSum(orderDetail.getMainWaitAuditSum());
-                        quUserNum.setMainWaitPaySum(orderDetail.getMainWaitPaySum());
+
+                    for (QuUserNum mainWaitAuditSum : mainWaitAuditSums) {
+                        if (quUserNum.getAreaCode().equals(mainWaitAuditSum.getAreaCode())) {
+                            quUserNum.setMainWaitAuditSum(mainWaitAuditSum.getMainWaitAuditSum());
+                        }
                     }
                     }
-                }
+                    for (QuUserNum mainWaitPaySum : mainWaitPaySums) {
+                        if (quUserNum.getAreaCode().equals(mainWaitPaySum.getAreaCode())) {
+                            quUserNum.setMainWaitPaySum(mainWaitPaySum.getMainWaitPaySum());
+                        }
+                    }
+                    for (QuUserNum mainAcceptInsuranceSum : mainAcceptInsuranceSums) {
+                        if (quUserNum.getAreaCode().equals(mainAcceptInsuranceSum.getAreaCode())) {
+                            quUserNum.setMainAcceptInsuranceSum(mainAcceptInsuranceSum.getMainAcceptInsuranceSum());
+                        }
+                    }
+
                 quUserNums.add(quUserNum);
                 quUserNums.add(quUserNum);
             }
             }
         }
         }
@@ -865,96 +880,40 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Override
     @Override
     public IPage<QuUserNum> getQuUserByCompany(QuUserNumDto quUserNumDto) {
     public IPage<QuUserNum> getQuUserByCompany(QuUserNumDto quUserNumDto) {
 
 
-        // 获取系统中的所有用户
-        List<SysUser> users = list();
-
-        // 创建查询包装器,用于查询指定用户ID的用
-        LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(SysUser::getId, quUserNumDto.getUserId());
-        // 查询指定用户ID的用户,即第一级下属
-        List<SysUser> usersLevel1 = list(queryWrapper);
-
-        // 用于存储所有下属的ID
-        List<String> strIds = new ArrayList<>();
-        // 递归获取第一级下属及其所有下属的ID
-        findChildren(usersLevel1, users, strIds);
-
-        // 如果未指定区域码,返回空分页对
-        if (Objects.isNull(quUserNumDto.getAreaCode())) {
-            return new Page<>();
-        }
-
-        // 根据区域码筛选有效的下属ID
-        strIds.removeIf(id -> !id.contains("99" + quUserNumDto.getAreaCode()));
-
-        // 如果筛选后没有有效的下属ID,返回空分页对象
-        if (strIds.size() == 0) {
-            return new Page<>();
-        }
-
-        // 设置查询条件中的用户ID列表
-        quUserNumDto.setUserIds(strIds);
-
-        List<QuUserNum> deptByCompany = new ArrayList<>();
-
-        if (quUserNumDto.getQuMarks().equals(QuMarks.COMPANY_MARK.getCode())) {
-            // 根据公司和用户ID列表查询用户数量统计信息
-            deptByCompany = sysUserMapper.getUserByCompany(quUserNumDto);
-            // 获取公司主订单待核保订单数量
-            List<QuUserNum> mainWaitAuditSums = sysUserMapper.getComMainWaitAuditSum(quUserNumDto);
-            // 获取公司主订单已核保待缴费订单数量
-            List<QuUserNum> mainWaitPaySums = sysUserMapper.getComMainWaitPaySum(quUserNumDto);
-            // 获取公司主订单已承包订单数量
-            List<QuUserNum> mainAcceptInsuranceSums = sysUserMapper.getComMainAcceptInsuranceSum(quUserNumDto);
-
-            for (QuUserNum quUserNum : deptByCompany) {
-                for (QuUserNum mainWaitAuditSum : mainWaitAuditSums) {
-                    if (quUserNum.getCompanyId().equals(mainWaitAuditSum.getCompanyId())) {
-                        quUserNum.setMainWaitAuditSum(mainWaitAuditSum.getMainWaitAuditSum());
-                    }
-                }
-                for (QuUserNum mainWaitPaySum : mainWaitPaySums) {
-                    if (quUserNum.getCompanyId().equals(mainWaitPaySum.getCompanyId())) {
-                        quUserNum.setMainWaitPaySum(mainWaitPaySum.getMainWaitPaySum());
-                    }
-                }
-                for (QuUserNum mainAcceptInsuranceSum : mainAcceptInsuranceSums) {
-                    if (quUserNum.getCompanyId().equals(mainAcceptInsuranceSum.getCompanyId())) {
-                        quUserNum.setMainAcceptInsuranceSum(mainAcceptInsuranceSum.getMainAcceptInsuranceSum());
-                    }
-                }
+        //查询单个用户的详情时不需要区域code
+        if (!quUserNumDto.getQuMarks().equals(QuMarks.USER_COMPANY_MARK.getCode())) {
+            // 获取系统中的所有用户
+            List<SysUser> users = list();
+
+            // 创建查询包装器,用于查询指定用户ID的用
+            LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(SysUser::getId, quUserNumDto.getUserId());
+            // 查询指定用户ID的用户,即第一级下属
+            List<SysUser> usersLevel1 = list(queryWrapper);
+
+            // 用于存储所有下属的ID
+            List<String> strIds = new ArrayList<>();
+            // 递归获取第一级下属及其所有下属的ID
+            findChildren(usersLevel1, users, strIds);
+            // 如果未指定区域码,返回空分页对
+            if (Objects.isNull(quUserNumDto.getAreaCode())) {
+                return new Page<>();
             }
             }
-
-        } else if (quUserNumDto.getQuMarks().equals(QuMarks.USER_MARK.getCode())) {
-            // 根据公司和用户ID列表查询用户数量统计信息
-            deptByCompany = sysUserMapper.getUserDetail(quUserNumDto);
-
-            // 获取用户主订单待核保订单数量
-            List<QuUserNum> mainWaitAuditSums = sysUserMapper.getUserMainWaitAuditSum(quUserNumDto);
-            // 获取用户主订单已核保待缴费订单数量
-            List<QuUserNum> mainWaitPaySums = sysUserMapper.getUserMainWaitPaySum(quUserNumDto);
-            // 获取用户主订单已承包订单数量
-            List<QuUserNum> mainAcceptInsuranceSums = sysUserMapper.getUserMainAcceptInsuranceSum(quUserNumDto);
-
-            for (QuUserNum quUserNum : deptByCompany) {
-                for (QuUserNum mainWaitAuditSum : mainWaitAuditSums) {
-                    if (quUserNum.getUserId().equals(mainWaitAuditSum.getUserId()) && quUserNum.getCompanyId().equals(mainWaitAuditSum.getCompanyId())) {
-                        quUserNum.setMainWaitAuditSum(mainWaitAuditSum.getMainWaitAuditSum());
-                    }
-                }
-                for (QuUserNum mainWaitPaySum : mainWaitPaySums) {
-                    if (quUserNum.getUserId().equals(mainWaitPaySum.getUserId()) && quUserNum.getCompanyId().equals(mainWaitPaySum.getCompanyId())) {
-                        quUserNum.setMainWaitPaySum(mainWaitPaySum.getMainWaitPaySum());
-                    }
-                }
-                for (QuUserNum mainAcceptInsuranceSum : mainAcceptInsuranceSums) {
-                    if (quUserNum.getUserId().equals(mainAcceptInsuranceSum.getUserId()) && quUserNum.getCompanyId().equals(mainAcceptInsuranceSum.getCompanyId())) {
-                        quUserNum.setMainAcceptInsuranceSum(mainAcceptInsuranceSum.getMainAcceptInsuranceSum());
-                    }
-                }
+            // 根据区域码筛选有效的下属ID
+            strIds.removeIf(id -> !id.contains("99" + quUserNumDto.getAreaCode()));
+            // 如果筛选后没有有效的下属ID,返回空分页对象
+            if (strIds.size() == 0) {
+                return new Page<>();
             }
             }
+            // 设置查询条件中的用户ID列表
+            quUserNumDto.setUserIds(strIds);
+        }else {
+            // 设置查询条件中的用户ID列表
+            quUserNumDto.setUserIds(Collections.singletonList(quUserNumDto.getUserId()));
         }
         }
 
 
+        List<QuUserNum> deptByCompany = agentOrChannelByMark(quUserNumDto);
+
         List<QuUserNum> paginate = paginate(deptByCompany, quUserNumDto.getPageNum(), quUserNumDto.getPageSize());
         List<QuUserNum> paginate = paginate(deptByCompany, quUserNumDto.getPageNum(), quUserNumDto.getPageSize());
 
 
         // 创建并设置分页信息
         // 创建并设置分页信息
@@ -1002,6 +961,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         }
         }
     }
     }
 
 
+
+
     private boolean exists(List<QuUserNum> quUserNums, SysArea sysArea) {
     private boolean exists(List<QuUserNum> quUserNums, SysArea sysArea) {
         boolean exist = true;
         boolean exist = true;
         for (QuUserNum quUserNum1 : quUserNums) {
         for (QuUserNum quUserNum1 : quUserNums) {
@@ -1124,7 +1085,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             quUserNumDto.setUserIds(strIds);
             quUserNumDto.setUserIds(strIds);
             List<QuUserNum> userNums = sysUserMapper.getUserNum(quUserNumDto);
             List<QuUserNum> userNums = sysUserMapper.getUserNum(quUserNumDto);
 
 
-            List<QuUserNum> orderDetails = sysUserMapper.getMainOrderDetails(quUserNumDto);
+            // 获取地区主订单待核保订单数量
+            List<QuUserNum> mainWaitAuditSums = sysUserMapper.getMainWaitAuditSum(quUserNumDto);
+            // 获取地区主订单已核保待缴费订单数量
+            List<QuUserNum> mainWaitPaySums = sysUserMapper.getMainWaitPaySum(quUserNumDto);
+            // 获取地区主订单已承包订单数量
+            List<QuUserNum> mainAcceptInsuranceSums = sysUserMapper.getMainAcceptInsuranceSum(quUserNumDto);
             // 根据区域名称匹配用户数量统计信息,并构造最终返回的结果列表
             // 根据区域名称匹配用户数量统计信息,并构造最终返回的结果列表
             for (QuUserNum quUserNum : userNums) {
             for (QuUserNum quUserNum : userNums) {
                 for (SysArea sysArea : areaList) {
                 for (SysArea sysArea : areaList) {
@@ -1136,11 +1102,19 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                         }
                         }
                     }
                     }
                 }
                 }
-                for (QuUserNum orderDetail : orderDetails) {
-                    if (quUserNum.getAreaCode().equals(orderDetail.getAreaCode())) {
-                        quUserNum.setMainAcceptInsuranceSum(orderDetail.getMainAcceptInsuranceSum());
-                        quUserNum.setMainWaitAuditSum(orderDetail.getMainWaitAuditSum());
-                        quUserNum.setMainWaitPaySum(orderDetail.getMainWaitPaySum());
+                for (QuUserNum mainWaitAuditSum : mainWaitAuditSums) {
+                    if (quUserNum.getAreaCode().equals(mainWaitAuditSum.getAreaCode())) {
+                        quUserNum.setMainWaitAuditSum(mainWaitAuditSum.getMainWaitAuditSum());
+                    }
+                }
+                for (QuUserNum mainWaitPaySum : mainWaitPaySums) {
+                    if (quUserNum.getAreaCode().equals(mainWaitPaySum.getAreaCode())) {
+                        quUserNum.setMainWaitPaySum(mainWaitPaySum.getMainWaitPaySum());
+                    }
+                }
+                for (QuUserNum mainAcceptInsuranceSum : mainAcceptInsuranceSums) {
+                    if (quUserNum.getAreaCode().equals(mainAcceptInsuranceSum.getAreaCode())) {
+                        quUserNum.setMainAcceptInsuranceSum(mainAcceptInsuranceSum.getMainAcceptInsuranceSum());
                     }
                     }
                 }
                 }
                 quUserNums.add(quUserNum);
                 quUserNums.add(quUserNum);
@@ -1168,30 +1142,47 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Override
     @Override
     public IPage<QuUserNum> quAgentAreaAdminDetail(QuUserNumDto quUserNumDto) {
     public IPage<QuUserNum> quAgentAreaAdminDetail(QuUserNumDto quUserNumDto) {
 
 
-        //获取所有代理人用户
-        List<SysUserBaseVO> agentUsers = baseMapper.getAgentUserIdsByAreaIds();
+        //查询单个用户的详情时不需要区域code
+        if (!quUserNumDto.getQuMarks().equals(QuMarks.USER_COMPANY_MARK.getCode())) {
+            //获取所有代理人用户
+            List<SysUserBaseVO> agentUsers = baseMapper.getAgentUserIdsByAreaIds();
 
 
-        List<String> strIds = agentUsers.stream().map(SysUserBaseVO::getUserId).collect(Collectors.toList());
+            List<String> strIds = agentUsers.stream().map(SysUserBaseVO::getUserId).collect(Collectors.toList());
 
 
+            // 如果未指定区域码,返回空分页对
+            if (Objects.isNull(quUserNumDto.getAreaCode())) {
+                return new Page<>();
+            }
 
 
-        // 如果未指定区域码,返回空分页对
-        if (Objects.isNull(quUserNumDto.getAreaCode())) {
-            return new Page<>();
+            // 根据区域码筛选有效的下属ID
+            strIds.removeIf(id -> !id.contains("99" + quUserNumDto.getAreaCode()));
+
+            // 如果筛选后没有有效的下属ID,返回空分页对象
+            if (strIds.size() == 0) {
+                return new Page<>();
+            }
+            // 设置查询条件中的用户ID列表
+            quUserNumDto.setUserIds(strIds);
+        }else {
+            // 设置查询条件中的用户ID列表
+            quUserNumDto.setUserIds(Collections.singletonList(quUserNumDto.getUserId()));
         }
         }
 
 
-        // 根据区域码筛选有效的下属ID
-        strIds.removeIf(id -> !id.contains("99" + quUserNumDto.getAreaCode()));
+        List<QuUserNum> deptByCompany = agentOrChannelByMark(quUserNumDto);
 
 
-        // 如果筛选后没有有效的下属ID,返回空分页对象
-        if (strIds.size() == 0) {
-            return new Page<>();
-        }
+        List<QuUserNum> paginate = paginate(deptByCompany, quUserNumDto.getPageNum(), quUserNumDto.getPageSize());
 
 
-        // 设置查询条件中的用户ID列表
-        quUserNumDto.setUserIds(strIds);
+        // 创建并设置分页信息
+        IPage<QuUserNum> page = new Page<>(quUserNumDto.getPageNum(), quUserNumDto.getPageSize());
+        page.setRecords(paginate);
+        page.setTotal(deptByCompany.size());
+        return page;
+    }
 
 
-        List<QuUserNum> deptByCompany = new ArrayList<>();
 
 
+    public List<QuUserNum> agentOrChannelByMark(QuUserNumDto quUserNumDto) {
+
+        List<QuUserNum> deptByCompany = new ArrayList<>();
         if (quUserNumDto.getQuMarks().equals(QuMarks.COMPANY_MARK.getCode())) {
         if (quUserNumDto.getQuMarks().equals(QuMarks.COMPANY_MARK.getCode())) {
             // 根据公司和用户ID列表查询用户数量统计信息
             // 根据公司和用户ID列表查询用户数量统计信息
             deptByCompany = sysUserMapper.getUserByCompany(quUserNumDto);
             deptByCompany = sysUserMapper.getUserByCompany(quUserNumDto);
@@ -1233,31 +1224,58 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
 
             for (QuUserNum quUserNum : deptByCompany) {
             for (QuUserNum quUserNum : deptByCompany) {
                 for (QuUserNum mainWaitAuditSum : mainWaitAuditSums) {
                 for (QuUserNum mainWaitAuditSum : mainWaitAuditSums) {
-                    if (quUserNum.getUserId().equals(mainWaitAuditSum.getUserId()) && quUserNum.getCompanyId().equals(mainWaitAuditSum.getCompanyId())) {
+                    if (quUserNum.getUserId().equals(mainWaitAuditSum.getUserId()) ) {
                         quUserNum.setMainWaitAuditSum(mainWaitAuditSum.getMainWaitAuditSum());
                         quUserNum.setMainWaitAuditSum(mainWaitAuditSum.getMainWaitAuditSum());
                     }
                     }
                 }
                 }
                 for (QuUserNum mainWaitPaySum : mainWaitPaySums) {
                 for (QuUserNum mainWaitPaySum : mainWaitPaySums) {
-                    if (quUserNum.getUserId().equals(mainWaitPaySum.getUserId()) && quUserNum.getCompanyId().equals(mainWaitPaySum.getCompanyId())) {
+                    if (quUserNum.getUserId().equals(mainWaitPaySum.getUserId())) {
                         quUserNum.setMainWaitPaySum(mainWaitPaySum.getMainWaitPaySum());
                         quUserNum.setMainWaitPaySum(mainWaitPaySum.getMainWaitPaySum());
                     }
                     }
                 }
                 }
                 for (QuUserNum mainAcceptInsuranceSum : mainAcceptInsuranceSums) {
                 for (QuUserNum mainAcceptInsuranceSum : mainAcceptInsuranceSums) {
-                    if (quUserNum.getUserId().equals(mainAcceptInsuranceSum.getUserId()) && quUserNum.getCompanyId().equals(mainAcceptInsuranceSum.getCompanyId())) {
+                    if (quUserNum.getUserId().equals(mainAcceptInsuranceSum.getUserId())) {
+                        quUserNum.setMainAcceptInsuranceSum(mainAcceptInsuranceSum.getMainAcceptInsuranceSum());
+                    }
+                }
+            }
+        } else if (quUserNumDto.getQuMarks().equals(QuMarks.USER_COMPANY_MARK.getCode())) {
+            // 根据公司和用户ID列表查询用户数量统计信息
+            deptByCompany = sysUserMapper.getUserByCompany(quUserNumDto);
+            // 获取公司主订单待核保订单数量
+            List<QuUserNum> mainWaitAuditSums = sysUserMapper.getComMainWaitAuditSum(quUserNumDto);
+            // 获取公司主订单已核保待缴费订单数量
+            List<QuUserNum> mainWaitPaySums = sysUserMapper.getComMainWaitPaySum(quUserNumDto);
+            // 获取公司主订单已承包订单数量
+            List<QuUserNum> mainAcceptInsuranceSums = sysUserMapper.getComMainAcceptInsuranceSum(quUserNumDto);
+
+            for (QuUserNum quUserNum : deptByCompany) {
+                for (QuUserNum mainWaitAuditSum : mainWaitAuditSums) {
+                    if (quUserNum.getCompanyId().equals(mainWaitAuditSum.getCompanyId())) {
+                        quUserNum.setMainWaitAuditSum(mainWaitAuditSum.getMainWaitAuditSum());
+                    }
+                }
+                for (QuUserNum mainWaitPaySum : mainWaitPaySums) {
+                    if (quUserNum.getCompanyId().equals(mainWaitPaySum.getCompanyId())) {
+                        quUserNum.setMainWaitPaySum(mainWaitPaySum.getMainWaitPaySum());
+                    }
+                }
+                for (QuUserNum mainAcceptInsuranceSum : mainAcceptInsuranceSums) {
+                    if (quUserNum.getCompanyId().equals(mainAcceptInsuranceSum.getCompanyId())) {
                         quUserNum.setMainAcceptInsuranceSum(mainAcceptInsuranceSum.getMainAcceptInsuranceSum());
                         quUserNum.setMainAcceptInsuranceSum(mainAcceptInsuranceSum.getMainAcceptInsuranceSum());
                     }
                     }
                 }
                 }
             }
             }
         }
         }
+        return deptByCompany;
+    }
+
+
+
+
+
 
 
-        List<QuUserNum> paginate = paginate(deptByCompany, quUserNumDto.getPageNum(), quUserNumDto.getPageSize());
 
 
-        // 创建并设置分页信息
-        IPage<QuUserNum> page = new Page<>(quUserNumDto.getPageNum(), quUserNumDto.getPageSize());
-        page.setRecords(paginate);
-        page.setTotal(deptByCompany.size());
-        return page;
-    }
 
 
     /**
     /**
      *  @version
      *  @version

+ 59 - 35
src/main/resources/mapper/modules/admin/SysUserMapper.xml

@@ -413,16 +413,37 @@
         SUBSTRING(io.userid, 3, #{quUserNumDto.grouping})
         SUBSTRING(io.userid, 3, #{quUserNumDto.grouping})
     </select>
     </select>
 
 
-    <select id="getMainOrderDetails" resultType="com.ydtech.modules.admin.model.QuUserNum">
+    <select id="getMainWaitAuditSum" resultType="com.ydtech.modules.admin.model.QuUserNum">
         SELECT
         SELECT
-            SUBSTRING(io.userid, 3, #{quUserNumDto.grouping}) AS areacode,
-            SUM(CASE WHEN io.orderstatus = 1 THEN 1 ELSE 0 END) AS mainWaitAuditSum,
-            SUM(CASE WHEN io.orderstatus = 2 THEN 1 ELSE 0 END) AS mainWaitPaySum,
-            SUM(CASE WHEN io.orderstatus = 3 THEN 1 ELSE 0 END) AS mainAcceptInsuranceSum
+        SUBSTRING(io.userid, 3, #{quUserNumDto.grouping}) AS areacode,
+        SUM(CASE WHEN io.orderstatus = 1 THEN 1 ELSE 0 END) AS mainWaitAuditSum
+        FROM
+        ins_orders io
+        RIGHT JOIN ins_area_company iac ON iac.orderno = io.orderno
+        WHERE
+        iac.orderstatus IN (1)
+        <if test="quUserNumDto.createTimeStart != null and quUserNumDto.createTimeEnd != null">
+            and io.createtime BETWEEN #{quUserNumDto.createTimeStart} AND #{quUserNumDto.createTimeEnd}
+        </if>
+        <if test="quUserNumDto.userIds != null">
+            and io.userid IN
+            <foreach collection="quUserNumDto.userIds" item="id" index="index" open="(" close=")" separator=",">
+                #{id}
+            </foreach>
+        </if>
+        GROUP BY
+        SUBSTRING(io.userid, 3, #{quUserNumDto.grouping})
+    </select>
+
+    <select id="getMainWaitPaySum" resultType="com.ydtech.modules.admin.model.QuUserNum">
+        SELECT
+        SUBSTRING(io.userid, 3, #{quUserNumDto.grouping}) AS areacode,
+        SUM(CASE WHEN io.orderstatus = 2 THEN 1 ELSE 0 END) AS mainWaitPaySum
         FROM
         FROM
-            ins_orders io
+        ins_orders io
+        RIGHT JOIN ins_area_company iac ON iac.orderno = io.orderno
         WHERE
         WHERE
-            io.orderstatus IN (1,2,3)
+        iac.orderstatus IN (2)
         <if test="quUserNumDto.createTimeStart != null and quUserNumDto.createTimeEnd != null">
         <if test="quUserNumDto.createTimeStart != null and quUserNumDto.createTimeEnd != null">
             and io.createtime BETWEEN #{quUserNumDto.createTimeStart} AND #{quUserNumDto.createTimeEnd}
             and io.createtime BETWEEN #{quUserNumDto.createTimeStart} AND #{quUserNumDto.createTimeEnd}
         </if>
         </if>
@@ -433,7 +454,29 @@
             </foreach>
             </foreach>
         </if>
         </if>
         GROUP BY
         GROUP BY
-            SUBSTRING(io.userid, 3, #{quUserNumDto.grouping})
+        SUBSTRING(io.userid, 3, #{quUserNumDto.grouping})
+    </select>
+
+    <select id="getMainAcceptInsuranceSum" resultType="com.ydtech.modules.admin.model.QuUserNum">
+        SELECT
+        SUBSTRING(io.userid, 3, #{quUserNumDto.grouping}) AS areacode,
+        SUM(CASE WHEN io.orderstatus = 3 THEN 1 ELSE 0 END) AS mainAcceptInsuranceSum
+        FROM
+        ins_orders io
+        RIGHT JOIN ins_area_company iac ON iac.orderno = io.orderno
+        WHERE
+        iac.orderstatus IN (3)
+        <if test="quUserNumDto.createTimeStart != null and quUserNumDto.createTimeEnd != null">
+            and io.createtime BETWEEN #{quUserNumDto.createTimeStart} AND #{quUserNumDto.createTimeEnd}
+        </if>
+        <if test="quUserNumDto.userIds != null">
+            and io.userid IN
+            <foreach collection="quUserNumDto.userIds" item="id" index="index" open="(" close=")" separator=",">
+                #{id}
+            </foreach>
+        </if>
+        GROUP BY
+        SUBSTRING(io.userid, 3, #{quUserNumDto.grouping})
     </select>
     </select>
 
 
     <select id="getUserByCompany" resultType="com.ydtech.modules.admin.model.QuUserNum">
     <select id="getUserByCompany" resultType="com.ydtech.modules.admin.model.QuUserNum">
@@ -452,7 +495,7 @@
         SUM(CASE WHEN iac.orderstatus = 3 THEN iac.jqpremium ELSE 0 END + CASE WHEN iac.orderstatus = 3 THEN iac.sypremium ELSE 0 END) AS totalSumpremium
         SUM(CASE WHEN iac.orderstatus = 3 THEN iac.jqpremium ELSE 0 END + CASE WHEN iac.orderstatus = 3 THEN iac.sypremium ELSE 0 END) AS totalSumpremium
         FROM
         FROM
         ins_orders io
         ins_orders io
-        LEFT JOIN ins_area_company iac ON iac.orderno = io.orderno
+        RIGHT JOIN ins_area_company iac ON iac.orderno = io.orderno
         WHERE
         WHERE
         iac.orderstatus IN ( 0, 1, 2, 3, 4 )
         iac.orderstatus IN ( 0, 1, 2, 3, 4 )
         <if test="quUserNumDto.createTimeStart != null and quUserNumDto.createTimeEnd != null">
         <if test="quUserNumDto.createTimeStart != null and quUserNumDto.createTimeEnd != null">
@@ -476,7 +519,7 @@
         SUM(CASE WHEN io.orderstatus = 1 THEN 1 ELSE 0 END) AS mainWaitAuditSum
         SUM(CASE WHEN io.orderstatus = 1 THEN 1 ELSE 0 END) AS mainWaitAuditSum
         FROM
         FROM
         ins_orders io
         ins_orders io
-        LEFT JOIN ins_area_company iac ON iac.orderno = io.orderno
+        RIGHT JOIN ins_area_company iac ON iac.orderno = io.orderno
         WHERE
         WHERE
         iac.orderstatus IN (1)
         iac.orderstatus IN (1)
         <if test="quUserNumDto.createTimeStart != null and quUserNumDto.createTimeEnd != null">
         <if test="quUserNumDto.createTimeStart != null and quUserNumDto.createTimeEnd != null">
@@ -500,7 +543,7 @@
         SUM(CASE WHEN io.orderstatus = 2 THEN 1 ELSE 0 END) AS mainWaitPaySum
         SUM(CASE WHEN io.orderstatus = 2 THEN 1 ELSE 0 END) AS mainWaitPaySum
         FROM
         FROM
         ins_orders io
         ins_orders io
-        LEFT JOIN ins_area_company iac ON iac.orderno = io.orderno
+        RIGHT JOIN ins_area_company iac ON iac.orderno = io.orderno
         WHERE
         WHERE
         iac.orderstatus IN (2)
         iac.orderstatus IN (2)
         <if test="quUserNumDto.createTimeStart != null and quUserNumDto.createTimeEnd != null">
         <if test="quUserNumDto.createTimeStart != null and quUserNumDto.createTimeEnd != null">
@@ -525,7 +568,7 @@
         SUM(CASE WHEN io.orderstatus = 3 THEN 1 ELSE 0 END) AS mainAcceptInsuranceSum
         SUM(CASE WHEN io.orderstatus = 3 THEN 1 ELSE 0 END) AS mainAcceptInsuranceSum
         FROM
         FROM
         ins_orders io
         ins_orders io
-        LEFT JOIN ins_area_company iac ON iac.orderno = io.orderno
+        RIGHT JOIN ins_area_company iac ON iac.orderno = io.orderno
         WHERE
         WHERE
         iac.orderstatus IN (3)
         iac.orderstatus IN (3)
         <if test="quUserNumDto.createTimeStart != null and quUserNumDto.createTimeEnd != null">
         <if test="quUserNumDto.createTimeStart != null and quUserNumDto.createTimeEnd != null">
@@ -546,8 +589,6 @@
         SELECT
         SELECT
         io.userid,
         io.userid,
         io.username,
         io.username,
-        iac.company_id as companyId,
-        iac.inscompany as insCompany,
         COUNT(*) AS quoteNum,
         COUNT(*) AS quoteNum,
         SUM(CASE WHEN iac.orderstatus = 2 THEN 1 ELSE 0 END + CASE WHEN iac.orderstatus = 1 THEN 1 ELSE 0 END) AS submitNum,
         SUM(CASE WHEN iac.orderstatus = 2 THEN 1 ELSE 0 END + CASE WHEN iac.orderstatus = 1 THEN 1 ELSE 0 END) AS submitNum,
         SUM(CASE WHEN iac.orderstatus = 3 THEN 1 ELSE 0 END) AS hasInsuredNum,
         SUM(CASE WHEN iac.orderstatus = 3 THEN 1 ELSE 0 END) AS hasInsuredNum,
@@ -574,18 +615,13 @@
         </if>
         </if>
         GROUP BY
         GROUP BY
         io.userid,
         io.userid,
-        io.username,
-        iac.company_id,
-        iac.inscompany
+        io.username
     </select>
     </select>
 
 
     <select id="getUserMainWaitAuditSum" resultType="com.ydtech.modules.admin.model.QuUserNum">
     <select id="getUserMainWaitAuditSum" resultType="com.ydtech.modules.admin.model.QuUserNum">
         SELECT
         SELECT
         io.userid,
         io.userid,
         io.username,
         io.username,
-        iac.company_id as companyId,
-        iac.inscompany as insCompany,
-        COUNT(*) AS quoteNum,
         SUM(CASE WHEN io.orderstatus = 1 THEN 1 ELSE 0 END) AS mainWaitAuditSum
         SUM(CASE WHEN io.orderstatus = 1 THEN 1 ELSE 0 END) AS mainWaitAuditSum
         FROM
         FROM
         ins_orders io
         ins_orders io
@@ -603,18 +639,13 @@
         </if>
         </if>
         GROUP BY
         GROUP BY
         io.userid,
         io.userid,
-        io.username,
-        iac.company_id,
-        iac.inscompany
+        io.username
     </select>
     </select>
 
 
     <select id="getUserMainWaitPaySum" resultType="com.ydtech.modules.admin.model.QuUserNum">
     <select id="getUserMainWaitPaySum" resultType="com.ydtech.modules.admin.model.QuUserNum">
         SELECT
         SELECT
         io.userid,
         io.userid,
         io.username,
         io.username,
-        iac.company_id as companyId,
-        iac.inscompany as insCompany,
-        COUNT(*) AS quoteNum,
         SUM(CASE WHEN io.orderstatus = 2 THEN 1 ELSE 0 END) AS mainWaitPaySum
         SUM(CASE WHEN io.orderstatus = 2 THEN 1 ELSE 0 END) AS mainWaitPaySum
         FROM
         FROM
         ins_orders io
         ins_orders io
@@ -632,9 +663,7 @@
         </if>
         </if>
         GROUP BY
         GROUP BY
         io.userid,
         io.userid,
-        io.username,
-        iac.company_id,
-        iac.inscompany
+        io.username
     </select>
     </select>
 
 
 
 
@@ -642,9 +671,6 @@
         SELECT
         SELECT
         io.userid,
         io.userid,
         io.username,
         io.username,
-        iac.company_id as companyId,
-        iac.inscompany as insCompany,
-        COUNT(*) AS quoteNum,
         SUM(CASE WHEN io.orderstatus = 3 THEN 1 ELSE 0 END) AS mainAcceptInsuranceSum
         SUM(CASE WHEN io.orderstatus = 3 THEN 1 ELSE 0 END) AS mainAcceptInsuranceSum
         FROM
         FROM
         ins_orders io
         ins_orders io
@@ -662,9 +688,7 @@
         </if>
         </if>
         GROUP BY
         GROUP BY
         io.userid,
         io.userid,
-        io.username,
-        iac.company_id,
-        iac.inscompany
+        io.username
     </select>
     </select>
 
 
     <select id="getAllUsersByHospitality" resultType="com.ydtech.modules.admin.model.vo.SysUserBaseVO">
     <select id="getAllUsersByHospitality" resultType="com.ydtech.modules.admin.model.vo.SysUserBaseVO">