库存管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护,以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库,而对于后者则要求应用程序功能完备、易使用等特点。经过分析,我们使用Microsoft公司的VisualBasic6.0开发工具,数据库选用SQL Server2000,利用其提供的各种面向对象的开发工具和数据库的结合比较方便,我们开发了这套库存管理系统,包括仓库管理、入库管理、出库管理、库存管理以及查询等模块。仓库管理可用于配置企业的仓库信息;出库、入库管理可以使管理人员管理各种类型的货物进出;库存管理可提供便捷的库存查询管理。库存管理系统实现了企业对物流的管理,用来控制存储物料的数量,以保证稳定的物流支持正常的生产,但又最小限度地占用资本。它是一种相关的、动态的及真实的库存控制系统。它能够结合、满足相关部门的需求,随时间变化动态地调整库存,精确地反映库存现状,加强库存环节管理,有效地控制物料收发,降低了库存,优化了库存结构;能够及时了解物料状态,全方位的仓库管理可以及时了解物料分布,避免了物料短缺、积压、过期变质,及时了解物料的收发成本,物料数据共享。同时,用户还可以方便地得到整理后的各种报表,包括仓库信息的报表、入库清单、出库清单和库存信息报表。该项目使用框架为SSM(MYECLIPSE),选用开发工具为MYECLIPSE。库存管理系统为一个 后台项目。
为了完成该系统,我们首先需要对该系统进行需求分析。一个库存管理系统应包含用户角色有管理员、用户。为了能让用户顺利登陆系统完成相关操作,需要为每种登陆角色设置账户和密码字段。
为了完成系统的功能需要为名字设置出库表,记录出库信息。在出库表中定义了两者的关联关系,其中出库的名字与名字的id字段对应、出库的名字与名字的mingzi字段对应。
总结得出该系统所有数据为:管理员(admin)、名字(mingzi)、用户(yonghu)、出库(chuku)、入库(ruku)
管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
名字表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 名字id shuliang | VARCHAR(255) | | 数量 jiage | VARCHAR(255) | | 价格 mingzi | VARCHAR(255) | | 名字
用户表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 用户id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码 xingming | VARCHAR(255) | | 姓名
出库表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 出库id mingzi | VARCHAR(255) | | 名字 shuliang | VARCHAR(255) | | 数量 mingzi | VARCHAR(255) | | 名字
入库表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 入库id mingzi | VARCHAR(255) | | 名字 shuliang | VARCHAR(255) | | 数量 jiage | VARCHAR(255) | | 价格 leixing | VARCHAR(255) | | 类型
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggccglxitong -- ---------------------------- 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_mingzi`; CREATE TABLE `t_mingzi` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '名字id',`shuliang` VARCHAR(255) DEFAULT NULL COMMENT '数量',`jiage` VARCHAR(255) DEFAULT NULL COMMENT '价格',`mingzi` 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',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',`xingming` VARCHAR(255) DEFAULT NULL COMMENT '姓名',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用户'; -- ---------------------------- DROP TABLE IF EXISTS `t_chuku`; CREATE TABLE `t_chuku` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '出库id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`shuliang` VARCHAR(255) DEFAULT NULL COMMENT '数量',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='出库'; -- ---------------------------- DROP TABLE IF EXISTS `t_ruku`; CREATE TABLE `t_ruku` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '入库id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`shuliang` VARCHAR(255) DEFAULT NULL COMMENT '数量',`jiage` VARCHAR(255) DEFAULT NULL COMMENT '价格',`leixing` VARCHAR(255) DEFAULT NULL COMMENT '类型',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='入库';
添加出库模块:
在chukuController中定义tianjiachukuact接收页面传入的出库参数,定义为chuku。其中chuku包含字段:名字,数量,名字,使用tianjiachukuact将该出库对象存入数据库中,在chukuMapper中定义了insert方法,匹配数据库中的insert into chuku语句实现将出库数据存入数据库的操作。该部分核心代码如下:
通过chukudao的insert方法将页面传输的出库添加到数据库中 chukudao.insert(chuku);
将添加出库成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加出库成功");
返回出库管理界面
return "forward:/tianjiachuku.action";
删除出库模块:
删除出库功能的实现方式为,通过点击删除出库按钮,向服务器发起get请求。请求中包含出库的id信息,在chukuController中使用int接受该id,并将该id传入chukudao的deleteByPrimaryKey方法中。该方法的作用为根据id删除对应出库。最后将删除出库成功的信息返回页面,该部分核心代码如下:
通过chukudao的删除方法根据id删除对应的出库 chukudao.deleteByPrimaryKey(id);
将删除出库成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除出库成功");
返回出库管理界面
return "forward:/chukuguanli.action";