999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于.Net Core MVC架構(gòu)的WMS智能倉儲管理系統(tǒng)

2019-08-16 02:40:00
物流技術(shù)與應(yīng)用 2019年7期
關(guān)鍵詞:頁面用戶功能

關(guān)鍵字:倉儲管理系統(tǒng)、軟件架構(gòu)、前端開發(fā)

倉儲管理系統(tǒng)(Warehouse Management System,WMS)是一個實時的計算機軟件系統(tǒng),它能夠按照運作的業(yè)務(wù)規(guī)則和運算法則,對信息、資源、行為、存貨和分銷等進行更完美的管理。

倉儲管理系統(tǒng)由軟件、硬件、流程、管理經(jīng)驗等共同組成。計算機控制下的倉庫管理系統(tǒng),目的是獨立實現(xiàn)倉儲管理的各種功能:收貨、存貨管理、定單處理、分揀和配送控制等。WMS將關(guān)注的焦點集中于對倉儲執(zhí)行的優(yōu)化和有效管理,同時延伸到運輸配送計劃、與上下游供應(yīng)商客戶的信息交互,從而有效提高倉儲企業(yè)、配送中心和生產(chǎn)企業(yè)的倉庫的執(zhí)行效率和生產(chǎn)率,降低成本,提高企業(yè)客戶滿意度,從而提升企業(yè)的核心競爭力。

一、倉儲管理系統(tǒng)

1. 系統(tǒng)特點

●庫存精確、高效流轉(zhuǎn);

圖1: WMS功能模塊

●針對現(xiàn)有業(yè)務(wù)開展及未來需求變更,具備較強的通用性和可擴展性;

●庫存合理,能夠為生產(chǎn)和銷售提供物資實體及可靠有效的智能輔助決策分析數(shù)據(jù);

●計算機硬件配置低廉,軟件易學(xué)易用,維護簡單快捷,有降本增效的效果;

●將倉儲規(guī)劃、物流設(shè)備、計算機系統(tǒng)、軟件算法等相互結(jié)合,以優(yōu)化倉庫的入庫管理、在庫管理、出庫管理等分配及執(zhí)行策略,并最終提高倉庫的貨位利用率及貨物容積率;

●針對歷史數(shù)據(jù)進行數(shù)據(jù)分析、數(shù)據(jù)挖掘,以優(yōu)化和完善倉儲管理系統(tǒng)的業(yè)務(wù)組織和流程驅(qū)動。

2. 總體概述

倉儲管理系統(tǒng)是通過出入庫業(yè)務(wù)、庫存調(diào)撥和虛倉管理等功能,對批次管理、物料對應(yīng)、庫存盤點、質(zhì)檢管理、生產(chǎn)和銷售管理等功能綜合運用的管理系統(tǒng),有效控制并跟蹤倉庫業(yè)務(wù)的物流和成本管理全過程,完成和提升企業(yè)的信息化建設(shè)。WMS的功能模塊,如圖1。

本文主要介紹WMS的前端系統(tǒng),結(jié)合倉儲管理的業(yè)務(wù)流程,通過對前端人機交互系統(tǒng)的軟件架構(gòu)、技術(shù)選型、功能實現(xiàn)等進行歸納、總結(jié)。該系統(tǒng)可以獨立執(zhí)行庫存操作,也可與外圍信息系統(tǒng)接口交互集成,為企業(yè)提供更為完整的工作流和數(shù)據(jù)流。

二、技術(shù)架構(gòu)選型

1. .Net Core框架

.Net Core是適用于Windows、Linux和Macos操作系統(tǒng)的免費、開源托管的計算機軟件框架,是微軟開發(fā)的第一個官方版本,具有跨平臺能力的應(yīng)用程序開發(fā)框架。.Net Core包含.Net Framework的類庫,采用包化(Packages)的管理方式。

.Net Core項目的目標(biāo)如下:

●支持或轉(zhuǎn)移到更多的操作系統(tǒng)平臺與芯片架構(gòu),將項目跨出Windows平臺;

●具有引人注目的性能與高可靠度;

