xiaofei 2 lat temu
rodzic
commit
418684db6b
34 zmienionych plików z 66 dodań i 204 usunięć
  1. 12 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamDetail.java
  2. 0 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/ExamDetailStatusEnum.java
  3. 1 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/PrintPlanStatusEnum.java
  4. 0 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamPrintPlanService.java
  5. 0 21
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicExamRuleServiceImpl.java
  6. 5 5
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailServiceImpl.java
  7. 1 10
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamPrintPlanServiceImpl.java
  8. 0 3
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskDetailServiceImpl.java
  9. 1 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java
  10. 5 13
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/impl/TaskLogicServiceImpl.java
  11. 21 0
      distributed-print-business/src/main/resources/db/log/脚本-xiaof.sql
  12. 0 2
      distributed-print-business/src/main/resources/mapper/ExamDetailCourseMapper.xml
  13. 0 4
      distributed-print-business/src/main/resources/mapper/ExamPrintPlanMapper.xml
  14. 3 1
      distributed-print/src/main/java/com/qmth/distributed/print/api/BasicExamRuleController.java
  15. 2 16
      distributed-print/src/main/java/com/qmth/distributed/print/api/ExamPrintPlanController.java
  16. 1 1
      distributed-print/src/main/java/com/qmth/distributed/print/api/SysController.java
  17. 2 9
      distributed-print/src/main/java/com/qmth/distributed/print/api/TBTaskController.java
  18. BIN
      distributed-print/src/main/resources/temps/course.xlsx
  19. BIN
      distributed-print/src/main/resources/temps/examStatistics.xlsx
  20. BIN
      distributed-print/src/main/resources/temps/examTask.xlsx
  21. BIN
      distributed-print/src/main/resources/temps/examTaskStudent.xlsx
  22. BIN
      distributed-print/src/main/resources/temps/org.xlsx
  23. BIN
      distributed-print/src/main/resources/temps/student.xlsx
  24. BIN
      distributed-print/src/main/resources/temps/teachClass.xlsx
  25. BIN
      distributed-print/src/main/resources/temps/user.xlsx
  26. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/contant/SystemConstant.java
  27. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/ImportTemplateEnum.java
  28. 2 2
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/TBTaskService.java
  29. 0 1
      teachcloud-common/src/main/resources/mapper/BasicClazzMapper.xml
  30. 1 5
      teachcloud-task/src/main/java/com/qmth/teachcloud/task/enums/JobEnum.java
  31. 0 30
      teachcloud-task/src/main/java/com/qmth/teachcloud/task/job/PrintPlanEndJob.java
  32. 0 1
      teachcloud-task/src/main/java/com/qmth/teachcloud/task/job/service/JobService.java
  33. 3 62
      teachcloud-task/src/main/java/com/qmth/teachcloud/task/job/service/impl/JobServiceImpl.java
  34. 4 9
      teachcloud-task/src/main/java/com/qmth/teachcloud/task/start/StartRunning.java

+ 12 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamDetail.java

