服务项目管理系统_第1页
服务项目管理系统_第2页
服务项目管理系统_第3页
服务项目管理系统_第4页
服务项目管理系统_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

服务项目管理系统设计说明书TOC\o"1-5"\h\z1软件背景221.1可行性分析221.1.1功能可行性221.1.2经济可行性221.1.3管理可行性222软件概述及设计方案33软件构架图66功能结构分析663针对软件的各功能模块做具体的设计描述及附注相关设计结果773.1服务产品管理773.1.1功能简介773.1.2功能说明773.1.3数据表设计773.2服务方案管理883.2.1功能简介883.2.2功能说明883.2.3数据表设计883.3培训管理993.3.1功能简介993.3.2功能说明993.3.3数据表设计99软件背景系统的背景是:近年来,随着it服务行业的发展,对服务项目管理方面产生了很大需求,针对此需求提出开发服务项目管理系统的必要,可以实现出更多的用途或满足更多需要。与原有技术相比所体现出方便快捷优势。服务项目管理系统是服务项目管理软件的通俗化名称,服务项目管理系统是服务产品管理、服务方案管理,培训管理统计销售业绩的先进工具,适合企业管理部门办公使用,协助方案经理和方案人员快速管理客户、服务和业务的重要数据。服务项目管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。1.1可行性分析功能可行性系统完整性:整个服务项目管理系统具备系统设计的科学合理性,方案管理信息录入,修改,删除及学生成绩的查询等功能符合学校对学生的管理要求,满足了相关人员对信息管理的要求,适用于复杂的学生管理,因而达到了设计任务的要求.系统的可靠性:该系统可靠性高,能无故障正常的工作,当出现异常情况是还采取了一些防止系统破坏的方法和措施,如密码保存,数据备份等.系统的效率:与旧系统相比,减轻了许多重复的繁琐的劳动和手工计算量,抄写量,在对学生成绩进行评价和统计方面效率提高了不少.系统的工作质量:学生管理系统所提供数据的精确度,输出结果的易读性都能达到用户要求,使用方便,使学生管理工作变得轻松,有序而有效.系统的灵活性:系统的环境是不断变化的,因而该学生管理系统具有一定的扩充性,修改信息方便简易,能够、适应环境的变化.经济可行性减少资金占用.由于实施了服务项目管理系统,资源得到了充分利用,减少和避免了资金的使用不当.缩短查询时间.由于采用新技术,大大缩短了查询时间,推进了管理水平.减少人员.由于实施该系统,在总体工作质量上升的情况下,可减少一半管理人员,减少工资奖金等支出.管理可行性各个方案的管理人员可以对管理方案进行编辑,添加,删除各培训管理人员可对培训方案进行编辑,添加删除,实现了管理上的角色分配,普通用户只能对方案和培训课程进行查看软件概述及设计方案服务项目管理系统系统应用于it服务项目管理方面,采用了Hessian、HttpInvoker、XFire、Axis等多种形式的远程调用技术,实现了服务端生成骨架,对外暴露服务;客户端生成服务代理,访问调用服务等技术特点及各功能模块。在现代J2EE企业应用系统中,存在着Hessian、HttpInvoker、XFire、Axis等多种形式的远程调用技术。尽管有Spring等框架对这些技术进行了封装,降低了使用的复杂度,但对普通程序员而言仍是复杂的—至少需要要掌握这些技术的基础知识。无论使用那种技术,其基本原理都是一样的:服务端生成骨架,对外暴露服务;客户端生成服务代理,访问调用服务。通常情况下,生成服务代理的代价比较高昂,这也是我们第一次访问远程服务速度比较慢的原因,为每个请求生成新的服务代理恐怕不是我们所期望的。更何况,如果采用这种方式,就要在代码里针对各种不同的技术(如XFire、HttpInvoker)编写不同的服务生成和调用的处理代码。不仅麻烦,而且容易出错。我想,没有人愿意去直接操作各种框架技术的底层代码这并不是一个好注意!作为一种替代方案,我们设计了一个“服务池”的功能,或者说“服务工厂”更贴切一点。针对HttpInvoker、XFire、Hessian等各种远程调用技术,抽象出一个“远程服务池”(服务工厂)既RemoteServicePool接口。该接口提供了获取服务及一些其他的辅助功能,并针对HttpInvoker、XFire、Hessian等不同技术提供了相应的具体实现。采用这种方式,开发人员只需在代码中“注入”RemoteServicePool,并以统一的方式(如getService())获取实际的服务,只是针对不同技术在配置上有些须差异而已。该技术的原理非常简单,在应用启动之前把所有存在的服务提供者提供的服务都配置好,并为它们分配一个唯一的ID。应用启动之后,框架会自动生成和这些地址相对应的服务代理(ServiceProxy),这些代理已经是可用的服务,服务获下,配置在系统A中的认证服务就比较麻烦,因为要根据不同的系统调用认证服务,既从B过来的请求要访问B的认证服务,从C过来的请求要访问C的认证服务。用服务池可以很好的解决这个问题,把两个系统(B、C)提供的认证服务地址都配置在同一个服务池中,根据不同的

