当前位置:首页>软件介绍>名易OA软件协同办公系统项目管理-流程驱动项目任务进度开发说明 查询:
     
名易OA软件协同办公系统项目管理-流程驱动项目任务进度开发说明

名易协同项目管理-流程驱动项目任务进度开发说明v1.0-副本.doc2引言2.1编写目的本开发说明书的目的描述清楚本次开发实现的功能,以及实现的方式。供需求提出者确认,已避免双方理解上的差距,作为开发交付成果的依据。预期读者:需求提出人员,开发人员、测试人员,项目经理。2.2定义一些术语的描述2.3参考资料3范围3.1系统主要目标在名易OA软件系统现有项目管理中进行修改,实现流程控制项目任务进度,每个项目任务对应的审批流程归档,即认为项目的该任务完成,系统自动创建该任务的下一任务对应的流程,使得下一任务进入进行状态,直至最后一个任务结束。在项目的子任务中可以查看到该任务对应的流程的审批状态进度(分为:未创建、已创建、已审批、已归档)。在项目模板中,定义项目任务,每个模板中的项目任务对应一个审批流程。设置好后,在前台新建该类型的项目时,系统自动将项目任务对应的审批流程带入。项目创建后,系统自动触发第一个子任务对应的流程(利用外部数据触发流程功能)。注:本说明只在于提供大家设计思路,细节有待完善。3.2实现方式3.2.1后台部分1、后台设置,项目管理模板管理中,在新建、编辑任务模板时,增加任务对应的审批流程功能。如图:修改了jsp页面:projTempletProjTempletAdd.jspprojTempletProjTempletEdit.jspprojTempletProjTempletEditData.jspprojTempletProjTempletOperate.jspprojTempletProjTempletViewData.jspprojTempletTempletTaskEdit.jsp修改了底层类文件:rcOAprojTempletProjTempletUtil.java数据库修改:执行SQL语句:altertablePrj_TemplateTaskaddworkflowTypeidintGO3.2.2前台部分通过选择配置好的项目模板新建项目,将项目任务模板中事先配置好的审批流程自动带入。新建项目保存后,流程自动触发该项目第一个任务对应的审批流程,创建人默认成任务负责人。审批人在流程中进行配置。每个任务对应的审批流程可以在项目信息表中查看审批进度(分为未创建、已创建、审批中、执行中、已归档)对应流程的4中节点类型。如图:一个任务审批归档后,自动将任务的完成比率改为100%,并自动触发下一个任务对应的审批流程,流程的创建人为下一个人任务的负责人。流程的审批人也是同样在流程中进行设置。以此类推,直到项目的最后一级任务完成。

前台修改了JSP:1、projdataAddProjectData.jsp.jsp2、projdataProjectOperation.jsp3、projdataViewProjectData.jsp前台修改了JS:4、jsprojTaskTaskUtil.js说明:1、2、3、4用于实现在新建项目任务中增加流程字段的显示和保存2中同时也实现了默认将新建项目的第一个任务设置为启动状态。便于流程的自动触发。数据库修改:执行SQL语句:altertablePrj_TaskProcessaddworkflowidintGOaltertablePrj_TaskProcessaddapplystatusintGOdropPROCEDUREPrj_TaskProcess_InsertGOCREATEPROCEDUREPrj_TaskProcess_Insert(@prjidint,@taskidint,@wbscodingvarchar(20),@subjectvarchar(80),@versiontinyint,@begindatevarchar(10),@enddatevarchar(10),@workdaydecimal(10,1),@contentvarchar(255),@fixedcostdecimal(18,2),@parentidint,@parentidsvarchar(255),@parenthrmidsvarchar(255),@level_ntinyint,@hrmidint,@prefinish_1varchar(4000),@workflowid_1int,@applystatus_1int,@realManDaysdecimal(6,1),@taskIndexint,@flagintegeroutput,@msgvarchar(80)output)ASdeclare@dsporder_9int,@current_maxidintselect@current_maxid=max(dsporder)fromPrj_TaskProcesswhereprjid=@prjidandversion=@versionandparentid=@parentidandisdelete"1"if@current_maxidisnullset@current_maxid=0set@dsporder_9=@current_maxid+1INSERTINTOPrj_TaskProcess(prjid,taskid,wbscoding,subject,version,begindate,enddate,workday,content,fixedcost,parentid,parentids,parenthrmids,level_n,hrmid,islandmark,prefinish,dsporder,workflowid,applystatus,realManDays,taskIndex)VALUES(@prjid,@taskid,@wbscoding,@subject,@version,@begindate,@enddate,@workday,@content,@fixedcost,@parentid,@parentids,@parenthrmids,@level_n,@hrmid,"0",@prefinish_1,@dsporder_9,@workflowid_1,@applystatus_1,@realManDays,@taskIndex)Declare@idint,@maxidvarchar(10),@maxhrmidvarchar(255)select@id=max(id)fromPrj_TaskProcessset@maxid=convert(varchar(10),@id)+","set@maxhrmid="|"+convert(varchar(10),@id)+","+convert(varchar(10),@hrmid)+"|"updatePrj_TaskProcesssetparentids=parentids+@maxid,parenthrmids=parenthrmids+@maxhrmidwhereid=@idset@flag=@@identityset@msg="OK!"GO3.2.3流程部分1、在后台搭建项目任务所需的审批流程,流程表单中需要的字段:2、在流程归档节点前附加操作中设置DML接口动作:任务进度修改和触发下一任务,如图:

