Commit 8ab4a24c by baochunxin

#G: 老师电子档案修改

parent b7329b2b
......@@ -354,6 +354,9 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
}
return term;
}
//2022
//上学期 2022 8.1 2023-1.31
// 下学期 2023 2.1月 到 7.31月底
public static TermRange getTermRange(String year, String noticeSemester){
TermRange termRange = new TermRange();
......@@ -371,10 +374,10 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
case "下学期":
case "下":
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()));
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()));
break;
}
......
......@@ -9,6 +9,7 @@ import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.mapper.SysDeptMapper;
import com.ruoyi.system.mapper.SysUserMapper;
import org.apache.catalina.User;
import org.apache.regexp.RE;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import yangtz.cs.liu.campus.controller.A;
......@@ -106,6 +107,8 @@ public class TeacherFilesNoticeServiceImpl extends ServiceImpl<TeacherFilesNoti
@Override
public int insertTeacherFilesNotice(TeacherFilesNotice teacherFilesNotice)
{
// TODO 修改最新学年
int schoolYear = gradeMapper.isNewSchoolYear();
String noticeId = UUID.randomUUID().toString().replaceAll("-","");
//补充通知字段
teacherFilesNotice.setNoticeRange("全体教师");
......@@ -114,10 +117,11 @@ public class TeacherFilesNoticeServiceImpl extends ServiceImpl<TeacherFilesNoti
teacherFilesNotice.setNoticeState("1");
teacherFilesNotice.setCreateTime(DateUtils.getNowDate());
int i = teacherFilesNoticeMapper.insertTeacherFilesNotice(teacherFilesNotice);
//获取所有带级部的部门
List<SysDept> sysDepts = sysDeptMapper.selectDepartmentDept("级部");
List<SysUser> userList = new ArrayList<>();
List<SchoolGrade> schoolGrades = new ArrayList<>();
//级部信息查询
for (SysDept dept :sysDepts){
String[] split = dept.getAncestors().split(",");
if (split.length != 2){
......@@ -125,9 +129,9 @@ public class TeacherFilesNoticeServiceImpl extends ServiceImpl<TeacherFilesNoti
}
//找到每一个级部下所有的人员
List<SysUser> sysUsers = sysUserMapper.selectDeptAncetorsByPernId(dept.getDeptId().toString());
SchoolGrade schoolGrade = schoolGradeMapper.selectGradeByName(dept.getDeptName());
Map<String,Object> map = new HashMap<>();
map.put("gruop",dept.getDeptName());
map.put("grade",schoolGrade);
sysUsers.forEach(date->{
date.setParams(map);
});
......@@ -136,47 +140,44 @@ public class TeacherFilesNoticeServiceImpl extends ServiceImpl<TeacherFilesNoti
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<SchoolClassMentor> schoolClassMentors = classMentorMapper.selectList(null);
//老师信息
List<SchoolTeacher> schoolTeachers = schoolTeacherMapper.selectList(null);
//查出所有班级信息
List<SchoolClass> schoolClasses = schoolClassMapper.selectList(null);
List<TeacherFiles> teacherFilesList = new ArrayList<>();
for (SysUser user : trrUserList){
//部门
Map<String, Object> params = user.getParams();
String gruopName = (String)params.get("gruop");
SchoolGrade schoolGrade = (SchoolGrade)params.get("grade");
//获取级部
SchoolGrade schoolGrade = schoolGradeMapper.selectGradeByName(gruopName);
//查看当前老师是否在班级中当班主任
//通知所有教师
List<SchoolClassVo> schoolClassVos = schoolClassMapper.selectTeacherByTeachId(user.getUserId());
List<SchoolClass> yxyjList = schoolClasses.stream().filter(p -> p.getTeacherId().equals(user.getUserId()) ).collect(Collectors.toList());
String teahClassName = null;
String className = null;
//只取第一个
if (!schoolClassVos.isEmpty()){
teahClassName = schoolClassVos.get(0).getClassName();
className = schoolClassVos.get(0).getClassName();
if (!yxyjList.isEmpty()){
teahClassName = yxyjList.get(0).getClassName();
className = yxyjList.get(0).getClassName();
}
//班主任信息
TeacherFiles teacherFiles = new TeacherFiles();
teacherFiles.setTeacherId(user.getUserId());
teacherFiles = teacherFilesAddXx(teacherFiles);
teacherFiles.setNoticeId(noticeId);
teacherFiles.setFilesSemester(teacherFilesNotice.getNoticeYear()+"学年"+teacherFilesNotice.getNoticeSemester());
teacherFiles.setGradeId(schoolGrade.getId());
teacherFiles.setGradeName(schoolGrade.getGradeName());
teacherFiles.setBzrClassName(teahClassName);
teacherFiles.setState("1");
teacherFiles = teacherFilesAddXx(teacherFiles); //老师个人信息
teacherFiles = teacherFilesAddXx(teacherFiles,schoolTeachers); //老师个人信息
//找到老师课程
// TODO 修改最新学年
int schoolYear = gradeMapper.isNewSchoolYear();
List<SchoolClassMentor> mentorByTeacherId = classMentorMapper.getMentorByTeacherId(user.getUserId(), schoolYear);
if (!mentorByTeacherId.isEmpty()){
teacherFiles.setCourseName(mentorByTeacherId.get(0).getCourseName());
if (StringUtils.isEmpty(className)){
//根据课程关联找寻班级
SchoolClass schoolClass = schoolClassMapper.selectById(mentorByTeacherId.get(0).getClassId());
className = schoolClass.getClassName();
}
List<SchoolClass> schoolYept = this.getSchoolYept(schoolClassMentors, schoolClasses, user,schoolYear);
// List<SchoolClassMentor> mentorByTeacherId = classMentorMapper.getMentorByTeacherId(user.getUserId(), schoolYear);
if (!schoolYept.isEmpty()){
className = schoolYept.get(0).getClassName();
}
teacherFiles.setClassName(className);
teacherFilesList.add(teacherFiles);
......@@ -186,8 +187,9 @@ public class TeacherFilesNoticeServiceImpl extends ServiceImpl<TeacherFilesNoti
return i;
}
TeacherFiles teacherFilesAddXx(TeacherFiles teacherFiles){
SchoolTeacher schoolTeacher = schoolTeacherMapper.selectSchoolTeacherById(teacherFiles.getTeacherId());
TeacherFiles teacherFilesAddXx(TeacherFiles teacherFiles, List<SchoolTeacher> schoolTeachers){
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.setIdCard(schoolTeacher.getIdCard());
teacherFiles.setSex(schoolTeacher.getSex());
......@@ -286,4 +288,32 @@ public class TeacherFilesNoticeServiceImpl extends ServiceImpl<TeacherFilesNoti
}
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 {
//根据当前角色查看对应的学科
//获取学科
Map<String, String> map = schoolClassMentorService.selectTeacherGroupMentot(userId);
List<String> list = new ArrayList<>();
if (null != map.get("courseId")){
String s = map.get("courseId");
List<String> list = Arrays.asList(s.split(","));
if (map.size() == 1){
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);
return AjaxResult.success(schoolLabClassYearService.selectSchoolLabClassYearList(schoolLabClassYear));
}
......
......@@ -78,11 +78,16 @@ public class TeacherExperimentController extends BaseController {
schoolLabClassYearVo.setGradeId(gradeId);
//获取学科
Map<String, String> map = schoolClassMentorService.selectTeacherGroupMentot(userId);
if (null != map.get("courseId")){
String s = map.get("courseId");
List<String> list = Arrays.asList(s.split(","));
List<String> myList = list.stream().distinct().collect(Collectors.toList());
List<String> strings = schoolLabClassYearService.convertMentor(myList);
schoolLabClassYearVo.setSubs(strings);
}else {
//没有任课则不显示
schoolLabClassYearVo.setSubs(new ArrayList<String>(){{this.add("999");}});
}
List<SchoolLabClassYearVo> schoolLabClassYears = schoolLabClassYearService.selectSchoolLabClassYearList(
schoolLabClassYearVo);
return AjaxResult.success(schoolLabClassYears);
......@@ -188,17 +193,19 @@ public class TeacherExperimentController extends BaseController {
//设置级部
//获取学科
Map<String, String> map = schoolClassMentorService.selectTeacherGroupMentot(userId);
if (null != map.get("courseId")) {
String s = map.get("courseId");
List<String> list = Arrays.asList(s.split(","));
List<String> myList = list.stream().distinct().collect(Collectors.toList());
List<String> strings = schoolLabClassYearService.convertMentor(myList);
for (String date : strings){
if (date.equals("1")){
mapList.put("物理","1");
}else if (date.equals("2")){
mapList.put("化学","2");
}else if (date.equals("3")){
mapList.put("生物","3");
for (String date : strings) {
if (date.equals("1")) {
mapList.put("物理", "1");
} else if (date.equals("2")) {
mapList.put("化学", "2");
} else if (date.equals("3")) {
mapList.put("生物", "3");
}
}
}
return AjaxResult.success(mapList);
......
......@@ -93,6 +93,7 @@
</foreach>
</if>
</where>
GROUP BY lcy.id
order by create_time DESC
</select>
......
......@@ -66,7 +66,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<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
<if test="noticeName != null "> and fn.notice_name LIKE concat('%', #{noticeName}, '%') </if>
</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