恒顺集团物流仓储管理系统的设计与(源码)

物流仓储管理是企业生产过程中的一个重要环节,它影响着企业的生产运营,产品管理,成本控制等多个环节。一个合格的物流仓储管理系统须保证企业的进出货和库存控制的有效性和正确性,否则必然会增加管理费用,企业服务质量大打折扣,进而影响到企业形象和企业竞争力。本论文主要以开发物流仓储管理系统软件为目的,以企业的生产实际为出发点,结合淮安恒顺集团的需求,来开发智能生产制造系统中的一个子系统WMS,即仓储管理系统,实现企业的信息化运作。需要设计数据库来记录物流仓储过程中产生的数据。采用B/S结构,采用J2EE编程技术结合MVC设计模式,并以SSH三大框架来进行系统架构。系统最后要达到的效果是能够对企业的员工、产品、供应商、出库信息、入库信息、库存信息进行一系列的查询更新操作,最终实现对仓储过程的信息化管理。关键词 仓储管理系统,J2EE,B/S,SSH用户进入系统首先需要通过登录页面的身份验证。为了防止暴力破解,系统的登录页面设置了验证码,该模块是通过文件目录下的工具文件夹内的MakeCertPic.java文件来实现的,先设置好要显示的内容类型和数量,当用户每次发送加载请求时会随机产生要验证的内容,然后用Graphic画布功能把要内容放到输入流,再在页面获得输入流,并将输入流的值保存在session中,这样做的好处是方便后台能够获取到随机生成的验证码,当用户关闭页面时内容也随之销毁,不占用空间。获取之后和前台页面输入的值进行匹配,相同则继续,不同则给出相应提示。
工号需要使用Ajax事件进行验证,异步查询该工号的权限是否合乎要求,查询后将结果传回用户界面,告诉用户工号输入错误。用户密码的验证实现方式与工号的验证类似。登录成功后,判断当前权限,进入不同的页面。
4.2 用户信息模块
员工用户的添加功能,流程图如下图4-3所示。
图 4-3 用户添加流程图
当需要添加员工时,进入对应页面后页面会加载jquery的AJAX方法,通过后台获取所有部门信息动态的生成在部门下拉框中,选中部门时,继续触发事件与后台交互,获得职位信息,选中职位后通过方法内部分析自动生成员工工号。
在填写员工的出生日期时,类似前面日期一样调用SelectDate()方法选择需要写入的日期,方便用户按正确的格式填写。
 *好棒文|www.hbsrm.com +Q: ^3^5`1^9`1^6^0`7^2# 
4-3 用户添加流程图
当需要添加员工时,进入对应页面后页面会加载jquery的AJAX方法,通过后台获取所有部门信息动态的生成在部门下拉框中,选中部门时,继续触发事件与后台交互,获得职位信息,选中职位后通过方法内部分析自动生成员工工号。
在填写员工的出生日期时,类似前面日期一样调用SelectDate()方法选择需要写入的日期,方便用户按正确的格式填写。
员工信息查看页面,用户可以通过选择查看方式,选择需要查询的相关条件进行查询,执行操作后输出所有结果,如果输入为空,则查找全部,其中用户可以在每
一条查到的数据后面点编辑或删除,进行相应的操作。
对员工信息的批量删除模块则是通过JS获取到所有已选中的用户信息,并将数据传输到后台,由后台执行批量删除工作。其中涉及数据传输的格式问题,通过巧妙利用字符串,适当拆分和合并,进而起到对应的效果。
页面的分页功能是通过Pager.java工具类,记录分页的页数,总记录数,当前页,是否有上一页,是否有下一页等参数保存在cn.edu.njit.liuhong.tool路径下,具体代码可见项目。
4.3 供应商信息模块
供应商的添加功能,流程图如图4-4所示。
图 4-4 供应商添加流程图
供应商添加功能和前面的添加功能基本相同,普通员工是没有权限对本模块进行更新操作。查询供应商信息操作也可以实现条件查询,不选择查询条件则全部查询,查询事件的action都是由struts统一分配,再由显示页面的c标签把要显示的信息从EL表达式中获得出来并迭代显示。
供应商的批量删除功能也和员工的批量删除一样,首先获得需要删除的条目的ID,获得后对ID进行相应的拼接处理,传送到后台继续进行操作。
4.4 产品信息模块
添加产品功能流程图如下图4-5所示.
图4-5 产品添加流程图
添加产品功能先加载JS函数,从后台获得所有供应商,在动态地绑定到下拉框的选项中显示出来。此时用户可以通过下拉操作来选择具体的供应商,不必再手工输入,也无需做数据验证。产品编号从后台先验证该编号是否存在,如果存在则给出相应的提示。全部验证通过后才能进行下一步操作继续执行对应的action。
产品的查询是先将用户选择和输入的参数提交至action,然后调用查询操作,再将查询到的数据塞到list中,交由前台显示。
4.5 库存信息模块
库存模块是系统最重要的部分,其流程如图4-6所示。
图4-6 库存模块设计流程图
库存模块通过AJAX完成数据的转化和交互,JS中的自动生成订单号设计思想是:获得当天的年月日以8位数字符号开头后8位则为当天的入库单量,通过以当天年月日开头的8位数字模糊查出。
负责人信息需要验证输入内容是否是员工表里已有的记录,如果不存在则给出相应提示。产品编号输入框也会触发相应的JS,如果对应产品存在,将该产品的其他信息动态加载到对应的输入框里,提高用户操作方便度。当执行完添加入库单后也会继续执行库存更新方法,以确保库存能够动态更新。
查询入库单实现方式与之前的查询类似。为了保护入库信息完整,不提供修改和删除功能。修改警告功能可以修改容量上限或下限,也可以根据实际情况消除警告。
当添加出库单时,会点调用JS方法来获得当天的出库单数。然后对这个数字进行+1操作。日期填写方法同样调用JS的setDate()方法,同时要验证负责人存在与否。在修改库存余量时,余量不够时就无法完成出库操作。查询出库单功能同之前的查询功能实现方式。数据导出功能同入库单的导出方法。
4.6 项目搭建
打开MyEclipse新建Web Project命名为WMS,然后继续添加一些基础的必须使用的jar包和配置文件,再添加一些会使用到的提前进行规划的的文件夹,目录结构如下图4-7所示。
图 4-7项目目录结构
之前所添加的jar包放在WEB-INF目录下的名为lib的文件夹内,还有之前说添加的配置文件,具体的配置信息可以到系统中进行查阅,在web.xml文件内按如下图4-8配置:

图 4-8 struts和spring开发配置详情
配置Hibernate环境,在MyEclipse的DatabaseExplorer工作界面下新建MySQL连接,导入mysql-connector.jar包,利用Myeclipse自带的hibernate环境反向工程生成各个数据表对应的POJO文件和*.hbm.xml文件,其中需注意id属性的generator参数的class要设置成identity,表示由数据库自动管理主键生成,如下图4-9,作为示例。
图 4-9 数据表对应的*.hbm.xml
5 系统功能测试
恒顺集团物流仓储管理系统的测试在Myeclipse自带的服务器上。只需要在浏览器的地址栏内输入http://localhost:8080/WMS(或者在本人电脑上直接输入网址http://yws-pc:8080/WMS/log.action)即可进入系统的登录界面。需要注意的是该服务器联网后需将地址栏内的 “localhost”换成该服务器主机的IP地址,端口号8080是Tomcat服务器默认的端口地址,需要与其保持一致;在需要的情况下可以更改默认端

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/2824.html

好棒文