您现在的位置是:首页 > 技术教程 正文

Java语言,MySQL数据库;SSM第三方物流系统 37852(免费领源码)计算机毕业设计项目推荐万套实战教程JAVA、PHP,node.js,C++、python等

admin 阅读: 2024-03-15
后台-插件-广告管理-内容页头部广告(手机)

第一章 绪 论

1.1课题开发背景与意义

随着社会分工的不断深化和经济的迅猛发展,物流业发展到一定阶段必然会出现第三方物流。西方国家的物流业实证研究证明,独立的第三方物流至少占社会的50%时,物流产业才能真正形成,第三方物流的发展程度反映和体现着一个国家物流业发展的整体水平.近年来,在中国政府高度重视下,物流业发展取得了巨大成绩,尤其在第三方物流新型理念影响下,很多原来从事运输、仓储、配送等业务的物流企业都有向第三方物流发展的趋势,甚至出现了实力雄厚的大型第三方物流企业集团。但是同发达国家相比,中国物流业发展水平整体上相对落后.第三方物流(Th i rd p art logis t ic s ,即3PL)作为一个新兴产业,在中国的发展历程很短,无论从产业规模、结构还是从产业绩效等方面,与发达国家相比都存在明显差距.第三方物流是指由与货物有关的发货人和收货人之外的专业企业,即第三方来承担企业物流活动的一种物流状态。它指有物流劳务的供方和需方之外的第三方去完成物流服务的物流运做方式,可以说它是物流专业化的一种形式。这种物流服务形式是建立在现代消息技术基础上的、企业之间的联盟关系。所以,通俗的说,第三方物流其实其实就是将自己企业“不拿手”的送货,贮藏和发货到每个门店这样的“细致”活交给更专业的物流公司来做。而这个物流公司不是商业企业自己的,而是商业企业的一个合作者,对于厂家和零售商而言,它是第三方,所以这种先进的物流方式就叫做第三方物流。针对这一情况,论文研究目的是探讨我国第三方物流发展的问题,提出适应中国国情的建设性策略,积极探索和构建符合中国实际情况的第三方物流发展模式,以促进我国第三方物流更快更强发展。论文以我国第三方物流发展为主线。

1.2 国内外研究现状  

随着我国社会主义市场经济的不断发展和完善,我国第三方物流企业也随之不断发展和壮大,对第三方物流的研究也在不断深入。

2008年,王道平在《现代物流管理》中对第三方物流一体化进行了研究并做了生实证分析并指出,为了加快我国第三方物流企业发展,应加快产权制度改革,加强信息系统和网点建设,加强政府的协调指导作用,强化增值服务,推动物流企业重组联盟,加强人力资源建设。

2007年,王瑾在《财经》上指出,面对经济全球化趋势和加入WTO后国外大型物流企业抢滩国内市场,我国第三方物流企业生存并发展壮大的重要途径就是实现物流企业的战略联盟,并对建立物流联盟的可能性给予了分析,提出了我国第三方物流企业构建战略联盟的方式。

2007年,李红霞等在《经济理论与经济管理》中指出,在当今电子商务高速发展的环境下,第三方物流出现信息化、自动化、联盟化、网络化、个性化和柔性化等趋势,建立与之相适应的发展新模式已成为中国物流企业需要解决的重要问题。

2005年,张永在《当代经济科学》针对第三方物流企业物流设施网络设计相关研究的不足,以第三方物流结点的布局方法为研究主题,对候选物流结点的评价与选择、模糊环境下物流结点布局模型的建立与求解及物流阶段布局方案的评价与选择等问题进行了重点研究。张亦弛在《南方日报》中利用层次分析法的思想,建立了第三方物流组织层次模型,并进行分层描述,分析了第三方物流组织协作流程模型,对第三方组织内部的协作模式做了整体的描述。

1.3本文的组织结构

第一章是绪论,本文章的开头部分,对本题目的研究背景与意义和国内外研究现状等一些做文字性的描述。

第二章研究了第三方物流系统的所采用的开发技术和开发工具。

第三章是系统分析部分,包括系统总体需求描述、功能性角度分析系统需求、非功能性等各个方面分析系统是否可以实现。

第四章是系统设计部分,本文章的重要部分,提供了系统架构的详细设计和一些主要功能模块的设计说明。

第五章是系统的具体实现,介绍系统的各个模块的具体实现。

第六章在前几章的基础上对系统进行测试和运行。

最后对系统进行了认真的总结,以此对未来有一个新的展望。

  • 开发工具

2.1  J2EE技术

人可以掌握多门外语,而一个计算机科学家精通的大多是编程语言,它不是人类的自然语言,比如C语言、Java、Perl等等。由于不同的公司开发出的“中间件”不够规范,所以Sun公司推出J2EE,用这个标准来解决弊病。它提供了良好的机制,让每个层次允许与之相对的服务器、组件运行,使得系统的搭建稳定可用、开发高效、维护方便。

2.2 MVC模式

