ASP一个物流商品运输系统的设计与实现

news2024/11/25 12:58:30

       物流运输行业的今天正朝着追求高效、低成本、稳定可靠的方向发展。本文详细介绍了网上物流管理系统,涉及到客户端运输线路设计、过程跟踪等功能模块以及管理员端的相应模块的具体实现,分析了整个系统的架构、工作原理、实现功能等。系统采用ASP+MS SQL以B/S模式开发,具有安全、方便、配置简易等特点。系统还实现了对客户注册、运输信息录入等功能的自动化管理,在降低成本的前提下,提高了实际工作效率。前台客户端功能完备,界面简洁、易懂;后台管理员端具有自动化程度高的特点。系统保证了数据的一致性和完整性,数据的安全性也得到了一定程度的保障。    

       目前在我国,由于国内政策环境的改善,企业改革日益深化,为物流业的发展建立了良好的发展环境与基础。由于物流活动日益渗透到生产、流通、消费等整个社会经济活动过程之中,与社会经济的发展存在着密切的联系,是社会经济活动的重要组成部分,故物流需求与社会经济发展有密切的相关性,社会经济发展是影响物流需求的主要因素。在一些电子商务环境里,物流企业的网络功能越来越得到强化,但是一些老化的物流管理系统在完善的全球物流操作平台的支持方面困难重重。随着物流行业的发展,现在市场上的的一些物流系统已经不能达到现在企业的要求,不能进行高效率的信息处理和信息交互成为现在物流管理是一个重大课题。

3系统总体设计

3.1系统模块结构划分

3.2系统各功能模块及分析

本系统是多用户系统,分客户和管理员两种权限,在客户端的操作都可以在管理员端进行有效的控制,保证了数据的安全和可靠。客户可以根据自己的合同号进行网上注册,然后享受管理员提供的信息化服务,可以对运输线路进行预期的规划和设计,同时在相应的站点需要进行相关的操作,以方便于以后对各站点的信息进行跟踪和查询。客户还可以对管理员的运营状态进行有限的查询,而管理员除了可以进行对客户资料等进行一些基本管理外,还拥有对站点信息和自己的运营状态进行有效的信息化管理。

 在客户端的运输路线规划模块中,客户在和管理员进行合理的沟通后可以对运输的线路和运输方式等进行科学的规划。并且在以后的运输过程中合同的执行者在每到一站之后必须对货物状况,路况信息等及时的通过本系统反映给管理员和有效的客户,这样就能在很低成本的前提下更加高效率完成了物流运输的全部过程,为客户提供了非常保障的物流服务,同时给物流从业者带来了更加高的经济效益。

在客户段进行以上的这个模块主要是通过起点、终点录入和合同号的录入后进行一定的验证后确定合同的真实性,由于中间站的不固定性,所以采取了一个无限循环的方式来处理,这样既保证了系统的完整性也和实际情况进行了很好的融合,显得很科学和方便。

 

过程跟踪模块也是在客户端执行的一个模块,是在运输线路规划模块以后,货物正式开始运输后需要执行的一个模块,在按照规划的运输线路运输货物的过程中,合同执行者在每到一个站后都应该对到站情况和车况信息、货物状况和人员状况进行有效的录入,这样就更加方便了管理员的管理,也方便了客户对合同执行具体情况有更加直观的了解和监督

3.3数据库设计

3.3.1 E-R图

 

3.3.2数据库表设计

表3-1登陆表:保存登陆信息

字段名

数据类型

说明

name

varchar

登陆者的登陆名

zhenname

varchar

登陆者的真实名字

psw

varchar

登陆密码

id

long

合同号

lianxi

varchar

登陆者的联系方式

shenfen

BYTE

登陆者的身份

表3-2线路表:保存线路信息

字段名

数据类型

说明

id

long

运输号

start

varchar

起点站

[next]

varchar

下一站

stop

varchar

终点站

nexttime

datetime

出发时间

ztime

datetime

预计到站时间

fangshi

int

运输方式

cheid

long

运输编号

qingkuang

BYTE

运输情况

zhuangtai

varchar

道路状态

dtime

datetime

时间

chekuang

varchar

车况

hwzhuangkuang

varchar

货物状态

renyuan

varchar

人员情况

hetongid

varchar

合同号

表3-3运输状态表:保存运输状态信息

字段名

数据类型

说明

hetongid

varchar

合同号

startzhan

varchar

起点站

stopzhan

varchar

终点站

jinshouren

varchar

经手人

time

datetime

时间

表3-4意见表:保存意见反馈的信息

字段名

数据类型

说明

name

varchar

意见发表人的名字

zhuti

varchar

意见主题

neirong

varchar

意见内容

[time]

datetime

发表时间

3.4技术方案分析

系统采用ASP+MS SQL2000,B/S模式开发。ASP即Active Server Page的缩写。它是一种包含了使用VB Script或Jscript脚本程序代码的网页。当浏览器浏览ASP网页时,Web服务器就会根据请求生成相应的HTML代码然后再返回给浏览器,这样浏览器端看到的就是动态生成的网页。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互。是一种简单、方便的编程工具。ASP们最主要的工作就是为客户提供软件,数据储存甚至是数据传输的服务。客户通常使用网络浏览器从互联网上或通过私人网络来获取服务。这意味着客户不需要自己来维护或升级他们的软硬件和网络设备。脚本是在服务器端运行的,所以Web服务器完成所有处理后,将标准的HTML页面送往浏览器。这意味着,ASP只能在可以支持的服务器上运行。让脚本驻留在服务器端的另外一个益处是:用户不可能看到原始脚本程序的代码,用户看到的,仅仅是最终产生的HTML内容。 任何开发工具皆可发展ASP,开发工具简洁多样,适合各种浏览器语言相容性高 。ASP与所有的ActiveX Script语言都相容,除了可结合HTML,VBScript、Java Script、Active X服务器组件来设计外,并可经由plug-In(外挂组件模组)的方式,使用其他厂商(Third Party)所提供的语言。 ASP程序并不会轻易地被看见进而被盗用。易于操控数据库。ASP可以轻易地通过ODBC(Open Database Connectivity)驱动程序连接各种不同的数据库ASP具备有面向对象(Object-Oriented)功能,学习容易,ASP提供了五种方便能力强大的内建对象:Request、Response、Sever、Application以及Session,同时,若使用ASP内建的"Application"对象或"Session"对象所撰写出来的ASP程序可以在多个网页之间暂时保存必要的信息。隐密安全性高。

由于本系统涉及到许多数据的处理,这就需要有一个强大的后台数据库管理系统支持。目前主要的数据库有:Access、FoxPro、Excel、Sybase、Oracle、Informix、SQL Server等,其中网络型的SQL Server、Oracle产品安全性远远高于桌面型的Access、FoxPro等数据库。 本系统采用的是微软公司的SQL Server 2000。SQL Server与Windows 2000 Server服务器紧密集成,而Windows 2000 Server服务器具有很好的安全性,能够排除所有未经授权的非法用户的访问,确保了SQL Server 2000服务器的安全性,符合系统对安全性的要求;用户可以使用Web浏览器查询存储在SQL Server 2000数据库中的数据,符合系统远程访问数据库的要求。容量庞大,每个数据库中可创建多达20万个数据表,数据表中的记录的行数只受服务器硬盘空间的限制。ASP与Windows 2000 Server/Advanced Server的完美组合,为中小型乃至企业级的web商业模型提供了一个更为稳定,高效,安全的运行环境。

系统选择选择B/S结构,B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层(3-tier)结构。这样就大大简化了客户端电脑载荷,无需安装特定客户端,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。采用该结构软件的优势在于架构管理软件更是方便、快捷、高效:(1)无须开发客户端软件,维护和升级方便;(2)可跨平台操作,任何一台机器只要装有WWW浏览器软件,均可作为客户机来访问系统;(3)具有良好的开放性和可扩充性;(4)可采用防火墙技术来保证系统的安全性,有效地适应了当前用户对管理信息系统的新需求。因此该结构在管理信息系统开发领域中获得飞速发展,成为应用软件研制中一种流行的体系结构。

页面模块化,很多页面共用的部分集成为一个模块,无须重新编写重复代码,提高了开发效率。用户或者管理员出现错误操作或者非法操作时或予以屏蔽并给出错误提示,方便修正,保证系统正常运行。

4系统详细设计与实现

4.1系统界面设计

本系统主界面如图4-1所示:

4.2数据库连接

set con=server.createobject("adodb.connection")

 con.open "dsn=chen;uid=sa;pwd=sa"

系统通过以上代码验证登陆信息,通过set con=server.createobject("adodb.connection")

 con.open "dsn=chen;uid=sa;pwd=sa"完成与数据库的连接,再根据根据不同验证结果进入相应页面。

4.3管理员模块功能 

其中管理员进入的页面,如图4-2所示:

 

验证管理员的代码:

