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

今天将为大家分析一个基于web的财务管理系统(为了解决传统财务管理方式效率低下、容易出错,同时长时间下所积累的财务数据无法保存,查询相关的财务数据不便等问题,文中结合计算机技术,开发了基于Web统。其采用SSH框架完成系统的搭建,并采用JavaEE写系统。实验验证,该系统能够满足设计要求,使得财务管理从传统的手工记账形式转变为数字化管理模式,大幅提升了财务管理人员的工作效率。),该项目使用框架为SSM(MYECLIPSE),选用开发工具为MYECLIPSE。基于web的财务管理系统为一个 后台项目。
为了完成该系统,我们首先需要对该系统进行需求分析。一个基于web的财务管理系统应包含用户角色有管理员。为了能让用户顺利登陆系统完成相关操作,需要为每种登陆角色设置账户和密码字段。

总结得出该系统所有数据为:管理员(admin)、进账(jinzhang)、出账(chuzhang)、采购(caigou)

管理员表

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

进账表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 进账id
jine | VARCHAR(255) | | 金额
shijian | VARCHAR(255) | | 时间
shuoming | VARCHAR(255) | | 说明

出账表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 出账id
jine | VARCHAR(255) | | 金额
shijian | VARCHAR(255) | | 时间
shuoming | VARCHAR(255) | | 说明

采购表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 采购id
wuping | VARCHAR(255) | | 物品
danjia | VARCHAR(255) | | 单价
shuliang | VARCHAR(255) | | 数量
shuoming | VARCHAR(255) | | 说明
zongjia | VARCHAR(255) | | 总价
SET FOREIGN_KEY_CHECKS=0;

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

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

-- Table structure for ggcaiwuguanli

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

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

CREATE TABLE `t_jinzhang` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '进账id',`jine` VARCHAR(255) DEFAULT NULL COMMENT '金额',`shijian` VARCHAR(255) DEFAULT NULL COMMENT '时间',`shuoming` VARCHAR(5000) DEFAULT NULL COMMENT '说明',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='进账';

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

DROP TABLE IF EXISTS `t_chuzhang`;

CREATE TABLE `t_chuzhang` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '出账id',`jine` VARCHAR(255) DEFAULT NULL COMMENT '金额',`shijian` VARCHAR(255) DEFAULT NULL COMMENT '时间',`shuoming` VARCHAR(5000) DEFAULT NULL COMMENT '说明',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='出账';

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

DROP TABLE IF EXISTS `t_caigou`;

CREATE TABLE `t_caigou` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '采购id',`wuping` VARCHAR(255) DEFAULT NULL COMMENT '物品',`danjia` VARCHAR(255) DEFAULT NULL COMMENT '单价',`shuliang` VARCHAR(255) DEFAULT NULL COMMENT '数量',`shuoming` VARCHAR(5000) DEFAULT NULL COMMENT '说明',`zongjia` VARCHAR(255) DEFAULT NULL COMMENT '总价',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='采购';

添加进账模块:

从页面中通过post方法,将进账信息传入到后台服务器中,在tianjiajinzhangact

中接收,字段包括金额,时间,说明使用insert方法添加数据,将数据同步到

数据库中,完成添加操作。定义添加成功提示信息,添加进账成功,并保存到request中具体代码如下:

通过jinzhangdao的insert方法将页面传输的进账添加到数据库中 jinzhangdao.insert(jinzhang);

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

返回进账管理界面

return "forward:/tianjiajinzhang.action";

查询进账模块:

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

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

生成进账样例类,通过example定义查询条件 JinzhangExample example = new JinzhangExample();

通过jinzhangdao的selectByExample方法查询出所有的进账信息 List jinzhangall = jinzhangdao.selectByExample(example);

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

返回进账管理界面

return "forward:/jinzhangguanli.action";

修改进账模块:

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

通过jinzhangdao的修改方法根据id修改对应的进账 jinzhangdao.updateByPrimaryKeySelective(jinzhang);

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

返回进账管理界面

return "forward:/jinzhangguanli.action";

删除进账模块:

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

通过jinzhangdao的删除方法根据id删除对应的进账 jinzhangdao.deleteByPrimaryKey(id);

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

返回进账管理界面

return "forward:/jinzhangguanli.action";

01-22 18:43