Pārlūkot izejas kodu

专题库种类数量查询 2022/9/28

lwhhszx 3 gadi atpakaļ
vecāks
revīzija
239b2b9257

+ 3 - 0
PAS/src/main/java/cn/cslg/pas/mapper/ProjectMapper.java

@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
+import java.util.List;
+
 /**
  * <p>
  * 专题库表 Mapper 接口
@@ -17,4 +19,5 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 public interface ProjectMapper extends BaseMapper<Project> {
 
     IPage<Project> getPageList(Page<Project> page, ProjectVO params);
+    List<Project> getListForCount();
 }

+ 7 - 17
PAS/src/main/java/cn/cslg/pas/service/ProjectService.java

@@ -121,9 +121,6 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
         if (params.getMyself()) {
             projectIds.addAll(projectUserService.getProIdByUserId(loginUtils.getId()));
         }
-        if (user.getUsername().equals(Constants.ADMIN_USERNAME)) {
-            projectIds.addAll(projectService.list().stream().map(Project::getId).collect(Collectors.toList()));
-        }
         params.setProIds(projectIds);
         params.setCreateBy(loginUtils.getId());
 
@@ -213,20 +210,13 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
     }
 
     public List<Project> getAllProjectByMySelf() {
-        PersonnelVO user = cacheUtils.getLoginUserPersonnel(loginUtils.getId());
-        LambdaQueryWrapper<Project> queryWrapper = new LambdaQueryWrapper<>();
-        List<Integer> proIds = new ArrayList<>();
-
-        if (!user.getUsername().equals(Constants.ADMIN_USERNAME)) {
-            proIds.addAll(projectUserService.getProIdByUserId(user.getId()));
-            proIds.addAll(this.getProjectByCreateId(loginUtils.getId()).stream().map(Project::getId).collect(Collectors.toList()));
-            if (proIds.size() != 0) {
-                queryWrapper.in(Project::getId, proIds);
-            } else {
-                queryWrapper.eq(Project::getId, -1);
-            }
-        }
-        List<Project> projectList = this.list(queryWrapper);
+//使用专题库查询的权限查询,因为要使用专题库的权限,因此查询语句格式需要和专题库查询的格式统一,所以手写了查询语句
+        Map<String, Object> m = new HashMap<>();
+        m.put("token", LoginUtils.getToken());
+        m.put("loginId", loginUtils.getId());
+        m.put("functionId", "/workspace/project/check");
+        SecurityUtils.startDataScope(m);
+        List<Project> projectList = baseMapper.getListForCount();
         this.setDataList(projectList);
         return projectList;
     }

+ 14 - 0
PAS/src/main/resources/mapper/ProjectMapper.xml

@@ -56,4 +56,18 @@
         </where>
         order by a.`${params.sort.prop}` ${params.sort.order}
     </select>
+
+    <select id="getListForCount"
+            resultType="cn.cslg.pas.domain.Project">
+        select  a.id, a.`name`, a.creat_id as create_by, a.technical_theme,
+        a.innerfile as inner_file, a.`update`, a.`status`, a.contract_no,
+        a.`case` as case_date, a.update_time, a.sort, a.clientid as client_id,
+        a.scenarioid as scenario, a.typeid as type, a.remark, a.create_time,a.department_id,a.personnel_id
+
+        from os_thematic a
+        <where>
+            1=1
+        </where>
+
+    </select>
 </mapper>