泛普OA软件协同办公系统项目管理-流程驱动项目任务进度开发说明
泛普OA软件协同办公系统项目管理-流程驱动项目任务进度开发说明v1.0 - 副本.doc
2 引言
2.1 编写目的
本开发说明书的目的描述清楚本次开发实现的功能,以及实现的方式。供需求提出者确认,已避免双方理解上的差距,作为开发交付成果的依据。
预期读者:需求提出人员,开发人员、测试人员,项目经理。
2.2 定义
一些术语的描述
2.3 参考资料
3 范围
3.1 系统主要目标
在泛普OA软件系统现有项目管理中进行修改,实现流程控制项目任务进度,每个项目任务对应的审批流程归档,即认为项目的该任务完成,系统自动创建该任务的下一任务对应的流程,使得下一任务进入进行状态,直至最后一个任务结束。在项目的子任务中可以查看到该任务对应的流程的审批状态进度(分为:未创建、已创建、已审批、已归档)。
在项目模板中,定义项目任务,每个模板中的项目任务对应一个审批流程。设置好后,在前台新建该类型的项目时,系统自动将项目任务对应的审批流程带入。项目创建后,系统自动触发第一个子任务对应的流程(利用外部数据触发流程功能)。
注:本说明只在于提供大家设计思路,细节有待完善。
3.2 实现方式
3.2.1 后台部分
1、 后台设置,项目管理模板管理中,在新建、编辑任务模板时,增加任务对应的审批流程功能。如图:
修改了jsp页面:
/proj/ Templet/ ProjTempletAdd.jsp
/proj/ Templet/ProjTempletEdit.jsp
/proj/ Templet/ProjTempletEditData.jsp
/proj/ Templet/ProjTempletOperate.jsp
/proj/ Templet/ProjTempletViewData.jsp
/proj/ Templet/TempletTaskEdit.jsp
修改了底层类文件:
/src/OA/proj/ Templet/ ProjTempletUtil.java
数据库修改:
执行SQL语句:alter table Prj_TemplateTask add workflowTypeid int
GO
3.2.2 前台部分
通过选择配置好的项目模板新建项目,将项目任务模板中事先配置好的审批流程自动带入。新建项目保存后,流程自动触发该项目第一个任务对应的审批流程,创建人默认成任务负责人。审批人在流程中进行配置。每个任务对应的审批流程可以在项目信息表中查看审批进度(分为 未创建、已创建、审批中、执行中、已归档)对应流程的4中节点类型。如图:
一个任务审批归档后,自动将任务的完成比率改为100%,并自动触发下一个任务对应的审批流程,流程的创建人为下一个人任务的负责人。流程的审批人也是同样在流程中进行设置。
以此类推,直到项目的最后一级任务完成。
前台修改了JSP:
1、/proj/data/ AddProjectData.jsp.jsp
2、/proj/data/ ProjectOperation.jsp
3、/proj/data/ ViewProjectData.jsp
前台修改了JS:
4、/js/ projTask/TaskUtil.js
说明:1、2、3、4用于实现在新建项目任务中增加流程字段的显示和保存
2中同时也实现了默认将新建项目的第一个任务设置为启动状态。便于流程的自动触发。
数据库修改:
执行SQL语句:
alter table Prj_TaskProcess add workflowid int
GO
alter table Prj_TaskProcess add applystatus int
GO
drop PROCEDURE Prj_TaskProcess_Insert
GO
CREATE PROCEDURE Prj_TaskProcess_Insert (@prjid int, @taskid int, @wbscoding varchar(20), @subject varchar(80) , @version tinyint, @begindate varchar(10), @enddate varchar(10), @workday decimal (10,1), @content varchar(255), @fixedcost decimal (18,2), @parentid int, @parentids varchar (255), @parenthrmids varchar (255), @level_n tinyint, @hrmid int, @prefinish_1 varchar(4000), @workflowid_1 int,@applystatus_1 int,@realManDays decimal (6,1), @taskIndex int, @flag integer output, @msg varchar(80) output ) AS declare @dsporder_9 int, @current_maxid int select @current_maxid = max(dsporder) from Prj_TaskProcess where prjid = @prjid and version = @version and parentid = @parentid and isdelete<>'1' if @current_maxid is null set @current_maxid = 0 set @dsporder_9 = @current_maxid + 1 INSERT INTO Prj_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 @id int, @maxid varchar(10), @maxhrmid varchar(255) select @id = max(id) from Prj_TaskProcess set @maxid = convert(varchar(10), @id) + ',' set @maxhrmid = '|' + convert(varchar(10), @id) + ',' + convert(varchar(10), @hrmid) + '|' update Prj_TaskProcess set parentids=parentids+@maxid, parenthrmids=parenthrmids+@maxhrmid where id=@id set @flag = @@identity set @msg = 'OK!'
GO
3.2.3 流程部分
1、 在后台搭建项目任务所需的审批流程,流程表单中需要的字段:
2、在流程归档节点前附加操作中设置DML接口动作:任务进度修改和触发下一任务,如图:
任务进度修改:实现修改当前审批流程对应的项目任务,审批通过后自动将任务进度改为100%。
触发下一任务:当前流程审批归档后,系统自动将当前项目任务对应的下一个任务状态设置为启动。启动后通过外部数据触发流程配置,实现下一任务对应流程的自动触发。
3.2.4 外部数据触发流程配置
1、 所有项目任务中需要的审批流程,需要在外部数据触发流程配置中进行配置。用于自动将处于启动状态的任务进行流程触发。如图:
注:需要提前在项目任务表中增加2个字段,执行下面SQL语句:
alter table Prj_TaskProcess add FtriggerFlag int default 0
GO
alter table Prj_TaskProcess add requestid int
GO
外部主表条件说明:workflowid=288, 288为当前流程的ID号,applystatus=1,代表改项目任务处于启动状态(任务未启动时候applystatus默认等于0)。当流程触发成功后回写项目任务表将任务的启动状态改为2,代表流程已经创建。触发流程失败时,将任务启动状态改完applystatus=0
详细设置如上图,将流程表单字段与项目任务信息进行一一对应。流程标题默认为项目任务名称,流程创建人为当前任务负责人,创建日期为任务开始日期,相关项目为当前任务的所属项目,任务为当前项目任务。正文为空,流程后续节点可设置编辑。
2、 外部数据触发流程周期设置,如图:
注:设置成1分钟扫描一次,太频繁对系统性能有影响。
4 数据库整体修改(前面每个模块已经提到过)
alter table Prj_TemplateTask add workflowTypeid int
GO
alter table Prj_TaskProcess add workflowid int
GO
alter table Prj_TaskProcess add applystatus int
GO
alter table Prj_TaskProcess add FtriggerFlag int default 0
GO
alter table Prj_TaskProcess add requestid int
GO
drop PROCEDURE Prj_TaskProcess_Insert
GO
CREATE PROCEDURE Prj_TaskProcess_Insert (@prjid int, @taskid int, @wbscoding varchar(20), @subject varchar(80) , @version tinyint, @begindate varchar(10), @enddate varchar(10), @workday decimal (10,1), @content varchar(255), @fixedcost decimal (18,2), @parentid int, @parentids varchar (255), @parenthrmids varchar (255), @level_n tinyint, @hrmid int, @prefinish_1 varchar(4000), @workflowid_1 int,@applystatus_1 int,@realManDays decimal (6,1), @taskIndex int, @flag integer output, @msg varchar(80) output ) AS declare @dsporder_9 int, @current_maxid int select @current_maxid = max(dsporder) from Prj_TaskProcess where prjid = @prjid and version = @version and parentid = @parentid and isdelete<>'1' if @current_maxid is null set @current_maxid = 0 set @dsporder_9 = @current_maxid + 1 INSERT INTO Prj_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 @id int, @maxid varchar(10), @maxhrmid varchar(255) select @id = max(id) from Prj_TaskProcess set @maxid = convert(varchar(10), @id) + ',' set @maxhrmid = '|' + convert(varchar(10), @id) + ',' + convert(varchar(10), @hrmid) + '|' update Prj_TaskProcess set parentids=parentids+@maxid, parenthrmids=parenthrmids+@maxhrmid where id=@id set @flag = @@identity set @msg = 'OK!'
GO
- 1协同OA软件的项目需求建议可以如下内容:
- 2OA在XX集团管控特点:“多元化、多维度组织、重点产业突出”
- 3OA办公软件都有哪些比较好用的?
- 4网络管理技巧 如何卸载TCP/IP协议
- 5企业评估云计算安全的正确诠释
- 6IT运维模式:三种管理维度的划分
- 7合众人寿待遇怎么样
- 8快速方便的协同管理解决方案为核心目标
- 9招聘主管岗位说明书示例
- 10鹤城单灯控制系统使城市亮化更低碳环保
- 11五种网络管理技巧优化网络办公环境
- 12IT运维管理十年成长之惑
- 132012年对国内OA办公软件是一个不平凡的一年
- 14沧州市出现景观亮化工程,城市夜景更迷人
- 15一般做OA软件代理的公司,都开展有多种业务
- 16办公系统软件中的文件自动归档功能
- 17泛普OA软件预算管控实现要点说明
- 18OA软件为集团的协同管理平台提供核心管理框架
- 19建立重庆泛普OA软件集团内部行政办公基础平台
- 20重庆商业投资集团有限公司招标办公OA系统相关软件
- 21如何做好企业光纤路由器配置
- 22华阴亮化工程提升城市品位
- 23教师本人述职范文
- 24教你如何破解无线网络密码
- 25利用静态路由技术实现网络路由的控制
- 26绥棱电业局为城市亮化提供优质服务
- 27详细讲解网络访问控制策略的应用
- 28滕州30余处景观亮化小品 扮靓夜色喜迎新春
- 29亮化工程:张灯结彩迎春节
- 30企业IT运维管理之补丁管理的误区