●開發(fā)人員能快速與直接地獲取.Net Core開發(fā)環(huán)境。

2. B/S系統(tǒng)

B/S架構(gòu)即瀏覽器和服務(wù)器架構(gòu)模式,是隨著Internet技術(shù)的興起,對C/S架構(gòu)的一種改進。在這種架構(gòu)下,用戶工作界面是通過前端(Browser)實現(xiàn),主要事務(wù)邏輯在服務(wù)器端(Server)實現(xiàn),形成完整的三層結(jié)構(gòu)體系。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實現(xiàn)的核心部分集中到Web服務(wù)器上,簡化了系統(tǒng)的開發(fā)、維護和使用。客戶機上只要安裝一個IE瀏覽器,數(shù)據(jù)庫服務(wù)器安裝Oracle等關(guān)系數(shù)據(jù)庫,瀏覽器通過Web Server同數(shù)據(jù)庫進行數(shù)據(jù)交互。這樣就大大簡化了客戶端電腦的配置及載荷,終端用戶無需考慮發(fā)布、部署、升級等情況,減輕了系統(tǒng)維護與升級的成本和工作量。

3. MVC架構(gòu)

MVC全名是Model View Controller,是模型(Model)-視圖(View)-控制器(Controller)的縮寫,一種軟件設(shè)計典范,代碼組織采用業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法,將業(yè)務(wù)邏輯聚集到一個部件里面,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業(yè)務(wù)邏輯。

圖2:MVC架構(gòu)

圖3:WMS主頁面

Model(模型)是應(yīng)用程序中用于處理應(yīng)用程序數(shù)據(jù)邏輯的部分,通常模型對象負責(zé)在數(shù)據(jù)庫中存取數(shù)據(jù)。

View(視圖)是應(yīng)用程序中處理數(shù)據(jù)顯示的部分,通常視圖是依據(jù)模型數(shù)據(jù)創(chuàng)建的。

Controller(控制器)是應(yīng)用程序中處理用戶交互的部分,通常控制器負責(zé)從視圖讀取數(shù)據(jù),控制用戶輸入,并向模型發(fā)送數(shù)據(jù)。MVC架構(gòu),如圖2。

MVC分層有助于管理復(fù)雜的應(yīng)用程序,可以在不依賴業(yè)務(wù)邏輯的情況下專注于視圖設(shè)計,也可以在不考慮業(yè)務(wù)邏輯的情況下進行UI設(shè)計。MVC分層同時也簡化了分組開發(fā),不同的開發(fā)人員可同時開發(fā)視圖、控制器邏輯和業(yè)務(wù)邏輯。

4. 前端框架

Bootstrap是一個基于HTML、CSS、JAVASCRIPT,用于快速開發(fā)Web應(yīng)用程序和網(wǎng)站的前端框架。具體優(yōu)勢如下:

●容易上手:只要具備HTML和CSS的基礎(chǔ)知識。

●響應(yīng)式設(shè)計:Bootstrap的響應(yīng)式CSS能夠自適應(yīng)于臺式機、平板電腦和手機,移動設(shè)備優(yōu)先。

●其它:為創(chuàng)建接口提供了簡潔統(tǒng)一的解決方案;包含了功能強大的內(nèi)置組件;提供了基于Web的定制;開源。

三、功能模塊

結(jié)合倉儲管理的領(lǐng)域特征、用戶需求及業(yè)務(wù)流程等,可將WMS劃分為以下若干功能模塊,每個功能模塊為一個功能組,每個功能組包括若干個功能項,每個功能項對應(yīng)一個TAB頁面。系統(tǒng)主頁面,如圖3。

圖4:角色功能授權(quán)頁面

圖5:任務(wù)維護詳情頁面

1. 系統(tǒng)管理

系統(tǒng)管理模塊主要包括用戶維護、角色維護、參數(shù)維護、菜單管理等功能項。

菜單管理,用于配置Web主界面左側(cè)的功能樹,并且可以定義每個功能項所對應(yīng)的頁面URL地址,另外通過數(shù)據(jù)定義的方式可以確定各個頁面所能提供的完整的增刪查改、確認、完成、取消等操作按鈕。

