Browse Source

3.2.3 题卡选择改为查询课程下所有题卡,允许复制,不能选择

xiaof 2 years ago
parent
commit
9143bd7839

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamCard.java

@@ -78,7 +78,7 @@ public class ExamCard extends BaseEntity implements Serializable {
     @TableField("attachment_id")
     private Long attachmentId;
 
-    @TableField("sync_status")
+    @TableField(value = "sync_status", updateStrategy = FieldStrategy.IGNORED)
     private Boolean syncStatus;
 
     private Boolean enable;

+ 2 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamCardDetail.java

@@ -1,5 +1,6 @@
 package com.qmth.distributed.print.business.entity;
 
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
@@ -39,7 +40,7 @@ public class ExamCardDetail extends BaseEntity implements Serializable {
     @TableField("cust_attachment_id")
     private String custAttachmentId;
 
-    @TableField("jpg_attachment_info")
+    @TableField(value = "jpg_attachment_info", updateStrategy = FieldStrategy.IGNORED)
     private String jpgAttachmentInfo;
 
     public Long getCardId() {

+ 20 - 12
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamCardServiceImpl.java

@@ -272,7 +272,7 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
         }
         // 专卡
         if (SystemConstant.ALL_CARD != cardRuleId) {
-            // 只查自己创建的专卡
+            // 只查自己创建的专卡(20230405已改为查询课程下所有题卡,允许复制,不能选择)
             List<ExamCard> customCards = this.baseMapper.listCustom(schoolId, sysUser.getOrgId(), courseCode, CardTypeEnum.CUSTOM.name(), sysUser.getId());
             if (!customCards.isEmpty()) {
                 list.addAll(customCards);
@@ -506,28 +506,29 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
     @Override
     public Long copyCard(Long id, String courseCode) {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        List<BasicCourse> basicCourseList = basicCourseService.list(new QueryWrapper<BasicCourse>().lambda().eq(BasicCourse::getSchoolId, requestUser.getSchoolId()).eq(BasicCourse::getCode, courseCode));
-        if (basicCourseList.size() != 1) {
-            throw ExceptionResultEnum.ERROR.exception("复制后题卡要绑定的课程异常");
-        }
-        BasicCourse basicCourse = basicCourseList.get(0);
+//        List<BasicCourse> basicCourseList = basicCourseService.list(new QueryWrapper<BasicCourse>().lambda().eq(BasicCourse::getSchoolId, requestUser.getSchoolId()).eq(BasicCourse::getCode, courseCode));
+//        if (basicCourseList.size() != 1) {
+//            throw ExceptionResultEnum.ERROR.exception("复制后题卡要绑定的课程异常");
+//        }
+//        BasicCourse basicCourse = basicCourseList.get(0);
 
         ExamCard examCard = this.getById(id);
         if (examCard == null) {
             throw ExceptionResultEnum.ERROR.exception("题卡不存在");
         }
+        if (courseCode.equals(examCard.getCourseCode())) {
+            throw ExceptionResultEnum.ERROR.exception("复制的题卡不属于当前课程,无法复制");
+        }
+
         // 复制题卡
         ExamCard copyExamCard = new ExamCard();
         BeanUtils.copyProperties(examCard, copyExamCard);
         String title = checkTitle(examCard, courseCode);
         copyExamCard.setTitle(title);
-        copyExamCard.setCourseCode(basicCourse.getCode());
-        copyExamCard.setCourseName(basicCourse.getName());
-        copyExamCard.setMakeMethod(MakeMethodEnum.SELF);
-        copyExamCard.setCreateMethod(null);
-        copyExamCard.setType(CardTypeEnum.CUSTOM);
-        copyExamCard.setCardRuleId(null);
         copyExamCard.insertInfo(requestUser.getId());
+        copyExamCard.setSyncStatus(null);
+        copyExamCard.setRemark("复制于题卡:" + id);
+        copyExamCard.setUsed(false);
         this.save(copyExamCard);
         Long copyExamCardId = copyExamCard.getId();
 
@@ -540,6 +541,13 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
         BeanUtils.copyProperties(examCardDetail, copyExamCardDetail);
         copyExamCardDetail.setId(SystemConstant.getDbUuid());
         copyExamCardDetail.setCardId(copyExamCardId);
+        // 生成图片
+        List<ConvertJpgStorage> convertJpgStorageList = htmlToJpgUtil.convertHtmlToJpgByCard(examCard.getTitle(), copyExamCardDetail.getHtmlContent(), PageSizeEnum.A3);
+        if (!convertJpgStorageList.isEmpty()) {
+            copyExamCardDetail.setJpgAttachmentInfo(JSON.toJSONString(convertJpgStorageList));
+        } else {
+            copyExamCardDetail.setJpgAttachmentInfo(null);
+        }
         examCardDetailService.save(copyExamCardDetail);
 
         return copyExamCardId;

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

@@ -125,15 +125,15 @@
     </select>
     <select id="listCustom" resultType="com.qmth.distributed.print.business.entity.ExamCard">
         SELECT
-            a.id, a.title, a.type, a.create_id createId, a.make_method makeMethod, a.create_method createMethod
+            a.id, a.title, a.type, a.create_id createId, a.make_method makeMethod, a.create_method createMethod, a.used
         FROM
             exam_card a
         WHERE
             a.school_id = #{schoolId}
             AND a.type = #{type}
             AND a.course_code = #{courseCode}
-            AND a.used = false
-            AND a.create_id = #{userId}
+            -- AND a.used = false
+            -- AND a.create_id = #{userId}
             -- NOT EXISTS( SELECT 1 FROM
             --     exam_task_detail b
             --        LEFT JOIN exam_task et on b.exam_task_id = et.id