泛普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网络安全管理要警惕九种“人”
- 2IT基础设施运维系列故事之:如何“hold”住网管的幸福
- 3晋中市城区街道亮化工程侧记
- 4案例解析IT运维管理制度的重要性
- 5摆脱“找问题的日子” IT综合管理“关联”成为核心
- 6 BA是什么职位?为何越来越吃香
- 7重庆泛普OA软件协同办公系统项目管理-流程驱动项目任务进度
- 8学习网络管理的教材及集中化管理操作
- 9重庆OA软件的左侧功能菜单与差旅管理介绍
- 10重庆软件公司排名及名录(仅参考)
- 11OA自动化办公系统的消耗预提预算:
- 12大渡口:加强路灯维护管理 提高城市亮化水平
- 13OA软件下载具有丰富、协同的数据支持流程审批
- 14OA办公系统软件单个项目实施进度表V2.0
- 15OA系统应提供打印文件的功能描述
- 16云WAN优化服务的发布让互联网更可靠
- 17绥棱电业局为城市亮化提供优质服务
- 18岗位评价要素 岗位评价的目的
- 19张家口宣化区清远楼亮化升级提升城市品位
- 20浪潮集团好不好
- 21OA如何加强各位同仁的年度指标目标感?
- 22职场心理小知识 三招学会在职场生存
- 23ThinkOne泛普办公OA系统正版企业美化版程序特点有
- 24OA采用先进、成熟实用的编码技术和安全技术
- 25网络管理专家:过滤设备防护网络安全
- 26张家口沽源县:亮化工程妆点“草原水城”夜景
- 27OA办公系统中客户投诉管理怎样实现呢?
- 28局域管理软件实时检测方便网络工程师
- 29OA软件建立内部基于工作事项的运营规范
- 30办公自动化系统的人事综合信息提醒