MVC模式是常用的开发模式,主要是在代码实现上将其分为M层、V层和C层。

视图(View)代表物流企业交互界面,一个 Web 应用就可能有很多的界面,在 MVC 模式中,视图仅仅处理的只有数据采集、处理,还有物流企业的请求, 并不包括业务流程的处理,业务流程由模型(Model)来处理。

模型(Model)就是业务流程/状态的处理及业务规则的制定。模型处理业务流程的过程其它层是无法看见了的,它就像黑箱子,在接受视图请求的数据之后,然后返回最终的处理结果。MVC 最主要的核心就是业务模型的设计,一个典型的应用例子就是目前流行的 EJB 模型,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但是它不能作为应用设计模型的框架[4]。

控制器(Controller)可以理解为接收物流企业的请求,然后视图和模型匹配在一起,一起再完成物流企业请求。它有非常明显的作用在划分控制层上,可以很清晰地告诉你,它就是一个分发器,选择什么样的模型、视图,可以完成物流企业的什么样的请求。控制层不做所有的数据处理,比如说:物流企业点击一个连接,控制层接受到请求之后,并不处理业务信息,它只是向模型传递物流企业的信息,同时告诉模型做什么,然后选择符合需求的视图返回给物流企业。

2.3 MySQL数据库

科技的进步,给日常带来许多便利:教室的投影器用到了虚拟成像技术,数码相机用到了光电检测技术,比如超市货物进出库的记录需要一个信息仓库。这个信息仓库就是数据库,而这次的第三方物流系统也需要这项技术的支持[7]。

用MySQL这个软件,是因为它能接受多个使用者访问,而且里面存在Archive等。它会先把数据进行分类,然后分别保存在表里,这样的特别操作就会提高数据管理系统自身的速度,让数据库能被灵活运用。MySQL的代码是公开的,而且允许别人二次编译升级。这个特点能够降低使用者的成本,再搭配合适的软件后形成一个良好的网站系统。虽然它有缺点,但是综合各方面来说,它是使用者的主流运用的对象[8]。

2.4 B/S结构

B/S(Browser/Server)比前身架构更为省事的架构。它借助Web server完成数据的传递交流。只需要下载浏览器作为客户端,那么工作就达到“瘦身”效果, 不需要考虑不停装软件的问题[9]。

2.5 SSM框架

SSM即SpringMVC+Spring+Mybatis,这三个框架有各自最独有的优势,那么将它们组合在一起能够碰撞出很强的火花。设计者在不需消耗大量功夫,能做出Web应用程序,而且这个程序还具有层次清晰、升级更新操作不影响正常使用的、允许多次使用的特点。这个复合框架形成一个有着结构完整、功能强大和结构良好的体系:SpringMVC使各板块分离,Spring使开发更灵活方便,使用Mybatis让开发者直接对对象进行操纵,各层次分工明细,并实现各个层次间的解耦,让代码更加的灵活精简。这个框架使程序员能够规避在开发时期避免个别错误导致整体被破坏,也能在后期应对客户对产品提出的新需求[10] [11]。

2.6  MyEclipse开发工具

MyEclipse是由Genuitec公司开发的,一款功能非常强大的JavaEE的集成开发环境,其中包括有:完备的编码、调试、测试和发布功能[10],完整支持JSP、Spring、CSS、JavaScript、SpringMVC、HTML、JSF、Mybatis、SQL等技术。在体系结构上,MyEclipse的特征可以被分为7类:JavaEE模型;Web开发工具、EJB开发工具、JavaEE项目部署服务、应用程序服务器的而连接器、数据库服务、MyEclipse整合帮助[11]。

对于以上每一种功能的类别,在MyEclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse在结构上的这种模块化,可以让它在不影响其他模块的情况下,对其中任意的一个模块进行单独的扩展和升级。强大的MyEclipse应用开发平台也不仅仅只是Eclipse的插件而已,同时更是一款功能强大的,用于JavaEE的集成开发环境[12]。

第三章 系统分析

3.1需求分析

任何一个项目在开发研究前,都需要对研发系统本身的需求做一个认真的分析,市场的调研是不可忽视的,从实际场景中确定使用人员的功能需求,从而明确目标,对整个系统的开发有一个更加准确的定位,在这个章节,需要对系统的性能分析,业务流程分析,和数据等进行分析,第三方物流系统的整体界面简单,功能完善。

需求的可行性是分析和讨论发达的系统能达到什么样的要求。开发的系统平台是否符合之前的要求。只有在预先评估系统的开发中,才能在系统开发和实施之前完成需求。如果您不具备开发一个功能不合格的系统的可行性,那就是开发失败。开发系统是否有用,可以完成之前讨论过的需求,以下分析了第三方物流系统的实际需求。

系统设计需要从第三方物流系统设计的实际需求开始,以了解他们需要实施哪些功能以及他们可以包括哪些管理工作。

考虑到第三方物流系统设计的特点,应满足几个要求:

(1)它可以通过网络开展第三方物流系统信息管理工作,促进对第三方物流系统信息管理。

(2)第三方物流系统设计管理员可以查看车队资料、司机资料、企业资料等;

(3)它提供了一个免费的渠道,以确保数据的实时有效沟通。

3.2可行性分析

3.2.1技术可行性:技术背景     

第三方物流系统采用了SSM技术,开发了功能完备、使用简单的前端应用程序,并建立、维护了一个数据完整、安全、稳定性强的后台数据库系统。

系统使用SSM技术和Mysql数据库作为设计工具,可简单易行地学习操作。管理员之间的相结合开发一套第三方物流系统是值得尝试的,数据完整性和许多品质为数据的功能分配和管理提供了依据。它也是数据库安全平台的重要组成部分,是提高和增强数据安全性的重要手段。此外,为了提供更平滑,更智能和更有效的基本控制方法,定义了同时构建对安全计算环境的支持所需的步骤,并帮助维护安全性。因为在这两种开发工具中,功能强大且免费且界面良好,所以第三方物流系统在技术方面是可行的。

3.2.2经济可行性

第三方物流系统管理的开发是由开发者自己开发,不需要购买其他软件或者端口之类的,而且在第三方物流系统管理的开发之前所做的市场调研及其他的第三方物流系统,都是没有任何费用的,通过开发者自己的努力,所有的工作的都是自己亲力亲为,在碰到自己比较难以解决的问题,大多是通过同学和指导老师的帮助进行相关信息的解决,所以对于第三方物流系统的开发在经济上是完全可行的,没有任何费用支出的。

使用SSM技术是比较成熟的技术,所以第三方物流系统的开发在经济上是没有问题的。

3.2.3操作可行性: 

可操作性主要是对第三方物流系统设计完成后,是为了让企业的使用者更加方便的进行管理物流相关联的一些信息,通过界面导航菜单可以简单明了地操作功能模块,对于系统的操作,不需要专业人员都可以直接进行功能模块的操作管理,所以在系统的可操作性是完全可以的。本系统的操作使用的也是界面窗口进行登录,所以操作人员只要会简单的电脑操作就完全可以的。

3.3性能分析

对于性能分析,与传统的管理方式相比,传统的管理方式是使用人工通过用纸和笔进行数据信息的统计和管理,并且这种方式对于存储和查找某一数据信息都比较麻烦,随着计算机网络的到来,这种传统的方法很难适应当下社会的发展,不仅降低人们的办事效率,而且还需要很多的人力和物力,对于使用的时间和所要花费的费用都是比较高的,为了降低成本费用,提高物流企业的工作效率,进行开发一套基于计算机和网络技术的第三方物流系统。

第三方物流系统的开发设计时一个独立的系统,以流行数据库进行数据的存储开发,主要是为了实现第三方物流系统的员工及相对应的功能模块,让第三方物流系统的管理不会存在管理差异、低效率,而是跟传统的管理信息恰好相反,第三方物流系统的实现可以节约资源,并且对于业务的处理速度也提高,速度快、效率高,功能性强大。

3.4系统操作流程

3.4.1物流企业登录流程

对于系统的安全性的第一关,就是管理人员想要进入系统,必须通过登录窗口,输入自己的登录信息才可以进行登录,管理人员输入的信息准确无误后才可以进入到操作系统界面,进行功能模块的相对应操作,如果管理人员输入的信息不正确,则窗口出现提示框,管理人员登录失败,返回到第一步进行重新输入,如图3-1所示。

图3-1登录操作流程图

3.4.2信息添加流程

对于第三方物流系统,需要随时添加所需要的数据信息,对于管理人员添加信息,需要根据添加界面,根据选框的内容进行填写所要添加的数据信息,信息输入完成后判断数据信息是否符合要求,符合要求则添加完成,管理人员所添加的信息不符合要求,则需要返回到第一步,重新输入数据信息,再进行判断操作,如图3-2所示。

图3-2 信息添加流程图

3.4.3信息删除流程

不管是哪个管理人员进入到系统操作界面,都可以进行不同的信息内容的操作功能,对用系统数据信息的删除,管理人员一旦将信息删除,那么该删除的数据信息将无法恢复,所以管理人员在对数据删除事,一定判断删除的内容是否是确定要删除的,确定无误后选择确定删除操作,如图3-3所示。

图3-3 信息删除流程图

第四章 系统设计与实现

4.1系统架构设计

第三方物流系统的系统项目的概述设计分析,主要内容物流货物信息的具体分析,进行数据库的是设计,数据采用mysql数据库,并且对于系统的设计采用比较人性化的操作设计,对于系统出现的错误信息可以及时做出处理及反馈。

基于第三方物流系统的设计基于现有的网络信息,可以实现后台首页、企业资料、车队资料、车辆资料、厢型分类、司机资料、员工资料、运输登记、出车登记、维修登记、保养登记、事故登记、违章登记、订单管理、财务记录、银行存款、工资管理等功能。

图4-1管理员功能模块图

4.2开发流程设计

