Project

General

Profile

Feature #27331

[OEE][Master Model] สร้าง Master Model สำหรับจัดการ Model Name, Cycle Time, Cavity #kiro

Added by Suphawan Phiwngam 8 days ago. Updated 4 days ago.

Status:
Closed
Priority:
High
Start date:
06/05/2026
Due date:
06/10/2026
% Done:

0%

Estimated time:
นำ AI มาช่วย(%):
100

Description

4.1 สร้าง Master Model

  • เวลาเลือก Job จะได้เลือกแค่ Model ไม่ต้อง key Cycle Time เอง
  • ถ้าอยากเปลี่ยน Cycle Time ให้ไปเปลี่ยนใน Model

4.2 ข้อมูลที่ย้ายจาก Job มา Master Model

  • Model Name
  • Ideal Cycle Time (unit, per จำนวน, หน่วยเวลา)
  • Cavity (Quantity)

4.3 ข้อมูลปัจจุบัน

  • มี 7 Model
  • เครื่อง 2, 3, 9 ที่จะเปลี่ยน Cycle Time ได้ (ที่เหลือ fix)
  • ในอนาคตไม่น่าเกิน 10 Model

Files

History

#1

Updated by Supparoek Sariphan 4 days ago

  • Status changed from New to Resolved
  • Assignee changed from Supparoek Sariphan to Suphawan Phiwngam
  • นำ AI มาช่วย(%) changed from 0 to 100

db migration required (already done on dev)

CREATE TABLE IF NOT EXISTS ms_model (
    ms_model_id     UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    model_name      TEXT NOT NULL UNIQUE,
    ideal_ea        NUMERIC,
    ideal_time      NUMERIC,
    ideal_time_unit TEXT,
    cavity_qty      NUMERIC,
    ms_asset_ids    UUID[],
    created_by      UUID,
    updated_by      UUID,
    created_date    TIMESTAMPTZ DEFAULT NOW(),
    updated_date    TIMESTAMPTZ DEFAULT NOW()
);

-- Seed from ms_job (safe to re-run)
INSERT INTO ms_model (ms_model_id, model_name, ideal_ea, ideal_time, ideal_time_unit, ms_asset_ids, created_date, updated_date)
SELECT
    gen_random_uuid(),
    formula_name,
    ideal_ea,
    ideal_time,
    ideal_time_unit,
    ms_asset_ids,
    updated_date,
    updated_date
FROM (
    SELECT *, ROW_NUMBER() OVER (PARTITION BY formula_name ORDER BY updated_date DESC) AS rn
    FROM ms_job
    WHERE formula_name IS NOT NULL
) t
WHERE rn = 1
ON CONFLICT (model_name) DO NOTHING;
#2

Updated by Suphawan Phiwngam 4 days ago

หลังจาก save แล้วหน้า list ที่ filter column เอาไว้ขึ้น No data
step: filter column Model Name > edit time > save > ขึ้น No data

#3

Updated by Suphawan Phiwngam 4 days ago

เพิ่มข้อมูลที่ย้ายจาก Job มา Master Model
  • Price Per Unit
#4

Updated by Supparoek Sariphan 4 days ago

  • Status changed from Feedback to Resolved
  • Assignee changed from Supparoek Sariphan to Suphawan Phiwngam

update migration script

-- Redmine #27331: Create ms_model master table for Model Name, Cycle Time, Cavity, Price Per Unit

CREATE TABLE IF NOT EXISTS ms_model (
    ms_model_id     UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    model_name      TEXT NOT NULL UNIQUE,
    ideal_ea        NUMERIC,
    ideal_time      NUMERIC,
    ideal_time_unit TEXT,
    cavity_qty      NUMERIC,
    price_per_unit  NUMERIC,
    ms_asset_ids    UUID[],
    created_by      UUID,
    updated_by      UUID,
    created_date    TIMESTAMPTZ DEFAULT NOW(),
    updated_date    TIMESTAMPTZ DEFAULT NOW()
);

-- Seed from ms_job (safe to re-run)
INSERT INTO ms_model (ms_model_id, model_name, ideal_ea, ideal_time, ideal_time_unit, price_per_unit, ms_asset_ids, created_date, updated_date)
SELECT
    gen_random_uuid(),
    formula_name,
    ideal_ea,
    ideal_time,
    ideal_time_unit,
    price_per_unit,
    ms_asset_ids,
    updated_date,
    updated_date
FROM (
    SELECT *, ROW_NUMBER() OVER (PARTITION BY formula_name ORDER BY updated_date DESC) AS rn
    FROM ms_job
    WHERE formula_name IS NOT NULL
) t
WHERE rn = 1
ON CONFLICT (model_name) DO NOTHING;
#5

Updated by Suphawan Phiwngam 4 days ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF