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
8f45fe90
Commit
8f45fe90
authored
Oct 12, 2023
by
suryakant
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Sterlite Custom Report Updates
parent
f8638315
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
223 additions
and
20 deletions
+223
-20
scripts/core/db/postgres/custom_report_query.py
scripts/core/db/postgres/custom_report_query.py
+201
-19
scripts/template/sterlite_report_template.py
scripts/template/sterlite_report_template.py
+22
-1
No files found.
scripts/core/db/postgres/custom_report_query.py
View file @
8f45fe90
...
...
@@ -9,8 +9,9 @@ class SterliteRefineryQuery:
SELECT
'Cell House Anode Availability' AS ANODE_AVAILABILITY,
'
%
' AS UOM,
AVG(ANODE.AA_PLANNED) AS NORMS,
(SUM(ANODE.NUMERATOR) / NULLIF(SUM(DENOMINATOR), 0)) * 100 AS ON_DATE
ROUND(AVG(ANODE.AA_PLANNED)::NUMERIC, 2) AS NORMS,
ROUND(((SUM(ANODE.NUMERATOR) / NULLIF(SUM(DENOMINATOR), 0)) * 100)::NUMERIC, 2)
AS ON_DATE
FROM
(SELECT ACTUAL.AA_NUMO AS NUMERATOR,
...
...
@@ -52,7 +53,8 @@ class SterliteRefineryQuery:
SELECT
'Cell House Anode Availability' AS ANODE_AVAILABILITY,
'
%
' 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
(SELECT ACTUAL.AA_NUMO AS NUMERATOR,
...
...
@@ -94,7 +96,8 @@ class SterliteRefineryQuery:
SELECT
'Cell House Anode Availability' AS ANODE_AVAILABILITY,
'
%
' 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
(SELECT ACTUAL.AA_NUMO AS NUMERATOR,
...
...
@@ -165,8 +168,8 @@ class SterliteRefineryQuery:
SELECT
'Total Cells In Operation' AS ANODE_AVAILABILITY,
'No.' AS UOM,
MAX(NORMS
) AS NORMS,
MAX(METRIC_VALUE
) AS ON_DATE
ROUND(MAX(NORMS)::NUMERIC, 2
) AS NORMS,
ROUND(MAX(METRIC_VALUE)::NUMERIC, 2
) AS ON_DATE
FROM
(SELECT KPI,
...
...
@@ -191,7 +194,7 @@ class SterliteRefineryQuery:
SELECT
'Total Cells In Operation' AS ANODE_AVAILABILITY,
'No.' AS UOM,
MAX(METRIC_VALUE
) AS MTD
ROUND(MAX(METRIC_VALUE)::NUMERIC, 2
) AS MTD
FROM
(SELECT KPI,
...
...
@@ -213,7 +216,7 @@ class SterliteRefineryQuery:
SELECT
'Total Cells In Operation' AS ANODE_AVAILABILITY,
'No.' AS UOM,
MAX(METRIC_VALUE
) AS YTD
ROUND(MAX(METRIC_VALUE)::NUMERIC, 2
) AS YTD
FROM
(SELECT KPI,
...
...
@@ -247,7 +250,7 @@ class SterliteRefineryQuery:
'No.' AS UOM,
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
WHERE LOWER(TRIM(KPI)) in ('near miss')
AND DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
...
...
@@ -263,7 +266,7 @@ class SterliteRefineryQuery:
'No.' AS UOM,
0 AS NORMS,
ROUND(SUM(METRIC_VALUE), 2) AS MTD
ROUND(SUM(METRIC_VALUE)
::NUMERIC
, 2) AS MTD
FROM SEMANTIC_PROD.REFINERY_HSE_VIEW
WHERE LOWER(TRIM(KPI)) in ('near miss')
AND DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
...
...
@@ -279,7 +282,7 @@ class SterliteRefineryQuery:
'No.' AS UOM,
0 AS NORMS,
ROUND(SUM(METRIC_VALUE), 2) AS YTD
ROUND(SUM(METRIC_VALUE)
::NUMERIC
, 2) AS YTD
FROM SEMANTIC_PROD.REFINERY_HSE_VIEW
WHERE LOWER(TRIM(KPI)) in ('near miss')
AND DATE BETWEEN '{year_start_date}' AND '{year_end_date}'
...
...
@@ -298,7 +301,7 @@ class SterliteRefineryQuery:
'No.' AS UOM,
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
WHERE LOWER(TRIM(KPI)) in ('first aid')
AND DATE BETWEEN '{day_start_date}' AND '{day_end_date}'
...
...
@@ -314,7 +317,7 @@ class SterliteRefineryQuery:
'No.' AS UOM,
0 AS NORMS,
ROUND(SUM(METRIC_VALUE), 2) AS MTD
ROUND(SUM(METRIC_VALUE)
::NUMERIC
, 2) AS MTD
FROM SEMANTIC_PROD.REFINERY_HSE_VIEW
WHERE LOWER(TRIM(KPI)) in ('first aid')
AND DATE BETWEEN '{month_start_date}' AND '{month_end_date}'
...
...
@@ -330,7 +333,7 @@ class SterliteRefineryQuery:
'No.' AS UOM,
0 AS NORMS,
ROUND(SUM(METRIC_VALUE), 2) AS YTD
ROUND(SUM(METRIC_VALUE)
::NUMERIC
, 2) AS YTD
FROM SEMANTIC_PROD.REFINERY_HSE_VIEW
WHERE LOWER(TRIM(KPI)) in ('first aid')
AND DATE BETWEEN '{year_start_date}' AND '{year_end_date}'
...
...
@@ -436,7 +439,6 @@ class SterliteRefineryQuery:
SELECT
'Grid Power Availability' AS power_availability,
'
%
' AS uom,
ROUND(AVG(GRID_PLAN) :: NUMERIC, 2) AS norms,
ROUND(AVG(GRID_ACTUAL) :: NUMERIC, 2) AS ytd
FROM
...
...
@@ -486,8 +488,8 @@ class SterliteRefineryQuery:
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,
...
...
@@ -520,7 +522,7 @@ class SterliteRefineryQuery:
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,
...
...
@@ -553,7 +555,7 @@ class SterliteRefineryQuery:
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,
...
...
@@ -1866,6 +1868,51 @@ class SterliteRefineryQuery:
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
:
""" FG INVENTORY """
QUERY_1
=
"""
...
...
@@ -1908,6 +1955,51 @@ class SterliteRefineryQuery:
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
:
""" FG INVENTORY """
QUERY_1
=
"""
...
...
@@ -1950,6 +2042,51 @@ class SterliteRefineryQuery:
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
:
""" FG INVENTORY """
QUERY_1
=
"""
...
...
@@ -1992,6 +2129,51 @@ class SterliteRefineryQuery:
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
:
""" ELECTROLYTE COMPOSITION """
QUERY_1
=
"""
...
...
scripts/template/sterlite_report_template.py
View file @
8f45fe90
...
...
@@ -274,7 +274,28 @@ class SterliteRefineryTemplate:
},
"PRODUCTION"
:
{
"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_column"
:
[
"production"
,
"on_date"
,
"mtd"
,
"ytd"
],
},
...
...
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