@@ -129,6 +129,10 @@ public class ExamDetail extends BaseEntity implements Serializable {
     @TableField("backup_count")
     private Double backupCount;
 
+    @ApiModelProperty(value = "pdf生成异步任务ID(t_b_task)")
+    @TableField("task_id")
+    private Long taskId;
+
     public Long getSchoolId() {
         return schoolId;
     }
@@ -350,4 +354,12 @@ public class ExamDetail extends BaseEntity implements Serializable {
     public void setBackupCount(Double backupCount) {
         this.backupCount = backupCount;
     }
+
+    public Long getTaskId() {
+        return taskId;
+    }
+
+    public void setTaskId(Long taskId) {
+        this.taskId = taskId;
+    }
 }

+ 0 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/ExamDetailStatusEnum.java

@@ -14,7 +14,6 @@ public enum ExamDetailStatusEnum {
     READY("就绪"),
     WAITING("待打印"),
     PRINTING("印刷中"),
-    EXPIRED("已过期"),
     FINISH("已完成"),
     CANCEL("作废");
     private final String desc;

+ 1 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/PrintPlanStatusEnum.java

@@ -14,8 +14,7 @@ public enum PrintPlanStatusEnum {
     NEW("新建"),
     READY("就绪"),
     PRINTING("印刷中"),
-    PRINT_FINISH("印刷完成"),
-    END("已结束");
+    FINISH("印刷完成");
     private final String desc;
 
     PrintPlanStatusEnum(String desc) {

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

@@ -117,6 +117,4 @@ public interface ExamPrintPlanService extends IService<ExamPrintPlan> {
     IPage<SyncExamTaskDto> listSyncExamTask(Long semesterId, Long examId, Long orgId, String cardType, ExamTaskSyncStatusEnum syncStatus, String courseCode, String paperNumber, Long startTime, Long endTime, Integer pageNumber, Integer pageSize);
 
     void checkSyncMode(SyncDataParam syncDataParam);
-
-    boolean planFinish(Long id);
 }

+ 0 - 21
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicExamRuleServiceImpl.java

@@ -174,27 +174,6 @@ public class BasicExamRuleServiceImpl extends ServiceImpl<BasicExamRuleMapper, B
         }
         // 修改
         else {
-            // 查询未结束的印刷计划
-            QueryWrapper<ExamPrintPlan> queryWrapper = new QueryWrapper<>();
-            queryWrapper.lambda().eq(ExamPrintPlan::getSchoolId, schoolId).ne(ExamPrintPlan::getStatus, PrintPlanStatusEnum.END);
-            List<ExamPrintPlan> examPrintPlanList = examPrintPlanService.list(queryWrapper);
-            if (!CollectionUtils.isEmpty(examPrintPlanList)) {
-                BasicExamRule basicExamRule = this.getById(examRule.getId());
-                // 匹配扩展字段是否有变动
-                String oldExtends = basicExamRule.getExtendFields();
-                String newExtends = examRule.getExtendFields();
-                List<FieldsDto> oldFieldList = JSONObject.parseArray(oldExtends, FieldsDto.class);
-                List<FieldsDto> newFieldList = JSONObject.parseArray(newExtends, FieldsDto.class);
-                oldFieldList.sort(Comparator.comparing(FieldsDto::getCode));
-                newFieldList.sort(Comparator.comparing(FieldsDto::getCode));
-
-                // md5加密作比较
-                String md5OldExtends = DigestUtils.md5DigestAsHex(JSONObject.toJSONBytes(oldFieldList));
-                String newOldExtends = DigestUtils.md5DigestAsHex(JSONObject.toJSONBytes(newFieldList));
-                if (!md5OldExtends.equals(newOldExtends)) {
-                    throw ExceptionResultEnum.ERROR.exception("印刷计划未全部结束,不能修改考务规则");
-                }
-            }
             examRule.updateInfo(sysUser.getId());
             this.updateById(examRule);
         }

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

@@ -571,7 +571,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
             return Stream.of(map);
         }).distinct().collect(Collectors.toList());
 
-        List<ExamDetail> examDetailList = new ArrayList<>();
+        List<Long> examDetailIdList = new ArrayList<>();
         for (Map<String, Object> map : examDetailKeyList) {
             Long schoolId = Long.valueOf(String.valueOf(map.get("schoolId")));
             String examPlace = String.valueOf(map.get("examPlace"));
@@ -602,12 +602,12 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
             examDetail.setCreateId(sysUser.getId());
             examDetail.setBackupCount(examPrintPlan.getBackupCount());
             this.save(examDetail);
+            examDetailIdList.add(examDetail.getId());
 
             //组装exam_detail_course数据
             disposeExamDetailCourseData(examPrintPlan.getExamId(), examDetail.getId(), examDetailStudentList, sysUser);
         }
-        this.saveBatch(examDetailList);
-        return examDetailList.stream().map(ExamDetail::getId).distinct().collect(Collectors.toList());
+        return examDetailIdList;
     }
 
     /**
@@ -854,7 +854,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
             int count = this.count(examDetailQueryWrapper);
             if (count == 0) {
                 UpdateWrapper<ExamPrintPlan> examPrintPlanUpdateWrapper = new UpdateWrapper<>();
-                examPrintPlanUpdateWrapper.lambda().set(ExamPrintPlan::getStatus, PrintPlanStatusEnum.PRINT_FINISH).eq(ExamPrintPlan::getId, examDetail.getPrintPlanId());
+                examPrintPlanUpdateWrapper.lambda().set(ExamPrintPlan::getStatus, PrintPlanStatusEnum.FINISH).eq(ExamPrintPlan::getId, examDetail.getPrintPlanId());
                 examPrintPlanService.update(examPrintPlanUpdateWrapper);
             }
 
@@ -1009,7 +1009,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
             if (printingCount > 0) {
                 printPlanStatusEnum = PrintPlanStatusEnum.PRINTING;
             } else if (finishCount == 0) {
-                printPlanStatusEnum = PrintPlanStatusEnum.PRINT_FINISH;
+                printPlanStatusEnum = PrintPlanStatusEnum.FINISH;
             }
 
         }

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

@@ -133,7 +133,7 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
         List<PrintPlanBrief> list;
         if ("client".equals(source)) {
             SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-            String[] status = {PrintPlanStatusEnum.READY.name(), PrintPlanStatusEnum.PRINTING.name(), PrintPlanStatusEnum.PRINT_FINISH.name()};
+            String[] status = {PrintPlanStatusEnum.READY.name(), PrintPlanStatusEnum.PRINTING.name(), PrintPlanStatusEnum.FINISH.name()};
             list = this.baseMapper.listToClient(schoolId, source, module, status, sysUser.getOrgId());
         } else {
             Long privilegeId = ServletUtil.getCurrentPrivilegeId();
@@ -539,15 +539,6 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
         }
     }
 
-    @Override
-    public boolean planFinish(Long id) {
-        UpdateWrapper<ExamPrintPlan> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.lambda().set(ExamPrintPlan::getStatus, PrintPlanStatusEnum.END)
-                .eq(ExamPrintPlan::getId, id);
-        return this.update(updateWrapper);
-    }
-
-
     /**
      * 查找子机构
      *

+ 0 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskDetailServiceImpl.java

@@ -178,9 +178,6 @@ public class ExamTaskDetailServiceImpl extends ServiceImpl<ExamTaskDetailMapper,
     @Override
     public boolean updatePaper(RelatePaperParam paperParam) {
         ExamPrintPlan examPrintPlan = examPrintPlanService.getById(paperParam.getPrintPlanId());
-        if (PrintPlanStatusEnum.END.equals(examPrintPlan.getStatus())) {
-            throw ExceptionResultEnum.ERROR.exception("印刷计划已结束,不能修改");
-        }
         ExamTask examTask = examTaskService.getById(paperParam.getExamTaskId());
         // 校验课程关联考场,是否已经提交打印
         Boolean isCreate = printCommonService.checkExamDetailStatus(examTask.getSchoolId(), examPrintPlan.getId(), examTask.getCourseCode(), examTask.getPaperNumber());

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

@@ -227,7 +227,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             String cellPaperNumber = record.getPaperNumber();
             List<PrintPlanStatusEnum> printPlanStatusEnumList = new ArrayList<>();
             printPlanStatusEnumList.add(PrintPlanStatusEnum.PRINTING);
-            printPlanStatusEnumList.add(PrintPlanStatusEnum.PRINT_FINISH);
+            printPlanStatusEnumList.add(PrintPlanStatusEnum.FINISH);
             List<ExamPackageDetail> examPackageDetailDatasource = this.baseMapper.findExamPackageDetailByPaperNumber(schoolId, examId, record.getCourseCode(), cellPaperNumber, printPlanStatusEnumList);
             record.setApproveFormStatus(examPackageDetailDatasource.size() > 0);
         }
@@ -1083,7 +1083,6 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
         }
         if (judge) {
             Map<String, Object> map = tbTaskService.saveTask(TaskTypeEnum.CREATE_PDF, examDetail.getPrintPlanId(), user, examDetail.getId());
-            //            asyncCreatePdfTempleteService.createPdf(map, null);
             MqDto mqDto = new MqDto(MqTagEnum.PDF.getCode(), map, String.valueOf(map.get(SystemConstant.TB_TASK_ID)));
             redisUtil.sendMessage(mqDto.getTopic(), mqDto);
         }

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

@@ -507,8 +507,6 @@ public class TaskLogicServiceImpl implements TaskLogicService {
             TBTask tbTask = (TBTask) map.get(SystemConstant.TASK);
             SysUser sysUser = (SysUser) map.get(SystemConstant.USER);
             Long examDetailId = tbTask.getEntityId();
-            List<Long> examDetailIds = Objects.nonNull(map.get("examDetailIds")) ? (List<Long>) map.get("examDetailIds") : null;
-            List<Long> examDetailCourseIds = Objects.nonNull(map.get("examDetailCourseIds")) ? (List<Long>) map.get("examDetailCourseIds") : null;
             String paperTypeParam = Objects.nonNull(map.get("paperType")) ? (String) map.get("paperType") : null;
 
             //查询printPlan
@@ -523,12 +521,8 @@ public class TaskLogicServiceImpl implements TaskLogicService {
             //查询examDetail
             QueryWrapper<ExamDetail> examDetailQueryWrapper = new QueryWrapper<>();
             examDetailQueryWrapper.lambda().eq(ExamDetail::getSchoolId, sysUser.getSchoolId())
-                    .eq(ExamDetail::getPrintPlanId, tbTask.getPrintPlanId());
-            if (Objects.nonNull(examDetailId)) {
-                examDetailQueryWrapper.lambda().eq(ExamDetail::getId, examDetailId);
-            } else if (Objects.nonNull(examDetailIds)) {
-                examDetailQueryWrapper.lambda().in(ExamDetail::getId, examDetailIds);
-            }
+                    .eq(ExamDetail::getPrintPlanId, tbTask.getPrintPlanId())
+                    .eq(ExamDetail::getId, examDetailId);
             List<ExamDetail> examDetailList = examDetailService.list(examDetailQueryWrapper);
             if (Objects.isNull(examDetailList) || examDetailList.size() == 0) {
                 throw ExceptionResultEnum.EXAM_DETAIL_IS_NULL.exception();
@@ -538,11 +532,7 @@ public class TaskLogicServiceImpl implements TaskLogicService {
                 tbTask.setObjName(examDetail.getExamRoom() + SystemConstant.HYPHEN + examDetail.getExamPlace());
                 //查询examDetailCourse
                 QueryWrapper<ExamDetailCourse> examDetailCourseQueryWrapper = new QueryWrapper<>();
-                if (Objects.nonNull(examDetailCourseIds) && examDetailCourseIds.size() > 0) {
-                    examDetailCourseQueryWrapper.lambda().in(ExamDetailCourse::getId, examDetailCourseIds);
-                } else {
-                    examDetailCourseQueryWrapper.lambda().eq(ExamDetailCourse::getExamDetailId, examDetail.getId());
-                }
+                examDetailCourseQueryWrapper.lambda().eq(ExamDetailCourse::getExamDetailId, examDetail.getId());
                 List<ExamDetailCourse> examDetailCourseList = examDetailCourseService.list(examDetailCourseQueryWrapper);
 
                 // 考场内没有任务课程数据,直接跳过
@@ -586,6 +576,8 @@ public class TaskLogicServiceImpl implements TaskLogicService {
                     basicAttachmentList.add(attachment);
                 }
 
+                // 保存任务ID,方便后面重新生成
+                examDetail.setTaskId(tbTask.getId());
                 examDetailService.updateById(examDetail);
             }
             updateExamPrintPlan(basicPrintConfig, examPrintPlan);

+ 21 - 0
distributed-print-business/src/main/resources/db/log/脚本-xiaof.sql

@@ -192,6 +192,18 @@ DELETE FROM `sys_privilege` WHERE (`id` = '307');
 DELETE FROM `sys_privilege` WHERE (`id` = '140');
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('174', '导入模板下载', '/api/admin/common/download_import_template', 'URL', '149', '15', 'SYS', '1', '1', '1');
 UPDATE `sys_privilege` SET `url` = 'Assign' WHERE (`id` = '448');
+DELETE FROM `sys_privilege` WHERE (`id` = '870');
+DELETE FROM `sys_privilege` WHERE (`id` = '871');
+DELETE FROM `sys_privilege` WHERE (`id` = '46');
+UPDATE `sys_privilege` SET `parent_id` = '43' WHERE (`id` = '56');
+UPDATE `sys_privilege` SET `parent_id` = '43' WHERE (`id` = '57');
+UPDATE `sys_privilege` SET `parent_id` = '43' WHERE (`id` = '58');
+UPDATE `sys_privilege` SET `parent_id` = '43' WHERE (`id` = '105');
+DELETE FROM `sys_privilege` WHERE (`id` = '327');
+DELETE FROM `sys_privilege` WHERE (`id` = '328');
+DELETE FROM `sys_privilege` WHERE (`id` = '329');
+DELETE FROM `sys_privilege` WHERE (`id` = '330');
+
 
 
 ALTER TABLE `exam_card`
@@ -212,3 +224,12 @@ update exam_card a set a.jpg_attachment = (select b.jpg_attachment_info from exa
 ALTER TABLE `exam_task` DROP COLUMN `paper_number_id`;
 
 ALTER TABLE `exam_detail_course` DROP COLUMN `org_id`;
+
+update exam_print_plan set status = 'FINISH' where status = 'PRINT_FINISH';
+
+ALTER TABLE `exam_detail`
+    ADD COLUMN `task_id` BIGINT(20) NULL COMMENT 'pdf生成异步任务ID(t_b_task)' AFTER `backup_count`,
+CHANGE COLUMN `create_id` `create_id` BIGINT NULL DEFAULT NULL COMMENT '创建人' AFTER `t_b_task_id`,
+CHANGE COLUMN `create_time` `create_time` BIGINT NULL DEFAULT NULL COMMENT '创建时间' AFTER `create_id`,
+CHANGE COLUMN `update_id` `update_id` BIGINT NULL DEFAULT NULL COMMENT '更新人' AFTER `create_time`,
+CHANGE COLUMN `update_time` `update_time` BIGINT NULL DEFAULT NULL COMMENT '更新时间' AFTER `update_id`;

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

@@ -104,7 +104,6 @@
                 AND b.print_plan_id = #{printPlanId}
                 AND a.course_code = #{courseCode}
                 AND a.paper_number = #{paperNumber}
-                AND c.status != 'END'
     </select>
     <select id="listByAndCourseCodeAndPaperNumber" resultMap="BaseResultMap">
         SELECT
@@ -120,7 +119,6 @@
                 AND c.exam_id = #{examId}
                 AND a.course_code = #{courseCode}
                 AND a.paper_number = #{paperNumber}
-                AND c.status != 'END'
     </select>
     <select id="listSyncCourseByPrintPlanId"
             resultType="com.qmth.distributed.print.business.bean.dto.SyncExamTaskDto">

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

@@ -186,7 +186,6 @@
             <where>
                 and epp.school_id = #{schoolId}
                 and be.enable = true
-                AND epp.status != 'END'
                 and be.semester_id = #{semesterId}
                 <if test="examId != null">
                     and be.id = #{examId}
@@ -288,7 +287,6 @@
             <where>
                 and epp.school_id = #{schoolId}
                 and be.enable = true
-                AND epp.status != 'END'
                 and be.semester_id = #{semesterId}
                 <if test="examId != null">
                     and be.id = #{examId}
@@ -404,7 +402,6 @@
             <where>
                 and epp.school_id = #{schoolId}
                 and be.enable = true
-                AND epp.status != 'END'
                 and be.semester_id = #{semesterId}
                 <if test="examId != null">
                     and be.id = #{examId}
@@ -479,7 +476,6 @@
             <where>
                 and epp.school_id = #{schoolId}
                 and be.enable = true
-                AND epp.status != 'END'
                 and be.semester_id = #{semesterId}
                 <if test="examId != null">
                     and be.id = #{examId}

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

@@ -17,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
+
 /**
  * <p>
  * 通用规则 前端控制器
@@ -30,7 +32,7 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_BASIC + "/exam_rule")
 public class BasicExamRuleController {
 
-    @Autowired
+    @Resource
     private BasicExamRuleService basicExamRuleService;
 
     /**

+ 2 - 16
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamPrintPlanController.java

@@ -382,7 +382,7 @@ public class ExamPrintPlanController {
     /**
      * 批量撤回
      *
-     * @param ids id集合
+     * @param data id集合
      * @return
      */
     @ApiOperation(value = "印刷任务管理-撤回提交")
