Parcourir la source

客户端bug修改

xiaof il y a 4 ans
Parent
commit
fc4b96177a

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamTaskMapper.java

@@ -73,7 +73,7 @@ public interface ExamTaskMapper extends BaseMapper<ExamTask> {
 
 
     IPage<ClientExamTaskDto> listClientExamTaskPage(Page<ClientExamTaskDto> page, @Param("schoolId") Long schoolId, @Param("machineCode") String machineCode, @Param("printPlanId") Long printPlanId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("isTry") Boolean isTry, @Param("isPass") Boolean isPass, @Param("orgIds") Set<Long> orgIds, @Param("printPlanStatus") String printPlanStatus, @Param("examDetailStatus") String[] examDetailStatus);
     IPage<ClientExamTaskDto> listClientExamTaskPage(Page<ClientExamTaskDto> page, @Param("schoolId") Long schoolId, @Param("machineCode") String machineCode, @Param("printPlanId") Long printPlanId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("isTry") Boolean isTry, @Param("isPass") Boolean isPass, @Param("orgIds") Set<Long> orgIds, @Param("printPlanStatus") String printPlanStatus, @Param("examDetailStatus") String[] examDetailStatus);
 
 
-    List<ClientExamTaskDto> listClientExamTaskPage(@Param("schoolId") Long schoolId, @Param("machineCode") String machineCode, @Param("printPlanId") Long printPlanId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("isTry") Boolean isTry, @Param("isPass") Boolean isPass, @Param("orgIds") Set<Long> orgIds, @Param("printPlanStatus") String printPlanStatus, @Param("examDetailStatus") String examDetailStatus);
+    List<ClientExamTaskDto> listClientExamTaskPage(@Param("schoolId") Long schoolId, @Param("machineCode") String machineCode, @Param("printPlanId") Long printPlanId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("isTry") Boolean isTry, @Param("isPass") Boolean isPass, @Param("orgIds") Set<Long> orgIds, @Param("printPlanStatus") String printPlanStatus, @Param("examDetailStatus") String[] examDetailStatus);
 
 
     List<ExamTask> listExamTaskByCardId(Long cardId);
     List<ExamTask> listExamTaskByCardId(Long cardId);
 
 

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

@@ -460,7 +460,7 @@ public class ClientServiceImpl implements ClientService {
             map.put("courseCode", clientExamTaskDto.getCourseCode());
             map.put("courseCode", clientExamTaskDto.getCourseCode());
             map.put("courseName", clientExamTaskDto.getCourseName());
             map.put("courseName", clientExamTaskDto.getCourseName());
             map.put("paperNumber", clientExamTaskDto.getPaperNumber());
             map.put("paperNumber", clientExamTaskDto.getPaperNumber());
-            Map<String, String> stringMap = examTaskDetailService.getUrl(schoolId, printPlanId, Long.valueOf(clientExamTaskDto.getExamTaskId()));
+            Map<String, String> stringMap = examTaskDetailService.getUrl(schoolId, Long.valueOf(clientExamTaskDto.getPrintPlanId()), Long.valueOf(clientExamTaskDto.getExamTaskId()));
             map.putAll(stringMap);
             map.putAll(stringMap);
             list.add(map);
             list.add(map);
         }
         }

+ 15 - 13
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailServiceImpl.java

@@ -371,19 +371,21 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
         }
         }
 
 
         // 当关联课程所有考场都撤回,清除提当前计划下打样记录
         // 当关联课程所有考场都撤回,清除提当前计划下打样记录
-//        List<ExamDetailCourse> examDetailCourses = examDetailCourseService.listByExamDetailIdAndStatus(detail.getId());
-//        for (ExamDetailCourse examDetailCours : examDetailCourses) {
-//            List<ExamDetail> examDetailList = this.listByPrintPlanIdAndCourseCodeAndPaperNumber(detail.getSchoolId(), detail.getPrintPlanId(), examDetailCours.getCourseCode(), examDetailCours.getPaperNumber());
-//            long count = examDetailList.stream().filter(m->!m.getStatus().name().equals(ExamDetailStatusEnum.NEW.name()) && !m.getStatus().name().equals(ExamDetailStatusEnum.READY.name())).count();
-//            if(count == 0){
-//                UpdateWrapper<ClientStatus> clientStatusUpdateWrapper = new UpdateWrapper<>();
-//                clientStatusUpdateWrapper.lambda().eq(ClientStatus::getSchoolId, detail.getSchoolId())
-//                        .eq(ClientStatus::getPrintPlanId, detail.getPrintPlanId())
-//                        .eq(ClientStatus::getCourseCode, examDetailCours.getCourseCode())
-//                        .eq(ClientStatus::getPaperNumber, examDetailCours.getPaperNumber());
-//                clientStatusService.remove(clientStatusUpdateWrapper);
-//            }
-//        }
+        QueryWrapper<ExamDetailCourse> examDetailCourseQueryWrapper = new QueryWrapper<>();
+        examDetailCourseQueryWrapper.lambda().eq(ExamDetailCourse::getExamDetailId, detail.getId());
+        List<ExamDetailCourse> examDetailCourses = examDetailCourseService.list(examDetailCourseQueryWrapper);
+        for (ExamDetailCourse examDetailCours : examDetailCourses) {
+            List<ExamDetail> examDetailList = this.listByPrintPlanIdAndCourseCodeAndPaperNumber(detail.getSchoolId(), detail.getPrintPlanId(), examDetailCours.getCourseCode(), examDetailCours.getPaperNumber());
+            long count = examDetailList.stream().filter(m->!m.getStatus().name().equals(ExamDetailStatusEnum.NEW.name()) && !m.getStatus().name().equals(ExamDetailStatusEnum.READY.name())).count();
+            if(count == 0){
+                UpdateWrapper<ClientStatus> clientStatusUpdateWrapper = new UpdateWrapper<>();
+                clientStatusUpdateWrapper.lambda().eq(ClientStatus::getSchoolId, detail.getSchoolId())
+                        .eq(ClientStatus::getPrintPlanId, detail.getPrintPlanId())
+                        .eq(ClientStatus::getCourseCode, examDetailCours.getCourseCode())
+                        .eq(ClientStatus::getPaperNumber, examDetailCours.getPaperNumber());
+                clientStatusService.remove(clientStatusUpdateWrapper);
+            }
+        }
         return true;
         return true;
     }
     }
 
 

