From 1914f82da90338c5de00d70e6871a10edc0dcc92 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Wed, 23 Aug 2023 08:43:09 +0800 Subject: [PATCH] * Refactor checkEstStartedAndDeadline method. --- module/task/model.php | 21 ++++++++------- .../test/model/checkeststartedanddeadline.php | 18 ++++++------- .../task/test/model/getmultitaskmembers.php | 26 +++++++++++++++++++ 3 files changed, 46 insertions(+), 19 deletions(-) create mode 100755 module/task/test/model/getmultitaskmembers.php diff --git a/module/task/model.php b/module/task/model.php index 472e34ee91..6928a8796b 100755 --- a/module/task/model.php +++ b/module/task/model.php @@ -2715,16 +2715,17 @@ class taskModel extends model } /** + * 检查开始日期和截止日期。 * Check estStarted and deadline date. * - * @param int $executionID - * @param string $estStarted - * @param string $deadline - * @param string $pre + * @param int $executionID + * @param string $estStarted + * @param string $deadline + * @param string $prefix * @access public - * @return void + * @return false|void */ - public function checkEstStartedAndDeadline($executionID, $estStarted, $deadline, $pre = '') + public function checkEstStartedAndDeadline(int $executionID, string $estStarted, string $deadline, string $prefix = '') { $execution = $this->loadModel('execution')->getByID($executionID); if(empty($execution) || empty($this->config->limitTaskDate)) return false; @@ -2732,14 +2733,14 @@ class taskModel extends model if(!empty($estStarted) && !helper::isZeroDate($estStarted)) { - if($estStarted < $execution->begin) dao::$errors['estStarted'][] = $pre . sprintf($this->lang->task->error->beginLtExecution, $this->lang->execution->common, $execution->begin); - if($estStarted > $execution->end) dao::$errors['estStarted'][] = $pre . sprintf($this->lang->task->error->beginGtExecution, $this->lang->execution->common, $execution->end); + if($estStarted < $execution->begin) dao::$errors['estStarted'] = $prefix . sprintf($this->lang->task->error->beginLtExecution, $this->lang->execution->common, $execution->begin); + if($estStarted > $execution->end) dao::$errors['estStarted'] = $prefix . sprintf($this->lang->task->error->beginGtExecution, $this->lang->execution->common, $execution->end); } if(!empty($deadline) && !helper::isZeroDate($deadline)) { - if($deadline > $execution->end) dao::$errors['deadline'][] = $pre . sprintf($this->lang->task->error->endGtExecution, $this->lang->execution->common, $execution->end); - if($deadline < $execution->begin) dao::$errors['deadline'][] = $pre . sprintf($this->lang->task->error->endLtExecution, $this->lang->execution->common, $execution->begin); + if($deadline > $execution->end) dao::$errors['deadline'] = $prefix . sprintf($this->lang->task->error->endGtExecution, $this->lang->execution->common, $execution->end); + if($deadline < $execution->begin) dao::$errors['deadline'] = $prefix . sprintf($this->lang->task->error->endLtExecution, $this->lang->execution->common, $execution->begin); } } diff --git a/module/task/test/model/checkeststartedanddeadline.php b/module/task/test/model/checkeststartedanddeadline.php index 9c6515c9e4..0a3b410e14 100755 --- a/module/task/test/model/checkeststartedanddeadline.php +++ b/module/task/test/model/checkeststartedanddeadline.php @@ -36,12 +36,12 @@ $deadline = array('2040-01-02', '', '2023-01-15'); $task = new taskTest(); -r($task->checkEstStartedAndDeadlineTest($executionID, $estStarted[0], $deadline[0])) && p('estStarted:0') && e('任务开始日期应大于等于执行的开始日期:2023-01-02。'); // 测试获取执行4 任务开始日期 2000-01-02 结束日期 2040-01-02 是否可以保存 -r($task->checkEstStartedAndDeadlineTest($executionID, $estStarted[0], $deadline[1])) && p('estStarted:0') && e('任务开始日期应大于等于执行的开始日期:2023-01-02。'); // 测试获取执行4 任务开始日期 2000-01-02 结束日期 空 是否可以保存 -r($task->checkEstStartedAndDeadlineTest($executionID, $estStarted[0], $deadline[2])) && p('estStarted:0') && e('任务开始日期应大于等于执行的开始日期:2023-01-02。'); // 测试获取执行4 任务开始日期 2000-01-02 结束日期 2023-01-15 是否可以保存 -r($task->checkEstStartedAndDeadlineTest($executionID, $estStarted[1], $deadline[0])) && p('deadline:0') && e('任务截止日期应小于等于执行的结束日期:2023-02-12。'); // 测试获取执行4 任务开始日期 空 结束日期 2040-01-02 是否可以保存 -r($task->checkEstStartedAndDeadlineTest($executionID, $estStarted[1], $deadline[1])) && p() && e(0); // 测试获取执行4 任务开始日期 空 结束日期 空 是否可以保存 -r($task->checkEstStartedAndDeadlineTest($executionID, $estStarted[1], $deadline[2])) && p() && e(0); // 测试获取执行4 任务开始日期 空 结束日期 2023-01-15 是否可以保存 -r($task->checkEstStartedAndDeadlineTest($executionID, $estStarted[2], $deadline[0])) && p('deadline:0') && e('任务截止日期应小于等于执行的结束日期:2023-02-12。'); // 测试获取执行4 任务开始日期 2023-01-15 结束日期 2040-01-02 是否可以保存 -r($task->checkEstStartedAndDeadlineTest($executionID, $estStarted[2], $deadline[1])) && p() && e(0); // 测试获取执行4 任务开始日期 2023-01-15 结束日期 空 是否可以保存 -r($task->checkEstStartedAndDeadlineTest($executionID, $estStarted[2], $deadline[2])) && p() && e(0); // 测试获取执行4 任务开始日期 2023-01-15 结束日期 2023-01-15 是否可以保存 +r($task->checkEstStartedAndDeadlineTest($executionID, $estStarted[0], $deadline[0])) && p('estStarted') && e('任务开始日期应大于等于执行的开始日期:2023-01-02。'); // 测试获取执行4 任务开始日期 2000-01-02 结束日期 2040-01-02 是否可以保存 +r($task->checkEstStartedAndDeadlineTest($executionID, $estStarted[0], $deadline[1])) && p('estStarted') && e('任务开始日期应大于等于执行的开始日期:2023-01-02。'); // 测试获取执行4 任务开始日期 2000-01-02 结束日期 空 是否可以保存 +r($task->checkEstStartedAndDeadlineTest($executionID, $estStarted[0], $deadline[2])) && p('estStarted') && e('任务开始日期应大于等于执行的开始日期:2023-01-02。'); // 测试获取执行4 任务开始日期 2000-01-02 结束日期 2023-01-15 是否可以保存 +r($task->checkEstStartedAndDeadlineTest($executionID, $estStarted[1], $deadline[0])) && p('deadline') && e('任务截止日期应小于等于执行的结束日期:2023-02-12。'); // 测试获取执行4 任务开始日期 空 结束日期 2040-01-02 是否可以保存 +r($task->checkEstStartedAndDeadlineTest($executionID, $estStarted[1], $deadline[1])) && p() && e(0); // 测试获取执行4 任务开始日期 空 结束日期 空 是否可以保存 +r($task->checkEstStartedAndDeadlineTest($executionID, $estStarted[1], $deadline[2])) && p() && e(0); // 测试获取执行4 任务开始日期 空 结束日期 2023-01-15 是否可以保存 +r($task->checkEstStartedAndDeadlineTest($executionID, $estStarted[2], $deadline[0])) && p('deadline') && e('任务截止日期应小于等于执行的结束日期:2023-02-12。'); // 测试获取执行4 任务开始日期 2023-01-15 结束日期 2040-01-02 是否可以保存 +r($task->checkEstStartedAndDeadlineTest($executionID, $estStarted[2], $deadline[1])) && p() && e(0); // 测试获取执行4 任务开始日期 2023-01-15 结束日期 空 是否可以保存 +r($task->checkEstStartedAndDeadlineTest($executionID, $estStarted[2], $deadline[2])) && p() && e(0); // 测试获取执行4 任务开始日期 2023-01-15 结束日期 2023-01-15 是否可以保存 diff --git a/module/task/test/model/getmultitaskmembers.php b/module/task/test/model/getmultitaskmembers.php new file mode 100755 index 0000000000..189426e210 --- /dev/null +++ b/module/task/test/model/getmultitaskmembers.php @@ -0,0 +1,26 @@ +#!/usr/bin/env php +config('task', true)->gen(10); +zdTable('taskteam')->config('taskteam', true)->gen(6); + +/** + +title=taskModel->getMultiTaskMembers(); +timeout=0 +cid=1 + +*/ + +$taskIdList = array(1, 6, 7, 8, 9); + +global $tester; +$taskModule = $tester->loadModel('task'); + +r($taskModule->getMultiTaskMembers($taskIdList[0])) && p() && e('0'); // 测试传入普通任务 +r($taskModule->getMultiTaskMembers($taskIdList[1])) && p() && e('0'); // 测试传入父任务 +r($taskModule->getMultiTaskMembers($taskIdList[2])) && p() && e('0'); // 测试传入子任务 +r($taskModule->getMultiTaskMembers($taskIdList[3])) && p() && e('0'); // 测试传入串行任务 +r($taskModule->getMultiTaskMembers($taskIdList[4])) && p('0') && e('admin'); // 测试传入并行任务