Commit 8f45fe90 authored by suryakant's avatar suryakant

Sterlite Custom Report Updates

parent f8638315
...@@ -9,8 +9,9 @@ class SterliteRefineryQuery: ...@@ -9,8 +9,9 @@ class SterliteRefineryQuery:
SELECT SELECT
'Cell House Anode Availability' AS ANODE_AVAILABILITY, 'Cell House Anode Availability' AS ANODE_AVAILABILITY,
'%' AS UOM, '%' AS UOM,
AVG(ANODE.AA_PLANNED) AS NORMS, ROUND(AVG(ANODE.AA_PLANNED)::NUMERIC, 2) AS NORMS,
(SUM(ANODE.NUMERATOR) / NULLIF(SUM(DENOMINATOR), 0)) * 100 AS ON_DATE ROUND(((SUM(ANODE.NUMERATOR) / NULLIF(SUM(DENOMINATOR), 0)) * 100)::NUMERIC, 2)
AS ON_DATE
FROM FROM
(SELECT ACTUAL.AA_NUMO AS NUMERATOR, (SELECT ACTUAL.AA_NUMO AS NUMERATOR,
...@@ -52,7 +53,8 @@ class SterliteRefineryQuery: ...@@ -52,7 +53,8 @@ class SterliteRefineryQuery:
SELECT SELECT
'Cell House Anode Availability' AS ANODE_AVAILABILITY, 'Cell House Anode Availability' AS ANODE_AVAILABILITY,
'%' AS UOM, '%' 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 FROM
(SELECT ACTUAL.AA_NUMO AS NUMERATOR, (SELECT ACTUAL.AA_NUMO AS NUMERATOR,
...@@ -94,7 +96,8 @@ class SterliteRefineryQuery: ...@@ -94,7 +96,8 @@ class SterliteRefineryQuery:
SELECT SELECT
'Cell House Anode Availability' AS ANODE_AVAILABILITY, 'Cell House Anode Availability' AS ANODE_AVAILABILITY,
'%' AS UOM, '%' 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 FROM
(SELECT ACTUAL.AA_NUMO AS NUMERATOR, (SELECT ACTUAL.AA_NUMO AS NUMERATOR,
...@@ -165,8 +168,8 @@ class SterliteRefineryQuery: ...@@ -165,8 +168,8 @@ class SterliteRefineryQuery:
SELECT SELECT
'Total Cells In Operation' AS ANODE_AVAILABILITY, 'Total Cells In Operation' AS ANODE_AVAILABILITY,
'No.' AS UOM, 'No.' AS UOM,
MAX(NORMS) AS NORMS, ROUND(MAX(NORMS)::NUMERIC, 2) AS NORMS,
MAX(METRIC_VALUE) AS ON_DATE ROUND(MAX(METRIC_VALUE)::NUMERIC, 2) AS ON_DATE
FROM FROM
(SELECT KPI, (SELECT KPI,
...@@ -191,7 +194,7 @@ class SterliteRefineryQuery: ...@@ -191,7 +194,7 @@ class SterliteRefineryQuery:
SELECT SELECT
'Total Cells In Operation' AS ANODE_AVAILABILITY, 'Total Cells In Operation' AS ANODE_AVAILABILITY,
'No.' AS UOM, 'No.' AS UOM,
MAX(METRIC_VALUE) AS MTD ROUND(MAX(METRIC_VALUE)::NUMERIC, 2) AS MTD
FROM FROM
(SELECT KPI, (SELECT KPI,
...@@ -213,7 +216,7 @@ class SterliteRefineryQuery: ...@@ -213,7 +216,7 @@ class SterliteRefineryQuery:
SELECT SELECT
'Total Cells In Operation' AS ANODE_AVAILABILITY, 'Total Cells In Operation' AS ANODE_AVAILABILITY,
'No.' AS UOM, 'No.' AS UOM,
MAX(METRIC_VALUE) AS YTD ROUND(MAX(METRIC_VALUE)::NUMERIC, 2) AS YTD
FROM FROM
(SELECT KPI, (SELECT KPI,
...@@ -247,7 +250,7 @@ class SterliteRefineryQuery: ...@@ -247,7 +250,7 @@ class SterliteRefineryQuery:
'No.' AS UOM, 'No.' AS UOM,
0 AS NORMS, 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 FROM SEMANTIC_PROD.REFINERY_HSE_VIEW
WHERE LOWER(TRIM(KPI)) in ('near miss') WHERE LOWER(TRIM(KPI)) in ('near miss')
AND DATE BETWEEN '{day_start_date}' AND '{day_end_date}' AND DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
...@@ -263,7 +266,7 @@ class SterliteRefineryQuery: ...@@ -263,7 +266,7 @@ class SterliteRefineryQuery:
'No.' AS UOM, 'No.' AS UOM,
0 AS NORMS, 0 AS NORMS,
ROUND(SUM(METRIC_VALUE), 2) AS MTD ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS MTD
FROM SEMANTIC_PROD.REFINERY_HSE_VIEW FROM SEMANTIC_PROD.REFINERY_HSE_VIEW
WHERE LOWER(TRIM(KPI)) in ('near miss') WHERE LOWER(TRIM(KPI)) in ('near miss')
AND DATE BETWEEN '{month_start_date}' AND '{month_end_date}' AND DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
...@@ -279,7 +282,7 @@ class SterliteRefineryQuery: ...@@ -279,7 +282,7 @@ class SterliteRefineryQuery:
'No.' AS UOM, 'No.' AS UOM,
0 AS NORMS, 0 AS NORMS,
ROUND(SUM(METRIC_VALUE), 2) AS YTD ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS YTD
FROM SEMANTIC_PROD.REFINERY_HSE_VIEW FROM SEMANTIC_PROD.REFINERY_HSE_VIEW
WHERE LOWER(TRIM(KPI)) in ('near miss') WHERE LOWER(TRIM(KPI)) in ('near miss')
AND DATE BETWEEN '{year_start_date}' AND '{year_end_date}' AND DATE BETWEEN '{year_start_date}' AND '{year_end_date}'
...@@ -298,7 +301,7 @@ class SterliteRefineryQuery: ...@@ -298,7 +301,7 @@ class SterliteRefineryQuery:
'No.' AS UOM, 'No.' AS UOM,
0 AS NORMS, 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 FROM SEMANTIC_PROD.REFINERY_HSE_VIEW
WHERE LOWER(TRIM(KPI)) in ('first aid') WHERE LOWER(TRIM(KPI)) in ('first aid')
AND DATE BETWEEN '{day_start_date}' AND '{day_end_date}' AND DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
...@@ -314,7 +317,7 @@ class SterliteRefineryQuery: ...@@ -314,7 +317,7 @@ class SterliteRefineryQuery:
'No.' AS UOM, 'No.' AS UOM,
0 AS NORMS, 0 AS NORMS,
ROUND(SUM(METRIC_VALUE), 2) AS MTD ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS MTD
FROM SEMANTIC_PROD.REFINERY_HSE_VIEW FROM SEMANTIC_PROD.REFINERY_HSE_VIEW
WHERE LOWER(TRIM(KPI)) in ('first aid') WHERE LOWER(TRIM(KPI)) in ('first aid')
AND DATE BETWEEN '{month_start_date}' AND '{month_end_date}' AND DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
...@@ -330,7 +333,7 @@ class SterliteRefineryQuery: ...@@ -330,7 +333,7 @@ class SterliteRefineryQuery:
'No.' AS UOM, 'No.' AS UOM,
0 AS NORMS, 0 AS NORMS,
ROUND(SUM(METRIC_VALUE), 2) AS YTD ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS YTD
FROM SEMANTIC_PROD.REFINERY_HSE_VIEW FROM SEMANTIC_PROD.REFINERY_HSE_VIEW
WHERE LOWER(TRIM(KPI)) in ('first aid') WHERE LOWER(TRIM(KPI)) in ('first aid')
AND DATE BETWEEN '{year_start_date}' AND '{year_end_date}' AND DATE BETWEEN '{year_start_date}' AND '{year_end_date}'
...@@ -436,7 +439,6 @@ class SterliteRefineryQuery: ...@@ -436,7 +439,6 @@ class SterliteRefineryQuery:
SELECT SELECT
'Grid Power Availability' AS power_availability, 'Grid Power Availability' AS power_availability,
'%' AS uom, '%' AS uom,
ROUND(AVG(GRID_PLAN) :: NUMERIC, 2) AS norms,
ROUND(AVG(GRID_ACTUAL) :: NUMERIC, 2) AS ytd ROUND(AVG(GRID_ACTUAL) :: NUMERIC, 2) AS ytd
FROM FROM
...@@ -486,8 +488,8 @@ class SterliteRefineryQuery: ...@@ -486,8 +488,8 @@ class SterliteRefineryQuery:
SELECT SELECT
CIRCULATION as power_availability, CIRCULATION as power_availability,
COALESCE(RLB.AREA_ICS_HEAD_UOM, 'Hrs') AS uom, COALESCE(RLB.AREA_ICS_HEAD_UOM, 'Hrs') AS uom,
AVG(AREA_ICS_HEAD_VALUE) AS norms, ROUND(AVG(AREA_ICS_HEAD_VALUE)::NUMERIC, 2) AS norms,
AVG(OPERATION_HOURS) AS on_date ROUND(AVG(OPERATION_HOURS)::NUMERIC, 2) AS on_date
FROM FROM
(SELECT CIRCULATION, (SELECT CIRCULATION,
...@@ -520,7 +522,7 @@ class SterliteRefineryQuery: ...@@ -520,7 +522,7 @@ class SterliteRefineryQuery:
SELECT SELECT
CIRCULATION as power_availability, CIRCULATION as power_availability,
COALESCE(RLB.AREA_ICS_HEAD_UOM, 'Hrs') AS uom, COALESCE(RLB.AREA_ICS_HEAD_UOM, 'Hrs') AS uom,
AVG(OPERATION_HOURS) AS mtd ROUND(AVG(OPERATION_HOURS)::NUMERIC, 2) AS mtd
FROM FROM
(SELECT CIRCULATION, (SELECT CIRCULATION,
...@@ -553,7 +555,7 @@ class SterliteRefineryQuery: ...@@ -553,7 +555,7 @@ class SterliteRefineryQuery:
SELECT SELECT
CIRCULATION as power_availability, CIRCULATION as power_availability,
COALESCE(RLB.AREA_ICS_HEAD_UOM, 'Hrs') AS uom, COALESCE(RLB.AREA_ICS_HEAD_UOM, 'Hrs') AS uom,
AVG(OPERATION_HOURS) AS ytd ROUND(AVG(OPERATION_HOURS)::NUMERIC, 2) AS ytd
FROM FROM
(SELECT CIRCULATION, (SELECT CIRCULATION,
...@@ -1866,6 +1868,51 @@ class SterliteRefineryQuery: ...@@ -1866,6 +1868,51 @@ class SterliteRefineryQuery:
GROUP BY 1 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: class NiSO4:
""" FG INVENTORY """ """ FG INVENTORY """
QUERY_1 = """ QUERY_1 = """
...@@ -1908,6 +1955,51 @@ class SterliteRefineryQuery: ...@@ -1908,6 +1955,51 @@ class SterliteRefineryQuery:
GROUP BY 1 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: class RawSlime:
""" FG INVENTORY """ """ FG INVENTORY """
QUERY_1 = """ QUERY_1 = """
...@@ -1950,6 +2042,51 @@ class SterliteRefineryQuery: ...@@ -1950,6 +2042,51 @@ class SterliteRefineryQuery:
GROUP BY 1 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: class CuSo4:
""" FG INVENTORY """ """ FG INVENTORY """
QUERY_1 = """ QUERY_1 = """
...@@ -1992,6 +2129,51 @@ class SterliteRefineryQuery: ...@@ -1992,6 +2129,51 @@ class SterliteRefineryQuery:
GROUP BY 1 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: class ElectrolyteComposition:
""" ELECTROLYTE COMPOSITION """ """ ELECTROLYTE COMPOSITION """
QUERY_1 = """ QUERY_1 = """
......
...@@ -274,7 +274,28 @@ class SterliteRefineryTemplate: ...@@ -274,7 +274,28 @@ class SterliteRefineryTemplate:
}, },
"PRODUCTION": { "PRODUCTION": {
"columns": ["PRODUCTION", "ON DATE", "MTD", "YTD"], "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": [],
"data_column": ["production", "on_date", "mtd", "ytd"], "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