Browse Source

1.添加添加待客录单查询订单接口
2.通过用户id和订单状态查询关联渠道的订单数据+分页
3.通过用户id和订单状态查询关联代理人的订单数据+分页
4.通过用户id和订单状态查询关联保险公司的订单数据+分页
5.修改后线人员关联协议的查询所有的后线人员

hxl13994548489 2 years ago
parent
commit
36c8933304

+ 2 - 2
src/main/java/com/ydtech/modules/admin/controller/SysUserController.java

@@ -729,9 +729,9 @@ public class SysUserController extends BaseController {
      *  @version
      *  @author: hxl
      *  @Date: 2024/4/16 16:16
-     *  @Description:  获取待客录入可选业务员列表   通过工号、姓名、手机号
+     *  @Description:  获取待客录入可选业务员列表   通过工号、姓名、手机号、身份证号
      */
-    @ApiOperation(value = "获取待客录入可选业务员列表")
+    @ApiOperation(value = "获取待客录入可选业务员列表   通过工号、姓名、手机号、身份证号")
     @PostMapping(value = "/getAllUsersByHospitality")
     public HttpResult getAllUsersByHospitality(@RequestBody SysUserVOExt sysUserVOExt) {
         try{

+ 8 - 8
src/main/java/com/ydtech/modules/admin/controller/SysUserLinkPtlAgreementController.java

@@ -28,7 +28,7 @@ public class SysUserLinkPtlAgreementController extends BaseController {
     private SysUserLinkPtlAgreementService sysUserLinkPtlAgreementService;
 
     @PostMapping("queryPage")
-    @ApiOperation(value = "线人员关联协议分页")
+    @ApiOperation(value = "线人员关联协议分页")
     public HttpResult<BasePageResult<SysUserLinkPtlAgreementDto>> queryPage(@RequestBody  SysUserLinkPtlAgreementVo sysUserLinkPtlAgreementVo) {
 
         try{
@@ -43,7 +43,7 @@ public class SysUserLinkPtlAgreementController extends BaseController {
     @ApiOperation("前线人员关联协议添加修改")
     public HttpResult<Object> addOrUpdate(@RequestBody SysUserLinkPtlAgreementAddVo sysUserLinkPtlAgreementAddVo) {
         if(sysUserLinkPtlAgreementAddVo.getUserId()==null || "".equals(sysUserLinkPtlAgreementAddVo.getUserId())) {
-            return HttpResult.error("线人员id不能为空");
+            return HttpResult.error("线人员id不能为空");
         }
         if(sysUserLinkPtlAgreementAddVo.getPtlAgreementIds()==null || sysUserLinkPtlAgreementAddVo.getPtlAgreementIds().size()==0) {
             return HttpResult.error("协议ids不能为空");
@@ -58,11 +58,11 @@ public class SysUserLinkPtlAgreementController extends BaseController {
     }
 
     @PostMapping("delete")
-    @ApiOperation("线人员关联协议删除")
+    @ApiOperation("线人员关联协议删除")
     @ApiImplicitParam(name = "ids", value = "关联协议ids数组", required = true)
     public HttpResult<Object> delete(@RequestParam("ids")  List<Long> ids) {
         if(ids==null || ids.size()==0){
-            return HttpResult.error("线人员关联ids不能为空");
+            return HttpResult.error("线人员关联ids不能为空");
         }
         try{
             sysUserLinkPtlAgreementService.deleteByIds(ids);
@@ -73,7 +73,7 @@ public class SysUserLinkPtlAgreementController extends BaseController {
     }
 
     @GetMapping("findUserList")
-    @ApiOperation("查询所有的线人员列表")
+    @ApiOperation("查询所有的线人员列表")
     public HttpResult<Object> findUserList() {
         try{
             List<SysUserBaseVO> list= sysUserLinkPtlAgreementService.findUserList();
@@ -100,11 +100,11 @@ public class SysUserLinkPtlAgreementController extends BaseController {
     }
 
     @GetMapping("/findPtlAgreementListByUserId/{userId}")
-    @ApiOperation(value = "线人员关联协议列表")
-    @ApiImplicitParam(name = "userId", value = "线人员id", required = true)
+    @ApiOperation(value = "线人员关联协议列表")
+    @ApiImplicitParam(name = "userId", value = "线人员id", required = true)
     public HttpResult<List<SysUserLinkPtlAgreementDto>> findPtlAgreementListByUserId(@PathVariable("userId") String userId) {
         if(userId==null || "".equals(userId)) {
-            return HttpResult.error("线人员id不能为空");
+            return HttpResult.error("线人员id不能为空");
         }
         try{
             List<SysUserLinkPtlAgreementDto> result = sysUserLinkPtlAgreementService.findPtlAgreementListByUserId(userId);

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

@@ -188,6 +188,29 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
      *  @Description: 通过工号、姓名、手机号查询工号信息
      */
     List<SysUserBaseVO> getAllUsersByHospitality(@Param("user") SysUserVOExt sysUserVOExt);
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/4/16 16:25
+     *  @Description: 查询领导人为用户id的数据
+     */
+    @Select(" SELECT  t1.id AS userId,t1.NAME AS NAME,t1.mobile AS mobile,t1.`status` AS `status`,t2.id AS deptId,t2.`name` AS deptName,sd2.id AS pDeptId,sd2.`name` AS pDeptName  " +
+            " FROM sys_user t1 LEFT JOIN sys_dept t2 ON t1.dept_id = t2.id LEFT JOIN sys_dept sd2 ON sd2.id = t2.parent_id " +
+            " WHERE t1.`status` = 1 AND t1.leader_id = #{userId}")
+    List<SysUserBaseVO> getAllUsersByLeaderId(@Param("userId") String userId);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/4/17 16:55
+     *  @Description:  查询所有的代理人
+     */
+    @Select(" SELECT su.id FROM  sys_user su  LEFT JOIN sys_user_info info ON info.id = su.id  LEFT JOIN sys_dept sd ON su.dept_id = sd.id " +
+            " LEFT JOIN sys_dept psd ON psd.id = sd.parent_id   LEFT JOIN sys_user_role t3 ON su.id = t3.user_id  LEFT JOIN sys_role t4 ON t3.role_id = t4.id  " +
+            " AND sd.del_flag = '0'  and su.status = 1 " +
+            " WHERE  su.dept_id LIKE concat( '%', 9, '%' )    AND t3.role_id IN ( 20 )  AND sd.management_source = 2")
+    List<String> getAgentUserIds();
+
 }
 
 

+ 2 - 2
src/main/java/com/ydtech/modules/admin/model/dto/SysUserLinkPtlAgreementDto.java

@@ -17,10 +17,10 @@ import lombok.Data;
 @ApiModel
 public class SysUserLinkPtlAgreementDto extends PageRequest {
 
-    @ApiModelProperty("线人员关联协议id")
+    @ApiModelProperty("线人员关联协议id")
     private Long id;
 
-    @ApiModelProperty("线人员用户")
+    @ApiModelProperty("线人员用户")
     private SysUser sysUser;
 
     @ApiModelProperty("协议信息")

+ 1 - 1
src/main/java/com/ydtech/modules/admin/model/po/SysUserLinkPtlAgreement.java

@@ -27,7 +27,7 @@ public class SysUserLinkPtlAgreement implements Serializable {
     @TableId(value = "id", type = IdType.AUTO)
     private Long id;
     /***
-     * 线用户ID
+     * 线用户ID
      */
     @TableField(value = "user_id")
     private  String userId;

+ 2 - 1
src/main/java/com/ydtech/modules/admin/model/vo/SysUserBaseVO.java

@@ -40,6 +40,7 @@ public class SysUserBaseVO {
     private String roleId;
     @ApiModelProperty(value = "角色名称")
     private String roleName;
-
+    @ApiModelProperty(value = "工号类型")
+    private String noType;
 
 }

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

@@ -11,7 +11,7 @@ import java.util.List;
  *  @version
  *  @author: hxl
  *  @Date: 2024/4/15 15:08
- *  @Description: 线人员添加
+ *  @Description: 线人员添加
  */
 @Data
 @ApiModel
@@ -20,7 +20,7 @@ public class SysUserLinkPtlAgreementAddVo {
     /***
      * 用户ID
      */
-    @ApiModelProperty("线用户ID")
+    @ApiModelProperty("线用户ID")
     private String userId;
 
     /***

+ 1 - 1
src/main/java/com/ydtech/modules/admin/model/vo/SysUserLinkPtlAgreementVo.java

@@ -18,7 +18,7 @@ public class SysUserLinkPtlAgreementVo extends BasePageVO {
     /***
      * 用户ID
      */
-    @ApiModelProperty("线用户ID")
+    @ApiModelProperty("线用户ID")
     private String userId;
 
     /***

+ 3 - 0
src/main/java/com/ydtech/modules/admin/model/vo/SysUserVOExt.java

@@ -22,4 +22,7 @@ public class SysUserVOExt {
 
     @ApiModelProperty("手机号")
     private String mobile;
+
+    @ApiModelProperty("身份证号")
+    private String identity;
 }

+ 24 - 0
src/main/java/com/ydtech/modules/order/constants/OrderLinkTypeConstants.java

@@ -0,0 +1,24 @@
+package com.ydtech.modules.order.constants;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @version
+ * @description: 用户订单关联的渠道、代理人、保险公司
+ * @author: tz
+ * @date: 2024-4-11 17:36:15
+ **/
+@Getter
+@AllArgsConstructor
+public enum OrderLinkTypeConstants {
+
+    ORDER_LINK_TYPE_CONSTANTS_1(1, "渠道"),
+    ORDER_LINK_TYPE_CONSTANTS_2(2,"代理人"),
+    ORDER_LINK_TYPE_CONSTANTS_3(3,"保险公司");
+
+    private final Integer code;
+
+    private final String desc;
+}

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

@@ -7,6 +7,7 @@ import com.ydtech.exception.SystemException;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.ins.model.InsOrdersExcelVo;
 import com.ydtech.modules.order.components.InsOrdersComponents;
+import com.ydtech.modules.order.constants.OrderLinkTypeConstants;
 import com.ydtech.modules.order.entity.BasePageResult;
 import com.ydtech.modules.order.entity.InsAccidentalDriving;
 import com.ydtech.modules.order.entity.InsAreaCompany;
@@ -187,9 +188,6 @@ public class InsOrdersController extends BaseController {
         if(orderQueryVo.getUserId()==null || "".equals(orderQueryVo.getUserId())){
             return HttpResult.error("待客录单人员id不能为空");
         }
-        if(orderQueryVo.getOrderStatus()==null || "".equals(orderQueryVo.getOrderStatus())){
-            return HttpResult.error("订单状态不能为空");
-        }
         try{
             BasePageResult<InsOrders> quoteResult = this.insOrdersService.queryPageHospitalityOrder(orderQueryVo);
             return HttpResult.ok("success", quoteResult);
@@ -197,4 +195,65 @@ public class InsOrdersController extends BaseController {
             return HttpResult.error("查询失败"+e.getMessage());
         }
     }
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/4/17 15:32
+     *  @Description: 通过用户id和订单状态查询关联渠道的订单数据+分页
+     */
+    @PostMapping("/queryPageHospitalityByChannel")
+    @ApiOperation(value = "通过用户id和订单状态查询关联渠道的订单数据+分页")
+    public HttpResult<Object> queryPageHospitalityByChannel(@RequestBody  OrderQueryVo orderQueryVo) {
+        if(orderQueryVo.getUserId()==null || "".equals(orderQueryVo.getUserId())){
+            return HttpResult.error("待客录单人员id不能为空");
+        }
+        try{
+            BasePageResult<InsOrders> quoteResult = this.insOrdersService.queryPageOrderByLinkType(orderQueryVo, OrderLinkTypeConstants.ORDER_LINK_TYPE_CONSTANTS_1.getCode());
+            return HttpResult.ok("success", quoteResult);
+        }catch (Exception e){
+            return HttpResult.error("查询失败"+e.getMessage());
+        }
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/4/17 15:32
+     *  @Description: 通过用户id和订单状态查询关联代理人的订单数据+分页
+     */
+    @PostMapping("/queryPageHospitalityLinkagent")
+    @ApiOperation(value = "通过用户id和订单状态查询关联代理人的订单数据+分页")
+    public HttpResult<Object> queryPageHospitalityLinkagent(@RequestBody  OrderQueryVo orderQueryVo) {
+        if(orderQueryVo.getUserId()==null || "".equals(orderQueryVo.getUserId())){
+            return HttpResult.error("待客录单人员id不能为空");
+        }
+        try{
+            BasePageResult<InsOrders> quoteResult = this.insOrdersService.queryPageOrderByLinkType(orderQueryVo,OrderLinkTypeConstants.ORDER_LINK_TYPE_CONSTANTS_1.getCode());
+            return HttpResult.ok("success", quoteResult);
+        }catch (Exception e){
+            return HttpResult.error("查询失败"+e.getMessage());
+        }
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/4/17 15:32
+     *  @Description: 通过用户id和订单状态查询关联保险公司的订单数据+分页
+     */
+    @PostMapping("/queryPageHospitalityByInsuranceCompany")
+    @ApiOperation(value = "通过用户id和订单状态查询关联保险公司的订单数据+分页")
+    public HttpResult<Object> queryPageHospitalityByInsuranceCompany(@RequestBody  OrderQueryVo orderQueryVo) {
+        if(orderQueryVo.getUserId()==null || "".equals(orderQueryVo.getUserId())){
+            return HttpResult.error("待客录单人员id不能为空");
+        }
+        //if(orderQueryVo.getOrderStatus()==null || "".equals(orderQueryVo.getOrderStatus())){
+        //   return HttpResult.error("订单状态不能为空");
+        // }
+        try{
+            BasePageResult<InsOrders> quoteResult = this.insOrdersService.queryPageOrderByLinkType(orderQueryVo,OrderLinkTypeConstants.ORDER_LINK_TYPE_CONSTANTS_1.getCode());
+            return HttpResult.ok("success", quoteResult);
+        }catch (Exception e){
+            return HttpResult.error("查询失败"+e.getMessage());
+        }
+    }
 }

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

@@ -50,4 +50,18 @@ public interface InsOrdersMapper extends BaseMapper<InsOrders> {
      *  @Description: 通过用户id和订单状态查询订单信息总条数
      */
     Long queryPageHospitalityOrderCount(@Param("orderQueryVo") OrderQueryVo orderQueryVo);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/4/17 18:01
+     *  @Description:  通过用户id查询订单、渠道、代理人、保险公司
+     */
+    Page<InsOrders> queryPageOrderByLinkType(@Param("page") Page<InsOrders> page,@Param("orderQueryVo") OrderQueryVo orderQueryVo, List<String> agentUserIds, List<String> agreeIds);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/4/17 18:36
+     *  @Description: 通过用户id查询订单、渠道、代理人、保险公司条数
+     */
+    Long queryPageOrderByLinkTypeCount(@Param("orderQueryVo") OrderQueryVo orderQueryVo, @Param("agentUserIds")  List<String> agentUserIds, @Param("agreeIds")  List<String> agreeIds);
 }

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

@@ -137,4 +137,11 @@ public interface InsOrdersService extends IService<InsOrders> {
      *  @Description:  通过用户id和状态查询待客订单的订单接口
      */
     BasePageResult<InsOrders> queryPageHospitalityOrder(OrderQueryVo orderQueryVo);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/4/17 16:11
+     *  @Description:  通过待客用户id查询渠道、代理人、保险公司的相关的订单表
+     */
+    BasePageResult<InsOrders> queryPageOrderByLinkType(OrderQueryVo orderQueryVo, int type);
 }

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

@@ -17,9 +17,13 @@ import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.PageRequest;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.admin.constants.RoleConstants;
+import com.ydtech.modules.admin.dao.SysUserLinkPtlAgreementMapper;
+import com.ydtech.modules.admin.dao.SysUserMapper;
 import com.ydtech.modules.admin.model.SysDept;
 import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.SysUserRole;
+import com.ydtech.modules.admin.model.dto.SysUserLinkPtlAgreementDto;
+import com.ydtech.modules.admin.model.vo.SysUserBaseVO;
 import com.ydtech.modules.admin.service.SysDeptService;
 import com.ydtech.modules.admin.service.SysUserRoleService;
 import com.ydtech.modules.admin.service.SysUserService;
@@ -121,6 +125,14 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
     @Value("${upload.file.path}")
     private String uploadFilePath;
 
+    @Autowired
+    private SysUserMapper sysUserMapper;
+
+    @Autowired
+    private SysUserLinkPtlAgreementMapper sysUserLinkPtlAgreementMapper;
+
+
+    
     public InsOrdersServiceImpl(OrderComponents orderComponents, SysUserService sysUserService,
                                 SysUserRoleService sysUserRoleService,
                                 EsmUserReferrerService esmUserReferrerService, SysDeptService sysDeptService,
@@ -771,4 +783,43 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
                 orderVoPage.getPages()
                 , orderVoPage.getRecords());
     }
+
+    @Override
+    public BasePageResult<InsOrders> queryPageOrderByLinkType(OrderQueryVo orderQueryVo, int type) {
+        Page<InsOrders> page = new Page<>(orderQueryVo.getPageNum(), orderQueryVo.getPageSize());
+        page.setSearchCount(false).setOptimizeCountSql(false);//关闭count查询
+        List<String> agentUserIds =new ArrayList<>();
+        List<String> agreeIds =new ArrayList<>();
+        if(type==1){
+            //渠道
+            //查询用户表中的信息为领带id为用户id的数据
+            List<SysUserBaseVO> allUsersByLeaderId = sysUserMapper.getAllUsersByLeaderId(orderQueryVo.getUserId());
+            if(allUsersByLeaderId!=null && allUsersByLeaderId.size()>0){
+                for (SysUserBaseVO sysUserBaseVO : allUsersByLeaderId) {
+                    agentUserIds.add(sysUserBaseVO.getUserId());
+                }
+            }
+        }else if(type==2){
+            //查询所有的代理人
+            agentUserIds = sysUserMapper.getAgentUserIds();
+
+        }else if(type==3){
+            //查询用户关联的协议
+            List<SysUserLinkPtlAgreementDto> ptlAgreementListByUserIds = sysUserLinkPtlAgreementMapper.findPtlAgreementListByUserId(orderQueryVo.getUserId());
+            if(ptlAgreementListByUserIds!=null && ptlAgreementListByUserIds.size()>0){
+                for (SysUserLinkPtlAgreementDto sysUserLinkPtlAgreementDto : ptlAgreementListByUserIds) {
+                    agreeIds.add(sysUserLinkPtlAgreementDto.getPtlAgreement().getId());
+                }
+            }
+        }
+        Page<InsOrders> orderVoPage=new Page<>();
+        if(agentUserIds!=null || agentUserIds.size()==0){
+            orderVoPage= baseMapper.queryPageOrderByLinkType(page, orderQueryVo,agentUserIds,agreeIds);
+        }
+        Long total = baseMapper.queryPageOrderByLinkTypeCount(orderQueryVo,agentUserIds,agreeIds);
+        orderVoPage.setTotal(total);
+        return new BasePageResult<>(orderQueryVo.getPageNum(), orderQueryVo.getPageSize(), orderVoPage.getTotal(),
+                orderVoPage.getPages()
+                , orderVoPage.getRecords());
+    }
 }

+ 7 - 3
src/main/resources/mapper/modules/admin/SysUserMapper.xml

@@ -446,9 +446,10 @@
         sd.name as deptName,
         t4.id as roleId,
         t4.name as roleName,
-        sd.management_source,
+        sd.management_source as managementSource,
         psd.id as pDeptId,
-        psd.name as pDeptName
+        psd.name as pDeptName,
+        "" as noType
         FROM
         sys_user su
         LEFT JOIN sys_user_info info ON info.id = su.id
@@ -458,7 +459,7 @@
         LEFT JOIN sys_role t4 ON t3.role_id = t4.id
         AND sd.del_flag = '0'
         WHERE
-        su.status =1
+        su.status =1  AND su.id LIKE '%M%'
         <if test='user !=null  '>
             <if test='user.name !=null and user.name!="" '>
                 and su.name = #{user.name}
@@ -469,6 +470,9 @@
             <if test='user.mobile !=null and user.mobile!=""  '>
                 and su.mobile = #{user.mobile}
             </if>
+            <if test='user.identity !=null and user.identity!=""  '>
+                and su.identity = #{user.identity}
+            </if>
         </if>
     </select>
 </mapper>

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

@@ -690,15 +690,36 @@
         io.*
         from
          ins_orders io
-        left JOIN
-        ins_area_company iac on iac.orderno = io.orderno
+        <!--如果存在 公司查询则进行连表 -->
+        <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
+            left JOIN
+            ins_area_company iac on iac.orderno = io.orderno
+        </if>
         <where>
             <if test="orderQueryVo.orderNo != null and orderQueryVo.orderNo != ''">
                 and io.orderno = #{orderQueryVo.orderNo}
             </if>
+            <if test="orderQueryVo.deptId != null and orderQueryVo.deptId != '' and isTeamLeader">
+                and io.deptid like "${orderQueryVo.deptId}%"
+            </if>
             <if test="orderQueryVo.orderStatus != null and orderQueryVo.orderStatus != ''">
                 and io.orderstatus = #{orderQueryVo.orderStatus}
             </if>
+            <if test="orderQueryVo.frameNo != null and orderQueryVo.frameNo != ''">
+                and io.frameno = #{orderQueryVo.frameNo}
+            </if>
+            <if test="orderQueryVo.licenseNo != null and orderQueryVo.licenseNo != ''">
+                and io.licenseno = #{orderQueryVo.licenseNo}
+            </if>
+            <if test="orderQueryVo.insuredName != null and orderQueryVo.insuredName != ''">
+                and io.insuredname = #{orderQueryVo.insuredName}
+            </if>
+            <if test="orderQueryVo.startDate != null and orderQueryVo.endDate != null">
+                and io.createtime between #{orderQueryVo.startDate} AND #{orderQueryVo.endDate}
+            </if>
+            <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
+                and iac.company_id = #{orderQueryVo.companyId}
+            </if>
             <if test="orderQueryVo.userId != null and orderQueryVo.userId != ''">
                 and io.userid = #{orderQueryVo.userId}
             </if>
@@ -715,15 +736,36 @@
         io.orderno
         from
         ins_orders io
+        <!--如果存在 公司查询则进行连表 -->
+        <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
             left JOIN
             ins_area_company iac on iac.orderno = io.orderno
+        </if>
         <where>
             <if test="orderQueryVo.orderNo != null and orderQueryVo.orderNo != ''">
                 and io.orderno = #{orderQueryVo.orderNo}
             </if>
+            <if test="orderQueryVo.deptId != null and orderQueryVo.deptId != '' and isTeamLeader">
+                and io.deptid like "${orderQueryVo.deptId}%"
+            </if>
             <if test="orderQueryVo.orderStatus != null and orderQueryVo.orderStatus != ''">
                 and io.orderstatus = #{orderQueryVo.orderStatus}
             </if>
+            <if test="orderQueryVo.frameNo != null and orderQueryVo.frameNo != ''">
+                and io.frameno = #{orderQueryVo.frameNo}
+            </if>
+            <if test="orderQueryVo.licenseNo != null and orderQueryVo.licenseNo != ''">
+                and io.licenseno = #{orderQueryVo.licenseNo}
+            </if>
+            <if test="orderQueryVo.insuredName != null and orderQueryVo.insuredName != ''">
+                and io.insuredname = #{orderQueryVo.insuredName}
+            </if>
+            <if test="orderQueryVo.startDate != null and orderQueryVo.endDate != null">
+                and io.createtime between #{orderQueryVo.startDate} AND #{orderQueryVo.endDate}
+            </if>
+            <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
+                and iac.company_id = #{orderQueryVo.companyId}
+            </if>
             <if test="orderQueryVo.userId != null and orderQueryVo.userId != ''">
                 and io.userid = #{orderQueryVo.userId}
             </if>
@@ -731,4 +773,109 @@
         group by io.orderno
         ) as s
     </select>
+
+
+    <select id="queryPageOrderByLinkType" resultMap="BaseResultMap">
+        select
+        io.*
+        from
+        ins_orders io
+        <!--如果存在 公司查询则进行连表 -->
+        <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
+            left JOIN
+            ins_area_company iac on iac.orderno = io.orderno
+        </if>
+        <where>
+            <if test="orderQueryVo.orderNo != null and orderQueryVo.orderNo != ''">
+                and io.orderno = #{orderQueryVo.orderNo}
+            </if>
+            <if test="orderQueryVo.deptId != null and orderQueryVo.deptId != '' and isTeamLeader">
+                and io.deptid like "${orderQueryVo.deptId}%"
+            </if>
+            <if test="orderQueryVo.orderStatus != null and orderQueryVo.orderStatus != ''">
+                and io.orderstatus = #{orderQueryVo.orderStatus}
+            </if>
+            <if test="orderQueryVo.frameNo != null and orderQueryVo.frameNo != ''">
+                and io.frameno = #{orderQueryVo.frameNo}
+            </if>
+            <if test="orderQueryVo.licenseNo != null and orderQueryVo.licenseNo != ''">
+                and io.licenseno = #{orderQueryVo.licenseNo}
+            </if>
+            <if test="orderQueryVo.insuredName != null and orderQueryVo.insuredName != ''">
+                and io.insuredname = #{orderQueryVo.insuredName}
+            </if>
+            <if test="orderQueryVo.startDate != null and orderQueryVo.endDate != null">
+                and io.createtime between #{orderQueryVo.startDate} AND #{orderQueryVo.endDate}
+            </if>
+            <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
+                and iac.company_id = #{orderQueryVo.companyId}
+            </if>
+            <if test="agentUserIds != null and agentUserIds.size>0" >
+                and io.userid in
+                <foreach collection="agentUserIds" item="item"  open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="agreeIds != null and agreeIds.size>0" >
+                and iac.agreement_id in
+                <foreach collection="agreeIds" item="item"  open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+        </where>
+        group by orderno
+        order by io.createtime desc
+    </select>
+
+    <select id="queryPageOrderByLinkTypeCount" resultType="Long">
+        select
+        count(1)
+        from (
+        select
+        io.orderno
+        from
+        ins_orders io
+            left JOIN
+            ins_area_company iac on iac.orderno = io.orderno
+        <where>
+            <if test="orderQueryVo.orderNo != null and orderQueryVo.orderNo != ''">
+                and io.orderno = #{orderQueryVo.orderNo}
+            </if>
+            <if test="orderQueryVo.deptId != null and orderQueryVo.deptId != '' and isTeamLeader">
+                and io.deptid like "${orderQueryVo.deptId}%"
+            </if>
+            <if test="orderQueryVo.orderStatus != null and orderQueryVo.orderStatus != ''">
+                and io.orderstatus = #{orderQueryVo.orderStatus}
+            </if>
+            <if test="orderQueryVo.frameNo != null and orderQueryVo.frameNo != ''">
+                and io.frameno = #{orderQueryVo.frameNo}
+            </if>
+            <if test="orderQueryVo.licenseNo != null and orderQueryVo.licenseNo != ''">
+                and io.licenseno = #{orderQueryVo.licenseNo}
+            </if>
+            <if test="orderQueryVo.insuredName != null and orderQueryVo.insuredName != ''">
+                and io.insuredname = #{orderQueryVo.insuredName}
+            </if>
+            <if test="orderQueryVo.startDate != null and orderQueryVo.endDate != null">
+                and io.createtime between #{orderQueryVo.startDate} AND #{orderQueryVo.endDate}
+            </if>
+            <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
+                and iac.company_id = #{orderQueryVo.companyId}
+            </if>
+            <if test="agentUserIds != null and agentUserIds.size>0" >
+                and io.userid in
+                <foreach collection="agentUserIds" item="item"  open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="agreeIds != null and agreeIds.size>0" >
+                and iac.agreement_id in
+                <foreach collection="agreeIds" item="item"  open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+        </where>
+        group by io.orderno
+        ) as s
+    </select>
 </mapper>