* fix report data error.

This commit is contained in:
zhujinyong
2012-07-13 01:23:41 +00:00
parent e6b8916079
commit 23860f35b0
3 changed files with 23 additions and 14 deletions
+18 -11
View File
@@ -249,10 +249,11 @@ EOT;
->fetchAll();
foreach($tasks as $task)
{
$projects[$task->project]->estimate = isset($projects[$task->project]->estimate) ? $projects[$task->project]->estimate + $task->estimate : 1;
$projects[$task->project]->consumed = isset($projects[$task->project]->consumed) ? $projects[$task->project]->consumed + $task->consumed : 1;
if($task->type == 'devel') $projects[$task->project]->devConsumed = isset($projects[$task->project]->devConsumed) ? $projects[$task->project]->devConsumed + $task->consumed : 1;
if($task->type == 'test') $projects[$task->project]->testConsumed = isset($projects[$task->project]->testConsumed) ? $projects[$task->project]->testConsumed + $task->consumed : 1;
$projects[$task->project]->estimate = isset($projects[$task->project]->estimate) ? $projects[$task->project]->estimate + $task->estimate : $task->estimate;
$projects[$task->project]->consumed = isset($projects[$task->project]->consumed) ? $projects[$task->project]->consumed + $task->consumed : $task->consumed;
$projects[$task->project]->tasks = isset($projects[$task->project]->tasks) ? $projects[$task->project]->tasks + 1 : 1;
if($task->type == 'devel') $projects[$task->project]->devConsumed = isset($projects[$task->project]->devConsumed) ? $projects[$task->project]->devConsumed + $task->consumed : $task->consumed;
if($task->type == 'test') $projects[$task->project]->testConsumed = isset($projects[$task->project]->testConsumed) ? $projects[$task->project]->testConsumed + $task->consumed : $task->consumed;
}
$bugs = $this->dao->select('t1.project')
@@ -274,7 +275,10 @@ EOT;
->from(TABLE_PROJECTSTORY)->alias('t1')
->leftJoin(TABLE_PROJECT)->alias('t2')
->on('t1.project = t2.id')
->leftJoin(TABLE_STORY)->alias('t3')
->on('t1.story = t3.id')
->where('t2.deleted')->eq(0)
->andWhere('t3.deleted')->eq(0)
->fetchAll();
foreach($stories as $story)
{
@@ -306,18 +310,21 @@ EOT;
$products = $this->dao->select('id, code, name, PO')->from(TABLE_PRODUCT)->where('deleted')->eq(0)->fetchAll('id');
$plans = $this->dao->select('*')->from(TABLE_PRODUCTPLAN)->where('deleted')->eq(0)->andWhere('product')->in(array_keys($products))->fetchAll('id');
$planStories = $this->dao->select('plan, id, status')->from(TABLE_STORY)->where('deleted')->eq(0)->andWhere('plan')->in(array_keys($plans))->fetchGroup('plan', 'id');
foreach($plans as $plan)
{
$products[$plan->product]->plans[$plan->id]->title = $plan->title;
$products[$plan->product]->plans[$plan->id]->desc = $plan->desc;
$products[$plan->product]->plans[$plan->id]->begin = $plan->begin;
$products[$plan->product]->plans[$plan->id]->end = $plan->end;
}
foreach($planStories as $planID => $stories)
{
foreach($stories as $story) $statusList[$story->status][] = $story;
foreach(array_keys($statusList) as $status)
foreach($stories as $story)
{
if(isset($plans[$planID]))
{
$plans[$planID]->status[$status] = count($statusList[$status]);
}
$plan = $plans[$story->plan];
$products[$plan->product]->plans[$story->plan]->status[$story->status] = isset($products[$plan->product]->plans[$story->plan]->status[$story->status]) ? $products[$plan->product]->plans[$story->plan]->status[$story->status] + 1 : 1;
}
}
foreach($plans as $plan) $products[$plan->product]->plans[] = $plan;
return $products;
}
+2 -2
View File
@@ -24,7 +24,7 @@
<td align='left' rowspan="<?php echo $count;?>"><?php echo '<p>' . $product->name . "</p><p>{$lang->product->PO}: " . $product->PO . '</p>';?></td>
<?php if(isset($product->plans)):?>
<?php foreach($product->plans as $id => $plan):?>
<?php if($id != 0) echo "<tr class='a-center'>"?>
<?php if($id != 1) echo "<tr class='a-center'>"?>
<td align='left'><?php echo $plan->title;?></td>
<td align='left'><?php echo $plan->desc;?></td>
<td><?php echo $plan->begin;?></td>
@@ -33,7 +33,7 @@
<td align='left'><?php echo $lang->story->statusList['active'] . ' : ' . (isset($plan->status['active']) ? $plan->status['active'] : 0);?></td>
<td align='left'><?php echo $lang->story->statusList['closed'] . ' : ' . (isset($plan->status['closed']) ? $plan->status['closed'] : 0);?></td>
<td align='left'><?php echo $lang->story->statusList['changed'] . ' : ' . (isset($plan->status['changed']) ? $plan->status['changed'] : 0);?></td>
<?php if($id != 0) echo "</tr>"?>
<?php if($id != 1) echo "</tr>"?>
<?php endforeach;?>
<?php else:?>
<td></td>
+3 -1
View File
@@ -13,6 +13,7 @@
<tr class='colhead'>
<th class='w-id'><?php echo $lang->report->id;?></th>
<th class="w-200px"><?php echo $lang->report->project;?></th>
<th><?php echo $lang->report->task;?></th>
<th><?php echo $lang->report->stories;?></th>
<th><?php echo $lang->report->bugs;?></th>
<th><?php echo $lang->report->devConsumed;?></th>
@@ -29,6 +30,7 @@
<tr class="a-center">
<td><?php echo $id;?></td>
<td align="left"><?php echo $project->name;?></td>
<td><?php echo $project->tasks;?></td>
<td><?php echo $project->stories;?></td>
<td><?php echo $project->bugs;?></td>
<td><?php echo $project->devConsumed;?></td>
@@ -42,7 +44,7 @@
<?php
if($project->estimate)
{
echo $deviation > 0 ? ('+' . round($deviation / $project->estimate * 100, 2)) : round($deviation / $project->estimate * 100, 2) . '%';
echo $deviation > 0 ? ('+' . round($deviation / $project->estimate * 100, 2)) . '%' : round($deviation / $project->estimate * 100, 2) . '%';
}
else
{