關於基於流程的待辦事項的實現
流程:工作流,一項工作的結束決定另一項工作的開始
步驟:流程中的每一步,每個工作
流動主體:步驟中,工作的物件
例如:員工建立乙份申請提交給經理,經理批示後下達給員工。這個過程就是乙個流程。它包括:建立申請、提交、批示、下達四個步驟,流動主體是申請。
這裡說的待辦事項是記錄在乙個流程中每個操作人員需要做的事項。
因此,它是基於流程的。要求在流程走到乙個步驟時,操作該步驟的人員的待辦事項中自動新增一項待辦事項,當走到下一步時,該項待辦事項自動取消。
待辦事項的問題複雜度主要取決於流程的複雜度。
影響流程的複雜度的因素有: 1
、是否有併發流程。 2
、流動的主體是否發生變化。
我們現在的流程中,有乙個併發流程;流動主體有4個:工程、專案、設計單、預算補充申請單。
給每個步驟設定乙個標誌(point)。建立標誌列表tbl_pending_notice
給流動主體新增三個屬性:當前使用者(cur_uid),當前標誌(cur_point),流動時間(pass_date)。
標誌(point):([流程號]/[步驟號]),如起始步驟(0/1) -> (0/2) 有併發流程後編為(1/1)、(2/1)。
當前使用者(cur_uid):([使用者編號]),使用者編號可以是單個使用者的編號如:(34),也可以是多個使用者編號的組合如:((12),(34),(56))三個併發流程,每個流程當前步驟的使用者編號分別為12、34、56。
當前標誌(cur_point):(([使用者編號])@([標誌位]))。如單流程((34)@(0/4)),三併發流程((12)@(1/1),(34)@(2/1),(56)@(3/1))。
流動時間(pass_date):時間型資料。
設:讀取使用者編號34的使用者(以下簡稱使用者34)在工程上的待辦事項 1
、在工程表中,查詢cur_uid中有沒有(34),有則表示使用者34在該工程中有待辦事項; 2
、檢查在cur_point中有沒有(34)@,如果沒有,則資料結構損壞 3
、在cur_point中,擷取從(34)@後一位開始到末尾的字串; 4
、在擷取的字串中,擷取從頭開始到第乙個「)」的字串,即步驟標誌位
從而得到使用者34在工程表中,當前的待辦事項。
sql:
declare @myid varchar(50)
set @myid = '(34)'
select my_point,pass_date
,replace(n.message,'',a.project_name_vchr)as cur_message
from (
select substring(my_point,1,charindex(')',my_point)) as my_point
,pass_date,project_name_vchr
from (
select pass_date,project_name_vchr,cur_point,substring(cur_point,charindex(''+ @myid +'@',cur_point)+len(''+ @myid +'@'),len(cur_point)) as my_point
from tbl_project_info
where cur_uid like '%'+ @myid +'%' and charindex(''+ @myid +'@',cur_point)>0
)as a
) as a
left outer join tbl_pending_notice n on a.my_point =n.point 1
、在cur_uid中,將我的使用者編碼替換為下一任的使用者編碼; 2
、在cur_point中,將我的標誌位替換為下一任的標誌位
例:當前使用者34在步驟(0/4),完成後傳給使用者25,步驟(0/5)
sql
declare @projectid bigint
declare @myid varchar(50)
declare @nextid varchar(50)
declare @mypoint varchar(50)
declare @nextpoint varchar(50)
set @projectid=0
set @myid='(34) '
set @nextid= '(25)'
set @mypoint='(34)@(0/4)'
set @nextpoint ='(25)@(0/5)'
update tbl_project_info set pass_date=getdate()
,cur_uid=replace(cur_uid,@myid,@nextid)
,cur_point=replace(cur_point,@mypoint,@nextpoint)
where id=@projectid
有沒有簡約的待辦事項便簽?
隨著生活和職場的節奏加快,很多人都發現自己的時間是越來越不夠用了,一天結束後,很多應該完成的待辦事項都沒有完成。而對於每個人來說,只有合理安排好每天的待辦事項和日程,才能夠掌控時間,從而獲得進步與成功。其實提前列出每日待辦事項清單,並且設定好提醒時間督促自己按時完成,很大程度上可以幫助我們提高辦事效...
Vuex 模組化實現待辦事項的狀態管理
在vue裡,元件之間的作用域是獨立的,父元件跟子元件之間的通訊可以通過prop屬性來傳參,但是在兄弟元件之間通訊就比較麻煩了。比如a元件要告訴一件事給b元件,那麼a就要先告訴他們的爸元件,然後爸元件再告訴b。當元件比較多,要互相通訊的事情很多的話,爸元件要管他們那麼多事,很累的。vuex正是為了解決...
隨時插入待辦事項的todonotes巨集包
在群裡看到有人推薦todonotes巨集包,研究了一下,感覺還不錯,該巨集包可以在文件的任意位置新增乙個待辦事項 todo 主要的語法有三個 todo命令用於在文章的任意位置插入乙個待辦事項,大致的樣子如下圖所示,通過可選引數可以調整其外觀。可選引數列表 key說明 disable 清除所有todo...