廠務

🌡️ 溫度監控與警報系統

📌 功能簡介

此專案透過 Flask 網站 + SQLite 資料庫,定時從 210.62.179.209/Data.txt 抓取冷凍冷藏室的即時溫度,並具備 超標警報與 Gmail API 通知功能
同時支援歷史查詢、Excel 匯出與排程紀錄。


🔧 系統架構


📑 功能說明

1. 定時紀錄與警報

2. 設定檔 (config.json)

{
  "notifications": {
    "enabled": true,
    "sender": "zfuntw@gmail.com",
    "recipients": ["example@mail.com"],
    "alert_cooldown_hours": 3
  },
  "temperature_settings": {
    "1F前室": {"enabled": true, "threshold": 10, "defrost_hours": [3, 15]},
    "魚翅保存庫": {"enabled": true, "threshold": -5, "defrost_hours": []}
  }
}


3. 前端介面

4. Gmail API 通知

5. 簡易版資料採集程式

另附加 get_temperature_data 腳本:


📂 資料表結構

temperatures

欄位 說明
id 主鍵
timestamp 紀錄時間
temp_front_room 1F前室
temp_shark_fin 魚翅保存庫
temp_raw_material 原物料保存庫
temp_finished_product 成品保存庫
temp_blast_freezer 急速冷凍室
temp_precooling_room 製成品預冷室
temp_2f 2F冷藏室
temp_3f 3F冷藏室

▶️ 啟動方式

python app.py

網站預設服務於
👉 https://temp.zfun.com.tw/login


⚠️ 注意事項

 

 

 

冷凍倉儲管理系統

本系統為一套以 Flask + SQLite 為基礎開發的冷凍倉儲管理系統,支援產品管理、庫存進出、位置視覺化與資料匯出入等功能,適合中小型冷鏈倉儲作業使用。

系統功能簡述

📦 商品管理

📍 倉儲位置管理

🧊 庫存管理

📑 出庫單管理

📊 倉儲視覺化

🔍 商品定位查詢

🧪 API 提供


使用技術

正航依批號查詢庫存及倉儲管理系統 API 介接

功能概述

本系統整合 正航 ERP倉儲管理系統 (WMS),提供以 產品 SKU 與批號 為基準的庫存查詢與儲位管理。

透過 Web 介面與 API,可快速查詢指定商品的批號、庫存數量及所在倉庫,並同步連接倉儲系統取得實際儲位資訊。


查詢來源


前台查詢顯示欄位

欄位名稱 說明
SKU 商品代號 (ProdID)
品名規格 產品名稱 (ProdName)
批號 批號 (BatchID)
倉庫 倉庫代號 (WareID)
數量 庫存數量 (BCQty)
製造日期 生產日期 (ProduceDate)
有效期限 有效日期 (ValidDate)
儲位 來自倉儲系統 API 的 location 清單

API 介接說明

1. ERP 批號查詢 API

{
  "SKU001": [
    {
      "no": "20250801",
      "inbound_date": "2025-08-01",
      "expiry_date": "2026-08-01",
      "quantity": 100
    }
  ]
}

2. 倉儲儲位查詢 API

{
  "success": true,
  "data": [
    {
      "product_name": "烏骨雞1.1-1.2K(12隻/箱)",
      "sku": "R07-001-00",
      "batch_number": "20250730",
      "pallet_number": "20250730132412",
      "quantity": 600,
      "unit": "隻",
      "location": "B11-1-1"
    }
  ]
}
B11-1-1
B11-1-2
B11-1-3

系統流程

  1. 使用者輸入 SKU 或產品名稱

  2. 系統從 正航 ERP 查詢符合條件的批號與庫存。

  3. 針對每一個批號,系統再呼叫 WMS API,取得儲位資訊。

  4. 前端頁面自動列出 庫存與儲位對應清單


注意事項


正航批號管理功能 Plus(加增儲位版)

版本定位:在原本「依批號查庫存」基礎上,加上「儲位管理」與「異動總帳」
資料源:正航 ERP(MSSQL) + 本地儲位資料庫(SQLite)


一、系統目標


二、系統架構

1) 後端

2) 前端頁面(Jinja2 模板)


三、資料表(SQLite)

1) batch_locations

欄位 型別 說明
id INTEGER PK 儲位記錄主鍵
prod_id TEXT SKU(對應正航 ProdID
batch_id TEXT 批號(對應正航 BatchID
location TEXT 儲位(例:A20-1-1)
quantity INTEGER 此儲位現有量(可為空)
remark TEXT 備註
created_at TIMESTAMP 建立時間(預設 NOW)

外鍵FOREIGN KEY(location_id) REFERENCES batch_locations(id) ON DELETE CASCADE


四、主要業務規則

  1. ERP 查詢條件

    • 只抓 庫存 > 0(BCQty > 0 的批號

    • 排除倉庫 BWareID <> 'B'

    • 只顯示欄位:SKU(ProdID)、品名規格(ProdName)、批號(BatchID)、倉庫(WareID)、數量(BCQty)、製造日期(ProduceDate)、有效期限(ValidDate)

  2. 儲位管理

    • 新增儲位:若同 SKU+批號+儲位 不存在,建立記錄;若有初始量會同時寫入總帳(INITIAL_STOCK)。

    • 編輯儲位:若數量變動,寫入總帳(MANUAL_EDIT)。

    • 刪除儲位:僅允許庫存=0 時刪除,否則阻擋。

  3. 異動單(Transfer Slip)

    • 可從搜尋結果將儲位加入「待處理異動」。

    • 執行異動時,每筆會:

      • 驗證目前量是否足夠扣減

      • 更新儲位量、寫入總帳(TRANSFER_DEDUCTION

      • 產生參考單號:MV-YYYYMMDDHHMMSS

  4. 總帳(Ledger)

    • 任何造成儲位量變化的操作都寫入此表。

    • 可於 /history 依時間序檢視。