Jelajahi Sumber

人员查询修改

lwhhszx 1 tahun lalu
induk
melakukan
15cc11f392

+ 1 - 1
PCS/pom.xml

@@ -182,7 +182,7 @@
     </dependencies>
 
     <build>
-        <finalName>PCS_PROD</finalName>
+        <finalName>PCS_TEST2</finalName>
         <plugins>
             <plugin>
                 <groupId>org.springframework.boot</groupId>

+ 1 - 1
PCS/src/main/java/cn/cslg/permission/common/core/base/Constants.java

@@ -51,7 +51,7 @@ public class Constants {
     public static final Integer PATENT_CLASS_NUMBER_UPC = 3;
     public static final Integer PATENT_CLASS_NUMBER_LOC = 4;
 
-    /**
+    /**R
      * 分隔符-竖线
      */
     public static final String SEPARATOR_VERTICAL_BAR = " | ";

+ 7 - 0
PCS/src/main/java/cn/cslg/permission/controller/ClientController.java

@@ -77,4 +77,11 @@ public class ClientController {
         return clientService.getByName(name);
     }
 
+
+    @PostMapping("/getTenantClients")
+    @Operation(summary = "获取是租户的客户")
+    public String getTenantClients(@RequestBody ClientDTO clientDTO) {
+        return Response.success(clientService.getTenantClients(clientDTO));
+    }
+
 }

+ 7 - 0
PCS/src/main/java/cn/cslg/permission/controller/PersonnelController.java

@@ -77,6 +77,13 @@ public class PersonnelController {
     }
 
 
+    @PostMapping("/queryPageListNoAdmin")
+    @Operation(summary = "分页查询人员")
+    public String queryPageListNoAdmin(@RequestBody PersonnelVO personnelVO) {
+
+        return personnelService.queryPageListNoAdmin(personnelVO);
+
+    }
     @GetMapping("/getPersonnelList")
     @Operation(summary = "查询所有人员")
     public String getPersonnelList() {

+ 2 - 0
PCS/src/main/java/cn/cslg/permission/mapper/ClientMapper.java

@@ -24,4 +24,6 @@ public interface ClientMapper extends BaseMapper<Client> {
     List<Client>queryList(@Param("params") Integer tenantId);
     //查找有租户id的客户
     List<Integer> queryTenantClients(@Param("params") Integer tenantId);
+
+    IPage<Client> getTenantClients(Page<Client> page,@Param("params") Integer tenantId);
 }

+ 14 - 0
PCS/src/main/java/cn/cslg/permission/service/ClientService.java

@@ -197,4 +197,18 @@ public class ClientService extends ServiceImpl<ClientMapper, Client> {
 
         }
     }
+
+
+    public IPage<Client> getTenantClients(ClientDTO params) {
+        //获取登陆人信息,获得租户id
+        if (params.getTenantId() == null) {
+            PersonnelVO personnel = cacheUtils.getLoginUser(loginUtils.getId());
+            params.setTenantId(personnel.getTenantId());
+        }
+        IPage<Client> lst = this.baseMapper.getTenantClients(new Page<>(params.getCurrent(), params.getSize()), params.getTenantId());
+        List<Client> list = lst.getRecords();
+        this.loadClient(list);
+        lst.setRecords(list);
+        return lst;
+    }
 }

+ 5 - 0
PCS/src/main/java/cn/cslg/permission/service/LoginService.java

@@ -19,7 +19,9 @@ import cn.hutool.captcha.CircleCaptcha;
 import cn.hutool.core.img.ImgUtil;
 import cn.hutool.core.lang.UUID;
 import cn.hutool.crypto.SecureUtil;
+
 import javax.servlet.http.HttpServletRequest;
