2011年8月24日 星期三

@CASE 1.3 < 訂單原物料需求計算 > ver-110824

'第一次分批轉檔
有機會發生原料撈取交互影響問題

要再觀察


'嘗試將轉檔相關訊息以累加方式處理
透過強制回應Form,去做到說讓使用者可以在該表單動作後
一次處理


可能需要改勾選處理
當勾選的時候就把單號加進來
取消勾選就移除


            '轉檔訊息一次處理
                '========================
                '1.紀錄訂單號
                '2.檢查檔案是否存在
                '3.show出強制回應表單
                '   3.1.改檔名 - 檔名檢查是否已存在,做提示
                '   3.2.確認 - 該筆轉檔後覆蓋
                '   3.3.取消 - 該筆不轉檔
                '4.開始轉檔
                '========================

目前透過 List 去撈訂單號
希望呈現在GridView上面作為DataSource
但是欄位只呈現每個值的長度

DataGridView.DataSource 能否使用具有struct的list呢

應該需要建立一個struct 去設定 value, Name
然後在指定來於資料的時候
看會不會跑出value
要在側側看

struct
完整單號 (不顯示,跑轉檔用)
原始訂單檔名 (不可修改,跑轉檔用)
檔名 (可修改)
路徑 (不可修改)
checkbox (打勾取消)

所以最後轉檔依照gridview上的檔名
依照ordnolist儲存的檔名


@要注意訂貨單號還是要去接
所以可能要改一夏SQLSubmit



@excel改直接顯示
(多筆批次轉會一次開一堆,看要不要限制開的次數,或是在想看看)
如果直接顯示,不存檔,似乎就不用考慮會不會覆蓋檔案的問題

目前作法是
直接開檔案,
讓使用者自行決定要不要存,印

不去考慮覆蓋問題


'全選全不選應該改Radio Button



'或許把異常處理欄位做可以點選開啟方式
在外面做個醒目提示(閃爍之類的)

目前先透過一個panel 希望裡面放一個箭頭圖片
然後可以閃爍

點兩下開啟
點異常資訊標題兩下關閉

要再找看看能不能壓在gridview上
然後類似透明度的方式,可以穿透看到背後的gridview資料

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

'合併轉檔,檔名抓了兩次
不確定物料是不是也重覆計算
要檢查

目前看來是訂單號碼重複
並且沒有照料號做加總


'合併後轉檔,
之後分批轉檔路徑錯誤


'需要將訂單明細 ITEM 以新舊料號顯示


'發現說轉檔,如果有料號條件
勾選的訂單轉檔所有東西都會轉出來


'發現說訂單ITEM篩選有問題,萬用字元無法用
LINQ 再用萬用字元上面有點問題


LINQ to SQL 查詢小技巧



2. Like 通配符(萬用字元% or 單一字元 _ ) 查詢
通常我們查詢like的方式有幾種 “%abc%”、”%abc”、”abc%”、”a%b%c”;在 LINQ
裡面可以利用
Contains(“abc”)   >> “%abc"%”
StartWith(“abc”)  >> “abc%”
EndWith(“abc”)   >> “%abc”



因為%是特殊字元,所以除了Contains本身會加的%以外,其它的會自動設定escape。這時
候我們要利用 SQLMethods.Like (System.Data.Linq.SqlClient)
var list =  db.Members.Where(p=>SqlMethods.Like(p.ChName, "a%b%c"));


目前似乎只支援LINQ 2 SQL 萬用字元

可能要改 table.select

目前不支援 _ ? 萬用搜尋
不支援 a*b 中間萬用字元

除非說透過MS SQL
那就要改

目前改由MS SQL下去篩選
而不透過LinQ



'需要將非核准的訂單也納入計算
讓使用者自己決定
status = 0 or 2


有點問題,似乎有些東西撈不到資料
會造成 tblOrdMRP 去切 distinct 的時候出問題
要再修


'可能需要改移下 doubleClick
讓他不會去抓下面的條件

只有當篩選按鈕的時候才作條件篩選



'微軟的文件就說, 在合併儲存格下, 自動行高是沒作用的.
所以這似乎是 EXCEL 的限制


必須請使用者手動去調整一下行高了

