diff --git a/module/task/model.php b/module/task/model.php index 0b8830b143..cf3bbee362 100644 --- a/module/task/model.php +++ b/module/task/model.php @@ -2171,7 +2171,7 @@ class taskModel extends model $task->parentName = $parent->name; } } - } + } return $this->processTasks($tasks); } diff --git a/test/class/task.class.php b/test/class/task.class.php index d85a181b55..8373e17752 100644 --- a/test/class/task.class.php +++ b/test/class/task.class.php @@ -563,4 +563,36 @@ class taskTest return $object; } } + + public function getStoryComments($storyID) + { + $object = $this->objectModel->getStoryComments($storyID); + + unset($_POST); + if(dao::isError()) + { + return dao::getError(); + } + else + { + return $object; + } + } + + public function computeWorkingHoursTest($taskID) + { + $result = $this->objectModel->computeWorkingHours($taskID); + + unset($_POST); + if(dao::isError()) + { + return dao::getError(); + } + else + { + $object = $this->objectModel->getById($taskID); + if($object->parent) $parentObject = $this->objectModel->getById($object->parent); + return isset($parentObject) ? $parentObject : $object; + } + } } diff --git a/test/data/action.yaml b/test/data/action.yaml index 580cc8c24b..ee30e86443 100644 --- a/test/data/action.yaml +++ b/test/data/action.yaml @@ -55,7 +55,7 @@ fields: format: "" - field: comment note: "备注" - range: "1-100000" + range: 1-100000 prefix: "这是一个系统日志测试备注" postfix: "" loop: 0 diff --git a/test/data/moretask.yaml b/test/data/moretask.yaml index 9c382fee9c..19a589fe73 100644 --- a/test/data/moretask.yaml +++ b/test/data/moretask.yaml @@ -117,11 +117,12 @@ fields: format: "" - field: deadline note: "截止日期" - range: "2022-02-27" + range: "(-1w)-(-1M):-1D" prefix: "" postfix: "" loop: 0 - format: "" + type: timestamp + format: "YY/MM/DD" - field: status note: "任务状态" range: wait,doing,done,pause,cancel,closed diff --git a/test/data/task.yaml b/test/data/task.yaml index 4eaf8dc707..d74d81ee78 100644 --- a/test/data/task.yaml +++ b/test/data/task.yaml @@ -117,11 +117,12 @@ fields: format: "" - field: deadline note: "截止日期" - range: "2022-02-27" + range: "(+1w)-(-1M):-1D" prefix: "" postfix: "" loop: 0 - format: "" + type: timestamp + format: "YY/MM/DD" - field: status note: "任务状态" range: wait,doing,done,pause,cancel,closed @@ -204,7 +205,8 @@ fields: prefix: "" postfix: "" loop: 0 - format: "" + type: timestamp + format: "YY/MM/DD" - field: realStarted note: "实际开始" from: common.date.v1.yaml @@ -212,7 +214,8 @@ fields: prefix: "" postfix: "" loop: 0 - format: "" + format: "YY/MM/DD" + type: timestamp - field: finishedBy note: "由谁完成" from: common.user.v1.yaml @@ -228,7 +231,8 @@ fields: prefix: "" postfix: "" loop: 0 - format: "" + format: "YY/MM/DD" + type: timestamp - field: finishedList note: "完成者列表" from: common.user.v1.yaml @@ -252,7 +256,8 @@ fields: prefix: "" postfix: "" loop: 0 - format: "" + format: "YY/MM/DD" + type: timestamp - field: closedBy note: "由谁关闭" from: common.user.v1.yaml @@ -268,7 +273,8 @@ fields: prefix: "" postfix: "" loop: 0 - format: "" + format: "YY/MM/DD" + type: timestamp - field: realDuration note: "实际持续时长" range: 1 @@ -305,7 +311,8 @@ fields: prefix: "" postfix: "" loop: 0 - format: "" + format: "YY/MM/DD" + type: timestamp - field: activatedDate note: "重新激活日期" from: common.date.v1.yaml @@ -313,7 +320,8 @@ fields: prefix: "" postfix: "" loop: 0 - format: "" + format: "YY/MM/DD" + type: timestamp - field: deleted note: "是否删除" range: 0 diff --git a/test/data/taskson.yaml b/test/data/taskson.yaml new file mode 100644 index 0000000000..eab4b3786c --- /dev/null +++ b/test/data/taskson.yaml @@ -0,0 +1,326 @@ +title: table zt_task +desc: "任务" +author: automated export +version: "1.0" +fields: + - field: id + note: "id" + range: 901-910 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: parent + note: "父任务" + range: 601-603 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: project + note: "所属项目" + range: 11 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: execution + note: "所属执行" + range: 101 + - field: module + note: "所属模块" + range: 21 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: story + note: "相关需求" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: design + note: "相关设计" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: storyVersion + note: "需求版本" + range: 1 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: designVersion + note: "设计版本" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: fromBug + note: "来源Bug" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: name + note: "任务名称" + fields: + - field: name1 + range: "子任务" + - field: name2 + range: 1-10 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: type + note: "任务类型" + range: design,devel,test,study,discuss,ui,affair,misc + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: pri + note: "优先级" + range: 1-4 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: estimate + note: "最初预计" + range: 0-10 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: consumed + note: "总计消耗" + range: 3-12 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: left + note: "预计剩余" + range: 0-10 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: deadline + note: "截止日期" + range: "(-1w)-(-1M):-1D" + prefix: "" + postfix: "" + loop: 0 + type: timestamp + format: "YY/MM/DD" + - field: status + note: "任务状态" + range: wait,doing,done,pause,cancel,closed + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: subStatus + note: "子状态" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: color + note: "标题颜色" + from: common.color.v1.yaml + use: color + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: mailto + note: "抄送给" + from: common.user.v1.yaml + use: user + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: desc + note: "任务描述" + range: 1-10000 + prefix: "这里是任务描述" + postfix: "" + loop: 0 + format: "" + - field: version + note: "版本号" + range: 1 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: openedBy + note: "由谁创建" + from: common.user.v1.yaml + use: user + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: openedDate + note: "创建日期" + from: common.date.v1.yaml + use: dateA + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: assignedTo + note: "指派给" + from: common.user.v1.yaml + use: user + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: assignedDate + note: "指派日期" + from: common.date.v1.yaml + use: dateA + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: estStarted + note: "预计开始" + range: "2022-01-27" + prefix: "" + postfix: "" + loop: 0 + format: "YY/MM/DD" + type: timestamp + - field: realStarted + note: "实际开始" + from: common.date.v1.yaml + use: dateB + prefix: "" + postfix: "" + loop: 0 + format: "YY/MM/DD" + type: timestamp + - field: finishedBy + note: "由谁完成" + from: common.user.v1.yaml + use: user + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: finishedDate + note: "完成日期" + from: common.date.v1.yaml + use: dateA + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: finishedList + note: "完成者列表" + from: common.user.v1.yaml + use: user + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: canceledBy + note: "由谁取消" + from: common.user.v1.yaml + use: user + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: canceledDate + note: "取消日期" + from: common.date.v1.yaml + use: dateA + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: closedBy + note: "由谁关闭" + from: common.user.v1.yaml + use: user + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: closedDate + note: "关闭日期" + from: common.date.v1.yaml + use: dateA + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: realDuration + note: "实际持续时长" + range: 1 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: planDuration + note: "计划持续时长" + range: 1 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: closedReason + note: "关闭原因" + range: "" + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: lastEditedBy + note: "最后修改者" + from: common.user.v1.yaml + use: user + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: lastEditedDate + note: "最后修改时间" + from: common.date.v1.yaml + use: dateA + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: activatedDate + note: "重新激活日期" + from: common.date.v1.yaml + use: dateB + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: deleted + note: "是否删除" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" diff --git a/test/data/zentao/config.php b/test/data/zentao/config.php index 4eae900058..498dec5383 100644 --- a/test/data/zentao/config.php +++ b/test/data/zentao/config.php @@ -4,6 +4,7 @@ $builder = new stdclass(); $builder->company = array('rows' => 1, 'extends' => array('company')); $builder->user = array('rows' => 1000, 'extends' => array('user')); $builder->dept = array('rows' => 100, 'extends' => array('dept')); +$builder->action = array('rows' => 100, 'extends' => array('action')); $builder->program = array('rows' => 10, 'extends' => array('project', 'program')); $builder->project = array('rows' => 90, 'extends' => array('project', 'project')); @@ -16,6 +17,7 @@ $builder->taskmore = array('rows' => 300, 'extends' => array('task','moreta $builder->taskspec = array('rows' => 600, 'extends' => array('taskspec')); $builder->taskmodule = array('rows' => 1800, 'extends' => array('module','taskmodule')); $builder->taskestimate = array('rows' => 600, 'extends' => array('taskestimate')); +$builder->taskson = array('rows' => 10, 'extends' => array('task', 'taskson')); $builder->case = array('rows' => 400, 'extends' => array('case')); $builder->bug = array('rows' => 300, 'extends' => array('bug')); diff --git a/test/model/task/computeWorkingHours.php b/test/model/task/computeWorkingHours.php new file mode 100644 index 0000000000..d466bf4870 --- /dev/null +++ b/test/model/task/computeWorkingHours.php @@ -0,0 +1,23 @@ +#!/usr/bin/env php +computeWorkingHours(); +cid=1 +pid=1 + +根据taskID计算没有父计划的计划工时 >> 1,0,3,0 +根据taskID计算有父计划的父计划工时 >> 601,18,30,18 + +*/ + +$taskIDList = array('1', '601'); + +$task = new taskTest(); +r($task->computeWorkingHoursTest($taskIDList[0])) && p('id,estimate,consumed,left') && e('1,0,3,0'); //根据taskid计算没有父计划的计划工时 +r($task->computeWorkingHoursTest($taskIDList[1])) && p('id,estimate,consumed,left') && e('601,18,31,13'); //根据taskID计算有父计划的父计划工时 +system("./ztest init"); diff --git a/test/model/task/getProjectID.php b/test/model/task/getProjectID.php index 76b806d0c1..4607b33c9f 100644 --- a/test/model/task/getProjectID.php +++ b/test/model/task/getProjectID.php @@ -6,7 +6,7 @@ su('admin'); /** -title=taskModel->getByList(); +title=taskModel->getProjectID(); cid=1 pid=1 diff --git a/test/model/task/getStoryComments.php b/test/model/task/getStoryComments.php new file mode 100644 index 0000000000..bb9bac556f --- /dev/null +++ b/test/model/task/getStoryComments.php @@ -0,0 +1,21 @@ +#!/usr/bin/env php +getStoryComments(); +cid=1 +pid=1 + +根据executionID查找projectID >> 11 + +*/ + +$storyID = '2'; + +$task = new taskTest(); +r($task->getStoryCommentsTest($storyID)) && p('comment') && e('这是一个系统日志测试备注' . $storyID); //根据executionID查找projectID +system("./ztest init");