相關文章:
利用django打造自己的工作流平台(一):從EXCEL到流程化運作
本文是“利用django打造自己的工作流平台”系列文章的第二篇,在自己開發的工作流平台中添加了一個用於排查統計可能受感染人員的項目,可用於公司、部門對員工以及各行政單位對轄區內的人員進行受感染情況的跟蹤和統計,為疫情防控貢獻一點力量。演示試用地址[點擊此處],兩個試用賬號/密碼為:testuser1/testuser1, testuser2/testuser2。
對人員的排查流程如下圖1所示:
圖1.可能受感染人員的排查流程
疫情統計項目主頁如圖2所示:
圖2.疫情統計項目首頁
點擊疫情統計項目主頁上的“創建條目”鏈接,即可彈出新頁面用於錄入人員信息,填好相關信息后點擊創建按鈕即可,如圖3所示:
圖3.用於錄入人員信息的頁面
對於已經錄入的人員信息,在疫情統計項目首頁點擊對應的姓名即可查看人員的詳細信息;此外還可以根據圖1中的流程更改人員狀態。如下圖4中張三當前處於"篩查中"狀態,根據圖1中的流程在頁面下方自動生成“確認感染”、“疑似感染”、“排除感染”、“更新信息”四個按鈕,前三個按鈕會將人員的“當前狀態”分別修改為“已確認”、“疑似”、“已排除”,與圖1中的流程圖一致;最后一個按鈕用於將更新后的表單數據刷寫到數據庫,不進行狀態修改。
圖4.用於查看和修改已錄入人員的頁面
在工作流平台中添加疫情統計這個項目非常簡單,只需要如下幾個步驟:
1.在FSM.py中定義項目的處理流程,並在TRANS_TABLE_DICT添加項目名字和項目處理流程組成的字典項;綠色字體是列出的git新增項。
2.定義項目的model和form,用於確定使用哪些字段記錄人員信息,以及字段的表現形式(文本框or下拉框等);其中model是核心,form可由model生成,主要定義各字段的顯示行高、列寬等。
3.定義完model和form后,將相應的字典項填入FormAndModelDict,一級字典的key是項目名稱'patient_stat',二級字典的key分別是項目中文名、項目使用的model、項目使用的form等;此外還需要將項目名稱'patient_stat'添加到PRJ_NAME_LIST中,PRJ_NAME_LIST定義了各項目在工作流平台首頁的排列順序。
4. 執行python manage.py makemigrations和python manage.py migrate兩條命令,將定義好的model遷移到數據庫;
5.執行ps aux | grep wsgi,查看uwsgi的進程號,然后執行kill -9 9301殺死uwsgi進程;然后執行 uwsgi flow_uwsgi.ini重啟uwsgi進程,項目就可以使用了。