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 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>");
|
||||
if (guadagno < 0) {
|
||||
parent.addClass("has-error");
|
||||
|
|
|
@ -29,9 +29,8 @@ switch (post('op')) {
|
|||
|
||||
$articolo->barcode = post('barcode');
|
||||
$articolo->threshold_qta = post('threshold_qta');
|
||||
$articolo->prezzo_vendita = post('prezzo_vendita');
|
||||
$articolo->prezzo_acquisto = post('prezzo_acquisto');
|
||||
$articolo->idiva_vendita = post('idiva_vendita');
|
||||
$articolo->setPrezzoVendita(post('prezzo_vendita'), post('idiva_vendita'));
|
||||
$articolo->save();
|
||||
|
||||
$id_record = $articolo->id;
|
||||
|
@ -74,9 +73,7 @@ switch (post('op')) {
|
|||
$articolo->abilita_serial = post('abilita_serial');
|
||||
$articolo->ubicazione = post('ubicazione');
|
||||
$articolo->threshold_qta = post('threshold_qta');
|
||||
$articolo->prezzo_vendita = post('prezzo_vendita');
|
||||
$articolo->prezzo_acquisto = post('prezzo_acquisto');
|
||||
$articolo->idiva_vendita = post('idiva_vendita');
|
||||
$articolo->idconto_vendita = post('idconto_vendita');
|
||||
$articolo->idconto_acquisto = post('idconto_acquisto');
|
||||
$articolo->id_fornitore = post('id_fornitore');
|
||||
|
@ -85,6 +82,8 @@ switch (post('op')) {
|
|||
$articolo->volume = post('volume');
|
||||
$articolo->peso_lordo = post('peso_lordo');
|
||||
|
||||
$articolo->setPrezzoVendita(post('prezzo_vendita'), post('idiva_vendita'));
|
||||
|
||||
$componente = post('componente_filename');
|
||||
$articolo->componente_filename = $componente;
|
||||
$articolo->attivo = post('attivo');
|
||||
|
|
|
@ -5,6 +5,7 @@ include_once __DIR__.'/../../../core.php';
|
|||
switch ($resource) {
|
||||
case 'articoli':
|
||||
$sedi_non_impostate = !isset($superselect['idsede_partenza']) && !isset($superselect['idsede_destinazione']);
|
||||
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
|
||||
|
||||
$query = 'SELECT
|
||||
mg_articoli.id,
|
||||
|
@ -12,6 +13,7 @@ switch ($resource) {
|
|||
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.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,
|
||||
mg_fornitore_articolo.id AS id_dettaglio_fornitore,
|
||||
round(mg_articoli.qta,'.setting('Cifre decimali per quantità').') AS qta,
|
||||
|
@ -20,7 +22,6 @@ switch ($resource) {
|
|||
mg_articoli.idiva_vendita,
|
||||
mg_articoli.idconto_vendita,
|
||||
mg_articoli.idconto_acquisto,
|
||||
mg_articoli.prezzo_vendita,
|
||||
categoria.`nome` AS categoria,
|
||||
sottocategoria.`nome` AS sottocategoria,
|
||||
co_iva.descrizione AS iva_vendita,
|
||||
|
|
|
@ -168,14 +168,17 @@ $_SESSION['superselect']['id_categoria'] = $record['id_categoria'];
|
|||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<?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 '
|
||||
<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') : ''; ?>" ]}
|
||||
</div>
|
||||
echo '
|
||||
{[ "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">
|
||||
{[ "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'); ?>" ]}
|
||||
|
@ -405,4 +408,4 @@ if (!empty($elementi)) {
|
|||
|
||||
<a class="btn btn-danger ask" data-backto="record-list">
|
||||
<i class="fa fa-trash"></i> <?php echo tr('Elimina'); ?>
|
||||
</a>
|
||||
</a>
|
||||
|
|
|
@ -6,6 +6,7 @@ use Common\Model;
|
|||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Modules;
|
||||
use Modules\Interventi\Components\Articolo as ArticoloIntervento;
|
||||
use Modules\Iva\Aliquota;
|
||||
use Plugins\FornitoriArticolo\Dettaglio;
|
||||
use Traits\RecordTrait;
|
||||
use Uploads;
|
||||
|
@ -39,9 +40,9 @@ class Articolo extends Model
|
|||
* Funzione per inserire i movimenti di magazzino.
|
||||
*
|
||||
* @param $qta
|
||||
* @param null $descrizone
|
||||
* @param null $data
|
||||
* @param bool $manuale
|
||||
* @param null $descrizone
|
||||
* @param null $data
|
||||
* @param bool $manuale
|
||||
* @param array $array
|
||||
*
|
||||
* @return bool
|
||||
|
@ -63,9 +64,9 @@ class Articolo extends Model
|
|||
* Funzione per registrare i movimenti di magazzino.
|
||||
*
|
||||
* @param $qta
|
||||
* @param null $descrizone
|
||||
* @param null $data
|
||||
* @param bool $manuale
|
||||
* @param null $descrizone
|
||||
* @param null $data
|
||||
* @param bool $manuale
|
||||
* @param array $array
|
||||
*
|
||||
* @return bool
|
||||
|
@ -94,6 +95,22 @@ class Articolo extends Model
|
|||
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
|
||||
|
||||
public function getImmagineUploadAttribute()
|
||||
|
@ -114,11 +131,11 @@ class Articolo extends Model
|
|||
$module = Modules::get($this->module);
|
||||
$fileinfo = Uploads::fileInfo($this->immagine);
|
||||
|
||||
$directory = '/'.$module->upload_directory.'/';
|
||||
$image = $directory.$this->immagine;
|
||||
$image_thumbnail = $directory.$fileinfo['filename'].'_thumb600.'.$fileinfo['extension'];
|
||||
$directory = '/' . $module->upload_directory . '/';
|
||||
$image = $directory . $this->immagine;
|
||||
$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;
|
||||
}
|
||||
|
|
|
@ -265,13 +265,6 @@ switch (post('op')) {
|
|||
$ddt->num_item = $documento->num_item;
|
||||
$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();
|
||||
|
||||
$id_record = $ddt->id;
|
||||
|
|
|
@ -304,12 +304,6 @@ switch (post('op')) {
|
|||
$ordine->codice_cig = $documento->codice_cig;
|
||||
$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();
|
||||
|
||||
$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;
|
||||
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;
|
||||
|
||||
-- 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