參數(shù)維護,用于配置WMS系統(tǒng)的所有配置參數(shù),包括且不限于出入庫站臺配置、穿梭車充電策略配置、數(shù)據(jù)展示分頁大小配置、專業(yè)術(shù)語配置、垃圾數(shù)據(jù)清除配置等。

角色維護,可用于創(chuàng)建角色,管理和控制角色所擁有的功能頁面,配置角色在相應(yīng)功能頁面下所具備的操作權(quán)限,最終將角色授權(quán)至不同用戶。

用戶維護,目的是為了確保不同的用戶可以操作不同的功能頁面,同一個功能頁面下不同用戶具備不同的按鈕權(quán)限。

以上方式不僅能最大化滿足用戶、角色、權(quán)限的細粒度管理,還能夠全面滿足軍工企業(yè)涉密信息系統(tǒng)的三員配置及職責(zé)分工。角色功能授權(quán)頁面,如圖4。

2. 基礎(chǔ)管理

基礎(chǔ)管理模塊主要包括物料維護、配盤維護、位置維護等各類倉儲基礎(chǔ)數(shù)據(jù)的查詢及維護等功能。

物料維護用于管理物料分類、物料名稱、規(guī)格型號、計量單位、庫存上下限、存儲有效天數(shù)等屬性及內(nèi)容。按照物料的種類及數(shù)量等,可以對物料劃分為大類和小類,便于數(shù)據(jù)篩選。通過對庫存上下限、存儲有效天數(shù)等屬性的管理,可以全面滿足倉儲物流系統(tǒng)中物資智能化管理,有效控制庫存的合理性、為庫存預(yù)警模塊提供柔性化控制。

結(jié)合倉儲項目的物流規(guī)劃和總體設(shè)計,可以通過位置維護功能將倉庫劃為為若干個庫區(qū),每個庫區(qū)又劃分為若干個片區(qū)、貨道及儲位。還提供了貨道及儲位的凍結(jié)、禁入、禁出等日常維護操作,便于庫管員能夠靈活地管理倉庫,也能夠滿足各種場景下的運營需要。

3. 物流管理

物流管理模塊主要提供入庫管理、出庫管理、容器維護、任務(wù)維護等功能,以滿足物料組盤、人工/自動出入庫、批次跟蹤、質(zhì)量控制等業(yè)務(wù)驅(qū)動及流程運轉(zhuǎn)的需要。

物流管理模塊下,所有的操作都是主從表操作,為了提高用戶體驗,在UI設(shè)計方面,Index首頁展示業(yè)務(wù)主表的數(shù)據(jù)。因為業(yè)務(wù)流水?dāng)?shù)據(jù)量較大,為了加快查詢速度,按照參數(shù)配置進行分頁顯示,并提供翻頁按鈕。每行記錄的前2個字段設(shè)置了跳轉(zhuǎn)鏈接,鼠標(biāo)點擊時則跳轉(zhuǎn)至詳情頁。詳情頁分為上下兩個區(qū)間,上半?yún)^(qū)以Layout布局展示主表內(nèi)容,下半?yún)^(qū)則以Detail布局展示明細內(nèi)容。對于明細數(shù)據(jù)的新增、編輯等維護操作,則在單擊明細數(shù)據(jù)的鏈接字段時以彈窗的方式提供具體的輸入及維護操作。該方式可以在主頁面和詳情頁面之間輕松自由地切換跳轉(zhuǎn)。

對于頁面頂部的操作區(qū),使用Bootstrap自帶的圖標(biāo)按鈕,以提供查詢、刪除、保存、確認等操作,當(dāng)光標(biāo)落在圖標(biāo)上方時,以tooltip的形式展示按鈕的中文描述。該UI設(shè)計方式充分考慮用戶體驗,具備操作簡潔、風(fēng)格統(tǒng)一、易學(xué)易用、無二義性等特征。

以任務(wù)維護為例,主要用于查詢和維護所有的物流任務(wù),當(dāng)物流設(shè)備在搬運過程中出現(xiàn)異常時,提供指令下達、任務(wù)取消、任務(wù)結(jié)束等人工操作,以保證物流系統(tǒng)有條不紊的運行。任務(wù)維護詳情頁面,如圖5。

