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
5cb65a4e
Commit
5cb65a4e
authored
Oct 13, 2023
by
suryakant
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Query/Code Update
parent
ec94d16c
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
1003 additions
and
3590 deletions
+1003
-3590
scripts/core/db/postgres/custom_report_query.py
scripts/core/db/postgres/custom_report_query.py
+888
-3476
scripts/core/handler/event_handler.py
scripts/core/handler/event_handler.py
+35
-5
scripts/template/sterlite_report_template.py
scripts/template/sterlite_report_template.py
+80
-109
No files found.
scripts/core/db/postgres/custom_report_query.py
View file @
5cb65a4e
This source diff could not be displayed because it is too large. You can
view the blob
instead.
scripts/core/handler/event_handler.py
View file @
5cb65a4e
...
...
@@ -74,6 +74,7 @@ class CustomReportHandler:
temp_data_dict
=
dict
()
append_flag
=
False
data_list
=
[]
# Iterating each query for each KPI
if
input_json
[
each_blocks
][
CommonConstants
.
QUERY
][
each_kpi
]:
...
...
@@ -95,7 +96,8 @@ class CustomReportHandler:
CommonConstants
.
YEAR_END_DATE
])
response
=
self
.
postgres_db_obj
.
fetch_data
(
query
=
query
)
if
response
:
if
response
and
"addition"
not
in
input_json
[
each_blocks
]:
if
len
(
response
)
<=
1
:
temp_data_dict
.
update
(
dict
(
response
[
0
]))
append_flag
=
True
...
...
@@ -104,6 +106,12 @@ class CustomReportHandler:
input_json
[
each_blocks
][
CommonConstants
.
DATA
]
.
\
append
(
dict
(
every_data
))
elif
response
and
"addition"
in
input_json
[
each_blocks
]
and
\
"primary"
in
input_json
[
each_blocks
][
"addition"
]:
for
each_data
in
response
:
data_list
.
append
(
dict
(
each_data
))
append_flag
=
True
if
not
temp_data_dict
and
not
append_flag
:
# Creating null values if no data
for
each_columns
in
input_json
[
each_blocks
][
...
...
@@ -111,9 +119,29 @@ class CustomReportHandler:
temp_data_dict
.
update
({
each_columns
:
None
})
append_flag
=
True
if
append_flag
:
if
append_flag
and
temp_data_dict
:
input_json
[
each_blocks
][
CommonConstants
.
DATA
]
.
append
(
temp_data_dict
)
if
data_list
:
temp_json
=
{}
for
item
in
data_list
:
category
=
item
[
input_json
[
each_blocks
][
"addition"
][
"primary"
]]
if
category
not
in
temp_json
:
temp_json
[
category
]
=
{
input_json
[
each_blocks
][
"addition"
][
"primary"
]:
category
}
for
key
in
item
:
if
key
!=
input_json
[
each_blocks
][
"addition"
][
"primary"
]:
temp_json
[
category
][
key
]
=
item
[
key
]
for
category
,
values
in
temp_json
.
items
():
if
values
not
in
input_json
[
each_blocks
][
CommonConstants
.
DATA
]:
input_json
[
each_blocks
][
CommonConstants
.
DATA
]
.
append
(
values
)
else
:
temp_data_dict
=
dict
()
for
each_columns
in
input_json
[
each_blocks
][
...
...
@@ -146,7 +174,7 @@ class CustomReportHandler:
logger
.
info
(
"Iterating through each block to create a dataframe"
)
# Iterate through the categories and concatenate their data
print
(
input_json
)
#
print(input_json)
for
category
,
category_data
in
input_json
.
items
():
data
=
category_data
.
get
(
'data'
,
[])
...
...
@@ -172,7 +200,7 @@ class CustomReportHandler:
start_row
,
col_index
,
value
,
workbook
.
add_format
(
SterliteRefineryTemplate
.
COLUMN_HEADER_FORMAT
)
)
)
logger
.
info
(
f
"Shape of current data frame is {result_df.shape}"
)
return
result_df
.
shape
,
worksheet
...
...
@@ -255,7 +283,9 @@ class CustomReportHandler:
# Setting width to the column
worksheet
.
set_column
(
0
,
total_column
,
CommonConstants
.
OVERALL_COLUMN_WIDTH
)
worksheet
.
set_text_wrap
()
# Center alignment of Excel data
workbook
.
formats
[
0
]
.
set_align
(
'center'
)
logger
.
info
(
f
"Report completed for: {each_date_range}"
)
except
GeneralException
as
err
:
...
...
scripts/template/sterlite_report_template.py
View file @
5cb65a4e
...
...
@@ -172,9 +172,7 @@ class SterliteRefineryTemplate:
"RM ANODE RECEIPT DETAILS"
,
"ON DATE"
,
"MTD"
,
"YTD"
,
"Material"
,
"OPENING STOCK"
,
"YTD"
],
"query"
:
{
"AcpCcpcCcp"
:
[
...
...
@@ -183,7 +181,7 @@ class SterliteRefineryTemplate:
},
"data"
:
[],
"data_column"
:
[
"rm_anode_receipt_details"
,
"on_date"
,
"mtd"
,
"ytd"
,
"material"
,
"opening_stock"
],
"mtd"
,
"ytd"
],
},
},
{
...
...
@@ -354,15 +352,27 @@ class SterliteRefineryTemplate:
"columns"
:
[
"CATEGORY"
,
"ON DATE"
,
"TILL DATE"
"MTD"
,
"YTD"
],
"query"
:
{},
"query"
:
{
"DepositLossGainDetails"
:
[
SterliteRefineryQuery
.
DepositLossGainDetails
.
QUERY_1
,
SterliteRefineryQuery
.
DepositLossGainDetails
.
QUERY_2
,
SterliteRefineryQuery
.
DepositLossGainDetails
.
QUERY_3
,
]
},
"data"
:
[],
"data_column"
:
[
"category"
,
"on_date"
,
"till_date"
"mtd"
,
"ytd"
],
"addition"
:
{
"merge_header"
:
"DEPOSIT LOSS (-) / GAIN (+) DETAILS"
,
"primary"
:
"category"
}
}
},
{
...
...
@@ -464,60 +474,10 @@ class SterliteRefineryTemplate:
"YTD"
,
],
"query"
:
{
"SteamConsumptionForMachines"
:
[
SterliteRefineryQuery
.
SteamConsumptionForMachines
.
QUERY_1
,
SterliteRefineryQuery
.
SteamConsumptionForMachines
.
QUERY_2
,
SterliteRefineryQuery
.
SteamConsumptionForMachines
.
QUERY_3
,
],
"SteamConsumptionForCellHouse"
:
[
SterliteRefineryQuery
.
SteamConsumptionForCellHouse
.
QUERY_1
,
SterliteRefineryQuery
.
SteamConsumptionForCellHouse
.
QUERY_2
,
SterliteRefineryQuery
.
SteamConsumptionForCellHouse
.
QUERY_3
,
],
"SteamConsumptionTotal"
:
[
SterliteRefineryQuery
.
SteamConsumptionTotal
.
QUERY_1
,
SterliteRefineryQuery
.
SteamConsumptionTotal
.
QUERY_2
,
SterliteRefineryQuery
.
SteamConsumptionTotal
.
QUERY_3
,
],
"SteamCSPlant"
:
[
SterliteRefineryQuery
.
SteamCSPlant
.
QUERY_1
,
SterliteRefineryQuery
.
SteamCSPlant
.
QUERY_2
,
SterliteRefineryQuery
.
SteamCSPlant
.
QUERY_3
,
],
"SteamNSPlant"
:
[
SterliteRefineryQuery
.
SteamNSPlant
.
QUERY_1
,
SterliteRefineryQuery
.
SteamNSPlant
.
QUERY_2
,
SterliteRefineryQuery
.
SteamNSPlant
.
QUERY_3
,
],
"SteamMEEPlant"
:
[
SterliteRefineryQuery
.
SteamMEEPlant
.
QUERY_1
,
SterliteRefineryQuery
.
SteamMEEPlant
.
QUERY_2
,
SterliteRefineryQuery
.
SteamMEEPlant
.
QUERY_3
,
],
"AncillaryPowerConsumption"
:
[
SterliteRefineryQuery
.
AncillaryPowerConsumption
.
QUERY_1
,
SterliteRefineryQuery
.
AncillaryPowerConsumption
.
QUERY_2
,
SterliteRefineryQuery
.
AncillaryPowerConsumption
.
QUERY_3
,
],
"PurificationPowerConsumption"
:
[
SterliteRefineryQuery
.
PurificationPowerConsumption
.
QUERY_1
,
SterliteRefineryQuery
.
PurificationPowerConsumption
.
QUERY_2
,
SterliteRefineryQuery
.
PurificationPowerConsumption
.
QUERY_3
,
],
"RectifierPowerConsumption"
:
[
SterliteRefineryQuery
.
RectifierPowerConsumption
.
QUERY_1
,
SterliteRefineryQuery
.
RectifierPowerConsumption
.
QUERY_2
,
SterliteRefineryQuery
.
RectifierPowerConsumption
.
QUERY_3
,
],
"PowerConsumptionMEE"
:
[
SterliteRefineryQuery
.
PowerConsumptionMEE
.
QUERY_1
,
SterliteRefineryQuery
.
PowerConsumptionMEE
.
QUERY_2
,
SterliteRefineryQuery
.
PowerConsumptionMEE
.
QUERY_3
,
],
"PowerConsumptionCSNS"
:
[
SterliteRefineryQuery
.
PowerConsumptionCSNS
.
QUERY_1
,
SterliteRefineryQuery
.
PowerConsumptionCSNS
.
QUERY_2
,
SterliteRefineryQuery
.
PowerConsumptionCSNS
.
QUERY_3
,
"SpecificEnergyConsumption"
:
[
SterliteRefineryQuery
.
SpecificEnergyConsumption
.
QUERY_1
,
SterliteRefineryQuery
.
SpecificEnergyConsumption
.
QUERY_2
,
SterliteRefineryQuery
.
SpecificEnergyConsumption
.
QUERY_3
,
]
},
"data"
:
[],
...
...
@@ -529,49 +489,28 @@ class SterliteRefineryTemplate:
"mtd"
,
"ytd"
,
],
"addition"
:
{
"merge_header"
:
"SPECIFIC ENERGY CONSUMPTION"
,
"primary"
:
"utilities_consumptions"
}
},
"SPECIFIC CONSUMPTION"
:
{
"columns"
:
[
"CONSUMABLES"
,
"UOM"
,
"NORMS"
,
"ON DATE"
,
"MTD"
,
"YTD"
],
"query"
:
{
"EdgeStripConsumption"
:
[
SterliteRefineryQuery
.
EdgeStripConsumption
.
QUERY_1
,
SterliteRefineryQuery
.
EdgeStripConsumption
.
QUERY_2
,
SterliteRefineryQuery
.
EdgeStripConsumption
.
QUERY_3
,
],
"PlateRepairing"
:
[
SterliteRefineryQuery
.
PlateRepairing
.
QUERY_1
,
SterliteRefineryQuery
.
PlateRepairing
.
QUERY_2
,
SterliteRefineryQuery
.
PlateRepairing
.
QUERY_3
,
],
"WaxConsumption"
:
[
SterliteRefineryQuery
.
WaxConsumption
.
QUERY_1
,
SterliteRefineryQuery
.
WaxConsumption
.
QUERY_2
,
SterliteRefineryQuery
.
WaxConsumption
.
QUERY_3
,
],
"GlueConsumption"
:
[
SterliteRefineryQuery
.
GlueConsumption
.
QUERY_1
,
SterliteRefineryQuery
.
GlueConsumption
.
QUERY_2
,
SterliteRefineryQuery
.
GlueConsumption
.
QUERY_3
,
],
"ThioureaConsumption"
:
[
SterliteRefineryQuery
.
ThioureaConsumption
.
QUERY_1
,
SterliteRefineryQuery
.
ThioureaConsumption
.
QUERY_2
,
SterliteRefineryQuery
.
ThioureaConsumption
.
QUERY_3
,
],
"HClAddition"
:
[
SterliteRefineryQuery
.
HClAddition
.
QUERY_1
,
SterliteRefineryQuery
.
HClAddition
.
QUERY_2
,
SterliteRefineryQuery
.
HClAddition
.
QUERY_3
,
],
"H2SO4Addition"
:
[
SterliteRefineryQuery
.
H2SO4Addition
.
QUERY_1
,
SterliteRefineryQuery
.
H2SO4Addition
.
QUERY_2
,
SterliteRefineryQuery
.
H2SO4Addition
.
QUERY_3
,
"SpecificConsumption"
:
[
SterliteRefineryQuery
.
SpecificConsumption
.
QUERY_1
,
SterliteRefineryQuery
.
SpecificConsumption
.
QUERY_2
,
SterliteRefineryQuery
.
SpecificConsumption
.
QUERY_3
,
]
},
"data"
:
[],
"data_column"
:
[
"consumables"
,
"uom"
,
"norms"
,
"on_date"
,
"mtd"
,
"ytd"
],
"data_column"
:
[
"consumables"
,
"uom"
,
"norms"
,
"on_date"
,
"mtd"
,
"ytd"
],
"addition"
:
{
"merge_header"
:
"SPECIFIC CONSUMPTION"
,
"primary"
:
"consumables"
}
},
},
{
...
...
@@ -627,19 +566,40 @@ class SterliteRefineryTemplate:
},
},
{
"BLEEDING SECTION"
:
{
"columns"
:
[
"BLEEDING SECTION"
,
"UOM"
,
"ON DATE"
,
"MTD"
,
"YTD"
],
"query"
:
[],
"data"
:
[],
"data_column"
:
[
"bleeding_section"
,
"uom"
,
"on_date"
,
"mtd"
,
"ytd"
],
},
"BANK / CROP"
:
{
"columns"
:
[
"BANK / CROP"
,
"TIME"
,
"WEIGHT (MT)"
,
"CELLS"
,
"READING"
],
"query"
:
[]
,
"query"
:
{}
,
"data"
:
[],
"data_column"
:
[
"bank_crop"
,
"time"
,
"weight"
,
"cells"
,
"reading"
],
},
},
{
"BLEEDING SECTION"
:
{
"columns"
:
[
"BLEEDING SECTION"
,
"UOM"
,
"ON DATE (TARGET)"
,
"ON DATE (ACTUAL)"
,
"MTD (TARGET)"
,
"MTD (ACTUAL)"
,
"YTD (TARGET)"
,
"YTD (ACTUAL)"
],
"query"
:
{
"BleedingSection"
:
[
SterliteRefineryQuery
.
BleedingSection
.
QUERY_1
,
SterliteRefineryQuery
.
BleedingSection
.
QUERY_2
,
SterliteRefineryQuery
.
BleedingSection
.
QUERY_3
,
]
},
"data"
:
[],
"data_column"
:
[
"bleeding_section"
,
"uom"
,
"on_date_target"
,
"on_date_actual"
,
"mtd_target"
,
"mtd_actual"
,
"ytd_target"
,
"ytd_actual"
],
"addition"
:
{
"primary"
:
"bleeding_section"
}
},
},
{
"DEPARTMENT(M4)"
:
{
"columns"
:
[
...
...
@@ -647,7 +607,7 @@ class SterliteRefineryTemplate:
"EQUIPMENT LOCATION"
,
"DURATION"
,
"(MT) PRODUCTION"
,
"CAUSE OF THE BREAK DOWN"
,
],
"query"
:
[]
,
"query"
:
{}
,
"data"
:
[],
"data_column"
:
[
"department(m4)"
,
"equipment_details"
,
...
...
@@ -657,16 +617,27 @@ class SterliteRefineryTemplate:
"PM COMPLIANCE"
:
{
"columns"
:
[
"PM COMPLIANCE"
,
"
FTD
"
,
"
ON DATE
"
,
"MTD"
,
"YTD"
],
"query"
:
[],
"query"
:
{
"PmCompliance"
:
[
SterliteRefineryQuery
.
PmCompliance
.
QUERY_1
,
SterliteRefineryQuery
.
PmCompliance
.
QUERY_2
,
SterliteRefineryQuery
.
PmCompliance
.
QUERY_3
,
]
},
"data"
:
[],
"data_column"
:
[
"pm_compliance"
,
"ftd"
,
"mtd"
"on_date"
,
"mtd"
,
"ytd"
],
"addition"
:
{
"primary"
:
"pm_compliance"
}
}
},
]
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