汽车进销存系统.docx
《汽车进销存系统.docx》由会员分享,可在线阅读,更多相关《汽车进销存系统.docx(27页珍藏版)》请在冰点文库上搜索。
汽车进销存系统
汽车进销存系统
摘要:
本系统主要完成对库存和客户关系的管理,前者包括库存管理员基本信息、客户信息、库存管理;后者包括用户信息、客户关系管理两个方面,系统可以完成对各类信息的录入、查询、添加、删除、保存、报表、打印、备份等功能。
系统的核心是入库、销售、库存的查询、客户关系的管理,系统由操作员权限管理。
系统使用当前优秀的开发工具—Powerbuilder9.0,它有着最为灵活的数据库结构,对数据库应用有着良好的支持。
同时,采用Powerbuilder9.0自带的数据库管理系统SYBASESQLANYWHERE进行数据库设计,利用ODBC接口来实现连接。
该文档主要介绍了本课题的开发背景,所要完成的功能和开发的过程。
关键字:
汽车进货、库存、销售
1.引言
随着中国加入世界贸易组织后,进口汽车的关税日益降低,大量进口汽车涌入中国汽车市场,国民生活水平的提高,不少个人或政府、企业购买力提高,给中国汽车销售市场带来不少商机。
在销售市场中,对一个专营汽车销售的公司来说,汽车的销售管理是一件日常性的工作,公司里的各个部门的管理人员需要及时了解掌握操作汽车的录入,公司在汽车销售中日销售额,月销售额等情况,以便做到心中有数,合理安排公司运作中各个环节的工作,因而汽车销售管理系统是公司中一项非常重要的工作。
在汽车销售公司中,由于汽车的品种多,单依靠手工处理来记录或统计汽车的购入,销售额的清算,仓库的明细帐,既难做到及时性,又难保证数据的准确性,因而有必要建立一个计算机汽车销售管理系统。
这一点在该公司中,从主管领导、管理人员到具体业务人员认识是一致的。
而且由于该公司有良好的管理基础,公司经济效益良好,建立系统所需费用有能力支出。
因而建立系统在管理上,技术上和经济上都是可行的。
一项调查显示,在一个完全成熟的国际化汽车市场中,有50%至60%的利润是在服务中产生的。
目前中国汽车买方市场正在形成,汽车服务将成为今后竞争的焦点,这点是每个汽车销售公司都应该意识到的。
1.2开发目的
为了公司里的各个部门的管理人员需要及时了解掌握操作汽车的录入,公司在汽车库存管理中的入库、销售,库存等情况,同时为了零距离接触用户,及时了解产品和服务质量信息,帮助汽车用户解决遇到的质量问题以便做到心中有数,从而合理安排公司运作中各个环节的工作,因而汽车销售管理系统是公司中一项非常重要的工作。
项目的应用对象:
适用于各类型的汽车销售公司
在汽车销售公司中,由于汽车的品种多,单依靠手工处理来记录或统计汽车的购入,销售额,车辆库存,既难做到及时性,又难保证数据的准确性,因而有必要建立一个汽车销售管理系统.
(1)技术可行性:
新系统加入了新的数据库的支持,使用了先进的数据库技术与数据管理技术,使数据的准确性与安全性得到了很大的提高,且在用户的并行操作与用户管理方面也有了极大地改善。
(2)经济可行性:
在投资费用方面,本系统成本较低,加上该公司的性质本身大大减少了在硬件和软件方面的投资,从而在无形中增加了收益,虽然更多的是间接收益,但是经济效益还是明显的。
包括:
A、节省人力,减轻劳动强度;
B、改进薄弱环节,提高数据处理的及时性和准确性,提高工作效率;
C、及时对销售帐目进行统计,减少错误;
本项目按照课程设计内容,安排进度如下:
序号
项目
天数
主要工作
1
系统分析
7
完成对系统的分析,初步设定新系统的目标,并进行可行性分析,确定项目计划
2
需求分析
7
确定系统的要求:
功能、性能、运行、
3
数据库设计
4
结构设计;数据库设计
4
详细设计
5
功能结构图设计;处理流程设计;输出设计;存储文件格式设计;输入设计;代码设计
5
系统测试
2
提供测试方案
6
系统移交
2
向指导老师提交作业
表1安排进度表
库存:
包括仓库明细帐、进销存统计和车辆库存三部分部分,可以统计出入库车辆总数和入库总额、销售车辆总数和销售总额,以及库存车辆和库存成本总额。
客户关系:
包括用户跟踪和车主回访两个部分。
主要从事的是汽车质量与服务信息收集活动,将发挥三方面作用:
一是为汽车公司自身提供直接来自用户的常年不间断的真实信息;二是为汽车厂家与用户构建了一个直接交流的平台,为用户问题的及时解决提供服务;三是向厂家提供能够反映各汽车品牌全面情况的质量信息。
汽车质量作为人们最关心的问题,客户关系服务的核心所在;我们力图以最简单的方式、让汽车用户对汽车质量发表看法、提出建议,以最迅捷的速度为开车人解决问题,以最详尽的数据为规范中国汽车市场做出自己的贡献。
由于销售管理系统包含了公司重要的信息,因此,在系统设计时除了满足操作户需求的同时,也要保证系统数据的有效性:
A、安全性:
通过密码的身份验证后才能访问系统的数据,否则就不能进入系统;
B、一致性:
系统的数据要保证一致性、准确性,当某一数据库中记录改变,与之相关联的数据库也随之变化。
(1)硬件:
采用目前广泛使用的PC主流机种,内存128MB以上,硬盘空间40G以上,彩色VGA显示器。
(2)系统软件平台:
采用中文Windows2000操作系统,编程工具采用性能可靠的PowerBuilder9.0系统。
数据库系统由用户选择没,但为保证系统有良好的兼容性和可移植性。
开发期间使用ODBC数据源,开发环境数据库系统使用ASAdatabase.
(3)系统运行环境:
采用网络上的客户机/服务器方式,使仓库、销售部门和管理部门能够共享数据。
仓库管理:
包括仓库明细帐、进销存统计、车辆库存
查询统计:
对入库、销售、库存查询统计。
财务管理:
记录每笔交易的金额,包括入库金额、销售客户和供应商的来往帐目管理,订金和销售车辆的收款管理。
系统管理:
操作员及权限管理、修改登录密码。
用户跟踪:
对车主也可以是潜在的用户进行各种形式的跟踪,记录被访对象的意见和反馈信息。
车主回访:
为了抓住用户、留住用户,很多汽车厂商都推出了形形色色的回娘家活动。
汽车销售公司作为第三方可以为客户和厂商之间架起一道沟通的桥梁。
对车主回访活动的重视也体现了公司对自身服务质量的高度信心,一次成功的车主回访活动组织可以让用户真切感受到了汽车厂商的企业风采和优质服务。
它所带来的影响不光涉及用户和厂商,对企业自身而言也具有非同寻常的意义。
可以说,不论是用户,销售商还是厂商在这样的活动中都是受益者。
这里主要完成对回访的车主的登记,查询等功能。
4.2系统模块结构图
客户关系如图所示:
图1客户关系图
库存如下图所示:
图2库存图
库存业务流程图如下:
厂家销售科
记录员
图3库存业务流程图
5.1根据系统逻辑,建立系统的E-R模型
图4E-R图
5.2数据表的设计
根据E-R模型,建立实际的数据表.
1.操作管理员:
字段名
数据类型
是否允许空
说明
操作员编号
Char(10)
否
主键
操作员姓名
Char(10)
否
操作员密码
Char(15)
否
操作员级别
Char(10)
是
表2操作管理员表
2.入库表
字段名
数据类型
是否允许空
说明
入库单号
Char(10)
否
主键
采购订单号
Char(14)
否
外键
厂商编号
Char(10)
否
厂商名称
Char(30)
否
车型代码
Char(10)
否
车辆类型
Char(20)
否
厂牌型号
Char(10)
否
产地
Char(50)
否
出厂日期
date
是
进价
Numeric(19,2)
否
制单员
Char(10)
否
入库日期
date
否
表3入库表
3.销售表:
字段名
数据类型
是否允许空
说明
销售单号
Char(10)
否
主键
客户编号
Char(10)
否
外键
客户名称
Char(30)
否
车型代码
Char(10)
是
车辆类型
Char(20)
否
厂牌型号
Char(10)
否
产地
Char(50)
否
车价
Numeric(19,2)
否
成交价
Numeric(19,2)
否
收益金额
Numeric(19,2)
否
制单员
Char(10)
否
销售日期
date
否
表4销售表
4.车型信息
字段名
数据类型
是否允许空
说明
车型代码
Char(10)
否
主键
厂牌型号
Char(10)
否
车辆类型
Char(10)
否
产地指导价
Numeric(19,2)
否
备注
Char(200)
否
产地
Char(50)
否
表5车型信息表
字段名
数据类型
是否允许空
说明
回访日期
date
否
主键
回访方式
Char(13)
否
回访类别
Char(10)
否
业务员
Char(10)
否
回访记录
Char(15)
否
表6车主回访表
字段名
数据类型
是否允许空
说明
客户编号
Char(10)
否
主键
客户名称
Char(20)
否
应收款金额
money
否
预收款金额
money
是
实际欠款
money
是
身份证号码
Char(18)
否
联系人
Char(10)
否
联系电话
Char(15)
否
公司性质
Char(20)
是
公司行业
Char(10)
是
邮政编码
Char(6)
是
通信地址
Char(50)
否
入档日期
date
否
表7客户信息表
字段名
数据类型
是否允许空
说明
库存单号
Char(10)
否
主键
入库单号
Char(10)
否
外键
厂商编号
Char(10)
否
厂商名称
Char(40)
否
车型代码
Char(10)
否
车辆类型
Char(20)
否
厂牌型号
Char(10)
否
产地
Char(50)
否
车身颜色
Char(20)
否
底盘号
Char(10)
否
发动机号
Char(10)
否
合格证号
Char(10)
否
商品单号
Char(10)
否
行驶里程
integer
否
订单号
Char(16)
是
出厂日期
Date
否
进价
Numeric(19,2)
否
制单员
Char(10)
否
入库日期
Date
否
表8库存表
字段名
数据类型
是否允许空
说明
厂商编号
Char(10)
否
主键
厂商名称
Char(30)
否
应付款金额
double
否
预付款金额
double
是
实际欠款
double
是
联系人
Char(10)
否
联系电话
Char(15)
否
邮政编码
Char(6)
是
通信地址
Char(50)
否
入档日期
date
否
表9厂商信息表
系统设计开发过程中,首先运行powerbuilder9.0,新建工作空间命名:
汽车销售管理系统,然后建立目标:
qcxsglxt,在目标文件的open事件里输入以下代码以连接数据库:
SQLCA.DBMS="ODBC"
SQLCA.AutoCommit=False
SQLCA.DBParm="Connectstring='DSN=database'"
connect;
open(w_login1)
同时在GlobalVariables中声明全局变量:
stringcsbh0,khbh0,cgddh0,rkdh0,yusdh0,xsdh0,czyvar
stringzdpath,ls_path
stringgs_yhmc,gs_yhqx,yhh,gs_yhid,gs_yhkl
stringhhhhh
stringcxdmmm
1.单击菜单栏上的file→new,选择“PBObject”选项卡,并选择其中的“Menu”图标,单击“OK”,打开菜单编辑画板,开始创建一个菜单并命名保存为“m_qcxsglxt”。
在创建一级菜单时,单击鼠标右键选择“Insert→SubmenuItem”,在菜单创建过程中,使用“Insert→MenuItem”建立同级菜单,再使用“Insert→SubmenuItem”为已建菜单添加子级菜单项。
在菜单画板中选定一个对应于工具栏上设置按钮的菜单项,选择属性窗口的“ToolBar”选项卡,在ToolbarItemText属性值文本框中输入相应文本提示信息,类似地,可设置各个工具栏按钮对应菜单项的ToolBarItemText属性值,完成鼠标指针悬挂文字信息的设置.
最后菜单效果如下图所示:
图5菜单
2.在菜单的树目录中,双击某个菜单项,在菜单画板的Script编辑器中选择clicked事件,在事件中输入打开各自窗口的代码.
以下是主界面的运行效果图:
图6主界面运行效果图
(1)登陆窗口界面设计
以下是汽车销售管理系统的登陆界面:
图7登陆界面图
(2)车辆库存窗口界面设计
以下是点击车辆库存菜单项进入的界面:
图8库存界面图
(3)仓库明细帐窗口界面设计
以下是点击仓库明细帐菜单项进入的界面:
图9仓库明示帐图
(4)进销存统计窗口界面设计
以下是点击进销存统计菜单项进入的界面:
图10进销存统计图
(5)用户跟踪窗口界面设计
以下是点击用户跟踪菜单项进入的界面:
图11用户跟踪界面
(6)车主回访窗口界面设计
以下是点击车主回访菜单项进入的界面:
图12车主回访图
6.1.2详细程序设计内容:
1、//ProfileDatabase
SQLCA.DBMS="ODBC"
SQLCA.AutoCommit=False
SQLCA.DBParm="Connectstring='DSN=database'"
connect;
2.进销存统计程序代码如下:
intsl
//统计入库表的记录总数
selectcount(*)into:
slfrom入库表;
st_2.text=string(sl)
realjj,totalje
totalje=0
//统计成本总额
declarecursor1cursorforselect进价from入库表;
opencursor1;
fetchcursor1into:
jj;
dowhilesqlca.sqlcode=0
totalje=totalje+jj
fetchcursor1into:
jj;
loop
closecursor1;
st_8.text=string(totalje)
intsl2
//统计销售表的记录总数
selectcount(*)into:
sl2from销售表;
st_10.text=string(sl2)
realjj2,totalje2
totalje2=0
//统计总计销售金额
declarecursor2cursorforselect成交价from销售表;
opencursor2;
fetchcursor2into:
jj2;
dowhilesqlca.sqlcode=0
totalje2=totalje2+jj2
fetchcursor2into:
jj2;
loop
closecursor2;
st_12.text=string(totalje2)
intsl3
//统计库存表的记录总数
selectcount(*)into:
sl3from库存表;
st_6.text=string(sl3)
realjj3,totalje3
totalje3=0
//统计库存表中成本的总计金额
declarecursor3cursorforselect进价from库存表;
opencursor3;
fetchcursor3into:
jj3;
dowhilesqlca.sqlcode=0
totalje3=totalje3+jj3
fetchcursor3into:
jj3;
loop
closecursor3;
st_4.text=string(totalje3)
3、车主回访程序代码如下:
stringsql,khbh
sql="select*from客户信息where实际欠款='0'"
//检索满足条件的数据记录
dw_1.setsqlselect(sql)
dw_1.retrieve()
declarecursor1cursorforselectdistinct客户名称from客户信息;
opencursor1;
ddlb_1.reset()
fetchcursor1into:
khbh;
dowhilesqlca.sqlcode=0
ddlb_1.additem(khbh)
fetchcursor1into:
khbh;
loop
4、车辆库存程序代码如下:
//统计车辆总数
selectcount(*)into:
slfrom库存表;
st_3.text=string(sl)
realjj,totalje
totalje=0
//统计库存成本总额
declarecursor1cursorforselect进价from库存表;
opencursor1;
fetchcursor1into:
jj;
dowhilesqlca.sqlcode=0
totalje=totalje+jj
fetchcursor1into:
jj;
loop
closecursor1;
st_5.text=string(totalje)
7系统运行与测试
(1)硬件要求
CPU:
IntelPentium3以上处理器
内存:
至少32MB,推荐64MB
硬盘:
至少有1GB空闲空间
打印机:
可选
(2)软件要求
操作系统使用Windows2000、XP,数据库采用SYBASESQLANYWHERE进行数据库设计,利用ODBC接口来实现连接,客户机开发工具采用SYBASE公司的PowerBulider9.0,它支持多种平台,具备跨平台开发应用程序的能力。
系统编译应用程序为可执行文件双击所生成的qcxsgl.exe文件,会显示错误提示信息“”,这是因为没有可执行程序的运行环境。
(1)软件测试
为了尽可能发现缺陷。
这里的缺陷是一种泛称,它可以指功能的错误,也可以指性能低下、易用性差等等。
这里先假设程序中存在缺陷,再通过执行程序来发现并最终改正缺陷。
构造一些不合理的输入来引诱软件出错,例如:
a.入错误的数据类型,如“猴”年“马”月。
b.输入定义域之外的数值。
如输入超过定义字段长度的数值。
(2)测试限制
a.该项目是由PowerBuilder9.0软件开发的,所以在别的版本(如PowerBuilder8.0等)都会造成不能正常运行的可能,以至于出现数据的不安全,导致数据不必要的错误,也不会实现事先所预设的效果。
b.若没有安装打印机,会造成不能正常打印。
8总结
本系统主要是对汽车进行进销存的管理,整个系统以库存管理为重点,系统整个过程图上面以有所论述,我想谈谈在做这个系统过程所遇到的所有问题及不足之处,做汽车进销存系统首先要对销售过程要有所了解,先做订货单,传真给供应商,供应商发货,由公司配送部查收货,收货将货入库存,进行销售.整个操作最困难的属查询与统计,一次查询结果将显示在下面的两张表里,代码是网上下载的,填入这些代码后系统却仍是不能实现查询功能,有很多错误出现,比如,数据库的连接,表名,字段名,缺少函数,变量未定义等等,统计代码与之相同,始终未能调试成功.此系统的缺点是实现功能不够全面,没有统计功能,某些查询功能还未太成熟,有待改进.
参考文献
[1]方东傅.《PowerBuilder程序设计实训教程》.科学出版社2003.
[2]新浪网.《北京现代真诚回馈三千车主回访“娘家”》2005
[3]中宏数据库(高教版)再次试用(访问中宏数据库主站点,数据每日更新)(2004.11.5- )
[4]王能斌 编著数据库系统教程 电子工业出版社
[5]李代平、章文、张信一中文SQLServer2000数据库应用开发 编著 冶金工业出版社
[6]《数据库设计》(美)著
Carsalesmanagementsystem
Abstract:
Thissystemismainlytothecompletionoftheinventoryandcustomerrelationshipmanagement,whichincludesinventorymanagersbasicinformation,customerinformation,inventorymanagement;Thelatterincludeuserinformation,customerrelationshipmanagementtwoaspectsofthevariousinformationsystemstobecompletedentry,inquiry,add,delete,preservation,statements,andotherfunctions.Thecoresystemisputinstorage,sale,stockenquiries,customerrelationshipmanagement,eachtablewillbelinkedtotheimpactofotherforms.Competencemanagementsystembytheoperator.Outstandinguseofthecurrentsystemofdevelopmenttools-POWERBUILDER9.0,ithasthemostflexibledatabasestructure,databaseapplicationshavegoodsupport.Atthesametime,thedatabasemanagementsystemusedPOWERBUILDER9.0themanywhereSybaseSQLdatabas