日誌式庫存管理的設計思路解釋

2021-05-01 10:37:25 字數 2407 閱讀 8971

日誌式庫存管理的設計思路解釋

日誌式的管理是一種流水帳式的登記方式,其核心思路是對所有操作進行記錄,特徵是只登記不修改與刪除。

單據名稱:如:入庫單,出庫單,調整單等

單據編號:某一特定單據的編號

庫存狀態:記錄各種單據對庫存的影響方式為加或減

操作型別:記錄當前操作是審核還是撤審。如同樣是減庫存,也要分是撤審的減庫存還是退貨的減庫存或者調撥倉庫的減庫存

登記時間:是記錄產生加減庫存的日期。它在日庫存統計起重要作用

物料編碼:庫存管理中會對每個材料進行唯一編碼,以便庫存進行管理

物料名稱:如已有物料編碼,其名稱只是對編碼的詳細中文注釋。如工廠對物料編碼不能不能理解,資訊化基礎很差,那麼中文名稱將是工廠操作人員通俗的理解方式,系統在此做預留也就是可以滿足此類使用者的需求,庫存在統計時同樣可以按物料名稱來統計。物料名稱因此可以廣義的理解為使用者可接受的擴充套件屬性。如:幅寬,規模,顏色,尺碼等。只要是使用者可以記憶的資訊,都可以歸入名稱範疇。

發生數量:是乙個正數字。本次數量通過發生數量*庫存狀態來產生。

建立人和建立時間:通常是記錄本單的審核人和審核時間。它與登記時間是有區分的,由於庫存統計時對時間的界定一般有兩種方式,一種是按審核時間來進行統計庫存,另一種是按單據發生時間來統計,兩種方式主要區別是發生時間則使用者可自行調整,審核時間要求人員操作及時準確。所以通常使用者都會採用第一種方式。

對於業務流程的資料展示通過前面介面做針對性強的開發,而後台庫存運算則採用庫存日誌的方式實現。

針對日誌表做資料庫儲存檔案的優化,根據時間段多做結果表,生成日結,月結,加快查詢速度,將經常查詢區域的資料進行分區域管理,提公升整體查詢效能。原則上以十萬條資料作為乙個查詢速度減慢的監界點。十萬條以內的查詢速度還是可以接受的。

最終操作使用者不需要看懂此日誌表,他們看到的都是在日誌表基礎上經過加工的、使用者可能看得懂的介面資訊。如果乙個有經驗的程式設計師,在看過本文的介紹以後就可以馬上理解日誌表的作用。

select tb.pm,tb.frq,tb.gg,

decode(row_number() over(partition by tb.pm order by tb.pm,tb.rq,tb.gg),1,0,

lag(l_bqlj, 1, 0) over (order by tb.pm,tb.rq,tb.gg)) as prev_bqjc,

tb.bqrk,tb.bqck,tb.l_bqlj

from

(select ta.pm,ta.gg,ta.rq,ta.bqrk,ta.bqck,

sum(ta.bqlj) over (partition by ta.pm,ta.gg

order by ta.pm,ta.gg,ta.rq

range unbounded preceding

) l_bqlj

from

(select lsz.

物料名稱pm, lzs.規格gg,to_char(lsz.登記時間,'yyyy-mm') rq,

sum(decode(lsz.

庫存狀態,1, lsz.數量,0)) bqrk,

sum(decode(lsz.

庫存狀態,-1,lsz.數量,0)) bqck,

sum(decode(lsz.

庫存狀態,1, lsz.數量,0)) -

sum(decode(lsz.

庫存狀態,-1,lsz.數量,0)) bqlj

from (select

物料名稱,登記時間,規格,庫存狀態,數量

from

日誌結構b

where to_char(

登記時間,'yyyymm') >= '200810'

union

select a.

物料名稱,to_date('200810','yyyymm') 登記時間,a.規格,0 庫存狀態,0 數量

from

日誌結構a

group by a.

物料名稱,a.登記時間,a.規格

group by to_char(lsz.

登記時間,'yyyy-mm'),lsz.物料名稱

order by to_char(lsz.

登記時間,'yyyy-mm'),lsz.物料名稱) ta) tb

分析:

1.豎值變橫

使用decode把滿足條件的記錄數量保留下來,不滿足條件的過濾為0。 2.

sum進行累計運算。 3.

lag錯位進行結轉運算。 4.

union

做結轉表

日誌式庫存管理的設計思路解釋

日誌式庫存管理的設計思路解釋 日誌式的管理是一種流水帳式的登記方式,其核心思路是對所有操作進行記錄,特徵是只登記不修改與刪除。單據名稱 如 入庫單,出庫單,調整單等 單據編號 某一特定單據的編號 庫存狀態 記錄各種單據對庫存的影響方式為加或減 操作型別 記錄當前操作是審核還是撤審。如同樣是減庫存,也...

基於C 的庫存管理系統設計與實現

運用物件導向程式設計知識,利用c 語言設計和實現乙個 庫存管理系統設計 主要完成對商品的銷售 統計和簡單管理。在實現過程中,需利用物件導向程式設計理論的基礎知識,充分體現出c 語言關於類 繼承和封裝等核心概念,每乙個類應包含資料成員和成員函式。超市中商品分為四類,分別是食品 化妝品 日用品和飲料。每...

基於角色的許可權管理系統設計思路

許可權管理功能是專案中重要的部分,通過許可權系統可以控制系統中各使用者所擁有的許可權,比如能否開啟乙個頁面,能否進行某項操作,合理的許可權控制可以規避誤操作的風險,提高系統的可用性。許可權管理的思路一般為基於角色和基於資源兩種,基於角色即對為使用者賦予某些角色的許可權,基於資源則為對使用者賦予某些資...