1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-02-27 08:47:39 +01:00

Fix codice anagrafica

This commit is contained in:
Thomas Zilio 2019-07-04 21:03:33 +02:00
parent c1ce5dbefc
commit 5aa795553b

View File

@ -45,11 +45,7 @@ class Anagrafica extends Model
$model->nome = $nome; $model->nome = $nome;
$model->cognome = $cognome; $model->cognome = $cognome;
$ultimo = database()->fetchOne('SELECT codice FROM an_anagrafiche WHERE codice != \'\' AND codice LIKE '.prepare(str_replace('#', '_', setting('Formato codice anagrafica'))).' AND deleted_at IS NULL ORDER BY codice DESC LIMIT 1'); $model->codice = static::getNextCodice();
$codice = Generator::generate(setting('Formato codice anagrafica'), $ultimo['codice']);
$model->codice = $codice;
$model->id_ritenuta_acconto_vendite = setting("Percentuale ritenuta d'acconto"); $model->id_ritenuta_acconto_vendite = setting("Percentuale ritenuta d'acconto");
$model->save(); $model->save();
@ -107,7 +103,7 @@ class Anagrafica extends Model
public static function fixTecnico(Anagrafica $anagrafica) public static function fixTecnico(Anagrafica $anagrafica)
{ {
// Copio già le tariffe per le varie attività // Copio già le tariffe per le varie attività
$result = database()->query('INSERT INTO in_tariffe(idtecnico, idtipointervento, costo_ore, costo_km, costo_dirittochiamata, costo_ore_tecnico, costo_km_tecnico, costo_dirittochiamata_tecnico) SELECT '.prepare($model->id).', idtipointervento, costo_orario, costo_km, costo_diritto_chiamata, costo_orario_tecnico, costo_km_tecnico, costo_diritto_chiamata_tecnico FROM in_tipiintervento'); $result = database()->query('INSERT INTO in_tariffe(idtecnico, idtipointervento, costo_ore, costo_km, costo_dirittochiamata, costo_ore_tecnico, costo_km_tecnico, costo_dirittochiamata_tecnico) SELECT '.prepare($anagrafica->id).', idtipointervento, costo_orario, costo_km, costo_diritto_chiamata, costo_orario_tecnico, costo_km_tecnico, costo_diritto_chiamata_tecnico FROM in_tipiintervento');
if (!$result) { if (!$result) {
flash()->error(tr("Errore durante l'importazione tariffe!")); flash()->error(tr("Errore durante l'importazione tariffe!"));
@ -244,4 +240,27 @@ class Anagrafica extends Model
$this->ragione_sociale = $this->cognome.' '.$this->nome; $this->ragione_sociale = $this->cognome.' '.$this->nome;
} }
} }
// Metodi statici
/**
* Calcola il nuovo codice di anagrafica.
*
* @return string
*/
public static function getNextCodice()
{
// Recupero maschera per le anagrafiche
$maschera = setting('Formato codice anagrafica');
$ultimo = Generator::getPreviousFrom($maschera, 'an_anagrafiche', 'codice', [
"codice != ''",
//'deleted_at IS NULL', // Rimozione per unicità del codice
]);
$codice = Generator::generate($maschera, $ultimo);
return $codice;
}
} }