* Refactor task-getExecutionTasks.

This commit is contained in:
liumengyi
2023-04-26 19:01:06 +08:00
parent 2c8418459c
commit 43e8af15bc
6 changed files with 648 additions and 82 deletions
+15 -61
View File
@@ -2502,78 +2502,32 @@ class taskModel extends model
}
/**
* Get tasks of a execution.
*
* @param int $executionID
* @param int $productID
* @param string $type
* @param string $modules
* @param string $orderBy
* @param null $pager
* Get the task list under a execution.
* 获取执行下的任务列表信息。
*
* @param int $executionID
* @param int $productID
* @param string|array $type all|assignedbyme|myinvolved|undone|needconfirm|assignedtome|finishedbyme|delayed|review|wait|doing|done|pause|cancel|closed|array('wait','doing','done','pause','cancel','closed')
* @param array $modules
* @param string $orderBy
* @param object $pager
* @access public
* @return array|void
* @return array
*/
public function getExecutionTasks($executionID, $productID = 0, $type = 'all', $modules = 0, $orderBy = 'status_asc, id_desc', $pager = null)
public function getExecutionTasks(int $executionID, int $productID = 0, string|array $type = 'all', array $modules = array(), string $orderBy = 'status_asc, id_desc', object $pager = null): array
{
if(is_string($type)) $type = strtolower($type);
$orderBy = str_replace('pri_', 'priOrder_', $orderBy);
$fields = "DISTINCT t1.*, t2.id AS storyID, t2.title AS storyTitle, t2.product, t2.branch, t2.version AS latestStoryVersion, t2.status AS storyStatus, t3.realname AS assignedToRealName, IF(t1.`pri` = 0, {$this->config->maxPriValue}, t1.`pri`) as priOrder";
$this->config->edition == 'max' && $fields .= ', t6.name as designName, t6.version as latestDesignVersion';
$actionIDList = array();
if($type == 'assignedbyme') $actionIDList = $this->dao->select('objectID')->from(TABLE_ACTION)->where('objectType')->eq('task')->andWhere('action')->eq('assigned')->andWhere('actor')->eq($this->app->user->account)->fetchPairs('objectID', 'objectID');
$tasks = $this->dao->select($fields)
->from(TABLE_TASK)->alias('t1')
->leftJoin(TABLE_STORY)->alias('t2')->on('t1.story = t2.id')
->leftJoin(TABLE_USER)->alias('t3')->on('t1.assignedTo = t3.account')
->leftJoin(TABLE_TASKTEAM)->alias('t4')->on('t4.task = t1.id')
->leftJoin(TABLE_MODULE)->alias('t5')->on('t1.module = t5.id')
->beginIF($this->config->edition == 'max')->leftJoin(TABLE_DESIGN)->alias('t6')->on('t1.design= t6.id')->fi()
->where('t1.execution')->eq((int)$executionID)
->beginIF($type == 'myinvolved')
->andWhere("((t4.`account` = '{$this->app->user->account}') OR t1.`assignedTo` = '{$this->app->user->account}' OR t1.`finishedby` = '{$this->app->user->account}')")
->fi()
->beginIF($productID)->andWhere("((t5.root=" . (int)$productID . " and t5.type='story') OR t2.product=" . (int)$productID . ")")->fi()
->beginIF($type == 'undone')->andWhere('t1.status')->notIN('done,closed')->fi()
->beginIF($type == 'needconfirm')->andWhere('t2.version > t1.storyVersion')->andWhere("t2.status = 'active'")->fi()
->beginIF($type == 'assignedtome')->andWhere("(t1.assignedTo = '{$this->app->user->account}' or (t1.mode = 'multi' and t4.`account` = '{$this->app->user->account}' and t1.status != 'closed' and t4.status != 'done') )")->fi()
->beginIF($type == 'finishedbyme')
->andWhere('t1.finishedby', 1)->eq($this->app->user->account)
->orWhere('t4.status')->eq("done")
->markRight(1)
->fi()
->beginIF($type == 'delayed')->andWhere('t1.deadline')->gt('1970-1-1')->andWhere('t1.deadline')->lt(date(DT_DATE1))->andWhere('t1.status')->in('wait,doing')->fi()
->beginIF(is_array($type) or strpos(',all,undone,needconfirm,assignedtome,delayed,finishedbyme,myinvolved,assignedbyme,review,', ",$type,") === false)->andWhere('t1.status')->in($type)->fi()
->beginIF($modules)->andWhere('t1.module')->in($modules)->fi()
->beginIF($type == 'assignedbyme')->andWhere('t1.id')->in($actionIDList)->andWhere('t1.status')->ne('closed')->fi()
->beginIF($type == 'review')
->andWhere("FIND_IN_SET('{$this->app->user->account}', t1.reviewers)")
->andWhere('t1.reviewStatus')->eq('doing')
->fi()
->andWhere('t1.deleted')->eq(0)
->orderBy($orderBy)
->page($pager, 't1.id')
->fetchAll('id');
$this->loadModel('common')->saveQueryCondition($this->dao->get(), 'task', ($productID or in_array($type, array('myinvolved', 'needconfirm', 'assignedtome'))) ? false : true);
$tasks = $this->taskTao->fetchExecutionTasks($executionID, $productID, $type, $modules, $orderBy, $pager);
if(empty($tasks)) return array();
$taskList = array_keys($tasks);
$taskTeam = $this->dao->select('*')->from(TABLE_TASKTEAM)->where('task')->in($taskList)->fetchGroup('task');
if(!empty($taskTeam))
{
foreach($taskTeam as $taskID => $team) $tasks[$taskID]->team = $team;
}
$parents = array();
$parents = array();
$taskTeam = $this->taskTao->getTeamByIdList(array_keys($tasks));
foreach($tasks as $task)
{
if(isset($taskTeam[$task->id])) $tasks[$task->id]->team = $taskTeam[$task->id];
if($task->parent > 0) $parents[$task->parent] = $task->parent;
}
$parents = $this->dao->select('*')->from(TABLE_TASK)->where('id')->in($parents)->fetchAll('id');
$parents = $this->getByList($parents);
if($this->config->vision == 'lite') $tasks = $this->appendLane($tasks);
foreach($tasks as $task)
+74
View File
@@ -48,4 +48,78 @@ class taskTao extends taskModel
return $tasks;
}
/**
* Fetch tasks under execution by executionID,
* 获取执行下的任务。
*
* @param int $executionID
* @param int $productID
* @param string|array $type all|assignedbyme|myinvolved|undone|needconfirm|assignedtome|finishedbyme|delayed|review|wait|doing|done|pause|cancel|closed|array('wait','doing','done','pause','cancel','closed')
* @param array $modules
* @param string $orderBy
* @param object $pager
* @access protected
* @return array
*/
protected function fetchExecutionTasks(int $executionID, int $productID = 0, string|array $type = 'all', array $modules = array(), string $orderBy = 'status_asc, id_desc', object $pager = null): array
{
if(is_string($type)) $type = strtolower($type);
$orderBy = str_replace('pri_', 'priOrder_', $orderBy);
$fields = "DISTINCT t1.*, t2.id AS storyID, t2.title AS storyTitle, t2.product, t2.branch, t2.version AS latestStoryVersion, t2.status AS storyStatus, t3.realname AS assignedToRealName, IF(t1.`pri` = 0, {$this->config->maxPriValue}, t1.`pri`) as priOrder";
if($this->config->edition == 'max') $fields .= ', t6.name as designName, t6.version as latestDesignVersion';
$currentAccount = $this->app->user->account;
$actionIDList = array();
if($type == 'assignedbyme') $actionIDList = $this->dao->select('objectID')->from(TABLE_ACTION)->where('objectType')->eq('task')->andWhere('action')->eq('assigned')->andWhere('actor')->eq($currentAccount)->fetchPairs('objectID', 'objectID');
$tasks = $this->dao->select($fields)
->from(TABLE_TASK)->alias('t1')
->leftJoin(TABLE_STORY)->alias('t2')->on('t1.story = t2.id')
->leftJoin(TABLE_USER)->alias('t3')->on('t1.assignedTo = t3.account')
->leftJoin(TABLE_TASKTEAM)->alias('t4')->on('t4.task = t1.id')
->leftJoin(TABLE_MODULE)->alias('t5')->on('t1.module = t5.id')
->beginIF($this->config->edition == 'max')->leftJoin(TABLE_DESIGN)->alias('t6')->on('t1.design= t6.id')->fi()
->where('t1.execution')->eq($executionID)
->beginIF($type == 'myinvolved')->andWhere("((t4.`account` = '{$currentAccount}') OR t1.`assignedTo` = '{$currentAccount}' OR t1.`finishedby` = '{$currentAccount}')")->fi()
->beginIF($productID)->andWhere("((t5.root=" . $productID . " and t5.type='story') OR t2.product=" . $productID . ")")->fi()
->beginIF($type == 'undone')->andWhere('t1.status')->notIN('done,closed')->fi()
->beginIF($type == 'needconfirm')->andWhere('t2.version > t1.storyVersion')->andWhere("t2.status = 'active'")->fi()
->beginIF($type == 'assignedtome')->andWhere("(t1.assignedTo = '{$currentAccount}' or (t1.mode = 'multi' and t4.`account` = '{$currentAccount}' and t1.status != 'closed' and t4.status != 'done') )")->fi()
->beginIF($type == 'finishedbyme')
->andWhere('t1.finishedby', 1)->eq($currentAccount)
->orWhere('t4.status')->eq("done")
->markRight(1)
->fi()
->beginIF($type == 'delayed')->andWhere('t1.deadline')->gt('1970-1-1')->andWhere('t1.deadline')->lt(date(DT_DATE1))->andWhere('t1.status')->in('wait,doing')->fi()
->beginIF(is_array($type) or strpos(',all,undone,needconfirm,assignedtome,delayed,finishedbyme,myinvolved,assignedbyme,review,', ",$type,") === false)->andWhere('t1.status')->in($type)->fi()
->beginIF($modules)->andWhere('t1.module')->in($modules)->fi()
->beginIF($type == 'assignedbyme')->andWhere('t1.id')->in($actionIDList)->andWhere('t1.status')->ne('closed')->fi()
->beginIF($type == 'review')
->andWhere("FIND_IN_SET('{$currentAccount}', t1.reviewers)")
->andWhere('t1.reviewStatus')->eq('doing')
->fi()
->andWhere('t1.deleted')->eq(0)
->orderBy($orderBy)
->page($pager, 't1.id')
->fetchAll('id');
$this->loadModel('common')->saveQueryCondition($this->dao->get(), 'task', ($productID or in_array($type, array('myinvolved', 'needconfirm', 'assignedtome'))) ? false : true);
return $tasks;
}
/**
* Get task team by id list.
* 通过任务ID列表查询任务团队信息。
*
* @param array $taskIdList
* @access protected
* @return array
*/
protected function getTeamByIdList(array $taskIdList): array
{
return $this->dao->select('*')->from(TABLE_TASKTEAM)->where('task')->in($taskIdList)->fetchGroup('task');
}
}
+236 -17
View File
@@ -2,33 +2,252 @@
<?php
include dirname(__FILE__, 5) . "/test/lib/init.php";
include dirname(__FILE__, 2) . '/task.class.php';
$execution = zdTable('project');
$execution->id->range('1-5');
$execution->name->range('项目1,项目2,迭代1,迭代2,迭代3');
$execution->type->range('project{2},sprint,stage,kanban');
$execution->status->range('doing{3},closed,doing');
$execution->parent->range('0,0,1,1,2');
$execution->grade->range('2{2},1{3}');
$execution->path->range('1,2,`1,3`,`1,4`,`2,5`')->prefix(',')->postfix(',');
$execution->begin->range('20230102 000000:0')->type('timestamp')->format('YY/MM/DD');
$execution->end->range('20230212 000000:0')->type('timestamp')->format('YY/MM/DD');
$execution->gen(5);
$task = zdTable('task');
$task->id->range('1-20');
$task->name->range('1-20')->prefix('任务');
$task->module->range('1-5');
$task->parent->range('0{15},0{5}');
$task->execution->range('1-2');
$task->story->range('1-10');
$task->mode->range('[]{15},multi{3},linear{2}');
$task->storyVersion->range('1');
$task->deadline->range('20230212 000000:0')->type('timestamp')->format('YY/MM/DD');
$task->status->range('wait,doing{2},done{2},pause,cancel,closed');
$task->assignedTo->range('admin{10},user1{11-20}');
$task->finishedBy->range('admin{10},user2{11-20}');
$task->pri->range('1-4');
$task->gen(20);
$story = zdTable('story');
$story->id->range('1-20');
$story->title->range('1-20')->prefix('需求');
$story->product->range('1-20');
$story->branch->range('0');
$story->version->range('1-2');
$story->status->range('active{10},draft{5},reviewing{2},closed{2},changing');
$story->gen(20);
zdTable('user')->gen(30);
$taskTeam = zdTable('taskteam');
$taskTeam->id->range('1-5');
$taskTeam->task->range('16{2},19{3}');
$taskTeam->account->range('admin,user1,admin,user1,user2');
$taskTeam->estimate->range('1{2},2{3}');
$taskTeam->left->range('1{2},1{3}');
$taskTeam->status->range('wait{2},doing{3}');
$taskTeam->gen(5);
$module = zdTable('module');
$module->root->range('1-5');
$module->type->range('story');
$module->gen(5);
su('admin');
/**
title=taskModel->getExecutionTasks();
timeout=0
cid=1
pid=1
根据执行id获取任务列表 >> 开发任务11
根据执行id获取任务数量 >> 4
根据执行id,按pri升序获取第一个任务pri >> 3
根据执行id,按pri降序获取第一个任务pri >> 1
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[0], $productIdList[0], $type[0], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[0], $productIdList[0], $type[0], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[0], $type[0], $modules[0], $orderBy[0], $count[0]- ,属性1 @任务1
@任务1
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[0], $type[0], $modules[0], $orderBy[0], $count[1] @10
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[0], $modules[0], $orderBy[0], $count[0]- ,属性1 @任务1
@任务1
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[0], $modules[0], $orderBy[0], $count[1] @2
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[1], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[1], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[2], $modules[0], $orderBy[0], $count[0]- ,属性1 @任务1
@任务1
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[2], $modules[0], $orderBy[0], $count[1] @1
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[3], $modules[0], $orderBy[0], $count[0]- ,属性1 @任务1
@任务1
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[3], $modules[0], $orderBy[0], $count[1] @2
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[4], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[4], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[5], $modules[0], $orderBy[0], $count[0]- ,属性1 @任务1
@任务1
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[5], $modules[0], $orderBy[0], $count[1] @1
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[6], $modules[0], $orderBy[0], $count[0]- ,属性1 @任务1
@任务1
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[6], $modules[0], $orderBy[0], $count[1] @1
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[7], $modules[0], $orderBy[0], $count[0]- ,属性1 @任务1
@任务1
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[7], $modules[0], $orderBy[0], $count[1] @2
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[8], $modules[0], $orderBy[0], $count[0]- ,属性1 @任务1
@任务1
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[8], $modules[0], $orderBy[0], $count[1] @1
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[9], $modules[0], $orderBy[0], $count[0]- ,属性11 @任务11
@任务11
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[9], $modules[0], $orderBy[0], $count[1] @1
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[10], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[10], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[11], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[11], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[12], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[12], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[13], $modules[0], $orderBy[0], $count[0]- ,属性1 @任务1
@任务1
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[13], $modules[0], $orderBy[0], $count[1] @2
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[0], $type[0], $modules[1], $orderBy[0], $count[0]- ,属性17 @任务17
@任务17
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[0], $type[0], $modules[1], $orderBy[0], $count[1] @2
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[0], $type[0], $modules[2], $orderBy[0], $count[0] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[0], $type[0], $modules[2], $orderBy[0], $count[1] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[0], $type[0], $modules[3], $orderBy[0], $count[0]- ,属性17 @任务17
@任务17
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[0], $type[0], $modules[3], $orderBy[0], $count[1] @2
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[0], $type[0], $modules[0], $orderBy[1], $count[0]- ,属性1 @任务1
@任务1
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[1], $productIdList[0], $type[0], $modules[0], $orderBy[1], $count[1] @10
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[0], $type[0], $modules[0], $orderBy[0], $count[0]- ,属性18 @任务18
@任务18
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[0], $type[0], $modules[0], $orderBy[0], $count[1] @10
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[0], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[0], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[1], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[1], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[2], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[2], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[3], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[3], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[4], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[4], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[5], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[5], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[6], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[6], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[7], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[7], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[8], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[8], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[9], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[9], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[10], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[10], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[11], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[11], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[12], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[12], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[13], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[13], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[0], $type[0], $modules[1], $orderBy[0], $count[0]- ,属性2 @任务2
@任务2
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[0], $type[0], $modules[1], $orderBy[0], $count[1] @2
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[0], $type[0], $modules[2], $orderBy[0], $count[0] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[0], $type[0], $modules[2], $orderBy[0], $count[1] @0
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[0], $type[0], $modules[3], $orderBy[0], $count[0]- ,属性2 @任务2
@任务2
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[0], $type[0], $modules[3], $orderBy[0], $count[1] @2
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[0], $type[0], $modules[0], $orderBy[1], $count[0]- ,属性20 @任务20
@任务20
- 执行task模块的getExecutionTasks方法,参数是$executionIdList[2], $productIdList[0], $type[0], $modules[0], $orderBy[1], $count[1] @10
*/
$executionID = '101';
$productID = 0;
$type = 'all';
$modules = 0;
$orderBy = array('status_asc, id_desc', 'pri_desc', 'pri_asc');
$count = array('0','1');
$executionIdList = array(0, 1, 2);
$productIdList = array(0, 1, 8);
$type = array('all', 'assignedbyme', 'myinvolved', 'undone', 'needconfirm', 'assignedtome', 'finishedbyme', 'delayed', 'wait', 'doing', 'done', 'pause', 'cancel', array('wait', 'doing', 'done', 'pause', 'cancel'));
$modules = array(array(), array(2), array(8), array(2,8));
$orderBy = array('status_asc, id_desc', 'pri_desc');
$count = array('0','1');
$task = new taskTest();
$priDescTasks = $task->getExecutionTasksTest($executionID, $productID, $type, $modules, $orderBy[1]);
$priAscTasks = $task->getExecutionTasksTest($executionID, $productID, $type, $modules, $orderBy[2]);
r($task->getExecutionTasksTest($executionID)) && p('1:name') && e('开发任务11'); //根据执行id获取任务列表
r($task->getExecutionTasksTest($executionID, $productID, $type, $modules, $orderBy[0], $count[1])) && p() && e('4'); //根据执行id获取任务数量
r(array_shift($priDescTasks)) && p('pri') && e('3'); //根据执行id,按pri升序获取第一个任务pri
r(array_shift($priAscTasks)) && p('pri') && e('1'); //根据执行id,按pri降序获取第一个任务pri
r($task->getExecutionTasksTest($executionIdList[0], $productIdList[0], $type[0], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 0 product 0 type all module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[0], $productIdList[0], $type[0], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 0 product 0 type all module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[0], $type[0], $modules[0], $orderBy[0], $count[0])) && p('1:name') && e('任务1'); // 测试获取执行ID 1 product 0 type all module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[0], $type[0], $modules[0], $orderBy[0], $count[1])) && p() && e('10'); // 测试获取执行ID 1 product 0 type all module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[0], $modules[0], $orderBy[0], $count[0])) && p('1:name') && e('任务1'); // 测试获取执行ID 1 product 1 type all module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[0], $modules[0], $orderBy[0], $count[1])) && p() && e('2'); // 测试获取执行ID 1 product 1 type all module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[1], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 1 product 1 type assignedbyme module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[1], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 1 product 1 type assignedbyme module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[2], $modules[0], $orderBy[0], $count[0])) && p('1:name') && e('任务1'); // 测试获取执行ID 1 product 1 type myinvolved module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[2], $modules[0], $orderBy[0], $count[1])) && p() && e('1'); // 测试获取执行ID 1 product 1 type myinvolved module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[3], $modules[0], $orderBy[0], $count[0])) && p('1:name') && e('任务1'); // 测试获取执行ID 1 product 1 type undone module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[3], $modules[0], $orderBy[0], $count[1])) && p() && e('2'); // 测试获取执行ID 1 product 1 type undone module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[4], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 1 product 1 type needconfirm module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[4], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 1 product 1 type needconfirm module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[5], $modules[0], $orderBy[0], $count[0])) && p('1:name') && e('任务1'); // 测试获取执行ID 1 product 1 type assignedtome module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[5], $modules[0], $orderBy[0], $count[1])) && p() && e('1'); // 测试获取执行ID 1 product 1 type assignedtome module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[6], $modules[0], $orderBy[0], $count[0])) && p('1:name') && e('任务1'); // 测试获取执行ID 1 product 1 type finishedbyme module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[6], $modules[0], $orderBy[0], $count[1])) && p() && e('1'); // 测试获取执行ID 1 product 1 type finishedbyme module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[7], $modules[0], $orderBy[0], $count[0])) && p('1:name') && e('任务1'); // 测试获取执行ID 1 product 1 type delayed module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[7], $modules[0], $orderBy[0], $count[1])) && p() && e('2'); // 测试获取执行ID 1 product 1 type delayed module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[8], $modules[0], $orderBy[0], $count[0])) && p('1:name') && e('任务1'); // 测试获取执行ID 1 product 1 type wait module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[8], $modules[0], $orderBy[0], $count[1])) && p() && e('1'); // 测试获取执行ID 1 product 1 type wait module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[9], $modules[0], $orderBy[0], $count[0])) && p('11:name') && e('任务11'); // 测试获取执行ID 1 product 1 type doing module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[9], $modules[0], $orderBy[0], $count[1])) && p() && e('1'); // 测试获取执行ID 1 product 1 type doing module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[10], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 1 product 1 type done module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[10], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 1 product 1 type done module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[11], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 1 product 1 type pause module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[11], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 1 product 1 type pause module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[12], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 1 product 1 type cancel module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[12], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 1 product 1 type cancel module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[13], $modules[0], $orderBy[0], $count[0])) && p('1:name') && e('任务1'); // 测试获取执行ID 1 product 1 type array('wait', 'doing', 'done', 'pause', 'cancel') module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[1], $type[13], $modules[0], $orderBy[0], $count[1])) && p() && e('2'); // 测试获取执行ID 1 product 1 type array('wait', 'doing', 'done', 'pause', 'cancel') module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[0], $type[0], $modules[1], $orderBy[0], $count[0])) && p('17:name') && e('任务17'); // 测试获取执行ID 1 product 0 type all module array(2) orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[0], $type[0], $modules[1], $orderBy[0], $count[1])) && p() && e('2'); // 测试获取执行ID 1 product 0 type all module array(2) orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[0], $type[0], $modules[2], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 1 product 0 type all module array(8) orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[0], $type[0], $modules[2], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 1 product 0 type all module array(8) orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[0], $type[0], $modules[3], $orderBy[0], $count[0])) && p('17:name') && e('任务17'); // 测试获取执行ID 1 product 0 type all module array(2,8) orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[0], $type[0], $modules[3], $orderBy[0], $count[1])) && p() && e('2'); // 测试获取执行ID 1 product 0 type all module array(2,8) orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[0], $type[0], $modules[0], $orderBy[1], $count[0])) && p('1:name') && e('任务1'); // 测试获取执行ID 1 product 0 type all module 空 orederBy 'pri_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[1], $productIdList[0], $type[0], $modules[0], $orderBy[1], $count[1])) && p() && e('10'); // 测试获取执行ID 1 product 0 type all module 空 orederBy 'pri_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[0], $type[0], $modules[0], $orderBy[0], $count[0])) && p('18:name') && e('任务18'); // 测试获取执行ID 2 product 0 type all module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[0], $type[0], $modules[0], $orderBy[0], $count[1])) && p() && e('10'); // 测试获取执行ID 2 product 0 type all module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[0], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type all module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[0], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type all module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[1], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type assignedbyme module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[1], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type assignedbyme module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[2], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type myinvolved module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[2], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type myinvolved module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[3], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type undone module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[3], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type undone module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[4], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type needconfirm module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[4], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type needconfirm module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[5], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type assignedtome module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[5], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type assignedtome module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[6], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type finishedbyme module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[6], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type finishedbyme module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[7], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type delayed module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[7], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type delayed module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[8], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type wait module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[8], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type wait module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[9], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type doing module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[9], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type doing module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[10], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type done module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[10], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type done module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[11], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type pause module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[11], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type pause module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[12], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type cancel module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[12], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type cancel module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[13], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type array('wait', 'doing', 'done', 'pause', 'cancel') module 空 orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[1], $type[13], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type array('wait', 'doing', 'done', 'pause', 'cancel') module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[0], $type[0], $modules[1], $orderBy[0], $count[0])) && p('2:name') && e('任务2'); // 测试获取执行ID 2 product 0 type all module array(2) orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[0], $type[0], $modules[1], $orderBy[0], $count[1])) && p() && e('2'); // 测试获取执行ID 2 product 0 type all module array(2) orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[0], $type[0], $modules[2], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 0 type all module array(8) orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[0], $type[0], $modules[2], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 0 type all module array(8) orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[0], $type[0], $modules[3], $orderBy[0], $count[0])) && p('2:name') && e('任务2'); // 测试获取执行ID 2 product 0 type all module array(2,8) orederBy 'status_asc, id_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[0], $type[0], $modules[3], $orderBy[0], $count[1])) && p() && e('2'); // 测试获取执行ID 2 product 0 type all module array(2,8) orederBy 'status_asc, id_desc' 的任务数量
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[0], $type[0], $modules[0], $orderBy[1], $count[0])) && p('20:name') && e('任务20'); // 测试获取执行ID 2 product 0 type all module 空 orederBy 'pri_desc' 的任务
r($task->getExecutionTasksTest($executionIdList[2], $productIdList[0], $type[0], $modules[0], $orderBy[1], $count[1])) && p() && e('10'); // 测试获取执行ID 2 product 0 type all module 空 orederBy 'pri_desc' 的任务数量
+253
View File
@@ -0,0 +1,253 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . "/test/lib/init.php";
include dirname(__FILE__, 2) . '/task.class.php';
$execution = zdTable('project');
$execution->id->range('1-5');
$execution->name->range('项目1,项目2,迭代1,迭代2,迭代3');
$execution->type->range('project{2},sprint,stage,kanban');
$execution->status->range('doing{3},closed,doing');
$execution->parent->range('0,0,1,1,2');
$execution->grade->range('2{2},1{3}');
$execution->path->range('1,2,`1,3`,`1,4`,`2,5`')->prefix(',')->postfix(',');
$execution->begin->range('20230102 000000:0')->type('timestamp')->format('YY/MM/DD');
$execution->end->range('20230212 000000:0')->type('timestamp')->format('YY/MM/DD');
$execution->gen(5);
$task = zdTable('task');
$task->id->range('1-20');
$task->name->range('1-20')->prefix('任务');
$task->module->range('1-5');
$task->parent->range('0{15},1{5}');
$task->execution->range('1-2');
$task->story->range('1-10');
$task->mode->range('[]{15},multi{3},linear{2}');
$task->storyVersion->range('1');
$task->deadline->range('20230212 000000:0')->type('timestamp')->format('YY/MM/DD');
$task->status->range('wait,doing{2},done{2},pause,cancel,closed');
$task->assignedTo->range('admin{10},user1{11-20}');
$task->finishedBy->range('admin{10},user2{11-20}');
$task->pri->range('1-4');
$task->gen(20);
$story = zdTable('story');
$story->id->range('1-20');
$story->title->range('1-20')->prefix('需求');
$story->product->range('1-20');
$story->branch->range('0');
$story->version->range('1-2');
$story->status->range('active{10},draft{5},reviewing{2},closed{2},changing');
$story->gen(20);
zdTable('user')->gen(30);
$taskTeam = zdTable('taskteam');
$taskTeam->id->range('1-5');
$taskTeam->task->range('16{2},19{3}');
$taskTeam->account->range('admin,user1,admin,user1,user2');
$taskTeam->estimate->range('1{2},2{3}');
$taskTeam->left->range('1{2},1{3}');
$taskTeam->status->range('wait{2},doing{3}');
$taskTeam->gen(5);
$module = zdTable('module');
$module->root->range('1-5');
$module->type->range('story');
$module->gen(5);
su('admin');
/**
title=taskModel->fetchExecutionTasks();
timeout=0
cid=1
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[0], $productIdList[0], $type[0], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[0], $productIdList[0], $type[0], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[0], $type[0], $modules[0], $orderBy[0], $count[0]- ,属性1 @任务1
@任务1
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[0], $type[0], $modules[0], $orderBy[0], $count[1] @10
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[0], $modules[0], $orderBy[0], $count[0]- ,属性1 @任务1
@任务1
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[0], $modules[0], $orderBy[0], $count[1] @2
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[1], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[1], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[2], $modules[0], $orderBy[0], $count[0]- ,属性1 @任务1
@任务1
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[2], $modules[0], $orderBy[0], $count[1] @1
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[3], $modules[0], $orderBy[0], $count[0]- ,属性1 @任务1
@任务1
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[3], $modules[0], $orderBy[0], $count[1] @2
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[4], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[4], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[5], $modules[0], $orderBy[0], $count[0]- ,属性1 @任务1
@任务1
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[5], $modules[0], $orderBy[0], $count[1] @1
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[6], $modules[0], $orderBy[0], $count[0]- ,属性1 @任务1
@任务1
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[6], $modules[0], $orderBy[0], $count[1] @1
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[7], $modules[0], $orderBy[0], $count[0]- ,属性1 @任务1
@任务1
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[7], $modules[0], $orderBy[0], $count[1] @2
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[8], $modules[0], $orderBy[0], $count[0]- ,属性1 @任务1
@任务1
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[8], $modules[0], $orderBy[0], $count[1] @1
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[9], $modules[0], $orderBy[0], $count[0]- ,属性11 @任务11
@任务11
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[9], $modules[0], $orderBy[0], $count[1] @1
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[10], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[10], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[11], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[11], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[12], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[12], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[13], $modules[0], $orderBy[0], $count[0]- ,属性1 @任务1
@任务1
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[1], $type[13], $modules[0], $orderBy[0], $count[1] @2
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[0], $type[0], $modules[1], $orderBy[0], $count[0]- ,属性17 @任务17
@任务17
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[0], $type[0], $modules[1], $orderBy[0], $count[1] @2
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[0], $type[0], $modules[2], $orderBy[0], $count[0] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[0], $type[0], $modules[2], $orderBy[0], $count[1] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[0], $type[0], $modules[3], $orderBy[0], $count[0]- ,属性17 @任务17
@任务17
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[0], $type[0], $modules[3], $orderBy[0], $count[1] @2
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[0], $type[0], $modules[0], $orderBy[1], $count[0]- ,属性1 @任务1
@任务1
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[1], $productIdList[0], $type[0], $modules[0], $orderBy[1], $count[1] @10
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[0], $type[0], $modules[0], $orderBy[0], $count[0]- ,属性18 @任务18
@任务18
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[0], $type[0], $modules[0], $orderBy[0], $count[1] @10
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[0], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[0], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[1], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[1], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[2], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[2], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[3], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[3], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[4], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[4], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[5], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[5], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[6], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[6], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[7], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[7], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[8], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[8], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[9], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[9], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[10], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[10], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[11], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[11], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[12], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[12], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[13], $modules[0], $orderBy[0], $count[0] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[13], $modules[0], $orderBy[0], $count[1] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[0], $type[0], $modules[1], $orderBy[0], $count[0]- ,属性2 @任务2
@任务2
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[0], $type[0], $modules[1], $orderBy[0], $count[1] @2
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[0], $type[0], $modules[2], $orderBy[0], $count[0] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[0], $type[0], $modules[2], $orderBy[0], $count[1] @0
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[0], $type[0], $modules[3], $orderBy[0], $count[0]- ,属性2 @任务2
@任务2
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[0], $type[0], $modules[3], $orderBy[0], $count[1] @2
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[0], $type[0], $modules[0], $orderBy[1], $count[0]- ,属性20 @任务20
@任务20
- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[0], $type[0], $modules[0], $orderBy[1], $count[1] @10
*/
$executionIdList = array(0, 1, 2);
$productIdList = array(0, 1, 8);
$type = array('all', 'assignedbyme', 'myinvolved', 'undone', 'needconfirm', 'assignedtome', 'finishedbyme', 'delayed', 'wait', 'doing', 'done', 'pause', 'cancel', array('wait', 'doing', 'done', 'pause', 'cancel'));
$modules = array(array(), array(2), array(8), array(2,8));
$orderBy = array('status_asc, id_desc', 'pri_desc');
$count = array('0','1');
$task = new taskTest();
r($task->fetchExecutionTasksTest($executionIdList[0], $productIdList[0], $type[0], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 0 product 0 type all module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[0], $productIdList[0], $type[0], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 0 product 0 type all module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[0], $type[0], $modules[0], $orderBy[0], $count[0])) && p('1:name') && e('任务1'); // 测试获取执行ID 1 product 0 type all module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[0], $type[0], $modules[0], $orderBy[0], $count[1])) && p() && e('10'); // 测试获取执行ID 1 product 0 type all module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[0], $modules[0], $orderBy[0], $count[0])) && p('1:name') && e('任务1'); // 测试获取执行ID 1 product 1 type all module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[0], $modules[0], $orderBy[0], $count[1])) && p() && e('2'); // 测试获取执行ID 1 product 1 type all module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[1], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 1 product 1 type assignedbyme module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[1], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 1 product 1 type assignedbyme module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[2], $modules[0], $orderBy[0], $count[0])) && p('1:name') && e('任务1'); // 测试获取执行ID 1 product 1 type myinvolved module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[2], $modules[0], $orderBy[0], $count[1])) && p() && e('1'); // 测试获取执行ID 1 product 1 type myinvolved module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[3], $modules[0], $orderBy[0], $count[0])) && p('1:name') && e('任务1'); // 测试获取执行ID 1 product 1 type undone module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[3], $modules[0], $orderBy[0], $count[1])) && p() && e('2'); // 测试获取执行ID 1 product 1 type undone module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[4], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 1 product 1 type needconfirm module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[4], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 1 product 1 type needconfirm module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[5], $modules[0], $orderBy[0], $count[0])) && p('1:name') && e('任务1'); // 测试获取执行ID 1 product 1 type assignedtome module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[5], $modules[0], $orderBy[0], $count[1])) && p() && e('1'); // 测试获取执行ID 1 product 1 type assignedtome module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[6], $modules[0], $orderBy[0], $count[0])) && p('1:name') && e('任务1'); // 测试获取执行ID 1 product 1 type finishedbyme module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[6], $modules[0], $orderBy[0], $count[1])) && p() && e('1'); // 测试获取执行ID 1 product 1 type finishedbyme module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[7], $modules[0], $orderBy[0], $count[0])) && p('1:name') && e('任务1'); // 测试获取执行ID 1 product 1 type delayed module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[7], $modules[0], $orderBy[0], $count[1])) && p() && e('2'); // 测试获取执行ID 1 product 1 type delayed module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[8], $modules[0], $orderBy[0], $count[0])) && p('1:name') && e('任务1'); // 测试获取执行ID 1 product 1 type wait module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[8], $modules[0], $orderBy[0], $count[1])) && p() && e('1'); // 测试获取执行ID 1 product 1 type wait module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[9], $modules[0], $orderBy[0], $count[0])) && p('11:name') && e('任务11'); // 测试获取执行ID 1 product 1 type doing module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[9], $modules[0], $orderBy[0], $count[1])) && p() && e('1'); // 测试获取执行ID 1 product 1 type doing module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[10], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 1 product 1 type done module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[10], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 1 product 1 type done module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[11], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 1 product 1 type pause module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[11], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 1 product 1 type pause module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[12], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 1 product 1 type cancel module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[12], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 1 product 1 type cancel module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[13], $modules[0], $orderBy[0], $count[0])) && p('1:name') && e('任务1'); // 测试获取执行ID 1 product 1 type array('wait', 'doing', 'done', 'pause', 'cancel') module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[1], $type[13], $modules[0], $orderBy[0], $count[1])) && p() && e('2'); // 测试获取执行ID 1 product 1 type array('wait', 'doing', 'done', 'pause', 'cancel') module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[0], $type[0], $modules[1], $orderBy[0], $count[0])) && p('17:name') && e('任务17'); // 测试获取执行ID 1 product 0 type all module array(2) orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[0], $type[0], $modules[1], $orderBy[0], $count[1])) && p() && e('2'); // 测试获取执行ID 1 product 0 type all module array(2) orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[0], $type[0], $modules[2], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 1 product 0 type all module array(8) orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[0], $type[0], $modules[2], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 1 product 0 type all module array(8) orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[0], $type[0], $modules[3], $orderBy[0], $count[0])) && p('17:name') && e('任务17'); // 测试获取执行ID 1 product 0 type all module array(2,8) orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[0], $type[0], $modules[3], $orderBy[0], $count[1])) && p() && e('2'); // 测试获取执行ID 1 product 0 type all module array(2,8) orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[0], $type[0], $modules[0], $orderBy[1], $count[0])) && p('1:name') && e('任务1'); // 测试获取执行ID 1 product 0 type all module 空 orederBy 'pri_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[1], $productIdList[0], $type[0], $modules[0], $orderBy[1], $count[1])) && p() && e('10'); // 测试获取执行ID 1 product 0 type all module 空 orederBy 'pri_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[0], $type[0], $modules[0], $orderBy[0], $count[0])) && p('18:name') && e('任务18'); // 测试获取执行ID 2 product 0 type all module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[0], $type[0], $modules[0], $orderBy[0], $count[1])) && p() && e('10'); // 测试获取执行ID 2 product 0 type all module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[0], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type all module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[0], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type all module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[1], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type assignedbyme module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[1], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type assignedbyme module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[2], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type myinvolved module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[2], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type myinvolved module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[3], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type undone module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[3], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type undone module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[4], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type needconfirm module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[4], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type needconfirm module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[5], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type assignedtome module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[5], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type assignedtome module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[6], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type finishedbyme module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[6], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type finishedbyme module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[7], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type delayed module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[7], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type delayed module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[8], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type wait module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[8], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type wait module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[9], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type doing module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[9], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type doing module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[10], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type done module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[10], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type done module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[11], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type pause module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[11], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type pause module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[12], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type cancel module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[12], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type cancel module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[13], $modules[0], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 1 type array('wait', 'doing', 'done', 'pause', 'cancel') module 空 orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[1], $type[13], $modules[0], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 1 type array('wait', 'doing', 'done', 'pause', 'cancel') module 空 orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[0], $type[0], $modules[1], $orderBy[0], $count[0])) && p('2:name') && e('任务2'); // 测试获取执行ID 2 product 0 type all module array(2) orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[0], $type[0], $modules[1], $orderBy[0], $count[1])) && p() && e('2'); // 测试获取执行ID 2 product 0 type all module array(2) orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[0], $type[0], $modules[2], $orderBy[0], $count[0])) && p() && e('0'); // 测试获取执行ID 2 product 0 type all module array(8) orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[0], $type[0], $modules[2], $orderBy[0], $count[1])) && p() && e('0'); // 测试获取执行ID 2 product 0 type all module array(8) orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[0], $type[0], $modules[3], $orderBy[0], $count[0])) && p('2:name') && e('任务2'); // 测试获取执行ID 2 product 0 type all module array(2,8) orederBy 'status_asc, id_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[0], $type[0], $modules[3], $orderBy[0], $count[1])) && p() && e('2'); // 测试获取执行ID 2 product 0 type all module array(2,8) orederBy 'status_asc, id_desc' 的任务数量
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[0], $type[0], $modules[0], $orderBy[1], $count[0])) && p('20:name') && e('任务20'); // 测试获取执行ID 2 product 0 type all module 空 orederBy 'pri_desc' 的任务
r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[0], $type[0], $modules[0], $orderBy[1], $count[1])) && p() && e('10'); // 测试获取执行ID 2 product 0 type all module 空 orederBy 'pri_desc' 的任务数量
+36
View File
@@ -0,0 +1,36 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . "/test/lib/init.php";
$taskTeam = zdTable('taskteam');
$taskTeam->id->range('1-5');
$taskTeam->task->range('1{2},2{3}');
$taskTeam->account->range('admin,dev01,admin,dev01,dev02');
$taskTeam->estimate->range('1{2},2{3}');
$taskTeam->left->range('1{2},1{3}');
$taskTeam->status->range('wait{2},doing{3}');
$taskTeam->gen(5);
su('admin');
/**
title=测试taskModel->getTeamByIdList();
cid=1
pid=1
测试传入空的taskIdList >> 0
测试查询给定taskIdList的任务数量 >> 2
测试查询任务id为1的团队信息 >> admin
*/
global $tester;
$tester->loadModel('task');
$taskIdList = array(1, 2);
$emptyData = $tester->task->getTeamByIdList(array());
$taskTeamGroup = $tester->task->getTeamByIdList($taskIdList);
$firstTaskTeam = current($taskTeamGroup);
r($emptyData) && p() && e('0'); // 测试传入空的taskIdList
r(count($taskTeamGroup)) && p() && e('2'); // 测试查询给定taskIdList的任务数量
r($firstTaskTeam) && p('0:account') && e('1,admin'); // 测试查询任务id为1团队中第一个人的用户名
+34 -4
View File
@@ -458,9 +458,9 @@ class taskTest
* @access public
* @return array
*/
public function getExecutionTasksTest($executionID, $productID = 0, $type = 'all', $modules = 0, $orderBy = 'status_asc, id_desc', $count = '0')
public function getExecutionTasksTest($executionID, $productID = 0, $type = 'all', $modules = array(), $orderBy = 'status_asc, id_desc', $count = '0')
{
$object = $this->objectModel->getExecutionTasks($executionID, $productID, $type, $modules, $orderBy);
$tasks = $this->objectModel->getExecutionTasks($executionID, $productID, $type, $modules, $orderBy);
if(dao::isError())
{
$error = dao::getError();
@@ -468,11 +468,11 @@ class taskTest
}
elseif($count == "1")
{
return count($object);
return count($tasks);
}
else
{
return $object;
return $tasks;
}
}
@@ -1508,4 +1508,34 @@ class taskTest
return $object;
}
/**
* Test fetch tasks of a execution.
*
* @param int $executionID
* @param int $productID
* @param string|array $type
* @param string $modules
* @param string $orderBy
* @param string $count
* @access public
* @return array
*/
public function fetchExecutionTasksTest($executionID, $productID = 0, $type = 'all', $modules = array(), $orderBy = 'status_asc, id_desc', $count = '0'): array|int
{
$tasks = $this->objectModel->fetchExecutionTasks($executionID, $productID, $type, $modules, $orderBy);
if(dao::isError())
{
$error = dao::getError();
return $error;
}
elseif($count == "1")
{
return count($tasks);
}
else
{
return $tasks;
}
}
}