Bootstrap

基于django的物流管理系统

摘要

随着全球经济的蓬勃发展,WTO的成立也给全球的商业活动带来了新的挑战,因此,企业需要充分发挥自身的优势,运用最新的科学技术,在互联网、信息科学的指导下,完善现有的管理体系,实现全面的创新,从而在激烈的市场竞争中取胜。当公司的规模不断增长时,仓储管理系统的地位也会变得更加突出。一个高效、简单的仓储管理系统能够给公司的运转带来更多的保障,并且能够给公司的生产与运营带来更多的帮助。

这篇文章提出了一种新型的物流管理系统,旨在帮助物流公司更好地掌握和运营各种物流数据。该系统采用python和django两种常见的框架,通过MVT来实现对数据集成和分析,从而更好地满足各种需求。此外,该系统还支持多种数据访问,如订单、运输、仓储、配送、销售、服务。通过使用该客户端,我们可以轻松获取有关物流的各种详细信息,并且可以通过输入相应的物流编码来快速检索。该系统的结构紧凑,可有效地帮助物流企业实现有序的运营。

系统的测试表明,本系统可以方便快捷地实现物流管理中的货物登记、出库入库、组车运送等工作,使物流管理工作井井有条,为企业的健康发展创造良好的条件。

关键词

物流管理系统;python;django;模块化设计;物流管理系统。

目录

第1章 绪论

1.1研究背景与意义

1.2开发现状

第2章 相关技术

2.1django框架介绍

2.2 ORM技术概述

2.3 本章小结

第3章 数据库设计

3.1系统流程图设计

3.2 数据库表设计

3.3 数据库初始化

第4章 功能模块

4.1 登录模块

4.2 运单录入模块

4.3 运单管理模块

4.4 发车管理模块

4.5 到货管理模块

4.6 客户签收

4.7 财务管理

4.8业务报表

第5章 环境搭建

   5.1 python环境搭建

   5.2 基于Django物流管理系统实现全过程

第6章 系统测试过程

6.1系统测试方法介绍

6.2 系统功能测试

6.3系统测试结果

6.4 系统日志设置

第7章 总结与建议

参考文献:

第1章 绪论

1.1研究背景与意义

由于科技的发展,数字化手段也在不断地提升,人们越来越重视IT的作用。物流系统现在化时代发展的核心,它具有大量数据存储和高吞吐量的特点,进一步推动物流快速发展,为用户带来更为便利的信息服务。物流管理系统是一种安全、快捷、方便的集成管理方式,它可以保证物流信息的安全,大大提高了物流的效率和保密性。此外,它还可以有效地减少物流数量的丢失,从而更为方便地进行查询、追踪物流

物流管理工作非常复杂,因为它们需要每天处理大量的物流信息和各种类型的物流。这使得工作量巨大,并且每天都要处理大量的物流信息。特别是近年来,网上购物的出现,为物流管理工作带来了新的挑战。为了更好地满足现代物流管理的需求,我们设计了一套具有高效性物流系统,这一工作被视为一项重要任务。我们将采取面向对象的方法,为网上购物建立一套有效、方便、个性化的物流系统,以满足消费者的需求,提升管理人员的工作效率。

通过使用物流管理系统,我们能够大幅网上购物效率,并且能够准确查看物流状况和快递到达。这将为广大消费者提供更快更好的服务,为现代网上购物的发展提供强有力的支持

1.2  开发现状

随着现在国家的发展,为了促进社会走向现代化,国家开放了很多网上购物的网站,随着这些网站的增多,网上购物的人门也越来越多,物流是保证人们网购的有效保证,因此只要保证物流正常进行物流中包裹丢失的现象也越来越多,因此包裹的物流需要人们实时监督包裹丢失,工作量很大,因此经常会出现这种错误,物流系统也会随时进行追踪,人工实现起来困难也很难包裹丢失也得不到良好地控制。

第2章 相关技术

 2.1 django框架介绍

Django架构是一种开源的web应用框架,它源自一支来自堪萨斯州Lawrence市镇的网络开发队伍,并基于Django语言进行设计。它的出现为媒体网站信站的快速建设和传递带来了极大的便利。

 

2.2 ORM技术概述

ORM是一种面向对象的开发方法,它能够有效地将内容之间的关系反映到一个能够永久保存信息的关系信息库中,这种方法现已变成当今企业级应用开发环境中的主流技术。服务实体能够通过内容和联系信息两种形式表现出来,其中内容能够在内部中储藏,而联系信息则能够在信息系统中查看,它们能够表示多对多的联系和承继联系,从而更好地支持业务具体的运作。所以,内容-联系反应(ORM)体系通常以中介件的形态出现,它能够将程序内容反映到联系信息中,从而实现各种数据信息的有效传输和共享。图表2.2展示了ORM框架的结构框架。

 

2.3 本章小结

本章了解了django框架和ORM映射的功能,知道django和ORM的关系,下面就对我们制作管理系统的逻辑思维更加明确,更容易做出管理系统。

第3章 数据库设计

3.1系统流程图设计

流程图分为用户和管理的功能,用户登录可以看见首页,以及运单录入,发车出库、到货管理的一些功能,管理员对所有功能都可以进行管控,为了保证系统的平稳运行。

 

 3.2 数据库表设计

Wuliu_customerscorelog 运单录入信息表:

Wuliu_customer财务管理表:

Wuliu_truck 发车出库信息表:

 

Wuliu_department到货管理表

 

3.3 数据库初始化

在Python学生档案管理系统的设计与实现中,数据库初始化是其中关键的一步。它涉及到建立数据库、数据表以及数据表中的字段等操作。

以下是一个基本的数据库初始化的步骤:

安装数据库软件

在进行数据库初始化之前,需要先安装数据库软件,如MySQL或SQLite等。这里以MySQL为例。

创建数据库

在MySQL中,可以使用命令行或者可视化工具创建数据库。例如,在命令行中输入以下命令:

CREATE DATABASE database_tms;

这将创建一个名为“database_tms”的数据库。

创建数据表

在数据库中,不同的数据需要存储在不同的数据表中。因此,需要创建相应的数据表。在MySQL中,可以使用以下语句创建数据表:

CREATE TABLE table_tms 

其中,“table_tms”是数据表的名称,等则表示数据表中的字段,而“datatype”则指定了字段的数据类型。

添加数据表中的字段

在创建数据表之后,需要添加数据表中的字段。ALTER TABLE语句可以有效地将“students”中的字段转换成“age”,从而实现对“age”的更新和更改。

ALTER TABLE students ADD age INT;

其中,“INT”表示该字段的数据类型为整数。

初始化数据表中的数据

在数据表和字段都创建好之后,就需要为这些数据表添加一些初始数据。在Python中,可以通过MySQLdb库来实现对数据库的操作。

以上是基本的数据库初始化步骤。当然,在具体实现中,可能还需要进行其他的操作,如更改字段的数据类型、添加索引等。

第4章 功能模块

4.1 登录模块

使用html+css+js学习技术,我们可以在登录页面上使用手机号和密码来访问。Js控制用户名和密码登录,JavaScript 验证用户输入的用户名和密码是否符合要求,当用户提交登录时,Js代码 可以通过 AJAX 或 Fetch API 发送异步请求到后台服务器并接收响应,以判断用户输入的用户名和密码是否正确,并执行相应的登录操作,当登录成功或失败时,Js可以根据后台返回的状态码或其他信息,进行相应的跳转其他页面操作,这个页面的主要功能是通过用户名和密码来访问,如下图所示:

 

4.2 运单录入模块

当您访问该系统时,您还可以使用快递单号、个人资料或联系方式等方式,在运输管理界面上输入您的相关个人信息,包括您的联系方式、联系方式、邮编等。您还需要根据您的订购情况,选择合适的物品,并将其详细的信息输入到运输管理界面,运用了js代码为form-edit_waybill元素定义了几个函数和事件处理程序。该代码定义了生成处理费、生成标准费用、生成最终费用、检查费用、锁定客户信息字段和合计值的函数,还有几个jQuery事件处理程序,根据用户输入触发这些函数,然后按照要求完成相应的操作,页面如下图所示:

 

4.3 运单管理模块

运单录入信息后,点击提交后我们可以在运单管理中填入运单号码和运单状态以及运单结算的方式和开票的日期,通过填写发货人信息、电话和开票部门对收货人的姓名、电话和到达部门,最后在打印出这张订单票,如果有填错信息可以进行修改功能,运用了js代码来查询运单,它定义了一个函数toggle_input_disabled(),该函数根据选定的货运单状态来启用或禁用搜索表单中的输入字段。如果货运单状态为"Arrived",则到达日期输入字段将被启用,签收日期输入字段将被禁用;如果货运单状态为"SignedFor",则签收日期输入字段将被启用,到达日期输入字段将被禁用;否则,所有输入字段都将被启用。

此外,该代码还定义了一个监听事件,当日期范围发生变化时,它会更新最小和最大日期值,并在相应的输入字段中显示出来。这个监听事件使用了第三方库duDatepicker来实现日期选择器,页面如下图所示:

 

4.4 发车管理模块

当物流快递多的时候,应该发车进行这些订单配送,通过发车部门和到达部门、驾驶人姓名和电话状态进行发车,可以对车辆进行增加,保证物流按时配送时间,运用了它包含了三个按钮的点击事件处理程序,分别对应运单编辑、作废和创建出车操作。这些操作都与货物运输相关,需要满足一些条件才能执行,比如只能修改或作废同部门的运单,只能选择特定状态的运单创建出车等。页面如下图所示:

 