第三方物流系统的开发对管理模块和系统使用的数据库进行分析,编写代开发,规划和操作是构建信息管理应用程序的必要三步曲,它决定了系统是否能够真正实现预设功能以及是否可以在成功设计后实施。在开发过程中,每个阶段必须严格按照线性顺序进行开发,并且在相应阶段生成的每个工作都可以通过技术进行验证和检查。确保一个阶段完成后是正确的,不会造成下一阶段拖拽现象,使系统完成设计功能后得到保证。

从第三方物流系统的成功开发经验来看,上述方法效果最为明显,最大程度地降低了系统开发的复杂性。如图4-2所示。

图4-2开发系统流程图

4.3数据库设计

数据库是信息系统的基础和核心。数据库设计的好坏直接影响到信息系统开发的成败。创建数据库表首先确定实体的属性和实体之间的关系。根据关系创建一个数据表。

4.3.1实体ER图

数据库是整个软件编程中最重要的一个步骤,对于数据库问题主要是判定数据库的数量和结构公式的创建。展示系统使用的是Mysql进行对数据库进行管理,进行保证数据的安全性、稳定性等。

概念模型的设计是为了抽象真实世界的信息,并对信息世界进行建模。它是数据库设计的强大工具。数据库概念模型设计可以通过E-R图描述现实世界的概念模型。系统的E-R图显示了系统中实体之间的链接。而且Mysql数据库是自我保护能力比较强的数据库,下图主要是对数据库实体的E-R图:

(1) 员工资料管理实体属性图,如图4-3所示:

图4-3 员工资料实体属性图

(2)运输登记管理实体属性图,如图4-4所示:

图4-4运输登记实体属性图

(3)工资管理实体属性图,如图4-5所示:

图4-5工资管理实体属性图

(4)维修登记管理实体属性图,如图4-6所示:

图4-6维修登记管理实体属性图

4.3.2数据表

我们可以根据数据结构的详细分析要求,我们根据输入和输出数据量的要求进行分析,确定什么表表,结构之间的关系,我们可以验证,调整和完善,查询和浏览过程,可以实现数据库,以使物流企业对数据和功能有更多要求。

基于系统使用的数据库管理系统的特点,对数据库的概念模型进行了转换和构建。但是,这个系统只需要充分考虑第三方物流系统的功能,而且组织比较清晰。

表accident_registration (事故登记)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

accident_registration_id

int

10

0

N

Y

事故登记ID

2

date_of_accident

date

10

0

Y

N

事故日期

3

registration_of_vehicles

varchar

64

0

Y

N

登记车辆

4

vehicle_driver

varchar

64

0

Y

N

车辆司机

5

accident_location

varchar

64

0

Y

N

事故地点

6

responsible_party

varchar

64

0

Y

N

责任方

7

amount_of_damages

varchar

64

0

Y

N

损失金额

8

operator

varchar

64

0

Y

N

经办人

9

entered_by

varchar

64

0

Y

N

录入人

10

entry_time

datetime

19

0

Y

N

录入时间

11

remarks

text

65535

0

Y

N

备注信息

12

recommend

int

10

0

N

N

0

智能推荐

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表bank_deposit_and_withdrawal (银行存取)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

bank_deposit_and_withdrawal_id

int

10

0

N

Y

银行存取ID

2

access_title

varchar

64

0

Y

N

存取标题

3

access_type

varchar

64

0

Y

N

存取类型

4

total_deposit_and_withdrawal_amount

int

10

0

Y

N

0

存取总额

5

accessing_items

varchar

64

0

Y

N

存取项目

6

access_notes

text

65535

0

Y

N

存取备注

7

recommend

int

10

0

N

N

0

智能推荐

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表classification_of_compartment_type (厢型分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

classification_of_compartment_type_id

int

10

0

N

Y

厢型分类ID

2

classification_of_compartment_type

varchar

64

0

Y

N

厢型分类

3

recommend

int

10

0

N

N

0

智能推荐

4

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表departure_registration (出车登记)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

departure_registration_id

int

10

0

N

Y

出车登记ID

2

license_plate

varchar

64

0

Y

N

车牌号码

3

vehicle_model

varchar

64

0

Y

N

车辆型号

4

date_of_departure

date

10

0

Y

N

出车日期

5

driver

varchar

64

0

Y

N

驾驶人员

6

car_customers

varchar

64

0

Y

N

用车客户

7

destination

varchar

64

0

Y

N

目的地

8

bill_of_lading_number

varchar

64

0

Y

N

提单号

9

remarks

varchar

64

0

Y

N

备注信息

10

settlement_status

varchar

64

0

Y

N

结算状态

11

recommend

int

10

0

N

N

0

智能推荐

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表driver_information (司机资料)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

driver_information_id

int

10

0

N

Y

司机资料ID

2

drivers_name

varchar

64

0

Y

N

司机姓名

3

driver_gender

varchar

64

0

Y

N

司机性别

4

drivers_age

varchar

64

0

Y

N

司机年龄

5

id_number

varchar

64

0

Y

N

身份证号

6

drivers_license_number

varchar

64

0

Y

N

驾驶证号

7

type_of_drivers_license

varchar

64

0

Y

N

驾驶证类别

8

driving_vehicle_number

varchar

64

0

Y

N

驾驶车号

9

contact_number

varchar

64

0

Y

N

联系电话

10

contact_address

varchar

64

0

Y

N

联系地址

11

emergency_contact

varchar

64

0

Y

N

紧急联系人

12

contact_phone_number

varchar

64

0

Y

N

联系人电话

13

recommend

int

10

0

N

N

0

智能推荐

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表employee_information (员工资料)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

employee_information_id

int

10

0

N

Y

员工资料ID

2

employee_name

varchar

64

0

Y

N

员工姓名

3

employee_gender

varchar

64

0

Y

N

员工性别

4

employee_age

varchar

64

0

Y

N

员工年龄

5

employee_position

varchar

64

0

Y

N

员工职务

6

id_number

varchar

64

0

Y

N

身份证号

7

contact_number

varchar

64

0

Y

N

联系电话

8

contact_address

varchar

64

0

Y

N

联系地址

9

emergency_contact

varchar

64

0

Y

N

紧急联系人

10

contact_phone_number

varchar

64

0

Y

N

联系人电话

11

recommend

int

10

0

N

N

0

智能推荐

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表employee_users (员工用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

employee_users_id

int

10

0

N

Y

员工用户ID

2

employee_name

varchar

64

0

Y

N

员工姓名

3

employee_gender

varchar

64

0

Y

N

员工性别

4

employee_age

varchar

64

0

Y

N

员工年龄

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

recommend

int

10

0

N

N

0

智能推荐

7

user_id

int

10

0

N

N

0

用户ID

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表enterprise_information (企业资料)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

enterprise_information_id

int

10

0

N

Y

企业资料ID

2

corporate_name

varchar

64

0

Y

N

公司名称

3

company_address

varchar

64

0

Y

N

公司地址

4

institution_code

varchar

64

0

Y

N

机构代码

5

legal_representative

varchar

64

0

Y

N

法人代表

6

opening_bank

varchar

64

0

Y

N

开户银行

7

bank_account

varchar

64

0

Y

N

银行账号

8

tax_account

varchar

64

0

Y

N

纳税账号

9

mailing_address

varchar

64

0

Y

N

通信地址

10

postal_code

varchar

64

0

Y

N

邮政编码

11

contact_number

varchar

64

0

Y

N

联系电话

12

recommend

int

10

0

N

N

0

智能推荐

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表financial_records (财务记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

financial_records_id

int

10

0

N

Y

财务记录ID

2

record_type

varchar

64

0

Y

N

记录类型

3

record_total_amount

int

10

0

Y

N

0

记录总额

4

record_date

date

10

0

Y

N

记录日期

5

record_items

varchar

64

0

Y

N

记录项目

6

record_remarks

text

65535

0

Y

N

记录备注

7

recommend

int

10

0

N

N

0

智能推荐

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表fleet_information (车队资料)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

fleet_information_id

int

10

0

N

Y

车队资料ID

2

fleet_name

varchar

64

0

Y

N

车队名称

3

contacts

varchar

64

0

Y

N

联系人

4

contact_number

varchar

64

0

Y

N

联系电话

5

contact_address

varchar

64

0

Y

N

联系地址

6

opening_bank

varchar

64

0

Y

N

开户银行

7

bank_account

varchar

64

0

Y

N

银行账号

8

remarks

text

65535

0

Y

N

备注信息

9

recommend

int

10

0

N

N

0

智能推荐

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表maintenance_registration (保养登记)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

maintenance_registration_id

int

10

0

N

Y

保养登记ID

2

maintenance_date

date

10

0

Y

N

保养日期

3

maintenance_vehicle_number

varchar

64

0

Y

N

保养车号

4

vehicle_driver

varchar

64

0

Y

N

车辆司机

5

maintenance_program

varchar

64

0

Y

N

保养项目

6

maintenance_details

varchar

64

0

Y

N

保养明细

7

maintenance_location

varchar

64

0

Y

N

保养地点

8

last_kilometers

varchar

64

0

Y

N

上次公里数

9

maintenance_kilometers

varchar

64

0

Y

N

保养公里数

10

next_kilometer

varchar

64

0

Y

N

下次公里数

11

maintenance_amount

varchar

64

0

Y

N

保养金额

12

operator

varchar

64

0

Y

N

经办人

13

recorder

varchar

64

0

Y

N

录单人

14

entry_time

datetime

19

0

Y

N

录入时间

15

remarks

text

65535

0

Y

N

备注信息

16

recommend

int

10

0

N

N

0

智能推荐

17

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

18

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表order_management (订单管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

order_management_id

int

10

0

N

Y

订单管理ID

2

order_number

varchar

64

0

Y

N

订单编号

3

order_receiving_time

datetime

19

0

Y

N

接单时间

4

contacts

varchar

64

0

Y

N

联系人

5

contact_number

varchar

64

0

Y

N

联系电话

6

shippers_address

varchar

64

0

Y

N

托运方地址

7

ship_to_address

varchar

64

0

Y

N

收货方地址

8

cargo_weight

varchar

64

0

Y

N

货物重量

9

freight_for_goods

varchar

64

0

Y

N

货物运费

10

order_status

varchar

64

0

Y

N

订单状态

11

recommend

int

10

0

N

N

0

智能推荐

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表repair_registration (维修登记)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

repair_registration_id

int

10

0

N

Y

维修登记ID

2

repair_order_number

varchar

64

0

Y

N

维修单号

3

repair_date

date

10

0

Y

N

维修日期

4

maintenance_depot

varchar

64

0

Y

N

维修车厂

5

repair_vehicle_number

varchar

64

0

Y

N

维修车号

6

repair_driver

varchar

64

0

Y

N

送修司机

7

maintenance_items

varchar

64

0

Y

N

维修项目

8

accessory_code

varchar

64

0

Y

N

配件编码

9

accessory_name

varchar

64

0

Y

N

配件名称

10

accessories_specifications

varchar

64

0

Y

N

配件规格

11

number_of_accessories

varchar

64

0

Y

N

配件数量

12

unit_price_of_accessories

varchar

64

0

Y

N

配件单价

13

accessories_costs

varchar

64

0

Y

N

配件费用

14

labor_costs

varchar

64

0

Y

N

人工费用

15

payable_amount

varchar

64

0

Y

N

应付金额

16

amount_paid

varchar

64

0

Y

N

已付金额

17

operator

varchar

64

0

Y

N

经办人

18

recorder

varchar

64

0

Y

N

录单人

19

entry_time

datetime

19

0

Y

N

录入时间

20

remarks

text

65535

0

Y

N

备注信息

21

recommend

int

10

0

N

N

0

智能推荐

22

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

23

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表salary_management (工资管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

salary_management_id

int

10

0

N

Y

工资管理ID

2

employee_users

int

10

0

Y

N

0

员工用户

3

employee_name

varchar

64

0

Y

N

员工姓名

4

employee_base_salary

int

10

0

Y

N

0

员工底薪

5

employee_performance

int

10

0

Y

N

0

员工绩效

6

employee_bonus

int

10

0

Y

N

0

员工奖金

7

absence_deduction

int

10

0

Y

N

0

缺勤扣款

8

absence_days

int

10

0

Y

N

0

缺勤天数

9

salary_month

varchar

64

0

Y

N

工资月份

10

total_distribution

varchar

64

0

Y

N

总计发放

11

release_date

date

10

0

Y

N

发放日期

12

salary_details

text

65535

0

Y

N

工资详情

13

recommend

int

10

0

N

N

0

智能推荐

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表transportation_registration (运输登记)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

transportation_registration_id

int

10

0

N

Y

运输登记ID

2

transport_note_number

varchar

64

0

Y

N

运输单号

3

date_of_departure

date

10

0

Y

N

出车日期

4

arrival_date

date

10

0

Y

N

到达日期

5

transport_fleet

varchar

64

0

Y

N

运输车队

6

fleet_vehicle_number

varchar

64

0

Y

N

车队车号

7

main_driver

varchar

64

0

Y

N

主驾司机

8

co_driver

varchar

64

0

Y

N

副驾司机

9

dispatching_personnel

varchar

64

0

Y

N

调度人员

10

transport_type

varchar

64

0

Y

N

运输类型

11

current_state

varchar

64

0

Y

N

当前状态

12

template_number

varchar

64

0

Y

N

模板编号

13

round_trip_information

varchar

64

0

Y

N

往返信息

14

vehicle_identification_number

varchar

64

0

Y

N

车签号

15

task_order_number

varchar

64

0

Y

N

任务单号

16

container_volume

varchar

64

0

Y

N

货箱容积

17

shipper

varchar

64

0

Y

N

托运方

18

ship_to

varchar

64

0

Y

N

收货方

19

loading_address

varchar

64

0

Y

N

装货地址

20

unloading_address

varchar

64

0

Y

N

卸货地址

21

name_of_goods

varchar

64

0

Y

N

货物名称

22

unit_of_measurement

varchar

64

0

Y

N

计量单位

23

quantity_of_goods

varchar

64

0

Y

N

货物数量

24

route_name

varchar

64

0

Y

N

路线名称

25

deadweight_kilometers

varchar

64

0

Y

N

载重公里

26

empty_kilometers

varchar

64

0

Y

N

空车公里

27

freight_unit_price

varchar

64

0

Y

N

运费单价

28

receivable_amount

varchar

64

0

Y

N

应收金额

29

received_amount

varchar

64

0

Y

N

已收金额

30

outstanding_amount

varchar

64

0

Y

N

未收金额

31

payment_unit

varchar

64

0

Y

N

支付单位

32

salesman

varchar

64

0

Y

N

业务员

33

departure_and_payment_collection

varchar

64

0

Y

N

出车领款

34

payee

varchar

64

0

Y

N

领款人

35

payable_repayment

varchar

64

0

Y

N

应交还款

36

paid_in_repayment

varchar

64

0

Y

N

实交还款

37

commission_ratio

varchar

64

0

Y

N

提成比例

38

drivers_salary

varchar

64

0

Y

N

司机工资

39

co_drivers_salary

varchar

64

0

Y

N

副驾工资

40

total_departure_fee

varchar

64

0

Y

N

出车费合计

41

total_plus_postage

varchar

64

0

Y

N

加邮费合计

42

total_toll_fees

varchar

64

0

Y

N

路卡费合计

43

total_of_places

varchar

64

0

Y

N

之处合计

44

single_trip_profit

varchar

64

0

Y

N

单趟利润

45

driving_kilometers

varchar

64

0

Y

N

行驶公里

46

fuel_consumption

varchar

64

0

Y

N

耗油量

47

standard_fuel_consumption

varchar

64

0

Y

N

标准油耗

48

excessive_fuel_consumption

varchar

64

0

Y

N

油耗节超

49

received_fuel_card

varchar

64

0

Y

N

已收油卡

50

entered_by

varchar

64

0

Y

N

录入人

51

entry_time

datetime

19

0

Y

N

录入时间

52

receipt_form

varchar

64

0

Y

N

签收单

53

remarks

text

65535

0

Y

N

备注信息

54

recommend

int

10

0

N

N

0

智能推荐

55

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

56

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

表vehicle_information (车辆资料)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

vehicle_information_id

int

10

0

N

Y

车辆资料ID

2

affiliated_fleet

varchar

64

0

Y

N

所属车队

3

license_plate

varchar

64

0

Y

N

车牌号码

4

vehicle_model

varchar

64

0

Y

N

车辆型号

5

tank_volume

varchar

64

0

Y

N

厢体容积

6

classification_of_compartment_type

varchar

64

0

Y

N

厢型分类

7

tonnage_ton

varchar

64

0

Y

N

吨位(吨)

8

vehicle_length_meters

varchar

64

0

Y

N

车长(米)

9

vehicle_width_meters

varchar

64

0

Y

N

车宽(米)

10

vehicle_status

varchar

64

0

Y

N

车辆状态

11

driving_license

varchar

255

0

Y

N

行驶证

12

recommend

int

10

0

N

N

0

智能推荐

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表violation_registration (违章登记)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

violation_registration_id

int

10

0

N

Y

违章登记ID

2

violation_date

date

10

0

Y

N

违章日期

3

illegal_vehicle_number

varchar

64

0

Y

N

违章车号

4

violating_driver

varchar

64

0

Y

N

违章司机

5

violation_location

varchar

64

0

Y

N

违章地点

6

illegal_items

varchar

64

0

Y

N

违章项目

7

penalty_points_for_violations

varchar

64

0

Y

N

违章扣分

8

penalty_amount

varchar

64

0

Y

N

罚款金额

9

amount_borne_by_the_company

varchar

64

0

Y

N

公司承担金额

10

amount_borne_by_the_driver

varchar

64

0

Y

N

司机承担金额

11

entered_by

varchar

64

0

Y

N

录入人

12

entry_time

datetime

19

0

Y

N

录入时间

13

remarks

text

65535

0

Y

N

备注信息

14

recommend

int

10

0

N

N

0

智能推荐

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

第五章 系统实现

5.1管理员功能 

第三方物流系统登录界面,通过填写账号、密码、滑动滑块进行登录,如图5-1所示。

图5-1登录界面图

登录关键代码如下所示.

 /**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map login(@RequestBody Map data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        QueryWrapper wrapper = new QueryWrapper();

        Map map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            tokenService.save(accessToken);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

}

    public String select(Map query,Map config){

        StringBuffer sql = new StringBuffer("select ");

        sql.append(config.get(FindConfig.FIELD) == null || "".equals(config.get(FindConfig.FIELD)) ? "*" : config.get(FindConfig.FIELD)).append(" ");

        sql.append("from ").append("`").append(table).append("`").append(toWhereSql(query, "0".equals(config.get(FindConfig.LIKE))));

        if (config.get(FindConfig.GROUP_BY) != null && !"".equals(config.get(FindConfig.GROUP_BY))){

            sql.append("group by ").append(config.get(FindConfig.GROUP_BY)).append(" ");

        }

        if (config.get(FindConfig.ORDER_BY) != null && !"".equals(config.get(FindConfig.ORDER_BY))){

            sql.append("order by ").append(config.get(FindConfig.ORDER_BY)).append(" ");

        }

        if (config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE))){

            int page = config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE)) ? Integer.parseInt(config.get(FindConfig.PAGE)) : 1;

            int limit = config.get(FindConfig.SIZE) != null && !"".equals(config.get(FindConfig.SIZE)) ? Integer.parseInt(config.get(FindConfig.SIZE)) : 10;

          sql.append(" limit ").append( (page-1)*limit ).append(" , ").append(limit);

        }

        log.info("[{}] - 查询操作,sql: {}",table,sql);

        return sql.toString();

}

    public List selectBaseList(String select) {

        List> mapList = baseMapper.selectBaseList(select);

        List list = new ArrayList<>();

        for (Map map:mapList) {

            list.add(JSON.parseObject(JSON.toJSONString(map),eClass));

        }

        return list;

}

管理员界面,功能包含后台首页、系统用户、企业资料、车队资料、车辆资料、厢型分类、司机资料、员工资料、运输登记、出车登记、维修登记、保养登记、事故登记、违章登记、订单管理、财务记录、银行存款、工资管理等信息,如图5-2所示。

图5-2管理员功能界面图

个人信息,可以进行修改个人信息以及查看功能。如图5-3所示。

图5-3个人中心页面图

系统用户管理,在系统用户管理信息页面可以对管理员进行添加或删除和修改等操作,如图5-4所示。

图5-4添加管理员页面图

企业资料管理,在企业资料管理页面可查看公司名称、公司地址、机构代码、法人代表、开户银行、银行账号、纳税账号、联系电话等信息,可根据需要进行添加、删除等操作,如图5-5所示。

图5-5企业资料管理页面图

车队资料:车队资料页面可查看车队名称、联系人、联系电话、联系地址、开户银行、银行账号等信息可根据需要进行添加、删除等操作,如下图5-6所示。 

5-6 车队资料管理页面

车辆资料:车辆资料页面可查看所属车队、车牌号码、车辆型号、厢体容积、吨位、车长、行驶证等信息可根据需要进行添加、删除等操作,如图5-7所示。

图5-7 车辆资料管理页面图

司机资料:司机资料页面可查看司机姓名、司机性别、司机年龄、身份证号、驾驶证号、驾驶车号、联系电话等信息可根据需要进行添加、删除等操作,如图5-8所示。

图5-8 司机资料管理界面图

第六章  系统的测试

6.1 测试目的

程序设计不能保证没有错误,这是一个开发过程,在错误或错误的过程中难以避免,这是不可避免的,但我们不能使这些错误始终存在于系统中,错误可能会造成无法估量的后果 如系统崩溃,安全信息,系统无法正常启动,导致安装物流企业网络信息屏幕等,为了避免这些问题,我们需要测试程序,并发现这些问题,并纠正它们 ,并使系统更长时间稳定成熟,本章的作用是发现这些问题,并对其进行修改,虽然耗时费力,但长期非常重要和必要系统的开发。

软件测试与开发过程是一样的,都必须按照软件工程的正规原理进行,遵守管理学理论。不过,目前国内的软件测试已经积累了大量经验和方法,步骤相对成熟,软件测试的效率也越来越高。

第三方物流系统的实现,对于系统中功能模块的实现及操作都必须通过测试进行来评判系统是否可以准确的实现。在第三方物流系统正式上传使用之前必须做的一步就是系统测试,对于测试发现的错误及时修改处理,保证系统准确无误的供给物流企业使用。

6.2 测试方案设计

6.2.1 测试策略

1、功能测试

从管理员的角度来看,测试时不了解新开发软件的内部结构,因此可以将系统与黑匣子进行比较,盲目输入后可以查看系统给出的反馈。这种测试属于黑盒测试,在测试中如果输入错误信息系统会报错。

2、性能测试

测试软件程序的整体状况(称为性能测试)通常使用自动化测试工具来检测系统的整体功能,在负载测试和压力测试之间进行分配,在某些情况下,将这两种情况结合起来。虽然压力测试可以检测到系统可以提供的最高级别的服务,但负载测试可以测试系统如何响应增加的负载。

6.2.2 测试分析

测试评估系统质量的方法不局限于系统编码和过程,应该与软件设计工作和历史需求分析密切相关。

软件测试应遵循以下原则:

(1)软件测试应尽快进行,整个测试部分应在软件开发和设计的整个过程中进行。如发现错误,立即处理,将大大减少软件开发的时间,并提高软件的质量。

(2)在软件的各种测试中,测试过程中使用的计划、报告等应妥善处理和存储。其主要目的是为了便于以后系统的维护。

(3)软件测试整个过程中的聚类现象应优先考虑。

(4)对于软件测试,我们应该尽量不去和自己设计的系统进行参考,而是要测试对方的程序,以确保软件测试结果的客观性和公平性。

(5)整个测试计划严格按照软件测试的具体实施细则进行。

(6)对整个测试结果进行综合检查,尽量避免重复错误。

本第三方物流系统满足物流企业的要求和需求,本第三方物流系统的使用能够有效的提高物流企业的使用率。

6.3 测试结果

测试后得到的性能和用例,系统具有足够的正确性、可靠性、稳定性,并且可以对输入数据进行准确的点击操作处理和响应测试物流企业的体验也得到了很好的反馈和响应时间。合理的范围,可以兼容所有主流浏览器,设计所需的效果。

标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索