Ver código fonte

3.4.3 update-bug-1218

xiaofei 6 meses atrás
pai
commit
535add9993

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

@@ -585,8 +585,10 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
                 if (params.getContentFile() == null || params.getContentFile().getSize() == 0) {
                     throw ExceptionResultEnum.ERROR.exception("题卡内容不能为空");
                 }
-                if (params.getHtmlContentFile() == null || params.getHtmlContentFile().getSize() == 0) {
-                    throw ExceptionResultEnum.ERROR.exception("提交题卡时,html内容不能为空");
+                if (ExamCardStatusEnum.SUBMIT.equals(params.getStatus())) {
+                    if (params.getHtmlContentFile() == null || params.getHtmlContentFile().getSize() == 0) {
+                        throw ExceptionResultEnum.ERROR.exception("提交题卡时,html内容不能为空");
+                    }
                 }
             } else {
                 throw ExceptionResultEnum.ERROR.exception("不支持的题卡制作方式");

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

@@ -263,6 +263,7 @@ public class DownloadLogicServiceImpl implements DownloadLogicService {
                 stringJoiner.add(dictionaryConfig.fssPublicDomain().getConfig()).add(File.separator);
             }
             stringJoiner = SystemConstant.getDirName(stringJoiner, UploadFileEnum.FILE, true);
+            stringJoiner.add(SystemConstant.getNanoId()).add(File.separator);
             stringJoiner.add("卷库查询批量下载试卷包").add(SystemConstant.ZIP_PREFIX);
 
             String zipDirName = FileUtil.replaceSplit(stringJoiner.toString());
@@ -529,6 +530,7 @@ public class DownloadLogicServiceImpl implements DownloadLogicService {
                 stringJoiner.add(dictionaryConfig.fssPublicDomain().getConfig()).add(File.separator);
             }
             stringJoiner = SystemConstant.getDirName(stringJoiner, UploadFileEnum.FILE, true);
+            stringJoiner.add(SystemConstant.getNanoId()).add(File.separator);
             stringJoiner.add("批量下载试卷包").add(SystemConstant.ZIP_PREFIX);
 
             String zipDirName = FileUtil.replaceSplit(stringJoiner.toString());

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

@@ -222,6 +222,7 @@ public class TaskLogicServiceImpl implements TaskLogicService {
                         stringJoiner.add(dictionaryConfig.fssPublicDomain().getConfig()).add(File.separator);
                     }
                     stringJoiner = SystemConstant.getDirName(stringJoiner, UploadFileEnum.FILE, true);
+                    stringJoiner.add(SystemConstant.getNanoId()).add(File.separator);
                     stringJoiner.add("印刷任务管理批量下载印品数据包").add(SystemConstant.ZIP_PREFIX);
                     String zipDirName = FileUtil.replaceSplit(stringJoiner.toString());
                     SysUser sysUser = sysUserService.getById(tbTask.getCreateId());

+ 22 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/sync/TSyncDataStudent.java

@@ -1,5 +1,6 @@
 package com.qmth.teachcloud.common.bean.sync;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -83,6 +84,11 @@ public class TSyncDataStudent implements Serializable {
     @ApiModelProperty(value = "是否已同步到考生表中")
     private Boolean updateStatus;
 
+    @TableField(exist = false)
+    private String examDate;
+    @TableField(exist = false)
+    private String examTime;
+
     public Long getId() {
         return id;
     }
@@ -231,6 +237,22 @@ public class TSyncDataStudent implements Serializable {
         this.updateStatus = updateStatus;
     }
 
+    public String getExamDate() {
+        return examDate;
+    }
+
+    public void setExamDate(String examDate) {
+        this.examDate = examDate;
+    }
+
+    public String getExamTime() {
+        return examTime;
+    }
+
+    public void setExamTime(String examTime) {
+        this.examTime = examTime;
+    }
+
     @Override
     public String toString() {
         return "TSyncDataStudent{" +

+ 10 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCourseServiceImpl.java

@@ -363,9 +363,18 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
     @Override
     public void saveBasicCourseFormSync(Long schoolId, CourseDataVo courseDataVo) {
         SysOrg rootOrg = sysOrgService.findRootOrg(schoolId);
+        if (StringUtils.isBlank(courseDataVo.getCollegeName())) {
+            return;
+        }
         SysOrg sysOrg = sysOrgService.findByParentIdAndName(rootOrg.getId(), courseDataVo.getCollegeName());
         if (sysOrg == null) {
-            throw ExceptionResultEnum.ERROR.exception("开课学院[" + sysOrg.getName() + "]在组织架构中不存在");
+            sysOrg = new SysOrg();
+            sysOrg.setId(SystemConstant.getDbUuid());
+            sysOrg.setSchoolId(schoolId);
+            sysOrg.setName(courseDataVo.getCollegeName());
+            sysOrg.setParentId(rootOrg.getId());
+            sysOrg.setEnable(true);
+            sysOrgService.save(sysOrg);
         }
         BasicCourse basicCourse = this.getByTeachRoomIdAndCode(sysOrg.getId(), courseDataVo.getCode());
         if (basicCourse == null) {

+ 14 - 1
teachcloud-data/src/main/java/com/qmth/teachcloud/data/service/impl/DataServiceImpl.java

@@ -3,9 +3,11 @@ package com.qmth.teachcloud.data.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.qmth.distributed.print.business.bean.params.SysAdminSetParam;
+import com.qmth.distributed.print.business.enums.RequiredFieldsEnum;
 import com.qmth.distributed.print.business.service.BasicExamStudentService;
 import com.qmth.distributed.print.business.service.BasicMessageService;
 import com.qmth.distributed.print.business.service.ExamTaskService;
+import com.qmth.teachcloud.common.bean.examRule.CodeNameEnableDisabledValue;
 import com.qmth.teachcloud.common.bean.sync.*;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicSchool;
@@ -16,6 +18,7 @@ import com.qmth.teachcloud.common.service.BasicCourseService;
 import com.qmth.teachcloud.common.service.CommonCacheService;
 import com.qmth.teachcloud.common.service.SysOrgService;
 import com.qmth.teachcloud.common.service.SysUserService;
+import com.qmth.teachcloud.common.util.ConvertUtil;
 import com.qmth.teachcloud.data.DataUtil;
 import com.qmth.teachcloud.data.entity.TSyncData;
 import com.qmth.teachcloud.common.bean.sync.TSyncDataStudent;
@@ -197,10 +200,20 @@ public class DataServiceImpl implements DataService {
                 tSyncDataStudent.setId(SystemConstant.getDbUuid());
                 tSyncDataStudent.setSchoolId(schoolId);
                 tSyncDataStudent.setExamId(examId);
+
+                // 解析考试日期和考试时间
+                if (StringUtils.isNoneBlank(tSyncDataStudent.getExamDate(), tSyncDataStudent.getExamTime())) {
+                    try {
+                        Map<String, Object> timeMap = ConvertUtil.analyzeExamTime(tSyncDataStudent.getExamDate(), tSyncDataStudent.getExamTime());
+                        tSyncDataStudent.setExamStartTime(Long.valueOf(String.valueOf(timeMap.get("startTime"))));
+                        tSyncDataStudent.setExamEndTime(Long.valueOf(String.valueOf(timeMap.get("endTime"))));
+                    } catch (Exception e) {
+                    }
+                }
             }
             tSyncDataStudentService.remove(new UpdateWrapper<TSyncDataStudent>().lambda().eq(TSyncDataStudent::getSchoolId, schoolId).eq(TSyncDataStudent::getExamId, examId));
             tSyncDataStudentService.saveBatch(dataVoList, 2000);
-            basicExamStudentService.saveBasicExamStudentFormSync(schoolId, examId, dataVoList);
+//            basicExamStudentService.saveBasicExamStudentFormSync(schoolId, examId, dataVoList);
         } catch (Exception e) {
             count = 0;
             errorMsg = e.getMessage();

+ 1 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/ScanAnswerCardServiceImpl.java

@@ -196,6 +196,7 @@ public class ScanAnswerCardServiceImpl extends ServiceImpl<ScanAnswerCardMapper,
                         scanAnswerCardQuestion.setPaperNumber(markPaper.getPaperNumber());
                         scanAnswerCardQuestion.setCoursePaperId(coursePaperId);
                         scanAnswerCardQuestion.setCardNumber(number);
+                        scanAnswerCardQuestion.setSerialNumber(markPaper.getSerialNumber());
                         scanAnswerCardQuestion.setMainNumber(item.getMainNumber());
                         scanAnswerCardQuestion.setSubNumber(item.getSubNumber());
                         scanAnswerCardQuestion.setOptionCount(item.getOptions().size());

+ 1 - 0
teachcloud-task/src/main/java/com/qmth/teachcloud/task/service/impl/PrintFinishServiceImpl.java

@@ -375,6 +375,7 @@ public class PrintFinishServiceImpl implements PrintFinishService {
                     scanAnswerCardQuestion.setExamId(examId);
                     scanAnswerCardQuestion.setPaperNumber(paperNumber);
                     scanAnswerCardQuestion.setCoursePaperId(markPaper.getCoursePaperId());
+                    scanAnswerCardQuestion.setSerialNumber(markPaper.getSerialNumber());
                     scanAnswerCardQuestion.setCardNumber(number);
                     scanAnswerCardQuestion.setMainNumber(struct.getMainNumber());
                     scanAnswerCardQuestion.setSubNumber(struct.getSubNumber());