




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、湖南軟件職業(yè)學(xué)院畢業(yè)設(shè)計(jì) I 湖南軟件職業(yè)(zhy)學(xué)院 畢業(yè)設(shè)計(jì)(b y sh j) 畢業(yè)選題:基于JavaEE的客戶關(guān)系管理系統(tǒng)指導(dǎo)教師:謝鐘揚(yáng)學(xué)生姓名:楊相華院系名稱:軟件工程專業(yè)班級(jí):Java1304學(xué)生學(xué)號(hào):201302060417提交日期:2015年12月19日 III湖南軟件職業(yè)學(xué)院畢業(yè)設(shè)計(jì) 目 錄 TOC o 第一章 前言(qin yn) - 40 - - 1 -第一章 前言(qin yn)1.1系統(tǒng)的開發(fā)(kif)背景1.1.1客戶(k h)管理系統(tǒng)的發(fā)展隨著擴(kuò)大的市場(chǎng),企業(yè)之間出現(xiàn)了激烈的競(jìng)爭(zhēng),企業(yè)的角色的扮演對(duì)應(yīng)著企業(yè)的不同,各個(gè)企業(yè)相互之間有著許多的交流的信息、對(duì)不同情
2、況的異常的解決方案,第一個(gè)是對(duì)數(shù)據(jù)的動(dòng)態(tài)管理,第二個(gè)主要是對(duì)各種資料的靜態(tài)管理,對(duì)于一般的企業(yè)來說,它更加傾向于把各種雜亂無章的資料等進(jìn)行分類管理,所以,該javaEE的客戶關(guān)系管理系統(tǒng)在這種市場(chǎng)的沖擊下誕生了。對(duì)于企業(yè)來說,客戶是最重要的來源,因此,客戶的管理有了很多的技術(shù)支持,這時(shí),企業(yè)也應(yīng)尊重客戶的要求,同時(shí)對(duì)服務(wù)以及快速反饋等方面要求要更好,到來的科技時(shí)代,讓顧客有了更多的選擇的權(quán)利,顧客占據(jù)了首要地位,企業(yè)對(duì)客戶的關(guān)系進(jìn)行處理時(shí),對(duì)客戶的埋怨,問題等處于被動(dòng),在這樣的情形中,該系統(tǒng)于是產(chǎn)生了,什么是客戶的關(guān)系的管理呢?它是企業(yè)對(duì)于提高客戶對(duì)企業(yè)的滿意,展開的一項(xiàng)長(zhǎng)期的建立企業(yè)和客戶之
3、間的關(guān)系的任務(wù)。1.1.2客戶管理(gunl)的現(xiàn)狀客戶對(duì)于企業(yè)(qy)的發(fā)展是有著舉足輕重的,然而客戶又有著各種各樣的群體,比如有正在聯(lián)系的,即將要聯(lián)系的,同時(shí)客戶又可能分布于不同地方,屬于各種各樣的行業(yè)領(lǐng)域,因此,有著更加高效的管理措施成為了關(guān)鍵。而基于(jy)javaEE的客戶關(guān)系管理系統(tǒng)正是為了解決對(duì)客戶的高效的管理而出現(xiàn)的,該系統(tǒng)通過對(duì)各種各樣的消息進(jìn)行增刪改查等功能的實(shí)現(xiàn),對(duì)于提高管理客戶的管理效率,以及真實(shí)的數(shù)據(jù)性都有著很大的提高。1.2系統(tǒng)實(shí)現(xiàn)的目標(biāo)依據(jù)客戶管理需要完成的內(nèi)容,結(jié)合寬帶開通業(yè)務(wù)的實(shí)際需要,本系統(tǒng)要完成的主要的功能分析如下:根據(jù)閱讀客戶管理的文檔需求,該系統(tǒng)主要要
4、實(shí)現(xiàn)以下的功能。對(duì)客戶進(jìn)行添加。對(duì)系統(tǒng)進(jìn)行權(quán)限的分配,角色的不同對(duì)應(yīng)著相應(yīng)的權(quán)限營(yíng)銷管理。它包含了營(yíng)銷機(jī)會(huì)的管理以及對(duì)客戶進(jìn)行計(jì)劃的制定兩個(gè)功能模塊。對(duì)聯(lián)系人進(jìn)行管理,它是為了獲得和客戶之間的更多的交流,從而對(duì)工作的效率有了提升。 5. 服務(wù)的管理。在客戶的聯(lián)系人添加后,為了降低(jingd)客戶的流失,就應(yīng)當(dāng)對(duì)各種客戶的各種服務(wù)執(zhí)行分類處理。1.3系統(tǒng)(xtng)開發(fā)的意義該戶關(guān)系管理系統(tǒng)主要是對(duì)客戶進(jìn)行(jnxng)管理,它包含了客戶管理,服務(wù)管理等多種功能,有著簡(jiǎn)單的操作,可以幫助企業(yè)對(duì)客戶進(jìn)行不同的管理,它對(duì)于企業(yè)的銷售額的提升,客戶的忠誠(chéng)的提升有著重大的實(shí)際意義。 根據(jù)閱讀客戶管理的
5、文檔需求,該系統(tǒng)主要要實(shí)現(xiàn)以下的功能。對(duì)客戶進(jìn)行添加。對(duì)系統(tǒng)進(jìn)行權(quán)限的分配,角色的不同對(duì)應(yīng)著相應(yīng)的權(quán)限營(yíng)銷管理。它包含了營(yíng)銷機(jī)會(huì)的管理以及對(duì)客戶進(jìn)行計(jì)劃的制定兩個(gè)功能模塊。對(duì)聯(lián)系人進(jìn)行管理,它是為了獲得和客戶之間的更多的交流,從而對(duì)工作的效率有了提升。 5. 服務(wù)的管理。在客戶的聯(lián)系人添加后,為了降低客戶的流失,就應(yīng)當(dāng)對(duì)各種客戶的各種服務(wù)執(zhí)行分類處理。第二章 客戶(k h)管理系統(tǒng)分析2.1系統(tǒng)的設(shè)計(jì)(shj)目標(biāo)該系統(tǒng)運(yùn)用了運(yùn)用了常規(guī)的框架,能夠?qū)蛻暨M(jìn)行審查,消息的添加(tin ji)等,完成對(duì)客戶的處理、分析和維護(hù)系統(tǒng)等結(jié)構(gòu)的組成。以及一些常規(guī)的設(shè)置和數(shù)據(jù)庫(kù)管理等。2.2系統(tǒng)的可行性分析
6、2.2.1用戶群體與市場(chǎng)分析基于javaEE的客戶關(guān)系管理系統(tǒng)能為企業(yè)提供有效的管理客戶,它是以客戶為中心,能夠?qū)ζ髽I(yè)的銷售總額的提高,處理好與客戶之間的關(guān)系,加強(qiáng)與客戶親密的聯(lián)系的系統(tǒng)。該系統(tǒng)通過對(duì)客戶的有效管理,可以對(duì)企業(yè)的銷售總額的提高,對(duì)利潤(rùn)的改善,客戶的信任的提升,通過對(duì)客戶更多的了解,客戶消息的分享,提升客戶的作用,可以讓企業(yè)與客戶雙方都有很好的利潤(rùn)。本系統(tǒng)是一種用來處理企業(yè)和客戶的協(xié)調(diào)發(fā)展的管理系統(tǒng),它通過對(duì)客戶主動(dòng)的進(jìn)行了解,分析,并及時(shí)進(jìn)行反饋等,從而提高客戶對(duì)企業(yè)的信賴,增加企業(yè)的收入,都有著很重要的影響。從客戶的角度出發(fā),可以讓企業(yè)對(duì)客戶的擁有得到提升。2.2.2技術(shù)(j
7、sh)能力分析根據(jù)本系統(tǒng)的功能(gngnng)需求,采用ssh三大框架技術(shù)與oracle數(shù)據(jù)庫(kù)進(jìn)行開發(fā),使基于Web的應(yīng)用程序的開發(fā)(kif)變得迅速和容易。根據(jù)第三方結(jié)果,在千萬級(jí)的環(huán)境中依然保持較高的執(zhí)行速度。因此在技術(shù)層面上,是完全可行的。2.2.3可行性分析總結(jié)對(duì)市場(chǎng)以及企業(yè)對(duì)客戶的需求來看,本系統(tǒng)有著開發(fā)的實(shí)際意義,因此可行的。. 第三章 系統(tǒng)(xtng)的開發(fā)技術(shù)及主要架構(gòu)3.1開發(fā)技術(shù)的選擇(xunz)3.1.1 ssh編程技術(shù)struts2:它是基于mvc設(shè)計(jì)模式的框架。struts2不只是struts1下一個(gè)版本,它更是一個(gè)完全重寫的struts架構(gòu)。struts2的前端控制
8、器是一個(gè)FilterDispatcher,struts2對(duì)同一個(gè)路徑的每個(gè)請(qǐng)求分別使用一個(gè)獨(dú)立action實(shí)例對(duì)象,所有(suyu)對(duì)于struts2的action不用考慮線程安全問題,它有豐富的標(biāo)簽,支持i18n,提供了異常處理,權(quán)限控制等功能。spring:它是基于mvc設(shè)計(jì)模式的框架,它主要核心包含了控制反轉(zhuǎn)和依賴注入,控制反轉(zhuǎn)(IOC)的技術(shù)促進(jìn)了松耦合。當(dāng)應(yīng)用了IOC,一個(gè)對(duì)象依賴的其它對(duì)象會(huì)通過被動(dòng)的方式傳遞進(jìn)來,而不是這個(gè)對(duì)象自己創(chuàng)建或者查找依賴對(duì)象。依賴注入(DependencyInjection)特征是實(shí)現(xiàn)容器對(duì)Bean的管理。spring它最大作用就是替代EJB開發(fā)j2EE
9、,使得j2EE開發(fā)變得更加容易。hibernate:它是基于mvc設(shè)計(jì)模式的框架,hibernate是一種流行ORM框架。使用hibernate框架,不用寫JDBC代碼,僅僅是調(diào)用一個(gè)save方法就可以將對(duì)象保存到關(guān)系數(shù)據(jù)庫(kù)中,僅僅調(diào)用一個(gè)get方法,就可以從數(shù)據(jù)庫(kù)中加載出一個(gè)對(duì)象,從而簡(jiǎn)化了大量的代碼的編寫,它使用的基本流程是配置(pizh)Configuration對(duì)象產(chǎn)生(chnshng)sessionFactory產(chǎn)生(chnshng)session對(duì)象啟動(dòng)事物完成增刪改查(CRUD)操作關(guān)閉session使用hibernate時(shí),先要配置hibernate.cfg.xml文件,其中配
10、置數(shù)據(jù)庫(kù)連接信息和方言等,還要為每個(gè)實(shí)體配置相應(yīng)的hbm.xml文件,hibernate.cfg.xml文件中需要登記每個(gè)hbm.xml文件,除此之外,hibernate包含了session的緩存原理,級(jí)聯(lián),延遲加載和hql查詢等。3.1.2 oracle開源數(shù)據(jù)庫(kù)的開發(fā)oracle HYPERLINK /view/7809.htm t /_blank 數(shù)據(jù)庫(kù)系統(tǒng)是美國(guó)oracle公司(甲骨文)提供的以 HYPERLINK /view/68389.htm t /_blank 分布式數(shù)據(jù)庫(kù)為核心的一組軟件產(chǎn)品,是目前最流行的客戶/服務(wù)器(CLIENT/SERVER)或B/S HYPERLINK
11、/view/1188494.htm t /_blank 體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)之一。它的優(yōu)點(diǎn)為可用性強(qiáng)可擴(kuò)展性強(qiáng)數(shù)據(jù)安全性強(qiáng)穩(wěn)定性強(qiáng)3.1.3 javaEE編程技術(shù)javaEE也即j2EE是一個(gè)為企業(yè)分布式應(yīng)用的開發(fā)提供的標(biāo)準(zhǔn)平臺(tái),同時(shí)它也是一個(gè)框架,包含了JDBC,JNDI,RMI,EJB等技術(shù)。sun設(shè)計(jì)j2EE的初衷正是為了解決(jiju)兩層模式(client/server)的弊端20002001年Craig覺得web層可以使用MVC框架使該層開發(fā)更加容易,于是就有了struts,這一步是對(duì)原來(yunli)規(guī)范的很好實(shí)現(xiàn),并沒有產(chǎn)生質(zhì)的突破。20012003年Gavin覺得EJB連接數(shù)據(jù)的
12、部分有待改進(jìn),于是就有了hibernate,hibernate并沒有被規(guī)范束縛(shf),而是想怎么改就怎么改。20022004年Rod覺得類和類之間的依賴關(guān)系應(yīng)該改善,于是就有了spring,spring是為了讓javaEE規(guī)范更加易用,因此對(duì)其進(jìn)行了改造。在當(dāng)時(shí)看絕對(duì)是取其精華,去其糟粕。3.2開發(fā)工具和開發(fā)技術(shù)的選擇系統(tǒng)開發(fā)平臺(tái):Eclipse數(shù)據(jù)庫(kù)管理系統(tǒng)軟件:oracle運(yùn)行平臺(tái):Windows 2000/Windows XP/Windows 2003/Win7Java開發(fā)包:JDK6.0Web服務(wù)器:Tomcat 6.0本系統(tǒng)采用的ssh開發(fā)技術(shù):第四章 總體設(shè)計(jì)4.1系統(tǒng)(xtn
13、g)功能模塊設(shè)計(jì)(1).營(yíng)銷管理(gunl)功能結(jié)構(gòu)圖:圖4-1 營(yíng)銷(yn xio)管理(2)客戶管理(gunl)功能結(jié)構(gòu)圖: 圖4-2 客戶(k h)管理(3)服務(wù)管理(gunl)功能結(jié)構(gòu)圖: 圖4-3 服務(wù)(fw)管理服務(wù)(fw)處理流程: 4.2數(shù)據(jù)庫(kù)設(shè)計(jì)(shj)本系統(tǒng)主要(zhyo)的數(shù)據(jù)庫(kù)表的設(shè)計(jì)如下:1.客戶(k h)表圖4-4客戶表2.營(yíng)銷(yn xio)機(jī)會(huì)表圖4-5 營(yíng)銷(yn xio)機(jī)會(huì)表3.聯(lián)系人表圖4-6 聯(lián)系人表4.數(shù)據(jù)(shj)字典表圖4-7 數(shù)據(jù)字典表5.服務(wù)(fw)表圖4-8 服務(wù)(fw)表6.用戶(yngh)表圖4-9 用戶表7.角色表圖4-10 角色(
14、ju s)表8.權(quán)限(qunxin)表圖4-11 權(quán)限(qunxin)表第五章 詳細(xì)設(shè)計(jì)本系統(tǒng)的模塊分為客戶管理模塊,流失管理模塊,營(yíng)銷管理模塊,基礎(chǔ)數(shù)據(jù)以及(yj)服務(wù)管理模塊和用戶管理六個(gè)功能模塊。其中客戶管理主要用來管理和客戶相關(guān)的信息,營(yíng)銷管理包括了機(jī)會(huì)的管理和開發(fā)客戶兩個(gè)模塊,客戶流失(lish)模塊用來管理客戶的流失狀況,服務(wù)管理模塊用來對(duì)客戶的動(dòng)態(tài)進(jìn)行了解,滿足客戶的需求,服務(wù)管理模塊包括創(chuàng)建服務(wù),分配服務(wù),處理以及反饋和對(duì)服務(wù)的歸檔。用戶管理模塊包括對(duì)用戶的管理,對(duì)用戶權(quán)限的控制等功能。本項(xiàng)目(xingm)的大致結(jié)構(gòu)如圖5-1: 圖5-1項(xiàng)目(xingm)總體結(jié)構(gòu)圖5.1數(shù)據(jù)庫(kù)
15、連接(linji)本系統(tǒng)使用(shyng)三大框架之一的hibernate對(duì)數(shù)據(jù)庫(kù)來進(jìn)行連接,它主要是在dao層實(shí)現(xiàn)代碼的編寫。5.2登陸與權(quán)限模塊此模塊用于用戶的登陸驗(yàn)證與權(quán)限控制登陸界面如圖5-2:圖5-2 登陸(dng l)界面圖當(dāng)用戶名或密碼(m m)輸入出錯(cuò)時(shí)提示錯(cuò)誤信息,JSP代碼為:用戶(yngh)名密碼(m m)后臺(tái)(huti)數(shù)據(jù)接收(通過struts與spring控制找到請(qǐng)求的action類),其中model是在action類實(shí)現(xiàn)模型驅(qū)動(dòng)ModelDriven,通過反射得到具體的實(shí)體類。關(guān)鍵代碼如下所示:public abstract class ModelDrivenBa
16、seActionextends BaseAction implements ModelDrivenprotected T model;public ModelDrivenBaseAction()try/得到(d do)model的類型信息ParameterizedType pt=(ParameterizedType)this.getClass().getGenericSuperclass();Class clazz=(Class)pt.getActualTypeArguments()0;/通過反射生成(shn chn)model的實(shí)例model=(T)clazz.newInstance();c
17、atch(Exception e)throw new RuntimeException(e);public T getModel()return model;/*登錄(dn l)頁(yè)面*/public String loginUI()throws ExceptionreturnloginUI;/*登錄*/public String login()throws Exception/查詢CrmUser user=userService.getByLoginNameAndPassword(model.getUserName(),model.getUserPassword();if(user=null)
18、addFieldError(login,用戶或密碼不正確);returnloginUI;else/正確就登錄用戶ActionContext.getContext().getSession().put(user,user);returntoIndex;struts2的權(quán)限(qunxin)攔截器的配置:action層關(guān)鍵代碼:public class CheckPrivilegeInterceptor extends AbstractInterceptorpublic String intercept(ActionInvocation invocation)throws ExceptionCrmU
19、ser user=(CrmUser)ActionContext.getContext().getSession().get(user);/獲取當(dāng)前訪問的URL,并去掉當(dāng)前應(yīng)用程序的前綴(也就是namespaceName+actionName)String namespace=invocation.getProxy().getNamespace();String actionName=invocation.getProxy().getActionName();String privilegeUrl=null;if(namespace.endsWith(/)privilegeUrl=namespa
20、ce+actionName;elseprivilegeUrl=namespace+/+actionName;if(user=null)if(privilegeUrl.startsWith(userAction_login)/userAction_login,userAction_loginUI/如果是正在使用登錄(dn l)功能,就放行return invocation.invoke();else/如果不是去登錄(dn l),就轉(zhuǎn)到登錄頁(yè)面returnloginUI;/如果已登錄用戶(yngh)(就判斷權(quán)限)elseif(user.hasPrivilegeByUrl(privilegeUrl)
21、/如果有權(quán)限,就放行return invocation.invoke();else/如果沒有權(quán)限,就轉(zhuǎn)到提示頁(yè)面returnnoPrivilegeError;5.3營(yíng)銷管理營(yíng)銷的具體表現(xiàn)就是指對(duì)新客戶的開發(fā)。對(duì)分配給自己的機(jī)會(huì)可以進(jìn)行計(jì)劃的制定,計(jì)劃制定后,需要添加執(zhí)行計(jì)劃的開發(fā)效果,該功能是由客戶經(jīng)理完成。銷售機(jī)會(huì)在開發(fā)計(jì)劃結(jié)束后可以分為開發(fā)成功,和開發(fā)失敗。如果成功的進(jìn)行了開發(fā),那么就在數(shù)據(jù)庫(kù)添加一條客戶記錄。在JSP頁(yè)面顯示所有未分配的營(yíng)銷機(jī)會(huì),并且可以對(duì)他們進(jìn)行修改。營(yíng)銷(yn xio)管理界面如圖5-3圖5-3 營(yíng)銷(yn xio)列表圖模糊(m hu)查詢和分頁(yè)查詢:public
22、void findBy(CrmChance crmChance,Page page)private StringBuffer sql;sql=new StringBuffer(from CrmChance c where 1=1);/機(jī)會(huì)的idif(MyTools.isNotEmpty(crmChance.getChcId()sql.append(and c.chcId=+crmChance.getChcId();/客戶姓名if(MyTools.isNotEmpty(crmChance.getChcCustName()crmChance.setName(%+crmChance.getChcCu
23、stName()+%);sql.append(and c.chcCustName like:name);/概要if(MyTools.isNotEmpty(crmChance.getChcTitle()crmChance.setTitle(%+crmChance.getChcTitle()+%);sql.append(and c.chcTitle like:title);/聯(lián)系人if(MyTools.isNotEmpty(crmChance.getChcLinkman()crmChance.setMan(%+crmChance.getChcLinkman()+%);sql.append(and
24、c.chcLinkman like:man);/創(chuàng)建(chungjin)時(shí)間if(crmChance.getChcTotalDate()!=null&crmChance.getChcEndDate()!=null)String totalDate=crmChance.getChcTotalDate().toString();String endDate=crmChance.getChcEndDate().toString();StringtoStrings=totalDate.split();StringenStrings=endDate.split();sql.append(and c.ch
25、cCreateDate between to_date(+toStrings0+,yyyy-MM-dd)+and to_date(+enStrings0+,yyyy-MM-dd);/狀態(tài)(zhungti)if(MyTools.isNotEmpty(crmChance.getChcStatus()sql.append(and c.chcStatus like%+crmChance.getChcStatus()+%);sql.append(order by c.chcId desc);Query query=getSession().createQuery(sql.toString();query
26、.setProperties(crmChance);/獲得(hud)總記錄數(shù)page.setCount(query.list().size();/分頁(yè)查詢(chxn)query.setFirstResult(page.getCurrent()-1)*page.getSize();query.setMaxResults(page.getSize();page.setResults(query.list();銷售機(jī)會(huì)刪除:刪除時(shí)系統(tǒng)會(huì)給出提示消息,提示是否(sh fu)要?jiǎng)h除以及是否刪除成功。img title=刪除(shnch)src=images/bt_del.gifclass=op_butt
27、ononclick=delChange()/刪除營(yíng)銷機(jī)會(huì)function delChange(changeId)if(confirm(你確定要?jiǎng)h除嗎?刪除后將丟失某些數(shù)據(jù))location.href=chanceAction_delete?chcId=+changeId;alert(刪除成功);刪除時(shí)效果如圖5-4 所示:圖5-4 數(shù)據(jù)刪除時(shí)效果圖銷售機(jī)會(huì)(j hu)添加時(shí),對(duì)“未分配(fnpi)”的狀態(tài)下的機(jī)會(huì)能執(zhí)行刪除,分配后狀態(tài)改為已分配并且可以對(duì)計(jì)劃進(jìn)行制定。如果有客戶進(jìn)行了下單等操作,那么(n me)則說明客戶成功的進(jìn)行了開發(fā)。對(duì)客戶成功的進(jìn)行開發(fā)后,此時(shí)其狀態(tài)變更為“開發(fā)成功”。并
28、且把客戶記錄添加到數(shù)據(jù)庫(kù)。首先需要在jsp頁(yè)面導(dǎo)入struts2標(biāo)簽利用標(biāo)簽未指派已指派開發(fā)成功開發(fā)失敗a href=chanceAction_appointUI?chcId=a href=chanceAction_updateUI?chcId=img title=刪除src=images/bt_del.gifclass=op_buttononclick=delChange()/5.4客戶(k h)管理此模塊主要功能是對(duì)客戶(k h)進(jìn)行查詢和添加,修改。它包括對(duì)聯(lián)系人,客戶流失等的管理,功能頁(yè)面如圖5-5。圖5-5 客戶(k h)列表圖新建客戶時(shí),需要對(duì)表單的必填項(xiàng)進(jìn)行判斷,如果有未填的,則
29、給出提示,重新跳回到添加頁(yè)面,本系統(tǒng)是通過JQuery來驗(yàn)證是否添加為空,首先需要在JSP頁(yè)面引入其關(guān)鍵代碼如下:$(document).ready(function(e)/*客戶名稱*/$(#cust_name).blur(function()var$span=$(#cust_name).siblings(span);if($(#cust_name).val()=)$span.css(font-size,12px);$span.html(客戶名稱不能為空);return false;$span.html(););/*地區(qū)(dq)*/$(#cust_region).blur(function(
30、)var$span=$(#cust_region).siblings(span);if($(#cust_region).val()=-1)$span.css(font-size,12px);$span.html(請(qǐng)選擇(xunz)地區(qū));return false;$span.html(););/*客戶經(jīng)理*/$(#cust_manager_id).blur(function()var$span=$(#cust_manager_id).siblings(span);if($(#cust_manager_id).val()=-1)$span.css(font-size,12px);$span.ht
31、ml(請(qǐng)選擇(xunz)客戶經(jīng)理);return false;$span.html(););/*客戶等級(jí)*/$(#cust_level).blur(function()var$span=$(#cust_level).siblings(span);if($(#cust_level).val()=-1)$span.css(font-size,12px);$span.html(請(qǐng)選擇客戶等級(jí));return false;$span.html(););/*客戶(k h)滿意度*/$(#cust_satisfy).blur(function()var$span=$(#cust_satisfy).sibl
32、ings(span);if($(#cust_satisfy).val()=-1)$span.css(font-size,12px);$span.html(請(qǐng)選擇(xunz)客戶滿意度);return false;$span.html(););/*客戶(k h)信用度*/$(#cust_credit).blur(function()var$span=$(#cust_credit).siblings(span);if($(#cust_credit).val()=-1)$span.css(font-size,12px);$span.html(請(qǐng)選擇客戶信用度);return false;$span.
33、html(););/*地址*/$(#cust_addr).blur(function()var$span=$(#cust_addr).siblings(span);if($(#cust_addr).val()=)$span.css(font-size,12px);$span.html(地址不能為空);return false;$span.html(););/*郵政編碼(yu zhn bin m)*/$(#cust_zip).blur(function()var cust_zip=$(#cust_zip).val();var reg=/d6$/;var$span=$(#cust_zip).sib
34、lings(span);if(cust_zip=)$span.css(font-size,12px);$span.html(郵政編碼(yu zhn bin m)不能為空);return false;else if(reg.test(cust_zip)=false)$span.css(font-size,12px);$span.html(格式(g shi):414141);return false;else$span.html(););/*電話*/$(#cust_tel).blur(function()var cust_tel=$(#cust_tel).val();var reg=/0-93-0
35、-98$/;var$span=$(#cust_tel).siblings(span);if(cust_tel=)$span.css(font-size,12px);$span.html(電話不能為空);return false;else if(reg.test(cust_tel)=false)$span.css(font-size,12px);$span.html(格式(g shi);return false;else$span.html(););客戶(k h)流失當(dāng)客戶有六個(gè)月沒有進(jìn)行訂單(dn dn)操作時(shí),系統(tǒng)自動(dòng)提示消息,并將客戶狀態(tài)改為已經(jīng)流失,本功能模塊
36、分為,已經(jīng)流失,和暫緩流失,以及流失警告三種情況,而其可以通過添加狀態(tài)字段來實(shí)現(xiàn)對(duì)具體情況的判斷,其流失頁(yè)面如圖5-6:圖5-6 客戶流失列表圖客戶狀態(tài)判斷如圖5-7:圖5-7 客戶(k h)狀態(tài)圖關(guān)鍵(gunjin)代碼如下:流失(lish)警告暫緩流失已經(jīng)流失回歸正常a href=lostAction_detail?lostId=!-!-!-a href=get_lost?lost.lostId=&identifying=detail-!-!-a href=lostAction_affirmUI?lostId=a href=lostAction_deferUI?lostId=5.5服務(wù)(f
37、w)管理服務(wù)管理模塊主要功能是服務(wù)的創(chuàng)建以及對(duì)客戶服務(wù)的反饋,歸檔等進(jìn)行處理,當(dāng)服務(wù)創(chuàng)建后可以對(duì)其進(jìn)行分配,然后對(duì)分配的服務(wù)進(jìn)行處理,處理后再進(jìn)行反饋,反饋后根據(jù)客戶的滿意度是否大于3來判斷是否需要進(jìn)行歸檔。當(dāng)大于3時(shí)服務(wù)狀態(tài)變更為已歸檔,否則狀態(tài)為已分配,其頁(yè)面如圖5-8圖5-8 服務(wù)分配頁(yè)面圖部分代碼如下:/* * 創(chuàng)建服務(wù) * return */public String add()CrmDict crmDict=dictService.getById(crmService.getCrmDictBySvrType().getDictId();crmService.setCrmDictBy
38、SvrType(crmDict);CrmCustomer crmCustomer=customerService.getById(crmService.getCrmCustomer().getCustId();crmService.setCrmCustomer(crmCustomer);crmService.setSvrCustName(crmCustomer.getCustName();serviceDao.save(crmService);message=服務(wù)(fw)創(chuàng)建成功;pathJump=serviceAction_addUI;return SUCCESS;/* * 分配(fnpi)
39、服務(wù) * return */public String appointto()CrmUser user=(CrmUser)ActionContext.getContext().getSession().get(user);/得到當(dāng)前(dngqin)登錄用戶if(user.getRole().getRoleName().equals(銷售主管)crmService=serviceDao.getById(crmService.getSvrId();crmService.setSvrStatus(已分配);serviceDao.update(crmService);serviceDao.save(c
40、rmService);message=服務(wù)分配(fnpi)成功;pathJump=serviceAction_list?flag=handle;return SUCCESS;else/不是銷售主管不具有(jyu)此種權(quán)利message=操作失敗,您不具備(jbi)此權(quán)利;pathJump=serviceAction_list?flag=create;return SUCCESS;/* * 服務(wù)處理 * return */public String handle()CrmUser user=(CrmUser) ActionContext.getContext().getSession().get
41、(user);/得到當(dāng)前登錄用戶crmService=serviceDao.getById(crmService.getSvrId();crmService.setSvrDueName(DealName);crmService.setSvrDealName(user.getUserName();/處理人serviceDao.update(crmService);serviceDao.save(crmService);ActionContext.getContext().put(crmService, crmService);message=服務(wù)處理成功;pathJump=serviceActi
42、on_list?flag=feedback;return SUCCESS;第六章 系統(tǒng)測(cè)試(csh)與難點(diǎn)分析6.1系統(tǒng)運(yùn)行(ynxng)的環(huán)境搭建本系統(tǒng)使用tomcat作為服務(wù)器,使用win7作為開發(fā)(kif)的環(huán)境。6.2系統(tǒng)(xtng)的測(cè)試分析通常,軟件測(cè)試分為白盒測(cè)試、黑盒測(cè)試:1.白盒測(cè)試測(cè)試員通過訪問程序員的代碼,并通過檢查代碼來協(xié)助測(cè)試。多在單元測(cè)試中采用,用于測(cè)試模塊中所有可能的路徑,執(zhí)行所有循環(huán)并測(cè)試所有邏輯表達(dá)式。2.黑盒測(cè)試側(cè)重于軟件的整體功能?;谙到y(tǒng)功能,而非程序的內(nèi)部結(jié)構(gòu),從用戶角度出發(fā)。本系統(tǒng)主要是使用junit單元測(cè)試,它測(cè)試的是dao層的單個(gè)方法,這樣可以在
43、整個(gè)程序部署前就提前發(fā)現(xiàn)程序中的bug,而不必在整個(gè)程序?qū)懲炅瞬胚M(jìn)行測(cè)試,使用時(shí)只需要在方法上加上Test用單元測(cè)試運(yùn)行就行。本論文對(duì)該系統(tǒng)進(jìn)行了白盒測(cè)試,部分測(cè)試如下:3.測(cè)試sessionFactoryTestpublic void testsessionFactory()throws ExceptionPrivateApplicationContextac=new ClassPathXmlApplicationContext(applicationContext.xml);sessionFactory sessionFactory=(sessionFactory)ac.getBean(s
44、essionFactory);System.out.println(sessionFactory);4.測(cè)試(csh)事務(wù)Testpublic void testTransaction()throws ExceptionTestService testService=(TestService)ac.getBean(testService);testService.saveTwoUsers();經(jīng)過(jnggu)單元測(cè)試,總結(jié)如下:系統(tǒng)(xtng)的配置環(huán)境正確,沒有出現(xiàn)環(huán)境配置錯(cuò)誤。測(cè)試的代碼段的功能無異常,有利于進(jìn)行下一步代碼功能的編寫,使代碼出錯(cuò)時(shí)機(jī)從運(yùn)行階段提前到了編譯階段,減少了代碼出錯(cuò)的幾率。結(jié) 論在本客戶關(guān)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園環(huán)境創(chuàng)設(shè)家長(zhǎng)參與2025年度合作協(xié)議
- 二零二五年度劇院包場(chǎng)合同-電影院租賃年度文化合作協(xié)議
- 2025年度跨境電商平臺(tái)國(guó)際人才招聘與派遣合同
- 二零二五年度茶山租賃及茶葉種植與農(nóng)業(yè)觀光旅游開發(fā)合同
- 二零二五年度商業(yè)街房地產(chǎn)招商代理執(zhí)行協(xié)議
- 2025年度金融科技股權(quán)分紅與風(fēng)險(xiǎn)防范協(xié)議
- 二零二五年度健身房浴室共享租賃合同范本
- 二零二五年度物業(yè)公司員工職業(yè)發(fā)展規(guī)劃合同
- 二零二五年度雇主免責(zé)協(xié)議書:網(wǎng)絡(luò)安全防護(hù)責(zé)任免除合同
- 2025年度煙草店店鋪轉(zhuǎn)讓與品牌形象統(tǒng)一化及區(qū)域市場(chǎng)拓展合同
- 報(bào)驗(yàn)申請(qǐng)表模板
- 《中外廣播電視史》課件
- 北京四中英語教學(xué)觀
- 小學(xué)生主題班會(huì) 我能傾聽不插嘴 課件(共21張PPT)
- 兒童感覺統(tǒng)合講座課件
- 采購(gòu)員崗位月度KPI績(jī)效考核表
- 山地光伏施工方案
- 六年級(jí)心理健康ppt名師優(yōu)質(zhì)課獲獎(jiǎng)市賽課一等獎(jiǎng)?wù)n件
- 四川輕化工大學(xué)
- 六西格瑪質(zhì)量管理在口腔科器械管理中的作用
- 高中心理健康教育-認(rèn)識(shí)自我悅納自我教學(xué)課件設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論