Переглянути джерело

新增平时成绩和期末成绩列表

wangliang 1 рік тому
батько
коміт
b0096ba54b

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

@@ -1,7 +1,11 @@
 package com.qmth.distributed.print.business.mapper;
 
-import com.qmth.distributed.print.business.entity.TCFinalScore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.qmth.distributed.print.business.entity.TCFinalScore;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Map;
 
 /**
  * <p>
@@ -13,4 +17,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface TCFinalScoreMapper extends BaseMapper<TCFinalScore> {
 
+    /**
+     * 期末成绩列表(分页)
+     *
+     * @param iPage
+     * @param examId
+     * @param courseCode
+     * @param paperNumber
+     * @return
+     */
+    public IPage<TCFinalScore> finalScoreList(IPage<Map> iPage, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber);
 }

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

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.qmth.distributed.print.business.bean.result.ScoreResult;
 import com.qmth.distributed.print.business.entity.TCUsualScore;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.Map;
@@ -24,7 +25,19 @@ public interface TCUsualScoreMapper extends BaseMapper<TCUsualScore> {
      * @param iPage
      * @param examId
      * @param courseCode
+     * @param dpr
      * @return
      */
-    public IPage<ScoreResult> scoreList(IPage<Map> iPage, @Param("examId") Long examId, @Param("courseCode") String courseCode);
+    public IPage<ScoreResult> scoreList(IPage<Map> iPage, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("dpr") DataPermissionRule dpr);
+
+    /**
+     * 平时成绩列表(分页)
+     *
+     * @param iPage
+     * @param examId
+     * @param courseCode
+     * @param paperNumber
+     * @return
+     */
+    public IPage<TCUsualScore> usualScoreList(IPage<Map> iPage, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber);
 }

+ 13 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/TCFinalScoreService.java

@@ -1,7 +1,9 @@
 package com.qmth.distributed.print.business.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.distributed.print.business.entity.TCFinalScore;
+import com.qmth.distributed.print.business.entity.TCUsualScore;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
@@ -28,4 +30,15 @@ public interface TCFinalScoreService extends IService<TCFinalScore> {
      * @throws IOException
      */
     public Map<String, String> finalScoreExcelImport(MultipartFile file, Long examId, String courseCode, String paperNumber) throws IOException;
+
+    /**
+     * 期末成绩列表(分页)
+     *
+     * @param iPage
+     * @param examId
+     * @param courseCode
+     * @param paperNumber
+     * @return
+     */
+    public IPage<TCFinalScore> finalScoreList(IPage<Map> iPage, Long examId, String courseCode, String paperNumber);
 }

+ 11 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/TCUsualScoreService.java

@@ -2,13 +2,10 @@ package com.qmth.distributed.print.business.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.qmth.distributed.print.business.bean.excel.ExcelField;
-import com.qmth.distributed.print.business.bean.result.ScoreResult;
 import com.qmth.distributed.print.business.entity.TCUsualScore;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -32,4 +29,15 @@ public interface TCUsualScoreService extends IService<TCUsualScore> {
      * @throws IOException
      */
     public Map<String, String> usualScoreExcelImport(MultipartFile file, Long examId, String courseCode, String paperNumber) throws IOException;
+
+    /**
+     * 平时成绩列表(分页)
+     *
+     * @param iPage
+     * @param examId
+     * @param courseCode
+     * @param paperNumber
+     * @return
+     */
+    public IPage<TCUsualScore> usualScoreList(IPage<Map> iPage, Long examId, String courseCode, String paperNumber);
 }

+ 7 - 14
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/PrintCommonServiceImpl.java

@@ -26,6 +26,7 @@ import com.qmth.distributed.print.business.mapper.TCUsualScoreMapper;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.distributed.print.business.util.CreatePrintPdfUtil;
 import com.qmth.distributed.print.business.util.PdfUtil;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.bean.dto.MqDto;
 import com.qmth.teachcloud.common.bean.params.ArraysParams;
 import com.qmth.teachcloud.common.bean.result.BasicStudentResult;
@@ -67,8 +68,6 @@ import java.net.URLEncoder;
 import java.nio.charset.StandardCharsets;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
-import java.util.concurrent.locks.Lock;
-import java.util.concurrent.locks.ReentrantLock;
 import java.util.stream.Collectors;
 
 /**
@@ -82,8 +81,6 @@ import java.util.stream.Collectors;
 public class PrintCommonServiceImpl implements PrintCommonService {
     private final static Logger log = LoggerFactory.getLogger(PrintCommonServiceImpl.class);
 
-    Lock lock = new ReentrantLock();
-
     @Resource
     private DictionaryConfig dictionaryConfig;
 
@@ -116,9 +113,6 @@ public class PrintCommonServiceImpl implements PrintCommonService {
     @Lazy
     ExamDetailService examDetailService;
 
-    @Resource
-    private ConvertUtil convertUtil;
-
     @Resource
     @Lazy
     ExamTaskDetailService examTaskDetailService;
@@ -135,15 +129,9 @@ public class PrintCommonServiceImpl implements PrintCommonService {
     @Resource
     TeachcloudCommonService teachcloudCommonService;
 
-    @Resource
-    ExamStudentService examStudentService;
-
     @Resource
     RedisUtil redisUtil;
 
-    @Resource
-    BasicCardRuleService basicCardRuleService;
-
     @Resource
     BasicExamService basicExamService;
 
@@ -177,6 +165,9 @@ public class PrintCommonServiceImpl implements PrintCommonService {
     @Resource
     TCUsualScoreMapper tcUsualScoreMapper;
 
+    @Resource
+    BasicRoleDataPermissionService basicRoleDataPermissionService;
+
     /**
      * 保存附件
      *
@@ -467,7 +458,9 @@ public class PrintCommonServiceImpl implements PrintCommonService {
      */
     @Override
     public IPage<ScoreResult> scoreList(IPage<Map> iPage, Long examId, String courseCode) {
-        return tcUsualScoreMapper.scoreList(iPage, examId, courseCode);
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(sysUser.getSchoolId(), sysUser.getId(), ServletUtil.getRequest().getServletPath());
+        return tcUsualScoreMapper.scoreList(iPage, examId, courseCode, dpr);
     }
 
     /**

+ 15 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TCFinalScoreServiceImpl.java

@@ -4,6 +4,7 @@ import com.alibaba.excel.EasyExcel;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.distributed.print.business.entity.TCFinalScore;
@@ -151,4 +152,18 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
         log.info("============耗时{}秒============:", (end - start) / 1000);
         return messageMap;
     }
+
+    /**
+     * 期末成绩列表(分页)
+     *
+     * @param iPage
+     * @param examId
+     * @param courseCode
+     * @param paperNumber
+     * @return
+     */
+    @Override
+    public IPage<TCFinalScore> finalScoreList(IPage<Map> iPage, Long examId, String courseCode, String paperNumber) {
+        return this.baseMapper.finalScoreList(iPage, examId, courseCode, paperNumber);
+    }
 }