@@ -416,7 +416,7 @@ public class ExamPrintPlanController {
      */
     @ApiOperation(value = "印刷任务管理-查看印品")
     @RequestMapping(value = "/template_view", method = RequestMethod.POST)
-    public Result tempalteViewPDF(@RequestBody Map<String, Long> map) {
+    public Result templateViewPDF(@RequestBody Map<String, Long> map) {
         List<Map<String, String>> list = examPrintPlanService.tempalteView(map.get("printPlanId"));
         return ResultUtil.ok(list);
     }
@@ -466,19 +466,5 @@ public class ExamPrintPlanController {
         boolean isSuccess = examDetailService.taskNormal(examDetail);
         return ResultUtil.ok(isSuccess);
     }
-
-    /**
-     * 印刷任务结束
-     *
-     * @param id 计划id
-     * @return
-     */
-    @ApiOperation(value = "印刷任务管理-结束计划")
-    @RequestMapping(value = "/plan_finish", method = RequestMethod.POST)
-    @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.UPDATE)
-    public Result planFinish(@ApiParam(value = "计划ID") @RequestParam Long id) {
-        boolean isSuccess = examPrintPlanService.planFinish(id);
-        return ResultUtil.ok(isSuccess);
-    }
 }
 

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

@@ -858,7 +858,7 @@ public class SysController {
         ImportTemplateEnum importTemplateEnum = ImportTemplateEnum.valueOf(type);
         //注意getResource("")里面是空字符串
         String path = this.getClass().getClassLoader().getResource("").getPath();
-        File file = new File(path + File.separator + "file", importTemplateEnum.getTemplateName());
+        File file = new File(path + File.separator + "temps", importTemplateEnum.getTemplateName());
         if (file.exists()) {
             throw ExceptionResultEnum.ERROR.exception("模板文件下载失败");
         }

+ 2 - 9
distributed-print/src/main/java/com/qmth/distributed/print/api/TBTaskController.java

@@ -85,21 +85,14 @@ public class TBTaskController {
     @ApiOperation(value = "重新生成pdf")
     @RequestMapping(value = "/reset_create_pdf", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "重新生成pdf", response = EditResult.class)})
