當前位置:工程項目OA系統(tǒng) > 泛普各地 > 重慶OA系統(tǒng) > 重慶OA快博
泛普OA軟件協(xié)同辦公系統(tǒng)項目管理-流程驅動項目任務進度開發(fā)說明
泛普OA軟件協(xié)同辦公系統(tǒng)項目管理-流程驅動項目任務進度開發(fā)說明v1.0 - 副本.doc
2 引言
2.1 編寫目的
本開發(fā)說明書的目的描述清楚本次開發(fā)實現的功能,以及實現的方式。供需求提出者確認,已避免雙方理解上的差距,作為開發(fā)交付成果的依據。
預期讀者:需求提出人員,開發(fā)人員、測試人員,項目經理。
2.2 定義
一些術語的描述
2.3 參考資料
3 范圍
3.1 系統(tǒng)主要目標
在泛普OA軟件系統(tǒng)現有項目管理中進行修改,實現流程控制項目任務進度,每個項目任務對應的審批流程歸檔,即認為項目的該任務完成,系統(tǒng)自動創(chuàng)建該任務的下一任務對應的流程,使得下一任務進入進行狀態(tài),直至最后一個任務結束。在項目的子任務中可以查看到該任務對應的流程的審批狀態(tài)進度(分為:未創(chuàng)建、已創(chuàng)建、已審批、已歸檔)。
在項目模板中,定義項目任務,每個模板中的項目任務對應一個審批流程。設置好后,在前臺新建該類型的項目時,系統(tǒng)自動將項目任務對應的審批流程帶入。項目創(chuàng)建后,系統(tǒng)自動觸發(fā)第一個子任務對應的流程(利用外部數據觸發(fā)流程功能)。
注:本說明只在于提供大家設計思路,細節(jié)有待完善。
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
數據庫修改:
執(zhí)行SQL語句:alter table Prj_TemplateTask add workflowTypeid int
GO
3.2.2 前臺部分
通過選擇配置好的項目模板新建項目,將項目任務模板中事先配置好的審批流程自動帶入。新建項目保存后,流程自動觸發(fā)該項目第一個任務對應的審批流程,創(chuàng)建人默認成任務負責人。審批人在流程中進行配置。每個任務對應的審批流程可以在項目信息表中查看審批進度(分為 未創(chuàng)建、已創(chuàng)建、審批中、執(zhí)行中、已歸檔)對應流程的4中節(jié)點類型。如圖:
一個任務審批歸檔后,自動將任務的完成比率改為100%,并自動觸發(fā)下一個任務對應的審批流程,流程的創(chuàng)建人為下一個人任務的負責人。流程的審批人也是同樣在流程中進行設置。
以此類推,直到項目的最后一級任務完成。
前臺修改了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中同時也實現了默認將新建項目的第一個任務設置為啟動狀態(tài)。便于流程的自動觸發(fā)。
數據庫修改:
執(zhí)行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、在流程歸檔節(jié)點前附加操作中設置DML接口動作:任務進度修改和觸發(fā)下一任務,如圖:
任務進度修改:實現修改當前審批流程對應的項目任務,審批通過后自動將任務進度改為100%。
觸發(fā)下一任務:當前流程審批歸檔后,系統(tǒng)自動將當前項目任務對應的下一個任務狀態(tài)設置為啟動。啟動后通過外部數據觸發(fā)流程配置,實現下一任務對應流程的自動觸發(fā)。
3.2.4 外部數據觸發(fā)流程配置
1、 所有項目任務中需要的審批流程,需要在外部數據觸發(fā)流程配置中進行配置。用于自動將處于啟動狀態(tài)的任務進行流程觸發(fā)。如圖:
注:需要提前在項目任務表中增加2個字段,執(zhí)行下面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,代表改項目任務處于啟動狀態(tài)(任務未啟動時候applystatus默認等于0)。當流程觸發(fā)成功后回寫項目任務表將任務的啟動狀態(tài)改為2,代表流程已經創(chuàng)建。觸發(fā)流程失敗時,將任務啟動狀態(tài)改完applystatus=0
詳細設置如上圖,將流程表單字段與項目任務信息進行一一對應。流程標題默認為項目任務名稱,流程創(chuàng)建人為當前任務負責人,創(chuàng)建日期為任務開始日期,相關項目為當前任務的所屬項目,任務為當前項目任務。正文為空,流程后續(xù)節(jié)點可設置編輯。
2、 外部數據觸發(fā)流程周期設置,如圖:
注:設置成1分鐘掃描一次,太頻繁對系統(tǒng)性能有影響。
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協(xié)同OA軟件的項目需求建議可以如下內容:
- 2OA在XX集團管控特點:“多元化、多維度組織、重點產業(yè)突出”
- 3OA辦公軟件都有哪些比較好用的?
- 4網絡管理技巧 如何卸載TCP/IP協(xié)議
- 5企業(yè)評估云計算安全的正確詮釋
- 6IT運維模式:三種管理維度的劃分
- 7合眾人壽待遇怎么樣
- 8快速方便的協(xié)同管理解決方案為核心目標
- 9招聘主管崗位說明書示例
- 10鶴城單燈控制系統(tǒng)使城市亮化更低碳環(huán)保
- 11五種網絡管理技巧優(yōu)化網絡辦公環(huán)境
- 12IT運維管理十年成長之惑
- 132012年對國內OA辦公軟件是一個不平凡的一年
- 14滄州市出現景觀亮化工程,城市夜景更迷人
- 15一般做OA軟件代理的公司,都開展有多種業(yè)務
- 16辦公系統(tǒng)軟件中的文件自動歸檔功能
- 17泛普OA軟件預算管控實現要點說明
- 18OA軟件為集團的協(xié)同管理平臺提供核心管理框架
- 19建立重慶泛普OA軟件集團內部行政辦公基礎平臺
- 20重慶商業(yè)投資集團有限公司招標辦公OA系統(tǒng)相關軟件
- 21如何做好企業(yè)光纖路由器配置
- 22華陰亮化工程提升城市品位
- 23教師本人述職范文
- 24教你如何破解無線網絡密碼
- 25利用靜態(tài)路由技術實現網絡路由的控制
- 26綏棱電業(yè)局為城市亮化提供優(yōu)質服務
- 27詳細講解網絡訪問控制策略的應用
- 28滕州30余處景觀亮化小品 扮靚夜色喜迎新春
- 29亮化工程:張燈結彩迎春節(jié)
- 30企業(yè)IT運維管理之補丁管理的誤區(qū)
成都公司:成都市成華區(qū)建設南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