丁伯川 孫可心 商浩 畢曉龍 李碩
摘要:為加速實(shí)現(xiàn)工廠的數(shù)字化轉(zhuǎn)型,提高工廠生產(chǎn)運(yùn)營(yíng)簡(jiǎn)報(bào)的制作、管理和查詢速度,及時(shí)了解各生產(chǎn)區(qū)域數(shù)字化應(yīng)用及現(xiàn)場(chǎng)實(shí)際生產(chǎn)情況,設(shè)計(jì)并開發(fā)了基于Streamlit的工廠生產(chǎn)運(yùn)營(yíng)簡(jiǎn)報(bào)自動(dòng)化管理Web應(yīng)用,詳細(xì)規(guī)劃了Web應(yīng)用的各項(xiàng)基本功能和整體結(jié)構(gòu)并分析了Web應(yīng)用的局部關(guān)鍵代碼,實(shí)現(xiàn)了生產(chǎn)運(yùn)營(yíng)簡(jiǎn)報(bào)的自動(dòng)化生成、展示、存儲(chǔ)以及文件的查詢下載。
關(guān)鍵字:生產(chǎn)管理; Streamlit;數(shù)字化運(yùn)營(yíng);簡(jiǎn)報(bào)自動(dòng)化管理
引言
生產(chǎn)管理系統(tǒng)因負(fù)責(zé)的方面廣、項(xiàng)目多和區(qū)域大使得簡(jiǎn)報(bào)制作過程的信息處理量大,同時(shí),因簡(jiǎn)報(bào)依據(jù)生產(chǎn)和管理周期分為日?qǐng)?bào)、周報(bào)和月報(bào)造成簡(jiǎn)報(bào)制作任務(wù)量大。傳統(tǒng)簡(jiǎn)報(bào)的制作多依賴生產(chǎn)管理人員人工制作,簡(jiǎn)報(bào)制作耗時(shí)較長(zhǎng)、工作效率較低。此外,傳統(tǒng)簡(jiǎn)報(bào)的管理媒介多為紙質(zhì)或電子表單,不便于簡(jiǎn)報(bào)及其相關(guān)信息的查詢、存儲(chǔ)和數(shù)字化展示。本文以生產(chǎn)運(yùn)營(yíng)簡(jiǎn)報(bào)為對(duì)象,以生產(chǎn)運(yùn)營(yíng)簡(jiǎn)報(bào)的自動(dòng)化生成、信息化存儲(chǔ)、查詢、下載和數(shù)字化展示為目標(biāo),基于Streamlit框架和Python編程語言,并利用Mysql數(shù)據(jù)庫和Document模塊,開發(fā)了生產(chǎn)管理系統(tǒng)簡(jiǎn)報(bào)自動(dòng)化管理Web應(yīng)用,實(shí)現(xiàn)了生產(chǎn)運(yùn)營(yíng)簡(jiǎn)報(bào)的自動(dòng)化制作、存儲(chǔ)、信息化查詢、下載以及數(shù)字化展示。
1.生產(chǎn)運(yùn)營(yíng)簡(jiǎn)報(bào)自動(dòng)化管理Web應(yīng)用的設(shè)計(jì)與分析
1.1需求分析
本文研究對(duì)象為生產(chǎn)管理系統(tǒng)中生產(chǎn)運(yùn)營(yíng)簡(jiǎn)報(bào),該Web應(yīng)用的主要使用者為生產(chǎn)管理系統(tǒng)的技術(shù)人員、生產(chǎn)管理人員、質(zhì)量管理人員和安全管理人員等。生產(chǎn)管理系統(tǒng)技術(shù)人員亟需能夠?qū)崿F(xiàn)生產(chǎn)相關(guān)信息統(tǒng)計(jì)分析、簡(jiǎn)報(bào)自動(dòng)化生成和存儲(chǔ)的Web應(yīng)用,提升自身工作效率。生產(chǎn)管理者和質(zhì)量管理人員亟需一種能夠?qū)崿F(xiàn)簡(jiǎn)報(bào)快速查詢和下載的輕量級(jí)Web應(yīng)用,便于綜合掌握生產(chǎn)現(xiàn)場(chǎng)情況并及時(shí)做出反應(yīng)。
該Web應(yīng)用采用B/S架構(gòu),通過系統(tǒng)瀏覽器可同時(shí)或分別查看生產(chǎn)管理方面的各項(xiàng)運(yùn)營(yíng)指標(biāo)及其相關(guān)信息,如各工區(qū)的人員、開工及時(shí)性、計(jì)劃、交付、異常、安全、成本及變更等。生產(chǎn)管理系統(tǒng)的技術(shù)人員可以通過設(shè)定簡(jiǎn)報(bào)自動(dòng)化生成觸發(fā)方式按時(shí)生成相應(yīng)的生產(chǎn)運(yùn)營(yíng)簡(jiǎn)報(bào),并可根據(jù)簡(jiǎn)報(bào)內(nèi)容對(duì)其進(jìn)行整體或者分塊存儲(chǔ)。生產(chǎn)管理人員、質(zhì)量管理人員和安全管理人員可根據(jù)自身管理的方向,通過輸入要查詢的時(shí)間及運(yùn)營(yíng)指標(biāo)進(jìn)行相應(yīng)的簡(jiǎn)報(bào)的查詢并瀏覽,根據(jù)需求可通過點(diǎn)擊下載按鈕進(jìn)行簡(jiǎn)報(bào)的下載和打印。同時(shí),該Web應(yīng)用可通過企業(yè)的內(nèi)部網(wǎng)絡(luò)部署,具備移動(dòng)端、PC端的兼容性和數(shù)據(jù)保密性。
1.2數(shù)據(jù)設(shè)計(jì)
Web應(yīng)用中簡(jiǎn)報(bào)主要內(nèi)容其呈現(xiàn)形式多為文本、圖片和表格,并且在生成、保存、查詢和下載等功能中利用Mysql數(shù)據(jù)庫實(shí)現(xiàn)了生產(chǎn)運(yùn)營(yíng)簡(jiǎn)報(bào)及其相關(guān)信息的新建、查詢和存儲(chǔ)等功能。
1.3數(shù)據(jù)庫設(shè)計(jì)
根據(jù)生產(chǎn)運(yùn)營(yíng)簡(jiǎn)報(bào)的E-R圖,設(shè)計(jì)并創(chuàng)建了簡(jiǎn)報(bào)分布表,包括如下字段:FileID(文件標(biāo)識(shí))、FileName(文件名)、Extension(文件的擴(kuò)展名)、ContentType(文件種類)、FileURL(文件地址)、FileData(二進(jìn)制文件)、FileSize(文件大?。ploadDate(文件導(dǎo)入時(shí)間)。其中,F(xiàn)ileURL字段用于記錄該簡(jiǎn)報(bào)位于公司大數(shù)據(jù)中心的地址,用于公司備案。FileData字段用于生產(chǎn)管理系統(tǒng)數(shù)據(jù)庫的簡(jiǎn)報(bào)存儲(chǔ),用于本地存儲(chǔ)與備份。
2.Web應(yīng)用的功能與實(shí)現(xiàn)
2.1Web應(yīng)用主要功能
根據(jù)相關(guān)用戶的需求該Web引用設(shè)計(jì)并開發(fā)了如下功能模塊:
(1)用戶登錄認(rèn)證模塊。主要用于保證生產(chǎn)管理系統(tǒng)的信息安全,對(duì)不同用戶進(jìn)行角色認(rèn)證并賦予與其崗位相匹配的功能使用權(quán)限。
(2)生產(chǎn)運(yùn)營(yíng)情況的查詢及展示模塊。當(dāng)用戶輸入查詢的日期時(shí),用于對(duì)生產(chǎn)運(yùn)營(yíng)情況進(jìn)行分析和數(shù)據(jù)處理,并根據(jù)簡(jiǎn)報(bào)內(nèi)的相關(guān)內(nèi)容進(jìn)行展示。
(3)生產(chǎn)運(yùn)營(yíng)簡(jiǎn)報(bào)生成及存儲(chǔ)模塊。生產(chǎn)管理系統(tǒng)按照日?qǐng)?bào)、周報(bào)和月報(bào)的周期自動(dòng)生成相應(yīng)的簡(jiǎn)報(bào),存儲(chǔ)到生產(chǎn)管理系統(tǒng)的本地?cái)?shù)據(jù)庫并上傳到公司大數(shù)據(jù)中心。
(4)生產(chǎn)運(yùn)營(yíng)簡(jiǎn)報(bào)下載模塊。主要為用戶提供簡(jiǎn)報(bào)的下載功能,可用于日?qǐng)?bào)、周報(bào)和月報(bào)的下載。
2.2相關(guān)功能的實(shí)現(xiàn)
2.2.1生產(chǎn)運(yùn)營(yíng)情況的查詢與展示
生產(chǎn)運(yùn)營(yíng)情況信息的查詢主要依靠Streamlit中的streamlit.date_input( )函數(shù)生成時(shí)間選擇輸入框,streamlit.multiselect( )函數(shù)生成簡(jiǎn)報(bào)類型選擇框(日?qǐng)?bào)、周報(bào)、月報(bào)),根據(jù)時(shí)間輸入框內(nèi)的時(shí)間和簡(jiǎn)報(bào)類型從生產(chǎn)管理系統(tǒng)的數(shù)據(jù)庫中獲取相應(yīng)的數(shù)據(jù)。
生產(chǎn)運(yùn)營(yíng)情況的展示依據(jù)查詢到的數(shù)據(jù)制作相應(yīng)的表格和數(shù)據(jù)圖表并進(jìn)行展示。其中,表格分別采用streamlit.table( )和streamlit.dataframe( )進(jìn)行靜態(tài)表格和動(dòng)態(tài)表格的展示。數(shù)據(jù)圖表根據(jù)圖表類型選擇相應(yīng)的函數(shù)進(jìn)行展示,如streamlit.line_chart( ) 、streamlit.bar_chart( )、streamlit.area_chart( )等。
2.2.2 簡(jiǎn)報(bào)生成及存儲(chǔ)模塊
根據(jù)簡(jiǎn)報(bào)(日?qǐng)?bào)、月報(bào)、周報(bào))中的具體內(nèi)容,通過查詢生產(chǎn)管理系統(tǒng)數(shù)據(jù)庫獲取相關(guān)數(shù)據(jù),然后參考簡(jiǎn)報(bào)的文本格式,采用Document模塊并結(jié)合numpy、pandas、matplotlib等模塊制作簡(jiǎn)報(bào)文本內(nèi)容。簡(jiǎn)報(bào)的自動(dòng)化生成觸發(fā)方式依據(jù)生產(chǎn)作業(yè)時(shí)間和簡(jiǎn)報(bào)管理周期通過制定相應(yīng)的時(shí)間節(jié)點(diǎn)觸發(fā)簡(jiǎn)報(bào)生成指令。其中,Document模塊下生成的文件可用于制作臨時(shí)文件,當(dāng)文件傳入數(shù)據(jù)庫后,該臨時(shí)文件自動(dòng)刪除。
簡(jiǎn)報(bào)的存儲(chǔ)模塊將臨時(shí)文件按照指定路徑上傳到公司大數(shù)據(jù)中心并獲取到相應(yīng)的URL,并將臨時(shí)文件進(jìn)行屬性提取和二進(jìn)制轉(zhuǎn)碼,然后存入本地?cái)?shù)據(jù)庫中。
2.2.3 簡(jiǎn)報(bào)下載模塊
簡(jiǎn)報(bào)的下載模塊應(yīng)實(shí)現(xiàn):鼠標(biāo)單擊(或觸屏單擊)后彈出簡(jiǎn)報(bào)下載提示框,用戶可根據(jù)需要為文件指定存儲(chǔ)路徑,隨后Web應(yīng)用將該簡(jiǎn)報(bào)存儲(chǔ)到用戶指定路徑下。
簡(jiǎn)報(bào)下載功能實(shí)現(xiàn)的路徑為:基于Streamlit.download_button函數(shù)構(gòu)建下載按鈕,鼠標(biāo)單擊下載按鈕后,生產(chǎn)管理系統(tǒng)本地?cái)?shù)據(jù)庫中相應(yīng)的簡(jiǎn)報(bào)(日?qǐng)?bào)、周報(bào)、月報(bào))二進(jìn)制文件,并根據(jù)其文件種類進(jìn)行解碼成相應(yīng)的文件類型,隨后根據(jù)用戶指定路徑進(jìn)行保存。
3結(jié)語
本文基于Streamlit框架和Document等模塊,利用Python編程語言和SQL結(jié)構(gòu)化查詢語言,開發(fā)了一種基于Streamlit框架的工廠生產(chǎn)運(yùn)營(yíng)簡(jiǎn)報(bào)自動(dòng)化管理Web應(yīng)用,實(shí)現(xiàn)了簡(jiǎn)報(bào)的自動(dòng)化生成、存儲(chǔ)以及數(shù)字化展示和下載。該Web應(yīng)用具備數(shù)據(jù)的實(shí)時(shí)性和可視化、文本信息結(jié)構(gòu)化、文件管理規(guī)范化、信息查詢簡(jiǎn)易化等特點(diǎn)。
參考文獻(xiàn):
[1]孫可心,鐘宏遠(yuǎn),呂光宙,商浩.基于WebGL的焊接構(gòu)架質(zhì)量控制點(diǎn)三維可視化管理研究[J].技術(shù)與市場(chǎng),2020,27(07):170-171.
作者簡(jiǎn)介:丁伯川(1993- ),男,漢族,河北任丘人,助理工程師,碩士研究生,研究方向:工業(yè)大數(shù)據(jù)挖掘與分析。