ID(如B、C)来决定使用那个系统的服务。尽管服务池解决了一些问题,在某种程度上降低了复杂度,但仍存在如下一些问题服务的运行期动态注册服务的自动注入(IoC)透明化服务ID的传递在服务池(ServicePool)概念的基础上进行扩展,我们得出了如下的系统模型:KKXSavitc<'VA匸vl>AA职霁屮血熾而T川I{苏It科M券克L汕功态辻别一WW-\\叨或占•咸-杖沾求讨注册一;1冊壮制的述现董砧量-r-iWKKXSavitc<'VA匸vl>AA职霁屮血熾而T川I{苏It科M券克L汕功态辻别一WW-\\叨或占•咸-杖沾求讨注册一;1冊壮制的述现董砧量-r-iW创匹V■服务需仝艸亠切亲.~促服务價II,•:是脈肚JID*接口在配宣文件中IS定,齟务心培疔时动;£袂鞍安送话,.用册川拎•IPIP唧慌财:威】址mi:窑K讪%円超+儒要设计1卒井帚JJ的带弗.河启用姬盪是谨明的,由册在走行时根搀1二的删則笛略:谥弘%.proddeOdFaLiltScfvictf^cpGeitofy-sErxiceConlsiner:MspcString〔0b)&ci>-teonFactdry:BeanFadorytsctBDonF□da^rtbeonFaictory':BeanFcid:Bry):void■"itErPnoDEitlesKenrmoi日r&lnwsinterl^ce»SD新£甘1即£誠心1¥■+gdSer'flDe(ser^iDeCI口占s:Cbs^&en>iceld:String):Object■n&iioveSeivt^seiv^ceCIassClass,sa^celdSlurs):■udd+regidService(eer\iceClses-:CIses.ser^iceld:String.ser^c...+gdtserMcetsenjieeclass:Class,servedd■5trlngBprops:Propertes):ObjeclIlhtilriM'QkeiS&rviccPiroxyC&rEiatoi«lntafcce^?-gerviceProK^GeiiefatorRbthIeSerm曲rowyFactory-serMcelrteil^ceClass-€Br\iDeld:StringHtttiliwijkeiSuiTiikeP'iQjryGcifca/(di-httpln*^)kerFadoly:Hltpln\*Bk&rPnoscyFaciciiyBBanIIIea巨门「£mi££P「百列石unufirt口r-hessianProryFsdory:HessisnPrax^Fsctor^Bean<clnterfece^>Sea^it^cddPiEiclEa4-g-atCunentSar«s<d():StringI■fregidSerulee(^Er\lceCls&£:..w<dE曰fiace^pEa-viccRcgistcrXFiiicScivic:ePnojorfieneratur->iiPsClieniFsctory:XFireCi»5ntFsdcir/BssinCustorrtSerMiGd^acvGcrieotGrD^ault^BrviDeldPiroviclerDcfauHEcrviccRcgiBt^f外諮in并樹供.杆在核心位置上是一个服务中心资源库(ServiceRepository),存储了系统中用到的所有的远程服务。服务采取动态注册的机制,由对外提供的服务注册器(ServiceRegister)提供服务注册功能。外部系统可以实现该接口向资源中心注册服务。提供了一个启动时运行的注册器,可以把静态配置在系统中的服务都注册进来。服务的生成、管理等均由服务中心自己维护,委托服务代理生成器(ServiceProxyGenerator)完成服务的创建。可以针对现有的远程调用方式,如XFire,HttpInvoker,Hessian等创建服务代理,也可以针对自己定义的远程调用方式创建服务代理,由CustomServiceProxyGenerator完成该功能。一个服务模型包括5个因素:服务接口serviceClass服务IDserviceId服务类型serviceType服务地址serviceUrl附加属性props查找一个服务需要两个因素,一个是服务接口,另一个是服务ID。这两个因素共同决定了一个服务,既服务中心内部的“服务ID”。通过这种方式,可以允许存在多个ID相同但接口不同的服务,也可以存在多个接口相同但ID不同的服务。服务ID的获取是系统中一个关键的功能,这部分对程序员来说应该是透明的,由系统自己维护。相应的提供了一个服务ID提供者(ServiceldProvider)接口,由实现该接口的子类完成服务ID获取功能(这是比较关键的地方,需要特殊考虑)。设计方案服务产品管理是可以在此模块中维护公司所能提供的服务产品。方案人员可以浏览服务产品列表,并且在查询区域输入适当的查询条件进行查询。服务产品除了一些基本信息外,还包括服务产品文档,负责人可以随意为服务产品添加产品文档。服务方案管理是商机在立项以后都会给客户提供方案,此模块就是用以维护服务方案数据的。服务方案除了基本信息以外还包括方案正文,方案PPT和方案预算表。方案人员除了方案预算表外,其它的数据都可以维护和查看。商务人员对所有服务方案可见,并且可以查看和更新每个方案的方案预算表。公司领导可以查看所有服务方案。培训管理是培训负责人维护各自负责的培训课程(Course)。培训课程数据的查询功能向全体员工开放,每个员工都可以查看公司所提供的培训课程,下载课程培训文档。员工还可以登录系统查看近期安排的培训日程,并且报名培训。当培训结束后,培训负责人可以给每个学员维护他们的完成状态(参加,或缺席)。软件构架图方雲尢島用户矍乗直责人非負责人培训员畫人方案总监方翠薩直培训信亘V査香商务人晨员工[功能结构分析针对软件的各功能模块做具体的设计描述及附注相关设计结果3.1服务产品管理功能简介每个方案人员可以在此模块中维护公司所能提供的服务产品。方案人员可以浏览服务产品列表并且在查询区域输入适当的查询条件进行查询。针对查询结果,还可以对服务产品数据进行添加,删除,修改等操作,每个服务产品都会有一个负责人,每个服务产品只能由负责人进行删除或修改其它人员只能进行查看。服务产品除了一些基本信息外,还包括服务产品文档,负责人可以随意为服务产品添加产品文档。服务产品应该同时向所有公司员工开放,全员可以查看并学习。功能说明A服务产品详情>服务产品的管理,添加,删除,修改3.1.3数据表设计表名:s_service_product服务产品

示名称字段名称字段类型NULLPK/FK备注口口编号service_product_idVARCHAR(IO)NOTNULLPK应用程序赋值(4产品类别字母+3位流水号)品名称service_solution_nameVARCHAR(50)NOTNULL品类别service_product_typeVARCHAR(20)NOTNULL品负责service_product_ownerVARCHAR(5)NOTNULLFK(s_employee:empno)品审核service_product_approverVARCHAR(5)NULLFK(s_employee:empno)建日期createdatedateNOTNULL注notationVARCHAR(100)NULL3.2服务方案管理3.2.1功能简介每个商机在立项以后都会给客户提供方案,此模块就是用以维护服务方案数据的。方案人员可以添加,删除,修改服务方案,并且可以浏览和查询已有的服务方案。服务方案除了基本信息以外还包括方案正文,方案PPT和方案预算表。方案人员除了方案预算表外,其它的数据都可以维护和查看。方案总监同样可以对服务方案数据进行增加,删除,修改和查询,并且对每个服务方案的所有属性可见,包括方案预算表。商务人员对所有服务方案可见,并且可以查看和更新每个方案的方案预算表。公司领导可以查看所有服务方案。功能说明客户方案的提供管理员对客户方案的修改不同人对方案的查看3.2.3数据表设计表名:sservicesolution服务方案示名称字段名称字段类型NULLPK/FK备注案编号service_solution_idservice_solution_nameservice_solution_dateservice_solution_ownerservice_solution_approverVARCHAR(10)NOTNULLPK与商机编号致案名称VARCHAR(50)NOTNULL案日期dateNOTNULL案负责人VARCHAR(5)NOTNULLFK(s_employee:empno)案审核人VARCHAR(5)NULLFK(semployee:

案满意度级满意度案正文content_degree_salecontent_degree_leaderservice_solution_fileintintintempno)NULLNULLNULL案PPTservice_solution_ppt案满意度级满意度案正文content_degree_salecontent_degree_leaderservice_solution_fileintintintempno)NULLNULLNULL案PPTservice_solution_pptintNULLint目预算表budget_file目人员成预算budgetamountNULLFK(s_common_file:file_id)FK(s_common_file:file_id)FK(s_common_file:fileid)intNOTNULL默认值:03.3培训管理3.3.1功能简介培训负责人维护各自负责的培训课程(Course)。在培训课程维护界面,培训负责人可以增加,删除,修改,浏览和查询培训课程。培训负责人不能访问其他培训负责人负责的培训课程。除此之外,培训课程数据的查询功能向全体员工开放,每个员工都可以查看公司所提供的培训课程,下载课程培训文档。培训负责人还可以安排具体的培训日程。每个培训日程包括培训课程,报名截止时间,开课时间,报名人数,培训地点等属性。培训负责人可以创建,删除,修改,浏览和查询培训日程。同时员工还可以登录系统查看近期安排的培训日程,并且报名培训。如果尚未到达报名截止日期,允许员工撤销培训报名。培训负责人还可以管理培训日程的进度:培训负责人可以查看报名学员的列表到了培训报名截止日期时,培训负责人可以给每个员工“发送培训通知”;当培训结束后,培训负责人可以给每个学员维护他们的完成状态(参加,或缺席)。功能说明>培训课程信息的查看>培训课程信息的修改>培训负责人的特权3.3.3数据表设计表名:scourse培训课程显示名称字段名称字段类型NULLPK/FK备注课程编号course_idVARCHAR(10)NOTNULLPK应用程序赋值(1位课程类别+3位流水号)课程类别course_typeVARCHAR(10)NOTNULL

表名:slesson培训日程显示名称字段名称字段类型NULLPK/FK备注培训日程IDlesson_idVARCHAR(20)NOTNULLPK应用程序赋值(4位课程编号+3位流水号)课程编号course_idVARCHAR(10)NOTNULLFK(s_course:courseid)报名截止时间sign_up_end_datedateNOTNULL报名人数intended_attendanceintNOTNULL默认值:0已报名人数real_attendanceintNOTNULL默认值:0开课时间lesson_begin_datedateNOTNULL结束时间lesson_end_datedateNOTNULL授课地占八、、lessonplaceVARCHAR(50)NOTNULL课程讲师lessontrainerVARCHAR(5)NULLFK(s_employee:empno)培训负责人lessonownerVARCHAR(5)NOTNULLFK(s_employee:empno)备注notationVARCHAR(100)NULL课程名称培训方式课程创建日期人均培训费用课程讲师培训负责人教材course_nametraining_modecoursecreatedatecostpertraineecoursetrainercourseownermaterialidVARCHAR(50)VARCHAR(30)dateintVARCHAR(5)VARCHAR(5)int课程名称培训方式课程创建日期人均培训费用课程讲师培训负责人教材course_nametraining_modecoursecreatedatecostpertraineecoursetrainercourseownermaterialidVARCHAR(50)VARCHAR(30)dateintVARCHAR(5)VARCHAR(5)intNOTNULLNOTNULLNOTNULLNOTNULLNULLNOTNULLNULLFK(s_employee:empno)FK(s_employee:emp_no)FK(s_common_file:fileid)示名称训学员ID训日程ID训负责人成情况表名:s_lesson_trainee培训名单字段名称lesson_trainee_idlesson_idtraineenofeedback字段类型intVARCHAR(20)intVARCHAR(IOO)NULLNOTNULLNOTNULL示名称训学员ID训日程ID训负责人成情况表名:s_lesson_trainee培训名单字段名称lesson_trainee_idlesson_idtraineenofeedback字段类型intVARCHAR(20)intVARCHAR(IOO)NULLNOTNULLNOTNULLNOTNULLNULLPK/FKPKFK(s_lesson:lesson_id)FK(s_employee:empno)备注数据库自动增长ID代码:packagecom.lenovoai.nicemis.web.action;importorg.springframework.web.struts.ActionSupport;importorg.apache.struts.action.ActionForward;importorg.apache.struts.action.ActionMapping;importorg.apache.struts.action.ActionForm;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importorg.springframework.context.ApplicationContext;importcom.lenovoai.nicemis.service.*;importcom.lenovoai.nicemis.model.*;importcom.lenovoai.nicemis.model.security.*;importcom.lenovoai.nicemis.util.*;importjava.util.*;/**<p>Title:</p><p>Description:</p><p>Copyright:Copyright(c)2005</p><p>Company:</p>*@authornotattributable*@version1.0*/publicclassFindServiceProductsForAllActionextendsActionSupport{publicActionForwardexecute(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{//collectparametersforbusinesslogicHttpSessionhttpSession=request.getSession(true);SecurityDetailssd=(SecurityDetails)httpSession.getAttribute(SecurityDetails.SECURITY_DETAILS_KEY);StringserviceProductId=(String)request.getParameter("serviceProductId");StringserviceProductName=(String)request.getParameter("serviceProductName");StringserviceProductType=(String)request.getParameter("serviceProductType");StringserviceProductOwnerName=(String)request.getParameter("serviceProductOwnerName");Stringyear=(String)request.getParameter("year");intiPageSize=getPageSize(request);intiPageNo=getPageNo(request);ServiceProductQueryObjqueryObj=newServiceProductQueryObj();queryObj.setCurrentUserEmpNo(sd.getUserInfo().getEmpNo());queryObj.setServiceProductId(serviceProductId);queryObj.setServiceProductName(serviceProductName);queryObj.setServiceProductType(serviceProductType);queryObj.setServiceProductOwnerName(serviceProductOwnerName);queryObj.setYear(year);ApplicationContextcontext=getWebApplicationContext();IServiceProductServiceserviceProductService=(IServiceProductService)context.getBean("serviceProductService");PageInfopageInfo=newPageInfo();try{pageInfo=serviceProductService.findServiceProductsForAll(iPageSize,iPageNo,queryObj);}catch(Exceptionex){request.setAttribute("feedback",ex.getMessage());}request.setAttribute("pageInfo",pageInfo);returnmapping.findForward("success");}intgetPageSize(HttpServletRequestrequest){intiPageSize=0;StringstrPageSize=null;strPageSize=(String)request.getParameter("pageSize");if(strPageSize==null||strPageSize.equals("")){iPageSize=Constant.getConPagesize();////////////////////////////////////else{try{iPageSize=Integer.parseInt(strPageSize);}catch(Exceptionex){iPageSize=Constant.getConPagesize();////////////////////////////////////System.out.println("DeveloperDebugLog:[pageSizeparameterisincorrect!]");}}returniPageSize;}intgetPageNo(HttpServletRequestrequest){intiPageNo=0;StringstrPageNo=null;strPageNo=(String)request.getParameter("pageNo");if(strPageNo==null||strPageNo.equals("")){iPageNo=1;////////////////////////////////////}else{try{iPageNo=Integer.parseInt(strPageNo);}catch(Exceptionex){iPageNo=1;////////////////////////////////////System.out.println("DeveloperDebugLog:[pageNoparameterisincorrect!]");}}returniPageNo;}}维护服务方案(方案人员)packagecom.lenovoai.nicemis.web.action;importorg.springframework.web.struts.ActionSupport;importorg.apache.struts.action.ActionForward;importorg.apache.struts.action.ActionMapping;importorg.apache.struts.action.ActionForm;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importorg.springframework.context.ApplicationContext;importcom.lenovoai.nicemis.service.*;importcom.lenovoai.nicemis.model.*;importcom.lenovoai.nicemis.model.security.*;importcom.lenovoai.nicemis.util.*;importjava.util.*;/***<p>Title:</p>*<p>Description:</p>*<p>Copyright:Copyright(c)2005</p>*<p>Company:</p>*@authornotattributable*@version1.0*/publicclassFindServiceSolutionsForSolutionerActionextendsActionSupport{publicActionForwardexecute(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{//collectparametersforbusinesslogicHttpSessionhttpSession=request.getSession(true);SecurityDetailssd=(SecurityDetails)httpSession.getAttribute(SecurityDetails.SECURITY_DETAILS_KEY);StringbizoppId=(String)request.getParameter("bizoppId");StringserviceSolutionName=(String)request.getParameter("serviceSolutionName");StringcontentDegreeLeader=(String)request.getParameter("contentDegreeLeader");StringcontentDegreeSale=(String)request.getParameter("contentDegreeSale");StringserviceSolutionOwnerName=(String)request.getParameter("serviceSolutionOwnerName");Stringyear=(String)request.getParameter("year");intiPageSize=getPageSize(request);intiPageNo=getPageNo(request);ServiceSolutionQueryObjqueryObj=newServiceSolutionQueryObj();queryObj.setCurrentUserEmpNo(sd.getUserInfo().getEmpNo());queryObj.setBizoppId(bizoppId);queryObj.setServiceSolutionName(serviceSolutionName);queryObj.setServiceSolutionOwnerName(serviceSolutionOwnerName);queryObj.setYear(year);queryObj.setContentDegreeLeader(contentDegreeLeader);queryObj.setContentDegreeSale(contentDegreeSale);ApplicationContextcontext=getWebApplicationContext();IServiceSolutionServiceserviceSolutionService=(IServiceSolutionService)context.getBean("serviceSolutionService");PageInfopageInfo=newPageInfo();try{pageInfo=serviceSolutionService.findServiceSolutionsForSolutioner(iPageSize,iPageNo,queryObj);}catch(Exceptionex){request.setAttribute("feedback",ex.getMessage());}request.setAttribute("pageInfo",pageInfo);returnmapping.findForward("success");}intgetPageSize(HttpServletRequestrequest){intiPageSize=0;StringstrPageSize=null;strPageSize=(String)request.getParameter("pageSize");if(strPageSize==null||strPageSize.equals("")){iPageSize=Constant.getConPagesize();////////////////////////////////////}else{try{iPageSize=Integer.parseInt(strPageSize);}catch(Exceptionex){iPageSize=Constant.getConPagesize();////////////////////////////////////System.out.println("DeveloperDebugLog:[pageSizeparameterisincorrect!]");}}returniPageSize;}intgetPageNo(HttpServletRequestrequest){intiPageNo=0;StringstrPageNo=null;strPageNo=(String)request.getParameter("pageNo");if(strPageNo==null||strPageNo.equals("")){iPageNo=1;////////////////////////////////////}else{try{iPageNo=Integer.parseInt(strPageNo);}catch(Exceptionex){iPageNo=1;////////////////////////////////////System.out.println("DeveloperDebugLog:[pageNoparameterisincorrect!]");}}returniPageNo;查询全部培训课程packagecom.lenovoai.nicemis.web.action;importorg.springframework.web.struts.ActionSupport;importorg.apache.struts.action.ActionForward;importorg.apache.struts.action.ActionMapping;importorg.apache.struts.action.ActionForm;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importorg.springframework.context.ApplicationContext;importcom.lenovoai.nicemis.service.*;importcom.lenovoai.nicemis.model.*;importcom.lenovoai.nicemis.util.*;importjava.util.*;importcom.lenovoai.nicemis.model.security.SecurityDetails;/***<p>Title:</p>*<p>Description:</p>*<p>Copyright:Copyright(c)2005</p>*<p>Company:</p>*@authornotattributable*@version1.0*/publicclassFindContractsForAllActionextendsActionSupport{publicFindContractsForAllAction(){}publicActionForwardexecute(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{//collectparametersforbusinesslogicStringcontractId=(String)request.getParameter("contractId");StringbizoppId=(String)request.getParameter("bizoppId");StringcustomerName=(String)request.getParameter("customerName");StringprojectName=(String)request.getParameter("projectName");StringorderRevenueOneSign=(String)request.getParameter("orderRevenueOneSign");StringorderRevenueOne=(String)request.getParameter("orderRevenueOne");StringorderRevenueTwoSign=(String)request.getParameter("orderRevenueTwoSign");StringorderRevenueTwo=(String)request.getParameter("orderRevenueTwo");StringcontractDate=(String)request.getParameter("contractDate");StringdeptNo=(String)request.getParameter("deptNo");intiPageSize=getPageSize(request);intiPageNo=getPageNo(request);ContractQueryObjqueryObj=newContractQueryObj();queryObj.setBizoppId(bizoppId);queryObj.setContractDate(contra

温馨提示

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

评论

0/150

提交评论