4. 報表管理

主要包括出入庫統(tǒng)計、在線庫存統(tǒng)計、庫存預(yù)警統(tǒng)計、收發(fā)存統(tǒng)計、貨位圖表統(tǒng)計等分析報表,對所有的統(tǒng)計結(jié)果均提供Excel導(dǎo)出功能,便于用戶對數(shù)據(jù)進行二次加工。貨位圖表統(tǒng)計,如圖6。

收發(fā)存統(tǒng)計公式為:期初庫存+累計入庫-累計出庫+盤盈-盤虧=期末庫存=在線庫存,本期的期末庫存自動結(jié)轉(zhuǎn)為下期的期初庫存。

庫存預(yù)警統(tǒng)計,可以結(jié)合物料主文件表的庫存上下限、存儲有效天數(shù)等屬性和參數(shù),計算出當(dāng)前立體庫內(nèi)超越庫存上限、低于庫存下限、存儲時間超期的所有物料明細及匯總數(shù)據(jù)。便于庫管員對立體庫進行合理有效的管控,如補充庫存量、降低庫存量、提高近效期管理等。將庫存預(yù)警統(tǒng)計數(shù)據(jù)上傳至SAP、MES等上游系統(tǒng),可以提高企業(yè)的生產(chǎn)管理及銷售管理,確保生產(chǎn)和銷售的有效銜接,同時也為企業(yè)管理層在輔助智能決策分析方面提供最為真實的支撐數(shù)據(jù)。

圖6:立庫貨位圖表統(tǒng)計

圖7:功能視圖頁代碼

四、軟件設(shè)計及實現(xiàn)

1. 業(yè)務(wù)控制器抽象類規(guī)范

在MVC開發(fā)中,所有業(yè)務(wù)邏輯層的控制器都需要繼承系統(tǒng)抽象類Controller。對WMS的UI部分的業(yè)務(wù)處理進行歸納、總結(jié)和抽象,定義出抽象類BaseController,該BaseController繼承系統(tǒng)抽象類Controller,而具體的業(yè)務(wù)控制器則繼承BaseController,并實現(xiàn)BaseController中的方法。BaseController中提供抽象方法和虛方法,以確保在業(yè)務(wù)控制器中必須去實現(xiàn)抽象方法或者選擇性實現(xiàn)虛方法。

通過上述方式可以有效規(guī)范各個業(yè)務(wù)邏輯控制器的開發(fā),統(tǒng)一方法的命名,明確方法體的具體實現(xiàn),規(guī)范視圖層到控制器的HttpPost請求調(diào)用,確保業(yè)務(wù)邏輯控制器將特定的JsonResult、ViewResult返回至視圖層。

2. 控制器與視圖的規(guī)范

結(jié)合功能模塊的設(shè)計說明,每個功能項對應(yīng)一個控制器,每個控制器對應(yīng)1至2個視圖。控制器命名規(guī)范為“前綴 + Controller”,如物料管理則命名為“MaterialController.cs”。對于視圖層,主頁面命名為“Index.cshtml”,跳轉(zhuǎn)的詳情頁面則命名為“IndexDetail.cshtml”。對于單表操作的頁面,僅提供主頁面,不提供跳轉(zhuǎn)頁面。提供編輯操作的模態(tài)框彈窗,相關(guān)代碼部署在其所屬的視圖頁面文件中。

按照MVC架構(gòu)的要求,所有的控制器文件部署在Web項目的Controllers文件夾中,視圖文件則部署在Web項目的Views文件夾下,具體包含在以控制器前綴命名的子文件夾中。

控制器與視圖層之間是松耦合的,可以達到業(yè)務(wù)邏輯與UI頁面的分離。

3. 權(quán)限控制及入侵攔截

針對所有頁面的查詢及維護操作統(tǒng)一規(guī)范數(shù)字,即2的N次方,并且定義在靜態(tài)實體類中,以列舉出增刪查改、確認、取消、完成等操作所對應(yīng)數(shù)字,具體如下:

