Explorar o código

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

Qchen %!s(int64=2) %!d(string=hai) anos
pai
achega
c6061486a9

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

@@ -234,6 +234,22 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
      *  @Description: 查询后线人员+分页
      */
     Page<SysUserBaseVO> findUserListByPage(@Param("page") Page<SysUserBaseVO> page, @Param("user") SysUserDto sysUserDto);
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/4/16 16:25
+     *  @Description: 查询领导人为用户id的数据ids数据
+     */
+    @Select(" SELECT  t1.id  FROM sys_user t1 WHERE t1.`status` = 1 AND t1.leader_id = #{userId}" )
+    List<String> getUserIdsByLeaderId(@Param("userId") String userId);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/4/25 8:50
+     *  @Description: 通过当前的用户查询渠道下的团队长的的管理的部门ids
+     */
+    List<String> getDeptIdsByUserIds(@Param("userId") String userId);
 }
 
 

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

@@ -31,5 +31,5 @@ public class SysUserLinkPtlAgreementVo extends BasePageVO {
      * 保险公司ID
      */
     @ApiModelProperty("保险公司ID")
-    private String partnerCompaniesId;
+    private String insuranceCompany;
 }

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

@@ -57,7 +57,7 @@ public class SysUserLinkPtlAgreementServiceImpl extends ServiceImpl<SysUserLinkP
         Page<SysUserLinkPtlAgreementDto> page = new Page<>(sysUserLinkPtlAgreementVo.getPageNum(),
                 sysUserLinkPtlAgreementVo.getPageSize());
         // 获取供应商本级id 及其 下级id
-        List<String> lowerId = esmInsCompanyService.getByLowerId(sysUserLinkPtlAgreementVo.getPartnerCompaniesId());
+        List<String> lowerId = esmInsCompanyService.getByLowerId(sysUserLinkPtlAgreementVo.getInsuranceCompany());
         Page<SysUserLinkPtlAgreementDto> sysUserLinkPtlAgreementDtoBasePageResult = sysUserLinkPtlAgreementMapper.queryPage(page, sysUserLinkPtlAgreementVo,lowerId);
         return  new BasePageResult<>(sysUserLinkPtlAgreementVo.getPageNum(), page.getSize(), sysUserLinkPtlAgreementDtoBasePageResult.getTotal(), page.getPages(),
                 sysUserLinkPtlAgreementDtoBasePageResult.getRecords());

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

