From f021ea27b6cd6db5c745848287f76b571a12256a Mon Sep 17 00:00:00 2001 From: tianshujie Date: Mon, 21 Aug 2023 11:17:00 +0800 Subject: [PATCH] * Refactor getDataOfTasksPerStatus method. --- module/task/model.php | 39 ++++++++++--------- .../test/model/getdataoftasksperstatus.php | 27 ++++++------- module/task/test/task.class.php | 20 ---------- 3 files changed, 32 insertions(+), 54 deletions(-) diff --git a/module/task/model.php b/module/task/model.php index a932050976..49def6ba5c 100755 --- a/module/task/model.php +++ b/module/task/model.php @@ -2199,6 +2199,26 @@ class taskModel extends model return $datas; } + /** + * 按照任务状态统计的报表数据。 + * Get report data of status. + * + * @access public + * @return object[] + */ + public function getDataOfTasksPerStatus(): array + { + $tasks = $this->dao->select('id,status')->from(TABLE_TASK)->alias('t1') + ->where($this->reportCondition()) + ->fetchAll('id'); + if(!$tasks) return array(); + + $datas = $this->processData4Report($tasks, array(), 'status'); + foreach($datas as $status => $data) $data->name = $this->lang->task->statusList[$status]; + + return $datas; + } + /** * 获取按照截止日期统计的报表数据。 * Get report data of tasks per deadline. @@ -2339,25 +2359,6 @@ class taskModel extends model return $this->processData4Report($tasks, array(), 'date'); } - /** - * Get report data of status - * - * @access public - * @return array - */ - public function getDataOfTasksPerStatus() - { - $tasks = $this->dao->select('id,status')->from(TABLE_TASK)->alias('t1') - ->where($this->reportCondition()) - ->fetchAll('id'); - if(!$tasks) return array(); - - $datas = $this->processData4Report($tasks, array(), 'status'); - - foreach($datas as $status => $data) $data->name = $this->lang->task->statusList[$status]; - return $datas; - } - /** * 处理报表统计数据。 * Process data for report. diff --git a/module/task/test/model/getdataoftasksperstatus.php b/module/task/test/model/getdataoftasksperstatus.php index 89436c2dac..c287b68215 100755 --- a/module/task/test/model/getdataoftasksperstatus.php +++ b/module/task/test/model/getdataoftasksperstatus.php @@ -2,27 +2,24 @@ config('task')->gen(30); + su('admin'); /** title=taskModel->getDataOfTasksPerStatus(); +timeout=0 cid=1 -pid=1 - -统计状态为已完成的任务数量 >> 已完成,152 -统计状态为未开始的任务数量 >> 未开始,152 -统计状态为进行中的任务数量 >> 进行中,152 -统计状态为已暂停的任务数量 >> 已暂停,152 -统计状态为已取消的任务数量 >> 已取消,151 -统计状态为已关闭的任务数量 >> 已关闭,151 */ -$task = new taskTest(); -r($task->getDataOfTasksPerStatusTest()) && p('done:name,value') && e('已完成,152'); //统计状态为已完成的任务数量 -r($task->getDataOfTasksPerStatusTest()) && p('wait:name,value') && e('未开始,152'); //统计状态为未开始的任务数量 -r($task->getDataOfTasksPerStatusTest()) && p('doing:name,value') && e('进行中,152'); //统计状态为进行中的任务数量 -r($task->getDataOfTasksPerStatusTest()) && p('pause:name,value') && e('已暂停,152'); //统计状态为已暂停的任务数量 -r($task->getDataOfTasksPerStatusTest()) && p('cancel:name,value') && e('已取消,151'); //统计状态为已取消的任务数量 -r($task->getDataOfTasksPerStatusTest()) && p('closed:name,value') && e('已关闭,151'); //统计状态为已关闭的任务数量 +global $tester; +$taskModule = $tester->loadModel('task'); + +r($taskModule->getDataOfTasksPerStatus()) && p('done:name,value') && e('已完成,4'); // 统计状态为已完成的任务数量 +r($taskModule->getDataOfTasksPerStatus()) && p('wait:name,value') && e('未开始,13'); // 统计状态为未开始的任务数量 +r($taskModule->getDataOfTasksPerStatus()) && p('doing:name,value') && e('进行中,7'); // 统计状态为进行中的任务数量 +r($taskModule->getDataOfTasksPerStatus()) && p('cancel:name,value') && e('已取消,3'); // 统计状态为已取消的任务数量 +r($taskModule->getDataOfTasksPerStatus()) && p('closed:name,value') && e('已关闭,3'); // 统计状态为已关闭的任务数量 diff --git a/module/task/test/task.class.php b/module/task/test/task.class.php index f25c99bf13..d14172e25b 100755 --- a/module/task/test/task.class.php +++ b/module/task/test/task.class.php @@ -923,26 +923,6 @@ class taskTest } } - /** - * Test get report data of tasks per status. - * - * @access public - * @return array - */ - public function getDataOfTasksPerStatusTest() - { - $object = $this->objectModel->getDataOfTasksPerStatus(); - - if(dao::isError()) - { - return dao::getError(); - } - else - { - return $object; - } - } - /** * 测试更新父任务状态。 * Test update parent status by taskID.