作者主页:源码空间站2022

简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

基于SSM的学生综合素质评价系统设计与实现,系统共分三种角色,包括管理员、教师、学生;
管理员主要功能包括:
权限中心:用户组权限控制、用户组信息管理;
系统设置:菜单管理、系统日志、成绩比例修改;
信息管理:教师信息管理、学生信息管理、课程信息管理、班级信息管理、学期信息管理、状态信息管理、用户账号管理;
教师主要功能包括:
活动管理:活动记录管理;
信息维护:个人信息修改、学生信息管理;
综合评测:综合成绩管理、学生异议处理、学生成绩分析;
成绩管理:学生成绩管理;
学生主要功能包括:
学生个人信息:个人信息修改;
信息查询:活动记录查询、成绩查询、综合成绩查询;

异议申报:学生异议申报;

环境需要

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版本;

技术栈

1. 后端:SSM(Spring SpringMVC MyBatis)

2. 前端:thymeleaf和layui

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat;
3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置
4. 运行项目,在浏览器中输入http://localhost:8080/ 登录; 
注意项目路径必须配置为/,否则会出错;

运行截图

代码相关

修改控制器

@RestController
public class upController {@Autowiredprivate GroupinfoService groupinfoService;@Autowiredprivate LogService logService;@Autowiredprivate MenuService menuService;@Autowiredprivate TeacherService teacherService;@Autowiredprivate StudentService studentService;@Autowiredprivate KechengService kechengService;@Autowiredprivate ClassesService classesService;@Autowiredprivate SemesterService semesterService;@Autowiredprivate ZhuangtaiService zhuangtaiService;@Autowiredprivate UsersService usersService;@Autowiredprivate ActivityService activityService;@Autowiredprivate GradeService gradeService;@Autowiredprivate ZhcjService zhcjService;@Autowiredprivate ImportUtilService importUtilService;@Autowiredprivate KcblService kcblService;//修改权限信息@RequestMapping("/upyhzqxgl")public boolean upyhzqxgl(@RequestParam(value = "id") String id,@RequestParam(value = "checked") String checked,HttpServletRequest httpServletRequest) {String ids[] = id.split("_");int fcdid=Integer.parseInt(ids[0]);int zid = Integer.parseInt(ids[2]);String info="增加";Groupinfo groupinfo = groupinfoService.getGroupinfoById(zid);if (groupinfo != null) {String qx = groupinfo.getQx();String qxs[] = {};if (qx!=null) {qxs = qx.split(",");}if (checked.equals("true"))//增加{  info="增加";String aaaa= Arrays.toString(qxs);if (aaaa.length()>2)qx+=","+fcdid;elseqx=String.valueOf(fcdid);}if (checked.equals("false"))//减少{qx="";info="减少";int tem = 0;int i;for(i = 0; i<qxs.length; i++){if(Integer.parseInt(qxs[i])==fcdid){tem = i;}}for (i = 0;i<qxs.length;i++){if (i==tem)continue;qx+=qxs[i]+",";}if (qx.length()>1)qx = qx.substring(0, qx.length() -1);}groupinfo.setQx(qx);if (groupinfoService.upGroupinfo(groupinfo) != 0) {setLog.setlod(httpServletRequest, "修改了id为" + zid + "用户组的权限," + info + "权限id" + fcdid,logService);return true;}return false;}return false;}/*管理员修改教师信息*/@RequestMapping("/upjsxxgl")public boolean upjsxxgl(@RequestParam(value = "id") int id,@RequestParam(value = "field") String field,@RequestParam(value = "updateValue") String updateValue,HttpServletRequest httpServletRequest) {Teacher teacher = teacherService.getTeacherById(id);if (teacher != null) {if (field.equals("tname"))teacher.setTname(updateValue);if (field.equals("tsex"))teacher.setTsex(updateValue);if (field.equals("tzc"))teacher.setTzc(updateValue);if (field.equals("tphone"))teacher.setTphone(updateValue);if (teacherService.upTeacher(teacher) != 0) {setLog.setlod(httpServletRequest, "修改了id为" + id + "的教师" + field + "为" + updateValue,logService);return true;}return false;}return false;}/*修改班级信息*/@RequestMapping("/upbjxxgl")public boolean upbjxxgl(@RequestParam(value = "id") int id,@RequestParam(value = "field") String field,@RequestParam(value = "updateValue") String updateValue,HttpServletRequest httpServletRequest) {Classes classes = classesService.getClassesById(id);if (classes != null) {if (field.equals("bj"))classes.setBj(updateValue);if (field.equals("xy"))classes.setXy(updateValue);if (field.equals("zy"))classes.setZy(updateValue);if (field.equals("nj"))classes.setNj(updateValue);if (classesService.upClasses(classes) != 0) {setLog.setlod(httpServletRequest, "修改了id为" + id + "的班级" + field + "为" + updateValue,logService);return true;}return false;}return false;}/*修改学期信息*/@RequestMapping("/upxqxxgl")public boolean upxqxxgl(@RequestParam(value = "id") int id,@RequestParam(value = "field") String field,@RequestParam(value = "updateValue") String updateValue,HttpServletRequest httpServletRequest) {Semester semester = semesterService.getSemesterById(id);if (semester != null) {if (field.equals("xq"))semester.setXq(updateValue);if (field.equals("year"))semester.setYear(updateValue);if (semesterService.upSemester(semester) != 0) {setLog.setlod(httpServletRequest, "修改了id为" + id + "的学期" + field + "为" + updateValue,logService);return true;}return false;}return false;}/*修改状态信息*/@RequestMapping("/upztxxgl")public boolean upztxxgl(@RequestParam(value = "id") int id,@RequestParam(value = "field") String field,@RequestParam(value = "updateValue") String updateValue,HttpServletRequest httpServletRequest) {Zhuangtai zhuangtai = zhuangtaiService.getZhuangtaiById(id);if (zhuangtai != null) {zhuangtai.setZtname(updateValue);if (zhuangtaiService.upZhuangtai(zhuangtai) != 0) {setLog.setlod(httpServletRequest, "修改了id为" + id + "的状态" + field + "为" + updateValue,logService);return true;}return false;}return false;}/*修改课程信息*/@RequestMapping("/upkcxxgl")public boolean upkcxxgl(@RequestParam(value = "id") int id,@RequestParam(value = "field") String field,@RequestParam(value = "updateValue") String updateValue,HttpServletRequest httpServletRequest) {Kecheng kecheng = kechengService.getKechengById(id);if (kecheng != null) {if (field.equals("kname"))kecheng.setKname(updateValue);if (field.equals("zxs"))kecheng.setZxs(Integer.parseInt(updateValue));if (field.equals("xf"))kecheng.setXf(Integer.parseInt(updateValue));if (kechengService.upKecheng(kecheng) != 0) {setLog.setlod(httpServletRequest, "修改了id为" + id + "的课程" + field + "为" + updateValue,logService);return true;}return false;}return false;}/*重置用户密码*/@RequestMapping("/inituser")public boolean inituser(@RequestParam int id, HttpServletRequest httpServletRequest) {Users users = usersService.selectByPrimaryKey(id);if (users != null) {users.setUpassword(UtilPacket.Md5MD5String("123456"));if (usersService.updateByPrimaryKeySelective(users) != 0) {setLog.setlod(httpServletRequest, "重置了" + id + "用户的密码",logService);return true;}}return false;}/*教师管理员更改学生信息*/@RequestMapping("/upxsxxgl")public boolean upxsxxgl(@RequestParam(value = "id") int id,@RequestParam(value = "field") String field,@RequestParam(value = "updateValue") String updateValue,HttpServletRequest httpServletRequest) {Student student = studentService.getStudentById(id);if (student != null) {if (field.equals("sname"))student.setSname(updateValue);if (field.equals("ssex"))student.setSsex(updateValue);if (field.equals("sphone"))student.setSphone(updateValue);if (studentService.upStudent(student) != 0) {setLog.setlod(httpServletRequest, "修改了id为" + id + "的学生" + field + "为" + updateValue,logService);return true;}return false;}return false;}/*重新核算学生成绩*/@RequestMapping("/upxsyycl")public boolean upxsyycl(@RequestParam(value = "id") int id,HttpServletRequest httpServletRequest) {List<Kcbl> kcbls = kcblService.getkcbllist();double dybl = 0.3;double tybl = 0.1;double stbl = 1;double zhbl = 0.6;DecimalFormat df = new DecimalFormat("#.00");if (kcbls!=null){for(Kcbl kcbl:kcbls){String bl = kcbl.getBl();String name = kcbl.getKname();if (name.equals("德育")){dybl = Double.parseDouble(bl);}if (name.equals("体育")){tybl = Double.parseDouble(bl);}if (name.equals("素拓")){stbl = Double.parseDouble(bl);}if (name.equals("综合成绩学分绩点")){zhbl = Double.parseDouble(bl);}}}Zhcj zhcj = zhcjService.getZhcjByid(id);if (zhcj != null) {int sssid = zhcj.getSssid();int ssuid = zhcj.getSsuid();Map paramMap = new HashMap();paramMap.put("sssid",sssid);paramMap.put("st",ssuid);List<Grade> grades = gradeService.getGradeList(paramMap);if (grades!=null){double xfjd = 0;double st = 0;double dy = 0;double ty = 0;double zcj=0;double zxf=0;int dkxf=0;double zxfjd=0;for (Grade grade:grades){int sskid = grade.getSskid();Kecheng kecheng = kechengService.getKechengById(sskid);String kname = "已删除该课程";if (kecheng!=null) {kname = kecheng.getKname();dkxf = kecheng.getXf();}if (kname.equals("素拓")) {st = Double.parseDouble(grade.getGrade())* stbl;}else if (kname.equals("德育")) {dy = Double.parseDouble(grade.getGrade())*dybl;}else if (kname.equals("体育")) {ty = Double.parseDouble(grade.getGrade())*tybl;}else if (kname.equals("已删除该课程")){continue;}else {zcj=zcj+Double.parseDouble(grade.getGrade())*dkxf;zxf=zxf+dkxf;if (zxf!=0)zxfjd=zcj/zxf;}}String xfjdstr = String.valueOf(df.format(zxfjd));String yscjstr = String.valueOf(df.format(zxfjd*zhbl+dy*dybl+ty*tybl));String zhcjstr = String.valueOf(df.format(zxfjd*zhbl+dy*dybl+ty*tybl+st*stbl));zhcj.setZxfjd(xfjdstr);zhcj.setYscj(yscjstr);zhcj.setZhcj(zhcjstr);zhcj.setSszid(1);}if (zhcjService.upZhcj(zhcj) != 0) {setLog.setlod(httpServletRequest, "重新核算了id为" + id + "成绩",logService);return true;}return false;}return false;}/*学生确认成绩*/@RequestMapping("/qrcj")public boolean qrcj(@RequestParam(value = "id") int id,HttpServletRequest httpServletRequest) {Zhcj zhcj = zhcjService.getZhcjByid(id);if (zhcj != null) {zhcj.setSszid(3);if (zhcjService.upZhcj(zhcj) != 0) {setLog.setlod(httpServletRequest, "确认了id为" + id + "的成绩",logService);return true;}return false;}return false;}/*学生对综合成绩提出异议*/@RequestMapping("/tcyy")public boolean tcyy(@RequestParam(value = "id") int id,HttpServletRequest httpServletRequest) {Zhcj zhcj = zhcjService.getZhcjByid(id);if (zhcj != null) {zhcj.setSszid(2);if (zhcjService.upZhcj(zhcj) != 0) {setLog.setlod(httpServletRequest, "id为" + id + "的成绩提出了异议",logService);return true;}return false;}return false;}/*学生修改个人信息*/@RequestMapping("/upgrxxxgxs")public boolean upgrxxxgxs(@RequestParam(value = "id") int id,@RequestParam(value = "field") String field,@RequestParam(value = "updateValue") String updateValue,HttpServletRequest httpServletRequest) {Student student = studentService.getStudentById(id);//System.out.println(student);if (student != null) {if (field.equals("sname"))student.setSname(updateValue);if (field.equals("ssex"))student.setSsex(updateValue);if (field.equals("sphone"))student.setSphone(updateValue);if (studentService.upStudent(student) != 0) {setLog.setlod(httpServletRequest, "修改了id为" + id + "的学生" + field + "为" + updateValue,logService);return true;}return false;}return false;}/*修改学生成绩*/@RequestMapping("/upxscjgl")public boolean upxscjgl(@RequestParam(value = "id") int id,@RequestParam(value = "field") String field,@RequestParam(value = "updateValue") String updateValue,HttpServletRequest httpServletRequest) {Grade grade = gradeService.getGradeById(id);if (grade != null) {int kid = grade.getSskid();if (field.equals("grade")) {grade.setGrade(updateValue);int xf = kechengService.getKechengById(kid).getXf();if(Double.parseDouble(updateValue)>=60){double xfjd = (Integer.parseInt(updateValue)-50)/10;grade.setXfjd(String.valueOf(xfjd));}else{grade.setXfjd(String.valueOf(0));}}if (gradeService.upGrade(grade) != 0) {setLog.setlod(httpServletRequest, "修改了id为" + id + "的成绩" + field + "为" + updateValue,logService);return true;}return false;}return false;}/*修改活动信息*/@RequestMapping("/uphdjlgl")public boolean uphdjlgl(@RequestParam(value = "id") int id,@RequestParam(value = "field") String field,@RequestParam(value = "updateValue") String updateValue,HttpServletRequest httpServletRequest) {Activity activity = activityService.getActivityById(id);if (activity != null) {if (field.equals("aname"))activity.setAname(updateValue);if (field.equals("axx"))activity.setAxx(updateValue);if (field.equals("add"))activity.setAdd(updateValue);if (field.equals("alx"))activity.setAlx(updateValue);if (activityService.upActivity(activity) != 0) {setLog.setlod(httpServletRequest, "修改了id为" + id + "的活动" + field + "为" + updateValue,logService);return true;}return false;}return false;}/*修改密码*/@RequestMapping("/setnewpassword")public Map setnewpassword(@RequestParam String newpass,@RequestParam String newpass2,HttpServletRequest httpServletRequest) {HttpSession session = httpServletRequest.getSession();Users users = (Users) session.getAttribute("islogin");Map map = new HashMap();int code = 2;String msg="请先登录!";if (users != null) {setLog.setlod(httpServletRequest, users.getUsername()+"用户正在修改密码操作",logService);if(newpass.equals(newpass2)){String md5newpass = UtilPacket.Md5MD5String(newpass);if (md5newpass.equals(users.getUpassword())){code=1;msg="新密码与旧密码相同,请重新输入!";}else {users.setUpassword(md5newpass);if(usersService.updateByPrimaryKeySelective(users)>0){code=0;msg="密码修改成功,请重新登录!";session.invalidate();}}}else {code=3;msg="两次输入密码不相同,请重新输入!";}}map.put("code",code);map.put("msg",msg);return map;}/*修改教师信息*/@RequestMapping("/upgrxxxg")public boolean upgrxxxg(@RequestParam(value = "id") int id,@RequestParam(value = "field") String field,@RequestParam(value = "updateValue") String updateValue,HttpServletRequest httpServletRequest) {Teacher teacher = teacherService.getTeacherById(id);if (teacher != null) {if (field.equals("tname"))teacher.setTname(updateValue);if (field.equals("tsex"))teacher.setTsex(updateValue);if (field.equals("tphone"))teacher.setTphone(updateValue);if (teacherService.upTeacher(teacher) != 0) {setLog.setlod(httpServletRequest, "修改了id为" + id + "的教师" + field + "为" + updateValue,logService);return true;}return false;}return false;}/*修改用户组信息*/@RequestMapping("/upyhzxxgl")public boolean upyhzxxgl(@RequestParam(value = "id") int id,@RequestParam(value = "field") String field,@RequestParam(value = "updateValue") String updateValue,HttpServletRequest httpServletRequest) {Groupinfo groupinfo = groupinfoService.getGroupinfoById(id);if (groupinfo != null) {groupinfo.setGroupname(updateValue);if (groupinfoService.upGroupinfo(groupinfo) != 0) {setLog.setlod(httpServletRequest, "修改了id为" + id + "组信息的名称为" + updateValue,logService);return true;}return false;}return false;}/*修改课程比例*/@RequestMapping("/upkcbl")public boolean upkcbl(@RequestParam(value = "id") int id,@RequestParam(value = "field") String field,@RequestParam(value = "updateValue") String updateValue,HttpServletRequest httpServletRequest) {Kcbl kcbl = kcblService.getkcbibyid(id);if (kcbl != null) {kcbl.setBl(updateValue);if (kcblService.upkcbl(kcbl) != 0) {setLog.setlod(httpServletRequest, "修改了id为" + id + "的课程比例为" + updateValue,logService);return true;}return false;}return false;}/*修改菜单信息*/@RequestMapping("/upcdgl")public boolean upcdgl(@RequestParam(value = "id") int id,@RequestParam(value = "field") String field,@RequestParam(value = "updateValue") String updateValue,HttpServletRequest httpServletRequest) {Menu menu = menuService.selectByPrimaryKey(id);if (menu != null) {if (field.equals("menuname"))menu.setMenuname(updateValue);if (field.equals("menulink"))menu.setMenulink(updateValue);if (menuService.updateByPrimaryKeySelective(menu) != 0) {setLog.setlod(httpServletRequest, "修改了" + id + "菜单的" + field + "为" + updateValue,logService);return true;}return false;}return false;}/*** excel导入学生数据* */@RequestMapping("/importXS")@ResponseBodypublic JSONObject importDataXS(@RequestParam MultipartFile file, HttpServletRequest request) {String message = "";List beanList = null;List spjList = null;try {// 解析excelspjList = importUtilService.loadCcsbFromExcel(file.getInputStream(), 1);} catch (Exception e) {e.printStackTrace();message = "解析数据出错,请检查数据。";}if (spjList == null || spjList.size() == 0) {message = "没有解析到数据,导入0条数据。";}// 更新数据if (spjList != null && spjList.size() > 0) {int count = 0;String errorXh = "";beanList = parseListXS(spjList);List list = new ArrayList();for (int i = 0; i < beanList.size(); i++) {Map beanMap = (Map) beanList.get(i);int errCnt = (int)beanMap.get("err");if (errCnt != 1) {list.add(beanMap);count++;} else if ("".equals(errorXh)) {errorXh = errorXh + (i + 1);} else {errorXh = errorXh + "," + (i + 1);}if (count == beanList.size()) {message = "导入成功,导入" + count + "条数据。";} else {message = "导入失败,请检查第" + errorXh + "条数据。";}}if ("".equals(errorXh)) {//保存需求上报数据for (int m = 0; m < list.size(); m++) {Map bean_tmp = (Map) list.get(m);int xuehao = (int)Double.parseDouble((String) bean_tmp.get("xuehao"));Student student = studentService.getStudentByIdcard(xuehao);if (student==null) {Student student_temp = new Student();student_temp.setSsex((String) bean_tmp.get("ssex"));student_temp.setXuehao(xuehao);student_temp.setSphone((String) bean_tmp.get("sphone"));student_temp.setSscid((int)Double.parseDouble((String) bean_tmp.get("sscid")));String datetimestr = (String) bean_tmp.get("scsny");String datamin[] = datetimestr.split("-");Date date = new Date(Integer.parseInt(datamin[0])-1900,Integer.parseInt(datamin[1]),Integer.parseInt(datamin[2]));student_temp.setScsny(date);student_temp.setSname((String) bean_tmp.get("sname"));int i = studentService.insertStudent(student_temp);if (i!=0) {setLog.setlod(request, "导入了学号为" + xuehao + "的学生数据", logService);Users users = new Users();users.setUpassword(UtilPacket.Md5MD5String("123456"));users.setUsername(String.valueOf(xuehao));users.setGroupid(3);users.setRegtime(new Date(new Date().getTime()));if (usersService.insertSelective(users)!=0){setLog.setlod(request, "创建了用户名为" + xuehao + "的学生用户账号", logService);}}}elsecontinue;}}}Map map = new HashMap();map.put("message", message);JSONObject json = new JSONObject(map);return json;}public List parseListXS(List src) {List rslt = new ArrayList();for (int i = 0; i < src.size(); i++) {Map rowMap = (Map) src.get(i);if (rowMap != null) {Map bean = parseOneRowXS(rowMap);rslt.add(bean);}}return rslt;}/*获取Excel表格中具体值*/private Map parseOneRowXS(Map rowMap) {Map resMap = new HashMap();resMap.put("err", 0);if (rowMap == null) {return null;}for (int j = 0; j <= rowMap.size(); j++) {String contentStr = (String) rowMap.get(j);if (contentStr == null || contentStr.trim().length() == 0 || "null".equals(contentStr)) {//只判断非空字段if (j == 0) {resMap.put("err", 1);}if (j == 1) {resMap.put("err", 1);}if (j == 2) {resMap.put("err", 1);}if (j == 3) {resMap.put("err", 1);}if (j == 4) {resMap.put("err", 1);}if (j == 5) {resMap.put("err", 1);}continue;}contentStr = contentStr.trim();System.out.println(j + "=" + contentStr);if (j == 0) {// 学号resMap.put("xuehao", contentStr);}if (j == 1) {// 姓名resMap.put("sname", contentStr);}if (j == 2) {// 出生日期resMap.put("scsny", contentStr);}if (j == 3) {// 电话resMap.put("sphone", contentStr);}if (j == 4) {// 所属班级编号resMap.put("sscid", contentStr);}if (j == 5) {// 性别resMap.put("ssex", contentStr);}}return resMap;}/*** excel导入教师数据* */@RequestMapping("/importJS")@ResponseBodypublic JSONObject importDataJS(@RequestParam MultipartFile file, HttpServletRequest request) {String message = "";List beanList = null;List spjList = null;try {// 解析excelspjList = importUtilService.loadCcsbFromExcel(file.getInputStream(), 1);} catch (Exception e) {e.printStackTrace();message = "解析数据出错,请检查数据。";}if (spjList == null || spjList.size() == 0) {message = "没有解析到数据,导入0条数据。";}// 更新数据if (spjList != null && spjList.size() > 0) {int count = 0;String errorXh = "";beanList = parseListJS(spjList);List list = new ArrayList();for (int i = 0; i < beanList.size(); i++) {Map beanMap = (Map) beanList.get(i);int errCnt = (int)beanMap.get("err");if (errCnt != 1) {list.add(beanMap);count++;} else if ("".equals(errorXh)) {errorXh = errorXh + (i + 1);} else {errorXh = errorXh + "," + (i + 1);}if (count == beanList.size()) {message = "导入成功,导入" + count + "条数据。";} else {message = "导入失败,请检查第" + errorXh + "条数据。";}}if ("".equals(errorXh)) {//保存需求上报数据for (int m = 0; m < list.size(); m++) {Map bean_tmp = (Map) list.get(m);int idcard = (int)Double.parseDouble((String) bean_tmp.get("tcard"));Teacher teacher = teacherService.getTeacherBytcard(idcard);if (teacher==null) {Teacher teacher_temp = new Teacher();teacher_temp.setTsex((String) bean_tmp.get("tsex"));teacher_temp.setTcard(idcard);teacher_temp.setTphone((String) bean_tmp.get("tphone"));teacher_temp.setTzc((String) bean_tmp.get("tzc"));String datetimestr = (String) bean_tmp.get("tbirth");String datamin[] = datetimestr.split("-");Date date = new Date(Integer.parseInt(datamin[0])-1900,Integer.parseInt(datamin[1]),Integer.parseInt(datamin[2]));teacher_temp.setTbirth(date);teacher_temp.setTname((String) bean_tmp.get("tname"));int i = teacherService.insertTeacher(teacher_temp);if (i!=0) {setLog.setlod(request, "导入了工号为" + idcard + "的教师数据", logService);Users users = new Users();users.setUpassword(UtilPacket.Md5MD5String("123456"));users.setUsername(String.valueOf(idcard));users.setGroupid(2);users.setRegtime(new Date(new Date().getTime()));if (usersService.insertSelective(users)!=0){setLog.setlod(request, "创建了用户名为" + idcard + "的教师用户账号", logService);}}}elsecontinue;}}}Map map = new HashMap();map.put("message", message);JSONObject json = new JSONObject(map);return json;}public List parseListJS(List src) {List rslt = new ArrayList();for (int i = 0; i < src.size(); i++) {Map rowMap = (Map) src.get(i);if (rowMap != null) {Map bean = parseOneRowJS(rowMap);rslt.add(bean);}}return rslt;}private Map parseOneRowJS(Map rowMap) {Map resMap = new HashMap();resMap.put("err", 0);if (rowMap == null) {return null;}for (int j = 0; j <= rowMap.size(); j++) {String contentStr = (String) rowMap.get(j);if (contentStr == null || contentStr.trim().length() == 0 || "null".equals(contentStr)) {//只判断非空字段if (j == 0) {resMap.put("err", 1);}if (j == 1) {resMap.put("err", 1);}if (j == 2) {resMap.put("err", 1);}if (j == 3) {resMap.put("err", 1);}if (j == 4) {resMap.put("err", 1);}if (j == 5) {resMap.put("err", 1);}continue;}contentStr = contentStr.trim();System.out.println(j + "=" + contentStr);if (j == 0) {// 工号resMap.put("tcard", contentStr);}if (j == 1) {// 姓名resMap.put("tname", contentStr);}if (j == 2) {// 出生日期resMap.put("tbirth", contentStr);}if (j == 3) {// 电话resMap.put("tphone", contentStr);}if (j == 4) {// 职称resMap.put("tzc", contentStr);}if (j == 5) {// 性别resMap.put("tsex", contentStr);}}return resMap;}/*** excel导入成绩数据* */@RequestMapping("/importCJ")@ResponseBodypublic JSONObject importDataCJ(@RequestParam MultipartFile file, HttpServletRequest request) {List<Kcbl> kcbls = kcblService.getkcbllist();double dybl = 0.3;double tybl = 0.1;double stbl = 1;double zhbl = 0.6;DecimalFormat df = new DecimalFormat("#.00");if (kcbls!=null){for(Kcbl kcbl:kcbls){String bl = kcbl.getBl();String name = kcbl.getKname();if (name.equals("德育")){dybl = Double.parseDouble(bl);}if (name.equals("体育")){tybl = Double.parseDouble(bl);}if (name.equals("素拓")){stbl = Double.parseDouble(bl);}if (name.equals("综合成绩学分绩点")){zhbl = Double.parseDouble(bl);}}}String message = "";List beanList = null;List spjList = null;try {// 解析excelspjList = importUtilService.loadCcsbFromExcel(file.getInputStream(), 1);} catch (Exception e) {e.printStackTrace();message = "解析数据出错,请检查数据。";}if (spjList == null || spjList.size() == 0) {message = "没有解析到数据,导入0条数据。";}// 更新数据if (spjList != null && spjList.size() > 0) {int count = 0;String errorXh = "";beanList = parseListCJ(spjList);List list = new ArrayList();for (int i = 0; i < beanList.size(); i++) {Map beanMap = (Map) beanList.get(i);int errCnt = (int)beanMap.get("err");if (errCnt != 1) {list.add(beanMap);count++;} else if ("".equals(errorXh)) {errorXh = errorXh + (i + 1);} else {errorXh = errorXh + "," + (i + 1);}if (count == beanList.size()) {message = "导入成功,导入" + count + "条数据。";} else {message = "导入失败,请检查第" + errorXh + "条数据。";}}if ("".equals(errorXh)) {//保存需求上报数据for (int m = 0; m < list.size(); m++) {Map bean_tmp = (Map) list.get(m);int sskid = (int)Double.parseDouble((String) bean_tmp.get("sskid"));int sssid = (int)Double.parseDouble((String) bean_tmp.get("sssid"));int st = (int)Double.parseDouble((String) bean_tmp.get("st"));double gradeduo = Double.parseDouble((String) bean_tmp.get("grade"));Kecheng kecheng = kechengService.getKechengById(sskid);if (kecheng==null)continue;int xf = kecheng.getXf();String xfjd;if(gradeduo>=60)xfjd = String.valueOf((gradeduo-50)/10);else xfjd=String.valueOf(0);String kname = kecheng.getKname();Grade grade = gradeService.getGradeByKandS(bean_tmp);if (grade==null) {Grade grade_temp = new Grade();grade_temp.setSskid(sskid);grade_temp.setSssid(sssid);grade_temp.setSt(st);String gradestr = (String) bean_tmp.get("grade");grade_temp.setKhfs((String) bean_tmp.get("khfs"));grade_temp.setKsxz((String) bean_tmp.get("ksxz"));grade_temp.setGrade(gradestr);grade_temp.setXfjd(xfjd);if (!kname.equals("素拓")||!kname.equals("德育")||!kname.equals("体育"))grade_temp.setXfjd(xfjd);if (gradeService.insertGrade(grade_temp)!=0)setLog.setlod(request, "导入了课程号为"+sskid+",学期编号为"+sssid+",学生编号为"+st+"的成绩",logService);//开始判断是否有该学生本学期综合成绩记录Map sinfomap = new HashMap();sinfomap.put("ssuid",st);sinfomap.put("st",st);sinfomap.put("sssid",sssid);List<Grade> grades = gradeService.getGradeList(sinfomap);Zhcj zhcj = zhcjService.getZhcjByuands(sinfomap);//以下为存在此学生成绩的情况进行更新if (zhcj!=null) {if (kname.equals("素拓"))zhcj.setZhcj(String.valueOf(Double.parseDouble(zhcj.getZhcj()) + Double.parseDouble(gradestr) * stbl));else if (kname.equals("德育")) {zhcj.setZhcj(String.valueOf(Double.parseDouble(zhcj.getZhcj()) + Double.parseDouble(gradestr) * dybl));zhcj.setYscj(String.valueOf(Double.parseDouble(zhcj.getYscj()) + Double.parseDouble(gradestr) * dybl));} else if (kname.equals("体育")) {zhcj.setZhcj(String.valueOf(Double.parseDouble(zhcj.getZhcj()) + Double.parseDouble(gradestr) * tybl));zhcj.setYscj(String.valueOf(Double.parseDouble(zhcj.getYscj()) + Double.parseDouble(gradestr) * tybl));} else {double stcj=0;double dycj=0;double tycj=0;double zcj=0;double zxf=0;int dkxf=0;if (grades!=null){for (Grade grade2:grades){int kid = grade2.getSskid();Kecheng kecheng2 = kechengService.getKechengById(kid);String knamestr = "已删除该课程";if (kecheng2!=null) {knamestr = kecheng2.getKname();dkxf = kecheng2.getXf();if (knamestr.equals("素拓")){stcj = Double.parseDouble(grade2.getGrade());}if (knamestr.equals("德育")){dycj = Double.parseDouble(grade2.getGrade());}if (knamestr.equals("体育")){tycj = Double.parseDouble(grade2.getGrade());}if (knamestr.equals("已删除该课程")){continue;}zcj=zcj+Double.parseDouble(grade2.getGrade())*dkxf;zxf=zxf+dkxf;}}}double zxfjd=0;if (zxf!=0)zxfjd=zcj/zxf;zhcj.setZhcj(df.format(zxfjd*zhbl+dycj*dybl+tycj*tybl+stcj*stbl));zhcj.setYscj(df.format(zxfjd*zhbl+dycj*dybl+tycj*tybl));zhcj.setZxfjd(df.format(zxfjd));}if (zhcjService.upZhcj(zhcj) != 0)setLog.setlod(request, "学生" + st + "的综合成绩已更新", logService);}//如果没有此学生则创建else {Zhcj newzhcj = new Zhcj();newzhcj.setSssid(sssid);newzhcj.setSsuid(st);newzhcj.setSszid(1);if (kname.equals("素拓"))newzhcj.setZhcj(String.valueOf(Double.parseDouble(gradestr) * stbl));else if (kname.equals("德育")) {newzhcj.setZhcj(String.valueOf(Double.parseDouble(gradestr) * dybl));newzhcj.setYscj(String.valueOf(Double.parseDouble(gradestr) * dybl));} else if (kname.equals("体育")) {newzhcj.setZhcj(String.valueOf(Double.parseDouble(gradestr) * tybl));newzhcj.setYscj(String.valueOf(Double.parseDouble(gradestr) * tybl));} else {double stcj=0;double dycj=0;double tycj=0;double zcj=0;double zxf=0;int dkxf=0;if (grades!=null){for (Grade grade2:grades){int kid = grade2.getSskid();Kecheng kecheng2 = kechengService.getKechengById(kid);String knamestr = "已删除该课程";if (kecheng2!=null) {knamestr = kecheng2.getKname();dkxf = kecheng2.getXf();if (knamestr.equals("素拓")){stcj = Double.parseDouble(grade2.getGrade());}else if (knamestr.equals("德育")){dycj = Double.parseDouble(grade2.getGrade());}else if (knamestr.equals("体育")){tycj = Double.parseDouble(grade2.getGrade());}else if (knamestr.equals("已删除该课程")){continue;}else {zcj=zcj+Double.parseDouble(grade2.getGrade())*dkxf;zxf=zxf+dkxf;}}}}double zxfjd=0;if (zxf!=0)zxfjd=zcj/zxf;newzhcj.setZhcj(df.format(zxfjd*zhbl+dycj*dybl+tycj*tybl+stcj*stbl));newzhcj.setYscj(df.format(zxfjd*zhbl+dycj*dybl+tycj*tybl));newzhcj.setZxfjd(df.format(zxfjd));}if (zhcjService.insertZhcj(newzhcj)!=0)setLog.setlod(request, "学生" + st + "的综合成绩已创建", logService);}}elsecontinue;}}}Map map = new HashMap();map.put("message", message);JSONObject json = new JSONObject(map);return json;}public List parseListCJ(List src) {List rslt = new ArrayList();for (int i = 0; i < src.size(); i++) {Map rowMap = (Map) src.get(i);if (rowMap != null) {Map bean = parseOneRowCJ(rowMap);rslt.add(bean);}}return rslt;}private Map parseOneRowCJ(Map rowMap) {Map resMap = new HashMap();resMap.put("err", 0);if (rowMap == null) {return null;}for (int j = 0; j <= rowMap.size(); j++) {String contentStr = (String) rowMap.get(j);if (contentStr == null || contentStr.trim().length() == 0 || "null".equals(contentStr)) {//只判断非空字段if (j == 0) {resMap.put("err", 1);}if (j == 1) {resMap.put("err", 1);}if (j == 2) {resMap.put("err", 1);}if (j == 3) {resMap.put("err", 1);}if (j == 4) {resMap.put("err", 1);}if (j == 5) {resMap.put("err", 1);}continue;}contentStr = contentStr.trim();System.out.println(j + "=" + contentStr);if (j == 0) {// 所属课程编号resMap.put("sskid", contentStr);}if (j == 1) {// 所属学期编号resMap.put("sssid", contentStr);}if (j == 2) {// 考核方式resMap.put("khfs", contentStr);}if (j == 3) {// 考试性质resMap.put("ksxz", contentStr);}if (j == 4) {// 所属学生编号resMap.put("st", contentStr);}if (j == 5) {// 分数resMap.put("grade", contentStr);}}return resMap;}
}

