Sfoglia il codice sorgente

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

dongxin 1 anno fa
parent
commit
0398fae9bf
28 ha cambiato i file con 672 aggiunte e 61 eliminazioni
  1. 6 0
      src/main/java/com/ydtech/modules/admin/controller/SysPcAddressController.java
  2. 2 0
      src/main/java/com/ydtech/modules/admin/dao/SysDeptMapper.java
  3. 2 0
      src/main/java/com/ydtech/modules/admin/dao/SysMenuRecordMapper.java
  4. 2 0
      src/main/java/com/ydtech/modules/admin/dao/SysUserMapper.java
  5. 9 8
      src/main/java/com/ydtech/modules/admin/model/dto/ExportExpenditureTypeDetalsSZDto.java
  6. 7 0
      src/main/java/com/ydtech/modules/admin/model/dto/PcAddressInfoDto.java
  7. 8 0
      src/main/java/com/ydtech/modules/admin/model/dto/SysPcAddressDto.java
  8. 6 0
      src/main/java/com/ydtech/modules/admin/model/vo/BusinessAgentData.java
  9. 40 0
      src/main/java/com/ydtech/modules/admin/model/vo/SysMenuRecordVo.java
  10. 4 0
      src/main/java/com/ydtech/modules/admin/service/SysPcAddressService.java
  11. 43 2
      src/main/java/com/ydtech/modules/admin/service/impl/SysDeptServiceImpl.java
  12. 50 2
      src/main/java/com/ydtech/modules/admin/service/impl/SysGeographyPositionServiceImpl.java
  13. 74 2
      src/main/java/com/ydtech/modules/admin/service/impl/SysMenuRecordServiceImpl.java
  14. 284 34
      src/main/java/com/ydtech/modules/admin/service/impl/SysPcAddressServiceImpl.java
  15. 40 1
      src/main/java/com/ydtech/modules/admin/service/impl/TaskStatisticsServiceImpl.java
  16. 2 3
      src/main/java/com/ydtech/modules/admin/utils/KztGetDeptUtils.java
  17. 18 0
      src/main/java/com/ydtech/modules/fnc/service/impl/InsPlyIncomeServiceImpl.java
  18. 4 0
      src/main/java/com/ydtech/modules/ins/model/vo/res/BxSettlementFeesExcel.java
  19. 3 1
      src/main/java/com/ydtech/modules/ins/model/vo/res/BxSettlementFeesNorExcel.java
  20. 1 1
      src/main/java/com/ydtech/modules/order/entity/InsOrders.java
  21. 3 1
      src/main/java/com/ydtech/modules/order/entity/vo/OrderQueryVo.java
  22. 9 2
      src/main/java/com/ydtech/modules/order/entity/vo/OrderVo.java
  23. 5 0
      src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java
  24. 16 0
      src/main/resources/mapper/modules/admin/SysDeptMapper.xml
  25. 15 0
      src/main/resources/mapper/modules/admin/SysMenuRecordMapper.xml
  26. 12 1
      src/main/resources/mapper/modules/admin/SysUserMapper.xml
  27. 2 1
      src/main/resources/mapper/modules/admin/TaskStatisticsMapper.xml
  28. 5 2
      src/main/resources/mapper/modules/order/InsOrdersMapper.xml

+ 6 - 0
src/main/java/com/ydtech/modules/admin/controller/SysPcAddressController.java

@@ -7,6 +7,7 @@ import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.dto.*;
 import com.ydtech.modules.admin.model.po.SysPcAddressHistory;
 import com.ydtech.modules.admin.model.po.SysPcAddress;
+import com.ydtech.modules.admin.model.vo.KztUserDeptTreeDto;
 import com.ydtech.modules.admin.model.vo.PcAddressHistoryInfoVo;
 import com.ydtech.modules.admin.model.vo.RegionInfoVo;
 import com.ydtech.modules.admin.service.SysPcAddressHistoryService;
@@ -165,6 +166,11 @@ public class SysPcAddressController extends BaseController{
         return HttpResult.ok("success", this.sysPcAddressService.getOnlinePeople());
     }
 
+    @ApiOperation(value = "pc用户数机构数")
+    @PostMapping(value = "/getUserDeptTree")
+    public HttpResult<KztUserDeptTreeDto> getUserDeptTree() {
+        return HttpResult.ok(sysPcAddressService.getUserDeptTree());
+    }
 
 
 

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

@@ -61,6 +61,8 @@ public interface SysDeptMapper extends BaseMapper<SysDept> {
      * @return  获取五级所有机构  除总部
      */
     List<SysDept> getFiveLevelDept(@Param("vo") SysDeptVo sysDeptVo);
+
+    List<SysDept> queryFiveLevelDept(@Param("vo") SysDeptVo sysDeptVo);
 }
 
 

+ 2 - 0
src/main/java/com/ydtech/modules/admin/dao/SysMenuRecordMapper.java

@@ -12,4 +12,6 @@ import org.apache.ibatis.annotations.Param;
 @Mapper
 public interface SysMenuRecordMapper extends BaseMapper<SysMenuRecord> {
     IPage<SysMenuRecordVo> queryByPage(Page page,@Param("dto") SysMenuRecordDto sysMenuRecordDto);
+
+    SysMenuRecord queryByTime(Integer menuType, Integer type);
 }

+ 2 - 0
src/main/java/com/ydtech/modules/admin/dao/SysUserMapper.java

@@ -509,6 +509,8 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
      *  @Description:  通过机构id查询后线用户数据
      */
     List<SysUser> getLeadListDeptId(@Param("deptId") String deptId);
+
+    List<SysUser> selectByLeadId(String userId);
 }
 
 

+ 9 - 8
src/main/java/com/ydtech/modules/admin/model/dto/ExportExpenditureTypeDetalsSZDto.java

