interface.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <?php
  2. /**
  3. * \file htdocs/mrp/ajax/interface.php
  4. */
  5. if (!defined('NOREQUIRESOC')) {
  6. define('NOREQUIRESOC', '1');
  7. }
  8. if (!defined('NOCSRFCHECK')) {
  9. define('NOCSRFCHECK', '1');
  10. }
  11. if (!defined('NOTOKENRENEWAL')) {
  12. define('NOTOKENRENEWAL', '1');
  13. }
  14. if (!defined('NOREQUIREMENU')) {
  15. define('NOREQUIREMENU', '1');
  16. }
  17. if (!defined('NOREQUIREHTML')) {
  18. define('NOREQUIREHTML', '1');
  19. }
  20. if (!defined('NOREQUIREAJAX')) {
  21. define('NOREQUIREAJAX', '1');
  22. }
  23. require '../../main.inc.php'; // Load $user and permissions
  24. $warehouse_id = GETPOST('warehouse_id', 'int');
  25. $batch = GETPOST('batch', 'alphanohtml');
  26. $fk_product = GETPOST('product_id', 'int');
  27. $action = GETPOST('action', 'alphanohtml');
  28. $result = restrictedArea($user, 'mrp');
  29. $permissiontoproduce = $user->rights->mrp->write;
  30. /*
  31. * View
  32. */
  33. top_httphead("application/json");
  34. if ($action == 'updateselectbatchbywarehouse' && $permissiontoproduce) {
  35. $TRes = array();
  36. $sql = "SELECT pb.batch, pb.rowid, ps.fk_entrepot, pb.qty, e.ref as label, ps.fk_product";
  37. $sql .= " FROM " . MAIN_DB_PREFIX . "product_batch as pb";
  38. $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "product_stock as ps on ps.rowid = pb.fk_product_stock";
  39. $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "entrepot as e on e.rowid = ps.fk_entrepot AND e.entity IN (" . getEntity('stock') . ")";
  40. $sql .= " WHERE ps.fk_product = " .((int) $fk_product);
  41. if ($warehouse_id > 0) $sql .= " AND fk_entrepot = '" . ((int) $warehouse_id) . "'";
  42. $sql .= " ORDER BY e.ref, pb.batch";
  43. $resql = $db->query($sql);
  44. if ($resql) {
  45. while ($obj = $db->fetch_object($resql)) {
  46. if (empty($TRes[$obj->batch])) {
  47. $TRes[$obj->batch] = $obj->qty;
  48. } else {
  49. $TRes[$obj->batch] += $obj->qty;
  50. }
  51. }
  52. }
  53. echo json_encode($TRes);
  54. } elseif ($action == 'updateselectwarehousebybatch' && $permissiontoproduce) {
  55. $res = 0;
  56. $sql = "SELECT pb.batch, pb.rowid, ps.fk_entrepot, e.ref, pb.qty";
  57. $sql .= " FROM " . MAIN_DB_PREFIX . "product_batch as pb";
  58. $sql .= " JOIN " . MAIN_DB_PREFIX . "product_stock as ps on ps.rowid = pb.fk_product_stock";
  59. $sql .= " JOIN " . MAIN_DB_PREFIX . "entrepot as e on e.rowid = ps.fk_entrepot AND e.entity IN (" . getEntity('stock') . ")";
  60. $sql .= " WHERE ps.fk_product = " .((int) $fk_product);
  61. if ($batch) $sql.= " AND pb.batch = '" . $db->escape($batch) . "'";
  62. $sql .= " ORDER BY e.ref, pb.batch";
  63. $resql = $db->query($sql);
  64. if ($resql) {
  65. if ($db->num_rows($resql) == 1) {
  66. $obj = $db->fetch_object($resql);
  67. $res = $obj->fk_entrepot;
  68. }
  69. }
  70. echo json_encode($res);
  71. }