/modules/farmasi/action/safety_stock.php

https://github.com/jonlord1012/srmis · PHP · 201 lines · 99 code · 27 blank · 75 comment · 7 complexity · 847cc73c50ce8a0148a34d855b92a7f1 MD5 · raw file

  1. <?php
  2. $query = mysql_query ("SELECT * FROM ms_barang");
  3. while ($result=mysql_fetch_array($query))
  4. {
  5. $my = date("d/m/Y");
  6. $thn= date("Y");
  7. $bln = date("m") + 0;
  8. $param_spb = date ("Y-m");
  9. $query_param_resep = mysql_query("SELECT DISTINCT(kode_obat) FROM resep WHERE tgl LIKE '%$my' AND flags <> 4 AND flags <> 3 AND kode_obat <> '' AND kode_obat = '$result[kd_barang]' ORDER BY kode_obat ASC");
  10. $result_param_resep = mysql_fetch_array($query_param_resep);
  11. //jika ada maka safety stock di hitung berdasarkan penjualan, jika tidak maka default
  12. if ($result_param_resep)
  13. {
  14. $q = mysql_query("SELECT DISTINCT(kode_obat) FROM resep WHERE tgl LIKE '%$my' AND flags <> 4 AND flags <> 3 AND kode_obat <> '' AND kode_obat = '$result[kd_barang]' ORDER BY kode_obat ASC");
  15. while ($r = mysql_fetch_array($q))
  16. {
  17. $q_resep = mysql_query("SELECT SUM(diberi) FROM resep WHERE kode_obat = '$r[kode_obat]' AND flags <> 4 AND flags <> 3 AND kode_obat <> '' AND tgl LIKE '%$my'");
  18. $r_resep = mysql_fetch_array($q_resep);
  19. $diberi = $r_resep['SUM(diberi)'];
  20. //$q_ms = myql_query ("SELECT * FROM ms_barang FROM ms_barang WHERE kd_barang = '$r[kode_obat]'");
  21. //$r_ms = mysql_fetch_array ($q_ms);
  22. $q_spb = mysql_query("SELECT * FROM detail_spb WHERE LAST_INSERT_ID(barang_id) AND barang_id = '$result[id]'");
  23. $r_spb = mysql_fetch_array($q_spb);
  24. if ($r_spb)
  25. {
  26. $pesan = strtotime($r_spb['created_datetime']);
  27. $diterima = strtotime($r_spb['update_datetime']);
  28. $diff = abs($diterima - $pesan);
  29. $hari = ceil($diff/86400);
  30. $safety_hari = $hari;
  31. $jumlah_safety = $hari * $diberi;
  32. }
  33. else
  34. {
  35. //default safety
  36. $jumlah_sefety = ceil((40/100) * $result['stok']);
  37. $safety_hari = 1;
  38. $hari = 1;
  39. }
  40. $q_safety = mysql_query ("SELECT * FROM safety_stock WHERE barang_id = '$result[id]' AND tahun ='$thn'");
  41. $r_safety = mysql_fetch_array ($q_safety);
  42. if (!$r_safety)
  43. {
  44. $bulan = "b".$bln;
  45. $sh = "sh".$bln;
  46. $lt = "lt".$bln;
  47. $q_masuk = "INSERT INTO safety_stock (barang_id, $bulan, $sh, tahun, $lt) VALUES ('$result[id]', '$jumlah_safety', '$safety_hari', '$thn', '$hari')";
  48. $r_masuk = mysql_query($q_masuk);
  49. }
  50. else
  51. {
  52. $bulan = "b".$bln;
  53. $sh = "sh".$bln;
  54. $lt = "lt".$bln;
  55. $q_masuk = mysql_query ("UPDATE safety_stock SET $bulan = '$jumlah_safety',
  56. $sh = '$safety_hari',
  57. $lt = '$hari'
  58. WHERE barang_id = '$r_safety[barang_id]' AND tahun = '$r_safety[tahun]'");
  59. }
  60. }
  61. }
  62. //jika tidak ada di penjualan
  63. else
  64. {
  65. $q_spb = mysql_query("SELECT * FROM detail_spb WHERE LAST_INSERT_ID(barang_id) AND barang_id = '$result[id]' ORDER BY barang_id DESC LIMIT 1");
  66. $r_spb = mysql_fetch_array($q_spb);
  67. if ($r_spb)
  68. {
  69. $pesan = strtotime($r_spb['created_datetime']);
  70. $diterima = strtotime($r_spb['update_datetime']);
  71. $diff = abs($diterima - $pesan);
  72. $hari = ceil($diff/86400);
  73. $safety_hari = $hari;
  74. $jumlah_safety = $hari * ceil((40/100) * $result['stok']);
  75. }
  76. else
  77. {
  78. //default safety
  79. $jumlah_safety = ceil((40/100) * $result['stok']);
  80. $safety_hari = 1;
  81. $hari = 1;
  82. }
  83. $q_safety = mysql_query ("SELECT * FROM safety_stock WHERE barang_id = '$result[id]' AND tahun ='$thn'");
  84. $r_safety = mysql_fetch_array ($q_safety);
  85. if (!$r_safety)
  86. {
  87. $bulan = "b".$bln;
  88. $sh = "sh".$bln;
  89. $lt = "lt".$bln;
  90. $q_masuk = "INSERT INTO safety_stock (barang_id, $bulan, $sh, tahun, $lt) VALUES ('$result[id]', '$jumlah_safety', '$safety_hari', '$thn', '$hari')";
  91. $r_masuk = mysql_query($q_masuk);
  92. }
  93. else
  94. {
  95. $bulan = "b".$bln;
  96. $sh = "sh".$bln;
  97. $lt = "lt".$bln;
  98. $q_masuk = mysql_query ("UPDATE safety_stock SET $bulan = '$jumlah_safety',
  99. $sh = '$safety_hari',
  100. $lt = '$hari'
  101. WHERE barang_id = '$r_safety[barang_id]' AND tahun = '$r_safety[tahun]'");
  102. }
  103. }
  104. }
  105. //query racik detail
  106. /*
  107. $qr = mysql_query ("SELECT DISTINCT(kode_obat) FROM racik_detail WHERE tgl LIKE '%$my' AND flags <> 3 AND flags <> 4 ORDER BY kode_obat ASC");
  108. while ($rr = mysql_fetch_array($qr))
  109. {
  110. $q_racik = mysql_query("SELECT SUM(qty) FROM racik_detail WHERE kode_obat = '$rr[kode_obat]' AND flags <> 4 AND flags <> 3 AND tgl LIKE '%$my'");
  111. $r_racik = mysql_fetch_array($q_racik);
  112. $q_amc = mysql_query ("SELECT * FROM amc WHERE barang_id = '$rr[kode_obat]' AND tahun ='$thn'");
  113. $r_amc = mysql_fetch_array ($q_amc);
  114. $j_b = $r_amc['b'.$bln];
  115. $q_gabung = mysql_query ("SELECT DISTINCT(kode_obat) FROM resep WHERE kode_obat='$rr[kode_obat]' AND flags<>4 AND flags <>3 AND tgl LIKE '%$my' ORDER BY kode_obat ASC");
  116. $r_gabung = mysql_fetch_array($q_gabung);
  117. if (!$r_gabung['kode_obat'])
  118. {
  119. $qty = $r_racik['SUM(qty)'];
  120. }
  121. else
  122. {
  123. $qty = $r_racik['SUM(qty)'] + $j_b;
  124. }
  125. //echo $r_amc['barang_id'] . " jumlah: ".$j_b ." + " .$r_racik['SUM(qty)']. "= " .$qty."<br>";
  126. if (!$r_amc)
  127. {
  128. $bulan = "b".$bln;
  129. $q_masuk = "INSERT INTO amc (barang_id, $bulan, tahun, rata_rata) VALUES ('$rr[kode_obat]', '$qty', '$thn', '$qty')";
  130. $r_masuk = mysql_query($q_masuk);
  131. }
  132. else
  133. {
  134. $bulan = "b".$bln;
  135. $q_masuk = mysql_query ("UPDATE amc SET $bulan = '$qty'
  136. WHERE barang_id = '$r_amc[barang_id]' AND tahun = '$r_amc[tahun]'");
  137. $q_amc2 = mysql_query ("SELECT * FROM amc WHERE barang_id = '$rr[kode_obat]' AND tahun ='$thn'");
  138. $r_amc2 = mysql_fetch_array ($q_amc2);
  139. $n = 0;
  140. $jml = 0;
  141. for($i=1;$i<=12;$i++)
  142. {
  143. if ($r_amc2['b'.$i]==null)
  144. {
  145. echo "";
  146. }
  147. else
  148. {
  149. $jml = $jml + $r_amc2['b'.$i];
  150. $n++;
  151. }
  152. }
  153. $rata = $jml / $n;
  154. $rata2 = ceil($rata);
  155. $q_masuk2 = mysql_query ("UPDATE amc SET rata_rata = '$rata2'
  156. WHERE barang_id = '$r_amc2[barang_id]' AND tahun = '$r_amc2[tahun]'");
  157. }
  158. }
  159. */
  160. ?>