Merge branch 'master' into 2.4.2
This commit is contained in:
commit
cf3973ac47
|
@ -44,12 +44,17 @@ if (!empty($result_query) && $result_query != 'menu' && $result_query != 'custom
|
|||
$search_filters[] = str_replace('|search|', prepare('%'.$piece.'%'), $total['search_inside'][$i]);
|
||||
}
|
||||
} else {
|
||||
// Per le icone cerco per il campo icon_title
|
||||
if (preg_match('/^icon_(.+?)$/', $total['search_inside'][$i], $m)) {
|
||||
$total['search_inside'][$i] = 'icon_title_'.$m[1];
|
||||
// Per le icone cerco nel campo icon_title
|
||||
if (preg_match('/^icon_(.+?)$/', $total['fields'][$i], $m)) {
|
||||
$total['search_inside'][$i] = '`icon_title_'.$m[1].'`';
|
||||
}
|
||||
|
||||
$search_filters[] = '`'.$total['search_inside'][$i].'` LIKE '.prepare('%'.trim($columns[$i]['search']['value'].'%'));
|
||||
// Per i colori cerco nel campo color_title
|
||||
elseif (preg_match('/^color_(.+?)$/', $total['fields'][$i], $m)) {
|
||||
$total['search_inside'][$i] = '`color_title_'.$m[1].'`';
|
||||
}
|
||||
|
||||
$search_filters[] = $total['search_inside'][$i].' LIKE '.prepare('%'.trim($columns[$i]['search']['value'].'%'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,8 +9,7 @@ if (Update::isUpdateAvailable() || !$dbo->isInstalled()) {
|
|||
$has_azienda = $dbo->fetchNum("SELECT `an_anagrafiche`.`idanagrafica` FROM `an_anagrafiche`
|
||||
LEFT JOIN `an_tipianagrafiche_anagrafiche` ON `an_anagrafiche`.`idanagrafica`=`an_tipianagrafiche_anagrafiche`.`idanagrafica`
|
||||
LEFT JOIN `an_tipianagrafiche` ON `an_tipianagrafiche`.`idtipoanagrafica`=`an_tipianagrafiche_anagrafiche`.`idtipoanagrafica`
|
||||
WHERE `an_tipianagrafiche`.`descrizione` = 'Azienda' AND `an_anagrafiche`.`deleted` = 0") != 0;
|
||||
|
||||
WHERE `an_tipianagrafiche`.`descrizione` = 'Azienda' AND `an_anagrafiche`.`deleted_at` IS NULL") != 0;
|
||||
$has_user = $dbo->fetchNum('SELECT `id` FROM `zz_users`') != 0;
|
||||
|
||||
$settings = [
|
||||
|
|
|
@ -259,7 +259,7 @@ switch (post('op')) {
|
|||
case 'delete':
|
||||
// Se l'anagrafica non è l'azienda principale, la disattivo
|
||||
if (!in_array($id_azienda, $tipi_anagrafica)) {
|
||||
$dbo->query('UPDATE an_anagrafiche SET deleted = 1 WHERE idanagrafica = '.prepare($id_record).Modules::getAdditionalsQuery($id_module));
|
||||
$dbo->query('UPDATE an_anagrafiche SET deleted_at = NOW() WHERE idanagrafica = '.prepare($id_record).Modules::getAdditionalsQuery($id_module));
|
||||
|
||||
// Se l'anagrafica è collegata ad un utente lo disabilito
|
||||
$dbo->query('UPDATE zz_users SET enabled = 0 WHERE idanagrafica = '.prepare($id_record).Modules::getAdditionalsQuery($id_module));
|
||||
|
|
|
@ -18,7 +18,7 @@ echo '
|
|||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "'.tr('Tipo di anagrafica').'", "name": "idtipoanagrafica[]", "multiple": "1", "required": 1, "values": "query=SELECT idtipoanagrafica AS id, descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica NOT IN (SELECT DISTINCT(x.idtipoanagrafica) FROM an_tipianagrafiche_anagrafiche x INNER JOIN an_tipianagrafiche t ON x.idtipoanagrafica = t.idtipoanagrafica INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = x.idanagrafica WHERE t.descrizione = \'Azienda\' AND deleted = 0) ORDER BY descrizione", "value": "'.(isset($idtipoanagrafica) ? $idtipoanagrafica : null).'", "readonly": '.(!empty($readonly_tipo) ? 1 : 0).' ]}
|
||||
{[ "type": "select", "label": "'.tr('Tipo di anagrafica').'", "name": "idtipoanagrafica[]", "multiple": "1", "required": 1, "values": "query=SELECT idtipoanagrafica AS id, descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica NOT IN (SELECT DISTINCT(x.idtipoanagrafica) FROM an_tipianagrafiche_anagrafiche x INNER JOIN an_tipianagrafiche t ON x.idtipoanagrafica = t.idtipoanagrafica INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = x.idanagrafica WHERE t.descrizione = \'Azienda\' AND deleted_at IS NULL) ORDER BY descrizione", "value": "'.(isset($idtipoanagrafica) ? $idtipoanagrafica : null).'", "readonly": '.(!empty($readonly_tipo) ? 1 : 0).' ]}
|
||||
</div>
|
||||
</div>';
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ switch ($resource) {
|
|||
|
||||
$where[] = "descrizione='Cliente'";
|
||||
if (empty($filter)) {
|
||||
$where[] = 'deleted=0';
|
||||
$where[] = 'deleted_at IS NULL';
|
||||
}
|
||||
|
||||
if (!empty($search)) {
|
||||
|
@ -34,7 +34,7 @@ switch ($resource) {
|
|||
|
||||
$where[] = "descrizione='Fornitore'";
|
||||
if (empty($filter)) {
|
||||
$where[] = 'deleted=0';
|
||||
$where[] = 'deleted_at IS NULL';
|
||||
}
|
||||
|
||||
if (!empty($search)) {
|
||||
|
@ -56,7 +56,7 @@ switch ($resource) {
|
|||
|
||||
$where[] = "descrizione='Agente'";
|
||||
if (empty($filter)) {
|
||||
$where[] = 'deleted=0';
|
||||
$where[] = 'deleted_at IS NULL';
|
||||
}
|
||||
|
||||
if (!empty($search)) {
|
||||
|
@ -91,7 +91,7 @@ switch ($resource) {
|
|||
|
||||
$where[] = "descrizione='Tecnico'";
|
||||
if (empty($filter)) {
|
||||
$where[] = 'deleted=0';
|
||||
$where[] = 'deleted_at IS NULL';
|
||||
|
||||
//come tecnico posso aprire attività solo a mio nome
|
||||
$user = Auth::user();
|
||||
|
@ -118,7 +118,7 @@ switch ($resource) {
|
|||
}
|
||||
|
||||
if (empty($filter)) {
|
||||
$where[] = 'deleted=0';
|
||||
$where[] = 'deleted_at IS NULL';
|
||||
}
|
||||
|
||||
if (!empty($search)) {
|
||||
|
|
|
@ -9,7 +9,7 @@ switch ($resource) {
|
|||
|
||||
// Se l'anagrafica non è l'azienda principale, la disattivo
|
||||
if (!in_array($id_azienda, $tipi)) {
|
||||
$dbo->query('UPDATE an_anagrafiche SET deleted = 1 WHERE idanagrafica = '.prepare($request['id']));
|
||||
$dbo->query('UPDATE an_anagrafiche SET deleted_at = NOW() WHERE idanagrafica = '.prepare($request['id']));
|
||||
}
|
||||
|
||||
break;
|
||||
|
|
|
@ -15,15 +15,15 @@ switch ($resource) {
|
|||
break;
|
||||
|
||||
case 'clienti':
|
||||
$q = 'SELECT AN.idanagrafica,
|
||||
$q = 'SELECT AN.idanagrafica,
|
||||
AN.ragione_sociale,
|
||||
AN.piva,
|
||||
AN.codice_fiscale,
|
||||
AN.indirizzo,
|
||||
AN.indirizzo2,
|
||||
AN.citta,
|
||||
AN.cap,
|
||||
AN.provincia,
|
||||
AN.piva,
|
||||
AN.codice_fiscale,
|
||||
AN.indirizzo,
|
||||
AN.indirizzo2,
|
||||
AN.citta,
|
||||
AN.cap,
|
||||
AN.provincia,
|
||||
AN.km,
|
||||
IFNULL(AN.lat, 0.00) AS latitudine,
|
||||
IFNULL(AN.lng, 0.00) AS longitudine,
|
||||
|
@ -35,11 +35,11 @@ switch ($resource) {
|
|||
AN.sitoweb,
|
||||
AN.note,
|
||||
AN.idzona,
|
||||
AN.deleted
|
||||
FROM (an_anagrafiche AS AN
|
||||
AN.deleted_at
|
||||
FROM (an_anagrafiche AS AN
|
||||
LEFT OUTER JOIN an_nazioni NAZIONE ON AN.id_nazione=NAZIONE.id)
|
||||
HAVING 1=1 AND
|
||||
AN.deleted=0 AND
|
||||
HAVING 1=1 AND
|
||||
AN.deleted_at IS NULL AND
|
||||
AN.idanagrafica IN (SELECT idanagrafica FROM an_tipianagrafiche_anagrafiche WHERE idtipoanagrafica=1)
|
||||
ORDER BY AN.ragione_sociale';
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ switch (post('op')) {
|
|||
|
||||
// Se l'anagrafica non è l'azienda principale, la disattivo
|
||||
if (!in_array($id_azienda, $tipi)) {
|
||||
$dbo->query('UPDATE an_anagrafiche SET deleted = 1 WHERE idanagrafica = '.prepare($id).Modules::getAdditionalsQuery($id_module));
|
||||
$dbo->query('UPDATE an_anagrafiche SET deleted_at = NOW() WHERE idanagrafica = '.prepare($id).Modules::getAdditionalsQuery($id_module));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -228,7 +228,7 @@ if (!$cliente) {
|
|||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "Agente principale", "name": "idagente", "values": "query=SELECT an_anagrafiche.idanagrafica AS id, IF(deleted=1, CONCAT(ragione_sociale, ' (Eliminato)'), 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='Agente' AND deleted=0)<?php echo isset($records[0]['idagente']) ? 'OR (an_anagrafiche.idanagrafica = '.prepare($records[0]['idagente']).'AND deleted=1) ' : ''; ?>ORDER BY ragione_sociale", "value": "$idagente$", "extra": "<?php echo ($cliente) ? '' : 'readonly'; ?>" ]}
|
||||
{[ "type": "select", "label": "Agente principale", "name": "idagente", "values": "query=SELECT an_anagrafiche.idanagrafica AS id, IF(deleted_at IS NOT NULL, CONCAT(ragione_sociale, ' (Eliminato)'), 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='Agente' AND deleted_at IS NULL)<?php echo isset($records[0]['idagente']) ? 'OR (an_anagrafiche.idanagrafica = '.prepare($records[0]['idagente']).' AND deleted_at IS NOT NULL) ' : ''; ?>ORDER BY ragione_sociale", "value": "$idagente$", "extra": "<?php echo ($cliente) ? '' : 'readonly'; ?>" ]}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
@ -336,7 +336,7 @@ if (!$cliente) {
|
|||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
{[ "type": "select", "multiple": "1", "label": "<?php echo tr('Tipo di anagrafica'); ?>", "name": "idtipoanagrafica[]", "values": "query=SELECT idtipoanagrafica AS id, descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica NOT IN (SELECT DISTINCT(x.idtipoanagrafica) FROM an_tipianagrafiche_anagrafiche x INNER JOIN an_tipianagrafiche t ON x.idtipoanagrafica = t.idtipoanagrafica INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = x.idanagrafica WHERE t.descrizione = 'Azienda' AND deleted = 0) ORDER BY descrizione", "value": "$idtipianagrafica$" ]}
|
||||
{[ "type": "select", "multiple": "1", "label": "<?php echo tr('Tipo di anagrafica'); ?>", "name": "idtipoanagrafica[]", "values": "query=SELECT idtipoanagrafica AS id, descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica NOT IN (SELECT DISTINCT(x.idtipoanagrafica) FROM an_tipianagrafiche_anagrafiche x INNER JOIN an_tipianagrafiche t ON x.idtipoanagrafica = t.idtipoanagrafica INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = x.idanagrafica WHERE t.descrizione = 'Azienda' AND deleted_at IS NULL) ORDER BY descrizione", "value": "$idtipianagrafica$" ]}
|
||||
<?php
|
||||
if (in_array($id_azienda, $tipi_anagrafica)) {
|
||||
echo '
|
||||
|
@ -358,7 +358,7 @@ if (!$cliente) {
|
|||
if (in_array('Cliente', explode(',', $records[0]['tipianagrafica']))) {
|
||||
?>
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "Agenti secondari", "multiple": "1", "name": "idagenti[]", "values": "query=SELECT an_anagrafiche.idanagrafica AS id, IF(deleted=1, CONCAT(ragione_sociale, ' (Eliminato)'), 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='Agente' AND deleted=0 AND an_anagrafiche.idanagrafica NOT IN (SELECT idagente FROM an_anagrafiche WHERE idanagrafica = <?php echo prepare($records[0]['idanagrafica']); ?> )) OR (an_anagrafiche.idanagrafica IN (SELECT idagente FROM an_anagrafiche_agenti WHERE idanagrafica = <?php echo prepare($records[0]['idanagrafica']); ?> ) ) ORDER BY ragione_sociale", "value": "$idagenti$" ]}
|
||||
{[ "type": "select", "label": "Agenti secondari", "multiple": "1", "name": "idagenti[]", "values": "query=SELECT an_anagrafiche.idanagrafica AS id, IF(deleted_at IS NOT NULL, CONCAT(ragione_sociale, ' (Eliminato)'), 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='Agente' AND deleted_at IS NULL AND an_anagrafiche.idanagrafica NOT IN (SELECT idagente FROM an_anagrafiche WHERE idanagrafica = <?php echo prepare($records[0]['idanagrafica']); ?> )) OR (an_anagrafiche.idanagrafica IN (SELECT idagente FROM an_anagrafiche_agenti WHERE idanagrafica = <?php echo prepare($records[0]['idanagrafica']); ?> ) ) ORDER BY ragione_sociale", "value": "$idagenti$" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
|
|
|
@ -16,7 +16,7 @@ echo '
|
|||
// Tecnico
|
||||
echo '
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "'.tr('Tecnico').'", "name": "idtecnico", "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=\'Tecnico\') AND deleted=0 ORDER BY ragione_sociale", "value": "'.$idtecnico.'" ]}
|
||||
{[ "type": "select", "label": "'.tr('Tecnico').'", "name": "idtecnico", "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=\'Tecnico\') AND deleted_at IS NULL ORDER BY ragione_sociale", "value": "'.$idtecnico.'" ]}
|
||||
</div>';
|
||||
|
||||
// Data di partenza
|
||||
|
|
|
@ -42,7 +42,7 @@ $_SESSION['superselect']['idanagrafica'] = $records[0]['idanagrafica'];
|
|||
echo Modules::link('Anagrafiche', $records[0]['idagente'], null, null, 'class="pull-right"');
|
||||
}
|
||||
?>
|
||||
{[ "type": "select", "label": "<?php echo tr('Agente'); ?>", "name": "idagente", "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='Agente' AND deleted=0 ORDER BY ragione_sociale", "value": "$idagente$" ]}
|
||||
{[ "type": "select", "label": "<?php echo tr('Agente'); ?>", "name": "idagente", "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='Agente' AND deleted_at IS NULL ORDER BY ragione_sociale", "value": "$idagente$" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -96,7 +96,7 @@ $_SESSION['superselect']['idanagrafica'] = $records[0]['idanagrafica'];
|
|||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "multiple": "1", "label": "<?php echo tr('Impianti'); ?>", "name": "matricolaimpianto[]", "values": "query=SELECT idanagrafica, id AS id, IF(nome = '', matricola, CONCAT(matricola, ' - ', nome)) AS descrizione FROM my_impianti WHERE idanagrafica='$idanagrafica$' ORDER BY descrizione", "value": "$matricoleimpianti$" ]}
|
||||
{[ "type": "select", "multiple": "1", "label": "<?php echo tr('Impianti'); ?>", "name": "matricolaimpianto[]", "values": "query=SELECT idanagrafica, id AS id, IF(nome = '', matricola, CONCAT(matricola, ' - ', nome)) AS descrizione FROM my_impianti WHERE idanagrafica='$idanagrafica$' ORDER BY descrizione", "value": "$idimpianti$" ]}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
if (isset($id_record)) {
|
||||
$records = $dbo->fetchArray('SELECT *, (SELECT descrizione FROM co_staticontratti WHERE id=idstato) AS stato, (SELECT GROUP_CONCAT(my_impianti_contratti.idimpianto) FROM my_impianti_contratti WHERE idcontratto = co_contratti.id) AS matricoleimpianti FROM co_contratti WHERE id='.prepare($id_record).Modules::getAdditionalsQuery($id_module));
|
||||
$records = $dbo->fetchArray('SELECT *, (SELECT descrizione FROM co_staticontratti WHERE id=idstato) AS stato, (SELECT GROUP_CONCAT(my_impianti_contratti.idimpianto) FROM my_impianti_contratti WHERE idcontratto = co_contratti.id) AS idimpianti FROM co_contratti WHERE id='.prepare($id_record).Modules::getAdditionalsQuery($id_module));
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ include_once __DIR__.'/../../core.php';
|
|||
|
||||
// Impostazione filtri di default a tutte le selezioni la prima volta
|
||||
if (!isset($_SESSION['dashboard']['idtecnici'])) {
|
||||
$rs = $dbo->fetchArray("SELECT an_anagrafiche.idanagrafica AS id 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 deleted=0 AND descrizione='Tecnico'");
|
||||
$rs = $dbo->fetchArray("SELECT an_anagrafiche.idanagrafica AS id 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 deleted_at IS NULL AND descrizione='Tecnico'");
|
||||
|
||||
$_SESSION['dashboard']['idtecnici'] = ["'-1'"];
|
||||
|
||||
|
@ -14,7 +14,7 @@ if (!isset($_SESSION['dashboard']['idtecnici'])) {
|
|||
}
|
||||
|
||||
if (!isset($_SESSION['dashboard']['idstatiintervento'])) {
|
||||
$rs = $dbo->fetchArray('SELECT idstatointervento AS id, descrizione FROM in_statiintervento WHERE deleted = 0');
|
||||
$rs = $dbo->fetchArray('SELECT idstatointervento AS id, descrizione FROM in_statiintervento WHERE deleted_at IS NULL');
|
||||
|
||||
$_SESSION['dashboard']['idstatiintervento'] = ["'-1'"];
|
||||
|
||||
|
@ -51,7 +51,7 @@ $checks = '';
|
|||
$count = 0;
|
||||
$total = 0;
|
||||
|
||||
$rs = $dbo->fetchArray('SELECT idstatointervento AS id, descrizione, colore FROM in_statiintervento WHERE deleted = 0 ORDER BY descrizione ASC');
|
||||
$rs = $dbo->fetchArray('SELECT idstatointervento AS id, descrizione, colore FROM in_statiintervento WHERE deleted_at IS NULL ORDER BY descrizione ASC');
|
||||
$total = count($rs);
|
||||
|
||||
$allchecksstati = '';
|
||||
|
@ -160,7 +160,7 @@ $totale_tecnici = 0; // conteggia tecnici eliminati e non
|
|||
|
||||
$rs = $dbo->fetchArray("SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale, colore 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
|
||||
LEFT OUTER JOIN in_interventi_tecnici ON in_interventi_tecnici.idtecnico = an_anagrafiche.idanagrafica INNER JOIN in_interventi ON in_interventi_tecnici.idintervento=in_interventi.id
|
||||
WHERE an_anagrafiche.deleted=0 AND an_tipianagrafiche.descrizione='Tecnico' ".Modules::getAdditionalsQuery('Interventi').' GROUP BY an_anagrafiche.idanagrafica ORDER BY ragione_sociale ASC');
|
||||
WHERE an_anagrafiche.deleted_at IS NULL AND an_tipianagrafiche.descrizione='Tecnico' ".Modules::getAdditionalsQuery('Interventi').' GROUP BY an_anagrafiche.idanagrafica ORDER BY ragione_sociale ASC');
|
||||
$total = count($rs);
|
||||
|
||||
$totale_tecnici += $total;
|
||||
|
@ -182,7 +182,7 @@ for ($i = 0; $i < count($rs); ++$i) {
|
|||
}
|
||||
|
||||
// TECNICI ELIMINATI CON ALMENO 1 INTERVENTO
|
||||
$rs = $dbo->fetchArray("SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale 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 INNER JOIN in_interventi_tecnici ON in_interventi_tecnici.idtecnico = an_anagrafiche.idanagrafica WHERE deleted=1 AND descrizione='Tecnico' GROUP BY an_anagrafiche.idanagrafica ORDER BY ragione_sociale ASC");
|
||||
$rs = $dbo->fetchArray("SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale 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 INNER JOIN in_interventi_tecnici ON in_interventi_tecnici.idtecnico = an_anagrafiche.idanagrafica WHERE deleted_at IS NOT NULL AND descrizione='Tecnico' GROUP BY an_anagrafiche.idanagrafica ORDER BY ragione_sociale ASC");
|
||||
$total = count($rs);
|
||||
|
||||
$totale_tecnici += $total;
|
||||
|
|
|
@ -5,132 +5,113 @@ include_once __DIR__.'/../../core.php';
|
|||
include_once Modules::filepath('Fatture di vendita', 'modutil.php');
|
||||
|
||||
switch (post('op')) {
|
||||
case 'creafatturavendita':
|
||||
$iddocumento_cliente = [];
|
||||
case 'crea_fattura':
|
||||
$id_documento_cliente = [];
|
||||
$totale_n_ddt = 0;
|
||||
|
||||
// Informazioni della fattura
|
||||
$tipo_documento = $dbo->selectOne('co_tipidocumento', 'id', ['descrizione' => 'Fattura immediata di vendita'])['id'];
|
||||
$dir = 'entrata';
|
||||
$idiva = get_var('Iva predefinita');
|
||||
$data = date('Y-m-d');
|
||||
|
||||
// Segmenti
|
||||
$id_fatture = Modules::get('Fatture di vendita')['id'];
|
||||
if (!isset($_SESSION['m'.$id_fatture]['id_segment'])) {
|
||||
$segments = Modules::getSegments($id_fatture);
|
||||
$_SESSION['m'.$id_fatture]['id_segment'] = isset($segments[0]['id']) ? $segments[0]['id'] : null;
|
||||
}
|
||||
$id_segment = $_SESSION['m'.$id_fatture]['id_segment'];
|
||||
|
||||
// Lettura righe selezionate
|
||||
for ($r = 0; $r < sizeof($id_records); ++$r) {
|
||||
$idiva = setting('Iva predefinita');
|
||||
$idddt = $id_records[$r];
|
||||
foreach ($id_records as $id) {
|
||||
$id_anagrafica = $dbo->selectOne('dt_ddt', 'idanagrafica', ['id' => $id])['idanagrafica'];
|
||||
|
||||
$rs_idanagrafica = $dbo->fetchArray("SELECT idanagrafica FROM in_interventi WHERE id='".$id_records[$r]."'");
|
||||
$idanagrafica = $rs_idanagrafica[0]['idanagrafica'];
|
||||
|
||||
$q = 'SELECT
|
||||
*, dt_righe_ddt.id AS idriga
|
||||
FROM
|
||||
dt_righe_ddt INNER JOIN dt_ddt ON dt_righe_ddt.idddt=dt_ddt.id
|
||||
WHERE
|
||||
idddt='.prepare($idddt).'
|
||||
AND idddt NOT IN (SELECT idddt FROM co_righe_documenti WHERE idddt IS NOT NULL)
|
||||
ORDER BY
|
||||
dt_ddt.data ASC';
|
||||
|
||||
$rsi = $dbo->fetchArray($q);
|
||||
$n_ddt = sizeof($rsi);
|
||||
$totale_n_ddt += $n_ddt;
|
||||
$righe = $dbo->fetchArray('SELECT * FROM dt_righe_ddt WHERE idddt='.prepare($id).' AND idddt NOT IN (SELECT idddt FROM co_righe_documenti WHERE idddt IS NOT NULL)');
|
||||
|
||||
// Proseguo solo se i ddt scelti sono fatturabili
|
||||
if ($n_ddt > 0) {
|
||||
//Se non c'è già una fattura appena creata per questo cliente, creo una fattura nuova
|
||||
if (empty($iddocumento_cliente[$idanagrafica])) {
|
||||
$data = date('Y-m-d');
|
||||
$dir = 'entrata';
|
||||
$idtipodocumento = '2';
|
||||
|
||||
if (empty($_SESSION['m'.Modules::get('Fatture di vendita')['id']]['id_segment'])) {
|
||||
$rs = $dbo->fetchArray('SELECT id FROM zz_segments WHERE predefined = 1 AND id_module = '.prepare(Modules::get('Fatture di vendita')['id']).'LIMIT 0,1');
|
||||
$_SESSION['m'.Modules::get('Fatture di vendita')['id']]['id_segment'] = $rs[0]['id'];
|
||||
}
|
||||
|
||||
$id_segment = $_SESSION['m'.Modules::get('Fatture di vendita')['id']]['id_segment'];
|
||||
if (!empty($righe)) {
|
||||
$id_documento = $id_documento_cliente[$id_anagrafica];
|
||||
|
||||
// Se non c'è già una fattura appena creata per questo cliente, creo una fattura nuova
|
||||
if (empty($id_documento)) {
|
||||
$numero = get_new_numerofattura($data);
|
||||
|
||||
$numero_esterno = get_new_numerosecondariofattura($data);
|
||||
|
||||
$idconto = setting('Conto predefinito fatture di vendita');
|
||||
|
||||
$campo = ($dir == 'entrata') ? 'idpagamento_vendite' : 'idpagamento_acquisti';
|
||||
|
||||
// Tipo di pagamento predefinito dall'anagrafica
|
||||
$query = 'SELECT id FROM co_pagamenti WHERE id=(SELECT '.$campo.' AS pagamento FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica).')';
|
||||
$query = 'SELECT id FROM co_pagamenti WHERE id=(SELECT '.$campo.' AS pagamento FROM an_anagrafiche WHERE idanagrafica='.prepare($id_anagrafica).')';
|
||||
$rs = $dbo->fetchArray($query);
|
||||
$idpagamento = $rs[0]['id'];
|
||||
|
||||
// Se alla non è stato associato un pagamento predefinito al cliente, leggo il pagamento dalle impostazioni
|
||||
if ($idpagamento == '') {
|
||||
if (empty($idpagamento)) {
|
||||
$idpagamento = setting('Tipo di pagamento predefinito');
|
||||
}
|
||||
|
||||
// Creazione nuova fattura
|
||||
$dbo->query('INSERT INTO co_documenti (numero, numero_esterno, idanagrafica, idconto, idtipodocumento, idpagamento, data, idstatodocumento, idsede) VALUES ('.prepare($numero).', '.prepare($numero_esterno).', '.prepare($idanagrafica).', '.prepare($idconto).', '.prepare($idtipodocumento).', '.prepare($idpagamento).', '.prepare($data).", (SELECT `id` FROM `co_statidocumento` WHERE `descrizione`='Bozza'), (SELECT idsede_fatturazione FROM an_anagrafiche WHERE idanagrafica=".prepare($idanagrafica).') )');
|
||||
$iddocumento = $dbo->lastInsertedID();
|
||||
$iddocumento_cliente[$idanagrafica] = $iddocumento;
|
||||
$dbo->insert('co_documenti', [
|
||||
'numero' => $numero,
|
||||
'numero_esterno' => $numero_esterno,
|
||||
'idanagrafica' => $id_anagrafica,
|
||||
'idconto' => $idconto,
|
||||
'idtipodocumento' => $tipo_documento,
|
||||
'idpagamento' => $idpagamento,
|
||||
'data' => $data,
|
||||
'id_segment' => $id_segment,
|
||||
'#idstatodocumento' => "(SELECT `id` FROM `co_statidocumento` WHERE `descrizione`='Bozza')",
|
||||
'#idsede' => 'IFNULL((SELECT idsede_fatturazione FROM an_anagrafiche WHERE idanagrafica='.prepare($id_anagrafica).'), 0)',
|
||||
]);
|
||||
|
||||
$id_documento = $dbo->lastInsertedID();
|
||||
$id_documento_cliente[$id_anagrafica] = $id_documento;
|
||||
}
|
||||
|
||||
// Inserimento righe
|
||||
for ($i = 0; $i < sizeof($rsi); ++$i) {
|
||||
$qta = $rsi[$i]['qta'] - $rsi[$i]['qta_evasa'];
|
||||
foreach ($righe as $riga) {
|
||||
++$totale_n_ddt;
|
||||
|
||||
$qta = $riga['qta'] - $riga['qta_evasa'];
|
||||
|
||||
if ($qta > 0) {
|
||||
$dbo->query('
|
||||
INSERT INTO co_righe_documenti(
|
||||
iddocumento,
|
||||
idarticolo,
|
||||
idddt,
|
||||
idiva,
|
||||
desc_iva,
|
||||
iva,
|
||||
iva_indetraibile,
|
||||
is_descrizione,
|
||||
descrizione,
|
||||
subtotale,
|
||||
sconto,
|
||||
sconto_unitario,
|
||||
sconto_prc,
|
||||
tipo_sconto,
|
||||
idgruppo,
|
||||
abilita_serial,
|
||||
um,
|
||||
qta,
|
||||
`order`)
|
||||
VALUES(
|
||||
'.$iddocumento_cliente[$idanagrafica].',
|
||||
'.prepare($rsi[$i]['idarticolo']).',
|
||||
'.prepare($rsi[$i]['idddt']).',
|
||||
'.prepare($rsi[$i]['idiva']).',
|
||||
'.prepare($rsi[$i]['desc_iva']).',
|
||||
'.prepare($rsi[$i]['iva']).',
|
||||
'.prepare($rsi[$i]['iva_indetraibile']).',
|
||||
'.prepare($rsi[$i]['is_descrizione']).',
|
||||
'.prepare($rsi[$i]['descrizione']).',
|
||||
'.prepare($rsi[$i]['subtotale']).',
|
||||
'.prepare($rsi[$i]['sconto']).',
|
||||
'.prepare($rsi[$i]['sconto_unitario']).',
|
||||
'.prepare($rsi[$i]['sconto_prc']).',
|
||||
'.prepare($rsi[$i]['tipo_sconto']).',
|
||||
'.prepare($rsi[$i]['idgruppo']).',
|
||||
'.prepare($rsi[$i]['abilita_serial']).',
|
||||
'.prepare($rsi[$i]['um']).',
|
||||
'.prepare($qta).',
|
||||
(SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($iddocumento).')
|
||||
)');
|
||||
$dbo->insert('co_righe_documenti', [
|
||||
'iddocumento' => $id_documento,
|
||||
'idarticolo' => $riga['idarticolo'],
|
||||
'idddt' => $id,
|
||||
'idiva' => $riga['idiva'],
|
||||
'desc_iva' => $riga['desc_iva'],
|
||||
'iva' => $riga['iva'],
|
||||
'iva_indetraibile' => $riga['iva_indetraibile'],
|
||||
'descrizione' => $riga['descrizione'],
|
||||
'is_descrizione' => $riga['is_descrizione'],
|
||||
'subtotale' => $riga['subtotale'],
|
||||
'sconto' => $riga['sconto'],
|
||||
'sconto_unitario' => $riga['sconto_unitario'],
|
||||
'tipo_sconto' => $riga['tipo_sconto'],
|
||||
'um' => $riga['um'],
|
||||
'qta' => $qta,
|
||||
'abilita_serial' => $riga['abilita_serial'],
|
||||
'#order' => '(SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_documento).')',
|
||||
]);
|
||||
$id_riga_documento = $dbo->lastInsertedID();
|
||||
|
||||
// Copia dei serial tra le righe
|
||||
if (!empty($riga['idarticolo'])) {
|
||||
$dbo->query('INSERT INTO mg_prodotti (id_riga_documento, id_articolo, dir, serial, lotto, altro) SELECT '.prepare($id_riga_documento).', '.prepare($riga['idarticolo']).', '.prepare($dir).', serial, lotto, altro FROM mg_prodotti AS t WHERE id_riga_ddt='.prepare($riga['id']));
|
||||
}
|
||||
|
||||
// Aggiorno la quantità evasa
|
||||
$dbo->query('UPDATE dt_righe_ddt SET qta_evasa = qta WHERE id='.prepare($rsi[$i]['idriga']));
|
||||
$dbo->query('UPDATE dt_righe_ddt SET qta_evasa = qta WHERE id='.prepare($riga['id']));
|
||||
|
||||
// Aggiorno lo stato ddt
|
||||
$dbo->query('UPDATE dt_ddt SET idstatoddt = (SELECT id FROM dt_statiddt WHERE descrizione="Fatturato") WHERE id='.prepare($rsi[$i]['idddt']));
|
||||
$dbo->query('UPDATE dt_ddt SET idstatoddt = (SELECT id FROM dt_statiddt WHERE descrizione="Fatturato") WHERE id='.prepare($id));
|
||||
}
|
||||
|
||||
// Ricalcolo inps, ritenuta e bollo
|
||||
if ($dir == 'entrata') {
|
||||
ricalcola_costiagg_fattura($iddocumento_cliente[$idanagrafica]);
|
||||
} else {
|
||||
ricalcola_costiagg_fattura($iddocumento_cliente[$idanagrafica], 0, 0, 0);
|
||||
}
|
||||
ricalcola_costiagg_fattura($id_documento);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -162,10 +143,12 @@ switch (post('op')) {
|
|||
break;
|
||||
}
|
||||
|
||||
return [
|
||||
$operations = [
|
||||
'delete-bulk' => tr('Elimina selezionati'),
|
||||
];
|
||||
|
||||
'creafatturavendita' => [
|
||||
if (Modules::get('Ddt di vendita')['id'] == $id_module) {
|
||||
$operations['crea_fattura'] = [
|
||||
'text' => tr('Crea fattura'),
|
||||
'data' => [
|
||||
'msg' => tr('Vuoi davvero creare una fattura per questi interventi?'),
|
||||
|
@ -173,5 +156,7 @@ return [
|
|||
'class' => 'btn btn-lg btn-warning',
|
||||
'blank' => false,
|
||||
],
|
||||
],
|
||||
];
|
||||
];
|
||||
}
|
||||
|
||||
return $operations;
|
||||
|
|
|
@ -37,7 +37,7 @@ switch (post('op')) {
|
|||
break;
|
||||
|
||||
case 'delete':
|
||||
$dbo->query('UPDATE zz_emails SET deleted = 1 WHERE id='.prepare($id_record));
|
||||
$dbo->query('UPDATE zz_emails SET deleted_at = NOW() WHERE id='.prepare($id_record));
|
||||
|
||||
App::flash()->info(tr('Template delle email eliminato!'));
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
|
||||
if (isset($id_record)) {
|
||||
$records = $dbo->fetchArray('SELECT * FROM zz_emails WHERE id='.prepare($id_record).' AND deleted = 0');
|
||||
$records = $dbo->fetchArray('SELECT * FROM zz_emails WHERE id='.prepare($id_record).' AND deleted_at IS NULL');
|
||||
}
|
||||
|
|
|
@ -143,11 +143,11 @@ if ($dir == 'entrata') {
|
|||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "label": "<?php echo tr('Pagamento'); ?>", "name": "idpagamento", "required": 1, "values": "query=SELECT id, descrizione, (SELECT id FROM co_banche WHERE id_pianodeiconti3 = co_pagamenti.idconto_<?php echo $conto; ?> ) AS idbanca FROM co_pagamenti GROUP BY descrizione ORDER BY descrizione ASC", "value": "$idpagamento$", "extra": "onchange=\"$('#idbanca').val( $(this).find('option:selected').data('idbanca') ).change(); \" " ]}
|
||||
{[ "type": "select", "label": "<?php echo tr('Pagamento'); ?>", "name": "idpagamento", "required": 1, "values": "query=SELECT id, descrizione, (SELECT id FROM co_banche WHERE id_pianodeiconti3 = co_pagamenti.idconto_<?php echo $conto; ?> LIMIT 0,1) AS idbanca FROM co_pagamenti GROUP BY descrizione ORDER BY descrizione ASC", "value": "$idpagamento$", "extra": "onchange=\"$('#idbanca').val( $(this).find('option:selected').data('idbanca') ).change(); \" " ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "label": "<?php echo tr('Banca'); ?>", "name": "idbanca", "required": 0, "values": "query=SELECT id, CONCAT (nome, ' - ' , iban) AS descrizione FROM co_banche WHERE deleted = 0 ORDER BY nome ASC", "value": "$idbanca$" ]}
|
||||
{[ "type": "select", "label": "<?php echo tr('Banca'); ?>", "name": "idbanca", "required": 0, "values": "query=SELECT id, CONCAT (nome, ' - ' , iban) AS descrizione FROM co_banche WHERE deleted_at IS NULL ORDER BY nome ASC", "value": "$idbanca$" ]}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -208,7 +208,7 @@ if (empty($new_codice)) {
|
|||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
{[ "type": "select", "label": "<?php echo tr('Stato intervento'); ?>", "name": "idstatointervento", "required": 1, "values": "query=SELECT idstatointervento AS id, descrizione, colore AS _bgcolor_ FROM in_statiintervento WHERE deleted = 0", "value": "<?php echo $idstatointervento; ?>" ]}
|
||||
{[ "type": "select", "label": "<?php echo tr('Stato intervento'); ?>", "name": "idstatointervento", "required": 1, "values": "query=SELECT idstatointervento AS id, descrizione, colore AS _bgcolor_ FROM in_statiintervento WHERE deleted_at IS NULL", "value": "<?php echo $idstatointervento; ?>" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
|
|
|
@ -7,7 +7,7 @@ switch ($resource) {
|
|||
$dbo->query('UPDATE in_interventi_tecnici SET uid = id WHERE uid IS NULL');
|
||||
|
||||
// Individuazione degli interventi
|
||||
$query = 'SELECT in_interventi_tecnici.id AS idriga, in_interventi_tecnici.idintervento, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=in_interventi.idanagrafica) AS cliente, richiesta, orario_inizio, orario_fine, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=idtecnico) AS nome_tecnico, summary FROM in_interventi_tecnici INNER JOIN in_interventi ON in_interventi_tecnici.idintervento=in_interventi.id WHERE CAST(orario_inizio AS DATE) BETWEEN CURDATE()-INTERVAL 7 DAY AND CURDATE()+INTERVAL 3 MONTH AND deleted=0';
|
||||
$query = 'SELECT in_interventi_tecnici.id AS idriga, in_interventi_tecnici.idintervento, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=in_interventi.idanagrafica) AS cliente, richiesta, orario_inizio, orario_fine, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=idtecnico) AS nome_tecnico, summary FROM in_interventi_tecnici INNER JOIN in_interventi ON in_interventi_tecnici.idintervento=in_interventi.id WHERE CAST(orario_inizio AS DATE) BETWEEN CURDATE()-INTERVAL 7 DAY AND CURDATE()+INTERVAL 3 MONTH AND deleted_at IS NULL';
|
||||
|
||||
if (!empty($user['idanagrafica'])) {
|
||||
$query .= ' AND in_interventi_tecnici.idtecnico = '.prepare($user['idanagrafica']);
|
||||
|
@ -55,42 +55,42 @@ switch ($resource) {
|
|||
$period_start = '2000-01-01';
|
||||
$period_end = date('Y-m-d', strtotime($today.' +7 days'));
|
||||
|
||||
$q = "SELECT `in_interventi`.id,
|
||||
`in_interventi`.codice,
|
||||
DATE_FORMAT( MAX(`in_interventi`.`data_richiesta`), '%Y%m%d' ) AS `data_richiesta`,
|
||||
`in_interventi`.richiesta,
|
||||
`in_interventi`.descrizione,
|
||||
`in_interventi`.idtipointervento,
|
||||
`in_interventi`.idanagrafica,
|
||||
`an_anagrafiche`.idzona AS zona_anagrafica,
|
||||
`in_interventi`.idsede,
|
||||
$q = "SELECT `in_interventi`.id,
|
||||
`in_interventi`.codice,
|
||||
DATE_FORMAT( MAX(`in_interventi`.`data_richiesta`), '%Y%m%d' ) AS `data_richiesta`,
|
||||
`in_interventi`.richiesta,
|
||||
`in_interventi`.descrizione,
|
||||
`in_interventi`.idtipointervento,
|
||||
`in_interventi`.idanagrafica,
|
||||
`an_anagrafiche`.idzona AS zona_anagrafica,
|
||||
`in_interventi`.idsede,
|
||||
`an_sedi`.idzona AS zona_sede,
|
||||
`in_interventi`.idstatointervento,
|
||||
`in_interventi`.informazioniaggiuntive,
|
||||
`in_interventi`.idsede,
|
||||
`in_interventi`.idclientefinale,
|
||||
`in_interventi`.firma_file,
|
||||
IF( MAX(firma_data)='0000-00-00 00:00:00', '', DATE_FORMAT(MAX(firma_data),'%d/%m/%Y %T') ) AS `firma_data`,
|
||||
`in_interventi`.firma_nome,
|
||||
IFNULL((SELECT GROUP_CONCAT( CONCAT(my_impianti.matricola, ' - ', my_impianti.nome) SEPARATOR ', ')
|
||||
FROM (my_impianti_interventi INNER JOIN my_impianti ON my_impianti_interventi.idimpianto=my_impianti.id)
|
||||
WHERE my_impianti_interventi.idintervento=`in_interventi`.`id`),'') AS `impianti`,
|
||||
DATE_FORMAT( MAX(`orario_fine`), '%Y%m%d' ) AS `data`,
|
||||
(SELECT GROUP_CONCAT(ragione_sociale SEPARATOR ', ') FROM (`in_interventi_tecnici` INNER JOIN `an_anagrafiche` ON `in_interventi_tecnici`.`idtecnico`=`an_anagrafiche`.`idanagrafica`) WHERE `in_interventi_tecnici`.`idintervento`=`in_interventi`.`id`) AS `tecnici`,
|
||||
`in_statiintervento`.`colore` AS `bgcolor`,
|
||||
`in_statiintervento`.`descrizione` AS `stato`,
|
||||
`in_interventi`.`idtipointervento` AS `tipo`,
|
||||
`in_interventi`.idstatointervento,
|
||||
`in_interventi`.informazioniaggiuntive,
|
||||
`in_interventi`.idsede,
|
||||
`in_interventi`.idclientefinale,
|
||||
`in_interventi`.firma_file,
|
||||
IF( MAX(firma_data)='0000-00-00 00:00:00', '', DATE_FORMAT(MAX(firma_data),'%d/%m/%Y %T') ) AS `firma_data`,
|
||||
`in_interventi`.firma_nome,
|
||||
IFNULL((SELECT GROUP_CONCAT( CONCAT(my_impianti.matricola, ' - ', my_impianti.nome) SEPARATOR ', ')
|
||||
FROM (my_impianti_interventi INNER JOIN my_impianti ON my_impianti_interventi.idimpianto=my_impianti.id)
|
||||
WHERE my_impianti_interventi.idintervento=`in_interventi`.`id`),'') AS `impianti`,
|
||||
DATE_FORMAT( MAX(`orario_fine`), '%Y%m%d' ) AS `data`,
|
||||
(SELECT GROUP_CONCAT(ragione_sociale SEPARATOR ', ') FROM (`in_interventi_tecnici` INNER JOIN `an_anagrafiche` ON `in_interventi_tecnici`.`idtecnico`=`an_anagrafiche`.`idanagrafica`) WHERE `in_interventi_tecnici`.`idintervento`=`in_interventi`.`id`) AS `tecnici`,
|
||||
`in_statiintervento`.`colore` AS `bgcolor`,
|
||||
`in_statiintervento`.`descrizione` AS `stato`,
|
||||
`in_interventi`.`idtipointervento` AS `tipo`,
|
||||
DATE_FORMAT( MAX(`orario_inizio`), '%d/%m/%Y %T' ) AS `orario_inizio_leggibile`,
|
||||
DATE_FORMAT( MAX(`orario_fine`), '%d/%m/%Y %T' ) AS `orario_fine_leggibile`,
|
||||
`orario_inizio`, `orario_fine`
|
||||
FROM (`in_interventi`
|
||||
INNER JOIN `in_statiintervento` ON `in_interventi`.`idstatointervento`=`in_statiintervento`.`idstatointervento`)
|
||||
INNER JOIN `in_interventi_tecnici` ON `in_interventi_tecnici`.`idintervento`=`in_interventi`.`id`
|
||||
DATE_FORMAT( MAX(`orario_fine`), '%d/%m/%Y %T' ) AS `orario_fine_leggibile`,
|
||||
`orario_inizio`, `orario_fine`
|
||||
FROM (`in_interventi`
|
||||
INNER JOIN `in_statiintervento` ON `in_interventi`.`idstatointervento`=`in_statiintervento`.`idstatointervento`)
|
||||
INNER JOIN `in_interventi_tecnici` ON `in_interventi_tecnici`.`idintervento`=`in_interventi`.`id`
|
||||
INNER JOIN `an_anagrafiche` ON `in_interventi`.`idanagrafica`=`an_anagrafiche`.`idanagrafica`
|
||||
LEFT OUTER JOIN `an_sedi` ON `in_interventi`.`idsede`=`an_sedi`.`id`
|
||||
GROUP BY `in_interventi`.`id`
|
||||
HAVING (DATE_FORMAT( `orario_fine`, '%Y-%m-%d' ) >= '".$period_start."' AND
|
||||
DATE_FORMAT( `orario_fine`, '%Y-%m-%d' ) <= '".$period_end."')
|
||||
LEFT OUTER JOIN `an_sedi` ON `in_interventi`.`idsede`=`an_sedi`.`id`
|
||||
GROUP BY `in_interventi`.`id`
|
||||
HAVING (DATE_FORMAT( `orario_fine`, '%Y-%m-%d' ) >= '".$period_start."' AND
|
||||
DATE_FORMAT( `orario_fine`, '%Y-%m-%d' ) <= '".$period_end."')
|
||||
ORDER BY `orario_fine` DESC";
|
||||
|
||||
// TODO: rimosse seguenti clausole:
|
||||
|
|
|
@ -111,7 +111,7 @@ switch ($resource) {
|
|||
$dbo->query("DELETE FROM in_interventi_tecnici WHERE id='".$rs_sessioni[$i]['id']."'");
|
||||
$rs_per_intervento = $dbo->fetchArray("SELECT * FROM in_interventi_tecnici WHERE idintervento='".$idintervento."'");
|
||||
if(sizeof($rs_per_intervento)==0){
|
||||
$dbo->query("UPDATE in_interventi SET deleted=1 WHERE idintervento='".$idintervento."'");
|
||||
$dbo->query("UPDATE in_interventi SET deleted_at=NOW() WHERE idintervento='".$idintervento."'");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ $_SESSION['superselect']['idanagrafica'] = $records[0]['idanagrafica'];
|
|||
<?php
|
||||
echo Modules::link('Anagrafiche', $records[0]['idanagrafica'], null, null, 'class="pull-right"');
|
||||
?>
|
||||
{[ "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", "readonly": "<?php echo $records[0]['flag_completato']; ?>" ]}
|
||||
{[ "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_at IS NULL ORDER BY ragione_sociale", "value": "$idanagrafica$", "ajax-source": "clienti", "readonly": "<?php echo $records[0]['flag_completato']; ?>" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
|
@ -116,7 +116,7 @@ $_SESSION['superselect']['idanagrafica'] = $records[0]['idanagrafica'];
|
|||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
{[ "type": "select", "label": "<?php echo tr('Stato'); ?>", "name": "idstatointervento", "required": 1, "values": "query=SELECT idstatointervento AS id, descrizione, colore AS _bgcolor_ FROM in_statiintervento WHERE deleted = 0", "value": "$idstatointervento$" ]}
|
||||
{[ "type": "select", "label": "<?php echo tr('Stato'); ?>", "name": "idstatointervento", "required": 1, "values": "query=SELECT idstatointervento AS id, descrizione, colore AS _bgcolor_ FROM in_statiintervento WHERE deleted_at IS NULL", "value": "$idstatointervento$" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
|
|
|
@ -24,11 +24,11 @@ if ($source == 'Attività') {
|
|||
</div>
|
||||
|
||||
<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": "<?php echo $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_at IS NULL ORDER BY ragione_sociale", "value": "<?php echo $idanagrafica; ?>", "ajax-source": "clienti" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "<?php echo tr('Tecnico'); ?>", "name": "idtecnico", "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='Tecnico' AND deleted=0 ORDER BY ragione_sociale" ]}
|
||||
{[ "type": "select", "label": "<?php echo tr('Tecnico'); ?>", "name": "idtecnico", "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='Tecnico' AND deleted_at IS NULL ORDER BY ragione_sociale" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ if (!empty($records[0]['immagine'])) {
|
|||
<div class="clearfix"></div>
|
||||
|
||||
<div class="col-md-12">
|
||||
{[ "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$", "extra": "onchange=\"load_preventivi( this.value ); load_contratti( this.value ); $('#idsede').load( '<?php echo $rootdir; ?>/ajax_complete.php?module=Anagrafiche&op=get_sedi_select&idanagrafica='+$('#idanagrafica option:selected').val() ); load_impianti( $('#idanagrafica option:selected').val(), $('#idsede option:selected').val() );\"", "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_at IS NULL ORDER BY ragione_sociale", "value": "$idanagrafica$", "extra": "onchange=\"load_preventivi( this.value ); load_contratti( this.value ); $('#idsede').load( '<?php echo $rootdir; ?>/ajax_complete.php?module=Anagrafiche&op=get_sedi_select&idanagrafica='+$('#idanagrafica option:selected').val() ); load_impianti( $('#idanagrafica option:selected').val(), $('#idsede option:selected').val() );\"", "ajax-source": "clienti" ]}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -48,7 +48,7 @@ if (!empty($records[0]['immagine'])) {
|
|||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
{[ "type": "select", "label": "<?php echo tr('Tecnico assegnato'); ?>", "name": "idtecnico", "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='Tecnico' AND deleted=0 ORDER BY ragione_sociale ASC", "value": "$idtecnico$" ]}
|
||||
{[ "type": "select", "label": "<?php echo tr('Tecnico assegnato'); ?>", "name": "idtecnico", "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='Tecnico' AND deleted_at IS NULL ORDER BY ragione_sociale ASC", "value": "$idtecnico$" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
|
|
|
@ -64,11 +64,11 @@ if ($module['name'] == 'Ordini cliente') {
|
|||
|
||||
if ($dir == 'entrata') {
|
||||
?>
|
||||
{[ "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", "readonly": "<?php echo $records[0]['flag_completato']; ?>" ]}
|
||||
{[ "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_at IS NULL ORDER BY ragione_sociale", "value": "$idanagrafica$", "ajax-source": "clienti", "readonly": "<?php echo $records[0]['flag_completato']; ?>" ]}
|
||||
<?php
|
||||
} else {
|
||||
?>
|
||||
{[ "type": "select", "label": "<?php echo tr('Fornitore'); ?>", "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='Fornitore' AND deleted=0 ORDER BY ragione_sociale", "value": "$idanagrafica$", "readonly": "<?php echo $records[0]['flag_completato']; ?>" ]}
|
||||
{[ "type": "select", "label": "<?php echo tr('Fornitore'); ?>", "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='Fornitore' AND deleted_at IS NULL ORDER BY ragione_sociale", "value": "$idanagrafica$", "readonly": "<?php echo $records[0]['flag_completato']; ?>" ]}
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
|
|
@ -25,7 +25,7 @@ $_SESSION['superselect']['idanagrafica'] = $records[0]['idanagrafica'];
|
|||
<?php
|
||||
echo Modules::link('Anagrafiche', $records[0]['idanagrafica'], null, null, 'class="pull-right"');
|
||||
?>
|
||||
{[ "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_at IS NULL ORDER BY ragione_sociale", "value": "$idanagrafica$", "ajax-source": "clienti" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
|
@ -34,7 +34,7 @@ $_SESSION['superselect']['idanagrafica'] = $records[0]['idanagrafica'];
|
|||
echo Modules::link('Anagrafiche', $records[0]['idagente'], null, null, 'class="pull-right"');
|
||||
}
|
||||
?>
|
||||
{[ "type": "select", "label": "<?php echo tr('Agente'); ?>", "name": "idagente", "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='Agente' AND deleted=0 ORDER BY ragione_sociale", "value": "$idagente$" ]}
|
||||
{[ "type": "select", "label": "<?php echo tr('Agente'); ?>", "name": "idagente", "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='Agente' AND deleted_at IS NULL ORDER BY ragione_sociale", "value": "$idagente$" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
|
|
|
@ -15,7 +15,7 @@ include_once __DIR__.'/../../core.php';
|
|||
|
||||
if (!empty($iddocumento)) {
|
||||
// Lettura numero e tipo di documento
|
||||
$query = 'SELECT dir, numero, numero_esterno, data, co_tipidocumento.descrizione AS tdescrizione, idanagrafica AS parent_idanagrafica, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=parent_idanagrafica AND deleted=0) AS ragione_sociale FROM co_documenti LEFT OUTER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_documenti.id='.prepare($iddocumento);
|
||||
$query = 'SELECT dir, numero, numero_esterno, data, co_tipidocumento.descrizione AS tdescrizione, idanagrafica AS parent_idanagrafica, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=parent_idanagrafica AND deleted_at IS NULL) AS ragione_sociale FROM co_documenti LEFT OUTER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_documenti.id='.prepare($iddocumento);
|
||||
$rs = $dbo->fetchArray($query);
|
||||
$dir = $rs[0]['dir'];
|
||||
$numero_doc = !empty($rs[0]['numero_esterno']) ? $rs[0]['numero_esterno'] : $rs[0]['numero'];
|
||||
|
|
|
@ -75,7 +75,7 @@ switch (post('op')) {
|
|||
break;
|
||||
|
||||
case 'delete':
|
||||
$dbo->query('UPDATE zz_smtps SET deleted = 1 WHERE id='.prepare($id_record));
|
||||
$dbo->query('UPDATE zz_smtps SET deleted_at = NOW() WHERE id='.prepare($id_record));
|
||||
|
||||
App::flash()->info(tr('Account email eliminato!'));
|
||||
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
if (isset($id_record)) {
|
||||
$records = $dbo->fetchArray('SELECT * FROM zz_smtps WHERE id='.prepare($id_record).' AND deleted = 0');
|
||||
$records = $dbo->fetchArray('SELECT * FROM zz_smtps WHERE id='.prepare($id_record).' AND deleted_at IS NULL');
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@ switch (post('op')) {
|
|||
|
||||
//scelgo se settare come eliminato o cancellare direttamente la riga se non è stato utilizzato negli interventi
|
||||
if (count($dbo->fetchArray('SELECT id FROM in_interventi WHERE idstatointervento='.prepare($id_record))) > 0) {
|
||||
$query = 'UPDATE in_statiintervento SET deleted = 1 WHERE idstatointervento='.prepare($id_record).' AND `can_delete`=1';
|
||||
$query = 'UPDATE in_statiintervento SET deleted_at = NOW() WHERE idstatointervento='.prepare($id_record).' AND `can_delete`=1';
|
||||
} else {
|
||||
$query = 'DELETE FROM in_statiintervento WHERE idstatointervento='.prepare($id_record).' AND `can_delete`=1';
|
||||
}
|
||||
|
|
|
@ -2,77 +2,88 @@
|
|||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
echo '
|
||||
$tipi_interventi = $dbo->fetchArray('SELECT * FROM in_tipiintervento ORDER BY descrizione');
|
||||
|
||||
$tecnici = $dbo->fetchArray("SELECT idanagrafica, ragione_sociale FROM an_anagrafiche WHERE idanagrafica IN (
|
||||
SELECT idanagrafica FROM an_tipianagrafiche_anagrafiche WHERE idtipoanagrafica IN (
|
||||
SELECT idtipoanagrafica FROM an_tipianagrafiche WHERE descrizione = 'Tecnico'
|
||||
)
|
||||
) ORDER BY ragione_sociale");
|
||||
|
||||
if (!empty($tecnici)) {
|
||||
echo '
|
||||
<form action="" method="post" id="edit-form">
|
||||
<input type="hidden" name="op" value="update">
|
||||
<input type="hidden" name="backto" value="record-list">
|
||||
|
||||
<table class="table table-striped table-condensed">';
|
||||
|
||||
$rst = $dbo->fetchArray("SELECT an_anagrafiche.idanagrafica, ragione_sociale 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 an_tipianagrafiche.descrizione='Tecnico' ORDER BY ragione_sociale");
|
||||
|
||||
for ($t = 0; $t < count($rst); ++$t) {
|
||||
echo '
|
||||
<tr>
|
||||
<th>'.$rst[$t]['ragione_sociale'].'</th>
|
||||
<th>'.tr('Attività').'</th>
|
||||
<th>'.tr('Addebito orario').'</th>
|
||||
<th>'.tr('Addebito km').'</th>
|
||||
<th>'.tr('Addebito diritto ch.').'</th>
|
||||
|
||||
<th>'.tr('Costo orario').'</th>
|
||||
<th>'.tr('Costo km').'</th>
|
||||
<th>'.tr('Costo diritto ch.').'</th>
|
||||
<th width="40"></th>
|
||||
</tr>';
|
||||
|
||||
// Attività
|
||||
$rsa = $dbo->fetchArray('SELECT * FROM in_tipiintervento ORDER BY descrizione');
|
||||
|
||||
for ($a = 0; $a < count($rsa); ++$a) {
|
||||
//Lettura costi
|
||||
$rsc = $dbo->fetchArray('SELECT * FROM in_tariffe WHERE idtecnico='.prepare($rst[$t]['idanagrafica']).' AND idtipointervento='.prepare($rsa[$a]['idtipointervento']));
|
||||
foreach ($tecnici as $tecnico) {
|
||||
echo '
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>'.$rsa[$a]['descrizione'].'</td>
|
||||
<tr>
|
||||
<th>'.$tecnico['ragione_sociale'].'</th>
|
||||
<th>'.tr('Attività').'</th>
|
||||
<th>'.tr('Addebito orario').'</th>
|
||||
<th>'.tr('Addebito km').'</th>
|
||||
<th>'.tr('Addebito diritto ch.').'</th>
|
||||
|
||||
<td>
|
||||
<input type="text" class="form-control inputmask-decimal" name="costo_ore['.$rst[$t]['idanagrafica'].']['.$rsa[$a]['idtipointervento'].']" value="'.Translator::numberToLocale($rsc[0]['costo_ore']).'">
|
||||
</td>
|
||||
<th>'.tr('Costo orario').'</th>
|
||||
<th>'.tr('Costo km').'</th>
|
||||
<th>'.tr('Costo diritto ch.').'</th>
|
||||
<th width="40"></th>
|
||||
</tr>';
|
||||
|
||||
<td>
|
||||
<input type="text" class="form-control inputmask-decimal" name="costo_km['.$rst[$t]['idanagrafica'].']['.$rsa[$a]['idtipointervento'].']" value="'.Translator::numberToLocale($rsc[0]['costo_km']).'">
|
||||
</td>
|
||||
// Tipi di interventi
|
||||
foreach ($tipi_interventi as $tipo_intervento) {
|
||||
// Lettura costi
|
||||
$rsc = $dbo->fetchArray('SELECT * FROM in_tariffe WHERE idtecnico='.prepare($tecnico['idanagrafica']).' AND idtipointervento='.prepare($tipo_intervento['idtipointervento']));
|
||||
|
||||
<td>
|
||||
<input type="text" class="form-control inputmask-decimal" name="costo_dirittochiamata['.$rst[$t]['idanagrafica'].']['.$rsa[$a]['idtipointervento'].']" value="'.Translator::numberToLocale($rsc[0]['costo_dirittochiamata']).'">
|
||||
</td>
|
||||
echo '
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>'.$tipo_intervento['descrizione'].'</td>
|
||||
|
||||
<td>
|
||||
<input type="text" class="form-control inputmask-decimal" name="costo_ore_tecnico['.$rst[$t]['idanagrafica'].']['.$rsa[$a]['idtipointervento'].']" value="'.Translator::numberToLocale($rsc[0]['costo_ore_tecnico']).'">
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" class="form-control inputmask-decimal" name="costo_ore['.$tecnico['idanagrafica'].']['.$tipo_intervento['idtipointervento'].']" value="'.Translator::numberToLocale($rsc[0]['costo_ore']).'">
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<input type="text" class="form-control inputmask-decimal" name="costo_km_tecnico['.$rst[$t]['idanagrafica'].']['.$rsa[$a]['idtipointervento'].']" value="'.Translator::numberToLocale($rsc[0]['costo_km_tecnico']).'">
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" class="form-control inputmask-decimal" name="costo_km['.$tecnico['idanagrafica'].']['.$tipo_intervento['idtipointervento'].']" value="'.Translator::numberToLocale($rsc[0]['costo_km']).'">
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<input type="text" class="form-control inputmask-decimal" name="costo_dirittochiamata_tecnico['.$rst[$t]['idanagrafica'].']['.$rsa[$a]['idtipointervento'].']" value="'.Translator::numberToLocale($rsc[0]['costo_dirittochiamata_tecnico']).'">
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" class="btn btn-primary" data-toggle="tooltip" title="Importa valori da tariffe standard" onclick="if( confirm(\'Importare i valori dalle tariffe standard?\') ){ $.post( \''.$rootdir.'/modules/tecnici_tariffe/actions.php\', { op: \'import\', idtecnico: \''.$rst[$t]['idanagrafica'].'\', idtipointervento: \''.$rsa[$a]['idtipointervento'].'\' }, function(data){ location.href=\''.$rootdir.'/controller.php?id_module='.$id_module.'\'; } ); }">
|
||||
<i class="fa fa-download"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>';
|
||||
<td>
|
||||
<input type="text" class="form-control inputmask-decimal" name="costo_dirittochiamata['.$tecnico['idanagrafica'].']['.$tipo_intervento['idtipointervento'].']" value="'.Translator::numberToLocale($rsc[0]['costo_dirittochiamata']).'">
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<input type="text" class="form-control inputmask-decimal" name="costo_ore_tecnico['.$tecnico['idanagrafica'].']['.$tipo_intervento['idtipointervento'].']" value="'.Translator::numberToLocale($rsc[0]['costo_ore_tecnico']).'">
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<input type="text" class="form-control inputmask-decimal" name="costo_km_tecnico['.$tecnico['idanagrafica'].']['.$tipo_intervento['idtipointervento'].']" value="'.Translator::numberToLocale($rsc[0]['costo_km_tecnico']).'">
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<input type="text" class="form-control inputmask-decimal" name="costo_dirittochiamata_tecnico['.$tecnico['idanagrafica'].']['.$tipo_intervento['idtipointervento'].']" value="'.Translator::numberToLocale($rsc[0]['costo_dirittochiamata_tecnico']).'">
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" class="btn btn-primary" data-toggle="tooltip" title="Importa valori da tariffe standard" onclick="if( confirm(\'Importare i valori dalle tariffe standard?\') ){ $.post( \''.$rootdir.'/modules/tecnici_tariffe/actions.php\', { op: \'import\', idtecnico: \''.$tecnico['idanagrafica'].'\', idtipointervento: \''.$tipo_intervento['idtipointervento'].'\' }, function(data){ location.href=\''.$rootdir.'/controller.php?id_module='.$id_module.'\'; } ); }">
|
||||
<i class="fa fa-download"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>';
|
||||
}
|
||||
}
|
||||
|
||||
echo '
|
||||
</table>
|
||||
|
||||
<div class="pull-right">
|
||||
<button type="submit" class="btn btn-success"><i class="fa fa-check"></i> '.tr('Salva modifiche').'</button>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
</form>';
|
||||
} else {
|
||||
echo '
|
||||
<p>'.tr('Non sono presenti anagrafiche di tipo "Tecnico"').'</p>';
|
||||
}
|
||||
|
||||
echo '
|
||||
</table>
|
||||
|
||||
<div class="pull-right">
|
||||
<button type="submit" class="btn btn-success"><i class="fa fa-check"></i> '.tr('Salva modifiche').'</button>
|
||||
</div>
|
||||
<div class="clearfix"></div>';
|
||||
|
|
|
@ -6,7 +6,7 @@ switch ($resource) {
|
|||
case 'anagrafiche_utenti':
|
||||
$query = 'SELECT `an_anagrafiche`.`idanagrafica` AS id, `an_anagrafiche`.`ragione_sociale` AS "descrizione", `an_tipianagrafiche`.`descrizione` AS optgroup FROM `an_tipianagrafiche` INNER JOIN `an_tipianagrafiche_anagrafiche` ON `an_tipianagrafiche`.`idtipoanagrafica`=`an_tipianagrafiche_anagrafiche`.`idtipoanagrafica` INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica`=`an_tipianagrafiche_anagrafiche`.`idanagrafica` |where| ORDER BY `optgroup` ASC';
|
||||
|
||||
$where[] = 'an_anagrafiche.deleted= 0';
|
||||
$where[] = 'an_anagrafiche.deleted_at IS NULL';
|
||||
|
||||
if (!empty($search)) {
|
||||
$search_fields[] = 'an_anagrafiche.ragione_sociale LIKE '.prepare('%'.$search.'%');
|
||||
|
|
|
@ -293,7 +293,7 @@ class App
|
|||
|
||||
$fields[] = trim($view['name']);
|
||||
|
||||
$search_inside[] = !empty($view['search_inside']) ? $view['search_inside'] : $view['name'];
|
||||
$search_inside[] = !empty($view['search_inside']) ? $view['search_inside'] : '`'.$view['name'].'`';
|
||||
$order_by[] = !empty($view['order_by']) ? $view['order_by'] : '`'.$view['name'].'`';
|
||||
$search[] = $view['search'];
|
||||
$slow[] = $view['slow'];
|
||||
|
@ -352,7 +352,7 @@ class App
|
|||
$format[] = 0;
|
||||
}
|
||||
|
||||
$search_inside = $fields;
|
||||
$search_inside = $order_by;
|
||||
|
||||
return [
|
||||
'query' => self::replacePlaceholder($query),
|
||||
|
|
|
@ -28,7 +28,7 @@ class Mail extends PHPMailer\PHPMailer\PHPMailer
|
|||
if (empty(self::$accounts)) {
|
||||
$database = Database::getConnection();
|
||||
|
||||
$results = $database->fetchArray('SELECT * FROM zz_smtps WHERE deleted = 0');
|
||||
$results = $database->fetchArray('SELECT * FROM zz_smtps WHERE deleted_at IS NULL');
|
||||
|
||||
$accounts = [];
|
||||
|
||||
|
@ -77,7 +77,7 @@ class Mail extends PHPMailer\PHPMailer\PHPMailer
|
|||
if (empty(self::$templates)) {
|
||||
$database = Database::getConnection();
|
||||
|
||||
$results = $database->fetchArray('SELECT * FROM zz_emails WHERE deleted = 0');
|
||||
$results = $database->fetchArray('SELECT * FROM zz_emails WHERE deleted_at IS NULL');
|
||||
|
||||
$templates = [];
|
||||
$references = [];
|
||||
|
|
|
@ -355,6 +355,25 @@ class Update
|
|||
// Imposta l'aggiornamento nello stato di esecuzione dello script
|
||||
$database->query('UPDATE `updates` SET `done` = 0 WHERE id = '.prepare($update['id']));
|
||||
|
||||
// Permessi di default delle viste
|
||||
if ($database->tableExists('zz_views')) {
|
||||
$gruppi = $database->fetchArray('SELECT `id` FROM `zz_groups`');
|
||||
$viste = $database->fetchArray('SELECT `id` FROM `zz_views` WHERE `id` NOT IN (SELECT `id_vista` FROM `zz_group_view`)');
|
||||
|
||||
$array = [];
|
||||
foreach ($viste as $vista) {
|
||||
foreach ($gruppi as $gruppo) {
|
||||
$array[] = [
|
||||
'id_gruppo' => $gruppo['id'],
|
||||
'id_vista' => $vista['id'],
|
||||
];
|
||||
}
|
||||
}
|
||||
if (!empty($array)) {
|
||||
$database->insert('zz_group_view', $array);
|
||||
}
|
||||
}
|
||||
|
||||
// Normalizzazione dei campi per l'API
|
||||
self::executeScript(DOCROOT.'/update/api.php');
|
||||
|
||||
|
|
|
@ -20,7 +20,23 @@ echo '
|
|||
'_NUM_' => $records[0]['numero'],
|
||||
'_DATE_' => Translator::dateToLocale($records[0]['data_bozza']),
|
||||
], ['upper' => true]).'</b>
|
||||
</div>
|
||||
</div>';
|
||||
|
||||
// Elenco impianti
|
||||
if (!empty($records[0]['idimpianti'])) {
|
||||
$impianti = $dbo->fetchArray('SELECT nome, matricola FROM my_impianti WHERE id IN ('.$records[0]['idimpianti'].')');
|
||||
|
||||
$list = [];
|
||||
foreach ($impianti as $impianto) {
|
||||
$list[] = $impianto['nome']." <span style='color:#777;'>(".$impianto['matricola'].')</span>';
|
||||
}
|
||||
|
||||
echo '
|
||||
<br>
|
||||
<p class="small-bold">'.tr('Impianti', [], ['upper' => true]).'</p>
|
||||
<p><small>'.implode(', ', $list).'</small></p>';
|
||||
}
|
||||
echo '
|
||||
</div>
|
||||
|
||||
<div class="col-xs-5 col-xs-offset-1">
|
||||
|
@ -289,12 +305,15 @@ echo '
|
|||
</table>';
|
||||
|
||||
// Conclusione
|
||||
echo '
|
||||
if (empty($records[0]['fatturabile'])) {
|
||||
echo '
|
||||
<p class="text-center"><b>'.tr('Il tutto S.E. & O.').'</b></p>
|
||||
<p class="text-center">'.tr("In attesa di un Vostro Cortese riscontro, colgo l'occasione per porgere Cordiali Saluti").'</p>';
|
||||
}
|
||||
|
||||
//Firma
|
||||
echo '<div style=\'position:absolute; bottom:'.($settings['margins']['bottom'] + $settings['footer-height']).'px\' > <table >
|
||||
// Firma
|
||||
echo '<div style="position:absolute; bottom:'.($settings['margins']['bottom'] + $settings['footer-height']).'px">
|
||||
<table>
|
||||
<tr>
|
||||
<td style="vertical-align:bottom;" width="50%">
|
||||
lì, ___________________________
|
||||
|
|
|
@ -5,7 +5,7 @@ include_once __DIR__.'/../../core.php';
|
|||
$module_name = 'Contratti';
|
||||
|
||||
// Lettura info fattura
|
||||
$records = $dbo->fetchArray('SELECT *, co_contratti.descrizione AS desc_contratto, (SELECT orario_inizio FROM in_interventi_tecnici WHERE idintervento=in_interventi.id LIMIT 0,1) AS data, co_contratti.descrizione AS `cdescrizione`, co_contratti.idanagrafica AS `idanagrafica`, co_contratti.costo_orario AS costo_orario , co_contratti.costo_km AS costo_km FROM co_contratti LEFT OUTER JOIN (co_contratti_promemoria LEFT OUTER JOIN in_interventi ON co_contratti_promemoria.idintervento=in_interventi.id) ON co_contratti.id=co_contratti_promemoria.idcontratto WHERE co_contratti.id='.prepare($id_record));
|
||||
$records = $dbo->fetchArray('SELECT *, co_contratti.descrizione AS desc_contratto, (SELECT orario_inizio FROM in_interventi_tecnici WHERE idintervento=in_interventi.id LIMIT 0,1) AS data, (SELECT fatturabile FROM co_staticontratti WHERE id=idstato) AS fatturabile, (SELECT GROUP_CONCAT(my_impianti_contratti.idimpianto) FROM my_impianti_contratti WHERE idcontratto = co_contratti.id) AS idimpianti, co_contratti.descrizione AS `cdescrizione`, co_contratti.idanagrafica AS `idanagrafica`, co_contratti.costo_orario AS costo_orario , co_contratti.costo_km AS costo_km FROM co_contratti LEFT OUTER JOIN (co_contratti_promemoria LEFT OUTER JOIN in_interventi ON co_contratti_promemoria.idintervento=in_interventi.id) ON co_contratti.id=co_contratti_promemoria.idcontratto WHERE co_contratti.id='.prepare($id_record));
|
||||
|
||||
$id_cliente = $records[0]['idanagrafica'];
|
||||
$id_sede = $records[0]['idsede'];
|
||||
|
|
|
@ -46,7 +46,7 @@ $rs_gen = $dbo->fetchArray("SELECT *,
|
|||
(SELECT `percentuale` FROM `co_iva` WHERE `id` = `dt_righe_ddt`.`idiva`) AS perc_iva,
|
||||
IFNULL((SELECT peso_lordo FROM mg_articoli WHERE id=idarticolo),0) * qta AS peso_lordo,
|
||||
IFNULL((SELECT volume FROM mg_articoli WHERE id=idarticolo),0) * qta AS volume
|
||||
FROM `dt_righe_ddt` WHERE idddt=".prepare($id_record));
|
||||
FROM `dt_righe_ddt` WHERE idddt=".prepare($id_record).' ORDER BY `order`');
|
||||
foreach ($rs_gen as $r) {
|
||||
$count = 0;
|
||||
$count += ceil(strlen($r['descrizione']) / $autofill['words']);
|
||||
|
|
|
@ -1,26 +1,5 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* Inserimento valori di default
|
||||
*/
|
||||
|
||||
// Permessi di default delle viste
|
||||
$gruppi = $database->fetchArray('SELECT `id` FROM `zz_groups`');
|
||||
$results = $database->fetchArray('SELECT `id` FROM `zz_views` WHERE `id` NOT IN (SELECT `id_vista` FROM `zz_group_view`)');
|
||||
|
||||
$array = [];
|
||||
foreach ($results as $result) {
|
||||
foreach ($gruppi as $gruppo) {
|
||||
$array[] = [
|
||||
'id_gruppo' => $gruppo['id'],
|
||||
'id_vista' => $result['id'],
|
||||
];
|
||||
}
|
||||
}
|
||||
if (!empty($array)) {
|
||||
$database->insert('zz_group_view', $array);
|
||||
}
|
||||
|
||||
/*
|
||||
* Fix
|
||||
*/
|
||||
|
|
|
@ -1,26 +1,5 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* Inserimento valori di default
|
||||
*/
|
||||
|
||||
// Permessi di default delle viste
|
||||
$gruppi = $database->fetchArray('SELECT `id` FROM `zz_groups`');
|
||||
$results = $database->fetchArray('SELECT `id` FROM `zz_views` WHERE `id` NOT IN (SELECT `id_vista` FROM `zz_group_view`)');
|
||||
|
||||
$array = [];
|
||||
foreach ($results as $result) {
|
||||
foreach ($gruppi as $gruppo) {
|
||||
$array[] = [
|
||||
'id_gruppo' => $gruppo['id'],
|
||||
'id_vista' => $result['id'],
|
||||
];
|
||||
}
|
||||
}
|
||||
if (!empty($array)) {
|
||||
$database->insert('zz_group_view', $array);
|
||||
}
|
||||
|
||||
/*
|
||||
* Rimozione file e cartelle deprecati
|
||||
*/
|
||||
|
|
|
@ -196,7 +196,8 @@ UPDATE `co_documenti` SET `id_segment`='2' WHERE `idtipodocumento` IN (SELECT `i
|
|||
|
||||
-- Innesto modulo segmenti sotto "Strumenti"
|
||||
INSERT INTO `zz_modules` (`id`, `name`, `title`, `directory`, `options`, `options2`, `icon`, `version`, `compatibility`, `order`, `parent`, `default`, `enabled`) VALUES
|
||||
(NULL, 'Segmenti', 'Segmenti', 'segmenti', '{ "main_query": [ { "type": "table", "fields": "id, Nome, Modulo, Maschera, Note, Predefinito", "query": "SELECT `id`, (IF(predefined=1, ''Sì'', ''No'')) AS `Predefinito`, `name` AS `Nome`, (SELECT name FROM zz_modules WHERE id = zz_segments.id_module) AS Modulo, `pattern` AS `Maschera`, `note` AS `Note` FROM `zz_segments` HAVING 2=2 ORDER BY name, id_module"} ]}', '', 'fa fa-database', '2.4', '2.4', 1, (SELECT `id` FROM `zz_modules` `m` WHERE `name` = 'Strumenti'), 1, 1);
|
||||
(NULL, 'Segmenti', 'Segmenti', 'segmenti', '{ "main_query": [ { "type": "table", "fields": "id, Nome, Modulo, Maschera, Note, Predefinito", "query": "SELECT `id`, (IF(predefined=1, ''Sì'', ''No'')) AS `Predefinito`, `name` AS `Nome`, (SELECT name FROM zz_modules WHERE id = zz_segments.id_module) AS Modulo, `pattern` AS `Maschera`, `note` AS `Note` FROM `zz_segments` HAVING 2=2 ORDER BY name, id_module"} ]}', '', 'fa fa-database', '2.4', '2.4', 1, NULL, 1, 1);
|
||||
UPDATE `zz_modules` `t1` INNER JOIN `zz_modules` `t2` ON (`t1`.`name` = 'Segmenti' AND `t2`.`name` = 'Strumenti') SET `t1`.`parent` = `t2`.`id`;
|
||||
|
||||
-- Aggiorno widget Fatturato con i sezionali
|
||||
UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS(" ", REPLACE(REPLACE(REPLACE(FORMAT(SUM((SELECT SUM(subtotale+iva-sconto) FROM co_righe_documenti WHERE iddocumento=co_documenti.id)+iva_rivalsainps+rivalsainps+bollo-ritenutaacconto), 2), ",", "#"), ".", ","), "#", "."), "€") AS dato FROM co_documenti WHERE idtipodocumento IN (SELECT id FROM co_tipidocumento WHERE dir="entrata") |segment| AND data >= "|period_start|" AND data <= "|period_end|" AND 1=1' WHERE `zz_widgets`.`name` = 'Fatturato';
|
||||
|
@ -314,19 +315,14 @@ CREATE TABLE IF NOT EXISTS `co_banche` (
|
|||
) ENGINE=InnoDB;
|
||||
|
||||
-- Innesto modulo per gestione banche
|
||||
INSERT INTO `zz_modules` (`id`, `name`, `title`, `directory`, `options`, `options2`, `icon`, `version`, `compatibility`, `order`, `parent`, `default`, `enabled`) VALUES (NULL, 'Banche', 'Banche', 'banche', 'SELECT |select| FROM `co_banche` WHERE 1=1 AND deleted = 0 GROUP BY `nome` HAVING 2=2', '', 'fa fa-university', '2.4', '2.4', '1', (SELECT `id` FROM `zz_modules` m WHERE `name` = 'Tabelle'), '1', '1');
|
||||
INSERT INTO `zz_modules` (`id`, `name`, `title`, `directory`, `options`, `options2`, `icon`, `version`, `compatibility`, `order`, `parent`, `default`, `enabled`) VALUES (NULL, 'Banche', 'Banche', 'banche', 'SELECT |select| FROM `co_banche` WHERE 1=1 AND deleted = 0 GROUP BY `nome` HAVING 2=2', '', 'fa fa-university', '2.4', '2.4', '1', NULL, '1', '1');
|
||||
UPDATE `zz_modules` `t1` INNER JOIN `zz_modules` `t2` ON (`t1`.`name` = 'Banche' AND `t2`.`name` = 'Tabelle') SET `t1`.`parent` = `t2`.`id`;
|
||||
|
||||
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `search_inside`, `order_by`, `enabled`, `summable`, `default`) VALUES
|
||||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche'), 'id', 'co_banche.id', 0, 0, 0, 0, '', '', 1, 0, 0),
|
||||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche'), 'Nome', 'co_banche.nome', 0, 0, 0, 0, '', '', 1, 0, 0),
|
||||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche'), 'Filiale', 'co_banche.filiale', 0, 0, 0, 0, '', '', 1, 0, 0),
|
||||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche'), 'IBAN', 'co_banche.iban', 0, 0, 0, 0, '', '', 1, 0, 0);
|
||||
|
||||
INSERT INTO `zz_group_view` (`id_gruppo`, `id_vista`) VALUES
|
||||
((SELECT `id` FROM `zz_groups` WHERE `nome` = 'Amministratori'), (SELECT `id` FROM `zz_views` WHERE `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche') AND `name` = 'id')),
|
||||
((SELECT `id` FROM `zz_groups` WHERE `nome` = 'Amministratori'), (SELECT `id` FROM `zz_views` WHERE `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche') AND `name` = 'Nome')),
|
||||
((SELECT `id` FROM `zz_groups` WHERE `nome` = 'Amministratori'), (SELECT `id` FROM `zz_views` WHERE `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche') AND `name` = 'Filiale')),
|
||||
((SELECT `id` FROM `zz_groups` WHERE `nome` = 'Amministratori'), (SELECT `id` FROM `zz_views` WHERE `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche') AND `name` = 'IBAN'));
|
||||
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `enabled`, `summable`, `default`) VALUES
|
||||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche'), 'id', 'co_banche.id', 0, 0, 0, 0, 1, 0, 0),
|
||||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche'), 'Nome', 'co_banche.nome', 0, 0, 0, 0, 1, 0, 0),
|
||||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche'), 'Filiale', 'co_banche.filiale', 0, 0, 0, 0, 1, 0, 0),
|
||||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche'), 'IBAN', 'co_banche.iban', 0, 0, 0, 0, 1, 0, 0);
|
||||
|
||||
-- Aggiungo campi in an_anagrafiche con riferimento banche
|
||||
ALTER TABLE `an_anagrafiche` ADD `idbanca_vendite` INT(11) NOT NULL AFTER `idconto_cliente`, ADD `idbanca_acquisti` INT(11) NOT NULL AFTER `idbanca_vendite`;
|
||||
|
|
|
@ -1,26 +1,5 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* Inserimento valori di default
|
||||
*/
|
||||
|
||||
// Permessi di default delle viste
|
||||
$gruppi = $database->fetchArray('SELECT `id` FROM `zz_groups`');
|
||||
$results = $database->fetchArray('SELECT `id` FROM `zz_views` WHERE `id` NOT IN (SELECT `id_vista` FROM `zz_group_view`)');
|
||||
|
||||
$array = [];
|
||||
foreach ($results as $result) {
|
||||
foreach ($gruppi as $gruppo) {
|
||||
$array[] = [
|
||||
'id_gruppo' => $gruppo['id'],
|
||||
'id_vista' => $result['id'],
|
||||
];
|
||||
}
|
||||
}
|
||||
if (!empty($array)) {
|
||||
$database->insert('zz_group_view', $array);
|
||||
}
|
||||
|
||||
// Script per aggiornare le date dei movimenti con le date dei documenti
|
||||
|
||||
$rs = $dbo->fetchArray('SELECT * FROM mg_movimenti');
|
||||
|
|
115
update/2_4_1.sql
115
update/2_4_1.sql
|
@ -53,16 +53,6 @@ UPDATE `zz_modules` `t1` INNER JOIN `zz_modules` `t2` ON (`t1`.`name` = 'Modelli
|
|||
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `search_inside`, `order_by`, `enabled`, `summable`, `default`) VALUES (NULL, (SELECT id FROM zz_modules WHERE name='Modelli prima nota'), 'id', 'co_movimenti_modelli.id', '0', '1', '0', '0', NULL, NULL, '0', '0', '1');
|
||||
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `search_inside`, `order_by`, `enabled`, `summable`, `default`) VALUES (NULL, (SELECT id FROM zz_modules WHERE name='Modelli prima nota'), 'Causale predefinita', 'co_movimenti_modelli.descrizione', '1', '1', '0', '0', NULL, NULL, '1', '0', '1');
|
||||
|
||||
INSERT INTO `zz_group_view` (`id_gruppo`, `id_vista`) VALUES
|
||||
(1, (SELECT id FROM `zz_views` WHERE id_module=(SELECT id FROM zz_modules WHERE name='Modelli prima nota') AND name='id' )),
|
||||
(1, (SELECT id FROM `zz_views` WHERE id_module=(SELECT id FROM zz_modules WHERE name='Modelli prima nota') AND name='Causale predefinita' )),
|
||||
(2, (SELECT id FROM `zz_views` WHERE id_module=(SELECT id FROM zz_modules WHERE name='Modelli prima nota') AND name='id' )),
|
||||
(2, (SELECT id FROM `zz_views` WHERE id_module=(SELECT id FROM zz_modules WHERE name='Modelli prima nota') AND name='Causale predefinita' )),
|
||||
(3, (SELECT id FROM `zz_views` WHERE id_module=(SELECT id FROM zz_modules WHERE name='Modelli prima nota') AND name='id' )),
|
||||
(3, (SELECT id FROM `zz_views` WHERE id_module=(SELECT id FROM zz_modules WHERE name='Modelli prima nota') AND name='Causale predefinita' )),
|
||||
(4, (SELECT id FROM `zz_views` WHERE id_module=(SELECT id FROM zz_modules WHERE name='Modelli prima nota') AND name='id' )),
|
||||
(4, (SELECT id FROM `zz_views` WHERE id_module=(SELECT id FROM zz_modules WHERE name='Modelli prima nota') AND name='Causale predefinita' ));
|
||||
|
||||
-- Widget per stampa calendario
|
||||
INSERT INTO `zz_widgets` (`id`, `name`, `type`, `id_module`, `location`, `class`, `query`, `bgcolor`, `icon`, `print_link`, `more_link`, `more_link_type`, `php_include`, `text`, `enabled`, `order`, `help` ) VALUES (NULL, 'Stampa calendario', 'print', '1', 'controller_top', 'col-md-12', NULL, '#4ccc4c', 'fa fa-print', '', './modules/dashboard/widgets/stampa_calendario.dashboard.php', 'popup', '', 'Stampa calendario', '1', '7', NULL);
|
||||
|
||||
|
@ -145,22 +135,10 @@ UPDATE `zz_views` SET `query` = 'CONCAT(mg_movimenti.qta,'' '', (SELECT um FROM
|
|||
INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `enabled`, `default`) VALUES
|
||||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Movimenti'), 'Data', 'mg_movimenti.data', 5, 1, 0, 1, 1, 1);
|
||||
|
||||
INSERT INTO `zz_group_view` (`id_gruppo`, `id_vista`) VALUES
|
||||
(1, (SELECT id FROM `zz_views` WHERE id_module=(SELECT id FROM zz_modules WHERE name='Movimenti') AND name='Data' )),
|
||||
(2, (SELECT id FROM `zz_views` WHERE id_module=(SELECT id FROM zz_modules WHERE name='Movimenti') AND name='Data' )),
|
||||
(3, (SELECT id FROM `zz_views` WHERE id_module=(SELECT id FROM zz_modules WHERE name='Movimenti') AND name='Data' )),
|
||||
(4, (SELECT id FROM `zz_views` WHERE id_module=(SELECT id FROM zz_modules WHERE name='Movimenti') AND name='Data' ));
|
||||
|
||||
-- Aggiungo colonna impianti per i contratti
|
||||
INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `enabled`, `default`) VALUES
|
||||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Contratti'), 'Impianti', '(SELECT IF(nome = '''', GROUP_CONCAT(matricola SEPARATOR ''<br>''), GROUP_CONCAT(matricola, '' - '', nome SEPARATOR ''<br>'')) FROM my_impianti INNER JOIN my_impianti_contratti ON my_impianti.id = my_impianti_contratti.idimpianto WHERE my_impianti_contratti.idcontratto = co_contratti.id)', 4, 1, 0, 0, 0, 1);
|
||||
|
||||
INSERT INTO `zz_group_view` (`id_gruppo`, `id_vista`) VALUES
|
||||
(1, (SELECT id FROM `zz_views` WHERE id_module=(SELECT id FROM zz_modules WHERE name='Contratti') AND name='Impianti' )),
|
||||
(2, (SELECT id FROM `zz_views` WHERE id_module=(SELECT id FROM zz_modules WHERE name='Contratti') AND name='Impianti' )),
|
||||
(3, (SELECT id FROM `zz_views` WHERE id_module=(SELECT id FROM zz_modules WHERE name='Contratti') AND name='Impianti' )),
|
||||
(4, (SELECT id FROM `zz_views` WHERE id_module=(SELECT id FROM zz_modules WHERE name='Contratti') AND name='Impianti' ));
|
||||
|
||||
-- Tempo standard per attività
|
||||
ALTER TABLE `in_tipiintervento` ADD `tempo_standard` DECIMAL(10,2) NULL AFTER `costo_diritto_chiamata_tecnico`;
|
||||
|
||||
|
@ -239,12 +217,6 @@ UPDATE `or_righe_ordini` SET `abilita_serial` = 0 WHERE `idarticolo` NOT IN (SEL
|
|||
INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `enabled`, `default`) VALUES
|
||||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Preventivi'), 'idanagrafica', 'co_preventivi.idanagrafica', 0, 0, 0, 0, 0, 1);
|
||||
|
||||
INSERT INTO `zz_group_view` (`id_gruppo`, `id_vista`) VALUES
|
||||
(1, (SELECT id FROM `zz_views` WHERE id_module=(SELECT id FROM zz_modules WHERE name='Preventivi') AND name='idanagrafica' )),
|
||||
(2, (SELECT id FROM `zz_views` WHERE id_module=(SELECT id FROM zz_modules WHERE name='Preventivi') AND name='idanagrafica' )),
|
||||
(3, (SELECT id FROM `zz_views` WHERE id_module=(SELECT id FROM zz_modules WHERE name='Preventivi') AND name='idanagrafica' )),
|
||||
(4, (SELECT id FROM `zz_views` WHERE id_module=(SELECT id FROM zz_modules WHERE name='Preventivi') AND name='idanagrafica' ));
|
||||
|
||||
-- Fix name, title e order stampa ordine fornitore senza costi
|
||||
UPDATE `zz_prints` SET `name` = 'Ordine fornitore (senza costi)', `title` = 'Ordine fornitore (senza costi)', `order` = 1 WHERE `zz_prints`.`name` = 'Ordine fornitore' AND options = '{"pricing":false}' AND `zz_prints`.`id_module` = (SELECT id FROM zz_modules WHERE name='Ordini fornitore') ;
|
||||
-- Stampa ordine fornitore con costi costi
|
||||
|
@ -393,4 +365,89 @@ UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS(\" \", REPLACE(REPLACE(REPLA
|
|||
INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `enabled`, `default`) VALUES
|
||||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di vendita'), 'Tipo', 'co_tipidocumento.descrizione', 4, 1, 0, 1, 1);
|
||||
INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `enabled`, `default`) VALUES
|
||||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di acquisto'), 'Tipo', 'co_tipidocumento.descrizione', 4, 1, 0, 1, 1);
|
||||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di acquisto'), 'Tipo',
|
||||
'co_tipidocumento.descrizione', 4, 1, 0, 1, 1);
|
||||
|
||||
-- Aggiunta di alcuni filtri di base
|
||||
INSERT INTO `zz_group_module` (`id`, `idgruppo`, `idmodule`, `name`, `clause`, `position`, `enabled`, `default`) VALUES
|
||||
(NULL, (SELECT `id` FROM `zz_groups` WHERE `nome` = 'Clienti'), (SELECT `id` FROM `zz_modules` WHERE `name` = 'Ddt di vendita'), 'Mostra ddt di vendita ai clienti coinvolti', 'dt_ddt.idanagrafica=|idanagrafica|', 'WHR', '0', '1'),
|
||||
(NULL, (SELECT `id` FROM `zz_groups` WHERE `nome` = 'Clienti'), (SELECT `id` FROM `zz_modules` WHERE `name` = 'Ordini cliente'), 'Mostra ordini cliente ai clienti coinvolti', 'or_ordini.idanagrafica=|idanagrafica|', 'WHR', '0', '1'),
|
||||
(NULL, (SELECT `id` FROM `zz_groups` WHERE `nome` = 'Clienti'), (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di vendita'), 'Mostra fatture di vendita ai clienti coinvolti', 'co_documenti.idanagrafica=|idanagrafica|', 'WHR', '0', '1');
|
||||
|
||||
-- Sostituzione deleted con deleted_at
|
||||
ALTER TABLE `co_banche` ADD `deleted_at` timestamp NULL DEFAULT NULL;
|
||||
UPDATE `co_banche` SET `deleted_at` = NOW() WHERE `deleted` = 1;
|
||||
ALTER TABLE `co_banche` DROP `deleted`;
|
||||
|
||||
ALTER TABLE `an_anagrafiche` ADD `deleted_at` timestamp NULL DEFAULT NULL;
|
||||
UPDATE `an_anagrafiche` SET `deleted_at` = NOW() WHERE `deleted` = 1;
|
||||
ALTER TABLE `an_anagrafiche` DROP `deleted`;
|
||||
|
||||
ALTER TABLE `in_statiintervento` ADD `deleted_at` timestamp NULL DEFAULT NULL;
|
||||
UPDATE `in_statiintervento` SET `deleted_at` = NOW() WHERE `deleted` = 1;
|
||||
ALTER TABLE `in_statiintervento` DROP `deleted`;
|
||||
|
||||
ALTER TABLE `zz_emails` ADD `deleted_at` timestamp NULL DEFAULT NULL;
|
||||
UPDATE `zz_emails` SET `deleted_at` = NOW() WHERE `deleted` = 1;
|
||||
ALTER TABLE `zz_emails` DROP `deleted`;
|
||||
|
||||
ALTER TABLE `zz_smtp` ADD `deleted_at` timestamp NULL DEFAULT NULL;
|
||||
UPDATE `zz_smtp` SET `deleted_at` = NOW() WHERE `deleted` = 1;
|
||||
ALTER TABLE `zz_smtp` DROP `deleted`;
|
||||
|
||||
ALTER TABLE `in_interventi` ADD `deleted_at` timestamp NULL DEFAULT NULL;
|
||||
UPDATE `in_interventi` SET `deleted_at` = NOW() WHERE `deleted` = 1;
|
||||
ALTER TABLE `in_interventi` DROP `deleted`;
|
||||
|
||||
UPDATE `zz_widgets` SET `query` = REPLACE(
|
||||
REPLACE(
|
||||
REPLACE(`query`, 'deleted=0', '`deleted_at` IS NULL')
|
||||
, 'deleted = 0', '`deleted_at` IS NULL')
|
||||
, '`deleted` = 0', '`deleted_at` IS NULL');
|
||||
UPDATE `zz_modules` SET `options` = REPLACE(
|
||||
REPLACE(
|
||||
REPLACE(`options`, 'deleted=0', '`deleted_at` IS NULL')
|
||||
, 'deleted = 0', '`deleted_at` IS NULL')
|
||||
, '`deleted` = 0', '`deleted_at` IS NULL'), `options2` = REPLACE(
|
||||
REPLACE(
|
||||
REPLACE(`options2`, 'deleted=0', '`deleted_at` IS NULL')
|
||||
, 'deleted = 0', '`deleted_at` IS NULL')
|
||||
, '`deleted` = 0', '`deleted_at` IS NULL');
|
||||
UPDATE `zz_group_module` SET `clause` = REPLACE(
|
||||
REPLACE(
|
||||
REPLACE(`clause`, 'deleted=0', '`deleted_at` IS NULL')
|
||||
, 'deleted = 0', '`deleted_at` IS NULL')
|
||||
, '`deleted` = 0', '`deleted_at` IS NULL');
|
||||
UPDATE `zz_views` SET `query` = REPLACE(
|
||||
REPLACE(
|
||||
REPLACE(`query`, 'deleted=0', '`deleted_at` IS NULL')
|
||||
, 'deleted = 0', '`deleted_at` IS NULL')
|
||||
, '`deleted` = 0', '`deleted_at` IS NULL');
|
||||
|
||||
UPDATE `zz_widgets` SET `query` = REPLACE(
|
||||
REPLACE(
|
||||
REPLACE(`query`, 'deleted=1', '`deleted_at` IS NOT NULL')
|
||||
, 'deleted = 1', '`deleted_at` IS NOT NULL')
|
||||
, '`deleted` = 1', '`deleted_at` IS NOT NULL');
|
||||
UPDATE `zz_modules` SET `options` = REPLACE(
|
||||
REPLACE(
|
||||
REPLACE(`options`, 'deleted=1', '`deleted_at` IS NOT NULL')
|
||||
, 'deleted = 1', '`deleted_at` IS NOT NULL')
|
||||
, '`deleted` = 1', '`deleted_at` IS NOT NULL'), `options2` = REPLACE(
|
||||
REPLACE(
|
||||
REPLACE(`options2`, 'deleted=1', '`deleted_at` IS NOT NULL')
|
||||
, 'deleted = 1', '`deleted_at` IS NOT NULL')
|
||||
, '`deleted` = 1', '`deleted_at` IS NOT NULL');
|
||||
UPDATE `zz_group_module` SET `clause` = REPLACE(
|
||||
REPLACE(
|
||||
REPLACE(`clause`, 'deleted=1', '`deleted_at` IS NOT NULL')
|
||||
, 'deleted = 1', '`deleted_at` IS NOT NULL')
|
||||
, '`deleted` = 1', '`deleted_at` IS NOT NULL');
|
||||
UPDATE `zz_views` SET `query` = REPLACE(
|
||||
REPLACE(
|
||||
REPLACE(`query`, 'deleted=1', '`deleted_at` IS NOT NULL')
|
||||
, 'deleted = 1', '`deleted_at` IS NOT NULL')
|
||||
, '`deleted` = 1', '`deleted_at` IS NOT NULL');
|
||||
|
||||
-- Fix id delle Banche
|
||||
UPDATE `zz_views` SET `enabled` = 0 WHERE `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche') AND `name` = 'id';
|
||||
|
|
Loading…
Reference in New Issue