@@ -32,7 +32,7 @@ public class ExportExpenditureTypeDetalsSZDto {
      * 创建时间
      */
     @ColumnWidth(20)
-    @ExcelProperty(value="交易时间",index=0)
+    @ExcelProperty(value="交易时间",index=1)
     @ApiModelProperty(value = "交易时间")
     private String   createTime;
 
@@ -44,36 +44,37 @@ public class ExportExpenditureTypeDetalsSZDto {
     @ApiModelProperty(value = "交易号")
     private String  auditiingId;
 
-    @ExcelProperty(value="车牌号",index=1)
+    @ExcelProperty(value="车牌号",index=2)
     @ApiModelProperty(value = "车牌号")
     private String licenseNo;
 
-    @ExcelProperty(value="业务板块",index=2)
+    @ExcelProperty(value="业务板块",index=3)
     @ApiModelProperty(value = "业务板块")
     private String businessSegmentsType;
 
-    @ExcelProperty(value = "交易类型",index=4)
+    @ExcelProperty(value = "交易类型",index=5)
     @ApiModelProperty(value = "交易类型")
     private String  transactionType;
 
     /***
      * 金额
      */
-    @ExcelProperty(value="交易金额",index=5)
+    @ExcelProperty(value="交易金额",index=6)
     @ApiModelProperty(value = "交易金额")
     private BigDecimal amount;
 
-    @ExcelProperty(value="提现状态",index=6)
+    @ExcelProperty(value="提现状态",index=7)
     @ApiModelProperty(value = "提现状态  1 提现申请  2.处理中 3.提现失败  4.提现成功")
     private String auditingStatus;
 
-    @ExcelProperty(value="收支类型",index=3)
+    @ExcelProperty(value="收支类型",index=4)
     @ApiModelProperty(value = "收支类型")
     private String  incomeAndExpensesType;
     /***
      * 承保时间
      */
-    @ExcelIgnore
+    @ColumnWidth(20)
+    @ExcelProperty(value="签单时间",index=0)
     @ApiModelProperty(value = "承保时间")
     private String  signingTime;
     /***

+ 7 - 0
src/main/java/com/ydtech/modules/admin/model/dto/PcAddressInfoDto.java

@@ -40,4 +40,11 @@ public class PcAddressInfoDto {
     @DateTimeFormat(pattern="yyyy-MM-dd")
     private String endTime;
 
+    @ApiModelProperty("用户id")
+    private String queryId;
+
+    @ApiModelProperty("类型:1。机构 2.用户")
+    private Integer type;
+
+
 }

+ 8 - 0
src/main/java/com/ydtech/modules/admin/model/dto/SysPcAddressDto.java

@@ -24,4 +24,12 @@ public class SysPcAddressDto {
 
     @ApiModelProperty(value = "在线状态(0:离线; 1:在线)")
     private Integer status;
+
+    @ApiModelProperty("用户id")
+    private String queryId;
+
+    @ApiModelProperty("类型:1。机构 2.用户")
+    private Integer type;
+
+
 }

+ 6 - 0
src/main/java/com/ydtech/modules/admin/model/vo/BusinessAgentData.java

@@ -56,4 +56,10 @@ public class BusinessAgentData {
     @ApiModelProperty(value = "总人数")
     private String totalNumber;
 
+    @ApiModelProperty(value = "部门名称")
+    private String deptName;
+
+    @ApiModelProperty(value = "部门id")
+    private String deptId;
+
 }

+ 40 - 0
src/main/java/com/ydtech/modules/admin/model/vo/SysMenuRecordVo.java

@@ -20,6 +20,8 @@ public class SysMenuRecordVo {
      */
     @ApiModelProperty(value = "用户姓名")
     private String userName;
+    @ApiModelProperty(value = "机构名称")
+    private String deptName;
 
     /**
      * 点击车险录单数量
@@ -58,4 +60,42 @@ public class SysMenuRecordVo {
     private Long posterNumber;
 
 
+
+
+    @ApiModelProperty(value = "车险录单最新时间")
+    private String CarNumberTime;
+
+    /**
+     * 点击车险录单数量
+     */
+    @ApiModelProperty(value = "订单查询时间")
+    private String OrderNumberTime;
+
+    /**
+     * 点击车险录单数量
+     */
+    @ApiModelProperty(value = "钱包时间")
+    private String walletNumberTime;
+
+    /**
+     * 点击会员分享数量
+     */
+    @ApiModelProperty(value = "会员分享时间")
+    private String memberNumberTime;
+
+    /**
+     * 点击会员管理数量
+     */
+    @ApiModelProperty(value = "会员管理时间")
+    private String managementNumberTime;
+
+    /**
+     * 点击海报管理数量
+     */
+    @ApiModelProperty(value = "海报管理时间")
+    private String posterNumberTime;
+
+
+
+
 }

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

@@ -5,6 +5,7 @@ import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.dto.*;
 import com.ydtech.modules.admin.model.po.SysPcAddress;
 import com.ydtech.modules.admin.model.po.SysPcAddressHistory;
+import com.ydtech.modules.admin.model.vo.KztUserDeptTreeDto;
 import com.ydtech.modules.admin.model.vo.PcAddressHistoryInfoVo;
 import com.ydtech.modules.admin.model.vo.RegionInfoVo;
 import com.ydtech.modules.order.entity.BasePageResult;
@@ -46,4 +47,7 @@ public interface SysPcAddressService extends IService<SysPcAddress> {
     List<SysPcAddress> getOnlinePeople();
 
     BasePageResult<SysPcAddressHistory> queryPcAddressHistoryInfo(PcAddressInfoDto addressInfoDto);
+
+    KztUserDeptTreeDto getUserDeptTree();
+
 }

+ 43 - 2
src/main/java/com/ydtech/modules/admin/service/impl/SysDeptServiceImpl.java

@@ -771,7 +771,10 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept>
     public KztUserDeptTreeDto  getUserDeptTree(SysDeptVo sysDeptVo) {
         KztUserDeptTreeDto kztUserDeptTreeDto = new KztUserDeptTreeDto();
         String userId = BaseController.getUserId();
-        if (userId.contains("M")) {
+        QueryWrapper<SysDept> queryWrapper = new QueryWrapper<>();
+        QueryWrapper<SysDept> leaderId = queryWrapper.eq("leader_id", userId);
+        List<SysDept> sysDepts = sysDeptMapper.selectList(leaderId);
+        if (!sysDepts.isEmpty()) {
             kztUserDeptTreeDto.setType("1"); //前线
         } else {
             kztUserDeptTreeDto.setType("2"); //代理
@@ -796,7 +799,10 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept>
 
         List<SysUser> users = sysUserMapper.selectByParams(params);
 
-        if (users == null || users.size() == 0) {
+        for (SysUser user : users) {
+            this.appendName(user);
+        }
+        if (users == null || users.isEmpty()) {
             return new ArrayList<>();
         }
         List<SysUser> topUsers = new ArrayList<>(); //存放1级用户,即没有直接上级的用户
@@ -804,6 +810,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept>
         if("admin".equals(sysUser.getName())){
             topUsers.add(sysUserMapper.selectById("99D1501"));
         }else {
+            this.appendName(sysUser);
             topUsers.add(sysUser);
         }
         // 递归构建用户树结构
@@ -811,6 +818,40 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept>
         return topUsers;
     }
 
+    /**
+     * 拼接机构来源
+     * @param users
+     */
+    private void appendName(SysUser user) {
+        StringBuilder stringBuilder = new StringBuilder();
+        String deptId = user.getDeptId();
+        if (StringUtils.isNotEmpty(deptId)) {
+            int length = deptId.length();
+            if (length > 0) {
+                if (length <= 5) {
+                    String dept = deptId.replaceAll("[^\\d]*(\\d+).*", "$1");
+                    SysDept cityName = baseMapper.selectById(dept);
+                    String name = cityName.getName();
+                    stringBuilder.append("(").append(name).append(")");
+                } else if (length > 5) {
+                    String dept = deptId.replaceAll("[^\\d]*(\\d+).*", "$1");
+                    if (dept.length() < 5) {
+                        SysDept dept1 = baseMapper.selectById(dept);
+                        SysDept cityName = baseMapper.selectById(deptId);
+                        stringBuilder.append("(").append(dept1.getName()).append(cityName.getName()).append(")");
+                    } else {
+                        String deptIdTwo = dept.substring(0, 4);
+
+                        SysDept dept1 = baseMapper.selectById(deptIdTwo);
+                        SysDept dept2 = baseMapper.selectById(dept);
+                        stringBuilder.append("(").append(dept1.getName()).append(dept2.getName()).append(")");
+                    }
+                }
+                user.setName(user.getName()+stringBuilder.toString());
+            }
+        }
+    }
+
     private List<SysDeptTreeVo> getFiveLevelDeptKzt(SysUser byUserId) {
         SysDept sysDept = getById("9");
         SysDeptVo sysDeptVo = new SysDeptVo();

+ 50 - 2
src/main/java/com/ydtech/modules/admin/service/impl/SysGeographyPositionServiceImpl.java

@@ -74,7 +74,10 @@ public class SysGeographyPositionServiceImpl extends ServiceImpl<SysGeographyPos
             SysDept sysDept = sysDeptMapper.selectOne(new LambdaQueryWrapper<SysDept>()
                     .eq(SysDept::getId, sysUser.getDeptId()).eq(SysDept::getDelFlag, 0));
             if (sysDept == null) continue;
-            sysGeographyPositionInfoVo.setDeptName(sysDept.getName());
+            String deptName = getDeptName(sysUser.getDeptId());
+//            sysGeographyPositionInfoVo.setDeptName(sysDept.getName());
+            sysGeographyPositionInfoVo.setDeptName(deptName);
+
 
         }
 
@@ -85,6 +88,38 @@ public class SysGeographyPositionServiceImpl extends ServiceImpl<SysGeographyPos
         return sysGeographyPositionVo;
     }
 
+    private String getDeptName(String deptId) {
+        StringBuilder stringBuilder = new StringBuilder();
+        SysDept sysDept = sysDeptMapper.selectOne(new LambdaQueryWrapper<SysDept>()
+                .eq(SysDept::getId, deptId).eq(SysDept::getDelFlag, 0));
+        if (StringUtils.isEmpty(sysDept.getComlevel())) {
+            SysDept sysDept5 = sysDeptMapper.selectById(sysDept.getParentId());
+            SysDept sysDept4 = sysDeptMapper.selectById(sysDept5.getParentId());
+            SysDept sysDept3 = sysDeptMapper.selectById(sysDept4.getParentId());
+            SysDept sysDept2 = sysDeptMapper.selectById(sysDept3.getParentId());
+            stringBuilder.append(sysDept2.getName()).append("-").append(sysDept3.getName())
+                    .append("-").append(sysDept4.getName()).append("-").append(sysDept5.getName()).append("-").append(sysDept.getName());
+        }else if (sysDept.getComlevel().equals("5")) {
+            SysDept sysDept4 = sysDeptMapper.selectById(sysDept.getParentId());
+            SysDept sysDept3 = sysDeptMapper.selectById(sysDept4.getParentId());
+            SysDept sysDept2 = sysDeptMapper.selectById(sysDept3.getParentId());
+            stringBuilder.append(sysDept2.getName()).append("-").append(sysDept3.getName()).append("-").append(sysDept4.getName()).append("-").append(sysDept.getName());
+        }else if (sysDept.getComlevel().equals("4")) {
+            SysDept sysDept3 = sysDeptMapper.selectById(sysDept.getParentId());
+            SysDept sysDept2 = sysDeptMapper.selectById(sysDept3.getParentId());
+            stringBuilder.append(sysDept2.getName()).append("-").append(sysDept3.getName()).append("-").append(sysDept.getName());
+        }else if (sysDept.getComlevel().equals("3")) {
+            SysDept sysDept2 = sysDeptMapper.selectById(sysDept.getParentId());
+            stringBuilder.append(sysDept2.getName()).append("-").append(sysDept.getName());
+
+        }else if (sysDept.getComlevel().equals("2")) {
+            stringBuilder.append(sysDept.getName());
+        }
+
+
+        return stringBuilder.toString();
+    }
+
     @Override
     public BasePageResult<SysGeographyPositionRecord> queryPositionList(SysGeographyPositionPageDto sysGeographyPositionPageDto) {
         Page<SysGeographyPositionRecord> page = new Page<>(sysGeographyPositionPageDto.getPageNum(), sysGeographyPositionPageDto.getPageSize());
@@ -94,6 +129,17 @@ public class SysGeographyPositionServiceImpl extends ServiceImpl<SysGeographyPos
         wrapper.orderByDesc(SysGeographyPositionRecord::getCreateTime);
 
         Page<SysGeographyPositionRecord> insOrdersPage = sysGeographyPositionRecordService.page(page, wrapper);
+        List<SysGeographyPositionRecord> records = insOrdersPage.getRecords();
+        if (records.size()>0) {
+            for (SysGeographyPositionRecord record : records) {
+                SysUser sysUser = sysUserService.getById(record.getUserId());
+                if (sysUser == null) continue;
+                record.setLeaderName(sysUser.getLeaderName());
+                String deptName = getDeptName(sysUser.getDeptId());
+                record.setDeptName(deptName);
+
+            }
+        }
 
         return new BasePageResult<>(sysGeographyPositionPageDto.getPageNum(), page.getSize(), insOrdersPage.getTotal(), page.getPages(),
                 insOrdersPage.getRecords());
@@ -225,7 +271,9 @@ public class SysGeographyPositionServiceImpl extends ServiceImpl<SysGeographyPos
             SysDept sysDept = sysDeptMapper.selectOne(new LambdaQueryWrapper<SysDept>()
                     .eq(SysDept::getId, sysUser.getDeptId()).eq(SysDept::getDelFlag, 0));
             if (sysDept == null) continue;
-            sysGeographyPositionInfoVo.setDeptName(sysDept.getName());
+            String deptName = getDeptName(sysUser.getDeptId());
+            sysGeographyPositionInfoVo.setDeptName(deptName);
+//            sysGeographyPositionInfoVo.setDeptName(sysDept.getName());
 
         }
 

+ 74 - 2
src/main/java/com/ydtech/modules/admin/service/impl/SysMenuRecordServiceImpl.java

@@ -11,6 +11,7 @@ import com.ydtech.modules.admin.model.SysMenuRecord;
 import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.dto.SysMenuRecordDto;
 import com.ydtech.modules.admin.model.vo.SysMenuRecordVo;
+import com.ydtech.modules.admin.service.SysGeographyPositionService;
 import com.ydtech.modules.admin.service.SysMenuRecordService;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.order.entity.BasePageResult;
@@ -35,6 +36,9 @@ public class SysMenuRecordServiceImpl  extends ServiceImpl<SysMenuRecordMapper,
     @Resource
     private SysUserMapper sysUserMapper;
 
+    @Resource
+    private SysGeographyPositionServiceImpl sysGeographyPositionService;
+
     @Override
     public boolean insert(Integer type, Integer menuType) {
         SysMenuRecord sysMenuRecord = new SysMenuRecord();
@@ -68,7 +72,7 @@ public class SysMenuRecordServiceImpl  extends ServiceImpl<SysMenuRecordMapper,
 
     @Override
     public SysMenuRecordVo getClickMenu(SysMenuRecordDto sysMenuRecordDto) {
-        SysMenuRecordVo sysMenuRecordVo = new SysMenuRecordVo(null,null,0l,0l,0l,0l,0l,0l);
+        SysMenuRecordVo sysMenuRecordVo = new SysMenuRecordVo(null,null,null,0l,0l,0l,0l,0l,0l,null,null,null,null,null,null);
         List<SysMenuRecord> sysMenuRecords = baseMapper.selectList(new LambdaQueryWrapper<SysMenuRecord>().eq(!StringUtils.isNotEmpty(sysMenuRecordDto.getUserId()), SysMenuRecord::getUserId, sysMenuRecordDto.getUserId())
                 .eq(sysMenuRecordDto.getType() != null, SysMenuRecord::getType, sysMenuRecordDto.getType())
                 .eq( SysMenuRecord::getUserId, sysMenuRecordDto.getUserId())
@@ -78,7 +82,10 @@ public class SysMenuRecordServiceImpl  extends ServiceImpl<SysMenuRecordMapper,
         SysUser sysUser = sysUserMapper.selectById(sysMenuRecordDto.getUserId());
         sysMenuRecordVo.setUserId(sysUser.getId());
         sysMenuRecordVo.setUserName(sysUser.getName());
+        String deptName = getDeptName(sysUser.getDeptId());
+        sysMenuRecordVo.setDeptName(deptName);
         if (sysMenuRecords.size()==0) return sysMenuRecordVo;
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         //客户端:1:APP;2:PC
         if (sysMenuRecordDto.getType()==1) {
             //'菜单类型(1:车险录单;2:订单查询;3:钱包, 4:会员分享 5:会员管理 6 海报管理)',
@@ -86,23 +93,47 @@ public class SysMenuRecordServiceImpl  extends ServiceImpl<SysMenuRecordMapper,
                     .filter(SysMenuRecord -> SysMenuRecord.getMenuType() == 3)
                     .collect(Collectors.toList());
             long sum = collect.stream().mapToInt(SysMenuRecord::getMenuType).count();
-            sysMenuRecordVo.setCarNumber(sum);
+            sysMenuRecordVo.setWalletNumber(sum);
+
+            SysMenuRecord sysMenuRecord=baseMapper.queryByTime(3,sysMenuRecordDto.getType());
+            sysMenuRecordVo.setWalletNumberTime(format.format(sysMenuRecord.getCreateTime()));
+
+            List<SysMenuRecord> collect1 = sysMenuRecords.stream()
+                    .filter(SysMenuRecord -> SysMenuRecord.getMenuType() == 1)
+                    .collect(Collectors.toList());
+            long sum1 = collect1.stream().mapToInt(SysMenuRecord::getMenuType).count();
+            sysMenuRecordVo.setCarNumber(sum1);
+
+            SysMenuRecord sysMenuRecord1=baseMapper.queryByTime(1,sysMenuRecordDto.getType());
+            sysMenuRecordVo.setCarNumberTime(format.format(sysMenuRecord1.getCreateTime()));
+
             List<SysMenuRecord> collect4 = sysMenuRecords.stream()
                     .filter(SysMenuRecord -> SysMenuRecord.getMenuType() == 4)
                     .collect(Collectors.toList());
             long sum4 = collect4.stream().mapToInt(SysMenuRecord::getMenuType).count();
             sysMenuRecordVo.setMemberNumber(sum4);
+
+            SysMenuRecord sysMenuRecord4=baseMapper.queryByTime(4,sysMenuRecordDto.getType());
+            sysMenuRecordVo.setMemberNumberTime(format.format(sysMenuRecord4.getCreateTime()));
+
             List<SysMenuRecord> collect5 = sysMenuRecords.stream()
                     .filter(SysMenuRecord -> SysMenuRecord.getMenuType() == 5)
                     .collect(Collectors.toList());
             long sum5 = collect5.stream().mapToInt(SysMenuRecord::getMenuType).count();
             sysMenuRecordVo.setManagementNumber(sum5);
+
+            SysMenuRecord sysMenuRecord5=baseMapper.queryByTime(5,sysMenuRecordDto.getType());
+            sysMenuRecordVo.setManagementNumberTime(format.format(sysMenuRecord5.getCreateTime()));
+
             List<SysMenuRecord> collect6 = sysMenuRecords.stream()
                     .filter(SysMenuRecord -> SysMenuRecord.getMenuType() == 6)
                     .collect(Collectors.toList());
             long sum6 = collect6.stream().mapToInt(SysMenuRecord::getMenuType).count();
             sysMenuRecordVo.setPosterNumber(sum6);
 
+            SysMenuRecord sysMenuRecord6=baseMapper.queryByTime(6,sysMenuRecordDto.getType());
+            sysMenuRecordVo.setPosterNumberTime(format.format(sysMenuRecord6.getCreateTime()));
+
         }else {
             //'菜单类型(1:车险录单;2:订单查询;3:钱包)',
             List<SysMenuRecord> collect = sysMenuRecords.stream()
@@ -111,21 +142,62 @@ public class SysMenuRecordServiceImpl  extends ServiceImpl<SysMenuRecordMapper,
             long sum = collect.stream().mapToInt(SysMenuRecord::getMenuType).count();
             sysMenuRecordVo.setCarNumber(sum);
 
+            SysMenuRecord sysMenuRecord1=baseMapper.queryByTime(1,sysMenuRecordDto.getType());
+            sysMenuRecordVo.setCarNumberTime(format.format(sysMenuRecord1.getCreateTime()));
+
             List<SysMenuRecord> collect2 = sysMenuRecords.stream()
                     .filter(SysMenuRecord -> SysMenuRecord.getMenuType() == 2)
                     .collect(Collectors.toList());
             long sum2 = collect2.stream().mapToInt(SysMenuRecord::getMenuType).count();
             sysMenuRecordVo.setOrderNumber(sum2);
 
+            SysMenuRecord sysMenuRecord2=baseMapper.queryByTime(2,sysMenuRecordDto.getType());
+            sysMenuRecordVo.setOrderNumberTime(format.format(sysMenuRecord2.getCreateTime()));
+
             List<SysMenuRecord> collect3 = sysMenuRecords.stream()
                     .filter(SysMenuRecord -> SysMenuRecord.getMenuType() == 3)
                     .collect(Collectors.toList());
             long sum3 = collect3.stream().mapToInt(SysMenuRecord::getMenuType).count();
             sysMenuRecordVo.setWalletNumber(sum3);
+
+            SysMenuRecord sysMenuRecord3=baseMapper.queryByTime(3,sysMenuRecordDto.getType());
+            sysMenuRecordVo.setWalletNumberTime(format.format(sysMenuRecord3.getCreateTime()));
         }
 
         return sysMenuRecordVo;
     }
 
+    private String getDeptName(String deptId) {
+        StringBuilder stringBuilder = new StringBuilder();
+        SysDept sysDept = sysDeptMapper.selectOne(new LambdaQueryWrapper<SysDept>()
+                .eq(SysDept::getId, deptId).eq(SysDept::getDelFlag, 0));
+        if (StringUtils.isEmpty(sysDept.getComlevel())) {
+            SysDept sysDept5 = sysDeptMapper.selectById(sysDept.getParentId());
+            SysDept sysDept4 = sysDeptMapper.selectById(sysDept5.getParentId());
+            SysDept sysDept3 = sysDeptMapper.selectById(sysDept4.getParentId());
+            SysDept sysDept2 = sysDeptMapper.selectById(sysDept3.getParentId());
+            stringBuilder.append(sysDept2.getName()).append("-").append(sysDept3.getName())
+                    .append("-").append(sysDept4.getName()).append("-").append(sysDept5.getName()).append("-").append(sysDept.getName());
+        }else if (sysDept.getComlevel().equals("5")) {
+            SysDept sysDept4 = sysDeptMapper.selectById(sysDept.getParentId());
+            SysDept sysDept3 = sysDeptMapper.selectById(sysDept4.getParentId());
+            SysDept sysDept2 = sysDeptMapper.selectById(sysDept3.getParentId());
+            stringBuilder.append(sysDept2.getName()).append("-").append(sysDept3.getName()).append("-").append(sysDept4.getName()).append("-").append(sysDept.getName());
+        }else if (sysDept.getComlevel().equals("4")) {
+            SysDept sysDept3 = sysDeptMapper.selectById(sysDept.getParentId());
+            SysDept sysDept2 = sysDeptMapper.selectById(sysDept3.getParentId());
+            stringBuilder.append(sysDept2.getName()).append("-").append(sysDept3.getName()).append("-").append(sysDept.getName());
+        }else if (sysDept.getComlevel().equals("3")) {
+            SysDept sysDept2 = sysDeptMapper.selectById(sysDept.getParentId());
+            stringBuilder.append(sysDept2.getName()).append("-").append(sysDept.getName());
+
+        }else if (sysDept.getComlevel().equals("2")) {
+            stringBuilder.append(sysDept.getName());
+        }
+
+
+        return stringBuilder.toString();
+    }
+
 
 }

+ 284 - 34
src/main/java/com/ydtech/modules/admin/service/impl/SysPcAddressServiceImpl.java

@@ -1,31 +1,26 @@
 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.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ydtech.modules.admin.dao.SysDeptMapper;
-import com.ydtech.modules.admin.dao.SysPcAddressHistoryMapper;
-import com.ydtech.modules.admin.dao.SysPcAddressMapper;
+import com.ydtech.modules.admin.dao.*;
 import com.ydtech.modules.admin.model.SysDept;
-import com.ydtech.modules.admin.model.SysGeographyPositionRecord;
 import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.dto.*;
 import com.ydtech.modules.admin.model.po.SysPcAddressHistory;
 import com.ydtech.modules.admin.model.po.SysPcAddress;
-import com.ydtech.modules.admin.model.vo.PcAddressHistoryInfoVo;
-import com.ydtech.modules.admin.model.vo.PcAddressHistoryTimeVo;
-import com.ydtech.modules.admin.model.vo.RegionInfoVo;
-import com.ydtech.modules.admin.service.GeoService;
-import com.ydtech.modules.admin.service.SysPcAddressHistoryService;
-import com.ydtech.modules.admin.service.SysPcAddressService;
-import com.ydtech.modules.admin.service.SysUserService;
+import com.ydtech.modules.admin.model.vo.*;
+import com.ydtech.modules.admin.service.*;
+import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.order.entity.BasePageResult;
 import com.ydtech.utils.StringUtils;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -57,6 +52,13 @@ public class SysPcAddressServiceImpl extends ServiceImpl<SysPcAddressMapper, Sys
 
     @Resource
     private SysDeptMapper sysDeptMapper;
+    @Resource
+    private SysDeptService sysDeptService;
+    @Resource
+    private SysUserMapper sysUserMapper;
+
+    @Autowired
+    private SysUserDeptRelationshipMapper sysUserDeptRelationshipMapper;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -91,15 +93,51 @@ public class SysPcAddressServiceImpl extends ServiceImpl<SysPcAddressMapper, Sys
 
     @Override
     public List<SysPcAddress> getEveryone(SysPcAddressDto sysPcAddressDto) {
+        List<SysPcAddress> sysPcAddresses = null;
+        // 类型:1。机构 2.用户
+        if (sysPcAddressDto.getType() == 1) {
+
+            sysPcAddresses = sysPcAddressMapper.selectList(new LambdaQueryWrapper<SysPcAddress>()
+                    .eq(StringUtils.isNotEmpty(sysPcAddressDto.getProvince()), SysPcAddress::getProvince, sysPcAddressDto.getProvince())
+                    .eq(StringUtils.isNotEmpty(sysPcAddressDto.getCity()), SysPcAddress::getCity, sysPcAddressDto.getCity())
+                    .eq(StringUtils.isNotEmpty(sysPcAddressDto.getDistrict()), SysPcAddress::getDistrict, sysPcAddressDto.getDistrict())
+                    .in(SysPcAddress::getSource, Arrays.asList("1", "2"))
+                    .likeRight(StringUtils.isNotEmpty(sysPcAddressDto.getQueryId()), SysPcAddress::getUserId, sysPcAddressDto.getQueryId())
+                    .eq(StringUtils.isNotEmpty(sysPcAddressDto.getSource()), SysPcAddress::getSource, sysPcAddressDto.getSource())
+                    .eq(sysPcAddressDto.getStatus() != null, SysPcAddress::getStatus, sysPcAddressDto.getStatus())
+                    .orderByDesc(SysPcAddress::getOperationTime));
+
+        } else if (sysPcAddressDto.getType() == 2) {
+            List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
+                    .eq(SysUser::getLeaderId, sysPcAddressDto.getQueryId()).ne(SysUser::getStatus, 0));
+            List<String> collect = sysUsers.stream().map(SysUser::getId).collect(Collectors.toList());
+            List<String> ids = new ArrayList<>();
+            List<String> idList = queryList(collect, ids);
+            collect.addAll(idList);
+            if (collect.size() == 0) {
+                return sysPcAddresses;
+            }
+            sysPcAddresses = sysPcAddressMapper.selectList(new LambdaQueryWrapper<SysPcAddress>()
+                    .eq(StringUtils.isNotEmpty(sysPcAddressDto.getProvince()), SysPcAddress::getProvince, sysPcAddressDto.getProvince())
+                    .eq(StringUtils.isNotEmpty(sysPcAddressDto.getCity()), SysPcAddress::getCity, sysPcAddressDto.getCity())
+                    .eq(StringUtils.isNotEmpty(sysPcAddressDto.getDistrict()), SysPcAddress::getDistrict, sysPcAddressDto.getDistrict())
+                    .in(SysPcAddress::getSource, Arrays.asList("1", "2"))
+                    .in(CollectionUtil.isNotEmpty(collect), SysPcAddress::getUserId, collect)
+                    .eq(StringUtils.isNotEmpty(sysPcAddressDto.getSource()), SysPcAddress::getSource, sysPcAddressDto.getSource())
+                    .eq(sysPcAddressDto.getStatus() != null, SysPcAddress::getStatus, sysPcAddressDto.getStatus())
+                    .orderByDesc(SysPcAddress::getOperationTime));
+
+        } else {
+            sysPcAddresses = sysPcAddressMapper.selectList(new LambdaQueryWrapper<SysPcAddress>()
+                    .eq(StringUtils.isNotEmpty(sysPcAddressDto.getProvince()), SysPcAddress::getProvince, sysPcAddressDto.getProvince())
+                    .eq(StringUtils.isNotEmpty(sysPcAddressDto.getCity()), SysPcAddress::getCity, sysPcAddressDto.getCity())
+                    .eq(StringUtils.isNotEmpty(sysPcAddressDto.getDistrict()), SysPcAddress::getDistrict, sysPcAddressDto.getDistrict())
+                    .in(SysPcAddress::getSource, Arrays.asList("1", "2"))
+                    .eq(StringUtils.isNotEmpty(sysPcAddressDto.getSource()), SysPcAddress::getSource, sysPcAddressDto.getSource())
+                    .eq(sysPcAddressDto.getStatus() != null, SysPcAddress::getStatus, sysPcAddressDto.getStatus())
+                    .orderByDesc(SysPcAddress::getOperationTime));
+        }
 
-        List<SysPcAddress> sysPcAddresses = sysPcAddressMapper.selectList(new LambdaQueryWrapper<SysPcAddress>()
-                .eq(StringUtils.isNotEmpty(sysPcAddressDto.getProvince()), SysPcAddress::getProvince, sysPcAddressDto.getProvince())
-                .eq(StringUtils.isNotEmpty(sysPcAddressDto.getCity()), SysPcAddress::getCity, sysPcAddressDto.getCity())
-                .eq(StringUtils.isNotEmpty(sysPcAddressDto.getDistrict()), SysPcAddress::getDistrict, sysPcAddressDto.getDistrict())
-                .in(SysPcAddress::getSource, Arrays.asList("1", "2"))
-                .eq(StringUtils.isNotEmpty(sysPcAddressDto.getSource()), SysPcAddress::getSource, sysPcAddressDto.getSource())
-                .eq(sysPcAddressDto.getStatus() != null, SysPcAddress::getStatus, sysPcAddressDto.getStatus())
-                .orderByDesc(SysPcAddress::getOperationTime));
         for (SysPcAddress sysPcAddress : sysPcAddresses) {
             SysUser sysUser = sysUserService.getById(sysPcAddress.getUserId());
             if (sysUser == null) continue;
@@ -109,6 +147,24 @@ public class SysPcAddressServiceImpl extends ServiceImpl<SysPcAddressMapper, Sys
         return sysPcAddresses;
     }
 
+    private List<String> queryList(List<String> collect, List<String> ids) {
+        if (collect.size() > 0) {
+            for (String id : collect) {
+                List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
+                        .eq(SysUser::getLeaderId, id).ne(SysUser::getStatus, 0));
+                if (sysUsers.size() > 0) {
+                    List<String> list = sysUsers.stream().map(SysUser::getId).collect(Collectors.toList());
+                    ids.addAll(list);
+                    queryList(list, ids);
+
+                }
+            }
+
+        }
+
+        return ids;
+    }
+
 
     @Override
     public List<SysPcAddress> findLocationsWithinRadius(AdressRangeDto adressRangeDto) {
@@ -201,16 +257,53 @@ public class SysPcAddressServiceImpl extends ServiceImpl<SysPcAddressMapper, Sys
     @Override
     public BasePageResult<SysPcAddress> queryPcAddressInfo(PcAddressInfoDto addressInfoDto) {
         Page<SysPcAddress> page = new Page<>(addressInfoDto.getPageNum(), addressInfoDto.getPageSize());
+        Page<SysPcAddress> insOrdersPage = null;
+        // 类型:1。机构 2.用户
+        if (addressInfoDto.getType() == 1) {
+            LambdaQueryWrapper<SysPcAddress> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(StringUtils.isNotEmpty(addressInfoDto.getLng()), SysPcAddress::getLongitude, addressInfoDto.getLng());
+            wrapper.eq(StringUtils.isNotEmpty(addressInfoDto.getLat()), SysPcAddress::getLatitude, addressInfoDto.getLat());
+            wrapper.in(SysPcAddress::getSource, Arrays.asList("1", "2"));
+            wrapper.eq(StringUtils.isNotEmpty(addressInfoDto.getSource()), SysPcAddress::getSource, addressInfoDto.getSource());
+            wrapper.likeRight(StringUtils.isNotEmpty(addressInfoDto.getQueryId()), SysPcAddress::getUserId, addressInfoDto.getQueryId());
+            wrapper.eq(addressInfoDto.getStatus() != null, SysPcAddress::getStatus, addressInfoDto.getStatus());
+            wrapper.orderByDesc(SysPcAddress::getOperationTime);
+
+            insOrdersPage = page(page, wrapper);
+
+        } else if (addressInfoDto.getType() == 2) {
+            List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
+                    .eq(SysUser::getLeaderId, addressInfoDto.getQueryId()).ne(SysUser::getStatus, 0));
+            List<String> collect = sysUsers.stream().map(SysUser::getId).collect(Collectors.toList());
+            List<String> ids = new ArrayList<>();
+            List<String> idList = queryList(collect, ids);
+            collect.addAll(idList);
+            if (collect.size() == 0) {
+                return new BasePageResult<>(addressInfoDto.getPageNum(), page.getSize(), insOrdersPage.getTotal(), page.getPages(),
+                        insOrdersPage.getRecords());
+            }
+
+            LambdaQueryWrapper<SysPcAddress> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(StringUtils.isNotEmpty(addressInfoDto.getLng()), SysPcAddress::getLongitude, addressInfoDto.getLng());
+            wrapper.eq(StringUtils.isNotEmpty(addressInfoDto.getLat()), SysPcAddress::getLatitude, addressInfoDto.getLat());
+            wrapper.in(SysPcAddress::getSource, Arrays.asList("1", "2"));
+            wrapper.eq(StringUtils.isNotEmpty(addressInfoDto.getSource()), SysPcAddress::getSource, addressInfoDto.getSource());
+            wrapper.eq(addressInfoDto.getStatus() != null, SysPcAddress::getStatus, addressInfoDto.getStatus());
+            wrapper.orderByDesc(SysPcAddress::getOperationTime);
 
-        LambdaQueryWrapper<SysPcAddress> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(StringUtils.isNotEmpty(addressInfoDto.getLng()), SysPcAddress::getLongitude, addressInfoDto.getLng());
-        wrapper.eq(StringUtils.isNotEmpty(addressInfoDto.getLat()), SysPcAddress::getLatitude, addressInfoDto.getLat());
-        wrapper.in(SysPcAddress::getSource, Arrays.asList("1", "2"));
-        wrapper.eq(StringUtils.isNotEmpty(addressInfoDto.getSource()), SysPcAddress::getSource, addressInfoDto.getSource());
-        wrapper.eq(addressInfoDto.getStatus() != null, SysPcAddress::getStatus, addressInfoDto.getStatus());
-        wrapper.orderByDesc(SysPcAddress::getOperationTime);
+            insOrdersPage = page(page, wrapper);
+        } else {
+
+            LambdaQueryWrapper<SysPcAddress> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(StringUtils.isNotEmpty(addressInfoDto.getLng()), SysPcAddress::getLongitude, addressInfoDto.getLng());
+            wrapper.eq(StringUtils.isNotEmpty(addressInfoDto.getLat()), SysPcAddress::getLatitude, addressInfoDto.getLat());
+            wrapper.in(SysPcAddress::getSource, Arrays.asList("1", "2"));
+            wrapper.eq(StringUtils.isNotEmpty(addressInfoDto.getSource()), SysPcAddress::getSource, addressInfoDto.getSource());
+            wrapper.eq(addressInfoDto.getStatus() != null, SysPcAddress::getStatus, addressInfoDto.getStatus());
+            wrapper.orderByDesc(SysPcAddress::getOperationTime);
 
-        Page<SysPcAddress> insOrdersPage = page(page, wrapper);
+            insOrdersPage = page(page, wrapper);
+        }
 
         return new BasePageResult<>(addressInfoDto.getPageNum(), page.getSize(), insOrdersPage.getTotal(), page.getPages(),
                 insOrdersPage.getRecords());
@@ -230,15 +323,15 @@ public class SysPcAddressServiceImpl extends ServiceImpl<SysPcAddressMapper, Sys
             queryWrapper.select("COUNT(DISTINCT user_id) AS total")
                     .likeRight(StringUtils.isNotEmpty(startTime), "operation_time", startTime)
                     .in("source", Arrays.asList(1, 2))
-                    .eq(StringUtils.isNotEmpty(source),"source",source);
+                    .eq(StringUtils.isNotEmpty(source), "source", source);
             Map<String, Object> result = sysPcAddressHistoryService.getMap(queryWrapper);
             Long total = (Long) result.get("total");
             pcAddressHistoryInfoVo.setOnlineNum(total);
 
-            List<PcAddressHistoryTimeVo> pcAddress = sysPcAddressHistoryMapper.getPcAddress(startTime,source);
+            List<PcAddressHistoryTimeVo> pcAddress = sysPcAddressHistoryMapper.getPcAddress(startTime, source);
             pcAddressHistoryInfoVo.setList(pcAddress);
 
-            List<SysPcAddressHistory> sysPcAddressHistories = sysPcAddressHistoryMapper.getPcAddressInfo(startTime,source);
+            List<SysPcAddressHistory> sysPcAddressHistories = sysPcAddressHistoryMapper.getPcAddressInfo(startTime, source);
             extracted(sysPcAddressHistories);
             System.out.println("********************" + sysPcAddressHistories.size());
             pcAddressHistoryInfoVo.setPcAddressList(sysPcAddressHistories);
@@ -260,16 +353,16 @@ public class SysPcAddressServiceImpl extends ServiceImpl<SysPcAddressMapper, Sys
             QueryWrapper<SysPcAddressHistory> queryWrapper = new QueryWrapper<>();
             // 指定 COUNT(DISTINCT user_id) 查询
             queryWrapper.select("COUNT(DISTINCT user_id) AS total").between("operation_time", startTime, endTime)
-                    .in("source", Arrays.asList(1, 2)).eq(StringUtils.isNotEmpty(source),"source",source);
+                    .in("source", Arrays.asList(1, 2)).eq(StringUtils.isNotEmpty(source), "source", source);
             Map<String, Object> result = sysPcAddressHistoryService.getMap(queryWrapper);
             Long total = (Long) result.get("total");
             pcAddressHistoryInfoVo.setOnlineNum(total);
 
-            List<PcAddressHistoryTimeVo> pcAddress = sysPcAddressHistoryMapper.getPcAddressSection(startTime, endTime,source);
+            List<PcAddressHistoryTimeVo> pcAddress = sysPcAddressHistoryMapper.getPcAddressSection(startTime, endTime, source);
 
             pcAddressHistoryInfoVo.setList(pcAddress);
 
-            List<SysPcAddressHistory> sysPcAddressHistories = sysPcAddressHistoryMapper.getPcAddressHistory(startTime, endTime,source);
+            List<SysPcAddressHistory> sysPcAddressHistories = sysPcAddressHistoryMapper.getPcAddressHistory(startTime, endTime, source);
             extracted(sysPcAddressHistories);
             System.out.println("********************" + sysPcAddressHistories.size());
             pcAddressHistoryInfoVo.setPcAddressList(sysPcAddressHistories);
@@ -301,12 +394,169 @@ public class SysPcAddressServiceImpl extends ServiceImpl<SysPcAddressMapper, Sys
     public BasePageResult<SysPcAddressHistory> queryPcAddressHistoryInfo(PcAddressInfoDto addressInfoDto) {
         Page page = new Page(addressInfoDto.getPageNum(), addressInfoDto.getPageSize());
 
-        IPage<SysPcAddressHistory> sysPcAddressHistoryIPage=sysPcAddressHistoryMapper.queryAddressHistory(page,addressInfoDto);
+        IPage<SysPcAddressHistory> sysPcAddressHistoryIPage = sysPcAddressHistoryMapper.queryAddressHistory(page, addressInfoDto);
 
         return new BasePageResult<>(addressInfoDto.getPageNum(), addressInfoDto.getPageSize(), sysPcAddressHistoryIPage.getTotal(), sysPcAddressHistoryIPage.getPages(),
                 sysPcAddressHistoryIPage.getRecords());
     }
 
+    /**
+     * 前线只要机构 后线人员(按照领导人)  机构
+     *
+     * @return
+     */
+    @Override
+    public KztUserDeptTreeDto getUserDeptTree() {
+        KztUserDeptTreeDto kztUserDeptTreeDto = new KztUserDeptTreeDto();
+        String userId = BaseController.getUserId();
+        List<SysDept> sysDeptList1 = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>().eq(SysDept::getLeaderId, userId));
+        if (sysDeptList1.size() > 0) {
+            //展示机构
+            kztUserDeptTreeDto.setType("1");
+        } else {
+            //展示机构 人员
+            kztUserDeptTreeDto.setType("2"); //代理
+        }
+        SysUser byUserId = sysUserMapper.getByUserId(userId);
+        List<SysDeptTreeVo> resultDeptList = this.getFiveLevelDeptKzt(byUserId);
+        kztUserDeptTreeDto.setDeptList(resultDeptList);
+        if (!userId.contains("M")) {
+            if (sysDeptList1.size()==0) {
+                List<SysUser> resultList = this.getUserTreeHx(byUserId);
+                kztUserDeptTreeDto.setUserList(resultList);
+            }
+
+        }
+
+        return kztUserDeptTreeDto;
+    }
+
+    private List<SysDeptTreeVo> getFiveLevelDeptKzt(SysUser byUserId) {
+        SysDept sysDept = sysDeptService.getById("9");
+        SysDept dept = sysDeptMapper.selectById(BaseController.getDeptId());
+        SysDept sysDept1 = new SysDept();
+
+        SysDeptVo sysDeptVo = new SysDeptVo();
+        String id = byUserId.getId();
+        List<String> deptIds = new ArrayList<>();
+        if ("admin".equals(byUserId.getId())) {
+            List<SysDept> sysDeptList = sysDeptMapper.queryFiveLevelDept(sysDeptVo);
+            deptIds.addAll(sysDeptList.stream().map(SysDept::getId).collect(Collectors.toList()));
+        } else {
+
+            List<SysDept> sysDeptList1 = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>().eq(SysDept::getLeaderId, id));
+            if (sysDeptList1.size() > 0) {
+                if (sysDeptList1.size() == 1) {
+                    SysDept sysDept2 = sysDeptList1.get(0);
+                    BeanUtil.copyProperties(sysDept2, sysDept1);
+                    deptIds = getDeptIds(sysDept2.getId(), deptIds, deptIds);
+                } else {
+
+                    Optional<SysDept> max = sysDeptList1.stream().min((o1, o2) -> o1.getComlevel().compareTo(o2.getComlevel()));
+                    SysDept sysDept2 = max.get();
+                    BeanUtil.copyProperties(sysDept2, sysDept1);
+                    deptIds = getDeptIds(sysDept2.getId(), deptIds, deptIds);
+                }
+            } else {
+                List<SysDept> sysDeptList = sysDeptMapper.queryFiveLevelDept(sysDeptVo);
+                deptIds.addAll(sysDeptList.stream().map(SysDept::getId).collect(Collectors.toList()));
+            }
+        }
+        sysDeptVo.setDeptIds(deptIds);
+        List<SysDept> sysDeptList = sysDeptMapper.queryFiveLevelDept(sysDeptVo);
+        if ("admin".equals(byUserId.getId())) {
+            sysDept.setComlevel("1");
+            sysDeptList.add(sysDept);
+        }
+        List<SysDeptTreeVo> sysDeptTreeVos = BeanUtil.copyToList(sysDeptList, SysDeptTreeVo.class);
+        Map<String, List<SysDeptTreeVo>> map = sysDeptTreeVos.stream().sorted(Comparator.comparing(SysDeptTreeVo::getId))
+                .collect(Collectors.groupingBy(SysDeptTreeVo::getParentId));
+        sysDeptTreeVos.forEach(i -> {
+            if (Integer.parseInt(i.getComlevel()) <= 5) {
+                i.setChildren(map.getOrDefault(i.getId(), new ArrayList<>()));
+                i.setDeptCount(i.getChildren().size());
+            }
+        });
+        if ("admin".equals(byUserId.getId())) {
+            return map.get(BaseController.getDeptId());
+        }
+        List<SysDept> sysDeptList1 = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>().eq(SysDept::getLeaderId, id));
+        if (sysDeptList1.size() == 0) {
+            return map.get(sysDept.getId());
+        }
+        String parentId = sysDept1.getParentId();
+        if (parentId.equals("0")) {
+            sysDept1.setParentId(sysDept1.getId());
+        }
+        return map.get(sysDept1.getParentId());
+    }
+
+    private List<String> getDeptIds(String deptId, List<String> ids, List<String> deptIds) {
+        if (ids.size() > 0) {
+            List<String> list = new ArrayList<>();
+            for (String id : ids) {
+                List<SysDept> sysDeptList = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>().eq(SysDept::getParentId, id).isNotNull(SysDept::getComlevel));
+                if (sysDeptList.size() > 0) {
+                    List<String> collect = sysDeptList.stream().map(SysDept::getId).collect(Collectors.toList());
+                    deptIds.addAll(sysDeptList.stream().map(SysDept::getId).collect(Collectors.toList()));
+                    list.addAll(collect);
+                }
+            }
+            if (list.size() == 0) {
+                return deptIds;
+            } else {
+                getDeptIds(deptId, list, deptIds);
+            }
+        } else {
+            List<SysDept> sysDeptList = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>().eq(SysDept::getParentId, deptId).isNotNull(SysDept::getComlevel));
+            if (sysDeptList.size() > 0) {
+                List<String> collect = sysDeptList.stream().map(SysDept::getId).collect(Collectors.toList());
+                deptIds.add(deptId);
+                deptIds.addAll(collect);
+                getDeptIds(deptId, collect, deptIds);
+
+            }
+        }
+
+        return deptIds;
+    }
+
+
+    private List<SysUser> getUserTreeHx(SysUser sysUser) {
+        //获取领导字段不为空的人的ID
+        QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
+        queryWrapper.isNotNull("leader_id");
+
+        List<SysUser> users = sysUserMapper.selectList(queryWrapper);
+        if (users == null || users.size() == 0) {
+            return new ArrayList<>();
+        }
+        List<SysUser> topUsers = new ArrayList<>(); //存放1级用户,即没有直接上级的用户
+        // 根据组织结构展示级别,筛选顶层节点并构建组织结构树
+        //topUsers.add(sysUserMapper.selectById("99D1501"));
+        if ("admin".equals(sysUser.getName())) {
+            topUsers.add(sysUserMapper.selectById("99D1501"));
+        } else {
+            topUsers.add(sysUser);
+        }
+        // 递归构建用户树结构
+        buildUserTree(topUsers, users);
+        return topUsers;
+    }
+
+    private void buildUserTree(List<SysUser> topUsers, List<SysUser> users) {
+        for (SysUser user : topUsers) {
+            List<SysUser> children = new ArrayList<>();
+            for (SysUser childUser : users) {
+                if (user.getId().equals(childUser.getLeaderId())) {
+                    children.add(childUser);
+                    // 递归查找下一级
+                    buildUserTree(children, users);
+                }
+            }
+            user.setChildren(children);
+        }
+    }
 
 
 }

