为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

汽车销售论文

2017-09-28 49页 doc 373KB 20阅读

用户头像

is_005190

暂无简介

举报
汽车销售论文汽车销售论文 1毕业设计找我(www.bysjzw.com) 汽车销售管理系统的设计与开发 第 1 页 共26页 毕业设计找我(www.bysjzw.com) 汽车销售管理系统的设计与开发 要 摘 随着人们生活水平的不断提高,人们对汽车的消费和需求也越来越旺盛。很多汽车销售公司的业务环节仍然运用人工记账的传统方法,既容易出错又会导致账目混乱,查询和统计起来也非常不方便,费时又费力,严重时会给公司造成难以挽回的损失。如何管理好这些,使整个公司协调一致、高效率地运转,是各公司急待解决的问题。 汽车销售管理系统不但能使...
汽车销售论文
汽车销售论文 1毕业设计找我(www.bysjzw.com) 汽车销售管理系统的设计与开发 第 1 页 共26页 毕业设计找我(www.bysjzw.com) 汽车销售管理系统的设计与开发 要 摘 随着人们生活水平的不断提高,人们对汽车的消费和需求也越来越旺盛。很多汽车销售公司的业务环节仍然运用人工记账的传统方法,既容易出错又会导致账目混乱,查询和统计起来也非常不方便,费时又费力,严重时会给公司造成难以挽回的损失。如何管理好这些,使整个公司协调一致、高效率地运转,是各公司急待解决的问题。 汽车销售管理系统不但能使各业务环节协调一致,而且操作简单,账目清晰。通过账目查询,公司能在最短的时间内获得市场信息,从而制订相应的决策。因此,该系统主要根据实际需求,划分了售前管理、车辆管理、订货管理、查询管理、售后管理和系统设定六大模块,并选用Delphi 7.0开发工具和 SQL Server 2000数据库,采用B/S模式实现了从客户来访、报价、订购等多个环节数据的跟踪管理服务,基本上满足了汽车销售管理流程。 关键词:销售管理;C/S模式;数据库; 第 2 页 共 26 页 毕业设计找我(www.bysjzw.com) Design and Development of the Automobile Sale Management System Abstract As people's living standards continued to improve, the demand for the automobile is growing fast. Many auto sales businesses are still using the traditional and manual accounting, it’s easy to lead the accounts error and chaos. It is not easy and always costs us much time to inquiries and statistics, which may be led company to serious circumstance. How to deal with these to make the company coordinated and efficient is the first problem should be solved. Automobile sales management system not only helps the business with coordinated, but also operation simple, accounts clear. By query score, company can get the useful market information in the shortest time, so as to work out correct decision. Namely, the system is mainly based on actual needs. We divide it to six modules, including pre-sale management, automobile management, order management, search management, after-sale management and system set. We use Delphi 7.0 development tools, SQL Server 2000 database and B/S module to achieve the services about customer visit, Price, ordering and so on basically meeting the needs of automobile sales management processes. Key words: Sale management; C/S model; Database; 第 3 页 共 26 页 毕业设计找我(www.bysjzw.com) 目 录 论文总页数:26页 1 引言 ....................................................................... 6 1.1 系统开发背景及意义 ................................................... 6 1.2 系统目标 ............................................................. 6 2 需求分析和设计 ............................................................. 6 2.1 需求分析 ............................................................. 6 2.1.1 系统需求 ....................................................... 6 2.1.2 功能需求 ....................................................... 7 2.1.3 运行需求 ....................................................... 7 2.2 系统的功能模块设计 ................................................... 7 2.2.1 售前管理模块 ................................................... 8 2.2.2 车辆管理模块 ................................................... 8 2.2.3 订货管理模块 ................................................... 8 2.2.4 查询统计模块 ................................................... 8 2.2.5 售后管理模块 ................................................... 9 2.2.6 系统设定模块 ................................................... 9 , 系统解决 .............................................................. 9 3.1 系统的解决方案 ..................................... 错误~未定义书签。4 3.2 Delphi简介 ........................................ 错误~未定义书签。4 3.3 SQL server 2000 简介 ................................................. 9 3.4.1 服务器组件 ..................................................... 9 3.4.2 客户端工具 .................................................... 10 3.5 C/S结构 ............................................................ 10 , 数据库设计 ............................................................... 10 5 系统具体实现 .............................................................. 12 5.1 用户登录模块设计 .................................................... 12 5.1.1 前台页面设计 .................................................. 13 5.1.2 后台功能代码 .................................................. 13 5.2 首页界面设计 ........................................................ 14 5.3 售前管理模块的具体实现 .............................................. 15 5.3.1 添加客户信息 .................................................. 15 5.3.2 添加车辆信息 .................................................. 19 第 4 页 共 26 页 毕业设计找我(www.bysjzw.com) 5.4 车辆管理模块的具体实现 .............................................. 20 5.5 订货管理模块的具体实现 ............................ 错误~未定义书签。16 5.6 查询统计模块的具体实现 ............................ 错误~未定义书签。18 5.7 售后管理模块的具体实现 ............................ 错误~未定义书签。19 6 系统测试 ................................................ 错误~未定义书签。20 6.1 系统功能模块测试 .................................. 错误~未定义书签。20 6.1.1 售前模块功能测试 ............................ 错误~未定义书签。20 6.1.2 车辆管理模块测试 ............................ 错误~未定义书签。22 6.2 系统完善与优化 ...................................................... 36 结 论 .................................................................... 36 参考文献 .................................................................... 37 致 谢 ..................................................................... 1 声 明 .................................................. 错误~未定义书签。26 第 5 页 共 26 页 毕业设计找我(www.bysjzw.com) 1 引言 汽车工业经历了一百多年的发展,对国家经济的发展和腾飞以及对人类社会的文明带来了巨大影响。汽车工业已成为许多国家的支柱产业,随着人们生活水平以及汽车性能的不断提高,人们对汽车的消费和需求也越来越旺盛,世界汽车工业也保持庞大的市场需求和生产规模。近年来,中国汽车市场发展迅猛,以接近40,的速度增长。巨大的市场容量和可观的经济效益,引起各汽车厂家(包括世界各著名汽车厂家的在华企业)纷纷加大投资,汽车市场烽烟四起,汽车销售策略和模式新招频出,竞争已是空前的激烈。在如此形式下,一种介于生产厂家和用户之间的桥梁,汽车销售公司正在不断的产生和发展壮大。 1.1 系统开发背景及意义 各汽车销售公司它们都有管理、计划、销售、财务、配件、售后服务等职能部门。如何管理好这些部门,使整个公司协调一致、高效率地运转,是各公司急待解决的问题。但有的业务环节仍然运用人工记账的传统办法,既容易出错又会导致账目混乱,查询和统计起来非常不方便,费时又费力,严重时会给公司造成难以挽回的损失。像这样初级的公司管理方法,已远跟不上销售政策和销售形势发展的需要。因此,如何对汽车销售管理提供一整套的管理方法达到提高效率和降低成本的问题成为焦点。汽车销售管理系统的提出,对汽车销售公司来讲意义重大。它不但能使各业务环节协调一致,而且操作简单,账目清晰,通过账目查询,公司能在最短的时间内获得市场信息,从而制订相应的决策。 1.2 系统目标 本系统是以汽车基本信息为主体,以汽车供应商和汽车需求商为服务对象,通过对各种票据和日志信息的管理操作,需要达到以下目标: 一、实现从客户来访、咨询、报价、订购,到采购等多个销售环节上的严密的跟踪管理服务; 二、使既可以适合于多品牌车辆的销售,也可以适用于专卖店的管理; 三、能够很快地将市场信息反馈到各职能部门,制定相应策略。从而有条不紊地开拓市场,更好地挖掘客户资源,进一步提高车辆销售的成功率,提高服务质量,更灵活地适应外部市场环境、提升内部的管理水平、留住客户、赢得商机,从而提高企业在市场上竞争能力。 2 需求分析和设计 2.1 需求分析 2.1.1 系统需求 本汽车销售管理系统是一个协助汽车销售商对各职能部门及业务流程进行全面管理的一个信息管理系统。首先要解决传统的管理方法容易造成档案资料的 第 6 页 共 26 页 毕业设计找我(www.bysjzw.com) 遗失,控制不集中,管理不规范等问题。因此,本管理系统在实现上应满足以下需求: 1.能达到各销售业务流程之间的无缝链接和数据的共享。 2.为系统提供数据支持。 3.不同级别的用户拥有相应的权限使用该系统,从而大大提高了系统的安全性和管理效率。 4.能保证整个系统构架的稳定性和安全性。 2.1.2 功能需求 首先将汽车信息入库,然后经销商通过与汽车需求商(即客户)的交易活动,将相关信息存入库,然后经销商通过销售信息的查询获得汽车销售的盈亏情况,通过库存查询获得公司目前的库存情况。由此可分析系统需要达到以下目标: 1.能很好地完成汽车的售前管理。售前管理包括供应商信息,需求商信息和汽车基本信息的入库作业。 2.能详细地汽车供应商和公司之间的交易过程,即进货或退货过程。 3.能详细地记录需求商与公司之间的交易过程,即订车和退车过程。 4.能及时准确地获得汽车在某阶段的盈亏情况和市场的需求走势。即通过对汽车销售排行、汽车进货、汽车退货、订车、退车等信息查询获得相应的结果,以备公司作为参考,从而制定出相应的策略。 5.能够对各种经济结算进行相应的记录。包括对进货结帐,退货结帐,订车结帐,退车结帐等。 6.能够对不同权限的用户进行合理的管理。包括添加用户,删除用户,用户账号和密码管理等。 2.1.3 运行需求 本系统的运行环境如下: 1.硬件环境 处理器:Inter Pentium 4 2.0G或更高 内存:512M(推荐) 硬盘空间:80GB及以上 2.软件环境 OS:Windows XP DataBase:Microsoft SQL Server 2000 2.2 系统的功能模块设计 通过分析,将系统划分为六大模块,分别是售前管理模块、车辆管理模块、订货管理模块、查询统计模块、售后管理模块和系统设定模块,其功能结构如图 第 7 页 共 26 页 毕业设计找我(www.bysjzw.com) 1所示,下面针对各模块的功能进行详细说明。 图1 系统功能模块结构图 2.2.1 基础信息模块 本模块负责客户、供应商信息和车辆信息的录入管理。将公司信息分为客户和供应商两种类型的数据信息都放在数据中,该数据表存储有供应商信息与客户的基本信息,对表中内容进行添加、删除、修改就可以完成对供应商以及客户资料的实时更新,保证数据的准确性。 汽车信息的管理包括汽车相关的序列号、车型、发动机号等的录入、修改、添加、删除等功能。本模块是整个汽车销售管理系统功能实现的基础,数据库内没有准确的数据源,那么其它功能就没有实现的价值了,而修改、添加可以达到数据及时更新的目的。 2.2.2 库存管理模块 该模块主要管理汽车的入库信息,包括与供应商之间的往来帐,即库存查询、盘点(修改库存)等。 2.2.3 销售管理模块 订货管理模块主要管理客户销售信息和退货信息。即销售信息的和退货信息的添加、查询等操作。此模块保证了客户和公司之间的合作关系,能够为公司与客户合作进程提供基础。 2.2.4 查询统计模块 该模块主要进行汽车进货查询、进货退货查询、汽车销售查询、销售退货查询、汽车库存查询和汽车销售排行查询。可以实现对公司所有的汽车状态的查询,并且可以通过供应商、汽车名称、经手人以及起止时间中的单个条件或多个组合条件进行搜索,条件越多搜索越精确,反之则搜索的范围越广;以及售后服务的 第 8 页 共 26 页 毕业设计找我(www.bysjzw.com) 提醒和服务录入。 2.2.5 售后管理、财务管理模块 该模块主要管理汽车的保养提醒和车辆保养,以及进货结账、汽车销售结账和销售退货结账等信息的记录。 2.2.6 系统设定模块 该模块主要管理添加用户、修改密码和用户管理。系统管理员负责管理所有用户信息的管理,担负着整个系统的维护和管理工作。 , 系统解决方案 Delphi简介 Delphi是一个极有代表性的面向对象开发工具;它将面向对象的程序设计方法与数据库技术;网络技术以及可视化;事件驱动,代码自动生成等先进技术完美的结合在一起,使用它可以直观的,快速地开发,高质量的windows应用程序。Delphi强大的易用的特点得到程序员的青睐。Delphi7.0除了保留以前版本的强大功能之处,更在数据库程序开发方面提供了强有力的支持,使程序员完全可能轻松开发出复杂且功能强大的数据库程序。 Delphi类可以粗略地分成两部分:一部分是组件类,这些组件类通常以某种方式出现在组件面板上,当用户从组件面板上点取一个类的图标后,在程序中就自动生成了该类的对象(非可视组件除外);另一部分是功能类,这此功能类的对象通常出现在程序代码中,起着不可代替的作用,但是这些功能类在组件面板上是找不到的。在Delphi中,每一个类的祖先都是Tobject类,整个类的层次结构就像一棵倒挂的树,在最顶层的树根即为Tobject类。这样,按照面向对象编程的基本思想,就使得用户可用Tobject类这个类型代替任何其它类的数据类型。 3.4 SQL server 2000 简介 微软公司新推出的SQL Server 2000扩展了SQL Server 7.0版的性能,加强了可靠性,提高了质量和易用性。SQL Server 2000增加了多种新的功能,由此成为大规模联机事物处理(OLTP)、数据库和电子商务应用程序的优秀数据平台,它包含服务器组件和客户端工具。 3.4.1 服务器组件 SQL Server的服务器组件是以Windows服务(Windows Services)方式运行的。一般认为SQL Server包含四种Windows服务,分别是:MS SQL Server、DTC Distributed Transaction Coordinator、SQL Server Agent、Search Service。 第 9 页 共 26 页 毕业设计找我(www.bysjzw.com) MS SQL Server是最常用的服务,一般的数据库功能都是由它提供的,例如文件管理、查询处理、数据存储等;DTC是分布式事务协调器,支持跨越两个或多个服务器的更新操作来保证事务的完整性;SQL Server Agent负责SQL Server 自动化工作,如果需要SQL Server 在指定时间执行某一个存储过程,就需要用到这个服务了,Search Service是全文查询服务,负责全文检索方面的工作。 3.4.2 客户端工具 SQL Server 2000 的核心是服务器组件,但用户直接接触的却不是它们,而是客户端工具。服务器组件是引擎,客户端工具是用户界面,两者是相辅相成的。 的客户端共有企业管理器、查询分析器、事件探查器、服SQL Server 2000 务管理器、客户端网络实用工具、服务器网络实用工具、导入和导出数据(DTS)等等。 服务器组件与客户端工具功能上是配套的,客户端工具需要用最简单的形式表达最丰富的服务器组件的功能。服务器组件和客户端工具物理上是离散的,客户端工具要与服务器组件连通,需要一些用于通讯的动态链接库,SQL Server 2000 的通讯库支持多种网络协议,例如TCP/IP、命名管道等。 3.5 C/S结构 概况 (Client/Server或客户/服务器模式):Client和Server常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户;Server程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。 C/S (Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。 传统的C,S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能 第 10 页 共 26 页 毕业设计找我(www.bysjzw.com) 提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件, 加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高, 效率低。 C/S工作模式 C/S 结构的基本原则是将计算机应用任务分解成多个子任务,由多台计算机分工完成,即采用“功能分布”原则。客户端完成数据处理,数据表示以及用户接口功能;服务器端完成DBMS的核心功能。这种客户请求服务、服务器提供服务的处理方式是一种新型的计算机应用模式。 一、C/S结构的优点 C/S结构的优点是能充分发挥客户端,,的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。缺点主要有以下几个: 只适用于局域网。而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。 客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。 对客户端的操作系统一般也会有限制。可能适应于Win98, 但不能用于win2000或Windows XP。或者不适用于微软新的操作系统等等,更不用说Linux、,nix等。 二、C/S架构软件的优势与劣势 (1)应用服务器运行数据负荷较轻。最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。 (2)数据的储存管理功能较为透明。在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台应用可以违反的规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。在C/S体系的下,数据库不能真正成为公共、专业化的仓库,它受到独立 第 11 页 共 26 页 毕业设计找我(www.bysjzw.com) 的专门管理。 (3)C/S架构的劣势是高昂的维护成本且投资大。首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。 其次,传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。在JAVA这样的跨平台语言出现之后,B/S架构更是猛烈冲击C/S,并对其形成威胁和挑战。 , 数据库设计 通过分析,该系统所用到数据表单如表1到表5所示。 供应商信息和客户信息统称为公司信息,只用类型将两者区分开。该表主要描述公司名称、地址、电话等一些公司的基本信息,主键为公司编号,公司信息数据表结构如表1所示。 (数据字典) 5 系统具体实现 5.1 用户登录模块设计 用户登录主要用于验证用户登录系统时输入的用户名、密码和验证码是否正确,只有合法的用户才可以进入系统,否则将不能进入此系统,该系统登录页面的运行效果如图2所示。 图2系统登录页面 第 12 页 共 26 页 毕业设计找我(www.bysjzw.com) 系统登录设计流程图如图3所示。 进入登录页面 错误 验证“用户名” 正确 错误 验证“密码” 正确 错误 验证“验证码” 正确 进入系统首页界面 图3 登录流程图 5.1.1 前台页面设计 用户登录页面中主要使用控件及控件用途如表6所示。 表6 用户登录页面中主要使用控件及控件用途 控件名称 数量 用途 Combox 2 文本框 image 1 显示突变 Label 3 显示题目 Button 2 提交数据 ADOQuery 2 数据录入 控件的属性设置,可以通过前台代码实现,也可以在控件属性对话框中设置实现; 5.1.2 后台功能代码 在Onshow页装载事件中,编写操作员列表功能代码。在单击“确定”按钮,验证用户名和密码中是否含有非法字符,验证码是否正确,在数据库中检索用户名和密码是否正确,如果成功进入管理页面,失败则弹出相应的提示信息。 procedure Tfrmlogin.Button1Click(Sender: TObject); var s: string; begin s := 'select * from czy where czybh=:czybh1 and czymc=:czymc1 and pw=:pw1'; yg.Close; 第 13 页 共 26 页 毕业设计找我(www.bysjzw.com) yg.SQL.Clear; yg.SQL.Add(s); yg.Parameters.ParamByName('czybh1').Value := Copy(Trim(c1.Text), 1, Pos('|', Trim(c1.Text)) - 1); yg.Parameters.ParamByName('czymc1').Value := Copy(Trim(c1.Text), Pos('|', Trim(c1.Text)) + 1, Length(Trim(c1.Text)) - Pos('|', Trim(c1.Text))); yg.Parameters.ParamByName('pw1').Value := trim(c2.Text); yg.Prepared; yg.Open; if not yg.IsEmpty then begin gg_czybh := Trim(yg.FieldByName('czybh').AsString); gg_czymc := Trim(yg.FieldByName('czymc').AsString); gg_pw := Trim(yg.FieldByName('pw').AsString); frmmain.StatusBar1.Panels.Items[2].Text := Trim(yg.FieldByName('czybh').AsString) + '|' + Trim(yg.FieldByName('czymc').AsString); Close; end else begin application.MessageBox('您输入的登陆口令不正确~', '登陆失败', 64); c2.SetFocus; abort; end; end; 5.2主界面设计 当登录成功后,就会进入如图4的首页界面。首页主要由两大部分组成,第 一部分是功能导航区,第二部分是操作区。 第 14 页 共 26 页 毕业设计找我(www.bysjzw.com) 图4 系统首页页面 5.3 基础信息模块的具体实现 5.3.1 添加客户信息 添加公司信息页面主要用于添加公司的基本信息,如名称,联系方式等。公司信息又分为供应商信息与客户信息。添加客户信息如图5所示。 第 15 页 共 26 页 毕业设计找我(www.bysjzw.com) 图5 添加客户信息页面 1(前台设计 添加公司信息页面中主要使用控件及控件用途,如表7所示。 表7 添加客户信息页面中主要使用控件及控件用途 控件名称 数量 用途 Combox 2 文本框 image 1 显示图片 Label 3 显示题目 Button 2 提交数据 ADOQuery 2 数据录入 Pannel 1 布局 控件的属性设置,可以通过前台代码实现,也可以在控件属性对话框中设置实现,本页中使用的控件属性的设置参见如下代码; 2(后台功能代码 在Onshow事件中,显示客户信息,单击“添加”按钮,把客户信息保存到数据库中,弹出成功的对话框,并重新定向到此页面。 procedure Tfrmkhxz.Button2Click(Sender: TObject); var s: string; 第 16 页 共 26 页 毕业设计找我(www.bysjzw.com) begin //---------------------检查----------------------// if trim(c1.Text) = '' then begin application.MessageBox('客户编号不能为空~', '提示', 64); c1.SetFocus; abort; end; if trim(c2.Text) = '' then begin application.MessageBox('客户名称不能为空~', '提示', 64); c1.SetFocus; abort; end; if trim(c3.Text) = '' then begin application.MessageBox('客户简称不能为空~', '提示', 64); c3.SetFocus; abort; end; s := 'select * from khxx'; kh.Close; kh.SQL.Clear; kh.SQL.Add(s); kh.Prepared; kh.Open; //---------------增加------------------------------// s := 'select * from khxx where khbh=' + quotedstr('KH' + trim(c1.Text)) + ' or khmc=' + quotedstr(trim(c2.Text)); q1.Close; q1.SQL.Clear; q1.SQL.Add(s); q1.Prepared; q1.Open; 第 17 页 共 26 页 毕业设计找我(www.bysjzw.com) if q1.IsEmpty then begin kh.Append; kh.FieldByName('khbh').AsString := 'KH' + trim(c1.Text); kh.FieldByName('khmc').AsString := trim(c2.Text); kh.FieldByName('khjc').AsString := trim(c3.Text); kh.FieldByName('zjm').AsString := trim(c4.Text); kh.FieldByName('lxr').AsString := trim(c5.Text); kh.FieldByName('dh').AsString := trim(c6.Text); kh.FieldByName('cz').AsString := trim(c8.Text); kh.FieldByName('dz').AsString := trim(c12.Text); kh.FieldByName('yddh').AsString := trim(c7.Text); kh.FieldByName('wz').AsString := trim(c10.Text); kh.FieldByName('email').AsString := trim(c11.Text); kh.Post; application.MessageBox('增加成功,请继续~', '提示', 64); s := 'select * from khxx'; frmkhxx.kh.Close; frmkhxx.kh.SQL.Clear; frmkhxx.kh.SQL.Add(s); frmkhxx.kh.Prepared; frmkhxx.kh.Open; //-------------------------------------// c1.Text := ''; c2.Text := ''; c3.Text := ''; c4.Text := ''; c5.Text := ''; c6.Text := ''; c7.Text := ''; c8.Text := ''; c10.Text := ''; c11.Text := ''; c12.Text := ''; c1.SetFocus; end else begin application.MessageBox('客户编号已经存在~', '提示', 64); c1.SetFocus; abort; 第 18 页 共 26 页 毕业设计找我(www.bysjzw.com) end; 5.3.2 添加车型信息 添加车型信息页面主要用于添加车辆的详细信息,在功能导航区中单击“添加车型”,在操作区中会显示添加页面。添加车辆信息如图6所示。 图6 添加车辆信息页面 1(后台功能代码 procedure Tfrmcxxz.Button1Click(Sender: TObject); var s: string; begin if trim(c1.Text) = '' then begin application.MessageBox('请输入车型~', '提示', 64); abort; end; s := 'select * from cx where cx=' + quotedstr(trim(c1.Text)); q1.Close; q1.sql.Clear; q1.sql.Add(s); 第 19 页 共 26 页 毕业设计找我(www.bysjzw.com) q1.Prepared; q1.Open; if not q1.IsEmpty then begin application.MessageBox('该车型已经存在~', '提示', 64); abort; end else begin q1.Append; q1.FieldByName('cx').AsString := trim(c1.Text); q1.FieldByName('sm').AsString := trim(c2.Text); q1.Post; s := 'select * from cx'; frmcx.cx.Close; frmcx.cx.SQL.Clear; frmcx.cx.SQL.Add(s); frmcx.cx.Prepared; frmcx.cx.Open; application.MessageBox('保存成功~', '提示', 64); c1.Text := ''; c2.Text := ''; c1.SetFocus; end; end; 5.4 库存管理模块的具体实现 库存管理主要包括对车辆信息的入库和查询,实现分别如下: 入库单 第 20 页 共 26 页 毕业设计找我(www.bysjzw.com) 入库时填写车辆的序列号、车型、发动机号、底盘号、颜色、采购单价、 销售单价等信息,入库数量为1,因为不可能存在有相同序列号和发动机号 的两辆车,保存时选择供货商,保存完毕后和供货商之间形成一个往来金额。 代码如下: procedure Tfrmcgd.ToolButton3Click(Sender: TObject); var s: string; begin //---检查 if cgd.IsEmpty then begin application.MessageBox('请添加车辆信息~', '提示', 64); abort; end; if trim(c12.Text) = '' then begin 第 21 页 共 26 页 毕业设计找我(www.bysjzw.com) application.MessageBox('请选择供货商~', '提示', 64); abort; end; //---检查供货商是否正确 s := 'select * from ghsxx where ghsbh=' + quotedstr(copy(trim(c12.Text), 1, pos('|', trim(c12.Text)) - 1)); q1.close; q1.sql.Clear; q1.sql.Add(s); q1.Prepared; q1.Open; if q1.IsEmpty then begin application.MessageBox('请选择正确的供货商~', '提示', 64); abort; end; //----保存 s := 'select top 1 * from cgd'; q1.Close; q1.sql.Clear; q1.sql.Add(s); q1.Prepared; q1.Open; s := 'select * from lscgd where cgdh=' + quotedstr(trim(c1.Text)); cgd.close; cgd.sql.Clear; cgd.sql.Add(s); cgd.Prepared; cgd.Open; if not cgd.IsEmpty then begin 第 22 页 共 26 页 毕业设计找我(www.bysjzw.com) cgd.First; while not cgd.Eof do begin //---id, cgdh, cgrq, xlh, cx, fdjh, dph, ys, sl, dj, je, bz, rkbj, xsdj q1.Append; q1.FieldByName('cgdh').AsString := trim(c1.Text); q1.FieldByName('cgrq').AsString := trim(c2.Text); q1.FieldByName('ghsbh').AsString := copy(trim(c12.Text), 1, pos('|', trim(c12.Text)) - 1); q1.FieldByName('ghsmc').AsString := copy(trim(c12.Text), pos('|', trim(c12.Text)) + 1, length(trim(c12.Text)) - pos('|', trim(c12.Text))); q1.FieldByName('xlh').AsString := trim(cgd.fieldbyname('xlh').AsString); q1.FieldByName('cx').AsString := trim(cgd.fieldbyname('cx').AsString); q1.FieldByName('fdjh').AsString := trim(cgd.fieldbyname('fdjh').AsString); q1.FieldByName('dph').AsString := trim(cgd.fieldbyname('dph').AsString); q1.FieldByName('ys').AsString := trim(cgd.fieldbyname('ys').AsString); q1.FieldByName('sl').AsString := trim(cgd.fieldbyname('sl').AsString); q1.FieldByName('dj').AsString := trim(cgd.fieldbyname('dj').AsString); q1.FieldByName('je').AsString := trim(cgd.fieldbyname('je').AsString); q1.FieldByName('xsdj').AsString := trim(cgd.fieldbyname('xsdj').AsString); q1.FieldByName('bz').AsString := trim(cgd.fieldbyname('bz').AsString); q1.Post; //------处理库存 s := 'select * from kcb'; q2.Close; q2.sql.Clear; q2.sql.Add(s); q2.Prepared; q2.Open; //---id, xlh, cx, fdjh, dph, ys, sl, cbdj, je, xsdj, bz, dhrq q2.Append; q2.FieldByName('xlh').AsString := trim(cgd.fieldbyname('xlh').AsString); q2.FieldByName('cx').AsString := trim(cgd.fieldbyname('cx').AsString); q2.FieldByName('fdjh').AsString := trim(cgd.fieldbyname('fdjh').AsString); q2.FieldByName('dph').AsString := trim(cgd.fieldbyname('dph').AsString); 第 23 页 共 26 页 毕业设计找我(www.bysjzw.com) q2.FieldByName('ys').AsString := trim(cgd.fieldbyname('ys').AsString); q2.FieldByName('sl').AsString := trim(cgd.fieldbyname('sl').AsString); q2.FieldByName('cbdj').AsString := trim(cgd.fieldbyname('dj').AsString); q2.FieldByName('je').AsString := trim(cgd.fieldbyname('je').AsString); q2.FieldByName('xsdj').AsString := trim(cgd.fieldbyname('xsdj').AsString); q2.FieldByName('bz').AsString := trim(cgd.fieldbyname('bz').AsString); q2.FieldByName('dhrq').AsString := trim(c2.Text); q2.Post; cgd.Next; end; end; //-----处理往来金额 s := 'select sum(je) as je from lscgd where cgdh=' + quotedstr(trim(c1.Text)); q1.Close; q1.sql.Clear; q1.sql.Add(s); q1.Prepared; q1.Open; s := 'select * from ghsxx where ghsbh=' + quotedstr(copy(trim(c12.Text), 1, pos('|', trim(c12.Text)) - 1)); q2.Close; q2.sql.Clear; q2.sql.Add(s); q2.Prepared; q2.Open; if not q2.IsEmpty then begin q2.Edit; q2.FieldByName('wlje').AsFloat := q2.FieldByName('wlje').AsFloat + q1.fieldbyname('je').AsFloat; q2.Post; end; 第 24 页 共 26 页 毕业设计找我(www.bysjzw.com) application.MessageBox('保存成功~', '提示', 64); //----按钮控制 toolbutton3.Enabled := false; 5.5 销售管理模块 5.5.1 销售单 查询所有车辆的库存信息,选择客户,然后选择需销售的车辆信息,填写相应的单价、折扣等信息,保存完毕后和客户产生往来金额,可以去财务管理进行相应的收款操作。 主体代码: procedure Tfrmxsd.ToolButton3Click(Sender: TObject); var s: string; begin //----检查 第 25 页 共 26 页 毕业设计找我(www.bysjzw.com) if trim(c6.Text) = '' then begin application.MessageBox('请添加车辆信息~', '提示', 64); abort; end; if trim(c3.Text) = '' then begin application.MessageBox('请选择客户信息~', '提示', 64); abort; end; if strtofloat(c14.Text) <= 0 then begin application.MessageBox('请输入合理的销售价格和折扣率~', '提示', 64); abort; end; s := 'select * from xsd where xlh=' + quotedstr(trim(c6.text)); q1.Close; q1.SQL.Clear; q1.sql.Add(s); q1.Prepared; q1.Open; if not q1.IsEmpty then begin application.MessageBox('该车已销售,客户未提货~', '提示', 64); abort; end; //---------保存销售单 s := 'select top 1 * from xsd'; q1.Close; q1.sql.Clear; q1.sql.Add(s); q1.Prepared; q1.Open; //--id, xsdh, xsrq, xsr, xlh, cx, fdjh, dph, ys, sl, xsdj, zk, zhj, xsje, cbj, lr, sfth, bz, khbh, khmc 第 26 页 共 26 页 毕业设计找我(www.bysjzw.com) q1.Append; q1.FieldByName('xsdh').AsString := trim(c1.Text); q1.FieldByName('xsrq').AsString := trim(c2.Text); q1.FieldByName('khbh').AsString := trim(c3.Text); q1.FieldByName('khmc').AsString := trim(c4.Text); q1.FieldByName('xsr').AsString := trim(c5.Text); q1.FieldByName('xlh').AsString := trim(c6.Text); q1.FieldByName('cx').AsString := trim(c7.Text); q1.FieldByName('fdjh').AsString := trim(c8.Text); q1.FieldByName('dph').AsString := trim(c9.Text); q1.FieldByName('ys').AsString := trim(c10.Text); q1.FieldByName('sl').AsString := trim(c11.Text); q1.FieldByName('xsdj').AsString := trim(c12.Text); q1.FieldByName('zk').AsString := trim(c13.Text); q1.FieldByName('zhj').AsString := trim(c14.Text); q1.FieldByName('xsje').AsString := trim(c15.Text); q1.FieldByName('cbj').AsString := trim(edit1.Text); q1.FieldByName('lr').AsString := floattostr(strtofloat(c14.Text) - strtofloat(edit1.Text)); q1.FieldByName('bz').AsString := trim(c16.Text); q1.FieldByName('sfth').AsString := '否'; q1.Post; s := 'select * from khxx where khbh=' + quotedstr(trim(c3.Text)); q2.close; q2.SQL.Clear; q2.sql.Add(s); q2.Prepared; q2.Open; if not q2.IsEmpty then begin q2.Edit; q2.FieldByName('wlje').AsFloat := q2.fieldbyname('wlje').AsFloat + strtofloat(c15.Text); q2.Post; end; application.MessageBox('保存成功~', '提示', 64); 第 27 页 共 26 页 毕业设计找我(www.bysjzw.com) toolbutton3.Enabled := false; end; 5.5.2提货单 该窗体的功能是客户付款后凭单据到仓库提货,提货成功后减去相应的库存 以及增加相应的客户车辆信息。 5.5.3销售退回 第 28 页 共 26 页 毕业设计找我(www.bysjzw.com) 选择相应的销售单,销售退回时填写退货原因,保存完毕后和客户之间形成一个往来金额,去财务管理模块的客户收款界面处理相应退款功能。 5.6财务管理模块 5.6.1付款供货商 选择付款的供货商,系统自动显示与该供货商的往来金额,填写本次的付款金额,确认后点击保存按钮,本功能可以实现分期付款的功能。 代码如下: procedure Tfrmfkghs.ToolButton3Click(Sender: TObject); var s: string; begin if trim(c3.Text) = '' then begin application.MessageBox('请选择供货商~', '提示', 64); abort; end; if strtofloat(c5.Text) <= 0 then begin application.MessageBox('请输入付款金额~', '提示', 64); 第 29 页 共 26 页 毕业设计找我(www.bysjzw.com) abort; end; //-----保存 s := 'select * from fkghs'; q1.close; q1.SQL.Clear; q1.sql.Add(s); q1.Prepared; q1.Open; q1.Append; q1.FieldByName('fkdh').AsString := trim(c1.Text); q1.FieldByName('fkrq').AsString := trim(c2.Text); q1.FieldByName('ghsbh').AsString := copy(trim(c3.Text), 1, pos('|', trim(c3.Text)) - 1); q1.FieldByName('ghsmc').AsString := copy(trim(c3.Text), pos('|', trim(c3.Text)) + 1, length(trim(c3.Text)) - pos('|', trim(c3.Text))); q1.FieldByName('fkje').AsString := trim(c5.Text); q1.Post; //----处理往来金额 s := 'select * from ghsxx where ghsbh=' + quotedstr(copy(trim(c3.Text), 1, pos('|', trim(c3.Text)) - 1)); q1.Close; q1.sql.Clear; q1.sql.Add(s); q1.Prepared; q1.Open; if not q1.IsEmpty then begin q1.Edit; q1.FieldByName('wlje').AsString := trim(c6.Text); q1.Post; end; //----刷新 第 30 页 共 26 页 毕业设计找我(www.bysjzw.com) s := 'select * from fkghs where fkdh=' + quotedstr(trim(c1.Text)); fk.Close; fk.sql.Clear; fk.sql.Add(s); fk.Prepared; fk.Open; application.MessageBox('付款成功~', '提示', 64); toolbutton3.Enabled := false; end; 5.6.2客户收款 选择收款客户信息,系统将自动显示与该客户的往来金额,填写本次的收 款金额,确认后点击保存按钮; 5.7售后管理模块 5.7.1车辆保养提醒 第 31 页 共 26 页 毕业设计找我(www.bysjzw.com) 将过了保养期未来保养得车辆信息显示出来; 代码如下: procedure Tfrmclbytx.FormShow(Sender: TObject); var s: string; begin s := 'select * from cl where byrq<' + quotedstr(formatdatetime('yyyy-mm-dd', now())); cl.Close; cl.sql.Clear; cl.sql.Add(s); cl.Prepared; cl.Open; end; 5.7.2车辆保养 第 32 页 共 26 页 毕业设计找我(www.bysjzw.com) 本功能负责车辆保养的记录录入; 5.8统计查询 统计查询包括入库单、销售单、销售退回、利润统计、车辆保养的信息查询与管理。 5.8.1入库单查询 第 33 页 共 26 页 毕业设计找我(www.bysjzw.com) 5.8.2销售单查询 5.8.3销售退回查询 第 34 页 共 26 页 毕业设计找我(www.bysjzw.com) 5.8.4利润统计 5.9系统设置 系统设置包括操作员、口令修改、权限、数据备份、数据恢复等功能。 操作员 第 35 页 共 26 页 毕业设计找我(www.bysjzw.com) 权限 6.2 系统完善与优化 在系统操作时,应先将一些基本信息,如公司信息,车辆信息等添加入数据库,然后再添加进货信息,有了进货信息以后才能添加订货信息。这样我们在系统操作才能正常进行,否则会出错。因为当数据库里还没有任何车辆信息就添加进货信息,数据库会在有些过程中找不到车辆信息而出错。可以改进为当系统无车辆信息时,在添加进货信息时,车辆信息默认为零来避免出错。 另外在设计用户管理员时没有对其权限范围进行限制,这样对系统的安全性构成一定的影响,接下来的工作将完善这些任务。添加数据库所需要的字段,并经过不断的优化使系统的实用性更强、安全性更高、功能更完善。 结 论 通过对汽车销售管理系统的设计,实现了售前管理、车辆管理、订货管理、查询管理、售后管理和系统设定六大功能,使自己对汽车销售管理系统的构建有了更深的了解,也对自己的本专业知识有了近一步的认识。此系统提供了严密的跟踪管理服务,对车辆库存业务分析都提供了一套科学的管理流程。汽车销售企业能够掌握市场的第一手资料,有条不紊地开拓市场,更好地挖掘客户资源,进一步提高车辆销售的成功率,提高服务质量,更灵活地适应外部市场环境、提升 第 36 页 共 26 页 毕业设计找我(www.bysjzw.com) 内部的管理水平、留住客户、赢得商机,从而提高企业在市场上竞争能力。 系统采用B/S构架为系统的应用解决方案,利用.Net工具进行开发。实现了汽车销售管理系统核心的功能,但基于安全性方面考虑,系统还存在以下的不足: 一、数据备份:由于销售信息数据对公司来说是相当重要的,这就要求系统能在发生意外情况下,能够保证绝大多数的信息资料能够被找回来,而该系统不具有上述功能,在实际应用中需要增加此项功能。 二、数据保密:数据存入到数据库中一般要求以密文形式存储,这样才能保证信息不易被泄露。因此,在实际应用中需要增加数据保密的功能模块,可采用加密技术保护敏感数据信息。 三、管理员没有权限设定,不能分配不同级别的管理员权限,以后的任务是在数据表中添加相应的字段来完善此功能。 参考文献 [1] 李严,于亚芳,王国辉.ASP数据库开发实例解析[M].北京:机械工业出版社,2004.12 [2] 王国辉,牛强,李南南.ASP工程应用与项目实践[M].北京:机械工业出版社,2005.4 [3] 宋昆,李严. SQL Server数据库开发实例解析[M].北京:机械工业出版社,2006.1 [4] 叶顺源.ASP.NET网络开发关键技朮与实践[M].北京:中国铁道出版社,2006 [5] 谢忠红,傅德胜.物资远程销售管理系统的设计[N].南京气象学院学报,2003,26(2): 285-288 [6] 刘俊强,霍华, 普杰信. 基于Web 三层结构的统计管理系统[N].河南科技大学学报(自 然科学版),2003,24(3): 72-75 [7] tey M, Cont e P . SQL Server 2000 开发[M].北京: 清华大学出版社,2002:1 881 [8] 谭春茂,王蓝. 基于Web木材营销系统的设计与实现[M].木材工业,2003,17(4): 24-26 [9] 刘鸿斌. 销售管理系统[N] 长河科技[N],2004(3):28-37 第 37 页 共 26 页 1毕业设计找我(www.bysjzw.com) 致 谢 能够完成这篇系统设计论文,特别要感谢老师的细心指导和给予的帮助。在具体的设计中,从收集材料到具体实施,在整个设计完成过程中碰到的困难本人不懂就问,遇到的一些具体实施问题,也请教很多朋友解决。还要感谢的是诸位同学,感谢他们在我的论文设计中给予的无私指导及热情帮助~ 感谢学院里的全体老师,谢谢他们这几年来的细心指导,使我在大学里学到了很多以前没有学到的知识,让我成为真正的合格大学生。 另外,我还要特别感谢学院提供机会让我一展所长。在此表示衷心地感谢。老师认真负责的工作态度、严谨的治学风格,使我深受感动,设计的同时,和老师同学的相互探讨也使我获益匪浅。几个月来,我除专心设计管理系统外更重要的是学到了兢兢业业,奋发向上的精神,这种精神是我今后人生前进道路上的一种力量。所以我再次感谢老师和我的同学们。 最后向在百忙之中评审本文的各位专家、老师表示衷心的感谢~ 第 1 页 共26页 毕业设计找我(www.bysjzw.com) 第 2 页 共 26 页
/
本文档为【汽车销售论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索