Advertisement
lutfirizal

MMSL

Jul 10th, 2019
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.87 KB | None | 0 0
  1. <?php
  2. $timestamp_start = date("d-m-Y, H:i:s");
  3. $row_num = $_POST['row_num'];
  4. $params = array();
  5. $params['row_num'] = $row_num;
  6. $service = new ServiceConsumer($db, "get_mmsl_master_obat", $params, "gudang_farmasi");
  7. $service->setMode(ServiceConsumer::$CLEAN_BOTH);
  8. $content = $service->execute()->getContent();
  9. $nama_obat = $content[0];
  10. $nama_jenis_obat = $content[1];
  11.  
  12. $bulan = $_POST['bulan'];
  13. $tahun = $_POST['tahun'];
  14. $jumlah_hari = cal_days_in_month(0, $bulan, $tahun);
  15.  
  16. //PRDI - I:
  17. $start_day = 1;
  18. $end_day = 7;
  19. $params = array();
  20. $params['nama_obat'] = $nama_obat;
  21. $params['nama_jenis_obat'] = $nama_jenis_obat;
  22. $params['tanggal_from'] = $tahun . "-" . $bulan . "-" . $start_day;
  23. $params['tanggal_to'] = $tahun . "-" . $bulan . "-" . $end_day;
  24. $service = new ServiceConsumer($db, "get_mmsl_penggunaan_riil", $params, "depo_farmasi");
  25. $service->setMode(ServiceConsumer::$CLEAN_BOTH);
  26. $content = $service->execute()->getContent();
  27. $prd1_1 = $content[0];
  28.  
  29. //PRDI - II:
  30. $start_day += 7;
  31. $end_day += 7;
  32. $params = array();
  33. $params['nama_obat'] = $nama_obat;
  34. $params['nama_jenis_obat'] = $nama_jenis_obat;
  35. $params['tanggal_from'] = $tahun . "-" . $bulan . "-" . $start_day;
  36. $params['tanggal_to'] = $tahun . "-" . $bulan . "-" . $end_day;
  37. $service = new ServiceConsumer($db, "get_mmsl_penggunaan_riil", $params, "depo_farmasi");
  38. $service->setMode(ServiceConsumer::$CLEAN_BOTH);
  39. $content = $service->execute()->getContent();
  40. $prd1_2 = $content[0];
  41.  
  42. //PRDI - III:
  43. $start_day += 7;
  44. $end_day += 7;
  45. $params = array();
  46. $params['nama_obat'] = $nama_obat;
  47. $params['nama_jenis_obat'] = $nama_jenis_obat;
  48. $params['tanggal_from'] = $tahun . "-" . $bulan . "-" . $start_day;
  49. $params['tanggal_to'] = $tahun . "-" . $bulan . "-" . $end_day;
  50. $service = new ServiceConsumer($db, "get_mmsl_penggunaan_riil", $params, "depo_farmasi");
  51. $service->setMode(ServiceConsumer::$CLEAN_BOTH);
  52. $content = $service->execute()->getContent();
  53. $prd1_3 = $content[0];
  54.  
  55. //PRDI - IV:
  56. $start_day += 7;
  57. $end_day = $jumlah_hari;
  58. $params = array();
  59. $params['nama_obat'] = $nama_obat;
  60. $params['nama_jenis_obat'] = $nama_jenis_obat;
  61. $params['tanggal_from'] = $tahun . "-" . $bulan . "-" . $start_day;
  62. $params['tanggal_to'] = $tahun . "-" . $bulan . "-" . $end_day;
  63. $service = new ServiceConsumer($db, "get_mmsl_penggunaan_riil", $params, "depo_farmasi");
  64. $service->setMode(ServiceConsumer::$CLEAN_BOTH);
  65. $content = $service->execute()->getContent();
  66. $prd1_4 = $content[0];
  67.  
  68. $prd_total = $prd1_1 + $prd1_2 + $prd1_3 + $prd1_4;
  69. $prd_rerata_normal = ceil($prd_total / 4);
  70.  
  71. $bobot_1 = $_POST['bobot_1'];
  72. $bobot_2 = $_POST['bobot_2'];
  73. $bobot_3 = $_POST['bobot_3'];
  74. $bobot_4 = $_POST['bobot_4'];
  75. $bobot_total = $bobot_1 + $bobot_2 + $bobot_3 + $bobot_4;
  76. $prd_rerata_bobot = ceil(($bobot_1 * ($prd1_1 + $prd2_1) + $bobot_2 * ($prd1_2 + $prd2_2) + $bobot_3 * ($prd1_3 + $prd2_3) + $bobot_4 * ($prd1_4 + $prd2_4)) / $bobot_total);
  77.  
  78. $smax_minggu = round($_POST['smax_minggu'], 1);
  79. $smin_minggu = round($_POST['smin_minggu'], 1);
  80. $rop_minggu = round($_POST['rop_minggu'], 1);
  81. $lt_minggu = round($_POST['lt_minggu'], 1);
  82. $smax_normal = round($smax_minggu * $prd_rerata_normal);
  83. $smax_bobot = round($smax_minggu * $prd_rerata_bobot);
  84. $smin_normal = round($smin_minggu * $prd_rerata_normal);
  85. $smin_bobot = round($smin_minggu * $prd_rerata_bobot);
  86. $rop_normal = round($rop_minggu * $prd_rerata_normal);
  87. $rop_bobot = round($rop_minggu * $prd_rerata_bobot);
  88. $lt_normal = round($lt_minggu * $prd_rerata_normal);
  89. $lt_bobot = round($lt_minggu * $prd_rerata_bobot);
  90.  
  91. $service = new ServiceConsumer($db, "get_mmsl_stok", $params, "depo_farmasi");
  92. $service->setMode(ServiceConsumer::$CLEAN_BOTH);
  93. $content = $service->execute()->getContent();
  94. $stok_depo_1 = $content[0];
  95. $service = new ServiceConsumer($db, "get_mmsl_stok", $params, "gudang_farmasi");
  96. $service->setMode(ServiceConsumer::$CLEAN_BOTH);
  97. $content = $service->execute()->getContent();
  98. $stok_gudang_farmasi = $content[0];
  99. $stok_total = $stok_depo_1 + $stok_gudang_farmasi;
  100.  
  101. $mmsl_status_normal = "TIDAK PESAN";
  102. $qty_beli_normal = 0;
  103. if ($stok_total <= $rop_normal) {
  104.     $qty_beli_normal = $smax_normal - $stok_total + $lt_normal;
  105.     $mmsl_status_normal = $qty_beli_normal == 0? "TIDAK PESAN" : "<strong>PESAN</strong>";
  106. }
  107. $mmsl_status_bobot = "TIDAK PESAN";
  108. $qty_beli_bobot = 0;
  109. if ($stok_total <= $rop_bobot) {
  110.     $qty_beli_bobot = $smax_bobot - $stok_total + $lt_bobot;
  111.     $mmsl_status_bobot = $qty_beli_bobot == 0? "TIDAK PESAN" : "<strong>PESAN</strong>";
  112. }
  113.  
  114. $data = array();
  115. $data['nama_obat'] = $nama_obat;
  116. $data['jenis_obat'] = $nama_jenis_obat;
  117. $data['timestamp_start'] = $timestamp_start;
  118. $timestamp_end = date("d-m-Y, H:i:s");
  119. $data['timestamp_end'] = $timestamp_end;
  120. $durasi = strtotime($timestamp_end) - strtotime($timestamp_start);
  121. $data['durasi'] = $durasi . " detik";
  122. $data['element'] = "
  123.     <tr id='obat_" . $row_num . "'>
  124.         <td><small>" . ($row_num + 1) . "</small></td>
  125.         <td><small>" . $nama_obat . "</small></td>
  126.         <td><small>" . $nama_jenis_obat . "</small></td>
  127.         <td style='text-align: right !important;'><small>" . $prd1_1 . "</small></td>
  128.         <td style='text-align: right !important;'><small>" . $prd1_2 . "</small></td>
  129.         <td style='text-align: right !important;'><small>" . $prd1_3 . "</small></td>
  130.         <td style='text-align: right !important;'><small>" . $prd1_4 . "</small></td>
  131.         <td style='text-align: right !important;'><small>" . $prd_total . "</small></td>
  132.         <td style='text-align: right !important;'><small>" . $stok_gudang_farmasi . "</small></td>
  133.         <td style='text-align: right !important;'><small>" . $stok_depo_1 . "</small></td>
  134.         <td style='text-align: right !important;'><small>" . $stok_total . "</small></td>
  135.         <td style='text-align: right !important;'><small>" . $prd_rerata_normal . "</small></td>
  136.         <td style='text-align: right !important;'><small>" . $prd_rerata_bobot . "</small></td>
  137.         <td style='text-align: right !important;'><small>" . $smax_normal . "</small></td>
  138.         <td style='text-align: right !important;'><small>" . $smax_bobot . "</small></td>
  139.         <td style='text-align: right !important;'><small>" . $smin_normal . "</small></td>
  140.         <td style='text-align: right !important;'><small>" . $smin_bobot . "</small></td>
  141.         <td style='text-align: right !important;'><small>" . $rop_normal . "</small></td>
  142.         <td style='text-align: right !important;'><small>" . $rop_bobot . "</small></td>
  143.         <td style='text-align: right !important;'><small>" . $lt_normal . "</small></td>
  144.         <td style='text-align: right !important;'><small>" . $lt_bobot . "</small></td>
  145.         <td style='text-align: right !important;'><small>" . $mmsl_status_normal . "</small></td>
  146.         <td style='text-align: right !important;'><small>" . $mmsl_status_bobot . "</small></td>
  147.         <td style='text-align: right !important;'><small>" . $qty_beli_normal . "</small></td>
  148.         <td style='text-align: right !important;'><small>" . $qty_beli_bobot . "</small></td>
  149.     </tr>
  150. ";
  151. echo json_encode($data);
  152. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement