Skip to content

Commit

Permalink
Riconciliazioni: aggiunto file di configurazione per:
Browse files Browse the repository at this point in the history
- Visualizzazione delle quote (ordinamento e personalizzazione label dei campi)
- Export: personalizzazione label e scelta dei campi delle quote da esportare
  • Loading branch information
atatarelli committed Nov 18, 2021
1 parent 91aba83 commit 1f1bbed
Show file tree
Hide file tree
Showing 5 changed files with 108 additions and 41 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ import { isNullOrUndefined } from 'util';

import * as moment from 'moment';

declare let GovRiconciliazioniConfig: any;

@Component({
selector: 'link-incassi-view',
templateUrl: './incassi-view.component.html',
Expand All @@ -32,7 +34,42 @@ export class IncassiViewComponent implements IModalDialog, IExport, AfterViewIni

protected info: Riepilogo;

constructor(public gps: GovpayService, public us: UtilService) { }
_quoteExport = ['titolo', 'tipologia', 'categoria', 'capitolo', 'articolo', 'accertamento', 'annoEsercizio', 'importo'];
_quoteLabel = {
capitolo: 'Capitolo',
annoEsercizio: 'Anno esercizio',
importo: 'Importo',
titolo: 'Titolo',
accertamento: 'Accertamento',
tipologia: 'Tipologia',
categoria: 'Categoria',
articolo: 'Articolo',
proprietaCustom: 'Proprieta custom'
};
_exportLabel = {
idDominio: 'Dominio',
idFlusso: 'Id Flusso',
iuv: 'IUV',
importo: 'Importo',
data: 'Data',
idPendenza: 'Id Pendenze',
tipoPendenza: 'Tipo pendenza',
idVocePendenza: 'Id voce pendenza',
datiAllegatiPendenza: 'Dati allegati pendenza',
datiAllegatiVocePendenza: 'Dati allegati voce pendenza'
};

_quoteCount = 10;

constructor(public gps: GovpayService, public us: UtilService) {
if (GovRiconciliazioniConfig && GovRiconciliazioniConfig.quoteExport && GovRiconciliazioniConfig.quoteLabel && GovRiconciliazioniConfig.exportLabel) {
this._quoteExport = GovRiconciliazioniConfig.quoteExport;
this._quoteLabel = GovRiconciliazioniConfig.quoteLabel;
this._exportLabel = GovRiconciliazioniConfig.exportLabel;
this._exportLabel = GovRiconciliazioniConfig.exportLabel;
this._quoteCount = GovRiconciliazioniConfig.quoteCount || 10;
}
}

ngAfterViewInit() {
setTimeout(() => {
Expand Down Expand Up @@ -158,40 +195,25 @@ export class IncassiViewComponent implements IModalDialog, IExport, AfterViewIni
const _riscossioni: any[] = [];
this.json.riscossioni.forEach(risc => {
const quote = (risc.vocePendenza && risc.vocePendenza.contabilita) ? risc.vocePendenza.contabilita.quote : [];
const riscossione: any = {
idDominio: _json.dominio.idDominio,
idFlusso: _json.idFlusso ? _json.idFlusso : '',
iuv: risc.iuv || '',
importo: risc.importo || 0,
data: risc.data || '',
idPendenza: risc.vocePendenza.pendenza.idPendenza || '',
tipoPendenza: risc.vocePendenza.pendenza.idTipoPendenza || '',
idVocePendenza: risc.vocePendenza.idVocePendenza || '',
datiAllegatiPendenza: risc.vocePendenza.pendenza.datiAllegati || '',
datiAllegatiVocePendenza: risc.vocePendenza.datiAllegati || ''
};

[1,2,3,4,5,6,7,8,9,10].forEach(i => {
if (this.us.hasValue(quote[i - 1])) {
riscossione['capitolo' + i] = quote[i - 1].capitolo || '';
riscossione['anno' + i] = quote[i - 1].annoEsercizio || '';
riscossione['importo' + i] = quote[i - 1].importo || 0;
riscossione['accertamento' + i] = quote[i - 1].accertamento || '';
riscossione['titolo' + i] = quote[i - 1].titolo || '';
riscossione['tipologia' + i] = quote[i - 1].tipologia || '';
riscossione['categoria' + i] = quote[i - 1].categoria || '';
riscossione['articolo' + i] = quote[i - 1].articolo || '';
} else {
riscossione['capitolo' + i] = '';
riscossione['anno' + i] = '';
riscossione['importo' + i] = '';
riscossione['accertamento' + i] = '';
riscossione['titolo' + i] = '';
riscossione['tipologia' + i] = '';
riscossione['categoria' + i] = '';
riscossione['articolo' + i] = '';
}
});
const riscossione: any = {};
riscossione[this._exportLabel['idDominio']] = _json.dominio.idDominio;
riscossione[this._exportLabel['idFlusso']] = _json.idFlusso ? _json.idFlusso : '';
riscossione[this._exportLabel['iuv']] = risc.iuv || '';
riscossione[this._exportLabel['importo']] = risc.importo || 0;
riscossione[this._exportLabel['data']] = risc.data || '';
riscossione[this._exportLabel['idPendenza']] = risc.vocePendenza.pendenza.idPendenza || '';
riscossione[this._exportLabel['tipoPendenza']] = risc.vocePendenza.pendenza.idTipoPendenza || '';
riscossione[this._exportLabel['idVocePendenza']] = risc.vocePendenza.idVocePendenza || '';
riscossione[this._exportLabel['datiAllegatiPendenza']] = risc.vocePendenza.pendenza.datiAllegati || '';
riscossione[this._exportLabel['datiAllegatiVocePendenza']] = risc.vocePendenza.datiAllegati || '';

for (let i = 0; i < this._quoteCount; i++) {
this._quoteExport.forEach(key => {
const label = `${this._quoteLabel[key]} ${i + 1}`;
riscossione[label] = (this.us.hasValue(quote[i])) ? quote[i][key] : '';
});
}

_riscossioni.push(riscossione);
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<table class="table table-bordered table-sm">
<thead>
<tr>
<th class="text-truncate" *ngFor="let key of quoteKeys">{{ quoteLabel[key] }}</th>
<th class="text-truncate" *ngFor="let key of quoteKeys">{{ _quoteLabel[key] }}</th>
</tr>
</thead>
<tr *ngFor="let item of info.value" >
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';
import { DatoEx } from '../../../../classes/view/dato-ex';

declare let GovRiconciliazioniConfig: any;

@Component({
selector: 'link-key-json-view',
templateUrl: './key-json-view.component.html',
Expand All @@ -12,9 +14,9 @@ export class KeyJsonViewComponent implements OnInit, OnChanges {

quoteKeys: any[] = [];

// quoteOrder = ['capitolo', 'annoEsercizio', 'importo', 'titolo', 'accertamento', 'tipologia', 'categoria', 'articolo'];
quoteOrder = ['titolo', 'tipologia', 'categoria', 'capitolo', 'articolo', 'accertamento', 'annoEsercizio', 'importo'];
quoteLabel = {
// Default
_quoteOrder = ['titolo', 'tipologia', 'categoria', 'capitolo', 'articolo', 'accertamento', 'annoEsercizio', 'importo'];
_quoteLabel = {
capitolo: 'Capitolo',
annoEsercizio: 'Anno esercizio',
importo: 'Importo',
Expand All @@ -26,7 +28,12 @@ export class KeyJsonViewComponent implements OnInit, OnChanges {
proprietaCustom: 'Proprieta custom'
};

constructor() { }
constructor() {
if (GovRiconciliazioniConfig && GovRiconciliazioniConfig.quoteOrder && GovRiconciliazioniConfig.quoteLabel) {
this._quoteOrder = GovRiconciliazioniConfig.quoteOrder;
this._quoteLabel = GovRiconciliazioniConfig.quoteLabel;
}
}

ngOnInit() {
}
Expand All @@ -40,7 +47,7 @@ export class KeyJsonViewComponent implements OnInit, OnChanges {
prepareData() {
if ((this.info.type == 'quote') && this.info.value && this.info.value[0]) {
this.quoteKeys = Object.keys(this.info.value[0]);
const sorted = this.quoteKeys.sort((a, b) => this.quoteOrder.indexOf(a) - this.quoteOrder.indexOf(b));
const sorted = this.quoteKeys.sort((a, b) => this._quoteOrder.indexOf(a) - this._quoteOrder.indexOf(b));
this.quoteKeys = sorted;
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
(function (global) {

function addScript(file) {
document.write('<script src="' + file + '"></script>');
}

function hostname() {
return this.location.protocol + '//' + this.location.host;
}
Expand Down Expand Up @@ -101,4 +105,6 @@
}
};

addScript('assets/config/app-config.govpay');

})(window);
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
(function (global) {

global.GovRiconciliazioniConfig = {
quoteOrder: ['titolo', 'tipologia', 'categoria', 'capitolo', 'articolo', 'accertamento', 'annoEsercizio', 'importo'],
quoteLabel: {
capitolo: 'Capitolo',
annoEsercizio: 'Anno esercizio',
importo: 'Importo',
titolo: 'Titolo',
accertamento: 'Accertamento',
tipologia: 'Tipologia',
categoria: 'Categoria',
articolo: 'Articolo',
proprietaCustom: 'Proprieta custom'
},
quoteExport: ['titolo', 'tipologia', 'categoria', 'capitolo', 'articolo', 'accertamento', 'annoEsercizio', 'importo'],
quoteCount: 10,
exportLabel: {
idDominio: 'Dominio',
idFlusso: 'Id Flusso',
iuv: 'IUV',
importo: 'Importo',
data: 'Data',
idPendenza: 'Id Pendenze',
tipoPendenza: 'Tipo pendenza',
idVocePendenza: 'Id voce pendenza',
datiAllegatiPendenza: 'Dati allegati pendenza',
datiAllegatiVocePendenza: 'Dati allegati voce pendenza'
},
};

})(window);

0 comments on commit 1f1bbed

Please sign in to comment.