'可能需要注意遺下
多重輸入字串切割
可能會碰到空白字元的問題

'如果勾選到沒有訂單細項,
並且作列印轉檔

忽略

'要檢查一下 XB , BX 那邊 叫用 class 連 SQL 的方式
看能不能都改獨立
==============================================
撈錯了
要撈訂單上面所訂購的產品
不是原物料的篩選

'所以轉檔列印的時候
要去判斷是否有 篩選的 Item 存在

'報表列印那邊
在撈訂單號,產品編號時
如果太多會超過所繪製的格子

要想辦法讓他重複繪製重複繪製好像不能放在頁首
或是說可以設定

要去查遺下
==============================================
'可能會需要再跑BOM的時候
不只要抓住pdtkey, pdtversion, prockey
還要另外抓住 partcode

讓他可以去判斷有沒有出現在 Item 裡面
有的才去撈
沒有就不撈

好像只能在 bompart抓

所以應該是要用過濾的
一樣抓所有物料

但是去踢掉

=================================================
'可能需要記憶 那些料號 被選取過
當切換訂單的時候,將會出現的該料號選取狀態打勾

'目前卡在說
應該怎麼讓gridview 裡面的 checkbox 能夠在即時勾選的時候
就偵測到動作
並且將該列的物料號記錄到 richtextbox裡面

怎麼偵測~


DataGridView.CellValueChanged 事件


通常發生在離開焦點時



DataGridView.CurrentCellDirtyStateChanged 事件


使用在一開始發生改變時 ( 無法持續, 只有在第一次勾選或取消勾選時發生 )




處理 CurrentCellDirtyStateChanged 事件。在此範例中,事件處理常式會呼叫 CommitEdit 方法來引發 CellValueChanged 事件,以判斷目前 DataGridViewCheckBoxCell 的值。


===================================
a. 檢查有無日期
b. 檢查有無訂單號
c. 檢查有無原物料料號
(所以一開始篩選就要把所有都拉出來)

選訂單-->呈現原物料
a. 再次檢查 有無 Item 條件

需要注意
在一個訂單上面點選 Item 原物料加入 條件時
如果跳了另外一個訂單
因為會 再次檢查有無 Item 條件
所以只會呈現 textbox 所有的 Item 而已

看有什麼方法
能夠切換各個訂單,方便加入 Item 條件
最後再重新送出篩選

希望透過一個Panel裡面的RichTestBox
將勾選的材料加入到 RichBox
然後再透過裡面的 Button
確認加入到 textbox

這時候再點選訂單就會篩選材料

'發現說會有一些料號 900開頭的東西
外購品,可能是砥礪也可能是其他東西
因為不會再製程上,所以BOM表找不到材料

會配在選配上
猜測這應該是小於去採購
而不是蔡組長
要在問遺下看需不需要拉進來
===================================
從方案二下手好了
使用者可以一開始手動輸入

或是透過訂單細項勾選加入

需要注意的是
當細項取消勾選
如何找出該 Item 並且從 textbox 只剔除該 Item
=============================================
'大致上會與選配物料介面相當

'需要訂單日期篩選(建檔?出貨?)
需要訂單號篩選
需要 item 篩選

可以串接也可以獨立

'轉檔列印報表格式要再討論

'篩選模式
大致上日期或是訂單號去找出相關訂單

並且呈現某些訂單細項

方案一

(或是勾選,比較快?)
希望做到拖拉訂單細項到 Item 欄位
能夠自動將該 item 的 partcode自動加入篩選條件

也可以一開始就手動輸入 Item 去做篩選

想法是當他勾選細項,就會加入Textbox之中,取消勾選,就剔除


方案二

'想做一個下拉式選單,輸入前面字串
將自動篩選資料庫資料

改變下拉選單內容



C# Winform ComboBox 在输入内容时 会在下拉菜单中显示 根据输入内容查询的结果http://zhidao.baidu.com/question/180144652.html
'但是如果要做到多筆資料篩選,

可能就沒辦法根據內容查詢
或是說要再改寫

透過另外一個control 去蒐集 combobox 每次確認的料號

沒辦法用focus去做
不然每次都會跳到combobox
變成沒辦法移除

沒有留言:

張貼留言