Explorar el Código

权限问题、测试问题修改

liujh hace 3 años
padre
commit
1b72e68d36
Se han modificado 14 ficheros con 76 adiciones y 22 borrados
  1. 7 0
      zd-api/zd-api-system/src/main/java/com/zd/system/api/RemoteUserService.java
  2. 10 0
      zd-api/zd-api-system/src/main/java/com/zd/system/api/factory/RemoteUserFallbackFactory.java
  3. 1 1
      zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/service/impl/QpSupplierServiceImpl.java
  4. 0 4
      zd-modules/zd-airbottle/src/main/resources/mapper/airbottle/QpSupplierMapper.xml
  5. 5 3
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabCheckRecordDetailsController.java
  6. 4 3
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabSecurityApplyController.java
  7. 9 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabSubjectController.java
  8. 1 1
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabPhotoNoteServiceImpl.java
  9. 4 3
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabPhotoNoteMapper.xml
  10. 5 1
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabSubjectMapper.xml
  11. 14 3
      zd-modules/zd-modules-system/src/main/java/com/zd/system/controller/SysDeptController.java
  12. 15 0
      zd-modules/zd-modules-system/src/main/java/com/zd/system/controller/SysUserController.java
  13. 0 1
      zd-modules/zd-modules-system/src/main/java/com/zd/system/service/impl/SysDeptServiceImpl.java
  14. 1 2
      zd-modules/zd-modules-system/src/main/resources/mapper/system/SysDeptMapper.xml

+ 7 - 0
zd-api/zd-api-system/src/main/java/com/zd/system/api/RemoteUserService.java

@@ -181,4 +181,11 @@ public interface RemoteUserService {
      */
     @GetMapping("/user/getLogingUserDeptids")
     R<List<Long>> getLogingUserDeptids();
+
+    /**
+     * 获取当前登录用户所属学校的deptid
+     * @return
+     */
+    @GetMapping("/user/getLoginUserSchoolDeptid")
+    R<Long> getLoginUserSchoolDeptid();
 }

+ 10 - 0
zd-api/zd-api-system/src/main/java/com/zd/system/api/factory/RemoteUserFallbackFactory.java

@@ -169,6 +169,16 @@ public class RemoteUserFallbackFactory implements FallbackFactory<RemoteUserServ
                 return R.fail("获取登录用户所属学校及院系失败:" + throwable.getMessage());
             }
 
+            /**
+             * 获取当前登录用户所属学校的deptid
+             *
+             * @return
+             */
+            @Override
+            public R<Long> getLoginUserSchoolDeptid() {
+                return R.fail("获取当前登录用户所属学校的deptid失败:" + throwable.getMessage());
+            }
+
 
         };
     }

+ 1 - 1
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/service/impl/QpSupplierServiceImpl.java

@@ -124,7 +124,7 @@ public class QpSupplierServiceImpl implements IQpSupplierService {
     }
 
     @Override
-    @DataScope(deptAlias = "d", userAlias = "u", permi = PerPrefix.MODULE_AIRBOTTLE+PerPrefix.BUSINESS_SUPPLIER)
+    //@DataScope(deptAlias = "d", userAlias = "u", permi = PerPrefix.MODULE_AIRBOTTLE+PerPrefix.BUSINESS_SUPPLIER)
     public List<QpSupplier> getList(QpSupplier qpSupplier) {
         return qpSupplierMapper.selectQpSupplierList(qpSupplier);
     }

+ 0 - 4
zd-modules/zd-airbottle/src/main/resources/mapper/airbottle/QpSupplierMapper.xml

@@ -66,8 +66,6 @@
                t.update_by,
                t.create_time
         from qp_supplier as t
-                 LEFT JOIN   sys_dept d on   t.dept_id=d.dept_id
-                 LEFT JOIN sys_user u on  t.user_id=u.user_id
     </sql>
     <select id="selectQpSupplierList" parameterType="com.zd.airbottle.domain.QpSupplier" resultMap="QpSupplierResult">
         <include refid="selectQpSupplierListVo"/>
@@ -101,8 +99,6 @@
                     #{id}
                 </foreach>
             </if>
-            <!-- 数据范围过滤 -->
-            ${params.dataScope}
         </where>
     </select>
 

+ 5 - 3
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabCheckRecordDetailsController.java

