Commit 8ab4a24c by baochunxin

#G: 老师电子档案修改

parent b7329b2b
...@@ -354,6 +354,9 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils ...@@ -354,6 +354,9 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
} }
return term; return term;
} }
//2022
//上学期 2022 8.1 2023-1.31
// 下学期 2023 2.1月 到 7.31月底
public static TermRange getTermRange(String year, String noticeSemester){ public static TermRange getTermRange(String year, String noticeSemester){
TermRange termRange = new TermRange(); TermRange termRange = new TermRange();
...@@ -371,10 +374,10 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils ...@@ -371,10 +374,10 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
case "下学期": case "下学期":
case "下": case "下":
Calendar xstartDay = Calendar.getInstance(); Calendar xstartDay = Calendar.getInstance();
xstartDay.set(Integer.parseInt(year), 1, 1); xstartDay.set(Integer.parseInt(year)+1, 1, 1);
termRange.setStartDay(sdf.format(xstartDay.getTime())); termRange.setStartDay(sdf.format(xstartDay.getTime()));
Calendar xendDay = Calendar.getInstance(); Calendar xendDay = Calendar.getInstance();
xendDay.set(Integer.parseInt(year), 6, 31); xendDay.set(Integer.parseInt(year)+1, 6, 31);
termRange.setEndDay(sdf.format(xendDay.getTime())); termRange.setEndDay(sdf.format(xendDay.getTime()));
break; break;
} }
......
...@@ -9,6 +9,7 @@ import com.ruoyi.common.utils.StringUtils; ...@@ -9,6 +9,7 @@ import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.mapper.SysDeptMapper; import com.ruoyi.system.mapper.SysDeptMapper;
import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.mapper.SysUserMapper;
import org.apache.catalina.User; import org.apache.catalina.User;
import org.apache.regexp.RE;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import yangtz.cs.liu.campus.controller.A; import yangtz.cs.liu.campus.controller.A;
...@@ -106,6 +107,8 @@ public class TeacherFilesNoticeServiceImpl extends ServiceImpl<TeacherFilesNoti ...@@ -106,6 +107,8 @@ public class TeacherFilesNoticeServiceImpl extends ServiceImpl<TeacherFilesNoti
@Override @Override
public int insertTeacherFilesNotice(TeacherFilesNotice teacherFilesNotice) public int insertTeacherFilesNotice(TeacherFilesNotice teacherFilesNotice)
{ {
// TODO 修改最新学年
int schoolYear = gradeMapper.isNewSchoolYear();
String noticeId = UUID.randomUUID().toString().replaceAll("-",""); String noticeId = UUID.randomUUID().toString().replaceAll("-","");
//补充通知字段 //补充通知字段
teacherFilesNotice.setNoticeRange("全体教师"); teacherFilesNotice.setNoticeRange("全体教师");
...@@ -114,10 +117,11 @@ public class TeacherFilesNoticeServiceImpl extends ServiceImpl<TeacherFilesNoti ...@@ -114,10 +117,11 @@ public class TeacherFilesNoticeServiceImpl extends ServiceImpl<TeacherFilesNoti
teacherFilesNotice.setNoticeState("1"); teacherFilesNotice.setNoticeState("1");
teacherFilesNotice.setCreateTime(DateUtils.getNowDate()); teacherFilesNotice.setCreateTime(DateUtils.getNowDate());
int i = teacherFilesNoticeMapper.insertTeacherFilesNotice(teacherFilesNotice); int i = teacherFilesNoticeMapper.insertTeacherFilesNotice(teacherFilesNotice);
//获取所有带级部的部门 //获取所有带级部的部门
List<SysDept> sysDepts = sysDeptMapper.selectDepartmentDept("级部"); List<SysDept> sysDepts = sysDeptMapper.selectDepartmentDept("级部");
List<SysUser> userList = new ArrayList<>(); List<SysUser> userList = new ArrayList<>();
List<SchoolGrade> schoolGrades = new ArrayList<>();
//级部信息查询
for (SysDept dept :sysDepts){ for (SysDept dept :sysDepts){
String[] split = dept.getAncestors().split(","); String[] split = dept.getAncestors().split(",");
if (split.length != 2){ if (split.length != 2){
...@@ -125,9 +129,9 @@ public class TeacherFilesNoticeServiceImpl extends ServiceImpl<TeacherFilesNoti ...@@ -125,9 +129,9 @@ public class TeacherFilesNoticeServiceImpl extends ServiceImpl<TeacherFilesNoti
} }
//找到每一个级部下所有的人员 //找到每一个级部下所有的人员
List<SysUser> sysUsers = sysUserMapper.selectDeptAncetorsByPernId(dept.getDeptId().toString()); List<SysUser> sysUsers = sysUserMapper.selectDeptAncetorsByPernId(dept.getDeptId().toString());
SchoolGrade schoolGrade = schoolGradeMapper.selectGradeByName(dept.getDeptName());
Map<String,Object> map = new HashMap<>(); Map<String,Object> map = new HashMap<>();
map.put("gruop",dept.getDeptName()); map.put("grade",schoolGrade);
sysUsers.forEach(date->{ sysUsers.forEach(date->{
date.setParams(map); date.setParams(map);
}); });
...@@ -136,48 +140,45 @@ public class TeacherFilesNoticeServiceImpl extends ServiceImpl<TeacherFilesNoti ...@@ -136,48 +140,45 @@ public class TeacherFilesNoticeServiceImpl extends ServiceImpl<TeacherFilesNoti
List<SysUser> collect = userList.stream().filter(SysUser -> SysUser.getUserId() != null).collect(Collectors.toList()); List<SysUser> collect = userList.stream().filter(SysUser -> SysUser.getUserId() != null).collect(Collectors.toList());
//获取所有老师 去重 //获取所有老师 去重
List<SysUser> trrUserList = collect.stream().collect(collectingAndThen(toCollection(() -> new TreeSet<>(comparingLong(SysUser::getUserId))), ArrayList::new)); List<SysUser> trrUserList = collect.stream().collect(collectingAndThen(toCollection(() -> new TreeSet<>(comparingLong(SysUser::getUserId))), ArrayList::new));
//课程集合
List<SchoolClassMentor> schoolClassMentors = classMentorMapper.selectList(null);
//老师信息
List<SchoolTeacher> schoolTeachers = schoolTeacherMapper.selectList(null);
//查出所有班级信息
List<SchoolClass> schoolClasses = schoolClassMapper.selectList(null);
List<TeacherFiles> teacherFilesList = new ArrayList<>(); List<TeacherFiles> teacherFilesList = new ArrayList<>();
for (SysUser user : trrUserList){ for (SysUser user : trrUserList){
//部门 //部门
Map<String, Object> params = user.getParams(); Map<String, Object> params = user.getParams();
String gruopName = (String)params.get("gruop"); SchoolGrade schoolGrade = (SchoolGrade)params.get("grade");
//获取级部 //获取级部
SchoolGrade schoolGrade = schoolGradeMapper.selectGradeByName(gruopName);
//查看当前老师是否在班级中当班主任 //查看当前老师是否在班级中当班主任
//通知所有教师 List<SchoolClass> yxyjList = schoolClasses.stream().filter(p -> p.getTeacherId().equals(user.getUserId()) ).collect(Collectors.toList());
List<SchoolClassVo> schoolClassVos = schoolClassMapper.selectTeacherByTeachId(user.getUserId());
String teahClassName = null; String teahClassName = null;
String className = null; String className = null;
//只取第一个 //只取第一个
if (!schoolClassVos.isEmpty()){ if (!yxyjList.isEmpty()){
teahClassName = schoolClassVos.get(0).getClassName(); teahClassName = yxyjList.get(0).getClassName();
className = schoolClassVos.get(0).getClassName(); className = yxyjList.get(0).getClassName();
} }
//班主任信息 //班主任信息
TeacherFiles teacherFiles = new TeacherFiles(); TeacherFiles teacherFiles = new TeacherFiles();
teacherFiles.setTeacherId(user.getUserId()); teacherFiles.setTeacherId(user.getUserId());
teacherFiles = teacherFilesAddXx(teacherFiles);
teacherFiles.setNoticeId(noticeId); teacherFiles.setNoticeId(noticeId);
teacherFiles.setFilesSemester(teacherFilesNotice.getNoticeYear()+"学年"+teacherFilesNotice.getNoticeSemester()); teacherFiles.setFilesSemester(teacherFilesNotice.getNoticeYear()+"学年"+teacherFilesNotice.getNoticeSemester());
teacherFiles.setGradeId(schoolGrade.getId()); teacherFiles.setGradeId(schoolGrade.getId());
teacherFiles.setGradeName(schoolGrade.getGradeName()); teacherFiles.setGradeName(schoolGrade.getGradeName());
teacherFiles.setBzrClassName(teahClassName); teacherFiles.setBzrClassName(teahClassName);
teacherFiles.setState("1"); teacherFiles.setState("1");
teacherFiles = teacherFilesAddXx(teacherFiles); //老师个人信息 teacherFiles = teacherFilesAddXx(teacherFiles,schoolTeachers); //老师个人信息
//找到老师课程 //找到老师课程
// TODO 修改最新学年 List<SchoolClass> schoolYept = this.getSchoolYept(schoolClassMentors, schoolClasses, user,schoolYear);
int schoolYear = gradeMapper.isNewSchoolYear(); // List<SchoolClassMentor> mentorByTeacherId = classMentorMapper.getMentorByTeacherId(user.getUserId(), schoolYear);
List<SchoolClassMentor> mentorByTeacherId = classMentorMapper.getMentorByTeacherId(user.getUserId(), schoolYear); if (!schoolYept.isEmpty()){
if (!mentorByTeacherId.isEmpty()){ className = schoolYept.get(0).getClassName();
teacherFiles.setCourseName(mentorByTeacherId.get(0).getCourseName());
if (StringUtils.isEmpty(className)){
//根据课程关联找寻班级
SchoolClass schoolClass = schoolClassMapper.selectById(mentorByTeacherId.get(0).getClassId());
className = schoolClass.getClassName();
} }
}
teacherFiles.setClassName(className); teacherFiles.setClassName(className);
teacherFilesList.add(teacherFiles); teacherFilesList.add(teacherFiles);
} }
...@@ -186,8 +187,9 @@ public class TeacherFilesNoticeServiceImpl extends ServiceImpl<TeacherFilesNoti ...@@ -186,8 +187,9 @@ public class TeacherFilesNoticeServiceImpl extends ServiceImpl<TeacherFilesNoti
return i; return i;
} }
TeacherFiles teacherFilesAddXx(TeacherFiles teacherFiles){ TeacherFiles teacherFilesAddXx(TeacherFiles teacherFiles, List<SchoolTeacher> schoolTeachers){
SchoolTeacher schoolTeacher = schoolTeacherMapper.selectSchoolTeacherById(teacherFiles.getTeacherId()); List<SchoolTeacher> collect = schoolTeachers.stream().filter(t -> t.getId().equals(teacherFiles.getTeacherId())).collect(Collectors.toList());
SchoolTeacher schoolTeacher = collect.get(0);
teacherFiles.setTeacherName(schoolTeacher.getTeacherName()); teacherFiles.setTeacherName(schoolTeacher.getTeacherName());
teacherFiles.setIdCard(schoolTeacher.getIdCard()); teacherFiles.setIdCard(schoolTeacher.getIdCard());
teacherFiles.setSex(schoolTeacher.getSex()); teacherFiles.setSex(schoolTeacher.getSex());
...@@ -286,4 +288,32 @@ public class TeacherFilesNoticeServiceImpl extends ServiceImpl<TeacherFilesNoti ...@@ -286,4 +288,32 @@ public class TeacherFilesNoticeServiceImpl extends ServiceImpl<TeacherFilesNoti
} }
return i; return i;
} }
/**
* 条件查询转换
* @return
*/
private List<SchoolClass> getSchoolYept(List<SchoolClassMentor> mentorByTeacherId , List<SchoolClass> classVos , SysUser user,Integer schoolYear ){
List<SchoolClass> list = new ArrayList<>();
//找到当前教师任课的信息
List<SchoolClassMentor> collect = mentorByTeacherId.stream().filter(p -> p.getTeacherId().equals(user.getUserId())).collect(Collectors.toList());
//1.关联查询当前学年的班级
for (SchoolClass classDate : classVos) {
//1。学年是当前
if (classDate.getSchoolYear().equals(schoolYear) ){
if (collect.isEmpty()){
return null;
}
//2.学科关联
for (SchoolClassMentor cm :collect){
if (cm.getClassId() == classDate.getId()){
list.add(classDate);
}
}
}
}
return list;
}
} }
...@@ -167,11 +167,22 @@ public class ExperimentLevelController extends BaseController { ...@@ -167,11 +167,22 @@ public class ExperimentLevelController extends BaseController {
//根据当前角色查看对应的学科 //根据当前角色查看对应的学科
//获取学科 //获取学科
Map<String, String> map = schoolClassMentorService.selectTeacherGroupMentot(userId); Map<String, String> map = schoolClassMentorService.selectTeacherGroupMentot(userId);
String s = map.get("courseId"); List<String> list = new ArrayList<>();
List<String> list = Arrays.asList(s.split(",")); if (null != map.get("courseId")){
List<String> myList = list.stream().distinct().collect(Collectors.toList()); String s = map.get("courseId");
List<String> strings = schoolLabClassYearService.convertMentor(myList); if (map.size() == 1){
schoolLabClassYear.setSubs(strings); list.add(s);
}else {
list = Arrays.asList(s.split(","));
}
List<String> myList = list.stream().distinct().collect(Collectors.toList());
List<String> strings = schoolLabClassYearService.convertMentor(myList);
schoolLabClassYear.setSubs(strings);
}else {
//没有任课则不显示
schoolLabClassYear.setSubs(new ArrayList<String>(){{this.add("999");}});
}
schoolLabClassYear.setGradeId(gradeId); schoolLabClassYear.setGradeId(gradeId);
return AjaxResult.success(schoolLabClassYearService.selectSchoolLabClassYearList(schoolLabClassYear)); return AjaxResult.success(schoolLabClassYearService.selectSchoolLabClassYearList(schoolLabClassYear));
} }
......
...@@ -78,11 +78,16 @@ public class TeacherExperimentController extends BaseController { ...@@ -78,11 +78,16 @@ public class TeacherExperimentController extends BaseController {
schoolLabClassYearVo.setGradeId(gradeId); schoolLabClassYearVo.setGradeId(gradeId);
//获取学科 //获取学科
Map<String, String> map = schoolClassMentorService.selectTeacherGroupMentot(userId); Map<String, String> map = schoolClassMentorService.selectTeacherGroupMentot(userId);
String s = map.get("courseId"); if (null != map.get("courseId")){
List<String> list = Arrays.asList(s.split(",")); String s = map.get("courseId");
List<String> myList = list.stream().distinct().collect(Collectors.toList()); List<String> list = Arrays.asList(s.split(","));
List<String> strings = schoolLabClassYearService.convertMentor(myList); List<String> myList = list.stream().distinct().collect(Collectors.toList());
schoolLabClassYearVo.setSubs(strings); List<String> strings = schoolLabClassYearService.convertMentor(myList);
schoolLabClassYearVo.setSubs(strings);
}else {
//没有任课则不显示
schoolLabClassYearVo.setSubs(new ArrayList<String>(){{this.add("999");}});
}
List<SchoolLabClassYearVo> schoolLabClassYears = schoolLabClassYearService.selectSchoolLabClassYearList( List<SchoolLabClassYearVo> schoolLabClassYears = schoolLabClassYearService.selectSchoolLabClassYearList(
schoolLabClassYearVo); schoolLabClassYearVo);
return AjaxResult.success(schoolLabClassYears); return AjaxResult.success(schoolLabClassYears);
...@@ -188,17 +193,19 @@ public class TeacherExperimentController extends BaseController { ...@@ -188,17 +193,19 @@ public class TeacherExperimentController extends BaseController {
//设置级部 //设置级部
//获取学科 //获取学科
Map<String, String> map = schoolClassMentorService.selectTeacherGroupMentot(userId); Map<String, String> map = schoolClassMentorService.selectTeacherGroupMentot(userId);
String s = map.get("courseId"); if (null != map.get("courseId")) {
List<String> list = Arrays.asList(s.split(",")); String s = map.get("courseId");
List<String> myList = list.stream().distinct().collect(Collectors.toList()); List<String> list = Arrays.asList(s.split(","));
List<String> strings = schoolLabClassYearService.convertMentor(myList); List<String> myList = list.stream().distinct().collect(Collectors.toList());
for (String date : strings){ List<String> strings = schoolLabClassYearService.convertMentor(myList);
if (date.equals("1")){ for (String date : strings) {
mapList.put("物理","1"); if (date.equals("1")) {
}else if (date.equals("2")){ mapList.put("物理", "1");
mapList.put("化学","2"); } else if (date.equals("2")) {
}else if (date.equals("3")){ mapList.put("化学", "2");
mapList.put("生物","3"); } else if (date.equals("3")) {
mapList.put("生物", "3");
}
} }
} }
return AjaxResult.success(mapList); return AjaxResult.success(mapList);
......
...@@ -93,6 +93,7 @@ ...@@ -93,6 +93,7 @@
</foreach> </foreach>
</if> </if>
</where> </where>
GROUP BY lcy.id
order by create_time DESC order by create_time DESC
</select> </select>
......
...@@ -66,7 +66,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -66,7 +66,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select> </select>
<select id="selctTeacherByUserId" parameterType="TeacherFiles" resultType="yangtz.cs.liu.campus.domain.teacherFiles.TeacherFilesNotice"> <select id="selctTeacherByUserId" parameterType="TeacherFiles" resultType="yangtz.cs.liu.campus.domain.teacherFiles.TeacherFilesNotice">
SELECT fn.*,tf.state,tf.id as fId from teacher_files tf LEFT JOIN teacher_files_notice fn on fn.id= tf.notice_id WHERE tf.teacher_id = #{userId} SELECT fn.id, fn.notice_range, fn.notice_year, fn.notice_semester, fn.notice_name, fn.notice_state, fn.start_time, fn.end_time, fn.remark, fn.create_by, fn.create_time, fn.update_by, fn.update_time,tf.state as state,tf.id as fId from teacher_files tf LEFT JOIN teacher_files_notice fn on fn.id= tf.notice_id WHERE tf.teacher_id = #{userId}
and fn.notice_state = 2 and fn.notice_state = 2
<if test="noticeName != null "> and fn.notice_name LIKE concat('%', #{noticeName}, '%') </if> <if test="noticeName != null "> and fn.notice_name LIKE concat('%', #{noticeName}, '%') </if>
</select> </select>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment