跳轉到

程式資訊

  • 程式 IDRB_RATIO
  • 所屬子系統:M.主管資訊
  • 狀態:stable

交期回覆即時率統計

功能簡介

「交期回覆即時率統計」把一段受訂期間內的訂單明細逐筆拉出來,依「業務從建單到首次回覆交期之間實際經過的工作時數」判定每一筆訂單交期回覆是否準時(OK / NG),最後在底部彙總出訂單筆數、OK 筆數、NG 筆數與回覆即時率(%)。適合業務/生管主管衡量業務單位回覆客戶交期的反應速度,是一份純查詢報表(不修改任何資料)。

判定核心是:以初建(首次接單)到初回(首次回覆交期)之間扣除非上班時段的工作時數為準,超過 12 工作小時才回覆 → 視為 NG(逾期),12 小時以內回覆或已交貨 → 視為 OK。工作時數的計算會套用人事行事曆(wkcald_d)的上下班時段,午休與非工作日都不計入。

前置需求

  • 權限:M.主管資訊 → M-030 交期回覆即時率統計 的瀏覽權限。
  • 基礎資料:查詢結果的完整度與正確性取決於下列資料——
資料 影響的結果
銷售訂單(ormast 主檔含受訂日期) 受訂日期落在查詢區間的訂單才會被撈出
訂單明細(ordetl,含初建/初回日期時間、回覆日期、已交數量) 每一列的工時起訖、OK/NG 判定、回覆交期
品號主檔(invent 產品類別) 製造部別篩選(鐵芯/晶片/線圈)
人事行事曆(wkcald_d,每日工作時數 8/4/0) 工作時數計算;區間內任一天未排定行事曆會直接中止查詢

行事曆必須先排定

工作時數依賴 wkcald_d 逐日的上班別(全天 8 小時/半天 4 小時/休假 0)。若計算區間內有任何一天行事曆尚未排定,系統會中止並提示「計算日期:YYYY/MM/DD,年度行事曆尚未排定,請洽人事部門」。請先請人事部門把行事曆排到查詢區間涵蓋的日期。

操作步驟

這是一支查詢報表,只有「設定條件 → 查詢 → 檢視/匯出」三個動作。

  1. 從主選單開啟 主管資訊 → 交期回覆即時率統計
  2. 在左側條件面板設定查詢條件(見欄位說明):
    1. 受訂日期起訖:預設為「當月 1 日 ~ 今天」。系統比對訂單主檔的受訂日期
    2. 製造部別:四選一的單選鈕,預設 ALL
  3. 按工具列的 查詢。系統呼叫 SP(TWORK_QRY_RB_RATIO)一次算完所有列的工時與 OK/NG,結果顯示在右側格線。
  4. 檢視結果:
    1. 上方格線是訂單明細(18 欄,見結果欄位)。
    2. 下方一列是合計:訂單筆數、OK 筆數、NG 筆數、回覆即時率(%)。
  5. 視需要把格線資料匯出 Excel:在格線上按右鍵選匯出(報表抬頭為「交期回覆即時率統計」)。

    小技巧

    改了條件後直接再按一次 查詢 即可重算,毋須重開視窗。製造部別切換後也要重按 查詢 才會套用篩選。

條件面板與結果格線

欄位說明

查詢條件

欄位 必填 說明/格式/預設
受訂日期(起) yyyy/MM/dd;預設當月 1 日(程式以系統日推算)。比對 ormast.受訂日期 下限
受訂日期(迄) yyyy/MM/dd;預設今天。比對 ormast.受訂日期 上限
製造部別 單選鈕,預設 ALLALL=全部、鐵芯製造部晶片製造部線圈製造部,對應品號 產品類別 1/2/3

結果欄位

