Loonflow(https://github.com/blackholll/loonflow)是基于django的工作流引擎系統,通過http接口調用。 可以作為企業內部統一的工作流引擎,提供諸如權限申請、資源申請、發布申請、請假、報銷、it服務等所有工作流場景的服務。如果有一定的開發能力建議只使用后端引擎功能,前端根據場景定制開發可分散于各個內部后臺管理系統(如人事、運維、監控、cmdb等等)。同時因為Loonflow是通過http api提供服務的,所以你的調用方可以是各種語言,而不是必須python。
LOONFLOW 分為兩部分:
- 工作流配置的管理后臺
- 提供http api供各個系統(如果oa、cmdb、運維系統、客服系統)調用以完成各自系統定制化的工單需求
Loonflow只提供后端調用api和工作流的配置后臺,但是分別提供了vue和bootstrap版本的調用方demo。下面是效果圖和動畫
vue版本demo
vue版本demo創建工單界面
vue版本demo工單列表界面
vue版本處理工單界面
Boostrap版本demo
loonflow提供較完善的管理后臺,可以在管理后臺直接配置修改工作流,并自動生成對應的流程圖。
管理后臺的工作流配置界面
管理后臺工作流配置-自定義字段配置
管理后臺-工作流流程圖
Loonflow主要功能包括:
【API】新建工單
【API】獲取工單列表:待辦、關聯、創建的工單
【API】獲取工單詳情(區分是否有處理權限,如果處理權限顯示處理表單,有查看權限顯示展現表單)
【API】用戶對工單可以做的操作
【API】處理工單(提交、保存、同意、拒絕、完成等等配置的操作)
【API】獲取工單流轉記錄(工單的歷史操作記錄)
【API】工單step(簡化的處理記錄順序圖)
【API】修改工單狀態
【API】批量獲取工單狀態(逗號隔開,簡單的狀態信息:只包括狀態id,狀態名稱)
【API】獲取工單狀態詳情
【API】接單(當工單當前的處理人實際為多個人時,支持先接單,然后再處理)
【API】轉交工單
【API】加簽工單
【API】提供修改工單字段的值的api
【API】工單列表中接口中state對象增加label信息
【API】提供接口獲取工作流擁有的狀態(state)列表
【API】工單腳本允許重試執行(執行失敗的情況),重試工單腳本的api
【API】工單列表接口支持根據state_ids,是否已經結束,工單ids來查詢
【內部邏輯】支持在工單流轉過程中自動化執行python腳本(可以通過寫腳本實現各種定制化的操作)
【內部邏輯】必填字段的校驗支持不同transiton區分配置是否開啟
【內部邏輯】自定義字段新增標簽字段,用于調用方自行處理邏輯
【內部邏輯】工單流水號前綴自定義
【內部邏輯】工單的分配支持隨機處理、全部處理(工單狀態的處理人為多人、部門、角色等實際對應為多個處理人時候,如果該狀態設置的分配方式為隨機處理,則將會工單處理人設置為其中的某一個人。 如果該狀態設置的分配方式為全部處理,那么需要涉及的每個人都處理完才會進入到下一個狀態)
【內部邏輯】支持條件流轉(如請假申請工單,當請假天數>3需要總監審批,當請假天數>5需要CEO審批)
【內部邏輯】支持設置transion為同意、拒絕、還是其他屬性,并更新工單狀態
【內部邏輯】待辦通知功能(通過自定義的發送消息腳本來發送, 支持通知內容模板自定義)
【內部邏輯】新建工單的權限支持(通過權限限制表達式來實現支持限制周期、限制人員、限制級別等等)
【內部邏輯】退回操作支持自定義是否退回到目標狀態最后一個處理人(如權限申請類型的工單,其中有個狀態是運維人員處理中,運維A接單處理完成后,達到申請人驗證中,如果申請人發現驗證不通過需要退回,可以定義退回到所有運維人員還是只退回到之前處理的運維A)
【內部邏輯】API調用授權范圍管理:支持根據調用方確定列表范圍(不同來源應用只允許查詢該應用相關的數據:工單列表、工單詳情、等等)
【內部邏輯】定時器流轉(如果需要工單在某個工單狀態下超過多長時間自動流轉到下個狀態,可以通過此來實現)–使用celery的countdown實現
【內部邏輯】工單歷史記錄中保存當前工單所有信息便于回查(工單每次操作 都會當前工單的所有字段的信息保存起來)
【功能】工作流配置管理后臺
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。