From 5c42549ec01768b7c5ed832d3e6b013804da1126 Mon Sep 17 00:00:00 2001 From: Bhaskar Date: Thu, 22 May 2025 17:14:12 +0530 Subject: [PATCH] changes --- src/controllers/installationController.js | 28 ++++++++++++++++------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/src/controllers/installationController.js b/src/controllers/installationController.js index 51f21bc9..004794ad 100644 --- a/src/controllers/installationController.js +++ b/src/controllers/installationController.js @@ -5320,6 +5320,7 @@ exports.assignCategorizeIssue = async (request, reply) => { + exports.getCategorizedIssue = async (request, reply) => { try { const { support_teamMemberId } = request.params; @@ -5375,6 +5376,19 @@ exports.getCategorizedIssue = async (request, reply) => { }); }); + // Helper functions for formatting + const formatDateIfValid = (value) => { + const date = moment(value, "DD-MM-YYYY HH:mm:ss", true); + return date.isValid() ? date.format("DD-MM-YYYY HH:mm:ss") : null; + }; + + const formatDateIfValidShort = (date, time) => { + if (!date || !time) return null; + const dateTime = `${date} ${time}`; + const parsed = moment(dateTime, "DD-MM-YYYY HH:mm:ss", true); + return parsed.isValid() ? parsed.format("DD-MM-YYYY HH:mm:ss") : null; + }; + const disconnectedIssues = []; const masters = insensors.filter(d => d.type === "master"); @@ -5402,10 +5416,9 @@ exports.getCategorizedIssue = async (request, reply) => { tankName: slave.tankName || "", location: slave.location || "", connected_status: slave.connected_status, - team_member_support_lora_last_check_time: slave.team_member_support_lora_last_check_time, - lora_last_disconnect_time: slave.lora_last_disconnect_time - ? moment(slave.lora_last_disconnect_time).format("DD-MM-YYYY HH:mm:ss") - : null, + team_member_support_lora_last_check_time: slave.team_member_support_lora_last_check_time || null, + lora_last_disconnect_time: formatDateIfValid(slave.lora_last_disconnect_time) || + formatDateIfValidShort(slave.connected_lora_date, slave.connected_lora_time), connected_to: slave.connected_to || "", masterName: orderMap[master.hardwareId]?.masterName || "", type: "slave", @@ -5427,11 +5440,10 @@ exports.getCategorizedIssue = async (request, reply) => { location: orderMap[master.hardwareId]?.location || "", type: "master", connected_status: master.connected_status, - gsm_last_disconnect_time: master.gsm_last_disconnect_time - ? moment(master.gsm_last_disconnect_time).format("DD-MM-YYYY HH:mm:ss") - : null, + gsm_last_disconnect_time: formatDateIfValid(master.gsm_last_disconnect_time) || + formatDateIfValidShort(master.connected_gsm_date, master.connected_gsm_time), support_gsm_last_check_time: null, - team_member_support_gsm_last_check_time: master.team_member_support_gsm_last_check_time, + team_member_support_gsm_last_check_time: master.team_member_support_gsm_last_check_time || null, connected_slave_count: slaveDetails.length, connected_slaves: slaveDetails, category: masterIssue?.category || "",