Quellcode durchsuchen

Merge branch 'dev_v3.2.2' into dev_v3.2.3
mergei

wangliang vor 2 Jahren
Ursprung
Commit
4c76a15605
15 geänderte Dateien mit 125 neuen und 41 gelöschten Zeilen
  1. 4 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamDetailMapper.java
  2. 1 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamPrintPlanMapper.java
  3. 1 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ClientService.java
  4. 1 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamDetailService.java
  5. 1 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamPrintPlanService.java
  6. 1 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ClientServiceImpl.java
  7. 29 14
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailServiceImpl.java
  8. 2 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamPrintPlanServiceImpl.java
  9. 3 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java
  10. 4 7
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/PrintCommonServiceImpl.java
  11. 0 1
      distributed-print-business/src/main/resources/mapper/ExamDetailCourseMapper.xml
  12. 73 6
      distributed-print-business/src/main/resources/mapper/ExamDetailMapper.xml
  13. 4 3
      distributed-print-business/src/main/resources/mapper/ExamPrintPlanMapper.xml
  14. 0 1
      distributed-print-business/src/main/resources/mapper/ExamTaskDetailMapper.xml
  15. 1 1
      distributed-print/src/main/java/com/qmth/distributed/print/api/ClientController.java

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

@@ -9,6 +9,7 @@ import com.qmth.distributed.print.business.bean.dto.PrintTaskDto;
 import com.qmth.distributed.print.business.bean.dto.PrintTaskTotalDto;
 import com.qmth.distributed.print.business.bean.result.ExaminationDetailResult;
 import com.qmth.distributed.print.business.bean.result.ExaminationResult;
+import com.qmth.distributed.print.business.bean.result.SummarizedDataResult;
 import com.qmth.distributed.print.business.entity.ExamDetail;
 import com.qmth.distributed.print.business.entity.ExamDetailCourse;
 import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
@@ -94,7 +95,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,
@@ -115,4 +116,6 @@ public interface ExamDetailMapper extends BaseMapper<ExamDetail> {
      * @return
      */
     List<ExamDetailPdfDownloadDto> findPdfDownload(@Param("ids") List<Long> ids);
+
+    SummarizedDataResult findSummarizedData(@Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("printPlanIdList") List<Long> printPlanIdList, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("examPlace") String examPlace, @Param("examRoom") String examRoom, @Param("packageCode") String packageCode, @Param("startDate") Long startDate, @Param("endDate") Long endDate, @Param("dpr") DataPermissionRule dpr);
 }

+ 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);
     }
 

+ 29 - 14
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailServiceImpl.java

@@ -22,14 +22,8 @@ import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.bean.dto.MqDto;
 import com.qmth.teachcloud.common.bean.params.BasicStudentExtrasParam;
 import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.common.entity.BasicAttachment;
-import com.qmth.teachcloud.common.entity.BasicClazz;
-import com.qmth.teachcloud.common.entity.SysUser;
-import com.qmth.teachcloud.common.entity.TBTask;
-import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
-import com.qmth.teachcloud.common.enums.MqTagEnum;
-import com.qmth.teachcloud.common.enums.PdfTypeEnum;
-import com.qmth.teachcloud.common.enums.TaskTypeEnum;
+import com.qmth.teachcloud.common.entity.*;
+import com.qmth.teachcloud.common.enums.*;
 import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.util.ConvertUtil;
 import com.qmth.teachcloud.common.util.RedisUtil;
@@ -88,6 +82,9 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
     @Resource
     private BasicStudentService basicStudentService;
 
+    @Resource
+    private SysOrgService sysOrgService;
+
     @Resource
     TBTaskService tbTaskService;
 
@@ -159,8 +156,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;
     }
@@ -328,7 +329,9 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
     @Transactional(rollbackFor = Exception.class)
     @Override
     public SummarizedDataResult findSummarizedData(Long schoolId, Long semesterId, Long examId, List<Long> printPlanIdList, String courseCode, String paperNumber, String examPlace, String examRoom, String packageCode, Long startDate, Long endDate, DataPermissionRule dpr) {
-        IPage<ExaminationResult> page = this.findExaminationBriefPage(schoolId, semesterId, examId, printPlanIdList, courseCode, paperNumber, examPlace, examRoom, packageCode, startDate, endDate, SystemConstant.PAGE_NUMBER, SystemConstant.PAGE_SIZE, dpr);
+
+
+        /*IPage<ExaminationResult> page = this.findExaminationBriefPage(schoolId, semesterId, examId, printPlanIdList, courseCode, paperNumber, examPlace, examRoom, packageCode, startDate, endDate, SystemConstant.PAGE_NUMBER, SystemConstant.PAGE_SIZE, dpr);
         List<ExaminationResult> list = page.getRecords();
         int totalSubjects = 0;
         for (ExaminationResult examinationResult : list) {
@@ -339,7 +342,9 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
         summarizedDataResult.setSchoolId(schoolId);
         summarizedDataResult.setTotalSubjects(totalSubjects);
         summarizedDataResult.setPackageCount(list.size());
-        return summarizedDataResult;
+        return summarizedDataResult;*/
+
+        return this.baseMapper.findSummarizedData(schoolId, semesterId, examId, printPlanIdList, courseCode, paperNumber, examPlace, examRoom, packageCode, startDate, endDate, dpr);
     }
 
     @Transactional(rollbackFor = Exception.class)