-    public Result resetCreatePdf(@ApiParam(value = "任务id", required = true) @RequestParam String id) throws IOException {
+    public Result resetCreatePdf(@ApiParam(value = "任务id", required = true) @RequestParam String id) {
         Long taskId = Long.parseLong(id);
         TBTask tbTask = tbTaskService.getById(taskId);
-//        tbTask.setVersion(new AtomicInteger(tbTask.getVersion()).incrementAndGet());
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         Map<String, Object> map = new HashMap<>();
-        if (Objects.nonNull(tbTask.getRemark())) {
-            JSONArray jsonArray = JSONArray.parseArray(tbTask.getRemark());
-            ArraysParams arraysParams = new ArraysParams(jsonArray.toArray(new Long[jsonArray.size()]));
-            map.computeIfAbsent("examDetailCourseIds", v -> Arrays.asList(arraysParams.getIds()));
-        }
         map.computeIfAbsent(SystemConstant.TASK, v -> tbTask);
         map.computeIfAbsent(SystemConstant.USER, v -> sysUser);
-        map.computeIfAbsent(SystemConstant.MANUAL, v -> true);
-//        asyncCreatePdfTempleteService.createPdf(map, null);
+        map.putIfAbsent(SystemConstant.MANUAL, true);
         MqDto mqDto = new MqDto(MqTagEnum.PDF.getCode(), map, String.valueOf(tbTask.getId()));
         redisUtil.sendMessage(mqDto.getTopic(), mqDto);
         return ResultUtil.ok(new EditResult());

BIN
distributed-print/src/main/resources/temps/course.xlsx


BIN
distributed-print/src/main/resources/temps/examStatistics.xlsx


BIN
distributed-print/src/main/resources/temps/examTask.xlsx


BIN
distributed-print/src/main/resources/temps/examTaskStudent.xlsx


BIN
distributed-print/src/main/resources/temps/org.xlsx


BIN
distributed-print/src/main/resources/temps/student.xlsx


BIN
distributed-print/src/main/resources/temps/teachClass.xlsx


BIN
distributed-print/src/main/resources/temps/user.xlsx


+ 1 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/contant/SystemConstant.java

@@ -245,7 +245,7 @@ public class SystemConstant {
     public static final String ID = "id";
     public static final String MODEL = "model";
     public static final String VERSION = "version";
-    public static final String VERSION_VALUE = "3.2.6.1";
+    public static final String VERSION_VALUE = "3.2.7.1";
     public static final String FLOW_ENTITY_ID = "flowEntityId";
     public static final String CUSTOM_FLOW_ID = "customFlowId";
     public static final String ACT_FLOW_ID = "actFlowId";

+ 1 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/ImportTemplateEnum.java

@@ -16,7 +16,7 @@ public enum ImportTemplateEnum {
     TEMPLATE_EXAM_TASK("examTask.xlsx", "命题任务导入模板.xlsx"),
     TEMPLATE_EXAM_TASK_STUDENT("examTaskStudent.xlsx", "命题任务学生导入模板.xlsx"),
     //    TEMPLATE_EXAM_STUDENT("","考务数据导入模板.xlsx"),// 不需要,有固定接口
-    TEMPLATE_EXAM_PLAN("examPlan.xlsx", "命题计划导入模板.xlsx");
+    TEMPLATE_EXAM_STATISTICS("examStatistics.xlsx", "命题计划导入模板.xlsx");
 
     ImportTemplateEnum(String templateName, String fileName) {
         this.templateName = templateName;

+ 2 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/TBTaskService.java

@@ -86,14 +86,14 @@ public interface TBTaskService extends IService<TBTask> {
      * @param sysUser
      * @return
      */
-    public Map<String, Object> saveTask(TaskTypeEnum taskTypeEnum, ArraysParams arraysParams, SysUser sysUser);
+    Map<String, Object> saveTask(TaskTypeEnum taskTypeEnum, ArraysParams arraysParams, SysUser sysUser);
 
     /**
      * 保存任务
      * @param taskTypeEnum 任务类型
      * @return 结果
      */
-    public Map<String,Object> saveTask(TaskTypeEnum taskTypeEnum);
+    Map<String,Object> saveTask(TaskTypeEnum taskTypeEnum);
 
     /**
      * 查询任务列表

+ 0 - 1
teachcloud-common/src/main/resources/mapper/BasicClazzMapper.xml

@@ -56,7 +56,6 @@
                     #{item}
                 </foreach>
             </if>
-            AND (epp.status != 'END' OR epp.status != '')
         </where>
     </select>
 </mapper>

+ 1 - 5
teachcloud-task/src/main/java/com/qmth/teachcloud/task/enums/JobEnum.java

@@ -29,11 +29,7 @@ public enum JobEnum {
 
     REDIS_MQ_JOB("学校信息同步定时任务"),
 
-    REDIS_MQ_JOB_GROUP("学校信息同步定时任务组"),
-
-    PRINT_PLAN_END_JOB_GROUP("学校信息同步定时任务组"),
-
-    PRINT_PLAN_END_JOB("学校信息同步定时任务");
+    REDIS_MQ_JOB_GROUP("学校信息同步定时任务组");
 
     private String title;
 

+ 0 - 30
teachcloud-task/src/main/java/com/qmth/teachcloud/task/job/PrintPlanEndJob.java

@@ -1,30 +0,0 @@
-package com.qmth.teachcloud.task.job;
-
-import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.task.job.service.JobService;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.scheduling.quartz.QuartzJobBean;
-
-import javax.annotation.Resource;
-
-/**
- *  考试结束后印刷计划状态个性为END(每天0点)
- */
-public class PrintPlanEndJob extends QuartzJobBean {
-    private final static Logger log = LoggerFactory.getLogger(PrintPlanEndJob.class);
-
-    @Resource
-    JobService jobService;
-
-    @Override
-    protected void executeInternal(JobExecutionContext jobExecutionContext) {
-        try {
-            jobService.updatePrintPlanStatus();
-        } catch (Exception e) {
-            log.error(SystemConstant.LOG_ERROR, e);
-        }
-    }
-}

+ 0 - 1
teachcloud-task/src/main/java/com/qmth/teachcloud/task/job/service/JobService.java

@@ -45,5 +45,4 @@ public interface JobService {
      */
     void machineHeart();
 
-    void updatePrintPlanStatus();
 }

+ 3 - 62
teachcloud-task/src/main/java/com/qmth/teachcloud/task/job/service/impl/JobServiceImpl.java

@@ -1,33 +1,22 @@
 package com.qmth.teachcloud.task.job.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.qmth.boot.redis.uid.RedisMachineService;
-import com.qmth.distributed.print.business.entity.ExamDetail;
-import com.qmth.distributed.print.business.entity.ExamPrintPlan;
-import com.qmth.distributed.print.business.enums.ExamDetailStatusEnum;
-import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
-import com.qmth.distributed.print.business.service.*;
+import com.qmth.distributed.print.business.service.BasicMessageService;
+import com.qmth.distributed.print.business.service.PrintCommonService;
+import com.qmth.distributed.print.business.service.SmsSendService;
 import com.qmth.teachcloud.common.bean.dto.MqDto;
-import com.qmth.teachcloud.common.bean.dto.SchoolDto;
 import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.common.service.BasicSchoolService;
 import com.qmth.teachcloud.common.util.RedisUtil;
 import com.qmth.teachcloud.task.job.service.JobService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
 import java.io.IOException;
-import java.util.Collection;
-import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 import java.util.concurrent.TimeUnit;
-import java.util.stream.Collectors;
 
 /**
  * @Description: job service impl
@@ -46,21 +35,9 @@ public class JobServiceImpl implements JobService {
     @Resource
     SmsSendService smsSendService;
 
-    @Resource
-    ExamTaskService examTaskService;
-
     @Resource
     BasicMessageService basicMessageService;
 
-    @Resource
-    BasicSchoolService basicSchoolService;
-
-    @Resource
-    ExamPrintPlanService examPrintPlanService;
-
-    @Resource
-    ExamDetailService examDetailService;
-
     @Resource
     RedisUtil redisUtil;
 
@@ -97,42 +74,6 @@ public class JobServiceImpl implements JobService {
         redisUtil.set(SystemConstant.TASK_MACHINE_ID + redisMachineService.getMachineId(), redisMachineService.getMachineId(), 30, TimeUnit.SECONDS);
     }
 
-    @Override
-    public void updatePrintPlanStatus() {
-        List<SchoolDto> schoolDtos = basicSchoolService.listSchool();
-        for (SchoolDto schoolDto : schoolDtos) {
-            QueryWrapper<ExamPrintPlan> queryWrapper = new QueryWrapper<>();
-            queryWrapper.lambda().eq(ExamPrintPlan::getSchoolId, schoolDto.getId())
-                    .ne(ExamPrintPlan::getStatus, PrintPlanStatusEnum.END)
-                    .le(ExamPrintPlan::getExamEndTime, System.currentTimeMillis());
-            List<ExamPrintPlan> examPrintPlanList = examPrintPlanService.list(queryWrapper);
-
-            // 更新计划状态为结束
-            if (!CollectionUtils.isEmpty(examPrintPlanList)) {
-                List<Long> ids = examPrintPlanList.stream().map(ExamPrintPlan::getId).collect(Collectors.toList());
-
-                UpdateWrapper<ExamPrintPlan> updateWrapper = new UpdateWrapper<>();
-                updateWrapper.lambda().set(ExamPrintPlan::getStatus, PrintPlanStatusEnum.END)
-                        .in(ExamPrintPlan::getId, ids);
-                examPrintPlanService.update(updateWrapper);
-
-                // 更新考场状态,未结束改为已过期,已结束保持原状态
-                QueryWrapper<ExamDetail> examDetailQueryWrapper = new QueryWrapper<>();
-                examDetailQueryWrapper.lambda().in(ExamDetail::getPrintPlanId, ids)
-                        .ne(ExamDetail::getStatus, ExamDetailStatusEnum.FINISH);
-                List<ExamDetail> examDetails = examDetailService.list(examDetailQueryWrapper);
-                if (!CollectionUtils.isEmpty(examDetails)) {
-                    List<Long> examDetailIds = examDetails.stream().map(ExamDetail::getId).collect(Collectors.toList());
-
-                    UpdateWrapper<ExamDetail> examDetailUpdateWrapper = new UpdateWrapper<>();
-                    examDetailUpdateWrapper.lambda().set(ExamDetail::getStatus, ExamDetailStatusEnum.EXPIRED)
-                            .in(ExamDetail::getId, examDetailIds);
-                    examDetailService.update(examDetailUpdateWrapper);
-                }
-            }
-        }
-    }
-
     /**
      * 组装job
      *

+ 4 - 9
teachcloud-task/src/main/java/com/qmth/teachcloud/task/start/StartRunning.java

@@ -2,7 +2,10 @@ package com.qmth.teachcloud.task.start;
 
 import com.qmth.distributed.print.business.service.PrintCommonService;
 import com.qmth.teachcloud.task.enums.JobEnum;
-import com.qmth.teachcloud.task.job.*;
+import com.qmth.teachcloud.task.job.RedisMqSyncJob;
+import com.qmth.teachcloud.task.job.ResendSmsJob;
+import com.qmth.teachcloud.task.job.SendSmsExpireJob;
+import com.qmth.teachcloud.task.job.SendSmsOverdueJob;
 import com.qmth.teachcloud.task.job.service.JobService;
 import com.qmth.teachcloud.task.service.QuartzService;
 import org.slf4j.Logger;
@@ -40,14 +43,6 @@ public class StartRunning implements CommandLineRunner {
         jobService.machineHeart();
         printCommonService.updateStatus();
 
-        log.info("增加考试结束后印刷计划状态个性为END定时任务 start");
-        Map printPlanEndJobMap = new HashMap();
-        printPlanEndJobMap.computeIfAbsent("name", v -> PrintPlanEndJob.class.getName());
-        quartzService.deleteJob(JobEnum.PRINT_PLAN_END_JOB.name(), JobEnum.PRINT_PLAN_END_JOB_GROUP.name());
-        // 每天0点定时任务
-        quartzService.addJob(PrintPlanEndJob.class, JobEnum.PRINT_PLAN_END_JOB.name(), JobEnum.PRINT_PLAN_END_JOB_GROUP.name(), "0 0 0 * * ?", printPlanEndJobMap);
-        log.info("增加考试结束后印刷计划状态个性为END定时任务 end");
-
 //        log.info("增加重新生成pdf定时任务 start");
 //        Map taskJobMap = new HashMap();
 //        schoolJobMap.computeIfAbsent("name", v -> ResetCreatePdfJob.class.getName());