|
|
@@ -814,7 +814,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
// 根据查询条件获取用户数量统计信息
|
|
|
quUserNumDto.setUserIds(strIds);
|
|
|
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 (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);
|
|
|
}
|
|
|
}
|
|
|
@@ -865,96 +880,40 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
@Override
|
|
|
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());
|
|
|
|
|
|
// 创建并设置分页信息
|
|
|
@@ -1002,6 +961,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
private boolean exists(List<QuUserNum> quUserNums, SysArea sysArea) {
|
|
|
boolean exist = true;
|
|
|
for (QuUserNum quUserNum1 : quUserNums) {
|
|
|
@@ -1124,7 +1085,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
quUserNumDto.setUserIds(strIds);
|
|
|
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 (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);
|
|
|
@@ -1168,30 +1142,47 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
@Override
|
|
|
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())) {
|
|
|
// 根据公司和用户ID列表查询用户数量统计信息
|
|
|
deptByCompany = sysUserMapper.getUserByCompany(quUserNumDto);
|
|
|
@@ -1233,31 +1224,58 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
|
for (QuUserNum quUserNum : deptByCompany) {
|
|
|
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());
|
|
|
}
|
|
|
}
|
|
|
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());
|
|
|
}
|
|
|
}
|
|
|
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());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ 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
|