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();
	}