基于SSH的客户关系管理系统的设计与实现_第1页
基于SSH的客户关系管理系统的设计与实现_第2页
基于SSH的客户关系管理系统的设计与实现_第3页
基于SSH的客户关系管理系统的设计与实现_第4页
基于SSH的客户关系管理系统的设计与实现_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

基于SSH的客户关系管理系统设计与实现PAGE48本科毕业论文(设计)(2020届) 题目:基于SSH的客户关系管理系统设计与实现姓名:学号:学院:专业:指导老师:摘要随着互联网的迅速发展,人类社会的信息化水平也越来越高,人们生产和处理的信息量日益膨胀,传统的客户关系管理方式已不能满足处理繁琐信息的要求。传统信息管理方式在对信息进行管理的时候,客户的增多也将使得文件数量递增,人们查阅资料、处理资料的时候,会使的工作难度变得艰难,即使在以花费大量时间和精力的代价下完成客户管理工作,工作成果的质量和客观满意度也远远得不到保证。本系统是在Windows10操作系统下进行开发,用Eclipse工具进行java开发,用HBuilder工具开发前端页面,应用web应用程序开源框架——SSH在短期内搭建结构清晰、易开发、维护简单的web应用,不需安装高内存应用程序,减少了开发和维护的难度;所有数据都保存在dao端,确保了数据的安全。本系统涵盖市场上客户关系管理所需要的几个重要模块,如客户管理、合同订单管理、产品管理。经过系统测试后,本系统功能都能正常使用,并且页面交互友好,操作简单,数据使用也能正确无误的存取。关键词:客户关系管理,MVC,JAVA。AbstractWiththerapiddevelopmentoftheInternet,theinformationlevelofhumansocietyisgettinghigherandhigher,theamountofinformationthatpeopleproduceandprocessisexpandingdaybyday,andthetraditionalcustomerrelationshipmanagementcannolongermeettherequirementsofhandlingcomplexinformation.Traditionalinformationmanagementmodeintheinformationmanagement,increasingthecustomerwillalsobeincreasingthenumberoffiles,peopleaccesstoinformation,processinginformation,canmakeworkdifficultyisdifficult,evenunderthecostofspendalotoftimeandenergytocompletecustomermanagement,thequalityoftheworkandobjectivesatisfactionarefarnotguaranteed.ThissystemisdevelopedundertheWindows10operatingsystem,USEStheEclipsetoolforJavadevelopment,USEStheHBuildertooltodevelopthefront-endpage,andappliesthewebapplicationopensourceframework--SSHinashortperiodoftimetobuildaclearstructure,easytodevelopandmaintainsimplewebapplications,donotneedtoinstallhighmemoryapplications,reducingthedifficultyofdevelopmentandmaintenance;Alldataisstoredonthedaoside,ensuringdatasecurity.Thissystemcoversthemarketcustomerrelationshipmanagementneedsofseveralimportantmodules,suchascustomermanagement,contractordermanagement,productmanagement.Afterthesystemtest,thesystemfunctionscanbeusednormally,andthepageinteractionfriendly,simpleoperation,datausecanalsobecorrectaccess.Keywords:CustomerRelationshipManagement,ModelViewController,JAVA;

