xiaofei преди 1 година
родител
ревизия
5cb29665a1

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

@@ -25,5 +25,5 @@ public interface ExamCardMapper extends BaseMapper<ExamCard> {
 
     IPage<ExamCard> listPage(@Param("page") Page<ExamCard> page, @Param("schoolId") Long schoolId, @Param("cardType") String cardType, @Param("title") String title, @Param("createMethod") String createMethod, @Param("enable") Boolean enable, @Param("createStartTime") Long createStartTime, @Param("createEndTime") Long createEndTime, @Param("dpr") DataPermissionRule dpr);
 
-    List<ExamCard> listCustomByExamStage(@Param("schoolId") Long schoolId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("type") String type);
+    List<ExamCard> listCustomByExamStage(@Param("schoolId") Long schoolId, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("type") String type);
 }

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

@@ -23,7 +23,7 @@ public interface ExamCardService extends IService<ExamCard> {
 
     Map<String, String> saveExamCard(ExamCardParams examCardParams) throws Exception;
 
-    List<ExamCard> listSelectCard(String courseCode, Long cardRuleId, String paperNumber);
+    List<ExamCard> listSelectCard(String courseCode, Long examId, String paperNumber);
 
     IPage<ExamCard> listPage(String cardType, String title, String createMethod, Boolean enable, Long createStartTime, Long createEndTime, Integer pageNumber, Integer pageSize);
 

+ 7 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamCardServiceImpl.java

@@ -26,6 +26,7 @@ import com.qmth.teachcloud.common.bean.vo.PaperInfoVo;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicAttachment;
 import com.qmth.teachcloud.common.entity.BasicCourse;
+import com.qmth.teachcloud.common.entity.BasicPrintConfig;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.CardCreateMethodEnum;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
@@ -81,6 +82,8 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
     private FileUploadService fileUploadService;
     @Resource
     private ScanAnswerCardService scanAnswerCardService;
+    @Resource
+    private BasicPrintConfigService basicPrintConfigService;
 
     @Transactional
     @Override
@@ -163,9 +166,10 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
     }
 
     @Override
-    public List<ExamCard> listSelectCard(String courseCode, Long cardRuleId, String paperNumber) {
+    public List<ExamCard> listSelectCard(String courseCode, Long examId, String paperNumber) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        BasicPrintConfig basicPrintConfig = basicPrintConfigService.getByExamId(examId);
+        Long cardRuleId = basicPrintConfig.getCardRuleId();
 
         // 通用题卡
         List<ExamCard> list = new ArrayList<>();
@@ -183,7 +187,7 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
         }
 
         // 命题任务未提交的任务,单独查询题卡
-        List<ExamCard> customCards = this.baseMapper.listCustomByExamStage(schoolId, courseCode, paperNumber, CardTypeEnum.CUSTOM.name());
+        List<ExamCard> customCards = this.baseMapper.listCustomByExamStage(schoolId, examId, courseCode, paperNumber, CardTypeEnum.CUSTOM.name());
         if (!customCards.isEmpty()) {
             for (ExamCard customCard : customCards) {
                 long count = list.stream().filter(m -> m.getId().equals(customCard.getId())).count();

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

@@ -116,7 +116,8 @@
                               exam_task_detail b
                                   LEFT JOIN exam_task et on b.exam_task_id = et.id
                           WHERE
-                              et.paper_number = #{paperNumber}
+                                et.exam_id = #{examId}
+                              and et.paper_number = #{paperNumber}
                             and FIND_IN_SET(a.id, REPLACE(REPLACE(substring_index(substring_index(CONVERT((b.paper_attachment_ids ->>'$[*].cardId') USING utf8), ']', 1), '[',-1),' "','"'),'"','')))
         order by a.create_time desc
     </select>

+ 2 - 3
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamCardController.java

@@ -136,9 +136,8 @@ public class ExamCardController {
      */
     @ApiOperation(value = "选择已有题卡列表")
     @RequestMapping(value = "/select_card_list", method = RequestMethod.POST)
-    public Result selectCardList(@RequestParam String examId, @RequestParam String courseCode, @RequestParam(required = false) String paperNumber) {
-        BasicPrintConfig basicPrintConfig = basicPrintConfigService.getByExamId(SystemConstant.convertIdToLong(examId));
-        List<ExamCard> list = examCardService.listSelectCard(courseCode, basicPrintConfig.getCardRuleId(), paperNumber);
+    public Result selectCardList(@RequestParam Long examId, @RequestParam String courseCode, @RequestParam(required = false) String paperNumber) {
+        List<ExamCard> list = examCardService.listSelectCard(courseCode, examId, paperNumber);
         return ResultUtil.ok(list);
     }