xiaof 2 жил өмнө
parent
commit
a336ae64fa

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

@@ -11,7 +11,7 @@ import java.util.List;
 public enum SyncCardTypeEnum {
 
     GENERIC("通用题卡"),
-    ELECTRONIC("电子题卡");
+    CUSTOM("电子题卡");
 
     SyncCardTypeEnum(String desc) {
         this.desc = desc;

+ 2 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamDetailCourseMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qmth.distributed.print.business.bean.dto.ExamDetailCourseDto;
 import com.qmth.distributed.print.business.bean.dto.SyncExamTaskDto;
 import com.qmth.distributed.print.business.entity.ExamDetailCourse;
+import com.qmth.distributed.print.business.enums.SyncCardTypeEnum;
 import com.qmth.teachcloud.common.entity.BasicCourse;
 import org.apache.ibatis.annotations.Param;
 
@@ -34,7 +35,7 @@ public interface ExamDetailCourseMapper extends BaseMapper<ExamDetailCourse> {
 
     List<ExamDetailCourse> listByAndCourseCodeAndPaperNumber(@Param("schoolId") Long schoolId,@Param("courseCode") String courseCode,@Param("paperNumber") String paperNumber);
 
-    List<SyncExamTaskDto> listSyncCourseByPrintPlanId(@Param("printPlanIds") List<Long> printPlanIds);
+    List<SyncExamTaskDto> listSyncCourseByPrintPlanId(@Param("printPlanIds") List<Long> printPlanIds, @Param("courseName") String courseName);
 
     List<ExamDetailCourseDto> listByPrintPlanIdAndExamTaskId(@Param("printPlanIds") List<Long> printPlanIds, @Param("examTaskId") Long examTaskId);
 }

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

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.distributed.print.business.bean.dto.ExamDetailCourseDto;
 import com.qmth.distributed.print.business.bean.dto.SyncExamTaskDto;
 import com.qmth.distributed.print.business.entity.ExamDetailCourse;
+import com.qmth.distributed.print.business.enums.SyncCardTypeEnum;
 import com.qmth.teachcloud.common.entity.BasicCourse;
 
 import java.util.List;
@@ -34,7 +35,7 @@ public interface ExamDetailCourseService extends IService<ExamDetailCourse> {
 
     List<ExamDetailCourse> listByCourseCodeAndPaperNumber(Long schoolId, String courseCode, String paperNumber);
 
-    List<SyncExamTaskDto> listSyncCourseByPrintPlanId(List<Long> printPlanIds);
+    List<SyncExamTaskDto> listSyncCourseByPrintPlanId(List<Long> printPlanIds, SyncCardTypeEnum cardType, String courseName);
 
     List<ExamDetailCourseDto> listByPrintPlanIdAndExamTaskId(List<Long> printPlanIds, Long examTaskId);
 }

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

@@ -11,6 +11,7 @@ import com.qmth.distributed.print.business.bean.result.PrintPlanBrief;
 import com.qmth.distributed.print.business.bean.result.PrintPlanResult;
 import com.qmth.distributed.print.business.entity.ExamPrintPlan;
 import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
+import com.qmth.distributed.print.business.enums.SyncCardTypeEnum;
 import com.qmth.teachcloud.common.entity.SysUser;
 
 import java.util.List;
@@ -113,5 +114,5 @@ public interface ExamPrintPlanService extends IService<ExamPrintPlan> {
 
     List<ExamPrintPlan> listBySchoolId(Long schoolId);
 
-    List<SyncExamTaskDto> listSyncExamTask(List<Long> printPlanIds);
+    List<SyncExamTaskDto> listSyncExamTask(List<Long> printPlanIds, SyncCardTypeEnum cardType, String courseName);
 }

+ 6 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailCourseServiceImpl.java

@@ -83,8 +83,8 @@ public class ExamDetailCourseServiceImpl extends ServiceImpl<ExamDetailCourseMap
     }
 
     @Override
-    public List<SyncExamTaskDto> listSyncCourseByPrintPlanId(List<Long> printPlanIds) {
-        List<SyncExamTaskDto> examTaskDtos = this.baseMapper.listSyncCourseByPrintPlanId(printPlanIds);
+    public List<SyncExamTaskDto> listSyncCourseByPrintPlanId(List<Long> printPlanIds, SyncCardTypeEnum cardType, String courseName) {
+        List<SyncExamTaskDto> examTaskDtos = this.baseMapper.listSyncCourseByPrintPlanId(printPlanIds, courseName);
         for (SyncExamTaskDto examTaskDto : examTaskDtos) {
             String paperType = examTaskDto.getPaperType();
             List<String> paperTypes = Arrays.asList(paperType.split(","));
@@ -100,7 +100,7 @@ public class ExamDetailCourseServiceImpl extends ServiceImpl<ExamDetailCourseMap
                 if (examCard.getType().equals(CardTypeEnum.GENERIC) && examCard.getCreateMethod().equals(CardCreateMethodEnum.UPLOAD)) {
                     stringSet.add(SyncCardTypeEnum.GENERIC.getDesc());
                 } else {
-                    stringSet.add(SyncCardTypeEnum.ELECTRONIC.getDesc());
+                    stringSet.add(SyncCardTypeEnum.CUSTOM.getDesc());
                 }
             }
             if (stringSet.size() > 0) {
@@ -114,6 +114,9 @@ public class ExamDetailCourseServiceImpl extends ServiceImpl<ExamDetailCourseMap
                 examTaskDto.setSyncStatus(collect.isEmpty() ? "-" : String.join(",", collect));
             }
         }
+        if(cardType != null){
+            examTaskDtos = examTaskDtos.stream().filter(m->m.getSyncCardType().contains(cardType.getDesc())).collect(Collectors.toList());
+        }
         return examTaskDtos;
     }
 

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

@@ -17,6 +17,7 @@ import com.qmth.distributed.print.business.entity.*;
 import com.qmth.distributed.print.business.enums.ExamDetailStatusEnum;
 import com.qmth.distributed.print.business.enums.MessageEnum;
 import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
+import com.qmth.distributed.print.business.enums.SyncCardTypeEnum;
 import com.qmth.distributed.print.business.mapper.ExamPrintPlanMapper;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.distributed.print.business.templete.execute.AsyncCloudMarkingTaskService;
@@ -147,7 +148,7 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
             printPlanResult.setTotalPackages((int) totalPackages);
 
             List<Long> printPlanIds = Arrays.asList(new Long[]{printPlanResult.getId()});
-            List<SyncExamTaskDto> syncExamTaskDtos = examDetailCourseService.listSyncCourseByPrintPlanId(printPlanIds);
+            List<SyncExamTaskDto> syncExamTaskDtos = examDetailCourseService.listSyncCourseByPrintPlanId(printPlanIds, null, null);
             long successCount = syncExamTaskDtos.stream().mapToInt(m -> m.getSyncSuccessCount()).sum();
             printPlanResult.setSyncSuccessCount(Math.toIntExact(successCount));
             long failCount = syncExamTaskDtos.stream().mapToInt(m -> m.getSyncFailCount()).sum();
@@ -550,8 +551,8 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
     }
 
     @Override
