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