Merge branch release/21.7.5 of zentao/zentaopms (#11036)

This commit is contained in:
刘刚
2025-08-20 14:10:53 +08:00
committed by Gitfox
4 changed files with 104 additions and 45 deletions
+21 -17
View File
@@ -4,33 +4,37 @@ declare(strict_types=1);
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/my.unittest.class.php';
zenData('user')->gen('2');
zenData('feedback')->gen('20');
zenData('product')->gen('20');
su('admin');
/**
title=测试 myModel->getReviewingFeedbacks();
timeout=0
cid=1
- 测试获取排序 id_desc 的审批id。 @empty
- 测试获取排序 id_asc 的审批id。 @empty
- 测试获取排序 id_desc 的审批是否存在。 @empty
- 测试获取排序 id_asc 的审批是否存在。 @empty
- 测试获取排序 prodcut_desc 的审批id。 @empty
- 测试获取排序 id_desc 的审批id。 @15,8,1
- 测试获取排序 id_asc 的审批id。 @1,8,15
- 测试获取排序 id_desc 的审批是否存在。 @exist
- 测试获取排序 id_asc 的审批是否存在。 @exist
- 测试获取排序 prodcut_desc 的审批id。 @15,8,1
*/
$my = new myTest();
zenData('user')->gen('2');
zenData('feedback')->gen('20');
zenData('product')->gen('20');
su('admin');
global $config;
$config->edition = 'ipd';
$my = new myTest();
$orderBy = array('id_desc', 'id_asc');
$checkExist = array(false, true);
r($my->getReviewingFeedbacksTest($orderBy[0], $checkExist[0])) && p() && e('empty'); // 测试获取排序 id_desc 的审批id。
r($my->getReviewingFeedbacksTest($orderBy[1], $checkExist[0])) && p() && e('empty'); // 测试获取排序 id_asc 的审批id。
r($my->getReviewingFeedbacksTest($orderBy[0], $checkExist[1])) && p() && e('empty'); // 测试获取排序 id_desc 的审批是否存在。
r($my->getReviewingFeedbacksTest($orderBy[1], $checkExist[1])) && p() && e('empty'); // 测试获取排序 id_asc 的审批是否存在。
r($my->getReviewingFeedbacksTest('product_desc', $checkExist[0])) && p() && e('empty'); // 测试获取排序 prodcut_desc 的审批id。
r($my->getReviewingFeedbacksTest($orderBy[0], $checkExist[0])) && p() && e(`15,8,1`); // 测试获取排序 id_desc 的审批id。
r($my->getReviewingFeedbacksTest($orderBy[1], $checkExist[0])) && p() && e(`1,8,15`); // 测试获取排序 id_asc 的审批id。
r($my->getReviewingFeedbacksTest($orderBy[0], $checkExist[1])) && p() && e('exist'); // 测试获取排序 id_desc 的审批是否存在。
r($my->getReviewingFeedbacksTest($orderBy[1], $checkExist[1])) && p() && e('exist'); // 测试获取排序 id_asc 的审批是否存在。
r($my->getReviewingFeedbacksTest('product_desc', $checkExist[0])) && p() && e(`15,8,1`); // 测试获取排序 prodcut_desc 的审批id。
+9 -8
View File
@@ -4,13 +4,9 @@ declare(strict_types=1);
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/my.unittest.class.php';
zenData('user')->gen('2');
su('admin');
/**
title=测试 myModel->getReviewingOAs();
title=测试 myModel->getReviewingOA();
timeout=0
cid=1
@@ -18,12 +14,17 @@ cid=1
- 测试获取排序 id_desc 的审批是否存在。 @empty
- 测试获取排序 id_asc 的审批id。 @empty
- 测试获取排序 id_asc 的审批是否存在。 @empty
- 测试不传入排序 @empty
- 测试不传入排序 @~~
*/
$my = new myTest();
zenData('user')->gen('2');
su('admin');
global $config;
$config->edition = 'ipd';
$my = new myTest();
$orderBy = array('id_desc', 'id_asc');
$checkExist = array(false, true);
@@ -31,4 +32,4 @@ r($my->getReviewingOATest($orderBy[0], $checkExist[0])) && p() && e('empty'); //
r($my->getReviewingOATest($orderBy[0], $checkExist[1])) && p() && e('empty'); // 测试获取排序 id_desc 的审批是否存在。
r($my->getReviewingOATest($orderBy[1], $checkExist[0])) && p() && e('empty'); // 测试获取排序 id_asc 的审批id。
r($my->getReviewingOATest($orderBy[1], $checkExist[1])) && p() && e('empty'); // 测试获取排序 id_asc 的审批是否存在。
r($my->getReviewingOATest('', false)) && p() && e('empty'); // 测试不传入排序
r($my->getReviewingOATest('', false)) && p() && e('~~'); // 测试不传入排序
+59 -17
View File
@@ -1,17 +1,59 @@
#!/usr/bin/env php
<?php
/**
title=测试 pivotModel->getWorkload();
cid=1
pid=1
测试部门id为0,执行状态未分配,工时为7的透视表数据是否正常生成,此返回值包含四条数据。 >> user1,空,项目集2;user4,空,项目集5
测试部门id为1,执行状态未分配,工时为7的透视表数据是否正常生成, 此返回值只包含一条数据。 >> user1,空,项目集2
测试部门id为10000,执行状态未分配,工时为7的透视表数据是否正常生成, 部门id存在但是部门不存在的情况下不会返回数据。 >> 0
测试用户列表为空的情况,如果列表为空,不论传入什么参数,最终返回的都是空数组。 >> 0
测试部门id为0,执行状态已分配,工时为7的透视表数据是否正常生成,此返回值包含四条数据。 >> 2,0,1,2,28.57;10,1,1,5,71.43
测试部门id为0,执行状态已分配,工时为7.5的透视表数据是否正常生成,此返回值包含四条数据,与上面用例的区别在于负载率的不同。 >> 2,0,1,2,26.67;10,1,1,5,66.67
测试部门id为0,执行状态已分配,工时为8的透视表数据是否正常生成,此返回值包含四条数据,于上边用例的区别在于负载率的不同。 >> 2,0,1,2,25;10,1,1,5,62.5
/**
title=测试 pivotModel->getWorkload();
timeout=0
cid=1
- 测试部门id为0,执行状态未分配,工时为7的透视表数据是否正常生成,此返回值包含四条数据。
- 第0条的user属性 @user1
- 第0条的executionName属性 @空
- 第0条的projectName属性 @项目集2
- 第3条的user属性 @user4
- 第3条的executionName属性 @空
- 第3条的projectName属性 @项目集5
- 测试部门id为1,执行状态未分配,工时为7的透视表数据是否正常生成, 此返回值只包含一条数据。
- 第0条的user属性 @user1
- 第0条的executionName属性 @空
- 第0条的projectName属性 @项目集2
- 测试部门id为10000,执行状态未分配,工时为7的透视表数据是否正常生成, 部门id存在但是部门不存在的情况下不会返回数据。 @0
- 测试用户列表为空的情况,如果列表为空,不论传入什么参数,最终返回的都是空数组。 @0
- 测试部门id为0,执行状态已分配,工时为7的透视表数据是否正常生成,此返回值包含四条数据。
- 第0条的id属性 @4
- 第0条的isExecutionNameHtml属性 @0
- 第0条的totalTasks属性 @1
- 第0条的totalHours属性 @4
- 第0条的workload属性 @57.14
- 第1条的id属性 @10
- 第1条的isExecutionNameHtml属性 @1
- 第1条的totalTasks属性 @1
- 第1条的totalHours属性 @5
- 第1条的workload属性 @71.43
- 测试部门id为0,执行状态已分配,工时为7.5的透视表数据是否正常生成,此返回值包含四条数据,与上面用例的区别在于负载率的不同。
- 第0条的id属性 @4
- 第0条的isExecutionNameHtml属性 @0
- 第0条的totalTasks属性 @1
- 第0条的totalHours属性 @4
- 第0条的workload属性 @53.33
- 第1条的id属性 @10
- 第1条的isExecutionNameHtml属性 @1
- 第1条的totalTasks属性 @1
- 第1条的totalHours属性 @5
- 第1条的workload属性 @66.67
- 测试部门id为0,执行状态已分配,工时为8的透视表数据是否正常生成,此返回值包含四条数据,于上边用例的区别在于负载率的不同。
- 第0条的id属性 @4
- 第0条的isExecutionNameHtml属性 @0
- 第0条的totalTasks属性 @1
- 第0条的totalHours属性 @4
- 第0条的workload属性 @50
- 第1条的id属性 @10
- 第1条的isExecutionNameHtml属性 @1
- 第1条的totalTasks属性 @1
- 第1条的totalHours属性 @5
- 第1条的workload属性 @62.5
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
@@ -48,9 +90,9 @@ foreach($result as $row)
if($row->workload) $row->workload = str_replace('%', '', $row->workload);
$name = $row->executionName;
$row->isExecutionNameHtml = 0;
if(strip_tags($name) != $row->executionName) $row->isExecutionNameHtml = 1;
if(strip_tags($name) != $row->executionName) $row->isExecutionNameHtml = 1;
}
r($result) && p('0:id,isExecutionNameHtml,totalTasks,totalHours,workload;3:id,isExecutionNameHtml,totalTasks,totalHours,workload') && e("2,0,1,2,28.57;10,1,1,5,71.43"); //测试部门id为0,执行状态已分配,工时为7的透视表数据是否正常生成,此返回值包含四条数据。
r($result) && p('0:id,isExecutionNameHtml,totalTasks,totalHours,workload;1:id,isExecutionNameHtml,totalTasks,totalHours,workload') && e("4,0,1,4,57.14;10,1,1,5,71.43"); //测试部门id为0,执行状态已分配,工时为7的透视表数据是否正常生成,此返回值包含四条数据。
$result = $pivot->getWorkload($deptList[0], $assignList[1], $usersList[0], $allHourList[1]);
foreach($result as $row)
@@ -58,9 +100,9 @@ foreach($result as $row)
if($row->workload) $row->workload = str_replace('%', '', $row->workload);
$name = $row->executionName;
$row->isExecutionNameHtml = 0;
if(strip_tags($name) != $row->executionName) $row->isExecutionNameHtml = 1;
if(strip_tags($name) != $row->executionName) $row->isExecutionNameHtml = 1;
}
r($result) && p('0:id,isExecutionNameHtml,totalTasks,totalHours,workload;3:id,isExecutionNameHtml,totalTasks,totalHours,workload') && e("2,0,1,2,26.67;10,1,1,5,66.67"); //测试部门id为0,执行状态已分配,工时为7.5的透视表数据是否正常生成,此返回值包含四条数据,与上面用例的区别在于负载率的不同。
r($result) && p('0:id,isExecutionNameHtml,totalTasks,totalHours,workload;1:id,isExecutionNameHtml,totalTasks,totalHours,workload') && e("4,0,1,4,53.33;10,1,1,5,66.67"); //测试部门id为0,执行状态已分配,工时为7.5的透视表数据是否正常生成,此返回值包含四条数据,与上面用例的区别在于负载率的不同。
$result = $pivot->getWorkload($deptList[0], $assignList[1], $usersList[0], $allHourList[2]);
foreach($result as $row)
@@ -68,6 +110,6 @@ foreach($result as $row)
if($row->workload) $row->workload = str_replace('%', '', $row->workload);
$name = $row->executionName;
$row->isExecutionNameHtml = 0;
if(strip_tags($name) != $row->executionName) $row->isExecutionNameHtml = 1;
if(strip_tags($name) != $row->executionName) $row->isExecutionNameHtml = 1;
}
r($result) && p('0:id,isExecutionNameHtml,totalTasks,totalHours,workload;3:id,isExecutionNameHtml,totalTasks,totalHours,workload') && e("2,0,1,2,25;10,1,1,5,62.5"); //测试部门id为0,执行状态已分配,工时为8的透视表数据是否正常生成,此返回值包含四条数据,于上边用例的区别在于负载率的不同。
r($result) && p('0:id,isExecutionNameHtml,totalTasks,totalHours,workload;1:id,isExecutionNameHtml,totalTasks,totalHours,workload') && e("4,0,1,4,50;10,1,1,5,62.5"); //测试部门id为0,执行状态已分配,工时为8的透视表数据是否正常生成,此返回值包含四条数据,于上边用例的区别在于负载率的不同。
+15 -3
View File
@@ -23,19 +23,31 @@ cid=1
- 属性totalEstimate @61
- 属性totalConsumed @18
- 属性totalLeft @61
- 获取不存在项目工时信息
- 属性totalHours @0
- 属性totalEstimate @0
- 属性totalConsumed @0
- 属性totalLeft @0
- 获取项目ID为60的总消耗工时
- 属性totalHours @225
- 属性totalHours @300
- 属性totalEstimate @35
- 属性totalConsumed @11
- 属性totalLeft @35
- 获取不存在项目工时信息
- 属性totalHours @0
- 属性totalEstimate @0
- 属性totalConsumed @0
- 属性totalLeft @0
*/
$projectIdList = array(1, 11, 60);
$projectIdList = array(1, 11, 21, 60, 61);
global $tester;
$tester->loadModel('project');
r($tester->project->getWorkHour($projectIdList[0])) && p('totalHours,totalEstimate,totalConsumed,totalLeft') && e('0,0,0,0'); // 获取不存在项目工时信息
r($tester->project->getWorkHour($projectIdList[1])) && p('totalHours,totalEstimate,totalConsumed,totalLeft') && e('112.5,61,18,61'); // 获取项目ID为11的总预计工时
r($tester->project->getWorkHour($projectIdList[2])) && p('totalHours,totalEstimate,totalConsumed,totalLeft') && e('225,35,11,35'); // 获取项目ID为60的总消耗工时
r($tester->project->getWorkHour($projectIdList[2])) && p('totalHours,totalEstimate,totalConsumed,totalLeft') && e('0,0,0,0'); // 获取不存在项目工时信息
r($tester->project->getWorkHour($projectIdList[3])) && p('totalHours,totalEstimate,totalConsumed,totalLeft') && e('300,35,11,35'); // 获取项目ID为60的总消耗工时
r($tester->project->getWorkHour($projectIdList[4])) && p('totalHours,totalEstimate,totalConsumed,totalLeft') && e('0,0,0,0'); // 获取不存在项目工时信息