+
 import eu.bitwalker.useragentutils.UserAgent;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -52,6 +54,7 @@ public class LoginService extends ServiceImpl<PersonnelMapper, Personnel> {
     private final SystemService systemService;
     private final LoginRecordService loginRecordService;
     private final HttpServletRequest request;
+
     /**
      * @param loginVO 登录参数类
      * @return 登录成功的信息
@@ -191,6 +194,8 @@ public class LoginService extends ServiceImpl<PersonnelMapper, Personnel> {
             personnelVO.setRoleType(1);
         } else if (flag == 2) {
             personnelVO.setRoleType(2);
+        } else {
+            personnelVO.setRoleType(0);
         }
         return personnelVO;
     }

+ 67 - 4
PCS/src/main/java/cn/cslg/permission/service/PersonnelService.java

@@ -357,10 +357,6 @@ public class PersonnelService extends ServiceImpl<PersonnelMapper, Personnel> {
             queryWrapper.in(Personnel::getId, perIds);
         }
 
-        //若前台有传租户id,则根据租户id查询人员列表
-        if (personnelVO.getTenant() != null) {
-            queryWrapper.eq(Personnel::getTenantId, personnelVO.getTenant());
-        }
         SecurityUtils.startDataScope("/admin/user/check");
         List<Personnel> personnelList = this.page(new Page<>(personnelVO.getCurrent(), personnelVO.getSize()), queryWrapper).getRecords();
         SecurityUtils.startDataScope("/admin/user/check");
@@ -369,6 +365,73 @@ public class PersonnelService extends ServiceImpl<PersonnelMapper, Personnel> {
 
     }
 
+
+    public String queryPageListNoAdmin(PersonnelVO personnelVO) {
+        //获取登陆人信息
+        PersonnelVO personnelVO1 = cacheUtils.getLoginUser(StpUtil.getLoginIdAsInt());
+
+
+        LambdaQueryWrapper<Personnel> queryWrapper = new LambdaQueryWrapper<>();
+        //若前台有传租户id,则根据租户id查询人员列表
+        if(personnelVO.getTenantId()!=null) {
+            queryWrapper.eq(Personnel::getTenantId, personnelVO.getTenantId());
+        }
+        else {
+            //TODO 代码控制若不是超级管理员则只能查看本租户的人员列表
+            if (personnelVO1.getRoleType() == null || personnelVO1.getRoleType() != 1) {
+                queryWrapper.eq(Personnel::getTenantId, personnelVO1.getTenantId());
+            }
+        }
+        //根据人员名称或是人员描述模糊查询人员列表
+        if (personnelVO.getName() == null) {
+            personnelVO.setName("");
+        }
+        queryWrapper
+                .and((wrapper) -> wrapper.like(Personnel::getPersonnelName, personnelVO.getName())
+                        .or()
+                        .like(Personnel::getPersonnelDescription, personnelVO.getName())
+                );
+
+        //根据人员id查询
+        if(personnelVO.getId()!=null){
+            queryWrapper.in(Personnel::getId, Integer.parseInt(personnelVO.getId()));
+        }
+
+        //若前台有传部门ids,则根据部门ids查询人员列表
+        if (personnelVO.getDepartmentIds() != null && personnelVO.getDepartmentIds().size() != 0) {
+            LambdaQueryWrapper<AssoDepartPos> qw = new LambdaQueryWrapper<>();
+            qw.in(AssoDepartPos::getDepartmentId, personnelVO.getDepartmentIds());
+            List<Integer> dpIds = departPosiService.list(qw).stream().map(AssoDepartPos::getId).collect(Collectors.toList());
+            LambdaQueryWrapper<AssoPerDp> qw2 = new LambdaQueryWrapper<>();
+            qw2.in(AssoPerDp::getDepartPosiId, dpIds);
+            List<Integer> perIds = perDpService.list(qw2).stream().map(AssoPerDp::getPersonnelId).collect(Collectors.toList());
+
+            queryWrapper.in(Personnel::getId, perIds);
+        }
+
+        //若前台有传职位ids,则根据职位ids查询人员列表
+        if (personnelVO.getPositionIds() != null && personnelVO.getPositionIds().size() != 0) {
+            LambdaQueryWrapper<AssoDepartPos> qw = new LambdaQueryWrapper<>();
+            qw.in(AssoDepartPos::getPositionId, personnelVO.getPositionIds());
+            List<Integer> dpIds = departPosiService.list(qw).stream().map(AssoDepartPos::getId).collect(Collectors.toList());
+
+            LambdaQueryWrapper<AssoPerDp> qw2 = new LambdaQueryWrapper<>();
+            qw2.in(AssoPerDp::getDepartPosiId, dpIds);
+            List<Integer> perIds = perDpService.list(qw2).stream().map(AssoPerDp::getPersonnelId).collect(Collectors.toList());
+
+            queryWrapper.in(Personnel::getId, perIds);
+        }
+
+
+        List<Personnel> personnelList = this.page(new Page<>(personnelVO.getCurrent(), personnelVO.getSize()), queryWrapper).getRecords();
+        long count = this.count(queryWrapper);
+        return Response.success(setPersonnelToVO(personnelList), DataUtils.setPageColumn(personnelVO.getSize(), personnelVO.getCurrent(), Math.toIntExact(count)));
+
+    }
+
+
+
+
     public List<Integer> getByTenantId(Integer tenantId) {
         //根据租户id查询人员列表
         LambdaQueryWrapper<Personnel> queryWrapper = new LambdaQueryWrapper<>();

+ 2 - 2
PCS/src/main/resources/application-testNetIn.yml

@@ -29,9 +29,9 @@ spring:
         max-wait: -1ms
     timeout: 2000ms
   datasource:
-    url: jdbc:mysql://172.27.247.174:3306/PCS_TEST2?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B8
+    url: jdbc:mysql://172.27.247.174:3306/PCS_TEST3?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B8
     username: root
-    password: rrzTwWAYX8Gxh5JH
+    password: TU5x6IeBi7rl
     driver-class-name: com.mysql.cj.jdbc.Driver
     type: com.alibaba.druid.pool.DruidDataSource
     druid:

+ 9 - 0
PCS/src/main/resources/mapper/ClientMapper.xml

@@ -35,4 +35,13 @@
             and a.TENANT_ID is not null
         </where>
     </select>
+
+    <select id="getTenantClients" resultType="cn.cslg.permission.domain.Client" parameterType="java.lang.Integer">
+        select * from CLIENT a left join ASSOCIATE_TENANT_CLIENT b on a.ID=b.CLIENT_ID
+        <where>
+            b.TENANT_ID =#{params}
+            and a.TENANT_ID is not null
+        </where>
+    </select>
+
 </mapper>