wangliang 4 жил өмнө
parent
commit
87657fca1a

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

@@ -499,7 +499,7 @@ public class CommonServiceImpl implements CommonService {
     }
     }
 
 
     @Override
     @Override
-    public void checkData(Long schoolId, String courseCode, String paperNumber,SysUser user) throws IOException {
+    public void checkData(Long schoolId, String courseCode, String paperNumber, SysUser user) throws IOException {
         // 校验命题任务是否提交
         // 校验命题任务是否提交
         ExamTask examTask = examTaskService.getByCourseCodeAndPaperNumber(schoolId, courseCode, paperNumber);
         ExamTask examTask = examTaskService.getByCourseCodeAndPaperNumber(schoolId, courseCode, paperNumber);
         if (examTask != null && !examTask.getEnable()) {
         if (examTask != null && !examTask.getEnable()) {
@@ -515,12 +515,12 @@ public class CommonServiceImpl implements CommonService {
                     List<ExamDetailCourse> examDetailCourses = examDetailCourseService.listByExamDetailId(examDetail.getId());
                     List<ExamDetailCourse> examDetailCourses = examDetailCourseService.listByExamDetailId(examDetail.getId());
                     // 4.没有未完成的命题任务
                     // 4.没有未完成的命题任务
                     if (examDetailCourses.isEmpty()) {
                     if (examDetailCourses.isEmpty()) {
-                        Map<String, Object> map = tbTaskService.saveTask(TaskTypeEnum.CREATE_PDF, examDetail.getPrintPlanId(),user);
+                        Map<String, Object> map = tbTaskService.saveTask(TaskTypeEnum.CREATE_PDF, examDetail.getPrintPlanId(), user);
                         if (Objects.nonNull(examDetail.getId())) {
                         if (Objects.nonNull(examDetail.getId())) {
                             map.computeIfAbsent("examDetailId", v -> examDetail.getId());
                             map.computeIfAbsent("examDetailId", v -> examDetail.getId());
                         }
                         }
                         map.computeIfAbsent("schoolId", v -> schoolId);
                         map.computeIfAbsent("schoolId", v -> schoolId);
-                        asyncCreatePdfTempleteService.createPdf(map);
+                        asyncCreatePdfTempleteService.createPdf(map, null);
                     }
                     }
                 }
                 }
             }
             }
@@ -531,7 +531,7 @@ public class CommonServiceImpl implements CommonService {
     public Set<Long> listSubOrgIds() {
     public Set<Long> listSubOrgIds() {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         Long orgId = sysUser.getOrgId();
         Long orgId = sysUser.getOrgId();
-        if(orgId == null){
+        if (orgId == null) {
             return null;
             return null;
         }
         }
         List<OrgDto> orgDtos = sysOrgService.listOrgTree();
         List<OrgDto> orgDtos = sysOrgService.listOrgTree();

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

@@ -252,7 +252,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
             // 处理时间
             // 处理时间
             Long startTime = examinationResult.getExamStartTime();
             Long startTime = examinationResult.getExamStartTime();
             Long endTime = examinationResult.getExamEndTime();
             Long endTime = examinationResult.getExamEndTime();
-            Map<String,Object> dateMap = ConvertUtil.analyzeDateAndTime(startTime,endTime);
+            Map<String, Object> dateMap = ConvertUtil.analyzeDateAndTime(startTime, endTime);
             String date = String.valueOf(dateMap.get("date"));
             String date = String.valueOf(dateMap.get("date"));
             String time = String.valueOf(dateMap.get("time"));
             String time = String.valueOf(dateMap.get("time"));
             examinationResult.setExamDate(date);
             examinationResult.setExamDate(date);
@@ -336,7 +336,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
         if (Objects.nonNull(examDetail.getId())) {
         if (Objects.nonNull(examDetail.getId())) {
             map.computeIfAbsent("examDetailId", v -> detail.getId());
             map.computeIfAbsent("examDetailId", v -> detail.getId());
         }
         }
-        asyncCreatePdfTempleteService.createPdf(map);
+        asyncCreatePdfTempleteService.createPdf(map, null);
         return true;
         return true;
     }
     }
 
 
@@ -374,7 +374,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
             System.out.println("totalSubjects" + totalSubjects);
             System.out.println("totalSubjects" + totalSubjects);
             ExamDetail examDetail = new ExamDetail();
             ExamDetail examDetail = new ExamDetail();
             examDetail.setId(SystemConstant.getDbUuid());
             examDetail.setId(SystemConstant.getDbUuid());
-            examDetail.setPackageCode(convertUtil.getIncre("x","packageCode"));
+            examDetail.setPackageCode(convertUtil.getIncre("x", "packageCode"));
             examDetail.setSchoolId(Long.valueOf(String.valueOf(map.get("schoolId"))));
             examDetail.setSchoolId(Long.valueOf(String.valueOf(map.get("schoolId"))));
             examDetail.setPrintPlanId(Long.valueOf(String.valueOf(map.get("printPlanId"))));
             examDetail.setPrintPlanId(Long.valueOf(String.valueOf(map.get("printPlanId"))));
             examDetail.setPrintPlanName(String.valueOf(map.get("printPlanName")));
             examDetail.setPrintPlanName(String.valueOf(map.get("printPlanName")));
@@ -556,7 +556,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
         int index = 0;
         int index = 0;
         List<ExaminationExportDto> examinationExportDtoList = new ArrayList<>();
         List<ExaminationExportDto> examinationExportDtoList = new ArrayList<>();
         for (ExaminationResult examinationResult : examinationResultList) {
         for (ExaminationResult examinationResult : examinationResultList) {
-            index ++;
+            index++;
             ExaminationExportDto examinationExportDto = new ExaminationExportDto();
             ExaminationExportDto examinationExportDto = new ExaminationExportDto();
             examinationExportDto.setIndex((long) index);
             examinationExportDto.setIndex((long) index);
             examinationExportDto.setPrintPlanName(examinationResult.getPrintPlanName());
             examinationExportDto.setPrintPlanName(examinationResult.getPrintPlanName());
@@ -587,7 +587,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
         // 准备删除的考务-场次表id
         // 准备删除的考务-场次表id
         List<Long> examDetailIds = this.list(new QueryWrapper<ExamDetail>().lambda().eq(ExamDetail::getPrintPlanId, printPlanId))
         List<Long> examDetailIds = this.list(new QueryWrapper<ExamDetail>().lambda().eq(ExamDetail::getPrintPlanId, printPlanId))
                 .stream().map(ExamDetail::getId).collect(Collectors.toList());
                 .stream().map(ExamDetail::getId).collect(Collectors.toList());
-        if (examDetailIds.size() == 0){
+        if (examDetailIds.size() == 0) {
             return;
             return;
         }
         }
         // 删除exam_detail 表数据
         // 删除exam_detail 表数据
@@ -596,7 +596,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
         // 准备删除的考务-科目表id
         // 准备删除的考务-科目表id
         List<Long> examDetailCourseIds = examDetailCourseService.list(new QueryWrapper<ExamDetailCourse>().lambda().in(ExamDetailCourse::getExamDetailId, examDetailIds))
         List<Long> examDetailCourseIds = examDetailCourseService.list(new QueryWrapper<ExamDetailCourse>().lambda().in(ExamDetailCourse::getExamDetailId, examDetailIds))
                 .stream().map(ExamDetailCourse::getId).collect(Collectors.toList());
                 .stream().map(ExamDetailCourse::getId).collect(Collectors.toList());
-        if (examDetailCourseIds.size() == 0){
+        if (examDetailCourseIds.size() == 0) {
             return;
             return;
         }
         }
         // 删除exam_detail_course 表数据
         // 删除exam_detail_course 表数据
@@ -605,7 +605,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
         // 准备删除的考务-考生表id
         // 准备删除的考务-考生表id
         List<Long> examStudentIds = examStudentService.list(new QueryWrapper<ExamStudent>().lambda().in(ExamStudent::getExamDetailCourseId, examDetailCourseIds))
         List<Long> examStudentIds = examStudentService.list(new QueryWrapper<ExamStudent>().lambda().in(ExamStudent::getExamDetailCourseId, examDetailCourseIds))
                 .stream().map(ExamStudent::getId).collect(Collectors.toList());
                 .stream().map(ExamStudent::getId).collect(Collectors.toList());
-        if (examStudentIds.size() == 0){
+        if (examStudentIds.size() == 0) {
             return;
             return;
         }
         }
         // 删除exam_student 表数据
         // 删除exam_student 表数据

+ 8 - 9
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskDetailServiceImpl.java

@@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.distributed.print.business.bean.dto.ExamTaskDetailDto;
 import com.qmth.distributed.print.business.bean.dto.ExamTaskDetailDto;
-import com.qmth.distributed.print.business.bean.params.ExamCardParams;
 import com.qmth.distributed.print.business.bean.params.RelatePaperParam;
 import com.qmth.distributed.print.business.bean.params.RelatePaperParam;
 import com.qmth.distributed.print.business.entity.*;
 import com.qmth.distributed.print.business.entity.*;
 import com.qmth.distributed.print.business.enums.ExamDetailStatusEnum;
 import com.qmth.distributed.print.business.enums.ExamDetailStatusEnum;
@@ -16,15 +15,15 @@ import com.qmth.distributed.print.business.service.*;
 import com.qmth.distributed.print.business.templete.execute.AsyncCreatePdfTempleteService;
 import com.qmth.distributed.print.business.templete.execute.AsyncCreatePdfTempleteService;
 import com.qmth.distributed.print.business.util.ServletUtil;
 import com.qmth.distributed.print.business.util.ServletUtil;
 import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
 import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
-import org.apache.catalina.core.ApplicationContext;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import java.io.IOException;
 import java.io.IOException;
-import java.util.*;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
 /**
 /**
@@ -73,8 +72,8 @@ public class ExamTaskDetailServiceImpl extends ServiceImpl<ExamTaskDetailMapper,
 
 
         // 提交印刷的考场,不允许修改关联试卷
         // 提交印刷的考场,不允许修改关联试卷
         List<ExamDetail> examDetails = examDetailService.listByCourseCodeAndPaperNumber(examTask.getSchoolId(), examTask.getCourseCode(), examTask.getPaperNumber());
         List<ExamDetail> examDetails = examDetailService.listByCourseCodeAndPaperNumber(examTask.getSchoolId(), examTask.getCourseCode(), examTask.getPaperNumber());
-        examDetails = examDetails.stream().filter(m->!ExamDetailStatusEnum.NEW.equals(m.getStatus()) && !ExamDetailStatusEnum.READY.equals(m.getStatus())).collect(Collectors.toList());
-        if(!examDetails.isEmpty()){
+        examDetails = examDetails.stream().filter(m -> !ExamDetailStatusEnum.NEW.equals(m.getStatus()) && !ExamDetailStatusEnum.READY.equals(m.getStatus())).collect(Collectors.toList());
+        if (!examDetails.isEmpty()) {
             throw ExceptionResultEnum.ERROR.exception("有考场已开始打印,不能修改");
             throw ExceptionResultEnum.ERROR.exception("有考场已开始打印,不能修改");
         }
         }
 
 
@@ -89,12 +88,12 @@ public class ExamTaskDetailServiceImpl extends ServiceImpl<ExamTaskDetailMapper,
 
 
         // 重新生成pdf
         // 重新生成pdf
         List<ExamDetailCourse> examDetailCourses = examDetailCourseService.listDetailCourseByCourseCodeAndPaperNumber(examTask.getSchoolId(), examTask.getCourseCode(), examTask.getPaperNumber());
         List<ExamDetailCourse> examDetailCourses = examDetailCourseService.listDetailCourseByCourseCodeAndPaperNumber(examTask.getSchoolId(), examTask.getCourseCode(), examTask.getPaperNumber());
-        List<Long> examDetailCourseIds = examDetailCourses.stream().map(m->m.getId()).collect(Collectors.toList());
+        List<Long> examDetailCourseIds = examDetailCourses.stream().map(m -> m.getId()).collect(Collectors.toList());
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        Map<String, Object> map = tbTaskService.saveTask(TaskTypeEnum.CREATE_PDF, paperParam.getPrintPlanId(),sysUser);
+        Map<String, Object> map = tbTaskService.saveTask(TaskTypeEnum.CREATE_PDF, paperParam.getPrintPlanId(), sysUser);
         map.computeIfAbsent("examDetailCourseIds", v -> examDetailCourseIds);
         map.computeIfAbsent("examDetailCourseIds", v -> examDetailCourseIds);
         map.computeIfAbsent("paperType", v -> paperParam.getRelatePaperType());
         map.computeIfAbsent("paperType", v -> paperParam.getRelatePaperType());
-        asyncCreatePdfTempleteService.createPdf(map);
+        asyncCreatePdfTempleteService.createPdf(map, null);
         return true;
         return true;
     }
     }
 
 

+ 20 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/callback/CallbackCreatePdf.java

@@ -0,0 +1,20 @@
+package com.qmth.distributed.print.business.templete.callback;
+
+import java.util.Map;
+
+/**
+ * @Description: 创建pdf 回调
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2021/4/19
+ */
+public interface CallbackCreatePdf {
+
+    /**
+     * 创建pdf回调
+     *
+     * @param map
+     */
+    public void callback(Map<String, Object> map);
+}

+ 10 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/create/AsyncCreateTaskTemplete.java

@@ -1,5 +1,6 @@
 package com.qmth.distributed.print.business.templete.create;
 package com.qmth.distributed.print.business.templete.create;
 
 
+import com.qmth.distributed.print.business.templete.callback.CallbackCreatePdf;
 import com.qmth.distributed.print.business.templete.importData.AsyncImportTaskTemplete;
 import com.qmth.distributed.print.business.templete.importData.AsyncImportTaskTemplete;
 import com.qmth.distributed.print.common.util.Result;
 import com.qmth.distributed.print.common.util.Result;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
@@ -21,8 +22,16 @@ public abstract class AsyncCreateTaskTemplete extends AsyncImportTaskTemplete {
 
 
     public static final String BEGIN_TITLE = "->开始准备创建";
     public static final String BEGIN_TITLE = "->开始准备创建";
 
 
+    /**
+     * 创建pdf
+     *
+     * @param map
+     * @param callbackCreatePdf
+     * @return
+     * @throws IOException
+     */
     @Async
     @Async
-    public Result createPdf(Map<String, Object> map) throws IOException {
+    public Result createPdf(Map<String, Object> map, CallbackCreatePdf callbackCreatePdf) throws IOException {
         return null;
         return null;
     }
     }
 }
 }

+ 7 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/execute/AsyncCreatePdfTempleteService.java

@@ -5,6 +5,7 @@ import com.qmth.distributed.print.business.entity.TBTask;
 import com.qmth.distributed.print.business.enums.TaskResultEnum;
 import com.qmth.distributed.print.business.enums.TaskResultEnum;
 import com.qmth.distributed.print.business.enums.TaskStatusEnum;
 import com.qmth.distributed.print.business.enums.TaskStatusEnum;
 import com.qmth.distributed.print.business.templete.create.AsyncCreateTaskTemplete;
 import com.qmth.distributed.print.business.templete.create.AsyncCreateTaskTemplete;
+import com.qmth.distributed.print.business.templete.callback.CallbackCreatePdf;
 import com.qmth.distributed.print.business.templete.service.TaskLogicService;
 import com.qmth.distributed.print.business.templete.service.TaskLogicService;
 import com.qmth.distributed.print.common.contant.SpringContextHolder;
 import com.qmth.distributed.print.common.contant.SpringContextHolder;
 import com.qmth.distributed.print.common.contant.SystemConstant;
 import com.qmth.distributed.print.common.contant.SystemConstant;
@@ -17,6 +18,7 @@ import org.springframework.stereotype.Service;
 import java.io.IOException;
 import java.io.IOException;
 import java.text.MessageFormat;
 import java.text.MessageFormat;
 import java.util.Map;
 import java.util.Map;
+import java.util.Objects;
 import java.util.StringJoiner;
 import java.util.StringJoiner;
 
 
 /**
 /**
@@ -32,18 +34,16 @@ public class AsyncCreatePdfTempleteService extends AsyncCreateTaskTemplete {
 
 
     static final String OBJ_TITLE = "pdf数据";
     static final String OBJ_TITLE = "pdf数据";
 
 
-//    @Resource
-//    TaskLogicService taskLogicService;
-
     /**
     /**
      * 创建pdf
      * 创建pdf
      *
      *
      * @param map
      * @param map
+     * @param callbackCreatePdf
      * @return
      * @return
      * @throws IOException
      * @throws IOException
      */
      */
     @Override
     @Override
-    public Result createPdf(Map<String, Object> map) throws IOException {
+    public Result createPdf(Map<String, Object> map, CallbackCreatePdf callbackCreatePdf) throws IOException {
         TBTask tbTask = (TBTask) map.get(SystemConstant.TASK);
         TBTask tbTask = (TBTask) map.get(SystemConstant.TASK);
         StringJoiner stringJoinerSummary = new StringJoiner("\n").add(MessageFormat.format("{0}{1}{2}", FORMAT_TIME, BEGIN_TITLE, OBJ_TITLE));
         StringJoiner stringJoinerSummary = new StringJoiner("\n").add(MessageFormat.format("{0}{1}{2}", FORMAT_TIME, BEGIN_TITLE, OBJ_TITLE));
         tbTask.setStatus(TaskStatusEnum.RUNNING);
         tbTask.setStatus(TaskStatusEnum.RUNNING);
@@ -64,6 +64,9 @@ public class AsyncCreatePdfTempleteService extends AsyncCreateTaskTemplete {
         } finally {//生成txt文件
         } finally {//生成txt文件
             tbTask.setSummary(stringJoinerSummary.toString());
             tbTask.setSummary(stringJoinerSummary.toString());
             super.createTxt(tbTask);
             super.createTxt(tbTask);
+            if (Objects.nonNull(callbackCreatePdf)) {
+                callbackCreatePdf.callback(map);
+            }
         }
         }
         return ResultUtil.ok(map);
         return ResultUtil.ok(map);
     }
     }

+ 0 - 2
distributed-print/src/main/java/com/qmth/distributed/print/api/SysController.java

@@ -1,6 +1,5 @@
 package com.qmth.distributed.print.api;
 package com.qmth.distributed.print.api;
 
 
-import cn.hutool.core.codec.Base64Encoder;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.qmth.boot.api.annotation.Aac;
 import com.qmth.boot.api.annotation.Aac;
 import com.qmth.boot.api.annotation.BOOL;
 import com.qmth.boot.api.annotation.BOOL;
@@ -38,7 +37,6 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartFile;
-import sun.misc.BASE64Encoder;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import javax.validation.Valid;
 import javax.validation.Valid;

+ 4 - 4
distributed-print/src/main/java/com/qmth/distributed/print/api/SysUserController.java

@@ -72,9 +72,9 @@ public class SysUserController {
     @ApiOperation(value = "查询")
     @ApiOperation(value = "查询")
     @RequestMapping(value = "/list_customer", method = RequestMethod.POST)
     @RequestMapping(value = "/list_customer", method = RequestMethod.POST)
     public Result listCustomer(@RequestParam(value = "realName", required = false) String realName,
     public Result listCustomer(@RequestParam(value = "realName", required = false) String realName,
-                       @RequestParam(value = "enable", required = false) Boolean enable,
-                       @RequestParam(value = "pageNumber", required = true) Integer pageNumber,
-                       @RequestParam(value = "pageSize", required = true) Integer pageSize) {
+                               @RequestParam(value = "enable", required = false) Boolean enable,
+                               @RequestParam(value = "pageNumber", required = true) Integer pageNumber,
+                               @RequestParam(value = "pageSize", required = true) Integer pageSize) {
         IPage<UserDto> userDtos = sysUserService.listCustomer(realName, enable, pageNumber, pageSize);
         IPage<UserDto> userDtos = sysUserService.listCustomer(realName, enable, pageNumber, pageSize);
         return ResultUtil.ok(userDtos);
         return ResultUtil.ok(userDtos);
     }
     }
@@ -187,7 +187,7 @@ public class SysUserController {
 //            map.computeIfAbsent("examDetailId", v -> SystemConstant.convertIdToLong(examDetailId));
 //            map.computeIfAbsent("examDetailId", v -> SystemConstant.convertIdToLong(examDetailId));
 //        }
 //        }
 //        map.computeIfAbsent("schoolId", v -> schoolId);
 //        map.computeIfAbsent("schoolId", v -> schoolId);
-//        asyncCreatePdfTempleteService.createPdf(map);
+//        asyncCreatePdfTempleteService.createPdf(map, null);
 //        TBTask tbTask = Objects.nonNull(map.get(SystemConstant.TASK)) ? (TBTask) map.get(SystemConstant.TASK) : null;
 //        TBTask tbTask = Objects.nonNull(map.get(SystemConstant.TASK)) ? (TBTask) map.get(SystemConstant.TASK) : null;
 //        return Objects.nonNull(tbTask) ? ResultUtil.ok(new EditResult(tbTask.getId())) : ResultUtil.error("创建任务失败");
 //        return Objects.nonNull(tbTask) ? ResultUtil.ok(new EditResult(tbTask.getId())) : ResultUtil.error("创建任务失败");
 //    }
 //    }