• 基于SSM实现智慧幼儿园信息管理系统


    作者主页:编程千纸鹤

    作者简介:Java、前端、Pythone开发多年,做过高程,项目经理,架构师

    主要内容:Java项目开发、毕业设计开发、面试技术整理、最新技术分享

    项目编号:BS-XX-139

    一,项目简介

       跨入21世纪,人类社会进入了信息化时代。以信息及时为代表的高新技术极大的促进了社会经济的迅猛发展,并且已经在各个方面改变了我们的工作和生活方式。
       在企业中实施信息管理系统是使企业信息化的重要标志之一。信息管理系统是指基于计算机、通信网络等现代化的工具和手段,服务于信息处理的系统。信息管理系统的实施能使企业实现办公自动化、决策支持等。在幼儿园中实施信息管理系统可以在实现办公自动化的同时,提高幼儿园管理水平、教学质量和为家长服务的质量。但在目前市场上适用于幼儿园的信息管理系统软件数量不多,且质量也参差不齐。本文主要论述幼儿园信息管理系统的设计、开发、实现和维护,并探讨系统的适用性以及功能的高效率。
       针对幼儿园用户的实际情况,确定了软件模式为B/S,开发工具采用C#,数据库产品采用Sql server。文章首先对幼儿园网络信息管理系统的需求作了详尽的分析,给出了详细的需求说明和各模块说明以及用例说明。接着,从系统的界面实现、数据库实现和主要模块实现等方面研究了幼儿园信息管理系统的具体实现技术。系统的使用不仅可以提高幼儿园管理水平,还可以减少办园经费,提高幼儿园的运作效率。
    系统的主要功能有:
    指南针幼儿园管理系统,共分为三种角色,管理员、家长、教师。
    管理员角色具有功能:
    系统管理-用户管理、页面管理、角色管理,
    校园管理-老师管理、工资管理、物资管理、菜谱管理、班级管理
    班级管理-学生管理、公告管理、课程管理
    考勤管理-老师考勤、学生考勤、老师考勤统计、学生考勤统计、签到签退

    系统有着完备的权限管理功能,可以根据需要为家长和老师分配相关的权限。系统整功能设计完整,结构清晰,适合做毕业设计使用。

    二,环境介绍

    语言环境:Java:  jdk1.8

    数据库:Mysql: mysql5.7+Redis

    应用服务器:Tomcat:  tomcat8.5.31

    开发工具:IDEA或eclipse

    后端采用Springboot+MyBatis+MySQL+Shrio
    前端使用layui+html+thymeleaf

    三,系统展示

    管理员用户登陆:

    用户管理

    菜单管理

    角色管理:可以为用户指定相应的角色,并为角色分配权限

    老师管理功能

    工资管理

    物资管理

    菜谱管理

    班级管理

    学生管理

    公告管理

    课程管理

    老师考勤

    学生考勤

    老师考勤统计报表

    学生考勤统计报表

    签到签退:学生和家长均可以进行在线签到,家长签到就统计到自己的孩中去

    老师登陆系统:

    主要进行班级管理和考勤管理

    家长登陆系统:

    四,核心代码展示

    1. package com.bskms.controller;
    2. import java.util.List;
    3. import org.apache.shiro.SecurityUtils;
    4. import org.apache.shiro.subject.Subject;
    5. import org.slf4j.Logger;
    6. import org.slf4j.LoggerFactory;
    7. import org.springframework.beans.factory.annotation.Autowired;
    8. import org.springframework.stereotype.Controller;
    9. import org.springframework.ui.Model;
    10. import org.springframework.web.bind.annotation.RequestMapping;
    11. import org.springframework.web.bind.annotation.RequestMethod;
    12. import org.springframework.web.bind.annotation.ResponseBody;
    13. import com.bskms.bean.Page;
    14. import com.bskms.bean.User;
    15. import com.bskms.model.ResultMap;
    16. import com.bskms.service.PageService;
    17. import com.bskms.service.UserService;
    18. /**
    19. * class name:LoginController
    20. * class description: 登录操作
    21. * Remark:
    22. */
    23. @Controller
    24. public class LoginController {
    25. @Autowired
    26. private ResultMap resultMap;
    27. @Autowired
    28. private UserService userService;// 用户登录service
    29. @Autowired
    30. private PageService pageService;
    31. private final Logger logger = LoggerFactory.getLogger(LoginController.class);
    32. @RequestMapping(value = "/notLogin", method = RequestMethod.GET)
    33. @ResponseBody
    34. public ResultMap notLogin() {
    35. logger.warn("尚未登陆!");
    36. return resultMap.success().message("您尚未登陆!");
    37. }
    38. @RequestMapping(value = "/notRole", method = RequestMethod.GET)
    39. @ResponseBody
    40. public ResultMap notRole() {
    41. Subject subject = SecurityUtils.getSubject();
    42. User user = (User) subject.getPrincipal();
    43. if (user != null) {
    44. logger.info("{}---没有权限!", user.getUserName());
    45. }
    46. return resultMap.success().message("您没有权限!");
    47. }
    48. /**
    49. * Method name: logout
    50. * Description: 退出登录
    51. * @return String
    52. */
    53. @RequestMapping(value = "/logout", method = RequestMethod.GET)
    54. public String logout() {
    55. Subject subject = SecurityUtils.getSubject();
    56. User user = (User) subject.getPrincipal();
    57. if (null != user) {
    58. logger.info("{}---退出登录!", user.getUserName());
    59. }
    60. subject.logout();
    61. return "login";
    62. }
    63. /**
    64. * Method name: login
    65. * Description: 登录验证
    66. * Remark:
    67. *
    68. * @param username 用户名
    69. * @param password 密码
    70. * @return ResultMap
    71. */
    72. @RequestMapping(value = "/login")
    73. @ResponseBody
    74. public ResultMap login(String username, String password) {
    75. return userService.login(username, password);
    76. }
    77. /**
    78. * Method name: login
    79. * Description: 登录页面
    80. *
    81. * @return String login.html
    82. */
    83. @RequestMapping(value = "/index")
    84. public String login() {
    85. return "login";
    86. }
    87. /**
    88. * Method name: index
    89. * Description: 登录页面
    90. *
    91. * @return String login.html
    92. */
    93. @RequestMapping(value = "/")
    94. public String index(Model model) {
    95. Subject subject = SecurityUtils.getSubject();
    96. User user = (User) subject.getPrincipal();
    97. if (null != user) {
    98. model.addAttribute("user", user);
    99. List pageList = pageService.getAllRolePageByUserId(user.getUserId());
    100. model.addAttribute("pageList", pageList);
    101. return "index";
    102. } else {
    103. return "login";
    104. }
    105. }
    106. /**
    107. * Method name: main
    108. * Description: 进入主页面
    109. *
    110. * @param model
    111. * @return String
    112. */
    113. @RequestMapping(value = "/main")
    114. public String main(Model model) {
    115. Subject subject = SecurityUtils.getSubject();
    116. User user = (User) subject.getPrincipal();
    117. if (null != user) {
    118. model.addAttribute("user", user);
    119. } else {
    120. return "login";
    121. }
    122. List pageList = pageService.getAllRolePageByUserId(user.getUserId());
    123. model.addAttribute("pageList", pageList);
    124. return "index";
    125. }
    126. /**
    127. * Method name: checkUserPassword
    128. * Description: 检测旧密码是否正确
    129. *
    130. * @param password 旧密码
    131. * @return boolean 是否正确
    132. */
    133. @RequestMapping(value = "/user/checkUserPassword")
    134. @ResponseBody
    135. public boolean checkUserPassword(String password) {
    136. return userService.checkUserPassword(password);
    137. }
    138. /**
    139. * Method name: updatePassword
    140. * Description: 更新密码
    141. *
    142. * @param password 旧密码
    143. * @return String 是否成功
    144. */
    145. @RequestMapping(value = "/user/updatePassword")
    146. @ResponseBody
    147. public String updatePassword(String password) {
    148. return userService.updatePassword(password);
    149. }
    150. }

    1. package com.bskms.controller;
    2. import java.text.SimpleDateFormat;
    3. import java.util.ArrayList;
    4. import java.util.Date;
    5. import java.util.List;
    6. import org.springframework.beans.factory.annotation.Autowired;
    7. import org.springframework.stereotype.Controller;
    8. import org.springframework.web.bind.annotation.RequestMapping;
    9. import org.springframework.web.bind.annotation.ResponseBody;
    10. import com.alibaba.fastjson.JSON;
    11. import com.bskms.bean.Children;
    12. import com.bskms.bean.Classes;
    13. import com.bskms.bean.Course;
    14. import com.bskms.bean.Foot;
    15. import com.bskms.bean.Notice;
    16. import com.bskms.bean.Sign;
    17. import com.bskms.bean.User;
    18. import com.bskms.model.XiaoYuan;
    19. import com.bskms.service.JiaZhangService;
    20. import com.bskms.service.NoticeService;
    21. import com.bskms.service.SignService;
    22. import com.bskms.utils.MyUtils;
    23. import com.bskms.utils.PropertyUtil;
    24. @Controller
    25. @RequestMapping(value = "/jz")
    26. @ResponseBody
    27. public class JiaZhangController {
    28. @Autowired
    29. NoticeService noticeService;
    30. @Autowired
    31. JiaZhangService jiaZhangService;
    32. @Autowired
    33. SignService signService;
    34. @RequestMapping(value = "/notices")
    35. public Object notices() {
    36. List notices = new ArrayList<>();
    37. notices = noticeService.getAllNotice();
    38. return JSON.toJSONString(notices);
    39. }
    40. @RequestMapping(value = "/xy")
    41. public Object xy(String userId) {
    42. XiaoYuan xy = new XiaoYuan();
    43. if(userId==null || userId.equals("null")) {
    44. return JSON.toJSONString(xy);
    45. }
    46. //获取当天食物
    47. Foot foot = jiaZhangService.getFoot();
    48. //获取孩子信息
    49. List childres = jiaZhangService.getChildren(userId);
    50. //获取课程
    51. Course course = null;
    52. Sign qd = null;
    53. Sign qt = null;
    54. User bzr = null;
    55. Classes cl = null;
    56. if(childres.size()!=0) {
    57. course = jiaZhangService.getCourse(childres.get(0).getClassId());
    58. //签到记录
    59. qd = jiaZhangService.getSign(1, childres.get(0).getId()+"");
    60. qt = jiaZhangService.getSign(2, childres.get(0).getId()+"");
    61. //获取班主任信息
    62. bzr = jiaZhangService.getBZR(childres.get(0).getClassId());
    63. //获取班级
    64. cl = jiaZhangService.getClasses(childres.get(0).getClassId());
    65. }
    66. //获取家长信息
    67. User jiazhang = jiaZhangService.getJiaZhang(userId);
    68. if(bzr!=null) {
    69. xy.setBanZhuRen(bzr.getUserName());
    70. xy.setBanZhuRenHao(bzr.getUserTel());
    71. }
    72. if(cl!=null) {
    73. xy.setClassName(cl.getName());
    74. }
    75. if(childres.size()!=0) {
    76. xy.setcName(childres.get(0).getName());
    77. }
    78. if(qd!=null) {
    79. xy.setQiandao(MyUtils.getDate2String(qd.getSignIn()));
    80. }
    81. if(qt!=null) {
    82. xy.setQiantui(MyUtils.getDate2String(qt.getSignIn()));
    83. }
    84. if(course!=null) {
    85. xy.setShangke(course.getName());
    86. xy.setShangkeLaoShi(course.getTeaName());
    87. }
    88. if(foot!=null) {
    89. xy.setWan(foot.getDinner());
    90. xy.setWu(foot.getLunch());
    91. xy.setZao(foot.getBreakfast());
    92. }
    93. return JSON.toJSONString(xy);
    94. }
    95. @RequestMapping(value = "/wd")
    96. public Object wd(String userId) {
    97. User u = null;
    98. if(userId==null || userId.equals("null")) {
    99. return JSON.toJSONString(u);
    100. }
    101. u = jiaZhangService.getJiaZhang(userId);
    102. return JSON.toJSONString(u);
    103. }
    104. @RequestMapping(value = "/upwd")
    105. public Object upwd(User user) {
    106. user.setUserBirthday(MyUtils.getStringDate(user.getCsrq()));
    107. String result = jiaZhangService.upWd(user);
    108. if(result.equals("1")) {
    109. return "SUCC";
    110. }else {
    111. return "ERR";
    112. }
    113. }
    114. @RequestMapping(value = "/sub")
    115. public Object sub(String userId) {
    116. //获取孩子信息
    117. List childres = jiaZhangService.getChildren(userId);
    118. if(userId==null || userId.equals("null")) {
    119. return JSON.toJSONString(new Children());
    120. }
    121. if(childres.size()>0) {
    122. return JSON.toJSONString(childres.get(0));
    123. }
    124. return new Children();
    125. }
    126. @RequestMapping(value = "/upsub")
    127. public Object upsub(Children child) {
    128. child.setBirthday(MyUtils.getStringDate(child.getCsrq()));
    129. String result = jiaZhangService.upChild(child);
    130. if(result.equals("1")) {
    131. return "SUCC";
    132. }else {
    133. return "ERR";
    134. }
    135. }
    136. @RequestMapping(value = "/sigin")
    137. public Object sigin(String uid, String type) {
    138. if(uid==null && type==null) {
    139. return "ERR";
    140. }
    141. if(type.equals("1")) {
    142. //签到
    143. Sign sign = new Sign();
    144. sign.setKqrId(uid);
    145. Date date=new Date();
    146. SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a");
    147. String time = formatter.format(date).split(" ")[2];
    148. String time1 = formatter.format(date).split(" ")[1];
    149. String s=PropertyUtil.getConfigureProperties("startTime");
    150. if(time.equals("上午") && time1.compareTo(s)>0) {
    151. sign.setState(1);
    152. }else {
    153. sign.setState(3);
    154. }
    155. sign.setType(Integer.parseInt(type));
    156. sign.setKqrType(2);
    157. sign.setSignIn(new Date());
    158. signService.addSign(sign);
    159. }else {
    160. //签退
    161. Sign sign = new Sign();
    162. sign.setKqrId(uid);
    163. Date date=new Date();
    164. SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a");
    165. String time = formatter.format(date).split(" ")[2];
    166. String time1 = formatter.format(date).split(" ")[1];
    167. String s=PropertyUtil.getConfigureProperties("endTime");
    168. if(time.equals("下午") && time1.compareTo(s)<0) {
    169. sign.setState(1);
    170. }else{
    171. sign.setState(2);
    172. }
    173. sign.setType(Integer.parseInt(type));
    174. sign.setKqrType(2);
    175. sign.setSignIn(new Date());
    176. signService.addSign(sign);
    177. }
    178. return "OK";
    179. }
    180. }

    1. /*
    2. * All rights Reserved, Copyright (C) Aisino LIMITED 2018
    3. * FileName: WebConfig.java
    4. * Version: $Revision$
    5. * Modify record:
    6. * NO. | Date | Name | Content
    7. * 1 | 2019年1月16日 | Aisino)Jack | original version
    8. */
    9. package com.bskms.controller;
    10. import java.util.ArrayList;
    11. import java.util.List;
    12. import org.apache.shiro.SecurityUtils;
    13. import org.apache.shiro.subject.Subject;
    14. import org.slf4j.Logger;
    15. import org.slf4j.LoggerFactory;
    16. import org.springframework.beans.factory.annotation.Autowired;
    17. import org.springframework.stereotype.Controller;
    18. import org.springframework.ui.Model;
    19. import org.springframework.web.bind.annotation.RequestBody;
    20. import org.springframework.web.bind.annotation.RequestMapping;
    21. import org.springframework.web.bind.annotation.RequestMethod;
    22. import org.springframework.web.bind.annotation.RequestParam;
    23. import org.springframework.web.bind.annotation.ResponseBody;
    24. import com.bskms.bean.User;
    25. import com.bskms.bean.UserRole;
    26. import com.bskms.model.Result;
    27. import com.bskms.model.ResultMap;
    28. import com.bskms.service.UserRoleService;
    29. import com.bskms.service.UserService;
    30. import com.bskms.utils.MyUtils;
    31. import com.github.pagehelper.Page;
    32. import com.github.pagehelper.PageHelper;
    33. import com.github.pagehelper.PageInfo;
    34. /**
    35. * class name:UserController
    36. * class description: 用户角色
    37. * Remark:
    38. *
    39. * @version 1.00 2019年1月16日
    40. * @author Aisino)weihaohao
    41. */
    42. @SuppressWarnings({ "unchecked", "rawtypes" })
    43. @Controller
    44. @RequestMapping("/user")
    45. public class UserController {
    46. private final Logger logger = LoggerFactory.getLogger(UserController.class);
    47. private final ResultMap resultMap;
    48. @Autowired
    49. private UserService userService;
    50. @Autowired
    51. private UserRoleService userRoleService;
    52. @Autowired
    53. public UserController(ResultMap resultMap) {
    54. this.resultMap = resultMap;
    55. }
    56. @RequestMapping(value = "/getMessage", method = RequestMethod.GET)
    57. public ResultMap getMessage() {
    58. return resultMap.success().message("您拥有用户权限,可以获得该接口的信息!");
    59. }
    60. @RequestMapping(value = "/editUserPage")
    61. public String editUserPage(String userId, Model model) {
    62. model.addAttribute("manageUser", userId);
    63. if (null != userId) {
    64. User user = userService.selectByPrimaryKey(userId);
    65. model.addAttribute("manageUser", user);
    66. }
    67. return "user/userEdit";
    68. }
    69. @ResponseBody
    70. @RequestMapping("/updateUser")
    71. public String updateUser(User user) {
    72. return userService.updateUser(user);
    73. }
    74. // 任务
    75. /**
    76. * Description: 查询所有管理员
    77. *
    78. * @return List
    79. */
    80. @ResponseBody
    81. @RequestMapping(value = "/getAdmins")
    82. public List getAdmins() {
    83. return userService.getAdmins();
    84. }
    85. /**
    86. * Description: 查询所有授权用户
    87. *
    88. * @return List
    89. */
    90. @ResponseBody
    91. @RequestMapping(value = "/getAllUser")
    92. public List getAllUser() {
    93. return userService.getAllUser();
    94. }
    95. }

    配置文件说明:

    1. server.port=8081
    2. debug=true
    3. ##打开sql执行语句打印日志
    4. logging.level.com.bskms.mapper=debug
    5. ###############################MySQL数据库配置###############################
    6. #spring.datasource.name=test
    7. #spring.datasource.url=jdbc:mysql://127.0.0.1:3306/bskms?characterEncoding=UTF-8&serverTimezone=GMT%2b8&useSSL=false
    8. #spring.datasource.username=root
    9. #spring.datasource.password=Jack2018
    10. #本地数据库
    11. spring.datasource.url=jdbc:mysql://localhost:3306/sajt_arrms?characterEncoding=UTF-8&serverTimezone=GMT%2b8&useSSL=false
    12. spring.datasource.username=root
    13. spring.datasource.password=root
    14. spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
    15. spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
    16. ###########################Mapper配置###############################
    17. logging.level.org.springframework.web=DEBUG
    18. #Mybatis配置
    19. mybatis.type-aliases-package=com.bskms
    20. mybatis.mapper-locations=classpath:mapper/*.xml
    21. ###########################Mybatis配置###############################
    22. spring.datasource.druid.initial-size=10
    23. spring.datasource.druid.min-idle=10
    24. spring.datasource.druid.max-active=200
    25. spring.datasource.druid.max-wait=60000
    26. spring.datasource.druid.time-between-eviction-runs-millis=60000
    27. spring.datasource.druid.min-evictable-idle-time-millis=300000
    28. spring.datasource.druid.validation-query=SELECT 1 FROM DUAL
    29. spring.datasource.druid.test-while-idle=true
    30. spring.datasource.druid.test-on-borrow=false
    31. spring.datasource.druid.test-on-return=false
    32. spring.datasource.druid.pool-prepared-statements=true
    33. spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
    34. spring.datasource.druid.filters=stat,wall,log4j
    35. ###########################Redis配置###############################
    36. # REDIS (RedisProperties)
    37. # Redis数据库索引(默认为0)
    38. spring.redis.database=0
    39. # Redis服务器地址
    40. spring.redis.host=127.0.0.1
    41. # Redis服务器连接端口
    42. spring.redis.port=6379
    43. # Redis服务器连接密码(默认为空)
    44. spring.redis.password=123456
    45. # 连接超时时间(毫秒)
    46. spring.redis.timeout=10000

    1. /**
    2. *
    3. */
    4. package com.bskms.controller;
    5. import java.text.SimpleDateFormat;
    6. import java.util.ArrayList;
    7. import java.util.Date;
    8. import java.util.List;
    9. import org.apache.shiro.SecurityUtils;
    10. import org.apache.shiro.subject.Subject;
    11. import org.springframework.beans.factory.annotation.Autowired;
    12. import org.springframework.stereotype.Controller;
    13. import org.springframework.transaction.annotation.Transactional;
    14. import org.springframework.transaction.interceptor.TransactionAspectSupport;
    15. import org.springframework.ui.Model;
    16. import org.springframework.web.bind.annotation.RequestMapping;
    17. import org.springframework.web.bind.annotation.ResponseBody;
    18. import com.bskms.bean.Children;
    19. import com.bskms.bean.ClaTea;
    20. import com.bskms.bean.Classes;
    21. import com.bskms.bean.Course;
    22. import com.bskms.bean.Notice;
    23. import com.bskms.bean.Sign;
    24. import com.bskms.bean.User;
    25. import com.bskms.bean.UserChildren;
    26. import com.bskms.model.TongJi;
    27. import com.bskms.service.ClassService;
    28. import com.bskms.service.CourseService;
    29. import com.bskms.service.NoticeService;
    30. import com.bskms.service.SignService;
    31. import com.bskms.service.StudentService;
    32. import com.bskms.service.UserChildrenService;
    33. import com.bskms.service.UserService;
    34. import com.bskms.utils.PropertyUtil;
    35. /**
    36. * @author samsung
    37. *
    38. */
    39. @Controller
    40. @RequestMapping(value = "/ls")
    41. public class TeacherController {
    42. @Autowired
    43. private StudentService studentService;
    44. @Autowired
    45. private ClassService classService;
    46. @Autowired
    47. private NoticeService noticeService;
    48. @Autowired
    49. private SignService signService;
    50. @Autowired
    51. private UserService userService;
    52. @Autowired
    53. private UserChildrenService userChildrenService;
    54. @Autowired
    55. private CourseService courseService;
    56. @RequestMapping("/stu")
    57. public String stu(Model model) {
    58. List classes=classService.selectAllClasses();
    59. model.addAttribute("cla", classes);
    60. return "ls/stuPage";
    61. }
    62. //学生管理
    63. /**
    64. * Method name: teacherPage
    65. * Description: 教师管理页面
    66. *
    67. * @return String
    68. */
    69. @RequestMapping(value = "/stuMG")
    70. public String teaMG(Model model) {
    71. List classes=classService.selectAllClasses();
    72. model.addAttribute("cla", classes);
    73. return "ls/student";
    74. }
    75. /**
    76. * Method name: getAllStudentByLimit
    77. * Description: 根据条件获取所有教师
    78. *
    79. * @param userParameter
    80. * @return Object
    81. */
    82. @RequestMapping("/getAllStudentByLimit")
    83. @ResponseBody
    84. public Object getAllStudentByLimit(Children stuParameter) {
    85. return studentService.getAllStudentByLimit(stuParameter);
    86. }
    87. /**
    88. * Method name: addStuPage
    89. * Description: 增加教师界面
    90. *
    91. * @return String
    92. */
    93. @RequestMapping(value = "/addStuPage")
    94. public String addStuPage(Integer id, Model model) {
    95. model.addAttribute("manageStu", id);
    96. if (null != id) {
    97. Children student = studentService.selectByPrimaryKey(id);
    98. //UserChildren userChild = userChildrenService.selectById(id);
    99. model.addAttribute("manageStu", student);
    100. //model.addAttribute("manageChild", userChild);
    101. UserChildren uc = userChildrenService.selectByUCId(student.getId());
    102. model.addAttribute("uc", uc);
    103. }
    104. List classes=classService.selectAllClasses();
    105. model.addAttribute("cla", classes);
    106. List user=userService.selectAllJiazhang();
    107. model.addAttribute("user", user);
    108. return "ls/stuPageAdd";
    109. }
    110. /**
    111. * Method name: addStu
    112. * Description: 教师添加
    113. *
    114. * @param user
    115. * @return String
    116. */
    117. @ResponseBody
    118. @RequestMapping("/addStu")
    119. public String addStu(Children student) {
    120. try {
    121. studentService.addStudent(student);
    122. addUserChildren(student);
    123. return "SUCCESS";
    124. } catch (Exception e) {
    125. return "ERR";
    126. }
    127. }
    128. public void addUserChildren(Children student) {
    129. UserChildren userChildern = new UserChildren();
    130. userChildern.setChildrenId(student.getId());
    131. userChildern.setUserId(student.getUserId());
    132. userChildern.setIsFaMa(student.getIsFaMa());
    133. userChildern.setIsJinji(student.getIsJinji());
    134. userChildrenService.addUserChildren(userChildern);
    135. }
    136. /**
    137. * Method name: updateStudent
    138. * Description: 更新教师
    139. *
    140. * @param user
    141. * @return String
    142. */
    143. @ResponseBody
    144. @RequestMapping("/updateStudent")
    145. public String updateStudent(Children studnet) {
    146. UserChildren uc = new UserChildren();
    147. uc.setId(studnet.getUcId());
    148. uc.setChildrenId(studnet.getId());
    149. uc.setIsFaMa(studnet.getIsFaMa());
    150. uc.setIsJinji(studnet.getIsJinji());
    151. uc.setUserId(studnet.getUserId());
    152. userChildrenService.updateUC(uc);
    153. return studentService.updateStu(studnet);
    154. }
    155. /**
    156. * Method name: delClaTea
    157. * Description: 批量删除教师
    158. *
    159. * @param ids
    160. * @return String
    161. */
    162. @RequestMapping(value = "delStudent")
    163. @ResponseBody
    164. @Transactional
    165. public String delStudent(String[] ids) {
    166. try {
    167. for (String id : ids) {
    168. studentService.delStudentById(Integer.parseInt(id));
    169. }
    170. return "SUCCESS";
    171. } catch (Exception e) {
    172. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
    173. return "ERROR";
    174. }
    175. }
    176. //公告管理
    177. /**
    178. * Method name: gg
    179. * Description: 教师管理页面
    180. *
    181. * @return String
    182. */
    183. @RequestMapping(value = "/gg")
    184. public String gg() {
    185. return "ls/notice";
    186. }
    187. /**
    188. * Method name: getAllNoticeByLimit
    189. * Description: 根据条件获取所有教师
    190. *
    191. * @param userParameter
    192. * @return Object
    193. */
    194. @RequestMapping("/getAllNoticeByLimit")
    195. @ResponseBody
    196. public Object getAllNoticeByLimit(Notice noticeParameter) {
    197. return noticeService.getAllNoticeByLimit(noticeParameter);
    198. }
    199. /**
    200. * Method name: addStuPage
    201. * Description: 增加教师界面
    202. *
    203. * @return String
    204. */
    205. @RequestMapping(value = "/addNoticePage")
    206. public String addNoticePage(Integer id, Model model) {
    207. model.addAttribute("manageNotice", id);
    208. if (null != id) {
    209. Notice notice = noticeService.selectByPrimaryKey(id);
    210. model.addAttribute("manageNotice", notice);
    211. }
    212. return "ls/noticeAdd";
    213. }
    214. /**
    215. * Method name: addStu
    216. * Description: 教师添加
    217. *
    218. * @param user
    219. * @return String
    220. */
    221. @ResponseBody
    222. @RequestMapping("/addNotice")
    223. public String addNotice(Notice notice) {
    224. try {
    225. notice.setCreatTime(new Date());
    226. noticeService.addNotice(notice);
    227. return "SUCCESS";
    228. } catch (Exception e) {
    229. return "ERR";
    230. }
    231. }
    232. /**
    233. * Method name: updateStudent
    234. * Description: 更新教师
    235. *
    236. * @param user
    237. * @return String
    238. */
    239. @ResponseBody
    240. @RequestMapping("/updateNotice")
    241. public String updateNotice(Notice notice) {
    242. return noticeService.updateStu(notice);
    243. }
    244. /**
    245. * Method name: delClaTea
    246. * Description: 批量删除教师
    247. *
    248. * @param ids
    249. * @return String
    250. */
    251. @RequestMapping(value = "delNotice")
    252. @ResponseBody
    253. @Transactional
    254. public String delNotice(String[] ids) {
    255. try {
    256. for (String id : ids) {
    257. noticeService.delNoticeById(Integer.parseInt(id));
    258. }
    259. return "SUCCESS";
    260. } catch (Exception e) {
    261. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
    262. return "ERROR";
    263. }
    264. }
    265. //考勤管理
    266. /**
    267. * Method name: lskq
    268. * Description: 教师管理页面
    269. *
    270. * @return String
    271. */
    272. @RequestMapping(value = "/lskq")
    273. public String lskq() {
    274. return "ls/sign";
    275. }
    276. /**
    277. * Method name: getAllSignByLimit
    278. * Description: 根据条件获取所有教师
    279. *
    280. * @param userParameter
    281. * @return Object
    282. */
    283. @RequestMapping("/getAllSignByLimit")
    284. @ResponseBody
    285. public Object getAllSignByLimit(Sign signParameter) {
    286. return signService.getAllSignByLimit(signParameter);
    287. }
    288. //打卡
    289. @RequestMapping(value = "/qianDaoTui")
    290. public String qianDaoTui() {
    291. return "ls/daKa";
    292. }
    293. /**
    294. * Method name: addStu
    295. * Description: 教师添加
    296. *
    297. * @param user
    298. * @return String
    299. */
    300. @ResponseBody
    301. @RequestMapping("/addSign")
    302. public String addSign(Sign sign) {
    303. Subject subject = SecurityUtils.getSubject();
    304. User user = (User) subject.getPrincipal();
    305. try {
    306. Date date=new Date();
    307. SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a");
    308. String time = formatter.format(date).split(" ")[2];
    309. String time1 = formatter.format(date).split(" ")[1];
    310. String s=PropertyUtil.getConfigureProperties("startTime");
    311. if(time.equals("上午") && time1.compareTo(s)>0) {
    312. sign.setState(1);
    313. }else {
    314. sign.setState(3);
    315. }
    316. //如果是家长:则查出其孩子编号作为签到人
    317. if(user.getUserState()==2){
    318. UserChildren userChildren = userChildrenService.selectByUserId(user.getUserId());
    319. sign.setKqrId(userChildren.getId().toString());
    320. }else{
    321. sign.setKqrId(user.getUserId());
    322. }
    323. sign.setType(1);
    324. sign.setSignIn(date);
    325. sign.setKqrType(user.getUserState());
    326. signService.addSign(sign);
    327. return "SUCCESS";
    328. } catch (Exception e) {
    329. return "ERR";
    330. }
    331. }
    332. /**
    333. * Method name: addStu
    334. * Description: 教师添加
    335. *
    336. * @param user
    337. * @return String
    338. */
    339. @ResponseBody
    340. @RequestMapping("/addQianTui")
    341. public String addQianTui(Sign sign) {
    342. Subject subject = SecurityUtils.getSubject();
    343. User user = (User) subject.getPrincipal();
    344. try {
    345. Date date=new Date();
    346. SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a");
    347. String time = formatter.format(date).split(" ")[2];
    348. String time1 = formatter.format(date).split(" ")[1];
    349. String s=PropertyUtil.getConfigureProperties("endTime");
    350. if(time.equals("下午") && time1.compareTo(s)<0) {
    351. sign.setState(1);
    352. }else{
    353. sign.setState(2);
    354. }
    355. sign.setType(2);
    356. sign.setSignIn(date);
    357. sign.setKqrId(user.getUserId());
    358. sign.setKqrType(user.getUserState());
    359. signService.addSign(sign);
    360. return "SUCCESS";
    361. } catch (Exception e) {
    362. return "ERR";
    363. }
    364. }
    365. //学生考勤
    366. @RequestMapping(value = "/xskq")
    367. public String xskq() {
    368. return "ls/childSign";
    369. }
    370. /**
    371. * Method name: getAllSignByLimit
    372. * Description: 根据条件获取所有教师
    373. * @param userParameter
    374. * @return Object
    375. */
    376. @RequestMapping("/getAllChildSignByLimit")
    377. @ResponseBody
    378. public Object getAllChildSignByLimit(Sign signParameter) {
    379. return signService.getAllChildSignByLimit(signParameter);
    380. }
    381. //所有老师签到的总次数统计
    382. @RequestMapping(value = "/kqtj")
    383. public String kqtj(Model model) {
    384. List ts = signService.getAllTeacherCount();
    385. List names = new ArrayList<>();
    386. List zc = new ArrayList<>();
    387. List tq = new ArrayList<>();
    388. List cd = new ArrayList<>();
    389. for (TongJi tongJi : ts) {
    390. names.add(tongJi.getUserName());
    391. zc.add(tongJi.getZhengChang());
    392. tq.add(tongJi.getTiQian());
    393. cd.add(tongJi.getChiDao());
    394. }
    395. model.addAttribute("names", names);
    396. model.addAttribute("zc", zc);
    397. model.addAttribute("tq", tq);
    398. model.addAttribute("cd", cd);
    399. return "ls/tongJi";
    400. }
    401. //所有学生签到的总次数统计
    402. @RequestMapping(value = "/tongJiXueSheng")
    403. public String tongJiXueSheng(Model model) {
    404. List ts = signService.getAllChildCount();
    405. List names = new ArrayList<>();
    406. List zc = new ArrayList<>();
    407. List tq = new ArrayList<>();
    408. List cd = new ArrayList<>();
    409. for (TongJi tongJi : ts) {
    410. names.add(tongJi.getUserName());
    411. zc.add(tongJi.getZhengChang());
    412. tq.add(tongJi.getTiQian());
    413. cd.add(tongJi.getChiDao());
    414. }
    415. model.addAttribute("names", names);
    416. model.addAttribute("zc", zc);
    417. model.addAttribute("tq", tq);
    418. model.addAttribute("cd", cd);
    419. return "ls/tongJiXueSheng";
    420. }
    421. @RequestMapping(value = "/course")
    422. public String course(Model model) {
    423. return "ls/course";
    424. }
    425. //课程
    426. @RequestMapping(value = "/courseAdd")
    427. public String courseAdd(Model model) {
    428. List users = userService.selectAllTea();
    429. model.addAttribute("users", users);
    430. List clas = classService.selectAllClasses();
    431. model.addAttribute("cla", clas);
    432. return "ls/courseAdd";
    433. }
    434. @RequestMapping("/getAllCourseByLimit")
    435. @ResponseBody
    436. public Object getAllCourseByLimit(Course course) {
    437. return courseService.getAllCourseByLimit(course);
    438. }
    439. @ResponseBody
    440. @RequestMapping("/addCourse")
    441. public String addCourse(Course course) {
    442. course.setCreateTime(new Date());
    443. try {
    444. courseService.addCourse(course);
    445. return "SUCCESS";
    446. } catch (Exception e) {
    447. return "ERR";
    448. }
    449. }
    450. @ResponseBody
    451. @RequestMapping("/delCourse")
    452. public String delCourse(Integer id) {
    453. try {
    454. courseService.delCourse(id);
    455. return "SUCCESS";
    456. } catch (Exception e) {
    457. return "ERR";
    458. }
    459. }
    460. }

    五,项目总结

    对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好幼儿园信息而设计的,能使用于不同的中小型幼儿园,能方便、科学的实现对园中事物的管理。

    幼儿园的任务为解除家庭在培养儿童时所受时间、空间、环境的制约,让幼儿身体、智力和心情得以健康发展。可以说幼儿园是小朋友的快乐天地,可以帮助孩子健康快乐地度过童年时光,不仅学到知识,而且可以从小接触集体生活。幼儿园教育作为整个教育体系基础的基础,是对儿童进行预备教育(性格完整健康、行为习惯良好、初步的自然与社会常识)。早期人工管理的幼儿园出现了不少缺点,比如管理中,办公的效率不高;园中的管理人员在管理园中事物时容易按照经验,缺少了数据统计,故管理不科学。越来越多的幼儿数量的增多,加重了管理员对幼儿档案的管理难度;使管理变得比较烦琐、复杂,产生的文档比较多,并且由于手工的操作,使这些文档无法有效的核对和管理,在汇总以及分析方面更加困难。现在大多数幼儿园都装配有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,配备的计算机属于闲散资源,这就是管理信息系统开发的基本环境。

    基于这些问题,我们认为有必要建立一套幼儿园管理系统,使幼儿园的管理工作规范化、系统化、程序化,避免幼儿园管理的随意性、烦琐性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改幼儿与教师的情况。

     

  • 相关阅读:
    排序算法两万字总结(C语言实现)
    Python是信奥的基础吗,学习信奥要不要先学python
    【构建ML驱动的应用程序】第 8 章 :部署模型时的注意事项
    室外定位:高精度北斗RTK定位技术
    阿里云一面:并发场景下的底层细节 - 伪共享问题
    安卓打开第三方应用失败
    前端的简单介绍
    4. 【containerd】pull image 如何配置密码
    HoloLens 2上使用Azure空间定位点
    【字符串处理函数】sprintf与snprintf
  • 原文地址:https://blog.csdn.net/BS009/article/details/126765939