diff --git a/test/class/task.class.php b/test/class/task.class.php index 0587227940..bbb57bbf81 100644 --- a/test/class/task.class.php +++ b/test/class/task.class.php @@ -640,6 +640,7 @@ class taskTest public function processTaskTest($task) { + $task->deadline = $task->deadline == '-1day' ? date('Y-m-d',strtotime('-1 day')) : date('Y-m-d',strtotime('+1 day')); $object = $this->objectModel->processTask($task); if(dao::isError()) @@ -652,8 +653,33 @@ class taskTest } } - public function processTasksTest($tasks) + public function processTasksTest($executionID) { + global $tester; + $tasks = $tester->dao->select('*')->from(TABLE_TASK)->where('execution')->eq($executionID)->andWhere('deleted')->eq('0')->fetchAll('id'); + $parents = '0'; + foreach($tasks as $task) + { + if($task->parent > 0) $parents .= ",$task->parent"; + } + $parents = $tester->dao->select('*')->from(TABLE_TASK)->where('`id`')->in($parents)->andWhere('deleted')->eq('0')->fetchAll('id'); + foreach($tasks as $task) + { + if($task->parent > 0) + { + if(isset($tasks[$task->parent])) + { + $tasks[$task->parent]->children[$task->id] = $task; + unset($tasks[$task->id]); + } + else + { + $parent = $parents[$task->parent]; + $task->parentName = $parent->name; + } + } + } + $object = $this->objectModel->processTasks($tasks); if(dao::isError()) @@ -665,4 +691,208 @@ class taskTest return $object; } } + + public function processData4ReportTest($tasks, $children, $field) + { + $object = $this->objectModel->processData4Report($tasks, $children, $field); + + $object['void'] = isset($object['']) ? $object[''] : 'void'; + + if(dao::isError()) + { + return dao::getError(); + } + else + { + if($field == 'deadline') + { + $dateList = array(date('Y-m-d',strtotime('-8 day')), date('Y-m-d',strtotime('-15 day'))); + return array($object[$dateList[0]], $object[$dateList[1]]); + } + return count($object) == 0 ? array('void' => 'void') : $object; + } + } + + public function getDataOfTasksPerExecutionTest() + { + $object = $this->objectModel->getDataOfTasksPerExecution(); + + if(dao::isError()) + { + return dao::getError(); + } + else + { + return $object; + } + } + + public function getDataOfTasksPerModuleTest() + { + $object = $this->objectModel->getDataOfTasksPerModule(); + + if(dao::isError()) + { + return dao::getError(); + } + else + { + return $object; + } + } + + public function getDataOfTasksPerAssignedToTest() + { + $object = $this->objectModel->getDataOfTasksPerAssignedTo(); + + if(dao::isError()) + { + return dao::getError(); + } + else + { + return $object; + } + } + + public function getDataOfTasksPerTypeTest() + { + $object = $this->objectModel->getDataOfTasksPerType(); + + if(dao::isError()) + { + return dao::getError(); + } + else + { + return $object; + } + } + + public function getDataOfTasksPerPriTest() + { + $object = $this->objectModel->getDataOfTasksPerPri(); + + if(dao::isError()) + { + return dao::getError(); + } + else + { + return $object; + } + } + + public function getDataOfTasksPerDeadlineTest($dateID) + { + $dateList = array(date('Y-m-d',strtotime('+1 day')), date('Y-m-d',strtotime('+2 day')), date('Y-m-d',strtotime('+3 day')), date('Y-m-d',strtotime('+4 day')), date('Y-m-d',strtotime('-1 day')), date('Y-m-d',strtotime('-2 day')), date('Y-m-d',strtotime('-3 day')), date('Y-m-d',strtotime('-4 day'))); + $object = $this->objectModel->getDataOfTasksPerDeadline(); + + if(dao::isError()) + { + return dao::getError(); + } + else + { + return array($dateID => $object[$dateList[$dateID]]); + } + } + + public function getDataOfTasksPerEstimateTest() + { + $object = $this->objectModel->getDataOfTasksPerEstimate(); + + if(dao::isError()) + { + return dao::getError(); + } + else + { + return $object; + } + } + + public function getDataOfTasksPerLeftTest() + { + $object = $this->objectModel->getDataOfTasksPerLeft(); + + if(dao::isError()) + { + return dao::getError(); + } + else + { + return $object; + } + } + + public function getDataOfTasksPerConsumedTest() + { + $object = $this->objectModel->getDataOfTasksPerConsumed(); + + if(dao::isError()) + { + return dao::getError(); + } + else + { + return $object; + } + } + + public function getDataOfTasksPerFinishedByTest() + { + $object = $this->objectModel->getDataOfTasksPerFinishedBy(); + + if(dao::isError()) + { + return dao::getError(); + } + else + { + return $object; + } + } + + public function getDataOfTasksPerClosedReasonTest() + { + $object = $this->objectModel->getDataOfTasksPerClosedReason(); + + if(dao::isError()) + { + return dao::getError(); + } + else + { + return $object; + } + } + + public function getDataOffinishedTasksPerDayTest() + { + $object = $this->objectModel->getDataOffinishedTasksPerDay(); + + if(dao::isError()) + { + return dao::getError(); + } + else + { + return $object; + } + } + + public function getDataOfTasksPerStatusTest() + { + $object = $this->objectModel->getDataOfTasksPerStatus(); + + if(dao::isError()) + { + return dao::getError(); + } + else + { + return $object; + } + } } diff --git a/test/model/task/computeBeginAndEnd.php b/test/model/task/computeBeginAndEnd.php index ef62089605..7a77dd45b1 100755 --- a/test/model/task/computeBeginAndEnd.php +++ b/test/model/task/computeBeginAndEnd.php @@ -10,8 +10,8 @@ title=taskModel->computeBeginAndEnd(); cid=1 pid=1 -根据taskID计算没有父计划的开始结束时间 >> 1,2022-03-11,0000-00-00 00:00:00,2022-03-18 -根据taskID计算有父计划的父开始结束时间 >> 601,,0000-00-00 00:00:00,2022-03-04 +根据taskID计算没有父计划的开始结束时间 >> 1,2022-03-14,0000-00-00 00:00:00,2022-03-21 +根据taskID计算有父计划的父开始结束时间 >> 601,,0000-00-00 00:00:00,2022-03-07 根据不存在的taskID计划开始结束时间 >> 0 */ @@ -19,7 +19,7 @@ pid=1 $taskIDList = array('1', '901', '100001'); $task = new taskTest(); -r($task->computeBeginAndEndTest($taskIDList[0])) && p('id,estStarted,realStarted,deadline') && e('1,2022-03-11,0000-00-00 00:00:00,2022-03-18'); //根据taskID计算没有父计划的开始结束时间 -r($task->computeBeginAndEndTest($taskIDList[1])) && p('id,estStarted,realStarted,deadline') && e('601,,0000-00-00 00:00:00,2022-03-04'); //根据taskID计算有父计划的父开始结束时间 +r($task->computeBeginAndEndTest($taskIDList[0])) && p('id,estStarted,realStarted,deadline') && e('1,2022-03-14,0000-00-00 00:00:00,2022-03-21'); //根据taskID计算没有父计划的开始结束时间 +r($task->computeBeginAndEndTest($taskIDList[1])) && p('id,estStarted,realStarted,deadline') && e('601,,0000-00-00 00:00:00,2022-03-07'); //根据taskID计算有父计划的父开始结束时间 r($task->computeBeginAndEndTest($taskIDList[2])) && p('id,estStarted,realStarted,deadline') && e('0'); //根据不存在的taskID计算开始结束时间 system("./ztest init"); diff --git a/test/model/task/getUserTasks.php b/test/model/task/getUserTasks.php index 8032fb1e27..828325c25c 100755 --- a/test/model/task/getUserTasks.php +++ b/test/model/task/getUserTasks.php @@ -19,3 +19,4 @@ $assignedTo = 'user92'; $task = new taskTest(); r($task->getUserTasksTest($taskID,$assignedTo)) && p('2:name') && e('开发任务12'); // 根据指派人员查看任务 +system("./ztest init"); diff --git a/test/model/task/getdataoffinishedtasksperday.php b/test/model/task/getdataoffinishedtasksperday.php new file mode 100755 index 0000000000..ca492e4194 --- /dev/null +++ b/test/model/task/getdataoffinishedtasksperday.php @@ -0,0 +1,19 @@ +#!/usr/bin/env php +getDataOffinishedTasksPerDay(); +cid=1 +pid=1 + +统计没有每日完成的任务数量 >> 0 + +*/ + + +$task = new taskTest(); +r($task->getDataOffinishedTasksPerDayTest()) && p() && e('0'); //统计没有每日完成的任务数量 diff --git a/test/model/task/getdataoftasksperassignedto.php b/test/model/task/getdataoftasksperassignedto.php new file mode 100755 index 0000000000..6bacdf81b3 --- /dev/null +++ b/test/model/task/getdataoftasksperassignedto.php @@ -0,0 +1,19 @@ +#!/usr/bin/env php +getDataOfTasksPerAssignedTo(); +cid=1 +pid=1 + +统计指派给为po82的任务数量 >> 研发主管82,1 + +*/ + + +$task = new taskTest(); +r($task->getDataOfTasksPerAssignedToTest()) && p('po82:name,value') && e('研发主管82,1'); //统计指派给为po82的任务数量 diff --git a/test/model/task/getdataoftasksperclosedreason.php b/test/model/task/getdataoftasksperclosedreason.php new file mode 100755 index 0000000000..4c13e5da18 --- /dev/null +++ b/test/model/task/getdataoftasksperclosedreason.php @@ -0,0 +1,19 @@ +#!/usr/bin/env php +getDataOfTasksPerClosedReason(); +cid=1 +pid=1 + +统计没有完成原因的任务数量 >> 0 + +*/ + + +$task = new taskTest(); +r($task->getDataOfTasksPerClosedReasonTest()) && p() && e('0'); //统计没有完成原因的任务数量 diff --git a/test/model/task/getdataoftasksperconsumed.php b/test/model/task/getdataoftasksperconsumed.php new file mode 100755 index 0000000000..f72d5c8155 --- /dev/null +++ b/test/model/task/getdataoftasksperconsumed.php @@ -0,0 +1,31 @@ +#!/usr/bin/env php +getDataOfTasksPerConsumed(); +cid=1 +pid=1 + +统计消耗工时为3的任务数量 >> 3,90 +统计消耗工时为4的任务数量 >> 4,90 +统计消耗工时为5的任务数量 >> 5,90 +统计消耗工时为6的任务数量 >> 6,91 +统计消耗工时为7的任务数量 >> 7,91 +统计消耗工时为8的任务数量 >> 8,91 +统计消耗工时为9的任务数量 >> 9,91 + +*/ + + +$task = new taskTest(); +r($task->getDataOfTasksPerConsumedTest()) && p('3:name,value') && e('3,90'); //统计消耗工时为3的任务数量 +r($task->getDataOfTasksPerConsumedTest()) && p('4:name,value') && e('4,90'); //统计消耗工时为4的任务数量 +r($task->getDataOfTasksPerConsumedTest()) && p('5:name,value') && e('5,90'); //统计消耗工时为5的任务数量 +r($task->getDataOfTasksPerConsumedTest()) && p('6:name,value') && e('6,91'); //统计消耗工时为6的任务数量 +r($task->getDataOfTasksPerConsumedTest()) && p('7:name,value') && e('7,91'); //统计消耗工时为7的任务数量 +r($task->getDataOfTasksPerConsumedTest()) && p('8:name,value') && e('8,91'); //统计消耗工时为8的任务数量 +r($task->getDataOfTasksPerConsumedTest()) && p('9:name,value') && e('9,91'); //统计消耗工时为9的任务数量 diff --git a/test/model/task/getdataoftasksperdeadline.php b/test/model/task/getdataoftasksperdeadline.php new file mode 100755 index 0000000000..be8f71a5ed --- /dev/null +++ b/test/model/task/getdataoftasksperdeadline.php @@ -0,0 +1,32 @@ +#!/usr/bin/env php +getDataOfTasksPerDeadline(); +cid=1 +pid=1 + +统计日期为+1days的任务数量 >> 17 +统计日期为+2days的任务数量 >> 17 +统计日期为+3days的任务数量 >> 18 +统计日期为+4days的任务数量 >> 18 +统计日期为-1days的任务数量 >> 17 +统计日期为-2days的任务数量 >> 17 +统计日期为-3days的任务数量 >> 17 +统计日期为-4days的任务数量 >> 17 + +*/ + +$task = new taskTest(); +r($task->getDataOfTasksPerDeadlineTest(0)) && p("0:value") && e("17"); //统计日期为+1days的任务数量 +r($task->getDataOfTasksPerDeadlineTest(1)) && p("1:value") && e("17"); //统计日期为+2days的任务数量 +r($task->getDataOfTasksPerDeadlineTest(2)) && p("2:value") && e("18"); //统计日期为+3days的任务数量 +r($task->getDataOfTasksPerDeadlineTest(3)) && p("3:value") && e("18"); //统计日期为+4days的任务数量 +r($task->getDataOfTasksPerDeadlineTest(4)) && p("4:value") && e("17"); //统计日期为-1days的任务数量 +r($task->getDataOfTasksPerDeadlineTest(5)) && p("5:value") && e("17"); //统计日期为-2days的任务数量 +r($task->getdataoftasksperdeadlinetest(6)) && p("6:value") && e("17"); //统计日期为-3days的任务数量 +r($task->getdataoftasksperdeadlinetest(7)) && p("7:value") && e("17"); //统计日期为-4days的任务数量 diff --git a/test/model/task/getdataoftasksperestimate.php b/test/model/task/getdataoftasksperestimate.php new file mode 100755 index 0000000000..29d12f01a2 --- /dev/null +++ b/test/model/task/getdataoftasksperestimate.php @@ -0,0 +1,33 @@ +#!/usr/bin/env php +getDataOfTasksPerEstimate(); +cid=1 +pid=1 + +统计预计工时为0的任务数量 >> 0,83 +统计预计工时为1的任务数量 >> 1,83 +统计预计工时为2的任务数量 >> 2,83 +统计预计工时为3的任务数量 >> 3,83 +统计预计工时为4的任务数量 >> 4,83 +统计预计工时为5的任务数量 >> 5,83 +统计预计工时为6的任务数量 >> 6,82 +统计预计工时为7的任务数量 >> 7,82 + +*/ + + +$task = new taskTest(); +r($task->getDataOfTasksPerEstimateTest()) && p('0:name,value') && e('0,83'); //统计预计工时为0的任务数量 +r($task->getDataOfTasksPerEstimateTest()) && p('1:name,value') && e('1,83'); //统计预计工时为1的任务数量 +r($task->getDataOfTasksPerEstimateTest()) && p('2:name,value') && e('2,83'); //统计预计工时为2的任务数量 +r($task->getDataOfTasksPerEstimateTest()) && p('3:name,value') && e('3,83'); //统计预计工时为3的任务数量 +r($task->getDataOfTasksPerEstimateTest()) && p('4:name,value') && e('4,83'); //统计预计工时为4的任务数量 +r($task->getDataOfTasksPerEstimateTest()) && p('5:name,value') && e('5,83'); //统计预计工时为5的任务数量 +r($task->getDataOfTasksPerEstimateTest()) && p('6:name,value') && e('6,82'); //统计预计工时为6的任务数量 +r($task->getDataOfTasksPerEstimateTest()) && p('7:name,value') && e('7,82'); //统计预计工时为7的任务数量 diff --git a/test/model/task/getdataoftasksperexecution.php b/test/model/task/getdataoftasksperexecution.php new file mode 100755 index 0000000000..cb5a4b3627 --- /dev/null +++ b/test/model/task/getdataoftasksperexecution.php @@ -0,0 +1,31 @@ +#!/usr/bin/env php +getDataOfTasksPerExecution(); +cid=1 +pid=1 + +统计executionID为101的执行的任务数量 >> 迭代1,14 +统计executionID为102的执行的任务数量 >> 迭代2,4 +统计executionID为103的执行的任务数量 >> 迭代3,4 +统计executionID为104的执行的任务数量 >> 迭代4,4 +统计executionID为105的执行的任务数量 >> 迭代5,4 +统计executionID为106的执行的任务数量 >> 迭代6,4 +统计executionID为107的执行的任务数量 >> 迭代7,4 + +*/ + + +$task = new taskTest(); +r($task->getDataOfTasksPerExecutionTest()) && p('101:name,value') && e('迭代1,14'); //统计executionID为101的执行的任务数量 +r($task->getDataOfTasksPerExecutionTest()) && p('102:name,value') && e('迭代2,4'); //统计executionID为102的执行的任务数量 +r($task->getDataOfTasksPerExecutionTest()) && p('103:name,value') && e('迭代3,4'); //统计executionID为103的执行的任务数量 +r($task->getDataOfTasksPerExecutionTest()) && p('104:name,value') && e('迭代4,4'); //统计executionID为104的执行的任务数量 +r($task->getDataOfTasksPerExecutionTest()) && p('105:name,value') && e('迭代5,4'); //统计executionID为105的执行的任务数量 +r($task->getDataOfTasksPerExecutionTest()) && p('106:name,value') && e('迭代6,4'); //统计executionID为106的执行的任务数量 +r($task->getDataOfTasksPerExecutionTest()) && p('107:name,value') && e('迭代7,4'); //统计executionID为107的执行的任务数量 diff --git a/test/model/task/getdataoftasksperfinishedby.php b/test/model/task/getdataoftasksperfinishedby.php new file mode 100755 index 0000000000..a2c12873f4 --- /dev/null +++ b/test/model/task/getdataoftasksperfinishedby.php @@ -0,0 +1,19 @@ +#!/usr/bin/env php +getDataOfTasksPerFinishedBy(); +cid=1 +pid=1 + +统计没有完成者的任务数量 >> 0 + +*/ + + +$task = new taskTest(); +r($task->getDataOfTasksPerFinishedByTest()) && p() && e('0'); //统计没有完成者的任务数量 diff --git a/test/model/task/getdataoftasksperleft.php b/test/model/task/getdataoftasksperleft.php new file mode 100755 index 0000000000..9c12e86246 --- /dev/null +++ b/test/model/task/getdataoftasksperleft.php @@ -0,0 +1,33 @@ +#!/usr/bin/env php +getDataOfTasksPerLeft(); +cid=1 +pid=1 + +统计剩余工时为0的任务数量 >> 0,83 +统计剩余工时为1的任务数量 >> 1,83 +统计剩余工时为2的任务数量 >> 2,83 +统计剩余工时为3的任务数量 >> 3,83 +统计剩余工时为4的任务数量 >> 4,83 +统计剩余工时为5的任务数量 >> 5,83 +统计剩余工时为6的任务数量 >> 6,82 +统计剩余工时为7的任务数量 >> 7,82 + +*/ + + +$task = new taskTest(); +r($task->getDataOfTasksPerLeftTest()) && p('0:name,value') && e('0,83'); //统计剩余工时为0的任务数量 +r($task->getDataOfTasksPerLeftTest()) && p('1:name,value') && e('1,83'); //统计剩余工时为1的任务数量 +r($task->getDataOfTasksPerLeftTest()) && p('2:name,value') && e('2,83'); //统计剩余工时为2的任务数量 +r($task->getDataOfTasksPerLeftTest()) && p('3:name,value') && e('3,83'); //统计剩余工时为3的任务数量 +r($task->getDataOfTasksPerLeftTest()) && p('4:name,value') && e('4,83'); //统计剩余工时为4的任务数量 +r($task->getDataOfTasksPerLeftTest()) && p('5:name,value') && e('5,83'); //统计剩余工时为5的任务数量 +r($task->getDataOfTasksPerLeftTest()) && p('6:name,value') && e('6,82'); //统计剩余工时为6的任务数量 +r($task->getDataOfTasksPerLeftTest()) && p('7:name,value') && e('7,82'); //统计剩余工时为7的任务数量 diff --git a/test/model/task/getdataoftaskspermodule.php b/test/model/task/getdataoftaskspermodule.php new file mode 100755 index 0000000000..5d59c2f8f2 --- /dev/null +++ b/test/model/task/getdataoftaskspermodule.php @@ -0,0 +1,24 @@ +#!/usr/bin/env php +getDataOfTasksPerModule(); +cid=1 +pid=1 + + +统计moduleID为21的模块的任务数量 >> /模块1,12 +统计moduleID为615的模块的任务数量 >> /模块595,2 +统计moduleID为504的模块的任务数量 >> /模块484,2 + +*/ + + +$task = new taskTest(); +r($task->getDataOfTasksPerModuleTest()) && p('21:name,value') && e('/模块1,12'); //统计moduleID为21的模块的任务数量 +r($task->getDataOfTasksPerModuleTest()) && p('615:name,value') && e('/模块595,2'); //统计moduleID为615的模块的任务数量 +r($task->getDataOfTasksPerModuleTest()) && p('504:name,value') && e('/模块484,2'); //统计moduleID为504的模块的任务数量 diff --git a/test/model/task/getdataoftasksperpri.php b/test/model/task/getdataoftasksperpri.php new file mode 100755 index 0000000000..a5415a17ec --- /dev/null +++ b/test/model/task/getdataoftasksperpri.php @@ -0,0 +1,25 @@ +#!/usr/bin/env php +getDataOfTasksPerPri(); +cid=1 +pid=1 + +统计优先级为1的任务数量 >> 1,228 +统计优先级为2的任务数量 >> 2,228 +统计优先级为3的任务数量 >> 3,227 +统计优先级为4的任务数量 >> 4,227 + +*/ + + +$task = new taskTest(); +r($task->getDataOfTasksPerPriTest()) && p('1:name,value') && e('1,228'); //统计优先级为1的任务数量 +r($task->getDataOfTasksPerPriTest()) && p('2:name,value') && e('2,228'); //统计优先级为2的任务数量 +r($task->getDataOfTasksPerPriTest()) && p('3:name,value') && e('3,227'); //统计优先级为3的任务数量 +r($task->getDataOfTasksPerPriTest()) && p('4:name,value') && e('4,227'); //统计优先级为4的任务数量 diff --git a/test/model/task/getdataoftasksperstatus.php b/test/model/task/getdataoftasksperstatus.php new file mode 100755 index 0000000000..ac93049e6c --- /dev/null +++ b/test/model/task/getdataoftasksperstatus.php @@ -0,0 +1,29 @@ +#!/usr/bin/env php +getDataOfTasksPerStatus(); +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'); //统计状态为已关闭的任务数量 diff --git a/test/model/task/getdataoftaskspertype.php b/test/model/task/getdataoftaskspertype.php new file mode 100755 index 0000000000..9010746f89 --- /dev/null +++ b/test/model/task/getdataoftaskspertype.php @@ -0,0 +1,26 @@ +#!/usr/bin/env php +getDataOfTasksPerType(); +cid=1 +pid=1 + +统计类型为devel的任务数量 >> 开发,115 +统计类型为study的任务数量 >> 研究,114 +统计类型为discuss的任务数量 >> 讨论,113 +统计类型为ui的任务数量 >> 界面,113 + +*/ + + +$task = new taskTest(); +r($task->getDataOfTasksPerTypeTest()) && p('devel:name,value') && e('开发,115'); //统计类型为devel的任务数量 +r($task->getDataOfTasksPerTypeTest()) && p('study:name,value') && e('研究,114'); //统计类型为study的任务数量 +r($task->getDataOfTasksPerTypeTest()) && p('discuss:name,value') && e('讨论,113'); //统计类型为discuss的任务数量 +r($task->getDataOfTasksPerTypeTest()) && p('ui:name,value') && e('界面,113'); //统计类型为ui的任务数量 + diff --git a/test/model/task/processdata4report.php b/test/model/task/processdata4report.php new file mode 100755 index 0000000000..1cc90c703a --- /dev/null +++ b/test/model/task/processdata4report.php @@ -0,0 +1,86 @@ +#!/usr/bin/env php +processData4Report(); +cid=1 +pid=1 + +计算executionID为101的执行下按迭代任务数统计的图表数据 101 >> 101,14 +计算executionID为101的执行下按模块任务统计的图表数据 27 >> 27,1 +计算executionID为101的执行下按模块任务统计的图表数据 21 >> 21,12 +计算executionID为101的执行下按指派给统计的图表数据 >> po82,1 +计算executionID为101的执行下按任务类型统计的图表数据 ui >> ui,1 +计算executionID为101的执行下按任务类型统计的图表数据 test >> test,2 +计算executionID为101的执行下按优先级统计的图表数据 1 >> 1,5 +计算executionID为101的执行下按优先级统计的图表数据 2 >> 2,4 +计算executionID为101的执行下按任务状态统计的图表数据 -8day >> 2 +计算executionID为101的执行下按任务状态统计的图表数据 -15day >> 1 +计算executionID为101的执行下按截止时间统计的图表数据 0 >> 0,3 +计算executionID为101的执行下按截止时间统计的图表数据 5 >> 5,1 +计算executionID为101的执行下按预计时间统计的图表数据 0 >> 0,2 +计算executionID为101的执行下按预计时间统计的图表数据 6 >> 6,1 +计算executionID为101的执行下按剩余时间统计的图表数据 3 >> 3,2 +计算executionID为101的执行下按剩余时间统计的图表数据 7 >> 7,1 +计算executionID为101的执行下按消耗时间统计的图表数据 >> ,11 +计算executionID为101的执行下按由谁完成统计的图表数据 >> ,14 +计算executionID为101的执行下按关闭原因统计的图表数据 >> void +计算executionID为101的执行下按每天完成统计的图表数据 wait >> wait,4 +计算executionID为101的执行下按每天完成统计的图表数据 done >> done,3 + +*/ + +$now = helper::now(); + +$tasks = $dao->select('*')->from(TABLE_TASK)->where('`execution`')->eq('101')->andWhere('deleted')->eq(0)->fetchAll('id'); +$parents = array(); +foreach($tasks as $task) +{ + if($task->parent > 0) $parents[$task->parent] = $task->parent; +} +$parents = $dao->select('*')->from(TABLE_TASK)->where('id')->in($parents)->fetchAll('id'); +foreach($tasks as $task) +{ + if($task->parent > 0) + { + if(isset($tasks[$task->parent])) + { + $tasks[$task->parent]->children[$task->id] = $task; + } + else + { + $parent = $parents[$task->parent]; + $task->parentName = $parent->name; + } + } + $task->date = '0000-00-00'; +} + +$children = $tasks[601]->children + $tasks[602]->children + $tasks[603]->children; + +$task = new taskTest(); +r($task->processData4ReportTest($tasks, '', "execution")) && p('101:name,value') && e('101,14'); //计算executionID为101的执行下按迭代任务数统计的图表数据 101 +r($task->processData4ReportTest($tasks, '', 'module')) && p('27:name,value') && e('27,1'); //计算executionID为101的执行下按模块任务统计的图表数据 27 +r($task->processData4ReportTest($tasks, '', 'module')) && p('21:name,value') && e('21,12'); //计算executionID为101的执行下按模块任务统计的图表数据 21 +r($task->processData4ReportTest($tasks, '', 'assignedTo')) && p('po82:name,value') && e('po82,1'); //计算executionID为101的执行下按指派给统计的图表数据 +r($task->processData4ReportTest($tasks, '', 'type')) && p('ui:name,value') && e('ui,1'); //计算executionID为101的执行下按任务类型统计的图表数据 ui +r($task->processData4ReportTest($tasks, '', 'type')) && p('test:name,value') && e('test,2'); //计算executionID为101的执行下按任务类型统计的图表数据 test +r($task->processData4ReportTest($tasks, '', 'pri')) && p('1:name,value') && e('1,5'); //计算executionID为101的执行下按优先级统计的图表数据 1 +r($task->processData4ReportTest($tasks, '', 'pri')) && p('2:name,value') && e('2,4'); //计算executionID为101的执行下按优先级统计的图表数据 2 +r($task->processData4ReportTest($tasks, '', 'deadline')) && p('0:value') && e("2"); //计算executionID为101的执行下按任务状态统计的图表数据 -8day +r($task->processData4ReportTest($tasks, '', 'deadline')) && p('1:value') && e("1"); //计算executionID为101的执行下按任务状态统计的图表数据 -15day +r($task->processData4ReportTest($tasks, '', 'estimate')) && p('0:name,value') && e('0,3'); //计算executionID为101的执行下按截止时间统计的图表数据 0 +r($task->processData4ReportTest($tasks, '', 'estimate')) && p('5:name,value') && e('5,1'); //计算executionID为101的执行下按截止时间统计的图表数据 5 +r($task->processData4ReportTest($tasks, $children, 'left')) && p('0:name,value') && e('0,2'); //计算executionID为101的执行下按预计时间统计的图表数据 0 +r($task->processData4ReportTest($tasks, $children, 'left')) && p('6:name,value') && e('6,1'); //计算executionID为101的执行下按预计时间统计的图表数据 6 +r($task->processData4ReportTest($tasks, $children, 'consumed')) && p('3:name,value') && e('3,2'); //计算executionID为101的执行下按剩余时间统计的图表数据 3 +r($task->processData4ReportTest($tasks, $children, 'consumed')) && p('7:name,value') && e('7,1'); //计算executionID为101的执行下按剩余时间统计的图表数据 7 +r($task->processData4ReportTest($tasks, $children, 'finishedBy')) && p('void:name,value') && e(',11'); //计算executionID为101的执行下按消耗时间统计的图表数据 +r($task->processData4ReportTest($tasks, '', 'closedReason')) && p('void:name,value') && e(',14'); //计算executionID为101的执行下按由谁完成统计的图表数据 +r($task->processData4ReportTest($tasks, '', 'date')) && p('void') && e('void'); //计算executionID为101的执行下按关闭原因统计的图表数据 +r($task->processData4ReportTest($tasks, '', 'status')) && p('wait:name,value') && e('wait,4'); //计算executionID为101的执行下按每天完成统计的图表数据 wait +r($task->processData4ReportTest($tasks, '', 'status')) && p('done:name,value') && e('done,3'); //计算executionID为101的执行下按每天完成统计的图表数据 done diff --git a/test/model/task/processtask.php b/test/model/task/processtask.php index 6d93e472e6..d4c83b4b8a 100755 --- a/test/model/task/processtask.php +++ b/test/model/task/processtask.php @@ -19,11 +19,9 @@ pid=1 */ -$now = helper::now(); - $task1 = new stdclass(); $task1->status = 'wait'; -$task1->deadline = date("Y-m-d",strtotime("+1 day")); +$task1->deadline = '+1day'; $task1->storyStatus = 'draft'; $task1->latestStoryVersion = '1'; $task1->storyVersion = '1'; @@ -34,7 +32,7 @@ $task1->left = '1'; $task2 = new stdclass(); $task2->status = 'doing'; -$task2->deadline = date("Y-m-d",strtotime("-1 day")); +$task2->deadline = '-1day'; $task2->storyStatus = 'draft'; $task2->latestStoryVersion = '1'; $task2->storyVersion = '1'; @@ -45,7 +43,7 @@ $task2->left = '1'; $task3 = new stdclass(); $task3->status = 'doing'; -$task3->deadline = date("Y-m-d",strtotime("-1 day")); +$task3->deadline = '-1day'; $task3->storyStatus = 'draft'; $task3->latestStoryVersion = '1'; $task3->storyVersion = '1'; @@ -56,7 +54,7 @@ $task3->left = '1'; $task4 = new stdclass(); $task4->status = 'doing'; -$task4->deadline = date("Y-m-d",strtotime("+1 day")); +$task4->deadline = '+1day'; $task4->storyStatus = 'draft'; $task4->latestStoryVersion = '1'; $task4->storyVersion = '1'; @@ -67,8 +65,7 @@ $task4->left = '1'; $task5 = new stdclass(); $task5->status = 'done'; -$task5->deadline = date("Y-m-d",strtotime("-1 day")); -$task5->deadline = '2022-03-10'; +$task5->deadline = '-1day'; $task5->storyStatus = 'draft'; $task5->latestStoryVersion = '1'; $task5->storyVersion = '1'; @@ -79,7 +76,7 @@ $task5->left = '0'; $task6 = new stdclass(); $task6->status = 'done'; -$task6->deadline = date("Y-m-d",strtotime("+1 day")); +$task6->deadline = '+1day'; $task6->storyStatus = 'draft'; $task6->latestStoryVersion = '1'; $task6->storyVersion = '1'; diff --git a/test/model/task/processtasks.php b/test/model/task/processtasks.php index 242d752f12..eadf4e9e55 100755 --- a/test/model/task/processtasks.php +++ b/test/model/task/processtasks.php @@ -11,8 +11,8 @@ cid=1 pid=1 根据tasks计算executionID为1的执行下所有任务的进度 任务1 >> ,100 -根据tasks计算executionID为1的执行下所有任务的进度 任务601 >> ,100 -根据tasks计算executionID为1的执行下所有任务的进度 任务602 >> ,80 +根据tasks计算executionID为1的执行下所有任务的进度 任务601 >> 7,100 +根据tasks计算executionID为1的执行下所有任务的进度 任务602 >> 8,80 根据tasks计算executionID为1的执行下所有任务的进度 任务602 >> ,71 根据tasks计算executionID为2的执行下所有任务的进度 任务2 >> ,80 根据tasks计算executionID为2的执行下所有任务的进度 任务602 >> 10,67 @@ -21,62 +21,14 @@ pid=1 */ -$now = helper::now(); - -$tasks1 = $dao->select('*')->from(TABLE_TASK)->where('execution')->eq('101')->andWhere('deleted')->eq(0)->fetchAll('id'); -$parents = array(); -foreach($tasks1 as $task) -{ - if($task->parent > 0) $parents[$task->parent] = $task->parent; -} -$parents = $dao->select('*')->from(TABLE_TASK)->where('id')->in($parents)->fetchAll('id'); -foreach($tasks1 as $task) -{ - if($task->parent > 0) - { - if(isset($tasks[$task->parent])) - { - $tasks[$task->parent]->children[$task->id] = $task; - unset($tasks[$task->id]); - } - else - { - $parent = $parents[$task->parent]; - $task->parentName = $parent->name; - } - } -} - -$tasks2 = $dao->select('*')->from(TABLE_TASK)->where('execution')->eq('102')->andWhere('deleted')->eq(0)->fetchAll('id'); -$parents = array(); -foreach($tasks2 as $task) -{ - if($task->parent > 0) $parents[$task->parent] = $task->parent; -} -$parents = $dao->select('*')->from(TABLE_TASK)->where('id')->in($parents)->fetchAll('id'); -foreach($tasks2 as $task) -{ - if($task->parent > 0) - { - if(isset($tasks[$task->parent])) - { - $tasks[$task->parent]->children[$task->id] = $task; - unset($tasks[$task->id]); - } - else - { - $parent = $parents[$task->parent]; - $task->parentName = $parent->name; - } - } -} +$executionID = array('101', '102'); $task = new taskTest(); -r($task->processTasksTest($tasks1)) && p('1:delay,progress') && e(',100'); //根据tasks计算executionID为1的执行下所有任务的进度 任务1 -r($task->processTasksTest($tasks1)) && p('601:delay,progress') && e(',100'); //根据tasks计算executionID为1的执行下所有任务的进度 任务601 -r($task->processTasksTest($tasks1)) && p('602:delay,progress') && e(',80'); //根据tasks计算executionID为1的执行下所有任务的进度 任务602 -r($task->processTasksTest($tasks1)) && p('603:delay,progress') && e(',71'); //根据tasks计算executionID为1的执行下所有任务的进度 任务603 -r($task->processTasksTest($tasks2)) && p('2:delay,progress') && e(',80'); //根据tasks计算executionID为2的执行下所有任务的进度 任务2 -r($task->processTasksTest($tasks2)) && p('604:delay,progress') && e('10,67'); //根据tasks计算executionID为2的执行下所有任务的进度 任务604 -r($task->processTasksTest($tasks2)) && p('605:delay,progress') && e(',64'); //根据tasks计算executionID为2的执行下所有任务的进度 任务605 -r($task->processTasksTest($tasks2)) && p('606:delay,progress') && e(',62'); //根据tasks计算executionID为2的执行下所有任务的进度 任务606 +r($task->processTasksTest($executionID['0'])) && p('1:delay,progress') && e(',100'); //根据tasks计算executionID为1的执行下所有任务的进度 任务1 +r($task->processTasksTest($executionID['0'])) && p('601:delay,progress') && e('7,100'); //根据tasks计算executionID为1的执行下所有任务的进度 任务601 +r($task->processTasksTest($executionID['0'])) && p('602:delay,progress') && e('8,80'); //根据tasks计算executionID为1的执行下所有任务的进度 任务602 +r($task->processTasksTest($executionID['0'])) && p('603:delay,progress') && e(',71'); //根据tasks计算executionID为1的执行下所有任务的进度 任务603 +r($task->processTasksTest($executionID['1'])) && p('2:delay,progress') && e(',80'); //根据tasks计算executionID为2的执行下所有任务的进度 任务2 +r($task->processTasksTest($executionID['1'])) && p('604:delay,progress') && e('10,67'); //根据tasks计算executionID为2的执行下所有任务的进度 任务604 +r($task->processTasksTest($executionID['1'])) && p('605:delay,progress') && e(',64'); //根据tasks计算executionID为2的执行下所有任务的进度 任务605 +r($task->processTasksTest($executionID['1'])) && p('606:delay,progress') && e(',62'); //根据tasks计算executionID为2的执行下所有任务的进度 任务606 diff --git a/test/model/task/update.php b/test/model/task/update.php index 55c6386334..88c0fa6562 100755 --- a/test/model/task/update.php +++ b/test/model/task/update.php @@ -18,14 +18,14 @@ pid=1 测试修改任务状态 >> status,cancel,doing 测试修改任务优先级 >> pri,2,1 测试修改任务所属执行 >> execution,107,101 -测试修改任务预计开始时间 >> estStarted,2022-03-11,2022-02-27 -测试修改任务截止时间 >> deadline,2022-03-10,2022-03-11 +测试修改任务预计开始时间 >> estStarted,2022-03-14,2022-02-27 +测试修改任务截止时间 >> deadline,2022-03-13,2022-03-29 测试修改任务关闭原因 >> 『关闭原因』必须为空。 */ $estStarted = '2022-02-27'; -$deadline = '2022-03-11'; +$deadline = '2022-03-29'; $taskIDList = array('1','2','3','4','5','6','7','8','9'); $changename = array('name' => '任务名修改','estStarted' => $estStarted,'deadline' => $deadline); @@ -48,8 +48,8 @@ r($task->updateObject($taskIDList[3], $changetype)) && p('0:field,old,new' r($task->updateObject($taskIDList[4], $changestatus)) && p('0:field,old,new') && e('status,cancel,doing'); // 测试修改任务状态 r($task->updateObject($taskIDList[5], $changepri)) && p('0:field,old,new') && e('pri,2,1'); // 测试修改任务优先级 r($task->updateObject($taskIDList[6], $changeexecution)) && p('0:field,old,new') && e('execution,107,101'); // 测试修改任务所属执行 -r($task->updateObject($taskIDList[7], $changeestStarted)) && p('0:field,old,new') && e('estStarted,2022-03-11,2022-02-27'); // 测试修改任务预计开始时间 -r($task->updateObject($taskIDList[8], $changedeadline)) && p('0:field,old,new') && e('deadline,2022-03-10,2022-03-11'); // 测试修改任务截止时间 +r($task->updateObject($taskIDList[7], $changeestStarted)) && p('0:field,old,new') && e('estStarted,2022-03-14,2022-02-27'); // 测试修改任务预计开始时间 +r($task->updateObject($taskIDList[8], $changedeadline)) && p('0:field,old,new') && e('deadline,2022-03-13,2022-03-29'); // 测试修改任务截止时间 r($task->updateObject($taskIDList[0], $ckclosedReason)) && p('closedReason:0') && e(' 『关闭原因』必须为空。'); // 测试修改任务关闭原因 system("./ztest init");