1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-01-08 05:47:46 +01:00
openstamanager/modules/articoli/src/Articolo.php
2019-02-12 17:21:27 +01:00

73 lines
1.7 KiB
PHP

<?php
namespace Modules\Articoli;
use Common\Model;
use Modules\Interventi\Articolo as ArticoloIntervento;
class Articolo extends Model
{
protected $table = 'mg_articoli';
/**
* Funzione per inserire i movimenti di magazzino.
*
* @param $qta
* @param null $descrizone
* @param null $data
* @param bool $manuale
* @param array $array
*
* @return bool
*/
public function movimenta($qta, $descrizone = null, $data = null, $manuale = false, $array = [])
{
$this->registra($qta, $descrizone, $data, $manuale, $array);
if ($this->servizio == 0) {
$this->qta += $qta;
$this->save();
}
return true;
}
/**
* Funzione per registrare i movimenti di magazzino.
*
* @param $qta
* @param null $descrizone
* @param null $data
* @param bool $manuale
* @param array $array
*
* @return bool
*/
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');
}
}