服务项目管理系统

上传人:45****2h 文档编号:154065816 上传时间:2022-09-20 格式:DOCX 页数:47 大小:207.82KB
收藏 版权申诉 举报 下载
服务项目管理系统_第1页
第1页 / 共47页
服务项目管理系统_第2页
第2页 / 共47页
服务项目管理系统_第3页
第3页 / 共47页
资源描述:

《服务项目管理系统》由会员分享,可在线阅读,更多相关《服务项目管理系统(47页珍藏版)》请在装配图网上搜索。

1、服务项目目管理系系统 设计说明明书1 软件件背景111.1 可行性性分析221.1.1 功功能可行行性21.1.2 经经济可行行性21.1.3 管管理可行行性22 软件件概述及及设计方方案3软件构架架图7功能结构构分析773 针对对软件的的各功能能模块做做具体的的设计描描述及附附注相关关设计结结果83.1 服务产产品管理理83.1.1 功功能简介介83.1.2 功功能说明明93.1.3 数数据表设设计93.2 服务方方案管理理93.2.1 功功能简介介93.2.2 功功能说明明103.2.3 数数据表设设计1003.3 培训管管理1113.3.1 功功能简介介113.3.2 功功能说明明113

2、.3.3 数数据表设设计1111 软件背景景系统的背背景是:近年来来,随着着it服服务行业业的发展展,对服服务项目目管理方方面产生生了很大大需求,针针对此需需求提出出开发服服务项目目管理系系统的必必要,可以实实现出更更多的用用途或满满足更多多需要。与与原有技技术相比比所体现现出方便便快捷优优势。服服务项目目管理系系统是服服务项目目管理软软件的通通俗化名名称,服服务项目目管理系系统是服服务产品品管理、服务方方案管理理,培训训管理统统计销售售业绩的的先进工工具,适适合企业业管理部门门办公使使用,协协助方案案经理和和方案人员员快速管管理客户户、服务务和业务务的重要要数据。服务项目管理系统是典型的信息

3、管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。1.1 可行性分分析1.1.1 功能可行行性1) 系统完整整性:整整个服务务项目管管理系统统具备系系统设计计的科学学合理性性,方案案管理信信息录入入,修改改,删除除及学生生成绩的的查询等等功能符符合学校校对学生生的管理理要求,满足了了相关人人员对信信息管理理的要求求,适用用于复杂杂的学生生管理,因而达达到了设设计任务务的要求求.2) 系统的可可靠性:该系统统可靠性性高,能能无故障障正常的的工作,当出现现

4、异常情情况是还还采取了了一些防防止系统统破坏的的方法和和措施,如密码码保存,数据备备份等.3) 系统的效效率:与与旧系统统相比,减轻了了许多重重复的繁繁琐的劳劳动和手手工计算算量,抄抄写量,在对学学生成绩绩进行评评价和统统计方面面效率提提高了不不少.4) 系统的工工作质量量:学生生管理系系统所提提供数据据的精确确度,输输出结果果的易读读性都能能达到用用户要求求,使用用方便,使学生生管理工工作变得得轻松,有序而而有效.5) 系统的灵灵活性:系统的的环境是是不断变变化的,因而该该学生管管理系统统具有一一定的扩扩充性,修改信信息方便便简易,能够、适适应环境境的变化化.1.1.2 经济可行行性6) 减

5、少资金金占用.由于实实施了服服务项目目管理系系统,资资源得到到了充分分利用,减少和和避免了了资金的的使用不不当.7) 缩短查询询时间.由于采采用新技技术,大大大缩短短了查询询时间,推进了了管理水水平.8) 减少人员员.由于于实施该该系统,在总体体工作质质量上升升的情况况下,可可减少一一半管理理人员,减少工工资奖金金等支出出.1.1.3 管理可行行性各个方案案的管理理人员可可以对管管理方案案进行编编辑,添添加,删删除各培训管管理人员员可对培培训方案案进行编编辑,添添加删除除,实现现了管理理上的角角色分配配,普通通用户只只能对方方案和培培训课程程进行查查看2 软件概述述及设计计方案服务项目目管理系