@@ -359,9 +364,14 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
     @Override
     public List<String> findExamPlaceDatasource(String param, List<Long> printPlanIdList) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        SysOrg sysOrg = sysOrgService.getById(sysUser.getOrgId());
         Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
         QueryWrapper<ExamDetail> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(ExamDetail::getSchoolId, schoolId).in(ExamDetail::getOrgId, orgIds);
+        queryWrapper.lambda().eq(ExamDetail::getSchoolId, schoolId);
+        if (sysOrg != null && !OrgTypeEnum.PRINTING_HOUSE.equals(sysOrg.getType())) {
+            queryWrapper.lambda().in(ExamDetail::getOrgId, orgIds);
+        }
         if (StringUtils.isNotBlank(param)) {
             queryWrapper.lambda().like(ExamDetail::getExamPlace, SystemConstant.translateSpecificSign(param));
         }
@@ -376,9 +386,14 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
     @Override
     public List<String> findExamRoomDatasource(String param, List<Long> printPlanIdList) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        SysOrg sysOrg = sysOrgService.getById(sysUser.getOrgId());
         Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
         QueryWrapper<ExamDetail> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(ExamDetail::getSchoolId, schoolId).in(ExamDetail::getOrgId, orgIds);
+        queryWrapper.lambda().eq(ExamDetail::getSchoolId, schoolId);
+        if (sysOrg != null && !OrgTypeEnum.PRINTING_HOUSE.equals(sysOrg.getType())) {
+            queryWrapper.lambda().in(ExamDetail::getOrgId, orgIds);
+        }
         if (StringUtils.isNotBlank(param)) {
             queryWrapper.lambda().like(ExamDetail::getExamRoom, SystemConstant.translateSpecificSign(param));
         }

+ 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);
 

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

