From fa395e4102c0346e1b2756d7df49a93d9f9d4853 Mon Sep 17 00:00:00 2001 From: lahirulakruwan Date: Wed, 22 Apr 2026 11:48:49 +0530 Subject: [PATCH 1/4] Update Maintenance Task Progress graphql api changes added --- api/main.bal | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/api/main.bal b/api/main.bal index d9d22e6..386c850 100644 --- a/api/main.bal +++ b/api/main.bal @@ -9891,11 +9891,12 @@ AND p.organization_id IN ( WHERE task_id = ${taskId} AND Date(start_time) > CURDATE() LIMIT 1`); - if (futureTaskActivityInstanceRow is ActivityInstance) { - io:println("Future task activity instance already exists. ID: " + futureTaskActivityInstanceRow.id.toString()); - return new(taskParticipantRowId); - } - + if (futureTaskActivityInstanceRow is ActivityInstance) { + io:println("Future task activity instance already exists. ID: " + futureTaskActivityInstanceRow.id.toString()); + return new(taskParticipantRowId); + + }else if(futureTaskActivityInstanceRow is ()){ + transaction { MaintenanceTask|error? maintenanceTaskRow = check db_client->queryRow( @@ -10001,6 +10002,7 @@ AND p.organization_id IN ( check commit; return new (taskParticipantRowId); } + } } } else { sql:ExecutionResult taskActivityInstanceRes = check db_client->execute( From ae7a706909730b4bbef8c42877295ff56c4f4c34 Mon Sep 17 00:00:00 2001 From: lahirulakruwan Date: Wed, 22 Apr 2026 13:58:32 +0530 Subject: [PATCH 2/4] Task progress api changes added --- api/main.bal | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/api/main.bal b/api/main.bal index 386c850..f9f8cf2 100644 --- a/api/main.bal +++ b/api/main.bal @@ -9719,6 +9719,7 @@ AND p.organization_id IN ( int taskActivityInstanceId = taskParticipant.activity_instance_id ?: 0; string taskStatus = taskParticipant.participant_task_status ?: ""; int taskId = 0; + string taskActivityInstanceStartDate = ""; int taskParticipantRowId = 0; int|string? insertTaskActivityInstanceId = null; @@ -9745,6 +9746,7 @@ AND p.organization_id IN ( if (taskActivityInstanceRow is ActivityInstance) { taskId = taskActivityInstanceRow.task_id ?: 0; + taskActivityInstanceStartDate = taskActivityInstanceRow.start_time ?:""; } int[] taskParticipantsIds = []; @@ -9888,15 +9890,19 @@ AND p.organization_id IN ( ActivityInstance|error? futureTaskActivityInstanceRow = db_client->queryRow( `SELECT * FROM activity_instance - WHERE task_id = ${taskId} AND Date(start_time) > CURDATE() LIMIT 1`); + WHERE task_id = ${taskId} AND Date(start_time) > Date(${taskActivityInstanceStartDate}) LIMIT 1`); if (futureTaskActivityInstanceRow is ActivityInstance) { io:println("Future task activity instance already exists. ID: " + futureTaskActivityInstanceRow.id.toString()); return new(taskParticipantRowId); - }else if(futureTaskActivityInstanceRow is ()){ - + }else if (futureTaskActivityInstanceRow is error) { + io:println("DB error: ", futureTaskActivityInstanceRow.message()); + return error(futureTaskActivityInstanceRow.message()); // or handle properly + }else{ + + io:println("no task create and create a new one progress"); transaction { MaintenanceTask|error? maintenanceTaskRow = check db_client->queryRow( From 904c8c200903a64bbc9999ea16ba86ed6f22b478 Mon Sep 17 00:00:00 2001 From: lahirulakruwan Date: Wed, 22 Apr 2026 14:32:29 +0530 Subject: [PATCH 3/4] Task status progress update graphql api changes added --- api/main.bal | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/api/main.bal b/api/main.bal index f9f8cf2..8c24819 100644 --- a/api/main.bal +++ b/api/main.bal @@ -9886,21 +9886,26 @@ AND p.organization_id IN ( taskProgressUpdateFailed = true; message = "Failed to update task activity instance record"; } + + record {| int count; |} result = check db_client->queryRow( + `SELECT + CASE + WHEN EXISTS ( + SELECT 1 + FROM activity_instance + WHERE task_id = ${taskId} + AND start_time > ${taskActivityInstanceStartDate} + ) + THEN 1 + ELSE 0 + END;`); - ActivityInstance|error? futureTaskActivityInstanceRow = db_client->queryRow( - `SELECT * - FROM activity_instance - WHERE task_id = ${taskId} AND Date(start_time) > Date(${taskActivityInstanceStartDate}) LIMIT 1`); + int futureTaskActivityInstanceCount = result.count; - - if (futureTaskActivityInstanceRow is ActivityInstance) { - io:println("Future task activity instance already exists. ID: " + futureTaskActivityInstanceRow.id.toString()); + if (futureTaskActivityInstanceCount == 1) { return new(taskParticipantRowId); - - }else if (futureTaskActivityInstanceRow is error) { - io:println("DB error: ", futureTaskActivityInstanceRow.message()); - return error(futureTaskActivityInstanceRow.message()); // or handle properly - }else{ + + }else if(futureTaskActivityInstanceCount == 0){ io:println("no task create and create a new one progress"); transaction { From d6d7a4ffaa26a453745ae696fd7ee0d06ff37569 Mon Sep 17 00:00:00 2001 From: lahirulakruwan Date: Wed, 22 Apr 2026 15:04:34 +0530 Subject: [PATCH 4/4] Task status progress update api changes added --- api/main.bal | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/api/main.bal b/api/main.bal index 8c24819..cf54bc5 100644 --- a/api/main.bal +++ b/api/main.bal @@ -9898,7 +9898,7 @@ AND p.organization_id IN ( ) THEN 1 ELSE 0 - END;`); + END AS count;`); int futureTaskActivityInstanceCount = result.count; @@ -10024,6 +10024,7 @@ AND p.organization_id IN ( if (taskActivityInstanceRes.affectedRowCount == sql:EXECUTION_FAILED) { return error("Failed to update task activity instance record"); } + return new(taskParticipantRowId); } } else if (taskStatus == "Incomplete") {