Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
sterlite_custom_reports
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
CI / CD Analytics
Repository Analytics
Value Stream Analytics
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
suryakant
sterlite_custom_reports
Commits
01bb1207
Commit
01bb1207
authored
Oct 13, 2023
by
suryakant
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Query Update
parent
60eb2c4e
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
165 additions
and
180 deletions
+165
-180
scripts/constants/__init__.py
scripts/constants/__init__.py
+1
-1
scripts/core/db/postgres/custom_report_query.py
scripts/core/db/postgres/custom_report_query.py
+155
-176
scripts/core/handler/event_handler.py
scripts/core/handler/event_handler.py
+4
-3
scripts/template/sterlite_report_template.py
scripts/template/sterlite_report_template.py
+5
-0
No files found.
scripts/constants/__init__.py
View file @
01bb1207
...
...
@@ -53,7 +53,7 @@ class CommonConstants:
FREQUENCY
=
'D'
START_COLUMN
=
0
START_ROW
=
2
OVERALL_COLUMN_WIDTH
=
2
5
OVERALL_COLUMN_WIDTH
=
2
7
class
ReportType
:
...
...
scripts/core/db/postgres/custom_report_query.py
View file @
01bb1207
...
...
@@ -693,8 +693,8 @@ class SterliteRefineryQuery:
QUERY_1
=
"""
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,
...
...
@@ -726,7 +726,7 @@ class SterliteRefineryQuery:
QUERY_2
=
"""
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,
...
...
@@ -759,7 +759,7 @@ class SterliteRefineryQuery:
QUERY_3
=
"""
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,
...
...
@@ -796,11 +796,10 @@ class SterliteRefineryQuery:
SELECT
'Cir-1 40 KA Rectifier Avg. Current' AS power_availability,
'KAmp' 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
ROUND(AVG(PLAN_METRIC_VALUE)::NUMERIC, 2) AS norms,
ROUND((SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(CASE WHEN
ACTUAL_METRIC_VALUE <> 0 THEN 1 ELSE NULL END), 0), 1))::NUMERIC, 2)
AS on_date
FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW
WHERE LOWER(TRIM(KPI)) = '40ka_rectifier_current'
...
...
@@ -811,10 +810,9 @@ class SterliteRefineryQuery:
SELECT
'Cir-1 40 KA Rectifier Avg. Current' AS power_availability,
'KAmp' AS uom,
SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(
CASE
WHEN ACTUAL_METRIC_VALUE <> 0 THEN 1
ELSE NULL END), 0), 1) AS mtd
ROUND((SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(CASE WHEN
ACTUAL_METRIC_VALUE <> 0 THEN 1 ELSE NULL END), 0), 1))::NUMERIC, 2)
AS mtd
FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW
WHERE LOWER(TRIM(KPI)) = '40ka_rectifier_current'
...
...
@@ -825,10 +823,9 @@ class SterliteRefineryQuery:
SELECT
'Cir-1 40 KA Rectifier Avg. Current' AS power_availability,
'KAmp' AS uom,
SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(
CASE
WHEN ACTUAL_METRIC_VALUE <> 0 THEN 1
ELSE NULL END), 0), 1) AS ytd
ROUND((SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(CASE WHEN
ACTUAL_METRIC_VALUE <> 0 THEN 1 ELSE NULL END), 0), 1))::NUMERIC, 2)
AS ytd
FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW
WHERE LOWER(TRIM(KPI)) = '40ka_rectifier_current'
...
...
@@ -842,11 +839,9 @@ class SterliteRefineryQuery:
SELECT
'Cir-2 35 KA Rectifier Avg. Current' AS power_availability,
'KAmp' 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)
ROUND(AVG(PLAN_METRIC_VALUE)::NUMERIC, 2) AS norms,
ROUND((SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(CASE WHEN
ACTUAL_METRIC_VALUE <> 0 THEN 1 ELSE NULL END), 0), 1))::NUMERIC, 2)
AS on_date
FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW
...
...
@@ -858,10 +853,8 @@ class SterliteRefineryQuery:
SELECT
'Cir-2 35 KA Rectifier Avg. Current' AS power_availability,
'KAmp' AS uom,
SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(
CASE
WHEN ACTUAL_METRIC_VALUE <> 0
THEN 1 ELSE NULL END), 0), 1)
ROUND((SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(CASE WHEN
ACTUAL_METRIC_VALUE <> 0 THEN 1 ELSE NULL END), 0), 1))::NUMERIC, 2)
AS mtd
FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW
...
...
@@ -873,10 +866,8 @@ class SterliteRefineryQuery:
SELECT
'Cir-2 35 KA Rectifier Avg. Current' AS power_availability,
'KAmp' AS uom,
SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(
CASE
WHEN ACTUAL_METRIC_VALUE <> 0
THEN 1 ELSE NULL END), 0), 1)
ROUND((SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(CASE WHEN
ACTUAL_METRIC_VALUE <> 0 THEN 1 ELSE NULL END), 0), 1))::NUMERIC, 2)
AS ytd
FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW
...
...
@@ -891,10 +882,10 @@ class SterliteRefineryQuery:
SELECT
'Total Avg. Current' AS power_availability,
'KAmp' 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
ROUND(AVG(PLAN_METRIC_VALUE)::NUMERIC, 2
) AS norms,
ROUND((SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(CASE WHEN
ACTUAL_METRIC_VALUE <> 0 THEN 1 ELSE NULL END), 0), 1))::NUMERIC, 2)
AS on_date
FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW
WHERE LOWER(TRIM(KPI)) in
...
...
@@ -907,9 +898,9 @@ class SterliteRefineryQuery:
SELECT
'Total Avg. Current' AS power_availability,
'KAmp' AS uom,
SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(
CASE WHEN ACTUAL_METRIC_VALUE <> 0 THEN 1
ELSE NULL END), 0), 1)
AS mtd
ROUND((SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(CASE WHEN
ACTUAL_METRIC_VALUE <> 0 THEN 1 ELSE NULL END), 0), 1))::NUMERIC, 2)
AS mtd
FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW
WHERE LOWER(TRIM(KPI)) in
...
...
@@ -922,9 +913,9 @@ class SterliteRefineryQuery:
SELECT
'Total Avg. Current' AS power_availability,
'KAmp' AS uom,
SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(
CASE WHEN ACTUAL_METRIC_VALUE <> 0 THEN 1
ELSE NULL END), 0), 1)
AS ytd
ROUND((SUM(ACTUAL_METRIC_VALUE) / COALESCE(NULLIF(COUNT(CASE WHEN
ACTUAL_METRIC_VALUE <> 0 THEN 1 ELSE NULL END), 0), 1))::NUMERIC, 2)
AS ytd
FROM SEMANTIC_PROD.RECTIFIER_KPI_VIEW
WHERE LOWER(TRIM(KPI)) in
...
...
@@ -940,8 +931,8 @@ class SterliteRefineryQuery:
SELECT
'Current Density' AS power_availability,
'Amp / m2' AS uom,
AVG(NUMO_PLAN
) AS norms,
AVG(NUMO_ACTUAL
) AS on_date
ROUND(AVG(NUMO_PLAN)::NUMERIC, 2
) AS norms,
ROUND(AVG(NUMO_ACTUAL)::NUMERIC, 2
) AS on_date
FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW CCTDV2
WHERE
...
...
@@ -952,7 +943,7 @@ class SterliteRefineryQuery:
SELECT
'Current Density' AS power_availability,
'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
WHERE
...
...
@@ -963,7 +954,7 @@ class SterliteRefineryQuery:
SELECT
'Current Density' AS power_availability,
'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
WHERE
...
...
@@ -975,16 +966,9 @@ class SterliteRefineryQuery:
""" RM ANODE RECEIPT DETAILS """
QUERY_1
=
"""
SELECT
KPI as rm_anode_receipt_details,
ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS on_date
first_tbl.rm_anode_receipt_details,
first_tbl.on_date,
second_tbl.mtd,
third_tbl.ytd
FROM
(
SELECT kpi as rm_anode_receipt_details, SUM(METRIC_VALUE) AS on_date
FROM
(SELECT 'ACP Anode Receipt (MT)' AS KPI,
SUM(QUANTITY::double precision) AS METRIC_VALUE,
...
...
@@ -1015,13 +999,12 @@ class SterliteRefineryQuery:
GROUP BY 1,3)TB
WHERE DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
GROUP BY 1
) as first_tbl
JOIN
"""
QUERY_2
=
"""
SELECT
KPI as rm_anode_receipt_details,
ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS mtd
(
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,
...
...
@@ -1052,15 +1035,12 @@ class SterliteRefineryQuery:
GROUP BY 1,3)TB
WHERE DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
GROUP BY 1
) as second_tbl
ON first_tbl.rm_anode_receipt_details=second_tbl.rm_anode_receipt_details
JOIN
"""
QUERY_3
=
"""
SELECT
KPI as rm_anode_receipt_details,
ROUND(SUM(METRIC_VALUE)::NUMERIC, 2) AS ytd
(
SELECT kpi as rm_anode_receipt_details,
SUM(METRIC_VALUE) AS ytd
FROM
(SELECT 'ACP Anode Receipt (MT)' AS KPI,
SUM(QUANTITY::double precision) AS METRIC_VALUE,
...
...
@@ -1091,10 +1071,6 @@ class SterliteRefineryQuery:
GROUP BY 1,3)TB
WHERE DATE BETWEEN '{year_start_date}' AND '{year_end_date}'
GROUP BY 1
) as third_tbl
ON second_tbl.rm_anode_receipt_details=third_tbl.rm_anode_receipt_details
"""
class
BankCropStripping
:
...
...
@@ -1233,8 +1209,9 @@ class SterliteRefineryQuery:
'Current Efficiency' AS efficiencies,
'
%
' AS uom,
AVG(NUMO_PLAN) AS norms,
(SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL), 0)) * 100 AS
on_date
ROUND(((SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL), 0)) *
100)::NUMERIC, 2)
AS on_date
FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW
...
...
@@ -1246,8 +1223,8 @@ class SterliteRefineryQuery:
SELECT
'Current Efficiency' AS efficiencies,
'
%
' AS uom,
(SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL), 0)) * 100 AS
mtd
ROUND(((SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL), 0)) *
100)::NUMERIC, 2) AS
mtd
FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW
...
...
@@ -1259,8 +1236,8 @@ class SterliteRefineryQuery:
SELECT
'Current Efficiency' AS efficiencies,
'
%
' AS uom,
(SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL), 0)) * 100 AS
ytd
ROUND(((SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL), 0)) *
100)::NUMERIC, 2) AS
ytd
FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW
...
...
@@ -1275,8 +1252,8 @@ class SterliteRefineryQuery:
SELECT 'Time Efficiency' AS efficiencies,
'
%
' AS uom,
AVG(NUMO_PLAN) AS norms,
(SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL),0)) * 100
AS on_date
ROUND(((SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL), 0)) *
100)::NUMERIC, 2)
AS on_date
FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW
WHERE LOWER(TRIM(CATEGORY)) = 'te'
...
...
@@ -1286,8 +1263,8 @@ class SterliteRefineryQuery:
QUERY_2
=
"""
SELECT 'Time Efficiency' AS efficiencies,
'
%
' AS uom,
(SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL),0)) * 100
AS mtd
ROUND(((SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL), 0)) *
100)::NUMERIC, 2) AS mtd
FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW
WHERE LOWER(TRIM(CATEGORY)) = 'te'
...
...
@@ -1295,9 +1272,11 @@ class SterliteRefineryQuery:
GROUP BY 1,2
"""
QUERY_3
=
"""
SELECT 'Time Efficiency' AS efficiencies,
SELECT
'Time Efficiency' AS efficiencies,
'
%
' AS uom,
(SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL),0)) * 100
ROUND(((SUM(NUMO_ACTUAL) / NULLIF(SUM(DENO_ACTUAL), 0)) *
100)::NUMERIC, 2)
AS ytd
FROM SEMANTIC_PROD.CE_CD_TE_DETAILED_VIEW
...
...
scripts/core/handler/event_handler.py
View file @
01bb1207
...
...
@@ -174,7 +174,6 @@ class CustomReportHandler:
logger
.
info
(
"Iterating through each block to create a dataframe"
)
# Iterate through the categories and concatenate their data
# print(input_json)
for
category
,
category_data
in
input_json
.
items
():
data
=
category_data
.
get
(
'data'
,
[])
...
...
@@ -235,8 +234,10 @@ class CustomReportHandler:
start_row
=
CommonConstants
.
START_ROW
total_column
=
0
workbook
=
writer
.
book
sheet_name
=
each_date_range
[
CommonConstants
.
DAY_START_DATE
]
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
...
...
scripts/template/sterlite_report_template.py
View file @
01bb1207
...
...
@@ -177,11 +177,16 @@ class SterliteRefineryTemplate:
"query"
:
{
"AcpCcpcCcp"
:
[
SterliteRefineryQuery
.
AcpCcpcCcp
.
QUERY_1
,
SterliteRefineryQuery
.
AcpCcpcCcp
.
QUERY_2
,
SterliteRefineryQuery
.
AcpCcpcCcp
.
QUERY_3
,
]
},
"data"
:
[],
"data_column"
:
[
"rm_anode_receipt_details"
,
"on_date"
,
"mtd"
,
"ytd"
],
"addition"
:
{
"primary"
:
"rm_anode_receipt_details"
}
},
},
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment