diff --git a/htdocs/mrp/mo_production.php b/htdocs/mrp/mo_production.php index c74f286323d..06445d39502 100644 --- a/htdocs/mrp/mo_production.php +++ b/htdocs/mrp/mo_production.php @@ -1330,17 +1330,21 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea }); //Lorsqu'un entrepôt est sélectionné, on propose seulement les numéro de séries qui sont disponibles dans celui-ci - //TODO : revoir requête sql de l'interface pour les cas suivants : si entrepôt sélectionné, alors quantité des nums individuel, sinon quantité globale function updateselectbatchbywarehouse() { var element = $("select[name*='idwarehouse']"); element.change(function () { - var element = $(this); - var element2_name = element.attr('name').replace('idwarehouse', 'batch'); - var element2 = $("select[name*='" + element2_name + "']"); + //select entrepôts + var selectwarehouse = $(this); - var product_element_name = element.attr('name').replace('idwarehouse', 'product'); + //select lots/series + var selectbatch_name = selectwarehouse.attr('name').replace('idwarehouse', 'batch'); + var selectbatch = $("select[name*='" + selectbatch_name + "']"); + var selectedbatch = selectbatch.val(); + + //produit de la ligne + var product_element_name = selectwarehouse.attr('name').replace('idwarehouse', 'product'); $.ajax({ type: "POST", @@ -1352,33 +1356,31 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea } }).done(function (data) { - console.log(data) - var selected = element2.val(); - - element2.empty(); + selectbatch.empty(); var data = JSON.parse(data); - element2.append($(''; } else { var option =''; } - element2.append(option); + selectbatch.append(option); }); @@ -1387,24 +1389,26 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea }); } - //Lorsqu'un numéro de lot/série est sélectionné, on propose seulement le ou les entrepôts où celui-ci est disponible - //TODO : revoir requête sql de l'interface pour les cas suivants : si num sélectionné, alors quantité des entrepôts individuel, sinon quantité globale + //Lorsqu'un numéro de lot/série est sélectionné et qu'il n'est disponible seulement dans un entrepôt, l'entrepôt est automatiquement sélectionné function updateselectwarehousebybatch() { var element = $("select[name*='batch']"); element.change(function () { - var element = $(this); + //select lot/série + var selectbatch = $(this); - var element2_name = element.attr('name').replace('batch', 'idwarehouse'); - var element2 = $("select[name*='" + element2_name + "']"); + //select entrepôts + var selectwarehouse_name = selectbatch.attr('name').replace('batch', 'idwarehouse'); + var selectwarehouse = $("select[name*='" + selectwarehouse_name + "']"); + var selectedwarehouse = selectwarehouse.val(); - var selected = element2.val(); - - if(selected != -1){ + //si un entrepôt est déjà sélectionné, alors on ne change rien + if(selectedwarehouse != -1){ return; } + //produit de la ligne var product_element_name = element.attr('name').replace('batch', 'product'); $.ajax({ @@ -1417,10 +1421,11 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea } }).done(function (data) { + console.log(data); var data = JSON.parse(data); if(data != 0){ - element2.val(data).change(); + selectwarehouse.val(data).change(); } });