Browse Source

入库申请-新建命题任务

xiaof 3 years ago
parent
commit
ac9b9e4bc7

+ 5 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamTaskPrintMapper.java

@@ -1,7 +1,11 @@
 package com.qmth.distributed.print.business.mapper;
 package com.qmth.distributed.print.business.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qmth.distributed.print.business.bean.dto.TaskPrintHouseDto;
 import com.qmth.distributed.print.business.entity.ExamTaskPrint;
 import com.qmth.distributed.print.business.entity.ExamTaskPrint;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -12,4 +16,5 @@ import com.qmth.distributed.print.business.entity.ExamTaskPrint;
  * @since 2021-08-02
  * @since 2021-08-02
  */
  */
 public interface ExamTaskPrintMapper extends BaseMapper<ExamTaskPrint> {
 public interface ExamTaskPrintMapper extends BaseMapper<ExamTaskPrint> {
+    List<TaskPrintHouseDto> listTaskPrintHouse(@Param("schoolId") Long schoolId, @Param("type") String type);
 }
 }

+ 2 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamTaskPrintService.java

@@ -7,6 +7,7 @@ import com.qmth.distributed.print.business.bean.dto.TaskPrintClassDto;
 import com.qmth.distributed.print.business.bean.dto.TaskPrintHouseDto;
 import com.qmth.distributed.print.business.bean.dto.TaskPrintHouseDto;
 import com.qmth.distributed.print.business.bean.params.TaskPrintParams;
 import com.qmth.distributed.print.business.bean.params.TaskPrintParams;
 import com.qmth.distributed.print.business.entity.BasicStudent;
 import com.qmth.distributed.print.business.entity.BasicStudent;
+import com.qmth.distributed.print.business.entity.ExamDetail;
 import com.qmth.distributed.print.business.entity.ExamTaskPrint;
 import com.qmth.distributed.print.business.entity.ExamTaskPrint;
 
 
 import java.util.List;
 import java.util.List;
