跳轉到

程式資訊

  • 程式 IDVENDORDEFECT
  • 所屬子系統:G.採購付款
  • 狀態:stable

廠商收料不良統計

功能簡介

「廠商收料不良統計」依暫收(進貨暫收)/檢驗的結果,統計一段期間內各廠商的收料件數、不良件數、不良率與評分,協助採購、品保主管評估供應商品質。資料來源為進貨暫收主檔與暫收明細(檢驗結果),由後端 SP DARB_QRY_PURAMA(程式代碼 PUR_QRY2)一次查回四份結果,分別呈現在四個頁籤:

  1. 收料不良表(日期別):以暫收日期彙總,看每天收了幾件、不良幾件。
  2. 收料不良日報表:把不良率攤平成 1~31 日的橫向日報,含納入數/不良數/累積數/不良率四列(規劃中,詳見欄位連動與附加功能)。
  3. 收料不良表(廠商別):以廠商彙總並計算評分與名次,是廠商評鑑的核心數據。
  4. 收料不良明細表:逐筆列出每張暫收單的檢驗明細(品號、數量、NG 數量、問題點等)。

本表單只做查詢與列印,不新增、不修改、不刪除任何資料。

前置需求

  • 權限:G.採購 → 廠商收料不良統計 的瀏覽權限;要列印另需列印權限。
  • 基礎資料:查詢結果的完整度取決於下列資料的維護狀況——
資料 影響的結果
進貨暫收單(暫收主檔/明細) 收料件數、不良件數、明細表所有列
暫收明細的檢驗結果(檢驗日期、NG 數量、問題點、確認、成績表扣分) 不良件數、不良率、明細表的檢驗欄位
廠商主檔(廠商代號/簡稱) 廠商別頁與明細表的廠商簡稱
廠商別(採購/外包)對應的單號別 決定要撈 TP%(採購暫收)或 TT%(外包暫收)的單據

單號別對應

廠商別選「採購廠商」時撈暫收單號開頭為 TP 的單據;選「外包廠商」時撈 TT 開頭的單據。這對應 VFP 舊版以暫收單號前置碼判斷來源的邏輯。

操作步驟

  1. 從採購模組選單開啟「廠商收料不良統計」。畫面上半部是查詢條件,下半部是四個結果頁籤。
  2. 設定查詢條件:
    1. 起始日期/截止日期:預設帶當月份(起始=當月一日、截止=今天)。日期別、廠商別兩頁的統計比對暫收日期,明細表則比對暫收明細的檢驗日期(對應 VFP 舊版各頁不同的日期條件)。
    2. 廠商別:下拉選 採購廠商(預設)或 外包廠商
    3. 視需要勾選 Only Defect(只篩選不良):勾選後「收料不良明細表」頁只保留 NG 數量不為 0 的列(預設不勾)。
  3. Query(查詢)。系統呼叫 SP 撈資料,並把查詢時間填入 Query Time 欄位。
  4. 在下方四個頁籤檢視結果:
    1. Group By Date(收料不良表日期別)
    2. Daily(收料不良日報表)
    3. Group By Vendor(收料不良表廠商別,含名次與評分)
    4. Detail(收料不良明細表)
  5. 需要紙本或預覽時,呼叫工具列的列印功能開啟廠商來料不良列印,系統會把目前的單號帶入列印起訖單號。

小技巧

各結果頁籤都是 TsRadGridView,可在格線上點欄位標頭排序。VFP 舊版每頁原有的「匯出 Excel/列印/Email」按鈕在新版未保留為頁內按鈕,列印改由工具列統一進入廠商來料不良列印

欄位說明

查詢條件

