mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-06-05 22:09:38 +02:00
Bugfix e rimozione warnings
This commit is contained in:
@@ -161,7 +161,7 @@ if (!empty($result_query) && $result_query != 'menu' && $result_query != 'custom
|
|||||||
|
|
||||||
// Icona
|
// Icona
|
||||||
if (preg_match('/^color_(.+?)$/', $field, $m)) {
|
if (preg_match('/^color_(.+?)$/', $field, $m)) {
|
||||||
$value = $r['color_title_'.$m[1]] ?: '';
|
$value = isset($r['color_title_'.$m[1]]) ? $r['color_title_'.$m[1]] : '';
|
||||||
|
|
||||||
$column['class'] = 'text-center small';
|
$column['class'] = 'text-center small';
|
||||||
$column['data-background'] = $r[$field];
|
$column['data-background'] = $r[$field];
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
$result['idarticolo'] = isset($result['idarticolo']) ? $result['idarticolo'] : null;
|
||||||
|
|
||||||
// Articolo
|
// Articolo
|
||||||
if (!isset($options['edit_articolo']) || !empty($options['edit_articolo'])) {
|
if (!isset($options['edit_articolo']) || !empty($options['edit_articolo'])) {
|
||||||
echo '
|
echo '
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
$result['id'] = isset($result['id']) ? $result['id'] : null;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Form di inserimento riga documento
|
Form di inserimento riga documento
|
||||||
*/
|
*/
|
||||||
|
@@ -42,9 +42,10 @@ switch ($resource) {
|
|||||||
$rs = $dbo->fetchArray($query);
|
$rs = $dbo->fetchArray($query);
|
||||||
foreach ($rs as $r) {
|
foreach ($rs as $r) {
|
||||||
if ($prev != $r['id_sottocategoria']) {
|
if ($prev != $r['id_sottocategoria']) {
|
||||||
$categoria = $dbo->fetchArray('SELECT `nome` FROM `mg_categorie` WHERE `id`='.prepare($r['id_categoria']))[0]['nome'];
|
$categoria = $dbo->fetchOne('SELECT `nome` FROM `mg_categorie` WHERE `id`='.prepare($r['id_categoria']))['nome'];
|
||||||
|
|
||||||
$sottocategoria = $dbo->fetchArray('SELECT `nome` FROM `mg_categorie` WHERE `id`='.prepare($r['id_sottocategoria']))[0]['nome'];
|
$sottocategoria = $dbo->fetchOne('SELECT `nome` FROM `mg_categorie` WHERE `id`='.prepare($r['id_sottocategoria']));
|
||||||
|
$sottocategoria = isset($sottocategoria['nome']) ? $sottocategoria['nome'] : null;
|
||||||
|
|
||||||
$prev = $r['id_sottocategoria'];
|
$prev = $r['id_sottocategoria'];
|
||||||
$results[] = ['text' => $categoria.' ('.(!empty($r['id_sottocategoria']) ? $sottocategoria : '-').')', 'children' => []];
|
$results[] = ['text' => $categoria.' ('.(!empty($r['id_sottocategoria']) ? $sottocategoria : '-').')', 'children' => []];
|
||||||
|
@@ -41,7 +41,7 @@ $_SESSION['superselect']['id_categoria'] = $records[0]['id_categoria'];
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
{[ "type": "number", "label": "<?php echo tr('Quantità'); ?>", "name": "qta", "required": 1, "value": "$qta$", "readonly": 1, "decimals": "qta", "min-value": "undefined" ]}
|
{[ "type": "number", "label": "<?php echo tr('Quantità'); ?>", "name": "qta", "required": 1, "value": "$qta$", "readonly": 1, "decimals": "qta", "min-value": "undefined" ]}
|
||||||
<input type="hidden" id="old_qta" value="<?=$records[0]['qta']?>">
|
<input type="hidden" id="old_qta" value="<?php echo $records[0]['qta']; ?>">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
{[ "type": "checkbox", "label": "<?php echo tr('Modifica quantità manualmente'); ?>", "name": "qta_manuale", "value": 0, "help": "<?php echo tr('Seleziona per modificare manualmente la quantità'); ?>", "placeholder": "<?php echo tr('Quantità manuale'); ?>", "extra": "<?php echo ($records[0]['servizio']) ? 'disabled' : ''; ?>" ]}
|
{[ "type": "checkbox", "label": "<?php echo tr('Modifica quantità manualmente'); ?>", "name": "qta_manuale", "value": 0, "help": "<?php echo tr('Seleziona per modificare manualmente la quantità'); ?>", "placeholder": "<?php echo tr('Quantità manuale'); ?>", "extra": "<?php echo ($records[0]['servizio']) ? 'disabled' : ''; ?>" ]}
|
||||||
|
@@ -12,7 +12,7 @@ include_once __DIR__.'/../../core.php';
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
{[ "type": "select", "label": "<?php echo tr('Cliente'); ?>", "name": "idanagrafica", "required": 1, "value": "<?php echo $idanagrafica; ?>", "ajax-source": "clienti" ]}
|
{[ "type": "select", "label": "<?php echo tr('Cliente'); ?>", "name": "idanagrafica", "required": 1, "value": "<?php echo $user['idanagrafica']; ?>", "ajax-source": "clienti" ]}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@@ -33,7 +33,7 @@ $_SESSION['superselect']['idanagrafica'] = $records[0]['idanagrafica'];
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
{[ "type": "select", "label": "<?php echo tr('Sede'); ?>", "name": "idsede", "values": "query=SELECT 0 AS id, 'Sede legale' AS descrizione UNION SELECT id, CONCAT_WS( ' - ', nomesede, citta ) AS descrizione FROM an_sedi WHERE idanagrafica='$idanagrafica$'", "value": "$idsede$", "ajax-source": "sedi", "extra": "<?php echo $readonly; ?>" ]}
|
{[ "type": "select", "label": "<?php echo tr('Sede'); ?>", "name": "idsede", "values": "query=SELECT 0 AS id, 'Sede legale' AS descrizione UNION SELECT id, CONCAT_WS( ' - ', nomesede, citta ) AS descrizione FROM an_sedi WHERE idanagrafica='$idanagrafica$'", "value": "$idsede$", "ajax-source": "sedi" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
|
@@ -4,7 +4,6 @@ include_once __DIR__.'/../../../core.php';
|
|||||||
|
|
||||||
$idriga = filter('idriga');
|
$idriga = filter('idriga');
|
||||||
|
|
||||||
|
|
||||||
//Lettura idanagrafica cliente e percentuale di sconto/rincaro in base al listino
|
//Lettura idanagrafica cliente e percentuale di sconto/rincaro in base al listino
|
||||||
//$rs = $dbo->fetchArray('SELECT idanagrafica, (SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino_vendite FROM an_anagrafiche WHERE idanagrafica=.in_interventi.idanagrafica)) AS prc_sconto FROM in_interventi WHERE id='.prepare($id_record));
|
//$rs = $dbo->fetchArray('SELECT idanagrafica, (SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino_vendite FROM an_anagrafiche WHERE idanagrafica=.in_interventi.idanagrafica)) AS prc_sconto FROM in_interventi WHERE id='.prepare($id_record));
|
||||||
//$idanagrafica = $rs[0]['idanagrafica'];
|
//$idanagrafica = $rs[0]['idanagrafica'];
|
||||||
@@ -26,8 +25,7 @@ if (empty($idriga)) {
|
|||||||
$tipo_sconto = 'PRC';
|
$tipo_sconto = 'PRC';
|
||||||
}
|
}
|
||||||
|
|
||||||
(empty($idcontratto_riga)) ? $idcontratto_riga = $dbo->fetchArray('SELECT MAX(id) AS max_idcontratto_riga FROM `co_righe_contratti`')[0]['max_idcontratto_riga'] : '';
|
(empty($idcontratto_riga)) ? $idcontratto_riga = $dbo->fetchArray('SELECT MAX(id) AS max_idcontratto_riga FROM `co_righe_contratti`')[0]['max_idcontratto_riga'] : '';
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$op = 'editriga';
|
$op = 'editriga';
|
||||||
$button = '<i class="fa fa-edit"></i> '.tr('Modifica');
|
$button = '<i class="fa fa-edit"></i> '.tr('Modifica');
|
||||||
@@ -42,19 +40,15 @@ if (empty($idriga)) {
|
|||||||
$idiva = $rsr[0]['idiva'];
|
$idiva = $rsr[0]['idiva'];
|
||||||
$prezzo_vendita = $rsr[0]['prezzo_vendita'];
|
$prezzo_vendita = $rsr[0]['prezzo_vendita'];
|
||||||
$prezzo_acquisto = $rsr[0]['prezzo_acquisto'];
|
$prezzo_acquisto = $rsr[0]['prezzo_acquisto'];
|
||||||
$idcontratto_riga = $rsr[0]['id_riga_contratto'];
|
$idcontratto_riga = $rsr[0]['id_riga_contratto'];
|
||||||
|
|
||||||
$sconto_unitario = $rsr[0]['sconto_unitario'];
|
$sconto_unitario = $rsr[0]['sconto_unitario'];
|
||||||
$tipo_sconto = $rsr[0]['tipo_sconto'];
|
$tipo_sconto = $rsr[0]['tipo_sconto'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Form di inserimento
|
Form di inserimento
|
||||||
<form id="add-righe" action="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'&idcontratto_riga='.$idcontratto_riga.'" method="post">
|
<form id="add-righe" action="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'&idcontratto_riga='.$idcontratto_riga.'" method="post">
|
||||||
*/
|
*/
|
||||||
echo '
|
echo '
|
||||||
<form id="add-righe" action="'.$rootdir.'/modules/contratti/plugins/actions.php" method="post">
|
<form id="add-righe" action="'.$rootdir.'/modules/contratti/plugins/actions.php" method="post">
|
||||||
@@ -64,7 +58,6 @@ echo '
|
|||||||
|
|
||||||
<input type="hidden" name="idcontratto_riga" value="'.$idcontratto_riga.'">';
|
<input type="hidden" name="idcontratto_riga" value="'.$idcontratto_riga.'">';
|
||||||
|
|
||||||
|
|
||||||
// Descrizione
|
// Descrizione
|
||||||
echo '
|
echo '
|
||||||
<div class="row">
|
<div class="row">
|
||||||
@@ -136,8 +129,6 @@ echo '
|
|||||||
|
|
||||||
// Ricarico le righe
|
// Ricarico le righe
|
||||||
$('#righe').load(globals.rootdir + '/modules/contratti/plugins/ajax_righe.php?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>&idcontratto_riga=<?php echo $idcontratto_riga; ?>');
|
$('#righe').load(globals.rootdir + '/modules/contratti/plugins/ajax_righe.php?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>&idcontratto_riga=<?php echo $idcontratto_riga; ?>');
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@@ -21,7 +21,7 @@ $mesi = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
// Pianificazione fatture
|
// Pianificazione fatture
|
||||||
if ($get['op'] == 'add_fatturazione') {
|
if (get('op') == 'add_fatturazione') {
|
||||||
$prev_data = '';
|
$prev_data = '';
|
||||||
|
|
||||||
// Azzero la pianificazione zone se era già stata fatta, per poter sostituire la pianificazione,
|
// Azzero la pianificazione zone se era già stata fatta, per poter sostituire la pianificazione,
|
||||||
@@ -50,7 +50,7 @@ if ($get['op'] == 'add_fatturazione') {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Eliminazione pianificazione specifica
|
// Eliminazione pianificazione specifica
|
||||||
elseif ($get['op'] == 'del_pianificazione') {
|
elseif (get('op') == 'del_pianificazione') {
|
||||||
$idpianificazione = $get['idpianificazione'];
|
$idpianificazione = $get['idpianificazione'];
|
||||||
|
|
||||||
$n = $dbo->fetchNum('SELECT id FROM co_ordiniservizio_pianificazionefatture WHERE id='.prepare($idpianificazione));
|
$n = $dbo->fetchNum('SELECT id FROM co_ordiniservizio_pianificazionefatture WHERE id='.prepare($idpianificazione));
|
||||||
@@ -64,7 +64,7 @@ elseif ($get['op'] == 'del_pianificazione') {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Creazione fattura pianificata
|
// Creazione fattura pianificata
|
||||||
elseif ($get['op'] == 'addfattura') {
|
elseif (get('op') == 'addfattura') {
|
||||||
include_once $docroot.'/modules/fatture/modutil.php';
|
include_once $docroot.'/modules/fatture/modutil.php';
|
||||||
|
|
||||||
$idpianificazione = $get['idpianificazione'];
|
$idpianificazione = $get['idpianificazione'];
|
||||||
|
@@ -21,7 +21,7 @@ $mesi = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
// Generazione ordini di servizio
|
// Generazione ordini di servizio
|
||||||
if ($get['op'] == 'add_ordineservizio') {
|
if (get('op') == 'add_ordineservizio') {
|
||||||
$prev_data = '';
|
$prev_data = '';
|
||||||
|
|
||||||
// Ciclo fra le voci in arrivo dal form
|
// Ciclo fra le voci in arrivo dal form
|
||||||
@@ -49,7 +49,7 @@ if ($get['op'] == 'add_ordineservizio') {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Eliminazione pianificazione specifica
|
// Eliminazione pianificazione specifica
|
||||||
elseif ($get['op'] == 'del_ordineservizio') {
|
elseif (get('op') == 'del_ordineservizio') {
|
||||||
$idordineservizio = $get['idordineservizio'];
|
$idordineservizio = $get['idordineservizio'];
|
||||||
|
|
||||||
$n = $dbo->fetchNum('SELECT id FROM co_ordiniservizio WHERE id='.prepare($idordineservizio)." AND stato='aperto'");
|
$n = $dbo->fetchNum('SELECT id FROM co_ordiniservizio WHERE id='.prepare($idordineservizio)." AND stato='aperto'");
|
||||||
|
@@ -2,44 +2,38 @@
|
|||||||
|
|
||||||
include_once __DIR__.'/../../../core.php';
|
include_once __DIR__.'/../../../core.php';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Pianificazione intervento
|
// Pianificazione intervento
|
||||||
switch (filter('op')) {
|
switch (filter('op')) {
|
||||||
|
case 'add-pianifica':
|
||||||
|
|
||||||
case 'add-pianifica':
|
$data_richiesta = filter('data_richiesta');
|
||||||
|
$query = 'INSERT INTO `co_righe_contratti` ( `idcontratto`, `data_richiesta` ) VALUES ('.prepare($id_record).', '.prepare($data_richiesta).')';
|
||||||
|
|
||||||
$data_richiesta = filter('data_richiesta');
|
if ($dbo->query($query)) {
|
||||||
$query = 'INSERT INTO `co_righe_contratti` ( `idcontratto`, `data_richiesta` ) VALUES ('.prepare($id_record).', '.prepare($data_richiesta).')';
|
} else {
|
||||||
|
$_SESSION['errors'][] = tr("Errore durante l'aggiunta del promemoria!");
|
||||||
if ($dbo->query($query)) {
|
}
|
||||||
|
|
||||||
}else{
|
|
||||||
$_SESSION['errors'][] = tr("Errore durante l'aggiunta del promemoria!");
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
case 'edit-pianifica':
|
case 'edit-pianifica':
|
||||||
|
|
||||||
|
$idcontratto_riga = filter('idcontratto_riga');
|
||||||
|
|
||||||
$idcontratto_riga = filter('idcontratto_riga');
|
$data_richiesta = filter('data_richiesta');
|
||||||
|
|
||||||
$data_richiesta = filter('data_richiesta');
|
|
||||||
|
|
||||||
$idtipointervento = filter('idtipointervento');
|
$idtipointervento = filter('idtipointervento');
|
||||||
$richiesta = filter('richiesta');
|
$richiesta = filter('richiesta');
|
||||||
$idsede = filter('idsede_c');
|
$idsede = filter('idsede_c');
|
||||||
$idimpianti = implode(",", $post['idimpianti']);
|
$idimpianti = implode(',', $post['idimpianti']);
|
||||||
|
|
||||||
$query = 'UPDATE co_righe_contratti SET idtipointervento='.prepare($idtipointervento).', data_richiesta='.prepare($data_richiesta).', richiesta='.prepare($richiesta).', idsede='.prepare($idsede).', idimpianti='.prepare($idimpianti).' WHERE id = '.prepare($idcontratto_riga);
|
$query = 'UPDATE co_righe_contratti SET idtipointervento='.prepare($idtipointervento).', data_richiesta='.prepare($data_richiesta).', richiesta='.prepare($richiesta).', idsede='.prepare($idsede).', idimpianti='.prepare($idimpianti).' WHERE id = '.prepare($idcontratto_riga);
|
||||||
|
|
||||||
if (isset($id_record)) {
|
if (isset($id_record)) {
|
||||||
if ($dbo->query($query)) {
|
if ($dbo->query($query)) {
|
||||||
$_SESSION['infos'][] = tr('Promemoria inserito!');
|
$_SESSION['infos'][] = tr('Promemoria inserito!');
|
||||||
} else {
|
} else {
|
||||||
$_SESSION['errors'][] = tr("Errore durante la modifica del promemoria!");
|
$_SESSION['errors'][] = tr('Errore durante la modifica del promemoria!');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -50,8 +44,8 @@ switch (filter('op')) {
|
|||||||
$id = filter('id');
|
$id = filter('id');
|
||||||
|
|
||||||
$dbo->query('DELETE FROM `co_righe_contratti` WHERE id='.prepare($id));
|
$dbo->query('DELETE FROM `co_righe_contratti` WHERE id='.prepare($id));
|
||||||
$dbo->query('DELETE FROM `co_righe_contratti_materiali` WHERE id_riga_contratto='.prepare($id));
|
$dbo->query('DELETE FROM `co_righe_contratti_materiali` WHERE id_riga_contratto='.prepare($id));
|
||||||
$dbo->query('DELETE FROM `co_righe_contratti_articoli` WHERE id_riga_contratto='.prepare($id));
|
$dbo->query('DELETE FROM `co_righe_contratti_articoli` WHERE id_riga_contratto='.prepare($id));
|
||||||
|
|
||||||
$_SESSION['infos'][] = tr('Pianificazione eliminata!');
|
$_SESSION['infos'][] = tr('Pianificazione eliminata!');
|
||||||
|
|
||||||
@@ -63,8 +57,8 @@ switch (filter('op')) {
|
|||||||
case 'delete-promemoria':
|
case 'delete-promemoria':
|
||||||
|
|
||||||
$dbo->query('DELETE FROM `co_righe_contratti` WHERE idcontratto = '.$id_record.' AND idintervento IS NULL');
|
$dbo->query('DELETE FROM `co_righe_contratti` WHERE idcontratto = '.$id_record.' AND idintervento IS NULL');
|
||||||
$dbo->query('DELETE FROM `co_righe_contratti_materiali` WHERE id_riga_contratto IN (SELECT id FROM `co_righe_contratti` WHERE idcontratto = '.$id_record.' AND idintervento IS NULL ) ');
|
$dbo->query('DELETE FROM `co_righe_contratti_materiali` WHERE id_riga_contratto IN (SELECT id FROM `co_righe_contratti` WHERE idcontratto = '.$id_record.' AND idintervento IS NULL ) ');
|
||||||
$dbo->query('DELETE FROM `co_righe_contratti_articoli` WHERE id_riga_contratto IN (SELECT id FROM `co_righe_contratti` WHERE idcontratto = '.$id_record.' AND idintervento IS NULL ) ');
|
$dbo->query('DELETE FROM `co_righe_contratti_articoli` WHERE id_riga_contratto IN (SELECT id FROM `co_righe_contratti` WHERE idcontratto = '.$id_record.' AND idintervento IS NULL ) ');
|
||||||
|
|
||||||
$_SESSION['errors'][] = tr('Tutti i promemoria non associati sono stati eliminati!');
|
$_SESSION['errors'][] = tr('Tutti i promemoria non associati sono stati eliminati!');
|
||||||
|
|
||||||
@@ -80,21 +74,20 @@ switch (filter('op')) {
|
|||||||
$parti_da_oggi = post('parti_da_oggi');
|
$parti_da_oggi = post('parti_da_oggi');
|
||||||
|
|
||||||
if (!empty($idcontratto_riga) && !empty($intervallo)) {
|
if (!empty($idcontratto_riga) && !empty($intervallo)) {
|
||||||
|
|
||||||
$qp = 'SELECT *, (SELECT idanagrafica FROM co_contratti WHERE id = '.$id_record.' ) AS idanagrafica, (SELECT data_conclusione FROM co_contratti WHERE id = '.$id_record.' ) AS data_conclusione, '.
|
$qp = 'SELECT *, (SELECT idanagrafica FROM co_contratti WHERE id = '.$id_record.' ) AS idanagrafica, (SELECT data_conclusione FROM co_contratti WHERE id = '.$id_record.' ) AS data_conclusione, '.
|
||||||
'(SELECT descrizione FROM in_tipiintervento WHERE idtipointervento=co_righe_contratti.idtipointervento) AS tipointervento FROM co_righe_contratti '.
|
'(SELECT descrizione FROM in_tipiintervento WHERE idtipointervento=co_righe_contratti.idtipointervento) AS tipointervento FROM co_righe_contratti '.
|
||||||
'WHERE co_righe_contratti.id = '.$idcontratto_riga;
|
'WHERE co_righe_contratti.id = '.$idcontratto_riga;
|
||||||
$rsp = $dbo->fetchArray($qp);
|
$rsp = $dbo->fetchArray($qp);
|
||||||
|
|
||||||
$idtipointervento = $rsp[0]['idtipointervento'];
|
$idtipointervento = $rsp[0]['idtipointervento'];
|
||||||
$idsede = $rsp[0]['idsede'];
|
$idsede = $rsp[0]['idsede'];
|
||||||
$richiesta = $rsp[0]['richiesta'];
|
$richiesta = $rsp[0]['richiesta'];
|
||||||
|
|
||||||
$data_richiesta = $rsp[0]['data_richiesta'];
|
$data_richiesta = $rsp[0]['data_richiesta'];
|
||||||
$idimpianti = $rsp[0]['idimpianti'];
|
$idimpianti = $rsp[0]['idimpianti'];
|
||||||
|
|
||||||
//mi serve per la pianificazione dei promemoria
|
//mi serve per la pianificazione dei promemoria
|
||||||
$data_conclusione = $rsp[0]['data_conclusione'];
|
$data_conclusione = $rsp[0]['data_conclusione'];
|
||||||
|
|
||||||
//mi serve per la pianificazione interventi
|
//mi serve per la pianificazione interventi
|
||||||
$idanagrafica = $rsp[0]['idanagrafica'];
|
$idanagrafica = $rsp[0]['idanagrafica'];
|
||||||
@@ -118,20 +111,17 @@ switch (filter('op')) {
|
|||||||
if ((date('Y-m-d', strtotime($data_richiesta)) >= $min_date) && (date('Y-m-d', strtotime($data_richiesta)) <= date('Y-m-d', strtotime($data_conclusione)))) {
|
if ((date('Y-m-d', strtotime($data_richiesta)) >= $min_date) && (date('Y-m-d', strtotime($data_richiesta)) <= date('Y-m-d', strtotime($data_conclusione)))) {
|
||||||
//Controllo che non esista già un promemoria idcontratto, idtipointervento e data_richiesta.
|
//Controllo che non esista già un promemoria idcontratto, idtipointervento e data_richiesta.
|
||||||
if (count($dbo->fetchArray("SELECT id FROM co_righe_contratti WHERE data_richiesta = '".$data_richiesta."' AND idtipointervento = '".$idtipointervento."' AND idcontratto = '".$id_record."' ")) == 0) {
|
if (count($dbo->fetchArray("SELECT id FROM co_righe_contratti WHERE data_richiesta = '".$data_richiesta."' AND idtipointervento = '".$idtipointervento."' AND idcontratto = '".$id_record."' ")) == 0) {
|
||||||
|
//inserisco il nuovo promemoria
|
||||||
//inserisco il nuovo promemoria
|
|
||||||
$query = 'INSERT INTO `co_righe_contratti`(`idcontratto`, `idtipointervento`, `data_richiesta`, `richiesta`, `idsede`, `idimpianti` ) VALUES('.prepare($id_record).', '.prepare($idtipointervento).', '.prepare($data_richiesta).', '.prepare($richiesta).', '.prepare($idsede).', '.prepare($idimpianti).')';
|
$query = 'INSERT INTO `co_righe_contratti`(`idcontratto`, `idtipointervento`, `data_richiesta`, `richiesta`, `idsede`, `idimpianti` ) VALUES('.prepare($id_record).', '.prepare($idtipointervento).', '.prepare($data_richiesta).', '.prepare($richiesta).', '.prepare($idsede).', '.prepare($idimpianti).')';
|
||||||
|
|
||||||
if ($dbo->query($query)) {
|
if ($dbo->query($query)) {
|
||||||
|
|
||||||
$idriga = $dbo->lastInsertedID();
|
$idriga = $dbo->lastInsertedID();
|
||||||
|
|
||||||
//copio anche righe materiali nel nuovo promemoria
|
//copio anche righe materiali nel nuovo promemoria
|
||||||
$dbo->query('INSERT INTO co_righe_contratti_materiali (descrizione, qta,um,prezzo_vendita,prezzo_acquisto,idiva, desc_iva,iva,id_riga_contratto,sconto,sconto_unitario,tipo_sconto) SELECT descrizione, qta,um,prezzo_vendita,prezzo_acquisto,idiva, desc_iva,iva,'.$idriga.',sconto,sconto_unitario,tipo_sconto FROM co_righe_contratti_materiali WHERE id_riga_contratto = '.$idcontratto_riga.' ');
|
$dbo->query('INSERT INTO co_righe_contratti_materiali (descrizione, qta,um,prezzo_vendita,prezzo_acquisto,idiva, desc_iva,iva,id_riga_contratto,sconto,sconto_unitario,tipo_sconto) SELECT descrizione, qta,um,prezzo_vendita,prezzo_acquisto,idiva, desc_iva,iva,'.$idriga.',sconto,sconto_unitario,tipo_sconto FROM co_righe_contratti_materiali WHERE id_riga_contratto = '.$idcontratto_riga.' ');
|
||||||
|
|
||||||
//copio righe articoli nel nuovo promemoria
|
|
||||||
$dbo->query('INSERT INTO co_righe_contratti_articoli (idarticolo, id_riga_contratto,descrizione,prezzo_acquisto,prezzo_vendita,sconto, sconto_unitario, tipo_sconto,idiva,desc_iva,iva,idautomezzo, qta, um, abilita_serial, idimpianto) SELECT idarticolo, '.$idriga.',descrizione,prezzo_acquisto,prezzo_vendita,sconto,sconto_unitario,tipo_sconto,idiva,desc_iva,iva,idautomezzo, qta, um, abilita_serial, idimpianto FROM co_righe_contratti_articoli WHERE id_riga_contratto = '.$idcontratto_riga.' ');
|
|
||||||
|
|
||||||
|
//copio righe articoli nel nuovo promemoria
|
||||||
|
$dbo->query('INSERT INTO co_righe_contratti_articoli (idarticolo, id_riga_contratto,descrizione,prezzo_acquisto,prezzo_vendita,sconto, sconto_unitario, tipo_sconto,idiva,desc_iva,iva,idautomezzo, qta, um, abilita_serial, idimpianto) SELECT idarticolo, '.$idriga.',descrizione,prezzo_acquisto,prezzo_vendita,sconto,sconto_unitario,tipo_sconto,idiva,desc_iva,iva,idautomezzo, qta, um, abilita_serial, idimpianto FROM co_righe_contratti_articoli WHERE id_riga_contratto = '.$idcontratto_riga.' ');
|
||||||
|
|
||||||
$_SESSION['infos'][] = tr('Promemoria intervento pianificato!');
|
$_SESSION['infos'][] = tr('Promemoria intervento pianificato!');
|
||||||
|
|
||||||
@@ -184,26 +174,24 @@ switch (filter('op')) {
|
|||||||
//collego l'intervento ai promemoria
|
//collego l'intervento ai promemoria
|
||||||
$dbo->query('UPDATE co_righe_contratti SET idintervento='.prepare($idintervento).' WHERE id='.prepare($idriga));
|
$dbo->query('UPDATE co_righe_contratti SET idintervento='.prepare($idintervento).' WHERE id='.prepare($idriga));
|
||||||
|
|
||||||
//copio le righe dal promemoria all'intervento
|
//copio le righe dal promemoria all'intervento
|
||||||
$dbo->query('INSERT INTO in_righe_interventi (descrizione, qta,um,prezzo_vendita,prezzo_acquisto,idiva,desc_iva,iva,idintervento,sconto,sconto_unitario,tipo_sconto) SELECT descrizione, qta,um,prezzo_vendita,prezzo_acquisto,idiva,desc_iva,iva,'.$idintervento.',sconto,sconto_unitario,tipo_sconto FROM co_righe_contratti_materiali WHERE id_riga_contratto = '.$idcontratto_riga.' ');
|
$dbo->query('INSERT INTO in_righe_interventi (descrizione, qta,um,prezzo_vendita,prezzo_acquisto,idiva,desc_iva,iva,idintervento,sconto,sconto_unitario,tipo_sconto) SELECT descrizione, qta,um,prezzo_vendita,prezzo_acquisto,idiva,desc_iva,iva,'.$idintervento.',sconto,sconto_unitario,tipo_sconto FROM co_righe_contratti_materiali WHERE id_riga_contratto = '.$idcontratto_riga.' ');
|
||||||
|
|
||||||
//copio gli articoli dal promemoria all'intervento
|
//copio gli articoli dal promemoria all'intervento
|
||||||
$dbo->query('INSERT INTO mg_articoli_interventi (idarticolo, idintervento,descrizione,prezzo_acquisto,prezzo_vendita,sconto, sconto_unitario, tipo_sconto,idiva,desc_iva,iva,idautomezzo, qta, um, abilita_serial, idimpianto) SELECT idarticolo, '.$idintervento.',descrizione,prezzo_acquisto,prezzo_vendita,sconto,sconto_unitario,tipo_sconto,idiva,desc_iva,iva,idautomezzo, qta, um, abilita_serial, idimpianto FROM co_righe_contratti_articoli WHERE id_riga_contratto = '.$idcontratto_riga.' ');
|
$dbo->query('INSERT INTO mg_articoli_interventi (idarticolo, idintervento,descrizione,prezzo_acquisto,prezzo_vendita,sconto, sconto_unitario, tipo_sconto,idiva,desc_iva,iva,idautomezzo, qta, um, abilita_serial, idimpianto) SELECT idarticolo, '.$idintervento.',descrizione,prezzo_acquisto,prezzo_vendita,sconto,sconto_unitario,tipo_sconto,idiva,desc_iva,iva,idautomezzo, qta, um, abilita_serial, idimpianto FROM co_righe_contratti_articoli WHERE id_riga_contratto = '.$idcontratto_riga.' ');
|
||||||
|
|
||||||
// Decremento la quantità per ogni articolo copiato
|
|
||||||
include_once $docroot.'/modules/articoli/modutil.php';
|
|
||||||
$rs_articoli = $dbo->fetchArray('SELECT * FROM mg_articoli_interventi WHERE idintervento = '.$idintervento.' ');
|
|
||||||
foreach ($rs_articoli as $rs_articolo) {
|
|
||||||
add_movimento_magazzino($rs_articolo['idarticolo'], -force_decimal($rs_articolo['qta']), ['idautomezzo' => $rs_articolo['idautomezzo'], 'idintervento' => $idintervento]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Collego gli impianti del promemoria all' intervento appena inserito
|
|
||||||
$rs_idimpianti = explode(',', $idimpianti);
|
|
||||||
foreach ($rs_idimpianti as $idimpianto) {
|
|
||||||
$dbo->query('INSERT INTO my_impianti_interventi (idintervento, idimpianto) VALUES ('.$idintervento.', '.$idimpianto.' )' );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
// Decremento la quantità per ogni articolo copiato
|
||||||
|
include_once $docroot.'/modules/articoli/modutil.php';
|
||||||
|
$rs_articoli = $dbo->fetchArray('SELECT * FROM mg_articoli_interventi WHERE idintervento = '.$idintervento.' ');
|
||||||
|
foreach ($rs_articoli as $rs_articolo) {
|
||||||
|
add_movimento_magazzino($rs_articolo['idarticolo'], -force_decimal($rs_articolo['qta']), ['idautomezzo' => $rs_articolo['idautomezzo'], 'idintervento' => $idintervento]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Collego gli impianti del promemoria all' intervento appena inserito
|
||||||
|
$rs_idimpianti = explode(',', $idimpianti);
|
||||||
|
foreach ($rs_idimpianti as $idimpianto) {
|
||||||
|
$dbo->query('INSERT INTO my_impianti_interventi (idintervento, idimpianto) VALUES ('.$idintervento.', '.$idimpianto.' )');
|
||||||
|
}
|
||||||
|
|
||||||
// $_SESSION['infos'][] = tr('Intervento '.$codice.' pianificato correttamente.');
|
// $_SESSION['infos'][] = tr('Intervento '.$codice.' pianificato correttamente.');
|
||||||
|
|
||||||
@@ -268,8 +256,6 @@ if (count($rsp) != 0) {
|
|||||||
|
|
||||||
// Elenco promemoria
|
// Elenco promemoria
|
||||||
for ($i = 0; $i < sizeof($rsp); ++$i) {
|
for ($i = 0; $i < sizeof($rsp); ++$i) {
|
||||||
|
|
||||||
|
|
||||||
// Sede
|
// Sede
|
||||||
if ($rsp[$i]['idsede'] == '-1') {
|
if ($rsp[$i]['idsede'] == '-1') {
|
||||||
echo '- '.('Nessuna').' -';
|
echo '- '.('Nessuna').' -';
|
||||||
@@ -296,40 +282,39 @@ if (count($rsp) != 0) {
|
|||||||
$disabled = '';
|
$disabled = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
//data_conclusione contratto
|
//data_conclusione contratto
|
||||||
if (date('Y', strtotime($records[0]['data_conclusione'])) < 1971) {
|
if (date('Y', strtotime($records[0]['data_conclusione'])) < 1971) {
|
||||||
$records[0]['data_conclusione'] = '';
|
$records[0]['data_conclusione'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
//info impianti
|
//info impianti
|
||||||
$info_impianti = '';
|
$info_impianti = '';
|
||||||
if (!empty($rsp[$i]['idimpianti'])){
|
if (!empty($rsp[$i]['idimpianti'])) {
|
||||||
$rsp3 = $dbo->fetchArray('SELECT id, matricola, nome FROM my_impianti WHERE id IN ('.($rsp[$i]['idimpianti']).')');
|
$rsp3 = $dbo->fetchArray('SELECT id, matricola, nome FROM my_impianti WHERE id IN ('.($rsp[$i]['idimpianti']).')');
|
||||||
if (!empty( $rsp3 )){
|
if (!empty($rsp3)) {
|
||||||
for ($a=0; $a<count($rsp3); $a++){
|
for ($a = 0; $a < count($rsp3); ++$a) {
|
||||||
$info_impianti .= Modules::link('MyImpianti', $rsp3[$a]['id'], tr('_NOME_ (_MATRICOLA_)', [
|
$info_impianti .= Modules::link('MyImpianti', $rsp3[$a]['id'], tr('_NOME_ (_MATRICOLA_)', [
|
||||||
'_NOME_' => $rsp3[$a]['nome'],
|
'_NOME_' => $rsp3[$a]['nome'],
|
||||||
'_MATRICOLA_' => $rsp3[$a]['matricola'],
|
'_MATRICOLA_' => $rsp3[$a]['matricola'],
|
||||||
])).'<br>';
|
])).'<br>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$rsp4 = $dbo->fetchArray('SELECT id, descrizione,qta,um,prezzo_vendita, \'\' AS idarticolo FROM co_righe_contratti_materiali WHERE id_riga_contratto = '.prepare($rsp[$i]['id']).'
|
||||||
|
UNION SELECT id, descrizione,qta,um,prezzo_vendita, idarticolo FROM co_righe_contratti_articoli WHERE id_riga_contratto = '.prepare($rsp[$i]['id']));
|
||||||
|
|
||||||
$rsp4 = $dbo->fetchArray('SELECT id, descrizione,qta,um,prezzo_vendita, \'\' AS idarticolo FROM co_righe_contratti_materiali WHERE id_riga_contratto = '.prepare($rsp[$i]['id']).'
|
$info_materiali = '';
|
||||||
UNION SELECT id, descrizione,qta,um,prezzo_vendita, idarticolo FROM co_righe_contratti_articoli WHERE id_riga_contratto = '.prepare($rsp[$i]['id']) );
|
if (!empty($rsp4)) {
|
||||||
|
for ($b = 0; $b < count($rsp4); ++$b) {
|
||||||
$info_materiali = '';
|
$info_materiali .= tr(' _QTA_ _UM_ x _DESC_', [
|
||||||
if (!empty( $rsp4 )){
|
'_DESC_' => ((!empty($rsp4[$b]['idarticolo'])) ? Modules::link('Articoli', $rsp4[$b]['idarticolo'], $rsp4[$b]['descrizione']) : $rsp4[$b]['descrizione']),
|
||||||
for ($b=0; $b<count($rsp4); $b++){
|
'_QTA_' => Translator::numberToLocale($rsp4[$b]['qta']),
|
||||||
$info_materiali .= tr(' _QTA_ _UM_ x _DESC_', [
|
'_UM_' => $rsp4[$b]['um'],
|
||||||
'_DESC_' => ((!empty($rsp4[$b]['idarticolo'])) ? Modules::link('Articoli', $rsp4[$b]['idarticolo'], $rsp4[$b]['descrizione']) : $rsp4[$b]['descrizione'] ),
|
'_PREZZO_' => $rsp4[$b]['prezzo_vendita'],
|
||||||
'_QTA_' => Translator::numberToLocale($rsp4[$b]['qta']),
|
]).'<br>';
|
||||||
'_UM_' => $rsp4[$b]['um'],
|
}
|
||||||
'_PREZZO_' => $rsp4[$b]['prezzo_vendita'],
|
}
|
||||||
]).'<br>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
<tr>
|
<tr>
|
||||||
@@ -362,20 +347,18 @@ if (count($rsp) != 0) {
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>';
|
</table>';
|
||||||
|
|
||||||
echo '<br><div class="pull-right">';
|
echo '<br><div class="pull-right">';
|
||||||
|
|
||||||
if (count($rsp) > 0) {
|
if (count($rsp) > 0) {
|
||||||
echo ' <button type="button" title="Elimina tutti i promemoria per questo contratto che non sono associati ad intervento." class="btn btn-danger ask tip" data-op="delete-promemoria" >
|
echo ' <button type="button" title="Elimina tutti i promemoria per questo contratto che non sono associati ad intervento." class="btn btn-danger ask tip" data-op="delete-promemoria" >
|
||||||
<i class="fa fa-trash"></i> '.tr('Elimina promemoria').'
|
<i class="fa fa-trash"></i> '.tr('Elimina promemoria').'
|
||||||
</button>';
|
</button>';
|
||||||
}
|
}
|
||||||
|
|
||||||
echo '</div>';
|
echo '</div>';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
echo ' <button type="button" title="Aggiungi un nuovo promemoria da pianificare." data-toggle="tooltip" class="btn btn-primary" id="add_promemoria">
|
||||||
echo ' <button type="button" title="Aggiungi un nuovo promemoria da pianificare." data-toggle="tooltip" class="btn btn-primary" id="add_promemoria">
|
|
||||||
<i class="fa fa-plus"></i> '.tr('Nuovo promemoria').'
|
<i class="fa fa-plus"></i> '.tr('Nuovo promemoria').'
|
||||||
</button>';
|
</button>';
|
||||||
|
|
||||||
@@ -425,7 +408,6 @@ echo '
|
|||||||
</div>
|
</div>
|
||||||
</div>';
|
</div>';
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
@@ -433,22 +415,20 @@ echo '
|
|||||||
$( "#add_promemoria" ).click(function() {
|
$( "#add_promemoria" ).click(function() {
|
||||||
|
|
||||||
swal({
|
swal({
|
||||||
title: '<?php echo tr("Aggiungere un nuovo promemoria?") ?>',
|
title: '<?php echo tr('Aggiungere un nuovo promemoria?'); ?>',
|
||||||
type: "info",
|
type: "info",
|
||||||
showCancelButton: true,
|
showCancelButton: true,
|
||||||
confirmButtonText: '<?php echo tr("Aggiungi") ?>',
|
confirmButtonText: '<?php echo tr('Aggiungi'); ?>',
|
||||||
confirmButtonClass: 'btn btn-lg btn-success',
|
confirmButtonClass: 'btn btn-lg btn-success',
|
||||||
}).then(
|
}).then(
|
||||||
function (result) {
|
function (result) {
|
||||||
prev_html = $("#add_promemoria").html();
|
prev_html = $("#add_promemoria").html();
|
||||||
$("#add_promemoria").html("<i class='fa fa-spinner fa-pulse fa-fw'></i> <?php echo tr("Attendere...") ?>");
|
$("#add_promemoria").html("<i class='fa fa-spinner fa-pulse fa-fw'></i> <?php echo tr('Attendere...'); ?>");
|
||||||
$("#add_promemoria").prop('disabled', true);
|
$("#add_promemoria").prop('disabled', true);
|
||||||
|
|
||||||
$.post( "<?php echo $rootdir ?>/editor.php?id_module=<?php echo Modules::get('Contratti')['id'] ?>&id_record=<?php echo $id_record ?>", { backto: "record-edit", op: "add-pianifica", data_richiesta: '<?php echo date('Y-m-d'); ?>' })
|
$.post( "<?php echo $rootdir; ?>/editor.php?id_module=<?php echo Modules::get('Contratti')['id']; ?>&id_record=<?php echo $id_record; ?>", { backto: "record-edit", op: "add-pianifica", data_richiesta: '<?php echo date('Y-m-d'); ?>' })
|
||||||
.done(function( data ) {
|
.done(function( data ) {
|
||||||
|
launch_modal('Nuovo promemoria', '<?php echo $rootdir; ?>/modules/contratti/plugins/addpianficazione.php?id_module=<?php echo Modules::get('Contratti')['id']; ?>&id_plugin=<?php echo Plugins::get('Pianificazione interventi')['id']; ?>&ref=interventi_contratti&id_record=<?php echo $id_record; ?>', 1, '#bs-popup');
|
||||||
//$('#righe').load(globals.rootdir + '/modules/contratti/plugins/ajax_righe.php?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>&idcontratto_riga=<?php echo $idcontratto_riga; ?>');
|
|
||||||
launch_modal('Nuovo promemoria', '<?php echo $rootdir ?>/modules/contratti/plugins/addpianficazione.php?id_module=<?php echo Modules::get('Contratti')['id'] ?>&id_plugin=<?php echo Plugins::get('Pianificazione interventi')['id'] ?>&ref=interventi_contratti&id_record=<?php echo $id_record?>', 1, '#bs-popup');
|
|
||||||
|
|
||||||
$("#add_promemoria").html(prev_html);
|
$("#add_promemoria").html(prev_html);
|
||||||
$("#add_promemoria").prop('disabled', false);
|
$("#add_promemoria").prop('disabled', false);
|
||||||
|
@@ -22,87 +22,85 @@ echo '
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody class="sortable">';
|
<tbody class="sortable">';
|
||||||
|
|
||||||
// se ho almeno un articolo caricato mostro la riga
|
foreach ($rs as $r) {
|
||||||
if (!empty($rs)) {
|
// Descrizione
|
||||||
foreach ($rs as $r) {
|
echo '
|
||||||
// descrizione
|
|
||||||
echo '
|
|
||||||
<tr data-id="'.$r['id'].'">
|
<tr data-id="'.$r['id'].'">
|
||||||
<td>';
|
<td>';
|
||||||
if (!empty($r['idarticolo'])) {
|
if (!empty($r['idarticolo'])) {
|
||||||
echo Modules::link('Articoli', $r['idarticolo'], $r['codice'].' - '.$r['descrizione']);
|
echo Modules::link('Articoli', $r['idarticolo'], $r['codice'].' - '.$r['descrizione']);
|
||||||
} else {
|
} else {
|
||||||
echo nl2br($r['descrizione']);
|
echo nl2br($r['descrizione']);
|
||||||
}
|
}
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
</td>';
|
</td>';
|
||||||
|
|
||||||
// q.tà
|
// Q.tà
|
||||||
echo '
|
echo '
|
||||||
<td class="text-right">';
|
<td class="text-right">';
|
||||||
if (empty($r['is_descrizione'])) {
|
if (empty($r['is_descrizione'])) {
|
||||||
echo '
|
echo '
|
||||||
'.Translator::numberToLocale($r['qta']);
|
'.Translator::numberToLocale($r['qta']);
|
||||||
}
|
}
|
||||||
echo '
|
echo '
|
||||||
</td>';
|
</td>';
|
||||||
|
|
||||||
// um
|
// um
|
||||||
echo '
|
echo '
|
||||||
<td class="text-center">';
|
<td class="text-center">';
|
||||||
if (empty($r['is_descrizione'])) {
|
if (empty($r['is_descrizione'])) {
|
||||||
echo '
|
|
||||||
'.$r['um'];
|
|
||||||
}
|
|
||||||
echo '
|
echo '
|
||||||
|
'.$r['um'];
|
||||||
|
}
|
||||||
|
echo '
|
||||||
</td>';
|
</td>';
|
||||||
|
|
||||||
// costo unitario
|
// Costo unitario
|
||||||
echo '
|
echo '
|
||||||
<td class="text-right">';
|
<td class="text-right">';
|
||||||
if (empty($r['is_descrizione'])) {
|
if (empty($r['is_descrizione'])) {
|
||||||
echo '
|
echo '
|
||||||
'.Translator::numberToLocale($r['subtotale'] / $r['qta']).' €';
|
'.Translator::numberToLocale($r['subtotale'] / $r['qta']).' €';
|
||||||
|
|
||||||
if ($r['sconto_unitario'] > 0) {
|
if ($r['sconto_unitario'] > 0) {
|
||||||
echo '
|
echo '
|
||||||
<br><small class="label label-danger">'.tr('sconto _TOT_ _TYPE_', [
|
<br><small class="label label-danger">'.tr('sconto _TOT_ _TYPE_', [
|
||||||
'_TOT_' => Translator::numberToLocale($r['sconto_unitario']),
|
'_TOT_' => Translator::numberToLocale($r['sconto_unitario']),
|
||||||
'_TYPE_' => ($r['tipo_sconto'] == 'PRC' ? '%' : '€'),
|
'_TYPE_' => ($r['tipo_sconto'] == 'PRC' ? '%' : '€'),
|
||||||
]).'</small>';
|
]).'</small>';
|
||||||
}
|
|
||||||
}
|
}
|
||||||
echo'
|
}
|
||||||
|
echo'
|
||||||
</td>';
|
</td>';
|
||||||
|
|
||||||
// iva
|
// IVA
|
||||||
echo '
|
echo '
|
||||||
<td class="text-right">';
|
<td class="text-right">';
|
||||||
if (empty($r['is_descrizione'])) {
|
if (empty($r['is_descrizione'])) {
|
||||||
echo '
|
echo '
|
||||||
'.Translator::numberToLocale($r['iva'])." €<br>
|
'.Translator::numberToLocale($r['iva'])." €<br>
|
||||||
<small class='help-block'>".$r['desc_iva'].'</small>';
|
<small class='help-block'>".$r['desc_iva'].'</small>';
|
||||||
}
|
}
|
||||||
echo '
|
echo '
|
||||||
</td>';
|
</td>';
|
||||||
|
|
||||||
// Imponibile
|
// Imponibile
|
||||||
echo '
|
echo '
|
||||||
<td class="text-right">';
|
<td class="text-right">';
|
||||||
if (empty($r['is_descrizione'])) {
|
if (empty($r['is_descrizione'])) {
|
||||||
echo '
|
|
||||||
'.Translator::numberToLocale($r['subtotale'] - $r['sconto']).' €';
|
|
||||||
}
|
|
||||||
echo '
|
echo '
|
||||||
|
'.Translator::numberToLocale($r['subtotale'] - $r['sconto']).' €';
|
||||||
|
}
|
||||||
|
echo '
|
||||||
</td>';
|
</td>';
|
||||||
|
|
||||||
// Possibilità di rimuovere una riga solo se il preventivo non è stato pagato
|
// Possibilità di rimuovere una riga solo se il preventivo non è stato pagato
|
||||||
echo '
|
echo '
|
||||||
<td class="text-center">';
|
<td class="text-center">';
|
||||||
|
|
||||||
if ($records[0]['stato'] != 'Pagato' && empty($r['sconto_globale'])) {
|
if ($records[0]['stato'] != 'Pagato' && empty($r['sconto_globale'])) {
|
||||||
echo '
|
echo '
|
||||||
<form action="'.$rootdir.'/editor.php?id_module='.Modules::get('Contratti')['id'].'&id_record='.$id_record.'" method="post" id="delete-form-'.$r['id'].'" role="form">
|
<form action="'.$rootdir.'/editor.php?id_module='.Modules::get('Contratti')['id'].'&id_record='.$id_record.'" method="post" id="delete-form-'.$r['id'].'" role="form">
|
||||||
<input type="hidden" name="backto" value="record-edit">
|
<input type="hidden" name="backto" value="record-edit">
|
||||||
<input type="hidden" name="id_record" value="'.$id_record.'">
|
<input type="hidden" name="id_record" value="'.$id_record.'">
|
||||||
@@ -112,43 +110,39 @@ if (!empty($rs)) {
|
|||||||
|
|
||||||
<div class="btn-group">';
|
<div class="btn-group">';
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
<a class='btn btn-xs btn-warning' onclick=\"launch_modal('Modifica riga', '".$rootdir.'/modules/contratti/row-edit.php?id_module='.$id_module.'&id_record='.$id_record.'&idriga='.$r['id']."', 1 );\"><i class='fa fa-edit'></i></a>
|
<a class='btn btn-xs btn-warning' onclick=\"launch_modal('Modifica riga', '".$rootdir.'/modules/contratti/row-edit.php?id_module='.$id_module.'&id_record='.$id_record.'&idriga='.$r['id']."', 1 );\"><i class='fa fa-edit'></i></a>
|
||||||
|
|
||||||
<a href='javascript:;' class='btn btn-xs btn-danger' title='Rimuovi questa riga' onclick=\"if( confirm('Rimuovere questa riga dal contratto?') ){ $('#delete-form-".$r['id']."').submit(); }\"><i class='fa fa-trash'></i></a>";
|
<a href='javascript:;' class='btn btn-xs btn-danger' title='Rimuovi questa riga' onclick=\"if( confirm('Rimuovere questa riga dal contratto?') ){ $('#delete-form-".$r['id']."').submit(); }\"><i class='fa fa-trash'></i></a>";
|
||||||
echo '
|
echo '
|
||||||
</div>
|
</div>
|
||||||
</form>';
|
</form>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($r['sconto_globale'])) {
|
if (empty($r['sconto_globale'])) {
|
||||||
echo '
|
echo '
|
||||||
<div class="handle clickable" style="padding:10px">
|
<div class="handle clickable" style="padding:10px">
|
||||||
<i class="fa fa-sort"></i>
|
<i class="fa fa-sort"></i>
|
||||||
</div>';
|
</div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
</td>
|
</td>
|
||||||
</tr>';
|
</tr>';
|
||||||
|
|
||||||
|
|
||||||
// Calcoli
|
|
||||||
$imponibile = sum(array_column($rs, 'subtotale'));
|
|
||||||
$sconto = sum(array_column($rs, 'sconto'));
|
|
||||||
$iva = sum(array_column($rs, 'iva'));
|
|
||||||
|
|
||||||
$imponibile_scontato = sum($imponibile, -$sconto);
|
|
||||||
|
|
||||||
$totale = sum([
|
|
||||||
$imponibile_scontato,
|
|
||||||
$iva,
|
|
||||||
]);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Calcoli
|
||||||
|
$imponibile = sum(array_column($rs, 'subtotale'));
|
||||||
|
$sconto = sum(array_column($rs, 'sconto'));
|
||||||
|
$iva = sum(array_column($rs, 'iva'));
|
||||||
|
|
||||||
|
$imponibile_scontato = sum($imponibile, -$sconto);
|
||||||
|
|
||||||
|
$totale = sum([
|
||||||
|
$imponibile_scontato,
|
||||||
|
$iva,
|
||||||
|
]);
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
</tbody>';
|
</tbody>';
|
||||||
|
|
||||||
|
@@ -10,6 +10,13 @@ unset($_SESSION['superselect']['idsede']);
|
|||||||
$idanagrafica = filter('idanagrafica');
|
$idanagrafica = filter('idanagrafica');
|
||||||
$idsede = filter('idsede');
|
$idsede = filter('idsede');
|
||||||
|
|
||||||
|
$idimpianto = null;
|
||||||
|
$idzona = null;
|
||||||
|
$idtipointervento = null;
|
||||||
|
$idstatointervento = null;
|
||||||
|
$idtecnico = null;
|
||||||
|
$richiesta = null;
|
||||||
|
|
||||||
$impianti = [];
|
$impianti = [];
|
||||||
|
|
||||||
if (!empty($idanagrafica)) {
|
if (!empty($idanagrafica)) {
|
||||||
@@ -39,8 +46,6 @@ if (!empty($idcontratto) && !empty($idordineservizio)) {
|
|||||||
$idanagrafica = $rs[0]['idanagrafica'];
|
$idanagrafica = $rs[0]['idanagrafica'];
|
||||||
$idzona = $rs[0]['idzona'];
|
$idzona = $rs[0]['idzona'];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Info riga pianificata
|
// Info riga pianificata
|
||||||
$rs = $dbo->fetchArray('SELECT * FROM co_ordiniservizio WHERE idcontratto='.prepare($idcontratto).' AND id='.prepare($idordineservizio));
|
$rs = $dbo->fetchArray('SELECT * FROM co_ordiniservizio WHERE idcontratto='.prepare($idcontratto).' AND id='.prepare($idordineservizio));
|
||||||
$data = $rs[0]['data_scadenza'];
|
$data = $rs[0]['data_scadenza'];
|
||||||
@@ -61,10 +66,10 @@ elseif (!empty($idcontratto) && !empty($idcontratto_riga)) {
|
|||||||
$idanagrafica = $rs[0]['idanagrafica'];
|
$idanagrafica = $rs[0]['idanagrafica'];
|
||||||
$idzona = $rs[0]['idzona'];
|
$idzona = $rs[0]['idzona'];
|
||||||
|
|
||||||
//aumento orario inizio del tempo standard definito dalla tipologia dell'intervento (PRESO DAL CONTRATTO)
|
// aumento orario inizio del tempo standard definito dalla tipologia dell'intervento (PRESO DAL CONTRATTO)
|
||||||
if (!empty($rs[0]['tempo_standard']))
|
if (!empty($rs[0]['tempo_standard'])) {
|
||||||
$orario_fine = date('H:i', strtotime($orario_inizio) + ((60 * 60 ) * $rs[0]['tempo_standard']));
|
$orario_fine = date('H:i', strtotime($orario_inizio) + ((60 * 60) * $rs[0]['tempo_standard']));
|
||||||
|
}
|
||||||
|
|
||||||
// Info riga pianificata
|
// Info riga pianificata
|
||||||
$rs = $dbo->fetchArray('SELECT *, (SELECT tempo_standard FROM in_tipiintervento WHERE idtipointervento = co_righe_contratti.idtipointervento) AS tempo_standard FROM co_righe_contratti WHERE idcontratto='.prepare($idcontratto).' AND id='.prepare($idcontratto_riga));
|
$rs = $dbo->fetchArray('SELECT *, (SELECT tempo_standard FROM in_tipiintervento WHERE idtipointervento = co_righe_contratti.idtipointervento) AS tempo_standard FROM co_righe_contratti WHERE idcontratto='.prepare($idcontratto).' AND id='.prepare($idcontratto_riga));
|
||||||
@@ -72,20 +77,20 @@ elseif (!empty($idcontratto) && !empty($idcontratto_riga)) {
|
|||||||
$data = (null !== filter('data')) ? filter('data') : $rs[0]['data_richiesta'];
|
$data = (null !== filter('data')) ? filter('data') : $rs[0]['data_richiesta'];
|
||||||
$richiesta = $rs[0]['richiesta'];
|
$richiesta = $rs[0]['richiesta'];
|
||||||
$idsede = $rs[0]['idsede'];
|
$idsede = $rs[0]['idsede'];
|
||||||
$idimpianti = $rs[0]['idimpianti'];
|
$idimpianti = $rs[0]['idimpianti'];
|
||||||
|
|
||||||
//aumento orario inizio del tempo standard definito dalla tipologia dell'intervento (PRESO DAL PROMEMORIA)
|
// aumento orario inizio del tempo standard definito dalla tipologia dell'intervento (PRESO DAL PROMEMORIA)
|
||||||
if (!empty($rs[0]['tempo_standard']))
|
if (!empty($rs[0]['tempo_standard'])) {
|
||||||
$orario_fine = date('H:i', strtotime($orario_inizio) + ((60 * 60 ) * $rs[0]['tempo_standard']));
|
$orario_fine = date('H:i', strtotime($orario_inizio) + ((60 * 60) * $rs[0]['tempo_standard']));
|
||||||
|
}
|
||||||
|
|
||||||
|
// se gli impianti non sono stati definiti nel promemoria, carico tutti gli impianti a contratto
|
||||||
//se gli impianti non sono stati definiti nel promemoria, carico tutti gli impianti a contratto
|
if (empty($idimpianti)) {
|
||||||
if (empty($idimpianti)){
|
$rs = $dbo->fetchArray('SELECT idimpianto FROM my_impianti_contratti WHERE idcontratto='.prepare($idcontratto));
|
||||||
$rs = $dbo->fetchArray('SELECT idimpianto FROM my_impianti_contratti WHERE idcontratto='.prepare($idcontratto));
|
$idimpianto = implode(',', array_column($rs, 'idimpianto'));
|
||||||
$idimpianto = implode(',', array_column($rs, 'idimpianto'));
|
} else {
|
||||||
}else{
|
$idimpianto = $idimpianti;
|
||||||
$idimpianto = $idimpianti;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Seleziono "In programmazione" come stato
|
// Seleziono "In programmazione" come stato
|
||||||
$rs = $dbo->fetchArray("SELECT * FROM in_statiintervento WHERE idstatointervento='WIP'");
|
$rs = $dbo->fetchArray("SELECT * FROM in_statiintervento WHERE idstatointervento='WIP'");
|
||||||
@@ -119,7 +124,7 @@ if (empty($new_codice)) {
|
|||||||
|
|
||||||
<form action="" method="post" id="add-form" id="add-form" onsubmit="if($(this).parsley().validate()) { return add_intervento(); }">
|
<form action="" method="post" id="add-form" id="add-form" onsubmit="if($(this).parsley().validate()) { return add_intervento(); }">
|
||||||
<input type="hidden" name="op" value="add">
|
<input type="hidden" name="op" value="add">
|
||||||
<input type="hidden" name="ref" value="<?php echo $_GET['ref']; ?>">
|
<input type="hidden" name="ref" value="<?php echo get('ref'); ?>">
|
||||||
<input type="hidden" name="backto" value="record-edit">
|
<input type="hidden" name="backto" value="record-edit">
|
||||||
|
|
||||||
<!-- DATI CLIENTE -->
|
<!-- DATI CLIENTE -->
|
||||||
@@ -148,7 +153,7 @@ if (empty($new_codice)) {
|
|||||||
<!-- RIGA 2 -->
|
<!-- RIGA 2 -->
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
{[ "type": "select", "label": "<?php echo tr('Preventivo'); ?>", "name": "idpreventivo", "value": "<?php echo $idpreventivo; ?>", "placeholder": "<?php echo tr('Seleziona prima un cliente'); ?>...", "ajax-source": "preventivi" ]}
|
{[ "type": "select", "label": "<?php echo tr('Preventivo'); ?>", "name": "idpreventivo", "placeholder": "<?php echo tr('Seleziona prima un cliente'); ?>...", "ajax-source": "preventivi" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
@@ -162,7 +167,7 @@ if (empty($new_codice)) {
|
|||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
{[ "type": "select", "label": "<?php echo tr('Componenti'); ?>", "multiple": 1, "name": "componenti[]", "value": "<?php echo $componenti; ?>", "placeholder": "<?php echo tr('Seleziona prima un impianto'); ?>...", "ajax-source": "componenti" ]}
|
{[ "type": "select", "label": "<?php echo tr('Componenti'); ?>", "multiple": 1, "name": "componenti[]", "placeholder": "<?php echo tr('Seleziona prima un impianto'); ?>...", "ajax-source": "componenti" ]}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -186,11 +191,11 @@ if (empty($new_codice)) {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
{[ "type": "date", "label": "<?php echo tr('Data intervento'); ?>", "name": "data", "required": <?php echo ($get['ref']) ? 1 : 0; ?>, "value": "<?php echo $data; ?>" ]}
|
{[ "type": "date", "label": "<?php echo tr('Data intervento'); ?>", "name": "data", "required": <?php echo get('ref') ? 1 : 0; ?>, "value": "<?php echo $data; ?>" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
{[ "type": "select", "label": "<?php echo tr('Zona'); ?>", "name": "idzona", "values": "query=SELECT id, CONCAT_WS( ' - ', nome, descrizione) AS descrizione FROM an_zone ORDER BY nome", "value": "<?php echo $idzona; ?>", "placeholder": "<?php echo tr('Nessuna zona'); ?>", "help":"<?php echo 'La zona viene definita automaticamente in base al cliente selezionato' ?>.", "extra": "readonly" ]}
|
{[ "type": "select", "label": "<?php echo tr('Zona'); ?>", "name": "idzona", "values": "query=SELECT id, CONCAT_WS( ' - ', nome, descrizione) AS descrizione FROM an_zone ORDER BY nome", "value": "<?php echo $idzona; ?>", "placeholder": "<?php echo tr('Nessuna zona'); ?>", "help":"<?php echo 'La zona viene definita automaticamente in base al cliente selezionato'; ?>.", "extra": "readonly" ]}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -205,18 +210,18 @@ if (empty($new_codice)) {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">
|
||||||
{[ "type": "time", "label": "<?php echo tr('Orario inizio'); ?>", "name": "orario_inizio", "required": <?php echo ($get['ref']) ? 1 : 0; ?>, "value": "<?php echo $orario_inizio; ?>" ]}
|
{[ "type": "time", "label": "<?php echo tr('Orario inizio'); ?>", "name": "orario_inizio", "required": <?php echo get('ref') ? 1 : 0; ?>, "value": "<?php echo $orario_inizio; ?>" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">
|
||||||
{[ "type": "time", "label": "<?php echo tr('Orario fine'); ?>", "name": "orario_fine", "required": <?php echo ($get['ref']) ? 1 : 0; ?>, "value": "<?php echo $orario_fine; ?>" ]}
|
{[ "type": "time", "label": "<?php echo tr('Orario fine'); ?>", "name": "orario_fine", "required": <?php echo get('ref') ? 1 : 0; ?>, "value": "<?php echo $orario_fine; ?>" ]}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- RIGA 5 -->
|
<!-- RIGA 5 -->
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
{[ "type": "select", "label": "<?php echo tr('Tecnici'); ?>", "multiple": "1", "name": "idtecnico[]", "required": <?php echo ($get['ref']) ? 1 : 0; ?>, "ajax-source": "tecnici", "value": "<?php echo $idtecnico; ?>" ]}
|
{[ "type": "select", "label": "<?php echo tr('Tecnici'); ?>", "multiple": "1", "name": "idtecnico[]", "required": <?php echo get('ref') ? 1 : 0; ?>, "ajax-source": "tecnici", "value": "<?php echo $idtecnico; ?>" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
@@ -306,7 +311,7 @@ if (empty($new_codice)) {
|
|||||||
}else{
|
}else{
|
||||||
$('#idzona').val('').change();
|
$('#idzona').val('').change();
|
||||||
}
|
}
|
||||||
//session_set('superselect,idzona', $(this).selectData().idzona, 0);
|
// session_set('superselect,idzona', $(this).selectData().idzona, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -323,7 +328,7 @@ if (empty($new_codice)) {
|
|||||||
}else{
|
}else{
|
||||||
$('#idzona').val('').change();
|
$('#idzona').val('').change();
|
||||||
}
|
}
|
||||||
//session_set('superselect,idzona', $(this).selectData().idzona, 0);
|
// session_set('superselect,idzona', $(this).selectData().idzona, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
@@ -355,9 +360,9 @@ if (empty($new_codice)) {
|
|||||||
|
|
||||||
$('#idtipointervento').change( function(){
|
$('#idtipointervento').change( function(){
|
||||||
|
|
||||||
if ( (($(this).selectData().tempo_standard)>0) && ('<?php echo filter('orario_fine') ?>' == '')){
|
if ( (($(this).selectData().tempo_standard)>0) && ('<?php echo filter('orario_fine'); ?>' == '')){
|
||||||
//data = moment('<?php echo $data.' '.$orario_inizio ?>').format('YYYY-MM-DD HH:mm
|
// data = moment('<?php echo $data.' '.$orario_inizio; ?>').format('YYYY-MM-DD HH:mm
|
||||||
data = moment( moment().format('YYYY-MM-DD') + '<?php echo ' '.$orario_inizio ?>').format('YYYY-MM-DD HH:mm');
|
data = moment( moment().format('YYYY-MM-DD') + '<?php echo ' '.$orario_inizio; ?>').format('YYYY-MM-DD HH:mm');
|
||||||
tempo_standard = $(this).selectData().tempo_standard;
|
tempo_standard = $(this).selectData().tempo_standard;
|
||||||
orario_fine = moment(data).add(tempo_standard, 'hours').format("HH:mm");
|
orario_fine = moment(data).add(tempo_standard, 'hours').format("HH:mm");
|
||||||
$('input[name=orario_fine]').val(orario_fine);
|
$('input[name=orario_fine]').val(orario_fine);
|
||||||
@@ -366,15 +371,17 @@ if (empty($new_codice)) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
$('#idtecnico').change( function(){
|
$('#idtecnico').change( function(){
|
||||||
<?php if (!$get['ref']){ ?>
|
<?php if (!get('ref')) {
|
||||||
|
?>
|
||||||
var value = ($(this).val()>0) ? true : false;
|
var value = ($(this).val()>0) ? true : false;
|
||||||
$('#orario_inizio').prop("required", value);
|
$('#orario_inizio').prop("required", value);
|
||||||
$('#orario_fine').prop("required", value);
|
$('#orario_fine').prop("required", value);
|
||||||
$('#data').prop("required", value);
|
$('#data').prop("required", value);
|
||||||
<?php } ?>
|
<?php
|
||||||
|
} ?>
|
||||||
});
|
});
|
||||||
|
|
||||||
var ref = "<?php echo $get['ref']; ?>";
|
var ref = "<?php echo get('ref'); ?>";
|
||||||
|
|
||||||
function add_intervento(){
|
function add_intervento(){
|
||||||
// Se l'aggiunta intervento proviene dal calendario, faccio il submit via ajax e ricarico gli eventi...
|
// Se l'aggiunta intervento proviene dal calendario, faccio il submit via ajax e ricarico gli eventi...
|
||||||
|
@@ -32,7 +32,6 @@ switch (post('op')) {
|
|||||||
if ($dbo->query($query)) {
|
if ($dbo->query($query)) {
|
||||||
$id_record = $dbo->lastInsertedID();
|
$id_record = $dbo->lastInsertedID();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
include_once __DIR__.'/../../core.php';
|
include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
?><form action="<?php echo ROOTDIR ?>/editor.php?id_module=<?php echo Modules::get('Modelli prima nota')['id']; ?>" method="post" id="add-form">
|
?><form action="" method="post" id="add-form">
|
||||||
<input type="hidden" name="op" value="add">
|
<input type="hidden" name="op" value="add">
|
||||||
<input type="hidden" name="backto" value="record-edit">
|
<input type="hidden" name="backto" value="record-edit">
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
{[ "type": "text", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1, "value": "<?php echo $descrizione; ?>" ]}
|
{[ "type": "text", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1 ]}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -27,22 +27,14 @@ include_once __DIR__.'/../../core.php';
|
|||||||
</tr>';
|
</tr>';
|
||||||
|
|
||||||
for ($i = 0; $i < 10; ++$i) {
|
for ($i = 0; $i < 10; ++$i) {
|
||||||
|
$required = ($i <= 1) ? 1 : 0;
|
||||||
|
|
||||||
($i<=1) ? $required = 1 : $required = 0;
|
// Conto
|
||||||
// Conto
|
|
||||||
echo '
|
echo '
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
{[ "type": "select", "name": "idconto['.$i.']", "value": "';
|
{[ "type": "select", "name": "idconto['.$i.']", "ajax-source": "conti", "required": "'.$required.'" ]}
|
||||||
if ($i == 0) {
|
</td>
|
||||||
echo $idconto_controparte;
|
|
||||||
} elseif ($i == 1) {
|
|
||||||
echo $idconto_aziendale;
|
|
||||||
}
|
|
||||||
echo '", "ajax-source": "conti", "required": "'.$required.'" ]}
|
|
||||||
</td>';
|
|
||||||
|
|
||||||
echo '
|
|
||||||
</tr>';
|
</tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,21 +48,5 @@ include_once __DIR__.'/../../core.php';
|
|||||||
<button type="submit" class="btn btn-primary"><i class="fa fa-plus"></i> <?php echo tr('Aggiungi'); ?></button>
|
<button type="submit" class="btn btn-primary"><i class="fa fa-plus"></i> <?php echo tr('Aggiungi'); ?></button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(document).ready( function(){
|
|
||||||
$('select').on('change', function(){
|
|
||||||
if($(this).parent().parent().find('input[disabled]').length != 1){
|
|
||||||
if($(this).val()) {
|
|
||||||
$(this).parent().parent().find('input').prop("disabled", false);
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
$(this).parent().parent().find('input').prop("disabled", true);
|
|
||||||
$(this).parent().parent().find('input').val("");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
@@ -16,59 +16,50 @@ include_once __DIR__.'/../../core.php';
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
|
||||||
<?php
|
$conti3 = []; // contenitore conti di terzo livello
|
||||||
$conti3 = []; // contenitore conti di terzo livello
|
$idmastrino = $records[0]['idmastrino'];
|
||||||
$idmastrino = $records[0]['idmastrino'];
|
|
||||||
|
|
||||||
// Salvo l'elenco conti in un array (per non fare il ciclo ad ogni riga)
|
// Salvo l'elenco conti in un array (per non fare il ciclo ad ogni riga)
|
||||||
$query2 = 'SELECT * FROM co_pianodeiconti2';
|
$query2 = 'SELECT * FROM co_pianodeiconti2';
|
||||||
$conti2 = $dbo->fetchArray($query2);
|
$conti2 = $dbo->fetchArray($query2);
|
||||||
for ($x = 0; $x < sizeof($conti2); ++$x) {
|
for ($x = 0; $x < sizeof($conti2); ++$x) {
|
||||||
$query3 = 'SELECT * FROM co_pianodeiconti3 WHERE idpianodeiconti2='.prepare($conti2[$x]['id']);
|
$query3 = 'SELECT * FROM co_pianodeiconti3 WHERE idpianodeiconti2='.prepare($conti2[$x]['id']);
|
||||||
$rs3 = $dbo->fetchArray($query3);
|
$rs3 = $dbo->fetchArray($query3);
|
||||||
for ($y = 0; $y < sizeof($rs3); ++$y) {
|
for ($y = 0; $y < sizeof($rs3); ++$y) {
|
||||||
// Creo un array con le descrizioni dei conti di livello 3 che ha come indice l'id del livello2 e del livello3
|
// Creo un array con le descrizioni dei conti di livello 3 che ha come indice l'id del livello2 e del livello3
|
||||||
$conti3[$rs3[$y]['idpianodeiconti2']][$y]['id'] = $rs3[$y]['id'];
|
$conti3[$rs3[$y]['idpianodeiconti2']][$y]['id'] = $rs3[$y]['id'];
|
||||||
$conti3[$rs3[$y]['idpianodeiconti2']][$y]['descrizione'] = $conti2[$x]['numero'].'.'.$rs3[$y]['numero'].' '.$rs3[$y]['descrizione'];
|
$conti3[$rs3[$y]['idpianodeiconti2']][$y]['descrizione'] = $conti2[$x]['numero'].'.'.$rs3[$y]['numero'].' '.$rs3[$y]['descrizione'];
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Form di modifica riga movimento
|
Form di modifica riga movimento
|
||||||
*/
|
*/
|
||||||
// Lettura movimenti del mastrino selezionato
|
echo '
|
||||||
$query = 'SELECT * FROM co_movimenti_modelli WHERE idmastrino='.prepare($records[0]['idmastrino']);
|
|
||||||
$rs = $dbo->fetchArray($query);
|
|
||||||
$n = sizeof($rs);
|
|
||||||
|
|
||||||
echo '
|
|
||||||
<table class="table table-striped table-condensed table-hover table-bordered"
|
<table class="table table-striped table-condensed table-hover table-bordered"
|
||||||
<tr>
|
<tr>
|
||||||
<th>'.tr('Conto').'</th>
|
<th>'.tr('Conto').'</th>
|
||||||
</tr>';
|
</tr>';
|
||||||
|
|
||||||
for ($i = 0; $i < 10; ++$i) {
|
// Lettura movimenti del mastrino selezionato
|
||||||
|
$rs = $dbo->fetchArray('SELECT * FROM co_movimenti_modelli WHERE idmastrino='.prepare($records[0]['idmastrino']));
|
||||||
|
for ($i = 0; $i < 10; ++$i) {
|
||||||
|
$required = ($i <= 1) ? 1 : 0;
|
||||||
|
|
||||||
($i<=1) ? $required = 1 : $required = 0;
|
// Conto
|
||||||
|
echo '
|
||||||
// Conto
|
|
||||||
echo '
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
{[ "type": "select", "name": "idconto['.$i.']", "value": "'.$rs[$i]['idconto'].'", "ajax-source": "conti", "required": "'.$required.'" ]}
|
{[ "type": "select", "name": "idconto['.$i.']", "value": "'.$rs[$i]['idconto'].'", "ajax-source": "conti", "required": "'.$required.'" ]}
|
||||||
</td>';
|
</td>
|
||||||
|
|
||||||
echo '
|
|
||||||
</tr>';
|
</tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Totale per controllare sbilancio
|
echo '
|
||||||
|
|
||||||
// Verifica sbilancio
|
|
||||||
echo '
|
|
||||||
</table>';
|
</table>';
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
@@ -2,15 +2,17 @@
|
|||||||
|
|
||||||
include_once __DIR__.'/../../core.php';
|
include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
if (get('source') == 'Attività') {
|
$source = get('source');
|
||||||
|
$idanagrafica = null;
|
||||||
|
|
||||||
|
if ($source == 'Attività') {
|
||||||
$idanagrafica = $_SESSION['superselect']['idanagrafica'];
|
$idanagrafica = $_SESSION['superselect']['idanagrafica'];
|
||||||
$source = get('source');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?><form action="" method="post" id="add-form">
|
?><form action="" method="post" id="add-form">
|
||||||
<input type="hidden" name="op" value="add">
|
<input type="hidden" name="op" value="add">
|
||||||
<input type="hidden" name="backto" value="record-edit">
|
<input type="hidden" name="backto" value="record-edit">
|
||||||
<input type="hidden" name="source" value="<?=$source?>">
|
<input type="hidden" name="source" value="<?php echo $source; ?>">
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
@@ -22,7 +24,7 @@ if (get('source') == 'Attività') {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
{[ "type": "select", "label": "<?php echo tr('Cliente'); ?>", "name": "idanagrafica", "required": 1, "values": "query=SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale AS descrizione FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE descrizione='Cliente' AND deleted=0 ORDER BY ragione_sociale", "value": "<?=$idanagrafica?>", "ajax-source": "clienti" ]}
|
{[ "type": "select", "label": "<?php echo tr('Cliente'); ?>", "name": "idanagrafica", "required": 1, "values": "query=SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale AS descrizione FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE descrizione='Cliente' AND deleted=0 ORDER BY ragione_sociale", "value": "<?php echo $idanagrafica; ?>", "ajax-source": "clienti" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
|
@@ -79,7 +79,7 @@ switch (filter('op')) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Componenti non ancora collegati
|
// Componenti non ancora collegati
|
||||||
if ($id_list == '') {
|
if (empty($id_list)) {
|
||||||
$id_list = '0';
|
$id_list = '0';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -27,7 +27,7 @@ if ($module['name'] == 'Ordini cliente') {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
{[ "type": "select", "label": "<?php echo $tipo_anagrafica; ?>", "name": "idanagrafica", "required": 1, "value": "", "value": "<?php echo $idanagrafica; ?>", "ajax-source": "<?php echo $ajax; ?>" ]}
|
{[ "type": "select", "label": "<?php echo $tipo_anagrafica; ?>", "name": "idanagrafica", "required": 1, "value": "", "value": "<?php echo $user['idanagrafica']; ?>", "ajax-source": "<?php echo $ajax; ?>" ]}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@@ -6,10 +6,10 @@ switch ($resource) {
|
|||||||
case 'conti':
|
case 'conti':
|
||||||
$query = 'SELECT co_pianodeiconti2.* FROM co_pianodeiconti2 LEFT JOIN co_pianodeiconti3 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id |where| GROUP BY co_pianodeiconti2.id';
|
$query = 'SELECT co_pianodeiconti2.* FROM co_pianodeiconti2 LEFT JOIN co_pianodeiconti3 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id |where| GROUP BY co_pianodeiconti2.id';
|
||||||
|
|
||||||
if($search!=''){
|
if ($search != '') {
|
||||||
$wh = "WHERE (co_pianodeiconti3.descrizione LIKE ".prepare('%'.$search.'%')." OR CONCAT( co_pianodeiconti2.numero, '.', co_pianodeiconti3.numero ) LIKE ".prepare("%".$search."%").")";
|
$wh = 'WHERE (co_pianodeiconti3.descrizione LIKE '.prepare('%'.$search.'%')." OR CONCAT( co_pianodeiconti2.numero, '.', co_pianodeiconti3.numero ) LIKE ".prepare('%'.$search.'%').')';
|
||||||
}else{
|
} else {
|
||||||
$wh = "";
|
$wh = '';
|
||||||
}
|
}
|
||||||
$query = str_replace('|where|', $wh, $query);
|
$query = str_replace('|where|', $wh, $query);
|
||||||
|
|
||||||
@@ -24,7 +24,7 @@ switch ($resource) {
|
|||||||
$search_fields = [];
|
$search_fields = [];
|
||||||
|
|
||||||
foreach ($elements as $element) {
|
foreach ($elements as $element) {
|
||||||
$filter[] = 'id='.prepare($element);
|
$filter[] = 'co_pianodeiconti3.id='.prepare($element);
|
||||||
}
|
}
|
||||||
if (!empty($filter)) {
|
if (!empty($filter)) {
|
||||||
$where[] = '('.implode(' OR ', $filter).')';
|
$where[] = '('.implode(' OR ', $filter).')';
|
||||||
@@ -33,7 +33,7 @@ switch ($resource) {
|
|||||||
$where[] = 'idpianodeiconti2='.prepare($r['id']);
|
$where[] = 'idpianodeiconti2='.prepare($r['id']);
|
||||||
|
|
||||||
if (!empty($search)) {
|
if (!empty($search)) {
|
||||||
$search_fields[] = "(co_pianodeiconti3.descrizione LIKE ".prepare('%'.$search.'%')." OR CONCAT( co_pianodeiconti2.numero, '.', co_pianodeiconti3.numero ) LIKE ".prepare("%".$search."%").")";
|
$search_fields[] = '(co_pianodeiconti3.descrizione LIKE '.prepare('%'.$search.'%')." OR CONCAT( co_pianodeiconti2.numero, '.', co_pianodeiconti3.numero ) LIKE ".prepare('%'.$search.'%').')';
|
||||||
}
|
}
|
||||||
if (!empty($search_fields)) {
|
if (!empty($search_fields)) {
|
||||||
$where[] = '('.implode(' OR ', $search_fields).')';
|
$where[] = '('.implode(' OR ', $search_fields).')';
|
||||||
@@ -47,7 +47,7 @@ switch ($resource) {
|
|||||||
|
|
||||||
$rs2 = $dbo->fetchArray($subquery);
|
$rs2 = $dbo->fetchArray($subquery);
|
||||||
foreach ($rs2 as $r2) {
|
foreach ($rs2 as $r2) {
|
||||||
$results[count($results) - 1]['children'][] = ['id' => $r2['id'], 'text' => $r['numero'].".".$r2['numero']." ".$r2['descrizione']];
|
$results[count($results) - 1]['children'][] = ['id' => $r2['id'], 'text' => $r['numero'].'.'.$r2['numero'].' '.$r2['descrizione']];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -11,14 +11,15 @@ include_once __DIR__.'/../../core.php';
|
|||||||
{[ "type": "text", "label": "<?php echo tr('Nome preventivo'); ?>", "name": "nome", "required": 1, "value": "" ]}
|
{[ "type": "text", "label": "<?php echo tr('Nome preventivo'); ?>", "name": "nome", "required": 1, "value": "" ]}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
{[ "type": "select", "label": "<?php echo tr('Cliente'); ?>", "name": "idanagrafica", "required": 1, "values": "query=SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale AS descrizione, idtipointervento_default FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE (descrizione='Cliente') AND deleted=0 ORDER BY ragione_sociale", "value": "", "value": "<?php echo $idanagrafica; ?>", "ajax-source": "clienti", "icon-after": "add|<?php echo Modules::get('Anagrafiche')['id']; ?>|tipoanagrafica=Cliente" ]}
|
{[ "type": "select", "label": "<?php echo tr('Cliente'); ?>", "name": "idanagrafica", "required": 1, "values": "query=SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale AS descrizione, idtipointervento_default FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE (descrizione='Cliente') AND deleted=0 ORDER BY ragione_sociale", "value": "", "value": "<?php echo $user['idanagrafica']; ?>", "ajax-source": "clienti", "icon-after": "add|<?php echo Modules::get('Anagrafiche')['id']; ?>|tipoanagrafica=Cliente" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
{[ "type": "select", "label": "<?php echo tr('Tipo di Attività'); ?>", "name": "idtipointervento", "required": 1, "values": "query=SELECT idtipointervento AS id, descrizione FROM in_tipiintervento", "value": "<?php echo $idtipointervento; ?>" ]}
|
{[ "type": "select", "label": "<?php echo tr('Tipo di Attività'); ?>", "name": "idtipointervento", "required": 1, "values": "query=SELECT idtipointervento AS id, descrizione FROM in_tipiintervento" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@@ -104,7 +104,7 @@ function get_imponibile_preventivo($idpreventivo)
|
|||||||
$query = 'SELECT SUM(co_righe_preventivi.subtotale - co_righe_preventivi.sconto) AS imponibile FROM co_righe_preventivi GROUP BY idpreventivo HAVING idpreventivo='.prepare($idpreventivo);
|
$query = 'SELECT SUM(co_righe_preventivi.subtotale - co_righe_preventivi.sconto) AS imponibile FROM co_righe_preventivi GROUP BY idpreventivo HAVING idpreventivo='.prepare($idpreventivo);
|
||||||
$rs = $dbo->fetchArray($query);
|
$rs = $dbo->fetchArray($query);
|
||||||
|
|
||||||
return $rs[0]['imponibile'];
|
return isset($rs[0]['imponibile']) ? $rs[0]['imponibile'] : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -299,10 +299,8 @@ echo '
|
|||||||
'.Prints::getLink('Consuntivo preventivo', $id_record, 'btn-primary', tr('Stampa consuntivo')).'
|
'.Prints::getLink('Consuntivo preventivo', $id_record, 'btn-primary', tr('Stampa consuntivo')).'
|
||||||
</div>';
|
</div>';
|
||||||
|
|
||||||
/*
|
// Aggiunta interventi se il preventivo é aperto o in attesa o pagato (non si possono inserire interventi collegati ad altri preventivi)
|
||||||
Aggiunta interventi se il preventivo é aperto o in attesa o pagato (non si possono inserire interventi collegati ad altri preventivi)
|
if (in_array($records[0]['stato'], ['Accettato', 'In lavorazione', 'Pagato'])) {
|
||||||
*/
|
|
||||||
if ($stato == 'Accettato' || $stato == 'In lavorazione' || $stato = 'Pagato') {
|
|
||||||
echo '
|
echo '
|
||||||
<form action="" method="post">
|
<form action="" method="post">
|
||||||
<input type="hidden" name="op" value="addintervento">
|
<input type="hidden" name="op" value="addintervento">
|
||||||
|
@@ -24,87 +24,86 @@ echo '
|
|||||||
<tbody class="sortable">';
|
<tbody class="sortable">';
|
||||||
|
|
||||||
// se ho almeno un articolo caricato mostro la riga
|
// se ho almeno un articolo caricato mostro la riga
|
||||||
if (!empty($rs)) {
|
foreach ($rs as $r) {
|
||||||
foreach ($rs as $r) {
|
echo '
|
||||||
echo '
|
|
||||||
<tr data-id="'.$r['id'].'">
|
<tr data-id="'.$r['id'].'">
|
||||||
<td>';
|
<td>';
|
||||||
|
|
||||||
if (!empty($r['idarticolo'])) {
|
if (!empty($r['idarticolo'])) {
|
||||||
echo Modules::link('Articoli', $r['idarticolo'], $r['codice'].' - '.$r['descrizione']);
|
echo Modules::link('Articoli', $r['idarticolo'], $r['codice'].' - '.$r['descrizione']);
|
||||||
} else {
|
} else {
|
||||||
echo nl2br($r['descrizione']);
|
echo nl2br($r['descrizione']);
|
||||||
}
|
}
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
</td>';
|
</td>';
|
||||||
|
|
||||||
// q.tà
|
// q.tà
|
||||||
echo '
|
echo '
|
||||||
<td class="text-right">';
|
<td class="text-right">';
|
||||||
if (empty($r['is_descrizione'])) {
|
if (empty($r['is_descrizione'])) {
|
||||||
echo '
|
|
||||||
'.Translator::numberToLocale($r['qta'] - $r['qta_evasa']);
|
|
||||||
}
|
|
||||||
echo '
|
echo '
|
||||||
|
'.Translator::numberToLocale($r['qta']);
|
||||||
|
}
|
||||||
|
echo '
|
||||||
</td>';
|
</td>';
|
||||||
|
|
||||||
// um
|
// um
|
||||||
echo '
|
echo '
|
||||||
<td class="text-center">';
|
<td class="text-center">';
|
||||||
if (empty($r['is_descrizione'])) {
|
if (empty($r['is_descrizione'])) {
|
||||||
echo '
|
|
||||||
'.$r['um'];
|
|
||||||
}
|
|
||||||
echo '
|
echo '
|
||||||
|
'.$r['um'];
|
||||||
|
}
|
||||||
|
echo '
|
||||||
</td>';
|
</td>';
|
||||||
|
|
||||||
// costo unitario
|
// costo unitario
|
||||||
echo '
|
echo '
|
||||||
<td class="text-right">';
|
<td class="text-right">';
|
||||||
if (empty($r['is_descrizione'])) {
|
if (empty($r['is_descrizione'])) {
|
||||||
echo '
|
echo '
|
||||||
'.Translator::numberToLocale($r['subtotale'] / $r['qta']).' €';
|
'.Translator::numberToLocale($r['subtotale'] / $r['qta']).' €';
|
||||||
|
|
||||||
if ($r['sconto_unitario'] > 0) {
|
if ($r['sconto_unitario'] > 0) {
|
||||||
echo '
|
echo '
|
||||||
<br><small class="label label-danger">'.tr('sconto _TOT_ _TYPE_', [
|
<br><small class="label label-danger">'.tr('sconto _TOT_ _TYPE_', [
|
||||||
'_TOT_' => Translator::numberToLocale($r['sconto_unitario']),
|
'_TOT_' => Translator::numberToLocale($r['sconto_unitario']),
|
||||||
'_TYPE_' => ($r['tipo_sconto'] == 'PRC' ? '%' : '€'),
|
'_TYPE_' => ($r['tipo_sconto'] == 'PRC' ? '%' : '€'),
|
||||||
]).'</small>';
|
]).'</small>';
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
</td>';
|
</td>';
|
||||||
|
|
||||||
// iva
|
// iva
|
||||||
echo '
|
echo '
|
||||||
<td class="text-right">';
|
<td class="text-right">';
|
||||||
if (empty($r['is_descrizione'])) {
|
if (empty($r['is_descrizione'])) {
|
||||||
echo '
|
echo '
|
||||||
'.Translator::numberToLocale($r['iva']).' €
|
'.Translator::numberToLocale($r['iva']).' €
|
||||||
<br><small class="help-block">'.$r['desc_iva'].'</small>';
|
<br><small class="help-block">'.$r['desc_iva'].'</small>';
|
||||||
}
|
}
|
||||||
echo'
|
echo'
|
||||||
</td>';
|
</td>';
|
||||||
|
|
||||||
// Imponibile
|
// Imponibile
|
||||||
echo '
|
echo '
|
||||||
<td class="text-right">';
|
<td class="text-right">';
|
||||||
if (empty($r['is_descrizione'])) {
|
if (empty($r['is_descrizione'])) {
|
||||||
echo '
|
echo '
|
||||||
'.Translator::numberToLocale($r['subtotale'] - $r['sconto']).' €';
|
'.Translator::numberToLocale($r['subtotale'] - $r['sconto']).' €';
|
||||||
}
|
}
|
||||||
echo'
|
echo'
|
||||||
</td>';
|
</td>';
|
||||||
|
|
||||||
// Possibilità di rimuovere una riga solo se il preventivo non è stato pagato
|
// Possibilità di rimuovere una riga solo se il preventivo non è stato pagato
|
||||||
echo '
|
echo '
|
||||||
<td class="text-center">';
|
<td class="text-center">';
|
||||||
|
|
||||||
if ($records[0]['stato'] != 'Pagato' && empty($r['sconto_globale'])) {
|
if ($records[0]['stato'] != 'Pagato' && empty($r['sconto_globale'])) {
|
||||||
echo "
|
echo "
|
||||||
<form action='".$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record."' method='post' id='delete-form-".$r['id']."' role='form'>
|
<form action='".$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record."' method='post' id='delete-form-".$r['id']."' role='form'>
|
||||||
<input type='hidden' name='backto' value='record-edit'>
|
<input type='hidden' name='backto' value='record-edit'>
|
||||||
<input type='hidden' name='op' value='unlink_articolo'>
|
<input type='hidden' name='op' value='unlink_articolo'>
|
||||||
@@ -117,18 +116,17 @@ if (!empty($rs)) {
|
|||||||
<a href='javascript:;' class='btn btn-xs btn-danger' title='Rimuovi questa riga' onclick=\"if( confirm('Rimuovere questa riga dal preventivo?') ){ $('#delete-form-".$r['id']."').submit(); }\"><i class='fa fa-trash'></i></a>
|
<a href='javascript:;' class='btn btn-xs btn-danger' title='Rimuovi questa riga' onclick=\"if( confirm('Rimuovere questa riga dal preventivo?') ){ $('#delete-form-".$r['id']."').submit(); }\"><i class='fa fa-trash'></i></a>
|
||||||
</div>
|
</div>
|
||||||
</form>";
|
</form>";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($r['sconto_globale'])) {
|
if (empty($r['sconto_globale'])) {
|
||||||
echo '
|
echo '
|
||||||
<div class="handle clickable" style="padding:10px">
|
<div class="handle clickable" style="padding:10px">
|
||||||
<i class="fa fa-sort"></i>
|
<i class="fa fa-sort"></i>
|
||||||
</div>';
|
</div>';
|
||||||
}
|
}
|
||||||
echo '
|
echo '
|
||||||
</td>
|
</td>
|
||||||
</tr>';
|
</tr>';
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calcoli
|
// Calcoli
|
||||||
|
@@ -21,11 +21,11 @@ include_once __DIR__.'/../../core.php';
|
|||||||
$numero_doc = !empty($rs[0]['numero_esterno']) ? $rs[0]['numero_esterno'] : $rs[0]['numero'];
|
$numero_doc = !empty($rs[0]['numero_esterno']) ? $rs[0]['numero_esterno'] : $rs[0]['numero'];
|
||||||
$tipo_doc = $rs[0]['tdescrizione'];
|
$tipo_doc = $rs[0]['tdescrizione'];
|
||||||
|
|
||||||
$nota_accredito = false;
|
$nota_accredito = false;
|
||||||
|
|
||||||
if( $tipo_doc == 'Nota di accredito' ){
|
if ($tipo_doc == 'Nota di accredito') {
|
||||||
$nota_accredito = true;
|
$nota_accredito = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
$descrizione = tr('_DOC_ numero _NUM_ del _DATE_ (_NAME_)', [
|
$descrizione = tr('_DOC_ numero _NUM_ del _DATE_ (_NAME_)', [
|
||||||
'_DOC_' => $tipo_doc,
|
'_DOC_' => $tipo_doc,
|
||||||
@@ -188,12 +188,12 @@ include_once __DIR__.'/../../core.php';
|
|||||||
$value_avere = '';
|
$value_avere = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Se è una nota di accredito, inverto i valori
|
// Se è una nota di accredito, inverto i valori
|
||||||
if( $nota_accredito ){
|
if ($nota_accredito) {
|
||||||
$tmp = $value_dare;
|
$tmp = $value_dare;
|
||||||
$value_dare = $value_avere;
|
$value_dare = $value_avere;
|
||||||
$value_avere= $tmp;
|
$value_avere = $tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dare
|
// Dare
|
||||||
echo '
|
echo '
|
||||||
|
@@ -45,13 +45,13 @@ $month = intval($d1->format('m')) - 1;
|
|||||||
for ($i = 0; $i < $count; ++$i) {
|
for ($i = 0; $i < $count; ++$i) {
|
||||||
$month = $month % 12;
|
$month = $month % 12;
|
||||||
|
|
||||||
if (intval($fatturato[$i]['month']) != $month + 1) {
|
if (!isset($fatturato[$i]) || intval($fatturato[$i]['month']) != $month + 1) {
|
||||||
array_splice($fatturato, $i, 0, [[
|
array_splice($fatturato, $i, 0, [[
|
||||||
'totale' => 0,
|
'totale' => 0,
|
||||||
]]);
|
]]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (intval($acquisti[$i]['month']) != $month + 1) {
|
if (!isset($acquisti[$i]) || intval($acquisti[$i]['month']) != $month + 1) {
|
||||||
array_splice($acquisti, $i, 0, [[
|
array_splice($acquisti, $i, 0, [[
|
||||||
'totale' => 0,
|
'totale' => 0,
|
||||||
]]);
|
]]);
|
||||||
@@ -215,7 +215,7 @@ foreach ($tipi as $tipo) {
|
|||||||
for ($i = 0; $i < $count; ++$i) {
|
for ($i = 0; $i < $count; ++$i) {
|
||||||
$month = $month % 12;
|
$month = $month % 12;
|
||||||
|
|
||||||
if (intval($interventi[$i]['month']) != $month + 1) {
|
if (!isset($interventi[$i]) || intval($interventi[$i]['month']) != $month + 1) {
|
||||||
array_splice($interventi, $i, 0, [[
|
array_splice($interventi, $i, 0, [[
|
||||||
'totale' => 0,
|
'totale' => 0,
|
||||||
]]);
|
]]);
|
||||||
|
@@ -4,8 +4,8 @@ include_once __DIR__.'/../../core.php';
|
|||||||
|
|
||||||
$records = $dbo->fetchArray('SELECT in_tariffe.id AS idtariffa, in_tipiintervento.idtipointervento, idtecnico, ragione_sociale, descrizione, in_tariffe.costo_ore, in_tariffe.costo_km, in_tariffe.costo_dirittochiamata, in_tariffe.costo_ore_tecnico, in_tariffe.costo_km_tecnico, in_tariffe.costo_dirittochiamata_tecnico FROM ((in_tariffe INNER JOIN an_anagrafiche ON in_tariffe.idtecnico=an_anagrafiche.idanagrafica) LEFT OUTER JOIN in_tipiintervento ON in_tariffe.idtipointervento=in_tipiintervento.idtipointervento) WHERE in_tariffe.id='.prepare($id_record));
|
$records = $dbo->fetchArray('SELECT in_tariffe.id AS idtariffa, in_tipiintervento.idtipointervento, idtecnico, ragione_sociale, descrizione, in_tariffe.costo_ore, in_tariffe.costo_km, in_tariffe.costo_dirittochiamata, in_tariffe.costo_ore_tecnico, in_tariffe.costo_km_tecnico, in_tariffe.costo_dirittochiamata_tecnico FROM ((in_tariffe INNER JOIN an_anagrafiche ON in_tariffe.idtecnico=an_anagrafiche.idanagrafica) LEFT OUTER JOIN in_tipiintervento ON in_tariffe.idtipointervento=in_tipiintervento.idtipointervento) WHERE in_tariffe.id='.prepare($id_record));
|
||||||
|
|
||||||
//Se non ci sono record nelle tariffe leggo i dati del tecnico singolarmente e creo l'associazione tecnico-tariffe nel primo submit
|
// Se non ci sono record nelle tariffe leggo i dati del tecnico singolarmente e creo l'associazione tecnico-tariffe nel primo submit
|
||||||
if ($records[0]['idtariffa'] != $id_record) {
|
if (isset($records[0]) && $records[0]['idtariffa'] != $id_record) {
|
||||||
$v = explode('|', $id_record);
|
$v = explode('|', $id_record);
|
||||||
|
|
||||||
$idanagrafica = $v[0];
|
$idanagrafica = $v[0];
|
||||||
|
@@ -43,8 +43,10 @@ class App
|
|||||||
*/
|
*/
|
||||||
public static function getCurrentModule()
|
public static function getCurrentModule()
|
||||||
{
|
{
|
||||||
if (empty(self::$current_module)) {
|
$id = filter('id_module');
|
||||||
self::$current_module = Modules::get(filter('id_module'));
|
|
||||||
|
if (empty(self::$current_module) && !empty($id)) {
|
||||||
|
self::$current_module = Modules::get($id);
|
||||||
}
|
}
|
||||||
|
|
||||||
return self::$current_module;
|
return self::$current_module;
|
||||||
|
@@ -74,8 +74,8 @@ class FileManager implements ManagerInterface
|
|||||||
<i class="fa fa-download"></i>
|
<i class="fa fa-download"></i>
|
||||||
</a>';
|
</a>';
|
||||||
|
|
||||||
//Anteprime supportate dal browser
|
// Anteprime supportate dal browser
|
||||||
$extension = strtolower(end((explode('.', $r['original']))));
|
$extension = pathinfo($r['original'])['extension'];
|
||||||
$supported_extensions = ['pdf', 'jpg', 'png', 'gif', 'jpeg', 'bmp'];
|
$supported_extensions = ['pdf', 'jpg', 'png', 'gif', 'jpeg', 'bmp'];
|
||||||
if (in_array($extension, $supported_extensions)) {
|
if (in_array($extension, $supported_extensions)) {
|
||||||
$result .= "<div class='hide' id='view-".$r['id']."' >";
|
$result .= "<div class='hide' id='view-".$r['id']."' >";
|
||||||
|
@@ -80,6 +80,7 @@ class Mail extends PHPMailer\PHPMailer\PHPMailer
|
|||||||
$results = $database->fetchArray('SELECT * FROM zz_emails WHERE deleted = 0');
|
$results = $database->fetchArray('SELECT * FROM zz_emails WHERE deleted = 0');
|
||||||
|
|
||||||
$templates = [];
|
$templates = [];
|
||||||
|
$references = [];
|
||||||
|
|
||||||
// Inizializzazione dei riferimenti
|
// Inizializzazione dei riferimenti
|
||||||
foreach (Modules::getModules() as $module) {
|
foreach (Modules::getModules() as $module) {
|
||||||
@@ -109,11 +110,13 @@ class Mail extends PHPMailer\PHPMailer\PHPMailer
|
|||||||
*/
|
*/
|
||||||
public static function getTemplate($template)
|
public static function getTemplate($template)
|
||||||
{
|
{
|
||||||
|
$templates = self::getTemplates();
|
||||||
|
|
||||||
if (!is_numeric($template) && !empty(self::$references[$template])) {
|
if (!is_numeric($template) && !empty(self::$references[$template])) {
|
||||||
$template = self::$references[$template];
|
$template = self::$references[$template];
|
||||||
}
|
}
|
||||||
|
|
||||||
return self::getTemplates()[$template];
|
return $templates[$template];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -44,26 +44,26 @@ class Modules
|
|||||||
$results = $database->fetchArray('SELECT * FROM `zz_modules` LEFT JOIN (SELECT `idmodule`, `permessi` FROM `zz_permissions` WHERE `idgruppo` = (SELECT `idgruppo` FROM `zz_users` WHERE `id` = '.prepare($user['id_utente']).')) AS `zz_permissions` ON `zz_modules`.`id`=`zz_permissions`.`idmodule`');
|
$results = $database->fetchArray('SELECT * FROM `zz_modules` LEFT JOIN (SELECT `idmodule`, `permessi` FROM `zz_permissions` WHERE `idgruppo` = (SELECT `idgruppo` FROM `zz_users` WHERE `id` = '.prepare($user['id_utente']).')) AS `zz_permissions` ON `zz_modules`.`id`=`zz_permissions`.`idmodule`');
|
||||||
|
|
||||||
$modules = [];
|
$modules = [];
|
||||||
|
$references = [];
|
||||||
|
|
||||||
foreach ($results as $result) {
|
foreach ($results as $result) {
|
||||||
$result['options'] = App::replacePlaceholder($result['options']);
|
$result['options'] = App::replacePlaceholder($result['options']);
|
||||||
$result['options2'] = App::replacePlaceholder($result['options2']);
|
$result['options2'] = App::replacePlaceholder($result['options2']);
|
||||||
|
|
||||||
$result['option'] = empty($result['options2']) ? $result['options'] : $result['options2'];
|
$result['option'] = empty($result['options2']) ? $result['options'] : $result['options2'];
|
||||||
|
|
||||||
if (empty($modules[$result['id']])) {
|
if (empty($result['permessi'])) {
|
||||||
if (empty($result['permessi'])) {
|
if (Auth::admin()) {
|
||||||
if (Auth::admin()) {
|
$result['permessi'] = 'rw';
|
||||||
$result['permessi'] = 'rw';
|
} else {
|
||||||
} else {
|
$result['permessi'] = '-';
|
||||||
$result['permessi'] = '-';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
unset($result['idmodule']);
|
|
||||||
|
|
||||||
$modules[$result['id']] = $result;
|
|
||||||
$references[$result['name']] = $result['id'];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unset($result['idmodule']);
|
||||||
|
|
||||||
|
$modules[$result['id']] = $result;
|
||||||
|
$references[$result['name']] = $result['id'];
|
||||||
}
|
}
|
||||||
|
|
||||||
self::$modules = $modules;
|
self::$modules = $modules;
|
||||||
@@ -101,11 +101,13 @@ class Modules
|
|||||||
*/
|
*/
|
||||||
public static function get($module)
|
public static function get($module)
|
||||||
{
|
{
|
||||||
|
$modules = self::getModules();
|
||||||
|
|
||||||
if (!is_numeric($module) && !empty(self::$references[$module])) {
|
if (!is_numeric($module) && !empty(self::$references[$module])) {
|
||||||
$module = self::$references[$module];
|
$module = self::$references[$module];
|
||||||
}
|
}
|
||||||
|
|
||||||
return self::getModules()[$module];
|
return $modules[$module];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user