From 03797d148769feadd286c3287278f0b0fa62c71c Mon Sep 17 00:00:00 2001 From: daitingting Date: Wed, 6 Aug 2025 14:36:29 +0800 Subject: [PATCH 1/4] * [task#147282,done,0.5h] Adjust getworkloadassign test. --- module/pivot/test/model/getworkloadassign.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/module/pivot/test/model/getworkloadassign.php b/module/pivot/test/model/getworkloadassign.php index ffc2afbe63..268824c49f 100755 --- a/module/pivot/test/model/getworkloadassign.php +++ b/module/pivot/test/model/getworkloadassign.php @@ -12,8 +12,8 @@ cid=1 - 第0条的id属性 @2 - 第0条的isExecutionNameHtml属性 @0 - 第0条的totalTasks属性 @1 - - 第0条的totalHours属性 @2 - - 第0条的workload属性 @28.57 + - 第0条的totalHours属性 @1 + - 第0条的workload属性 @14.29 - 第3条的id属性 @10 - 第3条的isExecutionNameHtml属性 @1 - 第3条的totalTasks属性 @1 @@ -23,8 +23,8 @@ cid=1 - 第0条的id属性 @2 - 第0条的isExecutionNameHtml属性 @0 - 第0条的totalTasks属性 @1 - - 第0条的totalHours属性 @2 - - 第0条的workload属性 @26.67 + - 第0条的totalHours属性 @1 + - 第0条的workload属性 @13.33 - 第3条的id属性 @10 - 第3条的isExecutionNameHtml属性 @1 - 第3条的totalTasks属性 @1 @@ -34,8 +34,8 @@ cid=1 - 第0条的id属性 @2 - 第0条的isExecutionNameHtml属性 @0 - 第0条的totalTasks属性 @1 - - 第0条的totalHours属性 @2 - - 第0条的workload属性 @25 + - 第0条的totalHours属性 @1 + - 第0条的workload属性 @12.5 - 第3条的id属性 @10 - 第3条的isExecutionNameHtml属性 @1 - 第3条的totalTasks属性 @1 @@ -76,7 +76,7 @@ foreach($result as $row) $row->isExecutionNameHtml = 0; 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;3:id,isExecutionNameHtml,totalTasks,totalHours,workload') && e("2,0,1,1,14.29;10,1,1,5,71.43"); //测试部门id为0,执行状态已分配,工时为7的透视表数据是否正常生成,此返回值包含四条数据。 $result = $pivot->getWorkload($deptList[0], $assignList[1], $usersList[0], $allHourList[1]); foreach($result as $row) @@ -86,7 +86,7 @@ foreach($result as $row) $row->isExecutionNameHtml = 0; 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;3:id,isExecutionNameHtml,totalTasks,totalHours,workload') && e("2,0,1,1,13.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) @@ -96,4 +96,4 @@ foreach($result as $row) $row->isExecutionNameHtml = 0; 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的透视表数据是否正常生成,此返回值包含四条数据,于上边用例的区别在于负载率的不同。 \ No newline at end of file +r($result) && p('0:id,isExecutionNameHtml,totalTasks,totalHours,workload;3:id,isExecutionNameHtml,totalTasks,totalHours,workload') && e("2,0,1,1,12.5;10,1,1,5,62.5"); //测试部门id为0,执行状态已分配,工时为8的透视表数据是否正常生成,此返回值包含四条数据,于上边用例的区别在于负载率的不同。 \ No newline at end of file From 467ea351f730b0bc6b6cb74cc297118286f57fcd Mon Sep 17 00:00:00 2001 From: daitingting Date: Thu, 7 Aug 2025 08:45:00 +0800 Subject: [PATCH 2/4] * [task#147282,done,1h] Process float --- module/pivot/model.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/module/pivot/model.php b/module/pivot/model.php index 23741425cb..94ce1abe0f 100644 --- a/module/pivot/model.php +++ b/module/pivot/model.php @@ -586,7 +586,7 @@ class pivotModel extends model if(isset($taskGroups[$user][$project][$execution][$id])) { - $taskGroups[$user][$project][$execution][$id]->left += $task->left; + $taskGroups[$user][$project][$execution][$id]->left = round($taskGroups[$user][$project][$execution][$id]->left + $task->left, 2); } else { @@ -678,7 +678,7 @@ class pivotModel extends model { if(isset($teamTasks[$task->id])) $task->left = $teamTasks[$task->id]->left; - $totalHours += $task->left; + $totalHours = round($totalHours + $task->left, 2); } } } From a514dab6a929d89510eff298ad98ef3a68951b3f Mon Sep 17 00:00:00 2001 From: daitingting Date: Tue, 19 Aug 2025 14:14:46 +0800 Subject: [PATCH 3/4] * [unittest] Adjust getworkloadassign test. --- module/pivot/test/model/getworkloadassign.php | 56 +++++++++---------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/module/pivot/test/model/getworkloadassign.php b/module/pivot/test/model/getworkloadassign.php index 268824c49f..61e32b604e 100755 --- a/module/pivot/test/model/getworkloadassign.php +++ b/module/pivot/test/model/getworkloadassign.php @@ -9,38 +9,38 @@ cid=1 - 测试用户列表为空的情况,如果列表为空,不论传入什么参数,最终返回的都是空数组。 @0 - 测试部门id为0,执行状态已分配,工时为7的透视表数据是否正常生成,此返回值包含四条数据。 - - 第0条的id属性 @2 + - 第0条的id属性 @4 - 第0条的isExecutionNameHtml属性 @0 - 第0条的totalTasks属性 @1 - - 第0条的totalHours属性 @1 - - 第0条的workload属性 @14.29 - - 第3条的id属性 @10 - - 第3条的isExecutionNameHtml属性 @1 - - 第3条的totalTasks属性 @1 - - 第3条的totalHours属性 @5 - - 第3条的workload属性 @71.43 + - 第0条的totalHours属性 @4 + - 第0条的workload属性 @57.14 + - 第2条的id属性 @10 + - 第2条的isExecutionNameHtml属性 @1 + - 第2条的totalTasks属性 @1 + - 第2条的totalHours属性 @5 + - 第2条的workload属性 @71.43 - 测试部门id为0,执行状态已分配,工时为7.5的透视表数据是否正常生成,此返回值包含四条数据,与上面用例的区别在于负载率的不同。 - - 第0条的id属性 @2 + - 第0条的id属性 @4 - 第0条的isExecutionNameHtml属性 @0 - 第0条的totalTasks属性 @1 - - 第0条的totalHours属性 @1 - - 第0条的workload属性 @13.33 - - 第3条的id属性 @10 - - 第3条的isExecutionNameHtml属性 @1 - - 第3条的totalTasks属性 @1 - - 第3条的totalHours属性 @5 - - 第3条的workload属性 @66.67 + - 第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属性 @2 + - 第0条的id属性 @4 - 第0条的isExecutionNameHtml属性 @0 - 第0条的totalTasks属性 @1 - - 第0条的totalHours属性 @1 - - 第0条的workload属性 @12.5 - - 第3条的id属性 @10 - - 第3条的isExecutionNameHtml属性 @1 - - 第3条的totalTasks属性 @1 - - 第3条的totalHours属性 @5 - - 第3条的workload属性 @62.5 + - 第0条的totalHours属性 @4 + - 第0条的workload属性 @50 + - 第2条的id属性 @10 + - 第2条的isExecutionNameHtml属性 @1 + - 第2条的totalTasks属性 @1 + - 第2条的totalHours属性 @5 + - 第2条的workload属性 @62.5 */ @@ -66,7 +66,7 @@ $assignList = array('noassign', 'assign'); $allHourList = array(7, 7.5, 8); $usersList = array($users, array()); -r($pivot->getWorkload($deptList[0], $assignList[1], $usersList[1], $allHourList[1])) && p('') && e('0'); //测试用户列表为空的情况,如果列表为空,不论传入什么参数,最终返回的都是空数组。 +r($pivot->getWorkload($deptList[0], $assignList[1], $usersList[1], $allHourList[1])) && p('') && e('0'); //测试用户列表为空的情况,如果列表为空,不论传入什么参数,最终返回的都是空数组。 $result = $pivot->getWorkload($deptList[0], $assignList[1], $usersList[0], $allHourList[0]); foreach($result as $row) @@ -76,7 +76,7 @@ foreach($result as $row) $row->isExecutionNameHtml = 0; 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,1,14.29;10,1,1,5,71.43"); //测试部门id为0,执行状态已分配,工时为7的透视表数据是否正常生成,此返回值包含四条数据。 +r($result) && p('0:id,isExecutionNameHtml,totalTasks,totalHours,workload;2: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) @@ -86,7 +86,7 @@ foreach($result as $row) $row->isExecutionNameHtml = 0; 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,1,13.33;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) @@ -96,4 +96,4 @@ foreach($result as $row) $row->isExecutionNameHtml = 0; 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,1,12.5;10,1,1,5,62.5"); //测试部门id为0,执行状态已分配,工时为8的透视表数据是否正常生成,此返回值包含四条数据,于上边用例的区别在于负载率的不同。 \ No newline at end of file +r($result) && p('0:id,isExecutionNameHtml,totalTasks,totalHours,workload;2:id,isExecutionNameHtml,totalTasks,totalHours,workload') && e("4,0,1,4,50;10,1,1,5,62.5"); //测试部门id为0,执行状态已分配,工时为8的透视表数据是否正常生成,此返回值包含四条数据,于上边用例的区别在于负载率的不同。 \ No newline at end of file From a97d6f1284a62d070d06620304b3cf14cce813f8 Mon Sep 17 00:00:00 2001 From: daitingting Date: Tue, 19 Aug 2025 14:29:23 +0800 Subject: [PATCH 4/4] * [unittest] Adjust getworkloadassign test. --- module/pivot/test/model/getworkloadassign.php | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/module/pivot/test/model/getworkloadassign.php b/module/pivot/test/model/getworkloadassign.php index 61e32b604e..ebc4c9de5b 100755 --- a/module/pivot/test/model/getworkloadassign.php +++ b/module/pivot/test/model/getworkloadassign.php @@ -14,11 +14,11 @@ cid=1 - 第0条的totalTasks属性 @1 - 第0条的totalHours属性 @4 - 第0条的workload属性 @57.14 - - 第2条的id属性 @10 - - 第2条的isExecutionNameHtml属性 @1 - - 第2条的totalTasks属性 @1 - - 第2条的totalHours属性 @5 - - 第2条的workload属性 @71.43 + - 第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 @@ -36,11 +36,11 @@ cid=1 - 第0条的totalTasks属性 @1 - 第0条的totalHours属性 @4 - 第0条的workload属性 @50 - - 第2条的id属性 @10 - - 第2条的isExecutionNameHtml属性 @1 - - 第2条的totalTasks属性 @1 - - 第2条的totalHours属性 @5 - - 第2条的workload属性 @62.5 + - 第1条的id属性 @10 + - 第1条的isExecutionNameHtml属性 @1 + - 第1条的totalTasks属性 @1 + - 第1条的totalHours属性 @5 + - 第1条的workload属性 @62.5 */ @@ -76,7 +76,7 @@ foreach($result as $row) $row->isExecutionNameHtml = 0; if(strip_tags($name) != $row->executionName) $row->isExecutionNameHtml = 1; } -r($result) && p('0:id,isExecutionNameHtml,totalTasks,totalHours,workload;2:id,isExecutionNameHtml,totalTasks,totalHours,workload') && e("4,0,1,4,57.14;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) @@ -96,4 +96,4 @@ foreach($result as $row) $row->isExecutionNameHtml = 0; if(strip_tags($name) != $row->executionName) $row->isExecutionNameHtml = 1; } -r($result) && p('0:id,isExecutionNameHtml,totalTasks,totalHours,workload;2:id,isExecutionNameHtml,totalTasks,totalHours,workload') && e("4,0,1,4,50;10,1,1,5,62.5"); //测试部门id为0,执行状态已分配,工时为8的透视表数据是否正常生成,此返回值包含四条数据,于上边用例的区别在于负载率的不同。 \ No newline at end of file +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的透视表数据是否正常生成,此返回值包含四条数据,于上边用例的区别在于负载率的不同。 \ No newline at end of file