Jelajahi Sumber

更新学生成绩后台首页

Administrator 1 tahun lalu
induk
melakukan
c14b4f2d1e

+ 23 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/score/ScoreDataController.java

@@ -13,6 +13,8 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.system.domain.score.ScoreData;
 import org.dromara.system.domain.score.ScoreDataStudent;
 import org.dromara.system.domain.score.bo.ScoreDataBo;
+import org.dromara.system.domain.score.vo.ScoreDataDetailVo;
+import org.dromara.system.domain.score.vo.ScoreDataStudentVo;
 import org.dromara.system.domain.score.vo.ScoreDataVo;
 import org.dromara.system.domain.vo.SysUserImportVo;
 import org.dromara.system.listener.ScoreDataListener;
@@ -166,4 +168,25 @@ public class ScoreDataController extends BaseController {
         Map<String, Object> map = scoreDataService.indexZheXian(scoreData);
         return AjaxResult.success(map);
     }
+
+
+    /**
+     * 成绩年级统计
+     */
+    @PostMapping("/gradeRank")
+    public TableDataInfo<ScoreDataStudentVo> gradeRank(@RequestBody ScoreData scoreData)
+    {
+        List<ScoreDataStudentVo> scoreDataStudentVos = scoreDataService.gradeRank(scoreData);
+        return TableDataInfo.build(scoreDataStudentVos);
+    }
+
+    /**
+     * 成绩学科统计
+     */
+    @PostMapping("/xuekeRank")
+    public TableDataInfo<ScoreDataDetailVo> xuekeRank(@RequestBody ScoreData scoreData)
+    {
+        List<ScoreDataDetailVo> scoreDataDetailVo = scoreDataService.xuekeRank(scoreData);
+        return TableDataInfo.build(scoreDataDetailVo);
+    }
 }

+ 14 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/score/ScoreDataStudentMapper.java

@@ -1,9 +1,12 @@
 package org.dromara.system.mapper.score;
 
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import org.dromara.system.domain.score.ScoreData;
 import org.dromara.system.domain.score.ScoreDataStudent;
 import org.dromara.system.domain.score.bo.ScoreDataStudentBo;
+import org.dromara.system.domain.score.vo.ScoreDataDetailVo;
 import org.dromara.system.domain.score.vo.ScoreDataStudentVo;
 
 import java.util.List;
@@ -21,9 +24,20 @@ public interface ScoreDataStudentMapper extends BaseMapperPlus<ScoreDataStudent,
      * @param scoreClassId
      * @return
      */
+    @InterceptorIgnore(tenantLine = "true")
+
     public List<ScoreDataStudent> selectScoreDataByScoreClassId(String scoreClassId);
+    @InterceptorIgnore(tenantLine = "true")
+
     public List<ScoreDataStudentVo> selectScoreDataForParents(Long scoreId);
+    @InterceptorIgnore(tenantLine = "true")
+
     public List<ScoreDataStudentVo> selectScoreByScoreId(Long scoreId);
+    @InterceptorIgnore(tenantLine = "true")
+    public List<ScoreDataStudentVo> gradeRank(ScoreData scoreData);
+
+    @InterceptorIgnore(tenantLine = "true")
+    public List<ScoreDataDetailVo> xuekeRank(ScoreData scoreData);
 
 
 }

+ 33 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/score/ScoreDataServiceImpl.java

@@ -26,6 +26,7 @@ import org.dromara.system.domain.score.bo.ScoreDataBo;
 import org.dromara.system.domain.score.bo.ScoreDataDetailBo;
 import org.dromara.system.domain.score.bo.ScoreDataMfBo;
 import org.dromara.system.domain.score.bo.ScoreDataStudentBo;
+import org.dromara.system.domain.score.vo.ScoreDataDetailVo;
 import org.dromara.system.domain.score.vo.ScoreDataMfVo;
 import org.dromara.system.domain.score.vo.ScoreDataStudentVo;
 import org.dromara.system.domain.score.vo.ScoreDataVo;
@@ -405,6 +406,38 @@ public class ScoreDataServiceImpl implements IScoreDataService {
         return map;
     }
 
