xiaofei 2 лет назад
Родитель
Сommit
0c196e5391

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

@@ -94,7 +94,7 @@ public interface ExamDetailMapper extends BaseMapper<ExamDetail> {
     @SuppressWarnings("MybatisXMapperMethodInspection")
     List<Map> listStudentByExamDetailCourseId(@Param("schoolId") Long schoolId, @Param("examDetailCourseId") Long examDetailCourseId, @Param("ticketNumber") String ticketNumber, @Param("type") String type);
 
-    Integer selectPaperCount(@Param("schoolId") Long schoolId,
+    String selectPaperCount(@Param("schoolId") Long schoolId,
                              @Param("printPlanId") Long printPlanId,
                              @Param("status") String status,
                              @Param("courseCode") String courseCode,

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

@@ -53,7 +53,7 @@ public interface ExamPrintPlanMapper extends BaseMapper<ExamPrintPlan> {
 
     IPage<ClientPrintStatisticsDto> listClientPrintStatistics(Page<ClientPrintStatisticsDto> page, @Param("schoolId") Long schoolId, @Param("printPlanId") String printPlanId, @Param("examPlace") String examPlace, @Param("examStartTime") Long examStartTime, @Param("examEndTime") Long examEndTime, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("orgId") Long orgId, @Param("examDetailStatus") String[] examDetailStatus);
 
-    ClientPrintStatisticsTotalDto clientStatisticsTotalData(@Param("schoolId") Long schoolId, @Param("printPlanId") String printPlanId, @Param("examPlace") String examPlace, @Param("examStartTime") Long examStartTime, @Param("examEndTime") Long examEndTime, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("orgId") Long orgId, @Param("examDetailStatus") String[] examDetailStatus);
+    ClientPrintStatisticsTotalDto clientStatisticsTotalData(@Param("schoolId") Long schoolId, @Param("printPlanId") Long printPlanId, @Param("examPlace") String examPlace, @Param("examStartTime") Long examStartTime, @Param("examEndTime") Long examEndTime, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("orgId") Long orgId, @Param("examDetailStatus") String[] examDetailStatus);
 
     List<PrintPlanBrief> listToClient(@Param("schoolId") Long schoolId, @Param("source") String source, @Param("module") String module, @Param("status") String[] status, @Param("orgId") Long orgId);
 }

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

@@ -42,7 +42,7 @@ public interface ClientService {
 
     IPage<ClientPrintStatisticsDto> listClientPrintStatistics(Long orgId, String printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber, Integer pageNumber, Integer pageSize);
 
-    ClientPrintStatisticsTotalDto clientStatisticsTotalData(Long orgId, String printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber);
+    ClientPrintStatisticsTotalDto clientStatisticsTotalData(Long orgId, Long printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber);
 
     void checkPrivilege(Long id);
 

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

@@ -242,4 +242,5 @@ public interface ExamDetailService extends IService<ExamDetail> {
     List<ExamDetailPdfDownloadDto> findPdfDownload(List<Long> ids);
 
     void dataDelete(Long id);
+
 }

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

@@ -90,7 +90,7 @@ public interface ExamPrintPlanService extends IService<ExamPrintPlan> {
 
     IPage<ClientPrintStatisticsDto> listClientPrintStatistics(Page<ClientPrintStatisticsDto> page, Long schoolId, String printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber, Long orgId);
 
-    ClientPrintStatisticsTotalDto clientStatisticsTotalData(Long orgId, String printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber);
+    ClientPrintStatisticsTotalDto clientStatisticsTotalData(Long orgId, Long printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber);
 
     void syncDataCloud(SyncDataParam syncDataParam);
 

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

@@ -610,7 +610,7 @@ public class ClientServiceImpl implements ClientService {
     }
 
     @Override
-    public ClientPrintStatisticsTotalDto clientStatisticsTotalData(Long orgId, String printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber) {
+    public ClientPrintStatisticsTotalDto clientStatisticsTotalData(Long orgId, Long printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber) {
         return examPrintPlanService.clientStatisticsTotalData(orgId, printPlanId, examPlace, examStartTime, examEndTime, courseCode, paperNumber);
     }
 

+ 6 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailServiceImpl.java

@@ -159,8 +159,12 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
 
         if (printTaskTotalDto != null) {
             // 试卷总计
-            Integer paperCount = this.baseMapper.selectPaperCount(schoolId, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, printHouseId, dpr);
-            printTaskTotalDto.setPaperCount(paperCount == null ? 0 : paperCount);
+            String paperNumberStrs = this.baseMapper.selectPaperCount(schoolId, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, printHouseId, dpr);
+            if (StringUtils.isNotBlank(paperNumberStrs)) {
+                String[] paperNumbers = paperNumberStrs.split(",");
+                Set<String> paperNumberSet = new HashSet<>(Arrays.asList(paperNumbers));
+                printTaskTotalDto.setPaperCount(paperNumberSet.size());
+            }
         }
         return printTaskTotalDto;
     }

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

@@ -442,10 +442,10 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
     }
 
     @Override
-    public ClientPrintStatisticsTotalDto clientStatisticsTotalData(Long orgId, String printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber) {
+    public ClientPrintStatisticsTotalDto clientStatisticsTotalData(Long orgId, Long printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
 //        Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
-        // 以下状态考场状态不可查询
+        // 以下考场状态不可查询
         String[] examDetailStatus = new String[]{ExamDetailStatusEnum.NEW.name(), PrintPlanStatusEnum.READY.name()};
         ClientPrintStatisticsTotalDto clientPrintStatisticsTotalDto = this.baseMapper.clientStatisticsTotalData(schoolId, printPlanId, examPlace, examStartTime, examEndTime, courseCode, paperNumber, orgId, examDetailStatus);
 

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

@@ -478,9 +478,9 @@
             and c.ticket_number >= #{ticketNumber}
         </if>
     </select>
-    <select id="selectPaperCount" resultType="java.lang.Integer">
+    <select id="selectPaperCount" resultType="java.lang.String">
         SELECT
-            COUNT(distinct c.paper_number, c.paper_type)
+            group_concat(distinct c.paper_number, c.paper_type)
         FROM
             exam_print_plan a
             JOIN

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

@@ -414,7 +414,7 @@
                 </if>
             </if>
             <if test="orgId != null">
-                AND b.print_house_id = #{orgId}
+                AND (b.print_house_id = #{orgId} or b.print_house_id is null)
             </if>
         </where>
     </select>
@@ -558,7 +558,7 @@
                 and b.exam_end_time &lt; #{examEndTime}
             </if>
             <if test="orgId != null">
-                AND b.print_house_id = #{orgId}
+                AND (b.print_house_id = #{orgId} or b.print_house_id is null)
             </if>
         </where>
     </select>

+ 1 - 1
distributed-print/src/main/java/com/qmth/distributed/print/api/ClientController.java

@@ -463,7 +463,7 @@ public class ClientController {
     @ApiOperation(value = "统计查询-汇总数据查询")
     @PostMapping("/print/statistics_total_data")
     public Result printStatisticsTotalData(@RequestParam("orgId") Long orgId,
-                                           @RequestParam(value = "printPlanId", required = false) String printPlanId,
+                                           @RequestParam(value = "printPlanId", required = false) Long printPlanId,
                                            @RequestParam(value = "examPlace", required = false) String examPlace,
                                            @RequestParam(value = "examStartTime", required = false) Long examStartTime,
                                            @RequestParam(value = "examEndTime", required = false) Long examEndTime,