@@ -48,5 +48,14 @@ public interface SysUserLinkAreaMapper extends BaseMapper<SysUserLinkArea> {
* @Date: 2024/4/26 18:28
* @Description: 通过用户id查询绑定的代理人集合
*/
- List<String> findAreaIdsByAgentUserId(@Param("userId") String userId);
+ List<String> findAreaIdsByAgentUserId(@Param("userId") String userId,@Param("areaCodes") List<String> areaCodes);
+
+ /**
+ * @version
+ * @author: hxl
+ * @Date: 2024/4/29 9:53
+ * @Description:查询当前登录人绑定的区域数据
+ */
+ List<String> findAreaCodeByUserId(@Param("userId") String userId);
}
@@ -161,11 +161,14 @@ public class SysUserLinkAreaServiceImpl extends ServiceImpl<SysUserLinkAreaMappe
* @version
* @author: hxl
* @Date: 2024/4/27 9:45
- * @Description: 获取当前用户绑定区域的代理人ids 或者 代理人机构信息
- * 1 为用户ids 2 为机构ids
+ * @Description: 获取当前用户绑定区域的代理人ids
@Override
public List<String> findUserIdsByLoginUserId(String userId) {
- return sysUserLinkAreaMapper.findAreaIdsByAgentUserId(userId);
+ List<String> areaCodes = sysUserLinkAreaMapper.findAreaCodeByUserId(userId);
+ if(areaCodes!=null && areaCodes.size()>0){
+ return sysUserLinkAreaMapper.findAreaIdsByAgentUserId(userId,areaCodes);
+ }
+ return null;
@@ -852,7 +852,10 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
//查询所有的代理人
//agentUserIds = sysUserMapper.getAgentUserIds();
//查询绑定的区域的代理人信息
- agentUserIds =sysUserLinkAreaMapper.findAreaIdsByAgentUserId(orderQueryVo.getUserId());
+ List<String> areaCodes = sysUserLinkAreaMapper.findAreaCodeByUserId(orderQueryVo.getUserId());
+ agentUserIds =sysUserLinkAreaMapper.findAreaIdsByAgentUserId(orderQueryVo.getUserId(),areaCodes);
} else if (type == 3) {
//查询用户关联的协议
List<SysUserLinkPtlAgreementDto> ptlAgreementListByUserIds =
@@ -80,19 +80,24 @@
AND sd.del_flag = '0'
WHERE
t3.role_id = 20
- AND sd.management_source = 2
- AND
- (CONCAT( SUBSTRING(RPAD(su.dept_id, 8, '0'), 3, 2), SUBSTRING(RPAD(su.dept_id, 8, '0'), 5, 2), SUBSTRING(RPAD(su.dept_id, 8, '0'), 7, 2) ) ) IN
+ AND sd.management_source = 2
+ <if test="areaCodes != null and areaCodes.size>0" >
+ AND (
+ <foreach collection="areaCodes" item="item" open=" instr( " separator="||" close=") ">
+ su.dept_id, TRIM( TRAILING '0' FROM #{item} )
+ </foreach>
+ ) > 0
+ </if>
+ </select>
- (
- SELECT
- DISTINCT link.area_code
- FROM
- sys_user_link_area link
- WHERE
- link.user_id = #{userId}
- ORDER BY
- link.area_code
- )
+ <select id="findAreaCodeByUserId" resultType="String">
+ SELECT
+ DISTINCT link.area_code
+ FROM
+ sys_user_link_area link
+ WHERE
+ link.user_id = #{userId}
+ ORDER BY
+ link.area_code
</select>
</mapper>