版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、客户关系管理系统学 院专 业班 级学 号姓 名指导教师教师职称年月日 31 摘要【摘要】随着市场体系的日益完善,我们已经进入了一个买方市场时代。选择空间扩大、购买渠道拓宽、消费心态和购买行为越发成熟,使客户再不会对某一企业或者产品盲目地保持绝对忠诚,如何不断改善客户关系,掌据更多的客户信息,提高客户满意度;如何在日益激烈的市场竞争中把握机会,占有更大的市场份额;如何建立高效业务流程,降低运营成本,获取更多的利润,这些已成为每个企业怕面临的首要问题。这种情况下,企业要在激烈的市场竞争中立于不败之地,就必须找一种全新的管理理念和管理手段,对其内部和外部资源进行有效的整合。新一代一ERP产品正在向客
2、户端和供应端延伸,客户端的延伸是客户关系管理,而供应端的延伸则是跨企业供应链的同步管理。对于每个企业来说客户管理的完善程度将直接影响企业的经济效益。【关键词】 客户关系管理系统、库存管理、报表管理目录摘要10 引言11 系统分析21.1 需求分析21.2 可行性分析22 总体设计22.1 项目规划22.2 系统功能结构图33 系统设计33.1 设计目标33.2 开发及运行环境43.3 数据库设计44 客户管理模块设计44.1 客户信息管理设计44.2 联系人信息管理设计104.3 合同信息管理135 服务管理165.1 反馈信息添加165.2 反馈信息修改176 报表管理196.1 客户报表模
3、块196.2 联系人报表模块25附录A 参考文献附录B 数据表0 引言信息时代的今天,各企业商家所关心的不再局限于自身的产品质量、生产设备、员工的素质,更多的是关心自己的销售群体(客户群),关心他们的想法、需求、购卖目的。众所周知,顾客就是我们的上帝,我们只有满足了上帝的需求,上帝才能给我们带来一切。一个企业要生存、要发展,就是要不断的满足客户的需求,无论我们做出什么样的决策,最终都是为了这个的目。每个领域都有自身生存法则,但无论这个法则如何变化,为客户服务的宗旨是不会变的。作为企业,我们只有不断地挖掘新客户,维护好和老客户的关系,占领市场客户群体的绝大多数份额,才能在整个领域取得一席之地。海
4、尔总裁张瑞敏指出:“客户资源决定企业核心竞争力”,上个世纪80年代是物品短缺的时代,而现在,信息时代是客户短缺的时代。企业发展所需的各种资源(包括人力、物力、生产力)都是可以创造的,但每个领域中的客户资源确是有限的,所以通过创新(产品的创新、企业管理的创新、服务的创新)来抢占有限的客户资源、维护好企业和客户之间的关系、了解客户的需求动向,成为企业生存发展面临的重大问题。1 系统分析1.1 需求分析通过调查研究,要求系统满足有以下功能;q 由于操作人员的计算机知识普遍较差,要求有良好的人机界面。q 方便的数据选择查询,支持模糊查询功能。q 管理客户的详细信息:包括客户的基本信息、联系人信息、和客
5、户签写的合同信息。q 记录产品出库、入库的详细信息。q 为更多的了解客户的需求,设计了服务模块,用以记录客户的反馈信息,并对反馈信息进行管理。q 和客户联系人之间通过邮件(e-mail)进行联系,对联系人邮件地址进行管理。q 提供信息数据导出Excel报表的功能,提供报表的打印功能。q 对用户信息进行管理,并为用户设置管理权限。q 数据计算自动完成,尽量减少人工干预。q 修改当前管理员密码的功能。q 系统退出。1.2 可行性分析q 经济性通过计算机网络对客户信息进行管理,使企业对自身拥有的客户有了一个更为深该的了解。不仅能全面的统计客户的购买数量,及时的了解客户的动态信息,还可以根据计算机记录
6、的数据信息,不断的调整企业的生产发展动向。q 技术性系统中设置了email管理模块,此模块大大的方便了企业和客户联系人之间的沟通。设置导入Excel功能、Web打印功能,方便用户报表打印。2 总体设计2.1 项目规划客户关系管理系统是一个典型的数据库开发应用程序,由客户管理模块、库存管理模块、服务管理模块、报表管理模块、email管理模块、用户管理模块组成,规划系统功能模块如下:q 客户管理模块该模块主要功能是对客户信息、客户联系人信息、合同信息进行添加、删除、查询等操作。q 库存管理模块该模块的主要功能是管理入库、出库信息、产品信息进行管理,其中包括对库存信息、产品信息进行添加、删除、查询等
7、操作。q 服务管理模块该模块主要功能是对客户反馈信息进行添加、删除、查询等操作。q 报表管理模块该模块主要通过查询条件,对各种信息进行查询,并将得到的结果导出Excul表、进行打印报表等操作(其中信息包括:客户信息、联系人信息、反馈客户信息、库存信息)。q email管理模块该模块主要管理客户联系人email地址信息,对企业客户之间的email文件进行管理,向客户发送邮件。q 用户管理该模块主要管理用户信息的添加、删除等操作,并设置用户的使用权限。2.2 系统功能结构图图1 数据表树型结构图3 系统设计3.1 设计目标本系统是针对中小型企业通过网络实现对客户的管理而设计的,主要实现如下目标:q
8、 对客户信息(客户基本信息、联系人信息、合同信息)进行全面管理。q 及时查看库存信息,并通过网站对入库、出库信息进行管理。q 强大的客户信息、联系人信息报表导出、打印功能q 及时了解客户的反馈信息,并对其进行管理。q 实现各种信息的选择查询、模糊查询功能等。q 实现了和客户通过网络在线沟通的功能,并对客户联系人的email地址进行管理。q 管理员可以添加操作员信息、设置操作员的权限。q 对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。q 要求系统的数据保密性强,通过为每个用户设置使用权限来实现。q 系统运行稳定、安全可靠。q 键盘操作,快速响应。3.2 开发及运行环境硬件平台:
9、q CPU:P41。8GHz;q 内存:256MB以上。软件平台:q 操作系统:Windows xp/ Windows 2000/ Windows 2003;q 数据库:SQL Server 2000;q 浏览器:IE5.0,推荐使用IE6.0;q Web服务器:IIS5.0;q 分辨率:最佳效果1024*768。3.3 数据库设计本系统数据库采用SQLServer2000数据库,系统数据库名称为db_System。数据库db_ System中包含8张表。关于数据库中的数据表请参见附录B。4 客户管理模块设计客户管理模块的主要功能是对客户信息进行管理,主要包括客户信息管理、联系人信息管理和合同
10、信息管理3个部分。4.1 客户信息管理设计客户信息管理设计主要包括对客户信息进行显示/查询、添加、修改和删除4个部分的功能。用户可以通过功能导航进入客户信息管理页面,页面设计效果如图3所示。图3 客户信息管理页面的设计效果在客户信息管理页面中,用户可以在查询区域输入查询条件,并选择查询方式,查找相关的客户信息;也可以单击客户信息,在展示区会显示此客户的详细信息,也可对客户信息进行修改;在选中每条信息前面的复选框,单击【删除】按钮,选中的客户信息将被删除。1客户信息显示/查询用户可以在客户信息管理页面中的查询部分,输入一定的查询条件进行客户信息的查询。当用户在查询部分输入条件后,并单击【查询】按
11、钮,用户添加的查询条件将被提交给本页,本页将根据用户提交的表单信息对数据库进行检索,并将结果集通过操作区输出到浏览器中。客户信息查询页面涉及的HTML表单元素如表1所示。表1 客户信息查询页面涉及的HTML表单元素名称类型含义重要属性form1Form表单method=post action=posthidden判断表单是否提交value=truetiaoselect查询类型option value=模糊查询 selected模糊查询option value=精确查询 selected精确查询selselect关键字类别option value=ClientName selected客户名称o
12、ption value=ClientHabitude selected企业性质searchtext关键字input name=search type=text id=search value=Submitsubmit查询按钮class=input value=查询在表单提交之后,在本页将数据进行处理。程序代码如下:%if request(post) thenif request(tiao)=模糊查询 then 条件输入为模糊查询时获得相应的记录集set rs=server.CreateObject(adodb.recordset)sql=select * from tb_Client wher
13、e &request(sel)& like %&request(search)&% order by id descrs.open sql,conn,1,1else 条件输入为精确查询时获得相应的记录集set rs=server.CreateObject(adodb.recordset)sql=select * from tb_Client where &request(sel)&=&request(search)& order by id descrs.open sql,conn,1,1end ifelse 默认状态下获得相应的记录集set rs=server.CreateObject(ad
14、odb.recordset)sql=select * from tb_Client order by id descrs.open sql,conn,1,1end if实现分页if not rs.eof thentol=rs.recordcount 总记录数rs.pagesize=15 获取每页显示的记录数maxpage=rs.pagecount requestpage=clng(request(p) 获取当前页if requestpage= or requestpage=0 then 当接收页码的值为空或者0时使其等于1requestpage=1end ifif requestpagemax
15、page then 在接收页码的值大于最大页码时,使其等于最大页码requestpage=maxpageend ifif requestpage1 then 向上或向下移动相应的记录rs.move (requestpage-1)*rs.pagesizeend iffor i=1 to rs.pagesize and not rs.eof 利用循环输出数据if i mod 2=1 thenbg=#FFFFFFelsebg=#efefefend if% tr align=center bgcolor= style=cursor: hand onClick=window.parent.frames(
16、bo).window.location = KeHu_ed.asp?id=onMouseOver=HLItem(this) onMouseOut=Re(this) %rs.movenextif rs.eof then exit for 如果记录集为空那么跳出循环nextelseresponse.Write(没有客户信息,请添加)end if%当鼠标在某条记录上悬停时,其记录所在行的背景颜色会发生改变,此功能用到的js代码如下:function HLItem(obj)/鼠标经过obj.oldClassName=obj.className;obj.className=List;function R
17、e(obj)/鼠标移开 obj.className=obj.oldClassName其调用的代码如下:tr align=center bgcolor= style=cursor:hand onClick=window.parent.frames(bo).window.location = KeHu_ed.asp?id= onMouseOver=HLItem(this) onMouseOut=Re(this)客户信息显示/查询页面的运行结果如图4所示:图4 客户信息查询页面的运行结果2客户信息添加客户信息添加的主要功能是用于用户添加客户信息。在查询页面中单击【添加】按钮,在展示区中会显示添加页面
18、,其设计效果如图5所示。如图5 客户信息添加页面设计效果当单击添加页面中的【添加】按钮时,调用js编写的自定义函数(checks()),通过函数验证填写的数据是否正确,该函数的代码如下:function checks() if(form1.ClientName.value=)alert(公司名称不能为空);return false;/中间过程不详细介绍,因为实现方法类似 else if(form1.ClientCyc.value=)alert(需求周期不能为空);return false;表单提交之后,添加的数据将被提交到本页进行处理,本页数据处理的程序代码如下:%if request(pos
19、t) thenset rs=server.CreateObject(adodb.recordset)sql=select * from tb_Clientrs.open sql,conn,1,3rs.addnewrs(ClientName)=request(ClientName) 添加公司名称rs(ClientAddress)=request(ClientAddress) 公司地址rs(ClientTel)=request(ClientTel) 公司电话rs(ClientFax)=request(ClientFax) 公司传真rs(ClientNumber)=request(ClientNum
20、ber) 邮政编码rs(ClientPage)=request(ClientPage) 公司网址rs(ClientEmail)=request(ClientEmail) 公司emailrs(ClientCountry)=request(ClientCountry) 所属国家/地区rs(ClientHabitude)=request(ClientHabitude) 公司性质rs(ClientSize)=request(ClientSize) 公司规模rs(ClientCity)=request(ClientCity) 所属城市rs(ClientPay)=request(ClientPay) 结款
21、方式rs(ClientCredit)=request(ClientCredit) 结款信用rs(ClientList)=request(ClientList) 最高订单rs(ClientYear)=request(ClientYear) 年度订单rs(ClientCyc)=request(ClientCyc) 需求周期rs(SetTime)=now() 创建时间rs(EditTime)=now() 修改时间rs(SetName)=session(admin_name) 创建人rs.updaters.closeconn.closeresponse.Write(alert(客户信息添加成功)弹出成
22、功对话框end if%3客户信息修改在显示客户详细信息页面,用户可以浏览、修改其客户的详细信息。进行客户详细信息浏览和修改的页面设计效果如图6所示:图6 客户信息修改页面设计效果在客户信息修改页面,用户可以浏览客户详细的信息,也可以修改客户的信息(当用户有修改的权限时,那么用户可以进行修改,至于用户权限的实现,将在后面的章节中进行讲解)。当用户单击【修改】按钮后,修改的数据将被提交到本页进行处理。数据处理的代码如下:% if request(post) and (rsr(Client)=可写 or rsr(chaoji)=是) then set rs=server.CreateObject(a
23、dodb.recordset)sql=select * from tb_Client where id=&request(id)rs.open sql,conn,1,3rs(ClientName)=request(ClientName) 添加公司名称rs(ClientAddress)=request(ClientAddress) 公司地址rs(ClientTel)=request(ClientTel) 公司电话rs(ClientFax)=request(ClientFax) 公司传真rs(ClientNumber)=request(ClientNumber) 邮政编码rs(ClientPage
24、)=request(ClientPage) 公司网址rs(ClientEmail)=request(ClientEmail) 公司emailrs(ClientCountry)=request(ClientCountry) 所属国家/地区rs(ClientHabitude)=request(ClientHabitude) 公司性质rs(ClientSize)=request(ClientSize) 公司规模rs(ClientCity)=request(ClientCity) 所属城市rs(ClientPay)=request(ClientPay) 结款方式rs(ClientCredit)=req
25、uest(ClientCredit) 结款信用rs(ClientList)=request(ClientList) 最高订单rs(ClientYear)=request(ClientYear) 年度订单rs(ClientCyc)=request(ClientCyc) 需求周期rs(EditTime)=now() 修改时间rs(SetName)=session(admin_name) 创建人rs.updaters.closeresponse.Write(alert(客户信息修改成功)弹出成功对话框end if%4客户信息删除在客户信息管理页面,用户可以点选任意一条客户信息前面的复选框,然后单击页
26、面下方的【删除】按钮,被选择的客户信息将被删除。客户信息删除主要是根据传递的参数(本例中的参数为客户信息的id),将数据库中对应id的客户信息和其他和客户相关的信息全部删除,程序代码如下:%call client 验证是否有删除客户信息的权限if request(del) thenkid=Split(Request(del),) 分解字符串成数组for i=0 to ubound(kid)sqld=delete from tb_Client where id=&clng(kid(i)删除客户信息conn.execute(sqld)sqll=delete from tb_Linkman wher
27、e LinkmanClient=&clng(kid(i)删除客户的联系人信息conn.execute(sqll)sqlp=delete from tb_Pact where PactClient=&clng(kid(i)删除客户的合同信息conn.execute(sqlp)sqlp=delete from tb_Feedback where FeedbackClient=&clng(kid(i)删除客户反馈信息conn.execute(sqlp)sqlp=delete from tb_Product where ProductProvider=&clng(kid(i)删除客户的产品信息conn
28、.execute(sqlp)nextif request(p)= then 返回用户操作页response.Redirect(KeHu_KeHu.asp)elseresponse.Redirect(KeHu_KeHu.asp?p=&request(p)end ifelseresponse.Write(alert(请选择要删除的信息);location=javascript:history.go(-1)end if%4.2 联系人信息管理设计联系人信息管理的主要功能包括显示/查询、添加、修改和删除联系人信息4个部分。用户可以通过功能导航进入联系人信息管理页面,页面设计效果如图7所示。图7 联系人
29、信息管理页面设计效果1联系人信息显示/查询用户可以在联系人信息管理页面中的查询部分,输入一定的查询条件进行联系人信息的查询。用户在查询部分输入条件后,单击【查询】按钮,用户添加的查询条件将被提交给本页,本页则将根据用户提交的表单信息对数据库进行检索,并将结果集通过操作区输出到浏览器中。查询代码如下:%if request(post) thenif request(tiao)=模糊查询 then 联系人模糊查询set rs=server.CreateObject(adodb.recordset)sql=select * from tb_Linkman where &request(sel)& l
30、ike %&request(search)&% order by id descrs.open sql,conn,1,1else 联系人精确查询set rs=server.CreateObject(adodb.recordset)sql=select * from tb_Linkman where &request(sel)&=&request(search)& order by id desc rs.open sql,conn,1,1end ifelse 默认状态下显示联系人列表set rs=server.CreateObject(adodb.recordset)sql=select * f
31、rom tb_Linkman order by id descrs.open sql,conn,1,1end if%分页代码请参考4.1节中介绍的客户信息显示/查询中的相关代码。也可在查看客户的详细信息中,单击“联系人信息”,就会产生此客户的联系人列表,传参代码如下:a href=KeHu_Linkman.asp?post=true&sel=LinkmanClient&search=&dd=dd联系人信息2联系人信息添加联系人信息添加的主要功能是添加客户的联系人信息。在查询页面中单击【添加】按钮,在展示区中会显示添加页面。在添写表单选择所属客户时,所属客户是在数据库中直接读取出来的。其代码如下
32、: option value=%elseresponse.Write(没有客户信息,请添加)end if%添加联系人页面的运行结果如图8所示。图8 添加联系人的页面运行结果也可在客户的详细信息中单击【新建】按钮,在此添加用户不用选择所属客户,直接就会生成所属客户,主要是根据传递的参数(本例中的参数为客户信息的id),传参代码如下:a href=KeHu_Linkman_addy.asp?id=新建其显示代码如下:3联系人信息修改联系人信息修改的主要功能是用户修改联系人信息,方便用户和客户之间的联系和沟通。在显示联系人详细信息页面,用户可以更改其联系人的信息。联系人信息修改页面运行结果如图9所示
33、。图9 联系人信息修改页面运行结果4联系人信息删除联系人信息删除的主要功能是删除联系人的信息。,其程序代码如下:4.3 合同信息管理合同信息管理设计主要包括显示/查询、添加、修改和删除合同信息4个部分。用户可以通过功能导航进入合同信息管理页面,页面设计效果如图10所示。图10 合同信息管理页面的运行结果1合同信息显示/查询用户可以在合同信息管理页面中的查询部分,输入一定的查询条件,进行合同信息的查询。用户在查询部分输入查询条件后,单击【查询】按钮,用户所添加的查询条件将被提交给本页,本页将根据用户提交的表单信息对数据库进行检索,并将结果集通过操作区输出到浏览器中。合同信息查询程序代码如下:%i
34、f request(post) thenif request(tiao)=模糊查询 then模糊查询合同信息set rs=server.CreateObject(adodb.recordset)sql=select * from tb_Pact where &request(sel)& like %&request(search)&% order by id descrs.open sql,conn,1,1else精确查询合同信息set rs=server.CreateObject(adodb.recordset)sql=select * from tb_Pact where &request
35、(sel)&=&request(search)& order by id descrs.open sql,conn,1,1end ifelse 默认状态下显示的合同信息set rs=server.CreateObject(adodb.recordset)sql=select * from tb_Pact order by id descrs.open sql,conn,1,1end if%合同信息显示/查询页面运行结果如图11所示。图11 合同信息显示/查询页面运行结果也可在查看客户的详细信息中,单击“合同信息”,就会产生此客户的合同列表,传参代码如下:a href=KeHu_Pact.asp
36、?post=true&sel=PactClient&search=&dd=dd 合同信息2合同信息添加合同信息添加的主要功能是用户添加客户的合同信息。在查询页面中单击【添加】按钮,在展示区中会显示添加页面,其运行结果如图17(上)所示;也可在客户的详细信息页面单击“新建”,在展示区中会显示添加页面,然后进行合同信息添加。合同信息添加页面的运行结果如图12(下)所示。图12 合同信息添加页面运行结果3合同信息修改合同信息修改的主要功能是用户修改合同信息。在显示合同详细信息页面,用户可以更改其合同的信息。合同信息修改页面运行结果如图13所示。图13 合同信息修改页面运行结果4合同信息的删除合同信息
37、删除的主要功能是删除合同信息,其代码如下:5 服务管理服务管理设计的主要功能包括反馈信息的显示/查询、添加、修改和删除4个部分。用户可以通过功能导航进入服务管理页面,页面设计效果如图20所示。图20 服务管理页面的设计效果5.1 反馈信息添加反馈信息添加的主要功能是用户添加客户的反馈信息。在查询页面中单击【添加】按钮,在展示区中会显示添加页面。反馈信息添加页面的设计效果如图21所示。图21 反馈信息添加页面的设计效果反馈信息添加页面涉及的HTML表单元素如表3所示。表3 反馈信息信息添加页面涉及的HTML表单元素名称类型含义重要属性form1Form表单method=post action=p
38、osthidden判断表单是否提交value=trueFeedbackTitletext反馈主题class=in size=30FeedbackFulfillradio是否完成 value=未完成 value=已完成yearselect年option value=monthselect月option value=dayselect日option value=FeedbackClientselect相关客户option value=FeedbackContenttextarea详细内容cols=88 rows=4 class=tableFeedbackResulttextarea处理结果cols
39、=88 rows=4 class=tableSubmitselect添加按钮class=input value=添加 onClick=return checks()表单提交之后,添加的数据将被提交到本页进行处理。数据处理的程序代码如下:%call feedbackif request(post) thenset rs=server.CreateObject(adodb.recordset)sql=select * from tb_Feedbackrs.open sql,conn,1,3rs.addnew 主要用于添加客户反馈信息的数据rs(FeedbackTitle)=request(Feed
40、backTitle)rs(FeedbackDate)=request(year)&-&request(month)&-&request(day)rs(FeedbackClient)=request(FeedbackClient)rs(FeedbackContent)=request(FeedbackContent)rs(FeedbackResult)=request(FeedbackResult)rs(FeedbackFulfill)=request(FeedbackFulfill)rs(SetTime)=now()rs(SetName)=session(admin_name)rs.updat
41、ers.closeresponse.Write(alert(反馈信息添加成功)end if%5.2 反馈信息修改因为反馈信息是客户的反馈意见所以不得随意修改,用户只可以修改“处理结果”和“服务完成”两项信息。当服务完成选项,选中“已完成”时,那么任何信息都不可以修改,也就是说只有在服务“未完成”的情况下才能修改“处理结果”。反馈信息页面设计效果如图22所示。图22 反馈信息页面设计效果反馈信息修改页面涉及的HTML表单元素如表4所示。表4 反馈信息信息修改页面涉及的HTML表单元素名称类型含义重要属性form1Form表单method=post action=posthidden判断表单是否提
42、交value=trueFeedbackTitletext反馈主题value= size=30 readonly=true class=inFeedbackFulfillradio是否完成 value=未完成 checked value=已完成 checkedFeedbackDatetext年value= size=30 readonly=true class=inFeedbackClientselect相关客户value= size=30 readonly=true class=inFeedbackContenttextarea详细内容cols=88 rows=4 class=table re
43、adonly=trueFeedbackResulttextarea处理结果cols=88 rows=4 class=table readonly=trueonfocus=this.select(); onmouseover=this.focus();Submitselect添加按钮class=input value=修 改 onClick=return checks()在反馈信息修改页面,当用户单击【修改】按钮后,修改数据将被提交到本页进行处理,数据处理程序的代码如下:%if request(post) thenset rs=server.CreateObject(adodb.recordset)sql=select * from tb_Feedback where id=&request(id)rs.open sql,conn,1,3rs(FeedbackFulfill)=request(FeedbackFulfill)rs(FeedbackResult)=request(FeedbackResult)rs
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论