Merge branch 'master' of https://github.com/devcode-it/openstamanager
This commit is contained in:
commit
1c75527965
|
@ -57,6 +57,7 @@ switch (post('op')) {
|
||||||
if ($dir == 'uscita') {
|
if ($dir == 'uscita') {
|
||||||
$data = [
|
$data = [
|
||||||
'numero' => post('numero'),
|
'numero' => post('numero'),
|
||||||
|
'numero_esterno' => post('numero_esterno'),
|
||||||
'idrivalsainps' => post('id_rivalsa_inps'),
|
'idrivalsainps' => post('id_rivalsa_inps'),
|
||||||
'idritenutaacconto' => post('id_ritenuta_acconto'),
|
'idritenutaacconto' => post('id_ritenuta_acconto'),
|
||||||
];
|
];
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
include_once __DIR__.'/../../core.php';
|
include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
|
include_once Modules::filepath('Fatture di vendita', 'modutil.php');
|
||||||
|
|
||||||
$directory = Uploads::getDirectory($id_module);
|
$directory = Uploads::getDirectory($id_module);
|
||||||
|
|
||||||
switch (filter('op')) {
|
switch (filter('op')) {
|
||||||
|
@ -39,14 +41,23 @@ switch (filter('op')) {
|
||||||
$fattura_pa = new Plugins\ImportPA\FatturaElettronica($xml, post('id_segment'));
|
$fattura_pa = new Plugins\ImportPA\FatturaElettronica($xml, post('id_segment'));
|
||||||
|
|
||||||
$id_record = $fattura_pa->saveFattura(post('pagamento'));
|
$id_record = $fattura_pa->saveFattura(post('pagamento'));
|
||||||
|
$idrivalsainps = 0;
|
||||||
|
$idritenutaacconto = 0;
|
||||||
|
$bollo = 0;
|
||||||
|
|
||||||
$fattura_pa->saveRighe(post('articoli'), post('iva'));
|
$fattura_pa->saveRighe(post('articoli'), post('iva'), post('conto'));
|
||||||
$fattura_pa->getFattura()->updateSconto();
|
$fattura_pa->getFattura()->updateSconto();
|
||||||
|
|
||||||
$fattura_pa->saveAllegati($directory);
|
$fattura_pa->saveAllegati($directory);
|
||||||
|
|
||||||
Uploads::updateFake($id, $id_record);
|
Uploads::updateFake($id, $id_record);
|
||||||
|
|
||||||
|
ricalcola_costiagg_fattura($id_record, $idrivalsainps, $idritenutaacconto, $bollo);
|
||||||
|
elimina_scadenza($id_record);
|
||||||
|
elimina_movimento($id_record, 0);
|
||||||
|
aggiungi_scadenza($id_record, post('pagamento'));
|
||||||
|
aggiungi_movimento($id_record, 'uscita');
|
||||||
|
|
||||||
redirect(ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$id_record);
|
redirect(ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$id_record);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -70,15 +70,16 @@ if (!empty($righe)) {
|
||||||
echo '
|
echo '
|
||||||
<h4>'.tr('Righe').'</h4>
|
<h4>'.tr('Righe').'</h4>
|
||||||
|
|
||||||
<table class="table table-hover table-striped">
|
<div class="table-responsive">
|
||||||
<tr>
|
<table class="table table-hover table-striped table-condensed">
|
||||||
<th width="10%">'.tr('Riga').'</th>
|
<tr>
|
||||||
<th width="40%">'.tr('Descrizione').'</th>
|
<th>'.tr('Descrizione').'</th>
|
||||||
<th width="10%">'.tr('Quantità').'</th>
|
<th width="10%">'.tr('Q.tà').'</th>
|
||||||
<th width="10%">'.tr('Prezzo unitario').'</th>
|
<th width="15%">'.tr('Prezzo unitario').'</th>
|
||||||
<th width="10%">'.tr('Iva associata').'*</th>
|
<th width="15%">'.tr('Iva associata').'*</th>
|
||||||
<th width="20%">'.tr('Articolo associato').'</th>
|
<th width="15%">'.tr('Conto').'</th>
|
||||||
</tr>';
|
<th width="15%">'.tr('Articolo associato').'</th>
|
||||||
|
</tr>';
|
||||||
|
|
||||||
foreach ($righe as $key => $riga) {
|
foreach ($righe as $key => $riga) {
|
||||||
$query = 'SELECT id, IF(codice IS NULL, descrizione, CONCAT(codice, " - ", descrizione)) AS descrizione FROM co_iva WHERE percentuale = '.prepare($riga['AliquotaIVA']);
|
$query = 'SELECT id, IF(codice IS NULL, descrizione, CONCAT(codice, " - ", descrizione)) AS descrizione FROM co_iva WHERE percentuale = '.prepare($riga['AliquotaIVA']);
|
||||||
|
@ -91,13 +92,15 @@ if (!empty($righe)) {
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
<tr>
|
<tr>
|
||||||
<td>'.$key.'</td>
|
|
||||||
<td>'.$riga['Descrizione'].'</td>
|
<td>'.$riga['Descrizione'].'</td>
|
||||||
<td>'.$riga['Quantita'].' '.$riga['UnitaMisura'].'</td>
|
<td>'.Translator::numberToLocale( $riga['Quantita'] ).' '.$riga['UnitaMisura'].'</td>
|
||||||
<td>'.$riga['PrezzoUnitario'].'</td>
|
<td>'.Translator::numberToLocale( $riga['PrezzoUnitario'] ).' €</td>
|
||||||
<td>
|
<td>
|
||||||
{[ "type": "select", "name": "iva['.$key.']", "values": "query='.str_replace('"', '\"', $query).'", "required": 1 ]}
|
{[ "type": "select", "name": "iva['.$key.']", "values": "query='.str_replace('"', '\"', $query).'", "required": 1 ]}
|
||||||
</td>
|
</td>
|
||||||
|
<td>
|
||||||
|
{[ "type": "select", "name": "conto['.$key.']", "ajax-source": "conti-acquisti" ]}
|
||||||
|
</td>
|
||||||
<td>
|
<td>
|
||||||
{[ "type": "select", "name": "articoli['.$key.']", "ajax-source": "articoli" ]}
|
{[ "type": "select", "name": "articoli['.$key.']", "ajax-source": "articoli" ]}
|
||||||
</td>
|
</td>
|
||||||
|
@ -105,7 +108,8 @@ if (!empty($righe)) {
|
||||||
}
|
}
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
</table>';
|
</table>
|
||||||
|
</div>';
|
||||||
} else {
|
} else {
|
||||||
echo '
|
echo '
|
||||||
<p>Non ci sono righe nella fattura.</p>';
|
<p>Non ci sono righe nella fattura.</p>';
|
||||||
|
|
|
@ -153,7 +153,7 @@ class FatturaElettronica
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function saveRighe($articoli, $iva)
|
public function saveRighe($articoli, $iva, $conto)
|
||||||
{
|
{
|
||||||
$righe = $this->getRighe();
|
$righe = $this->getRighe();
|
||||||
|
|
||||||
|
@ -168,6 +168,7 @@ class FatturaElettronica
|
||||||
|
|
||||||
$obj->descrizione = $riga['Descrizione'];
|
$obj->descrizione = $riga['Descrizione'];
|
||||||
$obj->id_iva = $iva[$key];
|
$obj->id_iva = $iva[$key];
|
||||||
|
$obj->idconto = $conto[$key];
|
||||||
$obj->costo_unitario = $riga['PrezzoUnitario'];
|
$obj->costo_unitario = $riga['PrezzoUnitario'];
|
||||||
$obj->qta = $riga['Quantita'] ?: 1;
|
$obj->qta = $riga['Quantita'] ?: 1;
|
||||||
|
|
||||||
|
@ -240,7 +241,8 @@ class FatturaElettronica
|
||||||
|
|
||||||
$dati_generali = $this->getBody()['DatiGenerali']['DatiGeneraliDocumento'];
|
$dati_generali = $this->getBody()['DatiGenerali']['DatiGeneraliDocumento'];
|
||||||
$data = $dati_generali['Data'];
|
$data = $dati_generali['Data'];
|
||||||
$numero = $dati_generali['Numero'];
|
$numero = Fattura::getNumero($data, 'uscita', $this->id_sezionale);
|
||||||
|
$numero_esterno = $dati_generali['Numero'];
|
||||||
|
|
||||||
$descrizione_tipo = empty($this->getBody()['DatiGenerali']['DatiTrasporto']) ? 'Fattura immediata di acquisto' : 'Fattura accompagnatoria di acquisto';
|
$descrizione_tipo = empty($this->getBody()['DatiGenerali']['DatiTrasporto']) ? 'Fattura immediata di acquisto' : 'Fattura accompagnatoria di acquisto';
|
||||||
$tipo = TipoFattura::where('descrizione', $descrizione_tipo)->first();
|
$tipo = TipoFattura::where('descrizione', $descrizione_tipo)->first();
|
||||||
|
@ -249,6 +251,7 @@ class FatturaElettronica
|
||||||
$this->fattura = $fattura;
|
$this->fattura = $fattura;
|
||||||
|
|
||||||
$fattura->numero = $numero;
|
$fattura->numero = $numero;
|
||||||
|
$fattura->numero_esterno = $numero_esterno;
|
||||||
$fattura->idpagamento = $id_pagamento;
|
$fattura->idpagamento = $id_pagamento;
|
||||||
|
|
||||||
$stato_documento = StatoFattura::where('descrizione', 'Emessa')->first();
|
$stato_documento = StatoFattura::where('descrizione', 'Emessa')->first();
|
||||||
|
|
Loading…
Reference in New Issue