当车辆发车出库时,可以通过车次编号、车牌号、驾驶人姓名、车次状态、发车部门来对发车管理进行一个查询,可以修改发车次的目的等,当发车完成后,对该车次进行删除等,页面如下图所示:

 

4.5 到货管理模块

当物流到达目的后,我们可以通过车次编号、车牌号、驾驶人姓名、车次状态、到达部门进行车辆查询,使用js代码控制用户是否具有执行某些操作(例如编辑、删除、提交、审核、拒绝或支付CPP)的适当权限,将他们到达目的后进行车辆删除,页面如下图所示:

 

4.6 客户签收

当他们到达送货目的后,会有快递员对用户快递的目的进行送达,通过运单号码、运单状态、结算方式、到货日期进行签收,这个信息包括发货人的电话和开票部门以及收货人的信息,当用户签收后,点击确认签收,当遇到客户不满意时,可以进行退款处理,当送达货物时,发现遗漏的提货单,应进行即使补打,页面如下图所示:

 4.7 财务管理

财务管理分为部门回款单、代收款转账单、客户积分记录三大模块,部门回款单通过回款部门、应回款日期进行查询,当每个物流的付款记录,最终的账单都在部门回款单中进行收款,代收款转账单是指当用户不满意申请退款的时候,主动对用户进行退款转账,我们可以通过收款人、创建日期和支付日期来进行查询转账单的支出,客户积分记录通过会员姓名和会员电话和积分方式进行操作,当会员每一笔运单都可以变积分,也可以通过客户姓名和客户电话进行积分查询,页面如下图所示:

 4.8业务报表

业务报表中分为收货报表、发货库存、到货报表、到货库存、提货报表中,收货报表通过运单号码、运单状态、开票状态、到货日期、提货日期发货人和收货人等,查询模板通过运单号码、运单状态、结算方式进行查询,发货库存通过运单号码、运单状态、开票日期、到达部门、开票部门发车时间来进行管理库存,可以通过开票部门和到达部门来查询发货库存,到货报表当运单送到指定位置后,签收人进行签收完,到货报表可以运单号码和结算方式进行查询等,它们的页面如下图所示:

 

第5章 环境搭建

5.1 python环境搭建

1. 安装 Python

首先需要安装 Python,推荐安装最新版本的 Python 3。可以从官网下载 Python 安装包并按照提示进行安装。

安装 pip

安装完 Python 后,使用以下命令安装 pip:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

python get-pip.py

2.创建虚拟环境

为了避免在系统中安装各种包时出现冲突,我们需要创建 Python 虚拟环境。进入要创建虚拟环境的目录并执行以下命令:

python3 -m venv env

其中 env 是虚拟环境的名称,在这个环境里面我们将安装 Django 和其他依赖库。

3.激活虚拟环境

创建完成虚拟环境后,我们需要激活该虚拟环境以便在其中安装 Django 和数      据库。在终端执行以下命令:

source env/bin/activate

4.安装 Django

在虚拟环境激活状态下,通过以下命令安装 Django:

pip install django

创建 Django 项目

安装完 Django 后,我们就可以创建 Django 项目了。在虚拟环境激活状态下,执行以下命令:

django-admin startproject express-system-main

通过使用 express-system-main 命令,您可以在当前目录下创建一个以 projectname 命名的 Django 项目,并在setting中调整数据库的名称、models、template等功能,最后使用js将您的需求转化为可执行的页面,从而实现您的目标。请在urls中输入您的网站地址,然后将它与您的视图view中的template网页进行关联。

5.运行 Django 服务器

进入项目所在的顶层目录(即包含 manage.py 文件的目录)并执行以下命令来运行 Django 开发服务器:

输入python manage.py runserver就可以跳转网页,Django 系统环境搭建过程就完成了。

5.2 基于Django物流管理系统实现全过程

一.创建项目

1.首先,使用django-admin startproject utils建立某个app项目,然后使用python manage.py startapp Myapp建立某个app,最后在setting中注册应用,以完成建立某个app的过程。

2.连接数据库,连接一个名叫tms的数据库,输入密码和端口号。

 

在init.py中添加pymysql.install_as_MySQLdb()

二.编写模型

1.在models中添加物流模型

 

一定要注册模型

2.数据迁移分别使用python manage.py makemigrations、python manage.py migrate进行数据迁移,数据迁移后进行添加urls路径和view视图模型,最后输入python manage.py runserver则可进入登录页面。

第6章   系统测试过程

6.1系统测试方法介绍

经过精心设计和调试,该操作系统已经在本地服务器设备上执行,并且经过了全面的测试,以确保其内部结构和处理算法的准确性和可靠性。