6、系统系统统应用于于it服服务项目目管理方方面,采采用了HHesssiann 、 HtttpInnvokker 、 XXFirre 、 Axiis 等等多种形形式的远远程调用用技术,实现了了服务端端生成骨骨架,对对外暴露露服务;客户端端生成服服务代理理,访问问调用服服务等技术特特点及各各功能模模块。在现代 J2EEE 企企业应用用系统中中,存在在着 HHesssiann 、 HtttpInnvokker 、 XXFirre 、 Axiis 等等多种形形式的远远程调用用技术。尽尽管有 Sprringg 等框框架对这这些技术术进行了了封装,降降低了使使用的复复杂度,但但对普通通程序员员而言仍仍是复杂

7、杂的至少需需要要掌掌握这些些技术的的基础知知识。 无论使用用那种技技术,其其基本原原理都是是一样的的:服务务端生成成骨架,对对外暴露露服务;客户端端生成服服务代理理,访问问调用服服务。通通常情况况下,生生成服务务代理的的代价比比较高昂昂,这也也是我们们第一次次访问远远程服务务速度比比较慢的的原因,为为每个请请求生成成新的服服务代理理恐怕不不是我们们所期望望的。更更何况,如如果采用用这种方方式,就就要在代代码里针针对各种种不同的的技术(如如 XFFiree 、 HtttpInnvokker )编写写不同的的服务生生成和调调用的处处理代码码。不仅仅麻烦,而而且容易易出错。我我想,没没有人愿愿意去直

8、直接操作作各种框框架技术术的底层层代码,这这并不是是一个好好注意! 作为一种种替代方方案,我我们设计计了一个个“服务务池”的的功能,或或者说“服服务工厂厂”更贴贴切一点点。针对 HHttppInvvokeer 、 XFiire 、 HHesssiann 等各各种远程程调用技技术,抽抽象出一一个“远远程服务务池”(服服务工厂厂)既 RemmoteeSerrviccePoool 接口。该该接口提提供了获获取服务务及一些些其他的的辅助功功能,并并针对 HtttpInnvokker 、 XXFirre 、 Hesssiaan 等等不同技技术提供供了相应应的具体体实现。采采用这种种方式,开开发人员员只需

9、在在代码中中“注入入” RRemooteSServviceePoool ,并并以统一一的方式式(如 gettSerrvicce() )获获取实际际的服务务,只是是针对不不同技术术在配置置上有些些须差异异而已。该该技术的的原理非非常简单单,在应应用启动动之前把把所有存存在的服服务提供供者提供供的服务务都配置置好,并并为它们们分配一一个唯一一的 IID 。应应用启动动之后,框框架会自自动生成成和这些些地址相相对应的的服务代代理( SerrviccePrroxyy ),这这些代理理已经是是可用的的服务,服服务获取取的细节节被完全全屏蔽掉掉,开发发者只要要知道如如何从 RemmoteeSerrvicc

10、ePoool 中获取取服务就就可以了了。该方案还还为“双双向关联联”的系系统服务务提供了了一个很很好解决决办法。看看下面一一张图:如图,系系统 BB 和系系统 CC 都调调用系统统 A 进行付付款操作作;同时时系统 A 要要用远程程服务向向系统 B 或或系统 C 进进行认证证操作,认认证操作作的接口口(契约约)都是是一样的的,业务务逻辑可可能有所所差异。在在这种情情况下,配配置在系系统 AA 中的的认证服服务就比比较麻烦烦,因为为要根据据不同的的系统调调用认证证服务,既既从 BB 过来来的请求求要访问问 B 的认证证服务,从从 C 过来的的请求要要访问 C 的的认证服服务。用用服务池池可以很很