如果也想学习本系统,下面领取。回复:046ssm

Java项目:ssm学生综合素质评价系统相关推荐

  1. ssm学生综合素质评价系统、

    下载地址:https://download.csdn.net/download/ouyangxiaobai123/22176771 项目介绍: ssm学生综合素质评价系统. 系统说明: 项目介绍 基于 ...

  2. ssm学生综合素质评价系统

    源码空间站,总有一款适合你! 源码获取:http://www.shuyue.fun/?type=productinfo&id=147 功能介绍 基于SSM的学生综合素质评价系统设计与实现,系统 ...

  3. 基于javaweb的学生综合素质评价系统(java+ssm+thymeleaf+layui+mysql)

    基于javaweb的学生综合素质评价系统(java+ssm+thymeleaf+layui+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/ide ...

  4. java毕业设计基于的高校学生综合素质评价系统Mybatis+系统+数据库+调试部署

    java毕业设计基于的高校学生综合素质评价系统Mybatis+系统+数据库+调试部署 java毕业设计基于的高校学生综合素质评价系统Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B ...

  5. java-php-python-ssm4.13基于SSM的高校学生综合素质评价系统计算机毕业设计

    java-php-python-ssm4.13基于SSM的高校学生综合素质评价系统计算机毕业设计 java-php-python-ssm4.13基于SSM的高校学生综合素质评价系统计算机毕业设计 本源 ...

  6. Vue+SpringBoot打造学生综合素质评价系统

    作者主页:Designer 小郑 作者简介:浙江某公司软件工程师,负责开发管理公司OA.CRM业务系统,全栈领域优质创作者,CSDN学院.蓝桥云课认证讲师,开发过20余个前后端分离实战项目,主要发展方 ...

  7. php学生评价系统,学生综合素质评价系统

    学生综合素质评价系统建设的必要性 在选拔性质的教学活动中,学生的评价起到至关重要的作用,过去及现在主流的评价标准是以考试分数为主要的标准,再加上一些竞赛加分等,这样的评价选拔体系所带来的是唯高考中心化 ...

  8. Java项目:学生综合素质评价系统(java+SSM+thymeleaf+layui+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 基于SSM的学生综合素质评价系统设计与实现,系统共分三种角色,包括管理员.教师.学生: 管理员主要功能包括: 权限中心:用户组 ...

  9. java学生综合素质评价系统_ssm学生综合素质评价系统

    源码空间站,总有一款适合你! 功能介绍 基于SSM的学生综合素质评价系统设计与实现,系统共分三种角色,包括管理员.教师.学生: 管理员主要功能包括: 权限中心:用户组权限控制.用户组信息管理: 系统设 ...

最新文章

  1. #论文 《ImageNet Classification with Deep Convolutional Neural Networks》
  2. CheckedListBox与下拉框联动代码
  3. mysql记录虚拟货币数据类型_近几年虚拟货币应用情况的相关数据
  4. JS 中类型和类型转换
  5. xml绑定省市,并实现二级联动
  6. 《那些年啊,那些事——一个程序员的奋斗史》一
  7. 基于JavaSwing开发中国象棋对战游戏+实验报告 课程设计 大作业
  8. vue element-plus 插件
  9. 中华人民共和国消费者权益保护法
  10. 输入某年某月某日,判断这一天是这一年的第几天?
  11. RenderMonkey基本使用方法【转】
  12. 智能家居巨头 Aqara 基于 KubeSphere 打造物联网微服务平台
  13. 线上软文自媒体推广怎么做,软文推广有什么好处?
  14. nginx 实现备案域名的配置 + 跨域配置
  15. MFC+Halcon 真正实现图像缩放、平移
  16. 【翻译】利用加速度求解位置的算法——三轴传感器
  17. android 使用mediaplayer播放视频的时候设置请求头header
  18. MapReduce分布式计算和编程原理总结
  19. js绘制的漂亮玫瑰曲线rose curve
  20. 护士礼仪培训PPT模板-优页文档

热门文章

  1. CChelper彩虹SDK可视远程客服解决方案
  2. php mysql qq登录_php+js+mysql设计的仿webQQ-4登陆和注册
  3. 国内快速下载keil的pack文件包
  4. networker对mysql备份_【经验分享】EMC NetWorker数据库备份及异机恢复
  5. 团队协作软件有哪些?助力团队高效办公用这一款工具
  6. C#毕业设计——基于C#+c+sqlserver的办公耗材库存管理软件设计与实现(毕业论文+程序源码)——库存管理软件
  7. Module not found: Error: Can‘t resolve ‘react-dom/client‘
  8. 计算机基础知识--基础知识
  9. 微信小程序识别当前小程序的版本,开发版、体验版、线上版
  10. java毕业生设计休闲网络宾馆管理计算机源码+系统+mysql+调试部署+lw