毕业设计(论文)-基于Visual_Basic的售后服务管理系统.doc_第1页
毕业设计(论文)-基于Visual_Basic的售后服务管理系统.doc_第2页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

沈沈 阳阳 理理 工工 大大 学学 毕业设计(论文)毕业设计(论文) 题 目:基于 visual basic 的售后服务 管理系统 系 别: 信息工程系 专 业: 计算机科学与技术 学生姓名: 指导教师: 年 月 日 目目 录录 前 言.1 1 开发工具简介.1 1.1 vb 简介.1 1.2 ado 数据访库技术1 1.3 sql server 简介.2 2 需求分析与总体设计.4 2.1 系统需求分析.4 2.2 系统体系结构设计.4 2.3 所需的实用技术.7 3 设计工程框架.8 3.1 工程中的模块.8 3.2 添加类模块.8 3.2.1 baseinfo 类 .8 3.2.2 strvproblem 类.9 3.2.3 srvdespatch 类 9 3.2.4 srvtask 类9 3.2.5 srvinvestigate 类9 3.2.6 srvfaq 类.9 3.2.7 users 类9 4 数据库结构设计.10 5 详细设计.13 5.1 登陆模块设计.13 5.1.1 设计登录窗体13 5.1.2 设计主界面13 5.2 基本信息管理模块设计.13 5.2.1 设计问题类别信息管理窗体13 5.2.2 问题级别信息管理窗体16 5.2.3 设计客户信息管理窗体16 5.2.4 在主界面中增加设置代码16 5.3 售后服务管理模块设计.16 5.3.1 设计客户问题编辑窗体16 5.3.2 设计客户问题提交窗体17 5.3.3 设计客户问题管理窗体18 5.3.4 设计客户服务调查编辑窗体20 5.3.5 设计客户服务调查管理窗体20 5.4 工作任务管理模块设计.21 5.4.1 设计问题分配信息编辑窗体21 5.4.2 设计问题解决描述编辑窗体22 5.4.4 设计工作记录编辑窗体23 5.4.5 设计工作记录管理窗体23 5.4.6 设计常见问题管理窗体24 5.5 用户管理模块设计.24 5.5.1 设计用户信息编辑窗体24 5.5.2 设计用户管理窗体25 5.5.3 在主界面中增加用户管理代码26 6 系统测试与维护.27 6.1 系统测试环境.27 6.2 系统测试方法.27 6.3 系统测试结果.28 结结 论论.29 致致 谢谢.30 参考文献参考文献.31 附录 a 英文原文32 附录 b 汉语译文41 附录 c 程序源码48 沈阳理工大学应用技术学院学士学位论文 1 前 言 在计算机技术高速发展的今天,数据库技术也已经日趋完善。随着现代化管理理 念的产生,计算机管理信息系统已经被广泛的应用在各个领域。使用计算机管理信息 系统,可以减少人力的投入,加大信息的处理效率并且可以降低管理的难度。 随着世界经济的蓬勃发展,商业企业售后服务的管理方式的落后已经渐渐引起企 业管理者和消费者的重视。传统的人工管理方式已经不能满足企业和市场的要求了。 所以,我们要借助计算机来提高企业管理的自动化程度。 售后管理系统可以对项目的所有信息进行统一的管理,这样就可以减少管理人员 的工作时间,加大工作效率,并且可以把管理人员从以前那种单一的手工管理中解放出 来。售后维护管理系统不但可以对项目信息进行存储,还可以对项目信息进行修改、 删除、统计等操作。计算机管理信息系统的保密性要远远高于手工管理,这样就可以 避免项目信息被人为的修改,提高服务质量,达到人性化的管理方式、数字化的管理手 段。 目前市场上出现了一些针对企业售后服务的管理软件,这些软件多数是有行业针 对性的,例如汽车售后管理系统,家电售后管理系统等。这些软件使用方便但功能简 单,有行业局限性。有些设计由于设计者对行业工作流程理解不深或是同行业差异, 而不能被广返使用。 本系统志在打破瓶颈,通过总结前人的经验,结合自身技术,将售后服务管理系 统推广到各个行业。 通过精心设计,本系统基本做到了规划合理,对服务过程没有不良影响。整个系 统的设计从符合操作简便、界面友好、灵活、实用、安全的角度出发,使每个使用者 都能通过简单操作就能完成基本信息管理,客户问题管理,工作责任分配管理,工作 任务记录管理,客户服务调查管理,常见任务记录管理等工作。经过实际使用证明, 本文所设计的售后服务管理系统可以满足大多数企业对其产品做售后服务的需要。 本系统采用 ado 数据访问技术,并将每个数据库表的字段和操作封装到类中, 从而成功地将面向对象的程序设计思想应用到数据库应用程序设计中。这也是本系统 的特色和优势。 沈阳理工大学应用技术学院学士学位论文 1 1 开发工具简介 1.1 vb 简介 visual basic 是在原有 basic 语言的基础上的进一步发展,结合了 basic 语言 和 windows 的优点,把他们融合在一起,为初学者在 windows 环境下编写应用程序提 供了良好的开发环境。1998 年 microsoft 公司推出了 visual basic6.0。其功能和性 能较以前版本都有了很大的增强,它还提供了新的灵巧的数据库和 web 开发工具,如 增加了新改进的 sql server 交互方法,包括数据库的访问,使用数据库的新工具和 控件等。 与其他开发工具相比,visual basic 具有简单易学、灵活方便和易于扩充等特 点,越来越多地被用作客户/服务器(client/server,简称为 c/s)应用程序的前端 开发工具,与后端的 sql server 数据库相结合,能够提供一个高性能的管理信息系 统解决方案。因此,本系统采用 visual basic 作为开发工具,sql server 作为后台 数据库。 1.2 ado 数据访库技术 ado 是微软最新的数据访问技术,它被设计用来与 ole db 一起协同工作以提高 通用数据访问。ole db 是一个低层的数据访问接口,它向应用程序提供了一个统一 的数据访问方法,用它可访问各种数据源,包括传统的关系型数据库,电子邮件系统 和自定义的商业对象。ado 操作数据库的物理机制如图 1.1 所示。 visual basic 应用程序 ado ole db rdbmse- mail 目录服务 图 1.1 ado 操作数据库的物理机制 应用程序通过 ado 组件的通用接口与 ole db 的数据库驱动程序连接,ole db 根 据实际的物理数据库选择相应的驱动程序,完成最后操作。 沈阳理工大学应用技术学院学士学位论文 2 1.3 sql server 简介 sql server 2000 是 microsoft 在 21 世纪推出的最新关系数据库系统,同时也是 首次针对 xml 语法支持的数据库系统,因此在使用上更加广泛。而 microsoft 又将 sql server 2000 版本定位在 microsoft.net enterprise server 的.net 服务器产品内, 同时也是集成其他服务器产品的最佳利器,所以 sql server 2000 是我们必备的工具 之一。 sql server 2000 数据库管理系统具有以下主要特点。 (1) 丰富的图形化管理工具,使系统管理,操作更为直观方便。sql server 企业 管理器是一个基于图形用户界面(gui)的集成管理工具,利用它可以配置管理 sql server 服务器、管理数据库和数据库对象、备份和恢复数据、调度任务和管理警报, 实现数据复制和转换操作等。此外,sql server 2000 还提供了 sql 事件探查器、 sql 查询分析器 、sql server 服务管理器和多种操作向导等图形界面管理工具,大 大简化了用户操作,从而增强了系统的易用性。 (2) 动态自动管理和优化功能。即使 sql server 数据库管理员不做任何设置, sql server 也能够在运行过程中根据环境配置和用户访问情况动态自动配置,以达到 最优性能,从而减轻管理员工作。 (3) 充分的 internet 技术支持。internet 网络发展到今天已经成为一条重要的信息 发布渠道,sql server 增强了对 internet 技术的支持,它除保留了前期版本中的数据 库 web 出版工具“web 助手“外,还增加了对 xml 和 http 技术的支持,这使得电子 商务系统能够通过 xml 等访问 sql server 数据库系统,也扩展了 sql server 在数 据挖掘和分析服务领域的应用。 (4) 丰富的编程接口工具,使用户开发 sql server 数据库应用程序更加灵活。 sql server 提供了 transactsql、dblibrary for c、嵌入式 sql(esql)等开发 工具,transactsql 与工业标准 sql 语言兼容,并在其基础上加以扩充,使它更适 合事务处理方面的需要。此外,sql server 2000 还支持 odbc、ole db、ado 规 范,可以使用 odbc、ole db、ado 接口访问 sql server 数据库。 (5) 具有很好的伸缩性和可靠性。sql server 2000 既能运行在 windows 桌面操 作系统下,又可运行在服务器操作系统(包括 windows nt 和 windows 2000)下; 既能运行在单 cpu 计算机上,又能运行在对称多处理系统下。所以,它具有很好的 伸缩性,能够满足从桌面应用到大型企业分布式应用等不同层次用户的需求。 (6) 简单的管理方式。sql server 2000 与 microsoft windows 2000 有机集成,所 沈阳理工大学应用技术学院学士学位论文 3 以可以使用 windows 2000 的活动目录(active directory)功能对 sql server 进行集 中管理,大大简化大型企业中的系统管理工作。此外,与 windows 2000 的集成还使 sql server 能够充分利用操作系统所提供的服务和功能(如安全管理、事件日志、性 能监视器,内存管理和异步 i/o 等) ,从而增强了 sql server 数据库系统的功能,并 且只需占用很少的系统资源。1-3 沈阳理工大学应用技术学院学士学位论文 4 2 需求分析与总体设计 要开发一个管理信息系统,首先需要进行需求分析和总体设计,分析系统的使用 对象和用户需求,设计系统的体系结构和数据库结构,决定使用的开发工具和后台数 据库,规划项目开发进度。在实际的项目开发过程中,这些工作是非常重要的。4-5 2.1 系统需求分析 根据售后服务管理的主要工作内容,售后服务管理系统的用户是售后服务人员和 企业管理人员,系统包括问题类别设置、问题级别管理、客户信息管理、问题管理、 客户服务调查、问题分配管理、工作记录管理、常见问题管理等主要功能,具体功能 如下: (1)客户问题类别的添加、修改、删除和查询。 (2)客户问题级别的添加、修改、删除和查询。 (3)客户信息的添加、修改、删除和查询。 (4)客户问题级别的添加、修改、删除、提交和查询。 (5)客户服务调查信息的添加、修改、删除和查询。 (6)客户问题的分配、解决和查询。 (7)工作记录信息的添加、修改、删除和查询。 (8)常见问题的添加、修改、删除和查询。 2.2 系统体系结构设计 根据前面的系统分析和实际应用的需要,系统的功能模块图如图 2.1 所示。 本系统将用户分为系统管理员用户、审批经理用户和工程师用户 3 种情况。这 3 种用户的权限说明如下: (1)系统管理员用户: 在系统初始化时,有一个默认的“系统管理员”用户 admin,由程序设计人员手 动地添加到数据库中,它的默认密码为 admin。admin 用户可以创建用户、修改用户 信息以及删除用户;除此之外,admin 用户还可以进行问题类别管理、问题级别管理、 客户信息管理、客户问题管理、服务调查管理和常见问题管理。在客户问题管理模块 中,系统管理员用户录入客户问题,并将问题提交到相关审批经理。 沈阳理工大学应用技术学院学士学位论文 5 图 2.1 售后服务管理系统功能模块示意图 (2)审批经理用户: 审批经理用户可以进行问题分配管理、工作记录管理和常见问题管理。在常见问 题模块中,审批经理用户只有查看的权限。审批经理用户没有管理其他用户的权限, 只能修改自身的用户密码。 (3)工程师用户: 工程师用户可以进行工作记录管理和常见问题管理。在常见问题模块中,工程师 用户只有查看的权限。审批经理将问题分配给工程师用户,工程师用户则记录解决问 题的过程。工程师用户没有管理其他用户的权限,只能修改自身的用户密码。 简单使用说明: 运行系统后,首先 会看到登录窗体,对用户的身份进行认证。身份认证可以分 为以下两个过程: 确认用户是否是有效的系统用户 1 确定用户的类型。 2 第 1 个过程决定用户能否进入系统,第 2 个过程根据用户的类型决定用户的操作 权限。本系统的流程分析如图 2.2 所示:在系统流程分析图中可以看到,每个用户有 3 次机会进行身份认证。如果 3 次输入的用户名和密码都无法与数据库中的数据匹配, 则强制退出系统。 客 户 信 息 管 理 基 本 信 息 管 理 问 题 信 息 管 理 服 务 调 查 管 理 问 题 分 配 管 理 工 作 记 录 管 理 系 统 用 户 管 理 用 户 信 息 管 理 售 后 服 务 管 理 常 见 问 题 管 理 工 作 任 务 管 理 切 换 用 户 修 改 自 身 密 码 售后服务管理系统 问 题 类 别 管 理 问 题 级 别 管 理 沈阳理工大学应用技术学院学士学位论文 6 图 2.2 系统流程分析图 员工任务 客户 编号级别 状态 日期 处理 类别姓名 姓名 联系方式 提出 图 2.3 系统实体关系 e-r 图 进入系统后,不同类型的用户拥有不同的权限,所能进行的操作也不同。这些操 作可以笼统地分为用户管理模块和售后服务管理模块。系统管理员用户拥有一类权限, 审批经理用户拥有二类权限,工程师用户拥有三类权限。 如果需要对普通用户进行管理或录入基本信息、售后服务信息,则使用 admin 用 户登录,创建审批经理用户和工程师用户。在创建用户时,需要输入用户名和密码。 创建用户后,可以为工作人员分配不同的用户,每个用户使用自己的用户名进入系统。 在本系统中,应该首先增加基本信息,之后才能进行售后服务管理。基本信息包 系统管理员用户 工程师用户 1系统管理 员用户管理 模块 用户登录 开 始 读取用户类型 成功 失败 失败超过 3 是 退出程序 否 重试 审批经理用户 管理自己的用户信息 管理领班用户的用户信息 管理普通用户的用户信息 3工程师用 户管理模块 管理自己的用户信息 管理自己的用户信息 用户管理模块 售后服务管理模块 2审批经理 用户管理模 块 沈阳理工大学应用技术学院学士学位论文 7 括问题类别信息、问题级别信息和客户信息等。基本信息管理模块可以添加、修改、 删除和查看等操作。基本信息比较简单,都只包含名称信息。 添加基本信息后,就可以进行售后服务管理了。售后服务管理包括客户问题管理 和服务调查管理等模块。只有系统管理员用户才能进入售后服务管理模块。 在客户问题管理模块中,可以对客户提出的问题信息进行添加、修改、删除和查 看等操作。客户问题信息包括客户信息、联系人、问题标题、问题描述、解决日期等 信息。在添加客户问题信息时,需要首先选择客户住处问题类别和问题级别等信息。 在服务调查信息管理模块中,可以对客户调查后反馈的信息进行添加、修改、删 除和查看等操作。服务调查信息包括客户信息 、问题信息、被调查人、调查方式、 总体评价和客户意见等信息。在添加服务调查信息时,需要首先选择客户信息和问题 信息。 添加售后服务信息后,就可以进行工作任务管理了。工作任务管理包括问题分配 管理、工作记录管理和常见问题管理等模块。 在问题分配管理模块中,审批经理用户可以对自己负责的客户问题进行分配,指 定负责的工程师,也可以将问题状态设置为解决。问题分配信息包括分配用户、负责 用户、处理意见等信息。 在工作记录管理模块中,可以对解决问题的工作记录进行添加、修改、删除和查 看等操作。工作记录信息包括问题信息、开始解决日期、结束日期、解决方式、具体 内容等信息。 在常见问题管理模块中,用户可以录入客户常见的问题及解决方案。只有系统管 理员用户才能编辑常见问题,其他用户只有查看的权限。常见问题信息包括问题题目、 问题类型、问题描述及解决方案等信息。 2.3 所需的实用技术 开发数据库管理信息系统需要掌握如下技术: (1)所选开发工具的基本编程方法。 (2)基本的后台数据库管理方法,例如创建数据库、创建表、创建视图、备份 和还原数据库等。 (3)常用 sql 语句的使用。 (4)ado 数据库访问技术。 沈阳理工大学应用技术学院学士学位论文 8 3 设计工程框架 3.1 工程中的模块 本工程包含如下几个模块: (1)const 用来管理工程中的常量。 (2)dbfunc 用来管理工程中与数据库操作相关的声明、变量和函数。 (3)generalfunc 用来管理工程中一些通用的自定义函数。 (4)variable 用来管理工程中的全局变量。 在 const 中,数据库连接字符串的定义代码如下: public const conn as string= “provider=sqloledb.1;password=sa;persist security info=true;“ _ + “user id=sa;initial catalog=service;data source=winxp-sp2“ variable 模块的代码如下: 保存执行 sql 语句的字符串 public sqlstmt as string 类模块的对象 public mypro as new srvproblem 问题记录对象 public mydespatch as new srvdespatch 问题分配对象 public mytask as new srvtask 任务记录对象 public myinv as new srvinvestigate 调查记录对象 public myfaq as new srvfaq 常见问题对象 public mybase as new baseinfo 类型对象 public myuser as new users 用户对象 public curuser as new users 当前用户对象 3.2 添加类模块 在工程中,需要为每一个表创建一个类模块,将对此表的所有数据库操作封装在 类中。在通常情况下,类的成员变量与对应的表中的字段名相同。 3.2.1 baseinfo 类 baseinfo 类用来管理表 baseinfo 的数据库操作,它保存为 baseinfo.cls。 沈阳理工大学应用技术学院学士学位论文 9 3.2.2 strvproblem 类 srvproblem 类用来管理表 srvproblem 的数据库操作,它保存为 srvproblem.cls。 3.2.3 srvdespatch 类 srvdespatch 类用来管理表 srvdespatch 的数据库操作,它保存为 srvdespatch.cls。 3.2.4 srvtask 类 srvtask 类用来管理表 srvtask 的数据库操作,它保存为 srvtask.cls。 3.2.5 srvinvestigate 类 srvinvestigate 类用来管理表 srvinvestigate 的数据库操作,它保存为 srvinvestigate.cls。 3.2.6 srvfaq 类 srvfaq 类用来管理表 srvfaq 的数据库操作,它保存为 srvfaq.cls。 3.2.7 users 类 users 类用来管理表 users 的数据库操作,它保存为 users.cls。 沈阳理工大学应用技术学院学士学位论文 10 4 数据库结构设计 数据库结构设计是总体设计阶段非常重要的环节,好的数据库结构可以简化开发 过程,使系统功能更加清晰明确。 数据库包含 7 个表,即基本信息表 baseinfo、客户问题表 srvproblem、工作任 务分配表 srvdespatch、工作任务记录表 srvtask、客户服务调查表 srvinvestigate、常见问题记录表 srvfaq 和用户信息表 users。 下面即这些表的结 构。 (1) 基本信息表 baseinfo,保存基本信息,结构如表 4.1 所示: 表 4.1 baseinfo 的结构 编号字段名称数据类型说明 1 2 3 id basename flag int varchar 50 tinyint 记录编号 信息名称 信息类别:1 表示问题类别;2 表示问题级别;3 表示客户信息 (2)问题记录表 srvproblem,保存客户投诉的问题信息,结构如表 4.2 所示: 表 4.2 srvproblem 的结构 编号字段名称数据类型说明 1 2 3 4 5 6 7 8 9 10 11 proid custid contact prolevel title protype status detail solvedate poster createdate int int varchar 50 int varchar 200 int varchar 20 varchar 2000 varchar 20 varchar 20 datetime 问题记录编号 客户编号 问题联系人 问题级别编号 问题题目 问题类型编号 记录状态 问题描述 要求解决日期 录入人 创建日期 (3)工作任务分配表 srvdespatch,保存工作任务的分配信息,结构如表 4.3 所示。 沈阳理工大学应用技术学院学士学位论文 11 表 4.3 srvdespatch 的结构 编号字段名称数据类型说明 1 2 3 4 5 6 proid despuser respuser despsuggest despdate postdate int varchar 50 varchar 50 varchar 100 datetime datetime 问题记录编号 分配人用户名 负责人用户名 分配人处理建议 分配人处理日期 问题提交日期 (4)工作任务记录表 srvtask,保存工作任务的完成情况,结构如表 4.4 所示。 表 4.4 srvtask 的结构 编号字段名称数据类型说明 1 2 3 4 5 6 7 8 taskid proid startdate enddate solveway place detail lostmemo int int varchar 20 varchar 20 varchar 100 varchar 100 varchar 2000 varchar 1000 任务编号 问题记录编号 开始解决日期 结束日期 问题解决方式 问题解决地点 具体内容 遗留问题 (5)客户服务调查表 srvinvestigate,记录客户服务调查的反馈信息,结构如表 4.5 所示。 表 4.5 srvinvestigate 的结构 编号字段名称数据类型说明 沈阳理工大学应用技术学院学士学位论文 12 1 2 3 4 5 6 7 8 9 invid proid custid contact invdate invway evaluate summary poster int int int varchar 50 varchar 20 varchar 20 varchar 200 varchar 500 varchar 40 记录编号 问题编号 客户编号 被调查人 调查日期 调查方式 总体评价 客户意见和建议 调查人 (6)常见问题记录表 srvfaq,保存客户的常见问题信息,结构如表 4.6 所示。 表 4.6 srvfaq 的结构 编号字段名称数据类型说明 1 2 3 4 5 6 faqid title typeid poster createdate detail int varchar 200 int varchar 50 datetime varchar 4000 记录编号 题目 问题类型 创建者 创建日期 问题描述 (7)用户信息表 users,保存系统用户信息,结构如表 4.7 所示。 表 4.7 users 的结构 编号字段名称数据类型说明 1 2 3 4 username empname userpwd usertype varchar 40 varchar 40 varchar 50 tinyint 用户名,主键 员工姓名 密码 用户类型(表示系统管理员用户, 表示审批经理用户,表示工程师用户) 另外,在表中为了规定各个表之间的关系,还需要定义一组外键,如表 4.8 所示。 表 4.8 外键定义 关系名主键表主键字段外键表外键字段 沈阳理工大学应用技术学院学士学位论文 13 fk_ srvproblem _bsaeinfo fk_ srvproblem_bsaeinfo1 fk_ srvproblem_bsaeinfo2 fk_srvdespatch_srvproblem fk_srvtask_srvproblem fk_srvinvestigate_srvproblem fk_srvinvestigate_baseinfo fk_srvfaq_baseinfo bsaeinfo bsaeinfo bsaeinfo srvproblem srvproblem srvproblem bsaeinfo bsaeinfo id id id proid proid proid custid id srvproblem srvproblem srvproblem srvdespatch srvtask srvinvestigate srvinvestigate srvfaq custid prolevel protype proid proid proid custid tyoeid 5 详细设计 5.1 登陆模块设计 当系统运行时,首先打开登录窗体,只有有权限的用户才能进入系统。登录成功 后,将显示系统主界面。 5.1.1 设计登录窗体 登录窗体的名称为 frmlogin,其界面布局如图 5.1 所示。 图 5.1 登录窗体的界面布局 5.1.2 设计主界面 主窗体是工程的启动对象,可以在系统菜单中选择“工程”/“属性” ,打开属性 窗口设置启动对象。打开主窗体的设计窗口,选择“工具”菜单项中的“菜单编辑器” ,对菜单内容进行编辑,如图 5.2 所示。 在主窗体 frmmain 中添加如下代码: 沈阳理工大学应用技术学院学士学位论文 14 private sub form_load() frmlogin.show 1 end sub 当主窗体启动时,首先打开“登录”对话框。如果不能通过身份验证,则不能 进入系统。本系统的主界面如图 5.3 所示。 5.2 基本信息管理模块设计 基本信息管理模块包括问题类别管理、问题级别设置和客户信息管理。 5.2.1 设计问题类别信息管理窗体 问题类别信息管理窗体的名称为 frmtypes。窗体 frmtypes 的布局如图 5.4 所示。 图 5.2 菜单编辑器 沈阳理工大学应用技术学院学士学位论文 15 图 5.3 售后服务管理系统主界面 下面即窗体 frmtype 中部分过程的代码。 (1)全局变量 变量 oriid 用来标记当前选择的记录的编号,变量 oritypename 用在修改类别 名称时记录原类别编号;变量 nflag 保存当前编辑的信息类型,0 表示问题类别信息, 1 表示问题级别信息,2 表示客户信息。 图 5.4 窗体 frmtype 的布局 (2)form_load 过程。 当装入窗体 frmtype 时触发 form_load 事件,对应的代码如下: private sub form_load() 刷新 datalist1 中的数据 沈阳理工大学应用技术学院学士学位论文 16 datarefresh end sub 在此过程中将显示所有的设备类别名称。 adodc1 控件为 datalist1 控件提供数据源,它根据变量 nflag 设置 select 语句, 读取指定类型的数据。 (3)cmd_add_click 过程。 在文本框中输入新的类别名称,单击“添加”按钮时触发 cmd_add_click 事件, 其相应代码执行过程为:判断输入文本框是否为空;判断数据库中是否已经存在此名 称。插入新记录;刷新列表。 (4)datalist_click 过程。 选择数据列表中的记录,在文本框中同时显示此类别名称。 (5)cmd_modi_click 过程。 选择类别名称,在文本框中对其修改后,单击“修改”按钮触发 cmd_modi_click 事件。其相应代码执行过程为: 判断是否选择了记录;判断新的类别名称是否和旧的类别名称相同;判断数据库 中是否已经存在此新的类别名称;更新数据库记录。刷新类别列表。 (6)cmd_del_click 过程。 选择要删除的类别名称,用户单击“删除”按钮触发 cmd_del_click 事件,其相 应代码执行过程如下: 判断是否选择了记录;确定是否删除记录;删除类别信息;刷新类别列表。 5.2.2 问题级别信息管理窗体 问题级别信息管理窗体也是 frmtypes,只是公共变量 nflag 的值为 1。 5.2.3 设计客户信息管理窗体 客户信息管理窗体也是 frmtypes,只是公共变量 nflag 的值为 2。 5.2.4 在主界面中增加设置代码 当选择“基本信息管理”/“问题类别管理”菜单时触发 nm_type_click 事件, 代码如下:private sub mn_type_click() if curuser.usertype = 0 then frmtypes.nflag = 1 frmtypes.caption = “问题类别设置“ 沈阳理工大学应用技术学院学士学位论文 17 frmtypes.show 1 问题类别管理 else msgbox “没有权限“ exit sub end if end sub curuser 对象中保存了当前用户的信息。curuser.usertype 表示当前用户的类型, curuser.usertype=0 表示系统管理员用户。只有系统管理员用户才能进入问题类别 管理窗体。 5.3 售后服务管理模块设计 售后服务管理模块包括问题管理和客户服务调查管理。 5.3.1 设计客户问题编辑窗体 问题信息编辑窗体的名称为 frmproblemedit,窗体布局如图 5.5 所示。 图 5.5 窗体 frmproblemedit 的布局 窗体中使用 ado data 控件分别为客户名称、严重级别和问题类型等 datacombo 控件提供数据源。 下面即窗体中部分过程的功能。 (1)公共变量。窗体中定义了两个公共变量。变量 modify 用来标记当前的数据 库访问状态。当 modify=true 时,表示修改已有的数据;当 modify=false 时,表示 插入新的数据。变量 oriproid 用于记录当前编辑的问题编号。 沈阳理工大学应用技术学院学士学位论文 18 (2)loaddata 过程。loakdata 过程的功能是分别设置 select 语句,读取客户 名称、严重级别和问题类型信息,并将它们显示在相应的组合框中。 (3)cmd_ok_click 过程。用户单击“确定”按钮时触发 cmd_ok_click 事件,程 序首先对用户输入的数据进行分析,确保数据的有效性。然后,程序将录入的数据赋 值到 mypro 对象中,并调用 insert 或 update 方法将数据保存到数据库中。 5.3.2 设计客户问题提交窗体 客户问题提交窗体可以把未处理的问题提交给相关的经理用户。窗体名称为 frmprosubmit,窗体布局如图 5.6 所示。 图 5.6 frmprosubmit 的布局 下面即是窗体 frmprosubmit 中部分过程的一些功能。 (1)公共变量。变量 oriproid 用来标记正在编辑问题的编号,变量 oriempid 表示选择售后经理的编号。 (2)form_load 过程。当载入窗体时触发 form_load 事件。程序从表 users 中 获取 usertype=1 的用户,即审批经理用户,然后将员工姓名作为数据源赋值到 datacombo 控件中。 (3)cmd_ok_click 过程。用户单击“确定”按钮时触发 cmd_ok_click 事件, 程序首先在表 srvdespatch 中添加一条记录,保存当前的任务分配信息,然后将当前 问题记录的状态更新为“提交” 。 5.3.3 设计客户问题管理窗体 客户问题管理窗体的名称为 frmproblemman,窗体中使用 ado data 控件和 datagrid1 控件来显示问题信息。窗体 frmproblemman 的布局如图 5.7 所示。 沈阳理工大学应用技术学院学士学位论文 19 图 5.7 窗体 frmproblemman 的布局 下面即是窗体中部分过程的代码及功能。 (1)refresh_problem 过程。refresh_problem 过程的功能是更新 ado data 控 件的记录源,从而刷新 datagrid1 表格中显示的问题数据。 在处理日期数据时,应该注意数据的存储格式。因为日期的格式随着系统设置的 变化而变化,可以是“2007-02-05” ,也可以是“2007-2-5”或“2007/2/5”等。在 很多地方需要使用日期数据与匹配条件进行比较,选择符合条件的记录,例如查看 2007 年 2 月 5 日中所有的新建问题等。不同的存储格式会给这种比较带来麻烦,所 以要使用 format()函数对日期格式进行规范化。 在 select 语句中,使用到 3 个 baseinfo 表,它们分别用于提供客户信息、问 题类别信息和问题级别信息。 窗体中使用 dtpicker 控件选择日期。 (2)form_load 过程。当装入窗体时触发 form_load 事件,其对应的代码如下: private sub form_load() combostatus.additem “全部“, 0 combostatus.additem “新建“, 1 combostatus.additem “提交“, 2 combostatus.additem “分配“, 3 combostatus.additem “解决“, 4 沈阳理工大学应用技术学院学士学位论文 20 combostatus.listindex = 0 把创建日期组合框 combodate 赋值为当前日期 dtdate.value = now check1.value = 1 dtdate.enabled = false 显示当前日期创建的所有未处理问题 refresh_problem end sub 客户投诉的问题有 4 种状态,即新建、提交、分配和解决。 (3)cmd_add_click 过程。当单击“添加”按钮时触发 cmd_add_click 事件。 程序将打开 frmproblemedit 窗体编辑新的问题记录。新记录的状态为“新建” ,创建 时间为当前的系统时间,创建人为当前用户。 (4)cmd_modi_click 过程。单击“修改”按钮时触发 cmd_modi_click 事件, 程序从 adodc1 控件中读取当前记录的各字段值,并赋值到 frmproblemedit 窗体的各 个控件中显示。 (5)cmd_del_click 过程。当单击“删除”按钮时触发 cmd_del_click 事件, 程序将 adodc1 控件中读取当前记录的编号,然后再以编号为参数调用 mypro.delete 过程,删除指定的记录。 (6)cmd_despatch_click 过程。当单击“提交”按钮时触发 cmd_despatch_click 事件,程序将打开 frmprosubmit 窗体选择负责此问题的经理。 (7)datagrid1_rowcolchang 过程。当选择表格中不同的记录时触发 datagrid1_rowcolchange 事件,只有新建状态的问题才能够被修改、删除和提交, 提交后的记录则只能查看。 5.3.4 设计客户服务调查编辑窗体 客户服务调查编辑窗体的名称为 frminvedit,窗体布局如图 5.8 所示。 沈阳理工大学应用技术学院学士学位论文 21 图 5.8 窗体 frminvedit 的布局 当用户单击“确定”按钮时触发 cmd_ok_click 事件,程序首先对用户输入的数 据进行分析,确保数据的有效性。然后,程序将录入的数据赋值到 myinv 对象中,并 调用 insert 或 update 方法将数据保存到数据库中。 5.3.5 设计客户服务调查管理窗体 客户服务调查管理窗体的名称为 frmivman,窗体中使用 ado data 控件和 datagrid1 控件来显示客户服务调查信息。 窗体 frminvman 的布局如图 5.9 所示。 沈阳理工大学应用技术学院学士学位论文 22 图 5.9 窗体 frminvman 的布局 refresh_inv 过程的功能是更新 ado data 控件的记录源,从而刷新 datagrid1 表格中显示的客户服务调查数据,程序从 3 个表中读取数据,即表 srvinvestigate、表 baseinfo 和表 srvproblem。 5.4 工作任务管理模块设计 工作任务管理模块包括问题分配管理、工作记录管理和常见问题管理等功能。 5.4.1 设计问题分配信息编辑窗体 问题分配信息编辑窗体可以用来指定工作的负责人,并填写处理意见。窗体名称 为 frmdesedit,窗体布局如图 5.10 所示。 “问题信息”和“客户信息”区域中的内容用来显示问题和客户的基本信息,不 能编辑,所以将它们的 locked 属性设置为 true。经理姓名也不允许修改,也将 txtmuser.locked 设置为 true。 当用户单击“确定”按钮时触发 cmd_ok_click 事件,程序将首先更新 srvproblem 表,把问题的状态设置为“分配” ,然后再更新工作分配表 despatch。 沈阳理工大学应用技术学院学士学位论文 23 图 5.10 窗体 frmdesedit 的布局 5.4.2 设计问题解决描述编辑窗体 当问题被解决后,用户需要输入问题解决描述信息。问题解决描述编辑窗体的名 称为 frmdessolve,窗体布局如图 5.11 所示。 图 5.11 窗体 frmdessolve 的布局 当输入问题描述后,将其保存到表 srvdespatch 中,然后将表 srvproblem 中当 前问题记录的状态更新为“解决” 。 沈阳理工大学应用技术学院学士学位论文 24 5.4.4 设计工作记录编辑窗体 工作记录编辑窗体的名称为 frmtaskedit。窗体的布局如图 5.12 所示。 图 5.12 窗体 frmtaskedit 的布局 当窗体 frmtaskedit 启动时,将触发 form_load 事件,如果是审批经理用户使用 此窗体,则只能查看任务信息,不能修改各项内容。 5.4.5 设计工作记录管理窗体 工作记录管理窗体的名称设置为 frmtaskman,窗体的布局如图 5.13 所示。 图 5.13 窗体 frmtaskman 的布局 因为“问题描述”和“工作分配”中的信息只用来描述选择问题的信息,不能修 改,所以相关的控件设置为只读。 (1)form_load 过程。当装入窗本 frmtaskman 时,将触发 form_load 事件。此 过程根据用户类型的不同,显示不同的界面。对于经理用户而言只能查看任务信息, 不能对任务信息进行修改。而且每个用户只能处理与自己相关问题的任务记录。 沈阳理工大学应用技术学院学士学位论文 25 (2)refresh_task 过程。refresh_task 过程用来更新 ado data 控件的记录源, 从而更新 datagrid 控件中显示的内容。 (3)cmd_solve_click 过程。当单击“解决”按钮时触发 cmd_solvfe_click 事 件,程序调用 mypro.updatestatus 过程将问题的状态设置为“解决” 。 5.4.6 设计常见问题管理窗体 常见问题管理窗体的名称为 frmfaqman,窗体布局如图 5.14 所示。 图 5.14 窗体 frmfaqman 的布局 refresh_faq 过程的功能是更新 ado data 控件的记录源,从而刷新 datagrid1 表格中显示的常见问题数据。 5.5 用户管理模块设计 根据用户类型的不同,用户管理模块的功能也不相同。可以包含以下情形: admin 用户可以创建普通用户,对普通用户的用户名和密码进行修改,删除普通 用户,也可以修改自身的密码;普通用户只能修改自身的用户名和密码。 5.5.1 设计用户信息编辑窗体 用户信息编辑窗体可以用来添加和修改用户信息,窗体名称为 frmuseredit,窗 体布局如图 5.15 所示。 当用户单击“确定”按钮时触发 cmd_ok_click 事件,对应的代码如下: private sub cmd_ok_click() . with myuser 沈阳理工大学应用技术学院学士学位论文 26 图 5.15 窗体 frmuseedit 的布局 if modify = false or oriuser = 3 then msgbox “您已经三次尝试进入本系统,均不成功,系统将关闭“ dbapi_disconnect end else exit sub end if end if 判断密码是否正确 curuser.getinfo (namekey) if curuser.userpwd = 3 then msgbox “您已经三次尝试进入本系统,均不成功,系统将关闭“ dbapi_disconnect end else exit sub end if end if 登录成功,将当前用户的信息保存在 curuser 中 try_times = try_times + 1 if try_times = 3 then msgbox “您已经三次尝试进入本系统,均不成功,系统将关闭“ dbapi_disconnect end end if 沈阳理工大学应用技术学院学士学位论文 51 关闭自己 unload me end sub private sub form_load() end sub private sub frame1_dragdrop(source as control,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论