11、好的解解决这个个问题,把把两个系系统( B 、 C )提提供的认认证服务务地址都都配置在在同一个个服务池池中,根根据不同同的 IID (如如 B 、 CC )来来决定使使用那个个系统的的服务。尽管服务务池解决决了一些些问题,在在某种程程度上降降低了复复杂度,但但仍存在在如下一一些问题题: 服务务的运行行期动态态注册 服务务的自动动注入( IoCC ) 透明明化服务务 IDD 的传传递 在服务池池( SServviceePoool )概概念的基基础上进进行扩展展,我们们得出了了如下的的系统模模型: 在核心位位置上是是一个服服务中心心资源库库( SServviceeRepposiitorry ),

12、存存储了系系统中用用到的所所有的远远程服务务。服务务采取动动态注册册的机制制,由对对外提供供的服务务注册器器( SServviceeReggistter )提供供服务注注册功能能。外部部系统可可以实现现该接口口向资源源中心注注册服务务。提供供了一个个启动时时运行的的注册器器,可以以把静态态配置在在系统中中的服务务都注册册进来。 服务的的生成、管管理等均均由服务务中心自自己维护护,委托托服务代代理生成成器( SerrviccePrroxyyGenneraatorr )完完成服务务的创建建。可以以针对现现有的远远程调用用方式,如如 XFFiree,HtttpIInvookerr,Heessiian

13、 等创建建服务代代理,也也可以针针对自己己定义的的远程调调用方式式创建服服务代理理,由 CusstommSerrviccePrroxyyGenneraatorr完成该该功能。 一个服服务模型型包括 5 个个因素: 服务务接口 serrvicceCllasss 服务务 IDD seerviiceIId 服务务类型 serrvicceTyype 服务务地址 serrvicceUrrl 附加加属性 proops 查找一个个服务需需要两个个因素,一一个是服服务接口口,另一一个是服服务 IID 。这这两个因因素共同同决定了了一个服服务,既既服务中中心内部部的“服服务 IID ”。通通过这种种方式,可可以

14、允许许存在多多个 IID 相相同但接接口不同同的服务务,也可可以存在在多个接接口相同同但 IID 不不同的服服务。 服务 IID 的的获取是是系统中中一个关关键的功功能,这这部分对对程序员员来说应应该是透透明的,由由系统自自己维护护。相应应的提供供了一个个服务 ID 提供者者 (SServviceeIdPProvvideer) 接口,由由实现该该接口的的子类完完成服务务 IDD 获取取功能(这这是比较较关键的的地方,需需要特殊殊考虑)。设计方案案服务产品品管理是是可以在在此模块块中维护护公司所所能提供供的服务务产品。方案人员可以浏览服务产品列表,并且在查询区域输入适当的查询条件进行查询。服务产

15、品除了一些基本信息外,还包括服务产品文档,负责人可以随意为服务产品添加产品文档。服务方案案管理是是商机在在立项以以后都会会给客户户提供方方案,此此模块就就是用以以维护服服务方案案数据的的。服务务方案除除了基本本信息以以外还包包括方案案正文,方方案PPPT和方方案预算算表。方方案人员员除了方方案预算算表外,其其它的数数据都可可以维护护和查看看。商务务人员对对所有服服务方案案可见,并并且可以以查看和和更新每每个方案案的方案案预算表表。公司司领导可可以查看看所有服服务方案案。培训管理理是培训负负责人维维护各自自负责的的培训课课程(CCourrse)。培培训课程程数据的的查询功功能向全全体员工工开放,

16、每每个员工工都可以以查看公公司所提提供的培培训课程程,下载载课程培培训文档档。员工工还可以以登录系系统查看看近期安安排的培培训日程程,并且且报名培培训。当当培训结结束后,培培训负责责人可以以给每个个学员维维护他们们的完成成状态(参参加,或或缺席)。软件构架架图功能结构构分析服务项目管理系统服务产品管理服务方案管理培训管理服务产品详情服务产品的修改培训课程显示培训课程的修改角色分配培训课程查看培训课程的修改3 针对软件件的各功功能模块块做具体体的设计计描述及附附注相关关设计结结果3.1 服务产品品管理3.1.1 功能简介介每个方案案人员可可以在此此模块中中维护公公司所能能提供的的服务产产品。方方

