浏览代码

Merge branch 'dev_v3.2.4' into dev_v3.2.5

xiaofei 2 年之前
父节点
当前提交
fe663ba530

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

@@ -125,11 +125,16 @@ public class ExamDetailCourseServiceImpl extends ServiceImpl<ExamDetailCourseMap
             if(sysOrgList.isEmpty()){
                 throw ExceptionResultEnum.ERROR.exception(String.format("未找到课程[%s(%s)]所属机构及上级机构", examTaskDto.getCourseName(), examTaskDto.getCourseCode()));
             }
-            SysOrg collegeOrg = sysOrgList.stream().filter(m->m.getParentId().equals(rootOrg.getId())).findFirst().orElseGet(null);
-            if(collegeOrg != null){
+            Optional<SysOrg> optionalSysOrg = sysOrgList.stream().filter(m->rootOrg.getId().equals(m.getParentId())).findFirst();
+            if(optionalSysOrg.isPresent()){
+                SysOrg collegeOrg = optionalSysOrg.get();
                 examTaskDto.setCollegeId(String.valueOf(collegeOrg.getId()));
                 examTaskDto.setCollegeCode(collegeOrg.getCode());
                 examTaskDto.setCollegeName(collegeOrg.getName());
+            } else {
+                examTaskDto.setCollegeId("-");
+                examTaskDto.setCollegeCode("-");
+                examTaskDto.setCollegeName("-");
             }
         }
         return examTaskDtos;

+ 5 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradePaperStructServiceImpl.java

@@ -106,12 +106,12 @@ public class GradePaperStructServiceImpl extends ServiceImpl<GradePaperStructMap
 
             List<ExamTask> examTaskList = examTaskService.list(new QueryWrapper<ExamTask>().lambda()
                     .eq(ExamTask::getSchoolId, schoolId)
-                    .eq(ExamTask::getExamId,examId)
+                    .eq(ExamTask::getExamId, examId)
                     .eq(ExamTask::getPaperNumber, paperNumber));
             if (Objects.isNull(examTaskList)) {
                 throw ExceptionResultEnum.ERROR.exception("没有找到试卷编号对应的命题任务");
             }
