还剩72页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
目录TOC\h\z\t1122331绪论
11.1研究背景
11.2利源汽车配件销售管理的现状
11.3论文主要研究内容22利源汽车配件销售管理系统开发工具简介33利源汽车配件销售管理系统需求分析
53.1利源汽车配件销售管理系统可行性研究
53.2利源汽车配件销售管理系统业务分析
53.3利源汽车配件销售管理系统数据分析
63.
3.1系统数据流程图
63.
3.2系统数据字典114利源汽车配件销售管理系统总体设计
124.1利源汽车配件销售管理系统数据库的设计
124.
1.1数据库概念结构设计
124.
1.2数据库逻辑结构设计
124.
1.3数据库物理结构设计
134.2利源汽车配件销售管理系统总体功能设计
164.
2.1系统功能描述
164.
2.2系统功能模块划分175利源汽车配件销售管理系统详细设计
185.1利源汽车配件销售管理系统代码设计
185.2利源汽车配件销售管理系统输入输出设计
195.3利源汽车配件销售管理系统物理配置设计226利源汽车配件销售管理系统实现
236.1登录界面的实现
236.2主界面的实现
236.3基础信息模块的实现
246.4信息查询模块的实现
246.5销售管理模块的实现
266.6销售分析模块的实现
276.7系统维护模块的实现
316.8系统信息模块的实现317小结与不足
327.1论文小结
327.2论文不足32参考文献33致谢34附录A35附录B521绪论
1.1研究背景随着经济的飞速发展,汽车已经逐步进入了家庭人们购买汽车的能力和需求越来越高,这就刺激了汽车行业的飞速发展,使得汽车配件销售行业的竞争也越来越激烈如何在激烈的竞争中取胜,是每个配件销售企业当前所面临的最严峻的挑战而一个适用的销售管理系统则可以帮助企业提高管理效率,进而提升整体的管理水平,使企业在竞争中取胜
[1]榆林利源汽车配件公司也处在这个复杂多变又充满激烈竞争的市场之中,同样使用了管理系统帮助企业经营但是,在公司不断地发展的过程中,现有的系统由于其功能过于简单,逐渐暴露出许多不足,这些不足使公司的管理陷入了困境,如销售人员增加了,效率却下降了;业务量增加了,销售数据却混乱不堪等这都反映出现有的管理系统已经不能发挥其提高管理效率的作用,反而成为利源公司发展中的一个障碍此时的利源公司需要一个更新、更适用的系统来引导公司的管理走出困境、取得发展论文正是基于这样的研究背景,根据利源公司配件销售业务需求,针对其现行系统的不足,同时结合配件销售的特点,为其设计出一套适用的汽车配件销售管理系统
1.2利源汽车配件销售管理的现状利源汽车配件公司是一家专门经营汽车配件销售的企业公司销售管理经历了最初的手工管理阶段到现在的销售管理系统管理阶段虽然应用了现行的管理系统以后,公司的管理水平有了提高,但是系统功能的简单化随着公司的发展已经不能满足管理的需要,甚至使管理陷入混乱,具体体现在以下3个方面1系统只对配件的信息进行管理,缺少对供应商及客户信息的管理由于供应商信息管理的缺失,使公司不能准确的掌握供应商的供货情况,也无法对此做出判断,也就难以选择出更合适的供应商而客户信息管理的缺失则造成对客户关系维护的困难,进而影响到对客户的服务水平2系统只进行数据登记,没有数据统计分析功能这就造成管理者无法明确地掌握配件销售的整体状况,也就不能有针对性的制定销售策略,以提高销售业绩、应对市场变化3系统无法有效支持销售策略的执行对于预先制定的销售策略,公司的人员时有遗忘,而系统也缺乏对此的提示,影响了销售管理水平的改善总之,以上种种现行系统的不足表现出现行系统没有实现对销售管理全过程的系统管理,因此导致了利源公司管理混乱的现状
1.3论文主要研究内容论文在软件工程思想的指导之下,采用结构化的系统开发方法,按用户至上的原则,完成了利源汽车配件销售管理系统的开发
[2]论文针对现有系统的不足进行改进开发,主要的研究内容有以下几个方面1对公司销售管理的全过程进行整体设计,使系统的管理涵盖配件销售的每个阶段,即使销售管理系统包括对配件进货、入库、销售、退货、售后分析决策以及决策执行这七个阶段的信息管理模块2针对基础信息管理方面,增加对供应商信息和客户信息管理的模块3实现销售统计分析功能具体是通过各种图表直观显示出销售中各种数据的统计结果,包括对配件入库、销售、退货各阶段数据以及对单一配件的销售、供应商供货、客户购买等数据的统计分析4通过销售报警的方式实现对销售决策执行的支持即将销售决策执行的内容和时间设定为销售报警的内容,在决策执行时机到来时系统发出预警,提醒用户执行销售决策通过以上各方面的研究,使得新的销售管理系统达到适应利源公司业务拓展、满足公司管理需求的目的
[3]2利源汽车配件销售管理系统开发工具简介利源汽车配件销售管理系统前台界面的开发工具选择Delphi7,后台数据库开发工具选择MicrosoftSQLServer20001Delphi7简介Delphi是由著名的Borland(现在已和Inprise合并)公司开发的可视化软件开发工具Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点对于利源汽车配件销售管理系统的开发,使用Delphi语言较为方便,以下是Delphi语言的特点及优势
(1)开发的高效Delphi是一个RAD(RapidApplicationDevelopment,快速开发工具),它有可视化的开发环境
①Delphi是真正面向对象的其基于面向对象技术构建的VCL库中的所有组件都可以被继承以创建新的组件
②Delphi的CodeInsight技术(即代码自动完成功能)是建立在编译器信息上的,使用编译器信息的好处是更具灵活性
(2)语言的高效Delphi基于ObjectPascal语言这是一种真正支持面向对象而又优雅美观的语言它在功能的健全上毫不逊色于各种其他的面向对象语言,但同时又不贪多,不盲目地增加复杂性使得开发者运用各种模式进行设计时都能得到完善的支持,实现时却不用考虑太多语言/编译器细节
(3)编译的高效可以说,Delphi是Windows平台上最快的高级语言本地代码编译器快速的编译器可以使用户频繁地在修改代码和编译运行的状态间切换Delphi的编译器从来不会让程序员有等待的感觉
(4)执行的高效Delphi不但编译速度快,生成的目标代码的执行效率也非常高Delphi与C++Builder使用的是同一个后端优化器,因此其生成的代码的效率与优秀的C++编译器生成的代码相同Delphi生成完全本地代码,因此Delphi编译结果的可执行文件可以被独立执行、分发,不需要其他运行库支持当然,也可以选择动态链接编译,这样可以大大减小可执行文件的长度
(5)维护的高效Delphi程序员虽然会在一定程度上被限制在VCL提供的框架中(当然,完全可以在Delphi中摆脱VCL编程),但这样更容易建立良好设计的代码代码框架的优良使得软件维护成本大大降低
[4]2MicrosoftSQLServer2000简介MicrosoftSQLServer2000是Microsoft公司推出的关系型数据库管理系统它具有强大的数据可管理功能,并提供了一套功能完善且具备可视化界面的管理工具其优点具体表现在以下三个方面
(1)非过程化语言MicrosoftSQLServer2000是一个非过程化的语言,因为它一次处理一个记录,可以对数据提供自动导航MicrosoftSQLServer2000允许用户在高层的数据结构上工作,不必对单个记录进行操作,而是对记录集操作所有SQL语句接受集合作为输入,返回集合作为输出MicrosoftSQLServer2000的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入
(2)统一的语言MicrosoftSQLServer2000可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户基本的SQL命令只需很少时间就能学会,最高级的命令在几天内便可掌握MicrosoftSQLServer2000为许多任务提供了命令,包括
①查询数据
②在表中插入、修改和删除记录
③建立、修改和删除数据对象
④控制对数据和数据对象的存取
⑤保证数据库一致性和完整性
(3)所有关系数据库的公共语言由于所有主要的关系数据库管理信息系统都支持SQL语言,用户可将使SQLServer2000的技能从一个RDBMS转到另一个而且所有用SQL编写的程序都是可以移植的
[5]3利源汽车配件销售管理系统需求分析
3.1利源汽车配件销售管理系统可行性研究利源汽车配件销售管理系统可行性研究主要包括该系统的管理可行性研究、经济可行性研究和技术可行性研究三方面首先,是管理可行性研究利源汽车配件现在采用销售管理系统已经不能满足业务增长的需求,阻碍了公司的发展,急需一个新的销售管理系统来改进公司销售管理的混乱,即具备了新系统开发的管理可行性其次,是经济可行性研究对于一个具有一定经营规模的公司,利源公司有足够的能力承担管理系统开发和实施的各项费用公司在采用了新系统后也可以享受到管理费用、人工成本的减少等各项收益综合分析其成本和收益,可以看出新系统的建设和使用是有利于利源公司长远发展的最后,是技术可行性研究由于公司的所有人员都具有现行系统的操作经验和一般的计算机操作水平,因此经过一定的培训都可以掌握新系统的使用,具备技术操作的可行性
[6]总之,通过对利源汽车配件公司的管理、经济、技术三方面的可行性研究,可以得出该销售管理系统可以开发并实施
3.2利源汽车配件销售管理系统业务分析利源汽车配件销售管理系统主要涵盖的业务有供应商、客户、以及配件基本信息管理,配件入库、销售出库、退货时的登记和配件库存的统计,配件销售状况的分析以及分析后对于配件销售报警具体每项业务的分析如下1供应商、客户、配件基本信息的管理业务包括对这三者信息的添加、修改、删除及查询供应商的信息是公司选定一个新的供应商时就对其信息输入系统管理,以备配件入库信息管理的需要客户的信息是公司对每一位新的客户建立其信息档案,与其购买的配件对应管理,加深对客户的需求了解配件的信息是对每一种新上架的配件建立其档案,配合每次的进货、入库、销售、退货等环节的信息需求在需要时,按照不同的条件对四者的信息进行查询并打印2配件入库、销售出库、退货时的登记和配件库存、进货的统计业务在每次配件入库时,配合该配件的基本信息和供应商的信息,对入库的配件数量、进货价等信息进行登记销售出库时,再配合配件的基本信息和客户的信息,对配件销售的信息进行登记配件退货时,配合配件销售的信息,对退货的理由等信息进行登记对配件的入库、销售、退货信息汇总,统计出配件的库存、进货信息3配件销售状况的分析业务是指对利源公司配件入库、销售、退货三方面的情况按照日月年不同的时段、按照供应商、客户等不同的条件进行统计分析,并按照需要绘制出不同的统计分析图表,帮助利源公司的管理者做出合理的销售决策4配件销售的报警业务是根据配件销售分析的结果将销售决策转化为具体的销售调整方案而设定的销售提示报警此外,报警内容也包括管理者根据经营环境的变化做出的销售预警整体业务流程图如图3-1所示
[7]图3-1业务流程图
3.3利源汽车配件销售管理系统数据分析
3.
3.1系统数据流程图利源汽车配件销售管理系统数据流程图按需要分为顶层数据流程图、一层数据流程图、二层数据流程图即各项数据处理的子数据流程图三层
[8]1顶层数据流程图顶层数据流程图从总体上反映了利源汽车配件销售管理系统与两个重要的外部实体供应商和客户的信息联系,如图3-2所示图3-2顶层数据流程图2一层数据流程图一层数据流程图反映了利源汽车配件销售管理系统总体的功能模块,即供应商信息登记、配件入库登记、配件销售、客户信息登记、退货信息登记、库存统计、销售分析、销售报警8个模块之间的信息联系,具体如图3-3所示图3-3一层数据流程图从图3-3可以看出利源公司将公司上游的供应商的基本信息登记在供应商信息记录中,对供应商提供的配件信息也进行记录,并对供应商与入库的配件建立联系在客户购买配件时,对客户及购买的信息(即销售信息)都进行记录,在销售信息中体现出客户、配件之间的联系客户在购买后又有退货的需要,则建立起客户、销售及退货的信息联系而库存的统计又是对入库、销售、退货的综合销售分析则是对入库、销售、退货、库存这四方面的统计分析,并把得出的结论转化为具体的销售调整,同时用销售报警的手段实现3二层数据流程图二层数据流程图是一层数据流程图中的8个功能模块分别细化后的子数据流程图,如图3-4中各分图所示(a)图反映了在进行供应商信息登记时,先查询已有的供应商记录核实该供应商的信息是否已存在,对不存在的供应商信息(即新供应商信息)进行登记(b)图反映了在进行配件入库的信息登记时,先查询配件信息记录,对已有配件信息记录的进行入库信息登记,对不存在配件信息记录的新配件先进行配件信息的登记,再进行配件入库信息的登记(c)图反映了客户在购买配件时,先对客户的信息进行查询,如果是新客户,先进行客户基本信息的登记(d)图反映了销售配件时根据客户的需求查询配件的库存记录,再对配件的销售信息进行记录(e)图反映了客户由于某些原因提出退货的要求,先对其提供的购买信息进行查证核实,在确定购买属实后再对客户提出的退货理由进行判断若理由符合退货原则,则登记退货信息;若理由不符合公司的退货原则,则对客户说明(f)图反映了系统对配件的入库、销售、退货、库存信息的统计分析先对这几项信息按照不同的条件进行汇总,再根据需要将汇总的数据绘制成直观的图表,为销售决策提供依据其中库存数据直接由入库、销售、退货的数据汇总而成图3-4二层数据流程图(g)图反映了根据销售分析,将做出的销售决策或调整转化为具体的方案后用销售报警手段实现的过程即根据销售分析数据设定销售报警,当报警提醒时,采取销售操作,同时对报警也进行处理这里的销售操作指具体的销售调整行为报警处理指对此项报警的解除、重新设定或其他的操作
3.
3.2系统数据字典(见附录A)4利源汽车配件销售管理系统总体设计
4.1利源汽车配件销售管理系统数据库的设计数据库设计是在选定数据库管理信息系统的基础上建立数据库的过程它包括概念结构设计、逻辑结构设计和物理结构设计三个阶段
[9]
4.
1.1数据库概念结构设计数据库的概念结构设计是指对数据库概念模型的设计,是用概念模型对现实世界进行全面、准确的描述其中最为广泛的方法是P.P.Chen于1976年提出的实体-联系方法(Entity-RelationshipApproach),简称E-R图法系统的E-R图如图4-1所示图4-1系统总E-R图
4.
1.2数据库逻辑结构设计系统逻辑结构设计是将概念结构设计阶段完成的概念模型转化为SQLSever2000系统所支持的数据模型,转换后的具体关系模型如下所示1配件(配件编号,配件名称,配件分类,配件规格或车型,配件单位,产地,最低库存,最高库存,通用车型,库存数量,库存价格,零售价,会员价,汽修厂价,备注)2供应商(供应商编号,供应商名称,联系人,联系电话,移动电话,账号,开户银行,地址,邮编,备注)3客户(客户编号,客户分类,客户名称,联系人,联系电话,移动电话,账号,开户银行,地址,邮编,备注)4管理员(管理员编号,管理员姓名,登录口令,登录密码,性别,年龄,权限级别,职务,备注)5销售报警(报警编号,报警时间,报警内容,报警处理,设定管理员编号,处理管理员编号,备注)6配件入库(入库单号,配件编号,供应商编号,入库数量,入库价,入库金额,入库日期,管理员编号,备注)7配件销售(销售单号,配件编号,客户编号,销售数量,售出价,销售金额,销售日期,管理员编号,备注)8配件退货(退货单号,销售单号,配件编号,客户编号,退货数量,退货金额,退货理由,退货日期,管理员编号,备注)
4.
1.3数据库物理结构设计数据库的物理结构设计是为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据存储结构系统采用的是SQLServer2000数据库,系统数据库名为qpxsgl,该数据库中包括8个数据表1配件表配件表主要用于存放配件的基本信息,其结构如表4-1所示表4-1配件表字段字段名称数据类型字段大小说明1pj_bh字符型7配件编号2pj_mc字符型20配件名称3pj_fl字符型12配件分类4pj_gg字符型10配件规格或车型5pj_dw字符型4配件单位6cd字符型10产地7tycx字符型10通用车型8zdkc整型4最低库存9zgkc整型4最高库存10kcsl整型4库存数量11kcjg货币型8库存价格12lsj货币型8零售价13hyj货币型8会员价14qxcj货币型8汽修厂价15bz字符型50备注2供应商表供应商表主要存放供应商的基本信息,其结构如表4-2所示表4-2供应商表字段字段名称数据类型字段大小说明1gys_bh字符型5供应商编号2gys_mc字符型20供应商名称3lxr字符型10联系人4lxdh字符型12联系电话5yddh字符型12移动电话6zh字符型20账号7khyh字符型20开户银行8dz字符型20地址9yb字符型7邮编10bz字符型50备注3客户表客户表主要存放客户的基本信息,其结构如表4-3所示表4-3客户表字段字段名称数据类型字段大小说明1kh_bh字符型5客户编号2kh_mc字符型30客户名称3kh_fl字符型8客户分类4lxr字符型10联系人5lxdh字符型12联系电话6yddh字符型12移动电话7zh字符型20账号8khyh字符型20开户银行9dz字符型30地址10yb字符型7邮编11bz字符型50备注4管理员表管理员表主要存放管理员的基本信息,其结构如表4-4所示表4-4管理员表字段字段名称数据类型字段大小说明1gly_bh字符型2管理员编号2gly_xm字符型10管理员姓名3dlkl字符型10登录口令4pass字符型6登录密码5xb字符型2性别6nl字符型2年龄7qxjb字符型10权限级别8zw字符型16职务9bz字符型50备注5销售报警表销售报警表主要存放销售报警的设定和处理信息,其结构如表4-5所示表4-5销售报警表字段字段名称数据类型字段大小说明1bjbh字符型8报警编号2bjsj日期型8报警时间3bjnr字符型100报警内容4bjcl字符型10报警处理5gly_bh字符型2设定管理员编号6gly_bh2字符型2处理管理员编号7bz字符型50备注6配件入库表配件入库表主要存放配件每次入库的信息,其结构如表4-6所示表4-6配件入库表字段字段名称数据类型字段大小说明1rkdh字符型8入库单号2pj_bh字符型7配件编号3gys_bh字符型5供应商编号4rksl整型4入库数量5rkj货币型8入库价6rke货币型8入库金额7rkrq日期型8入库日期8gly_bh字符型2管理员编号9bz字符型50备注7配件销售表配件销售表主要存放销售配件的信息,其结构如表4-7所示表4-7配件销售表字段字段名称数据类型字段大小说明1xsdh字符型8销售单号2pj_bh字符型7配件编号3kh_bh字符型5客户编号4xssl整型4销售数量5scj货币型8售出价6xse货币型8销售金额7xsrq日期型8销售日期8gly_bh字符型2管理员编号9bz字符型50备注8配件退货表配件退货表主要存放配件退货登记的信息,其结构如表4-8所示表4-8配件退货表字段字段名称数据类型字段大小说明1thdh字符型8退货单号2pj_bh字符型7配件编号3kh_bh字符型5客户编号4xsdh字符型8销售单号5thsl整型4退货数量6thly字符型14退货理由7the货币型8退货金额8thrq日期型8退货日期9gly_bh字符型2管理员编号10bz字符型50备注
4.2利源汽车配件销售管理系统总体功能设计
4.
2.1系统功能描述基础信息管理功能包括对配件信息、供应商信息、客户信息的添加、修改和删除销售查询功能包括对销售中各种信息的查询和打印,有配件信息、供应商信息及客户信息的查询和打印,配件入库、配件销售、配件退货、配件库存及配件进货信息的查询和打印销售管理功能包括对配件入库、配件销售、配件退货信息的录入、修改和删除,以及对销售报警的设定和处理销售分析功能包括对单一配件的销售分析、供应商供货的分析、客户购买周期和客户分类的分析、销售、入库、退货的时间分析系统维护功能包括对用户的添加及其权限的设置、密码的修改、系统日志管理、数据库的备份和还原
4.
2.2系统功能模块划分根据利源公司的业务需求和管理的需要,将系统划分为六个模块基础信息模块、信息查询模块、销售管理模块、销售分析模块、系统维护模块和系统信息模块具体的功能模块图如图4-2所示图4-2主要功能模块示意图5利源汽车配件销售管理系统详细设计
5.1利源汽车配件销售管理系统代码设计1配件代码设计配件代码采用7位数字编码,前两位数字代表该配件的分类代号(其他类代号01,变速器系统代号02,传动系统代号03,底盘代号04,覆盖件代号05,发动机系统代号06),后五位数字是配件同类型产品的顺序号XXXXXXXX顺序号分类代号例如变速器系统类的第一个配件的编号是0200001,发动机类的第十个配件编号是06000102供应商代码设计供应商的代码采用5位数字编码,前三位数字代表供应商所在地区号的后三位数字,后两位数字是该地区供应商的顺序号XXXXX顺序号所在地区代号例如:西安地区的第一个供应商编号是029013客户代码设计客户代码采用5位数字编码,第一位数字代表客户的分类(“1”代表汽修厂,“2”代表会员,“3”代表一般客户),后四位数字代表该类别中客户的顺序号XXXXX顺序号分类代号例如第一个汽修厂客户编号是10001,第三个会员编号是
20003.4管理员代码设计管理员代码采用2位数字编码,由于利源公司的管理员较固定,所以采用顺序编码XX顺序号例如第一个管理员编号是
015.2利源汽车配件销售管理系统输入输出设计1输入设计系统的输入表单主要有配件信息表、供应商信息表、客户信息表、配件入库表、配件销售表、配件退货表、销售报警表、管理员信息表,输入表的格式如表5-
1、表5-
2、表5-
3、表5-
4、表5-
5、表5-
6、表5-
7、表5-8所示表5-1配件信息表配件编号配件名称配件分类配件规格或车型配件单位产地最低库存最高库存通用车型库存数量库存价格零售价会员价汽修厂价备注表5-2供应商信息表供应商编号供应商名称联系人联系电话移动电话账号开户银行地址邮编备注表5-3客户信息表客户编号客户分类客户名称联系人联系电话移动电话账号开户银行地址邮编备注表5-4配件入库表入库单号配件编号供应商编号入库数量入库价入库金额入库日期管理员编号备注表5-5配件销售表销售单号配件编号客户编号销售数量售出价销售金额销售日期管理员编号备注表5-6配件退货表退货单号销售单号配件编号客户编号退货数量退货金额退货理由退货日期管理员编号备注表5-7销售报警表报警编号报警时间报警内容报警处理设定管理员编号处理管理员编号备注表5-8管理员信息表管理员编号管理员姓名登录口令登录密码性别年龄权限级别职务备注2输出设计系统输出的报表和表单主要有配件信息一览表、供应商信息一览表、客户信息一览表、管理员信息一览表、入库单、销售单、退货单、进货清单,分别如表5-
9、表5-
10、表5-
11、表5-
12、表5-
13、表5-
14、表5-
15、表5-16所示表5-9配件信息一览表利源汽配配件信息一览表制表日期年月日配件编号配件名称配件分类配件规格或车型配件单位产地最低库存最高库存通用车型库存数量库存价格零售价会员价汽修厂价备注表5-10供应商信息一览利源汽配供应商信息一览表制表日期年月日供应商编号供应商名称联系人联系电话移动电话账号开户银行地址邮编备注表5-11客户信息一览表利源汽配客户信息一览表制表日期年月日客户编号客户分类客户名称联系人联系电话移动电话账号开户银行地址邮编备注表5-12管理员信息一览表利源汽配管理员信息一览表制表日期年月日管理员编号管理员姓名登录口令登录密码性别年龄权限级别职务备注表5-13入库单利源汽配入库单入库单号入库日期年月日供应商地址邮政编码联系人联系电话移动电话开户银行账号编号名称产地通用车型单位数量单价金额本页合计表5-14销售单利源汽配销售单销售单号购货日期年月日购货单位地址邮政编码联系人联系电话移动电话开户银行账号名称产地通用车型单位数量单价金额本页合计地址邮政编码联系人电话表5-15退货单利源汽配退货单退货单号销售单号退货日期年月日退货单位地址邮政编码联系人联系电话移动电话开户银行账号名称产地通用车型单位数量单价金额本页合计表5-16进货清单利源汽配进货清单制表日期年月日配件编号配件名称配件分类规格单位产地通用车型进货量
5.3利源汽车配件销售管理系统物理配置设计操作系统Windows2000/XP开发工具Delphi
7.0数据库SQLServer2000硬件配置CPU Pentium200MHz以上内存32MBRAM以上硬盘100MB以上磁盘空间显示分辨率最低800×600像素建议1024×768像素系统的开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面该系统以Windows2000/XP为平台,采用Delphi面向对象程序的开发语言,还采用当前流行的MicrosoftSQLServer2000数据库,有效的保证了系统兼容性和可扩展性
[10]6利源汽车配件销售管理系统实现
6.1登录界面的实现系统的用户主要是利源公司的销售人员和管理者,他们登录时都使用设定的登录口令和密码进行系统登录,每次登录的登录信息将被系统自动记入系统日志,以便管理员查看人员登录系统的情况登录界面如图6-1所示图6-1系统登录界面
6.2主界面的实现系统的主界面有该系统六个功能模块的菜单和树形列表以及常用功能的快捷按钮,方便用户使用不同的方式操作系统不同权限级别的用户对该系统的操作有不同的限制,“系统管理员”权限的用户可以对系统所有功能进行操作查看,而“一般管理员”权限的用户不能对“系统维护”这一功能模块进行操作或查看系统主界面如图6-2所示图图6-2系统主界面
6.3基础信息模块的实现系统的基础信息模块包含三个子模块,分别实现的是配件信息、供应商信息、客户信息这三种基础信息的管理这三个子模块的实现为利源公司的销售管理提供了基础信息,方便了销售管理业务的进行其具体实现的功能是对这三种信息的添加、修改和删除,实现该功能的代码见附录配件信息管理界面如图6-3所示图6-3配件信息管理界面
6.4信息查询模块的实现系统的信息查询模块包括了配件信息、供应商信息、客户信息查询,入库信息、销售信息、退货信息、库存信息、进货信息查询8个子模块在每个子模块中都可以实现对该模块信息按照不同的条件进行查询及打印1配件信息查询该模块可以按照配件的编号、名称、规格分别进行查询,也可以查出相同类别或相同车型或同一产地的配件2供应商信息查询该模块可以按照供应商的编号、名称、联系人、联系电话、地址进行供应商的查找,也可以查出开户银行相同的供应商3客户信息查询该模块可以按照客户的编号、名称、联系人、联系电话、地址进行客户的查找,也可以查出同一类别或开户银行相同的客户4入库信息查询该模块可以根据需要,按照入库单号、配件编号、供应商编号、操作员编号、入库日期这五种条件单一或组合查出入库信息5销售信息查询该模块可以根据需要,按照销售单号、配件编号、客户编号、操作员编号、销售日期这五种条件单一或组合查出销售信息6退货信息查询该模块可以根据需要,按照退货单号、销售单号、配件编号、客户编号、操作员编号、退货日期这六种条件单一或组合查出退货信息7库存信息查询该模块可以根据需要,查出充足(即库存量大于最低库存)、不足(即库存量小于最低库存)、过量(即库存量大于最高库存)的配件信息也可以通过显示行颜色的区分(红色代表库存过低,低于最低库存需补货的配件;蓝色代表库存量高于最高库存的配件;无颜色代表库存在正常范围(即库存数量小于最高库存,大于最低库存)内的配件)直观地看出这三种情况下的配件信息
[11]8进货信息查询该模块是对系统自动统计出的缺货信息的显示通过该界面,用户可以清晰地看到实时的缺货信息,以及系统给予的进货量的建议可以直接打印出进货的清单配件信息查询、销售信息查询、库存信息查询界面分别如图6-
4、图6-
5、图6-6所示图6-4配件信息查询界面图6-4显示出系统中,配件分类属于发动机系统类的配件共有14种图6-5销售信息查询界面图6-5显示出,在2008年12月8日销售了编号为0100001的暖风开关共三只,销售总额87元,分别销售给被客户编号30007的刘先生,10001的景阳汽修,10003的张武汽修图6-6库存信息查询界面图6-6显示出,库存信息被刷新后,库存配件的种类共91种,其中编号0200001的变速箱总成库存过量(即库存数量大于最高库存),编号0200003的2/3同步器齿固库存不足(即库存数量低于最低库存)
6.5销售管理模块的实现系统的销售管理模块是对配件销售中各种业务操作的实现,包括配件入库、配件销售、配件退货、销售报警这四个子功能模块1配件入库该模块是对配件入库信息管理的模块,它主要实现对配件入库的信息即供应商与配件对应信息及入库数量、入库价等信息的登记、修改、删除,同时系统自动增加配件信息中的库存数量2配件销售该模块是对配件销售信息管理的模块,它主要实现对配件销售的信息即客户与配件对应信息及销售数量、售出价等信息的登记、修改、删除,同时系统自动减少配件信息中的库存数量3配件退货该模块是客户因为某种原因要对已购配件退货,并已得到销售人员核准时,对配件退货信息管理的模块,它主要实现对配件退货的信息即销售信息及退货数量、退货日期等信息的登记、修改、删除,同时系统自动修改配件信息中的库存数量4销售报警该模块是系统中的一个重点模块,这是利源公司的管理者对销售中的各项数据进行销售分析后做出一些销售调整的决策预警这个预警是提前设定的,以时间作为触发器,当设定的销售报警的时间来临时,报警就会在系统登录时弹出,提示销售人员做出销售调整的操作入库管理、销售报警界面分别如图6-
7、图6-8所示图6-7入库管理界面图6-8销售报警界面图6-8显示出,2009年6月5日的销售报警界面,红色自动标出的是当天的报警信息;蓝色标出的是报警时间还未到,所以还未处理的报警信息;无色的则是已经报警且被处理过的报警信息
6.6销售分析模块的实现利源汽车配件销售管理系统的销售分析模块也是系统中的一个重要模块,包括入库分析、销售分析、退货分析、配件分析、客户分析和供应商分析六个子模块在这六个子模块中按不同的条件,用不同的图表对利源公司销售的情况进行总体的或局部的分析,帮助管理者制定出更利于公司经营的决策1入库分析在入库分析子模块中,系统主要分析出某一年的月入库情况和某个月的日入库情况同时可以根据需要,将这些情况用三种不同的图表来显示其中条形图可以帮助管理者看出每个点的数据具体值,可以对不同点的数值进行比较折线图则可以对某一年或某一月的入库总趋势进行显示,帮助用户看出入库的趋势饼形图则显示出各月或各日入库额所占的年入库额或月入库额的比重大小这些图表可以从侧面反映出利源公司的经营状况2销售分析销售分析子模块和入库分析类似,主要分析出某一年的月销售情况和某个月的日销售情况也可以用条形图、折线图、饼形图来查看统计的数值、趋势或份额与入库分析相配合,可以更直观、更全面的查看到了公司总体的经营状况3退货分析退货分析子模块在继承了上述两个模块共有的时间分析后,还加入了对退货理由分布及对退货客户分类的分析退货理由分布分析可以看出在退回的配件中因为质量不合格、购买出错、销售出错这三种理由的配件各占多少数量,以此来分析出是否增加对配件质量的鉴定或是提高销售人员的业务水平退货客户分类分析图可以看出退货的客户主要分布在一般客户、会员或是汽修厂,并配合退货理由的分布来判断出如何提高对客户的服务4配件分析配件分析子模块主要是针对单一的某种配件的销售情况进行的分析它可以分析出某种配件某一年的月销售情况和该配件某一月的日销售情况这可以帮助用户看出该配件的销售淡季和旺季,并以此作为配件库存的调整依据,促进销售5客户分析客户分析子模块包括了客户分类分析和购买周期分析两部分其中客户分类分析是对某一年或某一月中三类客户(即汽修厂、会员、一般客户)购买额的分析,从而针对不同的客户群制定不同的销售策略购买周期分析则是对单一客户的月购买额或日购买额的分析,从而找出该客户的购买周期,为特殊客户制定特定的销售策略,提高客户购买的满意度6供应商分析供应商分析子模块是对单一供应商的供货情况进行的分析,找出供货量减少或增加的供应商,并分析出现此状况的原因,以此作为选择出更合适的供应商的依据销售分析、退货分析、配件分析、客户分类分析、供应商分析界面分别如图6-
9、图6-
10、图6-
11、图6-
12、图6-13所示图6-9销售分析界面图6-9显示出,2008年中各月的销售分析图,其中11月份的销售额最多,五月份的销售额最低图6-10退货分析界面图6-10显示出,共有3次配件退货,其中2次是由于购买出错导致的,1次是由于质量问题导致的针对这个结果,销售人员可以进一步查看质量问题退货的配件信息及供应信息,并以此作为该配件的供应商选择的一个依据图6-11配件分析界面图6-11显示出,编号0100001的配件在2008销售量非常集中,主要在2008年的
1、
2、
11、12月,其中又以2008年1月、12月最多这样的现象可以引起销售人员的重视经查询后可以知道0100001配件是暖风开关,而且是212/2020型号的,这种型号的暖风开关是用于冬季启动车内暖气的开关,因而该配件在冬季使用的次数较多,而其他季节则基本不用,即该配件的销售具有很强的季节性因此,对于该配件的销售策略可以适当调整在每年的
1、
2、
11、12月增加对该配件的存货,即提前进货并加大库存量,而其他月份则保持最低库存即可图6-12客户分类分析界面图6-12显示出,2008年公司的销售额中汽修厂的购买额最多,即可推断出汽修厂是利源公司的最大的客户群,因此可以对汽修厂提供额外的送货服务以稳固双方的合作关系;同时应该扩大这个群体,使更多的汽修厂成为长期合作的客户此外,也不能忽略会员这个群体,可以通过适当的价格优惠发展出更多的会员图6-13供应商分析界面图6-13显示出,2008年编号02902供应商供货的情况,每月都有供货且1月的金额总数额最大,最高一次是1月11日
6.7系统维护模块的实现该模块是对系统的支持管理模块,包括用户管理、密码设置、系统日志、数据库备份、数据库还原五个子模块1用户管理子模块是系统管理员对所有使用该系统的用户信息的管理,包括对用户的添加和删除以及对用户权限的设置2密码设置是针对每个用户修改其登录系统所使用的登录口令和登录密码修改而设置的3系统日志是对用户系统登录和退出系统的信息进行查看的模块4数据库的还原和备份是对系统数据保护的一项措施,可以定期对数据库进行备份和还原,维护系统的数据
[12]
6.8系统信息模块的实现该模块包括系统的帮助子模块和系统的关于子模块7小结与不足
7.1论文小结在利源汽车配件销售管理系统的设计与实现中,通过对利源公司业务的深入调查和分析,从总体上对该公司的配件销售管理进行规划和设计,并充分利用各种资源成功地实现了对利源汽车配件销售管理系统的设计主要完成的工作有1以配件销售管理过程为中心,从总体上完善了系统的流程,使系统实现了配件销售中从入库、销售、退货、分析等全过程的管理;2增加了供应商信息管理功能,加强了对配件供应环节的管理;增加了客户信息管理功能,有效地提高对客户的服务水品;3实现了随时对销售的各种数据进行统计分析的功能,有效地支持了销售决策的制定,增强了公司对各种变化的应对能力;4实现了销售报警功能,提醒用户的一些销售操作,帮助用户执行各种销售决策或调整按照最初的规划,从以上四个重点方面改进完善了利源公司的现行系统,最终完成了对利源汽车配件销售管理系统的设计与实现,满足了利源公司管理和发展的需求
7.2论文不足系统设计的任务虽然圆满完成,但是还有一些地方需要进一步改进和完善,具体如下1一些与其他系统的接口(如财务系统、采购物流系统等)未能实现;2仅实现了系统的单机使用功能,未考虑到系统的联机使用利源汽车配件销售管理系统还需要在今后的使用过程中根据需要不断地改进和完善,才能更好地适应利源公司的需要,也才能不断地提高公司的管理水平,促进公司的业务发展参考文献
[1]KennethC.Laudon,JaneP.Laudon.ManagementInformationSystemsManagingtheDigitalFirm[M].9thEdition.NewYork PearsonEducation,
2007.
[2]张海藩.软件工程导论[M].第2版.北京清华大学出版社,
1992.
[3]赵定贵.汽车配件销售管理系统开发设计[D].四川电子科技大学,
2007.
[4]李俊平,薛晓燕等.Delphi面向对象程序设计[M].第2版.北京高等教育出版社,
2006.
[5]罗运模,王珊等.SQLServer数据库系统基础[M].高等教育出版社,
2002.
[6]甘仞初.信息系统分析与设计[M].颜志军,杜晖,龙虹.第1版.北京高等教育出版社,
2006.
[7]黄梯云.管理信息系统[M].李一军.第3版.北京高等教育出版社,
2005.
[8]柳佩九,匡巧艳,杨开泰等.管理信息系统及其开发技术[M].第1版.长沙国防科技大学出版社,
2005.
[9]苗雪兰,刘瑞新,宋会群.数据库原理及应用教程[M].第2版.北京机械工业出版社,
2005.
[10]周兴华,李增民,臧洪光..Delphi7数据库项目案例导航[M].第1版.北京清华大学出版社,
2005.
[11]明日科技,华传铭,梁冰.Delphi组件参考大全[M].第1版.北京人民邮电出版社,
2006.
[12]明日科技,梁冰,李钟尉,吕双.Delphi技术方案宝典[M].第1版.北京人民邮电出版社,
2008.致谢衷心感谢我的指导老师——*老师,她从一开始的选题、开题、系统的设计、论文的撰写及后来的答辩都给予了我很大的指导和帮助她系统的思维方式和独到的专业见解都使我的系统设计思维有了很大的突破她谦虚严谨的治学态度、一丝不苟的敬业精神、仔细耐心的指导方式也深深影响了我,并将使我受益终身特别感谢*老师,在我的系统编程中对我悉心地指导和解惑,帮助我走出了设计中的困境他认真的工作态度和丰富的专业知识都使我受益匪浅同时感谢答辩小组的各位老师对我毕业设计的指导和评审最后感谢所有大学四年里培育和教导过我的老师,感谢他们的谆谆教诲也感谢和我朝夕相处的大学同学,感谢他们的支持和帮助附录A1数据项的定义
(1)数据项编号A01数据项名称配件编号简述或别名配件的编号数据项类型字符型长度7
(2)数据项编号A02数据项名称配件名称简述或别名配件的名称数据项类型字符型长度20
(3)数据项编号A03数据项名称配件分类简述或别名配件的分类数据项类型字符型长度12
(4)数据项编号A04数据项名称配件规格简述或别名配件的规格或车型数据项类型字符型长度10
(5)数据项编号A05数据项名称配件单位简述或别名配件的单位名称数据项类型字符型长度4
(6)数据项编号A06数据项名称产地简述或别名配件的产地数据项类型字符型长度10
(7)数据项编号A07数据项名称通用车型简述或别名配件的通用车型数据项类型字符型长度10
(8)数据项编号A08数据项名称数量简述或别名配件的入库数量、销售数量、库存数量、最低库存量、最高库存量、退货数量数据项类型数值型长度4
(9)数据项编号A9数据项名称价格简述或别名配件的入库价格、库存价格、零售价、会员价、汽修厂价、售出价数据项类型货币型长度8
(10)数据项编号A10数据项名称备注简述或别名备注数据项类型字符型长度50
(11)数据项编号A11数据项名称编号简述或别名供应商的编号、客户的编号数据项类型字符型长度5
(12)数据项编号A12数据项名称名称简述或别名供应商的名称、客户的名称数据项类型字符型长度20
(13)数据项编号A13数据项名称联系人简述或别名供应商的联系人、客户方的联系人数据项类型字符型长度10
(14)数据项编号A14数据项名称联系电话简述或别名供应商的联系电话、客户的联系电话数据项类型字符型长度12
(15)数据项编号A15数据项名称移动电话简述或别名供应商的移动电话、客户的移动电话数据项类型字符型长度12
(16)数据项编号A16数据项名称账号简述或别名供应商的账号、客户的账号数据项类型字符型长度30
(17)数据项编号A17数据项名称开户银行简述或别名供应商的开户银行、客户的开户银行数据项类型字符型长度20
(18)数据项编号A18数据项名称地址简述或别名供应商的地址、客户的地址数据项类型字符型长度20
(19)数据项编号A19数据项名称邮编简述或别名供应商的邮编、客户的邮编数据项类型字符型长度7
(20)数据项编号A20数据项名称客户分类简述或别名客户的分类数据项类型字符型长度12
(21)数据项编号A21数据项名称单号简述或别名入库、销售、退货的单据号码数据项类型字符型长度8
(22)数据项编号A22数据项名称日期简述或别名入库日期、销售日期、退货日期数据项类型日期型长度8
(23)数据项编号A23数据项名称退货理由简述或别名退货的理由数据项类型字符型长度14
(24)数据项编号A24数据项名称管理员编号简述或别名员工的编号数据项类型字符型长度2
(25)数据项编号A25数据项名称管理员姓名简述或别名员工的姓名数据项类型字符型长度10
(26)数据项编号A26数据项名称登录口令简述或别名员工登录系统的用户名数据项类型字符型长度10
(27)数据项编号A27数据项名称登录密码简述或别名员工登录的密码数据项类型字符型长度6
(28)数据项编号A28数据项名称性别简述或别名员工的性别数据项类型字符型长度2
(29)数据项编号A29数据项名称年龄简述或别名员工的年龄数据项类型字符型长度2
(30)数据项编号A30数据项名称权限级别简述或别名员工操作系的权限级别数据项类型字符型长度10
(31)数据项编号A31数据项名称职务简述或别名员工的职务数据项类型字符型长度16
(32)数据项编号A35数据项名称报警编号简述或别名报警的编号数据项类型字符型长度8
(33)数据项编号A33数据项名称报警时间简述或别名设定的报警时间数据项类型日期型长度8
(34)数据项编号A34数据项名称报警内容简述或别名报警的具体内容数据项类型字符型长度50
(35)数据项编号A35数据项名称报警处理简述或别名报警后对报警本身的操作数据项类型字符型长度102数据结构的定义
(1)数据结构编号DS01-01数据结构名称新供应商信息简述新供应商提供的基本信息数据结构组成供应商名称+联系人+联系电话+移动电话+账号+开户银行+地址+邮编
(2)数据结构编号DS02-01数据结构名称配件信息简述配件的基本信息数据结构组成配件编号+配件名称+配件分类+配件规格或车型+配件单位+产地+最低库存+最高库存+通用车型+库存数量+库存价格+零售价+会员价+汽修厂价
(3)数据结构编号DS02-02数据结构名称配件入库信息简述配件入库的信息数据结构组成入库单号+配件编号+供应商编号+入库数量+入库价+入库日期+职工编号
(4)数据结构编号DS03-01数据结构名称新客户信息简述新客户的基本信息数据结构组成客户名称+联系人+联系电话+移动电话+账号+开户银行+地址+邮编
(5)数据结构编号DS04-01数据结构名称订单信息简述客户需求的订单信息数据结构组成配件名称+配件型号+配件规格或车型+配件数量
(6)数据结构编号DS04-02数据结构名称配件销售信息简述配件销售的信息数据结构组成销售单号+配件编号+客户编号+销售数量+售出价+销售日期
(7)数据结构编号DS05-01数据结构名称退货请求信息简述客户提出的退货请求数据结构组成供应商名称+配件名称+配件型号+配件规格或车型+退货数量+退货理由
(8)数据结构编号DS05-02数据结构名称退货信息简述核准后的退货信息数据结构组成退货单号+配件编号+客户编号+销售单号+退货数量+退货理由+退货日期
(9)数据结构编号DS06-01数据结构名称库存信息简述配件库存的信息数据结构组成配件编号+配件名称+库存数量
(10)数据结构编号DS07-01数据结构名称汇总信息简述配件销售汇总的信息数据结构组成(DS02-02)+(DS04-02)+(DS05-02)+(DS06-01)
(11)数据结构编号DS07-02数据结构名称分析数据简述配件销售分析的数据数据结构组成(DS02-02)+(DS04-02)+(DS05-02)+(DS06-01)
(12)数据结构编号DS08-01数据结构名称报警信息简述设定的报警信息数据结构组成报警时间+报警内容
(13)数据结构编号DS08-02数据结构名称报警处理信息简述报警后对报警的处理信息数据结构组成DS08-01+报警处理3数据流的定义
(1)数据流编号F01-01数据流名称新供应商信息简述新供应商提供的基本信息数据流来源供应商数据流去向供应商信息登记的处理功能数据流组成新供应商信息数据结构流通量2次/月
(2)数据流编号F02-01数据流名称配件信息简述供应商提供的新配件的基本信息数据流来源供应商数据流去向配件信息登记的处理功能数据流组成配件信息数据结构流通量4次/月
(3)数据流编号F02-02数据流名称配件入库简述采购人员将购回配件入库数据流来源配件信息查询或登记的处理功能数据流去向配件入库信息录入的处理功能数据流组成配件入库信息数据结构流通量4次/周
(4)数据流编号F03-01数据流名称新客户信息简述客户提供的基本信息数据流来源客户数据流去向客户信息登记的处理功能数据流组成客户信息数据结构流通量2/日
(5)数据流编号F04-01数据流名称订单简述客户发出的需配件求数据流来源客户数据流去向配件销售的处理功能数据流组成订单信息数据结构流通量35次/日
(6)数据流编号F04-02数据流名称配件销售简述配件销售给客户的信息数据流来源配件库存查询的处理功能数据流去向销售信息录入的处理功能数据流组成配件销售数据结构流通量34次/日
(7)数据流编号F05-01数据流名称退货请求简述客户发出的退货请求数据流来源客户数据流去向配件售出情况查询处理功能数据流组成退货请求信息数据结构流通量1次/周
(8)数据流编号F05-02数据流名称退货许可简述对退货信息的登记数据流来源配件售出情况查询处理功能数据流去向退货登记处理功能数据流组成退货信息数据结构流通量1次/周
(9)数据流编号F06-01数据流名称销售数量简述用销量计算库存数据流来源配件销售登记数据流去向库存统计处理功能数据流组成配件编号+配件名称+销售数量流通量35次/日
(10)数据流编号F06-02数据流名称入库数量简述用入库数量计算库存数据流来源配件入库登记数据流去向库存统计处理功能数据流组成配件编号+配件名称+入库数量流通量35次/日
(11)数据流编号F06-03数据流名称退货数量简述用退货数量计算库存数据流来源配件退货登记数据流去向库存统计处理功能数据流组成配件编号+配件名称+退货数量流通量1次/周
(12)数据流编号F07-01数据流名称销售情况简述查询销售情况数据流来源配件销售登记数据流去向汇总处理功能数据流组成配件销售信息数据结构流通量3次/日
(13)数据流编号F07-02数据流名称入库情况简述查询入库情况数据流来源配件入库登记数据流去向汇总处理功能数据流组成配件入库信息数据结构流通量3次/日
(14)数据流编号F07-03数据流名称退货情况简述查询退货情况数据流来源配件退货登记数据流去向汇总处理功能数据流组成配件退货信息数据结构流通量1次/周
(15)数据流编号F07-04数据流名称库存情况简述查询库存情况数据流来源配件库存统计处理功能数据流去向汇总处理功能数据流组成配件库存数据结构流通量3次/日
(16)数据流编号F08-01数据流名称报警设定简述确定报警内容数据流来源销售分析处理功能数据流去向报警设定处理功能数据流组成销售报警数据结构流通量1次/周
(17)数据流编号F08-02数据流名称报警处理简述对报警的操作数据流来源报警设定处理功能数据流去向报警处理处理功能数据流组成销售处理数据结构流通量1次/周4处理逻辑的定义
(1)处理逻辑编号P01-01处理逻辑名称查询供应商信息简述查询已登记的供应商信息输入的数据流供应商信息,来源是供应商信息记录处理查询已登记的供应商信息,查明是否已存在输出的数据流已存在的供应商信息,去向是外部实体“供应商”;不存在供应商信息,去向是“录入供应商信息”处理逻辑处理频率2次/周
(2)处理逻辑编号P01-02处理逻辑名称录入供应商信息简述录入新的供应商信息输入的数据流供应商信息,来源是供应商提供的信息处理录入新的供应商的基本信息输出的数据流“供应商信息记录”数据存储处理频率2次/年
(3)处理逻辑编号P02-01处理逻辑名称查询配件信息简述查询已登记的配件信息输入的数据流配件信息,来源是配件信息记录处理查询已登记的配件信息,查明是否已存在输出的数据流已存在的配件信息,去向是“录入配件入库信息”处理逻辑;不存在配件信息,去向是“录入配件信息”处理逻辑处理频率4次/周
(4)处理逻辑编号P02-02处理逻辑名称录入新配件信息简述录入配件的基本信息输入的数据流配件信息,来源是供应商提供的配件信息记录处理录入配件的基本信息输出的数据流“配件信息记录”数据存储处理频率4次/月
(5)处理逻辑编号P02-03处理逻辑名称录入配件入库信息简述配件入库是录入信息输入的数据流供应商信息,来源是供应商信息记录;配件信息,来源是配件信息记录处理录入配件入库的相关信息输出的数据流“配件入库记录”数据存储处理频率4/周
(6)处理逻辑编号P03-01处理逻辑名称查询客户信息简述查询已登记的客户信息记录输入的数据流客户信息,来源是客户信息记录处理查询已登记的客户信息,查明是否已存在输出的数据流已存在的客户信息,去向是外部实体“客户”;不存在客户信息,去向是“录入客户信息”处理逻辑处理频率6次/日
(7)处理逻辑编号P03-02处理逻辑名称录入客户信息简述录入新客户信息输入的数据流客户信息信息,来源是客户提供的信息处理录入新的客户的基本信息输出的数据流“客户信息记录”数据存储处理频率2次/日
(8)处理逻辑编号P04-01处理逻辑名称查询配件库存量简述查询配件的库存信息输入的数据流客户的订单处理查询配件的库存信息,查明配件存量是否充足输出的数据流“录入配件销售信息”处理逻辑处理频率36次/日
(9)处理逻辑编号P04-02处理逻辑名称录入配件销售信息简述录入配件销售的相关信息输入的数据流客户信息,来源是客户信息记录;配件信息,来源是配件信息记录处理登记配件销售的信息输出的数据流“配件销售记录”数据存储处理频率35次/日
(10)处理逻辑编号P05-01处理逻辑名称查询配件销售信息简述查询配件销售的相关信息输入的数据流配件销售信息记录处理查询配件销售的信息输出的数据流“核实配件退货理由”处理逻辑处理频率1次/周
(11)处理逻辑编号P05-02处理逻辑名称核实配件退货理由简述对客户提出的退货理由进行核实输入的数据流退货理由处理核实退货理由是否合理输出的数据流核准的退货理由,去向是“配件退货登记”处理逻辑;不予以退货的理由,去向是“客户”外部实体处理频率1次/周
(12)处理逻辑编号P05-03处理逻辑名称录入配件退货信息简述录入配件退货的相关信息输入的数据流销售信息,来源是“配件销售记录”数据存储;退货理由,来源是“客户”外部实体处理登记配件退货的信息输出的数据流“配件退货记录”数据存储处理频率1次/周
(13)处理逻辑编号P06处理逻辑名称统计库存简述统计每种配件的库存量输入的数据流配件入库量,来源是“配件入库记录”数据存储;配件销售量,来源是“配件销售记录”数据存储;配件退货量,来源是“配件退货记录”数据存储处理配件入库量-配件销售量+配件退货量输出的数据流“配件信息记录”数据存储处理频率37次/日
(14)处理逻辑编号P07-01处理逻辑名称汇总统计信息简述按一定的条件汇总配件的入库、销售、库存、退货及供应商、客户信息输入的数据流入库信息,来源是“配件入库记录”数据存储;销售信息,来源是“配件销售记录”数据存储;退货信息,来源是“配件退货记录”数据存储;库存信息,来源是“库存统计”处理逻辑;供应商信息,来源是“供应商信息记录”数据存储;客户信息,来源是“客户信息记录”数据存储处理按一定的条件汇总配件的入库、销售、库存、退货及供应商、客户信息输出的数据流“图表绘制”处理逻辑处理频率2次/月
(15)处理逻辑编号P07-02处理逻辑名称图表绘制简述按汇总统计的结果和需要绘制图表输入的数据流“汇总统计信息”处理逻辑处理按汇总统计的结果和需要绘制图表输出的数据流“设定销售报警”处理逻辑处理频率2次/月
(16)处理逻辑编号P08-01处理逻辑名称设定销售报警简述根据销售分析的结果制定销售策略并制定预警输入的数据流销售分析数据,来源是销售分析决策处理制定销售的预警输出的数据流“销售操作”处理逻辑处理频率1次/周
(17)处理逻辑编号P08-02处理逻辑名称销售操作简述销售报警后,做出销售业务调整的操作输入的数据流销售报警内容,来源是“销售报警”处理逻辑处理销售报警后,做出销售业务调整的操作输出的数据流“报警处理”处理逻辑处理频率1次/周
(18)处理逻辑编号P08-03处理逻辑名称报警处理简述销售处理后对报警的设定操作输入的数据流处理信息,来源是“销售操作”处理逻辑处理销售处理后对报警的设定的修改或取消输出的数据流“销售报警”数据存储处理频率1次/周5数据存储的定义
(1)数据存储编号D1数据存储名称配件信息记录简述配件的基本信息数据存储结构配件编号+配件名称+配件分类+配件规格或车型+配件单位+产地+最低库存+最高库存+通用车型+库存数量+库存价格+零售价+会员价+汽修厂价+备注关键词配件编号相关处理P02-01,P02-02,P06,P07-01
(2)数据存储编号D2数据存储名称供应商信息记录简述供应商的基本信息数据存储结构供应商编号+供应商名称+联系人+联系电话+移动电话+账号+开户银行+地址+邮编+备注关键词供应商编号相关处理P01-01,P01-02,P02-03,P07-01
(3)数据存储编号D3数据存储名称客户信息记录简述客户的基本信息数据存储结构客户编号+客户分类+客户名称+联系人+联系电话+移动电话+账号+开户银行+地址+邮编+备注关键词客户编号相关处理P03-01,P03-02,P04-02,P07-01
(4)数据存储编号D4数据存储名称配件入库记录简述配件入库的相关信息数据存储结构入库单号+配件编号+供应商编号+入库数量+入库价+入库日期+管理员编号+备注关键词入库单号+配件编号+供应商编号相关处理P02-03,P06,P07-01
(5)数据存储编号D5数据存储名称配件销售记录简述配件销售的相关信息数据存储结构销售单号+配件编号+客户编号+入库数量+入库价+入库日期+管理员编号+备注关键词销售单号+配件编号+供应商编号相关处理P04-02,P05-01P06,P07-01
(6)数据存储编号D6数据存储名称配件退货记录简述配件退货的相关信息数据存储结构退货单号+配件编号+客户编号+销售单号+退货数量+退货理由+退货日期+管理员编号+备注关键词退货单号+销售单号+配件编号+客户编号相关处理P05-03,P06,P07-01
(7)数据存储编号D7数据存储名称报警信息记录简述报警相关的信息数据存储结构报警编号+报警时间+报警内容+报警处理+设定人员+处理人员+备注关键词报警编号相关处理P08-01,P08-036外部实体的定义
(1)外部实体编号S1外部实体名称供应商简述为公司提供配件的商家输出的数据流F01-01,F01-02
(2)外部实体编号S2外部实体名称客户简述购买公司配件的人群输出的数据流F03-01,F03-01,F05-01附录B1登录界面代码ifFileExistslog.datthenbeginAssignFileflog.dat;ResetfSizeOfWriteLog;SeekfFileSizef;endelse//ShowMessage文件不存在!;beginFileCreatelog.dat;AssignFileflog.dat;CloseFilef;AssignFileflog.dat;ResetfSizeOfWriteLog;SeekfFileSizef;end;ifLog=Falsethenbeginwithqry1dobeginOpen;ifRecordCount=0thenbeginifedt_koul.Text=Tomandedt_passw.Text=123thenbeginLog:=True;end;endelsebeginFirst;fori:=1toRecordCountdobeginifTrimedt_koul.Text=TrimFieldByNamedlkl.AsStringandTrimedt_passw.Text=TrimFieldByNamepass.AsStringthenbeginLog:=True;WriteLog.UserNum:=FieldByNamegly_bh.AsString;WriteLog.UserName:=FieldByNamegly_xm.AsString;WriteLog.Operation:=登录系统;WriteLog.Oper_DateTime:=FormatDateTimeyyyy年mm月dd日hh:mm:ssNow;User_Power:=FieldByNameqxjb.AsString;UserName:=FieldByNamegly_xm.AsString;BlockWritefWriteLog1;CloseFilef;Break;end;Next;end;end;end;ifnotLogthenShowMessage用户名或密码错误,请检查!elseClose;end;2主窗体代码在状态栏中显示系统当前的时间和操作员,代码如下procedureTForm_main.tmr1TimerSender:TObject;beginstat
1.Panels
[2].Text:=系统当前时间+dateTimeToStrnow;end;procedureTForm_main.FormCreateSender:TObject;varForm_login:TForm_login;beginForm_login:=TForm_login.Createself;tryForm_login.ShowModal;finallyForm_login.Free;end;stat
1.panels
[1].text:=系统当前的操作员+UserName;end;3基础信息模块代码基础信息模块包括供应商信息、配件信息、客户信息,以配件信息模块为例,其添加、修改、保存、删除的代码如下
(1)【添加】按钮的OnClick事件处理过程的代码Edt
2.ReadOnly:=false;Edt
3.ReadOnly:=false;Edt
5.ReadOnly:=false;Edt
6.ReadOnly:=false;Edt
7.ReadOnly:=false;Edt
8.ReadOnly:=false;Edt
9.ReadOnly:=false;Edt
10.ReadOnly:=false;Edt
16.ReadOnly:=false;Edt
1.ReadOnly:=false;Edt
4.ReadOnly:=false;Edt
17.ReadOnly:=false;Edt
2.Clear;Edt
3.Clear;Edt
5.Clear;Edt
6.Clear;Edt
7.Clear;Edt
8.Clear;Edt
9.Clear;Edt
10.Clear;Edt
16.Clear;OperType:=CST_OPERTYPE_ADD;cbb
1.SetFocus;btn_Md.Enabled:=False;btn_save.Enabled:=True;btn_del.Enabled:=False;btn_query.Enabled:=true;
(2)【修改】按钮的OnClick事件处理过程的代码ifedt
2.Text=thenExit;edt
2.Enabled:=false;Edt
2.ReadOnly:=False;Edt
3.ReadOnly:=False;Edt
5.ReadOnly:=False;Edt
6.ReadOnly:=False;Edt
7.ReadOnly:=False;Edt
8.ReadOnly:=False;Edt
9.ReadOnly:=False;Edt
10.ReadOnly:=false;Edt
11.ReadOnly:=false;Edt
12.ReadOnly:=false;Edt
13.ReadOnly:=false;Edt
14.ReadOnly:=false;Edt
15.ReadOnly:=false;Edt
16.ReadOnly:=false;Edt
1.ReadOnly:=false;Edt
4.ReadOnly:=false;Edt
17.ReadOnly:=false;OperType:=CST_OPERTYPE_MODFIY;Edt
3.SetFocus;btn_add.Enabled:=False;btn_save.Enabled:=True;btn_del.Enabled:=False;btn_query.Enabled:=True;
(3)【保存】按钮的OnClick事件处理过程的代码qry
1.Open;ifGP_ShowMsg_TwoButtton提示确定要保存吗?OC=CANCELthenExit;ifedt
2.Text=oredt
3.Text=orcbb
1.Text=thenExit;ifOperType=CST_OPERTYPE_NONEthenExit;ifOperType=CST_OPERTYPE_ADDthenbeginqry
1.Close;qry
1.SQL.Clear;qry
1.SQL.Addselect*frompeij;qry
1.Open;withqry1dobeginOpen;First;fori:=1toRecordCountdobeginifTrimedt
2.Text=TrimFieldByNamepj_bh.AsStringthenbeginGP_ShowMsg提示该配件编号已存在!;Exit;end;Next;end;Insert;qry
1.FieldByNamepj_fl.Asstring:=cbb
1.Text;qry
1.FieldByNamepj_bh.AsString:=edt
2.Text;qry
1.FieldByNamepj_mc.AsString:=edt
3.Text;qry
1.FieldByNamepj_gg.AsString:=edt
5.Text;qry
1.FieldByNamepj_dw.AsString:=edt
6.Text;qry
1.FieldByNamecd.AsString:=edt
7.Text;qry
1.FieldByNametycx.AsString:=edt
8.Text;qry
1.FieldByNamezdkc.AsString:=edt
9.Text;qry
1.FieldByNamezgkc.AsString:=edt
10.Text;qry
1.FieldByNamebz.AsString:=edt
16.Text;qry
1.FieldByNamejjl
3.AsString:=edt
1.Text;qry
1.FieldByNamejjl
2.AsString:=edt
4.Text;qry
1.FieldByNamejjl
1.AsString:=edt
17.Text;qry
1.FieldByNamekcj.AsString:=edt
12.Text;qry
1.FieldByNamelsj.AsString:=IntToStrStrToIntedt
12.Text*StrToIntedt
17.Textdiv100;qry
1.FieldByNamepthyj.AsString:=IntToStrStrToIntedt
12.Text*StrToIntedt
4.Textdiv100;qry
1.FieldByNameviphyj.AsString:=IntToStrStrToIntedt
12.Text*StrToIntedt
1.Textdiv100;end;end;ifOperType=CST_OPERTYPE_MODFIYthenbeginqry
1.Close;qry
1.SQL.Clear;qry
1.SQL.Addselect*frompeij;qry
1.SQL.Addwherepj_bh=:pjbh;qry
1.Parameters.ParamByNamepjbh.Value:=edt
2.Text;qry
1.Open;withqry1dobeginqry
1.Edit;qry
1.FieldByNamepj_fl.Asstring:=cbb
1.Text;qry
1.FieldByNamepj_mc.AsString:=edt
3.Text;qry
1.FieldByNamepj_gg.AsString:=edt
5.Text;qry
1.FieldByNamepj_dw.AsString:=edt
6.Text;qry
1.FieldByNamecd.AsString:=edt
7.Text;qry
1.FieldByNametycx.AsString:=edt
8.Text;qry
1.FieldByNamezdkc.AsString:=edt
9.Text;qry
1.FieldByNamezgkc.AsString:=edt
10.Text;qry
1.FieldByNamebz.AsString:=edt
16.Text;qry
1.FieldByNamejjl
3.AsString:=edt
1.Text;qry
1.FieldByNamejjl
2.AsString:=edt
4.Text;qry
1.FieldByNamejjl
1.AsString:=edt
17.Text;qry
1.FieldByNamekcj.AsString:=edt
12.Text;qry
1.FieldByNamelsj.AsString:=IntToStrStrToIntedt
12.Text*StrToIntedt
17.Textdiv100;qry
1.FieldByNamepthyj.AsString:=IntToStrStrToIntedt
12.Text*StrToIntedt
4.Textdiv100;qry
1.FieldByNameviphyj.AsString:=IntToStrStrToIntedt
12.Text*StrToIntedt
1.Textdiv100;end;end;qry
1.Post;qry
1.Close;qry
1.SQL.Clear;qry
1.SQL.Addselect*frompeij;qry
1.Open;OperType:=CST_OPERTYPE_NONE;btn_Add.Enabled:=True;btn_Md.Enabled:=True;btn_save.Enabled:=False;btn_del.Enabled:=True;btn_query.Enabled:=true;GP_ShowMsg提示保存成功!;Edt
2.Clear;Edt
3.Clear;Edt
5.Clear;Edt
6.Clear;Edt
7.Clear;Edt
8.Clear;Edt
9.Clear;Edt
10.Clear;Edt
11.Clear;Edt
12.Clear;Edt
13.Clear;Edt
14.Clear;Edt
15.Clear;Edt
16.Clear;Edt
2.ReadOnly:=true;Edt
3.ReadOnly:=true;Edt
5.ReadOnly:=true;Edt
6.ReadOnly:=true;Edt
7.ReadOnly:=true;Edt
8.ReadOnly:=true;Edt
9.ReadOnly:=true;Edt
10.ReadOnly:=true;Edt
11.ReadOnly:=true;Edt
12.ReadOnly:=true;Edt
13.ReadOnly:=true;Edt
14.ReadOnly:=true;Edt
15.ReadOnly:=true;Edt
16.ReadOnly:=true;Edt
1.ReadOnly:=true;Edt
4.ReadOnly:=true;Edt
17.ReadOnly:=true;
(4)【删除】按钮的OnClick事件处理过程的代码ifedt
2.Text=thenexit;ifGP_ShowMsg_TwoButtton提示确定要删除吗?OC=CANCELthenExit;qry
1.Close;qry
1.SQL.Clear;qry
1.SQL.Addselect*frompeij;qry
1.SQL.Addwherepj_bh=:pei;qry
1.Parameters.ParamByNamepei.Value:=edt
2.Text;qry
1.Open;qry
1.Delete;Edt
2.Clear;Edt
3.Clear;Edt
5.Clear;Edt
6.Clear;Edt
7.Clear;Edt
8.Clear;Edt
9.Clear;Edt
10.Clear;Edt
11.Clear;Edt
12.Clear;Edt
13.Clear;Edt
14.Clear;Edt
15.Clear;Edt
16.Clear;4信息查询模块代码信息查询模块包括供应商信息、配件信息、客户信息查询、入库信息、销售信息、库存信息、进货信息查询,以配件信息查询和入库信息查询模块为例
(1)配件信息查询的【查询】按钮的OnClick事件处理过程的代码ifedt
1.Text=thenExit;ifcbb
1.Text=配件编号thenbeginqry
1.Close;qry
1.SQL.Clear;qry
1.SQL.Addselect*frompeij;qry
1.SQL.Addwherepj_bh=:pjbh;qry
1.Parameters.ParamByNamepjbh.Value:=edt
1.Text;qry
1.Open;endelseifcbb
1.Text=配件名称thenbeginqry
1.Close;qry
1.SQL.Clear;qry
1.SQL.Addselect*frompeij;qry
1.SQL.Addwherepj_mc=:pjmc;qry
1.Parameters.ParamByNamepjmc.Value:=edt
1.Text;qry
1.Open;endelseifcbb
1.Text=配件分类thenbeginqry
1.Close;qry
1.SQL.Clear;qry
1.SQL.Addselect*frompeij;qry
1.SQL.Addwherepj_fl=:fen;qry
1.Parameters.ParamByNamefen.Value:=edt
1.Text;qry
1.Open;endelseifcbb
1.Text=配件规格thenbeginqry
1.Close;qry
1.SQL.Clear;qry
1.SQL.Addselect*frompeij;qry
1.SQL.Addwherepj_gg=:gg;qry
1.Parameters.ParamByNamegg.Value:=edt
1.Text;qry
1.Open;endelseifcbb
1.Text=通用车型thenbeginqry
1.Close;qry
1.SQL.Clear;qry
1.SQL.Addselect*frompeij;qry
1.SQL.Addwheretycx=:tong;qry
1.Parameters.ParamByNametong.Value:=edt
1.Text;qry
1.Open;endelseifcbb
1.Text=产地thenbeginqry
1.Close;qry
1.SQL.Clear;qry
1.SQL.Addselect*frompeij;qry
1.SQL.Addwherecd=:chan;qry
1.Parameters.ParamByNamechan.Value:=edt
1.Text;qry
1.Open;end;edt
2.Clear;edt
2.Text:=IntToStrqry
1.RecordCount;
(2)入库信息查询的【查询】按钮的OnClick事件处理过程的代码SQLstring:=select*fromrukgongyspeijwhereruk.gys_bh=gongys.gys_bhandruk.pj_bh=peij.pj_bh;sq:=selectsumrkeashefromrukgongyspeijwhereruk.gys_bh=gongys.gys_bhandruk.pj_bh=peij.pj_bh;ifchk
1.CheckedthenbeginSQLstring:=SQLstring+andrkdh=++cbb
1.Text+;sq:=sq+andrkdh=++cbb
1.Text+;end;ifchk
2.CheckedthenbeginSQLstring:=SQLstring+andruk.gys_bh=++cbb
2.Text+;sq:=sq+andruk.gys_bh=++cbb
2.Text+;end;ifchk
3.CheckedthenbeginSQLstring:=SQLstring+andruk.pj_bh=++cbb
3.Text+;sq:=sq+andruk.pj_bh=++cbb
3.Text+;end;ifchk
4.CheckedthenbeginSQLstring:=SQLstring+andruk.gly_bh=++cbb
4.Text+;sq:=sq+andruk.gly_bh=++cbb
4.Text+;end;ifchk
5.CheckedthenbeginSQLstring:=SQLstring+andrkrq=++edt
1.Text+;sq:=sq+andrkrq=++edt
1.Text+;end;qry
1.Close;qry
1.SQL.Clear;qry
1.SQL.AddSQLstring;qry
1.Open;qry
6.Close;qry
6.SQL.Clear;qry
6.SQL.Addsq;qry
6.Open;edt
2.Text:=IntToStrqry
1.RecordCount;edt
3.Text:=qry
6.FieldByNamehe.AsString;5销售管理模块代码销售管理模块包括配件入库、销售、退货管理和销售报警管理,其添加、修改、删除的代码与基础信息模块类似,只有入库、销售、退货管理中保存功能中增加了对配件库存数量的修改过程,因此,这里仅摘录入库管理【保存】按钮的OnClick事件处理过程中有关库存数量修改代码,代码如下ifOperType=CST_OPERTYPE_ADDthenbeginqry
1.Close;qry
1.SQL.Clear;qry
1.SQL.Addselect*fromruk;qry
1.Open;withqry1dobeginOpen;First;fori:=1toRecordCountdobeginifTrimcbb
2.Text=TrimFieldByNamerkdh.AsStringandTrimcbb
1.Text=TrimFieldByNamegys_bh.AsStringandTrimcbb
3.Text=TrimFieldByNamepj_bh.AsStringthenbeginGP_ShowMsg提示该入库记录已存在!;Exit;end;Next;end;Insert;qry
1.FieldByNamerkdh.Asstring:=cbb
2.Text;qry
1.FieldByNamegys_bh.AsString:=cbb
1.Text;qry
1.FieldByNamepj_bh.AsString:=cbb
3.Text;qry
1.FieldByNamerksl.AsString:=edt
9.Text;qry
1.FieldByNamerkj.AsString:=edt
10.Text;qry
1.FieldByNamerkrq.AsString:=edt
11.Text;qry
1.FieldByNamegly_bh.AsString:=cbb
4.Text;qry
1.FieldByNamebz.AsString:=edt
12.Text;qry
1.FieldByNamerke.AsString:=IntToStrStrToIntedt
9.Text*StrToIntedt
10.Text;qry
6.Close;qry
6.SQL.Clear;qry
6.SQL.Addselect*frompeijwherepj_bh=:pjbh;qry
6.Parameters.ParamByNamepjbh.Value:=cbb
3.Text;qry
6.Open;withqry6dobeginedit;qry
6.FieldByNamekcsl.AsString:=IntToStrStrToIntedt
8.Text+StrToIntedt
9.Text;end;qry
6.Post;qry
6.Close;qry
6.Open;end;end;ifOperType=CST_OPERTYPE_MODFIYthenbeginqry
1.Close;qry
1.SQL.Clear;qry
1.SQL.Addselect*fromruk;qry
1.SQL.Addwherepj_bh=:pjbhandrkdh=:ruandgys_bh=:gysbh;qry
1.Parameters.ParamByNamepjbh.Value:=cbb
3.Text;qry
1.Parameters.ParamByNameru.Value:=cbb
2.Text;qry
1.Parameters.ParamByNamegysbh.Value:=cbb
1.Text;qry
1.Open;j:=qry
1.FieldByNamerksl.AsString;withqry1dobeginEdit;qry
1.FieldByNamerksl.AsString:=edt
9.Text;qry
1.FieldByNamerkj.AsString:=edt
10.Text;qry
1.FieldByNamerkrq.AsString:=edt
11.Text;qry
1.FieldByNamegly_bh.AsString:=cbb
4.Text;qry
1.FieldByNamebz.AsString:=edt
12.Text;qry
1.FieldByNamerke.AsString:=IntToStrStrToIntedt
9.Text*StrToIntedt
10.Text;qry
6.Close;qry
6.SQL.Clear;qry
6.SQL.Addselect*frompeijwherepj_bh=:pjbh;qry
6.Parameters.ParamByNamepjbh.Value:=cbb
3.Text;qry
6.Open;withqry6dobeginedit;qry
6.FieldByNamekcsl.AsString:=IntToStrStrToIntedt
8.Text-trtointj+StrToIntedt
9.Text;end;qry
6.Post;qry
6.Close;qry
6.Open;end;end;6销售分析模块代码销售分析模块包括配件入库、销售、退货分析和配件、客户、供应商分析其中配件入库、销售模块及退货分析的功能相似,以销售分析模块为例摘录其代码配件、供应商和客户分析功能相似,以配件分析模块为例摘录其代码
(1)销售分析模块代码procedureTForm_xiaosfx.SpeedButton2ClickSender:TObject;varAMonth:Array[
1..12]ofString;i:Integer;beginifComboBox
1.TextthenbeginAMonth
[1]:=一+#13+#13+月;AMonth
[2]:=二+#13+#13+月;AMonth
[3]:=三+#13+#13+月;AMonth
[4]:=四+#13+#13+月;AMonth
[5]:=五+#13+#13+月;AMonth
[6]:=六+#13+#13+月;AMonth
[7]:=七+#13+#13+月;AMonth
[8]:=八+#13+#13+月;AMonth
[9]:=九+#13+#13+月;AMonth
[10]:=十+#13+#13+月;AMonth
[11]:=十+#13+一+#13+月;AMonth
[12]:=十+#13+二+#13+月;Str:=;Str:=selectsumxseas月金额;Str:=Str+case;fori:=1to12dobeginStr:=Str+whenmonthxsrq=+IntToStri+then++AMonth[i]+;end;Str:=Str+end+月份;Str:=Str+fromxiaos;Str:=Str+whereyearxsrq=+ComboBox
1.Text;Str:=Str+Groupbymonthxsrq;XAxis:=月份;YAxis:=月金额;Title:=Self.ComboBox
1.Text+年销售图表;ComboBox
3.Text:=条型图;Select_ChartStrXAxisYAxisTitleTBarSeriesDBChart1;DBGrid
1.DataSource:=DataSource1;self.Caption:=Label
4.Caption;end;end;procedureTForm_xiaosfx.ComboBox1ChangeSender:TObject;beginifComboBox
1.TextthenbeginIsGray10;ifComboBox
2.TextthenIsGray11;endelseIsGray00;end;procedureTForm_xiaosfx.ComboBox2ChangeSender:TObject;beginifComboBox
1.TextandComboBox
2.TextthenIsGray11elseIsGray10;end;procedureTForm_xiaosfx.Delete_ChartDChart:TDBChart;beginifDChart.SeriesCount0thenDChart.SeriesList.Delete0;end;procedureTForm_xiaosfx.Select_ChartSXLabelYValCaptionC_Type:String;DChart:TDBChart;varSeries:TChartSeries;beginDelete_ChartDChart;trywithADOQuery1dobeginclose;SQL.Clear;SQL.Adds;Open;end;DChart.Gradient.Visible:=True;DChart.Gradient.EndColor:=clLime;DChart.Gradient.StartColor:=clWhite;DChart.Gradient.Direction:=gdfromcenter;ExceptDChart.Title.Text.Clear;DChart.Title.Text.Add图表加载失败;end;ifC_Type=TBarSeriesthenSeries:=TBarSeries.Createself;ifC_Type=TPieSeriesthenSeries:=TPieSeries.Createself;ifC_Type=TLineSeriesthenSeries:=TFastLineSeries.Createself;DChart.AddSeriesSeries;Series.DataSource:=ADOQuery1;Series.XLabelsSource:=XLabel;Series.YValues.valuesource:=YVal;Series.Marks.Style:=smsValue;DChart.Title.Text.Clear;DChart.Title.Text.AddCaption;ifC_Type=TLineSeriesorC_Type=TBarSeriesthenbeginDChart.AxisVisible:=True;DChart.View3DWalls:=True;DChart.Legend.Visible:=False;end;end;procedureTForm_xiaosfx.ComboBox3ChangeSender:TObject;begincaseComboBox
3.ItemIndexof0:Select_ChartStrXAxisYAxisTitleTBarSeriesDBChart1;1:Select_ChartStrXAxisYAxisTitleTLineSeriesDBChart1;2:beginSelect_ChartStrXAxisYAxisTitleTPieSeriesDBChart1;DBChart
1.Legend.Visible:=False;end;end;end;procedureTForm_xiaosfx.SpeedButton3ClickSender:TObject;beginifComboBox
1.TextandComboBox
2.TextthenbeginStr:=;Str:=Str+selectsumxseas日金额dayxsrqas日;Str:=Str+fromxiaos;Str:=Str+whereyearxsrq=+ComboBox
1.Text+andmonthxsrq=+ComboBox
2.Text+;Str:=Str+Groupbydayxsrq;XAxis:=日;YAxis:=日金额;Title:=Self.ComboBox
1.Text+年+self.ComboBox
2.Text+月份+self.Label
5.Caption;ComboBox
3.Text:=线型图;Select_ChartStrXAxisYAxisTitleTLineSeriesDBChart1;DBGrid
1.DataSource:=DataSource1;self.Caption:=label
5.Caption;end;end;
(2)配件分析模块代码procedureTForm_peijfx.ComboBox1ChangeSender:TObject;beginifComboBox
1.Textandcbb
1.TextthenbeginDS:=ComboBox
1.Text;bh:=cbb
1.Text;Str:=;Str:=Str+select*into##ppefromxiaos;Str:=Str+whereyearxsrq=+DS+andpj_bh=+bh;Str:=Str+#13+selectsuma.xsslas销售总量Montha.xsrqas月份from##ppeasa;Str:=Str+GroupBYMonthxsrq;Str:=Str+#13+droptable##ppe;XAxis:=月份;YAxis:=销售总量;Title:=ComboBox
1.Text+年全年+cbb
1.Text+号配件销售分析图;ChartSetupStrXAxisYAxisTitleDBChart1qry11;end;end;procedureTForm_peijfx.DBChart1ClickSeriesSender:TCustomChart;Series:TChartSeries;ValueIndex:Integer;Button:TMouseButton;Shift:TShiftState;XY:Integer;beginifbutton=mbLeftthenbeginSelectToColorqry
1.RecordCount-1clLimeclYellowSeries;Series.ValueColor[ValueIndex]:=clLime;A_Color[ValueIndex]:=clLime;Str:=;Str:=Str+Selectb.xsslasxsslb.xsrqasxsrq;Str:=Str+into##ppe;Str:=Str+fromxiaosasb;Str:=Str+whereyearb.xsrq=+DS+andmonthb.xsrq=++TrimSeries.XLabel[ValueIndex]+;Str:=Str+#13+selectsumxsslas月销售总量dayxsrqas日期;Str:=Str+from##ppe;Str:=Str+GroupBYdayxsrq;Str:=Str+#13+droptable##ppe;XAxis:=日期;YAxis:=月销售总量;Title:=DS+月+bh+号配件销售情况;ChartSetupStrXAxisYAxisTitleDBChart2qry20;endelseifbutton=mbRightthenbeginSeries.ValueColor[ValueIndex]:=clred;A_Color[ValueIndex]:=clred;end;CheckBox
1.Checked:=False;end;7系统维护模块代码系统维护模块包括用户管理、密码设置、系统日志、数据库备份、数据库还原其中用户管理、密码修改模块的功能与基础信息模块的功能相似,其代码可以借鉴这里仅摘录系统日志、数据库备份代码
(1)系统日志代码beginifFileExistslog.datthenbeginAssignFileflog.dat;ResetfSizeOfReadLog;endelse//ShowMessage文件不存在!;FileCreatelog.dat;ListView
1.Items.Clear;whilenoteoffdobeginBlockReadfReadLog1;withListView1dobeginListItem:=Items.Add;ifReadLog.Operation=登录系统thenListItem.ImageIndex:=1;ifReadLog.Operation=退出系统thenListItem.ImageIndex:=2;ListItem.Caption:=ReadLog.UserNum;ListItem.SubItems.AddReadLog.UserName;ListItem.SubItems.AddReadLog.Operation;ListItem.SubItems.AddReadLog.Oper_DateTime;end;end;CloseFilef;
(2)数据库备份模块代码procedureTForm_backup.Timer1TimerSender:TObject;beginifGG.Progress=100thenbeginGG.Progress:=GG.Progress+1;ifGG.Progress=100thenbeginTimer
1.Enabled:=False;Application.MessageBox数据备份成功!提示64;end;end;end;procedureTForm_backup.SpeedButton2ClickSender:TObject;beginifEdit
1.Text=thenbeginShowmessage请选择备份路径!;Exit;end;TrywithADOQuery1dobeginClose;SQL.Clear;SQL.AddusemasterBACKUPDATABASEqpxsglToDisk=+QuotedStrEdit
1.Text+useqpxsgl;ExecSQL;end;Timer
1.Enabled:=True;ExceptApplication.MessageBox数据备份失败!提示信息0;end;end;P1利源汽车配件销售管理系统供应商客户供应商配件入库登记P
1.2供应商信息登记P
1.1D
1.
1.01供应商信息记录D
1.4配件入库记录配件销售P
1.4客户D
1.2客户信息记录D
1.5配件销售记录客户信息登记P
1.3库存统计P
1.6销售报警P
1.8销售分析P
1.7D
1.7销售报警记录客户信息供应商信息配件信息订单信息D
1.3配件信息记录退货信息登记P
1.5退货信息D
1.6退货信息记录供应商接收并查询供应商信息P
1.
1.1D
1.1供应商信息记录录入新供应商信息P
1.
1.2(a)供应商信息登记子数据流程图供应商信息新供应商信息新供应商信息新配件信息供应商接收并查询配件信息P
1.
2.1D
1.3配件信息记录录入新配件信息P
1.
2.2(b)配件入库登记子数据流程图配件信息新配件信息录入配件入库信息P
1.
2.3已有配件入库信息新配件入库信息D
1.4配件入库记录D
1.1供应商信息记录客户接收并查询客户信息P
1.
3.1D
1.2客户信息记录录入新客户信息P
1.
3.2(c)客户信息登记子数据流程图客户信息新客户信息新客户信息(d)配件销售登记子数据流程图客户查询配件库存量P
1.
4.1D
1.3配件信息记录录入配件销售信息P
1.
4.2订单信息配件销售信息D
1.5配件销售记录D
1.2客户信息记录(e)配件退货登记子数据流程图客户查询配件售出情况P
1.
5.1D
1.5配件销售记录核实配件退货理由P
1.
5.2退货信息退货理由D
1.6配件退货记录不予以退货的理由录入配件退货信息P
1.
5.3D
1.6配件退货记录按条件汇总统计信息P
1.
7.1(f)销售分析子数据流程图入库信息D
1.4配件入库记录销售信息D
1.5配件销售记录按汇总数据绘制分析图表P
1.
7.2退货信息库存信息销售分析数据D
1.7销售报警记录设定销售报警P
1.
8.1销售操作P
1.
8.2报警处理P
1.
8.3报警处理信息(g)销售报警子数据流程图销售分析数据。