17、案人员员可以浏浏览服务务产品列列表,并并且在查查询区域域输入适适当的查查询条件件进行查查询。针针对查询询结果,还还可以对对服务产产品数据据进行添添加,删删除,修修改等操操作,每每个服务务产品都都会有一一个负责责人,每每个服务务产品只只能由负负责人进进行删除除或修改改,其它它人员只只能进行行查看。服服务产品品除了一一些基本本信息外外,还包包括服务务产品文文档,负负责人可可以随意意为服务务产品添添加产品品文档。服服务产品品应该同同时向所所有公司司员工开开放,全全员可以以查看并并学习。3.1.2 功能说明明 服务产品品详情 服务产品品的管理理,添加加,删除除,修改改3.1.3 数据表设设计表名:ss

18、_seerviice_prooducct服务务产品显示名称称字段名称称字段类型型NULLLPK/FFK备注产品编号号servvicee_prroduuct_idVARCCHARR(100)NOT NULLLPK应用程序序赋值(4产品类别字母3位流水号)产品名称称servvicee_sooluttionn_naameVARCCHARR(500)NOT NULLL产品类别别servvicee_prroduuct_typpeVARCCHARR(200)NOT NULLL产品负责责人servvicee_prroduuct_ownnerVARCCHARR(5)NOT NULLLFK( s_eempllo

19、yeee: empp_noo )产品审核核人servvicee_prroduuct_appprovverVARCCHARR(5)NULLLFK( s_eemplloyeee: empp_noo )创建日期期creaate_dattedateeNOT NULLL备注notaatioonVARCCHARR(1000)NULLL3.2 服务方案案管理3.2.1 功能简介介每个商机机在立项项以后都都会给客客户提供供方案,此此模块就就是用以以维护服服务方案案数据的的。方案案人员可可以添加加,删除除,修改改服务方方案,并并且可以以浏览和和查询已已有的服服务方案案。服务务方案除除了基本本信息以以外还包包括方

20、案案正文,方方案PPPT和方方案预算算表。方方案人员员除了方方案预算算表外,其其它的数数据都可可以维护护和查看看。方案案总监同同样可以以对服务务方案数数据进行行增加,删删除,修修改和查查询,并并且对每每个服务务方案的的所有属属性可见见,包括括方案预预算表。商商务人员员对所有有服务方方案可见见,并且且可以查查看和更更新每个个方案的的方案预预算表。公公司领导导可以查查看所有有服务方方案。3.2.2 功能说明明 客户方案案的提供供 管理员对对客户方方案的修修改 不同人对对方案的的查看3.2.3 数据表设设计表名:ss_seerviice_sollutiion服服务方案案显示名称称字段名称称字段类型型

21、NULLLPK/FFK备注方案编号号servvicee_sooluttionn_iddVARCCHARR(100)NOT NULLLPK与商机编编号一致致方案名称称servvicee_sooluttionn_naameVARCCHARR(500)NOT NULLL方案日期期servvicee_sooluttionn_daatedateeNOT NULLL方案负责责人servvicee_sooluttionn_owwnerrVARCCHARR(5)NOT NULLLFK( s_eemplloyeee: empp_noo )方案审核核人servvicee_sooluttionn_appproove

22、rrVARCCHARR(5)NULLLFK( s_eemplloyeee: empp_noo )方案满意意度conttentt_deegreee_ssaleeintNULLL上级满意意度conttentt_deegreee_lleadderintNULLL方案正文文servvicee_sooluttionn_fiileintNULLLFK( s_ccommmon_fille: fille_iid )方案PPPTservvicee_sooluttionn_ppptintNULLLFK( s_ccommmon_fille: fille_iid )项目预算算表budgget_filleintNULL

