黎 逍,姜開永,李文達,林欽鴻,梁浩文
(廣州城市理工學院,廣東 廣州 510000)
零售批發(fā)商或小型庫存企業(yè)在日常工作中,需要對大宗貨物進行進銷存、訂單管理和貨物分揀等工作,由于接觸的商品類別,進出貨的上下游商家/ 企業(yè)較多,往往耗費大量的時間和精力對商品信息進行維護。但由于經營規(guī)?;蚪洜I成本的限制,很多商家依然采用賬本登記的方式記錄銷存信息等內容,這種方法不僅記錄方式效率低,而且容易出現(xiàn)錯誤。特別是進行商品盤點時還需要人工介入,不僅人工成本較高,而且工作重復,效率低下。隨著信息化在生活工作中的普及,這些商家若想提高效益,改善營銷環(huán)境,就需要引入信息化管理措施,以降低訂單和配送錯誤率,實現(xiàn)精準運營。為了契合這類商家的需求,因而研發(fā)設計了一款輕量級的商品配送系統(tǒng)。
本系統(tǒng)采用Qt 框架[1]、lua 腳本語言和C++ Boost庫[2]進行開發(fā)實現(xiàn)。其中,Qt 實現(xiàn)界面UI 設計;lua 腳本實現(xiàn)系統(tǒng)頂層功能實現(xiàn),用于改善系統(tǒng)效率和靈活度;Boost 庫作為C++語言的標準庫,以便使用C++擴展的程序庫,用于加快系統(tǒng)開發(fā)速度。
本系統(tǒng)的整體結構如圖1 所示。根據(jù)商家對業(yè)務的需求,本系統(tǒng)劃分了客戶管理、商品管理、單據(jù)管理和業(yè)務員管理等模塊。其中,客戶管理和業(yè)務員管理屬于基礎數(shù)據(jù)的管理,能夠實現(xiàn)對人員信息的注冊、修改、刪除和顯示等操作;單據(jù)管理和商品管理屬于業(yè)務數(shù)據(jù)的管理,能夠實現(xiàn)對商品和訂單的增、刪、改、查操作。
圖1 系統(tǒng)整體結構圖
本系統(tǒng)采用PostgreSQL 數(shù)據(jù)庫[3],用于存儲數(shù)據(jù)信息。根據(jù)系統(tǒng)整體結構圖中劃分的邏輯功能進行數(shù)據(jù)庫的設計,本系統(tǒng)需要創(chuàng)建包括客戶信息表、業(yè)務員信息表、商品信息表和單據(jù)信息表在內的,共4 個數(shù)據(jù)表,部分表的信息如下:客戶信息表如表1,記錄了客戶名稱、客戶類型、店鋪名稱、客戶區(qū)域和客戶地址等內容。
表1 客戶信息表
商品信息表如表2,記錄了商品條碼、商品名稱、規(guī)格、單價、系列和倉庫等內容。
表2 商品信息表
單據(jù)信息表如表3,記錄了客戶地址、店鋪名稱、業(yè)務員、商品信息等內容。
表3 訂單信息表
系統(tǒng)主界面采用簡約的設計風格,如圖2 所示,界面從上到下分為三個部分,第一部分,包含軟件名稱和常用工具,用于燮制窗口關閉、最小化、發(fā)送郵件和查看信息等功能;第二部分,包含主功能燮件,用于實現(xiàn)系統(tǒng)的主要功能;第三部分,用于對所選功能進行解釋說明。
圖2 系統(tǒng)主界面
客戶管理集成了客戶瀏覽、添加和刪除操作,點擊客戶管理燮件,打開后的客戶管理對話框如圖3 所示。
圖3 客戶管理
客戶管理對話框的頂部,設置了信息檢索區(qū)和功能燮件區(qū),當記錄的客戶數(shù)量較多時,可通過檢索區(qū)域進行客戶查詢;也可以在該對話框內添加新客戶或者修改現(xiàn)有客戶信息等。
以客戶信息修改為例,點擊客戶信息欄中的一個客戶,使之處于被選中的狀態(tài),然后點擊【客戶信息修改】,即可進入客戶修改對話框,如圖4 所示。
圖4 客戶修改對話框
單據(jù)管理是對客戶采購訂單的管理,能夠進行基本的采購操作,如果商品在倉庫的數(shù)量不足,將會進行提示,如圖5 所示。
圖5 單據(jù)管理
單據(jù)管理模塊是本系統(tǒng)的核心模塊,用于實現(xiàn)商家對單據(jù)進行統(tǒng)計和管理的功能。主要包括:新增單據(jù)、預覽/打印單據(jù)和單據(jù)處理等功能。新增單據(jù)又分新增商品、刪除商品和修改商品等功能;單據(jù)處理包括:顯示單據(jù)詳細信息,通過店鋪名稱、客戶地址、查詢時間段篩選單據(jù)信息,刪除單據(jù)等功能。
單據(jù)處理模塊在實現(xiàn)時,采用線程池和RAII 機制。程序一開始運行后,便初始化八個線程并使它們處于阻塞狀態(tài)。當有一個IO 處理即數(shù)據(jù)的讀取或者寫入時,就會喚醒一個阻塞的線程處理IO 操作,以便線程在后期執(zhí)行時不會影響主線程的執(zhí)行。本系統(tǒng)使用線程池目的是方便管理線程的創(chuàng)建和銷毀,防止反復開辟線程,以降低資源開銷,提高系統(tǒng)運行效率。
商品管理模塊實現(xiàn)對商家的商品進行系統(tǒng)化管理功能,[4-5]錄入系統(tǒng)的商品能夠銷售給客戶,并記錄在訂單上,如圖6 所示。
圖6 商品管理
商品管理模塊的功能包括增加商品、刪除商品和修改商品信息等,可通過商品編碼、商品名稱和商品系列篩選商品的信息,為商家提供便利搜索的功能。其中,增加商品可以為商品增加商品序號、商品條款碼、商品名稱、商品規(guī)格單價等信息。商家也可在后臺進行商品數(shù)據(jù)的錄入。
為了便于數(shù)據(jù)篩選和查詢,減少索引沖突,商品管理模塊編程時,序號是通過自增索引進行自動生成的。
備份數(shù)據(jù)模塊,用于備份系統(tǒng)的數(shù)據(jù),防止系統(tǒng)崩潰后導致數(shù)據(jù)丟失的問題產生,如圖7 所示。
圖7 數(shù)據(jù)備份
點擊備份數(shù)據(jù)按鍵后,即可將數(shù)據(jù)備份成獨立的文件,商家可通過查看文件來獲取備份的內容,也可以進行再次存儲和轉發(fā)。
在系統(tǒng)的客戶模塊、產品模塊和業(yè)務員模塊中,分別錄入對應的數(shù)據(jù)后,進入單據(jù)管理模塊并創(chuàng)建訂單,若能啟動打印機并進行打印操作,則表明系統(tǒng)運行正常,如圖8所示。
圖8 形成的配送單據(jù)
本文研究并設計的基于Qt 框架的商品配送系統(tǒng),采用C/S 結構,能夠在Windows 系統(tǒng)上安裝使用。由于采用C++多線程和線程池技術,對系統(tǒng)的資源開銷小,運行效率高。系統(tǒng)的功能緊湊,從數(shù)據(jù)錄入到配送訂單生成直至最終打印,操作過程簡單,形成的訂單及其內容準確,打印輸出紙質訂單便于商家核對和保存。該系統(tǒng)的應用,對于提升商家的信息化管理和精準營銷,具有一定的推動作用。