+ 2 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -1027,7 +1027,8 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
     public List<ClientExamTaskDto> listTryTask(Long schoolId, String machineCode, Long orgId, Long printPlanId, String courseCode, String paperNumber, Boolean isTry, Boolean isPass) {
     public List<ClientExamTaskDto> listTryTask(Long schoolId, String machineCode, Long orgId, Long printPlanId, String courseCode, String paperNumber, Boolean isTry, Boolean isPass) {
         Set<Long> orgIds = commonService.listSubOrgIds(orgId);
         Set<Long> orgIds = commonService.listSubOrgIds(orgId);
         // 印刷任务状态为印刷中(PRINTING),考场状态为待打印(WAITING)
         // 印刷任务状态为印刷中(PRINTING),考场状态为待打印(WAITING)
-        List<ClientExamTaskDto> examTaskDtoIPage = this.baseMapper.listClientExamTaskPage(schoolId, machineCode, printPlanId, courseCode, paperNumber, isTry, isPass, orgIds, PrintPlanStatusEnum.PRINTING.name(), ExamDetailStatusEnum.WAITING.name());
+        String[] examDetailstatus = {ExamDetailStatusEnum.NEW.name(), ExamDetailStatusEnum.READY.name()};
+        List<ClientExamTaskDto> examTaskDtoIPage = this.baseMapper.listClientExamTaskPage(schoolId, machineCode, printPlanId, courseCode, paperNumber, isTry, isPass, orgIds, PrintPlanStatusEnum.PRINTING.name(), examDetailstatus);
         return examTaskDtoIPage;
         return examTaskDtoIPage;
     }
     }
 
 

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

@@ -89,6 +89,7 @@
                 and a.school_id = #{schoolId}
                 and a.school_id = #{schoolId}
             </if>
             </if>
             <if test="source == 'client'">
             <if test="source == 'client'">
+                AND LOCATE('PAPER', print_content) > 0
                 AND a.status IN
                 AND a.status IN
                 <foreach collection="status" item="item" index="index" open="(" separator="," close=")">
                 <foreach collection="status" item="item" index="index" open="(" separator="," close=")">
                     #{item}
                     #{item}
@@ -121,6 +122,7 @@
             b.total_subjects totalSubjects,
             b.total_subjects totalSubjects,
             IFNULL(b.pages_a3, 0) pagesA3,
             IFNULL(b.pages_a3, 0) pagesA3,
             IFNULL(b.pages_a4, 0) pagesA4,
             IFNULL(b.pages_a4, 0) pagesA4,
+            case b.status when 'FINISH' then IFNULL(b.pages_a3, 0)+IFNULL(b.pages_a4, 0) else 0 end totalPrint,
             c.singlePagesA3,
             c.singlePagesA3,
             b.status,
             b.status,
             ifnull(b.validate, false) validate,
             ifnull(b.validate, false) validate,
@@ -137,7 +139,7 @@
             exam_detail b ON a.id = b.print_plan_id
             exam_detail b ON a.id = b.print_plan_id
                 JOIN
                 JOIN
             (SELECT
             (SELECT
-                b.print_plan_id,
+                c.print_plan_id,
                 exam_detail_id,
                 exam_detail_id,
                     GROUP_CONCAT(CONCAT(a.course_name, '(', a.course_code, ')')) courseNameCode,
                     GROUP_CONCAT(CONCAT(a.course_name, '(', a.course_code, ')')) courseNameCode,
                     GROUP_CONCAT(a.paper_number) paperNumber,
                     GROUP_CONCAT(a.paper_number) paperNumber,
@@ -156,6 +158,8 @@
                     END) isPass
                     END) isPass
             FROM
             FROM
                 exam_detail_course a
                 exam_detail_course a
+                LEFt JOIN exam_detail c on a.exam_detail_id = c.id
+                LEFT JOIN exam_print_plan d on c.print_plan_id = d.id
             LEFT JOIN client_status b ON a.school_id = b.school_id
             LEFT JOIN client_status b ON a.school_id = b.school_id
                 AND a.course_code = b.course_code
                 AND a.course_code = b.course_code
                 AND a.paper_number = b.paper_number
                 AND a.paper_number = b.paper_number

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

@@ -479,6 +479,7 @@
         <where>
         <where>
             and a.status = #{printPlanStatus}
             and a.status = #{printPlanStatus}
             and d.status = 'FINISH'
             and d.status = 'FINISH'
+            and LOCATE('PAPER', a.print_content) > 0
             and b.status not in
             and b.status not in
             <foreach item="item" collection="examDetailStatus" separator="," open="(" close=")" index="">
             <foreach item="item" collection="examDetailStatus" separator="," open="(" close=")" index="">
                 #{item}
                 #{item}