@@ -247,13 +247,15 @@ public class LabCheckRecordDetailsController extends BaseController {
 
     private  List<LabCheckRecordDetailsVO> selectlistWtzg(LabCheckRecordDetailsVO labCheckRecordDetailsVO){
         SysUser sysUser = tokenService.getLoginUser().getSysUser();
-        if("00".equals(sysUser.getUserType())){ //系统用户
+        if("00".equals(sysUser.getUserType())){
+            // 系统用户
             if(sysUser.getDeptId()!=null ){
                 labCheckRecordDetailsVO.setDeptId(sysUser.getDeptId());
             }
-        }else  if("11".equals(sysUser.getUserType())){ //教职工
+        }else  if("11".equals(sysUser.getUserType())){
+            // 教职工
             labCheckRecordDetailsVO.setFzrId(sysUser.getUserId());
-        } else if(UserConstants.USER_TYPE_STUDENT.equals(sysUser.getUserType())){ //学生
+        } else if(UserConstants.USER_TYPE_STUDENT.equals(sysUser.getUserType())){
             //查询学生有效期内的申请集合
             LabSecurityApplyVO applyvo = new LabSecurityApplyVO();
             applyvo.setUserId(sysUser.getUserId());

+ 4 - 3
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabSecurityApplyController.java

@@ -1,6 +1,5 @@
 package com.zd.laboratory.controller;
 
-import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.io.IOException;
@@ -92,9 +91,11 @@ public class LabSecurityApplyController extends BaseController
         SysUser sysUser = tokenService.getLoginUser().getSysUser();
 
         if("00".equals(sysUser.getUserType())){
-            labSecurityApplyVO.setDeptId(sysUser.getDeptId());// 系统用户按部门查询
+            //系统用户按部门查询
+            labSecurityApplyVO.setDeptId(sysUser.getDeptId());
         }else if("11".equals(sysUser.getUserType())){
-            labSecurityApplyVO.setSubjectAdminid(sysUser.getUserId());// 教职工登录,实验室负责人为当前用户的数据
+            //教职工登录,实验室负责人为当前用户的数据
+            labSecurityApplyVO.setSubjectAdminid(sysUser.getUserId());
         }else if(UserConstants.USER_TYPE_STUDENT.equals(sysUser.getUserType())){
             //labSecurityApply.setUserId(sysUser.getUserId());// 学生登录(学生无审核权限),申请人id 为当前用户id的数据
             return getDataTable(new ArrayList());

+ 9 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabSubjectController.java

@@ -348,6 +348,15 @@ public class LabSubjectController extends BaseController {
      */
     @GetMapping("/getAllSubjectByParame")
     public TableDataInfo getAllSubjectByParame(LabSubjectVO labSubject) {
+        //获取当前登录用户所属学校和学院的deptid
+        R<List<Long>> listdeptids = remoteUserService.getLogingUserDeptids();
+        if(200==listdeptids.getCode()){
+            //按部门集合查询
+            List<Long> deptIds= listdeptids.getData();
+            labSubject.setDeptIds(deptIds);
+            labSubject.setDeptId(null);
+        }
+
         startPage();
         List<LabSubject> list = labSubjectService.getAllSubjectByParame(labSubject);
         return getDataTable(list);

+ 1 - 1
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabPhotoNoteServiceImpl.java

@@ -90,7 +90,7 @@ public class LabPhotoNoteServiceImpl implements ILabPhotoNoteService {
      * @return 随手拍记录
      */
     @Override
-    @DataScope(deptAlias = "t",permi = PerPrefix.LABORATORY_PHOTONOTE)
+    @DataScope(deptAlias = "d", userAlias = "u",permi = PerPrefix.LABORATORY_PHOTONOTE)
     public List<LabPhotoNoteListVO> selectLabPhotoNoteVOList(LabPhotoNote labPhotoNote) {
         return labPhotoNoteMapper.selectLabPhotoNoteVOList(labPhotoNote);
     }

+ 4 - 3
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabPhotoNoteMapper.xml

@@ -58,9 +58,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             (SELECT su.nick_name FROM sys_user su WHERE su.user_id = s.handle_user) handleName,
             s.handle_describe,
             s.handle_img
-        FROM
-            lab_photo_note AS s
-                inner join lab_subject as t on t.id = s.subject_id
+        FROM lab_photo_note AS s
+        inner join lab_subject as t on t.id = s.subject_id
+        inner join sys_dept d on   s.dept_id=d.dept_id
+        inner join sys_user u on  s.user_id=u.user_id
     </sql>
     <select id="selectLabPhotoNoteList" parameterType="com.zd.laboratory.domain.LabPhotoNote" resultMap="LabPhotoNoteResult">
         <include refid="selectLabPhotoNoteVo"/>

+ 5 - 1
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabSubjectMapper.xml

@@ -659,6 +659,10 @@
             and ws.`white_user_id` = #{whiteUserId}
         </if>
         <where>
+            <if test="deptIds != null and deptIds.size()>0"> <!-- 部门集合id-->
+                and s.dept_id in
+                <foreach item="item" collection="deptIds" separator="," open="(" close=")" index="">'${item}'</foreach>
+            </if>
             <if test="floorId != null ">
                 and s.floor_id = #{floorId}
             </if>
@@ -672,7 +676,7 @@
                 and s.name like concat('%', #{name}, '%')
             </if>
             <if test="deptId != null">
-                ( s.dept_id in (SELECT dt.dept_id FROM sys_dept dt WHERE find_in_set(#{deptId} ,ancestors )) or s.dept_id = #{deptId} )
+               and  ( s.dept_id in (SELECT dt.dept_id FROM sys_dept dt WHERE find_in_set(#{deptId} ,ancestors )) or s.dept_id = #{deptId} )
             </if>
             <if test="level != null">
                 and s.level = #{level}

+ 14 - 3
zd-modules/zd-modules-system/src/main/java/com/zd/system/controller/SysDeptController.java

@@ -7,7 +7,6 @@ import com.zd.common.core.utils.SecurityUtils;
 import com.zd.common.core.utils.StringUtils;
 import com.zd.common.core.web.controller.BaseController;
 import com.zd.common.core.web.domain.AjaxResult;
-import com.zd.common.core.web.domain.BaseEntity;
 import com.zd.common.log.annotation.Log;
 import com.zd.common.log.enums.BusinessType;
 import com.zd.common.response.ResultData;
@@ -15,13 +14,13 @@ import com.zd.common.security.annotation.PreAuthorize;
 import com.zd.common.security.service.TokenService;
 import com.zd.system.api.domain.SysDept;
 import com.zd.system.api.domain.SysDeptVO;
+import com.zd.system.api.domain.SysUser;
 import com.zd.system.api.model.SysDeptListVO;
 import com.zd.system.service.ISysDeptService;
 import com.zd.system.service.impl.SysDeptManager;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.ArrayUtils;
-import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -253,7 +252,19 @@ public class SysDeptController extends BaseController {
      */
     @GetMapping("/builds/list")
     public AjaxResult buildsList() {
-        List<SysDept> depts = deptService.selectBuildsList(new SysDept());
+        SysUser sysuser  =  tokenService.getLoginUser().getSysUser();
+        SysDept sysDept = deptService.selectDeptById(sysuser.getDept().getDeptId());
+        Long deptId =null;
+        //查询登录用户所属的院校的deptid
+        if("0".equals(sysDept.getAncestors())){
+            deptId=sysDept.getDeptId();
+        }else{
+            deptId=Long.valueOf(sysDept.getAncestors().split(",")[1]);
+        }
+
+        SysDept dept = new SysDept();
+        dept.setDeptId(deptId);
+        List<SysDept> depts = deptService.selectBuildsList(dept);
         return AjaxResult.success(depts);
     }
 

+ 15 - 0
zd-modules/zd-modules-system/src/main/java/com/zd/system/controller/SysUserController.java

@@ -675,4 +675,19 @@ public class SysUserController extends BaseController {
         return AjaxResult.success(collect);
 
     }
+
+    /***
+     * 获取当前登录用户所属学校的deptid
+     * @return
+     */
+    @ApiOperation("获取当前登录用户所属学校的deptid")
+    @GetMapping("/getLoginUserSchoolDeptid")
+    public Long getLoginUserSchoolDeptid(){
+        //获取当前登录用户信息
+        Long userId = SecurityUtils.getUserId();
+        SysUser sysUser = userService.selectUserById(userId);
+        SysDept sysDept = deptService.selectDeptById(sysUser.getDept().getDeptId());
+        Long deptId ="0".equals(sysDept.getAncestors())==true?sysDept.getDeptId():Long.valueOf(sysDept.getAncestors().split(",")[1]);
+        return deptId;
+    }
 }

+ 0 - 1
zd-modules/zd-modules-system/src/main/java/com/zd/system/service/impl/SysDeptServiceImpl.java

@@ -400,7 +400,6 @@ public class SysDeptServiceImpl implements ISysDeptService {
     }
 
     @Override
-    @DataScope(deptAlias = "d", permi = PerPrefix.SYSTEM_DEPT)
     public List<SysDept> selectBuildsList(SysDept dept) {
         return deptMapper.selectBuildsList(dept);
     }

+ 1 - 2
zd-modules/zd-modules-system/src/main/resources/mapper/system/SysDeptMapper.xml

@@ -156,8 +156,7 @@
     <select id="selectBuildsList" resultMap="SysDeptResult">
         <include refid="selectDeptVo"/>
         where d.del_flag = '0' and
-        d.parent_id in (select dept_id from sys_dept where parent_id = 100)
-        ${params.dataScope}
+        d.parent_id in (select dept_id from sys_dept where parent_id = #{deptId})
     </select>
 
     <select id="selectLevelByUserId" resultType="java.lang.Integer">