From 41cfceed774e45eac66d56e57ca75756521c0666 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Tue, 26 Aug 2025 09:34:45 +0800 Subject: [PATCH] * [bug#64968,doing,0.6h] format hours for task data. --- module/task/model.php | 16 ++++++++++++++++ module/task/tao.php | 4 ++++ module/task/ui/edit.html.php | 6 +++--- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/module/task/model.php b/module/task/model.php index 6d44fd57ef..84c1af9424 100755 --- a/module/task/model.php +++ b/module/task/model.php @@ -639,6 +639,11 @@ class taskModel extends model if(isset($task->$field) && helper::isZeroDate($task->$field)) $task->$field = null; } + /* Format hours. */ + if(isset($task->estimate)) $task->estimate = round((float)$task->estimate, 2); + if(isset($task->consumed)) $task->consumed = round((float)$task->consumed, 2); + if(isset($task->left)) $task->left = round((float)$task->left, 2); + /* Update a task.*/ $this->dao->update(TABLE_TASK)->data($task) ->autoCheck() @@ -923,6 +928,8 @@ class taskModel extends model if(!empty($task)) return $this->taskTao->computeTaskStatus($currentTask, $oldTask, $task, $autoStatus, !empty($efforts), $members); /* If task is empty, update the current task. */ + $currentTask->consumed = round((float)$currentTask->consumed, 2); + $currentTask->left = round((float)$currentTask->left, 2); $this->dao->update(TABLE_TASK)->data($currentTask)->autoCheck()->where('id')->eq($oldTask->id)->exec(); } return !dao::isError(); @@ -992,6 +999,9 @@ class taskModel extends model /* Insert task data. */ if(!empty($execution->isTpl)) $task->isTpl = $execution->isTpl; if(empty($task->assignedTo)) unset($task->assignedDate); + if(isset($task->estimate)) $task->estimate = round((float)$task->estimate, 2); + if(isset($task->left)) $task->left = round((float)$task->left, 2); + $this->dao->insert(TABLE_TASK)->data($task, 'docVersions') ->checkIF($task->estimate != '', 'estimate', 'float') ->autoCheck() @@ -2923,6 +2933,9 @@ class taskModel extends model foreach($workhour as $record) { + if(isset($record->consumed)) $record->consumed = round((float)$record->consumed, 2); + if(isset($record->left)) $record->left = round((float)$record->left, 2); + $this->addTaskEffort($record); $effortID = $this->dao->lastInsertID(); @@ -3209,6 +3222,9 @@ class taskModel extends model if(!$this->taskTao->checkEffort($effort)) return false; + if(isset($effort->consumed)) $effort->consumed = round((float)$effort->consumed, 2); + if(isset($effort->left)) $effort->left = round((float)$effort->left, 2); + $this->dao->update(TABLE_EFFORT)->data($effort) ->autoCheck() ->where('id')->eq((int)$effort->id) diff --git a/module/task/tao.php b/module/task/tao.php index aa7f1b3145..d8698cf0fa 100644 --- a/module/task/tao.php +++ b/module/task/tao.php @@ -449,6 +449,10 @@ class taskTao extends taskModel $task->lastEditedDate = helper::now(); } + if(isset($task->estimate)) $task->estimate = round((float)$task->estimate, 2); + if(isset($task->consumed)) $task->consumed = round((float)$task->consumed, 2); + if(isset($task->left)) $task->left = round((float)$task->left, 2); + $this->dao->update(TABLE_TASK)->data($task, 'deleteFiles,renameFiles,files,docVersions,oldDocs,docs') ->autoCheck() ->batchCheckIF($task->status != 'cancel', $requiredFields, 'notempty') diff --git a/module/task/ui/edit.html.php b/module/task/ui/edit.html.php index 94b7de589d..524e119a85 100644 --- a/module/task/ui/edit.html.php +++ b/module/task/ui/edit.html.php @@ -511,7 +511,7 @@ detailBody input ( set::name('estimate'), - set::value($task->estimate), + set::value(helper::formatHours($task->estimate)), !empty($task->team) || !empty($task->children) ? set::readonly(true) : null ), to::suffix($lang->task->suffixHour), @@ -538,7 +538,7 @@ detailBody set::href(inlink('recordWorkhour', "id={$task->id}&from=edittask")), setData('toggle', 'modal') ) : null, - formHidden('consumed', $task->consumed) + formHidden('consumed', helper::formatHours($task->consumed)) ) ), item @@ -551,7 +551,7 @@ detailBody input ( set::name('left'), - set::value($task->left), + set::value(helper::formatHours($task->left)), !empty($task->team) || !empty($task->children) ? set::readonly(true) : null ), to::suffix($lang->task->suffixHour),