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

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

@ -3,6 +3,7 @@ package com.ruoyi.biemo.business.controller;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageInfo;
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.utils.poi.ExcelUtil;
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.TrainingScoreVo;
import com.ruoyi.system.domain.vo.TrainingTotalScoreVo;
import com.ruoyi.system.mapper.SysDeptMapper;
import com.ruoyi.system.mapper.SysGradeWeightMapper;
import com.ruoyi.system.mapper.SysTrainingScoreMapper;
import com.ruoyi.system.mapper.SysUserMapper;
@ -37,7 +39,8 @@ public class TrainingScoreController {
SysGradeWeightMapper gradeWeightMapper;
@Autowired
SysUserMapper sysUserMapper;
@Autowired
SysDeptMapper sysDeptMapper;
@PostMapping("/addScore")
private void addScore(@RequestBody JSONObject jsonObject) {
@ -153,6 +156,7 @@ public class TrainingScoreController {
return null;
}
// 老师端文件下载
@GetMapping("/downloadReport")
public AjaxResult downloadReport(@RequestParam Long id, HttpServletResponse response) {
@ -173,9 +177,14 @@ public class TrainingScoreController {
// 老师端按班级导出
@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();
List<SysTrainingScore> sysTrainingScores = trainingScoreMapper.selectByExample(trainingScoreExample);
List<ReportDto> reportDtoList = new ArrayList<>();
@ -211,15 +220,19 @@ public class TrainingScoreController {
@RequestParam Double operatorWeight,
@RequestParam Double reportWeight,
@RequestParam(required = false) String keyWord,
@RequestParam(required = false) String stuClass) {
return trainingScoreService.teacherGetReport(index, size, reportWeight, operatorWeight, keyWord, stuClass);
@RequestParam(required = false) String stuClass,
@RequestParam Long deptId) {
return trainingScoreService.teacherGetReport(index, size, reportWeight, operatorWeight, keyWord, stuClass,deptId);
}
// 老师端下拉查询班级
@GetMapping("/selectClass")
public List<String> selectClass() {
return trainingScoreService.selectClass();
public List<String> selectClass(@RequestParam Integer deptId) {
if (deptId == 103) {
return sysUserMapper.selectClass();
}
return trainingScoreService.selectClassByDeptId(deptId);
}
@ -251,7 +264,10 @@ public class TrainingScoreController {
public void saveWeight(@RequestBody JSONObject jsonObject) {
Double reportWeight = jsonObject.getDouble("reportWeight");
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.setOperatorWeight(operatorWeight);
gradeWeightMapper.updateByPrimaryKeySelective(sysGradeWeight);
@ -259,8 +275,20 @@ public class TrainingScoreController {
// 老师端回显权重
@GetMapping("/getWeight")
public SysGradeWeight getWeight() {
return gradeWeightMapper.selectByPrimaryKey(1L);
public SysGradeWeight getWeight(@RequestParam Long deptId) {
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;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.ruoyi.common.core.domain.entity.SysDept;
@ -9,6 +11,7 @@ import com.ruoyi.common.core.domain.entity.SysDept;
*
* @author ruoyi
*/
@Mapper
public interface SysDeptMapper
{
/**

@ -133,13 +133,20 @@ public interface SysUserMapper
List<SysUser> selectClassStuNumberName();
//查询班级
List<String>selectClassByDeptId(@Param("deptId")Integer deptId);
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}")
Long selectUserIDByStuNum(@Param("studentNumber") String studentNumber);
SysUser selectDeptIdByUserName(@Param("userName")String username);
}

@ -26,9 +26,9 @@ public interface ISysTrainingScoreService {
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);

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

@ -1,20 +1,5 @@
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.constant.UserConstants;
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.bean.BeanValidators;
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.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
</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 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>
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 id="selectClassStuNumberNameByClassAll" 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="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 id="selectClass" resultType="java.lang.String">
@ -112,6 +145,11 @@
FROM sys_user
</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 su.studentnumber, su.stuclass, su.user_name, su.user_id
@ -125,6 +163,21 @@
<if test="keyWord != null and keyWord != ''">
AND (user_name like "%"#{keyWord}"%" or studentnumber like "%"#{keyWord}"%")
</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>

Loading…
Cancel
Save