台灣最大程式設計社群網站
線上人數
887
 
會員總數:240139
討論主題:186200
歡迎您免費加入會員
討論區列表 >> MS SQL >> 庫存量分配到訂單問題(還會遇到拆訂單的問題)
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
庫存量分配到訂單問題(還會遇到拆訂單的問題)
價值 : 100 QP  點閱數:284 回應數:9

樓主

Jans
門外漢
0 1
20 6
發送站內信

客戶需求如下:
訂單單號 產品 訂單數量
A001 蘋果 3
A002 蘋果 3
A003 西瓜 8

倉庫人員撿出來的貨如下(撿出來的貨一定會等於訂單需求皮蘋果6 西瓜8):
產品 庫存 儲位
蘋果 4 A
蘋果 2 B
西瓜 3 A
西瓜 4 B
西瓜 1 C

需要的結果如下(如果遇到相同產品有不同儲位就要去拆訂單)
訂單單號 訂單需求 訂單數量 儲位
A001 蘋果 3 A
A002 蘋果 2 B
A002 蘋果 1 B
A003 西瓜 3 A
A003 西瓜 4 B
A003 西瓜 1 C

得出結果要符合訂單數量 又要對應正確的儲位 請問各位大大這要如何寫 ? 已經爬過文了 就是沒有針對儲位

搜尋相關Tags的文章: [ 庫存分配 ] , [ 訂單 ] , [ 銷貨 ] ,
本篇文章發表於2017-05-14 07:41
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
作者回應

Jans
檢舉此回應
上面的結果打錯應該是這個才對!!
需要的結果如下(如果遇到相同產品有不同儲位就要去拆訂單)
訂單單號 訂單需求 訂單數量 儲位
A001 蘋果 3 A
A002 蘋果 1 A
A002 蘋果 2 B
A003 西瓜 3 A
A003 西瓜 4 B
A003 西瓜 1 C
本篇文章回覆於2017-05-14 07:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Jans
檢舉此回應
上面的結果打錯應該是這個才對!!
需要的結果如下(如果遇到相同產品有不同儲位就要去拆訂單)
訂單單號 訂單需求 訂單數量 儲位
A001 ---蘋果 ----3 ------A
A002 ---蘋果 ----1 ------A
A002 ---蘋果 ----2 ------B
A003 ---西瓜 ----3 ------A
A003 ---西瓜 ----4 ------B
A003 ---西瓜 ----1 ------C
本篇文章回覆於2017-05-14 07:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

Jans
檢舉此回應
如果可以解決 願意饋贈1000台幣當作是謝禮 轉帳可
本篇文章回覆於2017-05-14 07:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

彩虹
檢舉此回應
有兩個方式可以讓你參考

第一種方式

---A001訂單開始---
假設你要對A001檢貨 (蘋果3顆)
按下檢貨按鈕,然後開始依序找尋各個倉含有蘋果的倉
select fruit_num from 倉庫table where fruit='蘋果' and fruit_num>0

A倉有4顆,代表A001可以完整檢貨3顆蘋果,此時A倉蘋果庫存要變更為1顆
將狀況記錄起來,【inset table:A001 蘋果 3 A】
-----處理結束-----

---A002訂單開始---
假設接下來要對A002檢貨 (蘋果3顆)
A倉目前剩下1顆,代表A002只能從A倉檢貨1顆,取1顆蘋果時,此時A倉蘋果庫存要變更為0顆
將狀況記錄起來,【inset table:A002 蘋果 1 A】
B倉目前有100顆,代表A002剩下的2個蘋果可以從這裡檢貨,此時A倉蘋果庫存要變更為98顆
將狀況記錄起來,【inset table:A002 蘋果 2 B】
-----處理結束-----

結論在檢貨時
先依序找貨倉蘋果庫存狀況,看夠不夠扣,不夠就繼續往下SQL

====================================

第二種方式

不一定要拆單

你們系統上有「倉庫的調貨管理系統」嗎?

如果A倉的蘋果不夠,你可以讓它的庫存變成負 (負數就負數)

最後再透過調貨管理,把B倉的蘋果,調2顆蘋果到A倉裡



本篇文章回覆於2017-05-14 14:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

Jans
檢舉此回應
彩虹大大 感覺好像可行耶 我明天去公司來寫一段CODE測試看看 您的觀念比我清楚多了 如果可以成功真的很感激您 明天跟您報告進度
本篇文章回覆於2017-05-14 19:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

Jans
檢舉此回應
彩虹大大 我們一定要拆訂單去對單儲位 ERP系統庫存儲位的數量不足 直接卡限制出貨 !! 所以我才很苦惱阿
本篇文章回覆於2017-05-14 19:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

Daimom
捐贈 VP 給 Daimom 檢舉此回應
你的規則要把A儲位的領完,才能用B儲位?
如果沒有此規則,直接用該儲位數量最多的做出貨。

如果單純卡限制出貨的話,你只要針對該筆訂單 看要多少數量,
然後查庫存總共有多少數量 只要少於就直接喊卡就好了。

本篇文章回覆於2017-05-14 19:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

Jans
檢舉此回應
公司流程是這樣
step 1 業助會先打客戶訂單會同時確認庫存是否足夠 但是不管儲位(因為儲位幾千個)
step 2 倉庫人員收到訂單後會去倉庫儲位撿貨 (撿貨數量剛好會符合訂單的數量)

接下來就是系統處理的問題--> 這時候就會遇到多儲位對應一個訂單品項的問題 所以就要拆訂單的品項去對應相對庫存儲位 訂單之後會自動轉銷貨單 才能扣掉相對的儲位庫存
本篇文章回覆於2017-05-15 00:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

羅伯斯
檢舉此回應
你的公司的倉儲管理是否因採取"先進先出法",才會要求拉檢貨時
必須要先進的儲位,先出貨。(這一般應該是商品有保存期限所採用的方式)

若是的話,倉儲資料表欄位應該會有一個進貨日期的欄位
個人覺得也不定要進行拆單動作
只要扣除倉儲庫存量時,加入倉儲量大於0,且進貨日期最小的為優先扣除的條件
當然這部份可能要以迴圈來處理,較方便。

至於你6樓指的 ERP系統庫存儲位的數量不足 直接卡限制出貨問題
應該是指全部的倉儲庫存量不足時,才會卡限制出貨吧!
本篇文章回覆於2017-05-15 11:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.