progress.html.php 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <table class="table table-bordered">
  2. <thead>
  3. <tr>
  4. <th rowspan="2"><?php echo $lang->milestone->paogressForecast;?></th>
  5. <th colspan="3" class="text-center"><?php echo $lang->milestone->duration;?></th>
  6. <th colspan="3" class="text-center"><?php echo $lang->milestone->cost;?></th>
  7. <th colspan="3" rowspan="2"><?php echo $lang->milestone->forecastResults;?></th>
  8. </tr>
  9. <tr>
  10. <th><?php echo $lang->milestone->plannedValue;?></th>
  11. <th><?php echo $lang->milestone->predictedValue;?>
  12. <i class="icon icon-help" title="<?php echo $lang->milestone->predictedValueDesc;?>"></i>
  13. </th>
  14. <th><?php echo $lang->milestone->periodDeviation;?></th>
  15. <th><?php echo $lang->milestone->plannedValue;?></th>
  16. <th><?php echo $lang->milestone->predictedValue;?></th>
  17. <th><?php echo $lang->milestone->costDeviation;?></th>
  18. </tr>
  19. </thead>
  20. <tbody>
  21. <tr>
  22. <td><strong><?php echo $lang->milestone->nextStage;?></strong></td>
  23. <td><?php echo $nextMilestone->nextDays;?></td>
  24. <td>
  25. <?php
  26. $nextDuration = empty($process->milestoneSPI) || empty($nextMilestone->nextDays) ? 0 : round($nextMilestone->nextDays/$process->milestoneSPI, 2);
  27. echo $nextDuration;
  28. $nextDurationValue = $nextMilestone->nextDays - $nextDuration;
  29. ?>
  30. </td>
  31. <td><?php echo $nextDurationValue;?></td>
  32. <td><?php echo $nextMilestone->nextHours;?></td>
  33. <td>
  34. <?php
  35. $nextCost = empty($process->nowCPI) || empty($nextMilestone->nextHours) ? 0 : round($nextMilestone->nextHours/$process->milestoneCPI);
  36. echo $nextCost;
  37. $nextCostValue = $nextMilestone->nextHours - $nextCost;
  38. ?>
  39. </td>
  40. <td><?php echo $nextCostValue;?></td>
  41. <td colspan="3">
  42. <?php
  43. if($nextDurationValue < 0) echo sprintf($lang->milestone->timeOverrun, abs($nextDurationValue));
  44. if($nextCostValue < 0) echo sprintf($lang->milestone->costOverrun, abs($nextCostValue));
  45. ?>
  46. </td>
  47. </tr>
  48. <tr>
  49. <td><strong><?php echo $lang->milestone->overallProject;?></strong></td>
  50. <td><?php echo $nextMilestone->totalDays;?></td>
  51. <td>
  52. <?php
  53. $totalDuration = empty($process->milestoneSPI) || empty($nextMilestone->totalDays) ? 0 : round($nextMilestone->totalDays/$process->milestoneSPI, 2);
  54. echo $totalDuration;
  55. $totalDurationValue = $nextMilestone->totalDays - $totalDuration;
  56. ?>
  57. </td>
  58. <td><?php echo $totalDurationValue;?></td>
  59. <td><?php echo $nextMilestone->totalHours;?></td>
  60. <td>
  61. <?php
  62. $totalCost = empty($process->nowCPI) || empty($nextMilestone->totalHours) ? 0 : round($nextMilestone->totalHours/$process->nowCPI, 2);
  63. echo $totalCost;
  64. $totalCostValue = $nextMilestone->totalHours - $totalCost;
  65. ?>
  66. </td>
  67. <td><?php echo $totalCostValue;?></td>
  68. <td colspan="3">
  69. <?php
  70. if($totalDurationValue < 0) echo sprintf($lang->milestone->timeOverrun, abs($totalDurationValue));
  71. if($totalCostValue < 0) echo sprintf($lang->milestone->costOverrun, abs($totalCostValue));
  72. ?>
  73. </td>
  74. </tr>
  75. </tbody>
  76. </table>