Commit c74f4592 authored by suryakant's avatar suryakant

Sterlite Custom Report Updates

parent 408a334a
...@@ -1049,3 +1049,456 @@ class SterliteRefineryQuery: ...@@ -1049,3 +1049,456 @@ class SterliteRefineryQuery:
AND DATE BETWEEN '{year_start_date}' AND '{year_end_date}' AND DATE BETWEEN '{year_start_date}' AND '{year_end_date}'
GROUP BY 1 GROUP BY 1
""" """
class CurrentEfficiency:
""" Efficiency """
QUERY_1 = """
SELECT
'Current Efficiency' AS efficiencies,
'%' AS uom,
AVG(NUMO_PLAN) AS norms,
(SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL), 0)) * 100 AS
on_date
FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW
WHERE LOWER(TRIM(CATEGORY)) = 'ce'
AND DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY 1,2
"""
QUERY_2 = """
SELECT
'Current Efficiency' AS efficiencies,
'%' AS uom,
(SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL), 0)) * 100 AS
mtd
FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW
WHERE LOWER(TRIM(CATEGORY)) = 'ce'
AND DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY 1,2
"""
QUERY_3 = """
SELECT
'Current Efficiency' AS efficiencies,
'%' AS uom,
(SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL), 0)) * 100 AS
ytd
FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW
WHERE LOWER(TRIM(CATEGORY)) = 'ce'
AND DATE BETWEEN '{year_start_date}' AND '{year_end_date}'
GROUP BY 1,2
"""
class TimeEfficiency:
""" Efficiency """
QUERY_1 = """
SELECT 'Time Efficiency' AS efficiencies,
'%' AS uom,
AVG(NUMO_PLAN) AS norms,
(SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL),0)) * 100
AS on_date
FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW
WHERE LOWER(TRIM(CATEGORY)) = 'te'
AND DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY 1,2
"""
QUERY_2 = """
SELECT 'Time Efficiency' AS efficiencies,
'%' AS uom,
(SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL),0)) * 100
AS mtd
FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW
WHERE LOWER(TRIM(CATEGORY)) = 'te'
AND DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY 1,2
"""
QUERY_3 = """
SELECT 'Time Efficiency' AS efficiencies,
'%' AS uom,
(SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL),0)) * 100
AS ytd
FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW
WHERE LOWER(TRIM(CATEGORY)) = 'te'
AND DATE BETWEEN '{year_start_date}' AND '{year_end_date}'
GROUP BY 1,2
"""
class E40KARectifierEfficiency:
""" Efficiency """
QUERY_1 = """
SELECT
'40 KA Rectifier Efficiency' AS efficiencies,
'%' AS uom,
AVG(PLAN_METRIC_VALUE) AS norms,
SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(
CASE
WHEN ACTUAL_METRIC_VALUE <> 0 THEN 1
ELSE NULL END), 0), 1) AS on_date
FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW
WHERE LOWER(TRIM(KPI)) = '40ka_rectifier_efficiency'
AND DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY 1,2
"""
QUERY_2 = """
SELECT
'40 KA Rectifier Efficiency' AS efficiencies,
'%' AS uom,
SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(
CASE
WHEN ACTUAL_METRIC_VALUE <> 0 THEN 1
ELSE NULL END), 0), 1) AS mtd
FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW
WHERE LOWER(TRIM(KPI)) = '40ka_rectifier_efficiency'
AND DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY 1,2
"""
QUERY_3 = """
SELECT
'40 KA Rectifier Efficiency' AS efficiencies,
'%' AS uom,
SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(
CASE
WHEN ACTUAL_METRIC_VALUE <> 0 THEN 1
ELSE NULL END), 0), 1) AS ytd
FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW
WHERE LOWER(TRIM(KPI)) = '40ka_rectifier_efficiency'
AND DATE BETWEEN '{year_start_date}' AND '{year_end_date}'
GROUP BY 1,2
"""
class E35KARectifierEfficiency:
""" Efficiency """
QUERY_1 = """
SELECT
'35 KA Rectifier Efficiency' AS efficiencies,
'%' AS uom,
AVG(PLAN_METRIC_VALUE) AS norms,
SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(CASE
WHEN ACTUAL_METRIC_VALUE <> 0 THEN 1
ELSE NULL END), 0), 1) AS on_date
FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW
WHERE LOWER(TRIM(KPI)) = '35ka_rectifier_efficiency'
AND DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY 1,2
"""
QUERY_2 = """
SELECT
'35 KA Rectifier Efficiency' AS efficiencies,
'%' AS uom,
SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(CASE
WHEN ACTUAL_METRIC_VALUE <> 0 THEN 1
ELSE NULL END), 0), 1) AS mtd
FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW
WHERE LOWER(TRIM(KPI)) = '35ka_rectifier_efficiency'
AND DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY 1,2
"""
QUERY_3 = """
SELECT
'35 KA Rectifier Efficiency' AS efficiencies,
'%' AS uom,
SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(CASE
WHEN ACTUAL_METRIC_VALUE <> 0 THEN 1
ELSE NULL END), 0), 1) AS ytd
FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW
WHERE LOWER(TRIM(KPI)) = '35ka_rectifier_efficiency'
AND DATE BETWEEN '{year_start_date}' AND '{year_end_date}'
GROUP BY 1,2
"""
class SpentAnodeGenerationRate:
""" Efficiency """
QUERY_1 = """
SELECT
'Spent Anode Generation Rate' efficiencies,
'%' AS uom,
MAX(NORMS) AS norms,
MAX(METRIC_VALUE) AS on_date
FROM
(SELECT KPI,
CASE
WHEN LOWER(TRIM(KPI)) = 'spent_anode_gen_actual'
THEN (SUM(METRIC_NUMERATOR) / NULLIF(SUM(METRIC_DENOMINATOR), 0))
* 100
ELSE NULL
END AS METRIC_VALUE,
CASE
WHEN LOWER(TRIM(KPI)) = 'spent_anode_gen_plan'
THEN AVG(METRIC_NUMERATOR)
ELSE NULL
END AS NORMS
FROM SEMANTIC_PROD.REFINERY_SPENT_ANODE_GEN_RATE
WHERE LOWER(TRIM(KPI)) in
('spent_anode_gen_actual', 'spent_anode_gen_plan')
AND DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY 1)SPENT
GROUP BY 1,2
"""
QUERY_2 = """
SELECT
'Spent Anode Generation Rate' efficiencies,
'%' AS uom,
MAX(METRIC_VALUE) AS mtd
FROM
(SELECT KPI,
CASE
WHEN LOWER(TRIM(KPI)) = 'spent_anode_gen_actual'
THEN (SUM(METRIC_NUMERATOR) / NULLIF(SUM(METRIC_DENOMINATOR), 0))
* 100
ELSE NULL
END AS METRIC_VALUE,
CASE
WHEN LOWER(TRIM(KPI)) = 'spent_anode_gen_plan'
THEN AVG(METRIC_NUMERATOR)
ELSE NULL
END AS NORMS
FROM SEMANTIC_PROD.REFINERY_SPENT_ANODE_GEN_RATE
WHERE LOWER(TRIM(KPI)) in
('spent_anode_gen_actual', 'spent_anode_gen_plan')
AND DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY 1)SPENT
GROUP BY 1,2
"""
QUERY_3 = """
SELECT
'Spent Anode Generation Rate' efficiencies,
'%' AS uom,
MAX(METRIC_VALUE) AS ytd
FROM
(SELECT KPI,
CASE
WHEN LOWER(TRIM(KPI)) = 'spent_anode_gen_actual'
THEN (SUM(METRIC_NUMERATOR) / NULLIF(SUM(METRIC_DENOMINATOR), 0))
* 100
ELSE NULL
END AS METRIC_VALUE,
CASE
WHEN LOWER(TRIM(KPI)) = 'spent_anode_gen_plan'
THEN AVG(METRIC_NUMERATOR)
ELSE NULL
END AS NORMS
FROM SEMANTIC_PROD.REFINERY_SPENT_ANODE_GEN_RATE
WHERE LOWER(TRIM(KPI)) in
('spent_anode_gen_actual', 'spent_anode_gen_plan')
AND DATE BETWEEN '{year_start_date}' AND '{year_end_date}'
GROUP BY 1)SPENT
GROUP BY 1,2
"""
class Cathode:
""" FG INVENTORY """
QUERY_1 = """
SELECT
PRODUCT as fg_inventory,
SUM(CURRENT_STOCK) AS on_date
FROM SEMANTIC_PROD.INVENTORY_FG_RM_WIP_VIEW
WHERE LOWER(CATEGORY_OF_GOODS) like ('fg%')
AND LOWER(PRODUCT) in
('cathode')
AND DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY 1
"""
QUERY_2 = """
SELECT
PRODUCT as fg_inventory,
SUM(CURRENT_STOCK) AS mtd
FROM SEMANTIC_PROD.INVENTORY_FG_RM_WIP_VIEW
WHERE LOWER(CATEGORY_OF_GOODS) like ('fg%')
AND LOWER(PRODUCT) in
('cathode')
AND DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY 1
"""
QUERY_3 = """
SELECT
PRODUCT as fg_inventory,
SUM(CURRENT_STOCK) AS ytd
FROM SEMANTIC_PROD.INVENTORY_FG_RM_WIP_VIEW
WHERE LOWER(CATEGORY_OF_GOODS) like ('fg%')
AND LOWER(PRODUCT) in
('cathode')
AND DATE BETWEEN '{year_start_date}' AND '{year_end_date}'
GROUP BY 1
"""
class NiSO4:
""" FG INVENTORY """
QUERY_1 = """
SELECT
PRODUCT as fg_inventory,
SUM(CURRENT_STOCK) AS on_date
FROM SEMANTIC_PROD.INVENTORY_FG_RM_WIP_VIEW
WHERE LOWER(CATEGORY_OF_GOODS) like ('fg%')
AND LOWER(PRODUCT) in
('niso4')
AND DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY 1
"""
QUERY_2 = """
SELECT
PRODUCT as fg_inventory,
SUM(CURRENT_STOCK) AS mtd
FROM SEMANTIC_PROD.INVENTORY_FG_RM_WIP_VIEW
WHERE LOWER(CATEGORY_OF_GOODS) like ('fg%')
AND LOWER(PRODUCT) in
('niso4')
AND DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY 1
"""
QUERY_3 = """
SELECT
PRODUCT as fg_inventory,
SUM(CURRENT_STOCK) AS ytd
FROM SEMANTIC_PROD.INVENTORY_FG_RM_WIP_VIEW
WHERE LOWER(CATEGORY_OF_GOODS) like ('fg%')
AND LOWER(PRODUCT) in
('niso4')
AND DATE BETWEEN '{year_start_date}' AND '{year_end_date}'
GROUP BY 1
"""
class RawSlime:
""" FG INVENTORY """
QUERY_1 = """
SELECT
PRODUCT as fg_inventory,
SUM(CURRENT_STOCK) AS on_date
FROM SEMANTIC_PROD.INVENTORY_FG_RM_WIP_VIEW
WHERE LOWER(CATEGORY_OF_GOODS) like ('fg%')
AND LOWER(PRODUCT) in
('slime')
AND DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY 1
"""
QUERY_2 = """
SELECT
PRODUCT as fg_inventory,
SUM(CURRENT_STOCK) AS mtd
FROM SEMANTIC_PROD.INVENTORY_FG_RM_WIP_VIEW
WHERE LOWER(CATEGORY_OF_GOODS) like ('fg%')
AND LOWER(PRODUCT) in
('slime')
AND DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY 1
"""
QUERY_3 = """
SELECT
PRODUCT as fg_inventory,
SUM(CURRENT_STOCK) AS ytd
FROM SEMANTIC_PROD.INVENTORY_FG_RM_WIP_VIEW
WHERE LOWER(CATEGORY_OF_GOODS) like ('fg%')
AND LOWER(PRODUCT) in
('slime')
AND DATE BETWEEN '{year_start_date}' AND '{year_end_date}'
GROUP BY 1
"""
class CuSo4:
""" FG INVENTORY """
QUERY_1 = """
SELECT
PRODUCT as fg_inventory,
SUM(CURRENT_STOCK) AS on_date
FROM SEMANTIC_PROD.INVENTORY_FG_RM_WIP_VIEW
WHERE LOWER(CATEGORY_OF_GOODS) like ('fg%')
AND LOWER(PRODUCT) in
('cuso4')
AND DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY 1
"""
QUERY_2 = """
SELECT
PRODUCT as fg_inventory,
SUM(CURRENT_STOCK) AS mtd
FROM SEMANTIC_PROD.INVENTORY_FG_RM_WIP_VIEW
WHERE LOWER(CATEGORY_OF_GOODS) like ('fg%')
AND LOWER(PRODUCT) in
('cuso4')
AND DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY 1
"""
QUERY_3 = """
SELECT
PRODUCT as fg_inventory,
SUM(CURRENT_STOCK) AS ytd
FROM SEMANTIC_PROD.INVENTORY_FG_RM_WIP_VIEW
WHERE LOWER(CATEGORY_OF_GOODS) like ('fg%')
AND LOWER(PRODUCT) in
('cuso4')
AND DATE BETWEEN '{year_start_date}' AND '{year_end_date}'
GROUP BY 1
"""
class ElectrolyteComposition:
""" ELECTROLYTE COMPOSITION """
QUERY_1 = """
SELECT
ELECTROLYTE_COMPOSITION AS electrolyte_composition,
MAX(UOM) AS uom,
MAX(NORMS) AS norms,
TO_CHAR(TO_DATE('{day_start_date}', 'YYYY-MM-DD'), 'DD-Mon') as date,
AVG(CIR_1) AS cir_1,
AVG(CIR_2) AS cir_2
FROM SEMANTIC_PROD.ELECTROLYTE_COMPOSITION_VIEW ECV
WHERE DATE = '{day_start_date}'
GROUP BY 1
"""
...@@ -117,7 +117,33 @@ class SterliteRefineryTemplate: ...@@ -117,7 +117,33 @@ class SterliteRefineryTemplate:
{ {
"EFFICIENCIES": { "EFFICIENCIES": {
"columns": ["EFFICIENCIES", "UOM", "NORMS", "ON DATE", "MTD", "YTD"], "columns": ["EFFICIENCIES", "UOM", "NORMS", "ON DATE", "MTD", "YTD"],
"query": [], "query": {
"CurrentEfficiency": [
SterliteRefineryQuery.CurrentEfficiency.QUERY_1,
SterliteRefineryQuery.CurrentEfficiency.QUERY_2,
SterliteRefineryQuery.CurrentEfficiency.QUERY_3,
],
"TimeEfficiency": [
SterliteRefineryQuery.TimeEfficiency.QUERY_1,
SterliteRefineryQuery.TimeEfficiency.QUERY_2,
SterliteRefineryQuery.TimeEfficiency.QUERY_3,
],
"E40KARectifierEfficiency": [
SterliteRefineryQuery.E40KARectifierEfficiency.QUERY_1,
SterliteRefineryQuery.E40KARectifierEfficiency.QUERY_2,
SterliteRefineryQuery.E40KARectifierEfficiency.QUERY_3,
],
"E35KARectifierEfficiency": [
SterliteRefineryQuery.E35KARectifierEfficiency.QUERY_1,
SterliteRefineryQuery.E35KARectifierEfficiency.QUERY_2,
SterliteRefineryQuery.E35KARectifierEfficiency.QUERY_3,
],
"SpentAnodeGenerationRate": [
SterliteRefineryQuery.SpentAnodeGenerationRate.QUERY_1,
SterliteRefineryQuery.SpentAnodeGenerationRate.QUERY_2,
SterliteRefineryQuery.SpentAnodeGenerationRate.QUERY_3,
]
},
"data": [], "data": [],
"data_column": ["efficiencies", "uom", "norms", "data_column": ["efficiencies", "uom", "norms",
"on_date", "mtd", "ytd"], "on_date", "mtd", "ytd"],
...@@ -158,7 +184,28 @@ class SterliteRefineryTemplate: ...@@ -158,7 +184,28 @@ class SterliteRefineryTemplate:
{ {
"FG INVENTORY": { "FG INVENTORY": {
"columns": ["FG INVENTORY", "ON DATE", "MTD", "YTD"], "columns": ["FG INVENTORY", "ON DATE", "MTD", "YTD"],
"query": [], "query": {
"Cathode": [
SterliteRefineryQuery.Cathode.QUERY_1,
SterliteRefineryQuery.Cathode.QUERY_2,
SterliteRefineryQuery.Cathode.QUERY_3,
],
"NiSO4": [
SterliteRefineryQuery.NiSO4.QUERY_1,
SterliteRefineryQuery.NiSO4.QUERY_2,
SterliteRefineryQuery.NiSO4.QUERY_3,
],
"RawSlime": [
SterliteRefineryQuery.RawSlime.QUERY_1,
SterliteRefineryQuery.RawSlime.QUERY_2,
SterliteRefineryQuery.RawSlime.QUERY_3,
],
"CuSo4": [
SterliteRefineryQuery.CuSo4.QUERY_1,
SterliteRefineryQuery.CuSo4.QUERY_2,
SterliteRefineryQuery.CuSo4.QUERY_3,
],
},
"data": [], "data": [],
"data_column": ["fg_inventory", "on_date", "mtd", "ytd"], "data_column": ["fg_inventory", "on_date", "mtd", "ytd"],
"format": "", "format": "",
...@@ -305,7 +352,11 @@ class SterliteRefineryTemplate: ...@@ -305,7 +352,11 @@ class SterliteRefineryTemplate:
"CIR-1", "CIR-1",
"CIR-2", "CIR-2",
], ],
"query": [], "query": {
"ElectrolyteComposition": [
SterliteRefineryQuery.ElectrolyteComposition.QUERY_1
]
},
"data": [], "data": [],
"data_column": [ "data_column": [
"electrolyte_composition", "electrolyte_composition",
......
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