sky121113
|
4c9fb5e000
|
[FIX] 修正中國醫 (CMUH) 領藥異常處理與銷貨流水號關聯
1. build.gradle: 升級修補版號 verPatch 31 -> 33。
2. TransactionFinalizeBuilder.java: 新增 orderNo 欄位並提供 setter。預設 orderNo 同 flowId,若呼叫 setOrderNo 則於組建 OrderPayload 時覆寫 order_no。
3. DispatchDialog.java (CMUH):
- 中國醫 (Cmuh) 取物單 SN 序號改為覆寫 order_no,不再覆寫 flow_id、OrderId 與 ReportFlowId,避免機台底層流程因 ID 重複而拋錯。
- 修正領藥失敗的 Memo 寫入邏輯:機台未回應重試逾時,移除 insertDrgnoToMemo()。
- 整單出貨失敗結案時,檢查是否有任何出貨成功紀錄(新增 hasAnySuccessfulDispatch()),僅在有成功出貨時才寫入 Memo,整單未出貨時不寫入,允許使用者重新掃碼領藥。
|
2026-05-29 13:56:21 +08:00 |
|
sky121113
|
b2b6776665
|
[FIX] 實作半途出貨失敗的 MQTT Finalize 結案回報機制
1. 遞增 app/build.gradle 修補版本號為 1.31。
2. 於 TransactionFinalizePayload 新增 delivery_status 出貨狀態欄位(0=失敗, 1=成功, 2=部分失敗)。
3. 於 TransactionFinalizeBuilder 實作自動計算出貨狀態與建構回報的邏輯。
4. 於 DispatchDialog 實作 finalizeFailedDispatch 機制,當多筆商品出貨至半途失敗時,自動將剩餘未出貨的商品標記為失敗並上報 MQTT Finalize 結案。
|
2026-05-29 12:17:42 +08:00 |
|
sky121113
|
47acd44e61
|
[FIX] 整合中國醫功能優化、連續出貨修復與多國語系字串調整
1. 遞增 app/build.gradle 修補版本號為 1.30。
2. 優化 StarCloudAPI 登入追蹤日誌並調整日誌前綴。
3. 修正 DispatchDialog 出貨邏輯,移除單筆出貨防呆,恢復支援多筆連續出貨。
4. 新增與調整多國語系 strings.xml (繁中、英文、日文) 中國醫無庫存與未設定貨道的提示訊息。
|
2026-05-29 11:08:42 +08:00 |
|
sky121113
|
71a059183a
|
[REFACTOR] 優化中國醫(Cmuh)售貨與領藥流程,重構 API 連線模組,並自動升版至 24
1. 重構 Cmuh 的 SaleFlowHandler:新增 ORDC_EMPTY、MATERIAL_NOT_FOUND、STOCK_NOT_ENOUGH 等明確領藥錯誤代碼,最佳化多貨道庫存匹配與扣減邏輯,改善掃碼按鈕的動態 UI 綁定時序。
2. 增強 Dialog UI 提示:重構 PickupErrorTipDialog 與 DispatchDialog,優化 dialog_pickup_error_tip.xml 佈局結構,確保出貨異常時能正確顯示對應的中文 Toast 與圖示。
3. 重構 HttpAPI 與網路層:重構後台 API 與 HttpConnect 的 Socket/連線異常處理,確實向 UI 回傳網路錯誤訊息(非吞例外),提升在極端網路環境下的穩定度。
4. 健全持久化與日誌模組:強化 StarCloudAPI 機台 Token 變更時的本地 SQLite 同步邏輯,提升 Logs 模組的非同步儲存與排程上傳穩定性。
5. 自動升版:配合實體機台 OTA 發版鐵律,將 app/build.gradle 中的 verPatch 變數由 23 遞增至 24。
6. 更新工作流說明:優化 .agents/workflows/compiler-apk.md 文件中的智慧尺寸判斷指令說明。
|
2026-05-28 17:48:03 +08:00 |
|
sky121113
|
984bbe722c
|
[FEAT] 主控台 UI 全面翻新 (Console UI Overhaul)
1. MainActivity.java:重構按鈕點擊邏輯,改用 Lambda 取代匿名 Runnable;新增 activeLoginDialog 追蹤機制,登入成功後自動關閉對話框並呼叫 updateLoginStatus();新增頂部登入/登出狀態按鈕 (btnStatusAction) 切換邏輯。
2. activity_main.xml:全面翻新 UI 佈局,導入卡片式分組選單、現代化 Header 區塊(含 Logo、版本號、機台狀態)、功能按鈕網格排版,以及底部版權列。
3. colors.xml:建立完整 Material 3 色彩系統,包含 primary/secondary/surface/background 色階,以及 success/warning/error/info 四種語意狀態色;調整 black 為深灰 (#272727)。
4. dimens.xml:新增 welcome 標題、Header Logo、選單按鈕圖示及間距等全套尺寸規格變數。
5. 新增三個 Drawable 資源:bg_button_primary.xml (主要按鈕樣式)、bg_button_outline.xml (外框按鈕樣式)、bg_input_modern.xml (現代化輸入框背景)。
6. 新增 values-sw720dp/dimens.xml:針對 720dp 以上大螢幕(10吋機台)的適配尺寸規格。
7. 新增主控台各功能示意圖資源(drawable/*.png):binding_machine、card_reader_checkout、card_reader_reboot、cargo_lane_management、product_list、reboot_app、sales_page、scanner_test、system_settings、taiwan_star_tech_logo、view_log_records、vending_machine_scenario_v1/v2。
8. app/build.gradle:verPatch 從 1 升至 6,對應本次多功能迭代開發。
9. dialog_admin_login.xml:新增獨立的管理員登入對話框佈局。
|
2026-05-27 17:15:07 +08:00 |
|
sky121113
|
3409f93f07
|
[REFACTOR] 重構銷售流程至雙維度 Flavor 架構、統一忙碌狀態並修正版本規範
1. 引進 SaleFlowHandler 與 SaleFlowCallback 介面,分離通用版 (General)、晟崴版 (Chengwai) 與中國醫版 (Cmuh) 的前台銷售進入點,降低 FontendActivity 耦合度。
2. 建立 src/Chengwai/、src/Cmuh/、src/General/ 目錄,將客製 dialog(如 FontendPickupCodeDialog、TakeMedicineDialog)與 layout 移入對應的專屬目錄。
3. 統一狀態檢查機制,將全專案背景排程、定時重啟與日誌備份中的舊 isShowDialog() 替換為更安全的 isMachineBusy();於 NFC 交易與鍵盤 Enter 防誤觸中特意保留原 isShowDialog() 以守護安全性防線。
4. 修正英文 values-en/strings.xml 缺漏與預設 locale 對齊的 sync_product/sync_product_warning,解決 lintVital 報告的 ExtraTranslation 錯誤,使 Release 打包 100% 成功。
5. 微調 app/build.gradle,將起點版號重置為 10_01_1,自動連動 versionCode 100101 與 versionName 10_01_1_R。
6. 修正 .agents/rules/versioning.md 規範,將 S 修正為「來源 (Source)」,將 verMajor 修正為「螢幕大小」,並補齊官方命名規範對照圖表與欄位解析。
7. 升級一鍵編譯 /compiler-apk(新增中文與英文別名智慧防呆映射)與新建發版 /release-apk 工作流。
|
2026-05-27 14:48:22 +08:00 |
|
sky121113
|
6b3e05051f
|
[FIX] 升級補丁版號至 10.8.8 並優化 APK 自動編譯與發布腳本
1. 遞增 app/build.gradle 中的 verPatch 變數至 8(對應版本為 10_08_8_R,versionCode 為 100808),以利機台正常觸發 OTA 覆蓋安裝。
2. 重構 .agents/workflows/compiler-apk.md 腳本中的 APK 複製與命名機制,改為動態尋找並使用原始檔名,避免寫死檔名導致版本變更時失效。
3. 在編譯腳本中加入自動提取與計算版本資訊的輸出(包含 versionName 與 versionCode),方便在 StarCloud 後台登記時作為參考。
4. 更新 ADB 自動安裝路徑尋找方式,使其與動態尋找 APK 機制保持一致。
|
2026-05-27 10:16:56 +08:00 |
|
sky121113
|
e15d0209c6
|
[FEAT] 新增遠端 MQTT 應用程式 OTA 更新功能與雙版號動態計算機制
1. 新增 OtaManager.java:實現背景下載 APK 檔案至應用程式私有快取空間,並透過 Root 權限 (su 與 pm install -r) 進行靜默覆蓋安裝的完整邏輯。
2. 修改 MqttService.java:支援 update_app MQTT 指令,解析 payload 中的 url 參數並啟動 OtaManager 進行 OTA 更新。
3. 修改 app/build.gradle:實作雙版號動態計算機制,定義 verMajor、verMinor、verPatch,以符合實體機台的 OTA 覆蓋安裝規範。
4. 新增 .agents/rules/versioning.md:制訂專案版號與發版規範。
5. 修改 .agents/workflows/compiler-apk.md:調整編譯工作流,在編譯前自動檢查程式碼變更與遞增版號,並支援動態尋找編譯產出的最新 APK。
6. 修改 .gitignore:排除 .antigravitycli/ 工具產生的目錄。
7. 修改 .vscode/settings.json:設定自動更新 Java 的建置組態。
|
2026-05-22 16:04:52 +08:00 |
|
sky121113
|
d722b3273b
|
[REFACTOR] 優化 Android MQTT 通訊架構與商品同步語義
1. 實作 MqttService 與 MqttManager 以優化 MQTT 生命週期管理與自動重連機制。
2. 新增 MQTT Payload 結構類別 (Command, Heartbeat, Ack),規範化 IoT 通訊格式。
3. 調整「商品同步」語義與 UI 流程,更名為「下載商品資料」並強化同步完成提示。
4. 修正 StarCloudAPI 同步邏輯,確保空貨道資訊正確上傳至後台。
5. 統一多語系字串(繁中/英文/日文),提升操作直覺性。
|
2026-05-07 15:22:28 +08:00 |
|
sky121113
|
4b2dc746f6
|
refactor: move project files to root and cleanup structure
|
2026-05-06 11:13:45 +08:00 |
|