* fix report data error.
This commit is contained in:
+18
-11
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user