Advertisement
whitestarrr

Untitled

Mar 16th, 2017
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. <?php
  2. $todayInput = $_GET['today'];
  3. $today = new DateTime(str_replace("/", "-", $todayInput));
  4. $input = $_GET['invoices'];
  5. //$todayInput = "07/08/2015";
  6. //$today = new DateTime(str_replace("/", "-", $todayInput));
  7. //$input = array (
  8. // 0 => '11/05/2013 | Sopharma | Paracetamol | 20.54lv.',
  9. // 1 => '02/12/2011 | Actavis | Aulin | 120.54lv.',
  10. // 2 => '13/05/2009 | Sopharma | Tamiflu | 221.54lv.',
  11. // 3 => '23/01/2014 | Actavis | Paracetamol | 7.54lv.',
  12. // 4 => '11/05/2013 | Sopharma | Analgin | 20.54lv.',
  13. // 5 => '11/05/2013 | Test | Tamiflu | 20.54lv.',
  14. // 6 => '11/05/2013 | Test | Devin | 20.54lv.',
  15. //);
  16.  
  17. $fiveYearsAgo = new DateTime(str_replace("/", "-", $todayInput));
  18. $fiveYearsAgo->modify("-5 years");
  19. $costSum = 0;
  20. $dates = [];
  21.  
  22. foreach ($input as $token) {
  23. $invoice = explode("|", $token);
  24. $company = trim($invoice[1]);
  25. $drug = trim($invoice[2]);
  26. $cost = (double)trim($invoice[3]);
  27. $date = new DateTime(str_replace("/", "-", trim($invoice[0])));
  28.  
  29. if ($date >= $fiveYearsAgo && $date <= $today) {
  30.  
  31. $date = $date->format('d-m-Y');
  32.  
  33. if (!array_key_exists($date, $dates)) {
  34. $dates[$date] = [];
  35. }
  36.  
  37. if (!array_key_exists($company, $dates[$date])) {
  38. $dates[$date][$company] = [];
  39. }
  40.  
  41. if (!array_key_exists($drug, $dates[$date][$company])) {
  42. $dates[$date][$company][$drug] = 0;
  43. }
  44.  
  45. $dates[$date][$company][$drug] += $cost;
  46. }
  47. }
  48.  
  49. uksort($dates, function($d1, $d2) {
  50. $d1 = new DateTime($d1);
  51. $d2 = new DateTime($d2);
  52. return $d1 > $d2;
  53. });
  54.  
  55. echo "<ul>";
  56. foreach ($dates as $date => $companies) {
  57. echo '<li><p>' . date('d/m/Y', strtotime($date)) . '</p><ul>';
  58. ksort($companies);
  59. foreach ($companies as $company => $drugs) {
  60. echo '<li><p>' . $company . '</p><ul><li><p>';
  61. ksort($drugs);
  62. $drugsArr = [];
  63. $numDrugs = count($drugs);
  64. $i = 0;
  65. foreach ($drugs as $drug => $cost) {
  66. $costSum += $cost;
  67. echo $drug;
  68. if(++$i != $numDrugs) {
  69. echo ",";
  70. }
  71. }
  72. echo "-".$costSum."lv";
  73. $costSum = 0;
  74. echo '</p></li></ul></li>';
  75. }
  76. echo '</ul></li>';
  77. }
  78. echo "</ul>";
  79. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement