今天记录的项目是小型企业办公耗材库存管理软件的设计与实现,这个项目是这么回事:以使小型企业方便高效地对其办公用品的库存进行管理。该系统功能分四大主要模块:库存查询、进货作业、领料申请、库存盘点。。
做这个项目的时候,我们需要用到SSM(MYECLIPSE)框架,开发工具选用最拿手的MYECLIPSE。
小型企业办公耗材库存管理软件的设计与实现项目是一个 后台项目。
开发系统时,需求分析是必不可少的一个环节。小型企业办公耗材库存管理软件的设计与实现拥有的登录角色包括了管理员、用户。
每个账号设置身份、账号、密码是必不可少的,管理员、用户中都包含这些登录角色该有的字段。
总结得出该系统所有数据为:管理员(admin)、用户(yonghu)、库存查询(kucunchaxun)、进货作业(jinhuozuoye)
管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
用户表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 用户id xingming | VARCHAR(255) | | 姓名 zhiwu | VARCHAR(255) | | 职务 nianling | VARCHAR(255) | | 年龄 quanxian | VARCHAR(255) | | 权限 xingbie | VARCHAR(255) | | 性别 username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
库存查询表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 库存查询id shangpinmingcheng | VARCHAR(255) | | 商品名称 shuliang | VARCHAR(255) | | 数量 jiage | VARCHAR(255) | | 价格 guige | VARCHAR(255) | | 规格 zhonglei | VARCHAR(255) | | 种类
进货作业表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 进货作业id huowumingcheng | VARCHAR(255) | | 货物名称 shuliang | VARCHAR(255) | | 数量 jiage | VARCHAR(255) | | 价格 guighe | VARCHAR(255) | | 规格 zhonglei | VARCHAR(255) | | 种类
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggxxqybghckcglrjdsjysx -- ---------------------------- 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_yonghu`; CREATE TABLE `t_yonghu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '用户id',`xingming` VARCHAR(255) DEFAULT NULL COMMENT '姓名',`zhiwu` VARCHAR(255) DEFAULT NULL COMMENT '职务',`nianling` VARCHAR(255) DEFAULT NULL COMMENT '年龄',`quanxian` VARCHAR(255) DEFAULT NULL COMMENT '权限',`xingbie` 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_kucunchaxun`; CREATE TABLE `t_kucunchaxun` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '库存查询id',`shangpinmingcheng` VARCHAR(255) DEFAULT NULL COMMENT '商品名称',`shuliang` VARCHAR(255) DEFAULT NULL COMMENT '数量',`jiage` VARCHAR(255) DEFAULT NULL COMMENT '价格',`guige` VARCHAR(255) DEFAULT NULL COMMENT '规格',`zhonglei` VARCHAR(255) DEFAULT NULL COMMENT '种类',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='库存查询'; -- ---------------------------- DROP TABLE IF EXISTS `t_jinhuozuoye`; CREATE TABLE `t_jinhuozuoye` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '进货作业id',`huowumingcheng` VARCHAR(255) DEFAULT NULL COMMENT '货物名称',`shuliang` VARCHAR(255) DEFAULT NULL COMMENT '数量',`jiage` VARCHAR(255) DEFAULT NULL COMMENT '价格',`guighe` VARCHAR(255) DEFAULT NULL COMMENT '规格',`zhonglei` VARCHAR(255) DEFAULT NULL COMMENT '种类',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='进货作业';
添加进货作业模块:
通过添加进货作业模块,可以完成进货作业的添加操作。在页面中跳转到添加进货作业页面,输入进货作业的所有信息,点击添加操作,可以将进货作业数据以post提交到jinhuozuoyeController中。进货作业所包含的字段信息包括货物名称,数量,价格,规格,种类。在jinhuozuoyeController中通过定义jinhuozuoye接受所有的进货作业参数。使用jinhuozuoyedao的insert方法将jinhuozuoye实体插入到数据库中。完成数据的添加操作,在jinhuozuoyeMapper中匹配对应的jinhuozuoyexml完成插入sql语句的执行操作。该部分核心代码如下:
通过jinhuozuoyedao的insert方法将页面传输的进货作业添加到数据库中 jinhuozuoyedao.insert(jinhuozuoye);
将添加进货作业成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加进货作业成功");
返回进货作业管理界面
return "forward:/tianjiajinhuozuoye.action";
查询进货作业模块:
在浏览器中进入进货作业查询页面时,此时浏览器的地址栏为jinhuozuoyeguanli.action,该地址将响应jinhuozuoyeController类中的jinhuozuoyeguanli,在该方法中,通过selectByexample方法获取所有的进货作业信息,并将该信息保存到request中,在页面进行循环展示。该部分核心代码如下:
生成进货作业样例类,通过example定义查询条件 JinhuozuoyeExample example = new JinhuozuoyeExample();
通过jinhuozuoyedao的selectByExample方法查询出所有的进货作业信息 List jinhuozuoyeall = jinhuozuoyedao.selectByExample(example);
将进货作业信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("jinhuozuoyeall", jinhuozuoyeall);
返回进货作业管理界面
return "forward:/jinhuozuoyeguanli.action";
修改进货作业模块:
在页面填写完修改信息后,点击修改按钮,将数据提交到xiugaijinhuozuoye中,封装为一个进货作业
,使用update方法修改该进货作业信息,将数据同步到数据库,完成修改操作。
定义修改成功提示信息,修改进货作业成功,并保存到request中具体代码如下:
通过jinhuozuoyedao的修改方法根据id修改对应的进货作业 jinhuozuoyedao.updateByPrimaryKeySelective(jinhuozuoye);
将修改进货作业成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改进货作业信息成功");
返回进货作业管理界面
return "forward:/jinhuozuoyeguanli.action";
删除进货作业模块:
删除进货作业功能实现在jinhuozuoyeController中,实现方法为shanchujinhuozuoye。在页面中通过get方法shanchujinhuozuoye.action?Id的形式将需要删除的进货作业id上传到服务器中,响应对应的方法,调用jinhuozuoyedao中的deleteByPrimaryKey方法,完成删除操作。将删除成功的提示信息返回到页面中,完成删除数据的操作。该部分核心代码:
通过jinhuozuoyedao的删除方法根据id删除对应的进货作业 jinhuozuoyedao.deleteByPrimaryKey(id);
将删除进货作业成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除进货作业成功");
返回进货作业管理界面
return "forward:/jinhuozuoyeguanli.action";