Sfoglia il codice sorgente

入库申请-新建命题任务

xiaof 3 anni fa
parent
commit
250eea2ab7

+ 0 - 11
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamTask.java

@@ -99,9 +99,6 @@ public class ExamTask extends BaseEntity implements Serializable {
     @TableField("batch_no")
     private String batchNo;
 
-    @TableField("draw_count")
-    private Integer drawCount;
-
     @TableField("teach_org_id")
     private Long teachOrgId;
 
@@ -251,14 +248,6 @@ public class ExamTask extends BaseEntity implements Serializable {
         this.batchNo = batchNo;
     }
 
-    public Integer getDrawCount() {
-        return drawCount;
-    }
-
-    public void setDrawCount(Integer drawCount) {
-        this.drawCount = drawCount;
-    }
-
     public Long getTeachOrgId() {
         return teachOrgId;
     }

+ 11 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamTaskDetail.java

@@ -32,6 +32,9 @@ public class ExamTaskDetail extends BaseEntity implements Serializable {
      */
     @TableField("paper_type")
     private String paperType;
+
+    @TableField("draw_count")
+    private Integer drawCount;
     /**
      * [
      * {
@@ -103,6 +106,14 @@ public class ExamTaskDetail extends BaseEntity implements Serializable {
         this.paperType = paperType;
     }
 
+    public Integer getDrawCount() {
+        return drawCount;
+    }
+
+    public void setDrawCount(Integer drawCount) {
+        this.drawCount = drawCount;
+    }
+
     public String getPaperAttachmentIds() {
         return paperAttachmentIds;
     }

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

@@ -17,4 +17,6 @@ import java.util.List;
  */
 public interface ExamTaskPrintMapper extends BaseMapper<ExamTaskPrint> {
     List<TaskPrintHouseDto> listTaskPrintHouse(@Param("schoolId") Long schoolId, @Param("type") String type);
+
+    List<TaskPrintHouseDto> listTaskPrintHouseAll(@Param("schoolId") Long schoolId, @Param("type") String type);
 }

+ 16 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskDetailServiceImpl.java

@@ -188,11 +188,24 @@ public class ExamTaskDetailServiceImpl extends ServiceImpl<ExamTaskDetailMapper,
             // 更新试卷编号
             String examDetailCourseIdStr = paperParam.getExamDetailCourseIds();
             List<Long> examDetailCourseIds = Arrays.asList(examDetailCourseIdStr.split(",")).stream().map(m -> Long.valueOf(m)).collect(Collectors.toList());
-//        List<ExamDetailCourse> examDetailCourses = examDetailCourseService.listByPrintPlanIdAndCourseCodeAndPaperNumber(examTask.getSchoolId(), paperParam.getPrintPlanId(), examTask.getCourseCode(), examTask.getPaperNumber());
             examDetailCourseService.updatePaperNumber(examDetailCourseIds, paperParam.getPaperNumber(), paperParam.getRelatePaperType());
 
             // 更新考生关联类型
-            examStudentService.updatePaperType(examDetailCourseIds, paperParam.getRelatePaperType());
+//            examStudentService.updatePaperType(examDetailCourseIds, paperParam.getRelatePaperType());
+            ExamTaskDetail examTaskDetail = this.getByExamTaskId(newExamTask.getId());
+            List<String> types = Arrays.asList(paperParam.getRelatePaperType().split("/"));
+            for (Long examDetailCourseId : examDetailCourseIds) {
+                QueryWrapper<ExamStudent> studentQueryWrapper = new QueryWrapper<>();
+                studentQueryWrapper.lambda().eq(ExamStudent::getExamDetailCourseId, examDetailCourseId);
+                List<ExamStudent> students = examStudentService.list(studentQueryWrapper);
+                int i = 0;
+                for (ExamStudent student : students) {
+                    int mod = i % examTaskDetail.getDrawCount();
+                    student.setPaperType(types.get(mod));
+                    examStudentService.updateById(student);
+                    i++;
+                }
+            }
 
             // 重新生成pdf
             List<ExamDetailCourse> examDetailCourses = examDetailCourseService.listByIds(examDetailCourseIds);
@@ -201,6 +214,7 @@ public class ExamTaskDetailServiceImpl extends ServiceImpl<ExamTaskDetailMapper,
                 SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
                 Map<String, Object> map = tbTaskService.saveTask(TaskTypeEnum.CREATE_PDF, paperParam.getPrintPlanId(), sysUser, listEntry.getKey());
                 map.computeIfAbsent("examDetailCourseIds", v -> listEntry.getValue());
+                // todo xf 多卷型
                 map.computeIfAbsent("paperType", v -> paperParam.getRelatePaperType());
                 asyncCreatePdfTempleteService.createPdf(map, null);
             }

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

@@ -31,6 +31,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
+import javax.net.ssl.HostnameVerifier;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
@@ -263,7 +264,12 @@ public class ExamTaskPrintServiceImpl extends ServiceImpl<ExamTaskPrintMapper, E
     @Override
     public List<TaskPrintHouseDto> listHouse() {
         Long schoolId = (Long) ServletUtil.getRequestHeaderSchoolId();
-        return this.baseMapper.listTaskPrintHouse(schoolId, OrgTypeEnum.PRINTING_HOUSE.name());
+        List<TaskPrintHouseDto> houseDtos = this.baseMapper.listTaskPrintHouse(schoolId, OrgTypeEnum.PRINTING_HOUSE.name());
+        // 校区没有指定校区,查询所有
+        if (CollectionUtils.isEmpty(houseDtos)) {
+            houseDtos = this.baseMapper.listTaskPrintHouseAll(schoolId, OrgTypeEnum.PRINTING_HOUSE.name());
+        }
+        return houseDtos;
     }
 
     private void saveBatchStudent(ExamTaskPrint examTaskPrint, List<String> classIds, Long examDetailCourseId) {

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

@@ -1331,7 +1331,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             throw ExceptionResultEnum.ERROR.exception("题卡不存在");
         }
         if(MakeMethodEnum.CUST.equals(examCard.getMakeMethod())){
-            throw ExceptionResultEnum.ERROR.exception("客制卡方式,不能切换");
+            throw ExceptionResultEnum.ERROR.exception("客制卡方式,不能切换");
         }
 
         if(MakeMethodEnum.SELF.equals(examCard.getMakeMethod())) {

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

@@ -17,4 +17,15 @@
             o.school_id = #{schoolId} AND o.type = #{type}
         ORDER BY c.campus_name
     </select>
+    <select id="listTaskPrintHouseAll"
+            resultType="com.qmth.distributed.print.business.bean.dto.TaskPrintHouseDto">
+        SELECT
+            o.id houseId,
+            o.name houseName
+        FROM
+            sys_org o
+        WHERE
+            o.school_id = #{schoolId} AND o.type = #{type}
+        ORDER BY o.name
+    </select>
 </mapper>