From 878e9bc6da28250f1b000f49e85ced9cb4226140 Mon Sep 17 00:00:00 2001 From: Marco Antonio Nina Mena Date: Thu, 7 May 2015 18:46:59 -0400 Subject: [PATCH] Improvement configured task time of calendar --- .../setupSchemas/triggerFillReportByUser.sql | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/workflow/engine/methods/setup/setupSchemas/triggerFillReportByUser.sql b/workflow/engine/methods/setup/setupSchemas/triggerFillReportByUser.sql index 6479d5ddb..82c33230b 100644 --- a/workflow/engine/methods/setup/setupSchemas/triggerFillReportByUser.sql +++ b/workflow/engine/methods/setup/setupSchemas/triggerFillReportByUser.sql @@ -39,7 +39,7 @@ SELECT count(if(ACV.DEL_DELAY_DURATION > 0, 1, NULL)) AS TOTAL_CASES_OVERDUE, count(if(ACV.DEL_DELAY_DURATION <= 0, 1, NULL)) AS TOTAL_CASES_ON_TIME FROM - APP_CACHE_VIEW AS ACV + APP_CACHE_VIEW AS ACV WHERE ACV.DEL_INIT_DATE BETWEEN CAST(@INIT_DATE AS DATETIME) AND CAST(@FINISH_DATE AS DATETIME) GROUP BY ACV.USR_UID , ACV.TAS_UID , ACV.PRO_UID; @@ -52,10 +52,16 @@ ON USR_REPORTING.USR_UID = USERS.USR_UID SET USR_REPORTING.USER_HOUR_COST = USERS.USR_COST_BY_HOUR; UPDATE USR_REPORTING -INNER JOIN -TASK -ON USR_REPORTING.TAS_UID = TASK.TAS_UID -SET USR_REPORTING.CONFIGURED_TASK_TIME = if (TASK.TAS_TIMEUNIT = "DAYS", (TASK.TAS_DURATION*24), TASK.TAS_DURATION) - +INNER JOIN TASK ON USR_REPORTING.TAS_UID = TASK.TAS_UID +SET USR_REPORTING.CONFIGURED_TASK_TIME = +IF(TASK.TAS_TIMEUNIT = "DAYS", + (TASK.TAS_DURATION * + (IF ((SELECT CA.CALENDAR_UID FROM CALENDAR_ASSIGNMENTS AS CA WHERE CA.OBJECT_UID = TASK.TAS_UID limit 1) IS NOT NULL, + (SELECT AVG(TIMEDIFF(STR_TO_DATE(CBH.CALENDAR_BUSINESS_END, '%H:%i'), STR_TO_DATE(CBH.CALENDAR_BUSINESS_START, '%H:%i')))/10000 + FROM CALENDAR_ASSIGNMENTS AS CA, CALENDAR_BUSINESS_HOURS AS CBH + WHERE CA.OBJECT_UID = TASK.TAS_UID + AND CA.CALENDAR_UID = CBH.CALENDAR_UID + GROUP BY CA.CALENDAR_UID LIMIT 1) ,24))) +,TASK.TAS_DURATION)