新建公文處理流程:
1、 建新流程,首先指定流程步驟,未正式啟用的流程可以修改步驟。
3、 指定每個步驟的簽署人(乙個或多個人)
4、 將流程儲存在流程資料庫中。資料庫結構如下:
流程庫
欄位名稱 型別 key 說明
proc_id varchar(6) primary key 流程編號
proc_name varchar (255) 流程名稱
isvalid char(1) 生效標誌:
0:未生效
1:已生效
流程步驟庫
proc_id varchar (6) primary key 流程編號
step_id varchar (6) 步驟編號
usrid varchar (6) 簽署人使用者號
flag char(1) 簽署標誌
:0--簽署
:1—會簽
舉例:
流程表
流程編號 流程名稱
000001 a流程
000002 b流程
000003 c流程
流程步驟表
流程編號 步驟編號 使用者編號 (說明)
000001 1 000003 使用者編號可以是真正的「使用者編號」(來自users),也可以是「職務編號(來自task)」,視程式設計時如何處理而定,
1、如果按使用者編號處理,程式設計時少一道處理過程,但設定步驟不靈活,一旦人員調動,流程則需重新設定;
2、按職務編號處理,無論人員如何變動,流程不需重新設定,只是在程式設計時,需按職務將工作分配給簽署人
3、一般說來,乙個流程中,同乙個使用者不可能簽署兩次。
5、 如果時間允許,建議按職務編號處理。
6、 職務設定在系統設定中已作好。
000001 2 000004
000001 2 000002
000001 2 000009
000001 3 000008
000001 4 000001
000002 1 000001
000002 1 000100
000002 2 002102
000002 2 000009
000002 3 000002
000003 1 000005
000003 2 000008
5、確定流程是否生效(生效後的流程不能修改)
公文流程步驟
1、 新建乙個公文(擬文)
2、 輸入公文必要的資訊(3、 選擇合適的流程
4、 儲存公文
5、 按照流程所涉及的步驟及使用者(如果按職務處理,則需要轉換為使用者編號),生成公文審批表,如下表所示
公文審批過程表
欄位名稱 型別 key 說明
id varchar (12) primary key 流水號
document_id varchar(6) 公文號
proc_id varchar (6) 審批流程號
step_id varchar (6) 步驟號
user_id varchar (6) 使用者編號
opinion varchar (255) 簽署意見
opinflag char(1) 意見
0:不同意
1:同意
2:需進一步研究
flag char(1) 簽署標誌
0:未開始
1:進入審批流程
2:審批完成
procflag char(1) 流程進展標誌
0:審批完成
1:否定
2:發回重審
6、 擬文完成後,用「進入審批流程」處理,將流程中序號為1的流程標誌設為「正在審批」狀態。每個流程步驟完成後,自動將下一審批過程(其公文號、審批流程號、審批步驟號完全相同,而且流程進展標誌不為2)的flag設為1,進入審批流程。如果沒有下一流程,將流程進展標誌設定為 0,表示審批完成,然後發回varchar (6)擬稿人或辦公室,按審批意見決定是否發文。
7、 如果決定發回重審,則將原審批過程表中的流程進展標誌設為2,然後在審批過程表中重新建乙個審批過程,重新審批。
8、 當審批過程的簽署標誌為1(進入審批流程)時,在使用者提醒欄中顯示使用者有檔案要簽署。(在使用者登入時顯示提醒欄)
當使用者審批後的狀態要用觸發器實現
具體的**如下:
create trigger tr_complete_proc on [dbo].[proc_audit]
for update
as
declare @all_proc int,@completed_proc int,@del_proc_id varchar(6),@del_document_id varchar(6)
if update(flag)
begin
select @del_proc_id=proc_id,@del_document_id=document_id from deleted
select @all_proc=count(*)
from proc_audit
where proc_id=@del_proc_id and document_id=@del_document_id
select @completed_proc=count(*)
from proc_audit
where proc_id=@del_proc_id and document_id=@del_document_id and flag=2
if @all_proc=@completed_proc
update proc_audit
set procflag=0
where proc_id=@del_proc_id and document_id=@del_document_id
end
Big Num的具體實現和思路
關於bign模板那些事兒。由於個人寫演算法的時候基本不用別人寫的庫。所以一般來說,我只用三個標頭檔案。缺乏了string之後寫big num對於有些人來說就沒那麼簡單了。一直覺得大數模板在10min之內寫完絕對不是一件很簡單的事兒。大概所有人都會這樣認為吧。然而其實不一定!對於一般的大數模板來說,需...
java中的工作流流程管理和流轉思路
在做某個管理專案時,被要求實現一套流程管理,比如請假的申請審批流程等,在參考了很多資料,並和同事討論後,得到了乙個自主實現的流程管理。以下提供我的設計思路,知道了思路,實現起來就簡單很多了。首先我設計了5個類來實現流程的自主設定,主要是對流程的定義和流程流轉。注 這是設計的圖,並不是實現 dicti...
Oracle DBA做SQL優化的最佳思路
如何在 oracle資料庫裡寫出高質量的sql語句,如何在oracle資料庫裡對有效能問題的sql做診斷和調整,這是dba們在oracle資料庫實踐中不可避免的難題。下面就讓我們來分析一下拿到一條問題sql後我們可以如何去開始我們的優化思路。對於有問題的sql做sql優化的具體步驟一般為 1 檢視該...