1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2024-12-23 05:54:03 +01:00

Miglioramento arrotondamenti importFE

This commit is contained in:
Thomas Zilio 2019-05-03 15:32:28 -07:00
parent 1c03dddf80
commit 0927dca82f
26 changed files with 132 additions and 125 deletions

View File

@ -39,7 +39,6 @@ if ($module['name'] == 'Interventi') {
$width = $options['dir'] == 'entrata' ? 4 : 6;
$label = $options['dir'] == 'entrata' ? tr('Prezzo unitario di vendita') : tr('Prezzo unitario');
if ($options['dir'] == 'entrata') {
// Prezzo di acquisto unitario
echo '

View File

@ -84,8 +84,7 @@ switch (post('op')) {
flash()->error(tr('Attenzione: il codice fiscale _COD_ è già stato utilizzato', [
'_COD_' => post('codice_fiscale'),
]));
}
else {
} else {
$anagrafica->codice_fiscale = post('codice_fiscale');
}
} else {
@ -100,8 +99,7 @@ switch (post('op')) {
flash()->error(tr('Attenzione: la partita IVA _IVA_ è già stata utilizzata', [
'_IVA_' => post('piva'),
]));
}
else {
} else {
$anagrafica->partita_iva = post('piva');
}
} else {
@ -163,8 +161,7 @@ switch (post('op')) {
flash()->error(tr('Attenzione: il codice fiscale _COD_ è già stato utilizzato', [
'_COD_' => post('codice_fiscale'),
]));
}
else {
} else {
$anagrafica->codice_fiscale = post('codice_fiscale');
}
} else {
@ -179,8 +176,7 @@ switch (post('op')) {
flash()->error(tr('Attenzione: la partita IVA _IVA_ è già stata utilizzata', [
'_IVA_' => post('piva'),
]));
}
else {
} else {
$anagrafica->partita_iva = post('piva');
}
} else {

View File

@ -120,7 +120,6 @@ foreach ($rs as $r) {
</form>';
}
echo '
<div class="handle clickable" style="padding:10px">
<i class="fa fa-sort"></i>

View File

@ -180,7 +180,6 @@ if (!empty($rs)) {
<i class="fa fa-sort"></i>
</div>';
echo '
</td>
</tr>';

View File

@ -556,7 +556,7 @@ if ($dir == 'uscita' && $fattura->isFE()) {
var div = $("#controlla_totali");
div.removeClass("alert-info");
console.log(data);
if (data.stored == null) {
div.addClass("alert-info").html("'.tr("Il file XML non contiene il nodo ''ImportoTotaleDocumento'': impossibile controllare corrispondenza dei totali").'.")
} else if (data.stored == data.calculated){

View File

@ -332,7 +332,6 @@ class Fattura extends Document
*/
public static function registraScadenza(Fattura $fattura, $importo, $scadenza, $is_pagato, $type = 'fattura')
{
//Calcolo la descrizione
$descrizione = database()->fetchOne("SELECT CONCAT(co_tipidocumento.descrizione, CONCAT(' numero ', IF(numero_esterno!='', numero_esterno, numero))) AS descrizione FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_documenti.id='".$fattura->id."'")['descrizione'];
@ -493,6 +492,25 @@ class Fattura extends Document
return $numero;
}
/**
* Restituisce i dati bancari in base al pagamento.
*
* @return array
*/
public function getBanca()
{
$result = [];
$riba = database()->fetchOne('SELECT riba FROM co_pagamenti WHERE id ='.prepare($this->idpagamento));
if ($riba['riba'] == 1) {
$result = database()->fetchOne('SELECT codiceiban, appoggiobancario, bic FROM an_anagrafiche WHERE idanagrafica ='.prepare($this->idanagrafica));
} else {
$result = database()->fetchOne('SELECT iban AS codiceiban, nome AS appoggiobancario, bic FROM co_banche WHERE id='.prepare($this->idbanca));
}
return $result;
}
protected function calcolaMarcaDaBollo()
{
$righe_bollo = $this->getRighe()->filter(function ($item, $key) {
@ -542,22 +560,4 @@ class Fattura extends Document
$riga->save();
}
/**
* Restituisce i dati bancari in base al pagamento
*
* @return array
*/
public function getBanca(){
$result = [];
$riba = database()->fetchOne('SELECT riba FROM co_pagamenti WHERE id =' .prepare($this->idpagamento));
if ($riba['riba'] == 1){
$result = database()->fetchOne('SELECT codiceiban, appoggiobancario, bic FROM an_anagrafiche WHERE idanagrafica =' .prepare($this->idanagrafica));
}else{
$result = database()->fetchOne('SELECT iban AS codiceiban, nome AS appoggiobancario, bic FROM co_banche WHERE id=' .prepare($this->idbanca));
}
return $result;
}
}

View File

@ -170,7 +170,6 @@ if (!empty($rs)) {
</form>";
}
echo '
<div class="handle clickable" style="padding:10px">
<i class="fa fa-sort"></i>

View File

@ -116,13 +116,11 @@ foreach ($rs as $r) {
</form>";
}
echo '
<div class="handle clickable" style="padding:10px">
<i class="fa fa-sort"></i>
</div>';
echo '
</td>
</tr>';

View File

@ -3,14 +3,13 @@
include_once __DIR__.'/../../core.php';
switch (post('op')) {
case 'add':
$data = post("data");
$tipo = post("tipo");
$da_pagare = post("da_pagare");
$descrizione = post("descrizione");
$data = post('data');
$tipo = post('tipo');
$da_pagare = post('da_pagare');
$descrizione = post('descrizione');
$dbo->query("INSERT INTO co_scadenziario(descrizione, tipo, data_emissione, scadenza, da_pagare, pagato, data_pagamento) VALUES(".prepare($descrizione).", ".prepare($tipo).", CURDATE(), ".prepare($data).", ".prepare($da_pagare).", '0', '0000-00-00')");
$dbo->query('INSERT INTO co_scadenziario(descrizione, tipo, data_emissione, scadenza, da_pagare, pagato, data_pagamento) VALUES('.prepare($descrizione).', '.prepare($tipo).', CURDATE(), '.prepare($data).', '.prepare($da_pagare).", '0', '0000-00-00')");
$id_record = $dbo->lastInsertedID();
flash()->info(tr('Scadenza inserita!'));
@ -40,7 +39,7 @@ switch (post('op')) {
break;
case "delete":
case 'delete':
$dbo->query("DELETE FROM co_scadenziario WHERE id='".$id_record."'");
flash()->info(tr('Scadenza eliminata!'));
break;

View File

@ -7,7 +7,7 @@ include_once __DIR__.'/../../core.php';
<form action="" method="post" id="add-form">
<input type="hidden" name="op" value="add">
<input type="hidden" name="backto" value="record-edit">
<input type="hidden" name="dir" value="<?php echo $dir ?>">
<input type="hidden" name="dir" value="<?php echo $dir; ?>">
<div class="row">
<div class="col-md-4">

View File

@ -1109,7 +1109,6 @@ class FatturaElettronica
*/
protected static function getDatiPagamento($fattura)
{
$documento = $fattura->getDocumento();
$fattura = Fattura::find($documento['id']);
@ -1141,7 +1140,6 @@ class FatturaElettronica
$pagamento['BIC'] = $banca['bic'];
}
$result[]['DettaglioPagamento'] = $pagamento;
}

View File

@ -176,8 +176,8 @@ if (!empty($righe)) {
'_UM_' => $riga['UnitaMisura'],
]).'</small><br>
<small>'.tr('Aliquota iva _PRC_% _DESC_', [
'_PRC_' => Translator::numberToLocale($riga['AliquotaIVA']),
<small>'.tr('Aliquota IVA _VALUE_ _DESC_', [
'_VALUE_' => empty($riga['Natura']) ? numberFormat($riga['AliquotaIVA']).'%' : $riga['Natura'],
'_DESC_' => $riga['RiferimentoNormativo'] ? ' - '.$riga['RiferimentoNormativo'] : '',
]).'</small>
</td>
@ -214,7 +214,6 @@ if (!empty($righe)) {
}
});
if(first_iva) {
$iva = first_iva.selectData();

View File

@ -65,6 +65,23 @@ class FatturaOrdinaria extends FatturaElettronica
{
$result = $this->getBody()['DatiBeniServizi']['DettaglioLinee'];
$riepolighi = $this->getBody()['DatiBeniServizi']['DatiRiepilogo'];
foreach ($riepolighi as $riepilogo) {
if (!empty($riepilogo['Arrotondamento'])) {
$descrizione = tr('Arrotondamento IVA _VALUE_', [
'_VALUE_' => empty($riepilogo['Natura']) ? numberFormat($riepilogo['AliquotaIVA']).'%' : $riepilogo['Natura'],
]);
$result[] = [
'Descrizione' => $descrizione,
'PrezzoUnitario' => $riepilogo['Arrotondamento'],
'Quantita' => 1,
'AliquotaIVA' => $riepilogo['AliquotaIVA'],
'Natura' => $riepilogo['Natura'],
];
}
}
return $this->forceArray($result);
}
@ -145,6 +162,9 @@ class FatturaOrdinaria extends FatturaElettronica
$obj->save();
}
// Ricaricamento della fattura
$fattura->refresh();
// Arrotondamenti differenti nella fattura XML
$totali_righe = array_column($righe, 'PrezzoTotale');
$totale_righe = sum($totali_righe);
@ -152,7 +172,7 @@ class FatturaOrdinaria extends FatturaElettronica
$dati_generali = $this->getBody()['DatiGenerali']['DatiGeneraliDocumento'];
$totale_documento = $dati_generali['ImportoTotaleDocumento'];
$diff = $totale_documento ? $totale_documento - $fattura->totale : $totale_righe - $fattura->imponibile_scontato;
$diff = $totale_documento ? floatval($totale_documento) - $fattura->totale : $totale_righe - $fattura->imponibile_scontato;
if (!empty($diff)) {
// Rimozione dell'IVA calcolata automaticamente dal gestionale
$iva_arrotondamento = database()->fetchOne('SELECT * FROM co_iva WHERE id='.prepare($iva[0]));

View File

@ -73,7 +73,9 @@ class Query
}
} else {
foreach ($dates as $k => $v) {
if ($k < 1) continue;
if ($k < 1) {
continue;
}
$filters[] = $v;
}
}

View File

@ -15,9 +15,9 @@ include_once $docroot.'/templates/pdfgen_variables.php';
//Filtro in base al segmento
$id_segment = $_SESSION['module_18']['id_segment'];
$rs_segment = $dbo->fetchArray("SELECT * FROM zz_segments WHERE id=".prepare($id_segment));
$rs_segment = $dbo->fetchArray('SELECT * FROM zz_segments WHERE id='.prepare($id_segment));
$add_where = "AND ".$rs_segment[0]['clause'];
$add_where = 'AND '.$rs_segment[0]['clause'];
$body .= '<h3>'.$titolo.' dal '.Translator::dateToLocale($date_start).' al '.Translator::dateToLocale($date_end)."</h3>\n";
$body .= "<table class=\"table_values\" cellspacing=\"0\" border=\"0\" cellpadding=\"0\" style=\"table-layout:fixed; border-color:#aaa;\">\n";

View File

@ -58,10 +58,9 @@ foreach ($files as $key => $value) {
delete($files);
//Calcolo la descrizione per il nuovo campo descrizione in scadenzario
$rs = $dbo->fetchArray("SELECT * FROM co_scadenziario");
$rs = $dbo->fetchArray('SELECT * FROM co_scadenziario');
for($i=0;$i<sizeof($rs);$i++){
for ($i = 0; $i < sizeof($rs); ++$i) {
$dbo->query("UPDATE co_scadenziario SET descrizione=(SELECT CONCAT(co_tipidocumento.descrizione, CONCAT(' numero ', IF(numero_esterno!='', numero_esterno, numero))) FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_documenti.id='".$rs[$i]['iddocumento']."') WHERE co_scadenziario.id='".$rs[$i]['id']."'");
}