目录摘要 1Abstract 2第1章引言 11.1目的和意义 11.2系统开发关键技术 21.2.1基于B/S的系统开发模式 21.2.2JAVASCRIPT 21.2.3JAVA语言 21.2.4JAVAEE架构——SSH框架 21.3系统开发环境 31.3.1Eclipse简介 31.3.2Tomcat简介 31.4系统运行要求 31.4.1PC端硬件要求 31.4.2软件要求 4第2章可行性分析 52.1经济可行性 52.2技术可行性 5第3章需求分析 63.1系统功能分析 63.1.1客户关系管理业务流程 63.1.2系统要求 73.2系统需求分析 73.2.1数据流图 83.2.2数据字典 9第4章总体设计 134.1系统总体设计 134.1.1系统模块功能 134.2数据库设计概述 144.2.1数据库设计的目的 144.2.2数据库选择 144.2.3数据库编码 154.3数据库详细设计 154.3.1数据库物理结构设计 154.3.2数据表的设计 15E-R图 15第5章详细设计 225.1系统模块介绍 225.1.1系统信息管理模块 225.1.2客户管理模块 225.1.3产品管理模块 235.1.4合同订单管理模块 235.1.5财务管理模块 235.1.6人事管理模块 245.2主要功能详细设计 245.2.1系统功能模块功能详细设计 245.2.2客户管理功能详细设计 285.2.3合同订单与财务管理功能详细设计 305.2.4人事管理模块功能详细设计 33第6章系统实现 346.1模块实现 346.1.1初始化主页面菜单项 346.1.2系统参数管理功能实现 356.1.3角色管理功能实现 356.2客户管理模块实现 376.2.1客户列表显示实现 376.2.2添加客户跟进实现 386.3合同订单模块实现 386.3.1订单管理模块 386.4产品管理模块实现 406.4.1产品类别管理 40第7章系统测试 417.1测试方案概述 417.2测试计划与实施 417.2.1客户管理模块测试 417.2.2合同订单和财务管理模块 427.2.3产品管理模块 437.2.4人事管理模块 437.2.5系统管理模块 44结论 46参考文献 47致谢 48引言CRM是一项技术,也是一种记录、保持和增加对公司有利客户的方法和想法,更是一套先进营销理念企业操作流程。客户关系管理系统对于企业管理客户来说,有着十分重要的作用,CRM的应用,起码使得企业的管理客户效率得到提升,管理成本得到下降,更能为企业更好地观察哪些客户是否成为公司的长期合作伙伴关系,在当今大数据、云计算时代是很容易实现的。如今,国内所使用主流的客户关系管理系统能够包括客户关系管理中主要环节,系统的架构包括C/S模式和B/S模式,并应用云计算、大数据和人工智能等更为先进的技术融入到CRM中,对客户关系相关数据和客户关系管理系统开发提供更为准确、便捷地服务[1]。目的和意义本课题主要目的是用于以中小型企业为中心,并选取中小型企业的客户关系作为分析的入手点,对企业的客户关系管理基本步骤与生命周期进行把握,结合JSEE、JavaScript、SSH等技术,设计一种基于B/S结构的面向中小型企业的web应用程序。一个好的CRM,不仅可以提高市场营销效果,生产研发和产品销售提供决策支持,同样可以优化企业业务流程,提高企业的快速应变能力,改善企业服务模式,提高客户满意度,从而达到推动了企业文化的革新[2]。客户关系管理系统完成对客户基本信息、联系人信息、交往信息、客户服务信息的正确无误地存取和规范化管理;同时可以通过对各种产品购买情况、客户反馈记录的追踪和记录。同时,系统中各项数据,都可以结合当今流行的大数据分析、云计算等先进技术,计算出的报表更加让企业及时作出更精准的决策。系统开发关键技术基于B/S的系统开发模式B/S模式,即浏览器/服务器模式摸,与之相对应的是C/S模式,它是从C/S模式演变成现在的网络结构模式,在该模式下所构建的系统具有简单易用的优点,系统无需在客户端安装任何程序,只需要一处部署,就可以多用户随时随地使用,是一种当前最为流行的系统开发结构模式[3]。JAVASCRIPTJavaScript是一种页面脚本语言,是使HTML+CSS开发的静态页面成为动态,也是作为开发web页面的脚本语言。其中Jquery则是对JavaScript的一种封装,是一种框架,里面有灵活的获取页面标签语法,同样ajax提供了异步更新的机制,使得浏览器与服务器的数据交互上不用上传整个文档,而且不用刷新页面才有结果,提高了用户体验感。JAVA语言Java语言编写的应用程序在不同的操作系统上都可以运行,只需安装相应系统的java虚拟机,即可达到到处运行的效果。java语言平台版本有三种,其中J2EE企业版是针对web应用程序,已经成为开发web应用程序的首选开发语言,也是作为本系统重要开发版本[4]。JAVAEE架构——SSH框架原生的Jsp+servlet+javabean模式的web开发模式,已远远不足加快开发效率,在本系统没有太高的性能要求上,基于框架对系统进行开发,使得我们在开发系统时的效率大大的提升,因为其框架自身的优点可以使得软件在某些程度上可以被重复利用。SSH框架是由Struts2、Spring、Hibernate三种框架整合后一套开发规范,给web开发提供了一个更为便捷和功能更加强大的方法。基于架构下对系统进行开发,使得我们在开发系统时的效率大大的提升,因为其框架自身的优点可以使得软件在某些程度上可以被重复利用[5]。系统开发环境Eclipse简介Eclipse是基于java开发的编辑器。最初主要用来Java开发,后来开发不同的插件,Eclipse可以支持不同的编程语言,比如C++和Python等开发语言。现在市场上开发java的工具主要有NetBeans、MyEclipse,其中使用广泛的是IntellijIDEA和Eclipse这两款,现在大多数公司使用Eclipse,主要是Eclipse附带了一个标准的插件集,包括java开发工具(javaDevelopmentTooles,JDT),良好的性能,是广大企业不可或缺的工具之一。Tomcat简介Tomcat是一个开源的Serlvet容器,同时由于Java的跨平台特性,基于java开发的Tomcat也具有跨平台性。在Tomcat中,应该程序的部署很简单,只需将war包放到Tomcat的webAPP目录下,Tomcat会自动检测到这个文件,并将其解压[6],运行Tomcat,系统会自动检查并运行命名为ROOT的war包。系统运行要求PC端硬件要求CPU:COREi5-6300HQ内存:2G及以上硬盘:5GB软件要求PC操作系统:Windows7、Windows10或者Linux浏览器:Google浏览器、火狐浏览器和qq浏览器等可行性分析经济可行性该系统的设计、开发再到测试都使用免费的开发工具如eclipse的java开发软件、SQLyog的数据库客户端软件和Visio绘图软件,所以在开发这一阶段均不需要任何的经济投入,当本系统正式使用后,只需企业将项目部署到服务器上,通过浏览器使用系统即可,大大的提高企业对客户管理的高效性、时效性。技术可行性该系统设计架构是基于B/S模式B/S模式和MVC模式的,使用当下流行web应用程序开发的java语言。使用spring框架,整合Struts2和Hibernate。这几大框架都是当前主流web开发框架不可或缺。前端方面的话,主要套用前端的一些jquery框架插件来让前端展示的较为美观,开发技术要求门槛及学习成本不高,而维护难度也并不高,所以说在技术上是可行的[7]。需求分析系统功能分析客户关系管理系统主要由以下几大功能模块,如下思维导图03-1所示。图3-1功能模块思维导图客户关系管理业务流程当不用企业角色登陆CRM系统时,页面会根据不同角色,来显示相应权限的菜单导航栏,进行相应模块的操作,比如系统管理员有全部权限,财务管理员管理客户的收款情况。业务流程图如图3-2所示。图3-2业务流程图系统要求简洁明了的操作界面,保证系统的可使用性以及降低用户的操作性;用户必须通过登录或者注册进行系统主页,保障使用系统的安全性;罗列项目中某些属性的有限个数的字典项,合成一张数据字典表;要有完整的客户信息录入、客户跟踪,客户合同的管理等有利于发展客户需要;要有严谨的、完善的角色权限管理功能;对使用本系统的公司的人事进行有效的管理,对于一些需要删除的数据,只是逻辑上的删除,而不是物理上的删除,防止重要数据的误删性[8]。系统需求分析首先该客户关系管理系统主要的面向对象是一些客户量多,客户来源广的企业或者公司等,在这个基础上,从传统的客户关系管理方式角度上讲,客户关系管理系统要解决传统手工去记录客户信息、拜访信息的缺点,对这种耗时耗力的工作进行一个改革,也就是把相应的服务上升到与web端交互,完成对客户基本信息、联系人信息、拜访信息、客户服务信息的充分共享和规范化管理;通过记录客户跟进过程的追踪,提高新客户的开发能力,维持老客户的紧密性。主要有以下几个模块。客户管理模块:有客户列表、联系人列表和跟进管理三个子功能构成,呈现客户的阶段状态包括售前跟踪、合同执行、售后服务、合同期满等。联系人则是所属每个客户公司的一员,作为与本公司员工进行沟通的一个身份。跟进管理则是显示本公司员工跟进客户的记录,保证每个客户随时有员工去跟进。合同订单模块:企业与客户之间合作往来,主要是通过合同形式的体现,客户关系管理离不开合同方面上的管理,合同管理主要记录客户方和本公司方的促进人,签订时间、结束时间和描述合同中一些关键信息条款等信息。订单管理主要记录客户在本公司购买产品详细记录。财务管理模块:记录跟订单中到款金额情况,记录每个订单分批付款的流水账记录。产品管理:主要是记录本公司的产品类别,某些产品又分为几个子产品类别,实现产品按分类查询和修改,实现产品信息的查询,修改。方便管理本公司的产品链。人事管理模块:人事管理模块包括部门管理、职务管理、岗位管理和员工管理模块,主要是对公司的有哪些部门进行管理。职务管理可以用于角色管理的数据来源进行权限分配。员工管理是这个系统的基础模块,涉及到与客户交通的中间人等功能。系统管理模块:系统参数管理,规范有些数据项的输入格式,比如客户类型,只能填合同执行、合同期满、售前服务、售后服务,支付方式,只能填承兑汇票、现金支付、网上支付、银行转账等。还有就是角色管理,给不同角色分配不同的本系统的使用权限。数据流图通过需求分析可知,在前端登陆界面中,根据不同角色登录后,进入主页面进行客户关系管理的相关模块操作,该系统的用户主要有系统管理员、领导、财务管理员、客户员工管理员几个重要角色。系统的主要几大功能模块有客户管理模块、合同订单模块、财务管理模块、人事管理模块等,数据的来往在模块内进行与数据库交互,同时也有模块与模块之间的数据交互,比如订单与收款[9]。数据流图(图3-2)如下所示。图3-2数据流图数据字典数据项表3-1联系人编号数据项:联系人编号别名:id类型长度:INT(8)描述:联系人是客户方派出的具体谈判人表3-2合同编号数据项:合同编号别名:serialnumber类型长度:varcahr描述:用于区分合同的标识表3-3客户编号表3-4客户跟进编号表3-5客户订单序列号数据项:订单序列号别名:serialnumber类型长度:varchar描述:用于区分订单的标识表3-6产品类别编号表3-7员工编号数据项:员工编号别名:hr_employee_id类型长度:INT描述:本公司不同部门的员工,也作为本系统不同角色的使用登录用户,只是后面有加个是否可以登录说明,来区别是否是使用本系统的员工表3-8职务编号表3-9系统数据字典编号数据项:详细的系统数据字典编号别名:param_sysparam_id类型长度:INT描述:用于限定有些数据项的值,相当于枚举表3-10系统数据字典类别编号数据项:系统数据字典类别编号别名:type_id类型长度:INT描述:用于对各类的数据字典进行分类、说明表3-11登录记录编号数据项:登录记录编号别名:sys_login_id类型长度:INT(8)描述:用于记录登录此系统的记录表3-12系统菜单名称数据项:系统菜单名称别名:menu_name类型长度:varchar描述:用于系统在登录之后根据权限来进行显示相应的功能表3-13角色名称数据项:角色名称别名:rolename类型长度:varchar描述:用于描述使用该系统不同角色,拥有不同权限总体设计系统总体设计本系统主要是采用MVC模式的web开发,由原始javabean+jsp+servlet的模式开发,现在转变为当前快速开发的Spring、Struts2、Hibernate框架。这三种也是现在企业公司web快速开发的一种web整合框架。该系统设计中的流程主要是先查阅资料并得出共同点,然后进行基本的需求分析,根据数据库导论,进行数据库设计与建表。搭建SSH的开发环境,根据数据库表,创建实体类,配置xml。然后通过对系统业务逻辑的分析描述出对应的业务逻辑,并进行相应接口来实现相关的业务逻辑功能,再开发控制层对前台界面的数据交互写到对应的action的方法中,通过返回的信息在Struts配置文件中选择跳转什么文件,已经是重定向还是转发的方式在前端做页面跳转。Dao层的数据处理,则是依赖于Spring提供的接口来实现无SQL进行存取数据库操作。系统模块功能主要包括以下几大功能模块:客户管理、合同订单管理、财务管理、产品管理、人事管理、系统管理,其中下面又分为几个小功能模块。系统模块结构如图:4-1所示: 图4-1系统功能模块图数据库设计概述数据库设计的目的系统的使用离不开数据,而数据来源也不是凭空捏造而成,数据是系统预先输入的数据作为本次操作的数据对象,编辑后成为下一次的数据源。所以说存储数据有多种方式,其中包括文本存储数据,但是存储文本则涉及到字符流操作,这将会大大降低系统的性能,数据也可以存储redis,但是redis是作为存储热数据,本系统暂不涉及到热数据的分类。综合考虑,将使用Mysql数据库作为本系统的数据存储,个人版免费,满足本系统的各种数据结构的存储方式。数据库选择系统采用MySQL作为数据库存取。主要有以下优点:体积小,存储速度快,相对于Oracle数据库易安装,易卸载;是一个关系型数据库管理系统,符合本系统面向对象编程,跟Hibernate框架共同完成Dao的数据管理;优化的SQL查询算法,极大地提高查询速度。数据库编码UTF-8编码格式。数据库详细设计根据系统功能性需求,数据库设计分为联系人表、合同表、客户表、客户跟进表、客户订单表、订单产品表、产品表、产品类别表、收款表、部门表、员工表、职务表、岗位表、系统详细数据字典表、系统数据字典分类表、系统菜单表、登录记录表、角色表等。 数据库物理结构设计在本地搭建MySQL5.5.49版本数据库,使用SQLyog远程数据库管理工具管理。数据库文件的物理存储结构为innodb,是一种支持事务操作的存储引擎,在myCrm数据库创建表后,会在MySql数据库存放目录下生成一个和数据库名相同的目录,包含存储所有表的字符集和排序规则的db.opt文件和该库下所有表同名的frm文件。数据表的设计E-R图 图4-2系统总体E-R图表的设计 表4-1联系人表(crm_contact)表4-2合同表(crm_contract)表4-3客户表(crm_customer)表4-4客户跟进表(crm_follow)表4-5客户订单表(crm_order)表4-6订单产品表(crm_order_details)表4-7产品表(crm_product)表4-8产品分类表(crm_product_category)表4-9员工表(FUNCTION)表4-10系统字典表(param_sysparam)表4-11角色表(sys_role)表4-12系统菜单表(crm_order_details)详细设计系统模块介绍系统信息管理模块系统信息管理模块主要实现的是系统数据字典的增删改查和角色的权限管理,以及对数据回收站的管理。把系统设计成有权限控制的可登录界面,不同权限的用户有着对应着不同使用权限,会通过所看到的客户关系管理系统的菜单导航栏不同,当然拥有最高权限的系统管理员是有管理系统的所有操作的,特别是赋予不同其他角色的权限。这种分权限访问的方式,既可以保证后台系统的相对安全性和灵活性,又可以将客户关系管理的工作分工明确,让不同的使用者在面对本系统的时候也有着自己明确的工作任务,提高了工作效率,工作秩序也将有条不紊[10]。系统数据字典,是系统中某类信息已规定的字符串选择进行显示和输入的,比如客户来源,那就有网上来源、个人客户、走访等,而不可能出现其他类型的字符串,只能通过系统管理员进行添加新的字符串。数据字典在前端运用广泛,在新添、修改的时候,特殊字段会通过ajax获取相应的数据字典集合,拼接到前端,供用户进行选择,而不能自行输入。数据回收站的管理,考虑到某些重要数据的删除,不能特地的从物理上删除,而是可以恢复的,就需要数据回收站来恢复之前删除的数据。客户管理模块客户信息管理模块是本系统的主要核心,主要是包括客户列表的管理,联系人的信息管理,相应客户的跟进管理。客户列表则是客户管理的重要模块,通过分页来展示有限客户,并且伴随着多条件的智能搜素能快速定位到客户信息。可以新增客户数量,查询客户详情,编辑客户详细资料和为每位客户添加最新跟进拜访记录。客户跟进管理是对全部拜访记录的统一管理,同样可以进行多条件的智能搜索。产品管理模块产品管理模块很好地呈现本公司所有的产品架构,针对本公司推出套餐、产品等信息进行明确管理,方便员工更加快速地掌握本公司整体产品类型,从而可以根据客户的需求提供相应的产品类型进行服务及沟通。该模块包含产品类别和产品类别相对应详细产品管理。产品类别不至限于一层的分类,它可以像树状结构样,有父类别和子类别,从而对产品进行更加详细的区别。合同订单管理模块合同订单管理模块一方面可以了解客户与本企业交易往来记录,另外一方面了解哪些客户跟本公司合作的效率。订单管理,可以看到客户在某段时间与企业之间的购买产品详情,和相应交易时候的实收金额情况。合同管理则是针对那些长期与企业合作,需要企业长期提供产品和技术支持而所需要的一个模块,从纸质上的合同记录转变为电子上记录,极大地提高了合同查询和管理效率。财务管理模块财务管理模块,其实也就是记录与客户在经济上的往来。主要有收款管理和流水账管理。其中流水账管理其实就是记录客户在交易中不能一次性付款,而分批付款的流水记录。人事管理模块人事管理模块,主要是部门管理、职务管理、岗位管理、员工管理。其中职务管理和岗位管理比较相似,职务是对于某一具体位置的称呼,岗位与人对应,通常只能由一个人担任,一个或若干个岗位的共性体现就是职位。对于一些企业来说是没有这详细的分类,但是还是有必要设计出来,方便有需要的企业使用。主要功能详细设计系统功能模块功能详细设计登录算法设计过程使用本系统,需要先登录才能使用。进入登录页面,后台生成验证码,加载到页面显示,跟用户名和密码一起通过http协议传入到后台进行校验。如果是用户名不存在,将会体现页面用户名不存在,如果是密码错误,页面也将会提示密码错误,验证码也是。同时,验证码如果无法识别,可以通过点击图片进行刷新,生成新的验证码。登陆功能算法流程图如下图5-1图5-1登录算法流程图图5-2前台系统登陆图主页面设计根据登录用户实例,去后台数据库查找该用户的角色权限,根据权限字符串,生成不同角色所独特的菜单导航栏。另外可以查看个人登录的信息并进行编辑。图5-3主页面流程图图5-4个人资料修改参数界面设计系统管理员对整个系统中限定输入字段的设置。主要是系统参数类别,以及各种系统参数类别的具体值,主要对参数类别具体值的添加、编辑及删除操作。左边的作为父级参数类别,点击左边相应的选项,右边的表格将会显示该参数类别的全部参数列表,然后就可以为该参数类别的参数列表进行CRUD。需要换参数列表,只需点击系统参数类别的类型即可,右边有动态生成所属列表。 图5-5参数管理图 角色管理角色管理是对不同角色赋予不同权限,根据其性质赋予使用本系统各种功能使用权限。点击编辑,根据角色实例的属性childmenus与菜单实例进行匹配而回显权限视图,在编辑的时候就知道该角色所拥有什么权限,方便进行修改。修改好后提交,即可重新生成权限字符串存放回数据库的相应字段。图5-6角色管理流程图客户管理功能详细设计 客户列表客户列表是显示全部客户详细信息,可以进行新增客户、多条件的智能查询,对每位客户又可以进行查看详情、编辑信息、删除及客户跟进操作。页面分页功能同一使用jquery插件dataTables来实现。其中添加客户跟进设置这个界面,主要是借助智能查询客户功能,可以快速的进行添加客户跟进,跟进记录将在跟进管理进行显示。图5-7客户列表图图5-8新增客户跟进联系人管理设计过程联系人在本系统中主要是所属客户方面,直接与公司沟通。页面也客户管理页面大致类型,都有多条件的智能搜索、编辑和添加功能。合同订单与财务管理功能详细设计合同管理功能设计过程合同管理记录着签订日期,公司跟进人,合同金额和合同一些详细内容记录,其中还包括多条件的智能搜素和添加等操作。总体页面设置跟客户管理相同。订单管理功能设计过程订单管理中一个客户可以拥有多个订单,同样可以进行智能搜索、添加订单,也可以对每个订单进行查看详情、编辑、删除和查看产品详情。添加订单先是填写客户、订单状态等基本信息,提交后提示需要添加产品,根据添加产品的数量,自动计算该产品总价,然后累加到订单总金额。 图5-9添加订单的基本信息图 图5-10添加订单产品图图5-11添加订单流程图收款管理功能设计过程收款管理主要是对订单金额收款情况的记录,再者考虑到订单金额有些不是一次性付清,所以有这个收款管理来记录。其中显示订单金额、已收总额、未收余额三个重要观察数据。可以查看收款详情与产品详情。图5-12添加收款流程图图5-13订单的收款详细图人事管理模块功能详细设计部门管理公司的正常运转离不开分工明确的部门,部门信息的管理也是必不可少的,系统中多处添加员工信息的时候,可以通行选择部门,动态的显示该部门全部员工信息,有着快速定位的作用。其中有基本的CRUD,还有一个搜索框能够查询到多个字段的信息。系统实现模块实现初始化主页面菜单项主页面菜单项是根据每个角色拥有不同权限进行生成相应的菜单功能。1、先根据登录成功的用户实例的外键rold_id字段去表sys_role中获取权限对象;2、然后根据权限对象获取菜单导航栏的id字符串;3、分割字符串,遍历每一个id从表sys_menu中获取菜单导航栏实例,并get到list集合中。4、遍历list集合,根据父节点来生成类似树的集合对象来存放菜单导航栏字符串集合,存放到Session域,回传前端进行遍历显示。 图6-1构建层级菜单系统参数管理功能实现系统参数用于枚举项目中有限个数的字典项,为了规范用户输入某些字段。比如员工根据客户方式有QQ、上门拜访、微信、电话跟进、短信跟进,而不可能有其他选择,只能系统管理员添加才会有额外选项。首先会先从数据库中的表param_sysparam_type准备系统参数类别集合,同时也准备数据库中的关联表param_sysparam存放各系统参数类别详细的分类集合。从数据库查询两个表,分别存放request域返回给前端进行遍历显示。图6-2遍历参数类别显示角色管理功能实现角色管理功能通过前端页面简洁明朗显示给系统管理员进行权限设置。点击“角色管理”,通过url发送到后台准备两个request域对象,一个是全部角色实例的list集合,用于初始化角色管理界面,另外是菜单选项树menustree,用于点击编辑角色的实现,初始化“角色添加”的菜单导航栏的显示,而且跟角色实例的childmenus的id字符串进行与菜单导航栏匹配,有包含相应的菜单导航栏实例的id,就会勾选相应的导航栏字符串。初始化页面如下图6.1 图6-3系统角色管理点击相应角色的编辑,显示不同角色拥有的权限选项,如图6.2所示 图6-4员工权限表单用jquery来灵活获取页面各标签对象,回显给前端,ajax则进行异步发送url给后台要数据再返回给前端,其中无需刷新页面,提高用户体验感。客户管理模块实现客户列表显示实现1、点击客户列表,从后台准备全部的客户信息list集合bywhere,存放到request域中响应给前端。2、同时页面加载时,触发ajax,去后台获取客户类型、客户级别,城市的json字符串,动态拼接进页面。同时准备员工实体类,用于添加客户时选择员工负责人。3、分页的实现使用到jquery插件,异步刷新页面,减少回传服务器步骤。4、智能搜索时候,前端post传递各种参数给后台,即使为空,都由struts2封装到CrmCustomeVobj对象中,传到dao层由Hibernate提供的方法查询,减少拼接sql语句中where条件,也正是使用Hibernate框架的一个好处。 图6-5省市联动JavaScript实现添加客户跟进实现点击客户跟进,通过uri传相应客户的id,后台通过id查询客户跟进表crm_follow,查询属于该id的全部跟进记录实体类,传回前端进行显示。在添加的时候,跟进方式会根据预先准备的数据字典进行拼接拉选框。图6-6点击添加客户跟进图6-7查询全部跟进记录合同订单模块实现订单管理模块添加订单添加订单,首先先添加该订单的基本信息,传入struts2进行传入到相应的action方法中,插入表crm_order新数据,然后重定向到查询全部订单信息实体的action方法,存入request域返回前端重新加载页面。图6-8新添加订单图 可以看到“请去添加产品”,说明添加订单只完成一半,还需要附加上产品才能真正意思说是订单。当在进行添加产品时候,选择产品是从父类到子类,再到孙类进行选择,通过ajax调用crm_cate接口动态的获取子类别,调用crm_prod接口获得子类别下的产品。选择数目,根据改产品记录的单价,总价会它们乘积。保存添加的产品到表表crm_order_details中,其中order_id字段时保存改订单编号。图6-9添加订单上的产品 产品管理模块实现产品类别管理 产品类别对管理对产品的详细分类,方便使用者快速找到相应产品。同样也是先后台准备从类别表查询的全部类别实例存放在request响应回前端,由前端进行操作,分页操作用jquery插件dataTables来实现。图6-10产品类别实例遍历系统测试测试方案概述本系统的测试方案主要是本地eclipse、tomcat、mysql下运行,然后在客户关系管理系统进行逐个功能性模块测试。测试计划与实施客户管理模块测试表7-1客户列表功能测试项目预期结果通过情况添加新客户会在列表置顶显示刚才添加的信息成功添加,并且能进行查看详细、进行编辑、删除操作点击相对应的客户跟踪编辑信息,将会在跟踪管理可以看到通过显示在表格上,,并且跟踪管理也能看到这条记录智能搜素根据各种查询项组合,能查找到预期结果成功表7-2联系人管理信息测试项目预期结果通过情况添加联系人根据页面显示的填写框,填写,在页面的表格中看到新添加的联系人信息可以在数据库看到该条记录,前端也可以显示出来 续7-2编辑联系人可以显示联系人的原有信息,修改值,前端可以看到修改后的值可以在数据库看到该条修改记录,前端也可以显示出来删除联系人前端没有要删除的记录,数据库的删除转态为0成功合同订单和财务管理模块表7-3合同管理功能测试项目预期结果通过情况添加合同按照填写,保存退出后,会在列表查看结果符合添加内容智能搜素根据各种查询项组合,能查找到预期结果成功表7-4订单管理功能测试项目预期结果通过情况生成一个订单在界面显示订单金额等都是零的字样数据库和前端都能够成功显示为新添加的订单,添加产品在订单操作的产品详细能看到添加的产品,并且订单金额会根据产品的多少来显示总金额成功编辑、查看详情能查看、修改订单成功表7-5收款管理测试项目预期结果通过情况 续7-5给订单添加一笔收款会根据添加的收款跟以前的已收款金额相加显示到前端成功查看相关订单产品详情显示出一个窗体,关于该订单的全部产品表格成功表7-6开票管理测试项目预期结果通过情况给订单添加一笔开发票记录会根据添加的发票金额跟以前的已开发票金额相加显示到前端成功产品管理模块表7-7产品管理测试项目预期结果通过情况对产品类别进行编辑、删除操作编辑内容立刻回显前端,删除会把相应产品类别删除成功对详细产品进行编辑和删除和添加相应操作会有相应的效果,并且数据库的表会有相关记录成功人事管理模块表7-8人事管理测试项目预期结果通过情况部门编辑、删除、和新建相应操作会有相应的效果,并且数据库的表会有相关记录成功职务岗位和员工的编辑、删除和新建相应操作会有相应的效果,

温馨提示

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

评论

0/150

提交评论