Fix movimentazione articoli
This commit is contained in:
parent
8d7740b271
commit
e752db93c0
|
@ -413,12 +413,13 @@ switch (filter('op')) {
|
|||
$new_riga = $riga->replicate();
|
||||
$new_riga->setDocument($ddt);
|
||||
$new_riga->qta_evasa = 0;
|
||||
$new_riga->save();
|
||||
|
||||
if ($new_riga->isArticolo()) {
|
||||
$new_riga->movimenta($new_riga->qta);
|
||||
}
|
||||
|
||||
$new_riga->save();
|
||||
|
||||
$riga = null;
|
||||
}
|
||||
|
||||
|
@ -507,12 +508,12 @@ switch (filter('op')) {
|
|||
$copia_riga->original_id = null;
|
||||
$copia_riga->original_type = null;
|
||||
|
||||
$copia_riga->save();
|
||||
|
||||
// Movimentazione forzata in direzione del documento
|
||||
if ($copia_riga->isArticolo()) {
|
||||
$copia_riga->movimenta($copia_riga->qta);
|
||||
}
|
||||
|
||||
$copia_riga->save();
|
||||
}
|
||||
|
||||
// Salvataggio riferimento
|
||||
|
@ -544,11 +545,12 @@ switch (filter('op')) {
|
|||
|
||||
$new_riga->qta_evasa = 0;
|
||||
$new_riga->idordine = 0;
|
||||
$new_riga->save();
|
||||
|
||||
if ($new_riga->isArticolo()) {
|
||||
$new_riga->movimenta($new_riga->qta);
|
||||
}
|
||||
|
||||
$new_riga->save();
|
||||
}
|
||||
|
||||
flash()->info(tr('DDT duplicato correttamente!'));
|
||||
|
|
|
@ -160,10 +160,12 @@ foreach ($righe as $riga) {
|
|||
$evasione_bar['or_righe_ordini'] = 'success';
|
||||
foreach ($evasione_bar as $table => $color) {
|
||||
$righe_ev = $dbo->table($table)->where('original_id', $riga->id)->where('original_type', get_class($riga))->get();
|
||||
$perc_ev = $righe_ev->sum('qta') * 100 / $riga->qta;
|
||||
if ($perc_ev > 0) {
|
||||
echo '
|
||||
<div class="progress-bar progress-bar-'.$color.'" style="width:'.$perc_ev.'%"></div>';
|
||||
if ($righe_ev->count() > 0) {
|
||||
$perc_ev = $righe_ev->sum('qta') * 100 / $riga->qta;
|
||||
if ($perc_ev > 0) {
|
||||
echo '
|
||||
<div class="progress-bar progress-bar-'.$color.'" style="width:'.$perc_ev.'%"></div>';
|
||||
}
|
||||
}
|
||||
}
|
||||
echo '
|
||||
|
|
|
@ -389,11 +389,12 @@ switch ($op) {
|
|||
$new_riga->idintervento = 0;
|
||||
$new_riga->idddt = 0;
|
||||
$new_riga->idordine = 0;
|
||||
$new_riga->save();
|
||||
|
||||
if ($new_riga->isArticolo()) {
|
||||
$new_riga->movimenta($new_riga->qta);
|
||||
}
|
||||
|
||||
$new_riga->save();
|
||||
}
|
||||
|
||||
flash()->info(tr('Fattura duplicata correttamente!'));
|
||||
|
@ -694,12 +695,13 @@ switch ($op) {
|
|||
$new_riga = $riga->replicate();
|
||||
$new_riga->setDocument($fattura);
|
||||
$new_riga->qta_evasa = 0;
|
||||
$new_riga->save();
|
||||
|
||||
if ($new_riga->isArticolo()) {
|
||||
$new_riga->movimenta($new_riga->qta);
|
||||
}
|
||||
|
||||
$new_riga->save();
|
||||
|
||||
$riga = null;
|
||||
}
|
||||
|
||||
|
|
|
@ -459,12 +459,13 @@ switch (post('op')) {
|
|||
$new_riga = $riga->replicate();
|
||||
$new_riga->setDocument($intervento);
|
||||
$new_riga->qta_evasa = 0;
|
||||
$new_riga->save();
|
||||
|
||||
if ($new_riga->isArticolo()) {
|
||||
$new_riga->movimenta($new_riga->qta);
|
||||
}
|
||||
|
||||
$new_riga->save();
|
||||
|
||||
$riga = null;
|
||||
}
|
||||
|
||||
|
@ -980,11 +981,12 @@ switch (post('op')) {
|
|||
$new_riga->setDocument($new);
|
||||
|
||||
$new_riga->qta_evasa = 0;
|
||||
$new_riga->save();
|
||||
|
||||
if ($new_riga->isArticolo()) {
|
||||
$new_riga->movimenta($new_riga->qta);
|
||||
}
|
||||
|
||||
$new_riga->save();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -308,10 +308,12 @@ abstract class Article extends Accounting
|
|||
->groupBy('idarticolo')
|
||||
->sum('qta');
|
||||
|
||||
$qta_modifica = $this->attributes['qta']-$this->original['qta'];
|
||||
|
||||
//Se la quantità supera la giacenza in sede allora movimento solo quello che resta
|
||||
if (($qta_sede + $qta_finale) < 0 && $qta_sede >= 0) {
|
||||
$qta_finale = -$qta_sede;
|
||||
$this->attributes['qta'] = $this->original['qta'] + abs($qta_finale);
|
||||
$this->attributes['qta'] = $qta_sede + ($qta_modifica != 0 ? $this->original['qta'] : 0);
|
||||
}
|
||||
|
||||
// Se la quantità sede per qualche motivo è negativa correggo la quantità della riga con la differenza
|
||||
|
@ -332,6 +334,7 @@ abstract class Article extends Accounting
|
|||
'reference_id' => $documento->id,
|
||||
'idsede' => $id_sede,
|
||||
]);
|
||||
|
||||
}
|
||||
|
||||
protected static function boot()
|
||||
|
|
Loading…
Reference in New Issue