Pārlūkot izejas kodu

3.2.3 考务数据导入-计划查询范围改动

xiaofei 2 gadi atpakaļ
vecāks
revīzija
e1ecd79e9c

+ 15 - 10
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamPrintPlanServiceImpl.java

@@ -130,14 +130,6 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
     @Transactional(rollbackFor = Exception.class)
     @Override
     public List<PrintPlanBrief> printPlanBriefQuery(String source, String module) {
-        /*List<PrintPlanBrief> printPlanBriefList = new ArrayList<>();
-        List<ExamPrintPlan> examPrintPlanList = this.list();
-        for (ExamPrintPlan examPrintPlan : examPrintPlanList) {
-            Long id = examPrintPlan.getId();
-            String name = examPrintPlan.getName();
-            PrintPlanStatusEnum status = examPrintPlan.getStatus();
-            printPlanBriefList.add(new PrintPlanBrief(id, name ,status));
-        }*/
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         List<PrintPlanBrief> list;
         if ("client".equals(source)) {
@@ -145,8 +137,21 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
             String[] status = {PrintPlanStatusEnum.READY.name(), PrintPlanStatusEnum.PRINTING.name(), PrintPlanStatusEnum.PRINT_FINISH.name()};
             list = this.baseMapper.listToClient(schoolId, source, module, status, sysUser.getOrgId());
         } else {
-            DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission();
-            String[] status = {PrintPlanStatusEnum.READY.name(), PrintPlanStatusEnum.PRINTING.name(), PrintPlanStatusEnum.PRINT_FINISH.name()};
+            Long privilegeId = ServletUtil.getCurrentPrivilegeId();
+            DataPermissionRule dpr = new DataPermissionRule();
+            // 未找到权限菜单,默认为本人权限
+            SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+
+            // 如果byAssignUser为true时,不能通过层级关系查询
+            if (privilegeId == null) {
+                dpr.setRequestUserId(sysUser.getId());
+                dpr.setOrgIdSet(null);
+            } else if ("44".equals(privilegeId.toString())){
+                dpr = basicRoleDataPermissionService.findDataPermission(privilegeId);
+            }else {
+                dpr = basicRoleDataPermissionService.findDataPermission();
+            }
+            String[] status = {PrintPlanStatusEnum.NEW.name(), PrintPlanStatusEnum.READY.name()};
             list = this.baseMapper.list(schoolId, source, module, status, dpr);
         }
         return list;

+ 2 - 0
distributed-print-business/src/main/resources/mapper/ExamPrintPlanMapper.xml

@@ -118,6 +118,8 @@
                 <if test="module == 'try'">
                     AND LOCATE('PAPER', print_content) > 0
                 </if>
+            </if>
+            <if test="status != null and status != ''">
                 AND a.status IN
                 <foreach collection="status" item="item" index="index" open="(" separator="," close=")">
                     #{item}