Aggiunto prezzo vendita ivato per gli Articoli
This commit is contained in:
parent
02ba6e8398
commit
25edf663f2
|
@ -55,6 +55,8 @@ if ($options['dir'] == 'entrata') {
|
||||||
var parent = $("#costo_unitario").closest("div").parent();
|
var parent = $("#costo_unitario").closest("div").parent();
|
||||||
var div = parent.find("div[id*=\"errors\"]");
|
var div = parent.find("div[id*=\"errors\"]");
|
||||||
|
|
||||||
|
margine = isNaN(margine) || !isFinite(margine) ? 0: margine; // Fix per magine NaN
|
||||||
|
|
||||||
div.html("<small>' . tr('Guadagno') . ': " + guadagno.toLocale() + " " + globals.currency + " ' . tr('Margine') . ': " + margine.toLocale() + " %</small>");
|
div.html("<small>' . tr('Guadagno') . ': " + guadagno.toLocale() + " " + globals.currency + " ' . tr('Margine') . ': " + margine.toLocale() + " %</small>");
|
||||||
if (guadagno < 0) {
|
if (guadagno < 0) {
|
||||||
parent.addClass("has-error");
|
parent.addClass("has-error");
|
||||||
|
|
|
@ -29,9 +29,8 @@ switch (post('op')) {
|
||||||
|
|
||||||
$articolo->barcode = post('barcode');
|
$articolo->barcode = post('barcode');
|
||||||
$articolo->threshold_qta = post('threshold_qta');
|
$articolo->threshold_qta = post('threshold_qta');
|
||||||
$articolo->prezzo_vendita = post('prezzo_vendita');
|
|
||||||
$articolo->prezzo_acquisto = post('prezzo_acquisto');
|
$articolo->prezzo_acquisto = post('prezzo_acquisto');
|
||||||
$articolo->idiva_vendita = post('idiva_vendita');
|
$articolo->setPrezzoVendita(post('prezzo_vendita'), post('idiva_vendita'));
|
||||||
$articolo->save();
|
$articolo->save();
|
||||||
|
|
||||||
$id_record = $articolo->id;
|
$id_record = $articolo->id;
|
||||||
|
@ -74,9 +73,7 @@ switch (post('op')) {
|
||||||
$articolo->abilita_serial = post('abilita_serial');
|
$articolo->abilita_serial = post('abilita_serial');
|
||||||
$articolo->ubicazione = post('ubicazione');
|
$articolo->ubicazione = post('ubicazione');
|
||||||
$articolo->threshold_qta = post('threshold_qta');
|
$articolo->threshold_qta = post('threshold_qta');
|
||||||
$articolo->prezzo_vendita = post('prezzo_vendita');
|
|
||||||
$articolo->prezzo_acquisto = post('prezzo_acquisto');
|
$articolo->prezzo_acquisto = post('prezzo_acquisto');
|
||||||
$articolo->idiva_vendita = post('idiva_vendita');
|
|
||||||
$articolo->idconto_vendita = post('idconto_vendita');
|
$articolo->idconto_vendita = post('idconto_vendita');
|
||||||
$articolo->idconto_acquisto = post('idconto_acquisto');
|
$articolo->idconto_acquisto = post('idconto_acquisto');
|
||||||
$articolo->id_fornitore = post('id_fornitore');
|
$articolo->id_fornitore = post('id_fornitore');
|
||||||
|
@ -85,6 +82,8 @@ switch (post('op')) {
|
||||||
$articolo->volume = post('volume');
|
$articolo->volume = post('volume');
|
||||||
$articolo->peso_lordo = post('peso_lordo');
|
$articolo->peso_lordo = post('peso_lordo');
|
||||||
|
|
||||||
|
$articolo->setPrezzoVendita(post('prezzo_vendita'), post('idiva_vendita'));
|
||||||
|
|
||||||
$componente = post('componente_filename');
|
$componente = post('componente_filename');
|
||||||
$articolo->componente_filename = $componente;
|
$articolo->componente_filename = $componente;
|
||||||
$articolo->attivo = post('attivo');
|
$articolo->attivo = post('attivo');
|
||||||
|
|
|
@ -5,6 +5,7 @@ include_once __DIR__.'/../../../core.php';
|
||||||
switch ($resource) {
|
switch ($resource) {
|
||||||
case 'articoli':
|
case 'articoli':
|
||||||
$sedi_non_impostate = !isset($superselect['idsede_partenza']) && !isset($superselect['idsede_destinazione']);
|
$sedi_non_impostate = !isset($superselect['idsede_partenza']) && !isset($superselect['idsede_destinazione']);
|
||||||
|
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
|
||||||
|
|
||||||
$query = 'SELECT
|
$query = 'SELECT
|
||||||
mg_articoli.id,
|
mg_articoli.id,
|
||||||
|
@ -12,6 +13,7 @@ switch ($resource) {
|
||||||
IFNULL(mg_fornitore_articolo.codice_fornitore, mg_articoli.codice) AS codice,
|
IFNULL(mg_fornitore_articolo.codice_fornitore, mg_articoli.codice) AS codice,
|
||||||
IFNULL(mg_fornitore_articolo.descrizione, mg_articoli.descrizione) AS descrizione,
|
IFNULL(mg_fornitore_articolo.descrizione, mg_articoli.descrizione) AS descrizione,
|
||||||
IFNULL(mg_fornitore_articolo.prezzo_acquisto, mg_articoli.prezzo_acquisto) AS prezzo_acquisto,
|
IFNULL(mg_fornitore_articolo.prezzo_acquisto, mg_articoli.prezzo_acquisto) AS prezzo_acquisto,
|
||||||
|
mg_articoli.'.($prezzi_ivati ? 'prezzo_vendita_ivato' : 'prezzo_vendita').' AS prezzo_vendita,
|
||||||
IFNULL(mg_fornitore_articolo.qta_minima, 0) AS qta_minima,
|
IFNULL(mg_fornitore_articolo.qta_minima, 0) AS qta_minima,
|
||||||
mg_fornitore_articolo.id AS id_dettaglio_fornitore,
|
mg_fornitore_articolo.id AS id_dettaglio_fornitore,
|
||||||
round(mg_articoli.qta,'.setting('Cifre decimali per quantità').') AS qta,
|
round(mg_articoli.qta,'.setting('Cifre decimali per quantità').') AS qta,
|
||||||
|
@ -20,7 +22,6 @@ switch ($resource) {
|
||||||
mg_articoli.idiva_vendita,
|
mg_articoli.idiva_vendita,
|
||||||
mg_articoli.idconto_vendita,
|
mg_articoli.idconto_vendita,
|
||||||
mg_articoli.idconto_acquisto,
|
mg_articoli.idconto_acquisto,
|
||||||
mg_articoli.prezzo_vendita,
|
|
||||||
categoria.`nome` AS categoria,
|
categoria.`nome` AS categoria,
|
||||||
sottocategoria.`nome` AS sottocategoria,
|
sottocategoria.`nome` AS sottocategoria,
|
||||||
co_iva.descrizione AS iva_vendita,
|
co_iva.descrizione AS iva_vendita,
|
||||||
|
|
|
@ -168,14 +168,17 @@ $_SESSION['superselect']['id_categoria'] = $record['id_categoria'];
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<?php
|
<?php
|
||||||
if (!setting('Utilizza prezzi di vendita comprensivi di IVA')) {
|
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
|
||||||
|
if (empty($prezzi_ivati)) {
|
||||||
echo '
|
echo '
|
||||||
<button type="button" class="btn btn-info btn-xs pull-right tip pull-right" title="'.tr('Scorpora iva dal prezzo di vendita.').'" id="scorpora_iva"><i class="fa fa-calculator" aria-hidden="true"></i></button>';
|
<button type="button" class="btn btn-info btn-xs pull-right tip pull-right" title="'.tr('Scorpora iva dal prezzo di vendita.').'" id="scorpora_iva"><i class="fa fa-calculator" aria-hidden="true"></i></button>';
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
|
|
||||||
{[ "type": "number", "label": "<?php echo tr('Prezzo di vendita'); ?>", "name": "prezzo_vendita", "value": "$prezzo_vendita$", "icon-after": "<?php echo currency(); ?>", "help": "<?php echo setting('Utilizza prezzi di vendita comprensivi di IVA') ? tr('Importo IVA inclusa') : ''; ?>" ]}
|
echo '
|
||||||
</div>
|
{[ "type": "number", "label": "'.tr('Prezzo di vendita').'", "name": "prezzo_vendita", "value": "'.($prezzi_ivati ? $articolo->prezzo_vendita_ivato : $articolo->prezzo_vendita).'", "icon-after": "'.currency().'", "help": "'.($prezzi_ivati ? tr('Importo IVA inclusa') : '').'" ]}
|
||||||
|
</div>';
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
{[ "type": "select", "label": "<?php echo tr('Iva di vendita'); ?>", "name": "idiva_vendita", "ajax-source": "iva", "value": "$idiva_vendita$", "valore_predefinito": "Iva predefinita", "help": "<?php echo tr('Se non specificata, verrà utilizzata l\'iva di default delle impostazioni'); ?>" ]}
|
{[ "type": "select", "label": "<?php echo tr('Iva di vendita'); ?>", "name": "idiva_vendita", "ajax-source": "iva", "value": "$idiva_vendita$", "valore_predefinito": "Iva predefinita", "help": "<?php echo tr('Se non specificata, verrà utilizzata l\'iva di default delle impostazioni'); ?>" ]}
|
||||||
|
|
|
@ -6,6 +6,7 @@ use Common\Model;
|
||||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
use Modules;
|
use Modules;
|
||||||
use Modules\Interventi\Components\Articolo as ArticoloIntervento;
|
use Modules\Interventi\Components\Articolo as ArticoloIntervento;
|
||||||
|
use Modules\Iva\Aliquota;
|
||||||
use Plugins\FornitoriArticolo\Dettaglio;
|
use Plugins\FornitoriArticolo\Dettaglio;
|
||||||
use Traits\RecordTrait;
|
use Traits\RecordTrait;
|
||||||
use Uploads;
|
use Uploads;
|
||||||
|
@ -39,9 +40,9 @@ class Articolo extends Model
|
||||||
* Funzione per inserire i movimenti di magazzino.
|
* Funzione per inserire i movimenti di magazzino.
|
||||||
*
|
*
|
||||||
* @param $qta
|
* @param $qta
|
||||||
* @param null $descrizone
|
* @param null $descrizone
|
||||||
* @param null $data
|
* @param null $data
|
||||||
* @param bool $manuale
|
* @param bool $manuale
|
||||||
* @param array $array
|
* @param array $array
|
||||||
*
|
*
|
||||||
* @return bool
|
* @return bool
|
||||||
|
@ -63,9 +64,9 @@ class Articolo extends Model
|
||||||
* Funzione per registrare i movimenti di magazzino.
|
* Funzione per registrare i movimenti di magazzino.
|
||||||
*
|
*
|
||||||
* @param $qta
|
* @param $qta
|
||||||
* @param null $descrizone
|
* @param null $descrizone
|
||||||
* @param null $data
|
* @param null $data
|
||||||
* @param bool $manuale
|
* @param bool $manuale
|
||||||
* @param array $array
|
* @param array $array
|
||||||
*
|
*
|
||||||
* @return bool
|
* @return bool
|
||||||
|
@ -94,6 +95,22 @@ class Articolo extends Model
|
||||||
return $id;
|
return $id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setPrezzoVendita($prezzo_vendita, $id_iva)
|
||||||
|
{
|
||||||
|
$this->idiva_vendita = $id_iva;
|
||||||
|
|
||||||
|
// Calcolo prezzo di vendita ivato e non ivato
|
||||||
|
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
|
||||||
|
$percentuale_aliquota = floatval(Aliquota::find($id_iva)->percentuale);
|
||||||
|
if ($prezzi_ivati) {
|
||||||
|
$this->prezzo_vendita_ivato = $prezzo_vendita;
|
||||||
|
$this->prezzo_vendita = $prezzo_vendita / (1 + $percentuale_aliquota / 100);
|
||||||
|
} else {
|
||||||
|
$this->prezzo_vendita = $prezzo_vendita;
|
||||||
|
$this->prezzo_vendita_ivato = $prezzo_vendita * (1 + $percentuale_aliquota / 100);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Attributi Eloquent
|
// Attributi Eloquent
|
||||||
|
|
||||||
public function getImmagineUploadAttribute()
|
public function getImmagineUploadAttribute()
|
||||||
|
@ -114,11 +131,11 @@ class Articolo extends Model
|
||||||
$module = Modules::get($this->module);
|
$module = Modules::get($this->module);
|
||||||
$fileinfo = Uploads::fileInfo($this->immagine);
|
$fileinfo = Uploads::fileInfo($this->immagine);
|
||||||
|
|
||||||
$directory = '/'.$module->upload_directory.'/';
|
$directory = '/' . $module->upload_directory . '/';
|
||||||
$image = $directory.$this->immagine;
|
$image = $directory . $this->immagine;
|
||||||
$image_thumbnail = $directory.$fileinfo['filename'].'_thumb600.'.$fileinfo['extension'];
|
$image_thumbnail = $directory . $fileinfo['filename'] . '_thumb600.' . $fileinfo['extension'];
|
||||||
|
|
||||||
$url = file_exists(DOCROOT.$image_thumbnail) ? ROOTDIR.$image_thumbnail : ROOTDIR.$image;
|
$url = file_exists(DOCROOT . $image_thumbnail) ? ROOTDIR . $image_thumbnail : ROOTDIR . $image;
|
||||||
|
|
||||||
return $url;
|
return $url;
|
||||||
}
|
}
|
||||||
|
|
|
@ -265,13 +265,6 @@ switch (post('op')) {
|
||||||
$ddt->num_item = $documento->num_item;
|
$ddt->num_item = $documento->num_item;
|
||||||
$ddt->idsede_destinazione = $documento->idsede;
|
$ddt->idsede_destinazione = $documento->idsede;
|
||||||
|
|
||||||
$ddt->id_documento_fe = $documento->id_documento_fe;
|
|
||||||
$ddt->codice_cup = $documento->codice_cup;
|
|
||||||
$ddt->codice_cig = $documento->codice_cig;
|
|
||||||
$ddt->num_item = $documento->num_item;
|
|
||||||
$ddt->idsede_destinazione = $id_sede;
|
|
||||||
}
|
|
||||||
|
|
||||||
$ddt->save();
|
$ddt->save();
|
||||||
|
|
||||||
$id_record = $ddt->id;
|
$id_record = $ddt->id;
|
||||||
|
|
|
@ -304,12 +304,6 @@ switch (post('op')) {
|
||||||
$ordine->codice_cig = $documento->codice_cig;
|
$ordine->codice_cig = $documento->codice_cig;
|
||||||
$ordine->num_item = $documento->num_item;
|
$ordine->num_item = $documento->num_item;
|
||||||
|
|
||||||
$ordine->id_documento_fe = $documento->id_documento_fe;
|
|
||||||
$ordine->codice_cup = $documento->codice_cup;
|
|
||||||
$ordine->codice_cig = $documento->codice_cig;
|
|
||||||
$ordine->num_item = $documento->num_item;
|
|
||||||
}
|
|
||||||
|
|
||||||
$ordine->save();
|
$ordine->save();
|
||||||
|
|
||||||
$id_record = $ordine->id;
|
$id_record = $ordine->id;
|
||||||
|
|
|
@ -97,3 +97,7 @@ ALTER TABLE `in_righe_interventi` ADD `id_dettaglio_fornitore` int(11) NULL,
|
||||||
ADD FOREIGN KEY (`id_dettaglio_fornitore`) REFERENCES `mg_fornitore_articolo`(`id`) ON DELETE SET NULL;
|
ADD FOREIGN KEY (`id_dettaglio_fornitore`) REFERENCES `mg_fornitore_articolo`(`id`) ON DELETE SET NULL;
|
||||||
ALTER TABLE `co_righe_promemoria` ADD `id_dettaglio_fornitore` int(11) NULL,
|
ALTER TABLE `co_righe_promemoria` ADD `id_dettaglio_fornitore` int(11) NULL,
|
||||||
ADD FOREIGN KEY (`id_dettaglio_fornitore`) REFERENCES `mg_fornitore_articolo`(`id`) ON DELETE SET NULL;
|
ADD FOREIGN KEY (`id_dettaglio_fornitore`) REFERENCES `mg_fornitore_articolo`(`id`) ON DELETE SET NULL;
|
||||||
|
|
||||||
|
-- Aggiunta campo prezzo_vendita_ivato per gli Articoli
|
||||||
|
ALTER TABLE `mg_articoli` ADD `prezzo_vendita_ivato` decimal(15,6) NOT NULL AFTER `prezzo_vendita`;
|
||||||
|
UPDATE `mg_articoli` SET `prezzo_vendita_ivato` = `prezzo_vendita`;
|
||||||
|
|
Loading…
Reference in New Issue