Aggiunto id documento codice cig e codice cup per preventivi

This commit is contained in:
Luca 2019-01-24 20:31:01 +01:00
parent 8bc0d34d44
commit 1dda24dbe9
9 changed files with 117 additions and 33 deletions

View File

@ -59,10 +59,32 @@ switch (post('op')) {
$costo_km = post('costo_km'); $costo_km = post('costo_km');
$costo_diritto_chiamata = post('costo_diritto_chiamata'); $costo_diritto_chiamata = post('costo_diritto_chiamata');
$id_documento_fe = post('id_documento_fe');
$codice_cig = post('codice_cig'); $codice_cig = post('codice_cig');
$codice_cup = post('codice_cup'); $codice_cup = post('codice_cup');
$query = 'UPDATE co_contratti SET idanagrafica='.prepare($idanagrafica).', idsede='.prepare($idsede).', idstato='.prepare($idstato).', nome='.prepare($nome).', idagente='.prepare($idagente).', idpagamento='.prepare($idpagamento).', numero='.prepare($numero).', budget='.prepare($budget).', idreferente='.prepare($idreferente).', validita='.prepare($validita).', data_bozza='.prepare($data_bozza).', data_accettazione='.prepare($data_accettazione).', data_rifiuto='.prepare($data_rifiuto).', data_conclusione='.prepare($data_conclusione).', rinnovabile='.prepare($rinnovabile).', giorni_preavviso_rinnovo='.prepare($giorni_preavviso_rinnovo).', esclusioni='.prepare($esclusioni).', descrizione='.prepare($descrizione).', id_documento_fe='.prepare(post('id_documento_fe')).', codice_cig='.prepare($codice_cig).', codice_cup='.prepare($codice_cup).' WHERE id='.prepare($id_record);
$query = 'UPDATE co_contratti SET idanagrafica='.prepare($idanagrafica).',
idsede='.prepare($idsede).',
idstato='.prepare($idstato).',
nome='.prepare($nome).',
idagente='.prepare($idagente).',
idpagamento='.prepare($idpagamento).',
numero='.prepare($numero).',
budget='.prepare($budget).',
idreferente='.prepare($idreferente).',
validita='.prepare($validita).',
data_bozza='.prepare($data_bozza).',
data_accettazione='.prepare($data_accettazione).',
data_rifiuto='.prepare($data_rifiuto).',
data_conclusione='.prepare($data_conclusione).',
rinnovabile='.prepare($rinnovabile).',
giorni_preavviso_rinnovo='.prepare($giorni_preavviso_rinnovo).',
esclusioni='.prepare($esclusioni).', descrizione='.prepare($descrizione).',
id_documento_fe='.prepare($id_documento_fe).',
codice_cig='.prepare($codice_cig).',
codice_cup='.prepare($codice_cup).' WHERE id='.prepare($id_record);
// costo_diritto_chiamata='.prepare($costo_diritto_chiamata).', ore_lavoro='.prepare($ore_lavoro).', costo_orario='.prepare($costo_orario).', costo_km='.prepare($costo_km).' // costo_diritto_chiamata='.prepare($costo_diritto_chiamata).', ore_lavoro='.prepare($ore_lavoro).', costo_orario='.prepare($costo_orario).', costo_km='.prepare($costo_km).'
$dbo->query($query); $dbo->query($query);

View File

@ -133,7 +133,7 @@ if ($record['stato'] == 'Emessa') {
</div> </div>
</div> </div>
<!-- Fatturazione Elettronica PA --> <!-- Fatturazione Elettronica -->
<div class="panel panel-primary <?php echo (($record['tipo_anagrafica']) == 'Ente pubblico' or ($record['tipo_anagrafica']) == 'Azienda') ? 'show' : 'hide'; ?>" > <div class="panel panel-primary <?php echo (($record['tipo_anagrafica']) == 'Ente pubblico' or ($record['tipo_anagrafica']) == 'Azienda') ? 'show' : 'hide'; ?>" >
<div class="panel-heading"> <div class="panel-heading">
<h3 class="panel-title"><?php echo tr('Dati appalto'); ?></h3> <h3 class="panel-title"><?php echo tr('Dati appalto'); ?></h3>

View File

@ -59,19 +59,23 @@ foreach ($righe as $riga) {
//$ref_modulo = Modules::get('Interventi')['id']; //$ref_modulo = Modules::get('Interventi')['id'];
//$ref_id = $riga['idintervento']; //$ref_id = $riga['idintervento'];
$intervento = $dbo->fetchOne('SELECT codice_cig,codice_cup,id_documento_fe FROM in_interventi WHERE id = '.prepare($riga['idintervento'])); $intervento = $dbo->fetchOne('SELECT codice_cig,codice_cup,id_documento_fe FROM in_interventi WHERE id = '.prepare($riga['idintervento']));
$riga['codice_cig'] = $intervento['codice_cig']; $riga['codice_cig'] = $intervento['codice_cig'];
$riga['codice_cup'] = $intervento['codice_cup']; $riga['codice_cup'] = $intervento['codice_cup'];
$riga['id_documento_fe'] = $intervento['id_documento_fe']; $riga['id_documento_fe'] = $intervento['id_documento_fe'];
$delete = 'unlink_intervento'; $delete = 'unlink_intervento';
} }
// Preventivi // Preventivi
elseif (!empty($riga['idpreventivo'])) { elseif (!empty($riga['idpreventivo'])) {
//$ref_modulo = Modules::get('Preventivi')['id']; //$ref_modulo = Modules::get('Preventivi')['id'];
//$ref_id = $riga['idpreventivo']; //$ref_id = $riga['idpreventivo'];
$preventivo = $dbo->fetchOne('SELECT codice_cig,codice_cup,id_documento_fe FROM co_preventivi WHERE id = '.prepare($riga['idpreventivo']));
$riga['codice_cig'] = $preventivo['codice_cig'];
$riga['codice_cup'] = $preventivo['codice_cup'];
$riga['id_documento_fe'] = $preventivo['id_documento_fe'];
$delete = 'unlink_preventivo'; $delete = 'unlink_preventivo';
} }
// Contratti // Contratti
@ -104,12 +108,14 @@ foreach ($righe as $riga) {
} }
$extra_riga = ''; $extra_riga = '';
$extra_riga = tr('_DESCRIZIONE_CONTO_ _CODICE_CIG_ _CODICE_CUP_ _ID_DOCUMENTO_', [ if (!$riga['is_descrizione']){
$extra_riga = tr('_DESCRIZIONE_CONTO_ _ID_DOCUMENTO_ _CODICE_CIG_ _CODICE_CUP_ ', [
'_DESCRIZIONE_CONTO_' => $riga['descrizione_conto'] ?: null, '_DESCRIZIONE_CONTO_' => $riga['descrizione_conto'] ?: null,
'_CODICE_CIG_' => $riga['codice_cig'] ? '<br>CIG: '.$riga['codice_cig'] : null, '_CODICE_CIG_' => $riga['codice_cig'] ? ',CIG: '.$riga['codice_cig'] : null,
'_CODICE_CUP_' => $riga['codice_cup'] ? '<br>CUP: '.$riga['codice_cup'] : null, '_CODICE_CUP_' => $riga['codice_cup'] ? ',CUP: '.$riga['codice_cup'] : null,
'_ID_DOCUMENTO_' => $riga['id_documento_fe'] ? '<br>DOC: '.$riga['id_documento_fe'] : null, '_ID_DOCUMENTO_' => $riga['id_documento_fe'] ? ' - DOC: '.$riga['id_documento_fe'] : null,
]); ]);
}
echo ' echo '
<tr data-id="'.$riga['id'].'" '.$extra.'> <tr data-id="'.$riga['id'].'" '.$extra.'>
@ -209,7 +215,7 @@ foreach ($righe as $riga) {
if (!$riga instanceof Descrizione) { if (!$riga instanceof Descrizione) {
echo ' echo '
'.Translator::numberToLocale($riga->iva).' &euro; '.Translator::numberToLocale($riga->iva).' &euro;
<br><small class="'.(($dbo->fetchNum('SELECT deleted_at FROM co_iva WHERE deleted_at IS NOT NULL AND id = '.prepare($riga['idiva']))) ? 'text-red' : '').' help-block">'.$riga->desc_iva.'</small>'; <br><small class="'.(($riga->aliquota->deleted_at) ? 'text-red' : '').' help-block">'.$riga->desc_iva.'</small>';
} }
echo ' echo '

View File

@ -60,6 +60,11 @@ switch (post('op')) {
$idiva = post('idiva'); $idiva = post('idiva');
$id_documento_fe = post('id_documento_fe');
$codice_cig = post('codice_cig');
$codice_cup = post('codice_cup');
$query = 'UPDATE co_preventivi SET idstato='.prepare($idstato).','. $query = 'UPDATE co_preventivi SET idstato='.prepare($idstato).','.
' nome='.prepare($nome).','. ' nome='.prepare($nome).','.
' idanagrafica='.prepare($idanagrafica).','. ' idanagrafica='.prepare($idanagrafica).','.
@ -77,6 +82,9 @@ switch (post('op')) {
' descrizione='.prepare($descrizione).','. ' descrizione='.prepare($descrizione).','.
' tipo_sconto_globale='.prepare($tipo_sconto).','. ' tipo_sconto_globale='.prepare($tipo_sconto).','.
' sconto_globale='.prepare($sconto).','. ' sconto_globale='.prepare($sconto).','.
' id_documento_fe='.prepare($id_documento_fe).','.
' codice_cig='.prepare($codice_cig).','.
' codice_cup='.prepare($codice_cup).','.
' validita='.prepare($validita).','. ' validita='.prepare($validita).','.
' idtipointervento='.prepare($idtipointervento).','. ' idtipointervento='.prepare($idtipointervento).','.
' idiva='.prepare($idiva).' WHERE id='.prepare($id_record); ' idiva='.prepare($idiva).' WHERE id='.prepare($id_record);

View File

@ -6,13 +6,22 @@ echo'
<button type="button" class="btn btn-primary" onclick="if( confirm(\'Duplicare questo preventivo?\') ){ $(\'#form-copy\').submit(); }"> <i class="fa fa-copy"></i> '.tr('Duplica preventivo').'</button>'; <button type="button" class="btn btn-primary" onclick="if( confirm(\'Duplicare questo preventivo?\') ){ $(\'#form-copy\').submit(); }"> <i class="fa fa-copy"></i> '.tr('Duplica preventivo').'</button>';
if (!in_array($record['stato'], ['Bozza', 'Rifiutato', 'In attesa di conferma'])) { if (!in_array($record['stato'], ['Bozza', 'Rifiutato', 'In attesa di conferma'])) {
$disabled = '';
} else {
echo ' echo '
<div class="dropdown"> <button type="button" class="btn btn-warning" onclick="if(confirm(\'Vuoi creare un nuova revisione?\')){$(\'#form_crearevisione\').submit();}"><i class="fa fa-edit"></i> '.tr('Crea nuova revisione...').'</button>';
<button class="btn btn-info dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"> $disabled = 'disabled';
}
// crea ordine
echo '
<div style="margin-left:4px;" class="dropdown pull-right" >
<button class="btn btn-info dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" '.$disabled.' >
<i class="fa fa-magic"></i>&nbsp;'.tr('Crea').'... <i class="fa fa-magic"></i>&nbsp;'.tr('Crea').'...
<span class="caret"></span> <span class="caret"></span>
</button> </button>
<ul class="dropdown-menu dropdown-menu-right"> <ul class="dropdown-menu dropdown-menu-right">
<li> <li>
<a data-href="'.$rootdir.'/modules/ordini/crea_documento.php?id_module='.$id_module.'&id_record='.$id_record.'&documento=ordine" data-toggle="modal" data-title="'.tr('Crea ordine').'"><i class="fa fa-file-o"></i>&nbsp;'.tr('Ordine').' <a data-href="'.$rootdir.'/modules/ordini/crea_documento.php?id_module='.$id_module.'&id_record='.$id_record.'&documento=ordine" data-toggle="modal" data-title="'.tr('Crea ordine').'"><i class="fa fa-file-o"></i>&nbsp;'.tr('Ordine').'
@ -20,11 +29,8 @@ if (!in_array($record['stato'], ['Bozza', 'Rifiutato', 'In attesa di conferma'])
</li> </li>
</ul> </ul>
</div>'; </div>';
} else {
echo '
<button type="button" class="btn btn-warning" onclick="if(confirm(\'Vuoi creare un nuova revisione?\')){$(\'#form_crearevisione\').submit();}"><i class="fa fa-edit"></i> '.tr('Crea nuova revisione...').'</button>';
}
//duplica preventivo //duplica preventivo
echo ' echo '

View File

@ -117,6 +117,29 @@ $_SESSION['superselect']['idanagrafica'] = $record['idanagrafica'];
</div> </div>
</div> </div>
<!-- Fatturazione Elettronica -->
<div class="panel panel-primary <?php echo (($record['tipo_anagrafica']) == 'Ente pubblico' or ($record['tipo_anagrafica']) == 'Azienda') ? 'show' : 'hide'; ?>" >
<div class="panel-heading">
<h3 class="panel-title"><?php echo tr('Dati appalto'); ?></h3>
</div>
<div class="panel-body">
<div class="row">
<div class="col-md-4">
{[ "type": "text", "label": "<?php echo tr('Identificatore Documento'); ?>", "help": "<?php echo tr('<span>Obbligatorio per valorizzare CIG/CUP. &Egrave; possible inserire: </span><ul><li>N. determina</li><li>RDO</li><li>Ordine MEPA</li></ul>'); ?>","name": "id_documento_fe", "required": 0, "value": "$id_documento_fe$", "maxlength": 20 ]}
</div>
<div class="col-md-4">
{[ "type": "text", "label": "<?php echo tr('Codice CIG'); ?>", "name": "codice_cig", "required": 0, "value": "$codice_cig$", "maxlength": 15 ]}
</div>
<div class="col-md-4">
{[ "type": "text", "label": "<?php echo tr('Codice CUP'); ?>", "name": "codice_cup", "required": 0, "value": "$codice_cup$", "maxlength": 15 ]}
</div>
</div>
</div>
</div>
</form> </form>

View File

@ -5,5 +5,5 @@ include_once __DIR__.'/../../core.php';
if (isset($id_record)) { if (isset($id_record)) {
$preventivo = Modules\Preventivi\Preventivo::with('stato')->find($id_record); $preventivo = Modules\Preventivi\Preventivo::with('stato')->find($id_record);
$record = $dbo->fetchOne('SELECT *, (SELECT descrizione FROM co_statipreventivi WHERE id=idstato) AS stato FROM co_preventivi WHERE id='.prepare($id_record).Modules::getAdditionalsQuery($id_module)); $record = $dbo->fetchOne('SELECT *, (SELECT tipo FROM an_anagrafiche WHERE idanagrafica = co_preventivi.idanagrafica) AS tipo_anagrafica, (SELECT descrizione FROM co_statipreventivi WHERE id=idstato) AS stato FROM co_preventivi WHERE id='.prepare($id_record).Modules::getAdditionalsQuery($id_module));
} }

View File

@ -121,11 +121,13 @@ class FatturaElettronica
$contratti = $database->fetchArray('SELECT `id_documento_fe`, `codice_cig`, `codice_cup` FROM `co_contratti` INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`idcontratto` = `co_contratti`.`id` WHERE `co_righe_documenti`.`iddocumento` = '.prepare($documento['id']).' AND `id_documento_fe` IS NOT NULL'); $contratti = $database->fetchArray('SELECT `id_documento_fe`, `codice_cig`, `codice_cup` FROM `co_contratti` INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`idcontratto` = `co_contratti`.`id` WHERE `co_righe_documenti`.`iddocumento` = '.prepare($documento['id']).' AND `id_documento_fe` IS NOT NULL');
$preventivi = $database->fetchArray('SELECT `id_documento_fe`, `codice_cig`, `codice_cup` FROM `co_preventivi` INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`idpreventivo` = `co_preventivi`.`id` WHERE `co_righe_documenti`.`iddocumento` = '.prepare($documento['id']).' AND `id_documento_fe` IS NOT NULL');
$interventi = $database->fetchArray('SELECT `id_documento_fe`, `codice_cig`, `codice_cup` FROM `in_interventi` INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`idintervento` = `in_interventi`.`id` WHERE `co_righe_documenti`.`iddocumento` = '.prepare($documento['id']).' AND `id_documento_fe` IS NOT NULL'); $interventi = $database->fetchArray('SELECT `id_documento_fe`, `codice_cig`, `codice_cup` FROM `in_interventi` INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`idintervento` = `in_interventi`.`id` WHERE `co_righe_documenti`.`iddocumento` = '.prepare($documento['id']).' AND `id_documento_fe` IS NOT NULL');
$ordini = $database->fetchArray('SELECT `id_documento_fe`, `codice_cig`, `codice_cup` FROM `or_ordini` INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`idordine` = `or_ordini`.`id` WHERE `co_righe_documenti`.`iddocumento` = '.prepare($documento['id']).' AND `id_documento_fe` IS NOT NULL'); $ordini = $database->fetchArray('SELECT `id_documento_fe`, `codice_cig`, `codice_cup` FROM `or_ordini` INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`idordine` = `or_ordini`.`id` WHERE `co_righe_documenti`.`iddocumento` = '.prepare($documento['id']).' AND `id_documento_fe` IS NOT NULL');
$this->contratti = array_merge($contratti, $interventi, $ordini); $this->contratti = array_merge($contratti, $preventivi, $interventi, $ordini);
} }
return $this->contratti; return $this->contratti;
@ -880,15 +882,23 @@ class FatturaElettronica
//2.2.1.3 //2.2.1.3
if (!empty($riga['idarticolo'])) { if (!empty($riga['idarticolo'])) {
$tipo_codice = $database->fetchOne('SELECT `mg_categorie`.`nome` FROM `mg_categorie` INNER JOIN `mg_articoli` ON `mg_categorie`.`id` = `mg_articoli`.`id_categoria` WHERE `mg_articoli`.`id` = '.prepare($riga['idarticolo']))['nome'];
$codice_articolo = [ $codice_articolo = [
'CodiceTipo' => 'OSM', 'CodiceTipo' => ($tipo_codice) ? : 'OSM',
'CodiceValore' => $database->fetchOne('SELECT `codice` FROM `mg_articoli` WHERE `id` = '.prepare($riga['idarticolo']))['codice'], 'CodiceValore' => $database->fetchOne('SELECT `codice` FROM `mg_articoli` WHERE `id` = '.prepare($riga['idarticolo']))['codice'],
]; ];
$dettaglio['CodiceArticolo'] = $codice_articolo; $dettaglio['CodiceArticolo'] = $codice_articolo;
} }
$dettaglio['Descrizione'] = $riga['descrizione']; //Non ammesso
//$descrizione = html_entity_decode($riga['descrizione'], ENT_HTML5, 'UTF-8');
$descrizione = str_replace("&gt;", " ", $riga['descrizione']);
$descrizione = str_replace("", "...", $descrizione);
$dettaglio['Descrizione'] = str_replace("", " ", $descrizione);
$dettaglio['Quantita'] = $riga['qta']; $dettaglio['Quantita'] = $riga['qta'];
if (!empty($riga['um'])) { if (!empty($riga['um'])) {

View File

@ -36,3 +36,12 @@ ALTER TABLE `zz_settings` ADD `help` VARCHAR(255) NOT NULL AFTER `order`;
-- Aggiunto help per impostazione tipo cassa -- Aggiunto help per impostazione tipo cassa
UPDATE `zz_settings` SET `help` = 'Definisce il tipo della rivalsa' WHERE `zz_settings`.`nome` = 'Tipo Cassa'; UPDATE `zz_settings` SET `help` = 'Definisce il tipo della rivalsa' WHERE `zz_settings`.`nome` = 'Tipo Cassa';
-- Aggiorno indirizzo a cui inviare le FE
UPDATE `zz_emails` SET `cc` = 'sdi24@pec.fatturapa.it' WHERE `zz_emails`.`name` = 'PEC' AND `zz_emails`.`cc` = 'sdi01@pec.fatturapa.it';
-- Aggiunto id documento codice cig e codice cup per preventivi
ALTER TABLE `co_preventivi` ADD `codice_cig` VARCHAR(15) AFTER `master_revision`, ADD `codice_cup` VARCHAR(15) AFTER `codice_cig`, ADD `id_documento_fe` VARCHAR(20) AFTER `codice_cup`;
-- Migliorata visualizzazione impostazione
UPDATE `zz_settings` SET `tipo` = 'query=SELECT codice AS id, CONCAT_WS(\' - \', codice, descrizione) AS descrizione FROM fe_causali_pagamento_ritenuta' WHERE `zz_settings`.`nome` = 'Causale ritenuta d\'acconto';