Commit 5cb65a4e authored by suryakant's avatar suryakant

Query/Code Update

parent ec94d16c
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -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', [])
......@@ -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:
......
......@@ -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"
}
}
},
]
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