public function next($request, $response) { $taskItemId = $request->taskItemId; $taskItem = TaskItem::getById($taskItemId); $preTaskItemId = $request->preTaskItemId; $preTaskItem = TaskItem::getById($preTaskItemId); $testTask = new NullEntity(); if(false == $taskItem instanceof TaskItem && $preTaskItem instanceof TaskItem) { //$taskItem = $preTaskItem->testtask->getNextTaskItem($preTaskItem);// fix FU-4265 ,不获取直接的下一个taskItem,改成获取下一个init TaskItem $request->testTaskId = $preTaskItem->testtask->id; } if(false == $taskItem instanceof TaskItem) { $testTask = TestTask::getById( $request->testTaskId); DBC::requireTrue($testTask instanceof TestTask,'任务单不存在'); $funpointId = $request->funpointId; $moduleId = $request->moduleId; $programId = $request->programId; if($funpointId > 0) { $taskItem = $testTask->getNextTaskItemOfFunpoint($funpointId); }elseif($moduleId > 0) { $taskItem = $testTask->getNextTaskItemOfModule($moduleId); }elseif($programId > 0){ $taskItem = $testTask->getNextTaskItemOfProgram($programId); }else { $taskItem = $testTask->getNextInitTaskItem($preTaskItem); } if(false == ($taskItem instanceof TaskItem)) { $preMsg = $request->preMsg; $preMsg .= " 任务单 {$testTask->id} 已没有未执行用例. "; $response->setRedirect($response->router->urlfor('testtask/detail',array('testtaskid'=>$testTask->id,'preMsg'=>$preMsg))); } } $testTask = $taskItem->testtask; $response->testTask = $testTask; $response->taskItem = $taskItem; $response->usecase = $taskItem->usecase; //$response->bugList = DAL::get()->find('Bug', $taskItem->usecase->bugIds); //$response->attachments = DAL::get()->find('Attachment', $taskItem->usecase->attachmentIds); $response->testTaskProgressStr = "{$testTask->getPos($taskItem)} / {$testTask->getTaskItemCnt()} ".$testTask->getSumInfoStr4All(); }