




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGEPAGEI 闽江学院本科毕业论文(设计)题目基于.NET的物流管理系统设计学生姓名学号系别计算机科学系年级专业计算机科学与技术指导教师职称完成日期20年5月13日闽江学院毕业论文(设计)诚信声明书本人郑重声明:兹提交的毕业论文(设计)《基于.NET的物流管理系统设计》,是本人在指导老师的指导下独立研究、撰写的成果;论文(设计)未剽窃、抄袭他人的学术观点、思想和成果,未篡改研究数据,论文(设计)中所引用的文字、研究成果均已在论文(设计)中以明确的方式标明;在毕业论文(设计)工作过程中,本人恪守学术规范,遵守学校有关规定,依法享有和承担由此论文(设计)产生的权利和责任。声明人(签名):年月日摘要随着物流行业的快速发展,业务量扩大,单靠人工来处理业务单子、管理车辆满足不了现代企业的需求。本论文对高效率地进行物流管理进行了研究与探讨,并设计实现了一个基于网络的物流管理系统。本系统采用B/S模式,也就是浏览器与服务器的模式,只要用户用浏览器连接到服务器上,就可以进行一系列的操作。通过此系统可以帮助物流公司解决日常办公和项目管理的需求,协助工作人员进行物流管理和人员管理,提高管理效率,降低运作成本。系统运用VisualStudio.NET集成平台开发,数据库采用SQLServer2005,系统管理员可以通过浏览器实现对车队、车辆的动态管理,了解车辆的使用情况,管理承运任务,核算运输成本,并可进行系统维护。关键词:物流管理系统;VisualStudio.NET;SQLServer2005;B/S;AbstractWiththerapiddevelopmentofthelogisticsindustryandtheexpansionofbusiness,themannertohandlebusinesslistsandvehicle'smanagementbyhandbeforecan'tmeettherequirementsofthemodernenterprises.Thisthesisdiscussestheefficientlogistics'management,designsandimplementsaweb-basedlogistics'managementsystem.ThesystemusestheB/Smode,thatis,thebrowserandtheservermode.Aslongastheuserusesthebrowsertoconnecttotheserver,hecanconductaseriesofoperations.Thissystemcanhelplogisticscompaniessolvetheneedsofthedailyofficeandprojectmanagement,assiststaffsinday-to-daylogisticsmanagementandpersonnelmanagement,improvetheefficiencyofmanagementandreducetheoperationcosts.ThesystemisdesignedontheVisualStudio.NETintegrateddevelopmentplatform,andthedatabaseusesSQLServer2005.Thesystemadministratorcanachievethedynamicmanagementoffleetvehicles,andofthevehiclemovements,aswellasaccountingfortransportationcosts.Keywords:Logisticsmanagementsystem;VisualStudio.NET;SQLServer2005;B/S;PAGEIPAGEPAGEII目录1.引言 (1)2.系统技术支持2.1MicrosoftVisualStudio2005简介 (2)2.2SQLSERVER2005数据库介绍 (2)2.3系统架构描述 (2)3.系统需求分析3.1系统的功能性需求 (3)3.1.1车辆管理 (3)3.1.2驾驶员管理 (3)3.1.3运力查询 (4)3.1.4承运任务管理 (5)3.1.5运输成本核算 (5)3.1.6系统管理 (6)3.2系统的非功能性需求 (7)3.2.1配置需求 (7)3.2.2安全性需求 (7)3.2.3可靠性需求 (7)3.2.4并发性能需求 (7)4.系统模块设计和流程分析4.1系统模块设计 (8)4.2系统流程分析 (9)4.2.1车辆管理时序说明 (9)4.2.2车队管理时序说明 (9)4.2.3驾驶员管理时序说明 (10)4.2.4运力查询管理时序说明 (11)4.2.5承运任务管理时序说明 (11)4.2.6运输成本管理时序说明 (12)4.2.7系统管理时序说明 (13)5.系统数据库设计5.1数据库概念设计 (13)5.2数据表设计 (17)6.系统主要功能模块设计6.1登陆模块设计 (22)6.2系统管理模块设计 (23)6.3车辆管理模块设计 (27)6.4运力查询模块设计 (30)6.5承运任务管理模块设计 (34)6.6运输成本管理模块设计 (37)7.系统测试7.1测试环境 (40)7.2功能测试用例与报告 (40)7.2.1被测试对象的介绍 (40)7.2.2测试范围与目的 (40)7.2.3测试环境与测试辅助工具的描述 (40)7.2.4功能测试用例 (41)参考文献 (47)致谢 (48)PAGEIIIPAGEPAGE46基于.NET的物流管理系统设计引言物流管理科学是近一二十年以来在国外兴起的一门新学科,它是管理科学新兴的重要分支。随着生产技术和管理技术的提高,企业之间的竞争日趋激烈,人们逐渐发现,企业在降低生产成本方面的竞争似乎已经走到了尽头,产品质量的好坏也仅仅是一个企业能否进入市场参加竞争的敲门砖[1]。这时,竞争的焦点开始从生产领域转向非生产领域,转向过去那些分散、孤立的,被视为辅助环节而不被重视的,诸如运输、包装、装卸、流通加工等物流活动领域人们开始研究如何在这些领域里降低物流成本,提高服务质量,
创造更大的利润。物流管理从企业传统的生产和销售活动中分离出来,成为独立的研究领域和学科范围。物流管理科学的诞生使得原来在经济活动中处于潜隐状态的物流系统显现出来,它揭示了物流活动的各个环节的内在联系,它的发展和日臻完善,是现代企业在市场竞争中制胜的法宝。物流管理系统主要为物流公司解决日常办公和项目管理的需求,协助公司内部工作人员进行日常物流管理和人员管理,提高管理效率,降低运作成本,增强企业长期竞争力[2]。物流管理的目的就是要在尽可能最低的总成本条件下实现既定的客户服务水平,即寻求服务优势和成本优势的一种动态平衡,并由此创造企业在竞争中的战略优势。根据这个目标,物流管理要解决的基本问题,简单地说,就是把合适的产品以合适的数量和合适的价格在合适的时间和合适的地点提供给客户。所以物流管理系统的设计主要为协助工作人员进行日常物流车辆管理和人员管理,提高管理效率,降低企业成本,增强企业长期竞争力。通过该系统,物流车辆公司运输管理人员能实现对车队、车辆的动态管理;调度人员能随时了解车辆动向和使用情况;承运业务员能开出和接收承运单;财务人员也能通过该系统进行运输成本的核算[3]。系统技术支持MicrosoftVisualStudio2005简介VisualStudio2005是基于.NET2.0框架的。它同时也能开发跨平台的应用程序,如开发使用微软操作系统的手机的程序等。它是一个全面集成的开发环境,用于编写、调试代码,把代码编译为程序集进行发布。它也提供了一个专业的多文档界面应用程序,在该程序中可以进行开发代码的任何操作,它提供了:文本编辑器、代码设计视图编辑器、支持窗口、在环境中编译、集成的调试程序、集成的MSDN帮助、访问其他程序[4]。SQLSERVER2005数据库介绍SQLServer2005是一个数据库管理系统。它实现数据的创建、存储、修改,并保证数据库访问的性能和安全性,提供数据备份、恢复、性能监视等管理功能,实现企业级的数据应用[5]。SQLServer2005功能强大、易于操作,广泛应用于数据库后台系统。SQLServer2005的特性包括:Internet集成、可伸缩性和可用性、、企业级数据库功能、易于安装、部署和使用[6]。系统架构描述B/S结构就是浏览器/服务器模式,它是随着Internet技术的兴起,对C/S结构的一种改进的结构。这种结构模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如InternetExplorer,服务器安装如SQLServer数据库。浏览器通过WebServer同数据库进行数据交互[7]。B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了[8]。系统需求分析系统的功能性需求车辆管理用例图如图3-1所示:图:3-1车辆管理用例说明:运输人员对车队和车辆信息的添加、更新、查询和删除。驾驶员管理用例图如图3-2所示:图:3-2驾驶员管理用例说明:运输管理员对驾驶员信息的添加、更新、查询和删除。运力查询用例图如图3-3所示:图:3-3运力查询用例说明:调度员和承运人员对承运任务中承运单的车队和车辆的查询。承运任务管理用例图如图3-4所示:图:3-4承运任务管理用例说明:承运人员对对承运单的修改,查询,删除和添加;承运单开出后,业务员进行接收工作。运输成本核算用例图如图3-5所示:图:3-5运输成本核算用例说明:财务人员进行成本录入,修改和查询,以便最后对运输成本的核算。系统管理用例图如图3-6所示:图:3-6系统管理用例说明:管理员对用户进行注册和对用户进行权限分配,对系统数据的备份会恢复。系统的非功能性需求配置需求系统提供如下两种浏览器兼容支持:MicrosoftInternetExplorer6.0及其以上版本;NetscapeNavigator6.0及其以上版本。安全性需求安全性需求通常分为二类:用户认证需求:阐述系统表示用户和用户认证的方法。数据完整性和隐私需求:确保数据完整,不会影响系统安全。用户认证需求系统使用一组用户ID和密码来表示一个用户。在用户登录10分钟后,如果没有任何的动作,则自动退出登录。如果再次试图访问受保护页面,则自动显示登录页面。数据完整性和隐私需求密码必须加密存储,采用哈希值MD5加密算法。用户账号和密码必须通过SSL进行传送。可靠性需求系统每天至少保持23小时30分的可用时间,每日凌晨2:30到3:00之间进行日常系统维护工作,如数据传输、交换等。临时的系统停机时间,每月合计必须少于3小时。并发性能需求在多个并发用户更新同一账户信息时,第一个可以成功更新。随后的更新在提交之前,显示错误信息“用户数据已经改变,是否需要刷新用户数据?”。系统模块设计和流程分析系统模块设计如图4-1所示:图:4-1系统模块设计说明:根据功能,将系统划分为若干个子系统。分别为:系统管理、车辆信息管理、车队信息管理、驾驶员信息管理、运力管理、承运单管理、成本核算管理、系统设置[9]。各个子系统的功能:系统管理主要是为用户注册和管理用户权限,还有对系统数据的备份和恢复。车辆管理、车队管理、驾驶员信息管理将提供特定运输管理员对相应信息的添加、删除、修改、查询功能。运力管理将提供给调度员和承运业务员对公司的车队、车辆运力情况动态查询,对业务进行动态分配。承运任务管理将提供承运业务员对承运单的开出、接收,以及对承运单的修改、删除、查询功能。成本管理将提供给财务人员对成本的录入、核算功能。系统设置就是提供系统帮助[10]。系统流程分析车辆管理时序说明添加车辆时序图及说明:运输管理直接打开AddCar页面,进行填写车辆基本信息,系统进行验证输入的信息格式是否正确,不正确返回错误格式信息给运输管理员,正确则调用开发人员编写业务逻辑对象中的CarManage管理类中的AddCar方法,系统在SQLServerDAL实现如何添加车辆,执行存储过程,数据验证该预存记录是否已存在,若存在则返回存储过程预设值返回值,若不存在,则添加记录到数据中对应的表。存储过程返回戒指过执行改操作的方法AddCar。AddCar把执行结果值返回给页面,页面对返回的值进行判断,是否添加成功,或车牌号码已存在,如果车牌号码已存在,则返回车牌号码已存储信息给用户,如果不成功,则返回不成功信息给用户,如果成功则返回成功信息给用户[11]。如图4-2所示:图:4-2添加车辆车队管理时序说明删除车队时序图及说明:运输管理员打开CarTeamManager页面,选择要删除的记录,系统执行删除操作,数据验证该记录状态是否是“维修中”,“承运中”进行拒绝删除,不是则删除,返回值与CarTeamManager,页面根据返回值返回消息给运输管理员。如图4-3所示:图:4-3删除车队驾驶员管理时序说明添加驾驶员时序图及说明:运输管理员打开AddDrivers页面,添加驾驶员基本信息,系统验证数据格式,返回不正确消息,正确进入添加操作,数据验证该记录是否已存在,不存在则插入,返回成功,失败预定义值,页面根据返回值返回消息给运输管理员。如图4-4所示:图:4-4添加驾驶员运力查询管理时序说明查询承运车队时序图及说明:承运业务员,调度员打开SearchCapacity页面,输入查询条件,系统调用业务逻辑对象中的SearchTeam方法,在数据访问层中队该方法实现,执行查询操作,数据库验证是否存在该符合条件的记录,否返回NULL,是返回记录给SearchTeam方法,方法返回结果给页面,页面显示结果。如图4-5所示:图:4-5运力查询承运任务管理时序说明开出承运单时序图及说明:承运业务员打开AddSingleCarrier页面,填写开承运单基本信息,页面验证数据格式是否正确,返回不正确消息,正确则调用业务逻辑层对象中的AddAcceptance方法,数据访问层中实现添加操作,执行添加操作存储过程,数据验证该记录是否已存在,存在则拒绝添加,不存在则添加,返回预定义值给AddAcceptance方法,方法返回值予页面AddSingleCarrier,页面根据值,返回消息给承运业务员[12]。如图4-6所示:图:4-6开出承运单运输成本管理时序说明添加成本时序图及说明:财务人员打开AddCosing页面,添加成本基本信息,页面验证格式是否正确,返回不通过消息给财务人员,正确则调用业务逻辑对象中的AddCostAccounting方法,数据访问层中实现该方法,执行添加操作,数据验证该记录是否已存在,返回成功,失败预定义值给AddCostAcounting方法,方法返回值给页面,页面根据返回值返回消息给财务人员。如图4-7所示:图:4-7添加成本系统管理时序说明添加用户的时序图及说明:系统管理员打开Regeist页面,添加用户基本信息,系统验证数据格式,返回不正确消息,正确进入添加操作,数据验证该记录是否已存在,不存在则插入,返回成功,失败预定义值,页面根据返回值返回消息给系统管理员。如图4-8所示:图:4-8添加用户系统数据库设计数据库概念设计车队信息实体,如图5-1所示:图:5-1车队信息表车辆信息实体,如图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系统主要实体关系数据表设计车队信息表(TeamInfo),如表5-1所示:表:5-1车队信息表序号字段名数据类型长度字段说明1TeamIdChar10定义车队唯一ID2TeamNameVarchar10记录车队名称3UnitVarchar10记录归属单位4NameVarchar10记录车队联系人姓名5TelephoneChar12记录车队联系人电话6Totalint4记录车辆总数7RemarksVarchar200记录备注主键:TeamId外键:null主表:TeamInfo车辆信息表(CarInfo),如表5-2所示:表:5-2车辆信息表序号字段名数据类型长度字段说明1CarIdChar10定义车辆唯一ID2CarTypeVarchar10记录车辆类型3TeamIdChar10记录车队编号4CarNumChar10记录车牌号码5RegisterTimeDatetime记录登记时间6OilTypeVarchar10记录使用燃料7Pricemoney记录购车价格8Useyearint4记录使用年限9WeightFloat8记录车辆载重10LengthVarchar10记录车长11CheckTimeDatetime记录年检日期12DirectionsVarchar200记录车辆说明13MadeInvarchar50记录车辆厂家主键:CarId外键:TeamId主表:CarInfo驾驶员信息表(DriverInfo),如表5-3所示:表:5-3驾驶员信息表序号字段名数据类型长度字段说明1DriverIdChar10定义驾驶员唯一ID2CarIdChar10记录车辆编号3DriverNameVarchar10记录驾驶员姓名4SexChar2记录驾驶员性别5DriverCIDChar18记录驾驶员身份证6TelephoneChar12记录联系电话7AddressVarchar50记录联系地址8DriveIdVarchar10记录驾驶证号表:5-3(续)9DriverTypeVarchar10记录准驾车型10DriverAgeInt4记录驾龄11StartTimeDatetime记录入职时间12MonthlyWagesMoney记录驾驶员月工资12StateVarchar10记录状态13RemarksVarchar200记录备注主键:DriverId外键:CardId主表:DriverInfo承运单信息表(AcceptanceInfo),如表5-4所示:表:5-4承运单信息表序号字段名数据类型长度字段说明1AcceptanceIdChar10定义承运单唯一ID2TeamIdVarchar10记录车队编号3AcceptCarIdVarchar100记录承运的车辆编号4AcceptTimeDatetime记录接单时间5StartPlaceVarchar100记录起运地方6EndplaceVarchar100记录到达地7StartTimeDatetime记录起运时间8EndTimeDatetime记录到达时间9PriceMoney记录承运单价10WeightDouble8记录承运任务物重11DistanceDouble8记录路程距离12ShipperVarchar10记录发货人13ShipperNumberChar12记录发货人联系电话14ShipperAddressVarchar70记录发货人联系地址15ConsigneeVarchar10记录收货人16ConsigneeNumberChar12记录收货人联系电话17ConsigneeAddressVarchar70记录收货人联系地址18StateVarchar10记录任务状态19PaymentTypevarchar10记录付款方式20PayMentVarchar10记录支付方式21ArriveTimeDateTime记录实际送达时间22GoodsTypeVarchar记录货物类型23GoodsNumberInt记录货物件数24GoodsBulkFloat记录货物体积25TradeNamesVarchar30记录商品名称26DeliveryChar8记录提货方式27PriceOfGoodsFloat记录货物单价28AnnexVarchar30记录随货附件29AmountMoney记录投保金额表:5-4(续)30PremiumMoney记录保险费31DeliveryChar6记录是否已派送32SignChar6记录是否已签收33RemarksVarchar200记录备注主键:AcceptanceId外键:TeamId主表:AcceptanceInfo耗油表(wastedInfo),如表5-5所示:表:5-5耗油表序号字段名称类型长度字段说明1OilIdChar10定义耗油唯一ID2AcceptanceIdChar10记录承运单编号3AcceptCarIdChar10记录承运车辆编号4OilTypevarchar10记录耗油类型5OilAmountDouble8记录耗油总数量6Pricemoney记录油单价注:承运车辆的编号是从承运单的承运车辆来绑定的,承运单的编号是外键。维修表(PreserverInfo),如表5-6所示:表:5-6维修表序号字段名称类型长度字段说明1PreserveIDChar10定义维修唯一ID2PreserveDateDatetime记录维修日期3AcceptanceIdChar10记录承运单编号4AcceptCarIdChar10记录承运车辆编号5RepairMoneymoney记录维修费6PreserveCaptiontext200记录维修说明注:承运车辆的编号是从承运单的承运车辆来绑定的,承运单的编号是外键成本核算表(costAccountingInfo),如表5-7所示:表:5-7成本核算表序号字段名数据类型长度字段说明1CostNumberChar10定义成本单唯一ID2AcceptanceIdChar10记录承运单编号3OilMoneyMoney记录耗油费用4PolicyFeeMoney记录保单费用5RepireMoneyMoney记录维修费用6WearPriceMoney记录车辆耗损费用7SolidPriceMoney记录车辆固体成本表:5-7(续)8StationPriceMoney记录过站费9AccidentPriceMoney记录事故损失费10OtherPriceMoney记录其他费用11RemarksVarchar200记录备注12TotalMoneyMoney记录总的成本费用主键:costNumber外键:AcceptanceId、OilId、RepireId主表:costAccountingInfo系统主要功能模块设计登陆模块设计登录模块包括财务人员登录、运输管理员登录、调度人员登录、驾驶员管理登录、超级管理员登录。实现原理为:用户输入的账号以及密码和存在数据库中账号、密码匹配。如果匹配成功则登录成功,如果匹配失败则登录失败。其中,输入的密码是以哈希加密MD5算法的方式与数据库中的密码相匹配[13]。如图6-1所示所示:图:6-1登录模块模块功能实现代码如下:
protectedvoidPage_Load(objectsender,EventArgse){this.txtUserName.Focus();//用户名获得焦点this.DataBind();this.ImgNotice.Visible=false;}//重置protectedvoidImgBtnCancle_Click(objectsender,ImageClickEventArgse){Response.Write("<scriptlanguage='javascript'>window.location.href=window.location.href;</script>");}//登陆protectedvoidLoginImageButton_Click(objectsender,ImageClickEventArgse){stringUserName=this.txtUserName.Text.Trim();stringPassword=this.txtPassword.Text;Session["name"]=UserName.ToString();if(Membership.ValidateUser(UserName,Password)){if(Request.QueryString["ReturnUrl"]!=null){FormsAuthentication.RedirectFromLoginPage(UserName,false);}else{FormsAuthentication.SetAuthCookie(UserName,false);Response.Redirect("Manager/Index.aspx");}}else{this.lblResults.Text="尝试登陆不成功!";if(Membership.GetUser(UserName)!=null&&Membership.GetUser(UserName).IsLockedOut==true){this.ImgNotice.Visible=true;this.lblResults.Text="您的帐号已被系统锁定";}}}系统管理模块设计系统注册模块有用户名、密码、确认密码、电子邮件,用户需填写用户名、密码、确认密码、电子邮件后,点击创建用户按钮,就可注册新用户。该页面是采用vs2005中可视化工具箱中自带的登录控件CreateUserWizard实现的[14]。如图6-2所示:图:6-2系统用户注册系统数据备份和恢复模块可以对系统数据的及时备份和数据恢复,以避免出现灾难性事故时,可以利用备份数据进行数据恢复。如图6-3和6-4所示:图:6-3数据备份模块功能实现代码如下:protectedvoidBtnOK_Click(objectsender,EventArgse){//获取连接字符串stringSqlStr1=ConfigurationManager.ConnectionStrings["connectionstring"].ConnectionString;/**HttpRuntime.AppDomainAppPath当前应用程序域中的应用程序的应用程序目录的物理驱动器路径**/stringSqlStr2="backupdatabaseDB_LMStodisk='"+HttpRuntime.AppDomainAppPath+"App_Data\\"+this.txtpath.Text.Trim()+".bak'";//备份数据库SqlConnectioncon=newSqlConnection(SqlStr1);//实例化连接字符串con.Open();//打开连接try{stringpathtest=HttpRuntime.AppDomainAppPath+"App_Data\\"+this.txtpath.Text.Trim()+".bak";if(File.Exists(pathtest))//判断文件是否已存在{Response.Write("<scriptlanguage=javascript>alert('此文件已存在,请重新输入!');location='DBDataup.aspx'</script>");return;}SqlCommandcom=newSqlCommand(SqlStr2,con);//实例化Sqlcommand对象com.ExecuteNonQuery();//执行命令Response.Write("<scriptlanguage=javascript>alert('备份数据成功!');location='DBDataup.aspx'</script>");}catch(Exceptionerror){this.msg.Text=error.Message;Response.Write(error.Message);Response.Write("<scriptlanguage=javascript>alert('备份数据失败!');history.go(-1);</script>");}finally{con.Close();//关闭连接}}[15]图:6-4数据恢复模块功能实现代码如下:protectedvoidBtnRecover_Click(objectsender,EventArgse){stringpath=this.FileUpload1.PostedFile.FileName;//获得备份路径及数据库名称stringSqlStr1=ConfigurationManager.ConnectionStrings["connectionstring"].ConnectionString;//获取页面链接字符串stringSqlStr2="usemasterrestoredatabaseDB_LMSfromdisk='"+HttpRuntime.AppDomainAppPath+"App_Data\\"+path+"'";//恢复数据库路径SqlConnectioncon=newSqlConnection(SqlStr1);//实例化连接字符串con.Open();//打开连接try{//实例化SQLCOMMAND对象SqlCommandcom=newSqlCommand(SqlStr2,con);//执行操作com.ExecuteNonQuery();Response.Write("<scriptlanguage=javascript>alert('还原数据成功!');location='DBDataRecover.aspx'</script>");}catch(Exceptionerror){//返回出错消息Response.Write(error.Message);Response.Write("<scriptlanguage=javascript>alert('还原数据失败!');history.go(-1);</script>");}finally{//关闭连接con.Close();}}车辆管理模块设计车辆添加模块主要是录入公司车辆的基本信息,其中在录入基本信息是车辆编号、登记时间、车牌号码、年检时间为必须填写。如图6-5所示:图:6-5车辆添加添加成功后会跳转到车辆查询页面。如图6-6所示:图:6-6车辆查询模块功能实现代码如下:protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){TeamIdOrName();}//记录当前路径Session["UrlLog"]="/Web/Manager/Car/CarsManager/AddCar.aspx";this.txtCarID.Focus();}//绑定车队名privatevoidTeamIdOrName(){IList<LMS.Model.TeamInfo>list=newList<LMS.Model.TeamInfo>();list=teambll.GetCarIdOrName();this.ddlTeamId.DataSource=list;this.ddlTeamId.DataTextField="TeamName";this.ddlTeamId.DataValueField="TeamId";this.ddlTeamId.DataBind();}//添加车辆信息protectedvoidImgBtnOK_Click(objectsender,ImageClickEventArgse){try{MC.CarId=this.txtCarID.Text.Trim();MC.CarNum=this.txtCarNum.Text.Trim();MC.CarType=this.txtCarType.Text.Trim();MC.TeamId=this.ddlTeamId.Text.Trim();MC.Registertime=DateTime.Parse(this.txtRegisterTime.Text.ToString());MC.Oiltype=this.ddlOilType.SelectedValue.Trim();MC.Price=this.txtPrice.Text!=string.Empty?float.Parse(this.txtPrice.Text.ToString()):0.0f;MC.UseYear=this.txtUseear.Text!=string.Empty?int.Parse(this.txtUseear.Text.ToString()):0;MC.Length=this.txtLength.Text.ToString();MC.Weight=this.txtWeight.Text!=string.Empty?float.Parse(this.txtWeight.Text):0.0f;MC.MadeIn=this.txtMadeIn.Text.Trim();MC.CheckTime=DateTime.Parse(this.txtCheckTime.Text.ToString());MC.Directions=this.txtDirections.Text.Trim();if(MC.CarId!=""&MC.CarNum!=""){intresult;objectoutresult=(object)CarBll.AddCar(MC,outresult);intoo=int.Parse(outresult.ToString());if(oo>0&result==20)Response.Write("<script>alert('添加车辆成功!');window.location.href='CarsManager.aspx';</script>");elseif(result==10){Response.Write("<script>alert('车牌号码已经存在!');window.history.go(-1);</script>");}elseif(result==30){Response.Write("<script>alert('车辆编号已经存在!');window.history.go(-1);</script>");}elseResponse.Write("<script>alert('添加车辆失败!');window.history.go(-1);</script>");}elseif(MC.CarId==""){Response.Write("<script>alert('车辆编号不能为空!');window.history.go(-1);</script>");}elseif(MC.CarNum==""){Response.Write("<scriptlanguage='javascript'>alert('车牌号码不能为空!');window.history.go(-1);</script>");}}catch{Response.Write("<script>alert('连接数据库失败!');window.history.go(-1);</script>");}}//刷新protectedvoidBtnRefresh_Click(objectsender,ImageClickEventArgse){Response.Write("<script>window.location.href=window.location.href;</script>");}//重置protectedvoidImgBtnReset_Click(objectsender,ImageClickEventArgse){Response.Write("<script>window.location.href=window.location.href;</script>");}运力查询模块设计运力查询模块主要负责查询运力,调度员可以进行科学的分派车辆进行运输任务,模块查询窗口支持模糊查询功能。如图6-7所示:图:6-7运力查询模块功能实习代码如下:protectedvoidPage_Load(objectsender,EventArgse){try{if(!IsPostBack){this.GridView1.DataSource=Team.GetTeamManage();this.GridView1.DataBind();}}catch{Response.Write("<script>alert('连接数据库失败');history.go(-1);</script>");}//记录当前路径Session["UrlLog"]="/Web/Manager/Capacity/SearchCapacity/SearchCapacity.aspx";this.TxtSearch.Focus();//搜索框获得焦点this.TxtSearch.Attributes.Add("onkeydown","SubmitKeyClick('ImgBtnSearch')");//按钮回车this.CarPanel.Visible=false;//隐藏panel}///导出EXCELprotectedvoidBtnUp_Click(objectsender,ImageClickEventArgse){try{stringfileName="导出数据";FileManageDll.HtmlDataToDochdtd=newFileManageDll.HtmlDataToDoc(this.Page);hdtd.GridViewDataToExcel(this.GridView1,fileName);}catch{Response.Write("<script>alert('连接数据库失败');history.go(-1);</script>");}}///刷新protectedvoidBtnRefresh_Click(objectsender,ImageClickEventArgse){Response.Write("<script>window.location.href=window.location.href;</script>");}///gridvies样式publicvoidGridView_RowCreated(objectsender,GridViewRowEventArgse){webStype.PageStype(sender,e);}///车队分页跳转protectedvoidGetIndex_Click(objectsender,EventArgse){try{GridViewRowpagerRow=GridView1.BottomPagerRow;TextBoxpageNum=pagerRow.Cells[0].FindControl("tbpage")asTextBox;if(pageNum.Text!=null)GridView1.PageIndex=Convert.ToInt32(pageNum.Text)-1;this.GridView1.DataSource=Team.GetTeamManage();this.GridView1.DataBind();}catch{Response.Write("<script>alert('用户操作有误!');history.go(-1);</script>");}}///车辆分页跳转protectedvoidGetIndex1_Click(objectsender,EventArgse){try{GridViewRowpagerRow=GridView1.BottomPagerRow;TextBoxpageNum=pagerRow.Cells[0].FindControl("tbpage1")asTextBox;if(pageNum.Text!=null)GridView1.PageIndex=Convert.ToInt32(pageNum.Text)-1;this.GridView1.DataSource=car.GetCarManage();this.GridView1.DataBind();}catch{Response.Write("<script>alert('用户操作有误!');history.go(-1);</script>");}}///车队翻页protectedvoidGridView1_PageIndexChanging1(objectsender,GridViewPageEventArgse){try{this.GridView1.PageIndex=e.NewPageIndex>=0?e.NewPageIndex:0;this.GridView1.DataSource=Team.GetTeamManage();this.GridView1.DataBind();}catch{Response.Write("<script>alert('连接数据库失败');history.go(-1);</script>");}}///查看信息protectedvoidGridView_RowEditing(objectsender,GridViewEditEventArgse){try{stringteamid=this.GridView1.Rows[e.NewEditIndex].Cells[0].Text.Trim();carinfo(teamid);}catch{Response.Write("<script>alert('连接数据库失败');history.go(-1);</script>");}this.CarPanel.Visible=true;//显示panel}///绑定车队下的车辆privatevoidcarinfo(stringteamid){try{this.GridView2.DataSource=car.SelectTeamInCar(teamid);this.GridView2.DataBind();}catch{Response.Write("<script>alert('连接数据库失败');history.go(-1);</script>");}}//车辆翻页protectedvoidGridView1_PageIndexChanging2(objectsender,GridViewPageEventArgse){try{this.GridView1.PageIndex=e.NewPageIndex>=0?e.NewPageIndex:0;this.GridView1.DataSource=car.GetCarManage();this.GridView1.DataBind();}catch{Response.Write("<script>alert('连接数据库失败');history.go(-1);</script>");}}承运任务管理模块设计承运单开出模块主要是负责从客户处接收到承运任务然后在系统上录入承运单,以便做好后期的接受承运单和财务的核算,其中要注意的是填写的起运日期不能大于送达日期。如图6-8所示:图:6-8承运单开出模块功能实习代码如下:protectedvoidPage_Load(objectsender,EventArgse){this.txtAcceptanceId.Focus();//记录当前路径Session["UrlLog"]="/Web/Manager/SingleCarrier/SingleCarrierOut/AddSingleCarrier.aspx";this.txtAcceptanceId.Focus();}///重置protectedvoidImgBtnReset_Click(objectsender,ImageClickEventArgse){Response.Write("<scriptlanguage='javascript'>window.location.href=window.location.href;</script>");}///刷新protectedvoidBtnRefresh_Click(objectsender,ImageClickEventArgse){Response.Write("<script>window.location.href=window.location.href;</script>");}///开出承运单protectedvoidImgBtnOK_Click(objectsender,ImageClickEventArgse){try{_model.AcceptanceId=this.txtAcceptanceId.Text.Trim();_model.Amount=this.txtAmount.Text!=string.Empty?float.Parse(this.txtAmount.Text.ToString()):0.0f;_model.Annex=this.txtAnnex.Text.Trim();_model.Consignee=this.txtConsignee.Text.Trim();_model.ConsigneeAddress=this.txtConsigneeAddress.Text.Trim();_model.ConsigneeNumber=this.txtConsigneeNumber.Text.Trim();_model.Distance=this.txtDistance.Text!=string.Empty?float.Parse(this.txtDistance.Text.ToString()):0;_model.Endplace=this.txtEndplace.Text.Trim();_model.EndTime=DateTime.Parse(this.txtEndTime.Text.Trim());_model.GoodsBulk=this.txtGoodsBulk.Text!=string.Empty?float.Parse(this.txtGoodsBulk.Text.ToString()):0.0f;_model.GoodsNumber=this.txtGoodsNumber.Text!=string.Empty?int.Parse(this.txtGoodsNumber.Text.ToString()):0;_model.GoodsType=this.ddlGoodsType.Text.Trim();_model.PaymentType=this.ddlPaymentType.Text.Trim();_model.PickGoods=this.ddlPickGoods.Text.Trim();_model.Premium=this.txtPremium.Text!=string.Empty?float.Parse(this.txtPremium.Text.ToString()):0.0f;_model.Price=this.txtPrice.Text!=string.Empty?float.Parse(this.txtPrice.Text.ToString()):0.0f;_model.PriceOfGoods=this.txtPriceOfGoods.Text!=string.Empty?float.Parse(this.txtPriceOfGoods.Text.ToString()):0.0f;_model.Remarks=this.txtRemarks.Text.Trim();_model.Shipper=this.txtShipper.Text.Trim();_model.ShipperAddress=this.txtShipperAddress.Text.Trim();_model.ShipperNumber=this.txtShipperNumber.Text.Trim();_model.StartPlace=this.txtStartPlace.Text.Trim();_model.StartTime=DateTime.Parse(this.txtStartTime.Text);_model.Weight=this.txtWeight.Text!=string.Empty?this.txtWeight.Text.Trim()+","+this.ddlweight.Text:0+","+this.ddlweight.Text;_model.TradeNames=this.txtTradeNames.Text.Trim();intaa=int.Parse(DateTime.Compare(_model.EndTime,_model.StartTime).ToString());if(aa>0){intresult;intcount=_accbll.AddAcceptance(_model,outresult);if(count>0&result==10){Response.Write("<script>alert('添加承运单成功!');location.href='SingleCarrierManage.aspx';</script>");}elseif(result==20){Response.Write("<script>alert('承运单号已存在,开单失败!');history.go(-1);</script>");}else{Response.Write("<script>alert('输入有误,添加失败!');history.go(-1);</script>");}}else{Response.Write("<script>alert('起运日期不能大于送达日期!');history.go(-1);</script>");}}catch{Response.Write("<script>alert('未知错误,连接数据库出错!');history.go(-1);</script>");}}运输成本管理模块设计运输成本的核算主要是负责整个项目从开始到结束的所有费用的结算,也是企业管理员最为关心的一块。如图6-9所示:图:6-9运输成本核算模块功能实现代码如下:protectedvoidPage_Load(objectsender,EventArgse){try{if(!IsPostBack){this.GridView1.DataSource=_costbll.GetCostAccounting();this.GridView1.DataBind();}}catch{Response.Write("<script>alert('连接数据库失败');history.go(-1);</script>");}//记录当前路径Session["UrlLog"]="/Web/Manager/Costing/Accounting/AccoutManage.aspx";this.TxtSearch.Focus();//搜索框获得焦点this.TxtSearch.Attributes.Add("onkeydown","SubmitKeyClick('ImgBtnSearch')");//按钮回车}///刷新protectedvoidBtnRefresh_Click(objectsender,ImageClickEventArgse){Response.Write("<script>window.location.href=window.location.href;</script>"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 常州正衡小升初数学试卷
- 2025至2030年中国4-(二乙氨基)-水杨醛数据监测研究报告
- 2025年中国高强度自攻螺丝市场调查研究报告
- 滨州阳信中考数学试卷
- 2025年中国蒸发器与电控柜滑架市场调查研究报告
- 2025年中国证券交易卡市场调查研究报告
- 2025年中国粘胶机市场调查研究报告
- 2025年中国碘代丙炔基氨基甲酸酯市场调查研究报告
- 2025年中国男装针织衫市场调查研究报告
- 2025年中国无尘天花板市场调查研究报告
- GMP附录计算机化系统整体及条款解读
- 村光伏发电申请书
- 腰椎间盘突出症中医特色疗法课件
- 施工现场专项消防安全检查表
- 如何当好学校的中层干部
- 2022-2023学年广东省佛山市顺德区高三(下)模拟英语试卷
- 钢结构厂房吊装安装监理控制要点演示文稿
- 无权代理与表见代理
- 创伤的现场检伤分类法伤情程的快速评估方法
- Topic+1+Personal+information(个人情况)-2023年中考英语话题复习精美课件
- 2023年高考数学大招9蒙日圆及其证明
评论
0/150
提交评论