else

rs="select * from denglu where name='"&username&"'and pwd='"&pwd&"'and shenfen='"&shenfen&"'"

set s=con.execute(rs)

if s.eof then

response.write" 对不起!   你没有管理员权限"

else

session("name")=request("name")

response.Redirect"guanli.htm"

end if

4.3.1用户资料管理

用户资料管理页面如图4-3所示:

 管理员有对客户资料进行填加和删除的权限,

<%if session("name")=empty then

response.Redirect("zcee.htm")

 end if

%> 

先进行权限判断,检查管理员的的信息是否继承。如果name为空的话就没有权限进行管理员的操作。

set con=server.createobject("adodb.connection")

 con.open "dsn=chen;uid=sa;pwd=sa"

s="select * from denglu where shenfen='用户'"

set rs=con.execute(s)

if rs.eof then

response.Write"还没有用户信息"

else

然后进行数据库连接,从表“denglu”在查询用户信息,如果指针指向表尾,则显示"还没有用户信息"。

4.3.2站点信息管理

站点信息管理如图4-4所示:

站点信息管理主要是输入起点和终点还有合同号进行查询本合同执行的具体情况,如经过的站点等。进入查询页面后如图4-5所示:

 

 <%

 sstart=request("start")

sstop=request("stop")

 id=request("id")

 session("sstart")=request("start")

 session("sstop")=request("stop")

 session("nid")=request("id")

%>

<%set con=server.createobject("adodb.connection")

 con.open "dsn=chen;uid=sa;pwd=sa"

 set rs=server.createobject("adodb.recordset")

rs.open"select * from xianlu where start='"&sstart&"'and stop='"&sstop&"'and hetongid='"&id&"'",con

if sstart=""or sstop=""or id="" then

response.Write"资料不完整"

 elseif  rs.eof then

 response.Write"你输入的资料不存在"

 else

set r=server.createobject("adodb.recordset")

r.open"select count(next) as sum from xianlu where start='"&sstart&"'and stop='"&sstop&"'and hetongid='"&id&"'",con

%>

<p>这次定单合同总共经过 <%=r("sum")%> 站点统计</p>

<p><a href="zhandianguanli3.asp">查看站点</a></p>

<% r.close

   set r=nothing

   con.close

   set con=nothing

   end if

  %>

在执行这个页面的代码中有一个求和函数<%=r("sum")%>,其具体的执行代码为:

set r=server.createobject("adodb.recordset")

r.open"select count(next) as sum from xianlu where start='"&sstart&"'and stop='"&sstop&"'and hetongid='"&id&"'",con

把每个“下一站”做一个和运算就可以得到一个除了出发站点在外的,该合同在执行过程中所经过的站点数,在点击查看站点后还可以查询到具体经过的每个站点的名字。

4.3.3意见反馈信息管理

意见反馈信息界面,如图4-6所示:

 

<%if session("name")=empty then

response.Redirect("zcee.htm")

 end if

%>

<%set con=server.createobject("adodb.connection")

  con.open "dsn=chen;uid=sa;pwd=sa"

set rs=server.createobject("adodb.recordset")

  rs.open"select * from yijian ORDER BY time desc ",con,3

rs.pagesize=5

                a=cint(request.querystring("a"))

                if a=0 then

                   a=1

                    else

                    rs.absolutepage=a

                    end if

%>

<td><div align="right"><a href="yijianguanli.asp? a=1 ">第一页</a> </div></div>

  <div align="right">

        </td>

       <%If a> 1 Then %>

          <a href="yijianguanli.asp?a=<%=a-1%> ">上一页</a>

          <% end if%>

        <%If (a <rs.PageCount )Then %>

        <a href="yijianguanli.asp?a=<%=a+1%> ">下一页</a>

   </div>

      <%End If %>

        <body background="29.gif">

        </div>

  </div>

  <p align="center"><em></em> </p>

  <div align="center">

    <table width="50%" height="50%" border="1">

    <!--DWLayoutTable-->

      <tr>

<td >意见发布人</td>

        <td >主题</td>

        <td >内容</td>

       <td >发布时间</td>

              <td >操作</td>

    </tr>

        <% For a =1 To rs.Pagesize %>

      <tr>

        <td ><%=rs("name")%>&nbsp;</td>

        <td ><%=rs("zhuti")%>&nbsp;</td>

        <td ><%=rs("neirong")%>&nbsp;</td>

        <td ><%=rs("time")%>&nbsp;</td>

               <td ><a href="deleteyianjian.asp?neirong=<%=rs("neirong")%>">删除</a></td>

     </tr>

      <%rs.MoveNext

      If rs.EOF Then Exit For

