项目介绍
蓝天幼儿园管理系统,共分为三种角色,管理员、家长、教师。
管理员角色具有功能:
系统管理-用户管理、页面管理、角色管理,
校园管理-老师管理、工资管理、物资管理、菜谱管理、班级管理
班级管理-学生管理、公告管理、课程管理
考勤管理-老师考勤、学生考勤、老师考勤统计、学生考勤统计、签到签退
技术栈
-
Springboot
-
html+thymeleaf
环境需要
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 8.0版本;
使用说明
-
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
-
将项目中yml配置文件中的数据库配置改为自己的配置
-
使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,
-
运行项目,输入localhost:8081 登录
-
管理员账户admin 密码123456
教师账号wangjianlin 密码123456
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
@PostMapping("list")
@ResponseBody
public PageData<User> list(@RequestParam(value = "page",defaultValue = "1")Integer page,
@RequestParam(value = "limit",defaultValue = "10")Integer limit,
ServletRequest request){
Map map = WebUtils.getParametersStartingWith(request, "s_");
PageData<User> userPageData = new PageData<>();
QueryWrapper<User> userWrapper = new QueryWrapper<>();
if(!map.isEmpty()){
String type = (String) map.get("type");
if(StringUtils.isNotBlank(type)) {
userWrapper.eq("is_admin", "admin".equals(type) ? true : false);
}
String keys = (String) map.get("key");
if(StringUtils.isNotBlank(keys)) {
userWrapper.and(wrapper -> wrapper.like("login_name", keys).or().like("tel", keys).or().like("email", keys));
}
}
IPage<User> userPage = userService.page(new Page<>(page,limit),userWrapper);
userPageData.setCount(userPage.getTotal());
userPageData.setData(userPage.getRecords());
return userPageData;
}
@RequestMapping("add")
public String add(ModelMap modelMap){
List<Role> roleList = roleService.selectAll();
modelMap.put("roleList",roleList);
Map<String, Object> jlmajorData = new HashMap<String, Object>();
jlmajorData.put("code", 0);
jlmajorData.put("msg", "");
jlmajorData.put("count", pageInfo.getTotal());
jlmajorData.put("data", pageInfo.getList());
return jlmajorData;
}
/**
* 编辑年级
*/
@RequestMapping("editonegrade")
@ResponseBody
public Object editOneGrade(GradeDB gradeDB) {
int check = schoolManageService.checkOneGrade(gradeDB);
if (check > 0) {
return false;
} else {
int r = schoolManageService.editOneGrade(gradeDB);
if (r == 1) {
List<TeacherDB> tea = lxxTeacherService.selTeacherId(id);
// 查询政治面貌
List<PoliticsTypeDB> selpol = lxxStudentService.selPolitics();
model.addAttribute("tea",tea);
model.addAttribute("selpol",selpol);
return "view/teacher/selTchMessage";
}
// 修改教师信息
@RequestMapping("/updateTeacher")
@ResponseBody
public LayuiResult<TeacherDB> updTeacher(TeacherDB teacherDB, String birthday) throws Exception{
LayuiResult result= new LayuiResult();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date=format.parse(birthday);
teacherDB.setTbirthday(date);
Integer state = teacherDB.getTchstate();
Integer tid = teacherDB.getTid();
if(state == 1){
// 修改教师为离职状态并逻辑删除
Integer deleteTeacher = deleteService.deleteTeacher(teacherDB);
// 删除教师授课信息
Integer deleteTchCourse = deleteService.deleteTchCourse(tid);
if(user != null) {
roleIds = user.getRoleLists().stream().map(role -> role.getId()).collect(Collectors.joining(","));
}
List<Role> roleList = roleService.selectAll();
modelMap.put("localuser",user);
modelMap.put("roleIds",roleIds);
modelMap.put("roleList",roleList);
return "admin/user/edit";
}
@RequiresPermissions("sys:user:edit")
@PostMapping("edit")
@ResponseBody
@SysLog("保存系统用户编辑数据")
public ResponseEntity edit(@RequestBody User user){
if(StringUtils.isBlank(user.getId())){
return ResponseEntity.failure("用户ID不能为空");
}
if(StringUtils.isBlank(user.getLoginName())){
return ResponseEntity.failure("登录名不能为空");
}
if(user.getRoleLists() == null || user.getRoleLists().size() == 0){
return ResponseEntity.failure("用户角色至少选择一个");
}
User oldUser = userService.findUserById(user.getId());
if(StringUtils.isNotBlank(user.getEmail())){
if(!user.getEmail().equals(oldUser.getEmail())){
List<PoliticsTypeDB> stupol = studentService.selPolitics();
model.addAttribute("stu",stu);
model.addAttribute("cls",cls);
model.addAttribute("stupol",stupol);
return "view/student/selStuExam";
}
// 修改用户信息
@RequestMapping("/updateStudent")
@ResponseBody
public LayuiResult<StudentDB> updateStudent(StudentDB studentDB, String birthday) throws Exception{
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date=format.parse(birthday);
studentDB.setSbirthday(date);
studentService.updateStudent(studentDB);
LayuiResult result= new LayuiResult();
//删除提示
result.setMsg("修改成功!");
return result;
}
}
校园管理控制层:
@Controller
@RequestMapping("schoolmanage")
public class SchoolManageController extends BaseController {
@Autowired
private SchoolManageService schoolManageService;
PageHelper.startPage(page, limit);
List<SchoolManageVO> listAll = schoolManageService.tjSelDpm(schoolManageVO);
PageInfo pageInfo = new PageInfo(listAll);
Map<String, Object> dpmData = new HashMap<String, Object>();
dpmData.put("code", 0);
dpmData.put("msg", "");
dpmData.put("count", pageInfo.getTotal());
dpmData.put("data", pageInfo.getList());
return dpmData;
}
/**
* 条件查询专业
*/
@RequestMapping("tjselmajor")
@ResponseBody
public Object tjSelMajor(SchoolManageVO schoolManageVO, Integer page, Integer limit) {
PageHelper.startPage(page, limit);
List<SchoolManageVO> listAll = schoolManageService.tjSelMajor(schoolManageVO);
PageInfo pageInfo = new PageInfo(listAll);
Map<String, Object> majorData = new HashMap<String, Object>();
majorData.put("code", 0);
majorData.put("msg", "");
majorData.put("count", pageInfo.getTotal());
majorData.put("data", pageInfo.getList());
return majorData;
}
/*******************************************************************系部管理*********************************************************************/
/**
* 添加系部
*/
@RequestMapping("addonedpm")
@ResponseBody
public Object addOneDpm(DepartmentDB departmentDB) {
int check = schoolManageService.checkOneDpm(departmentDB);
if (check > 0) {
return false;
} else {
int r = schoolManageService.addOneDpm(departmentDB);
if (r == 1) {
return true;
model.addAttribute("stu",stu);
model.addAttribute("cls",cls);
model.addAttribute("stupol",stupol);
return "view/student/updStudent";
}
// 根据id查询显示学生详细信息
@RequestMapping("/selectMessage")
public String selectMessage(Integer id, Model model){
// 查询学生信息
List<StudentDB> stu = studentService.selStudentId(id);
// 查询班级
List<ClassinfoDB> cls = studentService.selClass();
// 查询政治面貌表
List<PoliticsTypeDB> stupol = studentService.selPolitics();
model.addAttribute("stu",stu);
model.addAttribute("cls",cls);
model.addAttribute("stupol",stupol);
return "view/student/selStuExam";
}
// 修改用户信息
@RequestMapping("/updateStudent")
@ResponseBody
public LayuiResult<StudentDB> updateStudent(StudentDB studentDB, String birthday) throws Exception{
majorData.put("code", 0);
majorData.put("msg", "");
majorData.put("count", pageInfo.getTotal());
majorData.put("data", pageInfo.getList());
return majorData;
}
/**
* 条件查询年级
*/
@RequestMapping("tjselgrade")
@ResponseBody
public Object tjSelGrade(SchoolManageVO schoolManageVO, Integer page, Integer limit) {
PageHelper.startPage(page, limit);
List<SchoolManageVO> listAll = schoolManageService.tjSelGrade(schoolManageVO);
return ResponseEntity.success("操作成功");
}
@RequiresPermissions("sys:user:lock")
@PostMapping("lock")
@ResponseBody
@SysLog("锁定或开启系统用户")
public ResponseEntity lock(@RequestParam(value = "id",required = false)String id){
if(StringUtils.isBlank(id)){
return ResponseEntity.failure("参数错误");
}
User user = userService.getById(id);
if(user == null){
return ResponseEntity.failure("用户不存在");
}
userService.lockUser(user);
return ResponseEntity.success("操作成功");
}
@RequiresPermissions("sys:user:delete")
@PostMapping("delete")
@ResponseBody
@SysLog("删除系统用户数据(单个)")
public ResponseEntity delete(@RequestParam(value = "id",required = false)String id){