Browse Source

3.3.1 update

xiaofei 1 năm trước cách đây
mục cha
commit
0d6ae7f638

+ 2 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/TBTaskPdfService.java

@@ -36,4 +36,6 @@ public interface TBTaskPdfService extends IService<TBTaskPdf> {
     IPage<TaskPdfResult> pageData(Page<TaskPdfResult> page, Long examId, String printPlanId, String courseCode, String paperNumber, TaskStatusEnum status, TaskResultEnum result, String examPlace, String examRoom, Long examStartTime, Long examEndTime);
 
     List<TBTaskPdf> listWaitingTask();
+
+    boolean countByPrintPlanIdAndEntityId(Long schoolId, Long printPlanId);
 }

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

@@ -366,25 +366,25 @@ public class ClientServiceImpl implements ClientService {
 
                     // 备用题卡
                     List<ClientPrintBackupDataDto> cardBackupList = new ArrayList<>();
-                    for (Map<String, Object> examDetailCours : examDetailCourses) {
-                        String attachmentIds = examDetailCours.get("cardAttachmentIds").toString();
-                        if (StringUtils.isBlank(attachmentIds)) {
-                            throw ExceptionResultEnum.ERROR.exception("备用题卡未生成");
-                        }
-                        JSONObject jsonObject = JSONObject.parseObject(attachmentIds);
-                        List<Map> backupCards = JSONObject.parseArray(JSONObject.toJSONString(jsonObject.get("card")), Map.class);
-                        for (Map backupCard : backupCards) {
-                            ClientPrintBackupDataDto clientPrintBackupDataDto = new ClientPrintBackupDataDto();
-                            clientPrintBackupDataDto.setCourseCode(examDetailCours.get("courseCode").toString());
-                            clientPrintBackupDataDto.setCourseName(examDetailCours.get("courseName").toString());
-                            clientPrintBackupDataDto.setPaperNumber(examDetailCours.get("paperNumber").toString());
-                            clientPrintBackupDataDto.setPaperType(backupCard.get("name").toString());
-                            Map<String, String> urlMap = teachcloudCommonService.filePreviewByAttachmentId(Long.valueOf(backupCard.get("attachmentId").toString()), false);
-                            clientPrintBackupDataDto.setMd5(urlMap.get("md5"));
-                            clientPrintBackupDataDto.setUrl(urlMap.get("url"));
-                            cardBackupList.add(clientPrintBackupDataDto);
-                        }
-                    }
+//                    for (Map<String, Object> examDetailCours : examDetailCourses) {
+//                        String attachmentIds = examDetailCours.get("cardAttachmentIds").toString();
+//                        if (StringUtils.isBlank(attachmentIds)) {
+//                            throw ExceptionResultEnum.ERROR.exception("备用题卡未生成");
+//                        }
+//                        JSONObject jsonObject = JSONObject.parseObject(attachmentIds);
+//                        List<Map> backupCards = JSONObject.parseArray(JSONObject.toJSONString(jsonObject.get("card")), Map.class);
+//                        for (Map backupCard : backupCards) {
+//                            ClientPrintBackupDataDto clientPrintBackupDataDto = new ClientPrintBackupDataDto();
+//                            clientPrintBackupDataDto.setCourseCode(examDetailCours.get("courseCode").toString());
+//                            clientPrintBackupDataDto.setCourseName(examDetailCours.get("courseName").toString());
+//                            clientPrintBackupDataDto.setPaperNumber(examDetailCours.get("paperNumber").toString());
+//                            clientPrintBackupDataDto.setPaperType(backupCard.get("name").toString());
+//                            Map<String, String> urlMap = teachcloudCommonService.filePreviewByAttachmentId(Long.valueOf(backupCard.get("attachmentId").toString()), false);
+//                            clientPrintBackupDataDto.setMd5(urlMap.get("md5"));
+//                            clientPrintBackupDataDto.setUrl(urlMap.get("url"));
+//                            cardBackupList.add(clientPrintBackupDataDto);
+//                        }
+//                    }
                     backupMap.put("card", cardBackupList);
                 }
                 detailMap.put("backup", backupMap);

+ 8 - 13
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -116,6 +116,8 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
     @Resource
     TBTaskService tbTaskService;
     @Resource
+    private TBTaskPdfService tbTaskPdfService;
+    @Resource
     private ExamTaskPaperLogService examTaskPaperLogService;
     @Resource
     AsyncPaperReviewPdfExportService asyncPaperReviewPdfExportService;
@@ -146,8 +148,6 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
     @Resource
     TFFlowJoinService tfFlowJoinService;
     @Resource
-    CreatePdfUtil createPdfUtil;
-    @Resource
     CreatePdfNewUtil createPdfNewUtil;
     @Resource
     BasicPrintConfigService basicPrintConfigService;
@@ -162,16 +162,10 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
     @Resource
     BasicSemesterService basicSemesterService;
     @Resource
-    TeachStudentService teachStudentService;
-    @Resource
-    TeachClazzService teachClazzService;
-    @Resource
     BasicStudentService basicStudentService;
     @Resource
     BasicClazzService basicClazzService;
     @Resource
-    TeachCourseService teachCourseService;
-    @Resource
     private BasicRoleDataPermissionService basicRoleDataPermissionService;
     @Resource
     private BasicOperationLogService basicOperationLogService;
