跟着公司的不断发展和强壮,车辆运用频率的添加,传统的纸质派车单暴露出越来越多的问题,因而,运用信息化的手法,开发一个适用于公司内部的车辆办理体系十分必要。
本文介绍的车辆办理体系便是针对当时本公司运用和办理车辆的流程而量身定做的一个体系。其规划计划是以B/S结构为根底,运用ASP.NET2.0和Access数据库,充分运用VS2005供给的数据控件。选用这种计划能够花最少的人力、物力、财力,在最短的时刻、以最优的方法来完结终究的功用。
1 ASP.NET2.0介绍
ASP.NET2.0是树立在微软新一代.NET渠道架构上,运用一般言语运转时(Common Language Runtime)在服务器后端为用户供给树立强壮的企业级Web运用服务的编程结构。ASP.NET2.0首要包含WebForm和WebService两种编程模型。前者为用户供给树立功用强壮、外观丰厚的依据表单的可编程Web页面。后者经过对HTTP、HTML、SOAP、WSDL等Internet规范的支撑,供给在异构网络环境下获取远程服务、衔接远程设备和交互远程运用的编程界面。
ASP.NET2.0运用程序由界面和程序代码两大部分构成:
(1)界面部分,也可称为“可视化组件”(Visual Component),首要由HTML符号和控件符号构成,从html>符号开端,至/html>完毕。这部分首要用于界说页面的外观显现特性和运用程序所包含的控件标识。它与Visual Basic或Delphi运用程序的Windows窗体部分适当。在“可视化组件”部分中也能够包含客户端脚本程序(JavaScript或VBScript脚本程序)。与曾经HTML言语不同的是,由于ASP.NET2.0运用了Web服务器控件进行界面规划,所以ASP.NET2.0运用程序的界面部分包含了控件符号,例如ASP:TextBox id=”username”runat=”server”/>,即为一个文本框控件符号。控件符号看起来很像HTML语法,但与HTML语法又不彻底相同。
(2)程序代码部分,也可称为“用户接口逻辑”(User Interface Logic),由高档言语程序代码组成,由脚本程序符号Script Language=“高档言语称号” runat=“Server”>和/Script>将程序包含起来。程序代码的作用首要是进行窗体和控件事情的处理。ASP.NET2.0支撑多种高档言语程序代码,包含Visual Basic.NET和C#等,所运用的高档言语称号在Script>符号中指出。
ASP.NET2.0程序的后缀名是.ASPX。当一个浏览器第一次恳求一个ASPX文件时,ASP.NET2.0页面将被CLR编译器编译。尔后,当再有用户拜访此页面时,由于ASPX页面现已被编译过,所以CLR会直接履行编译过的代码。这与ASP的状况彻底不同。ASP只支撑VBScript和JavaScript这样的解说性脚本言语,所以ASP页面是解说履行的:当用户宣布恳求后,无论是第几次履行,ASP页面都将被动态解说履行。而ASP.NET2.0支撑可编译的言语,包含VB.NET、C#、Jscript、.NET等。所以,ASP.NET2.0是一次编译、屡次履行。
为了简化程序员的作业,ASPX页面不需求手艺编译,而是在页面被调用时,由CLR自行决定是否编译。一般来说,下面两种状况下,ASPX会被从头编译:
(1)ASP.NET2.0页面第一次被浏览器恳求;
(2)ASP.NET2.0程序被改写。
由于ASPX页面能够被编译,所以ASPX页面具有组件相同的功用。这就使得ASPX页面至少比相同功用的ASP页面快2倍以上。
2 体系人物的区分
依据需求剖析中各个不同人物的不同权限,该体系分为6种人物,每种人物别离享有不同的权限。这6种人物依照权限的巨细从低到高依次为:
(1)一般用户(一般职工)
权限:近途、远程用车请求;补单;转单;检查历史记载。
(2)司机(专、兼职司机)
权限:车辆信息、驾驶员信息录入;车辆日常保养、毛病修理、车辆稳妥、年审和重大事故录入;用车请求、补单、转单。
(3)中级用户(各部分主任)
权限:部分职工近途、远程用车批阅;部分用车检查;部分车辆保养;用车请求、补单、转单。
(4)特别用户(总经理、副总经理)
权限:公司派车单检查;车辆状况、驾驶员状况检查;车辆运转按月计算、年度计算;车辆日常保养信息检查等。
(5)高档用户(总经部主任)
权限:公司派车单批阅、检查、查询、撤销派车;车辆状况、驾驶员状况检查;车辆运转按月计算、年度计算;车辆日常保养信息检查等。
(6)办理员
权限:办理数据库中的悉数表信息;备份数据库;添加用户。
不同等级的用户具有不同的权限,所以不同人物用户登陆后进入的主页面也不同,除了办理员之外,高档用户具有相对较多的权力,图1展现了高档用户的主页面。
3 数据库规划
依据体系的需求。数据库中共规划了14个表。它们别离是:用户表、近途车辆运用表、远程车辆运用表、驾驶员档案表、车辆档案表、车辆类型表、车辆稳妥档案表、车辆稳妥类型表、车辆毛病修理表、车辆毛病修理明细表、车辆日常保养表、车辆日常保养明细表、车辆年审信息表、车辆重大事情表。图2展现了这些表的联系。表1和表2是其间的两个表的规划结构。
4 体系规划思路
4.1 体系的功用模块
假如说从纵向剖析这个体系能够分为6种人物的话,从横向来看,体系又能够区分为多个功用模块,如用车办理、车辆保护、车辆信息、计算报表、体系办理。这几个功用模块针对不同的人物分发不同的权限,如车辆保护,中级用户只能填写和检查本部分的车辆,而高档用户能够检查整个公司的车辆保护信息。图3展现了体系首要触及的几个功用模块。
4.2 用车办理
用车办理指的是请求人填写派车单,然后部分审阅、总经部审阅,最终请求人还车填写公里数和各种费用完结单子的流通。用车办理难点便是派车单的流通,派车单批阅的流程如图4所示。
为了完结派车单的流通,本体系采纳对数据库表中关键字判别的方法完结流程的操控,如一个远程派车单;请求人填写的内容仅仅远程车辆运用表中的部分字段;假如表中该记载“部分审阅成果”字段为空就阐明部分领导还没有审阅,这时如部分主任登陆就能够看到该派车单,然后需求对该派车单批阅。批阅完后,“部分批阅人”和“部分批阅成果”字段就不为空,可是由于总经部还未审阅,所以“总经部审阅成果”字段为空。依据这个判别条件,能够显现出总经部要审阅的派车单,总经部主任登陆后能够看到该派车单,然后进行批阅,当“部分审阅成果”和“总经部审阅成果”都不为空时,就阐明派车单审阅流程已完结,接下来就需求请求人在用车后填写公里数和费用,这个派车单才算完毕。
派车单流通的过程中,还触及车辆的状况问题,在该体系中,部分派车是用车者自己挑选部分的车辆出车;而总经部派车是总经部主任挑选公司的车辆出车。派车单的派车类型假如是部分派车,在请求人挑选本部分车辆的一起,该车辆的状况就由“闲暇”变为“出车”,而总经部派车是在总经部主任分配了公司的某个车辆出车后该车辆的状况才变为“出车”。车辆的状况一旦变为“出车”就不能再被差遣,只要在请求人还车时填写了公里数和费用后车辆的状况才变为“闲暇”。
4.3 车辆保护和车辆信息
这两个模块在逻辑功用上相对较简略,经过司机用户进入相应的界面能够完结信息的录入,特别用户、高档用户能够对车辆信息和车辆保护状况了解和检查。
4.4 计算报表
计算报表分为按月计算和年度计算两部分,它们的完结首要选用分为SQL句子中的SUM函数经过限制必定的时刻规模然后得出想要的成果。以下便是年度计算页面中用到的SQL句子。
string YearSum=SELECT 车辆, 月份, sum(汽油费算计) AS 总汽油费, sum(公里算计) AS 总公里数
+ FROM (SELECT 车辆, month(出车时刻) AS 月份, sum(汽油费) AS 汽油费算计, sum(止公里数-起公里数) AS 公里算计
+ FROM CTCLSYB
+ WHERE 车辆=′ + DropDownList1.SelectedValue + ′and year(出车时刻)=′+DropDownList2.SelectedValue+′
+ GROUP BY month(出车时刻), 车辆
+ UNION select 车辆,month(出车时刻) as 月份,sum(汽油费) AS 汽油费算计, sum(止公里数-起公里数) AS 公里算计
+ FROM JTCLSYB
+ WHERE 车辆=′+DropDownList1.SelectedValue+′and year(出车时刻)=′+DropDownList2.SelectedValue+′
+ group BY month(出车时刻), 车辆) AS A
+ GROUP BY 月份, 车辆); DataTable dt = DataLayer.Select(SELECT 车辆, 月份, sum(汽油费算计) AS 总汽油费, sum(公里算计) AS 总公里数
+ FROM (SELECT 车辆, month(出车时刻) AS 月份, sum(汽油费) AS 汽油费算计, sum(止公里数-起公里数) AS 公里算计
+ FROM CTCLSYB
+ WHERE 车辆=′ + DropDownList1.SelectedValue + ′and year(出车时刻)=′ + DropDownList2.SelectedValue + ′
+ GROUP BY month(出车时刻), 车辆
+ UNION select 车辆, month(出车时刻) as月份,sum(汽油费) AS 汽油费算计, sum(止公里数-起公里数) AS 公里算计
+ FROM JTCLSYB
+ WHERE 车辆=′+DropDownList1.SelectedValue + ′and year(出车时刻)=′+DropDownList2.SelectedValue+’
+ group BY month(出车时刻), 车辆) AS A
+ GROUP BY 月份, 车辆);
4.5 体系办理
体系办理首要担任对数据库中所有表的办理,包含修正和删去、添加用户、备份和康复数据库等。
车辆办理体系现在现已在公司运用,取得了杰出的作用。B/S形式下,客户端较简略,便于运用程序的保护;集中式的数据办理,使数据库的保护愈加便利,并且使得信息计算更为全面精确。