Commit Graph

793 Commits

Author SHA1 Message Date
sky121113
14cef19d7d [DOCS] 新增 CLAUDE.md 共用專案開發規範
1. 於專案根目錄新增 CLAUDE.md,透過 @ import 載入既有 .agents/rules/(framework、api-rules、rbac-rules、skill-trigger),讓 Claude Code 與 Antigravity 共用同一份規範來源,不重複維護。
2. 補充 Claude 專屬說明:view_file 對應 Read,以及 /now-push 等自訂指令對應的提交與環境晉升流程。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 08:46:15 +08:00
sky121113
74c5570661 [CHORE] 將 Claude Code 個人設定排除於版控外
1. .gitignore 新增 /.claude/settings.json 與 /.claude/settings.local.json,避免 session 中途授權產生的個人權限設定被誤提交。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 08:38:18 +08:00
sky121113
17f565bded [REFACTOR] 機台系統設定 settings JSON 化與編輯介面多語系/UI 優化
1. Machine 模型:新增 settings JSON 的 accessors/mutators(shopping_mode、tax_invoice_enabled、card_terminal_enabled、scan_pay_esun/linepay_enabled、shopping_cart_enabled 等),讀寫統一收斂到 settings 欄位並同步既有資料表欄位。
2. MachineSettingController:system_settings 儲存邏輯補上 pickup_module_enabled(納入 allowedFields,非基礎版模式時強制關閉)。
3. 多語系補完:新增 Edit Machine System Settings、Basic Mode Features、Bill、Coin、Search machine name or code... 等 key(en/ja/zh_TW),並把寫死的「鈔/幣」面額前綴與中文搜尋框 placeholder 改為 __() 翻譯。
4. 編輯 modal UI:各支付區塊「全選/取消全選」移至標題旁;取貨模組新增區塊總開關與全選;購物車/來店禮改為卡片版型、開關靠右移除重複標籤。
5. 基礎版專屬功能以容器外框+標籤分組,與會員系統/稅務系統/硬體周邊(永遠顯示)做出視覺區隔;「支付方式」全選一併納入取貨模組。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-09 17:34:11 +08:00
sky121113
fa50d39020 [RELEASE] 晉升 demo 變更至正式 main 環境
1. 晉升補貨單完成與機台庫存去耦邏輯,避免因先上報後點確認造成的重複累加 Bug,並防範時間差空轉出貨之客訴風險。
2026-06-09 14:41:03 +08:00
sky121113
4e0f4dd747 [PROMOTE] 晉升 dev 變更至 demo 環境
1. [FIX] 補貨單完成邏輯與機台庫存去耦,防範重複累加 Bug
2. [FIX] 熱修復 Flatpickr 初始化中 Blade 大括號內不必要的反斜線轉義
2026-06-09 13:54:42 +08:00
sky121113
f34a7bf9bc [FIX] 補貨單完成邏輯與機台庫存去耦,防範重複累加 Bug
1. 移除補貨單狀態進入已完成 (STATUS_COMPLETED) 時自動對機台貨道庫存進行累加的舊邏輯。
2. 移除伴隨上述更新所產生的機台補貨流水帳紀錄 (MachineStockMovement)。
3. 使機台實體庫存回歸以機台端上報 (B009/B018) 及手動貨道校正為唯一事實來源,防範因先上報後結案產生的重複累加及時間差空轉售罄客訴風險。
2026-06-09 11:11:09 +08:00
sky121113
964c62efb6 [RELEASE] 同步 prod deploy 安全流程 2026-06-05 22:10:22 +08:00
sky121113
af6c234cdc [PROMOTE] 同步 prod deploy 安全流程 2026-06-05 22:09:42 +08:00
sky121113
4efff257eb ci: keep prod deploy from recreating containers 2026-06-05 22:09:00 +08:00
sky121113
954e2ceedd [RELEASE] 晉升 demo 到 main 正式上線
1. [FEAT] 重構商品與機台報表統計邏輯,對齊實際成功出貨件數
2. [FIX] 修正機台報表因 joinSub (INNER JOIN) 漏掉無付費營業額機台出貨數量的問題
3. [FIX] 修正商品與機台報表因 order_items 與 dispense_records 聯結產生笛卡爾積導致件數重複加總的問題
4. [PROMOTE] 同步部署工作流 .gitea/workflows/deploy-prod.yaml
2026-06-05 22:02:19 +08:00
sky121113
b8fea39e2b [PROMOTE] 晉升 dev 到 demo
1. [FIX] 修正商品與機台報表因 order_items 與 dispense_records 聯結產生笛卡爾積導致件數重複加總的問題
2026-06-05 21:57:02 +08:00
sky121113
b6c7142677 [FIX] 修正商品與機台報表因 order_items 與 dispense_records 聯結產生笛卡爾積導致件數重複加總的問題 2026-06-05 21:56:41 +08:00
sky121113
c9fa5ea5e2 [PROMOTE] 晉升 dev 到 demo
1. [FIX] 修正機台報表因 joinSub 漏掉無付費營業額機台出貨數量的問題
2026-06-05 21:50:37 +08:00
sky121113
e29a01f611 [FIX] 修正機台報表因 joinSub 漏掉無付費營業額機台出貨數量的問題 2026-06-05 21:50:23 +08:00
sky121113
36c0763106 [PROMOTE] 同步部署工作流 .gitea/workflows/deploy-prod.yaml 2026-06-05 17:38:13 +08:00
sky121113
01984139c5 [PROMOTE] 晉升 dev 到 demo
1. [FEAT] 重構商品與機台報表統計邏輯,對齊實際出貨成功件數
2026-06-05 17:35:38 +08:00
sky121113
6173851920 [FEAT] 重構商品與機台報表統計邏輯,對齊實際出貨成功件數 2026-06-05 17:34:55 +08:00
sky121113
098ab23e47 [RELEASE] 晉升 demo 至 main - 簡化商品 ID 顯示為 ID
1. 簡化「庫存與效期」與「機台庫存概覽」中商品 ID 的多語系標記,顯示文字改為「ID: {id}」
2026-06-05 16:58:02 +08:00
sky121113
86564b5add [PROMOTE] 晉升 dev 至 demo - 簡化商品 ID 顯示為 ID
1. 簡化「庫存與效期」與「機台庫存概覽」中商品 ID 的多語系標記,顯示文字改為「ID: {id}」
2026-06-05 16:57:22 +08:00
sky121113
66416b14ed [STYLE] 簡化庫存概覽與庫存效期的商品 ID 標記為 ID 2026-06-05 16:56:48 +08:00
sky121113
d457e2095d [RELEASE] 晉升 demo 至 main - 統一庫存與效期商品規格
1. 統一「庫存與效期」與「機台庫存概覽」中商品 ID 的多語系顯示為「商品 ID」
2. 移除「庫存與效期」桌面列表商品欄位中重複的效期顯示
3. 縮小「機台庫存概覽」中商品儲存格的效期文字至 text-xs,與商品 ID 保持大小一致
2026-06-05 16:55:17 +08:00
sky121113
deee087f6f [PROMOTE] 晉升 dev 至 demo - 統一庫存與效期商品規格
1. 統一「庫存與效期」與「機台庫存概覽」中商品 ID 的多語系顯示為「商品 ID」
2. 移除「庫存與效期」桌面列表商品欄位中重複的效期顯示
3. 縮小「機台庫存概覽」中商品儲存格的效期文字至 text-xs,與商品 ID 保持大小一致
2026-06-05 16:54:23 +08:00
sky121113
eab9b90b88 [STYLE] 統一機台庫存概覽與庫存效期的商品 ID 與效期文字規格 2026-06-05 16:53:27 +08:00
sky121113
d326697417 [STYLE] 統一機台庫存概覽與庫存效期的商品 ID 多語系名稱
1. 將寫死的「ID:」改為多語系「{{ __('Product ID') }}:」。
2. 修改 zh_TW.json,將 Product ID 的繁體中文翻譯由「商品編號」改為「商品 ID」,與列表上的「效期」在中文語境下完全對齊統一。
2026-06-05 16:49:16 +08:00
sky121113
acd2041043 [RELEASE] 將 demo 分支合併至 main 生產環境
1. 實作機台報表分析功能與商品報表篩選列優化,包含多租戶資料隔離與帳號授權限制。
2. 於機台庫存概覽與庫存效期管理頁面中加顯示商品 ID,覆蓋 Table View、Grid View、Mobile Card View 以及調整庫存彈窗。
2026-06-05 16:44:38 +08:00
sky121113
5673856ca3 [PROMOTE] 將 dev 分支晉升至 demo
1. 實作機台報表分析功能與商品報表篩選列優化,包含多租戶資料隔離與帳號授權限制。
2. 於機台庫存概覽與庫存效期管理頁面中加顯示商品 ID,覆蓋 Table View、Grid View、Mobile Card View 以及調整庫存彈窗。
2026-06-05 16:43:24 +08:00
sky121113
6a600bb009 [FEAT] 在機台庫存概覽與庫存效期管理頁面加顯示商品 ID
1. 修改 resources/views/admin/warehouses/machine-inventory.blade.php,於 Table View、Grid View 和 Mobile Card View 中加顯示商品 ID (ID: {id})。
2. 修改 resources/views/admin/remote/stock.blade.php,於 Table View、Grid View、Mobile Card View 和 Edit Modal 中加顯示商品 ID (ID: {id})。
2026-06-05 16:36:45 +08:00
sky121113
8f2dd1375e [FEAT] 實作機台報表分析功能與商品報表篩選列優化
1. 實作 AnalysisController@machineReports 後端邏輯,支援租戶隔離與帳號機台授權過濾。
2. 建立 machine-reports.blade.php 視圖,加入極簡奢華風統計卡片、ApexCharts 趨勢圖與自訂多選支付工具篩選器,並停用圖表縮放優化滾輪滾動體驗。
3. 優化 product-reports.blade.php,新增機台下拉選單過濾,並啟用寬度優化與響應式自動換行,且同步停用圖表縮放。
4. 在 Machine model 全域 Scope 中排除單元測試阻擋,並更新 RoleSeeder 播種機台報表權限。
5. 新增 AnalysisReportsTest 測試,並更新 AnalysisPermissionTest 權限測試,且在 Sail 中驗證為 100% 通過。
6. 同步更新繁中、英文、日文翻譯 JSON 檔案,以 zh_TW 為基準完美對齊、字母排序且還原斜線。
2026-06-05 16:21:05 +08:00
sky121113
c04159405f [RELEASE] 將測試驗收分支 demo 變更發布至生產環境 main
1. 遠端庫存與效期管理:實作列表與網格視圖切換、支援 slot 行與卡片點擊彈出編輯 Modal 進行庫存/效期修改。
2. 遠端庫存樣式優化:對齊 Table View 卡片邊框、列懸停背景色、列分隔線顏色與 Expiry 日期橫線格式。
3. 多租戶權限過濾:於機台管理與報修管理頁面新增僅系統管理員可見的 Company Filter 公司選單。
4. 更新相關翻譯語系與 CI/CD 設定檔。
2026-06-05 14:22:48 +08:00
sky121113
d7486a38f6 [PROMOTE] 將開發環境 dev 變更晉升至 demo 環境
1. 新增遠端管理「庫存與效期」之列表/網格視圖切換與 Slot 庫存編輯修改功能。
2. 對齊遠端管理 Table View 樣式、hover 背景色、列分隔線顏色與 Expiry 日期格式,與庫存概覽保持一致。
3. 實作機台管理與報修管理頁面在 SaaS 多租戶環境下的 Company Filter 公司篩選隔離功能。
4. 更新相關語系翻譯檔案與 CI/CD 設定檔。
2026-06-05 14:21:14 +08:00
sky121113
857198bbba [FEAT] 新增遠端庫存列表視圖與機台管理租戶公司過濾功能
1. 在遠端管理「庫存與效期」頁面實作列表視圖 (Table View) 與手機版卡片視圖 (Mobile Card View),並支援點擊 Slot 行/卡片彈出編輯 Modal 進行庫存與效期修改。
2. 調整遠端庫存 Table 的 border、hover 背景色、divide 分隔線顏色與 Expiry 日期格式,使其與庫存概覽列表視圖完美對齊。
3. 在機台管理 (Machine Management) 與報修管理 (Maintenance Management) 等頁面新增僅系統管理員可見的 Company Filter 租戶過濾下拉選單。
4. 更新 zh_TW.json、en.json、ja.json 翻譯檔案與相關說明文件。
2026-06-05 14:20:35 +08:00
sky121113
e414396b0c [FEAT] 於機台管理與機台設定頁面新增公司篩選功能
1. 於機台管理 (MachineController 與 index.blade.php) 為系統管理員新增公司篩選下拉選單,並支援分頁參數與 AJAX 查詢。
2. 於機台設定頁面中的機台列表 (tab-machines.blade.php) 與系統設定列表 (tab-system-settings.blade.php) 新增公司篩選器。
3. 在 MachineSettingController 傳遞公司列表資料至視圖,以便支援公司篩選。
4. 修正重置按鈕,使其能正確清除 Preline HSSelect 的選取狀態並重新載入資料。
2026-06-05 13:01:52 +08:00
sky121113
81aae1261c [PROMOTE] 晉升 demo 變更至 main 生產環境
1. 實作自訂品牌樣式設定與專屬登入頁面預覽功能。
2. 於基本設定的機台管理新增鑰匙編號欄位與位置調整。
3. 於登入頁面新增防止重複提交與載入動畫效果。
2026-06-05 12:03:10 +08:00
sky121113
5b5e0133e0 [PROMOTE] 晉升 dev 變更至 demo 環境
1. 於 `login.blade.php` 登入頁面引入 Alpine.js,新增防止重複提交邏輯及 Spinner 載入動畫。
2026-06-05 11:57:59 +08:00
sky121113
9a59186cd4 [FEAT] 登入頁面新增防止重複提交與載入動畫效果
1. 於 `resources/views/auth/login.blade.php` 登入表單引入 Alpine.js 狀態管理,新增 `isSubmitting` 控制。
2. 登入按鈕於提交時自動處於 disabled 狀態,避免使用者重複點擊。
3. 於登入按鈕內新增 Spinner 載入動畫與「登入中」文字狀態提示,提升使用者互動體驗。
2026-06-05 11:56:22 +08:00
sky121113
a39db64eac [PROMOTE] 晉升 dev 變更至 demo 環境
1. 於機台新增/詳情 Modal 及清單中新增鑰匙編號 (Key No) 展示與儲存。
2. 調整機台編輯畫面中的「鑰匙編號」至「客戶公司」旁邊以優化排版。
3. 補齊鑰匙編號輸入框的繁中、英文、日文多語系翻譯。
4. 新增基本設定機台管理 Feature Test 案例並通過驗證。
2026-06-05 11:52:23 +08:00
sky121113
0964981097 [FEAT] 基本設定的機台管理新增鑰匙編號欄位與位置調整
1. 於 `MachineSettingController.php` 的 `store` 驗證規則中新增 `key_no` 欄位。
2. 於 `index.blade.php` 的新增機台 Modal 及詳情 Drawer 中,加入「鑰匙編號」欄位與展示。
3. 於機台列表 `tab-machines.blade.php` (桌面表格與行動版卡片) 新增「鑰匙編號」顯示,並同步更新 Detail Drawer 參數。
4. 於 `edit.blade.php` 將「鑰匙編號」欄位移至「基本資訊」區塊並與「客戶公司」並排顯示。
5. 補齊並自動對齊繁中、英文、日文翻譯。
6. 撰寫 `MachineSettingTest.php` 測試案例,驗證基本設定中新增與更新機台鑰匙編號之邏輯。
2026-06-05 11:50:00 +08:00
sky121113
750108fa83 [PROMOTE] 晉升 dev 變更至 demo 分支
1. 實作客戶自訂品牌樣式 (Custom Branding) 設定(支援 Logo、登入頁大背景、卡片背景上傳)。
2. 提供專屬登入頁面與預覽功能 (/c/{company_code}/preview),補全相關安全驗證邏輯與測試。
3. 優化 .gitea/workflows/deploy-prod.yaml 的 Docker 容器建置與健康檢查部署流程。
2026-06-05 09:02:49 +08:00
sky121113
11eca730f7 [FEAT] 實作自訂品牌樣式設定與專屬登入頁面預覽功能
1. 實作自訂品牌樣式設定,支援上傳 Logo、登入大背景圖與左側卡片背景圖。
2. 整合 ImageHandler 處理上傳圖片,自動壓縮並轉為優質 webp 格式以提升載入速度。
3. 將品牌設定自 Modal 拆分,新增獨立的 branding.blade.php 設定頁面以優化操作體驗。
4. 於 TenantLoginController 新增登入頁預覽 (preview) 與專屬首頁重導向 (indexRedirect) 路由邏輯。
5. 調整 auth/login.blade.php 以支援動態呈現自訂背景圖、Logo、主副標題,且在預覽模式下阻擋登入並顯示頂部橫條。
6. 修正租戶登入安全性比對,加強 (int) 型態校驗並豐富 Log 警示資訊。
7. 更新並對齊 zh_TW.json、en.json 與 ja.json 三語系檔之品牌客製化相關辭彙。
8. 補充完整 Feature Test (CompanySettingsTest),全面涵蓋物理刪除、上傳限制、預覽渲染、跳轉與登入安全性限制之測試。
2026-06-05 08:44:38 +08:00
sky121113
c6ce58f14a [PROMOTE] demo -> main 2026-06-04 13:33:41 +08:00
sky121113
5124217636 [PROMOTE] dev -> demo 2026-06-04 13:13:37 +08:00
sky121113
06d93889b3 [FEAT] 依據環境溫度監測啟用狀態動態顯示日誌 Tab
1. 在 machines/index.blade.php 的 Alpine x-data 中新增 currentMachineAmbientTempEnabled 屬性。
2. 修改 openLogPanel 方法以傳入機台的環境溫度監測啟用狀態。
3. 於機台列表所有呼叫 openLogPanel 處帶入 ambient_temp_monitoring_enabled。
4. 在「環境溫度回傳」Tab 的按鈕上加入 x-show 與 x-cloak,使該 Tab 僅在機台啟用監測時顯示,避免非必要 Tab 的干擾與界面閃爍。
2026-06-04 13:13:20 +08:00
sky121113
a12b6aac19 [PROMOTE] 晉升 dev 到 demo 環境
1. 統一基本設定權限機制,將 DC通知 與 APK版本 權限移出客戶管理員預設範本,比照金流與機台設定,避免部署被強行還原。
2. 刪除 menu.special-permission.apk-versions 與 menu.special-permission.discord-notifications 冗餘特殊權限,並清理多語系檔對應 Key。
3. 修正 DiscordNotificationSecurityTest.php 安全驗證測試以適應新權限規則。
2026-06-04 13:05:45 +08:00
sky121113
7ceb7644f0 [FIX] 統一基本設定權限機制並清除冗餘特殊權限
1. 修正 RoleSeeder.php:移除了預設分配給客戶管理員角色模板的 menu.basic.discord-notifications 與 menu.basic.apk-versions 權限,使其運作機制與機台設定、金流設定完全一致,預設不分配且避免部署時被強制重灌。
2. 清除冗餘權限:從 Seeder 權限宣告中移除專案未引用的 menu.special-permission.apk-versions 與 menu.special-permission.discord-notifications。
3. 語系檔對齊整理:自 zh_TW.json, en.json, ja.json 中刪除冗餘的特殊權限翻譯 Key,並重新按字母排序(ksort)且還原斜線。
4. 修正單元測試:調整 DiscordNotificationSecurityTest.php,在 setUp 中為測試角色手動指派基本通知權限以通過 Gate 檢查,成功修正測試案例。
2026-06-04 13:01:49 +08:00
sky121113
9286d4a387 [PROMOTE] dev -> demo 2026-06-04 12:01:13 +08:00
sky121113
7579a0b5be [FEAT] 調整環境溫度上報文檔順序與機台硬體事件日誌歸類
1. 文件調整:將 config/api-docs.php 中的「機台環境溫度上報 (mqtt-ambient-temp-report)」MQTT API 區塊位置向上移至「機台硬體事件上報 (mqtt-event)」上方。
2. 日誌歸類:修改 ProcessMachineEvent.php,將機台硬體事件 (event) 日誌寫入資料庫時的 type 從 'status' (機台狀態) 改為 'ambient_temp' (環境溫度回傳),以直接顯示於「環境溫度回傳」Tab。
2026-06-04 12:00:54 +08:00
sky121113
ccdf2b4070 [PROMOTE] dev -> demo 2026-06-04 11:53:11 +08:00
sky121113
cacae84a85 [DOCS] 補上機台環境溫度上報的 MQTT API 文檔
1. 在 config/api-docs.php 新增 machine/{serial_no}/ambient_temp Topic 的說明與參數定義。
2026-06-04 11:52:58 +08:00
sky121113
025432eefd [PROMOTE] dev -> demo 2026-06-04 11:48:44 +08:00
sky121113
953581db38 [FEAT] 新增環境溫度上限監測與遠端風扇指令控制功能
1. 資料庫移轉:新增機台環境溫度、環境溫度上限設定,以及是否啟用環境溫度監測等欄位。
2. 後端核心:更新 Machine Model 與 MachineController,實作機台環境溫度設定的更新與歷史日誌 Ajax API。
3. MQTT 佇列:於 ListenMqttQueue 指令與 ProcessAmbientTemp Job 實作機台上報環境溫度的接收與寫入,並加入 Redis 快取防止重複日誌洗版。
4. 遠端指令:擴充 RemoteController 並於指令中心實作 'fanon'、'fanoff'、'fanauto' 與 'ambient_temp_limit' (環境溫度上限) 指令下發。
5. 前端頁面:於機台列表加入「環境溫度上限」微調計數器 UI,並整合 ApexCharts 折線圖展示溫度趨勢;更新遠端控制中心按鈕與歷史篩選器。
6. 多語系:同步更新並完美對齊 'zh_TW.json'、'en.json' 與 'ja.json',遵循字母 ksort 排序與斜線不逸出規範。
2026-06-04 11:45:48 +08:00