關於 商品計量單位以及這些計量單位換算 的設計

2021-08-30 12:03:19 字數 2540 閱讀 1698

前言

大家在開發一些進銷存系統的時候,肯定會遇到商品貨物錄入之類的需求,輸入貨物100噸,1000千克,進銷存還簡單一些,是內網應用,乙個廠商不大可能又有重量單位的產品又有體積單位的產品。但是,如果是乙個電子商務平台呢?上面的貨物來自多個廠商,這就種類繁多了。在想一步,如果平台國際化了呢?加入國外廠商了,就會出現國際標準,甚至是一些國家的自己的標準(因為人家看的自己的標準舒服,你不能讓人家都看你的標準吧)。公斤、斤、千克、克、公升、毫公升、公尺、公釐、磅等等都出來了,如何在乙個系統中可以方便的相容這些計量單位呢?也是大家在設計之初必須考慮的事情,而且會對後面的開發、維護產生重大的影響,不可小視。

1、個人用的時候,自己處理一下,每個人維護一套標準。

這個種做法最後被拋棄了,因為不利於團隊開發,個人使用者還可以,每個人維護量太大,如果修改的話,維護量就更大了,消耗了工作量,在相同的工作時間中大家完成的是相同的工作。

資料庫的商品**式如下

商品名稱

商品數量

商品單位

土豆100

公斤 白菜

200

千克   

2、使用公共類或者列舉來維護換算標準

這個做法有人支援,相比第一種,這種統一的換算標準管理,將n個人的工作量變成了1個人的工作量,也算是一種重構吧。缺點就是,後期如果系統國際化了,需要加入國外的換算的話,需要修改,不夠靈活吧。

資料庫的商品**式如下

商品名稱

商品數量

商品單位

土豆100

公斤 白菜

200

千克

3、用資料庫記錄

增加靈活性、可擴充套件性,甚至新增計量單位和計量單位的換算都不用修改**,直接在後天新增即可。

單位表,記錄全部可能使用的計量單位

單位編碼

單位名稱1克

2千克 3斤

4公斤單位換算表

源單位編碼

目標單位編碼

換算因子12

0.00121 

100013

0.0231

500

商品**式如下

商品名稱

商品數量

商品單位

土豆100 1白菜

200 2 

這樣的話,隨時可以新增計量單位和計量單位之間的換算因子,因為可以滿足大部分需求。

缺點1)但是還是有一點遺憾,換算表會很繁瑣,資料量相當大,1-2、2-1、1-3、3-1這樣搞下去的話,量還是比較大的,當然了,可以簡化,2-1就不需要了,將1-2反過來就好了。

2)好像不夠標準,資料庫換算有點亂,是不是大家都應該向乙個標準看齊,都換算成乙個標準來說話呢,這樣是不是會更好一點呢?有待驗證,就有了下面的修改

3)如果有新的計量單位進來的話,划算表會很複雜,還容易遺漏呢。例如:上面是四種計量單位,現在我們引入磅,我們就要首先在計量單位表中增加一條記錄,磅;因為磅是重量計量單位,它和公斤、斤、克、千克等原有的重量計量單位都可能有換算的需要,就目前來說就需要在換算表中新增四條記錄,磅和公斤、磅和斤、磅和克、磅和千克的換算,遺漏乙個都會出問題,想想隨著計量單位的增加,換算表一次的增加量為計量單位表的條目總數,量可想而知。

4、優化換算表

新換算**式

源單位編碼

目標單位編碼

換算因子11

1210.00131

0.0241

0.001

這麼做的優點有兩個

1)減少了換算表的維護量和資料量

2)統一向乙個標準單位換算,不同不標準單位的換算,先用兩個不標準的都換算為標準單位,然後用換算出來的兩個標準單位相比(相除),就得出了兩個不標準單位的標準比例,這時候可以用標準單位計算、比較、顯示,當然了,還可以根據需要顯示為任何的非標準單位(只要反過來換算回去就可以了)。

3)在沒有優化划算表之前,新增一種計量單位,需要在換算表中新增n條記錄,現在不需要了,因為每一類計量單位(目前想到的種類有三種:重量、長度、體積)都統一到乙個標準的計量單位(重

量統一為千克、長度統一為公尺、體積統一為公升

),所以新增乙個計量單位磅,只需要在換算表中新增一條記錄,磅和千克的換算,即可,總共新增2條,而不是上面的1+n(n為計量單位表的總數)。

其實有點像匯率的換算,在中國表現的時候都是100人名幣可以換算多少各國貨幣,或者是100各國的貨幣可以換算多少rmb。

上面都是我的一點小想法,希望做過類似複雜系統的老兄,給點指點,讓我也長進長進。。!

SAP基本計量單位

在sap中物料建立後,一旦發生業務,其基本計量單位便很難修改。由於單位無法滿足業務要求,往往會要求新建乙個物料替代舊物料。這時候除了要將舊物料上所有的未清業務刪除外,還需要替換工藝與bom中的舊物料。特別是當出現舊物料存在於多個bom中時,因新舊物料單位不一致而無法使用cs20進行統一替換,只能是一...

SAP基本計量單位更改

在sap中物料建立後,一旦發生業務,其基本計量單位便很難修改。由於單位無法滿足業務要求,往往會要求新建乙個物料替代舊物料。這時候除了要將舊物料上所有的未清業務刪除外,還需要替換工藝與bom中的舊物料。特別是當出現舊物料存在於多個bom中時,因新舊物料單位不一致而無法使用cs20進行統一替換,只能是一...

SAP中的計量單位

在sap 中物料建立後,一旦發生業務,其基本計量單位便很難修改。由於單位無法滿足業務要求,往往會要求新建乙個物料替代舊物料。這時候除了要將舊物料上所有的未清業務刪除外,還需要替換工藝與bom中的舊物料。特別是當出現舊物料存在於多個bom中時,因新舊物料單位不一致而無法使用cs20進行統一替換,只能是...