Merge branch 'master' of https://github.com/devcode-it/openstamanager
This commit is contained in:
commit
5a5c7b36a8
|
@ -58,9 +58,13 @@ Il formato utilizzato è basato sulle linee guida di [Keep a Changelog](http://k
|
|||
- Aggiunta possibilità di creare campi aggiuntivi con testo libero
|
||||
- Aggiunta impostazione per nascondere i promemoria su app
|
||||
- Aggiunta ID utente nei movimenti articolo
|
||||
- Aggiunta valori buffer Datatables
|
||||
- Aggiunto filtro referenti per sede in interventi
|
||||
### Modificato (Changed)
|
||||
- Miglioria gestione codice REA e provincia
|
||||
- Miglioria stampa mastrino saldo iniziale
|
||||
- Miglioria visualizzazione tabella listini clienti
|
||||
- Migliorata l'impostazione del prezzo di vendita in fase di aggiunta articolo
|
||||
### Fixed
|
||||
- Corretta query vista contratti
|
||||
- Corretta stampa inventario in Articoli
|
||||
|
|
|
@ -77,6 +77,19 @@ switch (post('op')) {
|
|||
|
||||
download($file, 'anagrafiche.csv');
|
||||
break;
|
||||
|
||||
case 'cambia-relazione':
|
||||
$idrelazione = post('idrelazione');
|
||||
|
||||
foreach ($id_records as $id) {
|
||||
$anagrafica = Anagrafica::find($id);
|
||||
|
||||
$anagrafica->idrelazione = $idrelazione;
|
||||
|
||||
$anagrafica->save();
|
||||
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
$operations = [];
|
||||
|
@ -113,4 +126,13 @@ if (App::debug() && $google) {
|
|||
];
|
||||
}
|
||||
|
||||
$operations['cambia-relazione'] = [
|
||||
'text' => '<span><i class="fa fa-copy"></i> '.tr('Cambia relazione').'</span>',
|
||||
'data' => [
|
||||
'msg' => tr('Vuoi davvero cambiare la relazione delle anagrafiche selezionate?').'<br><br>{[ "type": "select", "label": "'.tr('Relazione con il cliente').'", "name": "idrelazione", "required": 1, "ajax-source": "relazioni"]}',
|
||||
'button' => tr('Procedi'),
|
||||
'class' => 'btn btn-lg btn-warning',
|
||||
],
|
||||
];
|
||||
|
||||
return $operations;
|
||||
|
|
|
@ -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,9 +162,9 @@ 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
|
||||
$r70 = new Record70();
|
||||
$r70->numero_progressivo = $progressivo;
|
||||
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -107,5 +107,5 @@ CREATE TABLE `an_pagamenti_anagrafiche` ( `id` INT NOT NULL AUTO_INCREMENT , `me
|
|||
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, 'Descrizione personalizzata in fatturazione', '', 'textarea', '1', 'Attività', '17', 'Variabili utilizzabili: \n {email}\n {numero}\n {ragione_sociale}\n {richiesta}\n {descrizione}\n {data}\n {data richiesta}\n {data fine intervento}\n {id_anagrafica}\n {stato}\n');
|
||||
|
||||
-- Aggiunto plugin Registrazioni in Fatture
|
||||
INSERT INTO `zz_plugins` (`id`, `name`, `title`, `idmodule_from`, `idmodule_to`, `position`, `script`, `enabled`, `default`, `order`, `compatibility`, `version`, `options2`, `options`, `directory`, `help`, `created_at`, `updated_at`) VALUES (NULL, 'Registrazioni', 'Registrazioni', (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di acquisto'), (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di acquisto'), 'tab', '', '1', '0', '0', '', '', NULL, 'custom', 'registrazioni', '', NOW(), NOW());
|
||||
INSERT INTO `zz_plugins` (`id`, `name`, `title`, `idmodule_from`, `idmodule_to`, `position`, `script`, `enabled`, `default`, `order`, `compatibility`, `version`, `options2`, `options`, `directory`, `help`, `created_at`, `updated_at`) VALUES (NULL, 'Registrazioni', 'Registrazioni', (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di vendita'), (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di vendita'), 'tab', '', '1', '0', '0', '', '', NULL, 'custom', 'registrazioni', '', NOW(), NOW());
|
||||
INSERT INTO `zz_plugins` (`id`, `name`, `title`, `idmodule_from`, `idmodule_to`, `position`, `script`, `enabled`, `default`, `order`, `compatibility`, `version`, `options2`, `options`, `directory`, `help`) VALUES (NULL, 'Registrazioni', 'Registrazioni', (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di acquisto'), (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di acquisto'), 'tab', '', '1', '0', '0', '', '', NULL, 'custom', 'registrazioni', '');
|
||||
INSERT INTO `zz_plugins` (`id`, `name`, `title`, `idmodule_from`, `idmodule_to`, `position`, `script`, `enabled`, `default`, `order`, `compatibility`, `version`, `options2`, `options`, `directory`, `help`) VALUES (NULL, 'Registrazioni', 'Registrazioni', (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di vendita'), (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di vendita'), 'tab', '', '1', '0', '0', '', '', NULL, 'custom', 'registrazioni', '');
|
|
@ -62,7 +62,7 @@ ALTER TABLE `an_anagrafiche` DROP `cciaa`;
|
|||
ALTER TABLE `an_anagrafiche` DROP `cciaa_citta`;
|
||||
|
||||
-- Aggiunta nazioni
|
||||
INSERT INTO `an_nazioni` (`id`, `nome`, `iso2`, `created_at`, `name`) VALUES (NULL, 'Palestina', 'PS', NULL, 'Palestine');
|
||||
INSERT INTO `an_nazioni` (`id`, `nome`, `iso2`, `name`) VALUES (NULL, 'Palestina', 'PS', 'Palestine');
|
||||
|
||||
-- Fix query viste Giacenze sedi
|
||||
UPDATE `zz_modules` SET `options` = "SELECT
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
-- Fix query viste Utenti e permessi
|
||||
UPDATE `zz_modules` SET `options` = "SELECT
|
||||
|select|
|
||||
FROM
|
||||
`zz_groups`
|
||||
LEFT JOIN (SELECT `zz_users`.`idgruppo`, COUNT(`id`) AS num FROM `zz_users` GROUP BY `idgruppo`) AS utenti ON `zz_groups`.`id`=`utenti`.`idgruppo`
|
||||
WHERE
|
||||
1=1
|
||||
HAVING
|
||||
2=2
|
||||
ORDER BY
|
||||
`id`,
|
||||
`nome` ASC" WHERE `name` = 'Utenti e permessi';
|
Loading…
Reference in New Issue