Commit 8f45fe90 authored by suryakant's avatar suryakant

Sterlite Custom Report Updates

parent f8638315
......@@ -9,8 +9,9 @@ class SterliteRefineryQuery:
SELECT
'Cell House Anode Availability' AS ANODE_AVAILABILITY,
'%' AS UOM,
AVG(ANODE.AA_PLANNED) AS NORMS,
(SUM(ANODE.NUMERATOR) / NULLIF(SUM(DENOMINATOR), 0)) * 100 AS ON_DATE
ROUND(AVG(ANODE.AA_PLANNED)::NUMERIC, 2) AS NORMS,
ROUND(((SUM(ANODE.NUMERATOR) / NULLIF(SUM(DENOMINATOR), 0)) * 100)::NUMERIC, 2)
AS ON_DATE
FROM
(SELECT ACTUAL.AA_NUMO AS NUMERATOR,
......@@ -52,7 +53,8 @@ class SterliteRefineryQuery:
SELECT
'Cell House Anode Availability' AS ANODE_AVAILABILITY,
'%' AS UOM,
(SUM(ANODE.NUMERATOR) / NULLIF(SUM(DENOMINATOR), 0)) * 100 AS MTD
ROUND(((SUM(ANODE.NUMERATOR) / NULLIF(SUM(DENOMINATOR), 0)) * 100
)::NUMERIC, 2) AS MTD
FROM
(SELECT ACTUAL.AA_NUMO AS NUMERATOR,
......@@ -94,7 +96,8 @@ class SterliteRefineryQuery:
SELECT
'Cell House Anode Availability' AS ANODE_AVAILABILITY,
'%' AS UOM,
(SUM(ANODE.NUMERATOR) / NULLIF(SUM(DENOMINATOR), 0)) * 100 AS YTD
ROUND(((SUM(ANODE.NUMERATOR) / NULLIF(SUM(DENOMINATOR), 0)) *
100)::NUMERIC, 2) AS YTD
FROM
(SELECT ACTUAL.AA_NUMO AS NUMERATOR,
......@@ -165,8 +168,8 @@ class SterliteRefineryQuery:
SELECT
'Total Cells In Operation' AS ANODE_AVAILABILITY,
'No.' AS UOM,
MAX(NORMS) AS NORMS,
MAX(METRIC_VALUE) AS ON_DATE
ROUND(MAX(NORMS)::NUMERIC, 2) AS NORMS,
ROUND(MAX(METRIC_VALUE)::NUMERIC, 2) AS ON_DATE
FROM
(SELECT KPI,
......@@ -191,7 +194,7 @@ class SterliteRefineryQuery:
SELECT
'Total Cells In Operation' AS ANODE_AVAILABILITY,
'No.' AS UOM,
MAX(METRIC_VALUE) AS MTD
ROUND(MAX(METRIC_VALUE)::NUMERIC, 2) AS MTD
FROM
(SELECT KPI,
......@@ -213,7 +216,7 @@ class SterliteRefineryQuery:
SELECT
'Total Cells In Operation' AS ANODE_AVAILABILITY,
'No.' AS UOM,
MAX(METRIC_VALUE) AS YTD
ROUND(MAX(METRIC_VALUE)::NUMERIC, 2) AS YTD
FROM
(SELECT KPI,
......@@ -247,7 +250,7 @@ class SterliteRefineryQuery:
'No.' AS UOM,
0 AS NORMS,
ROUND(SUM(METRIC_VALUE), 2) AS ON_DATE
ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS ON_DATE
FROM SEMANTIC_PROD.REFINERY_HSE_VIEW
WHERE LOWER(TRIM(KPI)) in ('near miss')
AND DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
......@@ -263,7 +266,7 @@ class SterliteRefineryQuery:
'No.' AS UOM,
0 AS NORMS,
ROUND(SUM(METRIC_VALUE), 2) AS MTD
ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS MTD
FROM SEMANTIC_PROD.REFINERY_HSE_VIEW
WHERE LOWER(TRIM(KPI)) in ('near miss')
AND DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
......@@ -279,7 +282,7 @@ class SterliteRefineryQuery:
'No.' AS UOM,
0 AS NORMS,
ROUND(SUM(METRIC_VALUE), 2) AS YTD
ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS YTD
FROM SEMANTIC_PROD.REFINERY_HSE_VIEW
WHERE LOWER(TRIM(KPI)) in ('near miss')
AND DATE BETWEEN '{year_start_date}' AND '{year_end_date}'
......@@ -298,7 +301,7 @@ class SterliteRefineryQuery:
'No.' AS UOM,
0 AS NORMS,
ROUND(SUM(METRIC_VALUE), 2) AS ON_DATE
ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS ON_DATE
FROM SEMANTIC_PROD.REFINERY_HSE_VIEW
WHERE LOWER(TRIM(KPI)) in ('first aid')
AND DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
......@@ -314,7 +317,7 @@ class SterliteRefineryQuery:
'No.' AS UOM,
0 AS NORMS,
ROUND(SUM(METRIC_VALUE), 2) AS MTD
ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS MTD
FROM SEMANTIC_PROD.REFINERY_HSE_VIEW
WHERE LOWER(TRIM(KPI)) in ('first aid')
AND DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
......@@ -330,7 +333,7 @@ class SterliteRefineryQuery:
'No.' AS UOM,
0 AS NORMS,
ROUND(SUM(METRIC_VALUE), 2) AS YTD
ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS YTD
FROM SEMANTIC_PROD.REFINERY_HSE_VIEW
WHERE LOWER(TRIM(KPI)) in ('first aid')
AND DATE BETWEEN '{year_start_date}' AND '{year_end_date}'
......@@ -436,7 +439,6 @@ class SterliteRefineryQuery:
SELECT
'Grid Power Availability' AS power_availability,
'%' AS uom,
ROUND(AVG(GRID_PLAN) :: NUMERIC, 2) AS norms,
ROUND(AVG(GRID_ACTUAL) :: NUMERIC, 2) AS ytd
FROM
......@@ -486,8 +488,8 @@ class SterliteRefineryQuery:
SELECT
CIRCULATION as power_availability,
COALESCE(RLB.AREA_ICS_HEAD_UOM, 'Hrs') AS uom,
AVG(AREA_ICS_HEAD_VALUE) AS norms,
AVG(OPERATION_HOURS) AS on_date
ROUND(AVG(AREA_ICS_HEAD_VALUE)::NUMERIC, 2) AS norms,
ROUND(AVG(OPERATION_HOURS)::NUMERIC, 2) AS on_date
FROM
(SELECT CIRCULATION,
......@@ -520,7 +522,7 @@ class SterliteRefineryQuery:
SELECT
CIRCULATION as power_availability,
COALESCE(RLB.AREA_ICS_HEAD_UOM, 'Hrs') AS uom,
AVG(OPERATION_HOURS) AS mtd
ROUND(AVG(OPERATION_HOURS)::NUMERIC, 2) AS mtd
FROM
(SELECT CIRCULATION,
......@@ -553,7 +555,7 @@ class SterliteRefineryQuery:
SELECT
CIRCULATION as power_availability,
COALESCE(RLB.AREA_ICS_HEAD_UOM, 'Hrs') AS uom,
AVG(OPERATION_HOURS) AS ytd
ROUND(AVG(OPERATION_HOURS)::NUMERIC, 2) AS ytd
FROM
(SELECT CIRCULATION,
......@@ -1866,6 +1868,51 @@ class SterliteRefineryQuery:
GROUP BY 1
"""
class FGProdCathode:
""" FG PRODUCTION """
QUERY_1 = """
SELECT
KPI as production,
ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS on_date
FROM SEMANTIC_PROD.PRODUCTION_KPI_VIEW
WHERE LOWER(KPI) in
(
'cathode_production_actual',
)
AND DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY
1;
"""
QUERY_2 = """
SELECT
KPI as production,
ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS mtd
FROM SEMANTIC_PROD.PRODUCTION_KPI_VIEW
WHERE LOWER(KPI) in
(
'cathode_production_actual',
)
AND DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY
1;
"""
QUERY_3 = """
SELECT
KPI as production,
ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS ytd
FROM SEMANTIC_PROD.PRODUCTION_KPI_VIEW
WHERE LOWER(KPI) in
(
'cathode_production_actual',
)
AND DATE BETWEEN '{year_start_date}' AND '{year_end_date}'
GROUP BY
1;
"""
class NiSO4:
""" FG INVENTORY """
QUERY_1 = """
......@@ -1908,6 +1955,51 @@ class SterliteRefineryQuery:
GROUP BY 1
"""
class FGProdNiSO4:
""" FG PRODUCTION """
QUERY_1 = """
SELECT
KPI as production,
ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS on_date
FROM SEMANTIC_PROD.PRODUCTION_KPI_VIEW
WHERE LOWER(KPI) in
(
'niso4_production_actual',
)
AND DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY
1;
"""
QUERY_2 = """
SELECT
KPI as production,
ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS mtd
FROM SEMANTIC_PROD.PRODUCTION_KPI_VIEW
WHERE LOWER(KPI) in
(
'niso4_production_actual',
)
AND DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY
1;
"""
QUERY_3 = """
SELECT
KPI as production,
ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS ytd
FROM SEMANTIC_PROD.PRODUCTION_KPI_VIEW
WHERE LOWER(KPI) in
(
'niso4_production_actual',
)
AND DATE BETWEEN '{year_start_date}' AND '{year_end_date}'
GROUP BY
1;
"""
class RawSlime:
""" FG INVENTORY """
QUERY_1 = """
......@@ -1950,6 +2042,51 @@ class SterliteRefineryQuery:
GROUP BY 1
"""
class FGProdRawSlime:
""" FG PRODUCTION """
QUERY_1 = """
SELECT
KPI as production,
ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS on_date
FROM SEMANTIC_PROD.PRODUCTION_KPI_VIEW
WHERE LOWER(KPI) in
(
'slime_production_actual',
)
AND DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY
1;
"""
QUERY_2 = """
SELECT
KPI as production,
ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS mtd
FROM SEMANTIC_PROD.PRODUCTION_KPI_VIEW
WHERE LOWER(KPI) in
(
'slime_production_actual',
)
AND DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY
1;
"""
QUERY_3 = """
SELECT
KPI as production,
ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS ytd
FROM SEMANTIC_PROD.PRODUCTION_KPI_VIEW
WHERE LOWER(KPI) in
(
'slime_production_actual',
)
AND DATE BETWEEN '{year_start_date}' AND '{year_end_date}'
GROUP BY
1;
"""
class CuSo4:
""" FG INVENTORY """
QUERY_1 = """
......@@ -1992,6 +2129,51 @@ class SterliteRefineryQuery:
GROUP BY 1
"""
class FGProdCuSo4:
""" FG PRODUCTION """
QUERY_1 = """
SELECT
KPI as production,
ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS on_date
FROM SEMANTIC_PROD.PRODUCTION_KPI_VIEW
WHERE LOWER(KPI) in
(
'cuso4_production_actual',
)
AND DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY
1;
"""
QUERY_2 = """
SELECT
KPI as production,
ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS mtd
FROM SEMANTIC_PROD.PRODUCTION_KPI_VIEW
WHERE LOWER(KPI) in
(
'cuso4_production_actual',
)
AND DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY
1;
"""
QUERY_3 = """
SELECT
KPI as production,
ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS ytd
FROM SEMANTIC_PROD.PRODUCTION_KPI_VIEW
WHERE LOWER(KPI) in
(
'cuso4_production_actual',
)
AND DATE BETWEEN '{year_start_date}' AND '{year_end_date}'
GROUP BY
1;
"""
class ElectrolyteComposition:
""" ELECTROLYTE COMPOSITION """
QUERY_1 = """
......
......@@ -274,7 +274,28 @@ class SterliteRefineryTemplate:
},
"PRODUCTION": {
"columns": ["PRODUCTION", "ON DATE", "MTD", "YTD"],
"query": {},
"query": {
"FGProdCathode": [
SterliteRefineryQuery.FGProdCathode.QUERY_1,
SterliteRefineryQuery.FGProdCathode.QUERY_2,
SterliteRefineryQuery.FGProdCathode.QUERY_3,
],
"FGProdNiSO4": [
SterliteRefineryQuery.FGProdNiSO4.QUERY_1,
SterliteRefineryQuery.FGProdNiSO4.QUERY_2,
SterliteRefineryQuery.FGProdNiSO4.QUERY_3,
],
"FGProdRawSlime": [
SterliteRefineryQuery.FGProdRawSlime.QUERY_1,
SterliteRefineryQuery.FGProdRawSlime.QUERY_2,
SterliteRefineryQuery.FGProdRawSlime.QUERY_3,
],
"FGProdCuSo4": [
SterliteRefineryQuery.FGProdCuSo4.QUERY_1,
SterliteRefineryQuery.FGProdCuSo4.QUERY_2,
SterliteRefineryQuery.FGProdCuSo4.QUERY_3,
],
},
"data": [],
"data_column": ["production", "on_date", "mtd", "ytd"],
},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment