7if (!defined(
'NOREQUIRESOC')) {
8 define(
'NOREQUIRESOC',
'1');
10if (!defined(
'NOCSRFCHECK')) {
11 define(
'NOCSRFCHECK',
'1');
13if (!defined(
'NOTOKENRENEWAL')) {
14 define(
'NOTOKENRENEWAL',
'1');
16if (!defined(
'NOREQUIREMENU')) {
17 define(
'NOREQUIREMENU',
'1');
19if (!defined(
'NOREQUIREHTML')) {
20 define(
'NOREQUIREHTML',
'1');
22if (!defined(
'NOREQUIREAJAX')) {
23 define(
'NOREQUIREAJAX',
'1');
26require
'../../main.inc.php';
28$warehouse_id =
GETPOST(
'warehouse_id',
'int');
29$batch =
GETPOST(
'batch',
'alphanohtml');
30$fk_product =
GETPOST(
'product_id',
'int');
31$action =
GETPOST(
'action',
'alphanohtml');
35$permissiontoproduce = $user->rights->mrp->write;
45if ($action ==
'updateselectbatchbywarehouse' && $permissiontoproduce) {
48 $sql =
"SELECT pb.batch, pb.rowid, ps.fk_entrepot, pb.qty, e.ref as label, ps.fk_product";
49 $sql .=
" FROM " . MAIN_DB_PREFIX .
"product_batch as pb";
50 $sql .=
" LEFT JOIN " . MAIN_DB_PREFIX .
"product_stock as ps on ps.rowid = pb.fk_product_stock";
51 $sql .=
" LEFT JOIN " . MAIN_DB_PREFIX .
"entrepot as e on e.rowid = ps.fk_entrepot AND e.entity IN (" .
getEntity(
'stock') .
")";
52 $sql .=
" WHERE ps.fk_product = " .((int) $fk_product);
53 if ($warehouse_id > 0) $sql .=
" AND fk_entrepot = '" . ((int) $warehouse_id) .
"'";
54 $sql .=
" ORDER BY e.ref, pb.batch";
56 $resql = $db->query($sql);
59 while ($obj = $db->fetch_object($resql)) {
60 if (empty($TRes[$obj->batch])) {
61 $TRes[$obj->batch] = $obj->qty;
63 $TRes[$obj->batch] += $obj->qty;
68 echo json_encode($TRes);
69} elseif ($action ==
'updateselectwarehousebybatch' && $permissiontoproduce) {
72 $sql =
"SELECT pb.batch, pb.rowid, ps.fk_entrepot, e.ref, pb.qty";
73 $sql .=
" FROM " . MAIN_DB_PREFIX .
"product_batch as pb";
74 $sql .=
" JOIN " . MAIN_DB_PREFIX .
"product_stock as ps on ps.rowid = pb.fk_product_stock";
75 $sql .=
" JOIN " . MAIN_DB_PREFIX .
"entrepot as e on e.rowid = ps.fk_entrepot AND e.entity IN (" .
getEntity(
'stock') .
")";
76 $sql .=
" WHERE ps.fk_product = " .((int) $fk_product);
77 if ($batch) $sql.=
" AND pb.batch = '" . $db->escape($batch) .
"'";
78 $sql .=
" ORDER BY e.ref, pb.batch";
80 $resql = $db->query($sql);
83 if ($db->num_rows($resql) == 1) {
84 $obj = $db->fetch_object($resql);
85 $res = $obj->fk_entrepot;
89 echo json_encode($res);
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
getEntity($element, $shared=1, $currentobject=null)
Get list of entity id to use.
if(!defined( 'NOREQUIREMENU')) if(!empty(GETPOST('seteventmessages', 'alpha'))) if(!function_exists("llxHeader")) top_httphead($contenttype='text/html', $forcenocache=0)
Show HTTP header.
restrictedArea(User $user, $features, $object=0, $tableandshare='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid', $isdraft=0, $mode=0)
Check permissions of a user to show a page and an object.