-            if (examTaskList.size() > 1){
+            if (examTaskList.size() > 1) {
                 throw ExceptionResultEnum.ERROR.exception("有多个考试任务异常");
             }
             ExamTask examTask = examTaskList.get(0);
@@ -168,7 +168,7 @@ public class GradePaperStructServiceImpl extends ServiceImpl<GradePaperStructMap
         // 验证批次分析试卷是否在计算
         gradeBatchPaperService.checkOperateAuth(schoolId, examId, paperNumber, paperType);
         // 检验结构正确性并构建分析试卷结构
-        List<GradePaperStruct> gradePaperStructList = this.checkAndBuildGradePaperStruct(datasource, paperNumber, paperType, paperName, requestUser);
+        List<GradePaperStruct> gradePaperStructList = this.checkAndBuildGradePaperStruct(datasource, examId, paperNumber, paperType, paperName, requestUser);
         // 删除旧的试卷结构
         this.remove(new QueryWrapper<GradePaperStruct>()
                 .lambda()
@@ -317,12 +317,13 @@ public class GradePaperStructServiceImpl extends ServiceImpl<GradePaperStructMap
      * @param requestUser 请求用户
      * @return 创建好的分析试卷结构
      */
-    private List<GradePaperStruct> checkAndBuildGradePaperStruct(List<GradePaperStructDatasource> datasource, String paperNumber, String paperType, String paperName, SysUser requestUser) {
+    private List<GradePaperStruct> checkAndBuildGradePaperStruct(List<GradePaperStructDatasource> datasource, Long examId, String paperNumber, String paperType, String paperName, SysUser requestUser) {
         Long schoolId = requestUser.getSchoolId();
         Long userId = requestUser.getId();
 
         return datasource.stream().flatMap(e -> {
             GradePaperStruct gradePaperStruct = new GradePaperStruct();
+            gradePaperStruct.setExamId(examId);
             gradePaperStruct.setSchoolId(schoolId);
             gradePaperStruct.setPaperNumber(paperNumber);
             gradePaperStruct.setPaperType(paperType);

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

@@ -165,7 +165,9 @@ public class OpenApiServiceImpl implements OpenApiService {
         }
 
         QueryWrapper<ExamTask> examTaskQueryWrapper = new QueryWrapper<>();
-        examTaskQueryWrapper.lambda().eq(ExamTask::getSchoolId, gradeBatchPaper.getSchoolId())
+        examTaskQueryWrapper.lambda()
+                .eq(ExamTask::getSchoolId, gradeBatchPaper.getSchoolId())
+                .eq(ExamTask::getExamId,gradeBatchPaper.getExamId())
                 .eq(ExamTask::getPaperNumber, gradeBatchPaper.getPaperNumber());
         ExamTask examTask = examTaskService.getOne(examTaskQueryWrapper);
         if (examTask == null) {

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

@@ -526,7 +526,7 @@ public class TaskLogicServiceImpl implements TaskLogicService {
                     if (Objects.nonNull(type) && Objects.equals(type.toUpperCase(), "SIGN")) {//签到表
                         createPdfUtil.createSignBook(templateId, basicSchool.getName(), examDetail, examStudentCourseDtoList, list[1], (Integer) jsonObjectVariable.get("backupCount"), examDetailCourseList, fileTempList);
                     } else if (Objects.nonNull(type) && Objects.equals(type.toUpperCase(), "PACKAGE")) {//卷袋贴
-                        createPdfUtil.createPaperPackage(templateId, basicSchool.getName(), examDetail, examStudentCourseDtoList, list[1], (Integer) jsonObjectVariable.get("backupCount"), examDetailCourseList, examPrintPlan.getExamId(), fileTempList);
+                        createPdfUtil.createPaperPackage(templateId, basicSchool.getName(), examDetail, examStudentCourseDtoList, list[1], examPrintPlan.getBackupCount(), (Integer) jsonObjectVariable.get("backupCount"), examDetailCourseList, examPrintPlan.getExamId(), fileTempList);
                     }
                 }
             }

+ 4 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/util/CreatePdfUtil.java

@@ -293,7 +293,7 @@ public class CreatePdfUtil {
      * @param examDetailCourseList
      * @param fileTempList
      */
-    public void createPaperPackage(Long templateId, String schoolName, ExamDetail examDetail, List<ExamStudentCourseDto> examStudentList, List<PdfDto> variablePdfList, Integer printCount, List<ExamDetailCourse> examDetailCourseList, Long examId, List<File> fileTempList) {
+    public void createPaperPackage(Long templateId, String schoolName, ExamDetail examDetail, List<ExamStudentCourseDto> examStudentList, List<PdfDto> variablePdfList, Integer backupCount, Integer printCount, List<ExamDetailCourse> examDetailCourseList, Long examId, List<File> fileTempList) {
         BasicTemplate basicTemplate = basicTemplateService.getById(templateId);
         if (Objects.isNull(basicTemplate)) {
             throw ExceptionResultEnum.ERROR.exception("印品数据有误");
@@ -417,13 +417,13 @@ public class CreatePdfUtil {
                     basicMap.put("name", name);
                     basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, paperNumbers));
                     basicPlate.add(basicMap);
-                } else if ("examPlace".equals(code)) {
+                } else if ("examPlace".equals(code) || "campusName".equals(code)) {
                     Map<String, String> basicMap = new HashMap<>();
                     basicMap.put("code", code);
                     basicMap.put("name", name);
                     basicMap.put("value", examDetail.getExamPlace());
                     basicPlate.add(basicMap);
-                } else if ("examRoom".equals(code)) {
+                } else if ("examRoom".equals(code) || "examClassroomName".equals(code)) {
                     Map<String, String> basicMap = new HashMap<>();
                     basicMap.put("code", code);
                     basicMap.put("name", name);
@@ -502,7 +502,7 @@ public class CreatePdfUtil {
         Map<String, String> basicMap1 = new HashMap<>();
         basicMap1.put("code", "paperCount");
         basicMap1.put("name", "试卷数量");
-        basicMap1.put("value", examStudentList.size() + " + " + printCount);
+        basicMap1.put("value", examStudentList.size() + " + " + backupCount);
         basicPlate.add(basicMap1);
 
         Map<String, String> basicMap2 = new HashMap<>();

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

@@ -282,7 +282,7 @@
     <select id="listPrintPlanForClient"
             resultType="com.qmth.distributed.print.business.bean.result.PrintPlanBrief">
         SELECT
-            epp.id, epp.name, epp.status
+            distinct epp.id, epp.name, epp.status
         FROM
             exam_print_plan epp
                 JOIN