Jelajahi Sumber

3.2.3 标准模式通卡复制完后变为专卡

xiaofei 2 tahun lalu
induk
melakukan
7ac6aa8833

+ 9 - 6
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamCardServiceImpl.java

@@ -507,11 +507,6 @@ 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);
 
         ExamCard examCard = this.getById(id);
         if (examCard == null) {
@@ -528,7 +523,15 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
         copyExamCard.setTitle(title);
         copyExamCard.insertInfo(requestUser.getId());
         copyExamCard.setSyncStatus(null);
-        copyExamCard.setRemark("复制于题卡:" + id);
+        if (CardTypeEnum.GENERIC.equals(examCard.getType()) && CardCreateMethodEnum.STANDARD.equals(examCard.getCreateMethod())) {
+            BasicCourse basicCourse = basicCourseService.findByCourseCode(courseCode, requestUser.getSchoolId());
+            copyExamCard.setCourseCode(courseCode);
+            copyExamCard.setCourseName(basicCourse != null ? basicCourse.getName() : null);
+            copyExamCard.setMakeMethod(MakeMethodEnum.SELF);
+            copyExamCard.setCreateMethod(null);
+            copyExamCard.setType(CardTypeEnum.CUSTOM);
+        }
+        copyExamCard.setRemark(String.format("来源题卡:%s(%s)", id, examCard.getTitle()));
         copyExamCard.setUsed(false);
         this.save(copyExamCard);
         Long copyExamCardId = copyExamCard.getId();