欄位 必填 說明/格式/預設
Document No(單號) 系統產生,唯讀。供列印帶入起訖單號用
Created Date(建立日期) 唯讀,新增條件時帶今天
Query Time(查詢時間) 唯讀,按 Query 當下自動填入
Beginning Date(起始日期) 預設當月一日;日期別/廠商別頁比對暫收日期、明細表比對檢驗日期
Ending Date(截止日期) 預設今天
Vendor Type(廠商別) 採購廠商(預設,撈 TP%)或 外包廠商(撈 TT%
Only Defect(只篩選不良) 勾選時明細表只留 NG 數量≠0 的列(預設不勾)

收料不良表(日期別)

欄位 說明
Temp Receiving Date(暫收日期) 彙總的日期
Receiving Count(收料件數) 該日的收料件數
Defect Count(不良件數) 該日的不良件數
Defect Rate(不良率) =不良件數 ÷ 收料件數 × 100(四捨五入兩位),收料件數為 0 時為 0
Grade Count(成績表件數) 該日列入成績表(扣分)的件數
Notes(備註) 備註文字

收料不良日報表

橫向日報,列為種類(納入數/不良數/累積數/不良率),欄為 01~31 日Subtotal(合計)。各日數值由日期別資料攤平而來,詳見欄位連動與附加功能

收料不良表(廠商別)

欄位 說明
Rank(名次) 依得分由高到低排名;得分相同名次相同;最後一列名次 9999 為「合計」列
Vendor Code/Vendor Name(廠商代號/簡稱) 合計列的廠商簡稱顯示「合 計:」
Receiving Count(收料件數) 該廠商收料件數
Defect Count(不良件數) 該廠商不良件數
Defect Rate(不良率%) =不良件數 ÷ 收料件數 × 100(兩位四捨五入)
Deduction For Defects(不良扣分) =不良率 × 0.4(兩位四捨五入),上限 40
Deduction For Grade(成績表扣分) =成績表率 × 0.1(兩位四捨五入),上限 10
Score(得分) =50 − 不良扣分 − 成績表扣分
Notes(備註) 備註文字

收料不良明細表

欄位 說明
Vendor Code/Vendor Name(廠商代號/簡稱) 來源廠商
Temp Receiving Document No(暫收單號) 對應的進貨暫收單號
SKU(品號) 收料品號
Temp Receiving Date(暫收日期) 暫收日期
Quantity(數量) 暫收數量
Inspection Date(檢驗日期) 檢驗日期
NGQuantity(NG 數量) 檢驗判定的不良數量
Confirmed(確認) 確認狀態
Question(問題點) 不良問題點描述
Order No(訂購單號) 來源採購訂單號
Is Grade Minus(成績表扣分) 是否計入成績表扣分
Notes(備註) 備註,查詢帶回後為空字串

欄位連動與附加功能

這一節說明「輸入條件、按下按鈕後系統實際做了什麼」,全部對照新版 C# 與 VFP pur_qry2 程式碼。

  • 開啟畫面 / 新增條件(AfterAddNew):系統把條件重設為預設值——廠商別1(採購廠商)、建立日期=今天、起始日期=當月一日、截止日期=今天,並清空四個結果頁籤。因此每次重開或重新建立條件,畫面都會回到「查當月、採購廠商」的起點。

  • 廠商別 → 單號別:按 Query 時,系統依廠商別換算要撈的單號別——選採購廠商查 TP%、選外包廠商查 TT%,再連同起訖日期傳給 SP DARB_QRY_PURAMA。換言之,改了廠商別一定要重新按 Query 才會反映。

  • Query(查詢)的完整流程

    1. 若目前不是編輯狀態,系統先自動進入新增(產生一筆條件)。
    2. 把目前時間寫入 Query Time
    3. 用起始日期、截止日期、廠商別、Only Defect 組成查詢參數,呼叫 收料不良統計Bll 執行查詢。
    4. 清空四個頁籤後,把回傳的日期別/廠商別/明細三組資料分別塞入對應頁籤。
  • 不良率自動計算(日期別/廠商別):不良率不是資料庫欄位,而是當場算的——不良率=不良件數 ÷ 收料件數 × 100(四捨五入兩位),收料件數為 0 時不良率顯示 0,避免除以零。

  • 廠商別評分與名次(產生收料不良表廠商別):查詢後系統會對每個廠商逐項計算:

    1. 不良扣分=不良率 × 0.4(兩位四捨五入),超過 40 以 40 計。
    2. 成績表率=成績表件數 ÷ 收料件數 × 100;成績表扣分=成績表率 × 0.1,超過 10 以 10 計。
    3. 得分=50 − 不良扣分 − 成績表扣分。
    4. 依得分由高到低排序,逐列給名次(得分相同則名次相同)。
    5. 最後加一列合計列(名次 9999、簡稱「合 計:」),把收料件數、不良件數、各扣分、得分加總,合計列的不良率以加總後的件數重算。
  • Only Defect(只篩選不良):勾選後,收料不良明細表只保留 NG 數量不為 0 的列;不勾則明細表呈現所有暫收檢驗列。此勾選只影響明細表,不影響日期別與廠商別兩頁的統計。

  • 明細表的廠商簡稱/品號帶值:明細是後端 SP 查回的,含廠商代號、廠商簡稱、品號、暫收單號、檢驗日期、NG 數量、問題點、確認、訂購單號等欄位;前端只負責顯示,不再額外撈主檔。

  • 列印(GetPrintViewModel):呼叫列印時,系統建立廠商來料不良列印的列印視窗,並把目前條件的單號同時帶入列印的起始單號與截止單號。列印頁以單號區間(DocumentNo between 起 and 訖)為條件出報表。

收料不良日報表(Daily 頁)目前未帶入資料

新版 VM 中,把日期別資料攤平成日報表(納入數/不良數/累積數/不良率 × 1~31 日)的程式段目前是註解停用的,所以 Daily 頁籤現階段不會顯示資料。後端攤平邏輯(依暫收日期的「日」填入 d01d31、逐日累積、合計欄)已備妥,待重新啟用後即可呈現。在那之前,請以「收料不良表(日期別)」頁查看每日數據。

VFP「品質管制」頁尚未提供

VFP 舊版 pur_qry2 另有第 5 頁「品質管制」(依品號/品管制日列出管制批數、合格批數、抽檢數量等)。新版 C# 尚未移植此頁,目前僅提供日期別、日報表、廠商別、明細表四項。

常見問題

按了 Query 卻查不到任何資料?

請依序確認:(1) 起始/截止日期區間內確有暫收/檢驗資料——日期別、廠商別頁以暫收日期為條件,明細表以檢驗日期為條件,兩者落點不同時各頁筆數可能不一致;(2) 廠商別選對了(採購撈 TP%、外包撈 TT%),若你的暫收單是外包卻選了採購廠商就會落空;(3) 區間預設只有當月,要查更早的資料記得把起始日期往前拉。

勾了「Only Defect」之後明細表變少很多?

這是正常的。Only Defect 會把 NG 數量為 0 的明細列濾掉,只留真正判定不良的列;它只影響「收料不良明細表」,日期別與廠商別兩頁不受影響。取消勾選再按 Query 即可看回全部明細。

「Daily」(日報表)頁是空的?

目前新版尚未啟用日報表的資料帶入(程式段暫時停用),所以該頁不顯示資料。請改看「收料不良表(日期別)」頁取得每日納入/不良數據。詳見欄位連動與附加功能的說明。

廠商別頁的「不良率/得分」算出來和我手算不同?

系統一律以收料件數為分母、四捨五入兩位計算不良率;不良扣分有 40 上限、成績表扣分有 10 上限,得分為 50 − 不良扣分 − 成績表扣分。最後一列名次 9999 是合計列,其不良率是用加總後的件數重算的,不是各列平均。

改了廠商別或日期,畫面數字沒變?

所有條件改完都要重新按一次 Query 才會重查。條件本身不會即時觸發查詢。

相關功能


需補截圖清單

以下截圖待功能 runtime 驗收後補拍(放 docs/G-Purchasing/images/):

  1. vendordefect-step1.png — 查詢條件面板(起訖日期、廠商別、Only Defect、Query)
  2. vendordefect-step2.png — 「收料不良表(廠商別)」頁,含名次/得分與合計列
  3. vendordefect-step3.png — 「收料不良明細表」頁(建議含 Only Defect 勾選前後對照)