?

軍工物資信息系統中庫存的虛擬化及算法

2019-07-19 01:24趙瑞明劉啟賢
網絡安全與數據管理 2019年7期
關鍵詞:出庫實物虛擬化

趙瑞明,王 野,劉啟賢

(北京空間機電研究所,北京 100094)

0 引言

現有軍工物資信息系統中庫存管理一般都采用鎖定物料的方式進行庫存管理,近年隨著軍工項目的不斷增多,對項目周期要求越來越高,原有的實物關聯的庫存管理方式無法滿足項目周期短、平、快的高要求。

1 項目鎖定物料的庫存管理方式

項目鎖定物料的庫存管理方式有以下弊病。

(1)項目A鎖定庫存物料后,若發生物料超期復驗,都需要對項目A的庫存物料先進行釋放,待物料復驗合格后,重新鎖定物料。單一項目的情況下這樣操作對項目的進度影響不大。但一旦項目增多,且項目間的物料需求有重疊時,就會極大影響工作效率。

(2)由于軍工項目的特殊性,項目所需物資需進行備份,一般需求比例與實際采購比例為1:1.3,由于多項目中物料的重疊性,會導致同一物資被多次備份,無法實現多項目的庫存周轉和資源的平衡利用,造成浪費和庫存積壓。

(3)當項目間發生調用時,需要項目間不斷重新釋放庫存,再重新進行利庫。例如A項目與B項目都需求某物料X1,由于庫存的X1已被B項目鎖定,當A項目周期要求提前時,需要對X1進行釋放,再把X1鎖定在A項目名下。同時,對于A項目采購的物料X1,需要從A項目釋放,再重新關聯在B項目下。這只是兩個項目間的簡單調用就需要如此繁瑣的操作,若項目和重疊物料增大,隨著項目的變化,操作會極其復雜,極大影響工作效率。

(4)無法實現先入先出。先入先出即對同一物料,先入庫的物料相比后入庫的物料應先行出庫發放。先入先出可以最大限度避免物料發生過期導致浪費等情況。但現有庫存管理模式下,由于項目鎖定實物,因此很難進行先入先出操作。往往出現項目配套時,物料已經過期等現象。

(5)無法解決多庫房下發料的實際困難。工廠現有X1、X2兩座庫房,距離較遠。項目A實際裝配地距離X1庫房較近,但卻鎖定了X2庫房的物料,就需要遠距離運輸。對于X1庫房的物料卻無法及時調用。

2 庫存虛擬化

為了解決以上問題,引入庫存虛擬化的概念。庫存虛擬化是指項目的需求與物料屬性的信息流關聯,不鎖定庫存實物及采購中的在途物料。只有實際出庫時,才按照先入先出的原則對實物庫存進行發料[1-4]。

庫存虛擬化有以下優勢:

(1)可以降低成本,根據項目需求情況,通過信息流對多項目進行統一備份。

(2)簡化項目間調用的操作,項目間調用不再涉及庫存的釋放和鎖定,只需要通過物料的信息流建立借用關系即可。

(3)解決多庫房發料的困難。庫存虛擬化模式下,由于項目鎖定的只是物料的基本屬性,不鎖定實物,因此可以直接從任意庫房直接發放。

(4)由于項目不直接關聯實物,對于超期的物料可以直接復驗,實際出庫按照先入先出原則對實物庫進行發放。

(5)實現了真正意義上的先入先出。對于緊急程度順序變化的多項目流程,都按照先入先出原則進行項目的發放,最大限度避免了浪費或者過期等情況的發生。

(6)可以更便捷地實現自動利庫,減少人工成本。由于項目關聯的是物料屬性的信息流,因此只需要通過信息化手段讓項目關聯信息流即可,而不需要對實物進行關聯。

總之,庫存虛擬化模式下,庫存的操作空間和靈活性要遠勝老模式。尤其涉及物料貨位的操作時,不需要對項目關聯的信息流進行變更,只需要更新實物庫信息,發料時遵循先入先出的原則。

3 庫存虛擬化的實現

主要通過以下算法在物資信息系統中實現庫存的虛擬化[5-8]。

