소스 검색

3.3.3 update

xiaofei 1 년 전
부모
커밋
b0fbebd7bb

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

@@ -23,7 +23,7 @@ public interface ExamCardMapper extends BaseMapper<ExamCard> {
 
     List<ExamCard> listCustom(@Param("schoolId") Long schoolId, @Param("courseCode") String courseCode, @Param("type") String type, @Param("cardRuleId") Long cardRuleId);
 
-    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);
+    IPage<ExamCard> listPage(@Param("page") Page<ExamCard> page, @Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @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("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

@@ -25,7 +25,7 @@ public interface ExamCardService extends IService<ExamCard> {
 
     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);
+    IPage<ExamCard> listPage(Long semesterId, Long examId, String courseCode, String paperNumber, String cardType, String title, String createMethod, Boolean enable, Long createStartTime, Long createEndTime, Integer pageNumber, Integer pageSize);
 
     Map<String, String> saveGeneric(GenericExamCardParams params) throws Exception;
 

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

@@ -201,11 +201,11 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
     }
 
     @Override
-    public IPage<ExamCard> listPage(String cardType, String title, String createMethod, Boolean enable, Long createStartTime, Long createEndTime, Integer pageNumber, Integer pageSize) {
+    public IPage<ExamCard> listPage(Long semesterId, Long examId, String courseCode, String paperNumber, String cardType, String title, String createMethod, Boolean enable, Long createStartTime, Long createEndTime, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId, requestUser.getId(), ServletUtil.getRequest().getServletPath());
-        IPage<ExamCard> cardPageDtoIPage = this.baseMapper.listPage(new Page<>(pageNumber, pageSize), schoolId, cardType, title, createMethod, enable, createStartTime, createEndTime, dpr);
+        IPage<ExamCard> cardPageDtoIPage = this.baseMapper.listPage(new Page<>(pageNumber, pageSize), schoolId, semesterId, examId, courseCode, paperNumber, cardType, title, createMethod, enable, createStartTime, createEndTime, dpr);
         for (ExamCard record : cardPageDtoIPage.getRecords()) {
             if (StringUtils.isNotBlank(record.getJpgAttachment())) {
                 List<JSONObject> mapList = JSON.parseArray(record.getJpgAttachment(), JSONObject.class);

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

@@ -70,6 +70,35 @@
         <include refid="Base_Column_List"></include>
         <where>
             school_id = #{schoolId}
+            <if test="semesterId != null || examId != null">
+               AND EXISTS( SELECT
+                    1
+                FROM
+                (SELECT
+                REPLACE(substring_index(substring_index(CONVERT((etd.paper_attachment_ids ->>'$[*].cardId')
+                USING utf8), ']', 1), '[',-1),'"','') as cardId
+                FROM
+                exam_task et
+                LEFT JOIN exam_task_detail etd ON et.id = etd.exam_task_id
+                LEFT JOIN basic_exam be ON et.exam_id = be.id
+                <where>
+                    <if test="semesterId != null">
+                       AND be.semester_id = #{semesterId}
+                    </if>
+                    <if test="examId != null">
+                        AND et.exam_id = #{examId}
+                    </if>
+                    <if test="courseCode != null">
+                        AND et.course_code = #{courseCode}
+                    </if>
+                    <if test="paperNumber != null">
+                        AND et.paper_number = #{paperNumber}
+                    </if>
+                </where>
+                ) t
+                WHERE
+                FIND_IN_SET(id, t.cardId))
+            </if>
             <if test="cardType != null and cardType != ''">
                 and type = #{cardType}
             </if>

+ 11 - 17
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamCardController.java

@@ -45,28 +45,22 @@ public class ExamCardController {
 
     /**
      * 题卡管理-分页查询
-     *
-     * @param cardType        题卡类型(通卡或专卡)
-     * @param title           题卡名称模糊查询
-     * @param createMethod    题卡创建方式(上传、自定义)
-     * @param enable          1正常/0禁用
-     * @param createStartTime 创建时间(开始)
-     * @param createEndTime   创建时间(结束)
-     * @param pageNumber      分页参数
-     * @param pageSize        分页参数
-     * @return Result
      */
     @ApiOperation(value = "分页查询")
     @RequestMapping(value = "/page", method = RequestMethod.POST)
-    public Result page(@RequestParam(value = "cardType", required = false) String cardType,
-                       @RequestParam(value = "title", required = false) String title,
-                       @RequestParam(value = "createMethod", required = false) String createMethod,
-                       @RequestParam(value = "enable", required = false) Boolean enable,
-                       @RequestParam(value = "createStartTime", required = false) Long createStartTime,
-                       @RequestParam(value = "createEndTime", required = false) Long createEndTime,
+    public Result page(@ApiParam(value = "学期ID") @RequestParam(required = false) Long semesterId,
+                       @ApiParam(value = "考试ID") @RequestParam(required = false) Long examId,
+                       @ApiParam(value = "课程代码") @RequestParam(required = false) String courseCode,
+                       @ApiParam(value = "试卷编号") @RequestParam(required = false) String paperNumber,
+                       @ApiParam(value = "题卡类型(通卡或专卡)") @RequestParam(value = "cardType", required = false) String cardType,
+                       @ApiParam(value = "题卡名称模糊查询") @RequestParam(value = "title", required = false) String title,
+                       @ApiParam(value = "题卡创建方式(上传、自定义)") @RequestParam(value = "createMethod", required = false) String createMethod,
+                       @ApiParam(value = "1正常/0禁用") @RequestParam(value = "enable", required = false) Boolean enable,
+                       @ApiParam(value = "创建时间(开始)") @RequestParam(value = "createStartTime", required = false) Long createStartTime,
+                       @ApiParam(value = "创建时间(结束)") @RequestParam(value = "createEndTime", required = false) Long createEndTime,
                        @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
                        @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
-        IPage<ExamCard> examCardIPage = examCardService.listPage(cardType, title, createMethod, enable, createStartTime, createEndTime, pageNumber, pageSize);
+        IPage<ExamCard> examCardIPage = examCardService.listPage(semesterId, examId, courseCode, paperNumber, cardType, title, createMethod, enable, createStartTime, createEndTime, pageNumber, pageSize);
         return ResultUtil.ok(examCardIPage);
     }