欄位 說明
訂單編號 訂單主檔編號
序號 訂單明細序號
品號 訂單明細品號
數量 訂購數量
單位 計量單位
已交數量 已出貨數量;判定回覆即時率時用到(已交 ≥ 訂購視為已交貨)
預訂交期 客戶要求/訂單上的預訂交期
回覆交期 業務回覆給客戶的交期(取自 ordetl.回覆日期
初建日期/初建時間 該筆訂單明細首次建立的日期時間,作為工時計算起點
初回日期/初回時間 首次回覆交期的日期時間,作為工時計算終點
輸入日期 明細的系統輸入時間(yyyy/MM/dd HH:mm:ss
總時數 起點到終點之間的自然時數(含非上班時段),=(終點-起點)÷3600,四捨五入 2 位
工作時數 起點到終點之間扣除午休與非工作日後的實際上班時數(依行事曆算),四捨五入 2 位
OK 準時回覆=V,否則空白
NG 逾期=V,否則空白
回覆即時率 文字註記:已交貨尚未逾期/空白(逾期或已回覆的列不顯示文字)

底部合計

欄位 說明
訂單筆數 明細總列數
OK 筆數 OK = V 的列數
NG 筆數 訂單筆數 − OK 筆數
回覆即時率 OK 筆數 ÷ 訂單筆數 × 100,顯示為百分比({0:N2} %

欄位連動與附加功能

這支報表沒有可輸入的資料欄,連動全發生在「按下查詢後 SP 的計算邏輯」與「工具列動作」。以下把每條規則寫成你看得懂的「當你…,系統會…」。

按下查詢時系統怎麼算

  • 當你設定受訂日期起訖並按 查詢,系統只撈受訂日期落在區間內的訂單明細(ormast inner join ordetl inner join invent),其餘訂單一律不列入。
  • 當你選了某個製造部別,系統用品號主檔的 產品類別 過濾:鐵芯=1、晶片=2、線圈=3;選 ALL 則不過濾。切換部別後要重按 查詢 才生效。
  • 工時起點的決定:當該明細有初建日期,就用初建日期+初建時間當起點;若初建日期是空的,改用輸入日期當起點。
  • 工時終點的決定:當該明細有初回日期,就用初回日期+初回時間當終點;若初回日期是空的(還沒回覆),系統用今天此刻當終點——也就是「還沒回覆的訂單,逾期時數會一直累積到查詢當下」。
  • 總時數:終點減起點的自然秒數 ÷3600,含晚上、午休、假日。
  • 工作時數:系統把起點到終點之間的每一天攤開,逐日比對行事曆:
    • 全天班(行事曆工作時數=8)只計入 08:30~12:00 與 13:00~17:30 兩段,午休 12:00~13:00 與下班後都不算。
    • 半天班(行事曆工作時數=4)只計入 08:30~12:30
    • 休假日(工作時數=0)整天不計入。
    • 起點若早於當日 08:30 自動拉到 08:30;終點若晚於 17:30 自動截到 17:30,午休落點也會被裁切。
  • OK/NG 判定
    • 尚未回覆(回覆交期空白)且已交數量 ≥ 訂購數量OK = V,回覆即時率文字標 已交貨
    • 否則看工作時數> 12 工作小時才回覆/處理 → NG = V(逾期)≤ 12 工作小時 → OK = V。尚未回覆但工時還在 12 小時內的,回覆即時率文字標 尚未逾期
  • 合計與即時率:所有列算完後,系統在底部彙總 OK/NG 筆數,並算出回覆即時率(OK 筆數 ÷ 訂單筆數 × 100)。

「12 工作小時」是判定門檻

準時與否不是看自然時間,而是看工作時數。例如週五下午接單、週一上午才回覆,中間的週末與每天下班時間都不計入;只要實際上班時數沒超過 12 小時,仍算 OK

工具列附加功能

  • 查詢:重新依目前條件計算並刷新格線(主要動作)。
  • 匯出 Excel:在結果格線上按右鍵即可匯出整份明細,報表名稱為「交期回覆即時率統計」。

VFP 與新版的兩點差異(行為一致,實作不同)

  1. VFP 舊版把合計用「在格線最後 APPEND 一空白列+彈窗 U_MSG」呈現;新版改成格線底部固定一列合計欄位,數字相同但不再跳訊息框。
  2. VFP 舊版「回覆交期」因 cursor 欄名不符實際永遠空白(等於只走「未回覆」分支);新版照程式原意把回覆交期接成 ordetl.回覆日期,已回覆的列會正確走「依工作時數判 OK/NG」的分支。

常見問題

按查詢後跳出「年度行事曆尚未排定,請洽人事部門」?

工作時數要靠人事行事曆(wkcald_d)逐日的上班別計算。只要查詢區間(更精確說是各訂單初建~初回涵蓋的日期)內有任何一天沒排行事曆,系統就會中止並指出是哪一天。請先請人事部門把行事曆排到該日期之後再查。

某些訂單沒出現在結果裡?

只會列出受訂日期落在起訖區間內、且品號符合所選製造部別的訂單明細。受訂日期在區間外、或品號產品類別不屬於所選部別的,都不會出現。

明細的「回覆即時率」欄是空白,但「OK/NG」有值,正常嗎?

正常。明細列的回覆即時率文字欄只在兩種狀況顯示文字:未回覆但已交貨(已交貨)、未回覆且工時未逾 12 小時(尚未逾期)。已回覆的列、或已逾期的列,這欄會留白;準時與否請看 OKNG 欄。整體百分比看底部合計的回覆即時率。

明明很久才回覆,為什麼還是 OK?

判定看的是工作時數不是自然時數。中間若跨了週末、假日或每天的下班與午休時段,那些時間都不計入。只要實際上班時數 ≤ 12 小時就算 OK,所以隔了好幾天但都是非上班時段的,仍可能準時。

還沒回覆的訂單會算成 NG 嗎?

會視情況。未回覆的列以查詢當下為終點累積工作時數:若已交數量達到訂購數量,標 已交貨(OK);若還沒交且累積工時 ≤ 12 小時,標 尚未逾期(OK);一旦累積工時超過 12 小時,就轉為 NG

回覆即時率(%)怎麼算出來的?

底部合計= OK 筆數 ÷ 訂單筆數 × 100,四捨五入 2 位。OK 筆數是 OK = V 的明細列數,NG 筆數=訂單筆數 − OK 筆數。

相關功能


需補截圖清單

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

  1. rb_ratio-step1.png — 條件面板(受訂日期起訖+製造部別單選鈕)與查詢結果格線、底部合計列全貌