Commit 1d747ef0 authored by mohammed.akhib's avatar mohammed.akhib

added ccpc report

parent 90cf805c
......@@ -65,6 +65,7 @@ class ReportType:
REFINERY_REPORT = "refinery_report"
ACP_REPORT = "acp_report"
CCPP_REPORT = "ccpp_report"
CCPC_REPORT = "ccpc_report"
REFINERY_WORKSHEET_NAME = "REFINERY DAILY PERFORMANCE REPORT"
ACP_WORKSHEET_NAME_1 = "VEDANTA LIMITED"
ACP_WORKSHEET_NAME_2 = "ANODE CASTING PLANT (ACP) - SHIFT INCHARGE LOG SHEET"
......
......@@ -4194,9 +4194,10 @@ class SterliteCCPCQuery:
class BLISTER:
""" PARTICULARS """
QUERY_1 = """ SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS metric_value,
'MT' as unit
kpi as particulars,
'MT' as unit,
ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS on_date
FROM
(
SELECT
......@@ -4229,15 +4230,16 @@ class SterliteCCPCQuery:
WHERE
LOWER(shift) = 'shift c'
) foo
WHERE DATE BETWEEN '{DAY_START_DATE}' AND '{DAY_END_DATE}'
WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY
1;
"""
QUERY_2 = """
SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS metric_value,
'MT' as unit
kpi as particulars,
'MT' as unit,
ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS mtd
FROM
(
SELECT
......@@ -4277,7 +4279,7 @@ class SterliteCCPCQuery:
class KCMANODE:
QUERY_1 = """
SELECT kpi, ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS metric_value, 'MT' as unit
SELECT kpi as particulars, ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS ondate, 'MT' as unit
FROM (
SELECT date, 'KCM anodes' AS kpi, shift, COALESCE(kcm_a, '0') AS metric_value
FROM semantic_prod.charging_details_ccpc_new
......@@ -4291,11 +4293,11 @@ class SterliteCCPCQuery:
FROM semantic_prod.charging_details_ccpc_new
WHERE LOWER(shift) = 'shift c'
) foo
WHERE DATE BETWEEN '{DAY_START_DATE}' AND '{DAY_END_DATE}'
WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY 1 ;
"""
QUERY_2 = """
SELECT kpi, ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS metric_value, 'MT' as unit
SELECT kpi as particulars, ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS mtd, 'MT' as unit
FROM (
SELECT date, 'KCM anodes' AS kpi, shift, COALESCE(kcm_a, '0') AS metric_value
FROM semantic_prod.charging_details_ccpc_new
......@@ -4315,7 +4317,7 @@ class SterliteCCPCQuery:
class DINGOT:
QUERY_1 = """
SELECT kpi, ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS metric_value, 'MT' as unit
SELECT kpi as particulars, ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS ondate, 'MT' as unit
FROM (
SELECT date, 'Dingot' AS kpi, shift, COALESCE(dingots_a, '0') AS metric_value
FROM semantic_prod.charging_details_ccpc_new
......@@ -4333,11 +4335,11 @@ class SterliteCCPCQuery:
FROM semantic_prod.charging_details_ccpc_new
WHERE LOWER(shift) = 'shift c'
) foo
WHERE DATE BETWEEN '{DAY_START_DATE}' AND '{DAY_END_DATE}'
WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY 1 ;
"""
QUERY_2 = """
SELECT kpi, ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS metric_value, 'MT' as unit
SELECT kpi as particulars, ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS mtd, 'MT' as unit
FROM (
SELECT date, 'Dingot' AS kpi, shift, COALESCE(dingots_a, '0') AS metric_value
FROM semantic_prod.charging_details_ccpc_new
......@@ -4360,7 +4362,7 @@ class SterliteCCPCQuery:
"""
class IMPORTEDSPENTANODE:
QUERY_1 = """SELECT kpi, ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS metric_value, 'MT' as unit
QUERY_1 = """SELECT kpi as particulars, ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS ondate, 'MT' as unit
FROM (
SELECT date, 'Imported Spent Anode' AS kpi, shift, COALESCE(import_spent_a, '0') AS metric_value
FROM semantic_prod.charging_details_ccpc_new
......@@ -4377,10 +4379,11 @@ class SterliteCCPCQuery:
SELECT date, 'Imported Spent Anode' AS kpi, shift, COALESCE(import_spent_c, '0') AS metric_value
FROM semantic_prod.charging_details_ccpc_new
WHERE LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY 1 ;
"""
QUERY_2 = """SELECT kpi, ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS metric_value, 'MT' as unit
QUERY_2 = """SELECT kpi as particulars, ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS mtd, 'MT' as unit
FROM (
SELECT date, 'Imported Spent Anode' AS kpi, shift, COALESCE(import_spent_a, '0') AS metric_value
FROM semantic_prod.charging_details_ccpc_new
......@@ -4397,13 +4400,14 @@ class SterliteCCPCQuery:
SELECT date, 'Imported Spent Anode' AS kpi, shift, COALESCE(import_spent_c, '0') AS metric_value
FROM semantic_prod.charging_details_ccpc_new
WHERE LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY 1 ;
"""
class CURODRM:
QUERY_1 = """
SELECT kpi, ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS metric_value, 'MT' as unit
SELECT kpi as particulars, ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS ondate, 'MT' as unit
FROM (
SELECT date, 'Cu-rod RM' AS kpi, shift, COALESCE(cu_rod_rm_a, '0') AS metric_value
FROM semantic_prod.charging_details_ccpc_new
......@@ -4420,11 +4424,12 @@ class SterliteCCPCQuery:
SELECT date, 'Cu-rod RM' AS kpi, shift, COALESCE(cu_rod_rm_c, '0') AS metric_value
FROM semantic_prod.charging_details_ccpc_new
WHERE LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY 1 ;
"""
QUERY_2 = """
SELECT kpi, ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS metric_value, 'MT' as unit
SELECT kpi as particulars, ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS mtd, 'MT' as unit
FROM (
SELECT date, 'Cu-rod RM' AS kpi, shift, COALESCE(cu_rod_rm_a, '0') AS metric_value
FROM semantic_prod.charging_details_ccpc_new
......@@ -4441,15 +4446,16 @@ class SterliteCCPCQuery:
SELECT date, 'Cu-rod RM' AS kpi, shift, COALESCE(cu_rod_rm_c, '0') AS metric_value
FROM semantic_prod.charging_details_ccpc_new
WHERE LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY 1 ;
"""
class MASTERALLOY:
QUERY_1 = """
SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS metric_value,
kpi as particulars,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS ondate,
'0.971' as unit
FROM
(
......@@ -4483,13 +4489,14 @@ class SterliteCCPCQuery:
WHERE
LOWER(shift) = 'shift c'
) foo
WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY
1;
"""
QUERY_2 = """
SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS metric_value,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS mtd,
'0.971' as unit
FROM
(
......@@ -4522,7 +4529,8 @@ class SterliteCCPCQuery:
semantic_prod.charging_details_ccpc_new
WHERE
LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY
1;
"""
......@@ -4530,8 +4538,8 @@ class SterliteCCPCQuery:
class CUSHAVINGS:
QUERY_1 = """
SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS metric_value,
kpi as particulars,
ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS ondate,
'MT' as unit
FROM
(
......@@ -4564,14 +4572,15 @@ class SterliteCCPCQuery:
semantic_prod.charging_details_ccpc_new
WHERE
LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY
1;
"""
QUERY_2 = """
SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS metric_value,
kpi as particulars,
ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS mtd,
'MT' as unit
FROM
(
......@@ -4604,7 +4613,8 @@ class SterliteCCPCQuery:
semantic_prod.charging_details_ccpc_new
WHERE
LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY
1;
"""
......@@ -4612,8 +4622,8 @@ class SterliteCCPCQuery:
class SAPPRODUCTIONBOOKING:
QUERY_1 = """
SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS metric_value,
kpi as particulars,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS ondate,
'MT' as unit
FROM
(
......@@ -4646,14 +4656,15 @@ class SterliteCCPCQuery:
semantic_prod.charging_details_ccpc_new
WHERE
LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY
1;
"""
QUERY_2 = """
SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS metric_value,
kpi as particulars,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS mtd,
'MT' as unit
FROM
(
......@@ -4686,7 +4697,8 @@ class SterliteCCPCQuery:
semantic_prod.charging_details_ccpc_new
WHERE
LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY
1;
"""
......@@ -4694,8 +4706,8 @@ class SterliteCCPCQuery:
class DOCATHODE:
QUERY_1 = """
SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS metric_value,
kpi as particulars,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS ondate,
'' as unit
FROM
(
......@@ -4728,14 +4740,15 @@ class SterliteCCPCQuery:
semantic_prod.charging_details_ccpc_new
WHERE
LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY
1;
"""
QUERY_2 = """
SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS metric_value,
kpi as particulars,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS mtd,
'' as unit
FROM
(
......@@ -4768,15 +4781,16 @@ class SterliteCCPCQuery:
semantic_prod.charging_details_ccpc_new
WHERE
LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY
1;
"""
class REFINERYSPENTANODE:
QUERY_1 = """SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS metric_value,
kpi as particulars,
ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS ondate,
'MT' as unit
FROM
(
......@@ -4809,12 +4823,13 @@ class SterliteCCPCQuery:
semantic_prod.charging_details_ccpc_new
WHERE
LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY
1;"""
QUERY_2 = """SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS metric_value,
kpi as particulars,
ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS mtd,
'MT' as unit
FROM
(
......@@ -4847,14 +4862,15 @@ class SterliteCCPCQuery:
semantic_prod.charging_details_ccpc_new
WHERE
LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY
1;"""
class REFINERYREJECTEDANODE:
QUERY_1 = """SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS metric_value,
kpi as particulars,
ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS ondate,
'MT' as unit
FROM
(
......@@ -4887,12 +4903,13 @@ class SterliteCCPCQuery:
semantic_prod.charging_details_ccpc_new
WHERE
LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY
1;"""
QUERY_2 = """SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS metric_value,
kpi as particulars,
ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS mtd,
'MT' as unit
FROM
(
......@@ -4925,12 +4942,13 @@ class SterliteCCPCQuery:
semantic_prod.charging_details_ccpc_new
WHERE
LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY
1;"""
class REJECTEDCOILS:
QUERY_1 = """SELECT kpi, ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS metric_value, 'MT' as unit
QUERY_1 = """SELECT kpi as particulars, ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS ondate, 'MT' as unit
FROM (
SELECT date, 'Rejected coils' AS kpi, shift, COALESCE(rejected_coil_a, '0') AS metric_value
FROM semantic_prod.charging_details_ccpc_new
......@@ -4947,9 +4965,10 @@ class SterliteCCPCQuery:
SELECT date, 'Rejected coils' AS kpi, shift, COALESCE(rejected_coil_c, '0') AS metric_value
FROM semantic_prod.charging_details_ccpc_new
WHERE LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY 1 ;"""
QUERY_2 = """SELECT kpi, ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS metric_value, 'MT' as unit
QUERY_2 = """SELECT kpi as particulars, ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS mtd, 'MT' as unit
FROM (
SELECT date, 'Rejected coils' AS kpi, shift, COALESCE(rejected_coil_a, '0') AS metric_value
FROM semantic_prod.charging_details_ccpc_new
......@@ -4966,14 +4985,15 @@ class SterliteCCPCQuery:
SELECT date, 'Rejected coils' AS kpi, shift, COALESCE(rejected_coil_c, '0') AS metric_value
FROM semantic_prod.charging_details_ccpc_new
WHERE LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY 1 ;"""
class GGRADE:
QUERY_1 = """
SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS metric_value,
kpi as particulars,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS ondate,
'MT' as unit
FROM
(
......@@ -5006,14 +5026,15 @@ class SterliteCCPCQuery:
semantic_prod.charging_details_ccpc_new
WHERE
LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY
1;
"""
QUERY_2 = """
SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS metric_value,
kpi as particulars,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS mtd,
'MT' as unit
FROM
(
......@@ -5046,7 +5067,8 @@ class SterliteCCPCQuery:
semantic_prod.charging_details_ccpc_new
WHERE
LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY
1;
"""
......@@ -5054,8 +5076,8 @@ class SterliteCCPCQuery:
class ACPREJANODE:
QUERY_1 = """
SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS metric_value,
kpi as particulars,
ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS ondate,
'MT' as unit
FROM
(
......@@ -5088,14 +5110,15 @@ class SterliteCCPCQuery:
semantic_prod.charging_details_ccpc_new
WHERE
LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY
1;
"""
QUERY_2 = """
SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS metric_value,
kpi as particulars,
ROUND(SUM(CAST(metric_value AS NUMERIC)),2) AS mtd,
'MT' as unit
FROM
(
......@@ -5128,15 +5151,16 @@ class SterliteCCPCQuery:
semantic_prod.charging_details_ccpc_new
WHERE
LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY
1;
"""
class BERRY:
QUERY_1 = """SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS metric_value,
kpi as particulars,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS ondate,
'MT' as unit
FROM
(
......@@ -5169,12 +5193,13 @@ class SterliteCCPCQuery:
semantic_prod.charging_details_ccpc_new
WHERE
LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY
1;"""
QUERY_2 = """SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS metric_value,
kpi as particulars,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS mtd,
'MT' as unit
FROM
(
......@@ -5207,14 +5232,14 @@ class SterliteCCPCQuery:
semantic_prod.charging_details_ccpc_new
WHERE
LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY
1;"""
class RFNYCUTCOIL:
QUERY_1 = """SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS metric_value,
kpi as particulars,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS ondate,
'MT' as unit
FROM
(
......@@ -5247,12 +5272,13 @@ class SterliteCCPCQuery:
semantic_prod.charging_details_ccpc_new
WHERE
LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY
1;"""
QUERY_2 = """SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS metric_value,
kpi as particulars,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS mtd,
'MT' as unit
FROM
(
......@@ -5285,14 +5311,15 @@ class SterliteCCPCQuery:
semantic_prod.charging_details_ccpc_new
WHERE
LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY
1;"""
class CCPCREJANODE:
QUERY_1 = """SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS metric_value,
kpi as particulars,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS ondate,
'MT' as unit
FROM
(
......@@ -5325,12 +5352,13 @@ class SterliteCCPCQuery:
semantic_prod.charging_details_ccpc_new
WHERE
LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY
1;"""
QUERY_2 = """SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS metric_value,
kpi as particulars,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS mtd,
'MT' as unit
FROM
(
......@@ -5363,14 +5391,15 @@ class SterliteCCPCQuery:
semantic_prod.charging_details_ccpc_new
WHERE
LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY
1;"""
class ANODEREJECTION:
QUERY_1 = """SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS metric_value,
kpi as particulars,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS ondate,
'MT' as unit
FROM
(
......@@ -5403,12 +5432,13 @@ class SterliteCCPCQuery:
semantic_prod.charging_details_ccpc_new
WHERE
LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY
1;"""
QUERY_2 = """SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS metric_value,
kpi as particulars,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS mtd,
'MT' as unit
FROM
(
......@@ -5441,7 +5471,8 @@ class SterliteCCPCQuery:
semantic_prod.charging_details_ccpc_new
WHERE
LOWER(shift) = 'shift c'
) foo
) foo WHERE DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY
1;"""
......@@ -5449,8 +5480,8 @@ class SterliteCCPCQuery:
""" TOTAL BREAKDOWN DETAILS """
QUERY_1 = """
SELECT
TYPE_OF_BREAKDOWN AS KPI,
ROUND(SUM(BREAKDOWN_DURATION_HOURS * 60),2) AS BREAKDOWN_DURATION_MINS
TYPE_OF_BREAKDOWN AS kpi,
ROUND(SUM(BREAKDOWN_DURATION_HOURS * 60),2) AS breakdown_duration_hours
FROM
SEMANTIC_PROD.CCPC_DOWNTIME_KPI_VIEW
WHERE
......@@ -5459,12 +5490,12 @@ class SterliteCCPCQuery:
"""
QUERY_2 = """
SELECT
'TOTAL(MINS)' AS KPI,
ROUND(SUM(BREAKDOWN_DURATION_HOURS * 60),2) AS BREAKDOWN_DURATION_HOURS
'TOTAL(MINS)' AS kpi,
ROUND(SUM(BREAKDOWN_DURATION_HOURS * 60),2) AS breakdown_duration_hours
FROM
SEMANTIC_PROD.CCPC_DOWNTIME_KPI_VIEW
WHERE
DATE BETWEEN '{DAY_START_DATE}' AND '{DAY_END_DATE}'
DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY
1
"""
......@@ -5473,100 +5504,14 @@ class SterliteCCPCQuery:
""" METAL TEMP """
QUERY_1 = """
select
select_ccpc as kpi,
avg(value_ccpp) as metric_value
select_ccpp as temp,
avg(value_ccpp) as on_date
from
semantic_prod.ccpp_ctp_new
WHERE
DATE BETWEEN '{DAY_START_DATE}' AND '{DAY_END_DATE}'
group by
1
"""
QUERY_2 = """
SELECT
'Cell House Anode Availability' AS ANODE_AVAILABILITY,
'%' AS UOM,
ROUND(((SUM(ANODE.NUMERATOR) / NULLIF(SUM(DENOMINATOR), 0)) * 100
)::NUMERIC, 2) AS MTD
FROM
(SELECT ACTUAL.AA_NUMO AS NUMERATOR,
ACTUAL.AA_DENO AS DENOMINATOR,
PLAN.AA_PLANNED,
COALESCE(ACTUAL.DATE,
PLAN.DATE) AS date
FROM SEMANTIC_PROD.REFINERY_ANODE_AVAILABILITY_ACTUAL_VIEW ACTUAL
FULL JOIN
(SELECT DD_1.DATE_DT AS date,
M_PLAN.AA_PLANNED
FROM
(SELECT DATE(date) AS POSTING_DATE,
ANODE_AVAILABILITY_VALUE::numeric AS AA_PLANNED
FROM SEMANTIC_DEV.ANODE_AVAILABILITY
WHERE
LOWER(TRIM(ANODE_AVAILABILITY_SELECT)) =
'anode availability'
AND DATE_PART('day',date) = 1
GROUP BY 1,
2)M_PLAN
LEFT JOIN
(SELECT DIM_DATE.DATE_DT,
DIM_DATE.MONTH_OF_YR_NUM AS MNTH,
DIM_DATE.YR_NAME AS YR
FROM SEMANTIC_PROD.DIM_DATE) DD_1 ON
DD_1.MNTH = DATE_PART('month', M_PLAN.POSTING_DATE)
AND DD_1.YR = DATE_PART('year', M_PLAN.POSTING_DATE))PLAN
ON ACTUAL.DATE = PLAN.DATE)ANODE
WHERE
DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY
1,2;
"""
QUERY_3 = """
SELECT
'Cell House Anode Availability' AS ANODE_AVAILABILITY,
'%' AS UOM,
ROUND(((SUM(ANODE.NUMERATOR) / NULLIF(SUM(DENOMINATOR), 0)) *
100)::NUMERIC, 2) AS YTD
FROM
(SELECT ACTUAL.AA_NUMO AS NUMERATOR,
ACTUAL.AA_DENO AS DENOMINATOR,
PLAN.AA_PLANNED,
COALESCE(ACTUAL.DATE,
PLAN.DATE) AS date
FROM SEMANTIC_PROD.REFINERY_ANODE_AVAILABILITY_ACTUAL_VIEW ACTUAL
FULL JOIN
(SELECT DD_1.DATE_DT AS date,
M_PLAN.AA_PLANNED
FROM
(SELECT DATE(date) AS POSTING_DATE,
ANODE_AVAILABILITY_VALUE::numeric AS AA_PLANNED
FROM SEMANTIC_DEV.ANODE_AVAILABILITY
WHERE
LOWER(TRIM(ANODE_AVAILABILITY_SELECT)) =
'anode availability'
AND DATE_PART('day',date) = 1
GROUP BY 1,
2)M_PLAN
LEFT JOIN
(SELECT DIM_DATE.DATE_DT,
DIM_DATE.MONTH_OF_YR_NUM AS MNTH,
DIM_DATE.YR_NAME AS YR
FROM SEMANTIC_PROD.DIM_DATE) DD_1 ON
DD_1.MNTH = DATE_PART('month', M_PLAN.POSTING_DATE)
AND DD_1.YR = DATE_PART('year', M_PLAN.POSTING_DATE))PLAN
ON ACTUAL.DATE = PLAN.DATE)ANODE
WHERE
DATE BETWEEN '{year_start_date}' AND '{year_end_date}'
GROUP BY
1,2;
group by
1;
"""
class PersonOnDuty:
......@@ -5581,8 +5526,9 @@ class SterliteCCPCQuery:
"""
class ChargingDetails:
QUERY_1 = """select
kpi as parameter,
QUERY_1 = """
select
kpi as charging_details,
sum(shift_a) as shift_a,
sum(shift_b) as shift_b,
sum(shift_c) as shift_c,
......@@ -5590,15 +5536,15 @@ class SterliteCCPCQuery:
from
semantic_prod.ccpc_custom_rprt_charging_details
where
DATE BETWEEN '{DAY_START_DATE}' AND '{DAY_END_DATE}'
DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
and kpi not in ('Total')
group by
1
order by
total DESC;
"""
QUERY_2 = """select
kpi as parameter,
QUERY_2 = """ select
kpi as charging_details,
sum(shift_a) as shift_a,
sum(shift_b) as shift_b,
sum(shift_c) as shift_c,
......@@ -5606,7 +5552,7 @@ class SterliteCCPCQuery:
from
semantic_prod.ccpc_custom_rprt_charging_details
where
DATE BETWEEN '{DAY_START_DATE}' AND '{DAY_END_DATE}'
DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
and kpi in ('Total')
group by
1
......@@ -5616,9 +5562,9 @@ class SterliteCCPCQuery:
class BariumSulphate:
QUERY_1 = """SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS metric_value,
'KG/MT' as unit
kpi AS consumption_items,
'KG/MT' as unit,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS on_date
FROM
(
SELECT
......@@ -5659,9 +5605,10 @@ class SterliteCCPCQuery:
1;
"""
QUERY_2 = """SELECT
kpi,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS metric_value,
'KG/MT' as unit
kpi AS consumption_items,
'KG/MT' as unit,
ROUND(SUM(CAST(metric_value AS NUMERIC)), 2) AS mtd
FROM
(
SELECT
......@@ -5704,9 +5651,10 @@ class SterliteCCPCQuery:
class SodiumSulphate:
QUERY_1 = """SELECT
kpi,
SUM(CAST(metric_value AS NUMERIC)) AS metric_value,
'KG/MT' as unit
kpi AS consumption_items,
'KG/MT' as unit,
SUM(CAST(metric_value AS NUMERIC)) AS on_date
FROM
(
SELECT
......@@ -5742,14 +5690,15 @@ class SterliteCCPCQuery:
LOWER(shift) = 'shift c'
and sodium_silicate_c != ''
) foo
WHERE DATE BETWEEN '{DAY_START_DATE}' AND '{DAY_END_DATE}'
WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY
1;
"""
QUERY_2 = """SELECT
kpi,
SUM(CAST(metric_value AS NUMERIC)) AS metric_value,
'KG/MT' as unit
kpi AS consumption_items,
'KG/MT' as unit,
SUM(CAST(metric_value AS NUMERIC)) AS mtd
FROM
(
SELECT
......@@ -5792,17 +5741,17 @@ class SterliteCCPCQuery:
class Power:
QUERY_1 = """select
'power' as kpi,
'power' as consumption_items,
'KWH/MT' as unit,
power_consumption1 as metric_value
power_consumption1 as on_date
from
semantic_prod.ccpc_actual_production_2
WHERE DATE BETWEEN '{DAY_START_DATE}' AND '{DAY_END_DATE}';
WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}';
"""
QUERY_2 = """select
'power' as kpi,
'power' as consumption_items,
'KWH/MT' as unit,
power_consumption1 as metric_value
power_consumption1 as mtd
from
semantic_prod.ccpc_actual_production_2
WHERE DATE BETWEEN '{month_start_date}' AND '{month_end_date}';
......@@ -5814,7 +5763,7 @@ class SterliteCCPCQuery:
avg(value_ccpc) as metric_value
from
semantic_prod.ccpc_ctq_new
WHERE DATE BETWEEN '{DAY_START_DATE}' AND '{DAY_END_DATE}'
WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
group by
1;
"""
......@@ -5841,12 +5790,12 @@ class SterliteCCPCQuery:
FROM semantic_prod.ccpc_anode_weight
WHERE LOWER(shift) = 'shift c'
) foo
WHERE DATE BETWEEN '{DAY_START_DATE}' AND '{DAY_END_DATE}'
WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}';
"""
class Tbc:
QUERY_1 = """SELECT
kpi,
QUERY_1 = """
SELECT kpi,
shift,
value,
CAST(date AS TIME) AS time
......@@ -5882,7 +5831,7 @@ class SterliteCCPCQuery:
WHERE
LOWER(shift) = 'shift cc'
) foo
WHERE DATE BETWEEN '{DAY_START_DATE}' AND '{DAY_END_DATE}'
WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}';
"""
QUERY_2 = """SELECT
kpi,
......@@ -5921,7 +5870,7 @@ class SterliteCCPCQuery:
WHERE
LOWER(shift) = 'shift cc'
) foo
WHERE DATE BETWEEN '{DAY_START_DATE}' AND '{DAY_END_DATE}'
WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}';
"""
QUERY_3 = """SELECT
kpi,
......@@ -5960,15 +5909,16 @@ class SterliteCCPCQuery:
WHERE
LOWER(shift) = 'shift c'
) foo
WHERE DATE BETWEEN '{DAY_START_DATE}' AND '{DAY_END_DATE}'
WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
"""
class ProcessParameter:
QUERY_1= """select
QUERY_1 = """select
select_ccpc as kpi,
avg(value_ccpc) as metric_value
from
semantic_prod.ccpc_ctq_new
WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
group by
1
WHERE DATE BETWEEN '{DAY_START_DATE}' AND '{DAY_END_DATE}'
"""
......@@ -3,6 +3,7 @@ import copy
import pandas as pd
from datetime import datetime
from scripts.constants import ReportType, CommonConstants, PostgresConstant
from scripts.template.ccpc_report_template import CCPCReportTemplate
from scripts.template.refinery_report_template import SterliteRefineryTemplate
from scripts.template.acp_report_template import ACPReportTemplate
from scripts.core.logging.application_logging import logger
......@@ -83,6 +84,7 @@ class CustomReportHandler:
for each_blocks in input_json:
# Iterating each blocks for fetching query
if input_json[each_blocks][CommonConstants.QUERY]:
for each_kpi in input_json[each_blocks][CommonConstants.QUERY]:
logger.info(f"KPI: {each_kpi}")
......@@ -485,6 +487,119 @@ class CustomReportHandler:
worksheet=worksheet, workbook=workbook,
)
# Setting width to the column
worksheet.set_column(0, total_column,
CommonConstants.ACP_COLUMN_WIDTH)
# Center alignment of Excel data
workbook.formats[0].set_align('center')
logger.info(f"Report completed for: {each_date_range}")
else:
logger.error("Missing: Start Date or End Date")
if str(input_json["job_type"]).lower() == ReportType.CCPC_REPORT:
logger.info("Generating custom date filter with in the range")
# Getting custom date range using start date and end date
date_flag, date_filter = self.create_custom_date_filter(
input_json=input_json
)
if date_flag:
with pd.ExcelWriter(
input_json["file_name"],
engine="xlsxwriter") as writer:
for each_date_range in date_filter:
logger.info(f"date filter: {each_date_range}")
report_template = copy.deepcopy(
CCPCReportTemplate.CCPC_REPORT_TEMPLATE
)
start_col = CommonConstants.START_COLUMN
start_row = CommonConstants.START_ROW
total_column = 0
workbook = writer.book
sheet_name = datetime.strptime(
each_date_range[CommonConstants.DAY_START_DATE],
"%Y-%m-%d").strftime("%d %b %Y")
worksheet = None
# Iterating over sterlite json file
for each_blocks in report_template:
logger.info("Fetching each KPI data from queries")
each_blocks = self.get_queries_from_db(
input_json=each_blocks, date_filter=each_date_range
)
logger.info("Writing each block into excel sheet")
shape, worksheet, header_flag = \
self.write_dataframe_to_excel(
input_json=each_blocks, writer=writer,
workbook=workbook, sheet_name=sheet_name,
start_col=start_col, start_row=start_row,
header_merge_format=CCPCReportTemplate.COLUMN_HEADER_FORMAT,
column_merge_format=CCPCReportTemplate.COLUMN_HEADER_FORMAT,
blank_merge_format=CCPCReportTemplate.BLANK_COLUMN_HEADER_FORMAT
)
if total_column < shape[1]:
total_column = shape[1]
start_row += shape[0] + 2
if header_flag:
start_row += 1
logger.info("Creating Header for each sheet")
# -------- Image Section --------
logger.info("Adding Image in header")
self.merge_worksheet(
start_row=0, start_col=0, end_row=2, end_col=2,
title="",
style=ACPReportTemplate.WORKSHEET_IMAGE_HEADER_FORMAT,
worksheet=worksheet, workbook=workbook,
)
worksheet.insert_image('A1', ReportType.LOGO_IMAGE_PATH)
# -------- Heading Section --------
logger.info("Adding Heading in Header")
self.merge_worksheet(
start_row=0, start_col=3, end_row=1,
end_col=total_column - 1,
title=ReportType.ACP_WORKSHEET_NAME_1,
style=CCPCReportTemplate.WORKSHEET_HEADER_FORMAT,
worksheet=worksheet, workbook=workbook,
)
self.merge_worksheet(
start_row=2, start_col=3,
end_row=2, end_col=total_column - 1,
title=ReportType.ACP_WORKSHEET_NAME_2,
style=CCPCReportTemplate.WORKSHEET_HEADER_FORMAT,
worksheet=worksheet, workbook=workbook,
)
# -------- Date HEADER Section --------
logger.info("Adding Date time in header")
self.merge_worksheet(
start_row=3, start_col=0, end_row=3, end_col=1,
title=ReportType.DATE,
style=ACPReportTemplate.WORKSHEET_DATE_HEADER_FORMAT,
worksheet=worksheet, workbook=workbook,
)
# -------- Date Section --------
logger.info("Adding Date time in header")
self.merge_worksheet(
start_row=3, start_col=2,
end_row=3, end_col=3, title=sheet_name,
style=ACPReportTemplate.WORKSHEET_DATE_FORMAT,
worksheet=worksheet, workbook=workbook,
)
# Setting width to the column
worksheet.set_column(0, total_column,
CommonConstants.ACP_COLUMN_WIDTH)
......
......@@ -2,36 +2,26 @@ from scripts.constants import PostgresConstant
from scripts.core.db.postgres.custom_report_query import SterliteRefineryQuery, SterliteCCPCQuery
class SterliteRefineryTemplate:
WORKSHEET_HEADER_FORMAT = {
"bold": True,
"align": "center",
"valign": "center",
"fg_color": "#e6e7eb",
"font_color": "#1b314f",
"border": 1,
'font_size': '20',
}
COLUMN_HEADER_FORMAT = {
"bold": True,
"align": "center",
"valign": "center",
"fg_color": "#e6e7eb",
"font_color": "#021b5e",
"border": 1,
}
BLANK_COLUMN_HEADER_FORMAT = {
"bold": True,
"align": "center",
"valign": "center",
}
class CCPCReportTemplate:
CCPC_REPORT_TEMPLATE = [
{
"BLANK0": {
"columns": [
None
],
"data": [],
"query": {},
"data_column": [
None
]
}
},
{
"PARTICULARS": {
"columns": [
"PARTICULARS",
"UNIT",
"ONDATE",
"ON DATE",
"MTD",
],
"query": {
......@@ -109,10 +99,10 @@ class SterliteRefineryTemplate:
],
},
"data": [],
"data_column": ["particulars", "unit", "ondate", "mtd",
"data_column": ["particulars", "unit", "on_date", "mtd",
],
},
"BLANK": {
"BLANK0": {
"columns": [
None
],
......@@ -131,9 +121,9 @@ class SterliteRefineryTemplate:
]
},
"data": [],
"data_column": ["total breakdown details(mins)", "duration(mins)"],
"data_column": ["kpi", "breakdown_duration_hours"],
},
"BLANK": {
"BLANK1": {
"columns": [
None
],
......@@ -144,16 +134,16 @@ class SterliteRefineryTemplate:
]
},
"METAL TEMP": {
"columns": ["TEMP", "ONDATE"],
"columns": ["TEMP", "ON DATE"],
"query": {
"METAL TEMP": [
"MetalTemp": [
SterliteCCPCQuery.MetalTemp.QUERY_1,
]
},
"data": [],
"data_column": ["total breakdown details(mins)", "duration(mins)"],
"data_column": ["temp", "on_date"],
},
"BLANK": {
"BLANK2": {
"columns": [
None
],
......@@ -166,12 +156,13 @@ class SterliteRefineryTemplate:
"FURNACE SHELL TEMP": {
"columns": ["POSITION", "SHIFT", "AVG-TEMP"],
"query": {
"METAL TEMP": [
SterliteCCPCQuery.MetalTemp.QUERY_1,
]
},
"data": [],
"data_column": ["position", "shift", "avg-temp"],
"addition": {
"merge_header": "Furnace Shell Temp DCS - Data to be fetched shiftwise",
}
},
},
......@@ -183,25 +174,22 @@ class SterliteRefineryTemplate:
"6AM",
"7AM",
"8AM",
"",
"",
"",
"1PM"
],
"query": {
},
"data": [],
"data_column": [
"dcs - data to be fetched shiftwise",
"dcs_data_to_be_fetched_shiftwise",
"",
"6am",
"7am",
"8am",
"",
"",
"",
"1pm"
],
"addition": {
"merge_header": "SHIFT-A",
}
}
},
{
......@@ -212,9 +200,6 @@ class SterliteRefineryTemplate:
"6AM",
"7AM",
"8AM",
"",
"",
"",
"1PM"
],
"query": {
......@@ -226,11 +211,11 @@ class SterliteRefineryTemplate:
"6am",
"7am",
"8am",
"",
"",
"",
"1pm"
],
"addition": {
"merge_header": "SHIFT-B",
}
}
},
{
......@@ -241,9 +226,6 @@ class SterliteRefineryTemplate:
"6AM",
"7AM",
"8AM",
"",
"",
"",
"1PM"
],
"query": {
......@@ -255,11 +237,11 @@ class SterliteRefineryTemplate:
"6am",
"7am",
"8am",
"",
"",
"",
"1pm"
],
"addition": {
"merge_header": "SHIFT-C",
}
}
},
{
......@@ -267,10 +249,11 @@ class SterliteRefineryTemplate:
"columns": ["SHIFT", "TIME", "TANK OUTLET PRESSURE", "VAP. OUTLET PRESSURE", "LINE. OUTLET PRESSURE",
"LINE. TEM "],
"query": {
"Tbc": [
SterliteCCPCQuery.Tbc.QUERY_1,
SterliteCCPCQuery.Tbc.QUERY_2,
SterliteCCPCQuery.Tbc.QUERY_3,
]
},
"data": [],
"data_column": ["shift", "time", "tank outlet pressure", "vap. outlet pressure",
......@@ -279,12 +262,12 @@ class SterliteRefineryTemplate:
},
{
"PROCESS PARAMETERS": {
"columns": ["PARAMATER", "RANGE ", "AVG VALUE", "2", "3", "4"],
"columns": ["PARAMATER", "AVG VALUE"],
"query": {
SterliteCCPCQuery.ProcessParameter.QUERY_1
"ProcessParameter": [SterliteCCPCQuery.ProcessParameter.QUERY_1]
},
"data": [],
"data_column": ["paramater", "range ", "avg value", "2", "3", "4"],
"data_column": ["parameter", "avg_value"]
},
},
{
......@@ -297,9 +280,8 @@ class SterliteRefineryTemplate:
]
},
"data": [],
"data_column": ["charging details", "shift_a", "shift_b", "shift_c", "total"],
"data_column": ["charging_details", "shift_a", "shift_b", "shift_c", "total"],
},
"BLANK": {
"columns": [
......@@ -316,6 +298,9 @@ class SterliteRefineryTemplate:
"query": {},
"data": [],
"data_column": ["nos", "target", "production"],
"addition": {
"merge_header": "Monthwise Production details (MT)"
}
},
},
{
......@@ -332,21 +317,19 @@ class SterliteRefineryTemplate:
"OD PRODN (MT) ="
],
"query": {
"CROP": [
SterliteRefineryQuery.CropCir.QUERY_1,
]
},
"data": [],
"data_column": [
"production details-no. of anodes",
"a shift",
"b shift",
"c shift",
"a_shift",
"b_shift",
"c_shift",
"total",
"a-shift prdn",
"b-shift prdn",
"c-shift prdn",
"od prodn (mt) ="
"a_shift_prdn",
"b_shift_prdn",
"c_shift_prdn",
"od_prodn"
],
},
"BLANK": {
......@@ -359,40 +342,15 @@ class SterliteRefineryTemplate:
None
]
},
"DEPOSIT LOSS (-) / GAIN (+) DETAILS": {
"columns": [
"CATEGORY",
"ON DATE",
"MTD",
"YTD"
],
"query": {
"DepositLossGainDetails": [
SterliteRefineryQuery.DepositLossGainDetails.QUERY_1,
SterliteRefineryQuery.DepositLossGainDetails.QUERY_2,
SterliteRefineryQuery.DepositLossGainDetails.QUERY_3,
]
},
"data": [],
"data_column": [
"category",
"on_date",
"mtd",
"ytd"
],
"addition": {
"merge_header": "DEPOSIT LOSS (-) / GAIN (+) DETAILS",
"primary": "category"
}
}
},
{
"CONSUMPTION ITEMS": {
"columns": [
"CONSUMPTION ITEMS",
"UNIT",
"ON DATE",
"MTD",
"UNIT"
],
"query": {
"BariumSulphate": [
......@@ -411,16 +369,16 @@ class SterliteRefineryTemplate:
"data": [],
"data_column": [
"consumption_items",
"unit",
"on_date",
"mtd",
"unit"
],
}
},
{
"ACTIVITY\TIME": {
"ACTIVITY-TIME": {
"columns": [
"ACTIVITY\tIME",
"ACTIVITY-TIME",
"SHIFT",
"START TIME",
"END TIME",
......@@ -428,17 +386,15 @@ class SterliteRefineryTemplate:
"REASON FOR STOPAGE"
],
"query": {
"CASTING": [],
"MELTING": []
},
"data": [],
"data_column": [
"activity\time",
"activity_time",
"shift",
"start time",
"end time",
"total time (minutes)",
"reason for stopage"
"start_time",
"end_time",
"total_time",
"reason_for_stopage"
],
}
},
......@@ -507,7 +463,7 @@ class SterliteRefineryTemplate:
]
},
"SET ANODE WEIGHT -270": {
"columns": ["SET ANODE WEIGHT -270", "WEIGH BRIDGE"],
"columns": ["SET ANODE WEIGHT -270", "WEIGH BRIDGE", "metric", "kpi", "shift"],
"query": {
"SetAnideWeight": [
SterliteCCPCQuery.SetAnodeWeight.QUERY_1
......@@ -515,10 +471,6 @@ class SterliteRefineryTemplate:
},
"data": [],
"data_column": ["kpi", "shift", "set_anode_weight", "weight_bridge", "metric"],
"addition": {
"merge_header": "SPECIFIC CONSUMPTION",
"primary": "consumables"
}
},
},
{
......@@ -561,7 +513,7 @@ class SterliteRefineryTemplate:
]
},
"SET ANODE WEIGHT -270": {
"columns": ["SET ANODE WEIGHT -270", "WEIGH BRIDGE"],
"columns": ["SET ANODE WEIGHT -270", "WEIGH BRIDGE", "metric", "kpi", "shift"],
"query": {
"SetAnideWeight": [
SterliteCCPCQuery.SetAnodeWeight.QUERY_1
......@@ -569,10 +521,6 @@ class SterliteRefineryTemplate:
},
"data": [],
"data_column": ["kpi", "shift", "set_anode_weight", "weight_bridge", "metric"],
"addition": {
"merge_header": "SPECIFIC CONSUMPTION",
"primary": "consumables"
}
},
},
{
......@@ -615,7 +563,7 @@ class SterliteRefineryTemplate:
]
},
"SET ANODE WEIGHT -270": {
"columns": ["SET ANODE WEIGHT -270", "WEIGH BRIDGE"],
"columns": ["SET ANODE WEIGHT -270", "WEIGH BRIDGE", "metric", "kpi", "shift"],
"query": {
"SetAnideWeight": [
SterliteCCPCQuery.SetAnodeWeight.QUERY_1
......@@ -623,10 +571,7 @@ class SterliteRefineryTemplate:
},
"data": [],
"data_column": ["kpi", "shift", "set_anode_weight", "weight_bridge", "metric"],
"addition": {
"merge_header": "SPECIFIC CONSUMPTION",
"primary": "consumables"
}
},
},
{
......@@ -648,3 +593,25 @@ class SterliteRefineryTemplate:
}
},
]
WORKSHEET_HEADER_FORMAT = {
"bold": True,
"align": "center",
"valign": "center",
"fg_color": "#e6e7eb",
"font_color": "#1b314f",
"border": 1,
'font_size': '20',
}
COLUMN_HEADER_FORMAT = {
"bold": True,
"align": "center",
"valign": "center",
"fg_color": "#e6e7eb",
"font_color": "#021b5e",
"border": 1,
}
BLANK_COLUMN_HEADER_FORMAT = {
"bold": True,
"align": "center",
"valign": "center",
}
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