Merge pull request 'fix(report): 운전모드 펌프 가동 판정 — 상태 포맷 매칭 버그' (#10) from fix/pump-run-detection-format into main

This commit was merged in pull request #10.
This commit is contained in:
2026-06-19 07:06:28 +09:00

View File

@@ -163,7 +163,10 @@ CREATE TABLE IF NOT EXISTS hc900.kpi_alert (
if (pumpKnown)
{
await using var pq = conn.CreateCommand();
pq.CommandText = "SELECT count(*) FROM hc900.realtime_table WHERE tagname = ANY(@p) AND livevalue IN ('1','5','L-RUN','R-RUN')";
// 디지털 상태점은 realtime_table에 '{N | label | }' 포맷으로 저장됨(FormatValue).
// RUN 라벨(L-RUN/R-RUN)을 부분일치로 판정. TRIP/FAULT/STOP은 RUN 미포함 → 정지로 봄.
// (구버전 bare 값도 함께 허용.)
pq.CommandText = "SELECT count(*) FROM hc900.realtime_table WHERE tagname = ANY(@p) AND (livevalue LIKE '%RUN%' OR livevalue IN ('1','5','L-RUN','R-RUN'))";
var pp = pq.CreateParameter(); pp.ParameterName = "@p"; pp.Value = pumps.ToArray(); pq.Parameters.Add(pp);
pumpRunning = Convert.ToInt64(await pq.ExecuteScalarAsync(ct)) > 0;
}