经过对模块能力的检测,我们能够确保平台的运行,无论是正确的还是错误的,以及边界数据。

6.2 系统功能测试

1.登录录页面的正常登录,使用正确的账号密码进行登录,否则登录不进去。

2.登录进去后,首先看到个人首页,在个人首页中填写对应的信息,添加运单信息点击保存。

3.点击发车出库后,可以实时监控车辆信息,输入错误的信息后,则会找不到这辆车信息。

4.当到达目的后,车辆送完货后,就无法监控这辆车信息。

5.用户签收后,有三点选择,不满意可以申请实时退款,满意后可以进行评分,可以根据运单信息查询是否本人签收包裹等,输入错误运单信息,无法找到本订单信息等。

6.3系统测试结果

通过我们的测试,我们发现这款系统不仅可以满足用户的基本需求,而且它的各种功能都可以让操作人员轻松地控制其它用户。然而,我们仍然发现它的许多功能仍然不够强大,因为它只能提供基本的服务,我们必须不断改进它,让它变成最优秀的。    

6.4 系统日志设置

物流管理系统中的系统日志是用于记录系统运行期间发生的各种事件、错误和异常信息的工具。通过对系统日志的分析,可以帮助管理员及时发现问题并进行处理,提高系统的稳定性和可靠性。在基于django开发的物流管理系统中,通常会通过配置日志记录器和处理器来实现系统日志的设置,并结合日志级别、格式化器等参数来满足不同的需求。同时,还可以使用第三方库或插件来增强系统日志的功能和可视化展示效果。

第7章 总结与建议

 7.1 项目总结

通过两周的产品设计和研发,我顺利完成了物流管理系统的基本研发,其功能完全符合应用需求,而且在开发过程中出现的数据问题也通过百度解决了,这次实习不仅让我体验到了技术的提升,也让我更加深入地学习了课程上学过的知识,以及掌握了新的语言,而且,我们的实习是做软件开发,我们发现,软件开发不仅仅只需要这几个,还可以更好地满足用户的需求,从而提升我们的技术水平。现在,我已经熟练掌握了js代码,这个毕业设计是我在学校里努力学习的结果,是我毕业时的一个成功作品。

刚开发时,我遇到js上的许多问题,后面我专门用了两个月对js的学习,以及和比较厉害的同学一起讨论,最后能够解决,这个设计是完完整整1的开发,在上半学期,django的开发老师在课上只教一些简单的开发,我就从那时候慢慢了解它的原理,知道django原理的开发,开发一个系统起来根本不难,但是加上js的系统开发就比较难啦,这个系统html+css+js+django还有数据库开发出来的,这个设计可以给自己提供一个锻炼、提高的计划。

完成物流管理系统的各项功能和结构的设计,建立多种模型图,以便为未来的项目提供有效的支持,为实现更高效的管理提供坚实的基础。

参考文献

[1]程海雨,杨志方,李擎,秦昕.<<使用python构建物流管理系统>>.教育信息化论坛,2021(12):33-34.

[2]曲嘉瑄,董英帅.基于python的物流管理系统模块[J].软件,2021,42(08):48-50.

[3]许沥文. 基于pythonweb物流管理系统的开发[D].华北电力大学(北京),2021.

[4]孙善毅,朱宁.基于Django框架的物流管理系统的开发与应用[J].电子技术与软件工程,2021(04):43-45.

[5]王建君.关于物流管理系统的应用[J].电子技术与软件工程,2021(02):56-57.

[6]郝佳睿.物流管理系统微信小程序数据获取与构建[J].福建电脑,2020,36(11):101-103.

[7]陈伟杰,段华琼.基于MVC框架的物流管理系统的设计与实现[J].信息与电脑(理论版),2020,32(21):101-103.

[8]张海霞.探索智能物流管理系统的理论和实践研究——基于高校辅导员工作案例[J].国际公关,2020(11):162-163.

[9]闫博.基于三层架构模式的物流管理系统分析[J].信息通信,2020(10):156-158.

  1. 解全颖,王礼祥.新时代背景下全国预科物流管理现状分析和解决方案探究[J].科技视界,2020(06):145-147

致谢

当我的大学生活接近尾声,它就要告别。在那段美好的日子里,我收获到的不仅仅只有知识,还包括友谊、爱情、梦想。对于那些给予我帮助、指引、支持的人,我深深地怀念,他们的付出让我受益匪浅。

吴老师对我的帮助非常大,他提供的宝贵的指导和宝贵的意见,使得我的毕业设计得以圆满实现。他的认真负责的态度,让每个细节都得到妥善处理,最终使得整个项目得以圆满结束。

最终,我要向所有在大学里指导我的老师表示感激,因为他们让我拥有了丰富的知识,也让我学会了如何面对和解决各种挑战。谢谢你们的帮助与支持。

;