Fix move the code into mouvementstock class
This commit is contained in:
parent
c62a69ccc8
commit
67392fbac5
@ -240,7 +240,7 @@ class MouvementStock extends CommonObject
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO Check qty is ok for stock move.
|
// TODO Check qty is ok for stock move.
|
||||||
if (! empty($conf->productbatch->enabled) && $product->hasbatch() && ! $skip_batch)
|
if (! empty($conf->productbatch->enabled) && $product->hasbatch() && ! $skip_batch)
|
||||||
{
|
{
|
||||||
@ -250,6 +250,17 @@ class MouvementStock extends CommonObject
|
|||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (empty($conf->global->STOCK_ALLOW_NEGATIVE_TRANSFER) && in_array($type, array(1, 2)))
|
||||||
|
{
|
||||||
|
if (empty($product->stock_warehouse[$entrepot_id]->real) || $product->stock_warehouse[$entrepot_id]->real < abs($qty))
|
||||||
|
{
|
||||||
|
$this->error = $langs->trans('qtyToTranferIsNotEnough');
|
||||||
|
$this->errors[] = $langs->trans('qtyToTranferIsNotEnough');
|
||||||
|
$this->db->rollback();
|
||||||
|
return -8;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Define if we must make the stock change (If product type is a service or if stock is used also for services)
|
// Define if we must make the stock change (If product type is a service or if stock is used also for services)
|
||||||
$movestock=0;
|
$movestock=0;
|
||||||
|
|||||||
@ -231,117 +231,98 @@ if ($action == "transfert_stock" && ! $cancel)
|
|||||||
$pricesrc=0;
|
$pricesrc=0;
|
||||||
if (isset($object->pmp)) $pricesrc=$object->pmp;
|
if (isset($object->pmp)) $pricesrc=$object->pmp;
|
||||||
$pricedest=$pricesrc;
|
$pricedest=$pricesrc;
|
||||||
|
|
||||||
$do_tranfer = true;
|
|
||||||
if (empty($conf->global->STOCK_ALLOW_NEGATIVE_TRANSFER))
|
|
||||||
{
|
|
||||||
$fk_warehouse_source = GETPOST("id_entrepot");
|
|
||||||
$nb_unit = GETPOST("nbpiece",'int');
|
|
||||||
|
|
||||||
if (empty($object->stock_warehouse[$fk_warehouse_source]->real) || $object->stock_warehouse[$fk_warehouse_source]->real < $nb_unit)
|
|
||||||
{
|
|
||||||
$do_tranfer = false;
|
|
||||||
$result1 = $result2 = -1;
|
|
||||||
$action='';
|
|
||||||
$object->error = $langs->trans('qtyToTranferIsNotEnough');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($do_tranfer)
|
if ($object->hasbatch())
|
||||||
{
|
{
|
||||||
|
$pdluo = new Productbatch($db);
|
||||||
|
|
||||||
if ($object->hasbatch())
|
if ($pdluoid > 0)
|
||||||
{
|
{
|
||||||
$pdluo = new Productbatch($db);
|
$result=$pdluo->fetch($pdluoid);
|
||||||
|
if ($result)
|
||||||
if ($pdluoid > 0)
|
|
||||||
{
|
{
|
||||||
$result=$pdluo->fetch($pdluoid);
|
$srcwarehouseid=$pdluo->warehouseid;
|
||||||
if ($result)
|
$batch=$pdluo->batch;
|
||||||
{
|
$eatby=$pdluo->eatby;
|
||||||
$srcwarehouseid=$pdluo->warehouseid;
|
$sellby=$pdluo->sellby;
|
||||||
$batch=$pdluo->batch;
|
|
||||||
$eatby=$pdluo->eatby;
|
|
||||||
$sellby=$pdluo->sellby;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
setEventMessages($pdluo->error, $pdluo->errors, 'errors');
|
|
||||||
$error++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$srcwarehouseid=GETPOST('id_entrepot','int');
|
setEventMessages($pdluo->error, $pdluo->errors, 'errors');
|
||||||
$batch=GETPOST('batch_number');
|
$error++;
|
||||||
$eatby=$d_eatby;
|
|
||||||
$sellby=$d_sellby;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (! $error)
|
|
||||||
{
|
|
||||||
// Remove stock
|
|
||||||
$result1=$object->correct_stock_batch(
|
|
||||||
$user,
|
|
||||||
$srcwarehouseid,
|
|
||||||
GETPOST("nbpiece",'int'),
|
|
||||||
1,
|
|
||||||
GETPOST("label",'san_alpha'),
|
|
||||||
$pricesrc,
|
|
||||||
$eatby,$sellby,$batch,
|
|
||||||
GETPOST('inventorycode')
|
|
||||||
);
|
|
||||||
if ($result1 < 0) $error++;
|
|
||||||
}
|
|
||||||
if (! $error)
|
|
||||||
{
|
|
||||||
// Add stock
|
|
||||||
$result2=$object->correct_stock_batch(
|
|
||||||
$user,
|
|
||||||
GETPOST("id_entrepot_destination",'int'),
|
|
||||||
GETPOST("nbpiece",'int'),
|
|
||||||
0,
|
|
||||||
GETPOST("label",'san_alpha'),
|
|
||||||
$pricedest,
|
|
||||||
$eatby,$sellby,$batch,
|
|
||||||
GETPOST('inventorycode')
|
|
||||||
);
|
|
||||||
if ($result2 < 0) $error++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (! $error)
|
$srcwarehouseid=GETPOST('id_entrepot','int');
|
||||||
{
|
$batch=GETPOST('batch_number');
|
||||||
// Remove stock
|
$eatby=$d_eatby;
|
||||||
$result1=$object->correct_stock(
|
$sellby=$d_sellby;
|
||||||
$user,
|
|
||||||
GETPOST("id_entrepot"),
|
|
||||||
GETPOST("nbpiece"),
|
|
||||||
1,
|
|
||||||
GETPOST("label"),
|
|
||||||
$pricesrc,
|
|
||||||
GETPOST('inventorycode')
|
|
||||||
);
|
|
||||||
if ($result1 < 0) $error++;
|
|
||||||
}
|
|
||||||
if (! $error)
|
|
||||||
{
|
|
||||||
// Add stock
|
|
||||||
$result2=$object->correct_stock(
|
|
||||||
$user,
|
|
||||||
GETPOST("id_entrepot_destination"),
|
|
||||||
GETPOST("nbpiece"),
|
|
||||||
0,
|
|
||||||
GETPOST("label"),
|
|
||||||
$pricedest,
|
|
||||||
GETPOST('inventorycode')
|
|
||||||
);
|
|
||||||
if ($result2 < 0) $error++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
|
// Remove stock
|
||||||
|
$result1=$object->correct_stock_batch(
|
||||||
|
$user,
|
||||||
|
$srcwarehouseid,
|
||||||
|
GETPOST("nbpiece",'int'),
|
||||||
|
1,
|
||||||
|
GETPOST("label",'san_alpha'),
|
||||||
|
$pricesrc,
|
||||||
|
$eatby,$sellby,$batch,
|
||||||
|
GETPOST('inventorycode')
|
||||||
|
);
|
||||||
|
if ($result1 < 0) $error++;
|
||||||
|
}
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
|
// Add stock
|
||||||
|
$result2=$object->correct_stock_batch(
|
||||||
|
$user,
|
||||||
|
GETPOST("id_entrepot_destination",'int'),
|
||||||
|
GETPOST("nbpiece",'int'),
|
||||||
|
0,
|
||||||
|
GETPOST("label",'san_alpha'),
|
||||||
|
$pricedest,
|
||||||
|
$eatby,$sellby,$batch,
|
||||||
|
GETPOST('inventorycode')
|
||||||
|
);
|
||||||
|
if ($result2 < 0) $error++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
|
// Remove stock
|
||||||
|
$result1=$object->correct_stock(
|
||||||
|
$user,
|
||||||
|
GETPOST("id_entrepot"),
|
||||||
|
GETPOST("nbpiece"),
|
||||||
|
1,
|
||||||
|
GETPOST("label"),
|
||||||
|
$pricesrc,
|
||||||
|
GETPOST('inventorycode')
|
||||||
|
);
|
||||||
|
if ($result1 < 0) $error++;
|
||||||
|
}
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
|
// Add stock
|
||||||
|
$result2=$object->correct_stock(
|
||||||
|
$user,
|
||||||
|
GETPOST("id_entrepot_destination"),
|
||||||
|
GETPOST("nbpiece"),
|
||||||
|
0,
|
||||||
|
GETPOST("label"),
|
||||||
|
$pricedest,
|
||||||
|
GETPOST('inventorycode')
|
||||||
|
);
|
||||||
|
if ($result2 < 0) $error++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (! $error && $result1 >= 0 && $result2 >= 0)
|
if (! $error && $result1 >= 0 && $result2 >= 0)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user