-    public List<SyncExamTaskDto> listSyncExamTask(List<Long> printPlanIds) {
-        return examDetailCourseService.listSyncCourseByPrintPlanId(printPlanIds);
+    public List<SyncExamTaskDto> listSyncExamTask(List<Long> printPlanIds, SyncCardTypeEnum cardType, String courseName) {
+        return examDetailCourseService.listSyncCourseByPrintPlanId(printPlanIds, cardType, courseName);
     }
 
 

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

@@ -426,10 +426,6 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
 
             QueryWrapper<BasicExamRule> queryWrapper = new QueryWrapper<>();
             queryWrapper.lambda().eq(BasicExamRule::getSchoolId, examTask.getSchoolId());
-            BasicExamRule basicExamRule = basicExamRuleService.getOne(queryWrapper);
-            if (basicExamRule == null) {
-                throw ExceptionResultEnum.ERROR.exception("通用规则未设置");
-            }
             examTask.insertInfo(sysUser.getId());
             examTask.updateInfo(sysUser.getId());
 

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

@@ -170,6 +170,9 @@
                 <foreach collection="printPlanIds" open="(" close=")" item="printPlanId" separator=",">
                     #{printPlanId}
                 </foreach>
+                <if test="courseName != null and courseName != ''">
+                    and b.course_name like concat(#{courseName}, '%')
+                </if>
                 GROUP BY et.id, b.course_code, b.course_name , b.paper_number, b.paper_type, et.sequence
     </select>
     <select id="listByPrintPlanIdAndExamTaskId"

+ 6 - 2
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamPrintPlanSyncController.java

@@ -3,6 +3,7 @@ package com.qmth.distributed.print.api;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.distributed.print.business.bean.params.SyncDataParam;
 import com.qmth.distributed.print.business.bean.result.EditResult;
+import com.qmth.distributed.print.business.enums.SyncCardTypeEnum;
 import com.qmth.distributed.print.business.service.ExamPrintPlanService;
 import com.qmth.teachcloud.common.annotation.OperationLogDetail;
 import com.qmth.teachcloud.common.contant.SystemConstant;
@@ -62,14 +63,17 @@ public class ExamPrintPlanSyncController {
 
     /**
      * 查询计划下需要同步的命题任务
+     *
      * @param printPlanIds 印刷计划ID
      */
     @ApiOperation(value = "印刷计划推送管理-查询计划下需要同步的命题任务")
     @RequestMapping(value = "/list_sync_exam_task", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
     @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.SEARCH)
-    public Result listSyncExamTask(@ApiParam(value = "印刷计划ID集合") @RequestParam List<Long> printPlanIds) {
-        return ResultUtil.ok(examPrintPlanService.listSyncExamTask(printPlanIds));
+    public Result listSyncExamTask(@ApiParam(value = "印刷计划ID集合") @RequestParam List<Long> printPlanIds,
+                                   @ApiParam(value = "题卡类型") @RequestParam(required = false) SyncCardTypeEnum cardType,
+                                   @ApiParam(value = "课程名称") @RequestParam(required = false) String courseName) {
+        return ResultUtil.ok(examPrintPlanService.listSyncExamTask(printPlanIds, cardType, courseName));
     }