新增总成绩字段,以及部分接口

master
xiaoCJ 1 year ago
parent 4c84c51c59
commit 42e6544abe

@ -8,6 +8,7 @@ import com.ruoyi.common.utils.ServletUtils;
import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.system.mapper.SysUserRoleMapper; import com.ruoyi.system.mapper.SysUserRoleMapper;
import org.apache.catalina.User;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
@ -63,7 +64,10 @@ public class SysLoginController {
// 生成令牌 // 生成令牌
String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
loginBody.getUuid()); loginBody.getUuid());
SysUser user = sysUserMapper.selectDeptIdByUserName(loginBody.getUsername());
ajax.put(Constants.TOKEN, token); ajax.put(Constants.TOKEN, token);
ajax.put("deptId",user.getDeptId());
ajax.put("UserId",user.getUserId());
return ajax; return ajax;
} }
return new AjaxResult(403,"用户权限不正确"); return new AjaxResult(403,"用户权限不正确");

@ -3,6 +3,7 @@ package com.ruoyi.biemo.business.controller;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.domain.SysGradeWeight; import com.ruoyi.system.domain.SysGradeWeight;
@ -12,6 +13,7 @@ import com.ruoyi.system.domain.SysTrainingScoreWithBLOBs;
import com.ruoyi.system.domain.vo.ReportDto; import com.ruoyi.system.domain.vo.ReportDto;
import com.ruoyi.system.domain.vo.TrainingScoreVo; import com.ruoyi.system.domain.vo.TrainingScoreVo;
import com.ruoyi.system.domain.vo.TrainingTotalScoreVo; import com.ruoyi.system.domain.vo.TrainingTotalScoreVo;
import com.ruoyi.system.mapper.SysDeptMapper;
import com.ruoyi.system.mapper.SysGradeWeightMapper; import com.ruoyi.system.mapper.SysGradeWeightMapper;
import com.ruoyi.system.mapper.SysTrainingScoreMapper; import com.ruoyi.system.mapper.SysTrainingScoreMapper;
import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.mapper.SysUserMapper;
@ -37,7 +39,8 @@ public class TrainingScoreController {
SysGradeWeightMapper gradeWeightMapper; SysGradeWeightMapper gradeWeightMapper;
@Autowired @Autowired
SysUserMapper sysUserMapper; SysUserMapper sysUserMapper;
@Autowired
SysDeptMapper sysDeptMapper;
@PostMapping("/addScore") @PostMapping("/addScore")
private void addScore(@RequestBody JSONObject jsonObject) { private void addScore(@RequestBody JSONObject jsonObject) {
@ -153,6 +156,7 @@ public class TrainingScoreController {
return null; return null;
} }
// 老师端文件下载 // 老师端文件下载
@GetMapping("/downloadReport") @GetMapping("/downloadReport")
public AjaxResult downloadReport(@RequestParam Long id, HttpServletResponse response) { public AjaxResult downloadReport(@RequestParam Long id, HttpServletResponse response) {
@ -173,9 +177,14 @@ public class TrainingScoreController {
// 老师端按班级导出 // 老师端按班级导出
@GetMapping("/exportByClass") @GetMapping("/exportByClass")
public void exportByClass(HttpServletResponse response, @RequestParam String className) { public void exportByClass(HttpServletResponse response, @RequestParam String className, @RequestParam Long deptId) {
// 根据班级名称查询对应的用户列表 // 根据班级名称查询对应的用户列表
List<SysUser> userList = sysUserMapper.selectClassStuNumberNameByClass(className); List<SysUser> userList = new ArrayList<>();
if (deptId == 103) {
userList = sysUserMapper.selectClassStuNumberNameByAllClass(className);
} else {
userList = sysUserMapper.selectClassStuNumberNameByClass(/*className, */deptId);
}
SysTrainingScoreExample trainingScoreExample = new SysTrainingScoreExample(); SysTrainingScoreExample trainingScoreExample = new SysTrainingScoreExample();
List<SysTrainingScore> sysTrainingScores = trainingScoreMapper.selectByExample(trainingScoreExample); List<SysTrainingScore> sysTrainingScores = trainingScoreMapper.selectByExample(trainingScoreExample);
List<ReportDto> reportDtoList = new ArrayList<>(); List<ReportDto> reportDtoList = new ArrayList<>();
@ -211,15 +220,19 @@ public class TrainingScoreController {
@RequestParam Double operatorWeight, @RequestParam Double operatorWeight,
@RequestParam Double reportWeight, @RequestParam Double reportWeight,
@RequestParam(required = false) String keyWord, @RequestParam(required = false) String keyWord,
@RequestParam(required = false) String stuClass) { @RequestParam(required = false) String stuClass,
return trainingScoreService.teacherGetReport(index, size, reportWeight, operatorWeight, keyWord, stuClass); @RequestParam Long deptId) {
return trainingScoreService.teacherGetReport(index, size, reportWeight, operatorWeight, keyWord, stuClass,deptId);
} }
// 老师端下拉查询班级 // 老师端下拉查询班级
@GetMapping("/selectClass") @GetMapping("/selectClass")
public List<String> selectClass() { public List<String> selectClass(@RequestParam Integer deptId) {
return trainingScoreService.selectClass(); if (deptId == 103) {
return sysUserMapper.selectClass();
}
return trainingScoreService.selectClassByDeptId(deptId);
} }
@ -251,7 +264,10 @@ public class TrainingScoreController {
public void saveWeight(@RequestBody JSONObject jsonObject) { public void saveWeight(@RequestBody JSONObject jsonObject) {
Double reportWeight = jsonObject.getDouble("reportWeight"); Double reportWeight = jsonObject.getDouble("reportWeight");
Double operatorWeight = jsonObject.getDouble("operatorWeight"); Double operatorWeight = jsonObject.getDouble("operatorWeight");
SysGradeWeight sysGradeWeight = gradeWeightMapper.selectByPrimaryKey(1L); Long deptId = jsonObject.getLong("deptId");
SysDept sysDept = sysDeptMapper.selectDeptById(deptId); //根据二级班级ID 得到学校ID
Long parentId = sysDept.getParentId();
SysGradeWeight sysGradeWeight = gradeWeightMapper.selectByPrimaryKey(parentId);
sysGradeWeight.setReportWeight(reportWeight); sysGradeWeight.setReportWeight(reportWeight);
sysGradeWeight.setOperatorWeight(operatorWeight); sysGradeWeight.setOperatorWeight(operatorWeight);
gradeWeightMapper.updateByPrimaryKeySelective(sysGradeWeight); gradeWeightMapper.updateByPrimaryKeySelective(sysGradeWeight);
@ -259,8 +275,20 @@ public class TrainingScoreController {
// 老师端回显权重 // 老师端回显权重
@GetMapping("/getWeight") @GetMapping("/getWeight")
public SysGradeWeight getWeight() { public SysGradeWeight getWeight(@RequestParam Long deptId) {
return gradeWeightMapper.selectByPrimaryKey(1L); SysDept sysDept = sysDeptMapper.selectDeptById(deptId); //根据二级班级ID 得到学校ID
Long parentId = sysDept.getParentId();
SysGradeWeight sysGradeWeight = gradeWeightMapper.selectByPrimaryKey(parentId);
if (sysGradeWeight == null) {
SysGradeWeight sysGradeWeight1 = new SysGradeWeight();
sysGradeWeight1.setUserid(parentId);
sysGradeWeight1.setReportWeight(0.2);
sysGradeWeight1.setOperatorWeight(0.8);
gradeWeightMapper.insert(sysGradeWeight1);
} else {
return sysGradeWeight;
}
return null;
} }
// 老师端右侧成绩(为经过权重计算) // 老师端右侧成绩(为经过权重计算)

@ -1,6 +1,8 @@
package com.ruoyi.system.mapper; package com.ruoyi.system.mapper;
import java.util.List; import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.SysDept;
@ -9,6 +11,7 @@ import com.ruoyi.common.core.domain.entity.SysDept;
* *
* @author ruoyi * @author ruoyi
*/ */
@Mapper
public interface SysDeptMapper public interface SysDeptMapper
{ {
/** /**

@ -133,13 +133,20 @@ public interface SysUserMapper
List<SysUser> selectClassStuNumberName(); List<SysUser> selectClassStuNumberName();
//查询班级 //查询班级
List<String>selectClassByDeptId(@Param("deptId")Integer deptId);
List<String>selectClass(); List<String>selectClass();
List<SysUser> selectByNameStuNum(@Param("stuClass") String stuClass, @Param("keyWord") String keyWord); List<SysUser> selectByNameStuNum(@Param("stuClass") String stuClass, @Param("keyWord") String keyWord,@Param("deptId")Long deptId);
List<SysUser> selectByNameStuNumNoDeptId(@Param("stuClass") String stuClass, @Param("keyWord") String keyWord);
List<SysUser> selectClassStuNumberNameByClass(/*@Param("stuClass") String stuClass,*/@Param("deptId")Long deptId);
List<SysUser> selectClassStuNumberNameByClassAll();
List<SysUser> selectClassStuNumberNameByClass(@Param("stuClass") String stuClass); List<SysUser> selectClassStuNumberNameByAllClass(@Param("stuClass") String stuClass);
@Select("select user_id from sys_user where studentnumber = #{studentNumber}") @Select("select user_id from sys_user where studentnumber = #{studentNumber}")
Long selectUserIDByStuNum(@Param("studentNumber") String studentNumber); Long selectUserIDByStuNum(@Param("studentNumber") String studentNumber);
SysUser selectDeptIdByUserName(@Param("userName")String username);
} }

@ -26,9 +26,9 @@ public interface ISysTrainingScoreService {
List<SysTrainingScoreWithBLOBs> selectAllReportContent(); List<SysTrainingScoreWithBLOBs> selectAllReportContent();
PageInfo<ReportDto> teacherGetReport(Integer index, Integer size, Double reportWeight, Double operatorWeight, String keyWord, String stuClass); PageInfo<ReportDto> teacherGetReport(Integer index, Integer size, Double reportWeight, Double operatorWeight, String keyWord, String stuClass,Long deptId);
List<String> selectClass(); List<String> selectClassByDeptId(Integer deptId);
void deleteByUserId(Long userId); void deleteByUserId(Long userId);

@ -4,12 +4,14 @@ import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.ruoyi.common.constant.TrainingScoreConstants; import com.ruoyi.common.constant.TrainingScoreConstants;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.system.domain.SysGradeWeight; import com.ruoyi.system.domain.SysGradeWeight;
import com.ruoyi.system.domain.SysTrainingScore; import com.ruoyi.system.domain.SysTrainingScore;
import com.ruoyi.system.domain.SysTrainingScoreExample; import com.ruoyi.system.domain.SysTrainingScoreExample;
import com.ruoyi.system.domain.SysTrainingScoreWithBLOBs; import com.ruoyi.system.domain.SysTrainingScoreWithBLOBs;
import com.ruoyi.system.domain.vo.ReportDto; import com.ruoyi.system.domain.vo.ReportDto;
import com.ruoyi.system.mapper.SysDeptMapper;
import com.ruoyi.system.mapper.SysGradeWeightMapper; import com.ruoyi.system.mapper.SysGradeWeightMapper;
import com.ruoyi.system.mapper.SysTrainingScoreMapper; import com.ruoyi.system.mapper.SysTrainingScoreMapper;
import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.mapper.SysUserMapper;
@ -34,6 +36,8 @@ public class SysTrainingScoreServiceImpl implements ISysTrainingScoreService {
SysUserMapper sysUserMapper; SysUserMapper sysUserMapper;
@Autowired @Autowired
SysGradeWeightMapper gradeWeightMapper; SysGradeWeightMapper gradeWeightMapper;
@Autowired
SysDeptMapper sysDeptMapper;
@Override @Override
public void deleteByUserId(Long userId) { public void deleteByUserId(Long userId) {
@ -129,16 +133,30 @@ public class SysTrainingScoreServiceImpl implements ISysTrainingScoreService {
// } // }
@Override @Override
public PageInfo<ReportDto> teacherGetReport(Integer index, Integer size, Double reportWeight, Double operatorWeight, String keyWord, String stuClass) { public PageInfo<ReportDto> teacherGetReport(Integer index, Integer size, Double reportWeight, Double operatorWeight, String keyWord, String stuClass,Long deptId) {
List<SysUser> userList1;
List<SysUser> users1;
if (deptId==103){
userList1 = sysUserMapper.selectClassStuNumberNameByClassAll();
users1 = sysUserMapper.selectByNameStuNumNoDeptId(stuClass, keyWord);
}else {
userList1 = sysUserMapper.selectClassStuNumberNameByClass(deptId);
users1 = sysUserMapper.selectByNameStuNum(stuClass, keyWord,deptId);
}
DecimalFormat df = new DecimalFormat("#.##"); // 指定保留两位小数 DecimalFormat df = new DecimalFormat("#.##"); // 指定保留两位小数
List<SysUser> userList1 = sysUserMapper.selectClassStuNumberName(); // List<SysUser> userList1 = sysUserMapper.selectClassStuNumberNameByClass(deptId);
// List<SysUser> users1 = sysUserMapper.selectByNameStuNum(stuClass, keyWord,deptId);
long total = userList1.size(); long total = userList1.size();
List<SysUser> users1 = sysUserMapper.selectByNameStuNum(stuClass, keyWord);
long total2 = users1.size(); long total2 = users1.size();
PageHelper.startPage(index, size); PageHelper.startPage(index, size);
List<ReportDto> reportDtoList = new ArrayList<>(); List<ReportDto> reportDtoList = new ArrayList<>();
if (stuClass != null || keyWord != null) { if (stuClass != null || keyWord != null) {
List<SysUser> users = sysUserMapper.selectByNameStuNum(stuClass, keyWord); List<SysUser> users;
if (deptId==103){
users = sysUserMapper.selectByNameStuNumNoDeptId(stuClass, keyWord);
}else {
users = sysUserMapper.selectByNameStuNum(stuClass, keyWord,deptId);
}
for (SysUser user : users) { for (SysUser user : users) {
SysTrainingScoreExample trainingScoreExample = new SysTrainingScoreExample(); SysTrainingScoreExample trainingScoreExample = new SysTrainingScoreExample();
trainingScoreExample.createCriteria().andUseridEqualTo(user.getUserId()); trainingScoreExample.createCriteria().andUseridEqualTo(user.getUserId());
@ -179,7 +197,12 @@ public class SysTrainingScoreServiceImpl implements ISysTrainingScoreService {
pageInfo.setTotal(total2); pageInfo.setTotal(total2);
return pageInfo; return pageInfo;
} }
List<SysUser> userList = sysUserMapper.selectClassStuNumberName(); List<SysUser> userList;
if (deptId==103){
userList = sysUserMapper.selectClassStuNumberNameByClassAll();
}else {
userList = sysUserMapper.selectClassStuNumberNameByClass(deptId);
}
for (SysUser sysUser : userList) { for (SysUser sysUser : userList) {
SysTrainingScoreExample trainingScoreExample = new SysTrainingScoreExample(); SysTrainingScoreExample trainingScoreExample = new SysTrainingScoreExample();
trainingScoreExample.createCriteria().andUseridEqualTo(sysUser.getUserId()); trainingScoreExample.createCriteria().andUseridEqualTo(sysUser.getUserId());
@ -386,8 +409,8 @@ public class SysTrainingScoreServiceImpl implements ISysTrainingScoreService {
@Override @Override
public List<String> selectClass() { public List<String> selectClassByDeptId(Integer deptId) {
return sysUserMapper.selectClass(); return sysUserMapper.selectClassByDeptId(deptId);
} }
@Override @Override
@ -433,4 +456,5 @@ public class SysTrainingScoreServiceImpl implements ISysTrainingScoreService {
createReportDto(sysTrainingScore, user, reportWeight, operatorWeight); createReportDto(sysTrainingScore, user, reportWeight, operatorWeight);
} }
} }
} }

@ -1,20 +1,5 @@
package com.ruoyi.system.service.impl; package com.ruoyi.system.service.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;
import javax.validation.Validator;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.system.domain.*;
import com.ruoyi.system.mapper.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysRole;
@ -24,8 +9,25 @@ import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.bean.BeanValidators; import com.ruoyi.common.utils.bean.BeanValidators;
import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.system.domain.SysPost;
import com.ruoyi.system.domain.SysTrainingScoreWithBLOBs;
import com.ruoyi.system.domain.SysUserPost;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.mapper.*;
import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysUserService; import com.ruoyi.system.service.ISysUserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.validation.Validator;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;
/** /**
* *

@ -94,17 +94,50 @@
WHERE sr.role_id = 2 WHERE sr.role_id = 2
</select> </select>
<!-- <select id="selectClassStuNumberNameByClass" resultMap="SysUserResult">-->
<!-- SELECT su.studentnumber, su.stuclass, su.user_name, su.user_id-->
<!-- FROM sys_user su-->
<!-- JOIN sys_user_role sur ON su.user_id = sur.user_id-->
<!-- JOIN sys_role sr ON sur.role_id = sr.role_id-->
<!-- <where>-->
<!-- <if test="stuClass != null and stuClass != ''">-->
<!-- AND su.stuclass = #{stuClass}-->
<!-- </if>-->
<!-- AND sr.role_id = 2-->
<!-- </where>-->
<!-- </select>-->
<select id="selectClassStuNumberNameByClass" resultMap="SysUserResult"> <select id="selectClassStuNumberNameByClass" resultMap="SysUserResult">
SELECT su.studentnumber, su.stuclass, su.user_name, su.user_id SELECT su.studentnumber, su.stuclass, su.user_name, su.user_id
FROM sys_user su FROM sys_user su
JOIN sys_user_role sur ON su.user_id = sur.user_id JOIN sys_user_role sur ON su.user_id = sur.user_id
JOIN sys_role sr ON sur.role_id = sr.role_id JOIN sys_role sr ON sur.role_id = sr.role_id
<where> WHERE sr.role_id = 2
<if test="stuClass != null and stuClass != ''"> and dept_id in (select dept_id from sys_dept where parent_id=(select parent_id from sys_dept where dept_id=#{deptId}))
AND su.stuclass = #{stuClass} </select>
</if>
AND sr.role_id = 2 <select id="selectClassStuNumberNameByClassAll" resultMap="SysUserResult">
</where> SELECT su.studentnumber, su.stuclass, su.user_name, su.user_id
FROM sys_user su
JOIN sys_user_role sur ON su.user_id = sur.user_id
JOIN sys_role sr ON sur.role_id = sr.role_id
WHERE sr.role_id = 2
</select>
<select id="selectClassStuNumberNameByAllClass" resultMap="SysUserResult">
SELECT su.studentnumber, su.stuclass, su.user_name, su.user_id
FROM sys_user su
JOIN sys_user_role sur ON su.user_id = sur.user_id
JOIN sys_role sr ON sur.role_id = sr.role_id
WHERE sr.role_id = 2
</select>
<select id="selectClassByDeptId" resultType="java.lang.String">
SELECT DISTINCT stuclass
FROM sys_user su
JOIN sys_user_role sur ON su.user_id = sur.user_id
JOIN sys_role sr ON sur.role_id = sr.role_id
WHERE sr.role_id = 2
and dept_id in (select dept_id from sys_dept where parent_id=(select parent_id from sys_dept where dept_id=#{deptId}))
</select> </select>
<select id="selectClass" resultType="java.lang.String"> <select id="selectClass" resultType="java.lang.String">
@ -112,6 +145,11 @@
FROM sys_user FROM sys_user
</select> </select>
<select id="selectDeptIdByUserName" resultMap="SysUserResult">
SELECT su.dept_id,su.user_id
FROM sys_user su
WHERE su.user_name = #{userName}
</select>
<select id="selectByNameStuNum" resultMap="SysUserResult"> <select id="selectByNameStuNum" resultMap="SysUserResult">
SELECT su.studentnumber, su.stuclass, su.user_name, su.user_id SELECT su.studentnumber, su.stuclass, su.user_name, su.user_id
@ -125,6 +163,21 @@
<if test="keyWord != null and keyWord != ''"> <if test="keyWord != null and keyWord != ''">
AND (user_name like "%"#{keyWord}"%" or studentnumber like "%"#{keyWord}"%") AND (user_name like "%"#{keyWord}"%" or studentnumber like "%"#{keyWord}"%")
</if> </if>
and dept_id in (select dept_id from sys_dept where parent_id=(select parent_id from sys_dept where dept_id=#{deptId}))
</select>
<select id="selectByNameStuNumNoDeptId" resultMap="SysUserResult">
SELECT su.studentnumber, su.stuclass, su.user_name, su.user_id
FROM sys_user su
JOIN sys_user_role sur ON su.user_id = sur.user_id
JOIN sys_role sr ON sur.role_id = sr.role_id
WHERE sr.role_id = 2
<if test="stuClass != null and stuClass !=''">
AND stuclass = #{stuClass}
</if>
<if test="keyWord != null and keyWord != ''">
AND (user_name like "%"#{keyWord}"%" or studentnumber like "%"#{keyWord}"%")
</if>
</select> </select>

Loading…
Cancel
Save