Next 

 rs.close

 set rs=nothing

 con.close

 set con=nothing

  %>

  以上为管理员对意见反馈管理的代码,开始还是通过继承管理员的名字来验证管理员的身份是否正确,然后连接数据库,在yijian表中按时间的降序对客户端产生的意见显示出来,然后对意见进行分页显示。

未完待续。。。

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/417616.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码随想录算法训练营第43天 | 动态规划 背包理论基础 LeetCode1049.最后一块石头的重量II,494.目标和,474.一和零

代码随想录算法训练营第43天 | 动态规划 背包理论基础 LeetCode1049.最后一块石头的重量II&#xff0c;494.目标和&#xff0c;474.一和零 1049.最后一块石头的重量II 第一遍读题思考 重点在于背包问题的理论基础建议阅读以下两个链接。 背包问题理论基础&#xff0c;用二维…

sed命令基础

sed编辑器即流编辑器&#xff08;stream editor&#xff09;&#xff0c;根据命令处理数据流中的数据&#xff0c;这些命令可从命令行输入&#xff0c;或者指定文件中输入。 sed执行的操作如下&#xff1a; 1&#xff09;从输入读取一行数据 2&#xff09;根据提供的命令匹配数…

KSS-ICP: 基于形状分析技术的点云配准方法

目录 1. 概述 2. 算法实现 3. 实验结果 总结 Reference 三维点云配准是三维视觉领域一个经典问题&#xff0c;涉及三维重建&#xff0c;定位&#xff0c;SLAM等具体应用问题。传统的配准可以被分为两条技术路线&#xff0c;即基于全局姿态匹配的方法以及基于特征点对应的方法。…

疫情下社区管理系统的设计与实现(论文+源码)_kaic

疫情下社区管理系统 摘 要&#xff1a;新冠疫情下的社区人员管理系统是基于SpringBoot搭建的一套前后端分离系统。面向疫情下的社区管理人员和社区用户&#xff0c;主要用于进行社区服务&#xff0c;进行高效的社区人员管理。具有一定的经济效益和社会效益。本文分析了新冠疫情…

计算机网络第三章(数据链路层)【湖科大教书匠】

1. 概述 物理层发出去的信号需要通过数据链路层才知道是否到达目的地&#xff1b;才知道比特流的分界线 链路(Link)&#xff1a;从一个结点到相邻结点的一段物理线路&#xff0c;中间没有任何其他交换结点数据链路(Data Link)&#xff1a;把实现通信协议的硬件和软件加到链路…

【ROS实操2话题订阅输出乌龟位姿】

需求描述 已知turtlesim中的乌龟显示节点&#xff0c;会发布当前乌龟的位姿(窗体中乌龟的坐标以及朝向)&#xff0c;要求控制乌龟运动&#xff0c;并时时打印当前乌龟的位姿。 实现分析 1.首先&#xff0c;需要启动乌龟显示以及运动控制节点并控制乌龟运动。 2.要通过ROS命令…

网络原理TCP协议

hi,我们又见面了,今天为大家带来TCP协议,一共为大家介绍TCP协议的十个核心特性 1.确认应答 2.超时重传 3连接管理 4滑动窗口 5流量控制 6拥塞控制 7延迟应答 8捎带应答 9面向字节流(粘包问题) 10异常情况(心跳包) 11基于TCP应用层协议 TCP协议位于传输层,我们知道T…

微信小程序开发 | API应用案例(上)

API应用案例&#xff08;上&#xff09;5.1【案例1】用户登录5.1.1 案例分析5.1.2 前导知识5.1.3 搭建开发者服务器5.1.4 实现用户登录5.1.5 检查用户是否已经登录5.1.6 获取用户信息5.1.7 开放数据校验与解密5.2【案例2】个人中心5.2.1 案例分析5.2.2 前导知识5.2.3 实现底部标…

BE-SSL:基于边界增强自监督学习的脑结构分割

