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); } } } diff --git a/module/pivot/test/model/getworkloadassign.php b/module/pivot/test/model/getworkloadassign.php index 268824c49f..ebc4c9de5b 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 + - 第1条的id属性 @10 + - 第1条的isExecutionNameHtml属性 @1 + - 第1条的totalTasks属性 @1 + - 第1条的totalHours属性 @5 + - 第1条的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 + - 第1条的id属性 @10 + - 第1条的isExecutionNameHtml属性 @1 + - 第1条的totalTasks属性 @1 + - 第1条的totalHours属性 @5 + - 第1条的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;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) @@ -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;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