23、LFK( s_ccommmon_fille: fille_iid )项目人员员成本预预算budgget_amoounttintNOT NULLL默认值:03.3 培训管理理3.3.1 功能简介介培训负责责人维护护各自负负责的培培训课程程(Cooursse)。在在培训课课程维护护界面,培培训负责责人可以以增加,删删除,修修改,浏浏览和查查询培训训课程。培培训负责责人不能能访问其其他培训训负责人人负责的的培训课课程。除除此之外外,培训训课程数数据的查查询功能能向全体体员工开放放,每个个员工都都可以查查看公司司所提供供的培训训课程,下下载课程程培训文文档。培训负责责人还可可以安排排具体的的培训日日程

24、。每每个培训训日程包包括培训训课程,报报名截止止时间,开开课时间间,报名名人数,培培训地点点等属性性。培训训负责人人可以创创建,删删除,修修改,浏浏览和查查询培训训日程。同同时员工工还可以以登录系系统查看看近期安安排的培培训日程程,并且且报名培培训。如如果尚未未到达报报名截止止日期,允允许员工工撤销培培训报名名。培训训负责人人还可以以管理培培训日程程的进度度:培训训负责人人可以查查看报名名学员的的列表;到了培培训报名名截止日日期时,培培训负责责人可以以给每个个员工“发送培培训通知知”;当培培训结束束后,培培训负责责人可以以给每个个学员维维护他们们的完成成状态(参参加,或或缺席)。3.3.2 功

25、能说明明 培训课程程信息的的查看 培训课程程信息的的修改 培训负责责人的特特权3.3.3 数据表设设计表名:ss_cooursse培训训课程显示名称称字段名称称字段类型型NULLLPK/FFK备注课程编号号courrse_idVARCCHARR(100)NOT NULLLPK应用程序序赋值(1位课程类别3位流水号)课程类别别courrse_typpeVARCCHARR(100)NOT NULLL课程名称称courrse_nammeVARCCHARR(500)NOT NULLL培训方式式traiininng_mmodeeVARCCHARR(300)NOT NULLL课程创建建日期courrse_

26、creeatee_daatedateeNOT NULLL人均培训训费用costt_peer_ttraiineeeintNOT NULLL课程讲师师courrse_traaineerVARCCHARR(5)NULLLFK( s_eemplloyeee: empp_noo )培训负责责人courrse_ownnerVARCCHARR(5)NOT NULLLFK( s_eemplloyeee: empp_noo )教材mateeriaal_iidintNULLLFK( s_ccommmon_fille: fille_iid )表名:ss_leessoon培训训日程显示名称称字段名称称字段类型型NUL

27、LLPK/FFK备注培训日程程IDlessson_idVARCCHARR(200)NOT NULLLPK应用程序序赋值(4位课程编号3位流水号)课程编号号courrse_idVARCCHARR(100)NOT NULLLFK( s_ccourrse: cooursse_iid )报名截止止时间signn_upp_ennd_ddateedateeNOT NULLL报名人数数inteendeed_aatteendaanceeintNOT NULLL默认值:0已报名人人数reall_atttenndannceintNOT NULLL默认值:0开课时间间lessson_beggin_dattedate

28、eNOT NULLL结束时间间lessson_endd_daatedateeNOT NULLL授课地点点lessson_plaaceVARCCHARR(500)NOT NULLL课程讲师师lessson_traaineerVARCCHARR(5)NULLLFK( s_eemplloyeee: empp_noo )培训负责责人lessson_ownnerVARCCHARR(5)NOT NULLLFK( s_eemplloyeee: empp_noo )备注notaatioonVARCCHARR(1000)NULLL表名:ss_leessoon_ttraiineee培训名名单显示名称称字段名称称字