public static class OrderCode

{

public static readonly int Query = 2,Add = 4,Edit = 8,Delete =16,Export = 32,Affirm = 64,Cancel =128,Finish = 256;

}

在角色功能權(quán)限表中,將角色對應(yīng)的功能頁面的操作權(quán)限定義在INT型字段OperateCount中,如為A角色針對任務(wù)維護頁面授予查詢、取消和完成3個操作權(quán)限,則確認授權(quán)時將對應(yīng)記錄的OperateCount字段設(shè)置為386 = 2(Query,查詢) | 128(Cancel,取消) | 256(Finish,完成),即C#的按位或。

而在頁面初始化時,得到用戶角色對應(yīng)的功能頁面的操作權(quán)限變量(即角色功能權(quán)限表的INT型字段OperateCount)。使用該變量與實體類OrderCode中各個操作屬性變量按位進行與運算,如果結(jié)果大于0,則說明有權(quán)限,否則說明無權(quán)限。如B角色針對庫存統(tǒng)計頁面的OperateCount值為34,34 & 2(Query,查詢) > 0,34 & 32(Export,導(dǎo)出) > 0,34 &OrderCode中其它值 = 0。因此B角色針對庫存統(tǒng)計頁面具有查詢和導(dǎo)出權(quán)限。

以上方式可以確保不同的用戶登錄系統(tǒng)后,針對同樣的功能頁面具有不同的操作權(quán)限。邏輯判斷在SysRole控制器中完成,提供公共JS方法InitOption向控制器SysRole發(fā)送Post請求以得到相應(yīng)的權(quán)限結(jié)果,并根據(jù)權(quán)限結(jié)果控制視圖頁面按鈕的隱藏與否。注意事項:在各個視圖頁面中,操作按鈕命名同樣遵守OrderCode實體類的命名規(guī)范;另外,每個頁面加載時調(diào)用公共JS方法InitOption。

對于非法入侵,可以使用MVC的攔截器,自定義類GlobalFilter實現(xiàn)接口IActionFilter,并實現(xiàn)攔截器的接口方法OnActionExecuting(Act ionExecutingContext context)。在OnActionExecuting方法體中根據(jù)當(dāng)前登錄用戶名、控制器名及行為方法名進行操作權(quán)限判斷,如果權(quán)限不滿足則跳轉(zhuǎn)至錯誤頁面。該方式即可有效抵御非法入侵。

4. 依賴注入

MVC架構(gòu)根據(jù)路由信息獲取控制器名稱,由控制器工廠生成控制器的實例。Web項目下Startup類的ConfigureServices方法中,可注冊業(yè)務(wù)控制器的依賴項。如services.AddScoped();注冊用戶操作類。在業(yè)務(wù)控制器的構(gòu)造函數(shù)中完成依賴項的參數(shù)注入。

通過依賴注入完成控制反轉(zhuǎn),對象在被創(chuàng)建的時候,由一個調(diào)控系統(tǒng)內(nèi)所有對象的外界實體將其所依賴的對象引用傳遞給它,最終充分降低代碼之間的耦合度。

5. 公共JS封裝

自定義js文件DataOperatorScript.js,提供如初始化、查詢、新增、保存、刪除等js方法。在方法體中根據(jù)輸入?yún)?shù)得到Controller名和button id等參數(shù),以HttpPost請求的方式調(diào)用相應(yīng)業(yè)務(wù)控制器的方法。

在公共視圖頁_Layout中,引入DataOperatorScript.js文件,即執(zhí)行。在具體的功能視圖頁中執(zhí)行相應(yīng)的js語句,以完成參數(shù)初始化、按鈕事件與DataOperatorScript中公共js方法的綁定等。

通過以上方式,即可最終實現(xiàn)增刪查改等具體業(yè)務(wù)。功能視圖頁的代碼,如圖7。

在常規(guī)主流的視圖頁中,UI開發(fā)人員僅需要調(diào)整視圖頁面布局,不需要深入了解和掌握js,最終保證UI開發(fā)人員把精力集中在外觀設(shè)計上。

五、總結(jié)

