mirror of
https://github.com/devcode-it/openstamanager.git
synced 2024-12-20 20:25:17 +01:00
Migliorie minori esportazione Ri.Ba.
This commit is contained in:
parent
382173c2b2
commit
3588ed70ca
@ -29,7 +29,7 @@ abstract class Elemento
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
abstract public function toCbiFormat();
|
||||
abstract public function toRibaAbiCbiFormat();
|
||||
|
||||
/**
|
||||
* @param string $string
|
||||
|
@ -6,15 +6,16 @@ namespace Plugins\PresentazioniBancarie\Cbi;
|
||||
* Classe per gestire l'intestazione del RiBa.
|
||||
*
|
||||
* @property int $abi
|
||||
* @property int $soggetto_veicolatore
|
||||
* @property int $cab
|
||||
* @property string $conto
|
||||
* @property string $data_creazione
|
||||
* @property string $nome_supporto
|
||||
* @property string $codice_divisa
|
||||
* @property string $ragione_soc1_creditore
|
||||
* @property string $ragione_soc2_creditore
|
||||
* @property string $ragione_sociale_creditore
|
||||
* @property string $indirizzo_creditore
|
||||
* @property string $cap_citta_prov_creditore
|
||||
* @property string $citta_creditore
|
||||
* @property string $partita_iva_o_codice_fiscale_creditore
|
||||
* @property string $identificativo_creditore
|
||||
* @property string $codice_sia
|
||||
* @property bool $eol
|
||||
@ -27,6 +28,13 @@ class Intestazione extends Elemento
|
||||
* @var int Valore numerico di 5 cifre
|
||||
*/
|
||||
protected $abi;
|
||||
|
||||
/**
|
||||
* Codice ABI del soggetto veicolatore.
|
||||
*
|
||||
* @var int Valore numerico di 5 cifre
|
||||
*/
|
||||
protected $soggetto_veicolatore;
|
||||
/**
|
||||
* Codice CAB della banca del creditore.
|
||||
*
|
||||
@ -54,11 +62,7 @@ class Intestazione extends Elemento
|
||||
/**
|
||||
* @var string Valore alfanumerico di 24 cifre
|
||||
*/
|
||||
protected $ragione_soc1_creditore;
|
||||
/**
|
||||
* @var string Valore alfanumerico di 24 cifre
|
||||
*/
|
||||
protected $ragione_soc2_creditore;
|
||||
protected $ragione_sociale_creditore;
|
||||
/**
|
||||
* @var string Valore alfanumerico di 24 cifre
|
||||
*/
|
||||
@ -66,7 +70,11 @@ class Intestazione extends Elemento
|
||||
/**
|
||||
* @var string Valore alfanumerico di 24 cifre
|
||||
*/
|
||||
protected $cap_citta_prov_creditore;
|
||||
protected $citta_creditore;
|
||||
/**
|
||||
* @var string Valore alfanumerico di 24 cifre
|
||||
*/
|
||||
protected $partita_iva_o_codice_fiscale_creditore;
|
||||
/**
|
||||
* @var string Valore alfanumerico di 16 cifre, opzionale (default "")
|
||||
*/
|
||||
@ -80,7 +88,7 @@ class Intestazione extends Elemento
|
||||
*/
|
||||
protected $eol = true;
|
||||
|
||||
public function toCbiFormat()
|
||||
public function toRibaAbiCbiFormat()
|
||||
{
|
||||
return [
|
||||
$this->abi,
|
||||
@ -89,12 +97,13 @@ class Intestazione extends Elemento
|
||||
$this->data_creazione,
|
||||
$this->nome_supporto,
|
||||
$this->codice_divisa,
|
||||
$this->ragione_soc1_creditore,
|
||||
$this->ragione_soc2_creditore,
|
||||
$this->ragione_sociale_creditore,
|
||||
$this->indirizzo_creditore,
|
||||
$this->cap_citta_prov_creditore,
|
||||
$this->citta_creditore,
|
||||
$this->partita_iva_o_codice_fiscale_creditore,
|
||||
$this->identificativo_creditore,
|
||||
$this->codice_sia,
|
||||
$this->soggetto_veicolatore,
|
||||
$this->eol,
|
||||
];
|
||||
}
|
||||
|
@ -6,10 +6,10 @@ namespace Plugins\PresentazioniBancarie\Cbi\Records;
|
||||
* Classe dedicata alla gestione dei dati per il record 20 del formato CBI.
|
||||
*
|
||||
* @property string numero_progressivo Numero progressivo della ricevuta, uguale a quello indicato per il record 14 della disposizione.
|
||||
* @property string descrizione_creditore_1 Descrizione del creditore (24 caratteri alfanumerici).
|
||||
* @property string descrizione_creditore_2 Descrizione del creditore (24 caratteri alfanumerici).
|
||||
* @property string descrizione_creditore_3 Descrizione del creditore (24 caratteri alfanumerici).
|
||||
* @property string descrizione_creditore_4 Descrizione del creditore (24 caratteri alfanumerici).
|
||||
* @property string descrizione_creditore_1 Descrizione del creditore (24 caratteri alfanumerici): ragione sociale
|
||||
* @property string descrizione_creditore_2 Descrizione del creditore (24 caratteri alfanumerici): indirizzo
|
||||
* @property string descrizione_creditore_3 Descrizione del creditore (24 caratteri alfanumerici): citta
|
||||
* @property string descrizione_creditore_4 Descrizione del creditore (24 caratteri alfanumerici): codice fiscale o partita iva -> allineamento a dx (vedi http://www.m8k.org/tracciatocbinet)
|
||||
*/
|
||||
class Record20 extends BaseRecord
|
||||
{
|
||||
@ -35,7 +35,7 @@ class Record20 extends BaseRecord
|
||||
'tipo' => 'string',
|
||||
],
|
||||
'descrizione_creditore_4' => [
|
||||
'inizio' => 83,
|
||||
'inizio' => 91,
|
||||
'dimensione' => 24,
|
||||
'tipo' => 'string',
|
||||
],
|
||||
|
@ -12,7 +12,7 @@ namespace Plugins\PresentazioniBancarie\Cbi\Records;
|
||||
* @property string campo_a_disposizione Campo a disposizione dell'Azienda codice_sia_mittente.
|
||||
* @property string tipo_flusso Assume il valore: "1" = operazioni generate nell’ambito di attività Market Place.
|
||||
* @property string qualificatore_flusso Assume il valore fisso "$".
|
||||
* @property string soggetto_veicolare Se i due campi tipo_flusso e qualificatore_flusso sono valorizzati con i valori previsti, deve essere indicato il codice ABI della Banca Gateway MP.
|
||||
* @property string soggetto_veicolatore Se i due campi tipo_flusso e qualificatore_flusso sono valorizzati con i valori previsti, deve essere indicato il codice ABI della Banca Gateway MP.
|
||||
* @property string codice_divisa Assume il valore fisso "E" (Euro).
|
||||
* @property string centro_applicativo Questo campo è di interesse soltanto della tratta tra Centri Applicativi. Codice ABI del Centro Applicativo destinatario del supporto.
|
||||
*/
|
||||
@ -52,10 +52,9 @@ class RecordIB extends BaseRecord
|
||||
'qualificatore_flusso' => [
|
||||
'inizio' => 106,
|
||||
'dimensione' => 1,
|
||||
'tipo' => 'constant',
|
||||
'valore' => '$',
|
||||
'tipo' => 'string',
|
||||
],
|
||||
'soggetto_veicolare' => [
|
||||
'soggetto_veicolatore' => [
|
||||
'inizio' => 107,
|
||||
'dimensione' => 5,
|
||||
'tipo' => 'string',
|
||||
|
@ -93,8 +93,11 @@ class RiBa
|
||||
$ib->nome_supporto = $intestazione->nome_supporto;
|
||||
$ib->data_creazione = $intestazione->data_creazione;
|
||||
|
||||
$ib->tipo_flusso = 1;
|
||||
$ib->soggetto_veicolare = $intestazione->abi;
|
||||
if ( $intestazione->soggetto_veicolatore != "" ) {
|
||||
$ib->tipo_flusso = 1;
|
||||
$ib->qualificatore_flusso = '$';
|
||||
}
|
||||
$ib->soggetto_veicolatore = $intestazione->soggetto_veicolatore;
|
||||
$contenuto .= $ib->toCBI().$eol;
|
||||
|
||||
// Iterazione tra le ricevute interne al RiBa
|
||||
@ -123,10 +126,10 @@ class RiBa
|
||||
// Record 20
|
||||
$r20 = new Record20();
|
||||
$r20->numero_progressivo = $progressivo;
|
||||
$r20->descrizione_creditore_1 = $intestazione->ragione_soc1_creditore;
|
||||
$r20->descrizione_creditore_2 = $intestazione->ragione_soc2_creditore;
|
||||
$r20->descrizione_creditore_3 = $intestazione->indirizzo_creditore;
|
||||
$r20->descrizione_creditore_4 = $intestazione->cap_citta_prov_creditore;
|
||||
$r20->descrizione_creditore_1 = $intestazione->ragione_sociale_creditore;
|
||||
$r20->descrizione_creditore_2 = $intestazione->indirizzo_creditore;
|
||||
$r20->descrizione_creditore_3 = $intestazione->citta_creditore;
|
||||
$r20->descrizione_creditore_4 = $intestazione->partita_iva_o_codice_fiscale_creditore;
|
||||
$contenuto .= $r20->toCBI().$eol;
|
||||
|
||||
// Record 30
|
||||
@ -159,7 +162,7 @@ class RiBa
|
||||
$r51 = new Record51();
|
||||
$r51->numero_progressivo = $progressivo;
|
||||
$r51->numero_ricevuta = $ricevuta->numero_ricevuta;
|
||||
$r51->denominazione_creditore = $intestazione->ragione_soc1_creditore;
|
||||
$r51->denominazione_creditore = $intestazione->ragione_sociale_creditore;
|
||||
$contenuto .= $r51->toCBI().$eol;
|
||||
|
||||
// Record 70
|
||||
@ -183,4 +186,24 @@ class RiBa
|
||||
|
||||
return $contenuto;
|
||||
}
|
||||
|
||||
public function asRibaAbiCbi()
|
||||
{
|
||||
$formato_intestazione = $this->intestazione->toRibaAbiCbiFormat();
|
||||
|
||||
// Trasformazione delle ricevute nel formato relativo
|
||||
$formato_ricevute = [];
|
||||
foreach ($this->ricevute as $ricevuta) {
|
||||
$formato_ricevute[] = $ricevuta->toRibaAbiCbiFormat();
|
||||
}
|
||||
|
||||
// Eccezione in caso di assenza di ricevute interne
|
||||
if (empty($formato_ricevute)) {
|
||||
throw new InvalidArgumentException();
|
||||
}
|
||||
|
||||
$cbi = new RibaAbiCbi();
|
||||
|
||||
return $cbi->creaFile($formato_intestazione, $formato_ricevute);
|
||||
}
|
||||
}
|
||||
|
@ -90,7 +90,7 @@ class Ricevuta extends Elemento
|
||||
*/
|
||||
protected $descrizione_origine;
|
||||
|
||||
public function toCbiFormat()
|
||||
public function toRibaAbiCbiFormat()
|
||||
{
|
||||
return [
|
||||
$this->numero_ricevuta,
|
||||
|
@ -87,10 +87,10 @@ class Gestore
|
||||
$intestazione->cab = $cab_assuntrice;
|
||||
$intestazione->data_creazione = $data->format('dmy');
|
||||
$intestazione->nome_supporto = $supporto;
|
||||
$intestazione->cap_citta_prov_creditore = strtoupper($this->azienda['cap'].' '.$this->azienda['citta'].' '.$this->azienda['provincia']);
|
||||
$intestazione->ragione_soc1_creditore = strtoupper($this->azienda->ragione_sociale);
|
||||
$intestazione->citta_creditore = strtoupper($this->azienda['cap'].' '.$this->azienda['citta'].' '.$this->azienda['provincia']);
|
||||
$intestazione->ragione_sociale_creditore = strtoupper($this->azienda->ragione_sociale);
|
||||
$intestazione->indirizzo_creditore = strtoupper($this->azienda['indirizzo']);
|
||||
$intestazione->identificativo_creditore = !empty($this->azienda->partita_iva) ? $this->azienda->partita_iva : $this->azienda->codice_fiscale;
|
||||
$intestazione->partita_iva_o_codice_fiscale_creditore = !empty($this->azienda->partita_iva) ? $this->azienda->partita_iva : $this->azienda->codice_fiscale;
|
||||
|
||||
$this->riba = new RiBa($intestazione);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user