+ 40 - 1
src/main/java/com/ydtech/modules/admin/service/impl/TaskStatisticsServiceImpl.java

@@ -11,6 +11,7 @@ import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.PageRequest;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.admin.dao.SysAmountAuditingMapper;
+import com.ydtech.modules.admin.dao.SysDeptMapper;
 import com.ydtech.modules.admin.dao.SysUserMapper;
 import com.ydtech.modules.admin.dao.TaskStatisticsMapper;
 import com.ydtech.modules.admin.model.SysDept;
@@ -23,6 +24,7 @@ import com.ydtech.modules.admin.model.vo.TaskStatisticsVo;
 import com.ydtech.modules.admin.service.SysDeptService;
 import com.ydtech.modules.admin.service.TaskStatisticsService;
 import com.ydtech.modules.admin.utils.SliceUpDateUtil;
+import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.base.model.vo.PageVo;
 import com.ydtech.modules.inv.utils.EasyExcelUtils;
 import com.ydtech.modules.order.dao.InsAreaCompanyMapper;
@@ -70,6 +72,8 @@ public class TaskStatisticsServiceImpl  implements TaskStatisticsService {
     private SysDeptService sysDeptService;
     @Autowired
     private SysUserMapper sysUserMapper;
+    @Autowired
+    private SysDeptMapper sysDeptMapper;
 
 
     @Value("${upload.file.path}")
@@ -373,6 +377,7 @@ public class TaskStatisticsServiceImpl  implements TaskStatisticsService {
             }else if ("1".equals(taskStatisticsVo.getTreeType())){
                 taskStatisticsVo.setDeptId(taskStatisticsVo.getTreeUserId());
                 taskStatisticsVo.setTreeUserId(null);
+                taskStatisticsVo.setUserIds(new ArrayList<>());
             }
         }
         PageVo<TaskStatisticsVo> pageVo = new PageVo<>();