@@ -20,15 +21,13 @@ import java.util.List;
  * @since 2021-08-02
  * @since 2021-08-02
  */
  */
 public interface ExamTaskPrintService extends IService<ExamTaskPrint> {
 public interface ExamTaskPrintService extends IService<ExamTaskPrint> {
-    List<ExamTaskPrint> createTaskPrint(TaskPrintParams taskPrintParams);
-
     IPage<BasicStudent> listStudentByClass(String classId, Integer pageNumber, Integer pageSize);
     IPage<BasicStudent> listStudentByClass(String classId, Integer pageNumber, Integer pageSize);
 
 
     void remove(Long examTaskPrintId);
     void remove(Long examTaskPrintId);
 
 
     ExamTaskPrintDto listTaskPrint(Long printPlanId, String courseCode, Long paperNumber, Integer pageNumber, Integer pageSize);
     ExamTaskPrintDto listTaskPrint(Long printPlanId, String courseCode, Long paperNumber, Integer pageNumber, Integer pageSize);
 
 
-    void createTaskPrint(ExamTaskPrint examTaskPrint);
+    ExamDetail createTaskPrint(ExamTaskPrint examTaskPrint);
 
 
     List<TaskPrintClassDto> listClass(String printPlanId, String courseCode, String paperNumber);
     List<TaskPrintClassDto> listClass(String printPlanId, String courseCode, String paperNumber);
 
 

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

@@ -11,7 +11,6 @@ import com.qmth.distributed.print.business.bean.dto.ExamTaskPrintDto;
 import com.qmth.distributed.print.business.bean.dto.TaskPrintClassDto;
 import com.qmth.distributed.print.business.bean.dto.TaskPrintClassDto;
 import com.qmth.distributed.print.business.bean.dto.TaskPrintHouseDto;
 import com.qmth.distributed.print.business.bean.dto.TaskPrintHouseDto;
 import com.qmth.distributed.print.business.bean.params.SerialNumberParams;
 import com.qmth.distributed.print.business.bean.params.SerialNumberParams;
-import com.qmth.distributed.print.business.bean.params.TaskPrintParams;
 import com.qmth.distributed.print.business.entity.*;
 import com.qmth.distributed.print.business.entity.*;
 import com.qmth.distributed.print.business.enums.ExamDataSourceEnum;
 import com.qmth.distributed.print.business.enums.ExamDataSourceEnum;
 import com.qmth.distributed.print.business.enums.ExamDetailStatusEnum;
 import com.qmth.distributed.print.business.enums.ExamDetailStatusEnum;
@@ -22,6 +21,7 @@ import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicUserCourse;
 import com.qmth.teachcloud.common.entity.BasicUserCourse;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
+import com.qmth.teachcloud.common.enums.OrgTypeEnum;
 import com.qmth.teachcloud.common.service.BasicUserCourseService;
 import com.qmth.teachcloud.common.service.BasicUserCourseService;
 import com.qmth.teachcloud.common.util.ConvertUtil;
 import com.qmth.teachcloud.common.util.ConvertUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
@@ -65,28 +65,6 @@ public class ExamTaskPrintServiceImpl extends ServiceImpl<ExamTaskPrintMapper, E
     @Resource
     @Resource
     ConvertUtil convertUtil;
     ConvertUtil convertUtil;
 
 
-    @Override
-    public List<ExamTaskPrint> createTaskPrint(TaskPrintParams taskPrintParams) {
-        Long schoolId = (Long) ServletUtil.getRequestHeaderSchoolId();
-        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        List<ExamTaskPrint> list = taskPrintParams.getList();
-        list = list.stream().map(m -> {
-            m.setPrintPlanId(taskPrintParams.getPrintPlanId());
-            m.setCourseCode(taskPrintParams.getCourseCode());
-            m.setCourseName(taskPrintParams.getCourseName());
-            m.setPaperNumber(taskPrintParams.getPaperNumber());
-            m.setExamStartTime(taskPrintParams.getExamStartTime());
-            m.setExamEndTime(taskPrintParams.getExamEndTime());
-            m.setSchoolId(schoolId);
-            m.setOrgId(sysUser.getOrgId());
-            m.setCreateId(sysUser.getId());
-            return m;
-        }).collect(Collectors.toList());
-
-        this.saveBatch(list);
-        return list;
-    }
-
     @Override
     @Override
     public IPage<BasicStudent> listStudentByClass(String classId, Integer pageNumber, Integer pageSize) {
     public IPage<BasicStudent> listStudentByClass(String classId, Integer pageNumber, Integer pageSize) {
         Page<BasicStudent> page = new Page<>(pageNumber, pageSize);
         Page<BasicStudent> page = new Page<>(pageNumber, pageSize);
@@ -144,7 +122,7 @@ public class ExamTaskPrintServiceImpl extends ServiceImpl<ExamTaskPrintMapper, E
 
 
     @Transactional
     @Transactional
     @Override
     @Override
-    public void createTaskPrint(ExamTaskPrint examTaskPrint) {
+    public ExamDetail createTaskPrint(ExamTaskPrint examTaskPrint) {
         Long schoolId = (Long) ServletUtil.getRequestHeaderSchoolId();
         Long schoolId = (Long) ServletUtil.getRequestHeaderSchoolId();
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
 
 
@@ -214,6 +192,7 @@ public class ExamTaskPrintServiceImpl extends ServiceImpl<ExamTaskPrintMapper, E
             examPrintPlan.setStatus(PrintPlanStatusEnum.READY);
             examPrintPlan.setStatus(PrintPlanStatusEnum.READY);
             examPrintPlanService.updateById(examPrintPlan);
             examPrintPlanService.updateById(examPrintPlan);
 
 
+            return examDetail;
         } else {
         } else {
             // 校验班级
             // 校验班级
             QueryWrapper<ExamTaskPrint> queryWrapper = new QueryWrapper<>();
             QueryWrapper<ExamTaskPrint> queryWrapper = new QueryWrapper<>();
@@ -251,6 +230,8 @@ public class ExamTaskPrintServiceImpl extends ServiceImpl<ExamTaskPrintMapper, E
             examStudentService.remove(examStudentUpdateWrapper);
             examStudentService.remove(examStudentUpdateWrapper);
 
 
             saveBatchStudent(taskPrint, classIds, examDetailCourse.getId());
             saveBatchStudent(taskPrint, classIds, examDetailCourse.getId());
+
+            return examDetail;
         }
         }
     }
     }
 
 
@@ -281,8 +262,8 @@ public class ExamTaskPrintServiceImpl extends ServiceImpl<ExamTaskPrintMapper, E
 
 
     @Override
     @Override
     public List<TaskPrintHouseDto> listHouse() {
     public List<TaskPrintHouseDto> listHouse() {
-        // todo  xf
-        return null;
+        Long schoolId = (Long) ServletUtil.getRequestHeaderSchoolId();
+        return this.baseMapper.listTaskPrintHouse(schoolId, OrgTypeEnum.PRINTING_HOUSE.name());
     }
     }
 
 
     private void saveBatchStudent(ExamTaskPrint examTaskPrint, List<String> classIds, Long examDetailCourseId) {
     private void saveBatchStudent(ExamTaskPrint examTaskPrint, List<String> classIds, Long examDetailCourseId) {

+ 0 - 84
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/execute/AsyncExamTaskPrintService.java

@@ -1,84 +0,0 @@
-package com.qmth.distributed.print.business.templete.execute;
-
-import cn.hutool.core.date.DateUtil;
-import com.qmth.boot.api.exception.ApiException;
-import com.qmth.distributed.print.business.service.ExamTaskService;
-import com.qmth.distributed.print.business.templete.importData.AsyncImportTaskTemplete;
-import com.qmth.distributed.print.business.templete.service.TaskLogicService;
-import com.qmth.teachcloud.common.contant.SpringContextHolder;
-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.ExceptionResultEnum;
-import com.qmth.teachcloud.common.enums.TaskResultEnum;
-import com.qmth.teachcloud.common.enums.TaskStatusEnum;
-import com.qmth.teachcloud.common.service.TBTaskService;
-import com.qmth.teachcloud.common.util.Result;
-import com.qmth.teachcloud.common.util.ResultUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.io.InputStream;
-import java.text.MessageFormat;
-import java.util.*;
-
-/**
- * @Description: 考务数据导入模板
- * @Author: CaoZixuan
- * @Date: 2021-04-07
- */
-@Service
-public class AsyncExamTaskPrintService extends AsyncImportTaskTemplete {
-    @Resource
-    private ExamTaskService examTaskService;
-
-    private final static Logger log = LoggerFactory.getLogger(AsyncExamTaskPrintService.class);
-
-    public static final String OBJ_TITLE = "卷库查询-考务数据";
-
-    @Override
-    public Result importTask(Map<String, Object> map) throws Exception {
-        TBTask tbTask = (TBTask) map.get(SystemConstant.TASK);
-
-        StringJoiner stringJoinerSummary = new StringJoiner("\n")
-                .add(MessageFormat.format("{0}{1}{2}", DateUtil.format(new Date(), SystemConstant.DEFAULT_DATE_PATTERN), BEGIN_TITLE, OBJ_TITLE));
-        tbTask.setStatus(TaskStatusEnum.RUNNING);
-        TBTaskService tbTaskService = SpringContextHolder.getBean(TBTaskService.class);
-        tbTaskService.updateById(tbTask);
-        try {
-            TaskLogicService taskLogicService = SpringContextHolder.getBean(TaskLogicService.class);
-
-            // 批量生成考务数据
-            Map<String, Object> result = taskLogicService.executeGenerateExamLogic(map);
-
-            // 检测是否去生成pdf
-            if (Objects.isNull(map.get("examDetailIdList"))) {
-                throw ExceptionResultEnum.ERROR.exception("不能获取考务-场次id集合");
-            }
-            List<Long> examDetailIdList = (List<Long>) map.get("examDetailIdList");
-            // 按照考场检验命题任务是否全部完成,完成生成pdf
-            SysUser user = (SysUser) map.get(SystemConstant.USER);
-            for (Long examDetailId : examDetailIdList) {
-                examTaskService.checkDataByExamination(examDetailId, user);
-            }
-
-            stringJoinerSummary.add(MessageFormat.format("{0}{1}{2}{3}", DateUtil.format(new Date(), SystemConstant.DEFAULT_DATE_PATTERN), FINISH_TITLE, Long.valueOf(String.valueOf(result.get("dataCount"))), FINISH_SIZE));
-            tbTask.setResult(TaskResultEnum.SUCCESS);
-        } catch (Exception e) {
-            log.error("请求出错", e);
-            stringJoinerSummary.add(MessageFormat.format("{0}{1}{2}{3}", DateUtil.format(new Date(), SystemConstant.DEFAULT_DATE_PATTERN), EXCEPTION_TITLE, EXCEPTION_DATA, e.getMessage()));
-            tbTask.setResult(TaskResultEnum.ERROR);
-            if (e instanceof ApiException) {
-                ResultUtil.error((ApiException) e, e.getMessage());
-            } else {
-                ResultUtil.error(e.getMessage());
-            }
-        } finally {//生成txt文件
-            tbTask.setSummary(stringJoinerSummary.toString());
-            super.createTxt(tbTask);
-        }
-        return ResultUtil.ok(map);
-    }
-}

+ 0 - 7
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/TaskLogicService.java

@@ -63,13 +63,6 @@ public interface TaskLogicService {
      */
      */
     Map<String, Object> executeExportPaperAndCardLogic(Map<String, Object> map) throws IOException;
     Map<String, Object> executeExportPaperAndCardLogic(Map<String, Object> map) throws IOException;
 
 
-    /**
-     * 根据班级生成考务数据
-     * @param map
-     * @return
-     */
-    Map<String, Object> executeGenerateExamLogic(Map<String, Object> map);
-
     /**
     /**
      * 处理导入考生数据
      * 处理导入考生数据
      * @param map 数据源
      * @param map 数据源

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

@@ -1071,112 +1071,6 @@ public class TaskLogicServiceImpl implements TaskLogicService {
         return map;
         return map;
     }
     }
 
 
-    @Transactional
-    @Override
-    public Map<String, Object> executeGenerateExamLogic(Map<String, Object> map) {
-        List<ExamTaskPrint> list = (List<ExamTaskPrint>) map.get("list");
-        if (CollectionUtils.isEmpty(list)) {
-            return null;
-        }
-        TBTask tbTask = (TBTask) map.get(SystemConstant.TASK);
-        Long printPlanId = tbTask.getPrintPlanId();
-        Long schoolId = (Long) ServletUtil.getRequestHeaderSchoolId();
-        if (!tbTaskService.countByPrintPlanIdAndEntityId(schoolId, printPlanId, null)) {
-            throw ExceptionResultEnum.ERROR.exception("当前印刷计划正在生成pdf,无法生成考务数据");
-        }
-        ExamPrintPlan examPrintPlan = examPrintPlanService.getById(printPlanId);
-        if (examPrintPlan == null) {
-            throw ExceptionResultEnum.ERROR.exception("印刷计划不存在");
-        }
-        PrintPlanStatusEnum printPlanStatus = examPrintPlan.getStatus();
-        if (PrintPlanStatusEnum.NEW != printPlanStatus && PrintPlanStatusEnum.READY != printPlanStatus) {
-            throw ExceptionResultEnum.ERROR.exception(printPlanStatus.getDesc() + "状态下的印刷计划不允许重新生成考务数据");
-        }
-
-        BasicExamRule basicExamRule = basicExamRuleService.getBySchoolId(schoolId);
-        if (Objects.isNull(basicExamRule)) {
-            throw ExceptionResultEnum.EXAM_RULE_IS_NULL.exception();
-        }
-
-        // 删除印刷计划下的考务数据
-        examDetailService.deleteExaminationData(printPlanId, ExamDataSourceEnum.EXAM_TASK);
-
-        List<Long> examDetailIdList = new ArrayList<>();
-        for (ExamTaskPrint examTaskPrint : list) {
-            // 卷袋号生成规则
-            SerialNumberParams serialNumberParams = new SerialNumberParams("packageCode-" + schoolId, "1", 6);
-            String key = serialNumberParams.getModel() + serialNumberParams.getPrefix();
-            RedisAtomicLong counter = new RedisAtomicLong(key, Objects.requireNonNull(redisTemplate.getConnectionFactory()));
-            Long value = counter.get();
-            try {
-                ExamDetail examDetail = new ExamDetail();
-                examDetail.setId(SystemConstant.getDbUuid());
-                examDetail.setPackageCode(createTempNumber(serialNumberParams));
-                examDetail.setSchoolId(schoolId);
-                examDetail.setPrintPlanId(printPlanId);
-                examDetail.setPrintPlanName(examPrintPlan.getName());
-                examDetail.setExamPlace(examTaskPrint.getExamPlace());
-                examDetail.setExamRoom(examTaskPrint.getExamRoom());
-                examDetail.setStatus(ExamDetailStatusEnum.NEW);
-                examDetail.setTotalSubjects(examTaskPrint.getStudentCount());
-                examDetail.setExamStartTime(examTaskPrint.getExamStartTime());
-                examDetail.setExamEndTime(examTaskPrint.getExamEndTime());
-                examDetail.setExamDataSource(ExamDataSourceEnum.EXAM_TASK);
-                examDetail.setCreateId(examTaskPrint.getCreateId());
-                examDetailService.save(examDetail);
-                examDetailIdList.add(examDetail.getId());
-
-                UpdateWrapper<ExamTaskPrint> updateWrapper = new UpdateWrapper<>();
-                updateWrapper.lambda().set(ExamTaskPrint::getExamDetailId, examDetail.getId()).eq(ExamTaskPrint::getId, examTaskPrint.getId());
-                examTaskPrintService.update(updateWrapper);
-
-                ExamDetailCourse examDetailCourse = new ExamDetailCourse();
-                examDetailCourse.setId(SystemConstant.getDbUuid());
-                examDetailCourse.setSchoolId(schoolId);
-                examDetailCourse.setExamDetailId(examDetail.getId());
-                examDetailCourse.setCourseCode(examTaskPrint.getCourseCode());
-                examDetailCourse.setCourseName(examTaskPrint.getCourseName());
-                examDetailCourse.setPaperNumber(examTaskPrint.getPaperNumber());
-                examDetailCourse.setTotalSubjects(examTaskPrint.getStudentCount());
-                examDetailCourse.setCreateId(examTaskPrint.getCreateId());
-                examDetailCourseService.save(examDetailCourse);
-
-                List<String> classIds = Arrays.asList(examTaskPrint.getClassId().split(","));
-                QueryWrapper<BasicStudent> queryWrapper = new QueryWrapper<>();
-                queryWrapper.lambda().eq(BasicStudent::getSchoolId, schoolId).in(BasicStudent::getClazz, classIds);
-                List<BasicStudent> basicStudents = basicStudentService.list(queryWrapper);
-                AtomicInteger atomicInteger = new AtomicInteger(1);
-                List<ExamStudent> examStudents = new ArrayList<>();
-                SerialNumberParams ticketNumberParams = new SerialNumberParams("ticketNumber-" + schoolId, DateUtil.format(new Date(), "yyyyMM"), 6);
-                for (BasicStudent basicStudent : basicStudents) {
-                    ExamStudent examStudent = new ExamStudent();
-                    examStudent.setId(SystemConstant.getDbUuid());
-                    examStudent.setSchoolId(schoolId);
-                    examStudent.setExamDetailCourseId(examDetailCourse.getId());
-                    examStudent.setStudentName(basicStudent.getStudentName());
-                    examStudent.setStudentCode(basicStudent.getStudentCode());
-                    // 准考证号(年月+000001)
-                    examStudent.setTicketNumber(createTempNumber(ticketNumberParams));
-                    examStudent.setExtendFields(JSON.toJSONString(examTaskPrint.getExtendFields()));
-                    examStudent.setSiteNumber(String.valueOf(atomicInteger.getAndIncrement()));
-                    examStudent.setCreateId(examTaskPrint.getCreateId());
-                    examStudent.setUpdateId(examTaskPrint.getCreateId());
-                    examStudents.add(examStudent);
-                }
-                examStudentService.saveBatch(examStudents);
-            } catch (Exception e) {
-                redisTemplate.opsForValue().set(key, value);
-                throw new RuntimeException(e);
-            }
-        }
-
-        // 更改印刷计划状态
-        examPrintPlan.setStatus(PrintPlanStatusEnum.READY);
-        examPrintPlanService.updateById(examPrintPlan);
-
-        map.put("examDetailIdList", examDetailIdList);
-        return map;
-    }
 
 
     @Transactional
     @Transactional
     @Override
     @Override

+ 16 - 0
distributed-print-business/src/main/resources/mapper/ExamTaskPrintMapper.xml

@@ -1,4 +1,20 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 <mapper namespace="com.qmth.distributed.print.business.mapper.ExamTaskPrintMapper">
 <mapper namespace="com.qmth.distributed.print.business.mapper.ExamTaskPrintMapper">
+    <select id="listTaskPrintHouse"
+            resultType="com.qmth.distributed.print.business.bean.dto.TaskPrintHouseDto">
+        SELECT
+            o.id houseId,
+            o.name houseName,
+            c.id campusId,
+            c.campus_name campusName
+        FROM
+            sys_org o
+                JOIN
+            basic_campus c ON o.school_id = c.school_id
+                AND o.id = c.print_house_id
+        WHERE
+            o.school_id = #{schoolId} AND o.type = #{type}
+        ORDER BY c.campus_name
+    </select>
 </mapper>
 </mapper>

+ 9 - 23
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskController.java

@@ -7,14 +7,13 @@ import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.distributed.print.business.bean.dto.*;
 import com.qmth.distributed.print.business.bean.dto.*;
 import com.qmth.distributed.print.business.bean.params.ExamTaskApplyParam;
 import com.qmth.distributed.print.business.bean.params.ExamTaskApplyParam;
-import com.qmth.distributed.print.business.bean.params.TaskPrintParams;
 import com.qmth.distributed.print.business.bean.result.EditResult;
 import com.qmth.distributed.print.business.bean.result.EditResult;
 import com.qmth.distributed.print.business.entity.*;
 import com.qmth.distributed.print.business.entity.*;
 import com.qmth.distributed.print.business.enums.ExamStatusEnum;
 import com.qmth.distributed.print.business.enums.ExamStatusEnum;
 import com.qmth.distributed.print.business.enums.MessageEnum;
 import com.qmth.distributed.print.business.enums.MessageEnum;
 import com.qmth.distributed.print.business.enums.ReviewStatusEnum;
 import com.qmth.distributed.print.business.enums.ReviewStatusEnum;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.distributed.print.business.service.*;
-import com.qmth.distributed.print.business.templete.execute.AsyncExamTaskPrintService;
+import com.qmth.distributed.print.business.templete.execute.AsyncCreatePdfTempleteService;
 import com.qmth.distributed.print.business.templete.execute.AsyncTaskReviewSampleExportService;
 import com.qmth.distributed.print.business.templete.execute.AsyncTaskReviewSampleExportService;
 import com.qmth.teachcloud.common.bean.dto.BlurryUserDto;
 import com.qmth.teachcloud.common.bean.dto.BlurryUserDto;
 import com.qmth.teachcloud.common.bean.params.ArraysParams;
 import com.qmth.teachcloud.common.bean.params.ArraysParams;
@@ -79,9 +78,6 @@ public class ExamTaskController {
     @Autowired
     @Autowired
     private PrintCommonService printCommonService;
     private PrintCommonService printCommonService;
 
 
-    @Autowired
-    private AsyncExamTaskPrintService asyncExamTaskPrintService;
-
     @Resource
     @Resource
     private BasicMessageService basicMessageService;
     private BasicMessageService basicMessageService;
 
 
@@ -91,6 +87,9 @@ public class ExamTaskController {
     @Autowired
     @Autowired
     private ExamTaskPrintService examTaskPrintService;
     private ExamTaskPrintService examTaskPrintService;
 
 
+    @Resource
+    AsyncCreatePdfTempleteService asyncCreatePdfTempleteService;
+
     /**
     /**
      * 查询
      * 查询
      *
      *
@@ -610,22 +609,6 @@ public class ExamTaskController {
         return ResultUtil.ok(examTaskPrintDto);
         return ResultUtil.ok(examTaskPrintDto);
     }
     }
 
 
-    /**
-     * 发布印刷任务
-     *
-     * @param taskPrintParams
-     * @return
-     */
-    /*@ApiOperation(value = "卷库查询-发布印刷任务")
-    @RequestMapping(value = "/create_task_print", method = RequestMethod.POST)
-    public Result createTaskPrint(@RequestBody TaskPrintParams taskPrintParams) throws Exception {
-        List<ExamTaskPrint> list = examTaskPrintService.createTaskPrint(taskPrintParams);
-        Map<String, Object> map = printCommonService.saveTask(taskPrintParams.getPrintPlanId(), TaskTypeEnum.CREATE_TASK_PRINT);
-        map.put("list", list);
-        asyncExamTaskPrintService.importTask(map);
-        TBTask tbTask = Objects.nonNull(map.get(SystemConstant.TASK)) ? (TBTask) map.get(SystemConstant.TASK) : null;
-        return Objects.nonNull(tbTask) ? ResultUtil.ok(tbTask.getId()) : ResultUtil.error("创建任务失败");
-    }*/
 
 
     /**
     /**
      * 查看考生
      * 查看考生
@@ -662,8 +645,11 @@ public class ExamTaskController {
      */
      */
     @ApiOperation(value = "卷库查询-发布印刷任务")
     @ApiOperation(value = "卷库查询-发布印刷任务")
     @RequestMapping(value = "/save_task_print", method = RequestMethod.POST)
     @RequestMapping(value = "/save_task_print", method = RequestMethod.POST)
-    public Result createTaskPrint(@RequestBody ExamTaskPrint examTaskPrint) {
-        examTaskPrintService.createTaskPrint(examTaskPrint);
+    public Result createTaskPrint(@RequestBody ExamTaskPrint examTaskPrint) throws IOException {
+        ExamDetail examDetail = examTaskPrintService.createTaskPrint(examTaskPrint);
+        // 调用生成pdf方法
+        Map<String, Object> map = tbTaskService.saveTask(TaskTypeEnum.CREATE_PDF, examDetail.getPrintPlanId(), (SysUser) ServletUtil.getRequestUser(), examDetail.getId());
+        asyncCreatePdfTempleteService.createPdf(map, null);
         return ResultUtil.ok(true, "");
         return ResultUtil.ok(true, "");
     }
     }