@@ -56,14 +56,14 @@ public interface InsOrdersMapper extends BaseMapper<InsOrders> {
      *  @Date: 2024/4/17 18:01
      *  @Description:  通过用户id查询订单、渠道、代理人、保险公司
      */
-    Page<InsOrders> queryPageOrderByLinkType(@Param("page") Page<InsOrders> page,@Param("orderQueryVo") OrderQueryVo orderQueryVo, @Param("agentUserIds") List<String> agentUserIds,  @Param("agreeIds") List<String> agreeIds,@Param("deptIds") List<String> deptIds);
+    Page<InsOrders> queryPageOrderByLinkType(@Param("page") Page<InsOrders> page,@Param("orderQueryVo") OrderQueryVo orderQueryVo, @Param("agentUserIds") List<String> agentUserIds,  @Param("agreeIds") List<String> agreeIds,@Param("deptIds") List<String> deptIds,@Param("flag") Boolean flag);
     /**
      *  @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,@Param("deptIds") List<String> deptIds);
+    Long queryPageOrderByLinkTypeCount(@Param("orderQueryVo") OrderQueryVo orderQueryVo, @Param("agentUserIds")  List<String> agentUserIds, @Param("agreeIds")  List<String> agreeIds,@Param("deptIds") List<String> deptIds,@Param("flag") Boolean flag);
     /**
      *  @version
      *  @author: hxl

+ 6 - 0
src/main/java/com/ydtech/modules/order/entity/vo/OrderQueryVo.java

@@ -66,6 +66,12 @@ public class OrderQueryVo {
     private String endDateStr;
 
 
+    @ApiModelProperty(value = "业务员工号")
+    private String operatorId;
+
+    @ApiModelProperty(value = "业务员姓名")
+    private String operatorName;
+
     public LocalDate getEndDatePlusOneDay() {
         if(ObjectUtils.isEmpty(endDate)){
             return endDate;

+ 15 - 10
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -23,7 +23,6 @@ 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;
@@ -790,23 +789,29 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
     public BasePageResult<InsOrders> queryPageOrderByLinkType(OrderQueryVo orderQueryVo, int type) {
 
         //orderQueryVo.setUserId("admin");
+        //添加收回按钮的操作
+        Boolean flag=false;
         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<>();
+        List<String> deptIds= new ArrayList<>();
         //角色为需要查询下级的用户
         List<String> roleIds = Arrays.asList(SystemConstant.getSysRoleTeamLeader());
         if (type == 1) {
             //渠道
             //查询用户表中的信息为领带id为用户id的数据
-            List<SysUserBaseVO> allUsersByLeaderId = sysUserMapper.getAllUsersByLeaderId(orderQueryVo.getUserId());
+            //List<SysUserBaseVO> allUsersByLeaderId = sysUserMapper.getAllUsersByLeaderId(orderQueryVo.getUserId());
+            agentUserIds = sysUserMapper.getUserIdsByLeaderId(orderQueryVo.getUserId());
 
             //查询下级
-            if (allUsersByLeaderId != null && allUsersByLeaderId.size() > 0) {
-                for (SysUserBaseVO sysUserBaseVO : allUsersByLeaderId) {
-                    agentUserIds.add(sysUserBaseVO.getUserId());
-                }
-            }
+           // if (allUsersByLeaderId != null && allUsersByLeaderId.size() > 0) {
+           //     for (SysUserBaseVO sysUserBaseVO : allUsersByLeaderId) {
+            //        agentUserIds.add(sysUserBaseVO.getUserId());
+           //     }
+           // }
+            //查询团队长的机构ids
+            deptIds= sysUserMapper.getDeptIdsByUserIds(orderQueryVo.getUserId());
         } else if (type == 2) {
             //查询所有的代理人
             agentUserIds = sysUserMapper.getAgentUserIds();
@@ -825,9 +830,9 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         Page<InsOrders> orderVoPage = new Page<>();
         //注释逻辑给前台返回数据
         if((agentUserIds!=null && agentUserIds.size()>0) || (agreeIds!=null && agreeIds.size()>0)){
-            List<String> deptIds= sysUserMapper.getDeptIdsByRoleIdsAndUserIds(agentUserIds,roleIds);
-            orderVoPage = baseMapper.queryPageOrderByLinkType(page, orderQueryVo, agentUserIds, agreeIds,deptIds);
-            total = baseMapper.queryPageOrderByLinkTypeCount(orderQueryVo, agentUserIds, agreeIds,deptIds);
+            //List<String> deptIds= sysUserMapper.getDeptIdsByRoleIdsAndUserIds(agentUserIds,roleIds);
+            orderVoPage = baseMapper.queryPageOrderByLinkType(page, orderQueryVo, agentUserIds, agreeIds,deptIds,flag);
+            total = baseMapper.queryPageOrderByLinkTypeCount(orderQueryVo, agentUserIds, agreeIds,deptIds,flag);
         }
         orderVoPage.setTotal(total);
         return new BasePageResult<>(orderQueryVo.getPageNum(), orderQueryVo.getPageSize(), orderVoPage.getTotal(),

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

@@ -517,11 +517,10 @@
 
     <select id="getDeptIdsByRoleIdsAndUserIds" resultType="String">
         SELECT
-            sd2.id
+           t2.id
         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
                 LEFT JOIN sys_user_role sur ON sur.user_id = t1.id
         WHERE
             t1.`status` = 1
@@ -539,7 +538,7 @@
                 #{item}
             </foreach>
         </if>
-        GROUP BY sd2.id
+        GROUP BY t2.id
     </select>
 
     <select id="findUserListByPage" resultType="com.ydtech.modules.admin.model.vo.SysUserBaseVO">
@@ -579,4 +578,41 @@
         </if>
         order by flag
     </select>
+
+    <select id="getDeptIdsByUserIds" resultType="String">
+        SELECT
+            t2.id
+        FROM
+        sys_user t1
+             LEFT JOIN sys_dept t2 ON t1.dept_id = t2.id
+        WHERE
+        t1.`status` = 1
+        AND EXISTS (
+            SELECT
+                *
+            FROM
+            (
+            SELECT
+            t1.id
+            FROM
+            sys_user t1
+            LEFT JOIN sys_user_role sur ON sur.user_id = t1.id
+            WHERE
+            t1.`status` = 1
+            AND t1.leader_id = #{userId}
+            AND EXISTS (
+            SELECT
+            *
+            FROM
+            ( SELECT 1 AS id UNION ALL SELECT 15 UNION ALL SELECT 16 UNION ALL SELECT 17 UNION ALL SELECT 18 UNION ALL SELECT 21 ) roleAll
+            WHERE
+            roleAll.id = sur.role_id
+            )
+        ) users
+        WHERE
+        users.id = t1.id
+        )
+        GROUP BY
+        t2.id
+    </select>
 </mapper>

+ 27 - 7
src/main/resources/mapper/modules/order/InsOrdersMapper.xml

@@ -214,7 +214,8 @@
                iac.payment_link,
                iac.accident_info,
                iac.tax_arrears,
-               iac.cross_insurance
+               iac.cross_insurance,
+               iac.ubi_predicted_info_score
         from ins_orders as o
                  join ins_area_company iac on o.orderno = iac.orderno
         where iac.id = #{companyId}
@@ -821,13 +822,15 @@
                 <if test="deptIds != null and deptIds.size>0" >
                     AND (
                     <foreach collection="deptIds" item="item" open="(" separator="OR" close=")">
-                        io.deptid like CONCAT('%', #{item}, '%')
+                        io.deptid like CONCAT('', #{item}, '%')
                     </foreach>
                     )
                 </if>
                 )
                 OR iac.new_operator_id = #{orderQueryVo.userId}
-                OR iac.operator_id = #{orderQueryVo.userId}
+                <if test="flag" >
+                    OR iac.operator_id = #{orderQueryVo.userId}
+                </if>
                 )
             </if>
             <if test="agreeIds != null and agreeIds.size>0">
@@ -838,7 +841,9 @@
                 </foreach>
                 AND ( iac.new_operator_id IS NULL OR iac.new_operator_id = '' ) )
                 OR iac.new_operator_id = #{orderQueryVo.userId}
-                OR iac.operator_id = #{orderQueryVo.userId}
+                <if test="flag" >
+                    OR iac.operator_id = #{orderQueryVo.userId}
+                </if>
                 )
             </if>
             <if test="orderQueryVo.orderNo != null and orderQueryVo.orderNo != ''">
@@ -865,7 +870,12 @@
             <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
                 and iac.company_id = #{orderQueryVo.companyId}
             </if>
-
+            <if test="orderQueryVo.operatorId != null and orderQueryVo.operatorId != ''">
+                and io.userid = #{orderQueryVo.operatorId}
+            </if>
+            <if test="orderQueryVo.operatorName != null and orderQueryVo.operatorName != ''">
+                and io.username = #{orderQueryVo.operatorName}
+            </if>
         </where>
         order by io.createtime desc
     </select>
@@ -891,13 +901,15 @@
                 <if test="deptIds != null and deptIds.size>0" >
                     AND (
                     <foreach collection="deptIds" item="item" open="(" separator="OR" close=")">
-                        io.deptid like CONCAT('%', #{item}, '%')
+                        io.deptid like CONCAT('', #{item}, '%')
                     </foreach>
                     )
                 </if>
                 )
                 OR iac.new_operator_id = #{orderQueryVo.userId}
+              <if test="flag" >
                 OR iac.operator_id = #{orderQueryVo.userId}
+              </if>
                 )
             </if>
             <if test="agreeIds != null and agreeIds.size>0">
@@ -908,7 +920,9 @@
                 </foreach>
                 AND ( iac.new_operator_id IS NULL OR iac.new_operator_id = '' ) )
                 OR iac.new_operator_id = #{orderQueryVo.userId}
-                OR iac.operator_id = #{orderQueryVo.userId}
+                <if test="flag" >
+                    OR iac.operator_id = #{orderQueryVo.userId}
+                </if>
                 )
             </if>
             <if test="orderQueryVo.orderNo != null and orderQueryVo.orderNo != ''">
@@ -935,6 +949,12 @@
             <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
                 and iac.company_id = #{orderQueryVo.companyId}
             </if>
+            <if test="orderQueryVo.operatorId != null and orderQueryVo.operatorId != ''">
+                and io.userid = #{orderQueryVo.operatorId}
+            </if>
+            <if test="orderQueryVo.operatorName != null and orderQueryVo.operatorName != ''">
+                and io.username = #{orderQueryVo.operatorName}
+            </if>
         </where>
         ) as s
     </select>