@@ -387,6 +392,10 @@ public class TaskStatisticsServiceImpl  implements TaskStatisticsService {
         taskStatisticsVo.setCreatetimeEnd(dateMapByType.get("endDate"));
 
         IPage<BusinessAgentData> list = this.taskStatisticsMapper.getBusinessAgentData(page,taskStatisticsVo);
+        List<BusinessAgentData> records = list.getRecords();
+        for (BusinessAgentData record : records) {
+            this.appendName(record);
+        }
         Long  total = this.taskStatisticsMapper.getBusinessAgentDataTotal(taskStatisticsVo);
         list.setTotal(total);
         return list;
@@ -537,10 +546,11 @@ public class TaskStatisticsServiceImpl  implements TaskStatisticsService {
             }else if ("1".equals(taskStatisticsVo.getTreeType())){
                 taskStatisticsVo.setDeptId(taskStatisticsVo.getTreeUserId());
                 taskStatisticsVo.setTreeUserId(null);
+                taskStatisticsVo.setUserIds(new ArrayList<>());
             }
         }
 
-
+        String deptId = BaseController.getDeptId();
         BusinessAgentData result = this.taskStatisticsMapper.getBusinessAgentDataTotalAdd(taskStatisticsVo);
         Long  total = this.taskStatisticsMapper.getBusinessAgentDataTotal(taskStatisticsVo);
         result.setTotalNumber(total.toString());
