2011年8月10日 星期三

@CASE 1 < 物料需求計算 > ver-110811

'第八碼重複搜尋

SELECT partcode as HeadPartCode, '2512BSTA' AS OldPartCode, 1500 AS Qty
FROM tblStock WHERE PartRule LIKE '%@[2512BSTA@]' ESCAPE '@'
AND ( partcode like '%----XF' OR partCode like '%XF')

每個製令下來,
如果撈出的產品不只一個,就特別註記

觀察該撈出的多數產品往下走
是否只有唯一的產品號
1.重複 (distinct)
2.都沒有 (異常)
3.多數 (異常 -> 不應該發生)



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

'mcst 每月都有32天

'選配撈到的東西有出入(訂單,原料)

'多訂單計算部分

有點不知道多訂單應該怎麼呈現格式
要再問看看可以以什麼方式呈現轉檔格式

或是是否真有必要
在什麼情況下需要

'加入訂單號查詢

'改日期搜尋成為 出貨日期搜尋 (目前是訂貨單建檔日期)

'希望透過搜尋訂單
可以選擇結合那些訂單,去計算選配料號


@要注意的是
該日期範圍~不一定會是最新版本的訂單

想法是一樣撈訂單號
再去結合一次撈出最新訂單(跳脫該日期搜尋)




========================================
orderdet : partcode , custspec , pdtversion , qty, order.custid


select b.partcode, b.pdtversion, b.custspec, b.qty, a.custid, max(a.formversion)
 from tblorder a
join tblorderdet b on a.orderno = b.orderno
where a.orderdate = '20110527'
and a.status = 2
group by b.partcode, b.pdtversion, b.custspec, b.qty, a.custid


================================
選配 與 BOM 切割
BOM就不用考慮訂單部分

選配
一樣的方法撈到新料號
配上客戶規格
去撈選配

介面設計上
感覺不外乎就是可以篩選訂單

要注意的是
1. 訂單細項上面
可能會有兩筆不同批次但是同料號同客戶規格的東西
(所以要抓出兩個相同的料號加總Qty,再去計算選配)
mark + CustSpec 唯一

2. 不透過mcst去做資料撈取

3. 選配撈所有的商標(看訂單訂的產品決定,會走BOM)
 製令就踢掉所有商標(U開頭)

4. 選配希望能夠一筆一筆計算,也有多筆合計功能

select *
from tblcomb
where combcode = 'BDR-562086-16'


select *
from tblcombdet
where combcode  like '%562086-16'


select *
from tblorderdet
where orderno = 'BDR1003091126'


========================================
好像可以
但是效能上有問題

'proc 去挑 part 有點問題
會有說 pdtversion, pdtkey 相同
但是 proccode不同(proc 跟 part)

變成撈不到資料

所以不能透過這個關係來撈資料



'有可能是出在子查詢上

要再想方法

'最後面的 巢狀For each 要想辦法改掉

透過Table select 去解決
但有點問題 compute 找不到存在的資料行(明明存在)

找訂單 (PartCode產品, CustSpec 去對選配)

select *
from tblorderdet a
join tblstock b on a.partcode = b.partcode
where a.PartCode LIKE
(select SUBSTRING(max(partcode),1,7) from tblstock
where PartRule LIKE '%@[0780N@]' ESCAPE '@' )+'%'
and orderno like 'sch2184%'


沒有留言:

張貼留言