Commit 8895f195 authored by mohammed.akhib's avatar mohammed.akhib

Merge remote-tracking branch 'origin/develop_suryakant' into develop_akhib

# Conflicts:
#	scripts/core/db/postgres/custom_report_query.py
parents 9df295c4 0c4f8863
...@@ -60,6 +60,7 @@ class PostgresDetails(BaseSettings): ...@@ -60,6 +60,7 @@ class PostgresDetails(BaseSettings):
port: str port: str
username: str username: str
password: str password: str
database: str = ""
class Config: class Config:
env_prefix = "POSTGRES_" env_prefix = "POSTGRES_"
......
...@@ -53,7 +53,8 @@ class CommonConstants: ...@@ -53,7 +53,8 @@ class CommonConstants:
FREQUENCY = 'D' FREQUENCY = 'D'
START_COLUMN = 0 START_COLUMN = 0
START_ROW = 2 START_ROW = 2
OVERALL_COLUMN_WIDTH = 27 REFINERY_COLUMN_WIDTH = 27
ACP_COLUMN_WIDTH = 24
class ReportType: class ReportType:
...@@ -64,8 +65,9 @@ class ReportType: ...@@ -64,8 +65,9 @@ class ReportType:
REFINERY_REPORT = "refinery_report" REFINERY_REPORT = "refinery_report"
ACP_REPORT = "acp_report" ACP_REPORT = "acp_report"
REFINERY_WORKSHEET_NAME = "REFINERY DAILY PERFORMANCE REPORT" REFINERY_WORKSHEET_NAME = "REFINERY DAILY PERFORMANCE REPORT"
ACP_WORKSHEET_NAME = "VEDANTA LIMITED \n ANODE CASTING PLANT (ACP) - " \ ACP_WORKSHEET_NAME_1 = "VEDANTA LIMITED"
"SHIFT INCHARGE LOG SHEET" ACP_WORKSHEET_NAME_2 = "ANODE CASTING PLANT (ACP) - SHIFT INCHARGE LOG SHEET"
DATE = "DATE"
class PostgresConstant: class PostgresConstant:
......
...@@ -3835,10 +3835,10 @@ class ACPQuery: ...@@ -3835,10 +3835,10 @@ class ACPQuery:
""" Persons on duty """ """ Persons on duty """
QUERY_1 = """ QUERY_1 = """
SELECT SELECT
PERSONS_ON_DUTY, PERSONS_ON_DUTY AS persons_on_duty,
A_SHIFT, A_SHIFT as a,
B_SHIFT, B_SHIFT as b,
C_SHIFT C_SHIFT as c
FROM SEMANTIC_PROD.SHIFT_MANPOWER_ACP FROM SEMANTIC_PROD.SHIFT_MANPOWER_ACP
WHERE DATE='{day_start_date}' WHERE DATE='{day_start_date}'
""" """
...@@ -3990,8 +3990,14 @@ class ACPQuery: ...@@ -3990,8 +3990,14 @@ class ACPQuery:
class MeltTemperature: class MeltTemperature:
""" PARAMETERS """ """ PARAMETERS """
QUERY_1 = """ QUERY_1 = """
SELECT
'MELT TEMPERATURE' AS parameters,
'1120-1140 DEG C' AS range,
SUM(COALESCE(MELT_TEMP, 0)) AS value
AND DATE(date) = '{day_start_date}' FROM SEMANTIC_PROD.FURNACE_1_CTP
WHERE DATE = '{day_start_date}'
GROUP BY 1;
""" """
class MouldTemperature: class MouldTemperature:
...@@ -4062,7 +4068,7 @@ class ACPQuery: ...@@ -4062,7 +4068,7 @@ class ACPQuery:
QUERY_1 = """ QUERY_1 = """
SELECT SELECT
'Barium Sulphate Solution Specific Gravity' AS parameters, 'Barium Sulphate Solution Specific Gravity' AS parameters,
'1 - 1.2' AS RANGE, '1 - 1.2' AS range,
SUM(COALESCE(BARIUM_SULPHATE, 0)) AS value SUM(COALESCE(BARIUM_SULPHATE, 0)) AS value
FROM SEMANTIC_PROD.FURNACE_1_CTP FROM SEMANTIC_PROD.FURNACE_1_CTP
...@@ -4085,9 +4091,9 @@ class ACPQuery: ...@@ -4085,9 +4091,9 @@ class ACPQuery:
""" PARAMETERS """ """ PARAMETERS """
QUERY_1 = """ QUERY_1 = """
SELECT SELECT
CONCAT('HEAT NO - ', REFINARY_LABDATA_BATCH, ' ARSENIC') AS KPI, CONCAT('HEAT NO - ', REFINARY_LABDATA_BATCH, ' ARSENIC') AS parameters,
'500-1000 PPM' AS RANGE, '500-1000 PPM' AS range,
REFINARY_LABDATA_ARSENIC AS METRIC_VALUE REFINARY_LABDATA_ARSENIC AS value
FROM SEMANTIC_PROD.ANODE_REFINERY_LAB FROM SEMANTIC_PROD.ANODE_REFINERY_LAB
WHERE LOWER(SUBSTRING(ANODE_SHIFT_SELECTION, 1,1)) = 'a' WHERE LOWER(SUBSTRING(ANODE_SHIFT_SELECTION, 1,1)) = 'a'
...@@ -4098,9 +4104,9 @@ class ACPQuery: ...@@ -4098,9 +4104,9 @@ class ACPQuery:
""" PARAMETERS """ """ PARAMETERS """
QUERY_1 = """ QUERY_1 = """
SELECT SELECT
CONCAT('HEAT NO - ', REFINARY_LABDATA_BATCH, ' ARSENIC') AS KPI, CONCAT('HEAT NO - ', REFINARY_LABDATA_BATCH, ' ARSENIC') AS parameters,
'500-1000 PPM' AS RANGE, '500-1000 PPM' AS range,
REFINARY_LABDATA_ARSENIC AS METRIC_VALUE REFINARY_LABDATA_ARSENIC AS value
FROM SEMANTIC_PROD.ANODE_REFINERY_LAB FROM SEMANTIC_PROD.ANODE_REFINERY_LAB
WHERE LOWER(SUBSTRING(ANODE_SHIFT_SELECTION, 1, 1)) = 'b' WHERE LOWER(SUBSTRING(ANODE_SHIFT_SELECTION, 1, 1)) = 'b'
...@@ -4110,15 +4116,57 @@ class ACPQuery: ...@@ -4110,15 +4116,57 @@ class ACPQuery:
class HeatNoArsenicC: class HeatNoArsenicC:
""" PARAMETERS """ """ PARAMETERS """
QUERY_1 = """ QUERY_1 = """
SELECT CONCAT('HEAT NO - ', REFINARY_LABDATA_BATCH, ' ARSENIC') AS KPI, SELECT CONCAT('HEAT NO - ', REFINARY_LABDATA_BATCH, ' ARSENIC') AS parameters,
'500-1000 PPM' AS RANGE, '500-1000 PPM' AS range,
REFINARY_LABDATA_ARSENIC AS METRIC_VALUE REFINARY_LABDATA_ARSENIC AS value
FROM SEMANTIC_PROD.ANODE_REFINERY_LAB FROM SEMANTIC_PROD.ANODE_REFINERY_LAB
WHERE LOWER(SUBSTRING(ANODE_SHIFT_SELECTION,1,1)) = 'c' WHERE LOWER(SUBSTRING(ANODE_SHIFT_SELECTION,1,1)) = 'c'
AND DATE(date) = '{day_start_date}' AND DATE(date) = '{day_start_date}'
""" """
class FurnaceShiftA:
""" FURNACE SHIFT A """
QUERY_1 = """
SELECT
SHIFTA_FURNACE AS furnace,
BURNER_1 as burner_1,
BURNER_2 as burner_2,
BURNER_3 as burner_3
FROM SEMANTIC_PROD.ACP_BURNER_CLEANING
WHERE LOWER(SHIFT) = 'shift a'
AND DATE(date) = '{day_start_date}'
"""
class FurnaceShiftB:
""" FURNACE SHIFT B """
QUERY_1 = """
SELECT
SHIFTB_FURNACE AS furnace,
BURNER1_B AS burner_1,
BURNER2_B AS burner_2,
BURNER3_B AS burner_3
FROM SEMANTIC_PROD.ACP_BURNER_CLEANING
WHERE LOWER(SHIFT) = 'shift b'
AND DATE(date) = '{day_start_date}'
"""
class FurnaceShiftC:
""" FURNACE SHIFT C """
QUERY_1 = """
SELECT
SHIFTC_FURNACE AS furnace,
BURNER1_C AS burner_1,
BURNER2_C AS burner_2,
BURNER3_C AS burner_3
FROM SEMANTIC_PROD.ACP_BURNER_CLEANING
WHERE LOWER(SHIFT) = 'shift c'
AND DATE(date) = '{day_start_date}'
"""
class SterliteCCPCQuery: class SterliteCCPCQuery:
""" """
......
This diff is collapsed.
...@@ -14,6 +14,8 @@ class ReportInput(BaseModel): ...@@ -14,6 +14,8 @@ class ReportInput(BaseModel):
class ReportOutput(BaseModel): class ReportOutput(BaseModel):
status: bool job_id: str
message: str file_path: str = ""
data: str file_name: Optional[str] = None
is_schedule: Optional[bool] = False
project_id: str
...@@ -63,10 +63,10 @@ async def custom_report_function(input_json: custom_report_input_model): ...@@ -63,10 +63,10 @@ async def custom_report_function(input_json: custom_report_input_model):
""" """
try: try:
status, message, data = report_handler_obj.custom_report_handler( response = report_handler_obj.custom_report_handler(
input_json=input_json input_json=input_json
) )
return {"status": status, "message": message, "data": data} return response
except Exception as err: except Exception as err:
logger.exception( logger.exception(
CommonConstants.EXCEPTION_RAISER.format(str(err)), CommonConstants.EXCEPTION_RAISER.format(str(err)),
......
from scripts.constants import PostgresConstant
from scripts.core.db.postgres.custom_report_query import ACPQuery from scripts.core.db.postgres.custom_report_query import ACPQuery
class ACPReportTemplate: class ACPReportTemplate:
""" HEADER STYLING FORMAT """
WORKSHEET_IMAGE_HEADER_FORMAT = {
"bold": True,
"align": "center",
"valign": "center",
"border": 1,
}
WORKSHEET_HEADER_FORMAT = { WORKSHEET_HEADER_FORMAT = {
"bold": True, "bold": True,
"align": "center", "align": "center",
"valign": "center", "valign": "center",
"fg_color": "#e6e7eb",
"font_color": "#1b314f",
"border": 1, "border": 1,
'font_size': '20', "fg_color": "#1AC5F3",
'font_size': '18',
}
""" DATE HEADER """
WORKSHEET_DATE_HEADER_FORMAT = {
"bold": True,
"align": "center",
"valign": "center",
"border": 1,
"fg_color": "#F4AD66",
'font_size': '12',
} }
WORKSHEET_DATE_FORMAT = {
"bold": True,
"align": "center",
"valign": "center",
"border": 1,
"fg_color": "#F4CE84",
'font_size': '12',
}
""" COLUMN HEADER FORMAT """
COLUMN_HEADER_FORMAT = { COLUMN_HEADER_FORMAT = {
"bold": True, "bold": True,
"align": "center", "align": "center",
...@@ -25,6 +50,8 @@ class ACPReportTemplate: ...@@ -25,6 +50,8 @@ class ACPReportTemplate:
"align": "center", "align": "center",
"valign": "center", "valign": "center",
} }
""" REPORT TEMPLATE """
REPORT_TEMPLATE = [ REPORT_TEMPLATE = [
{ {
"BLANK": { "BLANK": {
...@@ -47,17 +74,11 @@ class ACPReportTemplate: ...@@ -47,17 +74,11 @@ class ACPReportTemplate:
"FO": [ "FO": [
ACPQuery.FO.QUERY_1, ACPQuery.FO.QUERY_1,
ACPQuery.FO.QUERY_2, ACPQuery.FO.QUERY_2,
],
"PNG/LPG": [
], ],
"Rejection": [ "Rejection": [
ACPQuery.Rejection.QUERY_1, ACPQuery.Rejection.QUERY_1,
ACPQuery.Rejection.QUERY_2, ACPQuery.Rejection.QUERY_2,
], ],
"Power": [
]
}, },
"data": [], "data": [],
"data_column": [ "data_column": [
...@@ -83,6 +104,13 @@ class ACPReportTemplate: ...@@ -83,6 +104,13 @@ class ACPReportTemplate:
"data_column": [ "data_column": [
"persons_on_duty", "a", "b", "c" "persons_on_duty", "a", "b", "c"
], ],
"addition": {
"column_color": {
"A": "#51E02A",
"B": "#51E02A",
"C": "#51E02A",
}
}
}, },
"BLANK1": { "BLANK1": {
"columns": [None], "columns": [None],
...@@ -103,6 +131,12 @@ class ACPReportTemplate: ...@@ -103,6 +131,12 @@ class ACPReportTemplate:
"data_column": [ "data_column": [
"anode_lug_thickness", "anode_body_thickness" "anode_lug_thickness", "anode_body_thickness"
], ],
"addition": {
"column_color": {
"ANODE LUG THICKNESS (22-32 mm)": "#51E02A",
"ANODE BODY THICKNESS (31-41 mm)": "#51E02A",
}
}
}, },
}, },
{ {
...@@ -119,6 +153,11 @@ class ACPReportTemplate: ...@@ -119,6 +153,11 @@ class ACPReportTemplate:
"data_column": [ "data_column": [
"s_no", "a_shift_comm" "s_no", "a_shift_comm"
], ],
"addition": {
"column_color": {
"A-SHIFT COMMUNICATION": "#51E02A",
}
}
}, },
"A SHIFTWISE DATA": { "A SHIFTWISE DATA": {
"columns": [ "columns": [
...@@ -134,7 +173,10 @@ class ACPReportTemplate: ...@@ -134,7 +173,10 @@ class ACPReportTemplate:
"mould", "set_value", "field_wt" "mould", "set_value", "field_wt"
], ],
"addition": { "addition": {
"merge_header": "SHIFTWISE DATA" "merge_header": "SHIFTWISE DATA",
"column_color": {
"SHIFTWISE DATA": "#FDCD78",
}
} }
} }
}, },
...@@ -152,6 +194,11 @@ class ACPReportTemplate: ...@@ -152,6 +194,11 @@ class ACPReportTemplate:
"data_column": [ "data_column": [
"s_no", "b_shift_comm" "s_no", "b_shift_comm"
], ],
"addition": {
"column_color": {
"B-SHIFT COMMUNICATION": "#51E02A",
}
}
}, },
"B SHIFTWISE DATA": { "B SHIFTWISE DATA": {
"columns": [ "columns": [
...@@ -167,7 +214,10 @@ class ACPReportTemplate: ...@@ -167,7 +214,10 @@ class ACPReportTemplate:
"mould", "set_value", "field_wt" "mould", "set_value", "field_wt"
], ],
"addition": { "addition": {
"merge_header": "SHIFTWISE DATA" "merge_header": "SHIFTWISE DATA",
"column_color": {
"SHIFTWISE DATA": "#FDCD78",
}
} }
} }
}, },
...@@ -185,6 +235,11 @@ class ACPReportTemplate: ...@@ -185,6 +235,11 @@ class ACPReportTemplate:
"data_column": [ "data_column": [
"s_no", "a_shift_comm" "s_no", "a_shift_comm"
], ],
"addition": {
"column_color": {
"C-SHIFT COMMUNICATION": "#51E02A",
}
}
}, },
"C SHIFTWISE DATA": { "C SHIFTWISE DATA": {
"columns": [ "columns": [
...@@ -200,7 +255,10 @@ class ACPReportTemplate: ...@@ -200,7 +255,10 @@ class ACPReportTemplate:
"mould", "set_value", "field_wt" "mould", "set_value", "field_wt"
], ],
"addition": { "addition": {
"merge_header": "SHIFTWISE DATA" "merge_header": "SHIFTWISE DATA",
"column_color": {
"SHIFTWISE DATA": "#FDCD78",
}
} }
} }
}, },
...@@ -223,7 +281,7 @@ class ACPReportTemplate: ...@@ -223,7 +281,7 @@ class ACPReportTemplate:
ACPQuery.Furnace2OilFlow.QUERY_1, ACPQuery.Furnace2OilFlow.QUERY_1,
], ],
"MeltTemperature": [ "MeltTemperature": [
ACPQuery.MeltTemperature.QUERY_1,
], ],
"MouldTemperature": [ "MouldTemperature": [
ACPQuery.MouldTemperature.QUERY_1, ACPQuery.MouldTemperature.QUERY_1,
...@@ -261,5 +319,59 @@ class ACPReportTemplate: ...@@ -261,5 +319,59 @@ class ACPReportTemplate:
"parameters", "range", "value" "parameters", "range", "value"
], ],
}, },
},
{
"FURNACE SHIFT A": {
"columns": [
"FURNACE", "BURNER 1", "BURNER 2", "BURNER 3"
],
"query": {
"FurnaceShiftA": [
ACPQuery.FurnaceShiftA.QUERY_1,
],
},
"data": [],
"data_column": [
"furnace", "burner_1", "burner_2", "burner_3"
],
"addition": {
"merge_header": "SHIFT - A DATA"
}
},
"FURNACE SHIFT B": {
"columns": [
"FURNACE", "BURNER 1", "BURNER 2", "BURNER 3"
],
"query": {
"FurnaceShiftB": [
ACPQuery.FurnaceShiftB.QUERY_1,
],
},
"data": [],
"data_column": [
"furnace", "burner_1", "burner_2", "burner_3"
],
"addition": {
"merge_header": "SHIFT - B DATA"
}
},
"FURNACE SHIFT C": {
"columns": [
"FURNACE", "BURNER 1", "BURNER 2", "BURNER 3"
],
"query": {
"FurnaceShiftC": [
ACPQuery.FurnaceShiftC.QUERY_1,
],
},
"data": [],
"data_column": [
"furnace", "burner_1", "burner_2", "burner_3"
],
"addition": {
"merge_header": "SHIFT - C DATA"
}
}
} }
] ]
...@@ -3,6 +3,7 @@ from scripts.core.db.postgres.custom_report_query import SterliteRefineryQuery ...@@ -3,6 +3,7 @@ from scripts.core.db.postgres.custom_report_query import SterliteRefineryQuery
class SterliteRefineryTemplate: class SterliteRefineryTemplate:
""" HEADER STYLING FORMAT """
WORKSHEET_HEADER_FORMAT = { WORKSHEET_HEADER_FORMAT = {
"bold": True, "bold": True,
"align": "center", "align": "center",
...@@ -12,6 +13,8 @@ class SterliteRefineryTemplate: ...@@ -12,6 +13,8 @@ class SterliteRefineryTemplate:
"border": 1, "border": 1,
'font_size': '20', 'font_size': '20',
} }
""" COLUMN HEADER FORMAT """
COLUMN_HEADER_FORMAT = { COLUMN_HEADER_FORMAT = {
"bold": True, "bold": True,
"align": "center", "align": "center",
...@@ -25,6 +28,8 @@ class SterliteRefineryTemplate: ...@@ -25,6 +28,8 @@ class SterliteRefineryTemplate:
"align": "center", "align": "center",
"valign": "center", "valign": "center",
} }
""" REPORT TEMPLATE """
REPORT_TEMPLATE = [ REPORT_TEMPLATE = [
{ {
"CATHODE PRODUCTION REVISED": { "CATHODE PRODUCTION REVISED": {
......
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