@@ -629,4 +639,33 @@ public class TaskStatisticsServiceImpl  implements TaskStatisticsService {
         IPage<TaskStatisticsDto> list = this.taskStatisticsMapper.channelAgentDetails(page,taskStatisticsVo);
         return list;
     }
+    private void appendName(BusinessAgentData user) {
+        StringBuilder stringBuilder = new StringBuilder();
+        String deptId = user.getDeptId();
+        if (com.ydtech.utils.StringUtils.isNotEmpty(deptId)) {
+            int length = deptId.length();
+            if (length > 0) {
+                if (length <= 5) {
+                    String dept = deptId.replaceAll("[^\\d]*(\\d+).*", "$1");
+                    SysDept cityName = sysDeptMapper.selectById(dept);
+                    String name = cityName.getName();
+                    stringBuilder.append("(").append(name).append(")");
+                } else if (length > 5) {
+                    String dept = deptId.replaceAll("[^\\d]*(\\d+).*", "$1");
+                    if (dept.length() < 5) {
+                        SysDept dept1 = sysDeptMapper.selectById(dept);
+                        SysDept cityName = sysDeptMapper.selectById(deptId);
+                        stringBuilder.append(dept1.getName()).append(cityName.getName());
+                    } else {
+                        String deptIdTwo = dept.substring(0, 4);
+
+                        SysDept dept1 = sysDeptMapper.selectById(deptIdTwo);
+                        SysDept dept2 = sysDeptMapper.selectById(dept);
+                        stringBuilder.append(dept1.getName()).append(dept2.getName());
+                    }
+                }
+                user.setDeptName(stringBuilder.toString());
+            }
+        }
+    }
 }

+ 2 - 3
src/main/java/com/ydtech/modules/admin/utils/KztGetDeptUtils.java

@@ -100,9 +100,8 @@ public class KztGetDeptUtils {
         ApplicationContext applicationContext = SpringContextUtil.getApplicationContext();
         SysUserMapper sysUserMapper = applicationContext.getBean(SysUserMapper.class);
         sysUserMapper.selectUserById(userId);
-        HashMap<String, Object> params = new HashMap<>();
-        params.put("leaderId", userId);
-        List<SysUser> sysUsers = sysUserMapper.selectByParams(params);
+
+        List<SysUser> sysUsers = sysUserMapper.selectByLeadId(userId);
         if (!sysUsers.isEmpty()) {
             ids.addAll(sysUsers.stream().map(SysUser::getId).collect(Collectors.toList()));
         }

+ 18 - 0
src/main/java/com/ydtech/modules/fnc/service/impl/InsPlyIncomeServiceImpl.java

@@ -2379,6 +2379,15 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
                 LocalDateTime signDate = item.getSignDate();
                 BeanUtils.copyProperties(item, bxSettlementFeesNorExcel);
                 bxSettlementFeesNorExcel.setSigndate(signDate);
+                if (item.getHandlingFeesStatus().equals("0")) {
+                    bxSettlementFeesNorExcel.setHandlingFeesStatus("未开票");
+                }
+                if (item.getHandlingFeesStatus().equals("1")) {
+                    bxSettlementFeesNorExcel.setHandlingFeesStatus("已开票");
+                }
+                if (item.getHandlingFeesStatus().equals("2")) {
+                    bxSettlementFeesNorExcel.setHandlingFeesStatus("已开票未结算");
+                }
                 resultNoList.add(bxSettlementFeesNorExcel);
             }
         } else {
@@ -2390,6 +2399,15 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
                 LocalDateTime signDate = item.getSignDate();
                 BeanUtils.copyProperties(item, bxSettlementFeesExcel);
                 bxSettlementFeesExcel.setSigndate(signDate);
+                if (item.getHandlingFeesStatus().equals("0")) {
+                    bxSettlementFeesExcel.setHandlingFeesStatus("未开票");
+                }
+                if (item.getHandlingFeesStatus().equals("1")) {
+                    bxSettlementFeesExcel.setHandlingFeesStatus("已开票");
+                }
+                if (item.getHandlingFeesStatus().equals("2")) {
+                    bxSettlementFeesExcel.setHandlingFeesStatus("已开票未结算");
+                }
                 resultList.add(bxSettlementFeesExcel);
             }
         }

