Advertisement
ardvarez

Untitled

Apr 24th, 2025 (edited)
331
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PostgreSQL 11.40 KB | Software | 0 0
  1. --'Tan Delta dan Kapasitansi Bushing Trafo', 🟡
  2. WITH parameter_ids AS (
  3.     SELECT id
  4.     FROM m_parameter
  5.     WHERE nama in ('Tan Delta dan Kapasitansi Bushing Trafo')
  6.     AND hide IS FALSE
  7. ),
  8. power_transformers AS (
  9.     SELECT id
  10.     FROM m_jenis_asset
  11.     WHERE nama ILIKE '%power transf%'
  12. ),
  13. tegangan_atribut AS (
  14.     SELECT id
  15.     FROM m_atribut
  16.     WHERE nama ILIKE '%tegangan ope%'
  17. ),
  18. latest_inspection AS (
  19.     SELECT ti.id_asset, MAX(ti.created_date) AS latest_created
  20.     FROM t_inspeksi_parameter tip
  21.     INNER JOIN t_inspeksi ti ON ti.id = tip.id_inspeksi
  22.     WHERE ti.id_jenis_asset IN (SELECT id FROM power_transformers)
  23.       AND (tip.parameter_reference_id IN (SELECT id FROM parameter_ids) or tip.parameter_reference_parent_id in (select id from parameter_ids))
  24.       --and ti.created_date >= '2025-03-26 00:00:00.342 +0700'
  25.     GROUP BY ti.id_asset
  26. ),
  27. data_with_skor AS (
  28.     SELECT
  29.         tip.id,
  30.         tip.is_completed,
  31.         ti.id_asset,
  32.         tara.id_parameter,
  33.         tip.health_index AS hi_param,
  34.         tip.backup_health_index AS backup_hi_param,
  35.         tipi.uraian,
  36.         tipi.value,
  37.         tipi.value_koreksi,
  38.         tipi.health_index AS isian_health_index,
  39.         tara.health_index AS hi_tara,
  40.         CASE
  41.             when tipi.uraian = 'Evaluasi Tan Delta Bushing' then
  42.                 case
  43.                     WHEN CAST(coalesce (tipi.value_koreksi,tipi.value) AS double precision) < 0.4 THEN '1 - Very Good'
  44.                     WHEN CAST(coalesce (tipi.value_koreksi,tipi.value) AS double precision) < 0.5 THEN '3 - Fair'
  45.                     WHEN CAST(coalesce (tipi.value_koreksi,tipi.value) AS double precision) < 0.7 THEN '4 - Poor'
  46.                     ELSE '5 - Critical'
  47.                 end
  48.             when tipi.uraian = 'Evaluasi Kapasitansi' then
  49.                 case
  50.                     when CAST(coalesce (tipi.value_koreksi,tipi.value) AS double precision) = 1.0 THEN '2 - Good'
  51.                     when CAST(coalesce (tipi.value_koreksi,tipi.value) AS double precision) = 0.0 THEN '5 - Critical'
  52.                 end
  53.         END AS skor_kondisi
  54.     FROM t_inspeksi ti
  55.     JOIN latest_inspection li
  56.         ON ti.id_asset = li.id_asset AND ti.created_date = li.latest_created
  57.     JOIN t_inspeksi_parameter tip
  58.         ON tip.id_inspeksi = ti.id
  59.     JOIN t_inspeksi_parameter_isian tipi
  60.         ON tipi.id_inspeksi_parameter = tip.id
  61.     JOIN t_assets_register_spesifikasi tars
  62.         ON tars.id_assets_register = ti.id_asset
  63.     JOIN t_assets_register_ahi tara
  64.         ON tara.id_asset = ti.id_asset
  65.     WHERE ti.id_jenis_asset IN (SELECT id FROM power_transformers)
  66.       AND tip.parameter_reference_id IN (SELECT id FROM parameter_ids)
  67.       AND tars.id_atribut IN (SELECT id FROM tegangan_atribut)
  68.       AND tara.id_parameter IN (SELECT id FROM parameter_ids)
  69.       and tipi.health_index is not null
  70. ),
  71. kecocokan as (
  72.     SELECT *,
  73.         CASE
  74.             WHEN skor_kondisi = isian_health_index and hi_param = hi_tara THEN 'Match'
  75.             ELSE 'Not Match'
  76.         END AS status_kecocokan
  77.     FROM data_with_skor
  78. )
  79. SELECT *
  80. FROM kecocokan
  81. where status_kecocokan = 'Not Match';
  82.  
  83. --'Index Polarisasi Trafo Tenaga', 🟡
  84. WITH parameter_ids AS (
  85.     SELECT id
  86.     FROM m_parameter
  87.     WHERE nama in ('Index Polarisasi Trafo Tenaga')
  88.     AND hide IS FALSE
  89. ),
  90. power_transformers AS (
  91.     SELECT id
  92.     FROM m_jenis_asset
  93.     WHERE nama ILIKE '%power transf%'
  94. ),
  95. tegangan_atribut AS (
  96.     SELECT id
  97.     FROM m_atribut
  98.     WHERE nama ILIKE '%tegangan ope%'
  99. ),
  100. latest_inspection AS (
  101.     SELECT ti.id_asset, MAX(ti.created_date) AS latest_created
  102.     FROM t_inspeksi_parameter tip
  103.     INNER JOIN t_inspeksi ti ON ti.id = tip.id_inspeksi
  104.     WHERE ti.id_jenis_asset IN (SELECT id FROM power_transformers)
  105.       AND (tip.parameter_reference_id IN (SELECT id FROM parameter_ids) or tip.parameter_reference_parent_id in (select id from parameter_ids))
  106.       --and ti.created_date >= '2025-03-26 00:00:00.342 +0700'
  107.     GROUP BY ti.id_asset
  108. ),
  109. data_with_skor AS (
  110.     SELECT
  111.         tip.id,
  112.         tip.is_completed,
  113.         ti.id_asset,
  114.         tara.id_parameter,
  115.         tip.health_index AS hi_param,
  116.         tip.backup_health_index AS backup_hi_param,
  117.         tipi.uraian,
  118.         tipi.value,
  119.         tipi.value_koreksi,
  120.         tipi.health_index AS isian_health_index,
  121.         tara.health_index AS hi_tara,
  122.         CASE
  123.             when tipi.uraian = 'Evaluasi IP' then
  124.                 case
  125.                     WHEN CAST(coalesce (tipi.value_koreksi,tipi.value) AS double precision) > 2 THEN '1 - Very Good'
  126.                     WHEN CAST(coalesce (tipi.value_koreksi,tipi.value) AS double precision) > 1.5 THEN '2 - Good'
  127.                     WHEN CAST(coalesce (tipi.value_koreksi,tipi.value) AS double precision) > 1.25 THEN '3 - Fair'
  128.                     WHEN CAST(coalesce (tipi.value_koreksi,tipi.value) AS double precision) > 1.1 THEN '4 - Poor'
  129.                     ELSE '5 - Critical'
  130.                 end
  131.         END AS skor_kondisi
  132.     FROM t_inspeksi ti
  133.     JOIN latest_inspection li
  134.         ON ti.id_asset = li.id_asset AND ti.created_date = li.latest_created
  135.     JOIN t_inspeksi_parameter tip
  136.         ON tip.id_inspeksi = ti.id
  137.     JOIN t_inspeksi_parameter_isian tipi
  138.         ON tipi.id_inspeksi_parameter = tip.id
  139.     JOIN t_assets_register_spesifikasi tars
  140.         ON tars.id_assets_register = ti.id_asset
  141.     JOIN t_assets_register_ahi tara
  142.         ON tara.id_asset = ti.id_asset
  143.     WHERE ti.id_jenis_asset IN (SELECT id FROM power_transformers)
  144.       AND tip.parameter_reference_id IN (SELECT id FROM parameter_ids)
  145.       AND tars.id_atribut IN (SELECT id FROM tegangan_atribut)
  146.       AND tara.id_parameter IN (SELECT id FROM parameter_ids)
  147.       and tipi.health_index is not null
  148. ),
  149. kecocokan as (
  150.     SELECT *,
  151.         CASE
  152.             WHEN skor_kondisi = isian_health_index and hi_param = hi_tara THEN 'Match'
  153.             ELSE 'Not Match'
  154.         END AS status_kecocokan
  155.     FROM data_with_skor
  156. )
  157. SELECT *
  158. FROM kecocokan
  159. where status_kecocokan = 'Not Match';
  160.  
  161. --'Tan Delta Belitan 3P', ⚪ 
  162.  
  163. --'Kapasitansi Belitan Trafo Tenaga',🟡
  164. WITH parameter_ids AS (
  165.     SELECT id
  166.     FROM m_parameter
  167.     WHERE nama in ('Kapasitansi Belitan Trafo Tenaga')
  168.     AND hide IS FALSE
  169. ),
  170. power_transformers AS (
  171.     SELECT id
  172.     FROM m_jenis_asset
  173.     WHERE nama ILIKE '%power transf%'
  174. ),
  175. tegangan_atribut AS (
  176.     SELECT id
  177.     FROM m_atribut
  178.     WHERE nama ILIKE '%tegangan ope%'
  179. ),
  180. latest_inspection AS (
  181.     SELECT ti.id_asset, MAX(ti.created_date) AS latest_created
  182.     FROM t_inspeksi_parameter tip
  183.     INNER JOIN t_inspeksi ti ON ti.id = tip.id_inspeksi
  184.     WHERE ti.id_jenis_asset IN (SELECT id FROM power_transformers)
  185.       AND (tip.parameter_reference_id IN (SELECT id FROM parameter_ids) or tip.parameter_reference_parent_id in (select id from parameter_ids))
  186.       --and ti.created_date >= '2025-03-26 00:00:00.342 +0700'
  187.     GROUP BY ti.id_asset
  188. ),
  189. data_with_skor AS (
  190.     SELECT
  191.         tip.id,
  192.         tip.is_completed,
  193.         ti.id_asset,
  194.         ti.created_date,
  195.         tara.id_parameter,
  196.         tip.health_index AS hi_param,
  197.         tip.backup_health_index AS backup_hi_param,
  198.         tipi.uraian,
  199.         tipi.value,
  200.         tipi.value_koreksi,
  201.         tipi.health_index AS isian_health_index,
  202.         tara.health_index AS hi_tara,
  203.         CASE
  204.             when tipi.uraian = 'Evaluasi Kapasitansi' then
  205.                 CASE
  206.                     WHEN CAST(COALESCE(tipi.value_koreksi, tipi.value) AS double precision) = 1 THEN '2 - Good'
  207.                     else '4 - Poor'
  208.                 END
  209.         END AS skor_kondisi
  210.     FROM t_inspeksi ti
  211.     JOIN latest_inspection li
  212.         ON ti.id_asset = li.id_asset AND ti.created_date = li.latest_created
  213.     JOIN t_inspeksi_parameter tip
  214.         ON tip.id_inspeksi = ti.id
  215.     JOIN t_inspeksi_parameter_isian tipi
  216.         ON tipi.id_inspeksi_parameter = tip.id
  217.     JOIN t_assets_register_spesifikasi tars
  218.         ON tars.id_assets_register = ti.id_asset
  219.     JOIN t_assets_register_ahi tara
  220.         ON tara.id_asset = ti.id_asset
  221.     WHERE ti.id_jenis_asset IN (SELECT id FROM power_transformers)
  222.       AND tip.parameter_reference_id IN (SELECT id FROM parameter_ids)
  223.       AND tars.id_atribut IN (SELECT id FROM tegangan_atribut)
  224.       AND tara.id_parameter IN (SELECT id FROM parameter_ids)
  225.       and tipi.health_index is not null
  226. ),
  227. kecocokan as (
  228.     SELECT *,
  229.         CASE
  230.             WHEN skor_kondisi = isian_health_index and hi_param = hi_tara THEN 'Match'
  231.             ELSE 'Not Match'
  232.         END AS status_kecocokan
  233.     FROM data_with_skor
  234. )
  235. SELECT *
  236. FROM kecocokan
  237. where status_kecocokan = 'Not Match';
  238.  
  239. --'Tegangan Tembus Minyak', 🟡
  240. WITH parameter_ids AS (
  241.     SELECT id
  242.     FROM m_parameter
  243.     WHERE nama in ('Tegangan Tembus Minyak')
  244.     AND hide IS FALSE
  245. ),
  246. power_transformers AS (
  247.     SELECT id
  248.     FROM m_jenis_asset
  249.     WHERE nama ILIKE '%power transf%'
  250. ),
  251. tegangan_atribut AS (
  252.     SELECT id
  253.     FROM m_atribut
  254.     WHERE nama ILIKE '%tegangan ope%'
  255. ),
  256. latest_inspection AS (
  257.     SELECT ti.id_asset, MAX(ti.created_date) AS latest_created
  258.     FROM t_inspeksi_parameter tip
  259.     INNER JOIN t_inspeksi ti ON ti.id = tip.id_inspeksi
  260.     WHERE ti.id_jenis_asset IN (SELECT id FROM power_transformers)
  261.       AND (tip.parameter_reference_id IN (SELECT id FROM parameter_ids) or tip.parameter_reference_parent_id in (select id from parameter_ids))
  262.       --and ti.created_date >= '2025-03-26 00:00:00.342 +0700'
  263.     GROUP BY ti.id_asset
  264. ),
  265. data_with_skor AS (
  266.     SELECT
  267.         tip.id,
  268.         tip.is_completed,
  269.         ti.id_asset,
  270.         ti.created_date,
  271.         tara.id_parameter,
  272.         tip.health_index AS hi_param,
  273.         tip.backup_health_index AS backup_hi_param,
  274.         tipi.uraian,
  275.         tipi.value,
  276.         tipi.value_koreksi,
  277.         tipi.health_index AS isian_health_index,
  278.         tara.health_index AS hi_tara,
  279.         CASE
  280.             when tipi.uraian = 'Tegangan Tembus Minyak' then
  281.                 CASE
  282.                     WHEN CAST(COALESCE(tipi.value_koreksi, tipi.value) AS double precision) > 60 THEN '1 - Very Good'
  283.                     WHEN CAST(COALESCE(tipi.value_koreksi, tipi.value) AS double precision) > 50 THEN '2 - Good'
  284.                     WHEN CAST(COALESCE(tipi.value_koreksi, tipi.value) AS double precision) > 40 THEN '3 - Fair'
  285.                     else '5 - Critical'
  286.                 END
  287.         END AS skor_kondisi
  288.     FROM t_inspeksi ti
  289.     JOIN latest_inspection li
  290.         ON ti.id_asset = li.id_asset AND ti.created_date = li.latest_created
  291.     JOIN t_inspeksi_parameter tip
  292.         ON tip.id_inspeksi = ti.id
  293.     JOIN t_inspeksi_parameter_isian tipi
  294.         ON tipi.id_inspeksi_parameter = tip.id
  295.     JOIN t_assets_register_spesifikasi tars
  296.         ON tars.id_assets_register = ti.id_asset
  297.     JOIN t_assets_register_ahi tara
  298.         ON tara.id_asset = ti.id_asset
  299.     WHERE ti.id_jenis_asset IN (SELECT id FROM power_transformers)
  300.       AND tip.parameter_reference_id IN (SELECT id FROM parameter_ids)
  301.       AND tars.id_atribut IN (SELECT id FROM tegangan_atribut)
  302.       AND tara.id_parameter IN (SELECT id FROM parameter_ids)
  303.       and tipi.health_index is not null
  304. ),
  305. kecocokan as (
  306.     SELECT *,
  307.         CASE
  308.             WHEN skor_kondisi = isian_health_index and hi_param = hi_tara THEN 'Match'
  309.             ELSE 'Not Match'
  310.         END AS status_kecocokan
  311.     FROM data_with_skor
  312. )
  313. SELECT *
  314. FROM kecocokan
  315. where status_kecocokan = 'Not Match';
  316.  
  317. --'Tahanan Isolasi Belitan Trafo Tenaga', ⚪
  318.  
  319. --'Pengujian DGA Minyak OLTC'⚪
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement