From c2d7af8f3568c28bc6d8c4e7db723199a213ecde Mon Sep 17 00:00:00 2001 From: tianshujie Date: Thu, 27 Apr 2023 19:06:03 +0800 Subject: [PATCH 1/4] * Modify comment for getteammembersbyidlist. --- module/task/test/tao/getteammembersbyidlist.php | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/module/task/test/tao/getteammembersbyidlist.php b/module/task/test/tao/getteammembersbyidlist.php index d2ff3ff22f..d3dfe6dba0 100755 --- a/module/task/test/tao/getteammembersbyidlist.php +++ b/module/task/test/tao/getteammembersbyidlist.php @@ -18,10 +18,9 @@ title=taskModel->getTeamMembersByIdList(); timeout=0 cid=1 -- 执行$emptyData @0 -- 执行count($taskTeamGroup) @2 -- 执行$firstTaskTeam- ,属性0 @1 - @admin +- 执行$emptyData属性 @0 +- 执行count($taskTeamGroup)属性 @2 +- 执行$firstTaskTeam第0条的account属性 @admin */ @@ -33,6 +32,6 @@ $emptyData = $tester->task->getTeamMembersByIdList(array()); $taskTeamGroup = $tester->task->getTeamMembersByIdList($taskIdList); $firstTaskTeam = current($taskTeamGroup); -r($emptyData) && p() && e('0'); // 测试传入空的taskIdList -r(count($taskTeamGroup)) && p() && e('2'); // 测试查询给定taskIdList的任务数量 -r($firstTaskTeam) && p('0:account') && e('admin'); // 测试查询任务id为1团队中第一个人的用户名 +r($emptyData) && p() && e('0'); // 测试传入空的taskIdList +r(count($taskTeamGroup)) && p() && e('2'); // 测试查询给定taskIdList的任务数量 +r($firstTaskTeam) && p('0:account') && e('admin'); // 测试查询任务id为1团队中第一个人的用户名 From 84565125664455e66328db0ac090a1f43aeac3ec Mon Sep 17 00:00:00 2001 From: caoyanyi Date: Thu, 27 Apr 2023 19:09:37 +0800 Subject: [PATCH 2/4] * Split getByID method. --- module/project/control.php | 7 +++- module/project/model.php | 27 +++++------- module/project/tao.php | 17 ++++++++ module/project/test/model/getbyid.php | 4 +- module/project/test/tao/fetchprojectinfo.php | 43 ++++++++++++++++++++ 5 files changed, 78 insertions(+), 20 deletions(-) create mode 100755 module/project/test/tao/fetchprojectinfo.php diff --git a/module/project/control.php b/module/project/control.php index 7a7b113cf6..f2974853e7 100755 --- a/module/project/control.php +++ b/module/project/control.php @@ -1539,8 +1539,9 @@ class project extends control * @access public * @return void */ - public function team($projectID = 0) + public function team(string $projectID = '0') { + $projectID = (int)$projectID; $this->session->set('teamList', $this->app->getURI(true), 'project'); $this->app->loadLang('execution'); @@ -2046,8 +2047,10 @@ class project extends control * @access public * @return void */ - public function manageProducts($projectID, $from = 'project') + public function manageProducts(string $projectID, $from = 'project') { + $projectID = (int)$projectID; + $this->loadModel('product'); $this->loadModel('program'); $this->loadModel('execution'); diff --git a/module/project/model.php b/module/project/model.php index 5a0b2e6204..4e3f7ded75 100755 --- a/module/project/model.php +++ b/module/project/model.php @@ -179,24 +179,19 @@ class projectModel extends model /** * Get a project by id. + * 根据项目ID获取项目信息。 * * @param int $projectID - * @param string $type project|sprint,stage * @access public - * @return object + * @return object|false */ - public function getByID($projectID, $type = 'project') + public function getByID(int $projectID): object|false { if(defined('TUTORIAL')) return $this->loadModel('tutorial')->getProject(); - $project = $this->dao->select('*')->from(TABLE_PROJECT) - ->where('id')->eq($projectID) - ->andWhere('`type`')->in($type) - ->fetch(); - + $project = $this->projectTao->fetchProjectInfo($projectID); if(!$project) return false; - if(helper::isZeroDate($project->end)) $project->end = ''; $project = $this->loadModel('file')->replaceImgURL($project, 'desc'); return $project; } @@ -1049,7 +1044,7 @@ class projectModel extends model public function buildMenuQuery($projectID = 0) { $path = ''; - $project = $this->getByID($projectID); + $project = $this->projectTao->fetchProjectInfo($projectID); if($project) $path = $project->path; return $this->dao->select('*')->from(TABLE_PROJECT) @@ -1896,7 +1891,7 @@ class projectModel extends model public function activate(int $projectID, object $project) :array|false { $now = helper::now(); - $oldProject = $this->getByID($projectID); + $oldProject = $this->projectTao->fetchProjectInfo($projectID); $daoSuccess = $this->projectTao->doActivate($projectID, $project); if(!$daoSuccess) return false; @@ -2080,7 +2075,7 @@ class projectModel extends model */ public function manageMembers($projectID) { - $project = $this->getByID($projectID); + $project = $this->projectTao->fetchProjectInfo($projectID); $data = (array)fixer::input('post')->get(); extract($data); @@ -2559,7 +2554,7 @@ class projectModel extends model $this->dao->update(TABLE_EXECUTION)->set('division')->eq('1')->where('project')->eq((int)$projectID)->exec(); } - $project = $this->getByID($projectID); + $project = $this->projectTao->fetchProjectInfo($projectID); if(!empty($project) and ($project->model == 'waterfall' or $project->model == 'waterfallplus') and empty($project->division) and !empty($executions)) { $this->loadModel('execution'); @@ -2600,7 +2595,7 @@ class projectModel extends model { if(defined('TUTORIAL')) return $this->loadModel('tutorial')->getTeamMembers(); - $project = $this->getByID($projectID); + $project = $this->projectTao->fetchProjectInfo($projectID); if(empty($project)) return array(); return $this->dao->select("t1.*, t1.hours * t1.days AS totalHours, t2.id as userID, if(t2.deleted='0', t2.realname, t1.account) as realname")->from(TABLE_TEAM)->alias('t1') @@ -2837,14 +2832,14 @@ class projectModel extends model $model = 'scrum'; $objectID = (empty($objectID) and $this->session->project) ? $this->session->project : $objectID; - $project = $this->getByID($objectID); + $project = $this->projectTao->fetchProjectInfo($objectID); if(!$project) { $execution = $this->loadModel('execution')->getByID($objectID); if($execution and $execution->project and !$execution->multiple) { - $project = $this->getByID($execution->project); + $project = $this->projectTao->fetchProjectInfo($execution->project); $objectID = $execution->project; } } diff --git a/module/project/tao.php b/module/project/tao.php index 990c176bc0..514c0dd1ce 100755 --- a/module/project/tao.php +++ b/module/project/tao.php @@ -131,4 +131,21 @@ class projectTao extends projectModel return true; } + + /** + * Get project details, including all contents of the TABLE_PROJECT. + * 获取项目的详情,包含project表的所有内容。 + * + * @param int $projectID + * @access protected + * @return object|false + */ + protected function fetchProjectInfo(int $projectID): object|false + { + $project = $this->dao->select('*')->from(TABLE_PROJECT)->where('id')->eq($projectID)->fetch(); + + /* Filter the date is empty or 1970. */ + if($project and helper::isZeroDate($project->end)) $project->end = ''; + return $project; + } } diff --git a/module/project/test/model/getbyid.php b/module/project/test/model/getbyid.php index 9f6165f165..70d6bd79ca 100755 --- a/module/project/test/model/getbyid.php +++ b/module/project/test/model/getbyid.php @@ -45,5 +45,5 @@ $tester->loadModel('project'); initData(); -r($tester->project->getByID(2, 'project')) && p('code,type') && e('project2,project'); //获取ID等于11的项目 -r($tester->project->getByID(1, 'project')) && p('code') && e('0'); //获取不存在的项目 +r($tester->project->getByID(2)) && p('code,type') && e('project2,project'); //获取ID等于11的项目 +r($tester->project->getByID(1)) && p('code') && e('0'); //获取不存在的项目 diff --git a/module/project/test/tao/fetchprojectinfo.php b/module/project/test/tao/fetchprojectinfo.php new file mode 100755 index 0000000000..21f9fb1bd4 --- /dev/null +++ b/module/project/test/tao/fetchprojectinfo.php @@ -0,0 +1,43 @@ +#!/usr/bin/env php +id->range('2-5'); + $project->project->range('2-5'); + $project->name->prefix("项目")->range('2-5'); + $project->code->prefix("project")->range('2-5'); + $project->model->range("scrum"); + $project->auth->range("[]"); + $project->path->range("[]"); + $project->type->range("project"); + $project->grade->range("1"); + $project->days->range("1"); + $project->status->range("wait"); + $project->desc->range("[]"); + $project->budget->range("100000,200000"); + $project->budgetUnit->range("CNY"); + $project->percent->range("0-0"); + + $project->gen(4); +} + +/** + +title=测试 projectModel::fetchProjectInfo; +timeout=0 +cid=1 + + +*/ + +global $tester; +$tester->loadModel('project'); + +initData(); + +r($tester->project->fetchProjectInfo(2)) && p('code,type') && e('project2,project'); //获取ID等于11的项目 +r($tester->project->fetchProjectInfo(1)) && p('code') && e('0'); //获取不存在的项目 From 6b5dbfd83b46892f4c604205d7af83a377423ed0 Mon Sep 17 00:00:00 2001 From: Wangyuting <851424971@qq.com> Date: Thu, 27 Apr 2023 19:10:51 +0800 Subject: [PATCH 3/4] * Optimize block code. --- module/block/control.php | 2 +- module/block/test/model/create.php | 0 2 files changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 module/block/test/model/create.php diff --git a/module/block/control.php b/module/block/control.php index de9df52d62..b1084e3dda 100755 --- a/module/block/control.php +++ b/module/block/control.php @@ -380,7 +380,7 @@ class block extends control */ public function printBlock($id, $module = 'my') { - $block = $this->block->getByID($id); + $block = $this->block->getByID((int)$id); if(empty($block)) return false; diff --git a/module/block/test/model/create.php b/module/block/test/model/create.php old mode 100644 new mode 100755 From d0faa75370025f798b1c0a0ce10091cd4fd5b555 Mon Sep 17 00:00:00 2001 From: liumengyi Date: Thu, 27 Apr 2023 19:11:35 +0800 Subject: [PATCH 4/4] * Add comment of task-fetchExecutionTasks task-computeCurrentTaskStatus task-computeHours4Multiple unit test. --- .../task/test/model/computehours4multiple.php | 94 ++++++- .../test/tao/computecurrenttaskstatus.php | 88 +++++- module/task/test/tao/fetchexecutiontasks.php | 253 +++++++++++------- 3 files changed, 336 insertions(+), 99 deletions(-) mode change 100644 => 100755 module/task/test/tao/computecurrenttaskstatus.php diff --git a/module/task/test/model/computehours4multiple.php b/module/task/test/model/computehours4multiple.php index ea04d19649..e121331633 100755 --- a/module/task/test/model/computehours4multiple.php +++ b/module/task/test/model/computehours4multiple.php @@ -61,8 +61,98 @@ $members = array(array($members1, $members2), array($members3)); /** title=taskModel->computeHours4Multiple(); +timeout=0 cid=1 -pid=1 + +- 执行task模块的computeHours4Multiple方法,参数是$oldTasks[0] + - 属性id @1 + - 属性assignedTo @admin + - 属性status @doing + - 属性estimate @5 + - 属性consumed @0 + - 属性left @4 + +- 执行task模块的computeHours4Multiple方法,参数是$oldTasks[1] + - 属性id @2 + - 属性assignedTo @user1 + - 属性status @done + - 属性estimate @13 + - 属性consumed @0 + - 属性left @0 + +- 执行task模块的computeHours4Multiple方法,参数是$oldTasks[2] + - 属性id @3 + - 属性assignedTo @admin + - 属性status @done + - 属性estimate @15 + - 属性consumed @0 + - 属性left @4 + +- 执行task模块的computeHours4Multiple方法,参数是$oldTasks[3] + - 属性id @4 + - 属性assignedTo @user1 + - 属性status @pause + - 属性estimate @17 + - 属性consumed @0 + - 属性left @2 + +- 执行task模块的computeHours4Multiple方法,参数是$oldTasks[4] + - 属性id @5 + - 属性assignedTo @admin + - 属性status @cancel + - 属性estimate @0 + - 属性consumed @0 + - 属性left @0 + +- 执行task模块的computeHours4Multiple方法,参数是$oldTasks[0], $tasks[0] + - 属性id @1 + - 属性assignedTo @admin + - 属性status @doing + - 属性estimate @5 + - 属性consumed @0 + - 属性left @4 + +- 执行task模块的computeHours4Multiple方法,参数是$oldTasks[1], $tasks[1] + - 属性id @2 + - 属性assignedTo @user1 + - 属性status @done + - 属性estimate @13 + - 属性consumed @0 + - 属性left @0 + +- 执行task模块的computehours4multiple方法,参数是$oldTasks[0], $tasks[0], $members[0] + - 属性id @1 + - 属性assignedTo @admin + - 属性status @doing + - 属性estimate @3 + - 属性consumed @0 + - 属性left @3 + +- 执行task模块的computehours4multiple方法,参数是$oldTasks[1], $tasks[1], $members[1] + - 属性id @2 + - 属性assignedTo @user1 + - 属性status @done + - 属性estimate @3 + - 属性consumed @0 + - 属性left @3 + +- 执行task模块的computehours4multiple方法,参数是$oldTasks[0], $tasks[0], $members[0], false + - 属性id @1 + - 属性assignedTo @admin + - 属性status @doing + - 属性estimate @3 + - 属性consumed @0 + - 属性left @3 + +- 执行task模块的computehours4multiple方法,参数是$oldTasks[1], $tasks[1], $members[1], false + - 属性id @2 + - 属性assignedTo @user1 + - 属性status @done + - 属性estimate @3 + - 属性consumed @0 + - 属性left @3 + + */ @@ -77,4 +167,4 @@ r($task->computeHours4MultipleTest($oldTasks[1], $tasks[1])) r($task->computehours4multipletest($oldTasks[0], $tasks[0], $members[0])) && p('id,assignedTo,status,estimate,consumed,left') && e('1,admin,doing,3,0,3'); // taskID 1 有传入task 传入members计算多人工时 r($task->computehours4multipletest($oldTasks[1], $tasks[1], $members[1])) && p('id,assignedTo,status,estimate,consumed,left') && e('2,user1,done,3,0,3'); // taskID 2 有传入task 传入members计算多人工时 r($task->computehours4multipletest($oldTasks[0], $tasks[0], $members[0], false)) && p('id,assignedTo,status,estimate,consumed,left') && e('1,admin,doing,3,0,3'); // taskID 1 有传入task 传入members 不自动更新状态计算多人工时 -r($task->computehours4multipletest($oldTasks[1], $tasks[1], $members[1], false)) && p('id,assignedTo,status,estimate,consumed,left') && e('2,user1,done,3,0,3'); // taskID 2 有传入task 传入members 不自动更新状态计算多人工时 +r($task->computehours4multipletest($oldTasks[1], $tasks[1], $members[1], false)) && p('id,assignedTo,status,estimate,consumed,left') && e('2,user1,done,3,0,3'); // taskID 2 有传入task 传入members 不自动更新状态计算多人工时 \ No newline at end of file diff --git a/module/task/test/tao/computecurrenttaskstatus.php b/module/task/test/tao/computecurrenttaskstatus.php old mode 100644 new mode 100755 index bc0d69c456..12330b9202 --- a/module/task/test/tao/computecurrenttaskstatus.php +++ b/module/task/test/tao/computecurrenttaskstatus.php @@ -65,6 +65,92 @@ title=taskModel->computeCurrentTaskStatus(); timeout=0 cid=1 +- 执行$task1 + - 属性status @doing + - 属性assignedTo @user1 + - 属性estimate @9 + - 属性left @0 + - 属性consumed @10 + +- 执行$task2 + - 属性status @doing + - 属性assignedTo @user1 + - 属性estimate @9 + - 属性left @0 + - 属性consumed @10 + +- 执行$task3 + - 属性status @doing + - 属性assignedTo @user1 + - 属性estimate @9 + - 属性left @0 + - 属性consumed @10 + +- 执行$task4 + - 属性status @doing + - 属性assignedTo @user1 + - 属性estimate @9 + - 属性left @0 + - 属性consumed @10 + +- 执行$task5 + - 属性status @doing + - 属性assignedTo @user1 + - 属性estimate @9 + - 属性left @0 + - 属性consumed @10 + +- 执行$task6 + - 属性status @doing + - 属性assignedTo @user1 + - 属性estimate @9 + - 属性left @0 + - 属性consumed @10 + +- 执行$task7 + - 属性status @done + - 属性assignedTo @admin + - 属性estimate @8 + - 属性left @8 + - 属性consumed @0 + +- 执行$task8 + - 属性status @done + - 属性assignedTo @admin + - 属性estimate @8 + - 属性left @8 + - 属性consumed @0 + +- 执行$task9 + - 属性status @done + - 属性assignedTo @admin + - 属性estimate @8 + - 属性left @8 + - 属性consumed @0 + +- 执行$task10 + - 属性status @done + - 属性assignedTo @admin + - 属性estimate @8 + - 属性left @8 + - 属性consumed @0 + +- 执行$task11 + - 属性status @done + - 属性assignedTo @admin + - 属性estimate @8 + - 属性left @8 + - 属性consumed @0 + +- 执行$task12 + - 属性status @done + - 属性assignedTo @admin + - 属性estimate @8 + - 属性left @8 + - 属性consumed @0 + + + */ $task = new taskTest(); @@ -92,4 +178,4 @@ r($task8) && p('status,assignedTo,estimate,left,consumed') && e('done,admin,8,8 r($task9) && p('status,assignedTo,estimate,left,consumed') && e('done,admin,8,8,0'); // 查询 task9 情况的task信息 currentTask[1] taskID 2 currentTasksestimate 状态自动变更 有工时消耗 团队成员members[0] r($task10) && p('status,assignedTo,estimate,left,consumed') && e('done,admin,8,8,0'); // 查询 task10 情况的task信息 currentTask[1] taskID 2 currentTasksestimate 状态非自动变更 有工时消耗 团队成员members[0] r($task11) && p('status,assignedTo,estimate,left,consumed') && e('done,admin,8,8,0'); // 查询 task11 情况的task信息 currentTask[1] taskID 2 currentTasksestimate 状态非自动变更 没有工时消耗 团队成员members[0] -r($task12) && p('status,assignedTo,estimate,left,consumed') && e('done,admin,8,8,0'); // 查询 task12 情况的task信息 currentTask[1] taskID 2 currentTasksestimate 状态非自动变更 没有工时消耗 团队成员members[1] +r($task12) && p('status,assignedTo,estimate,left,consumed') && e('done,admin,8,8,0'); // 查询 task12 情况的task信息 currentTask[1] taskID 2 currentTasksestimate 状态非自动变更 没有工时消耗 团队成员members[1] \ No newline at end of file diff --git a/module/task/test/tao/fetchexecutiontasks.php b/module/task/test/tao/fetchexecutiontasks.php index dbd38a3136..12c641ef88 100755 --- a/module/task/test/tao/fetchexecutiontasks.php +++ b/module/task/test/tao/fetchexecutiontasks.php @@ -64,101 +64,162 @@ 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 +- 执行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条的name属性 @任务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条的name属性 @任务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条的name属性 @任务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条的name属性 @任务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条的name属性 @任务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条的name属性 @任务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条的name属性 @任务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条的name属性 @任务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条的name属性 @任务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条的name属性 @任务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条的name属性 @任务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条的name属性 @任务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条的name属性 @任务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条的name属性 @任务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]第6条的name属性 @任务6 + +- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[0], $modules[0], $orderBy[0], $count[1]属性 @2 + +- 执行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]第6条的name属性 @任务6 + +- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[2], $modules[0], $orderBy[0], $count[1]属性 @2 + +- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[3], $modules[0], $orderBy[0], $count[0]第6条的name属性 @任务6 + +- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[3], $modules[0], $orderBy[0], $count[1]属性 @1 + +- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[4], $modules[0], $orderBy[0], $count[0]第6条的name属性 @任务6 + +- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[4], $modules[0], $orderBy[0], $count[1]属性 @2 + +- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[5], $modules[0], $orderBy[0], $count[0]第6条的name属性 @任务6 + +- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[5], $modules[0], $orderBy[0], $count[1]属性 @2 + +- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[6], $modules[0], $orderBy[0], $count[0]第6条的name属性 @任务6 + +- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[6], $modules[0], $orderBy[0], $count[1]属性 @2 + +- 执行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]第6条的name属性 @任务6 + +- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[11], $modules[0], $orderBy[0], $count[1]属性 @1 + +- 执行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]第6条的name属性 @任务6 + +- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[1], $type[13], $modules[0], $orderBy[0], $count[1]属性 @1 + +- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[0], $type[0], $modules[1], $orderBy[0], $count[0]第2条的name属性 @任务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条的name属性 @任务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条的name属性 @任务20 + +- 执行task模块的fetchExecutionTasks方法,参数是$executionIdList[2], $productIdList[0], $type[0], $modules[0], $orderBy[1], $count[1]属性 @10 + */ @@ -250,4 +311,4 @@ r($task->fetchExecutionTasksTest($executionIdList[2], $productIdList[0], $type[ 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' 的任务数量 +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' 的任务数量 \ No newline at end of file