资源描述
目 录
摘 要 2
第一章 序言 3
1.1 仓库管理系统背景和意义 3
1.2系统可行性研究 4
第二章 系统分析和设计 5
2.1相关技术介绍 5
2.1.1 J2EE相关原理及技术介绍 5
2.1.2 Servlet 5
2.1.3 JSP介绍 6
2.1.4 J2EE介绍 6
2.1.5 EJB 6
2.1.6 Struts 7
2.1.7 Hibernate 9
2.2系统分析 9
2.2.1系统需求分析 9
2.2.2系统功效设置 10
第三章 数据库设计 12
3.1 E - R图 13
3.2数据表 14
第四章 系统界面和功效实现 18
4.1入库模块实现 18
4.2出库模块实现 20
4.3盘点模块实现 22
4.4计量单位设置模块实现 23
4.5货物存放信息查询模块实现 25
第五章 总结 27
参考文件 27
致谢 27
仓库管理系统
摘 要
伴随经济不停繁荣和加入WTO后市场环境改变,对企业生产经营提出了更高要求,企业必需综合利用多种优异制造技术,在网络和信息技术支持下,改善现在生产经营模式和组织结构,才能在市场竞争中赢得更多份额。伴随企业规模扩大,仓库管理系统将发挥越来越关键作用。
本文所设计仓库管理系统以标准仓库管理模式为蓝本,基于JSP开发出一个能够用于通常单位仓库管理系统,实现了仓库管理高效性和安全性。系统关键提供一个仓库业务及其作业管理信息存放和检索系统。经过入库管理、出库管理、仓库人员管理等功效模块来实现仓库综合管理。
关键词:仓库管理系统, JSP, 模块化设计,货物登记
第一章 序言
本论文以标准仓库管理模式为蓝本,依据软件工程理论,开发出基于JSP适适用于中小单位仓库管理系统。
论文首先研究了系统开发可行性,然后进行了需求分析,然后依据需求分析采取了结构化分析方法进行了系统分析设计,并进行了数据库建模工作,依据模型构建了数据库。后台数据库采取MYSQL完成。基于开放开发架构JSP实现了系统登录模块、主窗口模块、仓库人员管理模块、入库模块、出库模块等。最终对全文进行了总结,对以后工作提出了展望。
1.1 仓库管理系统背景和意义
物流是有形物品从出发点到最终消费点流动存放活动,具体包含运输、保管、包装、装卸、搬运、流通加工及信息处理,从职能上能够分为:供给物流、生成物流、销售物流、回收物流和废弃物流五个职能。
从70年代开始,计算机技术开始应用到物流领域。伴随物流市场和物流信息化发展,物流软件市场也应运而生并快速发展起来,中国外出现了一大批物流软件供给商和物流软件。“物流软件作为管理软件,较其它应用软件展现优异性、高效性、可靠性和安全性等特点;较其它管理软件,如ERP(Enterprise Resource Planning),含有以下特点:实施风险小,实施快速;效益显著、见效快。
依据物流软件结构分类,就现在物流软件所使用应用范围来说,物流软件包含以下多个子系统:WMS(Warehouse Management System,仓库管理系统)、TMS(Transportation Management System,运输管理系统)。OMS(Order Management System,定单管理系统)、SMS(Service Management System,服务管理系统)。其中,WMS关键提供了一整套仓库业务和作业管理系统。经过仓库管理系统能够实现库位分配自动化和智能化;提升仓库作业效率和速度,提供正确库存信息,并使之和实际库存改变同时。
依据中国物流和采购联合会统计,,中国和物流相关年总支出为19000亿元人民币,物流成本占GDP比重为20%左右。中国企业物流支出成本约占总成本30%,而国外企业物流支出成本仅为7%。物流成本巨大差距,抵消了中国企业在原材料和人工上成本优势,降低了中国企业竞争力。中国很多企业,因为信息统计、搜集、汇总、处理分析还处于比较低水平,统计中信息分散、格式随意、应用单一,搜集中不立即、不全方面、不完善、保留不科学,汇总时口径不一、专题多元、结果不一,处理分析方法落后、效率低下、只有短期,难以支持趋势等。
伴随企业规模扩大,管理信息系统也发挥越来越关键作用。作为企业管理信息系统关键组成部分仓库管理系统应用给企业带来巨大效益。采取仓库管理系统将使企业改变其传统手工统计模式,应用数据库技术使海量数据存放和处理成为很方便事情,这么可大幅缩短关键业务步骤处理时间,提升对市场响应能力。
仓库管理系统是经过入库业务、出库业务、库存调拨、库存调整,结合批次管理、物料对应、库存盘点、质检管理、实时库存管理等功效综合利用管理系统,对库存业务物流和成本管理全过程进行有效控制和跟踪,实现完善企业仓库信息管理。仓库管理系统投入,将使仓库管理愈加正规化,为产品出入库管理部门和销售部门提供了方便,降低了仓库损耗。企业能够对售出产品进行跟踪服务,同时也免去了销售人员按以往通例亲自前往用户处去核实货物情况麻烦,提升了办事效率,节省了费用,而且还避免了无须要业务纠纷,维护了企业长久和用户建立良好信誉。
1.2系统可行性研究
1.技术可行性
依据用户提出系统功效、性能及实现系统各项约束条件,依据新系统目标来衡量所需技术是否含有,本系统是一个数据库管理和查询系统,现有技术以较为成熟,硬件、软件性能要求、环境条件等各项条件良好,估量利用现有技术条件应完全能够达成该系统功效目标。同时考虑给开发期限也较为充裕,估计系统是能够在要求期限内完成开发。
本系统基于JavaEE架构,采取了较为成熟开发模式。前端用Struts1.2,业务逻辑采取EJB3.0 无状态会话Bean,持久映像层采取hibernate 1.3模式,应用服务器使用了使用最广泛BEA Weblogic Server。
2.经济可行性
估算新系统成本效益分析,其中包含估量项目开发成本,开发费用和以后运行、维护费用,估量新系统将取得效益,估算开发成本是否回高于项目预期全部经费。而且,分析系统开发是否会对其它产品或利润带来一定影响。
(1)支出:
基础投资:
硬件设备:PC机
软件设备:WINDOWS 、BEA Weblogic Server 10
其它一次性支出:软件设计和开发费用
常常性支出:软件维护费用、软件使用费用。
(2)效益:
系统效益能够从经济效益和社会效益两方面考虑。对于仓库管理系统则应着重分析其社会效益。比如,系统投入运行后能够使仓库管理实现科学化、规范化。曾强了工作人员对仓库管理能力、提升了工作效率。
3.运行可行性
新系统研制和开发是充足得考虑工作人员对仓库易于管理,管理者方便查询设备信息效率。从而能完全满足使用者要求。
4.法律可行性
新系统研制和开发,将不会侵犯她人、集体和国家利益,不会违反国家政策和法律。
第二章 系统分析和设计
在设计软件系统之前,首先必需确定用户到底要求软件系统完成什么任务,所以分析阶段基础任务是了解用户需求,并将用户需求用书面形式表示出来。这个阶段还不是确定系统怎样完成它工作,而仅仅是确定系统必需完成哪些工作,也就是对目标系统提出完整、正确、清楚、具体要求。系统分析结果是系统开发基础,关系到工程成败和软件产品质量。在全方面客观系统分析基础上,依据用户提出系统功效进行对应功效设计。
2.1相关技术介绍
2.1.1 J2EE相关原理及技术介绍
J2EE规范定义了一个完善应用组件技术框架,作为企业级应用系统基础结构模块组件就是建立在这个框架之上。从简单Web应用到复杂分布式企业级应用,几乎全部业务应用,全部能够在此技术框架基础上结构。本文中使用组件技术关键有三种类型:JSP、servlet和Enterprise JavaBean。
2.1.2 Servlet
Servlet是部分用来扩展Web服务器功效Web组件,它基于请求/响应机制。Servlet从用户端(比如Web浏览器)取得请求,然后,将响应结果返回用户端。Servlet这种特点使它很适合于Web应用。Servlet和EJB组件区分在于EJB组件所提供服务器端组件特征并不能全部适适用于Servlet,Servlet更适合于处理简单请求/响应任务,而且它不需要应用服务器所提供复杂服务支持。
2.1.3 JSP介绍
JSP(Java Server Pages)是由Sun Microsystems 企业提倡、很多企业参与一起建立一个动态网页技术标准,JSP技术在Servlet技术基础上发展起来,它正在飞速发展中,现已成为Java服务器编程关键组成部分。它即使还未成型,不过它必将和J2EE(Java 2 Enterprise Edition)一起发展。
JSP是结合markup(HTML和XML)和Java代码来处理一个动态页面。每一页第一次被调用时,经过JSP引擎自动被编译成Servlet,然后被实施,以后每次调用时,实施编译过Servlet。JSP提供了多个方法访问Java class、Servlet、Applets和Web Server,所以,Web应用功效能够分成多个明确定义公用接口组件,经过JSP将它们结合在一起。
2.1.4 J2EE介绍
企业级多层应用系统开发一直面临着重大挑战。开发商和广大程序员一直在努力推进和殷切期待一个成熟、标准企业级应用平台来简化和规范企业级应用系统开发和布署。Java技术出现,尤其是J2EE(Java2 Platform Enterprise Edition)平台推出正是这种努力结果,也使得企业级应用系统开发由此变得愈加紧速和方便。需要指出是,J2EE本身是一个标准,它为不一样厂商创建平台产品提供了标准,使不一样J2EE平台产品之间交互成为可能。
SUN及其合作方将J2EE 1.5更名为Java EE 5,不过其架构跟更名前J2EE没有区分。只是经过增强部分技术使得我们愈加快、更轻易、更简单地开发企业应用程序。
2.1.5 EJB
EJB(Enterprise JavaBeans)是J2EE平台关键,也是J2EE得到业界广泛关注和支持关键原因。我们知道,J2EE一个关键目标就是简化企业级多层应用系统开发,使得程序员将关键精力放在业务逻辑开发上。EJB正是基于这种思想服务器端技术,它本身也是一个规范,该规范定义了一个可重用组件框架来实现分布式、面向对象业务逻辑。EJB关键思想是将业务逻辑和底层系统逻辑分开,使开发者只需关心业务逻辑,而由EJB容器实现目录服务、事务处理、持久性、安全性等底层系统逻辑。
依据功效不一样,规范中定义了三种Enterprise JvavaBean:会话Bean(Session Bean)、实体Bean(Entity Bean)和消息驱动Bean(Message-Driven Bean)。
会话Bean分为无状态和有状态两种。通常无状态会话Bean模拟商业逻辑,比如计算价格等。有状态会话Bean通常模拟一个用户会话,它会临时保留用户信息,依据用户要求调用其它Bean来存取数据。两种会话Bean全部不保留状态信息或数据,当用户断开连接或服务器关闭时,会话Bean也就随之消失。一个会话Bean经典例子是网站上购物车。
实体Bean模拟业务数据,它表示一个数据存放,能够是状态信息或数据库中一条统计。实体Bean在用户断开连接或服务器关闭后,仍有服务确保其数据得以保留。
消息驱动Bean在行为上很象会话Bean。不一样就是仅在需要向这些Bean发送消息时才调用消息驱动Bean,比如在需要时候发送用户确定信息等。
2.1.6 Struts
1.STRUTS发展
下图是Struts工作步骤,全部请求全部提交给ActionServlet来处理。
图2-1 Struts 工作步骤图
Struts框架工具是Apache基金会Jakarta项目中推出一个子项目。Struts在英文中是支架、支撑意思,这也表现出Struts在开发Web应用程序过程所起到关键作用,Struts为Web应用提供了通用框架,让开发人员能够把关键精力集中在怎样处理实际业务问题上,和此同时Struts框架也许可开发人员依据实际需要进行扩展和定制,从而能够愈加好适应用户需求。采取 Struts 能够简化遵照MVC设计模式Web应用开发工作,很好地实现代码重用,使开发人员从部分繁琐工作中解脱出来,快速开发能够充足发挥 JSP/Servlet优点、并含有强可扩展性Web应用。总而言之,Struts出现使得Web应用开发过程大大简化,从而能够缩短开发周期、提升开发效率。
Struts架构一经推出,即受到Java开发群体广泛重视,从 年开始逐步升温,并日渐成为Java创建Web应用开发最流行框架工具,在现在Java Web程序员招聘要求中,几乎全部提出了对Struts要求,精通Struts 架构已经成为Java Web程序员必备技能
2.MVC介绍
模型-视图-控制器(MVC)是80年代Smalltalk-80出现一个软件设计模式,现在已经被广泛使用。
A.模型(Model)
模型是应用程序主体部分。模型表示业务数据,或业务逻辑。
b.视图(View)
视图是应用程序中用户界面相关部分,是用户看到并和之交互界面。
c.控制器(controller)
控制器工作就是依据用户输入,控制用户界面数据显示和更新model对象状态。
2.1.7 Hibernate
Hibernate是一个开放源代码对象关系映射框架,它对JDBC进行了很轻量级对象封装,使得Java程序员能够随心所欲使用对象编程思维来操纵数据库。Hibernate能够应用在任何使用JDBC场所,既能够在Java用户端程序使用,也能够在Servlet/JSPWeb应用中使用,最具革命意义是,Hibernate能够在应用EJBJ2EE架构中替换CMP,完成数据持久化重担。
Hibernate关键接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个关键接口在任何开发中全部会用到。经过这些接口,不仅能够对持久化对象进行存取,还能够进行事务控制。
2.2系统分析
2.2.1系统需求分析
1.货物入库和出库管理
仓库是用来存放货物,货物进入仓库要进行登记统计,货物从仓库出库也要进行登记统计,这是仓库管理关键内容。货物进入仓库,从入库申请人员向实施货物入库仓库保管员提交货物开始。
入库申请人向仓库管理员提交货物和入库申请单,入库申请单统计此次入库货物名称、数量、提交货物单位、实施提交货物人员和货物注意事项等信息。库管依据送货人员提供入库申请单对待入库货物进行检验。若待入库货物和入库申请单信息一致,则许可入库;若不一致,则严禁入库,请提交货物单位重新出具入库申请单。对许可入库货物,实施库管要对货物信息进行登记,这些信息包含入库货物名称、入库数量、入库时间、送货入库人员信息、实施货物入库实施人。进行登记后,将货物存入仓库。货物存入仓库后,实施入库操作库管给提出入库申请入库人员开具入库单,入库步骤结束。
货物从仓库中出库,是从需求货物出库单位出库人员向实施出库操作库管提交出库申请开始。
首先,出库人员向库管提交出库申请单。出库申请统计申请出库货物名称、申请出库数量、申请出库单位、实施出库申请人员等信息。实施出库库管首先对出库单真伪进行检验。对有效出库单,依据其要求出库货物名称查找仓库库存货物信息和此货物库存数量。假如有此货物,而且其库存数量满足出库申请单数量,则实施出库操作库管保留出库申请单并进行出库登记。在出库登记中,实施库管要统计出库货物名称、出库数量、出库后剩下数量、出库时间、货物去向、出库仓库、实施出库库管名称等信息。进行出库登记后,将货物出库。出库结束后,实施库管给提出出库申请出库人员开具出库单,出库步骤结束。
2.出库入库统计查询
仓库管理人员要对仓库存放货物信息、入库统计和出库统计等立即掌握,这么才能立即了解仓库运行现实状况,才有可能会使仓库处于良好运行状态。所以,通常仓库管理过程中要能提供仓库入库、出库统计查询功效,供管理人员使用,所以,对入库、出库统计查询是仓库管理系统关键功效之一。
3.货物信息管理
仓库要存放货物,相关这些货物本身信息,对货物正常存放是很关键,比如,哪些货物需要防潮,哪些货物需要轻搬轻放等,所以,对货物本身信息登记、管理是仓库管理关键内容。
4.其它信息管理
除了以上提到部分功效外,仓库管理系统还应该能对部分其它信息进行管理。比如,对每个仓库来说,全部有部分存放位置用来存放货物,仓库管理过程中包含对这些存放位置进行管理;每个仓库全部有部分仓库管理员,对这些仓库管理员管理也是仓库管理系统功效之一。
2.2.2系统功效设置
2依据仓库管理系统需求,划分了系统功效模块,图3-1所表示:
仓库管理
基础数据
库存管理
职员管理
货物管理
编码设置
添加用户
查询用户
删除用户
货物信息录入
货物信息查询
货物信息盘点
仓库设置
操作类型设置
部门设置
计量单位设置
早期设置
入库操作
盘点信息录入
移库操作
出库操作
图2-2 系统功效概述图
1.入库功效模块
入库功效关键是实现登记入库统计功效。这些信息应包含入库类型、产品名称、入库数量和入库时间信息、实施入库操作操作员信息和货物存放仓库信息等。入库登记功效产生货物入库统计,为以后进行入库货物查询和出库操作产生操作数据,供管理人员掌握仓库内存放货物情况。图3-2所表示
产品入库管理
入库时间
入库数量
产品名称
入库类型
图 2-3 入库功效模块图
2.出库功效模块
出库功效关键是实现登记出库货物信息功效。这些出库统计包含出库申请单据信息、出库数量和出库时间信息、实施出库操作库管信息和货物剩下信息等。出库功效依据入库登记功效产生入库统计产生货物出库统计,将出库统计存入系统,为以后出库统计查询和掌握仓库货物存放情况作基础。图2-4所表示
产品出库管理
出库时间
出库数量
产品名称
出库类型
序号
图2-4 出库功效模块图
3.盘点功效模块
此模块经过定时对仓库信息做清点,有效了解了货物流通情况和仓库货物损耗情况。方便对货物信息管理。图2-5所表示
产品出库管理
序号
产品名称
产品类型
产品规格
计算单位
产品用户
产品警戒线
库存量
盘点日期
图2-5 盘点功效模块图
4.计量单位设置模块
当新增加计量单位时,在这里输入即可将新增计量单位信息保留到数据库。图2-6所表示
产品类型
计算单位管理
产品类别管理
用户管理
产品管理
图2-6计量单位设置模块图
5 货物存放信息查询模块
用于查询货物存放表里信息,即在入出库后对应操作部分展示。。图-6所表示。
产品类别管理
盘点日期
产品用户
产品规格
产品类型
图2-7 货物存放信息查询模块图
第三章 数据库设计
数据库是一个存放数据并对数据进行操作工具。数据库作用在于组织和表示信息,即数据库就是相关信息集合。本章从E-R模型分析设计为切入点,关键介绍了数据库设计。
3.1 E - R图
数量
货物存放
仓库
仓库编号
仓库名
仓库地
责任人
货物种类
货物编号
货物规格
货物名称
仓库编号
货物单价
最高进价
货物简称
最低售价
货物信息
建档人
货物重量
更改人
货物体积
更改时间
计算单位
盘点周期
对应供给商
最低库存量
目前时间
安全库存
上次盘点时间
最高库存量
图3-1 仓库、货物E-R图
盘点日期
盘点人
盘点单号
盘点
调整数量
盘点日期
实际数量
账面数量
盘点明细
货物信息
安全库存
最低库存量
上次盘点时间
当期数量
盘点周期
货更改日期
更改人
货物体积
建档人
货物种类
最低售价
最高进价
仓库编号
货物简称
货物单价
货物规格
货物种类
货物编号
最高库存量
货物重量
对应供给商
实际存库量
合理存库量
存库原因
确定人
制单人
仓库编号
图3-2 货物、盘点E-R
3.2数据表
(1) 仓库表(WH)
仓库表关键有仓库编号,仓库名,仓库责任人,仓库地址。
表3-1 仓库表
列名
数据类型
长度
许可空
默认值
说明
whID
char
4
仓库编号
Name
varchar
20
仓库名
whPerson
varchar
10
责任人
whAddr
varchar
100
仓库地址
(2) 货物信息表 (GDMESS)
货物信息表关键有货物编号,货物名称,货物简称,货物种类,货物规格型号,货物单价,单位重量,单位体积,计量单位,默认供给商,最低库存量,最高库存量,安全库存,仓库编号,最高进价,最低售价,建档人,更改人,更改时间,目前数量,上次盘点时间。
表3-2 货物信息表
列名
数据类型
长度
许可空
默认值
说明
goodsID
char
8
货物编号
goodsName
varchar
30
货物名称
shortName
varchar
20
NULL
货物简称
goodsClass
varchar
10
货物种类
goodsStd
varchar
20
货物规格型号
Price
double
8
货物单价
Weight
double
8
NULL
单位重量
Volume
double
8
NULL
单位体积
unitID
char
8
计量单位
Vendor
varchar
20
默任供给商
lowQuantity
int
8
最低库存量
highQuantity
int
8
最高库存量
safeQuantity
int
8
安全库存
whID
char
8
仓库编号
highPrice
double
8
最高进价
lowPrice
double
8
最低售价
Builder
varchar
10
建档人
modiPerson
varchar
10
NULL
更改人
modiTime
datetime
8
NULL
更改时间
nowQuantity
int
8
目前数量
lastCleckTime
datetime
8
NULL
上次盘点时间
(3) 货物存放表(GDST)
货物储存表关键有货物编号,仓库编号及其数量
表 3-3 货物储存表
列名
数据类型
长度
许可空
默认值
说明
goodsID
char
8
货物编号
whID
cahr
8
仓库编号
Quantity
int
8
数量
(4) 操作类型表(OPST)
操作类型表关键有操作类型编码,操作类型名称
表 3.4 操作类型表
列名
数据类型
长度
许可空
默认值
说明
opeTypeID
char
8
操作类型编码
opeTypeNa
varchar
20
操作类型名称
(5) 库存统计主表(MSTOCK)
库存统计主表关键有单据号,操作类型单据类型,仓库编号,所属部门,员工,时间,供给商,用户,累计金额,订货单号,收货单号,发票号,发货单号,备注。
表 3.5 库存统计主表
列名
数据类型
长度
许可空
默认值
说明
Code
char
8
单据号
opeTypeID
char
8
操作类型
vouchType
char
8
单据类型
whID
char
8
仓库编号
Depart
char
20
所属部门
Clerk
varchar
20
NULL
员工
Operator
varchar
20
操作员
opTime
datetime
8
时间
Vendor
varchar
20
NULL
供给商
Customer
varchar
20
NULL
用户
Summ
double
10
累计金额
orderCode
Char
8
NULL
定货单号
receiveCode
Char
8
NULL
收货单号
invoiceCode
Char
8
发票号
dispatchCode
Char
8
NULL
发货单号
Memo
varchar
100
NULL
备注
(6) 库存统计明细表(STOCK)
库存统计明细表关键有单据号,货物编号,计量单位,货物单价,货物数量。
表 3.6 库存明细表
列名
数据类型
长度
许可空
默认值
说明
Code
Char
8
单据号
goodsID
Char
8
货物编号
Unit
Char
8
计量单位
Price
double
8
货物单价
Quantity
Int
8
货物数量
(7) 盘点表(MCHECK)
盘点表关键有盘点单号,盘点日期,盘点人,仓库编号,同意人,制单人。
表 3.7 盘点表
列名
数据类型
长度
许可空
默认值
说明
CVCode
char
8
盘点单号
CheckDate
datetime
8
盘点日期
checkPerson
varchar
20
盘点人
whID
char
8
仓库编号
Opprover
varchar
20
同意人
Maker
varchar
20
制单人
(8) 盘点明细表(CHECKVOUCHS)
盘点明细表关键有盘点单号,货物编号,账面数量,实际数量,盘点日期,调整数量,实际损耗率,合理损耗率,损耗原因。
表 3.8 盘点明细表
列名
数据类型
长度
许可空
默认值
说明
CVCode
char
8
盘点单号
goodsID
char
8
货物编号
bookQuantity
Int
8
帐面数量
actQuantity
Int
8
实际数量
checkDate
datetime
8
盘点日期
adjQuantity
Int
8
调整数量
actualWaste
double
8
实际损耗率
allowWaste
double
8
合理损耗率
Reason
varchar
100
NULL
损耗原因
(9) 计量单位表(UNIT)
计量单位表关键有计量单位编号,计量单位名称。
表 3.9 计量单位表
列名
数量类型
长度
许可空
默认值
说明
unitID
Char
8
计量单位编号
unitName
Varchar
8
计量单位名称
(10) 部门表(DEPT)
部门表关键有部门编号,部门名称,总人数。
表 3.10 部门表
列名
数量类型
长度
许可空
默认值
说明
deptCode
Char
8
部门编号
deptName
Varchar
20
部门名称
Depac
Int
8
NULL
总人数
(11) 职员表(EMP)
职员表关键有职员号,职员姓名,性别密码,联络方法,备注
表 3.11 职员表
列名
数量类型
长度
许可空
默认值
说明
empCode
Char
8
职员号
empName
Varchar
20
职员姓名
empSex
Char
2
NULL
性别
Password
Varchar
20
‘123’
密码
empTel
Varchar
15
联络方法
Memo
Varchar
100
NULL
备注
(12) 移库表(MOVESTOCK)
移库表关键有统计号,货物编号,源仓库,目标仓库,计量单位,数量,移库时间,操作员。
表 3.12 移库表
列名
数量类型
长度
许可空
默认值
说明
autoid
Int
8
统计号
goodesid
varchar
20
货物编号
source
Char
20
源仓库
target
Char
20
目标仓库
unit
Char
20
计量单位
quantity
Int
8
数量
opDate
datetime
8
NULL
移库时间
operator
varchar
20
NULL
操作员
第四章 系统界面和功效实现
4.1入库模块实现
当某种已经有物品进货后,就需要在此输入库存统计信息,并同时输入对应货物入库信息,并加入到库存中,为以后进行入库货物查询和出库操作产生操作数据,供管理人员掌握仓库内存放货物情况。界面图5-1所表示。
。
图 4-1入库模块
关键代码:
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=gb2312");
request.setCharacterEncoding("gb2312");
String mark = request.getParameter("mark");
String id = request.getParameter("id");
String name = request.getParameter("name");
String str = "";
String sql = "";
InsertUpdateDelBean ib = new InsertUpdateDelBean();
//入库
if(mark != null && mark.equals("add")){
str = "/admin/entrytype_list.jsp";
sql = "insert into entrytype(name) values('"+name+"')";
int flag = ib.insertANDupdateANDdel(sql);
if(flag == -1){
str = "/admin/entrytype.jsp";
request.setAttribute("message", "入库类型名称反复!");
}else{
request.setAttribute("message", "操作成功!");
}
}
if(mark != null && mark.equals("update")){
str = "/admin/entrytype.jsp?mark="+mark+"&id="+id;
sql = "update entrytype set name='"+name+"' where id="+id;
int flag = ib.insertANDupdateANDdel(sql);
if(flag == -1){
request.setAttribute("message", "入库类型名称反复!");
}else{
request.setAttribute("message", "操作成功!");
}
}
RequestDispatcher rd=request.getRequestDispatcher(str);
rd.forward(request,response);
}
4.2出库模块实现
当库存中某种需要出库时候,就需要在此输入库存统计信息,并同时输入对应货物出库信息,并保留到对应数据表中。为以后出库统计查询和掌握仓库货物存放情况作基础。界面图
4-2所表示
图 4-2产品出库
关键代码:
public class GetouttypeServlet extends HttpServlet {
public GetouttypeServlet() {
super();
}
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
Public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
Public void doPost(HttpServletRequest request, HttpServletResponse response)
//从数据库获取数据
throws ServletException, IOException {
response.setContentType("text/html;charset=gb2312");
request.setCharacterEncoding("gb2312");
String mark = request.getParameter("mark");
String id = request.getParameter("id");
String name = request.getParameter("name")
展开阅读全文