任务进度修改:实现修改当前审批流程对应的项目任务,审批通过后自动将任务进度改为100%。

触发下一任务:当前流程审批归档后,系统自动将当前项目任务对应的下一个任务状态设置为启动。启动后通过外部数据触发流程配置,实现下一任务对应流程的自动触发。3.2.4外部数据触发流程配置1、所有项目任务中需要的审批流程,需要在外部数据触发流程配置中进行配置。用于自动将处于启动状态的任务进行流程触发。如图:注:需要提前在项目任务表中增加2个字段,执行下面SQL语句:altertablePrj_TaskProcessaddFtriggerFlagintdefault0GOaltertablePrj_TaskProcessaddrequestidintGO外部主表条件说明:workflowid=288,288为当前流程的ID号,applystatus=1,代表改项目任务处于启动状态(任务未启动时候applystatus默认等于0)。当流程触发成功后回写项目任务表将任务的启动状态改为2,代表流程已经创建。触发流程失败时,将任务启动状态改完applystatus=0详细设置如上图,将流程表单字段与项目任务信息进行一一对应。流程标题默认为项目任务名称,流程创建人为当前任务负责人,创建日期为任务开始日期,相关项目为当前任务的所属项目,任务为当前项目任务。正文为空,流程后续节点可设置编辑。2、外部数据触发流程周期设置,如图:注:设置成1分钟扫描一次,太频繁对系统性能有影响。4数据库整体修改(前面每个模块已经提到过)altertablePrj_TemplateTaskaddworkflowTypeidintGOaltertablePrj_TaskProcessaddworkflowidintGOaltertablePrj_TaskProcessaddapplystatusintGOaltertablePrj_TaskProcessaddFtriggerFlagintdefault0GOaltertablePrj_TaskProcessaddrequestidintGOdropPROCEDUREPrj_TaskProcess_InsertGOCREATEPROCEDUREPrj_TaskProcess_Insert(@prjidint,@taskidint,@wbscodingvarchar(20),@subjectvarchar(80),@versiontinyint,@begindatevarchar(10),@enddatevarchar(10),@workdaydecimal(10,1),@contentvarchar(255),@fixedcostdecimal(18,2),@parentidint,@parentidsvarchar(255),@parenthrmidsvarchar(255),@level_ntinyint,@hrmidint,@prefinish_1varchar(4000),@workflowid_1int,@applystatus_1int,@realManDaysdecimal(6,1),@taskIndexint,@flagintegeroutput,@msgvarchar(80)output)ASdeclare@dsporder_9int,@current_maxidintselect@current_maxid=max(dsporder)fromPrj_TaskProcesswhereprjid=@prjidandversion=@versionandparentid=@parentidandisdelete"1"if@current_maxidisnullset@current_maxid=0set@dsporder_9=@current_maxid+1INSERTINTOPrj_TaskProcess(prjid,taskid,wbscoding,subject,version,begindate,enddate,workday,content,fixedcost,parentid,parentids,parenthrmids,level_n,hrmid,islandmark,prefinish,dsporder,workflowid,applystatus,realManDays,taskIndex)VALUES(@prjid,@taskid,@wbscoding,@subject,@version,@begindate,@enddate,@workday,@content,@fixedcost,@parentid,@parentids,@parenthrmids,@level_n,@hrmid,"0",@prefinish_1,@dsporder_9,@workflowid_1,@applystatus_1,@realManDays,@taskIndex)Declare@idint,@maxidvarchar(10),@maxhrmidvarchar(255)select@id=max(id)fromPrj_TaskProcessset@maxid=convert(varchar(10),@id)+","set@maxhrmid="|"+convert(varchar(10),@id)+","+convert(varchar(10),@hrmid)+"|"updatePrj_TaskProcesssetparentids=parentids+@maxid,parenthrmids=parenthrmids+@maxhrmidwhereid=@idset@flag=@@identityset@msg="OK!"GO


OA办公自动化软件如何实现实时办公提醒呢?协同办公业务的需求,协同办公系统应包括:
送你一双慧眼 识破伪知识管理软件重庆名易OA软件系统对XX集团公司信息化需求分析小结
OA办公系统实现企业财务资金的签批工作,还可以实现财务现金流管控网络系统集成工程师应具备哪些技能?
平台的力量 企业深圳OA软件的三种模式协同办公系统的建设要从实际出发
不同类型的BPM软件与客户需求OA网络办公系统的目标规划与实现方式
网管软件选择的着眼点构件化与SOA,推进软件生产力
企业如何规划和实施知识管理系统协同OA软件促进企业战略目标与绩效管理
MES系统中的生产运行管理系统OA门户系统建设立项准备工作汇报
信息发布:广州名易软件有限公司 http://www.myidp.net
  • 名易软件销售服务
  • 名易软件销售服务
  • 名易软件技术服务

  • 名易OA软件协同办公系统项目管理-流程驱动项目任务进度开发说明