From cc2a168a479854337d0c9a81c7fbab72d2f8ad6b Mon Sep 17 00:00:00 2001 From: "ashutosh.nehete" Date: Mon, 6 Oct 2025 14:57:40 +0530 Subject: [PATCH] Added emails and project ids in config file --- mailling/config.json | 4 +-- mailling/project_statistics_report.py | 41 ++++++++++++++++----------- 2 files changed, 27 insertions(+), 18 deletions(-) diff --git a/mailling/config.json b/mailling/config.json index 4eb096e..b44ccc0 100644 --- a/mailling/config.json +++ b/mailling/config.json @@ -4,7 +4,7 @@ "PORT": 587, "SENDER_EMAIL": "marcoioitsoft@gmail.com", "SENDER_PASSWORD": "qrtq wfuj hwpp fhqr", - "RECIPIENT_EMAILS": "ashutosh.nehete@marcoaiot.com,vikas@marcoaiot.com" + "RECIPIENT_EMAILS": "ashutosh.nehete@marcoaiot.com,vikas@marcoaiot.com,amol@marcosolutions.co.in,vinod@marcofire.in,umesh@marcoaiot.com" }, "API": { "BASE_URL": "https://stageapi.marcoaiot.com/api", @@ -21,6 +21,6 @@ "COLLECTION_NAME": "ProjectReportMail" }, "UNIQUE_IDENTIFIER":{ - "PROJECT_IDS":"2618eb89-2823-11f0-9d9e-bc241163f504" + "PROJECT_IDS":"2618eb89-2823-11f0-9d9e-bc241163f504,08dda31f-25c6-4ad7-8252-14a64ba96fce,08dda508-e7df-4e90-86a5-4c2d30e32069,08dda7db-1f08-4db4-863a-c494201a1156,08dda8cd-0522-47d8-82ef-407276490b68,08dda8cd-8dc2-4e0a-8638-f16f63e16afe,2618f2ef-2823-11f0-9d9e-bc241163f504" } } diff --git a/mailling/project_statistics_report.py b/mailling/project_statistics_report.py index 62e39de..5bed18b 100644 --- a/mailling/project_statistics_report.py +++ b/mailling/project_statistics_report.py @@ -49,7 +49,7 @@ def fetch_Project_report(project_id): response = requests.get(f"{BASE_URL}/market/get/project/report/{project_id}", headers=headers) response.raise_for_status() data = response.json()["data"] - print("Project report fetched successfully.") + print(f"Project report for project \"{data["projectName"]}\" fetched successfully.") return data except Exception as e: print(f"Select tenant error: {e}") @@ -69,26 +69,39 @@ if __name__ == "__main__": for project_id in project_ids: data = fetch_Project_report(project_id) - attendance_percentage = get_percentage(data["todaysAttendances"], data["totalEmployees"], 2) - task_percentage = get_percentage(data["totalCompletedTask"], data["totalPlannedTask"], 2) + if data["attendancePercentage"]: + attendance_percentage = data["attendancePercentage"] + print("from API") + else: + attendance_percentage = get_percentage(data["todaysAttendances"], data["totalEmployees"], 2) + + if data["taskPercentage"]: + task_percentage = data["taskPercentage"] + print("from API") + else: + task_percentage = get_percentage(data["totalCompletedTask"], data["totalPlannedTask"], 2) + web_url = f"{WEB_BASE_URL}/auth/login" + dt = datetime.datetime.strptime(data["date"], "%Y-%m-%dT%H:%M:%SZ") + api_formatted_date = dt.strftime("%d-%b-%Y") + context = { "webUrl":web_url, - "date": data["date"], + "date": api_formatted_date, "projectName": data["projectName"], "timeStamp": data["timeStamp"], "todaysAttendances": data["todaysAttendances"], "totalEmployees": data["totalEmployees"], - "attendancePercentage":data["attendancePercentage"], - "taskPercentage":data["taskPercentage"], + "attendancePercentage":attendance_percentage, + "taskPercentage":task_percentage, "regularizationPending": data["regularizationPending"], "checkoutPending": data["checkoutPending"], - "totalPlannedWork": data["totalPlannedWork"], - "totalCompletedWork": data["totalCompletedWork"], - "totalPlannedTask": data["totalPlannedTask"], - "totalCompletedTask": data["totalCompletedTask"], - "completionStatus": data["completionStatus"], + "totalPlannedWork": round(data["totalPlannedWork"],2), + "totalCompletedWork": round(data["totalCompletedWork"],2), + "totalPlannedTask": round(data["totalPlannedTask"],2), + "totalCompletedTask": round(data["totalCompletedTask"],2), + "completionStatus": round(data["completionStatus"],2), "reportPending": data["reportPending"], "todaysAssignTasks": data["todaysAssignTasks"], "teamOnSite": data["teamOnSite"], @@ -100,12 +113,8 @@ if __name__ == "__main__": project_name = data["projectName"] html = render_template_from_file(template_name,context) - # print(html) - today = datetime.datetime.now() - formatted = today.strftime("%d-%b-%Y") - msg = EmailMessage() - msg["Subject"] = f"DPR - {formatted} - {project_name}" + msg["Subject"] = f"DPR - {api_formatted_date} - {project_name}" msg["From"] = SENDER_EMAIL msg["To"] = RECIPIENT_EMAILS msg.set_content("HTML version attached as alternative.")