1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-02-22 06:17:45 +01:00
This commit is contained in:
MatteoPistorello 2021-09-21 15:19:38 +02:00
commit 17bed5c5a9
11 changed files with 35 additions and 32 deletions

View File

@ -102,7 +102,6 @@ $operations['export-csv'] = [
], ],
]; ];
if (App::debug() && $google) { if (App::debug() && $google) {
$operations['ricerca-coordinate'] = [ $operations['ricerca-coordinate'] = [
'text' => '<span><i class="fa fa-map"></i> '.tr('Ricerca coordinate').'</span>', 'text' => '<span><i class="fa fa-map"></i> '.tr('Ricerca coordinate').'</span>',

View File

@ -20,7 +20,6 @@
namespace Modules\Articoli\Export; namespace Modules\Articoli\Export;
use Exporter\CSVExporter; use Exporter\CSVExporter;
use Modules\Anagrafiche\Anagrafica;
use Modules\Articoli\Articolo; use Modules\Articoli\Articolo;
/** /**

View File

@ -27,6 +27,7 @@ use Modules\Contratti\Components\Descrizione;
use Modules\Contratti\Components\Riga; use Modules\Contratti\Components\Riga;
use Modules\Contratti\Components\Sconto; use Modules\Contratti\Components\Sconto;
use Modules\Contratti\Contratto; use Modules\Contratti\Contratto;
use Modules\Contratti\Stato;
use Plugins\PianificazioneInterventi\Promemoria; use Plugins\PianificazioneInterventi\Promemoria;
switch (post('op')) { switch (post('op')) {
@ -130,7 +131,9 @@ switch (post('op')) {
case 'copy': case 'copy':
$new = $contratto->replicate(); $new = $contratto->replicate();
$new->numero = Contratto::getNextNumero(); $new->numero = Contratto::getNextNumero();
$new->stato = 'Bozza';
$stato = Stato::where('descrizione', '=', 'Bozza')->first();
$new->stato()->associate($stato);
$new->save(); $new->save();
$id_record = $new->id; $id_record = $new->id;
@ -349,13 +352,17 @@ $riga = $contratto->getRiga($type, $id_riga);
$diff = $contratto->data_conclusione->diffAsCarbonInterval($contratto->data_accettazione); $diff = $contratto->data_conclusione->diffAsCarbonInterval($contratto->data_accettazione);
$new_contratto = $contratto->replicate(); $new_contratto = $contratto->replicate();
$new_contratto->numero = Contratto::getNextNumero(); $new_contratto->numero = Contratto::getNextNumero();
$new_contratto->idcontratto_prev = $contratto->id; $new_contratto->idcontratto_prev = $contratto->id;
$new_contratto->data_accettazione = $contratto->data_conclusione->copy()->addDays(1); $new_contratto->data_accettazione = $contratto->data_conclusione->copy()->addDays(1);
$new_contratto->data_conclusione = $new_contratto->data_accettazione->copy()->add($diff); $new_contratto->data_conclusione = $new_contratto->data_accettazione->copy()->add($diff);
$new_contratto->data_bozza = Carbon::now(); $new_contratto->data_bozza = Carbon::now();
$new_contratto->stato = 'Bozza';
$stato = Stato::where('descrizione', '=', 'Bozza')->first();
$new_contratto->stato()->associate($stato);
$new_contratto->save(); $new_contratto->save();
$new_idcontratto = $new_contratto->id; $new_idcontratto = $new_contratto->id;
@ -419,7 +426,7 @@ $riga = $contratto->getRiga($type, $id_riga);
break; break;
case 'import': case 'import':
$rs = $dbo->fetchArray('SELECT * FROM co_contratti_tipiintervento WHERE idcontratto = '.prepare(post('idcontratto')).' AND idtipointervento='.prepare(post('idtipointervento'))); $rs = $dbo->fetchArray('SELECT * FROM co_contratti_tipiintervento WHERE idcontratto = '.prepare(post('idcontratto')).' AND idtipointervento='.prepare(post('idtipointervento')));
// Se la riga in_tipiintervento esiste, la aggiorno... // Se la riga in_tipiintervento esiste, la aggiorno...

View File

@ -42,7 +42,7 @@ $stati_pianificabili = $dbo->fetchOne('SELECT GROUP_CONCAT(`descrizione` SEPARAT
echo ' echo '
<div class="tip" data-toggle="tooltip" title="'.tr('Il contratto è rinnovabile se sono definite le date di accettazione e conclusione e si trova in uno stato di questi stati: _STATE_LIST_', [ <div class="tip" data-toggle="tooltip" title="'.tr('Il contratto è rinnovabile se sono definite le date di accettazione e conclusione e si trova in uno stato di questi stati: _STATE_LIST_', [
'_STATE_LIST_' => $stati_pianificabili, '_STATE_LIST_' => $stati_pianificabili,
]).'"> ]).'" id="rinnova">
<button type="button" class="btn btn-warning ask '.($rinnova ? '' : 'disabled').'" data-backto="record-edit" data-op="renew" data-msg="'.tr('Rinnovare questo contratto?').'" data-button="'.tr('Rinnova').'" data-class="btn btn-lg btn-warning"> <button type="button" class="btn btn-warning ask '.($rinnova ? '' : 'disabled').'" data-backto="record-edit" data-op="renew" data-msg="'.tr('Rinnovare questo contratto?').'" data-button="'.tr('Rinnova').'" data-class="btn btn-lg btn-warning">
<i class="fa fa-refresh"></i> '.tr('Rinnova').'... <i class="fa fa-refresh"></i> '.tr('Rinnova').'...
</button> </button>

View File

@ -296,9 +296,4 @@ class Contratto extends Document
{ {
return $this->anagrafica->ragione_sociale; return $this->anagrafica->ragione_sociale;
} }
public function setStatoAttribute($stato)
{
$this->idstato = Stato::where('descrizione', $stato)->first()['id'];
}
} }

View File

@ -27,6 +27,7 @@ use Modules\Preventivi\Components\Descrizione;
use Modules\Preventivi\Components\Riga; use Modules\Preventivi\Components\Riga;
use Modules\Preventivi\Components\Sconto; use Modules\Preventivi\Components\Sconto;
use Modules\Preventivi\Preventivo; use Modules\Preventivi\Preventivo;
use Modules\Preventivi\Stato;
use Modules\TipiIntervento\Tipo as TipoSessione; use Modules\TipiIntervento\Tipo as TipoSessione;
switch (post('op')) { switch (post('op')) {
@ -98,7 +99,10 @@ switch (post('op')) {
$new->numero = Preventivo::getNextNumero(Carbon::now()); $new->numero = Preventivo::getNextNumero(Carbon::now());
$new->data_bozza = Carbon::now(); $new->data_bozza = Carbon::now();
$new->data_conclusione = Carbon::now()->addMonth(); $new->data_conclusione = Carbon::now()->addMonth();
$new->stato = 'Bozza';
$stato_preventivo = Stato::where('descrizione', '=', 'Bozza')->first();
$new->stato()->associate($stato_preventivo);
$new->save(); $new->save();
$new->master_revision = $new->id; $new->master_revision = $new->id;
@ -117,7 +121,7 @@ switch (post('op')) {
} }
flash()->info(tr('Preventivo duplicato correttamente!')); flash()->info(tr('Preventivo duplicato correttamente!'));
break; break;
case 'addintervento': case 'addintervento':
if (post('idintervento') !== null) { if (post('idintervento') !== null) {
@ -367,7 +371,10 @@ switch (post('op')) {
// Copia del preventivo // Copia del preventivo
$new = $preventivo->replicate(); $new = $preventivo->replicate();
$new->stato = 'Bozza';
$stato_preventivo = Stato::where('descrizione', '=', 'Bozza')->first();
$new->stato()->associate($stato_preventivo);
$new->save(); $new->save();
$new->default_revision = 1; $new->default_revision = 1;

View File

@ -330,9 +330,4 @@ class Preventivo extends Document
{ {
return Preventivo::selectRaw('MAX(numero_revision) AS revisione')->where('master_revision', $this->master_revision)->get()->toArray()[0]['revisione']; return Preventivo::selectRaw('MAX(numero_revision) AS revisione')->where('master_revision', $this->master_revision)->get()->toArray()[0]['revisione'];
} }
public function setStatoAttribute($stato)
{
$this->idstato = Stato::where('descrizione', $stato)->first()['id'];
}
} }

View File

@ -229,9 +229,9 @@ class FatturaOrdinaria extends FatturaElettronica
// Determina il tipo di sconto in caso di sconti misti UNT e PRC // Determina il tipo di sconto in caso di sconti misti UNT e PRC
foreach ($sconti as $sconto) { foreach ($sconti as $sconto) {
$tipo_sconto = !empty($sconto['Importo']) ? 'UNT' : 'PRC'; $tipo_sconto = !empty($sconto['Importo']) ? 'UNT' : 'PRC';
if(!empty($tipo) && $tipo_sconto!=$tipo){ if (!empty($tipo) && $tipo_sconto != $tipo) {
$tipo = 'UNT'; $tipo = 'UNT';
} else{ } else {
$tipo = $tipo_sconto; $tipo = $tipo_sconto;
} }
} }
@ -251,17 +251,17 @@ class FatturaOrdinaria extends FatturaElettronica
'qta' => $obj->qta, 'qta' => $obj->qta,
'cumulativo' => false, 'cumulativo' => false,
]); ]);
if($tipo == 'PRC'){ if ($tipo == 'PRC') {
$tot_sconto = $sconto_calcolato * 100 / $obj->imponibile; $tot_sconto = $sconto_calcolato * 100 / $obj->imponibile;
} else { } else {
$tot_sconto = $sconto_calcolato; $tot_sconto = $sconto_calcolato;
} }
} else{ } else {
$tot_sconto = $sconto_riga; $tot_sconto = $sconto_riga;
} }
$sconto_unitario += $tot_sconto; $sconto_unitario += $tot_sconto;
} }
$obj->setSconto($sconto_unitario, $tipo); $obj->setSconto($sconto_unitario, $tipo);

View File

@ -43,7 +43,6 @@ echo '
{[ "type": "checkbox", "label": "'.tr('Rinnovo automatico').'", "name": "rinnovo_automatico", "help": "'.tr('Il contratto è da rinnovare automaticamente alla scadenza').'", "value": "$rinnovo_automatico$", "disabled": '.($record['rinnovabile'] ? 0 : 1).' ]} {[ "type": "checkbox", "label": "'.tr('Rinnovo automatico').'", "name": "rinnovo_automatico", "help": "'.tr('Il contratto è da rinnovare automaticamente alla scadenza').'", "value": "$rinnovo_automatico$", "disabled": '.($record['rinnovabile'] ? 0 : 1).' ]}
</div> </div>
<div class="col-md-3"> <div class="col-md-3">
{[ "type": "number", "label": "'.tr('Preavviso per rinnovo').'", "name": "giorni_preavviso_rinnovo", "decimals": "2", "value": "$giorni_preavviso_rinnovo$", "icon-after": "giorni", "disabled": '.($record['rinnovabile'] ? 0 : 1).' ]} {[ "type": "number", "label": "'.tr('Preavviso per rinnovo').'", "name": "giorni_preavviso_rinnovo", "decimals": "2", "value": "$giorni_preavviso_rinnovo$", "icon-after": "giorni", "disabled": '.($record['rinnovabile'] ? 0 : 1).' ]}
</div> </div>
@ -73,7 +72,9 @@ echo '
<tbody>'; <tbody>';
while (!empty($id_contratto_precedente)) { $counter = 0;
while (!empty($id_contratto_precedente) && $counter < 50) {
++$counter;
$rs = $dbo->fetchArray('SELECT nome, numero, data_accettazione, data_conclusione, budget, idcontratto_prev FROM co_contratti WHERE id='.prepare($id_contratto_precedente)); $rs = $dbo->fetchArray('SELECT nome, numero, data_accettazione, data_conclusione, budget, idcontratto_prev FROM co_contratti WHERE id='.prepare($id_contratto_precedente));
echo ' echo '

View File

@ -138,7 +138,7 @@ class Intervento extends Resource implements UpdateInterface
// Fix id_cliente per Intervento in caso di generazione da zero // Fix id_cliente per Intervento in caso di generazione da zero
if ($risorsa instanceof Interventi && !empty($this->response['cliente'][$id]) && !empty($this->response['cliente'][$id]['id'])) { if ($risorsa instanceof Interventi && !empty($this->response['cliente'][$id]) && !empty($this->response['cliente'][$id]['id'])) {
$record['id_cliente'] = $this->response['cliente'][$id]['id']; $record['id_cliente'] = $this->response['cliente'][$id]['id'];
} elseif (!($risorsa instanceof Clienti) && !empty($this->response['intervento'][0]) && !empty($this->response['intervento'][0]['id'])){ } elseif (!($risorsa instanceof Clienti) && !empty($this->response['intervento'][0]) && !empty($this->response['intervento'][0]['id'])) {
$record['id_intervento'] = $this->response['intervento'][0]['id']; $record['id_intervento'] = $this->response['intervento'][0]['id'];
} }

View File

@ -25,12 +25,12 @@ include_once __DIR__.'/../../core.php';
$anagrafica = Anagrafica::find($documento['idanagrafica']); $anagrafica = Anagrafica::find($documento['idanagrafica']);
$pagamento = $dbo->fetchOne('SELECT * FROM co_pagamenti WHERE id = '.prepare($documento['idpagamento'])); $pagamento = $dbo->fetchOne('SELECT * FROM co_pagamenti WHERE id = '.prepare($documento['idpagamento']));
//Verifico se c'è una banca predefinita per il mio cliente // Verifico se c'è una banca predefinita per il mio cliente
if (!empty($anagrafica->idbanca_vendite)) { if (!empty($anagrafica->idbanca_vendite)) {
$banca = $dbo->fetchOne('SELECT co_banche.nome, co_banche.iban, co_banche.bic FROM co_banche INNER JOIN co_pianodeiconti3 ON co_banche.id_pianodeiconti3 = co_pianodeiconti3.id WHERE co_pianodeiconti3.id = '.prepare($pagamento['idconto_vendite']).' AND co_banche.id ='.prepare($anagrafica->idbanca_vendite)); $banca = $dbo->fetchOne('SELECT co_banche.nome, co_banche.iban, co_banche.bic FROM co_banche WHERE co_banche.id_pianodeiconti3 = '.prepare($pagamento['idconto_vendite']).' AND co_banche.id_anagrafica = '.prepare($anagrafica->id).' AND co_banche.id ='.prepare($anagrafica->idbanca_vendite));
} elseif (!empty($pagamento['idconto_vendite'])) { } elseif (!empty($pagamento['idconto_vendite'])) {
//Altrimenti prendo quella associata la metodo di pagamento selezionato // Altrimenti prendo quella associata la metodo di pagamento selezionato
$banca = $dbo->fetchOne('SELECT co_banche.nome, co_banche.iban, co_banche.bic FROM co_banche INNER JOIN co_pianodeiconti3 ON co_banche.id_pianodeiconti3 = co_pianodeiconti3.id WHERE co_pianodeiconti3.id = '.prepare($pagamento['idconto_vendite']).' AND co_banche.deleted_at IS NULL'); $banca = $dbo->fetchOne('SELECT co_banche.nome, co_banche.iban, co_banche.bic FROM co_banche WHERE co_banche.id_pianodeiconti3 = '.prepare($pagamento['idconto_vendite']).' AND co_banche.id_anagrafica = '.prepare($anagrafica->id).' AND co_banche.deleted_at IS NULL');
} }
// Righe documento // Righe documento