智慧幼兒園信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
項(xiàng)目編號(hào):BS-XX-139
一,項(xiàng)目簡(jiǎn)介
? 跨入21世紀(jì),人類社會(huì)進(jìn)入了信息化時(shí)代。以信息及時(shí)為代表的高新技術(shù)極大的促進(jìn)了社會(huì)經(jīng)濟(jì)的迅猛發(fā)展,并且已經(jīng)在各個(gè)方面改變了我們的工作和生活方式。 ? 在企業(yè)中實(shí)施信息管理系統(tǒng)是使企業(yè)信息化的重要標(biāo)志之一。信息管理系統(tǒng)是指基于計(jì)算機(jī)、通信網(wǎng)絡(luò)等現(xiàn)代化的工具和手段,服務(wù)于信息處理的系統(tǒng)。信息管理系統(tǒng)的實(shí)施能使企業(yè)實(shí)現(xiàn)辦公自動(dòng)化、決策支持等。在幼兒園中實(shí)施信息管理系統(tǒng)可以在實(shí)現(xiàn)辦公自動(dòng)化的同時(shí),提高幼兒園管理水平、教學(xué)質(zhì)量和為家長(zhǎng)服務(wù)的質(zhì)量。但在目前市場(chǎng)上適用于幼兒園的信息管理系統(tǒng)軟件數(shù)量不多,且質(zhì)量也參差不齊。本文主要論述幼兒園信息管理系統(tǒng)的設(shè)計(jì)、開發(fā)、實(shí)現(xiàn)和維護(hù),并探討系統(tǒng)的適用性以及功能的高效率。 ? 針對(duì)幼兒園用戶的實(shí)際情況,確定了軟件模式為B/S,開發(fā)工具采用C#,數(shù)據(jù)庫產(chǎn)品采用Sql server。文章首先對(duì)幼兒園網(wǎng)絡(luò)信息管理系統(tǒng)的需求作了詳盡的分析,給出了詳細(xì)的需求說明和各模塊說明以及用例說明。接著,從系統(tǒng)的界面實(shí)現(xiàn)、數(shù)據(jù)庫實(shí)現(xiàn)和主要模塊實(shí)現(xiàn)等方面研究了幼兒園信息管理系統(tǒng)的具體實(shí)現(xiàn)技術(shù)。系統(tǒng)的使用不僅可以提高幼兒園管理水平,還可以減少辦園經(jīng)費(fèi),提高幼兒園的運(yùn)作效率。系統(tǒng)的主要功能有:指南針幼兒園管理系統(tǒng),共分為三種角色,管理員、家長(zhǎng)、教師。管理員角色具有功能:系統(tǒng)管理-用戶管理、頁面管理、角色管理,校園管理-老師管理、工資管理、物資管理、菜譜管理、班級(jí)管理班級(jí)管理-學(xué)生管理、公告管理、課程管理考勤管理-老師考勤、學(xué)生考勤、老師考勤統(tǒng)計(jì)、學(xué)生考勤統(tǒng)計(jì)、簽到簽退
系統(tǒng)有著完備的權(quán)限管理功能,可以根據(jù)需要為家長(zhǎng)和老師分配相關(guān)的權(quán)限。系統(tǒng)整功能設(shè)計(jì)完整,結(jié)構(gòu)清晰,適合做畢業(yè)設(shè)計(jì)使用。
二,環(huán)境介紹
語言環(huán)境:Java:? jdk1.8
數(shù)據(jù)庫:Mysql: mysql5.7+Redis
應(yīng)用服務(wù)器:Tomcat:? tomcat8.5.31
開發(fā)工具:IDEA或eclipse
后端采用Springboot+MyBatis+MySQL+Shrio
前端使用layui+html+thymeleaf
三,系統(tǒng)展示
管理員用戶登陸:

用戶管理

菜單管理

角色管理:可以為用戶指定相應(yīng)的角色,并為角色分配權(quán)限


老師管理功能

工資管理

物資管理

菜譜管理

班級(jí)管理

學(xué)生管理

公告管理

課程管理

老師考勤

學(xué)生考勤

老師考勤統(tǒng)計(jì)報(bào)表

學(xué)生考勤統(tǒng)計(jì)報(bào)表

簽到簽退:學(xué)生和家長(zhǎng)均可以進(jìn)行在線簽到,家長(zhǎng)簽到就統(tǒng)計(jì)到自己的孩中去

老師登陸系統(tǒng):
主要進(jìn)行班級(jí)管理和考勤管理

家長(zhǎng)登陸系統(tǒng):

四,核心代碼展示
package com.bskms.controller;import java.util.List;import org.apache.shiro.SecurityUtils;import org.apache.shiro.subject.Subject;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.ResponseBody;import com.bskms.bean.Page;import com.bskms.bean.User;import com.bskms.model.ResultMap;import com.bskms.service.PageService;import com.bskms.service.UserService;/**
* class name:LoginController <BR>
* class description: 登錄操作 <BR>
* Remark: <BR>
*/public class LoginController {
private ResultMap resultMap;
private UserService userService;// 用戶登錄service
private PageService pageService; private final Logger logger = LoggerFactory.getLogger(LoginController.class);
public ResultMap notLogin() {
logger.warn("尚未登陸!"); return resultMap.success().message("您尚未登陸!");
}
public ResultMap notRole() { Subject subject = SecurityUtils.getSubject(); User user = (User) subject.getPrincipal(); if (user != null) {
logger.info("{}---沒有權(quán)限!", user.getUserName());
} return resultMap.success().message("您沒有權(quán)限!");
} /**
* Method name: logout <BR>
* Description: 退出登錄 <BR>
* @return String<BR>
*/
public String logout() { Subject subject = SecurityUtils.getSubject(); User user = (User) subject.getPrincipal(); if (null != user) {
logger.info("{}---退出登錄!", user.getUserName());
}
subject.logout(); return "login";
} /**
* Method name: login <BR>
* Description: 登錄驗(yàn)證 <BR>
* Remark: <BR>
*
* @param username 用戶名
* @param password 密碼
* @return ResultMap<BR>
*/
public ResultMap login(String username, String password) { return userService.login(username, password);
} /**
* Method name: login <BR>
* Description: 登錄頁面 <BR>
*
* @return String login.html<BR>
*/
public String login() { return "login";
} /**
* Method name: index <BR>
* Description: 登錄頁面 <BR>
*
* @return String login.html<BR>
*/
public String index(Model model) { Subject subject = SecurityUtils.getSubject(); User user = (User) subject.getPrincipal(); if (null != user) {
model.addAttribute("user", user);
List<Page> pageList = pageService.getAllRolePageByUserId(user.getUserId());
model.addAttribute("pageList", pageList); return "index";
} else { return "login";
}
} /**
* Method name: main <BR>
* Description: 進(jìn)入主頁面 <BR>
*
* @param model
* @return String<BR>
*/
public String main(Model model) { Subject subject = SecurityUtils.getSubject(); User user = (User) subject.getPrincipal(); if (null != user) {
model.addAttribute("user", user);
} else { return "login";
}
List<Page> pageList = pageService.getAllRolePageByUserId(user.getUserId());
model.addAttribute("pageList", pageList); return "index";
} /**
* Method name: checkUserPassword <BR>
* Description: 檢測(cè)舊密碼是否正確 <BR>
*
* @param password 舊密碼
* @return boolean 是否正確<BR>
*/
public boolean checkUserPassword(String password) { return userService.checkUserPassword(password);
} /**
* Method name: updatePassword <BR>
* Description: 更新密碼 <BR>
*
* @param password 舊密碼
* @return String 是否成功<BR>
*/
public String updatePassword(String password) { return userService.updatePassword(password);
}
}
package com.bskms.controller;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import com.alibaba.fastjson.JSON;import com.bskms.bean.Children;import com.bskms.bean.Classes;import com.bskms.bean.Course;import com.bskms.bean.Foot;import com.bskms.bean.Notice;import com.bskms.bean.Sign;import com.bskms.bean.User;import com.bskms.model.XiaoYuan;import com.bskms.service.JiaZhangService;import com.bskms.service.NoticeService;import com.bskms.service.SignService;import com.bskms.utils.MyUtils;import com.bskms.utils.PropertyUtil;public class JiaZhangController {
NoticeService noticeService;
JiaZhangService jiaZhangService;
SignService signService;
public Object notices() {
List<Notice> notices = new ArrayList<>();
notices = noticeService.getAllNotice(); return JSON.toJSONString(notices);
}
public Object xy(String userId) { XiaoYuan xy = new XiaoYuan();
if(userId==null || userId.equals("null")) { return JSON.toJSONString(xy);
}
//獲取當(dāng)天食物
Foot foot = jiaZhangService.getFoot();
//獲取孩子信息
List<Children> childres = jiaZhangService.getChildren(userId);
//獲取課程
Course course = null; Sign qd = null;
Sign qt = ?null; User bzr = null; Classes cl = null; if(childres.size()!=0) {
course = jiaZhangService.getCourse(childres.get(0).getClassId()); //簽到記錄
qd = ?jiaZhangService.getSign(1, childres.get(0).getId()+"");
qt = ?jiaZhangService.getSign(2, childres.get(0).getId()+"");
//獲取班主任信息
bzr = jiaZhangService.getBZR(childres.get(0).getClassId());
//獲取班級(jí)
cl = jiaZhangService.getClasses(childres.get(0).getClassId());
}
//獲取家長(zhǎng)信息
User jiazhang = jiaZhangService.getJiaZhang(userId);
if(bzr!=null) {
xy.setBanZhuRen(bzr.getUserName());
xy.setBanZhuRenHao(bzr.getUserTel());
} if(cl!=null) {
xy.setClassName(cl.getName());
} if(childres.size()!=0) {
xy.setcName(childres.get(0).getName());
} if(qd!=null) {
xy.setQiandao(MyUtils.getDate2String(qd.getSignIn()));
} if(qt!=null) {
xy.setQiantui(MyUtils.getDate2String(qt.getSignIn()));
} if(course!=null) {
xy.setShangke(course.getName());
xy.setShangkeLaoShi(course.getTeaName());
} if(foot!=null) {
xy.setWan(foot.getDinner());
xy.setWu(foot.getLunch());
xy.setZao(foot.getBreakfast());
}
return JSON.toJSONString(xy);
}
public Object wd(String userId) { User u = null;
if(userId==null || userId.equals("null")) { return JSON.toJSONString(u);
}
u = ?jiaZhangService.getJiaZhang(userId); return JSON.toJSONString(u);
}
public Object upwd(User user) {
user.setUserBirthday(MyUtils.getStringDate(user.getCsrq())); String result = ?jiaZhangService.upWd(user); if(result.equals("1")) { return "SUCC";
}else { return "ERR";
}
}
public Object sub(String userId) { //獲取孩子信息
List<Children> childres = jiaZhangService.getChildren(userId);
if(userId==null || userId.equals("null")) { return JSON.toJSONString(new Children());
}
if(childres.size()>0) { return JSON.toJSONString(childres.get(0));
} return new Children();
}
public Object upsub(Children child) {
child.setBirthday(MyUtils.getStringDate(child.getCsrq())); String result = ?jiaZhangService.upChild(child); if(result.equals("1")) { return "SUCC";
}else { return "ERR";
}
}
public Object sigin(String uid, String type) { if(uid==null && type==null) { return "ERR";
} if(type.equals("1")) { //簽到
Sign sign = new Sign();
sign.setKqrId(uid);
Date date=new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a");
String time = formatter.format(date).split(" ")[2]; String time1 = formatter.format(date).split(" ")[1];
String s=PropertyUtil.getConfigureProperties("startTime");
if(time.equals("上午") && time1.compareTo(s)>0) {
sign.setState(1);
}else {
sign.setState(3);
}
sign.setType(Integer.parseInt(type));
sign.setKqrType(2);
sign.setSignIn(new Date());
signService.addSign(sign);
}else { //簽退
Sign sign = new Sign();
sign.setKqrId(uid);
Date date=new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a"); String time = formatter.format(date).split(" ")[2]; String time1 = formatter.format(date).split(" ")[1];
String s=PropertyUtil.getConfigureProperties("endTime");
if(time.equals("下午") && time1.compareTo(s)<0) {
sign.setState(1);
}else{
sign.setState(2);
}
sign.setType(Integer.parseInt(type));
sign.setKqrType(2);
sign.setSignIn(new Date());
signService.addSign(sign);
} return "OK";
}
}
/*
* All rights Reserved, Copyright (C) Aisino LIMITED 2018
* FileName: WebConfig.java
* Version: ?$Revision$
* Modify record:
* NO. | ? ? Date ? ? ? | ? ?Name ? ? ? ? | ? ? ?Content
* 1 ? | 2019年1月16日 ? ? ? ?| Aisino)Jack ? ?| original version
*/package com.bskms.controller;import java.util.ArrayList;import java.util.List;import org.apache.shiro.SecurityUtils;import org.apache.shiro.subject.Subject;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import com.bskms.bean.User;import com.bskms.bean.UserRole;import com.bskms.model.Result;import com.bskms.model.ResultMap;import com.bskms.service.UserRoleService;import com.bskms.service.UserService;import com.bskms.utils.MyUtils;import com.github.pagehelper.Page;import com.github.pagehelper.PageHelper;import com.github.pagehelper.PageInfo;/**
* class name:UserController <BR>
* class description: 用戶角色 <BR>
* Remark: <BR>
*
* @version 1.00 2019年1月16日
* @author Aisino)weihaohao
*/public class UserController { private final Logger logger = LoggerFactory.getLogger(UserController.class); private final ResultMap resultMap;
private UserService userService;
private UserRoleService userRoleService;
public UserController(ResultMap resultMap) { this.resultMap = resultMap;
}
public ResultMap getMessage() { return resultMap.success().message("您擁有用戶權(quán)限,可以獲得該接口的信息!");
}
public String editUserPage(String userId, Model model) {
model.addAttribute("manageUser", userId); if (null != userId) { User user = userService.selectByPrimaryKey(userId);
model.addAttribute("manageUser", user);
} return "user/userEdit";
}
public String updateUser(User user) { return userService.updateUser(user);
} // 任務(wù)
/**
* Description: 查詢所有管理員 <BR>
*
* @return List<Project>
*/
public List<User> getAdmins() { return userService.getAdmins();
} /**
* Description: 查詢所有授權(quán)用戶<BR>
*
* @return List<User>
*/
public List<User> getAllUser() { return userService.getAllUser();
}
}
配置文件說明:
server.port=8081
debug=true
##打開sql執(zhí)行語句打印日志
logging.level.com.bskms.mapper=debug
###############################MySQL數(shù)據(jù)庫配置###############################
#spring.datasource.name=test
#spring.datasource.url=jdbc:mysql://127.0.0.1:3306/bskms?characterEncoding=UTF-8&serverTimezone=GMT%2b8&useSSL=false
#spring.datasource.username=root
#spring.datasource.password=Jack2018
#本地?cái)?shù)據(jù)庫
spring.datasource.url=jdbc:mysql://localhost:3306/sajt_arrms?characterEncoding=UTF-8&serverTimezone=GMT%2b8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
###########################Mapper配置###############################
logging.level.org.springframework.web=DEBUG
#Mybatis配置
mybatis.type-aliases-package=com.bskms
mybatis.mapper-locations=classpath:mapper/*.xml
###########################Mybatis配置###############################
spring.datasource.druid.initial-size=10
spring.datasource.druid.min-idle=10
spring.datasource.druid.max-active=200
spring.datasource.druid.max-wait=60000 ?
spring.datasource.druid.time-between-eviction-runs-millis=60000 ?
spring.datasource.druid.min-evictable-idle-time-millis=300000 ?
spring.datasource.druid.validation-query=SELECT 1 FROM DUAL ?
spring.datasource.druid.test-while-idle=true ?
spring.datasource.druid.test-on-borrow=false ?
spring.datasource.druid.test-on-return=false ?
spring.datasource.druid.pool-prepared-statements=true ?
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20 ?
spring.datasource.druid.filters=stat,wall,log4j ?
###########################Redis配置###############################
# REDIS (RedisProperties)
# Redis數(shù)據(jù)庫索引(默認(rèn)為0)
spring.redis.database=0 ?
# Redis服務(wù)器地址
spring.redis.host=127.0.0.1
# Redis服務(wù)器連接端口
spring.redis.port=6379 ?
# Redis服務(wù)器連接密碼(默認(rèn)為空)
spring.redis.password=123456
# 連接超時(shí)時(shí)間(毫秒)
spring.redis.timeout=10000
/**
*
*/package com.bskms.controller;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;import org.apache.shiro.SecurityUtils;import org.apache.shiro.subject.Subject;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.transaction.annotation.Transactional;import org.springframework.transaction.interceptor.TransactionAspectSupport;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import com.bskms.bean.Children;import com.bskms.bean.ClaTea;import com.bskms.bean.Classes;import com.bskms.bean.Course;import com.bskms.bean.Notice;import com.bskms.bean.Sign;import com.bskms.bean.User;import com.bskms.bean.UserChildren;import com.bskms.model.TongJi;import com.bskms.service.ClassService;import com.bskms.service.CourseService;import com.bskms.service.NoticeService;import com.bskms.service.SignService;import com.bskms.service.StudentService;import com.bskms.service.UserChildrenService;import com.bskms.service.UserService;import com.bskms.utils.PropertyUtil;/**
* @author samsung
*
*/public class TeacherController {
private StudentService studentService;
private ClassService classService;
private NoticeService noticeService;
private SignService signService;
private UserService userService;
private UserChildrenService userChildrenService;
private CourseService courseService;
public String stu(Model model) {
List<Classes> classes=classService.selectAllClasses();
model.addAttribute("cla", classes); return "ls/stuPage";
} //學(xué)生管理
/**
* Method name: teacherPage <BR>
* Description: 教師管理頁面 <BR>
*
* @return String<BR>
*/
public String teaMG(Model model) {
List<Classes> classes=classService.selectAllClasses();
model.addAttribute("cla", classes); return "ls/student";
} /**
* Method name: getAllStudentByLimit <BR>
* Description: 根據(jù)條件獲取所有教師 <BR>
*
* @param userParameter
* @return Object<BR>
*/
public Object getAllStudentByLimit(Children stuParameter) { return studentService.getAllStudentByLimit(stuParameter);
} /**
* Method name: addStuPage <BR>
* Description: 增加教師界面 <BR>
*
* @return String<BR>
*/
public String addStuPage(Integer id, Model model) {
model.addAttribute("manageStu", id); if (null != id) { Children student = studentService.selectByPrimaryKey(id); //UserChildren userChild = userChildrenService.selectById(id);
model.addAttribute("manageStu", student); //model.addAttribute("manageChild", userChild);
UserChildren uc = userChildrenService.selectByUCId(student.getId());
model.addAttribute("uc", uc);
}
List<Classes> classes=classService.selectAllClasses();
model.addAttribute("cla", classes);
List<User> user=userService.selectAllJiazhang();
model.addAttribute("user", user); return "ls/stuPageAdd";
} /**
* Method name: addStu <BR>
* Description: 教師添加 <BR>
*
* @param user
* @return String<BR>
*/
public String addStu(Children student) { try {
studentService.addStudent(student);
addUserChildren(student); return "SUCCESS";
} catch (Exception e) { return "ERR";
}
} ? ? ? ?public void addUserChildren(Children student) { ? ? ? ? UserChildren userChildern = new UserChildren();
? ? ? ? userChildern.setChildrenId(student.getId());
? ? ? ? userChildern.setUserId(student.getUserId());
? ? ? ? userChildern.setIsFaMa(student.getIsFaMa());
? ? ? ? userChildern.setIsJinji(student.getIsJinji());
? ? ? ? userChildrenService.addUserChildren(userChildern);
? ? ? ?} /**
* Method name: updateStudent <BR>
* Description: 更新教師 <BR>
*
* @param user
* @return String<BR>
*/
public String updateStudent(Children studnet) { UserChildren uc = new UserChildren();
uc.setId(studnet.getUcId());
uc.setChildrenId(studnet.getId());
uc.setIsFaMa(studnet.getIsFaMa());
uc.setIsJinji(studnet.getIsJinji());
uc.setUserId(studnet.getUserId());
userChildrenService.updateUC(uc); return studentService.updateStu(studnet);
} /**
* Method name: delClaTea <BR>
* Description: 批量刪除教師<BR>
*
* @param ids
* @return String<BR>
*/
public String delStudent(String[] ids) { try { for (String id : ids) {
studentService.delStudentById(Integer.parseInt(id));
} return "SUCCESS";
} catch (Exception e) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return "ERROR";
}
} //公告管理
/**
* Method name: gg <BR>
* Description: 教師管理頁面 <BR>
*
* @return String<BR>
*/
public String gg() { return "ls/notice";
} /**
* Method name: getAllNoticeByLimit <BR>
* Description: 根據(jù)條件獲取所有教師 <BR>
*
* @param userParameter
* @return Object<BR>
*/
public Object getAllNoticeByLimit(Notice noticeParameter) { return noticeService.getAllNoticeByLimit(noticeParameter);
} /**
* Method name: addStuPage <BR>
* Description: 增加教師界面 <BR>
*
* @return String<BR>
*/
public String addNoticePage(Integer id, Model model) {
model.addAttribute("manageNotice", id); if (null != id) { Notice notice = noticeService.selectByPrimaryKey(id);
model.addAttribute("manageNotice", notice);
} return "ls/noticeAdd";
} /**
* Method name: addStu <BR>
* Description: 教師添加 <BR>
*
* @param user
* @return String<BR>
*/
public String addNotice(Notice notice) { try {
notice.setCreatTime(new Date());
noticeService.addNotice(notice); return "SUCCESS";
} catch (Exception e) { return "ERR";
}
} /**
* Method name: updateStudent <BR>
* Description: 更新教師 <BR>
*
* @param user
* @return String<BR>
*/
public String updateNotice(Notice notice) { return noticeService.updateStu(notice);
} /**
* Method name: delClaTea <BR>
* Description: 批量刪除教師<BR>
*
* @param ids
* @return String<BR>
*/
public String delNotice(String[] ids) { try { for (String id : ids) {
noticeService.delNoticeById(Integer.parseInt(id));
} return "SUCCESS";
} catch (Exception e) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return "ERROR";
}
} //考勤管理
/**
* Method name: lskq <BR>
* Description: 教師管理頁面 <BR>
*
* @return String<BR>
*/
public String lskq() { return "ls/sign";
} /**
* Method name: getAllSignByLimit <BR>
* Description: 根據(jù)條件獲取所有教師 <BR>
*
* @param userParameter
* @return Object<BR>
*/
public Object getAllSignByLimit(Sign signParameter) { return signService.getAllSignByLimit(signParameter);
} //打卡
public String qianDaoTui() { return "ls/daKa";
} /**
* Method name: addStu <BR>
* Description: 教師添加 <BR>
*
* @param user
* @return String<BR>
*/
public String addSign(Sign sign) { ? ?Subject subject = SecurityUtils.getSubject(); User user = (User) subject.getPrincipal(); try {
Date date=new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a"); String time = formatter.format(date).split(" ")[2]; String time1 = formatter.format(date).split(" ")[1];
String s=PropertyUtil.getConfigureProperties("startTime"); if(time.equals("上午") && time1.compareTo(s)>0) {
sign.setState(1);
}else {
sign.setState(3);
} //如果是家長(zhǎng):則查出其孩子編號(hào)作為簽到人
if(user.getUserState()==2){ UserChildren userChildren = userChildrenService.selectByUserId(user.getUserId());
sign.setKqrId(userChildren.getId().toString());
}else{
sign.setKqrId(user.getUserId());
}
sign.setType(1);
sign.setSignIn(date);
sign.setKqrType(user.getUserState());
signService.addSign(sign); return "SUCCESS";
} catch (Exception e) { return "ERR";
}
} /**
* Method name: addStu <BR>
* Description: 教師添加 <BR>
*
* @param user
* @return String<BR>
*/
public String addQianTui(Sign sign) { ? ?Subject subject = SecurityUtils.getSubject(); User user = (User) subject.getPrincipal(); try {
Date date=new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a"); String time = formatter.format(date).split(" ")[2]; String time1 = formatter.format(date).split(" ")[1];
String s=PropertyUtil.getConfigureProperties("endTime"); if(time.equals("下午") && time1.compareTo(s)<0) {
sign.setState(1);
}else{
sign.setState(2);
}
sign.setType(2);
sign.setSignIn(date);
sign.setKqrId(user.getUserId());
sign.setKqrType(user.getUserState());
signService.addSign(sign); return "SUCCESS";
} catch (Exception e) { return "ERR";
}
} ? ? ? ? ? //學(xué)生考勤
public String xskq() { return "ls/childSign";
} /**
* Method name: getAllSignByLimit <BR>
* Description: 根據(jù)條件獲取所有教師 <BR>
* @param userParameter
* @return Object<BR>
*/
public Object getAllChildSignByLimit(Sign signParameter) { return signService.getAllChildSignByLimit(signParameter);
} //所有老師簽到的總次數(shù)統(tǒng)計(jì)
public String kqtj(Model model) {
List<TongJi> ts = signService.getAllTeacherCount();
List<String> names = new ArrayList<>();
List<Integer> zc = ?new ArrayList<>();
List<Integer> tq = ?new ArrayList<>();
List<Integer> cd = ?new ArrayList<>(); for (TongJi tongJi : ts) {
names.add(tongJi.getUserName());
zc.add(tongJi.getZhengChang());
tq.add(tongJi.getTiQian());
cd.add(tongJi.getChiDao());
}
model.addAttribute("names", names);
model.addAttribute("zc", zc);
model.addAttribute("tq", tq);
model.addAttribute("cd", cd); return "ls/tongJi";
} //所有學(xué)生簽到的總次數(shù)統(tǒng)計(jì)
public String tongJiXueSheng(Model model) {
List<TongJi> ts = signService.getAllChildCount();
List<String> names = new ArrayList<>();
List<Integer> zc = ?new ArrayList<>();
List<Integer> tq = ?new ArrayList<>();
List<Integer> cd = ?new ArrayList<>(); for (TongJi tongJi : ts) {
names.add(tongJi.getUserName());
zc.add(tongJi.getZhengChang());
tq.add(tongJi.getTiQian());
cd.add(tongJi.getChiDao());
}
model.addAttribute("names", names);
model.addAttribute("zc", zc);
model.addAttribute("tq", tq);
model.addAttribute("cd", cd); return "ls/tongJiXueSheng";
}
public String course(Model model) { return "ls/course";
} //課程
public String courseAdd(Model model) {
List<User> users = userService.selectAllTea();
model.addAttribute("users", users);
List<Classes> clas = classService.selectAllClasses();
model.addAttribute("cla", clas); return "ls/courseAdd";
}
public Object getAllCourseByLimit(Course course) { return courseService.getAllCourseByLimit(course);
}
public String addCourse(Course course) {
course.setCreateTime(new Date()); ? ?try {
? ? courseService.addCourse(course); ? ? return "SUCCESS";
} catch (Exception e) { return "ERR";
}
}
public String delCourse(Integer id) { ? ?try {
? ? courseService.delCourse(id); ? ? return "SUCCESS";
} catch (Exception e) { return "ERR";
}
}
}
五,項(xiàng)目總結(jié)
對(duì)于復(fù)雜的信息管理,計(jì)算機(jī)能夠充分發(fā)揮它的優(yōu)越性。計(jì)算機(jī)進(jìn)行信息管理與信息管理系統(tǒng)的開發(fā)密切相關(guān),系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。本系統(tǒng)就是為了管理好幼兒園信息而設(shè)計(jì)的,能使用于不同的中小型幼兒園,能方便、科學(xué)的實(shí)現(xiàn)對(duì)園中事物的管理。
幼兒園的任務(wù)為解除家庭在培養(yǎng)兒童時(shí)所受時(shí)間、空間、環(huán)境的制約,讓幼兒身體、智力和心情得以健康發(fā)展。可以說幼兒園是小朋友的快樂天地,可以幫助孩子健康快樂地度過童年時(shí)光,不僅學(xué)到知識(shí),而且可以從小接觸集體生活。幼兒園教育作為整個(gè)教育體系基礎(chǔ)的基礎(chǔ),是對(duì)兒童進(jìn)行預(yù)備教育(性格完整健康、行為習(xí)慣良好、初步的自然與社會(huì)常識(shí))。早期人工管理的幼兒園出現(xiàn)了不少缺點(diǎn),比如管理中,辦公的效率不高;園中的管理人員在管理園中事物時(shí)容易按照經(jīng)驗(yàn),缺少了數(shù)據(jù)統(tǒng)計(jì),故管理不科學(xué)。越來越多的幼兒數(shù)量的增多,加重了管理員對(duì)幼兒檔案的管理難度;使管理變得比較煩瑣、復(fù)雜,產(chǎn)生的文檔比較多,并且由于手工的操作,使這些文檔無法有效的核對(duì)和管理,在匯總以及分析方面更加困難。現(xiàn)在大多數(shù)幼兒園都裝配有計(jì)算機(jī),但是尚未用于信息管理,沒有發(fā)揮它的效力,資源閑置比較突出,配備的計(jì)算機(jī)屬于閑散資源,這就是管理信息系統(tǒng)開發(fā)的基本環(huán)境。
基于這些問題,我們認(rèn)為有必要建立一套幼兒園管理系統(tǒng),使幼兒園的管理工作規(guī)范化、系統(tǒng)化、程序化,避免幼兒園管理的隨意性、煩瑣性,提高信息處理的速度和準(zhǔn)確性,能夠及時(shí)、準(zhǔn)確、有效的查詢和修改幼兒與教師的情況。