国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Django的高校后勤庫存管理系統(tǒng)設計實現(xiàn)

2022-07-29 14:12
計算機時代 2022年7期
關鍵詞:領料出庫倉庫

王 軍

(上海理工大學機械工程學院,上海 200093)

0 引言

庫存管理工作是高校后勤管理處的一項重要的工作。運用信息化手段開發(fā)一款適合高校后勤管理處的簡潔實用的庫存管理系統(tǒng)十分必要。

本文針對筆者所在高校后勤管理處下屬的一個物料倉庫的需求,利用Python 語言開發(fā)的一款Web框架Django作為開發(fā)框架,用MySQL 數(shù)據(jù)庫持久化數(shù)據(jù),采用前后端不分離技術設計開發(fā)了一款庫存管理系統(tǒng),以提高庫存管理的效率。

1 需求分析

1.1 功能需求

通過實地走訪調(diào)研學校的后勤管理倉庫發(fā)現(xiàn),在管理物料庫存過程中存在兩個需要解決的問題。

一是貨物進庫以及領料人進行領料時需要記錄,由倉庫管理員開具紙質(zhì)單據(jù),由于單據(jù)量比較多而無法做到高效的管理,而且記錄容易出錯。

二是倉庫管理員每月要對當月的進出庫記錄進行分類統(tǒng)計建表并報送給上級檢查,這樣就需要找到當月的所有進出庫紙質(zhì)單據(jù),還要按日期篩選,工作繁瑣,耗費人力。

經(jīng)過與倉庫管理員溝通,確定系統(tǒng)應包含以下幾個功能模塊。

⑴基礎信息管理功能,對領料員信息,材料供應商信息,材料的基礎信息進行管理。

⑵進出庫管理功能,對貨物進庫時間,進庫數(shù)量等關鍵數(shù)據(jù)進行管理。

⑶庫存盤點功能,按照固定周期對庫內(nèi)的材料進行盤點并對盤貨信息錄入,同時可以修正錯誤的庫存記錄,此功能需要設置用戶權限。

⑷信息查詢與報表導出功能,倉庫管理員可以根據(jù)時間、材料等信息,在查詢相關的進出庫記錄時可以對相應的記錄導出Excel報表報送上級審核。

1.2 性能需求

⑴穩(wěn)定性要求,系統(tǒng)在服務器上可以穩(wěn)定運行,避免由于用戶的誤操作所引起的系統(tǒng)宕機,保證數(shù)據(jù)正常交互。

⑵界面簡潔友好,操作界面上應避免過于復雜化,各個功能模塊分區(qū)清楚。

⑶系統(tǒng)響應要求,用戶在發(fā)起請求時,應盡量縮短系統(tǒng)的響應時間與更新時間。

2 關鍵技術

2.1 B/S架構

本系統(tǒng)采用B/S(Brower/Server)模式,是Web 興起后的一種網(wǎng)絡結構。這種模式客戶端主要軟件時Web 瀏覽器,統(tǒng)一了客戶端,實現(xiàn)將系統(tǒng)的功能實現(xiàn)核心部分集中到服務器上,簡化了系統(tǒng)的開發(fā)、維護和使用。用戶只需在客戶端安裝一個瀏覽器,我們在服務器上安裝MySQL 數(shù)據(jù)庫,這樣就可以進行數(shù)據(jù)交互。這種結構的優(yōu)點在于具有分布性特點,處理業(yè)務便捷;業(yè)務擴展簡單方便,通過增加頁面即可增加服務器功能;維護簡單方便。

2.2 Django框架

Django 框架是由Python 語言編寫的開放源代碼的Web應用程序框架。本系統(tǒng)設計采用的Django版本是2.0.1。這是一款基于MVC 架構的框架,實際在使用過程中控制器接受用戶輸入的部分由框架自行處理所以是M(Model)T(Template)V(View)框架模式。Model層負責處理與數(shù)據(jù)相關的所有事務,以Python類的形式定義數(shù)據(jù)模型。Template層處理與表現(xiàn)相關的決定,此處放置的是前端框架代碼。View 層是模型與模板的橋梁,存取模型及調(diào)取模板的相關業(yè)務邏輯。

