首页 java物流配送管理系统毕业论文

java物流配送管理系统毕业论文

举报
开通vip

java物流配送管理系统毕业论文物流配送管理系统 摘要 计算机网络近年来高速的发展使得计算机在社会的各个领域发挥着极其重要的作用。基于B/S结构的物流配送管理系统能够在网络平台上实现对系统的管理和维护,这不但降低了公司的运营成本呢,也大大提高了工作效率。物流配送公司利用计算机网络这个平台,对自己的每个客户的数据的各个环节进行系统化、规范化的管理,以满足客户的要求。本系统使用MyEclipse作为系统开发环境,使用Oracle作为后台数据库,使用Java语言的Web技术基于SSH框架的开发体系结构。实现了物流公司对车辆管理、配送点配送范围管理、配送...

java物流配送管理系统毕业论文
物流配送管理系统 摘要 计算机网络近年来高速的发展使得计算机在社会的各个领域发挥着极其重要的作用。基于B/S结构的物流配送管理系统能够在网络平台上实现对系统的管理和维护,这不但降低了公司的运营成本呢,也大大提高了工作效率。物流配送公司利用计算机网络这个平台,对自己的每个客户的数据的各个环节进行系统化、 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 化的管理,以满足客户的要求。本系统使用MyEclipse作为系统开发环境,使用Oracle作为后台数据库,使用Java语言的Web技术基于SSH框架的开发体系结构。实现了物流公司对车辆管理、配送点配送范围管理、配送管理、员工管理、权限管理、订单管理和交接单的管理。 关键词 JSP  SSH  Oracle  物流配送管理系统 logistics distribution management system Abstract: With the high-speed development of computer network in recent years, computer plays an extremely important role in every field of society. The system of logistics distribution management which based on B/S structure can be achieved to manage and maintain its system on the platform of the network; this is not just the way to reduce the company’s operating cost, it also greatly improves the working efficiency. The company of logistics distribution uses the platform of computer network to manage the data of their own customers in a systematic and standardized way in order to meet the customer’s need. This system use MyEclipse as the environment of system development, use Oracle as the background of database, and also use the web technology of Java language which based on the SSH framework of development system. The logistics company can achieve  the management of vehicle, distribution range, distribution, staff, authorization, orders and transfer of orders . Key words: JSP; SSH; Oracle; logistics distribution management system 目录 工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录 引 言    1 第1章 相关技术综述    2 1.1 JSP技术简述    2 1.2 SSH框架简介    2 1.3 Oracle数据库    3 第2章 系统需求分析和概要设计    4 2.1 需求分析    4 2.2 系统架构设计    5 2.3 系统功能模块描述    6 2.4 系统用例图定义    9 2.5系统领域模型定义    11 2.6 系统主要功能类图定义    12 2.7系统主要功能顺序图定义    15 第3章 系统数据库设计    19 3.1 数据库表设计    19 3.2 数据库表字段说    21 第4章 系统详细设计与实现    24 4.1 省公司管理员管理模块部分页面与主要实现代码    24 4.2站点管理员管理模块部分页面与主要实现代码    30 4.3系统构建和部分配置文件    38 第5章 系统测试    40 5.1 测试的主要内容    40 5. 2测试总结    41 结论    42 致谢语    43 参考文献    44     ` 引 言     随着科技发展和社会进步,近年来我国信息事业发展迅速,手工管理方式在物流配送信息管理等需要大量事务处理的应用中已显得不相适应,采用IT技术提高服务质量和管理水平势在必行。当今世界发展主要有两大趋势,即全球化和市场化。而物流配送系统则是这两者的结合,在这全球化和市场化的时代里它进一步促进了世界经济与贸易的发展。是21世纪的国际物流技术的象征。目前,对外开放必然趋势使信息行业直面外国同行单位的直接挑战,因此,信息行业必须提高其工作效率,改善其工作环境。这样,物流配送信息管理的信息化势在必行。针对上述问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 ,采用软件工程的开发原理,依据软件流程过程规范,按照需求分析、概要设计、详细设计、程序编码、测试、软件应用、软件维护等过程开发了一个物流配送管理系统。采用B/S结构、MVC开发模式。采用Java(Web)开发语言,SSH框架,后台数据采用Oracle数据库。本系统设计分为:省公司管理员模块和站点管理员模块,分别负责:车辆管模块、配送点管理模块、权限管理模块、员工管理模块和配送范围管理模块、订单模块、交接单管理模块、配送管理模块。 第1章 相关技术综述 1.1 JSP技术简述    JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它[1] 是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。 它实现了Html语法中的java扩张(以 <%, %>形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。 JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。 Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 1.2 SSH框架简介     SSH 为 struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。 集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts 和hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模 型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。 1.3 Oracle数据库     Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。     ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。 第2章 系统需求分析和概要设计 2.1 需求分析 2.1.1物流配送系统需求综述 伴随着信息行业的蓬勃发展和人们办公自动化意识的增强,物流配送管理部门的的工作也越来越繁重,原来的物流配送管理系统已经不能完全满足相关人员使用的需要。为了协助信息行业开展物流配送管理工作,提高工作效率,充分利用信息行业的现有资源,开发更好的物流配送管理系统势在必行。本系统借助计算机网络实现了资源合理运用,信息高效传输等功能。物流系统带给我们的不仅仅是运输上的便捷,实现货物配送流程的全程计算机化。是信息化社会发展的必然要求,是我们思维触角的无限延伸;时间和距离不再是我们获取信息的障碍,将会成为我们生活中的一个重要组成部分。 2.1.2技术可行性分析        在本次的系统开发中,由于我一直对JAVA情有独钟。因为我觉得它相对于其他语言来说更简单,并且开发出来的东西即美观又好用,所以在这次的开发中我选用了功能强大的MyEclipse作为开发工具,并与强大的ORACLE数据库相结合,ORACLE是一种简洁,易学,易用且功能强大的数据库。本系统主要是向ORACLE数据库进行增、删、改、查等多次的重复性的操作。本系的的设计思路简明明了,所以只要稍懂这方便技术的人一看即懂。  2.1.3系统功能需求分析     物流配送管理系统主要实现后台管理员维护基础数据信息,包括:车辆信息管理、配送点信息管理、配送范围信息管理、订单信息管理、交接单信息管理、配送管理、权限和员工管理。其中省公司管理员主要针对的是:车辆信息的管理、配送点的管理、权限的管理和员工信息的管理。站点管理员主要负责的是:配送范围的管理、订单的管理、 交接单的管理和配送管理。 2.1.4数据库需求分析     数据库在一个信息管理系统中占有极其重要的地位,数据库结构设计的好坏将直接对应用系统的效率及实现效果产生影响。合理的数据库结构设计可以提高数据存数效率,保证数据的完整和一致。合理的数据库也有利于程序的实现。     设计数据库应了解各个方面的需求,包括现有以及将来可能增加的需求。     在数据库的设计中,字段要合理命名,在建表语句后面加上各个字段的备注,以便于后期的维护。 2.2 系统架构设计 项目使用SSH(Struts2+Spring+Hibernate)框架实现。 对象的调用流程是: jsp-> Action - > Service ->DAO ->Hibernate 。 Struts的作用: Struts是一个在JSP Model2基础上实现的MVC框架,主要分为模型(Model)、视图(Viewer)和控制器(Controller)三部分,其主要的设计理念是通过控制器将表现逻辑和业务逻辑解耦,以提高系统的可维护性、可扩展性和可重用性; 1) 获取表单内容,并组织生成参数对象。 2) 根据请求的参数转发请求给适当的控制器。 3) 在控制器中调用业务接口。 4) 将业务接口返回的结果包装起来发送给指定的视图,并由视图完成处理结果的展现。 Hibernate的作用: 1) 数据库连接不需要我们自己来管理,如打开和关闭。  2) 对原来的SQL语句进行了封装,以前写很多SQL语句,现在你在保存的时候直接可以用 SAVE(对象)来实现了。     3) 第三:原来是对表操作,现在是对对象操作。 Spring的作用:     spring就是作为容器,用来管理struts和hibernate之间的工作的。它其实就是     程序中的一个桥梁或者说管理者,整个程序的运行都依靠spring来管理。 2.3 系统功能模块描述 经过对物流配送管理系统的结构分析,确定本系统的结构图如图2.1所示。 车辆管理 权限管理 配送点管理 员工管理 省公司管理员模块 站点管理员模块 范围管理 配送点管理 车辆管理 配送管理 订单管理 物流配送管理系统 图2.1 系统结构图 2.3.1车辆管理     车辆管理是有省公司负责的,省公司负责购买车辆,以及车辆的维护,运力调配等; 在该系统中,我们需要做车辆信息的增、删、改、查。 1) 车辆信息管理:省公司车辆管理员负责维护车辆信息,可以增加新车信息,淘汰车辆,修改已有车辆信息。 2) 车辆信息查询:车辆管理员和配送点管理员均可查询车辆信息。 3) 状态修改:总公司车辆管理员负责修改车辆状态,即该车是否空闲,只有空闲时才能安排配送任务。 2.3.2配送点管理 1) 添加配送点:根据业务的需要,省公司的管理员可以添加新的配送点,配送点的信息包括配送点编号,配送点名称,配送点所在地址,配送点规模,备注信息。 2) 查看配送列表:省公司管理员及配送点管理员可以查看所有配送点基本信息的列表,基本信息包括配送点编号,配送点名称,配送点所在地址。 3) 查看配送信息:省公司管理员及配送点管理员可以查看任一配送点的详细信息,包括配送点编号,配送点名称,配送点所在地址,配送点规模,备注信息。 4) 修改配送点信息:根据业务需要,省公司管理员可以修改配送点的信息,对配送点的信息进行维护。 5) 删除配送点:根据业务的需要,省公司管理员可以删除配送点,但是若该配送点工作中,则无法删除。 6) 查看配送点配送范围:针对某一配送点,省公司管理员与配送点管理员可查看该配送点的所有配送范围。 2.3.3配送范围管理 1) 添加配送范围:根据业务需要,配送点管理员可以添加所管理配送点的配送范围。 2) 查看配送范围列表:配送点管理员可以查看所管理配送点的配送范围列表,列表中列出了配送范围的基本信息。 3) 查看配送范围信息:配送点管理员可以查看所管理配送点的任一配送范围的详细信息,详细信息包括配送范围编号。 4) 修改配送范围:根据业务需要,配送点管理员可以修改所管理配送点的配送范围信息,对配送点的信息进行维护。 5) 删除配送范围:根据业务的需要,配送点管理员可以删除所管理配送点的配送范围,但是若该配送点在工作中,则无法删除。 2.3.4订单管理 1) 订单查询:每一个配送点的管理人员可以查询配送点的当前订单情况。 2) 订单输入:配送点要把该订单输入到网上,以便统一管理和调度。 3) 订单状态维护:如果客户要退订订单,则给予退订操作。 2.3.5配送管理 1) 生成交接单:站点管理员对相应站点新的订单按配送目的地进行交接单的生成。 2) 查看交接单:站点管理员查询交接单的情况。 3) 删除交接单:站点管理员或者省公司管理员通过交接单号找到对应到交接单,确认接收人已签字后方可进行交接单的删除。 4) 班次与交接单调配:站点管理员把生成的交接单根据配送地选择相应的员工的车辆来对交接单的配送工作。 5) 发货发车:选择可以发货的车辆,发车。 2.3.6站点权限管理     省公司管理员可以修改各个配送点管理员的配送地点权限。 2.3.7员工管理 1) 添加新员工:添加新员工股的权限为省公司管理员和配送点管理员所特有的,主要是用于将新进员工的信息录入系统中,用于日后的管理和各种权限的控制。 2) 编辑用户信息:当员工的个人信息发生改变时,系统中的资料也要随之发生变化,所以系统提供了可以编辑员工资料的功能。 3) 离职员工删除:当员工由于各种原因而离职的时候,系统没必要在存储此员工的个人信息,可以选择将其删除。 2.4 系统用例图定义 (1)经过对省公司管理模块的总体分析,确定出省公司管理员模块的用例图如图2.2所示。 图2.2 省公司管理员用例图 (2)经过对站点管理员模块功能的总体分析,确定出站点管理员模块用例图如图2.3所示。 图2.3 站点管理员模块用例图 2.5系统领域模型定义     经过分析,初步确定系统领域模型图如图2.4所示。 图2.4 领域模型图 2.6 系统主要功能类图定义 (1)车辆管理类图如图2.5所示。 图2.5 车辆管理类图 (2)配送点管理类图如图2.6所示。 图2.6 配送点类图 (3)配送范围管理类图如图2.7所示。 图2.7 配送范围类图 (4)交接单管理和发车管理类图如图2.8所示。 图2.8 交接单管理和发车管理类图 (5)登录类图如图2.9所示。 图2.9 登录类图 2.7系统主要功能顺序图定义 2.7.1 站点管理员配送管理顺序图     站点管理员在配送的时候的顺序图如图2.10所示。 图2.10 配送管理顺序图 2.7.2省公司管理员车辆管理顺序图     省公司管理员可以对车辆按照实际需求进行管理的顺序图如图2.11所示。 图2.11 车辆的管理顺序图 2.7.3 省公司管理员配送点管理顺序图     省公司管理员修改相应的配送点信息的顺序图如图2.12所示。 图2.12 配送点管理顺序图 2.7.4省公司管理员权限管理顺序图     省公司管理员对站点管理员的权限修改顺序图如图2.13所示。     图2.13 权限管理顺序图 2.7.5省公司管理员员工管理顺序图     省公司管理员对员工的管理顺序图如图2.14所示。     图2.14 员工管理顺序图 2.7.6站点管理员配送范围管理顺序图     站点管理员对相应配送点的配送范围管理的顺序图如图2.15所示。 图2.15 配送范围管理顺序图 2.7.7站点管理员订单管理顺序图     站点管理员对订单的基本管理顺顺图如图2.16所示。 图2.16 订单管理顺序图 第3章 系统数据库设计 3.1 数据库表设计 根据系统需求分析,数据库表结构示意图如图3.1所示。                   (t_car车辆信息表)            (t_order订单信息表)               (t_admin管理员表)                (t_employee员工信息表)   (t_distribution_site配送点表)  (t_distribution_site配送范围表)             (t_delivery交接单表)    图3.1 数据库表结构图 3.2 数据库表字段说 表3.1 t_car表(车辆表)字段说明 字段名 数据类型 字段大小 字段说明 car_id NUMBER(15) 15 车辆编号,主键 buytime DATE 购买时间 manufacturer VARCHAR2(20) 20 生产厂家 car_type VARCHAR2(20) 20 型号 a_load_weight NUMBER(8) 8 已装重量 load_weight NUMBER(8) 8 总载重量 a_volume NUMBER(8) 8 已装体积 volume NUMBER(8) 8 总载体积 now_status VARCHAR2(4) 4 当前状态: 空闲 ,配送,装货 表3.2 t_admin表(管理员表)字段说明 字段名 数据类型 字段大小 字段说明 admin_id VARCHAR2(20) 20 管理员id,主键 admin_name VARCHAR2(20) 20 管理员姓名 admin_password VARCHAR2(20) 20 管理员密码 admin_age NUMBER(8) 8 管理员年龄 admin_cid NUMBER(20) 20 管理员省份证 admin_type VARCHAR2(20) 20 管理员类型 admin_power VARCHAR2(20) 20 管理员权限地点 表3.3 t_employee表(员工表)字段说明 字段名 数据类型 字段大小 字段说明 employee_id NUMBER(15) 15 员工编号,主键 employee_name VARCHAR2(20) 20 员工姓名 employee_sex VARCHAR2(20) 20 员工性别 employee_phone VARCHAR2(20) 20 员工电话 employee_post VARCHAR2(20) 20 员工职位 employee_status VARCHAR2(20) 20 员工状态:离职,配调中,未配调 表3.4 t_order表(订单表)字段说明 字段名 数据类型 字段大小 字段说明 order_id NUMBER(15) 15 订单编号,主键 send_site VARCHAR2(20) 20 收寄地 send_name VARCHAR2(20) 20 寄件人姓名 send_phone NUMBER(15) 15 寄件人电话 send_address VARCHAR2(100) 100 寄件人地址 distribution_site VARCHAR2(20) 20 配送地 receive_name NUMBER(15) 15 收件人姓名 receive_phone NUMBER(15) 15 收件人电话 receive_address VARCHAR2(100) 100 收件人地址 goods_name VARCHAR2(20) 20 物品名称 goods_weight NUMBER(8) 8 物品重量 goods_volume NUMBER(8) 8 物品体积 status VARCHAR2(20) 20 订单状态:退订,已配送,未配送 表3.5 t_distribution_site表(配送点表)字段说明 字段名 数据类型 字段大小 字段说明 distribution_site_id VARCHAR2(20) 20 配送点编号 distribution_site_name VARCHAR2(20) 20 配送点名称 distribution_site_address VARCHAR2(100) 100 配送点所在地址 distribution_site_scale VARCHAR2(20) 20 配送点规模 remark VARCHAR2(20) 20 备注信息 表3.6 t_distribution_scope表(配送范围表)字段说明 字段名 数据类型 字段大小 字段说明 distribution_scope_id VARCHAR2(20) 20 配送范围编号,主键 distribution_scope_name VARCHAR2(20) 20 配送范围名字 first_weight NUMBER(8) 8 首公斤价格 second_weight NUMBER(8) 8 次公斤价格 distribution_time VARCHAR2(20) 20 配送时间 remark VARCHAR2(200) 200 备注信息 distribution_site_id VARCHAR2(20) 20 配送点编号,外键 表3.7 t_delivery表(交接单表)字段说明 字段名 数据类型 字段大小 字段说明 delivery_id NUMBER(15) 15 封单号,主键 send_site VARCHAR2(20) 20 收寄地 distribution_site VARCHAR2(20) 20 配送地 car_id NUMBER(15) 15 车辆编号 employee_id NUMBER(15) 15 员工编号 goods_weight NUMBER(8) 8 物品重量 goods_volume NUMBER(8) 8 物品体积 receive_address VARCHAR2(100) 100 收件人地址 status VARCHAR2(20) 20 交接单状态:交接中,配送中,已签收 第4章 系统详细设计与实现 4.1 省公司管理员管理模块部分页面与主要实现代码 4.1.1车辆信息页面    省公司管理员登入系统之后,可以查询出车辆的基本信息情况。如果数据超过5条,则分页显示。如图4.1所示。 图4.1 车辆信息页面 4.1.2添加车辆页面 省公司管理员可以根据需求适当的增加购买车辆。如果车辆的编号已经存在,则必须在下面显示提示信息,点击确认添加时通过javascript显示提交确认的提示,实现如图4.2所示。 图4.2 添加车辆页面 4.1.3淘汰车辆页面 只有空闲时候的车辆才可以将其淘汰,在配送过程中的车辆将无法淘汰;而且删除时也会出现确认框,以免误删除。如图4.3所示。         图4.3 淘汰车辆页面    4.1.4修改车辆信息页面 有车辆信息需要改变时,则可以修改其基本信息。如图4.4所示。 图4.4 修改车辆信息页面 图4.1到图4.4是车辆管理模块,其部分主要实现代码如下所示: Action层部分代码:     //车辆信息的添加     public String addCar(){         List list = carManageService.queryRepeat(tCar);         if(list.size()>0){             msg = "车辆编号已存在";             return "success";         }else{             carManageService.addCar(tCar);             return "success";                     } }     //分页查询     @Override     public int getAllRowCount(String hql) {         return getSession().createQuery(hql).list().size();     }     @Override     public List queryForPage(String hql, int offset, int length) {         Query q = getSession().createQuery(hql);         q.setFirstResult(offset);         q.setMaxResults(length);         return q.list();     } DAO层部分代码:     //判断输入主键重复的不能插入     public List queryRepeat(TCar tCar){         System.out.println("cardao-->"+tCar.getCarId());             String hql = "from TCar where carId="+tCar.getCarId();         System.out.println(hql);         List resultList = hibTemplate.find(hql);         return resultList; } Service层部分代码:     @Override     public PageBean queryForPage(int pageSize, int page) {         final String hql = "from TCar";         int allRow = carManageDao.getAllRowCount(hql);         int totalPage = PageBean.countTotalPage(pageSize, allRow);         final int offset = PageBean.countOffset(pageSize, page);         final int length = pageSize;         final int currentPage = PageBean.countCurrentPage(page);         List list = carManageDao.queryForPage(hql,offset, length);         PageBean pageBean = new PageBean();         pageBean.setPageSize(pageSize);            pageBean.setCurrentPage(currentPage);         pageBean.setAllRow(allRow);         pageBean.setTotalPage(totalPage);         pageBean.setList(list);         pageBean.init();         return pageBean;     } 4.1.5查看配送点页面 省公司管理员可以查看配送点的基本信息。如图4.5所示。 图4.5 查看配送点页面 4.1.6修改配送点页面 如果配送点信息有发生改变时,省公司管理员可以将其修改。如图4.6所示。 图4.6 修改配送点页面 4.1.7删除配送点页面 如果某个配送点不需要了,省公司管理员可以将其删除,但是必须得等你改配送点为空闲状态才可以,删除时出现确认删除的提示信息。如图4.7所示。 图4.7 删除配送点 4.1.8查看配送范围页面     省公司管理员可以查询具体某个配送点的配送范围。如图4.8所示。 图4.8 查看配送范围 图4.5到图4.8是配送点管理模块,其主要代码如下所示: Dao层部分代码:     @Resource     private HibernateTemplate hibTemplate;     @Resource     private SessionFactory sessionFactory;     public void setSessionFactory(SessionFactory sessionFactory) {         this.sessionFactory = sessionFactory;     }        public Session getSession(){         return sessionFactory.getCurrentSession();     }     //添加配送点     @Override     public void addDistributionSite(TDistributionSite tDistributionSite) {         hibTemplate.save(tDistributionSite);     }     //查询信息     @Override     public List queryForPage(String hql, int offset, int length) {         Query q = getSession().createQuery(hql);         q.setFirstResult(offset);         q.setMaxResults(length);         return q.list();     }     @Override     public int getAllRowCount(String hql) {         return getSession().createQuery(hql).list().size();     }     //修改配送点     public void alterDistributionSite(TDistributionSite tDistributionSite) {         hibTemplate.update(tDistributionSite);        }     //删除配送点     @Override     public void deleteDistributionSite(TDistributionSite tDistributionSite) {         hibTemplate.delete(tDistributionSite);     }     //查询配送点范围     public List querySiteScope(String querySite){         String hql =" from TDistributionScope ts" +                     " where ts.TDistributionSite.distributionSiteName='"+querySite+"'";         List resultList=hibTemplate.find(hql);         return resultList;} 4.1.9权限管理页面 省公司管理员可以对站点管理员的管理地点进行改变。如图4.9所示。 图4.9 权限管理 4.1.10离职员工删除 当员工离职的时候,就没必要留在里面,可以将其删除。如图4.10所示。 图4.10 离职员工删除 4.2站点管理员管理模块部分页面与主要实现代码 4.2.1查看配送范围页面 站点管理员可以查看本地的可配送范围和别地配送点信息。如图4.11所示。 图4.11 查看配送范围 4.2.2添加配送范围页面 当站点管理员是厦门的话,登入时候的站点信息全是厦门站点的信息,添加的也是厦门站点的配送范围。当如果输入的配送点编号已经存在,则会在下面提示说明配送编号已存在,并清空重新填写。如图4.12所示。 图4.12 添加配送范围 4.2.3查看配送范围页面 站点管理员可以查看本地配送点的配送范围信息,以便维护配送范围,及时更新配送范围的变化信息。如图4.13所示。 图4.13 查看配送范围 4.2.4修改配送范围页面 当配送范围需要修改的时候,站点管理员可以修改配送范围信息。如图4.14所示。 图4.14 修改配送范围 4.2.5删除配送范围页面 不同站点管理员登录,就是不同的配送范围信息。只有当配送范围空闲不在工作中的时候才能删除掉。而且删除时还会出现提示信息。如图4.15所示。 图4.15 删除配送范围 图4.11到图4.15是配送范围模块,其主要代码如下所示: //添加配送范围     @Override     public void addDistributionScope(TDistributionScope tDistributionScope,String     siteName) {         String hql = "from TDistributionSite where distributionSiteName='"+siteName+"'";         List resultList  = hibTemplate.find(hql);         tDistributionScope.setTDistributionSite(resultList.get(0));         hibTemplate.save(tDistributionScope);        }     //查看配送范围信息     @Override     public List queryDistributionScope(             TDistributionScope tDistributionScope,String sitePower) {         //先查询所在站点         String sitehql = "from TDistributionSite where distributionSiteName='"+sitePower+"'";         List siteList = hibTemplate.find(sitehql);         String hql = "from TDistributionScope ts where ts.TDistributionSite.distributionSiteId='"+siteList.get(0).getDistributionSiteId()+"'";         List resultList = hibTemplate.find(hql);         return resultList;     }     //修改配送范围信息     @Override     public void alterDistributionScope(TDistributionScope tDistributionScope,String siteName) {                 String hql = "update TDistributionScope set "+                     "distributionScopeName='"+tDistributionScope.getDistributionScopeName()+"'"+ ",firstPrice="+(BigDecimal)tDistributionScope.getFirstPrice() +         ",secondPrice="+(BigDecimal)tDistributionScope.getSecondPrice()+ ",distributionTime='"+tDistributionScope.getDistributionTime()+"'"+                     ",remark='"+tDistributionScope.getRemark()+"'"+                     " where distributionScopeId='"+tDistributionScope.getDistributionScopeId()+"'";         System.out.println("alterDistributionScope-->"+hql); //        hibTemplate.update(tDistributionScope);            getSession().createQuery(hql).executeUpdate();     }     //删除配送范围信息     @Override     public void deleteDistributionScope(TDistributionScope tDistributionScope) {         hibTemplate.delete(tDistributionScope);             }     //查看空闲中可删除配送范围     @Override     public List queryDistributionScopeKX(             TDistributionScope tDistributionScope, String sitePower) {         String sitehql = "from TDistributionSite where distributionSiteName='"+sitePower+"'";         List siteList = hibTemplate.find(sitehql);         String hql = "from TDistributionScope ts where ts.TDistributionSite.distributionSiteId='"+siteList.get(0).getDistributionSiteId()+"'"+" and remark='空闲'";         List resultList = hibTemplate.find(hql);         return resultList;     } 4.2.6订单输入页面 站点管理员对新来的订单进行输入操作,每一空都必须填写而且格式必须正确,不然javascript就会提示重新输入。如图4.16 所示。 图4.16 订单输入 4.2.7查看订单页面 站点管理员可以查看出订单的信息情况。如图4.17所示。 图4.17 查看订单页面 4.2.8退订操作页面 如果客户要退订某个订单,则可以查出该订单,然后将其退订。如图4.18所示。 图4.18 退订操作 图4.16到图4.18 是订单模块,其部分代码如下所示: Action层部分代码:     //查询要退订的订单Acion层     public String queryOrderWH(){         ol = orderService.queryOrderWH(oid);         if(ol!=null){             return "success";         }else{             msg="找不到订单!";             return "success";         } } Dao层部分代码:     //查询退订的订单     @Override     public List queryOrderWH(int obj) {         System.out.println(obj);         String hql =" from TOrder ts" +                     " where ts.orderId="+(int)obj+"";         List resultList = null;         if(hibTemplate.find(hql).size()>0){             resultList=hibTemplate.find(hql);             System.out.println("orderdaoimpl-->"+resultList.get(0).getOrderId()+resultList.get(0).getSendSite());                     }         return resultList; } 4.2.9生成交接单页面     要配送之前,站点管理员必须先将订单生成交接单,选择订单后,该订单状态从未配送变成交接中状态,在生成的交接单界面中消失。如图4.19所示。 图4.19生成交接单 4.2.10选择配送目的地页面 根据要配送的目的地,选择员工和班次。如图4.20所示。 图4.20 选择配送目的地 4.2.11选择要发货的车辆页面     站点管理员查看车辆的当前装货情况,控制在规定的范围内,如果超过则出现提示信息,没有对数据进行更新;尽量达到饱和度,然后在选择发车。如图4.21所示。 图4.21 超出车辆规定范围 4.2.12确认签收页面     当配送地的管理员确认交接单在交接方那边签收,就改变交接单的状态,以便站点管理员删除该过期的交接单。如图4.2.22所示。 图4.16到图4.22 是配送模块和车辆派发,其部分代码如下所示。 //检验车辆载重量和体积不能超标算法     @Override     public boolean queryVerification(TDelivery tDelivery, int carId,             int employeeId, int cgw, int cgv) {         BigDecimal b = new BigDecimal(carId);         TCar tCar =hibTemplate.get(TCar.class,b);         BigDecimal c = new BigDecimal(cgw);         BigDecimal d = new BigDecimal(cgv);         BigDecimal o_cgw = tCar.getALoadWeight();         BigDecimal o_cgv = tCar.getAVolume();         BigDecimal n_cgw = null;         BigDecimal n_cgv = null;         n_cgw = o_cgw.add(c);         n_cgv = o_cgv.add(d);         if(n_cgw.compareTo(tCar.getLoadWeight())==1 ||         n_cgv.compareTo(tCar.getVolume())==1){             return false;         }else{             return true;}} //生成交接单     @Override     public void addDelivery(String ssite, String dsite, String raddress, int oid,int gw,int gv) {         TDelivery tDelivery = new TDelivery();         tDelivery.setSendSite(ssite);         tDelivery.setDistributionSite(dsite);         tDelivery.setReceiveAddress(raddress);         tDelivery.setGoodsWeight(new BigDecimal(gw));         tDelivery.setGoodsVolume(new BigDecimal(gv));         tDelivery.setStatus("交接中");         hibTemplate.save(tDelivery);         //改变订单状态         TOrder orderList = hibTemplate.get(TOrder.class,oid);         orderList.setStatus("已配送");         hibTemplate.update(orderList);        } //调配     @Override     public void alterDeliveryDP(TDelivery tDelivery, int carId, int employeeId,int cgw,int cgv) {         tDelivery.setStatus("配送中");         hibTemplate.update(tDelivery);         TEmployee tEmployee = hibTemplate.get(TEmployee.class,employeeId);         tEmployee.setEmployeeStatus("配调中");         hibTemplate.update(tEmployee);         BigDecimal b = new BigDecimal(carId); //格式装换         TCar tCar =hibTemplate.get(TCar.class,b);         BigDecimal c = new BigDecimal(cgw);         BigDecimal d = new BigDecimal(cgv);         BigDecimal o_cgw = tCar.getALoadWeight();         BigDecimal o_cgv = tCar.getAVolume();         BigDecimal n_cgw = null;         BigDecimal n_cgv = null;         n_cgw = o_cgw.add(c);         n_cgv = o_cgv.add(d);         tCar.setALoadWeight(n_cgw);         tCar.setAVolume(n_cgv);         tCar.setNowStrtus("装货");         hibTemplate.update(tCar);     } //调配控制     public String alterDeliveryDP(){         if(deliveryService.queryVerification(tDelivery, cid, eid, cgw,     cgv)==false){             msg1 = "车辆编号为:"+cid+" 的车辆载货超标,请选择其他车辆!";             return "success";         }else{             deliveryService.alterDeliveryDP(tDelivery, cid, eid,cgw,cgv);             return "success";         }     } 4.3系统构建和部分配置文件 4.3.1工程结构图 系统src包结构如图4.22所示。        系统WebRoot页面包结构如图4.23所示。       图4.22 src包结构图                图4.23 WebRoot页面包结构图 4.3.2 连接数据库文件代码详解 (1)本系统用的是SSH的注解方式配置,在applicationContext.xml文件中要配置相应信息,通过Hibernatee与数据库连接的配置文件代码如下所示。                                                                                                                                             org.hibernate.dialect.Oracle9Dialect                                 true                                                         com/hj/entity/TCar.hbm.xml                 com/hj/entity/TDistributionSite.hbm.xml                 com/hj/entity/TDistributionScope.hbm.xml                 com/hj/entity/TAdmin.hbm.xml                 com/hj/entity/TEmployee.hbm.xml                 com/hj/entity/TOrder.hbm.xml                 com/hj/entity/TDelivery.hbm.xml                                         第5章 系统测试 为了保证软件的可靠性,必须对软件进行测试。在这次系统的软件开发的过程中,主要是针对软件的实用性、正确性,在软件开发的不同阶段都必须做好测试工作。 5.1 测试的主要内容 为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试、确认测试和系统测试。   (1)单元测试   单元测试集中在检查软件设计的最小单位—模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。   (2)集成测试   集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。如一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有错误等。   (3)确认测试   确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。   (4)系统测试   软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试。包括恢复测试、安全测试、强度测试和性能测试等。对于各个功能模块的测试,使用最基本数据进行输入输出的测试,观察各个模块功能之间是不是存在数据问题。 5. 2测试总结 在测试的过程中,要设计好测试用例,竟可能的找出系统不足的地方,然后加以改进。所以选好测试用例会给测试效率带来很大的影响。在测试过程中必须细心,找出不足之处要耐心排错和修改。 结论 经过这次的毕业设计,再次熟悉了一个软件系统开发的整个过程,进一步掌握四年多来在软件方面学习的课程,尤其是JAVA语言、JSP教程、数据库、软件工程课程等。本设计题目是基于java的SSH框架技术的物流配送管理系统的设计与实现。 在系统的开发过程中,我再次巩固了之前学过的SSH框架技术,java语言和数据库的设计。借鉴了实习公司的代码规范和编码习惯,使这次的毕设过程中比之前的课程设计犯下的错误要少很多,效率也提高了不少,但在其中不可避免遇到了各种各样的问题。比如在给数据库表实体建自增长序列的时候,要把Hibernate逆向工程映射的 BigDecimal的数据库字段在映射文件里面必须改成int,然后在实体类中也要做相应的修改。才不会再自增长过程添加中出现类型不符合。 书本上的知识是不够的,只有把理论与实践相结合才能够真正的学到知识。由于开发经验的不足与目前的水平有限,在系统之中存在着许多的不足之处。一个管理信息系统的设计,不可能一步到位,还需要不断的完善和补充。 总之,这次的毕业设计,对自身而言累计了相当丰富的经验,相信在未来的工作中会对自己起来相当大的帮助,毕竟我实习的单位主要也是开发物流系统的。所以这次的毕设很好的起到一个在学校和在公司的一个过渡,为将来的工作打下了良好的基础。 致谢语 经过几个月的查资料、编写程序、写作论文,终于顺利的完成了物流配送管理系统的设计和实现。 感谢母校给予我的培育之情,是她给予我人生的一次机会,给我平台让我展示自己,希望母校的明天更好;感谢导师在此期间的指导和我这段实习期间做毕设上时间的安排,使我更好的完成了毕业设计和毕业论文等工作。感谢大学四年各位老师们对我们的教诲,我会铭记在心。祝愿各位老师工作顺利,万事如意。感谢我的同学和朋友们,是你们和我一起的努力,共同走完人生中最光辉的四年在校生涯,希望你们以后前程似锦。 最后向在百忙之中评审本文的各位老师表示衷心的感谢! 参考文献 [1]陈亚辉 缪勇 编著《Struts2+Spring+Hibernate框架技术与项目实战》.清华大学出版社。 [2]王晓华 于瑞云 蔡国明 编著《JavaEE主流开源框架》.电子工业出版社。                                                                                      [3]王宜贵 软件工程[M] 北京:机械工业出版社,2002。                                            [4]孙一林,彭波. Java数据库编程实例[M]. 清华大学出版社,2002。 [5]陈俟伶,张红实 编著《SSH框架项目教程》.中国水利水电出版社,2013。 [6]李刚 编著《疯狂java讲义》第三版.电子工业出版社,2014。 [7]刘西杰 编著《网页制作从入门到精通》.人民邮电出版社,2013。 [8]明日科技 编著《JavaScript从入门到精通》.清华大学出版社,2012。 [9]李兴华,王月清 编著《Java Web开发实战经典》.清华大学出版社,2010。 [10]苏金国,王小振 编著《Oracle Database 9i/10g/11g编程艺术》.人民邮电出版社,2011。
本文档为【java物流配送管理系统毕业论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_435706
暂无简介~
格式:doc
大小:522KB
软件:Word
页数:29
分类:生活休闲
上传时间:2017-09-19
浏览量:93