由于用戶的物資系統采用的是JAVA語言,為了庫存虛擬化與之兼容,因此也采用JAVA進行編程。其中涉及可利庫數量、自動配套和出庫的算法實現。

3.1 可利庫物資及可利庫數量的算法實現

在利用庫存物資時,需要動態計算有什么物資可以使用,數量還有多少,其中可利庫物資數量= ∑(實物庫存數量)-∑(項目在庫占用數量)。

在項目庫中記錄著該項目不需要物資(簡稱可調物資)的數據,但是庫存可用數量不是簡單地等于各項目可調物資數量之和,這是因為一方面實物庫存會因盤點、退貨等原因造成項目庫與實物庫不一致的地方,另一方面是因為航天項目的特殊性,除物資本身屬性外,各項目對物資的檢驗單位、質量等級有額外特殊的要求——不同項目認可的檢驗單位、質量等級存在差別。所以在計算庫存可用數量時,還需按檢驗單位、質量等級進行二次計算。算法如下:

遍歷各項目:

(1)查看項目庫中是否存在可調配物資:如果不存在,繼續步驟(1),如果查詢完所有項目庫都沒有,則返回空值;如果存在,轉步驟(2)。

(2)按照物資、檢驗單位、質量等級統計各項目占用物資數量,計算后,轉步驟(3)。

(3)按照物資、檢驗單位、質量等級統計庫存物資實物可用數量,計算后,轉步驟(4)。

(4)步驟(3)中∑(實物庫存數量)減去步驟(2)中的∑(項目在庫占用數量),得到可利庫物資及其可利庫數量。

函數1 getLoanableApplyitem檢查是否存在可利庫物資,核心代碼實現如圖1所示。

函數2 getLoanableCount計算項目庫與實物庫信息,核心代碼實現如圖2所示。

函數3 getLoanableNumber計算可用物資及可用數量,核心代碼實現如圖3所示。

圖1 函數1核心代碼

圖2 函數2核心代碼

圖3 函數3核心代碼

3.2 配套出庫的算法實現

遵循先入先出原則,按入庫時間進行優先配套,按序出庫。

按配套申請表依次遍歷實際庫存表進行配套出庫:

(1)按照物資、檢驗單位、質量等級查找庫存是否有可用物資。

(2)按照入庫時間對庫存物資進行排序。

(3)判斷篩選出來的數據是否存在單條庫存可用數量大于出庫數量(因為航天特殊性,需要盡量使用同一批次的物資),如果存在,選擇該條數據;如果不存在,轉步驟(4)。

(4)判斷篩選出來的數據之和是否滿足出庫數量,如果不滿足,轉步驟(5);如果滿足,則按照入庫時間逐條篩選出要出庫的數據,轉步驟(6)。

(5)報警,提示用戶實際庫存可用數量有問題,申請的配套數量大于實際庫存可用數量。

(6)在該項目庫存中記錄已出庫數量,并調整項目庫存可用數量:項目庫可用數量=項目庫可用數量-出庫數量。

函數4 selectStorageItemByQuery根據配套表依次去實物庫存中查詢物資,并按照入庫時間排序,核心代碼實現如圖4所示。

函數5 costUseStorage進行自動配套,核心代碼實現如圖5所示。

4 結論

本文針對現有軍工物資信息系統中庫存管理方式提出了新的管理模式,引入了庫存虛擬化的概念。并基于JAVA語言,通過可利庫數量、自動配套和出庫的算法實現,在軍工物資信息系統中實現了庫存虛擬化。從根本上解決了原有庫存管理方式導致的物流成本高、庫管流程復雜、物料超期嚴重等問題。

圖4 函數4核心代碼

圖5 函數5核心代碼

猜你喜歡
出庫實物虛擬化
配方高架庫空箱出庫程序的優化設計與應用
淺論加強實物檔案管理工作的策略
基于OpenStack虛擬化網絡管理平臺的設計與實現
優化拍賣出庫流程控制防范拍賣出庫環節財務風險
報文數據分析法在立體庫故障分析中的應用
班主任進行實物分析的實踐路徑
服務器虛擬化的安全威脅及防范分析
淺談虛擬化工作原理
用戶怎樣選擇虛擬化解決方案
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合