基于B/S模式下的JSP人事管理系统

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

今日思考,完成一个人事管理系统项目,需要实现哪些功能?
此类项目常见描述如下:
人事管理的信息量和信息类型越来越多,工作流程越来越清晰,社会分工越来越细,原来传统上的人工处理方式和单机管理系统越来越来不能适应人事管理的需要,不能满足新形势下企业人事管理的需要。因此,必须有一套应用于网络时代的适应于新需求上的人事管理系统。传统的C/S模式虽然能有效的管理企业人事信息,但是随着社会的网络化,要求B/S模式的新系统的呼声越来越高。B/S模式能在很大程度上方便客户和员工的需求,无论在任何地方,只要能接入Internet,就可以获取企业相关的人事信息。
SSM(MYECLIPSE)框架及其适合本类项目,使用MVC的思想可以极大程度减少重复工作量。和SSM(MYECLIPSE)框架最配的开发工具是MYECLIPSE。MYECLIPSE集成了大量插件,可以更好的使用SSM(MYECLIPSE)进行项目的开发,使得项目开发时事半功倍。
通过对人事管理系统系统的仔细分析,可以得出人事管理系统系统是一个 后台项目。
在这样一个项目中,系统的登录角色是必不可少的,对每个登录角色设置账号、密码。以确保系统可以正常登录使用。SSM(MYECLIPSE)项目中包含的登录角色有管理员、员工。
系统中员工之间存在关联关系,我们将其关联关系保存在工资表中。他们的关联关系是这样的工资的员工与员工的mingzi字段对应、工资的员工id与员工的id字段对应
。为了完成系统的功能需要为部门设置员工表,记录员工信息。在员工表中定义了两者的关联关系,其中员工的部门与部门的mingzi字段对应、员工的部门id与部门的id字段对应

总结得出该系统所有数据为:管理员(admin)、工资(gongzi)、员工(yuangong)、部门(bumen)

管理员表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 管理员id
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码

工资表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 工资id
yuangong | VARCHAR(255) | | 员工
yuangongid | VARCHAR(255) | | 员工id
yuefen | VARCHAR(255) | | 月份
jichugongzi | VARCHAR(255) | | 基础工资
ticheng | VARCHAR(255) | | 提成

员工表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 员工id
mingzi | VARCHAR(255) | | 名字
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码
bumen | VARCHAR(255) | | 部门
bumenid | VARCHAR(255) | | 部门id

部门表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 部门id
mingzi | VARCHAR(255) | | 名字
SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- ----------------------------

-- Table structure for ggrenshiguanli

-- ----------------------------

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_gongzi`;

CREATE TABLE `t_gongzi` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '工资id',`yuangong` VARCHAR(255) DEFAULT NULL COMMENT '员工',`yuangongid` INT(11) DEFAULT NULL COMMENT '员工id',`yuefen` VARCHAR(255) DEFAULT NULL COMMENT '月份',`jichugongzi` VARCHAR(255) DEFAULT NULL COMMENT '基础工资',`ticheng` VARCHAR(255) DEFAULT NULL COMMENT '提成',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_bumen`;

CREATE TABLE `t_bumen` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '部门id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='部门';

添加工资模块:

通过添加工资模块,可以完成工资的添加操作。在页面中跳转到添加工资页面,输入工资的所有信息,点击添加操作,可以将工资数据以post提交到gongziController中。工资所包含的字段信息包括员工,员工id,月份,基础工资,提成。在gongziController中通过定义gongzi接受所有的工资参数。使用gongzidao的insert方法将gongzi实体插入到数据库中。完成数据的添加操作,在gongziMapper中匹配对应的gongzixml完成插入sql语句的执行操作。该部分核心代码如下:

通过gongzidao的insert方法将页面传输的工资添加到数据库中 gongzidao.insert(gongzi);

将添加工资成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加工资成功");

返回工资管理界面

return "forward:/tianjiagongzi.action";

查询工资模块:

在后台gongziguanli方法中,通过selectByexample方法获取所有的数据信息。将其保存到request中,在页面中通过foreach方法

进行循环展示到table中。完成工资查询操作。具体代码如下:

生成工资样例类,通过example定义查询条件 GongziExample example = new GongziExample();

通过gongzidao的selectByExample方法查询出所有的工资信息 List gongziall = gongzidao.selectByExample(example);

将工资信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("gongziall", gongziall);

返回工资管理界面

return "forward:/gongziguanli.action";

修改工资模块:

对已经上传的工资信息可以进行修改操作,该部分操作在工资管理界面中点击修改按钮可以跳转到工资修改页面。在修改页面中,将初始化所有的工资字段信息,字段信息包括员工,员工id,月份,基础工资,提成。字段信息内容通过工资id获取。修改后的信息传入到gongziController中接收为gongzi。在gongziController中包含有提前定义好的gongzidao,该参数为gongziMapper是实现。gongziMapper中定义了修改方法,此处使用修改方法为updateByPrimaryKeySelective,该方法可以将修改后信息同步到数据库中,最终将修改成功信息返回页面中。该部分代码如下:

通过gongzidao的修改方法根据id修改对应的工资 gongzidao.updateByPrimaryKeySelective(gongzi);

将修改工资成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改工资信息成功");

返回工资管理界面

return "forward:/gongziguanli.action";

删除工资模块:

删除工资功能实现在gongziController中,实现方法为shanchugongzi。在页面中通过get方法shanchugongzi.action?Id的形式将需要删除的工资id上传到服务器中,响应对应的方法,调用gongzidao中的deleteByPrimaryKey方法,完成删除操作。将删除成功的提示信息返回到页面中,完成删除数据的操作。该部分核心代码:

通过gongzidao的删除方法根据id删除对应的工资 gongzidao.deleteByPrimaryKey(id);

将删除工资成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除工资成功");

返回工资管理界面

return "forward:/gongziguanli.action";

猜你喜欢

转载自www.cnblogs.com/rt14/p/11598811.html