29、段类型型NULLLPK/FFK备注培训学员员IDlessson_traaineee_iidintNOT NULLLPK数据库自自动增长长ID培训日程程IDlessson_idVARCCHARR(200)NOT NULLLFK( s_llessson: leessoon_iid )培训负责责人traiineee_noointNOT NULLLFK( s_eemplloyeee: empp_noo )完成情况况feeddbacckVARCCHARR(1000)NULLL代码:packkagee coom.llenoovoaai.nniceemiss.weeb.aactiion;impoort or

30、gg.spprinngfrrameeworrk.wweb.strrutss.AcctioonSuuppoort;impoort orgg.appachhe.sstruuts.acttionn.AcctioonFoorwaard;impoort orgg.appachhe.sstruuts.acttionn.AcctioonMaappiing;impoort orgg.appachhe.sstruuts.acttionn.AcctioonFoorm;impoort javvax.serrvleet.hhttpp.HtttpSServvlettReqquesst;impoort javvax.se

31、rrvleet.hhttpp.HtttpSServvlettRessponnse;impoort javvax.serrvleet.hhttpp.HtttpSSesssionn;impoort orgg.spprinngfrrameeworrk.cconttextt.ApppliicattionnConntexxt;impoort comm.leenovvoaii.niicemmis.serrvicce.*;impoort comm.leenovvoaii.niicemmis.moddel.*;impoort comm.leenovvoaii.niicemmis.moddel.seccurii

32、ty.*;impoort comm.leenovvoaii.niicemmis.utiil.*;impoort javva.uutill.*;/* * TTitlle: * DDesccripptioon: * CCopyyrigght: Coopyrrighht (c) 20005 * CComppanyy: * autthorr noot aattrribuutabble * verrsioon 11.0 */publlic claass FinndSeerviicePProdducttsFoorAlllAcctioon exttendds AActiionSSuppportt pubbl

33、icc AcctioonFoorwaard exeecutte(AActiionMMapppingg maappiing, AcctioonFoorm forrm, HHttppSerrvleetReequeest reqquesst, HHttppSerrvleetReespoonsee reespoonsee) tthroows Exccepttionn /colllecct pparaametterss foor bbusiinesss llogiic HtttpSSesssionn htttpSSesssionn = reqquesst.ggetSSesssionn(trrue); S

34、eecurrityyDettaills ssd = (SSecuurittyDeetaiils) htttpSSesssionn.geetAtttriibutte( SSecuurittyDeetaiils.SECCURIITY_DETTAILLS_KKEY); Sttrinng sservviceeProoducctIdd = (Sttrinng) reqquesst.ggetPParaametter(seerviicePProdducttId); Sttrinng sservviceeProoducctNaame = (Strringg) rrequuestt.geetPaarammete

35、er(serrviccePrroduuctNNamee); Sttrinng sservviceeProoducctTyype = (Strringg) rrequuestt.geetPaarammeteer(serrviccePrroduuctTTypee); Sttrinng sservviceeProoducctOwwnerrNamme = (SStriing) reequeest.gettParrameeterr(sservviceeProoducctOwwnerrNamme); Sttrinng yyearr = (Sttrinng) reqquesst.ggetPParaamett

36、er(yeear); innt iiPaggeSiize = ggetPPageeSizze(rrequuestt); innt iiPaggeNoo = gettPaggeNoo(reequeest); SeerviicePProdducttQueeryOObj queeryOObj = nnew SerrviccePrroduuctQQuerryObbj(); quueryyObjj.seetCuurreentUUserrEmppNo( sdd.geetUsserIInfoo().gettEmppNo() ); quueryyObjj.seetSeerviicePProdducttId(s

37、errviccePrroduuctIId); quueryyObjj.seetSeerviicePProdducttNamme(sservviceeProoducctNaame); quueryyObjj.seetSeerviicePProdducttTyppe(sservviceeProoducctTyype); quueryyObjj.seetSeerviicePProdducttOwnnerNNamee(seerviicePProdducttOwnnerNNamee); quueryyObjj.seetYeear( yeear ); ApppliicattionnConntexxt cc