+ 4 - 0
src/main/java/com/ydtech/modules/ins/model/vo/res/BxSettlementFeesExcel.java

@@ -97,4 +97,8 @@ public class BxSettlementFeesExcel implements Serializable {
     @ExcelProperty(value = "手续费金额",index = 17)
     private BigDecimal commissionFeevalue;
 
+    @ApiModelProperty("结算状态")
+    @ExcelProperty(value = "结算状态", index = 18)
+    private String handlingFeesStatus;
+
 }

+ 3 - 1
src/main/java/com/ydtech/modules/ins/model/vo/res/BxSettlementFeesNorExcel.java

@@ -65,5 +65,7 @@ public class BxSettlementFeesNorExcel implements Serializable {
     @ExcelProperty(value = "手续费金额",index = 9)
     private BigDecimal commissionFeevalue;
 
-
+    @ApiModelProperty("结算状态")
+    @ExcelProperty(value = "结算状态",index = 10)
+    private String handlingFeesStatus;
 }

+ 1 - 1
src/main/java/com/ydtech/modules/order/entity/InsOrders.java

@@ -373,7 +373,7 @@ public class InsOrders implements Serializable {
             quoteInfoVo.getInsuredPersonInfo().setOwner(quoteInfoVo.getInsuredPersonInfo().contrastInfo(quoteInfoVo.getOwnerInfo()));
         }
         this.setInsureinfo(JSON.parseObject(JSON.toJSONString(quoteInfoVo.getInsuredPersonInfo())));
