Просмотр исходного кода

代课录单时,业务员的管理人不是当前登陆账号人员,代课录单时不应该显示

lipf 4 месяцев назад
Родитель
Сommit
9ab5d30d7c

+ 6 - 2
commons/src/main/java/com/jzg/commons/entity/dto/SysUserJzgInfoDto.java

@@ -1,7 +1,5 @@
 package com.jzg.commons.entity.dto;
 
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
@@ -15,6 +13,12 @@ import java.time.LocalDateTime;
 
 @Data
 public class SysUserJzgInfoDto {
+
+    /**
+     * 是否默认选中
+     */
+    private boolean defaultSelected;
+
     public String id;
 
     public String userId;

+ 6 - 0
commons/src/main/java/com/jzg/commons/entity/vo/SysUserInfoListVo.java

@@ -14,6 +14,12 @@ import java.util.List;
 @Data
 public class SysUserInfoListVo extends PageRequest {
 
+    /**
+     * 不同页面可能对数据存在不同的过滤条件
+     * fromPage = 10 表示,在报价页面查询业务员的请求(这个页面要求只查询自己作为管理员的业务员)
+     */
+    @Schema(description = "对应页面来源")
+    private String fromPage;
     // 姓名
     @Schema(description = "业务员")
     private String salesman;

+ 2 - 1
tenant/organization/src/main/java/com/jzg/organization/mapper/SysUserJzgInfoMapper.java

@@ -33,7 +33,8 @@ public interface SysUserJzgInfoMapper extends BaseMapper<SysUserJzgInfo> {
      * @author lipf
      * @date 2026/4/24 11:08
      */
-    Page<SysUserJzgInfoDto> queryYwy(Page page, @Param("sysUserInfoListVo") SysUserInfoListVo sysUserInfoListVo, @Param("systemCode") String systemCode);
+    Page<SysUserJzgInfoDto> queryYwy(Page page, @Param("sysUserInfoListVo") SysUserInfoListVo sysUserInfoListVo,
+                                     @Param("systemCode") String systemCode,@Param("leaderId") String leaderId);
 
     /**
      * 查询成员

+ 5 - 2
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysUserJzgInfoSalesmanServiceImpl.java

@@ -2,6 +2,7 @@ package com.jzg.organization.service.impl;
 
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jzg.commons.entity.po.SysUserJzgInfoSalesman;
 import com.jzg.organization.mapper.SysUserJzgInfoSalesmanMapper;
@@ -37,9 +38,11 @@ public class SysUserJzgInfoSalesmanServiceImpl extends ServiceImpl<SysUserJzgInf
     @Override
     public Map<String, String> queryAllTypeAttrMap() {
         List<SysUserJzgInfoSalesman> sysUserJzgInfoSalesmen = sysUserJzgInfoSalesmanMapper.selectList(null);
-        log.debug("查询出[{}]个人员的类型信息", CollectionUtil.size(sysUserJzgInfoSalesmen));
+        log.info("查询出[{}]个人员的类型信息", CollectionUtil.size(sysUserJzgInfoSalesmen));
+        log.info("sysUserJzgInfoSalesmen=[{}]", JSONUtil.toJsonStr(sysUserJzgInfoSalesmen));
         Map<String, String> resultMap = sysUserJzgInfoSalesmen.stream()
-                .filter(action-> StrUtil.isNotEmpty(action.getSysUserJzgInfoId()))
+                .filter(action-> StrUtil.isNotEmpty(action.getSysUserJzgInfoId()) && StrUtil.isNotEmpty(action.getTypeAttr()))
+                .filter(action-> action.getSysUserJzgInfoId() != null && action.getTypeAttr() != null)
                 .collect(Collectors.toMap(
                         // 1. Key 映射:先获取 String,再转为 Long
                         SysUserJzgInfoSalesman::getSysUserJzgInfoId,

+ 2 - 2
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysUserJzgInfoServiceImpl.java

@@ -40,8 +40,7 @@ public class SysUserJzgInfoServiceImpl extends ServiceImpl<SysUserJzgInfoMapper,
 
     @Override
     public SysUserJzgInfo getUserByUserId(String userId) {
-        SysUserJzgInfo sysUserJzgInfo = baseMapper.getUserJzgInfoByUserId(userId);
-        return sysUserJzgInfo;
+        return baseMapper.getUserJzgInfoByUserId(userId);
     }
 
     @Override
@@ -50,6 +49,7 @@ public class SysUserJzgInfoServiceImpl extends ServiceImpl<SysUserJzgInfoMapper,
                 .eq(SysUserJzgInfo::getId, id));
     }
 
+
     @Override
     public SysUserJzgInfo getUserByMobile(String mobile) {
         return baseMapper.getUserByMobile(mobile);

+ 13 - 1
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysUserServiceImpl.java

@@ -199,9 +199,18 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         // 前端 查询成员和查询业务员的接口,都使用的是这个接口,但是他们区分的时候,差异很大,因此这里将查询成员和查询业务员的接口拆分开来
         Page<SysUserJzgInfoDto> userInfoList;
         String systemCode = baseController.getUserSystemCode();
+
+        String loginUserId = baseController.getUserId();
         // 查询业务员
         if("2".equals(sysUserInfoListVo.getIsMember())){
-            userInfoList = sysUserJzgInfoMapper.queryYwy(page, sysUserInfoListVo, systemCode);
+            String jzgInfoId = null;
+            if("10".equals(sysUserInfoListVo.getFromPage())){
+                SysUserJzgInfo userInfoJzgInfo = sysUserJzgInfoService.getUserByUserId(loginUserId);
+                jzgInfoId = userInfoJzgInfo.getId();
+            }
+            log.info("jzgInfoId=[{}]", jzgInfoId);
+            userInfoList = sysUserJzgInfoMapper.queryYwy(page, sysUserInfoListVo, systemCode, jzgInfoId
+            );
         }else if("1".equals(sysUserInfoListVo.getIsMember())){
             // 查询成员
             userInfoList = sysUserJzgInfoMapper.queryMember(page, sysUserInfoListVo);
@@ -214,6 +223,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             // 填充岗位信息
             Map<String, String> attrTypeMap = sysUserJzgInfoSalesmanService.queryAllTypeAttrMap();
             records = records.stream().peek(action->{
+                if(loginUserId.equals(action.getUserId())){
+                    action.setDefaultSelected(true);
+                }
                 String typeAttr = attrTypeMap.getOrDefault(action.getId(),null);
                 action.setTypeAttr(typeAttr);
                 List<SysRole> userRole = sysUserRoleService.getUserRole(action.getUserId());

+ 3 - 0
tenant/organization/src/main/resources/mapper/SysUserJzgInfoMapper.xml

@@ -89,6 +89,9 @@
         and suji.id  in (
             select sujis.sys_user_jzg_info_id  from sys_user_jzg_info_salesman sujis  where  sujis.type_attr != 2 AND sujis.type_attr != 3
         )
+        <if test="leaderId != null and leaderId != ''">
+            and suji.leader_id = #{leaderId}
+        </if>
         <if test="sysUserInfoListVo.deptId != null and sysUserInfoListVo.deptId != ''">
             and d.route LIKE CONCAT('%', #{sysUserInfoListVo.deptId}, '%')
         </if>