+
+    /**
+     * 成绩年级统计
+     */
+    @Override
+    public List<ScoreDataStudentVo> gradeRank(ScoreData scoreData) {
+        //可以搜索学生姓名&选择班级进行年级排名
+        //接收考试时间和考试类型,所有考试时间相同的
+        String scoreClassName = scoreData.getScoreClassName();
+        //截取两位年级
+        String grade = scoreClassName.substring(0, 2);
+        scoreData.setScoreClassName(grade);
+        return scoreDataStudentMapper.gradeRank(scoreData);
+    }
+
+
+    /**
+     * 成绩年级统计
+     * @param scoreData
+     * @return
+     */
+    @Override
+    public List<ScoreDataDetailVo> xuekeRank(ScoreData scoreData) {
+        //可以搜索学生姓名&选择班级进行年级排名
+        //接收考试时间和考试类型,所有考试时间相同的
+        String scoreClassName = scoreData.getScoreClassName();
+        //截取两位年级
+        String grade = scoreClassName.substring(0, 2);
+        scoreData.setScoreClassName(grade);
+        return scoreDataStudentMapper.xuekeRank(scoreData);
+    }
+
     /**
      * 查询成绩
      *

+ 15 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/score/IScoreDataService.java

@@ -5,6 +5,8 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.system.domain.score.ScoreData;
 import org.dromara.system.domain.score.ScoreDataStudent;
 import org.dromara.system.domain.score.bo.ScoreDataBo;
+import org.dromara.system.domain.score.vo.ScoreDataDetailVo;
+import org.dromara.system.domain.score.vo.ScoreDataStudentVo;
 import org.dromara.system.domain.score.vo.ScoreDataVo;
 import java.util.Collection;
 import java.util.List;
@@ -63,6 +65,19 @@ public interface IScoreDataService {
      */
     public Map<String,Object> indexZheXian(ScoreData scoreData);
 
+
+    /**
+     * 成绩年级统计
+     */
+    public List<ScoreDataStudentVo> gradeRank(ScoreData scoreData);
+
+    /**
+     * 成绩学科统计
+     * @param scoreData
+     * @return
+     */
+    public List<ScoreDataDetailVo> xuekeRank(ScoreData scoreData);
+
     /**
      * 查询成绩
      *

+ 37 - 0
ruoyi-modules/ruoyi-system/src/main/resources/mapper/score/ScoreDataStudentMapper.xml

@@ -69,4 +69,41 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 LEFT JOIN score_data_detail d ON d.score_id = b.score_id
         where b.score_id = #{scoreId}
     </select>
+
+    <select id="gradeRank" parameterType="Long" resultMap="ScoreDataStudentResult">
+        SET @index = 0;
+        SELECT @index:=@index+1 AS `score_sort`,s.score_data_name,s.score_data_name_id,s.zongfen
+        FROM score_data_student s where score_id IN (
+            select d.score_id
+            FROM score_data d
+        <where>
+            <if test="scoreType != null  and scoreType != ''"> and d.score_type = #{scoreType}</if>
+            <if test="scoreTime != null "> and d.score_time = #{scoreTime}</if>
+            <if test="scoreClassName != null  and scoreClassName != ''"> and d.score_class_name like concat( #{scoreClassName}, '%')</if>
+        </where>
+        order by s.zongfen  DESC
+    </select>
+    <select id="xuekeRank" parameterType="Long" resultMap="ScoreDataDetailResult">
+        SET @INDEX = 0;
+        SELECT
+        @INDEX := @INDEX + 1 AS `score_sort`,
+        dd.score_data_name,
+        dd.score_data_name_id,
+        dd.score
+        FROM
+        score_data_detail dd
+        WHERE
+        score_id IN (
+        SELECT
+        d.score_id
+        FROM
+        score_data d
+        <where>
+            <if test="scoreType != null  and scoreType != ''"> and d.score_type = #{scoreType}</if>
+            <if test="scoreTime != null "> and d.score_time = #{scoreTime}</if>
+            <if test="scoreClassName != null  and scoreClassName != ''"> and d.score_class_name like concat( #{scoreClassName}, '%')</if>
+        </where>
+            ) and dd.xueke=#{xueke} order by dd.score  DESC
+    </select>
+
 </mapper>