-        this.setInsuredname(quoteInfoVo.getPolicyHolderInfo().getName());
+        this.setInsuredname(quoteInfoVo.getInsuredPersonInfo().getName());
 
         List<RiskInfoVo> risks = quoteInfoVo.getRiskList();
         List<KindInfoVo> kinds = quoteInfoVo.getKindList();

+ 3 - 1
src/main/java/com/ydtech/modules/order/entity/vo/OrderQueryVo.java

@@ -112,9 +112,11 @@ public class OrderQueryVo {
     @ApiModelProperty(value = "险种")
     private String product;
 
+    @ApiModelProperty(value = "被保人姓名")
+    private String insuredName;
 
     @ApiModelProperty(value = "投保人姓名")
-    private String insuredName;
+    private String policyholdersName;
 
     @ApiModelProperty(value = "报价开始时间")
     private String quoteStartDateStr;

+ 9 - 2
src/main/java/com/ydtech/modules/order/entity/vo/OrderVo.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ydtech.modules.protocol.entity.po.PtlAgreement;
 import com.ydtech.modules.protocols.entity.vo.AgreementProductCostsSave;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -113,8 +114,8 @@ public class OrderVo implements Serializable {
     /**
      * 协议id
      */
-    @TableField(value = "agreeid")
-    private String agreeid;
+    @TableField(value = "agreement_id")
+    private String agreementId;
 
     /**
      * 产品id
@@ -520,4 +521,10 @@ public class OrderVo implements Serializable {
     @ApiModelProperty("驾意险份数")
     private String jyQuantity;
 
+    @ApiModelProperty("协议信息")
+    private PtlAgreement ptlAgreement;
+
+    @ApiModelProperty("录入来源")
+    private String entryStatus;
+
 }

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

@@ -64,6 +64,7 @@ import com.ydtech.modules.order.entity.vo.zj.ZjQuoteAccidentVo;
 import com.ydtech.modules.order.service.*;
 import com.ydtech.modules.protocol.entity.constants.PtlApiType;
 import com.ydtech.modules.protocol.entity.dto.PtlAgreementInsCompanyDto;
+import com.ydtech.modules.protocol.entity.po.PtlAgreement;
 import com.ydtech.modules.protocol.service.PtlAgreementService;
 import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
 import com.ydtech.modules.protocols.entity.po.PtlAgreementProductCostsNew;
@@ -821,6 +822,10 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         } else {
             orderAndAreaCompany.setJqInsuranceType(new JSONArray());
         }
+        // 获取协议信息、 录入来源
+        PtlAgreement ptlAgreement = ptlAgreementService.getById(orderAndAreaCompany.getAgreementId());
+        orderAndAreaCompany.setPtlAgreement(ptlAgreement);
+        orderAndAreaCompany.setEntryStatus(orderAndAreaCompany.getEntryStatus());
 
         String insOrdersUnderwritingReason = insOrdersUnderwritingReasonService.getInsOrdersUnderwritingReason(orderAndAreaCompany.getId(), orderAndAreaCompany.getOrderstatus());
         orderAndAreaCompany.setUnderwritingReason(insOrdersUnderwritingReason);

+ 16 - 0
src/main/resources/mapper/modules/admin/SysDeptMapper.xml

@@ -149,4 +149,20 @@
         </where>
     </select>
 
+    <select id="queryFiveLevelDept" resultType="com.ydtech.modules.admin.model.SysDept">
+        select * from
+        sys_dept sd
+        <where>
+            sd.del_flag ='0'
+            AND sd.id LIKE concat('%','9','%')
+            AND sd.comlevel is not null
+            <if test="vo.deptIds !=null and  vo.deptIds!=''  and  vo.deptIds.size()>0">
+                AND sd.id  in
+                <foreach collection="vo.deptIds" item="item" open="(" close=")" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+        </where>
+    </select>
+
 </mapper>

+ 15 - 0
src/main/resources/mapper/modules/admin/SysMenuRecordMapper.xml

@@ -32,6 +32,21 @@
             </if>
         </where>
     </select>
+    <select id="queryByTime" resultType="com.ydtech.modules.admin.model.SysMenuRecord">
+        select
+        *
+        from sys_menu_record
+        <where>
+            <if test="menuType != null">
+                and menu_type = #{menuType}
+            </if>
+            <if test="type != null">
+                and type = #{type}
+            </if>
+        </where>
+        order by create_time desc
+        limit 1
+    </select>
 
 
 </mapper>

+ 12 - 1
src/main/resources/mapper/modules/admin/SysUserMapper.xml

@@ -1434,7 +1434,7 @@
     </select>
 
     <select id="getByUserId" resultType="com.ydtech.modules.admin.model.SysUser">
-        select t.id id, t.name name, t.mobile mobile, t2.management_source managementSource,t.operatorCode
+        select t.id id, t.name name, t.mobile mobile, t2.management_source managementSource,t.operatorCode,t2.id  deptId
         from sys_user t
                  left join sys_dept t2 on t.dept_id = t2.id
         where t.id = #{id}
@@ -1763,6 +1763,7 @@
         left join sys_dept sd on sd.id =su.dept_id
         <where>
             su.leader_id is not null
+            AND su.id not LIKE '%M%'
              <if test="leaderId !=null and  leaderId !=''">
                and  su.leader_id =#{leaderId}
              </if>
@@ -1783,4 +1784,14 @@
             t1.`status` = 1
           AND t1.id NOT LIKE '%M%'
     </select>
+
+
+    <select id="selectByLeadId" resultType="com.ydtech.modules.admin.model.SysUser">
+        select *
+        from sys_user su
+        where su.status = 1
+        and  su.leader_id =#{userId}
+    </select>
+
+
 </mapper>

+ 2 - 1
src/main/resources/mapper/modules/admin/TaskStatisticsMapper.xml

@@ -8,6 +8,7 @@
         select
         io.userid as "userId",
         su.name as "userName",
+        sd.id as "deptId",
         sum(IFNULL(jqpremium, 0) + IFNULL(sypremium, 0)+ IFNULL(jypremium, 0)) as "sumpremium",
         IFNULL(sum(jqpremium),0) as "jqpremium",
         IFNULL(sum(sypremium),0) as "sypremium",
@@ -54,7 +55,7 @@
                 and su.name=#{vo.userName}
             </if>
         </where>
-        group by io.userid,su.name,sd.management_source
+        group by io.userid,su.name,sd.management_source,sd.id
     </select>
 
     <select id="getBusinessAgentDataTotal" resultType="java.lang.Long">

+ 5 - 2
src/main/resources/mapper/modules/order/InsOrdersMapper.xml

@@ -73,7 +73,8 @@
         <result property="insureinfo" column="insureinfo" javaType="com.alibaba.fastjson.JSONObject"
                 typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"
                 jdbcType="VARCHAR"/>
-        <result property="agreeid" column="agreeid" jdbcType="VARCHAR"/>
+        <result property="agreementId" column="agreement_id" jdbcType="VARCHAR"/>
+        <result property="entryStatus" column="entry_status" jdbcType="VARCHAR"/>
         <result property="productid" column="productid" jdbcType="VARCHAR"/>
         <result property="product" column="product" jdbcType="VARCHAR"/>
         <result property="frameno" column="frameno" jdbcType="VARCHAR"/>
@@ -238,6 +239,8 @@
                iac.ubi_predicted_info_score,
                iac.signing_time as signingTime,
                iac.pay_date  as payDate,
+               iac.agreement_id,
+               iac.entry_status,
                eic.namesimple as partnerCompaniesName
         from ins_orders as o
                  join ins_area_company iac on o.orderno = iac.orderno
@@ -1734,7 +1737,7 @@
     </select>
 
     <select id="queryInsured" resultType="java.lang.String">
-        SELECT DISTINCT JSON_EXTRACT(insureinfo, '$.name')
+        SELECT DISTINCT insuredname
         from ins_orders
         WHERE userid = #{userId}
         <if test="queryInsuredInOrderVo.startDate != null and queryInsuredInOrderVo.startDate != '' and queryInsuredInOrderVo.endDate != null and queryInsuredInOrderVo.endDate != ''">