3 系統(tǒng)設計

根據(jù)需求,對系統(tǒng)進行模塊化設計,具體如圖1所示分為基礎信息、進庫管理、出庫管理、庫存管理、盤貨管理五大模塊。

支撐應選用鋼材焊接加工制作而成。支撐應連接牢靠、布置合理、方便施工,且不影響后面工序的正常施工。支盤成孔過程中所設置的鋼支撐結構不予取出,以增加支盤的柔性。

圖1 系統(tǒng)功能模塊圖

3.1 基本信息模塊

基本信息模塊包含領料人管理,供應商管理,材料管理,用戶管理四個子模塊。后續(xù)各個模塊的信息創(chuàng)建都依賴于基礎信息部分。

⑴ 領料人子模塊。根據(jù)學校實際庫存管理情況,對所有的領料人統(tǒng)一進行信息管理,主要記錄和查看人員姓名、部門,聯(lián)系方式等關鍵信息。

⑵供應商子模塊。供應商是創(chuàng)建入庫單所必需關鍵信息,此模塊主要實現(xiàn)對供應商名稱,聯(lián)系方式,地址等關鍵信息的查看、創(chuàng)建、刪除,修改功能。

⑶ 材料模塊。由于后勤倉庫的材料種類比較多,為了方便管理在對材料信息進行管理時需要添加分類屬性,同時也包含材料名稱,規(guī)格,單位等信息。對于材料信息可以做到創(chuàng)建、修改,刪除功能。

⑷用戶模塊。用戶在此模塊可以進行用戶名與密碼的修改,同時也可以進行注銷賬戶。

3.2 進出庫管理模塊

系統(tǒng)的進、出庫設計邏輯相似,均包含進/出庫單管理與進/出庫查詢。

⑴進出庫單模塊。進庫單管理部分包括對貨物入庫的編號、數(shù)量、金額、供應商、時間等關鍵的部分的創(chuàng)建、修改、刪除。出庫單部分管理包括對出庫的編號、數(shù)量、時間、領料人等信息的創(chuàng)建、修改、刪除功能。領料人在出庫領料時需要填寫出庫單用途,否則無法完成出庫單的創(chuàng)建。進出庫單模塊均可以一鍵導出報表。進出庫流程如圖2所示。

圖2 進出庫流程圖

⑵進出庫查詢。用戶可以根據(jù)實際情況,以單一條件或復合條件查詢相關貨物的進出庫記錄,根據(jù)用戶權限可以對查詢到的記錄進行修改和刪除同時也可以對查詢到的記錄導出報表。

3.3 庫存與盤貨管理模塊

4 系統(tǒng)實現(xiàn)

4.1 數(shù)據(jù)庫設計

數(shù)據(jù)庫設計需要保證系統(tǒng)業(yè)務需求、數(shù)據(jù)的一致性和較好的擴展性以及高效的數(shù)據(jù)查詢效率。因此設計建表過程中通過唯一索引、外鍵、主鍵以及分表等方法來實現(xiàn)。根據(jù)系統(tǒng)的模塊設計,在數(shù)據(jù)庫中分別建立用戶表、貨物信息表、供應商表、領料人表、進庫單表、出庫單表、庫存表以及盤貨單表。為了保證數(shù)據(jù)的完整性需要將數(shù)據(jù)庫中一些關鍵的字段設置為非空字段,對應到前端是用戶必填項。同時Django中也嵌入了ORM 框架,不需要直接面向數(shù)據(jù)庫編程可以通過模型類和對象完成數(shù)據(jù)庫表的增刪改查。

4.2 系統(tǒng)首頁界面

系統(tǒng)首頁是各個模塊入口界面,為了考慮到頁面簡潔使用,本系統(tǒng)前端首頁主要采用了如圖3的布局。

圖3 系統(tǒng)首頁界面