通過上述的技術(shù)選型、軟件架構(gòu)、模塊設(shè)計,最終形成的智能倉儲管理系統(tǒng),可以全面滿足各個行業(yè)領(lǐng)域、各種物流規(guī)劃設(shè)計的倉儲管理信息系統(tǒng)前端建設(shè)。在硬件采購方面,可以降低終端計算機的配置及選型;在軟件設(shè)計方面,控制器與視圖層充分解耦,業(yè)務(wù)邏輯與外觀展示的分離,有利于軟件團隊的人員分工;在安全性方面,通過攔截器可以有效抵御非法入侵;在項目實施方面,可以提升開發(fā)速度、縮短項目交付工期,最終降低項目的實施和維護成本。

該產(chǎn)品已成功運用到若干個不同行業(yè)的倉儲物流集成項目中,并且得到了業(yè)主方及項目干系人的一致好評,對于倉儲管理系統(tǒng)的前端設(shè)計開發(fā),具有一定的實用和參考價值。

猜你喜歡
頁面用戶功能
大狗熊在睡覺
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
刷新生活的頁面
關(guān)于非首都功能疏解的幾點思考
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
如何獲取一億海外用戶
中西醫(yī)結(jié)合治療甲狀腺功能亢進癥31例
辨證施護在輕度認知功能損害中的應(yīng)用
主站蜘蛛池模板: 精品午夜国产福利观看| 亚洲国产综合精品中文第一| 日日噜噜夜夜狠狠视频| 亚洲男人在线| 素人激情视频福利| 亚洲国产AV无码综合原创| AV天堂资源福利在线观看| 72种姿势欧美久久久大黄蕉| 国产成人乱码一区二区三区在线| 亚洲一区二区三区中文字幕5566| 国产成人高清亚洲一区久久| 五月激情综合网| 亚洲三级片在线看| 国产正在播放| 综合网天天| 亚洲视频在线青青| 成人免费午夜视频| 尤物午夜福利视频| 四虎精品国产AV二区| 国产内射一区亚洲| 色综合久久综合网| 国产拍在线| 91在线国内在线播放老师 | 国产精品林美惠子在线观看| …亚洲 欧洲 另类 春色| 九九热视频精品在线| 免费A级毛片无码免费视频| 色成人综合| 国产成人精品男人的天堂下载| 国产91全国探花系列在线播放| 国模粉嫩小泬视频在线观看| 国产乱肥老妇精品视频| 国产幂在线无码精品| 精品久久久无码专区中文字幕| 国产成人综合在线视频| 亚洲人成人伊人成综合网无码| 国产成+人+综合+亚洲欧美| 色香蕉影院| 国产色爱av资源综合区| 免费无码又爽又刺激高| 91久草视频| 国产一区二区丝袜高跟鞋| 国产福利免费视频| 国产菊爆视频在线观看| 人人爽人人爽人人片| 国产69囗曝护士吞精在线视频| 网久久综合| 久久无码免费束人妻| 久草视频一区| 无码高潮喷水专区久久| 视频二区中文无码| 国产中文一区a级毛片视频| 777午夜精品电影免费看| 综合色区亚洲熟妇在线| 亚洲精品无码日韩国产不卡| 久久天天躁狠狠躁夜夜躁| 国产成人亚洲毛片| 国产精品尤物铁牛tv | 亚洲精品第五页| 欧美综合区自拍亚洲综合天堂| 爆乳熟妇一区二区三区| 亚洲AV无码久久天堂| 国产极品美女在线观看| 国产性猛交XXXX免费看| 国产视频自拍一区| 久久精品国产精品一区二区| 国产精品对白刺激| 欧美色图久久| 麻豆国产原创视频在线播放 | 色综合日本| 亚洲欧美不卡| 亚洲国产中文精品va在线播放 | 色综合手机在线| 麻豆精品在线| 男女猛烈无遮挡午夜视频| 国产成人无码Av在线播放无广告| 欧美视频在线观看第一页| 91av成人日本不卡三区| 国产精品手机在线播放| 国产chinese男男gay视频网| 55夜色66夜色国产精品视频| 色噜噜久久|