From d4409fbd4e25b76f0200658b6fa71eeb5340fb5a Mon Sep 17 00:00:00 2001 From: tianshujie Date: Thu, 29 May 2025 09:57:52 +0800 Subject: [PATCH] * [task#144207,done,0.2h] Use the computeDelay method to get the delay days. --- module/execution/model.php | 12 +----------- module/programplan/model.php | 13 +------------ 2 files changed, 2 insertions(+), 23 deletions(-) diff --git a/module/execution/model.php b/module/execution/model.php index f3e39f5d16..757ef278c8 100755 --- a/module/execution/model.php +++ b/module/execution/model.php @@ -2009,17 +2009,7 @@ class executionModel extends model /* Delayed or not?. */ $isNotCancel = !in_array($task->status, array('cancel', 'closed')) || ($task->status == 'closed' && !helper::isZeroDate($task->finishedDate) && $task->closedReason != 'cancel'); $isComputeDelay = !helper::isZeroDate($task->deadline) && $isNotCancel; - if($isComputeDelay) - { - $endDate = helper::isZeroDate($task->finishedDate) ? $today : $task->finishedDate; - $betweenDays = $this->holiday->getDaysBetween($task->deadline, $endDate); - if($betweenDays) - { - $delayDays = array_intersect($betweenDays, $workingDays); - $delay = count($delayDays) - 1; - if($delay > 0) $task->delay = $delay; - } - } + if($isComputeDelay) $task = $this->task->computeDelay($task, $task->deadline, $workingDays); /* Story changed or not. */ $task->storyVersion = zget($storyVersionPairs, $task->id, $task->storyVersion); diff --git a/module/programplan/model.php b/module/programplan/model.php index 489b951ae9..1f767e6980 100755 --- a/module/programplan/model.php +++ b/module/programplan/model.php @@ -903,20 +903,9 @@ class programplanModel extends model } /* Delayed or not?. */ - $task->delay = 0; $isNotCancel = !in_array($task->status, array('cancel', 'closed')) || ($task->status == 'closed' && !helper::isZeroDate($task->finishedDate) && $task->closedReason != 'cancel'); $isComputeDelay = $isNotCancel && !empty($deadlineList[$taskID]); - if($isComputeDelay) - { - $endDate = helper::isZeroDate($task->finishedDate) ? $today : $task->finishedDate; - $betweenDays = $this->holiday->getDaysBetween($deadlineList[$taskID], $endDate); - if($betweenDays) - { - $delayDays = array_intersect($betweenDays, $workingDays); - $delay = !empty($delayDays) ? count($delayDays) - 1: 0; - if($delay > 0) $task->delay = $delay; - } - } + if($isComputeDelay) $task = $this->task->computeDelay($task, $deadlineList[$taskID], $workingDays); } return $tasks; }