每天记录学习,每天会有好心情。*^_^*
最近了解了基于web的员工考勤管理系统项目,在这个平台记录一下这个基于web的员工考勤管理系统项目,方便以后再次使用或学习的时候能够及时的翻阅。在完成基于web的员工考勤管理系统项目的时候,考虑了很多框架。最终决定选用SSM(MYECLIPSE),该框架具有极强的移植性,多平台性,便于操作性等优点。此框架能在MYECLIPSE开发工具中完美的编写和运行,基于web的员工考勤管理系统为一个 后台项目。这采用当前非常流行的B/S体系结构,以JSP作为开发技术,主要依赖SSM技术框架,mysql数据库建立本系统。
在对基于web的员工考勤管理系统项目进行需求分析的时候,得出系统的登录角色包括了管理员、经理、员工。对应用户可以通过登录自己的账号,进行入系统。系统对不同角色拥有不同权限。
系统中员工、部门之间具有较强的联系性。他们之间的关系为部门的主管名字与员工的mingzi字段对应、部门的主管id与员工的id字段对应
。在部门表中可以体现出这种关系。系统中部门、员工之间具有较强的联系性。他们之间的关系为员工的部门与部门的mingcheng字段对应、员工的部门id与部门的id字段对应
。在员工表中可以体现出这种关系。系统中员工、部门之间存在关联关系,我们将其关联关系保存在班次表中。他们的关联关系是这样的班次的员工名字与员工的mingzi字段对应、班次的员工id与员工的id字段对应、班次的员工部门与部门的mingcheng字段对应、班次的员工部门id与部门的id字段对应
。请假的存在是为了能更好的结合系统的功能。员工表的联系在这张表中得以体现,其关联关系为请假的员工名字与员工的mingzi字段对应、请假的员工id与员工的id字段对应
。考勤的存在是为了能更好的结合系统的功能。员工表的联系在这张表中得以体现,其关联关系为考勤的员工名字与员工的mingzi字段对应、考勤的员工id与员工的id字段对应
。系统中员工之间存在关联关系,我们将其关联关系保存在加班表中。他们的关联关系是这样的加班的员工名字与员工的mingzi字段对应、加班的员工id与员工的id字段对应
。
总结得出基于web的员工考勤管理系统项目所有数据为:管理员(admin)、经理(jinli)、部门(bumen)、员工(yuangong)、班次(banci)、请假(qingjia)、考勤(kaoqing)、加班(jiaban)
基于web的员工考勤管理系统之管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
基于web的员工考勤管理系统之经理表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 经理id mingzi | VARCHAR(255) | | 经理名字 username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
基于web的员工考勤管理系统之部门表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 部门id mingcheng | VARCHAR(255) | | 部门名称 yuangong | VARCHAR(255) | | 主管名字 yuangongid | VARCHAR(255) | | 主管id
基于web的员工考勤管理系统之员工表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 员工id mingzi | VARCHAR(255) | | 员工名字 username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码 bumen | VARCHAR(255) | | 部门 bumenid | VARCHAR(255) | | 部门id
基于web的员工考勤管理系统之班次表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 班次id yuangong | VARCHAR(255) | | 员工名字 yuangongid | VARCHAR(255) | | 员工id bancishuoming | VARCHAR(255) | | 班次说明 kaishishijian | VARCHAR(255) | | 开始时间 jieshushijian | VARCHAR(255) | | 结束时间 bumen | VARCHAR(255) | | 员工部门 bumenid | VARCHAR(255) | | 员工部门id
基于web的员工考勤管理系统之请假表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 请假id shiyou | VARCHAR(255) | | 请假事由 qingjialeixing | VARCHAR(255) | | 请假类型 kaishishijian | VARCHAR(255) | | 开始时间 jieshushijian | VARCHAR(255) | | 结束时间 zhuangtai | VARCHAR(255) | | 状态 yuangong | VARCHAR(255) | | 员工名字 yuangongid | VARCHAR(255) | | 员工id
基于web的员工考勤管理系统之考勤表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 考勤id yuangong | VARCHAR(255) | | 员工名字 yuangongid | VARCHAR(255) | | 员工id kaoqingleixing | VARCHAR(255) | | 考勤类型 kaoqingshijian | VARCHAR(255) | | 考勤时间
基于web的员工考勤管理系统之加班表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 加班id yuangong | VARCHAR(255) | | 员工名字 yuangongid | VARCHAR(255) | | 员工id kaishishijian | VARCHAR(255) | | 开始时间 jieshushijian | VARCHAR(255) | | 结束时间 zhuangtai | VARCHAR(255) | | 加班状态
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggjywebdygkqglxt -- ---------------------------- DROP TABLE IF EXISTS `t_admin`; CREATE TABLE `t_admin` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '管理员id',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='管理员'; -- ---------------------------- DROP TABLE IF EXISTS `t_jinli`; CREATE TABLE `t_jinli` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '经理id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '经理名字',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='经理'; -- ---------------------------- DROP TABLE IF EXISTS `t_bumen`; CREATE TABLE `t_bumen` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '部门id',`mingcheng` VARCHAR(255) DEFAULT NULL COMMENT '部门名称',`yuangong` VARCHAR(255) DEFAULT NULL COMMENT '主管名字',`yuangongid` INT(11) DEFAULT NULL COMMENT '主管id',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='部门'; -- ---------------------------- DROP TABLE IF EXISTS `t_yuangong`; CREATE TABLE `t_yuangong` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '员工id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '员工名字',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',`bumen` VARCHAR(255) DEFAULT NULL COMMENT '部门',`bumenid` INT(11) DEFAULT NULL COMMENT '部门id',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='员工'; -- ---------------------------- DROP TABLE IF EXISTS `t_banci`; CREATE TABLE `t_banci` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '班次id',`yuangong` VARCHAR(255) DEFAULT NULL COMMENT '员工名字',`yuangongid` INT(11) DEFAULT NULL COMMENT '员工id',`bancishuoming` VARCHAR(255) DEFAULT NULL COMMENT '班次说明',`kaishishijian` VARCHAR(255) DEFAULT NULL COMMENT '开始时间',`jieshushijian` VARCHAR(255) DEFAULT NULL COMMENT '结束时间',`bumen` VARCHAR(255) DEFAULT NULL COMMENT '员工部门',`bumenid` INT(11) DEFAULT NULL COMMENT '员工部门id',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='班次'; -- ---------------------------- DROP TABLE IF EXISTS `t_qingjia`; CREATE TABLE `t_qingjia` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '请假id',`shiyou` VARCHAR(5000) DEFAULT NULL COMMENT '请假事由',`qingjialeixing` VARCHAR(255) DEFAULT NULL COMMENT '请假类型',`kaishishijian` VARCHAR(255) DEFAULT NULL COMMENT '开始时间',`jieshushijian` VARCHAR(255) DEFAULT NULL COMMENT '结束时间',`zhuangtai` VARCHAR(255) DEFAULT NULL COMMENT '状态',`yuangong` VARCHAR(255) DEFAULT NULL COMMENT '员工名字',`yuangongid` INT(11) DEFAULT NULL COMMENT '员工id',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='请假'; -- ---------------------------- DROP TABLE IF EXISTS `t_kaoqing`; CREATE TABLE `t_kaoqing` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '考勤id',`yuangong` VARCHAR(255) DEFAULT NULL COMMENT '员工名字',`yuangongid` INT(11) DEFAULT NULL COMMENT '员工id',`kaoqingleixing` VARCHAR(255) DEFAULT NULL COMMENT '考勤类型',`kaoqingshijian` VARCHAR(255) DEFAULT NULL COMMENT '考勤时间',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='考勤'; -- ---------------------------- DROP TABLE IF EXISTS `t_jiaban`; CREATE TABLE `t_jiaban` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '加班id',`yuangong` VARCHAR(255) DEFAULT NULL COMMENT '员工名字',`yuangongid` INT(11) DEFAULT NULL COMMENT '员工id',`kaishishijian` VARCHAR(255) DEFAULT NULL COMMENT '开始时间',`jieshushijian` VARCHAR(255) DEFAULT NULL COMMENT '结束时间',`zhuangtai` VARCHAR(255) DEFAULT NULL COMMENT '加班状态',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='加班';
添加经理模块:
从页面中通过post方法,将经理信息传入到后台服务器中,在tianjiajinliact
中接收,字段包括经理名字,账号,密码使用insert方法添加数据,将数据同步到
数据库中,完成添加操作。定义添加成功提示信息,添加经理成功,并保存到request中具体代码如下:
通过jinlidao的insert方法将页面传输的经理添加到数据库中 jinlidao.insert(jinli);
将添加经理成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加经理成功");
返回经理管理界面
return "forward:/tianjiajinli.action";
查询经理模块:
在后台中定义经理查询模块,在侧边栏中点击经理管理,可以跳转到经理管理界面。在该页面中通过jinliController中定义jinliguanli响应经理查询模块。在jinliguanli中查询出所有信息,返回页面进行循环展示。查询方法为jinlidao中的selectByexample方法。该部分核心代码如下:
生成经理样例类,通过example定义查询条件 JinliExample example = new JinliExample();
通过jinlidao的selectByExample方法查询出所有的经理信息 List jinliall = jinlidao.selectByExample(example);
将经理信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("jinliall", jinliall);
返回经理管理界面
return "forward:/jinliguanli.action";
修改经理模块:
点击修改按钮,可以跳转到经理修改页面。在经理修改页面中,将初始化该经理的所有信息,并将信息一一对应填充到对应编辑栏中。编辑完经理信息后,页面通过post方法将数据封装为一个经理实体,传入到jinliController中。在xiugaijinli中进行接收,接收完毕后,调用jinliMapper中的updateByPrimaryKeySelective方法进行修改。该部分代码如下:
通过jinlidao的修改方法根据id修改对应的经理 jinlidao.updateByPrimaryKeySelective(jinli);
将修改经理成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改经理信息成功");
返回经理管理界面
return "forward:/jinliguanli.action";
删除经理模块:
删除经理功能实现在jinliController中,实现方法为shanchujinli。在页面中通过get方法shanchujinli.action?Id的形式将需要删除的经理id上传到服务器中,响应对应的方法,调用jinlidao中的deleteByPrimaryKey方法,完成删除操作。将删除成功的提示信息返回到页面中,完成删除数据的操作。该部分核心代码:
通过jinlidao的删除方法根据id删除对应的经理 jinlidao.deleteByPrimaryKey(id);
将删除经理成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除经理成功");
返回经理管理界面
return "forward:/jinliguanli.action";