38、onttextt = gettWebbApppliccatiionCConttextt(); ISServviceeProoducctSeerviice serrviccePrroduuctSServvicee = (ISServviceeProoducctSeerviice) coonteext.gettBeaan( serrviccePrroduuctSServvicee); PaageIInfoo paageIInfoo = neww PaageIInfoo(); trry ppageeInffo = seerviicePProdducttSerrvicce.ffinddSerrvicc

39、ePrroduuctssForrAlll(iPPageeSizze, iPaageNNo, queeryOObj); caatchh (EExceeptiion ex) rrequuestt.seetAtttriibutte(feeedbaack, eex.ggetMMesssagee(); reequeest.settAtttribbutee(ppageeInffo, paageIInfoo); reeturrn mmapppingg.fiindFForwwardd(ssucccesss); intt geetPaageSSizee(HtttpSServvlettReqquesst rreq

40、uuestt) innt iiPaggeSiize = 00; Sttrinng sstrPPageeSizze = nuull; sttrPaageSSizee = (Sttrinng) reqquesst.ggetPParaametter(paageSSizee); iff (sstrPPageeSizze = nnulll | sttrPaageSSizee.eqqualls() iiPaggeSiize = CConsstannt.ggetCConPPageesizze(); / ellse ttry iPaageSSizee = Inttegeer.pparsseInnt(sstrP

41、PageeSizze); ccatcch (Exccepttionn exx) iPaageSSizee = Connstaant.gettConnPaggesiize(); / Sysstemm.ouut.pprinntlnn( DDeveelopper Debbug Logg: paageSSizee paarammeteer iis iincoorreect! ); reeturrn iiPaggeSiize; intt geetPaageNNo(HHttppSerrvleetReequeest reqquesst) innt iiPaggeNoo = 0; Sttrinng sstrP

42、PageeNo = nnulll; sttrPaageNNo = (SStriing) reequeest.gettParrameeterr(ppageeNo); iff (sstrPPageeNo = nulll | sstrPPageeNo.equualss() iiPaggeNoo = 1; / ellse ttry iPaageNNo = Inntegger.parrseIInt(strrPaggeNoo); ccatcch (Exccepttionn exx) iPaageNNo = 1; / Sysstemm.ouut.pprinntlnn( Deevellopeer DDebuu

43、g LLog: paggeNoo paarammeteer iis iincoorreect! ); reeturrn iiPaggeNoo; 维护服务务方案(方方案人员员)packkagee coom.llenoovoaai.nniceemiss.weeb.aactiion;impoort orgg.spprinngfrrameeworrk.wweb.strrutss.AcctioonSuuppoort;impoort orgg.appachhe.sstruuts.acttionn.AcctioonFoorwaard;impoort orgg.appachhe.sstruuts.acttio

44、nn.AcctioonMaappiing;impoort orgg.appachhe.sstruuts.acttionn.AcctioonFoorm;impoort javvax.serrvleet.hhttpp.HtttpSServvlettReqquesst;impoort javvax.serrvleet.hhttpp.HtttpSServvlettRessponnse;impoort javvax.serrvleet.hhttpp.HtttpSSesssionn;impoort orgg.spprinngfrrameeworrk.cconttextt.ApppliicattionnCo

45、nntexxt;impoort comm.leenovvoaii.niicemmis.serrvicce.*;impoort comm.leenovvoaii.niicemmis.moddel.*;impoort comm.leenovvoaii.niicemmis.moddel.seccuriity.*;impoort comm.leenovvoaii.niicemmis.utiil.*;impoort javva.uutill.*;/* * TTitlle: * DDesccripptioon: * CCopyyrigght: Coopyrrighht (c) 20005 * CCompp

46、anyy: * autthorr noot aattrribuutabble * verrsioon 11.0 */publlic claass FinndSeerviiceSSoluutioonsFForSSoluutioonerrActtionn exttendds AActiionSSuppportt pubblicc AcctioonFoorwaard exeecutte(AActiionMMapppingg maappiing, AcctioonFoorm forrm, HHttppSerrvleetReequeest reqquesst, HHttppSerrvleetReespo

47、onsee reespoonsee) tthroows Exccepttionn /colllecct pparaametterss foor bbusiinesss llogiic HtttpSSesssionn htttpSSesssionn = reqquesst.ggetSSesssionn(trrue); SeecurrityyDettaills ssd = (SSecuurittyDeetaiils) htttpSSesssionn.geetAtttriibutte( SSecuurittyDeetaiils.SECCURIITY_DETTAILLS_KKEY); Sttrinng

48、 bbizooppIId = (SStriing) reequeest.gettParrameeterr(bbizooppIId); Sttrinng sservviceeSollutiionNNamee = (Sttrinng) reqquesst.ggetPParaametter(seerviiceSSoluutioonNaame); Sttrinng cconttenttDeggreeeLeaaderr = (Sttrinng) reqquesst.ggetPParaametter(coonteentDDegrreeLLeadder); Sttrinng cconttenttDeggre

49、eeSalle = (SStriing) reequeest.gettParrameeterr(cconttenttDeggreeeSalle); Sttrinng sservviceeSollutiionOOwneerNaame = (Strringg) rrequuestt.geetPaarammeteer(serrvicceSooluttionnOwnnerNNamee); Sttrinng yyearr = (Sttrinng) reqquesst.ggetPParaametter(yeear); innt iiPaggeSiize = ggetPPageeSizze(rrequues

50、tt); innt iiPaggeNoo = gettPaggeNoo(reequeest); SeerviiceSSoluutioonQuueryyObjj quueryyObjj = neww SeerviiceSSoluutioonQuueryyObjj(); quueryyObjj.seetCuurreentUUserrEmppNo( sdd.geetUsserIInfoo().gettEmppNo() ); quueryyObjj.seetBiizopppIdd(biizopppIdd); quueryyObjj.seetSeerviiceSSoluutioonNaame(serrv

51、icceSooluttionnNamme); quueryyObjj.seetSeerviiceSSoluutioonOwwnerrNamme(sservviceeSollutiionOOwneerNaame); quueryyObjj.seetYeear( yeear ); quueryyObjj.seetCoonteentDDegrreeLLeadder(conntenntDeegreeeLeeadeer); quueryyObjj.seetCoonteentDDegrreeSSalee(coonteentDDegrreeSSalee); ApppliicattionnConntexxt

52、cconttextt = gettWebbApppliccatiionCConttextt(); ISServviceeSollutiionSServvicee seerviiceSSoluutioonSeerviice = (ISeerviiceSSoluutioonSeerviice) coonteext.gettBeaan( serrvicceSooluttionnSerrvicce); PaageIInfoo paageIInfoo = neww PaageIInfoo(); trry ppageeInffo = seerviiceSSoluutioonSeerviice.finndS

53、eerviiceSSoluutioonsFForSSoluutioonerr(iPPageeSizze, iPaageNNo, queeryOObj); caatchh (EExceeptiion ex) rrequuestt.seetAtttriibutte(feeedbaack, eex.ggetMMesssagee(); reequeest.settAtttribbutee(ppageeInffo, paageIInfoo); reeturrn mmapppingg.fiindFForwwardd(ssucccesss); intt geetPaageSSizee(HtttpSServv

54、lettReqquesst rrequuestt) innt iiPaggeSiize = 00; Sttrinng sstrPPageeSizze = nuull; sttrPaageSSizee = (Sttrinng) reqquesst.ggetPParaametter(paageSSizee); iff (sstrPPageeSizze = nnulll | sttrPaageSSizee.eqqualls() iiPaggeSiize = CConsstannt.ggetCConPPageesizze(); / ellse ttry iPaageSSizee = Inttegeer.pparsseInnt(sstrPPageeSizze); ccatcch (Exccepttio

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!