+ 15 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TCUsualScoreServiceImpl.java

@@ -4,6 +4,7 @@ import com.alibaba.excel.EasyExcel;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.distributed.print.business.entity.TCUsualScore;
@@ -146,4 +147,18 @@ public class TCUsualScoreServiceImpl extends ServiceImpl<TCUsualScoreMapper, TCU
         log.info("============耗时{}秒============:", (end - start) / 1000);
         return messageMap;
     }
+
+    /**
+     * 平时成绩列表(分页)
+     *
+     * @param iPage
+     * @param examId
+     * @param courseCode
+     * @param paperNumber
+     * @return
+     */
+    @Override
+    public IPage<TCUsualScore> usualScoreList(IPage<Map> iPage, Long examId, String courseCode, String paperNumber) {
+        return this.baseMapper.usualScoreList(iPage, examId, courseCode, paperNumber);
+    }
 }

+ 15 - 0
distributed-print-business/src/main/resources/mapper/TCFinalScoreMapper.xml

@@ -2,4 +2,19 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.qmth.distributed.print.business.mapper.TCFinalScoreMapper">
 
+    <select id="finalScoreList" resultType="com.qmth.distributed.print.business.entity.TCFinalScore">
+        select * from t_c_final_score t
+        <where>
+            <if test="examId != null and examId != ''">
+                and t.exam_id = #{examId}
+            </if>
+            <if test="courseCode != null and courseCode != ''">
+                and t.course_code = #{courseCode}
+            </if>
+            <if test="paperNumber != null and paperNumber != ''">
+                and t.paper_number = #{paperNumber}
+            </if>
+        </where>
+    </select>
+
 </mapper>

+ 27 - 0
distributed-print-business/src/main/resources/mapper/TCUsualScoreMapper.xml

@@ -13,6 +13,7 @@
             mark_paper t
             left join basic_exam be on be.id = t.exam_id
             left join basic_semester bs on bs.id = be.semester_id
+            left join sys_user su on t.user_id = su.id
         <where>
             <if test="examId != null and examId != ''">
                 and t.exam_id = #{examId}
@@ -21,7 +22,33 @@
                 and t.course_code = #{courseCode}
             </if>
             AND t.status = 'FINISH'
+            <if test="dpr != null">
+                <if test="dpr.requestUserId != null">
+                    AND t.user_id = #{dpr.requestUserId}
+                </if>
+                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
+                    AND su.org_id IN
+                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
+            </if>
         </where>
         ORDER BY t.course_code
     </select>
+
+    <select id="usualScoreList" resultType="com.qmth.distributed.print.business.entity.TCUsualScore">
+        select * from t_c_usual_score t
+        <where>
+            <if test="examId != null and examId != ''">
+                and t.exam_id = #{examId}
+            </if>
+            <if test="courseCode != null and courseCode != ''">
+                and t.course_code = #{courseCode}
+            </if>
+            <if test="paperNumber != null and paperNumber != ''">
+                and t.paper_number = #{paperNumber}
+            </if>
+        </where>
+    </select>
 </mapper>

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

@@ -1,11 +1,11 @@
 package com.qmth.distributed.print.api;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.distributed.print.business.bean.excel.ExcelField;
 import com.qmth.distributed.print.business.bean.result.EditResult;
 import com.qmth.distributed.print.business.service.PrintCommonService;
 import com.qmth.distributed.print.business.service.TCFinalScoreService;
-import com.qmth.distributed.print.business.service.TCUsualScoreService;
 import com.qmth.teachcloud.common.annotation.OperationLogDetail;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.MarkQuestion;
@@ -97,7 +97,7 @@ public class TCFinalScoreController {
                                  @ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber,
                                  @ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
                                  @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) throws IOException {
-        return ResultUtil.ok(true);
+        return ResultUtil.ok(tcFinalScoreService.finalScoreList(new Page<>(pageNumber, pageSize), examId, courseCode, paperNumber));
     }
 
     @ApiOperation(value = "期末成绩编辑")

+ 1 - 1
distributed-print/src/main/java/com/qmth/distributed/print/api/TCUsualScoreController.java

@@ -98,7 +98,7 @@ public class TCUsualScoreController {
                                  @ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber,
                                  @ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
                                  @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) throws IOException {
-        return ResultUtil.ok(true);
+        return ResultUtil.ok(tcUsualScoreService.usualScoreList(new Page<>(pageNumber, pageSize), examId, courseCode, paperNumber));
     }
 
     @ApiOperation(value = "平时成绩编辑")