openstamanager/modules/articoli/src/Articolo.php

57 lines
1.4 KiB
PHP
Raw Normal View History

2018-08-29 18:06:51 +02:00
<?php
namespace Modules\Articoli;
use Illuminate\Database\Eloquent\Model;
use Modules\Articoli\Articolo as ArticoloIntervento;
class Articolo extends Model
{
protected $table = 'mg_articoli';
/**
* Funzione per inserire i movimenti di magazzino.
*/
public function movimenta($qta, $descrizone = null, $data = null, $manuale = false)
{
$this->registra($qta, $descrizone, $data, $manuale);
if ($this->servizio == 0) {
$this->qta += $qta;
$this->save();
}
return true;
}
/**
* Funzione per registrare i movimenti di magazzino.
*/
public function registra($qta, $descrizone = null, $data = null, $manuale = false, $array = [])
{
if (empty($qta)) {
return false;
}
// Movimento il magazzino solo se l'articolo non è un servizio
if ($this->servizio == 0) {
// Registrazione della movimentazione
database()->insert('mg_movimenti', array_merge($array, [
'idarticolo' => $this->id,
'qta' => $qta,
'movimento' => $descrizone,
'data' => $data,
'manuale' => $manuale,
]));
}
return true;
}
public function articolo()
{
return $this->hasMany(ArticoloIntervento::class, 'idarticolo');
}
}