diff --git a/framework/helper.class.php b/framework/helper.class.php index 47fff7cde1..f19a12656f 100644 --- a/framework/helper.class.php +++ b/framework/helper.class.php @@ -433,6 +433,21 @@ class helper extends baseHelper $checkFunc = 'check' . $operator; return validater::$checkFunc($value1, $value2); } + + /** + * 将科学计数法转化为两位小数。 + * Convert scientific notation to two decimal places. + * + * @param int|float|string $hours + * @param string $characters + * @static + * @access public + * @return string + */ + public static function formatHours($hours, $characters = '.0'): string + { + return rtrim(number_format((float)$hours, 2, '.', ''), $characters); + } } /** diff --git a/module/execution/model.php b/module/execution/model.php index 4e4d4798ed..7f35a8beb5 100755 --- a/module/execution/model.php +++ b/module/execution/model.php @@ -1483,6 +1483,9 @@ class executionModel extends model $parentExecutions = $this->dao->select('parent,parent')->from(TABLE_EXECUTION)->where('parent')->ne(0)->andWhere('deleted')->eq(0)->fetchPairs(); foreach($executions as $execution) { + $execution->estimate = helper::formatHours($execution->estimate); + $execution->consumed = helper::formatHours($execution->consumed); + $execution->left = helper::formatHours($execution->left); $execution->productName = isset($productList[$execution->id]) ? trim($productList[$execution->id]->productName, ',') : ''; $execution->product = $productID; $execution->productID = $productID; diff --git a/module/kanban/model.php b/module/kanban/model.php index 4aad148ded..92e5946597 100755 --- a/module/kanban/model.php +++ b/module/kanban/model.php @@ -1661,7 +1661,7 @@ class kanbanModel extends model $cardData['group'] = $laneType; $cardData['parent'] = zget($object, 'originParent', 0); $cardData['status'] = zget($object, 'status', ''); - $cardData['estimate'] = zget($object, 'estimate', 0); + $cardData['estimate'] = helper::formatHours(zget($object, 'estimate', 0)); $cardData['assignedTo'] = $object->assignedTo; $cardData['deadline'] = zget($object, 'deadline', ''); $cardData['severity'] = zget($object, 'severity', 0); @@ -1672,7 +1672,7 @@ class kanbanModel extends model { $cardData['title'] = $object->name; $cardData['status'] = $object->status; - $cardData['left'] = $object->left; + $cardData['left'] = helper::formatHours($object->left); $cardData['estStarted'] = $object->estStarted; $cardData['mode'] = $object->mode; if($object->mode == 'multi') $cardData['teamMembers'] = $object->teamMembers; diff --git a/module/kanban/tao.php b/module/kanban/tao.php index 0bbc8ed2b8..8129c25459 100644 --- a/module/kanban/tao.php +++ b/module/kanban/tao.php @@ -497,7 +497,7 @@ class kanbanTao extends kanbanModel $item['objectStatus'] = !empty($card->objectStatus) ? $card->objectStatus : ''; $item['deleted'] = !empty($card->deleted) ? $card->deleted : 0; $item['date'] = !empty($card->date) ? $card->date : ''; - $item['estimate'] = !empty($card->estimate) ? $card->estimate : 0; + $item['estimate'] = !empty($card->estimate) ? helper::formatHours($card->estimate) : 0; $item['deadline'] = !empty($card->deadline) ? $card->deadline : ''; $item['severity'] = !empty($card->severity) ? $card->severity : ''; $item['cardType'] = $cell->type; @@ -542,7 +542,7 @@ class kanbanTao extends kanbanModel if($cell->type == 'task') { - $item['left'] = $card->left; + $item['left'] = helper::formatHours($card->left); $item['estStarted'] = $card->estStarted; $item['mode'] = $card->mode; } diff --git a/module/pivot/model.php b/module/pivot/model.php index 7711e5405c..0b29b759e6 100644 --- a/module/pivot/model.php +++ b/module/pivot/model.php @@ -1641,8 +1641,8 @@ class pivotModel extends model if(floor($number) == $number) return $number; $decimalPart = explode('.', strval($number)); - if(isset($decimalPart[1]) && strlen($decimalPart[1]) > 2) return number_format(round($number, 2), 2, '.', ''); - return number_format($number, 2, '.', ''); + if(isset($decimalPart[1]) && strlen($decimalPart[1]) > 2) return helper::formatHours($number); + return helper::formatHours($number); }; $values = array(); diff --git a/module/story/model.php b/module/story/model.php index d1e97cbbb9..baef3e9e8c 100644 --- a/module/story/model.php +++ b/module/story/model.php @@ -91,6 +91,7 @@ class storyModel extends model $story->reviewedDate = helper::isZeroDate($story->reviewedDate) ? '' : substr($story->reviewedDate, 0, 19); $story->closedDate = helper::isZeroDate($story->closedDate) ? '' : substr($story->closedDate, 0, 19); $story->lastEditedDate = helper::isZeroDate($story->lastEditedDate) ? '' : substr($story->lastEditedDate, 0, 19); + $story->estimate = helper::formatHours($story->estimate); return $story; } diff --git a/module/task/model.php b/module/task/model.php index 3a9d72d5f0..c655c01574 100755 --- a/module/task/model.php +++ b/module/task/model.php @@ -1273,6 +1273,9 @@ class taskModel extends model $task->closedDate = !empty($task->closedDate) ? substr($task->closedDate, 0, 19) : null; $task->lastEditedDate = !empty($task->lastEditedDate) ? substr($task->lastEditedDate, 0, 19) : null; $task->realStarted = !empty($task->realStarted) ? substr($task->realStarted, 0, 19) : null; + $task->estimate = helper::formatHours($task->estimate); + $task->left = helper::formatHours($task->left); + $task->consumed = helper::formatHours($task->consumed); /* Get the child tasks of the parent task. */ $children = $this->dao->select('*')->from(TABLE_TASK)->where('parent')->eq($taskID)->andWhere('deleted')->eq(0)->fetchAll('id'); diff --git a/module/weekly/model.php b/module/weekly/model.php index c9c271a84e..e3c9bde249 100755 --- a/module/weekly/model.php +++ b/module/weekly/model.php @@ -566,9 +566,9 @@ class weeklyModel extends model $data = new stdclass(); $PVEV = $this->getPVEV($projectID, $date); - $data->pv = $PVEV['PV']; - $data->ev = $PVEV['EV']; - $data->ac = $this->getAC($projectID, $date); + $data->pv = helper::formatHours($PVEV['PV']); + $data->ev = helper::formatHours($PVEV['EV']); + $data->ac = helper::formatHours($this->getAC($projectID, $date)); $data->sv = $this->getSV($data->ev, $data->pv); $data->cv = $this->getCV($data->ev, $data->ac); diff --git a/module/weekly/view/index.html.php b/module/weekly/view/index.html.php index f3b5cabeaa..18445b8a8f 100644 --- a/module/weekly/view/index.html.php +++ b/module/weekly/view/index.html.php @@ -72,7 +72,7 @@ $(function(){$('#exportreport').modalTrigger();});