文章目录Boundary-Enhanced Self-supervised Learning for Brain Structure Segmentation摘要本文方法Supervoxel BranchRegistration BranchAtlas Selection实验结果Boundary-Enhanced Self-supervised Learning for Brain Structure Segmentation 摘要 边界增强自监督学习(…

用Pytorch搭建一个房价预测模型

本文参加新星计划人工智能(Pytorch)赛道&#xff1a;https://bbs.csdn.net/topics/613989052 目录 一、项目介绍 二、准备工作 三、实验过程 3.1数据预处理 3.2拆分数据集 3.3构建PyTorch模型 3.3.1.数据转换 3.3.2定义模型架构 3.3.3定义损失准则和优化器 3.3.4创建…

Linux查看端口

目录 1.查看已知端口的使用情况 2.查看所有端口的占用情况 3.查看占用端口的程序的进程号 4.杀死进程号 1.查看已知端口的使用情况 #例:8080 可使用命令: netstat -anp | grep 8080 结果如下: 还可以使用这条命令: netstat -tln | grep 8080 结果如下: 区别:第一条命令后面显示…

评分卡模型(二)基于评分卡模型的用户付费预测

评分卡模型&#xff08;二&#xff09;基于评分卡模型的用户付费预测 小P&#xff1a;小H&#xff0c;这个评分卡是个好东西啊&#xff0c;那我这想要预测付费用户&#xff0c;能用它吗 小H&#xff1a;尽管用&#xff5e; &#xff08;本想继续薅流失预测的&#xff0c;但想了…

DevExpress WinForms电子表格控件,更快拥有现代办公体验!(二)

DevExpress WinForm Spreadsheet组件能读写XLSx、XLS、CSV、TXT文件、打印并导出为PDF等&#xff0c;为终端用户提供了当今流行的办公UI体验&#xff01;在上文中&#xff08;点击这里回顾>>&#xff09;&#xff0c;我们介绍了DevExpress WinForm中Excel启发式的电子表格…

【计算机网络-数据链路层】集线器、网桥、交换机

本文许多文字和图片使用了湖科大教书匠&#xff08;高军老师&#xff09;的 PPT&#xff0c;在此表示感谢。正是他让非科班的我能以奇妙的方式走进网络的世界。 文章目录1 【物理层】集线器&#xff08;Hub&#xff09;——共享式以太网1.1 为什么使用集线器&#xff1f;1.2 集…

救命,我好像发现了测试工程师面试通关秘籍

一、自我介绍 &#xff08;自我介绍不局限于下面模板&#xff0c;灵活表达&#xff09; 面试官你好&#xff0c;我叫xxx&#xff0c;今年xx岁&#xff0c;家乡是xx省xx市。20xx年毕业后一直从事软件测试工作&#xff0c;到现在已经x年了。 目前为止&#xff0c;经历过x家公司…

基于SpringBoot的大学生体质测试管理系统源码数据库论文

目录 目录 1 绪 论 1.1系统背景介绍 1.2课题研究的目的和意义 1.3系统的研究现状 1.4系统实现的功能 1.5系统的特点 2 开发工具和技术 2.1 B/S体系结构 2.2 Java语言简介 2.3 SpringBoot框架 2.4 MySQL简介 3 系统需求分析 3.1 系统可行性分析及目的…

JS数组reduce()方法详解及高级技巧

reduce()方法可以搞定的东西&#xff0c;for循环&#xff0c;或者forEach方法有时候也可以搞定&#xff0c;那为啥要用reduce()&#xff1f;这个问题&#xff0c;之前我也想过&#xff0c;要说原因还真找不到&#xff0c;唯一能找到的是&#xff1a;通往成功的道路有很多&#…

QtableWidget插入数据卡顿优化方法

最近要使用Qtablewidget保存4300多的数据&#xff0c;发现以下刷新4300条数据&#xff0c;界面会变得非常卡顿&#xff0c;于是想了优化一下&#xff1b;因为要对所有数据排序&#xff0c;想用一下Qtablewidget自动排序功能&#xff0c;而且数据量不多&#xff0c;不想采用动态…

【教学类-32-02】十二生肖2.0版(绘画+手工+排序+左右分类+玩牌)(中班:偏科学-数)

作品展示 2.0样式——动物头部方向随机向左、或者向右 背景需求 1.0样式——动物头部方向全部向右&#xff0c; 我希望孩子分类的时候还能够“判断生肖头部的方向做一个左右分类” 素材准备&#xff1a; 1、图片准备 office PPT2013里面有一个图标的功能&#xff0c;内置大量…

java继承类怎么写

继承类是通过把父类的方法和属性继承到一个类中&#xff0c;而子类的方法和属性是子类自己定义的。 Java中有一个很重要的概念叫做继承&#xff0c;这也是 Java语言的精髓所在。Java语言提供了一种机制&#xff0c;叫做派生类。在 Java中&#xff0c;如果没有实现了某个派生类方…