1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-02-21 22:07: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) {
$operations['ricerca-coordinate'] = [
'text' => '<span><i class="fa fa-map"></i> '.tr('Ricerca coordinate').'</span>',

View File

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

View File

@ -27,6 +27,7 @@ use Modules\Contratti\Components\Descrizione;
use Modules\Contratti\Components\Riga;
use Modules\Contratti\Components\Sconto;
use Modules\Contratti\Contratto;
use Modules\Contratti\Stato;
use Plugins\PianificazioneInterventi\Promemoria;
switch (post('op')) {
@ -130,7 +131,9 @@ switch (post('op')) {
case 'copy':
$new = $contratto->replicate();
$new->numero = Contratto::getNextNumero();
$new->stato = 'Bozza';
$stato = Stato::where('descrizione', '=', 'Bozza')->first();
$new->stato()->associate($stato);
$new->save();
$id_record = $new->id;
@ -349,13 +352,17 @@ $riga = $contratto->getRiga($type, $id_riga);
$diff = $contratto->data_conclusione->diffAsCarbonInterval($contratto->data_accettazione);
$new_contratto = $contratto->replicate();
$new_contratto->numero = Contratto::getNextNumero();
$new_contratto->idcontratto_prev = $contratto->id;
$new_contratto->data_accettazione = $contratto->data_conclusione->copy()->addDays(1);
$new_contratto->data_conclusione = $new_contratto->data_accettazione->copy()->add($diff);
$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_idcontratto = $new_contratto->id;
@ -419,7 +426,7 @@ $riga = $contratto->getRiga($type, $id_riga);
break;
case 'import':
case 'import':
$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...

View File

@ -42,7 +42,7 @@ $stati_pianificabili = $dbo->fetchOne('SELECT GROUP_CONCAT(`descrizione` SEPARAT
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_', [
'_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">
<i class="fa fa-refresh"></i> '.tr('Rinnova').'...
</button>

View File

@ -296,9 +296,4 @@ class Contratto extends Document
{
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\Sconto;
use Modules\Preventivi\Preventivo;
use Modules\Preventivi\Stato;
use Modules\TipiIntervento\Tipo as TipoSessione;
switch (post('op')) {
@ -98,7 +99,10 @@ switch (post('op')) {
$new->numero = Preventivo::getNextNumero(Carbon::now());
$new->data_bozza = Carbon::now();
$new->data_conclusione = Carbon::now()->addMonth();
$new->stato = 'Bozza';
$stato_preventivo = Stato::where('descrizione', '=', 'Bozza')->first();
$new->stato()->associate($stato_preventivo);
$new->save();
$new->master_revision = $new->id;
@ -117,7 +121,7 @@ switch (post('op')) {
}
flash()->info(tr('Preventivo duplicato correttamente!'));
break;
break;
case 'addintervento':
if (post('idintervento') !== null) {
@ -367,7 +371,10 @@ switch (post('op')) {
// Copia del preventivo
$new = $preventivo->replicate();
$new->stato = 'Bozza';
$stato_preventivo = Stato::where('descrizione', '=', 'Bozza')->first();
$new->stato()->associate($stato_preventivo);
$new->save();
$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'];
}
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
foreach ($sconti as $sconto) {
$tipo_sconto = !empty($sconto['Importo']) ? 'UNT' : 'PRC';
if(!empty($tipo) && $tipo_sconto!=$tipo){
if (!empty($tipo) && $tipo_sconto != $tipo) {
$tipo = 'UNT';
} else{
} else {
$tipo = $tipo_sconto;
}
}
@ -251,17 +251,17 @@ class FatturaOrdinaria extends FatturaElettronica
'qta' => $obj->qta,
'cumulativo' => false,
]);
if($tipo == 'PRC'){
if ($tipo == 'PRC') {
$tot_sconto = $sconto_calcolato * 100 / $obj->imponibile;
} else {
$tot_sconto = $sconto_calcolato;
}
} else{
} else {
$tot_sconto = $sconto_riga;
}
$sconto_unitario += $tot_sconto;
$sconto_unitario += $tot_sconto;
}
$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).' ]}
</div>
<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).' ]}
</div>
@ -73,7 +72,9 @@ echo '
<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));
echo '

View File

@ -138,7 +138,7 @@ class Intervento extends Resource implements UpdateInterface
// 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'])) {
$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'];
}

View File

@ -25,12 +25,12 @@ include_once __DIR__.'/../../core.php';
$anagrafica = Anagrafica::find($documento['idanagrafica']);
$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)) {
$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'])) {
//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');
// 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 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