Commit 01bb1207 authored by suryakant's avatar suryakant

Query Update

parent 60eb2c4e
...@@ -53,7 +53,7 @@ class CommonConstants: ...@@ -53,7 +53,7 @@ class CommonConstants:
FREQUENCY = 'D' FREQUENCY = 'D'
START_COLUMN = 0 START_COLUMN = 0
START_ROW = 2 START_ROW = 2
OVERALL_COLUMN_WIDTH = 25 OVERALL_COLUMN_WIDTH = 27
class ReportType: class ReportType:
......
...@@ -693,8 +693,8 @@ class SterliteRefineryQuery: ...@@ -693,8 +693,8 @@ class SterliteRefineryQuery:
QUERY_1 = """ QUERY_1 = """
SELECT CIRCULATION AS power_availability, SELECT 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,
...@@ -726,7 +726,7 @@ class SterliteRefineryQuery: ...@@ -726,7 +726,7 @@ class SterliteRefineryQuery:
QUERY_2 = """ QUERY_2 = """
SELECT CIRCULATION AS power_availability, SELECT 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,
...@@ -759,7 +759,7 @@ class SterliteRefineryQuery: ...@@ -759,7 +759,7 @@ class SterliteRefineryQuery:
QUERY_3 = """ QUERY_3 = """
SELECT CIRCULATION AS power_availability, SELECT 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,
...@@ -796,11 +796,10 @@ class SterliteRefineryQuery: ...@@ -796,11 +796,10 @@ class SterliteRefineryQuery:
SELECT SELECT
'Cir-1 40 KA Rectifier Avg. Current' AS power_availability, 'Cir-1 40 KA Rectifier Avg. Current' AS power_availability,
'KAmp' AS uom, 'KAmp' AS uom,
AVG(PLAN_METRIC_VALUE) AS norms, ROUND(AVG(PLAN_METRIC_VALUE)::NUMERIC, 2) AS norms,
SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT( ROUND((SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(CASE WHEN
CASE ACTUAL_METRIC_VALUE <> 0 THEN 1 ELSE NULL END), 0), 1))::NUMERIC, 2)
WHEN ACTUAL_METRIC_VALUE <> 0 THEN 1 AS on_date
ELSE NULL END), 0), 1) AS on_date
FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW
WHERE LOWER(TRIM(KPI)) = '40ka_rectifier_current' WHERE LOWER(TRIM(KPI)) = '40ka_rectifier_current'
...@@ -811,10 +810,9 @@ class SterliteRefineryQuery: ...@@ -811,10 +810,9 @@ class SterliteRefineryQuery:
SELECT SELECT
'Cir-1 40 KA Rectifier Avg. Current' AS power_availability, 'Cir-1 40 KA Rectifier Avg. Current' AS power_availability,
'KAmp' AS uom, 'KAmp' AS uom,
SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT( ROUND((SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(CASE WHEN
CASE ACTUAL_METRIC_VALUE <> 0 THEN 1 ELSE NULL END), 0), 1))::NUMERIC, 2)
WHEN ACTUAL_METRIC_VALUE <> 0 THEN 1 AS mtd
ELSE NULL END), 0), 1) AS mtd
FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW
WHERE LOWER(TRIM(KPI)) = '40ka_rectifier_current' WHERE LOWER(TRIM(KPI)) = '40ka_rectifier_current'
...@@ -825,10 +823,9 @@ class SterliteRefineryQuery: ...@@ -825,10 +823,9 @@ class SterliteRefineryQuery:
SELECT SELECT
'Cir-1 40 KA Rectifier Avg. Current' AS power_availability, 'Cir-1 40 KA Rectifier Avg. Current' AS power_availability,
'KAmp' AS uom, 'KAmp' AS uom,
SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT( ROUND((SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(CASE WHEN
CASE ACTUAL_METRIC_VALUE <> 0 THEN 1 ELSE NULL END), 0), 1))::NUMERIC, 2)
WHEN ACTUAL_METRIC_VALUE <> 0 THEN 1 AS ytd
ELSE NULL END), 0), 1) AS ytd
FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW
WHERE LOWER(TRIM(KPI)) = '40ka_rectifier_current' WHERE LOWER(TRIM(KPI)) = '40ka_rectifier_current'
...@@ -842,12 +839,10 @@ class SterliteRefineryQuery: ...@@ -842,12 +839,10 @@ class SterliteRefineryQuery:
SELECT SELECT
'Cir-2 35 KA Rectifier Avg. Current' AS power_availability, 'Cir-2 35 KA Rectifier Avg. Current' AS power_availability,
'KAmp' AS uom, 'KAmp' AS uom,
AVG(PLAN_METRIC_VALUE) AS norms, ROUND(AVG(PLAN_METRIC_VALUE)::NUMERIC, 2) AS norms,
SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT( ROUND((SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(CASE WHEN
CASE ACTUAL_METRIC_VALUE <> 0 THEN 1 ELSE NULL END), 0), 1))::NUMERIC, 2)
WHEN ACTUAL_METRIC_VALUE <> 0 AS on_date
THEN 1 ELSE NULL END), 0), 1)
AS on_date
FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW
WHERE LOWER(TRIM(KPI)) = '35ka_rectifier_current' WHERE LOWER(TRIM(KPI)) = '35ka_rectifier_current'
...@@ -858,11 +853,9 @@ class SterliteRefineryQuery: ...@@ -858,11 +853,9 @@ class SterliteRefineryQuery:
SELECT SELECT
'Cir-2 35 KA Rectifier Avg. Current' AS power_availability, 'Cir-2 35 KA Rectifier Avg. Current' AS power_availability,
'KAmp' AS uom, 'KAmp' AS uom,
SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT( ROUND((SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(CASE WHEN
CASE ACTUAL_METRIC_VALUE <> 0 THEN 1 ELSE NULL END), 0), 1))::NUMERIC, 2)
WHEN ACTUAL_METRIC_VALUE <> 0 AS mtd
THEN 1 ELSE NULL END), 0), 1)
AS mtd
FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW
WHERE LOWER(TRIM(KPI)) = '35ka_rectifier_current' WHERE LOWER(TRIM(KPI)) = '35ka_rectifier_current'
...@@ -873,11 +866,9 @@ class SterliteRefineryQuery: ...@@ -873,11 +866,9 @@ class SterliteRefineryQuery:
SELECT SELECT
'Cir-2 35 KA Rectifier Avg. Current' AS power_availability, 'Cir-2 35 KA Rectifier Avg. Current' AS power_availability,
'KAmp' AS uom, 'KAmp' AS uom,
SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT( ROUND((SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(CASE WHEN
CASE ACTUAL_METRIC_VALUE <> 0 THEN 1 ELSE NULL END), 0), 1))::NUMERIC, 2)
WHEN ACTUAL_METRIC_VALUE <> 0 AS ytd
THEN 1 ELSE NULL END), 0), 1)
AS ytd
FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW
WHERE LOWER(TRIM(KPI)) = '35ka_rectifier_current' WHERE LOWER(TRIM(KPI)) = '35ka_rectifier_current'
...@@ -891,10 +882,10 @@ class SterliteRefineryQuery: ...@@ -891,10 +882,10 @@ class SterliteRefineryQuery:
SELECT SELECT
'Total Avg. Current' AS power_availability, 'Total Avg. Current' AS power_availability,
'KAmp' AS uom, 'KAmp' AS uom,
AVG(PLAN_METRIC_VALUE) AS norms, ROUND(AVG(PLAN_METRIC_VALUE)::NUMERIC, 2) AS norms,
SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT( ROUND((SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(CASE WHEN
CASE WHEN ACTUAL_METRIC_VALUE <> 0 THEN 1 ACTUAL_METRIC_VALUE <> 0 THEN 1 ELSE NULL END), 0), 1))::NUMERIC, 2)
ELSE NULL END), 0), 1) AS on_date AS on_date
FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW
WHERE LOWER(TRIM(KPI)) in WHERE LOWER(TRIM(KPI)) in
...@@ -907,9 +898,9 @@ class SterliteRefineryQuery: ...@@ -907,9 +898,9 @@ class SterliteRefineryQuery:
SELECT SELECT
'Total Avg. Current' AS power_availability, 'Total Avg. Current' AS power_availability,
'KAmp' AS uom, 'KAmp' AS uom,
SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT( ROUND((SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(CASE WHEN
CASE WHEN ACTUAL_METRIC_VALUE <> 0 THEN 1 ACTUAL_METRIC_VALUE <> 0 THEN 1 ELSE NULL END), 0), 1))::NUMERIC, 2)
ELSE NULL END), 0), 1) AS mtd AS mtd
FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW
WHERE LOWER(TRIM(KPI)) in WHERE LOWER(TRIM(KPI)) in
...@@ -922,9 +913,9 @@ class SterliteRefineryQuery: ...@@ -922,9 +913,9 @@ class SterliteRefineryQuery:
SELECT SELECT
'Total Avg. Current' AS power_availability, 'Total Avg. Current' AS power_availability,
'KAmp' AS uom, 'KAmp' AS uom,
SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT( ROUND((SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(CASE WHEN
CASE WHEN ACTUAL_METRIC_VALUE <> 0 THEN 1 ACTUAL_METRIC_VALUE <> 0 THEN 1 ELSE NULL END), 0), 1))::NUMERIC, 2)
ELSE NULL END), 0), 1) AS ytd AS ytd
FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW
WHERE LOWER(TRIM(KPI)) in WHERE LOWER(TRIM(KPI)) in
...@@ -940,8 +931,8 @@ class SterliteRefineryQuery: ...@@ -940,8 +931,8 @@ class SterliteRefineryQuery:
SELECT SELECT
'Current Density' AS power_availability, 'Current Density' AS power_availability,
'Amp / m2' AS uom, 'Amp / m2' AS uom,
AVG(NUMO_PLAN) AS norms, ROUND(AVG(NUMO_PLAN)::NUMERIC, 2) AS norms,
AVG(NUMO_ACTUAL) AS on_date ROUND(AVG(NUMO_ACTUAL)::NUMERIC, 2) AS on_date
FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW CCTDV2 FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW CCTDV2
WHERE WHERE
...@@ -952,7 +943,7 @@ class SterliteRefineryQuery: ...@@ -952,7 +943,7 @@ class SterliteRefineryQuery:
SELECT SELECT
'Current Density' AS power_availability, 'Current Density' AS power_availability,
'Amp / m2' AS uom, 'Amp / m2' AS uom,
AVG(NUMO_ACTUAL) AS mtd ROUND(AVG(NUMO_ACTUAL)::NUMERIC, 2) AS mtd
FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW CCTDV2 FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW CCTDV2
WHERE WHERE
...@@ -963,7 +954,7 @@ class SterliteRefineryQuery: ...@@ -963,7 +954,7 @@ class SterliteRefineryQuery:
SELECT SELECT
'Current Density' AS power_availability, 'Current Density' AS power_availability,
'Amp / m2' AS uom, 'Amp / m2' AS uom,
AVG(NUMO_ACTUAL) AS ytd ROUND(AVG(NUMO_ACTUAL)::NUMERIC, 2) AS ytd
FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW CCTDV2 FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW CCTDV2
WHERE WHERE
...@@ -973,129 +964,114 @@ class SterliteRefineryQuery: ...@@ -973,129 +964,114 @@ class SterliteRefineryQuery:
class AcpCcpcCcp: class AcpCcpcCcp:
""" RM ANODE RECEIPT DETAILS """ """ RM ANODE RECEIPT DETAILS """
QUERY_1 = """ QUERY_1 = """
SELECT SELECT
KPI as rm_anode_receipt_details,
first_tbl.rm_anode_receipt_details, ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS on_date
first_tbl.on_date,
second_tbl.mtd,
third_tbl.ytd
FROM
(SELECT 'ACP Anode Receipt (MT)' AS KPI,
SUM(QUANTITY::double precision) AS METRIC_VALUE,
DATE(date) AS date
FROM SEMANTIC_PROD.FACT_SPENT_ANODE
WHERE MOVEMENT_TYPE = '101'
AND PLANT = '1200'
AND STORAGE_LOCATION = '103Q'
AND MATERIAL_ID = '330000091'
GROUP BY 1,3
UNION ALL SELECT 'CCPC Anode Receipt (MT)' AS KPI,
SUM(QUANTITY::double precision) AS METRIC_VALUE,
DATE(date) AS date
FROM SEMANTIC_PROD.FACT_SPENT_ANODE
WHERE MOVEMENT_TYPE = '101'
AND PLANT = '1200'
AND STORAGE_LOCATION = '103C'
AND MATERIAL_ID = '330000091'
GROUP BY 1,3
UNION ALL SELECT 'CCP Anode Receipt (MT)' AS KPI,
SUM(QUANTITY::double precision) AS METRIC_VALUE,
DATE(date) AS date
FROM SEMANTIC_PROD.FACT_SPENT_ANODE
WHERE MOVEMENT_TYPE = '101'
AND PLANT = '1200'
AND STORAGE_LOCATION = '103Q'
AND MATERIAL_ID = '330000099'
GROUP BY 1,3)TB
WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY 1
"""
QUERY_2 = """
SELECT
KPI as rm_anode_receipt_details,
ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS mtd
FROM FROM
( (SELECT 'ACP Anode Receipt (MT)' AS KPI,
SELECT kpi as rm_anode_receipt_details, SUM(METRIC_VALUE) AS on_date SUM(QUANTITY::double precision) AS METRIC_VALUE,
FROM DATE(date) AS date
(SELECT 'ACP Anode Receipt (MT)' AS KPI, FROM SEMANTIC_PROD.FACT_SPENT_ANODE
SUM(QUANTITY::double precision) AS METRIC_VALUE, WHERE MOVEMENT_TYPE = '101'
DATE(date) AS date AND PLANT = '1200'
FROM SEMANTIC_PROD.FACT_SPENT_ANODE AND STORAGE_LOCATION = '103Q'
WHERE MOVEMENT_TYPE = '101' AND MATERIAL_ID = '330000091'
AND PLANT = '1200' GROUP BY 1,3
AND STORAGE_LOCATION = '103Q' UNION ALL SELECT 'CCPC Anode Receipt (MT)' AS KPI,
AND MATERIAL_ID = '330000091' SUM(QUANTITY::double precision) AS METRIC_VALUE,
GROUP BY 1,3 DATE(date) AS date
UNION ALL SELECT 'CCPC Anode Receipt (MT)' AS KPI, FROM SEMANTIC_PROD.FACT_SPENT_ANODE
SUM(QUANTITY::double precision) AS METRIC_VALUE, WHERE MOVEMENT_TYPE = '101'
DATE(date) AS date AND PLANT = '1200'
FROM SEMANTIC_PROD.FACT_SPENT_ANODE AND STORAGE_LOCATION = '103C'
WHERE MOVEMENT_TYPE = '101' AND MATERIAL_ID = '330000091'
AND PLANT = '1200' GROUP BY 1,3
AND STORAGE_LOCATION = '103C' UNION ALL SELECT 'CCP Anode Receipt (MT)' AS KPI,
AND MATERIAL_ID = '330000091' SUM(QUANTITY::double precision) AS METRIC_VALUE,
GROUP BY 1,3 DATE(date) AS date
UNION ALL SELECT 'CCP Anode Receipt (MT)' AS KPI, FROM SEMANTIC_PROD.FACT_SPENT_ANODE
SUM(QUANTITY::double precision) AS METRIC_VALUE, WHERE MOVEMENT_TYPE = '101'
DATE(date) AS date AND PLANT = '1200'
FROM SEMANTIC_PROD.FACT_SPENT_ANODE AND STORAGE_LOCATION = '103Q'
WHERE MOVEMENT_TYPE = '101' AND MATERIAL_ID = '330000099'
AND PLANT = '1200' GROUP BY 1,3)TB
AND STORAGE_LOCATION = '103Q'
AND MATERIAL_ID = '330000099'
GROUP BY 1,3)TB
WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY 1
) as first_tbl
JOIN
(
SELECT kpi as rm_anode_receipt_details,
SUM(METRIC_VALUE) AS mtd
FROM
(SELECT 'ACP Anode Receipt (MT)' AS KPI,
SUM(QUANTITY::double precision) AS METRIC_VALUE,
DATE(date) AS date
FROM SEMANTIC_PROD.FACT_SPENT_ANODE
WHERE MOVEMENT_TYPE = '101'
AND PLANT = '1200'
AND STORAGE_LOCATION = '103Q'
AND MATERIAL_ID = '330000091'
GROUP BY 1,3
UNION ALL SELECT 'CCPC Anode Receipt (MT)' AS KPI,
SUM(QUANTITY::double precision) AS METRIC_VALUE,
DATE(date) AS date
FROM SEMANTIC_PROD.FACT_SPENT_ANODE
WHERE MOVEMENT_TYPE = '101'
AND PLANT = '1200'
AND STORAGE_LOCATION = '103C'
AND MATERIAL_ID = '330000091'
GROUP BY 1,3
UNION ALL SELECT 'CCP Anode Receipt (MT)' AS KPI,
SUM(QUANTITY::double precision) AS METRIC_VALUE,
DATE(date) AS date
FROM SEMANTIC_PROD.FACT_SPENT_ANODE
WHERE MOVEMENT_TYPE = '101'
AND PLANT = '1200'
AND STORAGE_LOCATION = '103Q'
AND MATERIAL_ID = '330000099'
GROUP BY 1,3)TB
WHERE DATE BETWEEN '{month_start_date}' AND '{month_end_date}' WHERE DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY 1 GROUP BY 1
) as second_tbl """
QUERY_3 = """
ON first_tbl.rm_anode_receipt_details=second_tbl.rm_anode_receipt_details SELECT
KPI as rm_anode_receipt_details,
JOIN ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS ytd
( FROM
SELECT kpi as rm_anode_receipt_details, (SELECT 'ACP Anode Receipt (MT)' AS KPI,
SUM(METRIC_VALUE) AS ytd SUM(QUANTITY::double precision) AS METRIC_VALUE,
FROM DATE(date) AS date
(SELECT 'ACP Anode Receipt (MT)' AS KPI, FROM SEMANTIC_PROD.FACT_SPENT_ANODE
SUM(QUANTITY::double precision) AS METRIC_VALUE, WHERE MOVEMENT_TYPE = '101'
DATE(date) AS date AND PLANT = '1200'
FROM SEMANTIC_PROD.FACT_SPENT_ANODE AND STORAGE_LOCATION = '103Q'
WHERE MOVEMENT_TYPE = '101' AND MATERIAL_ID = '330000091'
AND PLANT = '1200' GROUP BY 1,3
AND STORAGE_LOCATION = '103Q' UNION ALL SELECT 'CCPC Anode Receipt (MT)' AS KPI,
AND MATERIAL_ID = '330000091' SUM(QUANTITY::double precision) AS METRIC_VALUE,
GROUP BY 1,3 DATE(date) AS date
UNION ALL SELECT 'CCPC Anode Receipt (MT)' AS KPI, FROM SEMANTIC_PROD.FACT_SPENT_ANODE
SUM(QUANTITY::double precision) AS METRIC_VALUE, WHERE MOVEMENT_TYPE = '101'
DATE(date) AS date AND PLANT = '1200'
FROM SEMANTIC_PROD.FACT_SPENT_ANODE AND STORAGE_LOCATION = '103C'
WHERE MOVEMENT_TYPE = '101' AND MATERIAL_ID = '330000091'
AND PLANT = '1200' GROUP BY 1,3
AND STORAGE_LOCATION = '103C' UNION ALL SELECT 'CCP Anode Receipt (MT)' AS KPI,
AND MATERIAL_ID = '330000091' SUM(QUANTITY::double precision) AS METRIC_VALUE,
GROUP BY 1,3 DATE(date) AS date
UNION ALL SELECT 'CCP Anode Receipt (MT)' AS KPI, FROM SEMANTIC_PROD.FACT_SPENT_ANODE
SUM(QUANTITY::double precision) AS METRIC_VALUE, WHERE MOVEMENT_TYPE = '101'
DATE(date) AS date AND PLANT = '1200'
FROM SEMANTIC_PROD.FACT_SPENT_ANODE AND STORAGE_LOCATION = '103Q'
WHERE MOVEMENT_TYPE = '101' AND MATERIAL_ID = '330000099'
AND PLANT = '1200' GROUP BY 1,3)TB
AND STORAGE_LOCATION = '103Q'
AND MATERIAL_ID = '330000099'
GROUP BY 1,3)TB
WHERE DATE BETWEEN '{year_start_date}' AND '{year_end_date}' WHERE DATE BETWEEN '{year_start_date}' AND '{year_end_date}'
GROUP BY 1 GROUP BY 1
) as third_tbl """
ON second_tbl.rm_anode_receipt_details=third_tbl.rm_anode_receipt_details
"""
class BankCropStripping: class BankCropStripping:
""" BANK / CROP / STRIPPING TIME """ """ BANK / CROP / STRIPPING TIME """
...@@ -1233,8 +1209,9 @@ class SterliteRefineryQuery: ...@@ -1233,8 +1209,9 @@ class SterliteRefineryQuery:
'Current Efficiency' AS efficiencies, 'Current Efficiency' AS efficiencies,
'%' AS uom, '%' AS uom,
AVG(NUMO_PLAN) AS norms, AVG(NUMO_PLAN) AS norms,
(SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL), 0)) * 100 AS ROUND(((SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL), 0)) *
on_date 100)::NUMERIC, 2)
AS on_date
FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW
...@@ -1246,8 +1223,8 @@ class SterliteRefineryQuery: ...@@ -1246,8 +1223,8 @@ class SterliteRefineryQuery:
SELECT SELECT
'Current Efficiency' AS efficiencies, 'Current Efficiency' AS efficiencies,
'%' AS uom, '%' AS uom,
(SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL), 0)) * 100 AS ROUND(((SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL), 0)) *
mtd 100)::NUMERIC, 2) AS mtd
FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW
...@@ -1259,8 +1236,8 @@ class SterliteRefineryQuery: ...@@ -1259,8 +1236,8 @@ class SterliteRefineryQuery:
SELECT SELECT
'Current Efficiency' AS efficiencies, 'Current Efficiency' AS efficiencies,
'%' AS uom, '%' AS uom,
(SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL), 0)) * 100 AS ROUND(((SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL), 0)) *
ytd 100)::NUMERIC, 2) AS ytd
FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW
...@@ -1275,8 +1252,8 @@ class SterliteRefineryQuery: ...@@ -1275,8 +1252,8 @@ class SterliteRefineryQuery:
SELECT 'Time Efficiency' AS efficiencies, SELECT 'Time Efficiency' AS efficiencies,
'%' AS uom, '%' AS uom,
AVG(NUMO_PLAN) AS norms, AVG(NUMO_PLAN) AS norms,
(SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL),0)) * 100 ROUND(((SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL), 0)) *
AS on_date 100)::NUMERIC, 2) AS on_date
FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW
WHERE LOWER(TRIM(CATEGORY)) = 'te' WHERE LOWER(TRIM(CATEGORY)) = 'te'
...@@ -1286,8 +1263,8 @@ class SterliteRefineryQuery: ...@@ -1286,8 +1263,8 @@ class SterliteRefineryQuery:
QUERY_2 = """ QUERY_2 = """
SELECT 'Time Efficiency' AS efficiencies, SELECT 'Time Efficiency' AS efficiencies,
'%' AS uom, '%' AS uom,
(SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL),0)) * 100 ROUND(((SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL), 0)) *
AS mtd 100)::NUMERIC, 2) AS mtd
FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW
WHERE LOWER(TRIM(CATEGORY)) = 'te' WHERE LOWER(TRIM(CATEGORY)) = 'te'
...@@ -1295,10 +1272,12 @@ class SterliteRefineryQuery: ...@@ -1295,10 +1272,12 @@ class SterliteRefineryQuery:
GROUP BY 1,2 GROUP BY 1,2
""" """
QUERY_3 = """ QUERY_3 = """
SELECT 'Time Efficiency' AS efficiencies, SELECT
'%' AS uom, 'Time Efficiency' AS efficiencies,
(SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL),0)) * 100 '%' AS uom,
AS ytd ROUND(((SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL), 0)) *
100)::NUMERIC, 2)
AS ytd
FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW
WHERE LOWER(TRIM(CATEGORY)) = 'te' WHERE LOWER(TRIM(CATEGORY)) = 'te'
......
...@@ -174,7 +174,6 @@ class CustomReportHandler: ...@@ -174,7 +174,6 @@ class CustomReportHandler:
logger.info("Iterating through each block to create a dataframe") logger.info("Iterating through each block to create a dataframe")
# Iterate through the categories and concatenate their data # Iterate through the categories and concatenate their data
# print(input_json)
for category, category_data in input_json.items(): for category, category_data in input_json.items():
data = category_data.get('data', []) data = category_data.get('data', [])
...@@ -235,8 +234,10 @@ class CustomReportHandler: ...@@ -235,8 +234,10 @@ class CustomReportHandler:
start_row = CommonConstants.START_ROW start_row = CommonConstants.START_ROW
total_column = 0 total_column = 0
workbook = writer.book workbook = writer.book
sheet_name = each_date_range[ sheet_name = datetime.strptime(each_date_range[
CommonConstants.DAY_START_DATE] CommonConstants.DAY_START_DATE], "%Y-%m-%d").\
strftime("%d %b %Y")
worksheet = None worksheet = None
# Iterating over sterlite json file # Iterating over sterlite json file
......
...@@ -177,11 +177,16 @@ class SterliteRefineryTemplate: ...@@ -177,11 +177,16 @@ class SterliteRefineryTemplate:
"query": { "query": {
"AcpCcpcCcp": [ "AcpCcpcCcp": [
SterliteRefineryQuery.AcpCcpcCcp.QUERY_1, SterliteRefineryQuery.AcpCcpcCcp.QUERY_1,
SterliteRefineryQuery.AcpCcpcCcp.QUERY_2,
SterliteRefineryQuery.AcpCcpcCcp.QUERY_3,
] ]
}, },
"data": [], "data": [],
"data_column": ["rm_anode_receipt_details", "on_date", "data_column": ["rm_anode_receipt_details", "on_date",
"mtd", "ytd"], "mtd", "ytd"],
"addition": {
"primary": "rm_anode_receipt_details"
}
}, },
}, },
{ {
......
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