每天记录学习,每天会有好心情。*^_^*

最近了解了基于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";

源码下载

01-21 06:07