mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-22 22:37:37 +01:00
Miglioramento struttura righe
This commit is contained in:
parent
956c6f6762
commit
23b964112f
@ -65,10 +65,10 @@ if ($options['dir'] == 'entrata') {
|
||||
|
||||
aggiorna_guadagno();
|
||||
|
||||
$("#prezzo").change(aggiorna_guadagno();
|
||||
$("#prezzo_acquisto").change(aggiorna_guadagno();
|
||||
$("#sconto").change(aggiorna_guadagno());
|
||||
$("#tipo_sconto").change(aggiorna_guadagno());
|
||||
$("#prezzo").keyup(aggiorna_guadagno);
|
||||
$("#prezzo_acquisto").keyup(aggiorna_guadagno);
|
||||
$("#sconto").keyup(aggiorna_guadagno);
|
||||
$("#tipo_sconto").change(aggiorna_guadagno);
|
||||
</script>';
|
||||
}
|
||||
|
||||
|
@ -1,10 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace Common;
|
||||
namespace Common\Components;
|
||||
|
||||
use Modules\Articoli\Articolo as Original;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use UnexpectedValueException;
|
||||
use Common\Document;
|
||||
|
||||
abstract class Article extends Row
|
||||
{
|
||||
@ -19,9 +20,9 @@ abstract class Article extends Row
|
||||
});
|
||||
}
|
||||
|
||||
public static function make(Original $articolo)
|
||||
public static function make(Document $document, Original $articolo)
|
||||
{
|
||||
$model = parent::make(true);
|
||||
$model = parent::make($document,true);
|
||||
|
||||
$model->articolo()->associate($articolo);
|
||||
|
@ -1,8 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace Common;
|
||||
namespace Common\Components;
|
||||
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Common\Model;
|
||||
use Common\Document;
|
||||
|
||||
abstract class Description extends Model
|
||||
{
|
||||
@ -25,7 +27,7 @@ abstract class Description extends Model
|
||||
});
|
||||
}
|
||||
|
||||
public static function make($bypass = false)
|
||||
public static function make(Document $document, $bypass = false)
|
||||
{
|
||||
$model = parent::make();
|
||||
|
||||
@ -33,6 +35,23 @@ abstract class Description extends Model
|
||||
$model->is_descrizione = 1;
|
||||
}
|
||||
|
||||
$model->setParent($document);
|
||||
|
||||
return $model;
|
||||
}
|
||||
|
||||
public function setParent(Document $document)
|
||||
{
|
||||
$this->parent()->associate($document);
|
||||
|
||||
// Ordine delle righe
|
||||
if (empty($this->disableOrder)) {
|
||||
$this->order = orderValue($this->table, $this->getParentID(), $document->id);
|
||||
}
|
||||
|
||||
$this->save();
|
||||
}
|
||||
|
||||
abstract public function parent();
|
||||
abstract public function getParentID();
|
||||
}
|
@ -1,8 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace Common;
|
||||
namespace Common\Components;
|
||||
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Common\Model;
|
||||
use Common\Document;
|
||||
|
||||
abstract class Discount extends Model
|
||||
{
|
@ -1,8 +1,9 @@
|
||||
<?php
|
||||
|
||||
namespace Common;
|
||||
namespace Common\Components;
|
||||
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Common\Document;
|
||||
|
||||
abstract class Row extends Description
|
||||
{
|
||||
@ -19,9 +20,9 @@ abstract class Row extends Description
|
||||
}
|
||||
}
|
||||
|
||||
public static function make($bypass = false)
|
||||
public static function make(Document $document, $bypass = false)
|
||||
{
|
||||
return parent::make(true);
|
||||
return parent::make($document,true);
|
||||
}
|
||||
|
||||
public function getSubtotaleAttribute()
|
@ -2,13 +2,13 @@
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
use Modules\Anagrafiche\Anagrafica;
|
||||
use Modules\Fatture\Fattura;
|
||||
use Modules\Fatture\Tipo;
|
||||
use Modules\Fatture\Articolo;
|
||||
use Modules\Fatture\Riga;
|
||||
use Modules\Fatture\Descrizione;
|
||||
use Modules\Fatture\Components\Articolo;
|
||||
use Modules\Fatture\Components\Riga;
|
||||
use Modules\Fatture\Components\Descrizione;
|
||||
use Modules\Articoli\Articolo as ArticoloOriginale;
|
||||
use Modules\Anagrafiche\Anagrafica;
|
||||
|
||||
// Necessaria per la funzione add_movimento_magazzino
|
||||
include_once Modules::filepath('Articoli', 'modutil.php');
|
||||
|
@ -1,12 +1,15 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Fatture;
|
||||
namespace Modules\Fatture\Components;
|
||||
|
||||
use Common\Components\Article;
|
||||
use Modules\Articoli\Articolo as Original;
|
||||
use Common\Article;
|
||||
use Modules\Fatture\Fattura;
|
||||
|
||||
class Articolo extends Article
|
||||
{
|
||||
use RelationTrait;
|
||||
|
||||
protected $table = 'co_righe_documenti';
|
||||
|
||||
/**
|
||||
@ -19,11 +22,7 @@ class Articolo extends Article
|
||||
*/
|
||||
public static function make(Fattura $fattura, Original $articolo)
|
||||
{
|
||||
$model = parent::make($articolo);
|
||||
|
||||
$model->fattura()->associate($fattura);
|
||||
|
||||
$model->save();
|
||||
$model = parent::make($fattura, $articolo);
|
||||
|
||||
return $model;
|
||||
}
|
||||
@ -61,9 +60,4 @@ class Articolo extends Article
|
||||
{
|
||||
return $this->fattura->tipo->dir;
|
||||
}
|
||||
|
||||
public function fattura()
|
||||
{
|
||||
return $this->belongsTo(Fattura::class, 'iddocumento');
|
||||
}
|
||||
}
|
@ -1,11 +1,14 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Fatture;
|
||||
namespace Modules\Fatture\Components;
|
||||
|
||||
use Common\Description;
|
||||
use Common\Components\Description;
|
||||
use Modules\Fatture\Fattura;
|
||||
|
||||
class Descrizione extends Description
|
||||
{
|
||||
use RelationTrait;
|
||||
|
||||
protected $table = 'co_righe_documenti';
|
||||
|
||||
/**
|
||||
@ -17,15 +20,8 @@ class Descrizione extends Description
|
||||
*/
|
||||
public static function make(Fattura $fattura)
|
||||
{
|
||||
$model = parent::make();
|
||||
|
||||
$model->fattura()->associate($fattura);
|
||||
$model = parent::make($fattura);
|
||||
|
||||
return $model;
|
||||
}
|
||||
|
||||
public function fattura()
|
||||
{
|
||||
return $this->belongsTo(Fattura::class, 'iddocumento');
|
||||
}
|
||||
}
|
23
modules/fatture/src/Components/RelationTrait.php
Normal file
23
modules/fatture/src/Components/RelationTrait.php
Normal file
@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Fatture\Components;
|
||||
|
||||
use Modules\Fatture\Fattura;
|
||||
|
||||
trait RelationTrait
|
||||
{
|
||||
public function getParentID()
|
||||
{
|
||||
return 'iddocumento';
|
||||
}
|
||||
|
||||
public function parent()
|
||||
{
|
||||
return $this->belongsTo(Fattura::class, $this->getParentID());
|
||||
}
|
||||
|
||||
public function fattura()
|
||||
{
|
||||
return $this->parent();
|
||||
}
|
||||
}
|
@ -1,11 +1,14 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Fatture;
|
||||
namespace Modules\Fatture\Components;
|
||||
|
||||
use Common\Row;
|
||||
use Common\Components\Row;
|
||||
use Modules\Fatture\Fattura;
|
||||
|
||||
class Riga extends Row
|
||||
{
|
||||
use RelationTrait;
|
||||
|
||||
protected $table = 'co_righe_documenti';
|
||||
|
||||
/**
|
||||
@ -17,15 +20,8 @@ class Riga extends Row
|
||||
*/
|
||||
public static function make(Fattura $fattura)
|
||||
{
|
||||
$model = parent::make();
|
||||
|
||||
$model->fattura()->associate($fattura);
|
||||
$model = parent::make($fattura);
|
||||
|
||||
return $model;
|
||||
}
|
||||
|
||||
public function fattura()
|
||||
{
|
||||
return $this->belongsTo(Fattura::class, 'iddocumento');
|
||||
}
|
||||
}
|
33
modules/fatture/src/Components/Sconto.php
Normal file
33
modules/fatture/src/Components/Sconto.php
Normal file
@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Fatture\Components;
|
||||
|
||||
use Common\Components\Discount;
|
||||
use Modules\Fatture\Fattura;
|
||||
|
||||
class Sconto extends Discount
|
||||
{
|
||||
use RelationTrait;
|
||||
|
||||
protected $table = 'co_righe_documenti';
|
||||
|
||||
/**
|
||||
* Crea una nuovo sconto globale collegato alla fattura, oppure restituisce quello esistente.
|
||||
*
|
||||
* @param Fattura $fattura
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function make(Fattura $fattura)
|
||||
{
|
||||
$model = $fattura->scontoGlobale;
|
||||
|
||||
if ($model == null) {
|
||||
$model = parent::make();
|
||||
|
||||
$model->setFattura($fattura);
|
||||
}
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
@ -253,21 +253,21 @@ class Fattura extends Document
|
||||
|
||||
public function articoli()
|
||||
{
|
||||
return $this->hasMany(Articolo::class, 'iddocumento');
|
||||
return $this->hasMany(Components\Articolo::class, 'iddocumento');
|
||||
}
|
||||
|
||||
public function righe()
|
||||
{
|
||||
return $this->hasMany(Riga::class, 'iddocumento');
|
||||
return $this->hasMany(Components\Riga::class, 'iddocumento');
|
||||
}
|
||||
|
||||
public function descrizioni()
|
||||
{
|
||||
return $this->hasMany(Descrizione::class, 'iddocumento');
|
||||
return $this->hasMany(Components\Descrizione::class, 'iddocumento');
|
||||
}
|
||||
|
||||
public function scontoGlobale()
|
||||
{
|
||||
return $this->hasOne(Sconto::class, 'iddocumento');
|
||||
return $this->hasOne(Components\Sconto::class, 'iddocumento');
|
||||
}
|
||||
}
|
||||
|
@ -1,31 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Fatture;
|
||||
|
||||
use Common\Discount;
|
||||
|
||||
class Sconto extends Discount
|
||||
{
|
||||
protected $table = 'co_righe_documenti';
|
||||
|
||||
/**
|
||||
* Crea una nuova riga collegata ad una fattura.
|
||||
*
|
||||
* @param Fattura $fattura
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function make(Fattura $fattura)
|
||||
{
|
||||
$model = parent::make();
|
||||
|
||||
$model->fattura()->associate($fattura);
|
||||
|
||||
return $model;
|
||||
}
|
||||
|
||||
public function fattura()
|
||||
{
|
||||
return $this->belongsTo(Fattura::class, 'iddocumento');
|
||||
}
|
||||
}
|
@ -2,9 +2,9 @@
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
use Modules\Interventi\Articolo;
|
||||
use Modules\Interventi\Intervento;
|
||||
use Modules\Articoli\Articolo as ArticoloOriginale;
|
||||
use Modules\Interventi\Components\Articolo;
|
||||
|
||||
include_once Modules::filepath('Interventi', 'modutil.php');
|
||||
include_once Modules::filepath('Articoli', 'modutil.php');
|
||||
|
@ -1,14 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Interventi;
|
||||
namespace Modules\Interventi\Components;
|
||||
|
||||
use Common\Components\Article;
|
||||
use Modules\Interventi\Intervento;
|
||||
use Modules\Articoli\Articolo as Original;
|
||||
use Common\Article;
|
||||
|
||||
class Articolo extends Article
|
||||
{
|
||||
use RelationTrait;
|
||||
|
||||
protected $table = 'mg_articoli_interventi';
|
||||
protected $serialRowID = 'intervento';
|
||||
protected $disableOrder = true;
|
||||
|
||||
/**
|
||||
* Crea una nuova riga collegata ad un intervento.
|
||||
@ -21,9 +25,7 @@ class Articolo extends Article
|
||||
*/
|
||||
public static function make(Intervento $intervento, Original $articolo, $id_automezzo = null)
|
||||
{
|
||||
$model = parent::make($articolo);
|
||||
|
||||
$model->intervento()->associate($intervento);
|
||||
$model = parent::make($intervento, $articolo);
|
||||
|
||||
$model->prezzo_acquisto = $articolo->prezzo_acquisto;
|
||||
$model->prezzo_vendita = $articolo->prezzo_vendita;
|
||||
@ -108,9 +110,4 @@ class Articolo extends Article
|
||||
{
|
||||
return $this->prezzo_vendita * $this->qta;
|
||||
}
|
||||
|
||||
public function intervento()
|
||||
{
|
||||
return $this->belongsTo(Intervento::class, 'idintervento');
|
||||
}
|
||||
}
|
23
modules/interventi/src/Components/RelationTrait.php
Normal file
23
modules/interventi/src/Components/RelationTrait.php
Normal file
@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Interventi\Components;
|
||||
|
||||
use Modules\Interventi\Intervento;
|
||||
|
||||
trait RelationTrait
|
||||
{
|
||||
public function getParentID()
|
||||
{
|
||||
return 'idintervento';
|
||||
}
|
||||
|
||||
public function parent()
|
||||
{
|
||||
return $this->belongsTo(Intervento::class, $this->getParentID());
|
||||
}
|
||||
|
||||
public function intervento()
|
||||
{
|
||||
return $this->parent();
|
||||
}
|
||||
}
|
@ -1,11 +1,14 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Interventi;
|
||||
namespace Modules\Interventi\Components;
|
||||
|
||||
use Common\Row;
|
||||
use Common\Components\Row;
|
||||
use Modules\Interventi\Intervento;
|
||||
|
||||
class Riga extends Row
|
||||
{
|
||||
use RelationTrait;
|
||||
|
||||
protected $table = 'in_righe_interventi';
|
||||
|
||||
/**
|
||||
@ -17,15 +20,8 @@ class Riga extends Row
|
||||
*/
|
||||
public static function make(Intervento $intervento)
|
||||
{
|
||||
$model = parent::make();
|
||||
|
||||
$model->intervento()->associate($intervento);
|
||||
$model = parent::make($intervento);
|
||||
|
||||
return $model;
|
||||
}
|
||||
|
||||
public function intervento()
|
||||
{
|
||||
return $this->belongsTo(Intervento::class, 'idintervento');
|
||||
}
|
||||
}
|
@ -4,6 +4,8 @@ namespace Modules\Interventi;
|
||||
|
||||
use Common\Document;
|
||||
use Modules\Anagrafiche\Anagrafica;
|
||||
use Modules\Interventi\Components\Riga;
|
||||
use Modules\Interventi\Components\Articolo;
|
||||
|
||||
class Intervento extends Document
|
||||
{
|
||||
@ -28,4 +30,14 @@ class Intervento extends Document
|
||||
{
|
||||
return $this->hasMany(Riga::class, 'idintervento');
|
||||
}
|
||||
|
||||
public function descrizioni(){
|
||||
return null;
|
||||
}
|
||||
|
||||
public function scontoGlobale(){
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
10
modules/iva/src/Aliquota.php
Normal file
10
modules/iva/src/Aliquota.php
Normal file
@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Iva;
|
||||
|
||||
use Common\Model;
|
||||
|
||||
class Aliquota extends Model
|
||||
{
|
||||
protected $table = 'co_iva';
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user