Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

MTMS_排程與工單_使用說明.md 19 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459
  1. # MTMS 使用說明:排程 → 開工單
  2. > 本手冊依目前前端畫面與繁中文案整理,**按鈕/選單名稱以畫面上「」內文字為準**。
  3. > 適用範圍:側欄「排程」、管理工單(搜索/建立、提料、生產流程)。
  4. > **「一附」章節**使用本機資料庫 `fpsmsdb` 的真實例子(查詢當下快照);其他環境請改日期再對。
  5. > 產生日期:依原始碼現況(若畫面改版,請以實際 UI 為準)。
  6. ---
  7. ## 這份手冊怎麼用
  8. | 符號 | 意思 |
  9. |------|------|
  10. | 「……」 | 畫面上看得到的按鈕、選單、標題 |
  11. | → | 下一步操作 |
  12. | 節點 | 流程中的一個階段(狀態/畫面) |
  13. 建議閱讀順序:
  14. 1. **先排期**(側欄「排程」)
  15. 2. **再放單/建工單**(「管理工單」→「搜索工單/ 建立工單」)
  16. 3. **提料 → 生產 → 完成**
  17. ---
  18. ## 一、整體流程(從排期到完工)
  19. ```text
  20. 【排程】預測/查看排期
  21. ↓ 「自動生成工單」 或 手動「建立工單」
  22. 【規劃中】工單已建立、尚未放單
  23. ↓ 「放單」
  24. 【待提料/提料中】
  25. ↓ 「工單提料」掃碼提交
  26. 【生產中】「工單生產流程」各工序開始/完成
  27. ↓ 「完成工單」
  28. 【品檢/上架】「待QC上架工單」→「已上架工單」
  29. ```
  30. 也可**不經排程**,在「搜索工單/ 建立工單」直接「建立工單」(手動工單)。
  31. ---
  32. ## 一附、本地資料庫實例(方便對照畫面)
  33. > 以下數字來自本機 `fpsmsdb` 查詢結果,用於說明「畫面上大概會看到什麼」。
  34. > **不同環境/日期資料會不同**;請用「搜索」條件改成你們當天日期再核對。
  35. > 狀態中文依前端翻譯:`planning`→「規劃中」、`pending`→「待處理」、`packaging`→「提料中」、`processing`→「生產中」、`storing`→「待品檢入倉」、`completed`→「已完成」。
  36. ### 例 A:已有排期、尚未產工單(適合練習「詳細」→「自動生成工單」)
  37. 在「生產排程」用「生產日期」搜 **2026-08-03**,本機有一筆細排(`production_schedule.id = 928`,`type = detailed`):
  38. | 畫面概念 | 本機資料 |
  39. |----------|----------|
  40. | 「生產日期」 | 2026-08-03 |
  41. | 「預計生產數」(約) | 17,334 |
  42. | 「成品款數」(約) | 47 |
  43. 打開「詳細」後,明細列會類似(節錄):
  44. | 「編號」 | 「名稱」 | 約「需求數量」 | 約「存貨量」 | 約需工單數 |
  45. |----------|----------|----------------|--------------|------------|
  46. | PP1175 | 鮮檸檬汁(P+4) | 1,406 | 1,400 | 74 |
  47. | PP1224 | 柚子蒜蓉汁 | 140 | 50 | 1 |
  48. | PP0259 | 牛肉水(2KG/包) | 41 | 51 | 41 |
  49. | PP2284 | 油醋汁(1KG/包) | 28 | 32 | 1 |
  50. | PP2390 | 熱情香果醬 | 12 | 16 | 4 |
  51. **怎麼練:**
  52. 1. 「排程」→ 生產日期選 **2026-08-03** →「搜索」→「詳細」。
  53. 2. 對照上表成品是否出現在明細。
  54. 3. 若環境允許,再試「自動生成工單」(會真正建 JO,請在測試庫操作)。
  55. > 查詢當下:此排期**尚未**有透過 `prodScheduleLineId` 掛上的工單(適合示範「產工單前」)。
  56. ### 例 B:排期已產工單且已完成(歷史成功路徑)
  57. 本機較早一筆:**2026-06-17** 細排(約預計生產 17,421、成品款數 33),曾產生多張 `type = detailed` 工單,例如:
  58. | 「工單編號」 | 「狀態」 | 「需求數量」 | 成品 |
  59. |--------------|----------|--------------|------|
  60. | JO-260617-008 | 已完成 | 568 | PP1234 日式咖哩汁 |
  61. | JO-260617-012 | 已完成 | 15 | PP2288 香水檸檬汁P+3 |
  62. | JO-260617-015 | 已完成 | 600 | PP1136 白粥 |
  63. | JO-260617-024 | 已完成 | 28 | PP2284 油醋汁(1KG/包) |
  64. | JO-260617-030 | 已完成 | 508 | PP2290 韓式豬軟骨 |
  65. **怎麼練:**
  66. 1. 「搜索工單/ 建立工單」→「預計生產日期」填 **2026-06-17** →「搜索」。
  67. 2. 找上表工單編號,點「查看」看已完成工單長怎樣。
  68. 3. 對照:這類工單來自排程 release(`type` 在庫為 `detailed`),不是手動「建立工單」的 `manual`。
  69. ### 例 C:手動「建立工單」(不經排程)
  70. 本機 **2026-07-29** 工單幾乎皆為手動(`type = manual`,且未掛排期行)。例子:
  71. | 「工單編號」 | 「狀態」 | 「需求數量」 | 成品 |
  72. |--------------|----------|--------------|------|
  73. | JO-260729-045 | 待處理 | 3 | PP2390 熱情香果醬 |
  74. | JO-260729-038 | 待處理 | 51 | PP2277 烚意粉 |
  75. | JO-260729-034 | 生產中 | 1 | PP2302 酸甜蘿蔔粒箱料粉 |
  76. | JO-260729-044 | 提料中 | 265 | PP2383 辣椒菜脯 |
  77. **怎麼練:**
  78. 1. 「預計生產日期」選 **2026-07-29** →「搜索」。
  79. 2. 用「狀態」篩「待處理」→ 應能看到類似 JO-260729-045。
  80. 3. 若該單仍「規劃中」,可練習「放單」;若已是「待處理」,可接「工單提料」。
  81. 同日狀態分佈(本機快照):約 17 張「待處理」、24 張「提料中」、4 張「生產中」——正好對應「放單後 → 提料 → 生產」不同節點。
  82. ### 例 D:近兩週工單狀態分佈(看流程卡在哪)
  83. 本機最近約 14 天(未隱藏工單)概況:
  84. | 「狀態」 | 約筆數 | 使用者下一步常做什麼 |
  85. |----------|--------|----------------------|
  86. | 已完成 | 359 | 可當完成範本「查看」 |
  87. | 待處理 | 42 | 「工單提料」 |
  88. | 提料中 | 37 | 繼續掃碼/提交提料 |
  89. | 待品檢入倉 | 33 | 「工單生產流程」品檢/上架 |
  90. | 生產中 | 4 | 「工單生產流程」繼續工序 |
  91. ### 例 E:還在「規劃中」的單(適合練刪除/放單)
  92. 本機仍有例如:**JO-260427-039**(沙薑醬 PP2205,需求約 291,「規劃中」)。
  93. - 若只需練習「查看」→ 看「放單」「刪除工單」按鈕是否出現。
  94. - **勿在正式/共用庫隨意刪除**;測試庫才建議真的按「刪除工單」。
  95. ### 自行查核用 SQL(選用)
  96. ```sql
  97. -- 某日排期摘要
  98. SELECT id, DATE(produceAt) AS produce_date, type,
  99. totalEstProdCount, totalFGType
  100. FROM production_schedule
  101. WHERE deleted = 0 AND DATE(produceAt) = '2026-08-03';
  102. -- 該排期成品明細(前 20)
  103. SELECT i.code, i.name, psl.prodQty, psl.stockQty, psl.needNoOfJobOrder
  104. FROM production_schedule_line psl
  105. JOIN production_schedule ps ON ps.id = psl.prodScheduleId
  106. JOIN items i ON i.id = psl.itemId
  107. WHERE ps.deleted = 0 AND psl.deleted = 0
  108. AND DATE(ps.produceAt) = '2026-08-03'
  109. ORDER BY psl.itemPriority, i.code
  110. LIMIT 20;
  111. -- 某日工單+狀態
  112. SELECT code, status, type, reqQty, DATE(planStart) AS plan_date
  113. FROM job_order
  114. WHERE deleted = 0 AND (isHidden = 0 OR isHidden IS NULL)
  115. AND DATE(planStart) = '2026-07-29'
  116. ORDER BY status, code;
  117. ```
  118. ---
  119. ## 二、排程(側欄「排程」)
  120. ### 2.1 入口
  121. - 側欄點 **「排程」**
  122. - 進入頁面標題:**「生產排程」**(路徑通常為 `/ps`)
  123. > 說明:系統另有舊版「需求預測」「詳細排程」頁(`/scheduling/...`),**目前側欄主入口是「排程」→「生產排程」**。以下以主入口為準。
  124. ### 2.2 畫面上常見按鈕
  125. | 按鈕/功能 | 用途(白話) |
  126. |------------|--------------|
  127. | 「預測排期」 | 依日期/天數**計算產生**預計排期 |
  128. | 「搜索」 | 依「生產日期」等條件查已有排期 |
  129. | 「詳細」 | 打開該筆排期的明細 |
  130. | 「自動生成工單」 | 依此排期**一次產生多張工單**(在詳情裡) |
  131. | 「關閉」 | 關閉詳情視窗 |
  132. | 「排期設定」 | 庫存/排期相關設定與匯入匯出 |
  133. | 「匯出計劃/物料需求Excel」 | 匯出計劃與物料需求 |
  134. | 「匯出送貨單數量」 | 匯出送貨單數量區間資料 |
  135. 列表常見欄位:「生產日期」「預計生產數」「成品款數」等。
  136. ### 2.3 操作步驟:做出排期(Happy path)
  137. 1. 進入 **「排程」** → **「生產排程」**。
  138. 2. 點 **「預測排期」**。
  139. 3. 在對話框 **「準備生成預計排期」** 中填:
  140. - 「開始日期」
  141. - 「排期日數」
  142. 4. 點 **「計算預測排期」**。
  143. 5. 成功時畫面會提示類似 **「成功計算排期!」**;失敗會提示計算錯誤或不明狀況。
  144. 6. 選擇「生產日期」後點 **「搜索」**,在列表找到該日排期。
  145. 7. 點該列 **「詳細」**,打開 **「排期詳細」**。
  146. 8. 確認內容無誤後,點 **「自動生成工單」** → 系統依排期建立工單。
  147. 9. 點 **「關閉」** 結束。
  148. ### 2.4 節點說明(排程)
  149. | 節點 | 使用者在做什麼 | 下一個常見動作 |
  150. |------|----------------|----------------|
  151. | 尚未有排期 | 進「生產排程」但列表空/無當日資料 | 「預測排期」 |
  152. | 已有排期列表 | 用「搜索」找日期 | 「詳細」 |
  153. | 排期詳細已打開 | 檢查預計生產內容 | 「自動生成工單」 |
  154. | 已生成工單 | 工單出現在「搜索工單/ 建立工單」 | 去「放單」 |
  155. ### 2.5 排程常見問題
  156. | 情況 | 建議處理 |
  157. |------|----------|
  158. | 「計算預測排期」失敗 | 記下畫面錯誤訊息;檢查開始日期/天數;稍後再試或聯絡系統/IT |
  159. | 「自動生成工單」失敗 | 畫面可能顯示失敗訊息;確認排期內容是否完整、BOM/物料是否齊全 |
  160. | 找不到某日排期 | 確認「生產日期」與「搜索」條件;必要時再跑一次「預測排期」 |
  161. | 想改數量再開工單 | 主入口 `/ps` 詳情偏「一次自動生成」;若需逐行改量/發佈,需使用舊版「詳細排程」編輯頁(見附錄) |
  162. ### 2.6 附錄:舊版「詳細排程」/「需求預測」(進階)
  163. 若單位仍使用直連網址:
  164. | 畫面 | 標題(約) | 重點按鈕 |
  165. |------|------------|----------|
  166. | 需求預測列表 | 「需求預測」 | 「測試粗排」「搜索」「詳情」 |
  167. | 需求預測詳情 | 「成品及物料需求預測詳情」 | 多為**檢視**(依成品/依物料、「查看 BOM」) |
  168. | 詳細排程列表 | 「詳細排程」 | 「詳細排程」(產生)、「匯出排程」「詳情」 |
  169. | FG 生產排程 | 「成品生產排程」/「FG 生產排程」 | 列「發佈」、改「需求數量」後儲存、**「生成工單」**、「返回」 |
  170. 注意(舊版細排詳情):
  171. - **「生成工單」** 常僅允許**生產日期為今天**;否則可能跳出英文提示(畫面未必有完整中文翻譯)。
  172. - 前端**沒有**「從某一筆需求預測一鍵跳到對應詳細排程」的按鈕;兩條線在畫面上是分開的。
  173. 設定選單另有 **「需求預測設定」**(成品排除日、星期等),屬主檔設定,不是每日排期操作。
  174. ---
  175. ## 三、工單:搜索/建立/放單
  176. ### 3.1 入口
  177. 側欄 **「管理工單」** → **「搜索工單/ 建立工單」**
  178. 頁面標題:**「搜索工單/建立工單」**
  179. ### 3.2 畫面上常見按鈕
  180. | 按鈕 | 用途 |
  181. |------|------|
  182. | 「建立工單」 | 手動開一張新工單 |
  183. | 「放單」/「放單 (N)」 | 將「規劃中」工單放出,進入後續提料 |
  184. | 「重置」 | 清空搜尋條件 |
  185. | 「查看」 | 開「工單詳情」 |
  186. | 「取消工單」 | 取消後工單從列表隱藏(非規劃中等情況) |
  187. 搜尋條件常見:「工單編號」「成品/半成品名稱」「預計生產日期」~「預計生產日期至」「工單類型」「狀態」。
  188. ### 3.3 操作步驟:手動建立工單
  189. 1. 點 **「建立工單」**,打開標題為 **「建立工單」** 的視窗。
  190. 2. 填寫:
  191. - 「BOM」
  192. - 「標準生產數」(通常唯讀)
  193. - 「批數」
  194. - 「需求數量」(常由標準×批數自動帶出)
  195. - 「工單類型」(選 BOM 後可能自動對應)
  196. - 「生產優先序」(常見預設約 50,範圍約 1–100)
  197. - 「預計生產日期」
  198. - 可勾選「記住為預設日期」
  199. 3. 點 **「建立」**。
  200. 4. 成功後通常提示資料已更新;新工單多為 **「規劃中」** 狀態。
  201. 5. 在列表勾選/找到該工單,點 **「放單」**(或上方「放單 (N)」批量)。
  202. ### 3.4 操作步驟:從排程來的工單
  203. 1. 在「生產排程」詳情已按 **「自動生成工單」**(或舊版「生成工單」)。
  204. 2. 到 **「搜索工單/ 建立工單」**,用「預計生產日期」等搜尋。
  205. 3. 確認工單後執行 **「放單」**。
  206. ### 3.5 工單詳情(「查看」)
  207. 標題:**「工單詳情」**
  208. 常見分頁/區塊:
  209. - 「工單信息」
  210. - 「BOM 材料」
  211. - 「工藝流程」/「工藝明細」
  212. 常見動作:
  213. | 按鈕 | 何時可用(概念) | 說明 |
  214. |------|------------------|------|
  215. | 「放單」 | 多為「規劃中」 | 放出工單 |
  216. | 「刪除工單」 | 多為仍在「規劃中」 | 確認後**無法復原** |
  217. | 「取消工單」 | 已非規劃中等 | 確認後從列表**隱藏**;已上架通常不可取消 |
  218. | 「儲存」/「取消」 | 編輯 Dialog | 存檔或放棄 |
  219. | 「返回列表」 | — | 回搜尋頁 |
  220. 庫存摘要常見字樣:「所需貨品項目數量:」「可提料項目數量:」「未能提料項目數量:」。
  221. 刪除確認:
  222. - 「確認刪除工單」
  223. - 「確定要刪除此工單嗎?此操作無法復原。」
  224. 取消確認:
  225. - 「確認取消工單」
  226. - 「確定要取消此工單嗎?工單將從列表中隱藏。」
  227. - 按鈕:「取消工單」/「取消」(後者為放棄這次取消操作)
  228. ### 3.6 工單狀態(搜尋/列表常見)
  229. 畫面上可能出現(實際以該列顯示為準):
  230. | 狀態(常見中文) | 白話 |
  231. |------------------|------|
  232. | 「規劃中」 | 已建立,尚未放單 |
  233. | 「待處理」/待提料相關 | 已放單,等提料 |
  234. | 「提料中」/「進行中」 | 正在提料或進行中 |
  235. | 「已開始工序」/「生產中」 | 已進入生產工序 |
  236. | 「成品入倉中」/「待品檢入倉」 | 生產後待品檢/入倉 |
  237. | 「已上架」 | 已完成上架 |
  238. | 「已取消」 | 已取消 |
  239. 篩選下拉亦可能見:「待處理」「提料中」「已開始工序」「成品入倉中」「已上架」「已取消」等。
  240. ### 3.7 工單建立/放單常見問題
  241. | 情況 | 建議處理 |
  242. |------|----------|
  243. | 「建立」沒反應 | 檢查 BOM、批數、日期、工單類型是否已填;看是否有必填未選 |
  244. | 「放單」失敗 | 記下提示;檢查是否仍為可放單狀態、物料/權限 |
  245. | 想刪掉剛建錯的單 | 「規劃中」→「查看」→「刪除工單」→ 確認 |
  246. | 已放單但不想做了 | 「取消工單」→ 確認隱藏;**已上架**通常不能取消 |
  247. | 批量「放單 (N)」部分失敗 | 依成功/失敗筆數訊息,對失敗單再個別處理 |
  248. ---
  249. ## 四、工單提料
  250. ### 4.1 入口
  251. **「管理工單」** → **「工單提料」**
  252. ### 4.2 常見分頁
  253. - 「工單提料詳情」
  254. - 「已完成工單記錄」
  255. - 「物料提料狀態」
  256. - (及其他與膠茜/用量相關分頁,以畫面為準)
  257. ### 4.3 操作步驟(概念)
  258. 1. 在「工單提料詳情」找到已放單、待提料的工單。
  259. 2. 點 **「查看詳情」** 進入提料執行畫面。
  260. 3. 依畫面使用 **「開始掃碼」**、掃描物料/批號。
  261. 4. 需要時點 **「提交」**/**「提交所有已掃描項目」**/**「確認」**。
  262. 5. 完成後可在「已完成工單記錄」核對。
  263. 對料相關:生產流程中可能有 **「工單對料」**,並有 **「確認所有提料」**。
  264. ### 4.4 提料常見問題
  265. | 情況 | 建議處理 |
  266. |------|----------|
  267. | 批號不符 | 依 Dialog 提示按「確認」,改掃正確批號 |
  268. | 庫存不足/過期 | 依畫面提示;先補貨或調批號,勿強行提交 |
  269. | 掃錯要重來 | 用畫面上的「取消」/清除已掃項目(以當頁按鈕為準)後重掃 |
  270. 提料狀態常見:「待提料」「已掃碼」「對料待處理」「對料已完成」;提料單「已放單」「已完成」。
  271. ---
  272. ## 五、工單生產流程
  273. ### 5.1 入口
  274. **「管理工單」** → **「工單生產流程」**
  275. ### 5.2 常見分頁/區塊
  276. - 「工藝流程」
  277. - 「待QC上架工單」
  278. - 「已上架工單」
  279. - 「儀表板 - 工單狀態」等
  280. ### 5.3 工序操作(Happy path)
  281. 1. 在「工藝流程」找到工單,點 **「查看詳情」**。
  282. 2. (可選)**「工單對料」** 確認物料。
  283. 3. 各工序:
  284. - **「開始」** 開工序
  285. - 可依畫面掃 **操作員**/**設備**(未掃可能提示「請先掃描操作員編號」「請掃描設備編號」)
  286. - 可 **「暫停」**
  287. - **「完成步驟」**/**「通過」**/**「已完成」**(Just Pass 等,以畫面為準)
  288. - 確認通過時可能問:**「確認要通過此工序嗎?」**
  289. 4. 全部就緒後點 **「完成工單」**,確認:**「確認要完成此工單嗎?」**
  290. 5. 需要時做 **「品檢」**,再到「待QC上架工單」完成上架,最後在「已上架工單」可見。
  291. 其他可能按鈕:「提交並開始」「提交包裝袋消耗」等。
  292. ### 5.4 工序狀態(常見)
  293. 「待處理」「進行中」「已暫停」「完成」/「已完成」「通過」「未開始」「已停止」「已取消」等。
  294. ### 5.5 生產常見問題
  295. | 情況 | 建議處理 |
  296. |------|----------|
  297. | 「完成工單」按不了 | 通常尚有工序未完成或條件未滿足;先完成各步驟 |
  298. | 掃碼驗證失敗 | 「驗證失敗. 請檢查操作員和設備.」→ 重掃正確編號 |
  299. | API/系統錯誤 | 「發生錯誤,請稍後再試。」→ 稍後重試或聯絡支援 |
  300. | 做到一半要停 | 用「暫停」;勿與「取消工單」混淆(取消是整張工單層級) |
  301. ---
  302. ## 六、取消、刪除、返回——怎麼選?
  303. | 你想做的事 | 建議用哪個按鈕 | 結果 |
  304. |------------|----------------|------|
  305. | 建錯、還在規劃中,不要了 | 「刪除工單」 | 刪除,**不可復原** |
  306. | 已放單/進行中,不要繼續 | 「取消工單」 | 確認後從列表**隱藏** |
  307. | 只是關掉視窗、不改資料 | 「關閉」/「取消」/「返回」「返回列表」 | 不取消工單本身 |
  308. | 工序暫停一下 | 「暫停」 | 工單仍在,之後可再「開始」 |
  309. ---
  310. ## 七、快速檢查清單(每日)
  311. 1. 「排程」→ 需要時「預測排期」→「搜索」→「詳細」→「自動生成工單」
  312. 2. 「搜索工單/ 建立工單」→ 核對當日工單 →「放單」
  313. 3. 「工單提料」→ 掃碼提交
  314. 4. 「工單生產流程」→ 各工序開始/完成 →「完成工單」→ 品檢/上架
  315. 手動補單:同頁「建立工單」→「建立」→「放單」。
  316. ---
  317. ## 八、文件維護說明(給內部)
  318. - 文案來源:前端 `i18n/zh/navigation.json`、`jo.json`、`schedule.json`、`productionProcess.json`,以及「生產排程」頁硬編碼繁中。
  319. - 主程式入口:
  320. - 排程:`FPSMS-frontend/src/app/(main)/ps/page.tsx`
  321. - 工單搜尋/建立:`.../jo/page.tsx`、`JoWorkbenchSearch`、`JoCreateFormModal`
  322. - 提料:`.../jodetail/`
  323. - 生產:`.../productionProcess/`
  324. - 若按鈕改名或流程改版,請同步改本手冊,並重新匯出 Word。
  325. 重新匯出 Word(需已安裝套件):
  326. ```bash
  327. pip install python-docx
  328. python scripts/export_user_guide_office.py
  329. ```
  330. 產出:`docs/exports/MTMS_Schedule_JobOrder_UserGuide.docx`