@@ -974,6 +968,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
     public void checkDataByExamination(Long printPlanId, List<Long> examDetailIdList, SysUser user) {
         Set<String> stringSet = new HashSet<>();
         ExamPrintPlan examPrintPlan = examPrintPlanService.getById(printPlanId);
+        List<ExamDetail> examDetailList = new ArrayList<>();
         for (Long examDetailId : examDetailIdList) {
             ExamDetail examDetail = examDetailService.getById(examDetailId);
             if (Objects.isNull(examDetail)) {
@@ -1016,6 +1011,8 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                     stringSet.add(String.format("课程[%s(%s)],试卷编号[%s]的" + ExceptionResultEnum.EXAM_TASK_ENABLE.getMessage(), courseName, courseCode, paperNumber));
                 }
             }
+
+            examDetailList.add(examDetail);
         }
 
         // 有异常抛出
@@ -1023,11 +1020,9 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             throw ExceptionResultEnum.ERROR.exception(String.join(";\r\n", stringSet));
         }
 
-        for (Long examDetailId : examDetailIdList) {
-            TbTaskDetailResult tbTaskDetailResult = examDetailCourseService.getByExamDetailId(examDetailId);
-            Map<String, Object> map = tbTaskService.saveTask(tbTaskDetailResult, TaskTypeEnum.CREATE_PDF, printPlanId, user, examDetailId);
-            MqDto mqDto = new MqDto(MqTagEnum.PDF.getCode(), map, String.valueOf(map.get(SystemConstant.TB_TASK_ID)));
-            redisUtil.sendMessage(mqDto.getTopic(), mqDto);
+        for (ExamDetail examDetail : examDetailList) {
+            TbTaskDetailResult tbTaskDetailResult = examDetailCourseService.getByExamDetailId(examDetail.getId());
+            tbTaskPdfService.saveTask(tbTaskDetailResult, TaskTypeEnum.CREATE_PDF, examDetail.getPrintPlanId(), user, examDetail.getId());
         }
     }
 

+ 15 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TBTaskPdfServiceImpl.java

@@ -16,6 +16,7 @@ import com.qmth.teachcloud.common.bean.result.TaskPdfResult;
 import com.qmth.teachcloud.common.bean.result.TbTaskDetailResult;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.SysUser;
+import com.qmth.teachcloud.common.entity.TBTask;
 import com.qmth.teachcloud.common.enums.*;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import org.apache.commons.lang3.StringUtils;
@@ -24,6 +25,7 @@ import org.springframework.stereotype.Service;
 import java.text.MessageFormat;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 import java.util.StringJoiner;
 
 /**
@@ -107,4 +109,17 @@ public class TBTaskPdfServiceImpl extends ServiceImpl<TBTaskPdfMapper, TBTaskPdf
                 .orderByAsc(TBTaskPdf::getId);
         return this.list(queryWrapper);
     }
+
+    @Override
+    public boolean countByPrintPlanIdAndEntityId(Long schoolId, Long printPlanId) {
+        QueryWrapper<TBTaskPdf> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().ne(TBTaskPdf::getStatus, TaskStatusEnum.FINISH);
+        if (Objects.nonNull(schoolId)) {
+            queryWrapper.lambda().eq(TBTaskPdf::getSchoolId, schoolId);
+        }
+        if (Objects.nonNull(printPlanId)) {
+            queryWrapper.lambda().eq(TBTaskPdf::getPrintPlanId, printPlanId);
+        }
+        return this.count(queryWrapper) == 0;
+    }
 }

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

@@ -90,7 +90,6 @@ public class TaskLogicServiceImpl implements TaskLogicService {
     ExamTaskDetailService examTaskDetailService;
     @Resource
     ExamCardService examCardService;
-
     @Resource
     ExamStudentService examStudentService;
     @Resource
@@ -104,7 +103,7 @@ public class TaskLogicServiceImpl implements TaskLogicService {
     @Resource
     CreatePdfUtil createPdfUtil;
     @Resource
-    TBTaskService tbTaskService;
+    TBTaskPdfService tbTaskPdfService;
     @Resource
     BasicCardRuleService basicCardRuleService;
     @Autowired
@@ -643,17 +642,9 @@ public class TaskLogicServiceImpl implements TaskLogicService {
             throw ExceptionResultEnum.ERROR.exception("印刷计划不存在");
         }
 
-//        ExcelReader excelReader = ExcelReader.create(ExcelType.XLS, inputStream, 1);
-//        List<DataMap> dataMapList = excelReader.getDataMapList();
-//
-//
-//        if (dataMapList.size() > 0) {
-//            return null;
-//        }
-
         String printPlanName = examPrintPlan.getName();
-        if (!tbTaskService.countByPrintPlanIdAndEntityId(schoolId, printPlanId, null)) {
-            throw ExceptionResultEnum.ERROR.exception("印刷计划[" + printPlanName + "]正在生成pdf文件,无法导入考务数据");
+        if (!tbTaskPdfService.countByPrintPlanIdAndEntityId(schoolId, printPlanId)) {
+            throw ExceptionResultEnum.ERROR.exception("印刷计划[" + printPlanName + "]正在生成PDF文件,无法导入考务数据");
         }
         PrintPlanStatusEnum printPlanStatus = examPrintPlan.getStatus();
         if (PrintPlanStatusEnum.NEW != printPlanStatus && PrintPlanStatusEnum.READY != printPlanStatus) {