mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-16 19:40:44 +01:00
Aggiunto select per aggiornare i prezzi di acquisto dell'articolo in fase di importFE
This commit is contained in:
parent
f928223253
commit
9f1ece8f8b
@ -132,6 +132,7 @@ switch (filter('op')) {
|
|||||||
'movimentazione' => post('movimentazione'),
|
'movimentazione' => post('movimentazione'),
|
||||||
'crea_articoli' => post('crea_articoli'),
|
'crea_articoli' => post('crea_articoli'),
|
||||||
'is_ritenuta_pagata' => post('is_ritenuta_pagata'),
|
'is_ritenuta_pagata' => post('is_ritenuta_pagata'),
|
||||||
|
'update_info' => post('update_info'),
|
||||||
];
|
];
|
||||||
|
|
||||||
$fattura_pa = FatturaElettronica::manage($filename);
|
$fattura_pa = FatturaElettronica::manage($filename);
|
||||||
|
@ -294,6 +294,14 @@ echo '
|
|||||||
</div>';
|
</div>';
|
||||||
|
|
||||||
// Righe
|
// Righe
|
||||||
|
if (setting('Aggiorna info di acquisto')=='Non aggiornare'){
|
||||||
|
$update_info = 'update_not';
|
||||||
|
} elseif (setting('Aggiorna info di acquisto')=='Aggiorna prezzo di listino'){
|
||||||
|
$update_info ='update_price';
|
||||||
|
} else{
|
||||||
|
$update_info = 'update_all';
|
||||||
|
}
|
||||||
|
|
||||||
$righe = $fattura_pa->getRighe();
|
$righe = $fattura_pa->getRighe();
|
||||||
if (!empty($righe)) {
|
if (!empty($righe)) {
|
||||||
echo '
|
echo '
|
||||||
@ -413,34 +421,45 @@ if (!empty($righe)) {
|
|||||||
<input type="hidden" name="id_riga_riferimento_vendita['.$key.']" id="id_riga_riferimento_vendita_'.$key.'" value="">
|
<input type="hidden" name="id_riga_riferimento_vendita['.$key.']" id="id_riga_riferimento_vendita_'.$key.'" value="">
|
||||||
<input type="hidden" name="tipo_riga_riferimento_vendita['.$key.']" id="tipo_riga_riferimento_vendita_'.$key.'" value="">
|
<input type="hidden" name="tipo_riga_riferimento_vendita['.$key.']" id="tipo_riga_riferimento_vendita_'.$key.'" value="">
|
||||||
|
|
||||||
<div class="col-md-12">
|
<div class="box collapsed-box" style="background:#eeeeee;">
|
||||||
|
<div class="box-header">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-5">
|
||||||
|
{[ "type": "select", "name": "articoli['.$key.']", "ajax-source": "articoli", "select-options": '.json_encode(['permetti_movimento_a_zero' => 1, 'dir' => 'entrata', 'idanagrafica' => $anagrafica ? $anagrafica->id : '']).', "icon-after": "add|'.Modules::get('Articoli')['id'].'|codice='.str_replace('\\', '/', htmlentities($codice_principale)).'&descrizione='.str_replace('\\', '/', str_replace('\'', '‘', htmlentities($riga['Descrizione']))).'", "value": "'.$id_articolo.'", "label": "'.tr('Articolo').'", "extra": "data-id=\''.$key.'\'" ]}
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="col-md-3">
|
||||||
<div class="col-md-6">
|
{[ "type": "select", "name": "conto['.$key.']", "id": "conto-'.$key.'", "ajax-source": "conti-acquisti", "required": 1, "label": "'.tr('Conto acquisti').'", "value": "'.$idconto_acquisto.'" ]}
|
||||||
{[ "type": "select", "name": "articoli['.$key.']", "ajax-source": "articoli", "select-options": '.json_encode(['permetti_movimento_a_zero' => 1, 'dir' => 'entrata', 'idanagrafica' => $anagrafica ? $anagrafica->id : '']).', "icon-after": "add|'.Modules::get('Articoli')['id'].'|codice='.str_replace('\\', '/', htmlentities($codice_principale)).'&descrizione='.str_replace('\\', '/', str_replace('\'', '‘', htmlentities($riga['Descrizione']))).'", "value": "'.$id_articolo.'", "label": "'.tr('Articolo').'", "extra": "data-id=\''.$key.'\'" ]}
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
{[ "type": "select", "name": "conto['.$key.']", "id": "conto-'.$key.'", "ajax-source": "conti-acquisti", "required": 1, "label": "'.tr('Conto acquisti').'", "value": "'.$idconto_acquisto.'" ]}
|
{[ "type": "select", "name": "iva['.$key.']", "values": '.json_encode('query='.$query).', "required": 1, "label": "'.tr('Aliquota IVA').'" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-3">
|
<div class="col-md-1 box-tools">
|
||||||
{[ "type": "select", "name": "iva['.$key.']", "values": '.json_encode('query='.$query).', "required": 1, "label": "'.tr('Aliquota IVA').'" ]}
|
<br>
|
||||||
|
<button type="button" class="btn btn-box-tool" data-widget="collapse" onclick="$(this).find(\'i\').toggleClass(\'fa-plus\').toggleClass(\'fa-minus\');">
|
||||||
|
<i class="fa fa-plus"></i> '.tr('Altro').'
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="box-body">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3">
|
||||||
|
{[ "type": "select", "name": "selezione_riferimento['.$key.']", "ajax-source": "riferimenti-fe", "select-options": '.json_encode(['id_anagrafica' => $anagrafica ? $anagrafica->id : '']).', "label": "'.tr('Riferimento acquisto').'", "icon-after": '.json_encode('<button type="button" onclick="rimuoviRiferimento(this)" class="btn btn-primary disabled" id="rimuovi_riferimento_'.$key.'"><i class="fa fa-close"></i></button>').', "help": "'.tr('Articoli contenuti in Ordini o DDT del Fornitore').'" ]}
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="col-md-3">
|
||||||
<div class="col-md-3">
|
{[ "type": "select", "name": "selezione_riferimento_vendita['.$key.']", "ajax-source": "riferimenti-vendita-fe", "select-options": '.json_encode(['id_articolo' => $id_articolo]).', "label": "'.tr('Riferimento vendita').'", "icon-after": '.json_encode('<button type="button" onclick="rimuoviRiferimentoVendita(this)" class="btn btn-primary disabled" id="rimuovi_riferimento_vendita_'.$key.'"><i class="fa fa-close"></i></button>').', "help": "'.tr('Articoli contenuti in Ordini Cliente').'" ]}
|
||||||
{[ "type": "select", "name": "selezione_riferimento['.$key.']", "ajax-source": "riferimenti-fe", "select-options": '.json_encode(['id_anagrafica' => $anagrafica ? $anagrafica->id : '']).', "label": "'.tr('Riferimento acquisto').'", "icon-after": '.json_encode('<button type="button" onclick="rimuoviRiferimento(this)" class="btn btn-primary disabled" id="rimuovi_riferimento_'.$key.'"><i class="fa fa-close"></i></button>').', "help": "'.tr('Articoli contenuti in Ordini o DDT del Fornitore').'" ]}
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col-md-3">
|
<div class="col-md-6">
|
||||||
{[ "type": "select", "name": "selezione_riferimento_vendita['.$key.']", "ajax-source": "riferimenti-vendita-fe", "select-options": '.json_encode(['id_articolo' => $id_articolo]).', "label": "'.tr('Riferimento vendita').'", "icon-after": '.json_encode('<button type="button" onclick="rimuoviRiferimentoVendita(this)" class="btn btn-primary disabled" id="rimuovi_riferimento_vendita_'.$key.'"><i class="fa fa-close"></i></button>').', "help": "'.tr('Articoli contenuti in Ordini Cliente').'" ]}
|
{[ "type": "select", "name": "update_info['.$key.']", "values": "list=\"update_not\":\"Non aggiornare\", \"update_price\":\"Aggiorna prezzo di listino\", \"update_all\":\"Aggiorna prezzo di acquisto + imposta fornitore predefinito\"", "label": "'.tr('Aggiorna info di acquisto').'", "value": "'.$update_info.'" ]}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>';
|
</tr>';
|
||||||
}
|
}
|
||||||
|
@ -362,7 +362,7 @@ class FatturaElettronica
|
|||||||
{
|
{
|
||||||
$this->saveFattura($info['id_pagamento'], $info['id_segment'], $info['id_tipo'], $info['data_registrazione'], $info['ref_fattura'], $info['is_ritenuta_pagata']);
|
$this->saveFattura($info['id_pagamento'], $info['id_segment'], $info['id_tipo'], $info['data_registrazione'], $info['ref_fattura'], $info['is_ritenuta_pagata']);
|
||||||
|
|
||||||
$this->saveRighe($info['articoli'], $info['iva'], $info['conto'], $info['movimentazione'], $info['crea_articoli'], $info['tipo_riga_riferimento'], $info['id_riga_riferimento'], $info['tipo_riga_riferimento_vendita'], $info['id_riga_riferimento_vendita']);
|
$this->saveRighe($info['articoli'], $info['iva'], $info['conto'], $info['movimentazione'], $info['crea_articoli'], $info['tipo_riga_riferimento'], $info['id_riga_riferimento'], $info['tipo_riga_riferimento_vendita'], $info['id_riga_riferimento_vendita'], $info['update_info']);
|
||||||
|
|
||||||
$this->saveAllegati();
|
$this->saveAllegati();
|
||||||
|
|
||||||
|
@ -110,12 +110,14 @@ class FatturaOrdinaria extends FatturaElettronica
|
|||||||
return $this->forceArray($result);
|
return $this->forceArray($result);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function saveRighe($articoli, $iva, $conto, $movimentazione = true, $crea_articoli = false, $tipi_riferimenti = [], $id_riferimenti = [], $tipi_riferimenti_vendita = [], $id_riferimenti_vendita = [])
|
public function saveRighe($articoli, $iva, $conto, $movimentazione = true, $crea_articoli = false, $tipi_riferimenti = [], $id_riferimenti = [], $tipi_riferimenti_vendita = [], $id_riferimenti_vendita = [], $update_info = [])
|
||||||
{
|
{
|
||||||
$info = $this->getRitenutaRivalsa();
|
$info = $this->getRitenutaRivalsa();
|
||||||
|
|
||||||
$righe = $this->getRighe();
|
$righe = $this->getRighe();
|
||||||
$fattura = $this->getFattura();
|
$fattura = $this->getFattura();
|
||||||
|
$anagrafica = Anagrafica::find($fattura->idanagrafica);
|
||||||
|
$direzione = 'uscita';
|
||||||
|
|
||||||
$id_ritenuta_acconto = $info['id_ritenuta_acconto'];
|
$id_ritenuta_acconto = $info['id_ritenuta_acconto'];
|
||||||
$id_rivalsa = $info['id_rivalsa'];
|
$id_rivalsa = $info['id_rivalsa'];
|
||||||
@ -150,8 +152,6 @@ class FatturaOrdinaria extends FatturaElettronica
|
|||||||
$articolo->idconto_acquisto = $conto[$key];
|
$articolo->idconto_acquisto = $conto[$key];
|
||||||
$articolo->save();
|
$articolo->save();
|
||||||
|
|
||||||
$direzione = 'uscita';
|
|
||||||
$anagrafica = Anagrafica::find($fattura->idanagrafica);
|
|
||||||
$dettaglio_prezzo = DettaglioPrezzo::build($articolo, $anagrafica, $direzione);
|
$dettaglio_prezzo = DettaglioPrezzo::build($articolo, $anagrafica, $direzione);
|
||||||
|
|
||||||
$dettaglio_prezzo->setPrezzoUnitario($riga['PrezzoUnitario']);
|
$dettaglio_prezzo->setPrezzoUnitario($riga['PrezzoUnitario']);
|
||||||
@ -268,10 +268,38 @@ class FatturaOrdinaria extends FatturaElettronica
|
|||||||
}
|
}
|
||||||
|
|
||||||
$obj->setSconto($sconto_unitario, $tipo);
|
$obj->setSconto($sconto_unitario, $tipo);
|
||||||
$tipo = null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Aggiornamento prezzo di acquisto e fornitore predefinito in base alle impostazioni
|
||||||
|
if (!empty($articolo)) {
|
||||||
|
if ($update_info[$key]=='update_price' || $update_info[$key]=='update_all') {
|
||||||
|
$dettaglio_predefinito = DettaglioPrezzo::dettaglioPredefinito($articolo->id, $anagrafica->idanagrafica, $direzione)
|
||||||
|
->first();
|
||||||
|
|
||||||
|
// Aggiungo associazione fornitore-articolo se non presente
|
||||||
|
if (empty($dettaglio_predefinito)) {
|
||||||
|
$dettaglio_predefinito = DettaglioPrezzo::build($articolo, $anagrafica, $direzione);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Aggiornamento listino
|
||||||
|
$dettaglio_predefinito->sconto_percentuale = 0;
|
||||||
|
$dettaglio_predefinito->setPrezzoUnitario($obj->prezzo_unitario);
|
||||||
|
$dettaglio_predefinito->save();
|
||||||
|
|
||||||
|
// Aggiornamento fornitore predefinito
|
||||||
|
if ($update_info[$key]=='update_all') {
|
||||||
|
// Aggiornamento prezzo di acquisto e fornitore predefinito
|
||||||
|
$articolo->prezzo_acquisto = $obj->prezzo_unitario;
|
||||||
|
$articolo->id_fornitore = $anagrafica->idanagrafica;
|
||||||
|
$articolo->save();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$tipo = null;
|
||||||
|
$sconto_unitario = null;
|
||||||
$obj->save();
|
$obj->save();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ricaricamento della fattura
|
// Ricaricamento della fattura
|
||||||
|
@ -131,3 +131,5 @@ ALTER TABLE `em_accounts` ADD `id_oauth2` INT(11) DEFAULT NULL,
|
|||||||
ALTER TABLE `an_referenti` ADD `enable_newsletter` BOOLEAN DEFAULT TRUE;
|
ALTER TABLE `an_referenti` ADD `enable_newsletter` BOOLEAN DEFAULT TRUE;
|
||||||
ALTER TABLE `an_sedi` ADD `enable_newsletter` BOOLEAN DEFAULT TRUE;
|
ALTER TABLE `an_sedi` ADD `enable_newsletter` BOOLEAN DEFAULT TRUE;
|
||||||
|
|
||||||
|
-- Aggiunta impostazione aggiornamento prezzi e fornitore in fase di import FE
|
||||||
|
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, 'Aggiorna info di acquisto', 'Non aggiornare', 'list[Non aggiornare,Aggiorna prezzo di listino,Aggiorna prezzo di acquisto + imposta fornitore predefinito]', '1', 'Fatturazione', '16', NULL);
|
Loading…
x
Reference in New Issue
Block a user