@@ -251,12 +251,14 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
     @Override
     public List<String> listPaperNumber(String param, List<Long> printPlanIdList) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        SysOrg sysOrg = sysOrgService.getById(sysUser.getOrgId());
         Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
         if (printPlanIdList.size() == 0) {
             // 查询命题任务中的试卷编号
             QueryWrapper<ExamTask> queryWrapperExamTask = new QueryWrapper<>();
             queryWrapperExamTask.lambda().eq(ExamTask::getSchoolId, schoolId);
-            if (orgIds.size() > 0) {
+            if (sysOrg != null && !OrgTypeEnum.PRINTING_HOUSE.equals(sysOrg.getType()) && orgIds.size() > 0) {
                 queryWrapperExamTask.lambda().in(ExamTask::getOrgId, orgIds);
             }
             List<String> list = new ArrayList<>();

+ 4 - 7
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/PrintCommonServiceImpl.java

@@ -656,6 +656,7 @@ public class PrintCommonServiceImpl implements PrintCommonService {
     public List<BasicCourse> list(String param, List<Long> printPlanIdList, Long teachingRoomId) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
+        SysOrg sysOrg = sysOrgService.getById(requestUser.getOrgId());
         Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(teachingRoomId);
 //        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId, requestUser.getId(), ServletUtil.getRequest().getServletPath());
         /*if (Objects.nonNull(teachingRoomId)) {
@@ -666,14 +667,10 @@ public class PrintCommonServiceImpl implements PrintCommonService {
         if (CollectionUtils.isEmpty(printPlanIdList)) {
             QueryWrapper<BasicCourse> queryWrapper = new QueryWrapper<>();
             queryWrapper.lambda().eq(BasicCourse::getSchoolId, schoolId)
-                    .eq(BasicCourse::getEnable, true)
-                    .in(BasicCourse::getTeachingRoomId, orgIds);
-            /*if (SystemConstant.longNotNull(dpr.getRequestUserId())) {
-                queryWrapper.lambda().eq(BasicCourse::getCreateId, dpr.getRequestUserId());
+                    .eq(BasicCourse::getEnable, true);
+            if (sysOrg != null && !OrgTypeEnum.PRINTING_HOUSE.equals(sysOrg.getType())) {
+                queryWrapper.lambda().in(BasicCourse::getTeachingRoomId, orgIds);
             }
-            if (dpr.getOrgIdSet() != null && dpr.getOrgIdSet().size() > 0) {
-                queryWrapper.lambda().in(BasicCourse::getOrgId, dpr.getOrgIdSet());
-            }*/
             if (StringUtils.isNotBlank(param)) {
                 queryWrapper.lambda().and(i -> i.like(BasicCourse::getCode, SystemConstant.translateSpecificSign(param))
                         .or().like(BasicCourse::getName, SystemConstant.translateSpecificSign(param)));

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

@@ -163,7 +163,6 @@
              exam_detail c ON b.exam_detail_id = c.id
                  LEFT JOIN
              exam_task et ON b.school_id = et.school_id
-                 and b.course_code = et.course_code
                  and b.paper_number = et.paper_number
                 LEFT JOIN
             sys_user su ON b.sync_user_id = su.id

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

@@ -160,7 +160,6 @@
         exam_detail det
         INNER JOIN
         exam_detail_course cou ON det.id = cou.exam_detail_id
-        AND det.school_id = cou.school_id
         LEFT JOIN
         sys_user b on det.create_id = b.id
         LEFT JOIN
@@ -254,13 +253,10 @@
             exam_student stu
                 INNER JOIN
             exam_detail_course cou ON stu.exam_detail_course_id = cou.id
-                AND stu.school_id = cou.school_id
                 INNER JOIN
             exam_detail det ON cou.exam_detail_id = det.id
-                AND stu.school_id = det.school_id
                 LEFT JOIN
             exam_task et on cou.school_id = et.school_id
-                AND cou.course_code = et.course_code
                 AND cou.paper_number = et.paper_number
                 LEFT JOIN
             sys_user b on det.create_id = b.id
@@ -478,9 +474,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
@@ -572,4 +568,75 @@
             edc.exam_detail_id
         order by bs.name
     </select>
+    <select id="findSummarizedData"
+            resultType="com.qmth.distributed.print.business.bean.result.SummarizedDataResult">
+        SELECT
+        det.school_id schoolId,
+        sum(ifnull(det.total_subjects, 0)) AS totalSubjects,
+        count(det.package_code) AS packageCount,
+        GROUP_CONCAT(cou.course_code) AS courseCodes,
+        GROUP_CONCAT(cou.paper_number) AS paperNumbers
+        FROM
+        exam_detail det
+        INNER JOIN
+        exam_detail_course cou ON det.id = cou.exam_detail_id
+        LEFT JOIN
+        exam_print_plan epp on epp.id = det.print_plan_id
+        LEFT JOIN
+        basic_exam be on be.id = epp.exam_id
+        LEFT JOIN
+        basic_semester bs on bs.id = be.semester_id
+        <where>
+            <if test="schoolId != null and schoolId > 0">
+                AND det.school_id = #{schoolId}
+            </if>
+            <if test="printPlanIdList != null and printPlanIdList != '' and printPlanIdList.size() > 0">
+                AND det.print_plan_id IN
+                <foreach collection="printPlanIdList" item="item" index="index" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="examPlace != null and examPlace != ''">
+                AND det.exam_place = #{examPlace}
+            </if>
+            <if test="examRoom != null and examRoom != ''">
+                AND det.exam_room = #{examRoom}
+            </if>
+            <if test="packageCode != null and packageCode != ''">
+                AND det.package_code = #{packageCode}
+            </if>
+            <if test="startDate != null and startDate > 0">
+                AND det.exam_start_time >= #{startDate}
+            </if>
+            <if test="endDate != null and endDate > 0">
+                AND #{endDate} >= det.exam_end_time
+            </if>
+            <if test="semesterId != null and semesterId != ''">
+                AND bs.id = #{semesterId}
+            </if>
+            <if test="examId != null and examId != ''">
+                AND be.id = #{examId}
+            </if>
+            <if test="dpr != null">
+                <if test="dpr.requestUserId != null">
+                    AND det.create_id = #{dpr.requestUserId}
+                </if>
+                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
+                    AND det.org_id IN
+                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
+            </if>
+        </where>
+        GROUP BY det.school_id
+        <trim prefix="having" suffixOverrides="and">
+            <if test="courseCode != null and courseCode != ''">
+                find_in_set(#{courseCode},courseCodes) and
+            </if>
+            <if test="paperNumber != null and paperNumber != ''">
+                find_in_set(#{paperNumber},paperNumbers) and
+            </if>
+        </trim>
+    </select>
 </mapper>

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

@@ -140,7 +140,7 @@
         FROM
         exam_print_plan a
         LEFT JOIN
-            basic_exam be on a.school_id = be.school_id and a.exam_id = be.id
+            basic_exam be on a.exam_id = be.id
         LEFT JOIN
         sys_user b on a.create_id = b.id
         <where>
@@ -345,6 +345,7 @@
                 c.print_plan_id,
                 GROUP_CONCAT(CONCAT(a.course_name, '(', a.course_code, ')')) courseNameCode,
                 GROUP_CONCAT(CONCAT(a.paper_number, ':', a.paper_type)) paperType,
+                GROUP_CONCAT(a.paper_number) paperNumber,
                 GROUP_CONCAT(IFNULL(a.paper_pages_a3, 0) + IFNULL(a.card_pages_a3, 0)) singlePagesA3,
                 SUM(CASE b.is_download
                     WHEN true THEN 0
@@ -414,7 +415,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 +559,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>

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

@@ -60,7 +60,6 @@
         GROUP BY a.school_id , a.print_plan_id , a.print_plan_name , b.paper_number , b.course_code , b.course_name , b.paper_type) a
             LEFT JOIN
         exam_task c ON a.school_id = c.school_id
-            AND a.course_code = c.course_code
             AND a.paper_number = c.paper_number
             LEFT JOIN
         exam_task_detail d ON c.id = d.exam_task_id

+ 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,