Bläddra i källkod

3.2.4 客户端修改

xiaofei 2 år sedan
förälder
incheckning
adf0dded02

+ 2 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ConditionMapper.java

@@ -32,4 +32,6 @@ public interface ConditionMapper {
     List<BasicCourse> listCourseForScore(@Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("basicCourses") List<BasicCourse> basicCourses, @Param("dpr") DataPermissionRule dpr);
 
     List<BasicClazz> listClazz(@Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("dpr") DataPermissionRule dpr);
+
+    List<PrintPlanBrief> listPrintPlanForClient(@Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("examDetailStatus") String[] examDetailStatus);
 }

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ConditionService.java

@@ -23,7 +23,7 @@ public interface ConditionService {
 
     List<String> listPaperNumber(Long semesterId, Long examId, String courseCode, List<String> printPlanId);
 
-    List<PrintPlanBrief> listPrintPlan(Long semesterId, Long examId);
+    List<PrintPlanBrief> listPrintPlan(Long semesterId, Long examId, String source);
 
     List<BasicClazz> listClazz(Long semesterId, Long examId, String courseCode);
 }

+ 14 - 7
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ConditionServiceImpl.java

@@ -2,6 +2,8 @@ package com.qmth.distributed.print.business.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.qmth.distributed.print.business.bean.result.PrintPlanBrief;
+import com.qmth.distributed.print.business.enums.ExamDetailStatusEnum;
+import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
 import com.qmth.distributed.print.business.mapper.ConditionMapper;
 import com.qmth.distributed.print.business.service.BasicExamService;
 import com.qmth.distributed.print.business.service.ConditionService;
@@ -122,20 +124,25 @@ public class ConditionServiceImpl implements ConditionService {
     }
 
     @Override
-    public List<PrintPlanBrief> listPrintPlan(Long semesterId, Long examId) {
+    public List<PrintPlanBrief> listPrintPlan(Long semesterId, Long examId, String source) {
         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);
+        if ("client".equals(source)) {
+            String[] examDetailStatus = new String[]{ExamDetailStatusEnum.NEW.name(), PrintPlanStatusEnum.READY.name()};
+            return conditionMapper.listPrintPlanForClient(semesterId, examId, examDetailStatus);
         } else {
-            dpr = basicRoleDataPermissionService.findDataPermission(privilegeId);
+            // 如果byAssignUser为true时,不能通过层级关系查询
+            if (privilegeId == null) {
+                dpr.setRequestUserId(sysUser.getId());
+                dpr.setOrgIdSet(null);
+            } else {
+                dpr = basicRoleDataPermissionService.findDataPermission(privilegeId);
+            }
+            return conditionMapper.listPrintPlan(semesterId, examId, dpr);
         }
-        return conditionMapper.listPrintPlan(semesterId, examId, dpr);
     }
 
     @Override

+ 23 - 0
distributed-print-business/src/main/resources/mapper/ConditionMapper.xml

@@ -279,4 +279,27 @@
             </if>
         </where>
     </select>
+    <select id="listPrintPlanForClient"
+            resultType="com.qmth.distributed.print.business.bean.result.PrintPlanBrief">
+        SELECT
+            epp.id, epp.name, epp.status
+        FROM
+            exam_print_plan epp
+                JOIN
+            exam_detail ed ON epp.id = ed.print_plan_id
+                JOIN
+            basic_exam be ON epp.exam_id = be.id
+        <where>
+            <if test="semesterId != null">
+                and be.semester_id = #{semesterId}
+            </if>
+            <if test="examId != null">
+                and be.id = #{examId}
+            </if>
+            AND ed.status not IN
+            <foreach collection="examDetailStatus" item="item" index="index" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </where>
+    </select>
 </mapper>

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

@@ -426,7 +426,7 @@
             LEFT JOIN
             sys_user d ON a.create_id = d.id
                 LEFT JOIN
-            basic_exam be ON a.exam_id = be.exam_id
+            basic_exam be ON a.exam_id = be.id
         <where>
             and a.school_id = #{schoolId}
             AND a.status != 'END'

+ 3 - 2
distributed-print/src/main/java/com/qmth/distributed/print/api/ConditionController.java

@@ -64,8 +64,9 @@ public class ConditionController {
     @RequestMapping(value = "/list_print_plan", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = BasicCollegeResult.class)})
     public Result listPrintPlan(@ApiParam(value = "学期ID") @RequestParam(required = false) Long semesterId,
-                                @ApiParam(value = "考试ID") @RequestParam(required = false) Long examId) {
-        return ResultUtil.ok(conditionService.listPrintPlan(semesterId, examId));
+                                @ApiParam(value = "考试ID") @RequestParam(required = false) Long examId,
+                                @ApiParam(value = "source") @RequestParam(required = false) String source) {
+        return ResultUtil.ok(conditionService.listPrintPlan(semesterId, examId, source));
     }
 
     @ApiOperation(value = "试卷编号")