源码获取:博客首页 "资源" 里下载!
项目简介
该项目是一个简单的教务查询系统,分别授予管理员,教师,学生不同的权限,达到基本的数据查询与修改操作。
管理员主要功能:
课程管理、学生管理、教师管理;
教师主要功能:
查看我教授的课程列表、查看学生成绩列表、给学生打分;
学生主要功能:
查看所有课程列表、选课、查看所修课程等;
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7版本;
使用技术
IOC容器:Spring
Web框架:SpringMVC ORM框架:Mybatis 安全框架:Shiro
数据源:C3P0 日志:log4j
前端框架:Bootstrap
使用说明
1. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,下载所需jar包;
2. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
3. 将项目中mysql.properties配置文件中的数据库配置改为自己的配置
4. 配置tomcat,然后运行项目,输入localhost:8080/xxx 登录
5. 管理员账户:admin 密码:123
教师账号:1001 密码:123
学生账号:10001 密码:123
学生管理管理控制层:
@Authority(roles = {Role.STUDENT})
@Controller
@RequestMapping("/student")
public class StudentController {
private static final Logger LOGGER = LoggerFactory.getLogger(StudentController.class);
@Autowired
private StudentService studentService;
@Autowired
private HttpServletRequest request;
@Autowired
private LoginServiceImpl loginService;
@Autowired
IndexServiceImpl indexService;
@Autowired
AdminService adminService;
@Autowired
TopicsService topicsService;
//Session过期时间
private final Integer SAVE_TIME = 60*60*24;
@GetMapping("/login")
public String login(){
return "student/login";
}
@PostMapping(value = "/login")
@ResponseBody
public String login(String name, String pwd, Model model, HttpServletResponse response) {
name = name.trim();
List<Student> student = studentService.selectByName(name);
if (student.size() >= 1) {
if (student.get(0).getPwd().equals(pwd)) {
request.getSession().setAttribute("student",student.get(0));
request.getSession().setMaxInactiveInterval(SAVE_TIME);
User user = new User();
//-1表示为超管
user.setId(1L);
user.setRole("student");
user.setUserName(name);
//生成Token 存到 Cookie
Cookie cookie = new Cookie("token", TokenUtil.createToken(
user
));
//该Cookie无法被js读取
cookie.setHttpOnly(true);
cookie.setPath("/");
response.addCookie(cookie);
model.addAttribute("student", student.get(0));
return "200";
}else {
return "0";
}
} else {
return "300";
}
}
@RequestMapping("/index")
public String index(Model model, HttpSession httpSession) {
Student student = (Student) request.getSession().getAttribute("student");
Subject project = indexService.indexinfo(student.getId());
String str = null;
Long flag = null;
if (project == null) {
model.addAttribute("projectName", "未选课题");
model.addAttribute("flag", "未选题");
model.addAttribute("teacher", "无");
httpSession.removeAttribute("");
} else {
httpSession.setAttribute("XZproject", project.getProjectname());
model.addAttribute("XZproject", project.getProjectname());
model.addAttribute("projectName", project.getProjectname());
flag = indexService.projectselectedstuflag(student.getId());
if (flag == 0L) {
str = "未选题";
} else if (flag == 1L) {
str = "选题待审核";
} else if (flag == 2L) {
str = "选题未通过";
} else if (flag == 3L) {
str = "选题通过";
}
model.addAttribute("flag", str);
model.addAttribute("teacher", project.getTeachernames());
request.getSession().setAttribute("filePath",project.getFilepath());
}
//用来判断当前页是否为首页
model.addAttribute("path","1");
//判断是否修改了个人信息
// request.getSession().setAttribute("modifyFlag",0);
return "student/index";
}
/**
* 查看个人信息
*/
@RequestMapping("/studentinfo")
public String studentinfo(Model model) {
Student student = (Student) request.getSession().getAttribute("student");
MyClass idclass = indexService.studentinfo(student.getIdClass());
model.addAttribute("tclass", idclass);
return "student/studentinfo";
}
/**
* 将查看的个人信息放到信息修改页面
*/
@RequestMapping("/modifyinfo")
public String modifyinfo(Model model) {
Student student = (Student) request.getSession().getAttribute("student");
MyClass idclass = indexService.studentinfo(student.getIdClass());
model.addAttribute("tclass", idclass);
return "student/modifyinfo";
}
/**
* 修改个人信息
* 根据班级(className)修改
*
*/
/*@RequestMapping(value = "/modifyinfodao", method = RequestMethod.PUT)
@ResponseBody
public String modifyinfodao(Student student, String className, Model model) {
Student Tstudent = (Student) request.getSession().getAttribute("student");
MyClass Tclass = indexService.selectByclassName(className);
int count = -1;
student.setIdClass(Tclass.getId());
System.out.println("******"+Tstudent.toString());
System.out.println("******"+student.toString());
if (student.getStunum().equals(Tstudent.getStunum())) {
student.setStunum(null);
}
if (student.getIdClass().equals(Tstudent.getIdClass())) {
student.setIdClass(null);
}
if (student.getName().equals(Tstudent.getName())) {
student.setName(null);
}
if (student.getGender().equals(Tstudent.getGender())) {
student.setGender(null);
}
if (student.getGender() == null && student.getName() == null && student.getIdClass() == null && student.getStunum() == null) {
} else {
student.setId(Tstudent.getId());
count = indexService.updateBymodifyinfo(student);
student = indexService.selectByid(Tstudent.getId());
model.addAttribute("student", student);
}
if (count > 0) {
request.getSession().setAttribute("student",student);
request.getSession().setAttribute("modifyFlag",1);
return "200";
} else {
request.getSession().setAttribute("modifyFlag",0);
return "201";
}
}*/
/**
* 跳转页面(修改密码)
*/
@RequestMapping("/changepsw")
public String changepsw() {
return "student/changepsw";
}
/**
* 200修改成功
* 201对不起密码错误
* 202对不起输入框为空
* 203新密码不一致
* 204修改失败
*/
@RequestMapping(value = "/changepassword", method = RequestMethod.PUT)
@ResponseBody
public String changepswdao(String oldpassword, String newpassword, String newpassword1) {
if(!verifypassword(newpassword)){
return "206";
}
if(!verifypassword(newpassword1)){
return "206";
}
Student student = (Student) request.getSession().getAttribute("student");
Student studentdao = loginService.selectByName(student.getUsername());
int result;
if (newpassword.equals(newpassword1) && !newpassword.equals("") && !newpassword1.equals("")) {
if (studentdao.getPwd().equals(oldpassword)) {
if(oldpassword.equals(newpassword)){
return "205";
}else{
result = indexService.updatepassword(newpassword, student.getId());
if (result > 0) {
return "200";
}else{
return "204";
}
}
} else {
return "201";
}
} else if (newpassword.equals("") && newpassword1.equals("")) {
return "202";
}
return "203";
}
//密码验证
public boolean verifypassword(String password){
if(password.length() < 6 || password.length() > 16){
return false;
}
for(int i = 0;i < password.length();i++){
if(!(password.charAt(i)>='A' && password.charAt(i)<='Z')){
if(!(password.charAt(i)>='a' && password.charAt(i)<='z')){
if(!(password.charAt(i)>='0' && password.charAt(i)<='9')){
return false;
}
}
}
}
return true;
}
//退出
//清除Session数据
@RequestMapping("/exit")
public String exit(HttpServletResponse response,HttpSession httpSession) {
// httpSession.setAttribute("XZproject", null);
// 清除Session
Enumeration em = request.getSession().getAttributeNames();
while(em.hasMoreElements()){
request.getSession().removeAttribute(em.nextElement().toString());
}
//将Cookie 中的token 置空
Cookie cookie = new Cookie("token", null);
cookie.setPath("/");
response.addCookie(cookie);
return "student/login";
}
/**
* 查看班级选报信息
*/
@RequestMapping("/classinfo")
public String classinfo(Model model,HttpSession httpSession) {
Student student = (Student) request.getSession().getAttribute("student");
removeSession();
List<Static_student> list = adminService.select_student(null, null, student.getIdClass(), null, null);
System.out.println(list);
model.addAttribute("list", list);
return "student/classinfo";
}
/**
* 查看课题
*/
@RequestMapping("/topics")
public String Topics(Model model,HttpSession httpSession) {
Student student = (Student) request.getSession().getAttribute("student");
removeSession();
List<topicsinfo> topicsinfolist = topicsService.topics(student.getIdClass());
System.out.println(topicsinfolist);
model.addAttribute("topicsinfolist", topicsinfolist);
return "student/topicsinfo";
}
/**
* 课题具体信息
*/
@RequestMapping("/topicsto")
public String Topicsto(Long project_id,int selectFlag,String projectName, Model model, HttpSession httpSession) {
List<topicsto> topicstos = topicsService.topicsinfo(project_id);
Student student = (Student) request.getSession().getAttribute("student");
Long flag = topicsService.state(student);
Long flagto = topicsService.flag(project_id);
if (flagto != 0) {
flag = 3L;
}
model.addAttribute("selectFlag",selectFlag);
model.addAttribute("flag", flag);
model.addAttribute("topicstos", topicstos);
model.addAttribute("projectName", projectName);
model.addAttribute("project_id", project_id);
model.addAttribute("XZproject", httpSession.getAttribute("XZproject"));
return "student/topicsinfoto";
}
/**
* 选报课题
*/
@Autowired
SubjectselectedMapper subjectselectedMapper;
@RequestMapping("/enroll")
@ResponseBody
public String enroll(Long project_id, HttpSession httpSession) {
String projectName = topicsService.selectprojectname(project_id);
Student student = (Student) request.getSession().getAttribute("student");
List<Subjectselected> subjectselected = subjectselectedMapper.selectBystudentid(student.getId());
if(subjectselected.size() == 0){
studentService.updateselectnumAdd(projectName);
topicsService.insertproject(projectName, student.getId());
httpSession.setAttribute("XZproject", projectName);
return "200";
}else {
return "201";
}
}
/**
* 取消选报
*/
@RequestMapping("/cancel")
@ResponseBody()
public String cancel(Long project_id, Model model, HttpSession httpSession) {
System.out.println(1);
String projectName = topicsService.selectprojectname(project_id);
Student student = (Student) request.getSession().getAttribute("student");
List<Subjectselected> subjectselected = subjectselectedMapper.selectBystudentid(student.getId());
if (subjectselected != null && subjectselected.size() != 0 && subjectselected.get(0).getStuselectFlag() != 3
&& project_id.equals(subjectselected.get(0).getIdProject())) {
topicsService.deleteprojectselectedid(student.getId());
httpSession.removeAttribute("XZproject");
model.addAttribute("XZproject", null);
httpSession.setAttribute("XZproject", null);
studentService.updateselectnumReduce(projectName);
return "200";
} else {
return "203";
}
}
/**
* 清除session中存的项目名
*/
public void removeSession(){
Student student = (Student) request.getSession().getAttribute("student");
Subject project = indexService.indexinfo(student.getId());
if(project==null){
request.getSession().removeAttribute("XZproject");
}
}
}
教师管理控制层:
@Authority(roles = {Role.TEACHER})
@Controller
@RequestMapping("/teacher")
public class TeacherController {
@Autowired
TeacherService teacherService;
@Autowired
SubjectService subjectService;
@RequestMapping(value = {"", "/loginPage"})
public String loginPage() {
return "teacher/login";
}
@GetMapping("/index")
public String homePage() {
return "teacher/public-teacher-index";
}
@GetMapping("/updatePwd")
public String updatePwd() {
return "teacher/teacherInfo/updatePwd";
}
@GetMapping("/teacherInfo")
public String teacherInfo() {
return "teacher/teacherInfo/teacherinfo";
}
@GetMapping("/modifyinfo")
public String modifyInfo() {
return "teacher/teacherInfo/updateinfo";
}
@GetMapping("/workapprovalinfo")
public String workInfo() {
return "teacher/workapproval/winfo";
}
@GetMapping("/workapprovaldata")
public String workData() {
return "teacher/workapproval/wdata";
}
@GetMapping("/seeworkdata")
public String seeWorkData() {
return "teacher/workapproval/seewdata";
}
//填写表格页面
@GetMapping("/term_debriefing")
public String termDebriefing() {
return "teacher/fillouttable/termdebriefing";
}
@GetMapping("/year_debriefing")
public String yearDebriefing() {
return "teacher/fillouttable/yeardebriefing";
}
@GetMapping("/annual_assessment")
public String annualAssessment() {
return "teacher/fillouttable/annualassessment";
}
@GetMapping("/work_load")
public String workLoad() {
return "teacher/fillouttable/workload";
}
@GetMapping("/technical_personnel")
public String technicalPersonnel() {
return "teacher/fillouttable/technicalpersonnel";
}
@GetMapping("/term_business")
public String termBusiness() {
return "teacher/fillouttable/termbusiness";
}
//查看表格页面
@GetMapping("/show_year_debriefing")
public String showYearDebriefing() {
return "teacher/showtable/yeardebriefing";
}
@GetMapping("/show_term_debriefing")
public String showTermDebriefing() {
return "teacher/showtable/termdebriefing";
}
@GetMapping("/show_annual_assessment")
public String showAnnualAssessment() {
return "teacher/showtable/annualassessment";
}
@GetMapping("/show_technical_personnel")
public String showTechnicalPersonnel() {
return "teacher/showtable/technicalpersonnel";
}
@GetMapping("/show_workload")
public String showWorkLoad() {
return "teacher/showtable/workload";
}
@GetMapping("/exit")
public String exit(HttpServletResponse response) {
//将Cookie 中的token 置空
Cookie cookie = new Cookie("token", null);
cookie.setPath("/");
response.addCookie(cookie);
return "redirect:/";
}
//打印页面
@GetMapping("/print_term_debriefing")
public String printYearDebriefing(Long year, String term, Model model) {
model.addAttribute("year", year);
model.addAttribute("term", term);
return "teacher/showtable/print/termdebriefing";
}
@GetMapping("/print_year_debriefing")
public String printTermDebriefing(Long year, Model model) {
model.addAttribute("year", year);
return "teacher/showtable/print/yeardebriefing";
}
@GetMapping("/login")
@ResponseBody
public Msg login(String name, String pwd, HttpSession httpSession, HttpServletResponse response) throws ParseException {
name = name.trim();
int flag = teacherService.teacherDL(name, pwd);
if (flag == 200) {
User user = new User();
//-1表示为超管
user.setId(0L);
user.setRole("teacher");
user.setUserName(name);
//生成Token 存到 Cookie
Cookie cookie = new Cookie("token", TokenUtil.createToken(
user
));
//该Cookie无法被js读取
cookie.setHttpOnly(true);
cookie.setPath("/");
response.addCookie(cookie);
Teacher teacher = teacherService.selectTeacher(name);
httpSession.setAttribute("teacherInfo", teacher);
httpSession.setMaxInactiveInterval(3600);
}
return Msg.success().add("info", flag);
}
//教师信息修改
//修改教师密码
@PostMapping("/teacherupdetpwd")
@ResponseBody
public Msg fun6(String oldpwd, String newpwd, HttpSession httpSession) {
Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
int flag = teacherService.teacherUpdetpwd(teacher.getUsername(), oldpwd, newpwd);
return Msg.success().add("flag", flag);
}
//修改教师信息
@PostMapping("/teacherupdeteinfo")
@ResponseBody
public Msg updateinfo(String name, String gender, HttpSession httpSession) {
TeacherWithBLOBs teacher = (TeacherWithBLOBs) httpSession.getAttribute("teacherInfo");
teacher.setName(name);
teacher.setGender(gender);
teacherService.teacherupdateInfo(teacher);
return Msg.success();
}
//教师出差模块
//查询所有教师出差申请信息
@GetMapping("/select_work_all")
@ResponseBody
public Msg fun1(HttpSession httpSession) {
TeacherWithBLOBs teacher = (TeacherWithBLOBs) httpSession.getAttribute("teacherInfo");
List<WorkapprovalWithBLOBs> list = teacherService.selectTeacherWorkAll(teacher.getId());
return Msg.success().add("workinfo", list);
}
//查询申请成功教师出差申请
@GetMapping("/select_work_success")
@ResponseBody
public Msg fun2(HttpSession httpSession) {
TeacherWithBLOBs teacher = (TeacherWithBLOBs) httpSession.getAttribute("teacherInfo");
List<WorkapprovalWithBLOBs> list = teacherService.selectWorkSuccess(teacher.getId());
return Msg.success().add("workinfo", list);
}
//查询申请失败教师出差申请
@GetMapping("/select_work_failed")
@ResponseBody
public Msg fun3(HttpSession httpSession) {
TeacherWithBLOBs teacher = (TeacherWithBLOBs) httpSession.getAttribute("teacherInfo");
List<WorkapprovalWithBLOBs> list = teacherService.selectWorkFailed(teacher.getId());
return Msg.success().add("workinfo", list);
}
//查询已提交教师出差申请
@GetMapping("/select_work_submitted")
@ResponseBody
public Msg fun4(HttpSession httpSession) {
TeacherWithBLOBs teacher = (TeacherWithBLOBs) httpSession.getAttribute("teacherInfo");
List<WorkapprovalWithBLOBs> list = teacherService.selectWorkSubmitted(teacher.getId());
return Msg.success().add("workinfo", list);
}
//删除申请失败的教师出差
@PostMapping("/delete_work")
@ResponseBody
public Msg deleteWork(Long id) {
teacherService.deleteWorkById(id);
return Msg.success();
}
//加载报告填写页面
@GetMapping("/fillworkapproval")
public String fun5(Long id, Model model) throws ParseException {
WorkapprovalWithBLOBs workapproval = teacherService.selectWorkById(id);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
String start = sdf.format(workapproval.getBeginDate());
String end = sdf.format(workapproval.getEndDate());
String time = start + " - " + end;
model.addAttribute("workapproval", workapproval);
model.addAttribute("time", time);
return "teacher/workapproval/fillwdata";
}
//上传出差报告
@PostMapping("/fill_in_w")
@ResponseBody
public Msg fun7(@RequestParam("id_work") Long idWork, @RequestParam("news") String news, @RequestParam("flag") Integer flag,
@RequestParam("file") MultipartFile file) throws IOException {
//判断file的值是否为空
if (file.isEmpty()) {
return Msg.error();
}
String fileName = file.getOriginalFilename();// 获取上传文件的原名
int size = (int) file.getSize();
System.out.println(fileName + "-->" + size);
File path = new File(ResourceUtils.getURL("target").getPath());
String savePath = path.getAbsolutePath() + "\\classes\\static\\model";
String saveFileName = savePath + "\\" + fileName;
// String path = "D:/test";//文件保存路径
File targetFile = new File(savePath);
if (!targetFile.getParentFile().exists()) { //判断文件父目录是否存在
targetFile.getParentFile().mkdir();
}
file.transferTo(new File(targetFile, fileName)); // 开始接受文件
Workapprovaldata workapprovaldata = new Workapprovaldata();
workapprovaldata.setIdWorkapproval(idWork);
workapprovaldata.setNews(news);
workapprovaldata.setDatarar(saveFileName);
//flag == 0 公有 flag == 1私有
workapprovaldata.setFlag(flag);
teacherService.insertWordData(workapprovaldata);
return Msg.success();
}
//查看出差报告
@GetMapping("/select_work_data")
@ResponseBody
public Msg fun8(Integer pn, HttpSession httpSession) {
Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
PageHelper.startPage(pn, 9);
List<Workapprovaldata> list = teacherService.selectWorkData(teacher.getIdSection());
PageInfo page = new PageInfo(list, 5);
return Msg.success().add("dataInfo", page);
}
//出差附件下载
@RequestMapping(value = "/file_download")
public ResponseEntity<byte[]> downloadFile(String dataId, HttpServletRequest req, HttpServletResponse response) throws IOException {
Workapprovaldata workapprovaldata = null;
if (dataId != null) {
Long id = Long.valueOf(dataId);
workapprovaldata = teacherService.selectWorkDataById(id);
}
if (workapprovaldata != null) {
String filePath = workapprovaldata.getDatarar();
//设置文件路径
File file = new File(filePath);
if (!file.exists()) {
file.mkdirs();
}
String fileName = file.getName();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.MULTIPART_FORM_DATA);
String encodeFilename = URLEncoder.encode(fileName, StandardCharsets.UTF_8.toString());
headers.setContentDispositionFormData("attachment", encodeFilename);
return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),
headers, HttpStatus.CREATED);
}
return null;
}
//学期述职
@PostMapping("/upload_term_debriefing")
@ResponseBody
public Msg fun9(String year, String term, String teachingTask, String scientificResearch,
String otherWork, String winAward, String summary, HttpSession httpSession) {
Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
DebriefingWithBLOBs debriefingWithBLOBs = new DebriefingWithBLOBs();
debriefingWithBLOBs.setIdTeacher(teacher.getId());
debriefingWithBLOBs.setYear(Long.parseLong(year));
debriefingWithBLOBs.setTerm(term);
debriefingWithBLOBs.setTeachingtask(teachingTask);
debriefingWithBLOBs.setAchievementsinscientificresearch(scientificResearch);
debriefingWithBLOBs.setOtherwork(otherWork);
debriefingWithBLOBs.setWinaward(winAward);
debriefingWithBLOBs.setSummary(summary);
int flag = teacherService.selectTermDebriefingFlag(teacher.getId(), Long.parseLong(year), term);
if (flag == 1) {
teacherService.updateTermDebriefing(debriefingWithBLOBs);
} else {
int i = teacherService.insertTermDebriefing(debriefingWithBLOBs);
}
return Msg.success();
}
// 工作量表相关
@GetMapping("/wordload")
public String wordloadPage() {
return "teacher/table/workload";
}
@GetMapping("/wordloadData")
@ResponseBody
public Msg wordloadData(
@RequestParam("year") String year,
@RequestParam("trem") String trem
) {
Teacher teacher = (Teacher) request.getSession().getAttribute("teacherInfo");
return Msg.success()
.add("teacher", teacher)
.add("workloadDTO", teacherService.getWorkload(teacher.getId(), year, trem));
}
private static final Logger LOGGER = LoggerFactory.getLogger(TeacherController.class);
@Autowired
HttpServletRequest request;
@PostMapping("/wordload")
@ResponseBody
public Msg wordloadSave(
@RequestBody WorkloadDTO workloadDTO
) {
Teacher teacher = (Teacher) request.getSession().getAttribute("teacherInfo");
// LOGGER.info("{}",workloadDTO);
teacherService.saveWorkload(workloadDTO, teacher);
return Msg.success();
}
// 教师业务表
@GetMapping("/business")
public String businessPage() {
return "teacher/table/business";
}
@GetMapping("/businessData")
@ResponseBody
public Msg businessData(
@RequestParam("year") String year,
@RequestParam("trem") String trem
) {
Teacher teacher = (Teacher) request.getSession().getAttribute("teacherInfo");
return teacherService.getBusiness(teacher.getId(), year, trem)
.add("teacher", teacher);
}
@PostMapping("/business")
@ResponseBody
public Msg saveBusiness(
@RequestBody BusinessDTO businessDTO
) {
Teacher teacher = (Teacher) request.getSession().getAttribute("teacherInfo");
return Msg.sqlChange((int) teacherService.saveBusiness(businessDTO, teacher));
}
//年度述职
@PostMapping("/upload_year_debriefing")
@ResponseBody
public Msg fun10(String year, String teachingTask, String scientificResearch,
String otherWork, String winAward, String summary, HttpSession httpSession) {
Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
DebriefingYearWithBLOBs debriefingYear = new DebriefingYearWithBLOBs();
debriefingYear.setIdTeacher(teacher.getId());
debriefingYear.setYear(Long.parseLong(year));
debriefingYear.setTeachingtask(teachingTask);
debriefingYear.setAchievementsinscientificresearch(scientificResearch);
debriefingYear.setOtherwork(otherWork);
debriefingYear.setWinaward(winAward);
debriefingYear.setSummary(summary);
Long flag = teacherService.selectYearDebriefingFlag(teacher.getId(), Long.parseLong(year));
if (flag == 1) {
teacherService.updateYearDebriefing(debriefingYear);
} else {
int i = teacherService.insertYearDebriefing(debriefingYear);
}
return Msg.success();
}
//查询年度述职中年份
@GetMapping("/select_debriefing_year")
@ResponseBody
public Msg fun11() {
List<DebriefingYear> list = teacherService.selectDebriefingByYear();
// 把年份排序
Collections.sort(list, new Comparator<DebriefingYear>() {
@Override
public int compare(DebriefingYear o1, DebriefingYear o2) {
return (int) (o2.getYear() - o1.getYear());
}
});
return Msg.success().add("year", list);
}
//查询指定年份的年度述职信息
@GetMapping("/select_debriefing_year_info")
@ResponseBody
public Msg fun12(Long year, HttpSession httpSession) {
Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
DebriefingYearWithBLOBs debriefingYear = teacherService.selectYearDebriefingInfo(teacher.getId(), year);
return Msg.success().add("debriefingInfo", debriefingYear);
}
//查询学期述职中年份
@GetMapping("select_debriefing_term")
@ResponseBody
public Msg fun13() {
List<Debriefing> list = teacherService.selectDebriefingTermByYear();
List<Long> temp = new ArrayList<>();
//去除重复的年份
for (Debriefing s : list) {
if (!temp.contains(s.getYear())) {
temp.add(s.getYear());
}
}
return Msg.success().add("year", temp);
}
//查询指定年份的学期述职信息
@GetMapping("/select_debriefing_term_info")
@ResponseBody
public Msg fun14(Long year, String term, HttpSession httpSession) {
Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
DebriefingWithBLOBs debriefing = teacherService.selectTermDebriefingInfo(teacher.getId(), year, term);
return Msg.success().add("debriefingInfo", debriefing);
}
//年度考核
@PostMapping("/upload_annual_assessment")
@ResponseBody
public Msg fun15(String personalSummary, String year, String remark, HttpSession httpSession) {
Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
AnnualAssessmentWithBLOBs assessment = new AnnualAssessmentWithBLOBs();
assessment.setIdTeacher(teacher.getId());
assessment.setPersonalsummary(personalSummary);
assessment.setYear(year);
assessment.setRemark(remark);
Long flag = teacherService.selectAnnualAssessmentFlag(teacher.getId(), year);
if (flag == 1) {
int i = teacherService.updateAnnualAssessment(assessment);
} else {
int i = teacherService.insertAnnualAssessment(assessment);
}
return Msg.success();
}
//年度专业技术人员考核表
@PostMapping("/upload_technical_personnel")
@ResponseBody
public Msg fun16(String year, String mainAchievements, String attendance, String rewardsAndPunishments, HttpSession httpSession) {
Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
TechnicalPersonnelWithBLOBs technicalPersonnelWithBLOBs = new TechnicalPersonnelWithBLOBs();
technicalPersonnelWithBLOBs.setIdTeacher(teacher.getId());
technicalPersonnelWithBLOBs.setYear(year);
technicalPersonnelWithBLOBs.setMainachievements(mainAchievements);
technicalPersonnelWithBLOBs.setAttendance(attendance);
technicalPersonnelWithBLOBs.setRewardsandpunishments(rewardsAndPunishments);
Long flag = teacherService.selectTechnicalPersonnelFlag(teacher.getId(), Long.parseLong(year));
if (flag == 1) {
int i = teacherService.updateTechnicalPersonnel(technicalPersonnelWithBLOBs);
} else {
int i = teacherService.insertTechnicalPersonnel(technicalPersonnelWithBLOBs);
}
return Msg.success();
}
//查询年度考核年份
@GetMapping("/select_annual_assessment")
@ResponseBody
public Msg fun17(HttpSession httpSession) {
Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
List<AnnualAssessment> list = teacherService.selectAnnualAssessmentByYear(teacher.getId());
if (list.isEmpty()) {
return Msg.fail();
} else {
return Msg.success().add("year", list);
}
}
//查询指定年度考核信息
@GetMapping("/select_annualassessment_year_info")
@ResponseBody
public Msg fun18(Long year, HttpSession httpSession) {
Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
AnnualAssessmentWithBLOBs assessment = teacherService.selectAnnualAssessmentInfo(teacher.getId(), year);
return Msg.success().add("assessmentInfo", assessment);
}
//查询度专业技术人员考核表年份
@GetMapping("/select_technical_personnel_year")
@ResponseBody
public Msg fun18(HttpSession httpSession) {
Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
List<TechnicalPersonnel> list = teacherService.selectTechnicalPersonnelByYear(teacher.getId());
if (list.isEmpty()) {
return Msg.fail();
} else {
return Msg.success().add("year", list);
}
}
//查询度专业技术人员考核表信息
@GetMapping("/select_technicalpersonnel_year_info")
@ResponseBody
public Msg fun19(Long year, HttpSession httpSession) {
Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
TechnicalPersonnelWithBLOBs technicalPersonnelWithBLOBs = teacherService.selectTechnicalPersonnelInfo(teacher.getId(), year);
return Msg.success().add("technicalPersonnel", technicalPersonnelWithBLOBs);
}
// 毕业设计内容
// 加载上传课题页面
@GetMapping("/upload_topic_page")
public String uploadTopic(ModelMap modelMap, HttpSession httpSession) {
TeacherWithBLOBs teacher = (TeacherWithBLOBs) httpSession.getAttribute("teacherInfo");
List<Projecttype> projecttypes = teacherService.select_allProjecttype();
List<Projectsource> projectsources = teacherService.select_allProjectsource();
List<Specialty> specialties = teacherService.select_allSpecialty(teacher.getIdSection());
modelMap.addAttribute("projecttypes", projecttypes);
modelMap.addAttribute("projectsources", projectsources);
modelMap.addAttribute("specialties", specialties);
return "teacher/graduation/upload";
}
// 上传课题
@PostMapping("/up_project")
@ResponseBody
public Msg fun20(String projectName, Long idProjecttype, Long idProjectsource, String marchspecialty, String teachernames, @RequestParam("file") MultipartFile file, HttpServletRequest request, HttpSession httpSession) throws IOException {
if (file == null) {
return Msg.fail().add("msg","文件上传失败");
}
if(teacherService.selectProjectByName(projectName).size()>0){
System.out.println("上传失败");
return Msg.fail().add("msg","课题名已存在");
}
Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
ServletContext servletContext = request.getSession().getServletContext();
String uploadFileName = file.getOriginalFilename(); // 获取上传文件的原名
System.out.println(uploadFileName);
uploadFileName = uploadFileName.substring(uploadFileName.lastIndexOf(File.separator) + 1);
System.out.println(uploadFileName);
File path = new File(ResourceUtils.getURL("target").getPath());
String savePath =
path.getAbsolutePath() + File.separator+"classes+"+File.separator+"static"
+File.separator+"model"+File.separator + teacher.getId();
String saveFileName = savePath +File.separator + uploadFileName;
File dirs = new File(savePath);
//判断路径是否存在,如果不存在就创建一个
if (!dirs.exists()) {
dirs.mkdirs();
}
file.transferTo(new File(dirs, uploadFileName)); // 开始接受文件
System.out.println(teachernames);
ProjectWithBLOBs project = new ProjectWithBLOBs();
project.setProjectname(projectName);
project.setIdProjecttype(idProjecttype);
project.setIdProjectsource(idProjectsource);
project.setIdTeacher(teacher.getId());
project.setFilepath(saveFileName);
project.setMarchspecialty(marchspecialty.trim());
project.setTeachernames(teachernames);
project.setSelectcount(0);
project.setSelectFlag(0);
project.setVerifyprojectFlag(0);
project.setReleaseFlag(0);
int i = teacherService.insert_project(project);
return Msg.success();
}
//查看自己的课题发布记录
@GetMapping("/cxmyProject")
public String fun21(ModelMap modelMap, HttpSession httpSession) {
TeacherWithBLOBs teacher = (TeacherWithBLOBs) httpSession.getAttribute("teacherInfo");
List<Projecttype> projecttypes = teacherService.select_allProjecttype();
List<Projectsource> projectsources = teacherService.select_allProjectsource();
List<Specialty> specialties = teacherService.select_allSpecialty(teacher.getIdSection());
modelMap.addAttribute("projecttypes", projecttypes);
modelMap.addAttribute("projectsources", projectsources);
modelMap.addAttribute("specialties", specialties);
List<Project> projects = teacherService.selectTeacherProject(teacher.getName());
for (int i = 0; i < projects.size(); i++) {
if (projects.get(i).getVerifyprojectFlag() == 0) projects.get(i).setProjectZT("未审核");
else if (projects.get(i).getVerifyprojectFlag() == 1) projects.get(i).setProjectZT("审核未通过");
else projects.get(i).setProjectZT("审核通过");
}
modelMap.addAttribute("Myproject", projects);
return "teacher/graduation/section_xq/index";
}
// 发布或取消发布已审核通过的课题
@PostMapping("/fb_project")
@ResponseBody
public String fun8(Long project_id, String pd,HttpSession httpSession) {
int s = Integer.parseInt(pd);
teacherService.updateProjectFB(project_id, s);
if (s == 0) {
teacherService.deleteSelectedAll(project_id);
teacherService.updateProjectCount(project_id);
}
Map<String, String> map = new HashMap<String, String>();
map.put("pd", "" + 1);
return JSONObject.toJSONString(map);
}
@PostMapping("del_project")
@ResponseBody
public Msg deleteProject(Long id) {
teacherService.deleteProject(id);
return Msg.success();
}
@PostMapping("/updateSubject")
@ResponseBody
public Msg updateProject(Long id, String projectName, Long idProjecttype, Long idProjectsource, String marchspecialty, String teachernames, @RequestParam(value = "file", required = false) MultipartFile file, HttpServletRequest request, HttpSession httpSession) throws IOException {
//拼接 teacherNames 字段
TeacherWithBLOBs teacher = (TeacherWithBLOBs) request.getSession().getAttribute("teacherInfo");
String teacherName = teacher.getName();
if (teachernames == null || teachernames.trim().length() == 0) {
teachernames = teacherName;
} else {
teachernames = teacherName + "&" + teachernames;
}
SubjectWithBLOBs subject = null;
//文件大小 为 0 则表示 文件没上传
long size = file.getSize();
//不更新课题文件情况
if (file == null || size == 0) {
subject = new SubjectWithBLOBs();
subject.setId(id);
subject.setProjectname(projectName);
subject.setIdProjecttype(idProjecttype);
subject.setIdProjectsource(idProjectsource);
subject.setMarchspecialty(marchspecialty);
subject.setTeachernames(teachernames);
//修改后状态置 0
subject.setSelectFlag(0);
subject.setVerifyprojectFlag(0);
subject.setReleaseFlag(0);
subjectService.updateSubjectByid(subject);
return Msg.success();
} else {
//获取课题
SubjectWithBLOBs subject1 = subjectService.getSubjectByID(id);
//获取课题路径
String oldPath = subject1.getFilepath();
File oldFile = new File(oldPath);
//如果文件存在则删除
if (oldFile.exists()) {
//删除成功
if (oldFile.delete()) {
} else {
return Msg.fail();
}
}
ServletContext servletContext = request.getSession().getServletContext();
String uploadFileName = file.getOriginalFilename(); // 获取上传文件的原名
uploadFileName = uploadFileName.substring(uploadFileName.lastIndexOf(File.separator) + 1);
File path = new File(ResourceUtils.getURL("target").getPath());
// String savePath = path.getAbsolutePath() + "\\classes\\static\\model\\" + teacher.getId();
// String saveFileName = savePath + "\\" + uploadFileName;
String savePath =
path.getAbsolutePath() + File.separator+"classes+"+File.separator+"static"
+File.separator+"model"+File.separator + teacher.getId();
String saveFileName = savePath +File.separator + uploadFileName;
File dirs = new File(savePath);
//判断路径是否存在,如果不存在就创建一个
if (!dirs.exists()) {
dirs.mkdirs();
}
file.transferTo(new File(dirs, uploadFileName)); // 开始接受文件
SubjectWithBLOBs project = subject1;
project.setProjectname(projectName);
project.setIdProjecttype(idProjecttype);
project.setIdProjectsource(idProjectsource);
project.setFilepath(saveFileName);
project.setMarchspecialty(marchspecialty.trim());
project.setTeachernames(teachernames);
//修改后状态置 0
project.setSelectFlag(0);
project.setVerifyprojectFlag(0);
project.setReleaseFlag(0);
int i = subjectService.updateSubjectByid(project);
return Msg.success();
}
}
@GetMapping("/getSubjectById")
@ResponseBody
public Msg getss(Long id) {
SubjectWithBLOBs subject = subjectService.getSubjectByID(id);
System.out.println(subject);
subject.setFilepath(subject.getFilepath().substring(subject.getFilepath().lastIndexOf("\\") + 1));
String[] teachers = subject.getTeachernames().split("&");
String teacher2 = "";
if (teachers.length >= 2) {
teacher2 = teachers[teachers.length - 1];
}
subject.setTeachernames(teacher2);
return Msg.success()
.add("subject", subject)
;
}
//查看自己所在教研室的课题发布记录
@GetMapping("/cxallProject")
public String fun7(ModelMap modelMap, HttpSession httpSession) {
Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
List<Project> projects = teacherService.selecSectionProject(teacher.getSectionName());
for (int i = 0; i < projects.size(); i++) {
if (projects.get(i).getVerifyprojectFlag() == 0) projects.get(i).setProjectZT("未审核");
else if (projects.get(i).getVerifyprojectFlag() == 1) projects.get(i).setProjectZT("审核未通过");
else projects.get(i).setProjectZT("审核通过");
}
modelMap.addAttribute("allproject", projects);
return "teacher/graduation/section_xq/subjectinfoto";
}
}
管理员后台管理层:
@Authority(roles = {Role.ADMIN, Role.SADMIN})
@Controller
@RequestMapping("/admin")
public class AdminController {
private static final Logger LOGGER = LoggerFactory.getLogger(AdminController.class);
@Autowired
AdminService adminService;
@Autowired
AdminMapper adminMapper;
@Autowired
CollegeService collegeService;
@Autowired
SectionService sectionService;
@Autowired
SpecialtyService specialtyService;
@Autowired
ClassService classService;
@Autowired
TeacherService teacherService;
@Autowired
StudentService studentService;
@Autowired
SubjectService subjectService;
@Autowired
ExcelService excelService;
@Autowired
SubjectRelationStudentMapper subjectRelationStudentMapper;
@Autowired
HttpServletRequest request;
@Autowired
HttpServletResponse response;
@Autowired
HttpSession session;
@ModelAttribute("id_institute")
public long getRoleInfo() {
User user = (User) request.getAttribute("user");
// LOGGER.info("USER:{}",user);
if (user != null) {
if (user.getRole().equals("admin")) {
Institute institute = collegeService.selectCollege(adminMapper.selectByPrimaryKey(user.getId()).getIdInstitute());
return institute.getId();
}
if (user.getRole().equals("sadmin")) {
return -1;
}
return 0;
} else {
return 0;
}
}
// admin index page 子管首页
@GetMapping(value = {"", "/index"})
public String index() {
User user = (User) request.getAttribute("user");
// LOGGER.info("index user:{}",user);
//这部分还是用了session存储部分信息 后续可能修改
//根据 user的id 判断 渲染页面
if (user.getId() == -1) {
LOGGER.info("超级管理员登录");
session.setAttribute("instituteName", "超级管理员");
session.setAttribute("ROLE", "sadmin");
session.setAttribute("username", user.getUserName());
return "admin/public-admin-index";
}
Institute institute = collegeService.selectCollege(adminMapper.selectByPrimaryKey(user.getId()).getIdInstitute());
System.out.println(institute.getInstituteName());
session.setAttribute("instituteName", institute.getInstituteName());
session.setAttribute("ROLE", "admin");
session.setAttribute("username", user.getUserName());
return "admin/public-admin-index";
}
// exit 退出登录
@GetMapping("/exit")
public String exit(HttpSession httpSession) {
//将Cookie 中的token 置空
Cookie cookie = new Cookie("token", null);
cookie.setPath("/");
response.addCookie(cookie);
return "login";
}
// login 在单独Controller
// updatePwd 更新密码
@GetMapping("/updatePwd")
public String updatePwd() {
return "admin/updatePwd";
}
@PostMapping("/updatePwd")
@ResponseBody
public Msg updatePwd(
@RequestBody Admin admin,
HttpSession httpSession) {
User user = (User) request.getAttribute("user");
adminService.updatePwdByUserName(
user.getUserName(),
admin.getPwd()
);
return Msg.success();
}
// 教研室
@GetMapping("/SectionManagement")
public String section() {
return "admin/Department/SectionManagement";
}
@GetMapping("/sections")
@ResponseBody
public Msg getSections(@ModelAttribute("id_institute") long id_institute) {
return Msg.success().add("sections", sectionService.getSections(id_institute));
}
@DeleteMapping("/section")
@ResponseBody
public Msg delSection(@RequestBody Section section) {
return Msg.sqlChange((int) sectionService.delSection(section));
}
@PutMapping("/section")
@ResponseBody
public Msg updateSection(@RequestBody @Validated Section section, @ModelAttribute("id_institute") long id_institute) throws MyException {
return Msg.sqlChange((int) sectionService.updateSection(section, section.getSectionName(), id_institute));
}
@PostMapping("/section")
@ResponseBody
public Msg addSection(@RequestBody @Validated Section section, @ModelAttribute("id_institute") long id_institute) {
return Msg.sqlChange((int) sectionService.addSection(section, id_institute));
}
// 专业方向
@GetMapping("/SpecialtyManagement")
public String specialty() {
return "admin/Department/SpecialtyManagement";
}
@GetMapping("/specialtys")
@ResponseBody
public Msg getSpecialtys(
@RequestParam Integer offset,
@RequestParam(required = false) Long sectionId,
@RequestParam(required = false) String keyWord,
@ModelAttribute("id_institute") long id_institute) {
long total = specialtyService.getSpecialtyCount(offset, keyWord, sectionId, id_institute);
return Msg.success()
.add("specialtys", specialtyService.getSpecialtys(offset, keyWord, sectionId, id_institute))
.add("total", total);
}
@ResponseBody
@DeleteMapping("/specialty")
public Msg delSpecialty(
@RequestBody Specialty specialty,
@ModelAttribute("id_institute") long id_institute
) throws MyException {
return Msg.sqlChange((int) specialtyService.delSpecialty(specialty, id_institute));
}
@ResponseBody
@PutMapping("/specialty")
public Msg putSpecialty(
@RequestBody @Validated({Update.class}) Specialty specialty,
@ModelAttribute("id_institute") long id_institute
) throws MyException {
return Msg.sqlChange((int) specialtyService.putSpecialty(specialty, id_institute));
}
@ResponseBody
@PostMapping("/specialty")
public Msg postSpecialty(
@RequestBody @Validated({Add.class}) Specialty specialty,
@ModelAttribute("id_institute") long id_institute
) throws MyException {
return Msg.sqlChange((int) specialtyService.postSpecialty(specialty, id_institute));
}
// 班级
@GetMapping("/ClassManagement")
public String Class() {
return "admin/Department/ClassManagement";
// //获取管理员的 学院id
// public static Long getIdInstitute(ModelMap modelMap) {
// Subadmin subadmin = (Subadmin) modelMap.get("admin");
// return subadmin.getIdInstitute();
// }
}
@ResponseBody
@GetMapping("/classes")
public Msg getClasses(
@RequestParam("offset") Integer offset,
@RequestParam(required = false) Long specialtyId,
@RequestParam(required = false) String keyWord,
@ModelAttribute("id_institute") long id_institute) {
long total = classService.getClassesCount(offset, keyWord, specialtyId, id_institute);
return Msg.success()
.add("classes", classService.getClasses(offset, keyWord, specialtyId, id_institute))
.add("total", total);
}
@ResponseBody
@DeleteMapping("/class")
public Msg delClass(
@RequestBody MyClass myClass,
@ModelAttribute("id_institute") long id_institute
) throws MyException {
return Msg.sqlChange((int) classService.delClass(myClass, id_institute));
}
@ResponseBody
@PutMapping("/class")
public Msg putClass(
@RequestBody @Validated({One.class}) MyClass myClass,
@ModelAttribute("id_institute") long id_institute
) throws MyException {
return Msg.sqlChange((int) classService.putClass(myClass, id_institute));
}
@ResponseBody
@PostMapping("/class")
public Msg postClass(
@RequestBody @Validated({One.class}) MyClass myClass,
@ModelAttribute("id_institute") long id_institute
) throws MyException {
return Msg.sqlChange((int) classService.postClass(myClass, id_institute));
}
// 课题综合管理
@GetMapping("/SourceManagement")
public String source() {
return "admin/Subject/SourceManagement";
}
@ResponseBody
@GetMapping("/sources")
public Msg getSources() {
return Msg.success().add("sources", subjectService.selectSubjectSources());
}
@ResponseBody
@PostMapping("/source")
public Msg addSource(@RequestBody @Validated SubjectSource source) throws MyException {
return Msg.sqlChange((int) subjectService.insertSubjectSource(source.getSourcename()));
}
@ResponseBody
@DeleteMapping("/source")
public Msg delSource(@RequestBody SubjectSource source) throws MyException {
return Msg.sqlChange(subjectService.delSubjectSource(source.getId()));
}
@ResponseBody
@PutMapping("/source")
public Msg updateSource(@RequestBody @Validated SubjectSource source) {
return Msg.sqlChange(subjectService.updateSubjectSource(source));
}
//课题类型
@GetMapping("/TypeManagement")
public String subjectType() {
return "admin/Subject/TypeManagement";
}
@ResponseBody
@GetMapping("/sujecttypes")
public Msg getType() {
return Msg.success().add("sujecttypes", subjectService.selectSubjectTypes());
}
@ResponseBody
@PostMapping("/sujecttype")
public Msg addType(@RequestBody @Validated SubjectType type) throws MyException {
return Msg.sqlChange((int) subjectService.insertSubjectType(type.getTypename()));
}
@ResponseBody
@DeleteMapping("/sujecttype")
public Msg delType(@RequestBody SubjectType type) throws MyException {
return Msg.sqlChange(subjectService.delSubjectType(type.getId()));
}
@ResponseBody
@PutMapping("/sujecttype")
public Msg updateType(@RequestBody @Validated SubjectType type) {
return Msg.sqlChange(subjectService.updateSubjectType(type));
}
//课题管理
@GetMapping("/SubjectManagement")
public String Subject() {
return "admin/Subject/SubjectManagement";
}
@ResponseBody
@GetMapping("/subjects")
public Msg getSubjects(
@RequestParam Integer offset,
@RequestParam(required = false) Long sectionId,
@RequestParam(required = false) String keyWord,
@ModelAttribute("id_institute") long id_institute) {
long total = subjectService.selectSubjectsCount(offset, keyWord, sectionId, id_institute);
return Msg.success()
.add("subjects", subjectService.selectSubjects(offset, keyWord, sectionId, id_institute))
.add("total", total);
}
@ResponseBody
@PostMapping("/subject")
public Msg addSubject(
@RequestBody @Validated(Add.class) SubjectWithBLOBs subject,
@ModelAttribute("id_institute") long id_institute) throws MyException {
return Msg.sqlChange((int) subjectService.insertSubject(subject, id_institute));
}
@ResponseBody
@DeleteMapping("/subject")
public Msg delSubject(
@RequestBody SubjectWithBLOBs subject,
@ModelAttribute("id_institute") long id_institute) throws MyException {
return Msg.sqlChange(subjectService.delSubject(subject, id_institute));
}
@ResponseBody
@PutMapping("/subject")
public Msg updateSubject(
@RequestBody @Validated(Update.class) SubjectWithBLOBs subject,
@ModelAttribute("id_institute") long id_institute) throws MyException {
return Msg.sqlChange(subjectService.updateSuject(subject, id_institute));
}
//get学生选题的状态
@GetMapping("/SRS")
@ResponseBody
public Msg getSelectSubjected(
@ModelAttribute("id_institute") long id_institute
) {
System.out.println(subjectService.getSelectSubjected(null, id_institute));
return Msg.success().add("SRS", subjectService.getSelectSubjected(null, id_institute));
}
//get 选某个课题的所有学生
@GetMapping("/studentsBySubject")
@ResponseBody
public Msg getStuentBySubject(
@RequestParam("id") Long id,
@ModelAttribute("id_institute") long id_institute
) {
return subjectService.getStuentBySubject(id, id_institute);
}
// 教师管理 增删改查
@GetMapping("/TeacherManagement")
public String teacher() {
return "admin/BasicInfo/TeacherManagement";
}
@ResponseBody
@GetMapping("/teachers")
public Msg getTeachers(
@RequestParam Integer offset,
@RequestParam(required = false) Long sectionId,
@RequestParam(required = false) String keyWord,
@ModelAttribute("id_institute") long id_institute) {
long total = teacherService.selectTeachersCount(offset, keyWord, sectionId, id_institute);
return Msg.success()
.add("teachers", teacherService.selectTeachers(offset, keyWord, sectionId, id_institute))
.add("total", total);
}
@ResponseBody
@DeleteMapping("/teacher")
public Msg delTeacher(
@RequestBody TeacherWithBLOBs teacher,
@ModelAttribute("id_institute") long id_institute
) throws MyException {
return Msg.sqlChange((int) teacherService.delTeacher(teacher, id_institute));
}
@ResponseBody
@PostMapping("/teacher")
public Msg addTeacher(
@RequestBody @Validated(Add.class) TeacherWithBLOBs teacher,
@ModelAttribute("id_institute") long id_institute
) throws MyException {
return Msg.sqlChange((int) teacherService.addTeacher(teacher, id_institute));
}
@ResponseBody
@PutMapping("/teacher")
public Msg updateTeacher(
@RequestBody @Validated({Update.class}) TeacherWithBLOBs teacher,
@ModelAttribute("id_institute") long id_institute
) throws MyException {
return Msg.sqlChange((int) teacherService.updateTeacher(teacher, id_institute));
}
//教师批量教师导入
@PostMapping("/TeacherExcel")
@ResponseBody
public Msg addTeacherExcel(
@RequestParam("excel") MultipartFile excelFile,
@ModelAttribute("id_institute") long id_institute
) throws MyException, IOException {
return excelService.teacherExcelImport(excelFile, id_institute);
}
//教师批量导入模板
@GetMapping("/TeacherExcelDemo")
public void getTeacherExcelDemo(HttpServletResponse response) throws IOException {
excelService.teacherExcelDownload(response);
}
// 学生管理
@GetMapping("/StudentManagement")
public String student() {
return "admin/BasicInfo/StudentManagement";
}
@ResponseBody
@GetMapping("/students")
public Msg getStudents(
@RequestParam Integer offset,
@RequestParam(required = false) Long classId,
@RequestParam(required = false) Long specialtyId,
@RequestParam(required = false) String keyWord,
@ModelAttribute("id_institute") long id_institute
) throws MyException {
long total = studentService.selectStudentsCount(offset, keyWord, classId, specialtyId, id_institute);
return Msg.success()
.add("students", studentService.selectStudents(offset, keyWord, classId, specialtyId, id_institute))
.add("total", total);
}
@ResponseBody
@DeleteMapping("/student")
public Msg delStudent(
@RequestBody StudentWithBLOBs student,
@ModelAttribute("id_institute") long id_institute
) throws MyException {
return Msg.sqlChange((int) studentService.delStudent(student, id_institute));
}
@ResponseBody
@PostMapping("/student")
public Msg addStudent(
@RequestBody @Validated(Add.class) StudentWithBLOBs student,
@ModelAttribute("id_institute") long id_institute
) throws MyException {
return Msg.sqlChange((int) studentService.addStudent(student, id_institute));
}
@ResponseBody
@PutMapping("/student")
public Msg updateStudent(
@RequestBody @Validated({Update.class}) StudentWithBLOBs student,
@ModelAttribute("id_institute") long id_institute
) throws MyException {
return Msg.sqlChange((int) studentService.updateStudent(student, id_institute));
}
// 批量导入模板
@GetMapping("/StudentExcelDemo")
public void getStudentExcelDemo(HttpServletResponse response) throws IOException {
excelService.studentExcelDownload(response);
}
//批量学生导入
@PostMapping("/StudentExcel")
@ResponseBody
public Msg addStudentExcel(
@RequestParam("excel") MultipartFile excelFile,
@ModelAttribute("id_institute") long id_institute
) throws MyException, IOException {
return excelService.studentExcelImport(excelFile, id_institute);
}
// 生成一览表
//课题一览表
@GetMapping("/SubjectExcel")
public void getSubjectExcel(
HttpServletResponse response,
HttpServletRequest request,
@ModelAttribute("id_institute") long id_institute) throws IOException {
excelService.subjectExcelDownload(response, request, id_institute);
}
}
源码获取:博客首页 "资源" 里下载!