4.3 數(shù)據(jù)導入與展示實現(xiàn)

數(shù)據(jù)導入與顯示是本系統(tǒng)最基本也是最重要的功能?;拘畔⒛K,進出庫單以及庫存模塊都需要數(shù)據(jù)導入與展示。系統(tǒng)會根據(jù)用戶發(fā)起的請求判斷是POST請求或是GET請求再經(jīng)視圖函數(shù)層進一步處理。數(shù)據(jù)導入即創(chuàng)建新記錄的過程屬于用戶發(fā)起POST請求,View 層函數(shù)先實例化一個模型類對象,再從前端獲取數(shù)據(jù)存入該對象的各個屬性中,最后通過模型對象的save()函數(shù)保存到數(shù)據(jù)庫中。若View層判斷若是收到GET 請求,則通過模型類的object.all()方法,獲取對象集再通過render()方法將數(shù)據(jù)渲染到前端頁面,如圖4所示。

圖4 貨物基礎信息界面

4.4 數(shù)據(jù)查詢功能實現(xiàn)

數(shù)據(jù)查詢功能,在進出庫單查詢模塊以及庫存盤貨模塊會涉及。View 層首先會獲取前端頁面用戶所輸入的所有查詢條件,然后通過有限搜索條件的排列組合以及if 選擇語句去匹配對應的搜索條件,最后通過模型類的object.filter()方法查詢數(shù)據(jù)庫得到所要查詢的對象或?qū)ο蠹M瑫r當用戶輸入的搜索條件矛盾時,系統(tǒng)會返回并告知用戶不合規(guī)搜索格式。

4.5 報表打印功能實現(xiàn)

打印報表功能是將用戶需要的數(shù)據(jù)導出成Excel并下載到本地。此處導入Python 的xlwt 模塊來實現(xiàn)。首先會通過該模塊新建一個工作簿,在工作簿的基礎上新建工作表,創(chuàng)建完工作表后設計利用for循環(huán)將需導出對象數(shù)據(jù)寫入到Excel 文件中,最后通過創(chuàng)建操作二進制數(shù)據(jù)的對象將Excel 數(shù)據(jù)寫入到內(nèi)存中完成該模塊的功能實現(xiàn)。

5 結束語

本文針對高校大多數(shù)后勤倉庫進出庫工作多采用人工全流程紙質(zhì)化管理、管理方式效率低下、易出錯等問題基于Django 框架設計了一套庫存管理的Web 系統(tǒng)。從部署上線后的運行效果看,本系統(tǒng)運行穩(wěn)定,基本實現(xiàn)了進出庫管理流程的信息化、透明化。

由于目前該系統(tǒng)實現(xiàn)的是單個倉庫管理,下一步將解決多個倉庫同步管理、倉庫間的管理平衡,以及倉庫庫位容量的可視化等問題。

猜你喜歡
領料出庫倉庫
基于業(yè)務流程再造理論的企業(yè)領料流程優(yōu)化方案設計
——以X精細化工企業(yè)為例
填滿倉庫的方法
四行倉庫的悲壯往事
面向電力搶修的供電所無人值守倉庫設計與實踐
卷煙配貨出庫流程的優(yōu)化與應用
散糧出庫 加快騰倉
“出庫費” 應由誰來付
魏師傅的“考試”
消防設備
基于PLC的物流自動化包裝線出庫穿梭車的設計
长寿区| 广汉市| 民权县| 胶南市| 邵东县| 朝阳区| 麻栗坡县| 卓资县| 陇川县| 东宁县| 九龙坡区| 轮台县| 杭锦后旗| 宜城市| 若尔盖县| 柳河县| 调兵山市| 诏安县| 连城县| 交口县| 平顺县| 巴塘县| 玉林市| 荥阳市| 东辽县| 南部县| 大余县| 新巴尔虎右旗| 平陆县| 嘉鱼县| 泊头市| 神农架林区| 阳高县| 青州市| 安泽县| 从化市| 尼玛县| 巴青县| 华阴市| 陕西省| 临高县|