[125]討論資訊比對-盤點與對賬

weixin_34148340發表於2018-08-05

背景

最近工作中做了一個盤點的需求,突然想到盤點本質就是核對資訊的正確性然後修正錯誤的資訊,而這與對賬本質上是一樣的。
今天這篇文章是工作中有感而發,另一方面也是說明抽象總結的重要性。

什麼是盤點

盤點:定期或臨時對庫存商品進行清查、清點,從操作角度來說就是核對倉庫現有實際數量和保管賬上的數量。
在企業執行過程中由於實際操作經常會有貨損(比如客戶買了2件商品但是可能實際庫存扣了3件或者商品報廢等等),為了瞭解貨物的流向且不讓實際貨物與賬上數量差距越來越大就需要定期盤點。

怎麼盤點

盤點時候需要比對倉庫和賬目上的商品狀態,如下圖所示:


4011138-22338e538ce2bb0e.png
image.png

所謂狀態就包含 無/有(有多少),所以我們需要分別從兩邊觸發進行比對,從上圖場景來看意味著我們即要從倉庫角度比對賬目資料,同時也要從賬目角度比對倉庫。為什麼要這樣,其原因是如果只從倉庫去比對賬戶,那麼[d:7]這個條目是無法比對出來的。

關於對賬

幾年前做過對賬系統,由於網路不可靠性我們需要核對 交易雙方的訂單的狀態。比如支付系統與銀行可能也會產生 (支付系統有銀行沒有)和(銀行有而支付系統沒有的情況),從狀態角度來說,我們要比對狀態就需要比對0/1-...N的情況,而0這種狀態使我們考慮問題經常忽略的。

說在後面的畫

盤點本身比較簡單,但是我更想說當我們考慮狀態問題的時候一定要對0這個狀態有敏感度。
比如一個服務沒有起來,變數沒有傳過來都是屬於0這個狀態。由於0狀態無法把資訊傳遞給對方,所以需要對方考慮這種容錯情況。

相關文章