Rimozione co_preventivi_interventi
This commit is contained in:
parent
b3f59df958
commit
39094589ec
|
@ -586,7 +586,7 @@ switch (post('op')) {
|
||||||
$rs2 = $dbo->fetchArray($query2);
|
$rs2 = $dbo->fetchArray($query2);
|
||||||
|
|
||||||
for ($j = 0; $j < sizeof($rs2); ++$j) {
|
for ($j = 0; $j < sizeof($rs2); ++$j) {
|
||||||
$dbo->query("UPDATE in_interventi SET idstatointervento=(SELECT idstatointervento FROM in_statiintervento WHERE descrizione='Fatturato') WHERE id IN (SELECT idintervento FROM co_preventivi_interventi WHERE idpreventivo=".prepare($rs2[$j]['idpreventivo']).')');
|
$dbo->query("UPDATE in_interventi SET idstatointervento=(SELECT idstatointervento FROM in_statiintervento WHERE descrizione='Fatturato') WHERE id_preventivo=".prepare($rs2[$j]['idpreventivo']));
|
||||||
}
|
}
|
||||||
|
|
||||||
flash()->info(tr('Preventivo _NUM_ aggiunto!', [
|
flash()->info(tr('Preventivo _NUM_ aggiunto!', [
|
||||||
|
@ -974,7 +974,9 @@ switch (post('op')) {
|
||||||
|
|
||||||
// Aggiornamento seriali dalla riga dell'ordine
|
// Aggiornamento seriali dalla riga dell'ordine
|
||||||
$serials = is_array(post('serial')[$i]) ? post('serial')[$i] : [];
|
$serials = is_array(post('serial')[$i]) ? post('serial')[$i] : [];
|
||||||
$serials = array_filter($serials, function ($value) { return !empty($value); });
|
$serials = array_filter($serials, function ($value) {
|
||||||
|
return !empty($value);
|
||||||
|
});
|
||||||
|
|
||||||
$dbo->sync('mg_prodotti', ['id_riga_documento' => $idriga, 'dir' => $dir, 'id_articolo' => $idarticolo], ['serial' => $serials]);
|
$dbo->sync('mg_prodotti', ['id_riga_documento' => $idriga, 'dir' => $dir, 'id_articolo' => $idarticolo], ['serial' => $serials]);
|
||||||
}
|
}
|
||||||
|
@ -1055,7 +1057,9 @@ switch (post('op')) {
|
||||||
|
|
||||||
// Aggiornamento seriali dalla riga dell'ordine
|
// Aggiornamento seriali dalla riga dell'ordine
|
||||||
$serials = is_array(post('serial')[$i]) ? post('serial')[$i] : [];
|
$serials = is_array(post('serial')[$i]) ? post('serial')[$i] : [];
|
||||||
$serials = array_filter($serials, function ($value) { return !empty($value); });
|
$serials = array_filter($serials, function ($value) {
|
||||||
|
return !empty($value);
|
||||||
|
});
|
||||||
|
|
||||||
$dbo->sync('mg_prodotti', ['id_riga_documento' => $riga, 'dir' => $dir, 'id_articolo' => $idarticolo], ['serial' => $serials]);
|
$dbo->sync('mg_prodotti', ['id_riga_documento' => $riga, 'dir' => $dir, 'id_articolo' => $idarticolo], ['serial' => $serials]);
|
||||||
|
|
||||||
|
@ -1279,16 +1283,16 @@ switch (post('op')) {
|
||||||
$dbo->query("UPDATE co_preventivi SET idstato=(SELECT id FROM co_statipreventivi WHERE descrizione='In lavorazione') WHERE id=".prepare($rsp[$i]['idpreventivo']));
|
$dbo->query("UPDATE co_preventivi SET idstato=(SELECT id FROM co_statipreventivi WHERE descrizione='In lavorazione') WHERE id=".prepare($rsp[$i]['idpreventivo']));
|
||||||
|
|
||||||
// Aggiorno anche lo stato degli interventi collegati ai preventivi
|
// Aggiorno anche lo stato degli interventi collegati ai preventivi
|
||||||
$dbo->query("UPDATE in_interventi SET idstatointervento='OK' WHERE id IN (SELECT idintervento FROM co_preventivi_interventi WHERE idpreventivo=".prepare($rsp[$i]['idpreventivo']).')');
|
$dbo->query("UPDATE in_interventi SET idstatointervento='OK' WHERE id_preventivo=".prepare($rsp[$i]['idpreventivo']));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Rimuovo tutti gli articoli dalla fattura collegati agli interventi di questo preventivo
|
Rimuovo tutti gli articoli dalla fattura collegati agli interventi di questo preventivo
|
||||||
*/
|
*/
|
||||||
$rs2 = $dbo->fetchArray('SELECT idintervento FROM co_preventivi_interventi WHERE idpreventivo != 0 AND idpreventivo='.prepare($idpreventivo));
|
$rs2 = $dbo->fetchArray('SELECT id FROM in_interventi WHERE id_preventivo = '.prepare($idpreventivo));
|
||||||
for ($i = 0; $i < sizeof($rs2); ++$i) {
|
for ($i = 0; $i < sizeof($rs2); ++$i) {
|
||||||
// Leggo gli articoli usati in questo intervento
|
// Leggo gli articoli usati in questo intervento
|
||||||
$rs3 = $dbo->fetchArray('SELECT idarticolo FROM mg_articoli_interventi WHERE idintervento='.prepare($rs2[$i]['idintervento']));
|
$rs3 = $dbo->fetchArray('SELECT idarticolo FROM mg_articoli_interventi WHERE idintervento='.prepare($rs2[$i]['id']));
|
||||||
for ($j = 0; $j < sizeof($rs3); ++$j) {
|
for ($j = 0; $j < sizeof($rs3); ++$j) {
|
||||||
// Leggo l'id della riga in fattura di questo articolo
|
// Leggo l'id della riga in fattura di questo articolo
|
||||||
$rs4 = $dbo->fetchArray('SELECT id FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND idarticolo='.prepare($rs3[$j]['idarticolo']));
|
$rs4 = $dbo->fetchArray('SELECT id FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND idarticolo='.prepare($rs3[$j]['idarticolo']));
|
||||||
|
@ -1541,7 +1545,9 @@ switch (post('op')) {
|
||||||
|
|
||||||
// Aggiornamento seriali dalla riga dell'ordine
|
// Aggiornamento seriali dalla riga dell'ordine
|
||||||
$serials = is_array(post('serial')[$i]) ? post('serial')[$i] : [];
|
$serials = is_array(post('serial')[$i]) ? post('serial')[$i] : [];
|
||||||
$serials = array_filter($serials, function ($value) { return !empty($value); });
|
$serials = array_filter($serials, function ($value) {
|
||||||
|
return !empty($value);
|
||||||
|
});
|
||||||
|
|
||||||
$dbo->sync('mg_prodotti', ['id_riga_documento' => $riga, 'dir' => 'uscita', 'id_articolo' => $idarticolo], ['serial' => $serials]);
|
$dbo->sync('mg_prodotti', ['id_riga_documento' => $riga, 'dir' => 'uscita', 'id_articolo' => $idarticolo], ['serial' => $serials]);
|
||||||
$dbo->detach('mg_prodotti', ['id_riga_documento' => $idriga, 'dir' => 'entrata', 'id_articolo' => $idarticolo], ['serial' => $serials]);
|
$dbo->detach('mg_prodotti', ['id_riga_documento' => $idriga, 'dir' => 'entrata', 'id_articolo' => $idarticolo], ['serial' => $serials]);
|
||||||
|
|
|
@ -45,7 +45,7 @@ $rs = $dbo->fetchArray('SELECT
|
||||||
(in_interventi.idanagrafica='.prepare($idanagrafica).' OR in_interventi.idclientefinale='.prepare($idanagrafica).')
|
(in_interventi.idanagrafica='.prepare($idanagrafica).' OR in_interventi.idclientefinale='.prepare($idanagrafica).')
|
||||||
AND in_statiintervento.completato=1
|
AND in_statiintervento.completato=1
|
||||||
AND in_interventi.id NOT IN (SELECT idintervento FROM co_righe_documenti WHERE idintervento IS NOT NULL)
|
AND in_interventi.id NOT IN (SELECT idintervento FROM co_righe_documenti WHERE idintervento IS NOT NULL)
|
||||||
AND NOT in_interventi.id IN (SELECT idintervento FROM co_preventivi_interventi WHERE idintervento IS NOT NULL)
|
AND in_interventi.id_preventivo IS NULL
|
||||||
AND NOT in_interventi.id IN (SELECT idintervento FROM co_promemoria WHERE idintervento IS NOT NULL)');
|
AND NOT in_interventi.id IN (SELECT idintervento FROM co_promemoria WHERE idintervento IS NOT NULL)');
|
||||||
foreach ($rs as $key => $value) {
|
foreach ($rs as $key => $value) {
|
||||||
$rs[$key]['prezzo'] = get_costi_intervento($value['id'])['totale'];
|
$rs[$key]['prezzo'] = get_costi_intervento($value['id'])['totale'];
|
||||||
|
|
|
@ -268,13 +268,13 @@ if ($record['stato'] != 'Pagato' && $record['stato'] != 'Emessa') {
|
||||||
if (empty($record['ref_documento'])) {
|
if (empty($record['ref_documento'])) {
|
||||||
if ($dir == 'entrata') {
|
if ($dir == 'entrata') {
|
||||||
// Lettura interventi non rifiutati, non fatturati e non collegati a preventivi o contratti
|
// Lettura interventi non rifiutati, non fatturati e non collegati a preventivi o contratti
|
||||||
$int_query = 'SELECT COUNT(*) AS tot FROM in_interventi INNER JOIN in_statiintervento ON in_interventi.idstatointervento=in_statiintervento.idstatointervento WHERE idanagrafica='.prepare($record['idanagrafica']).' AND in_statiintervento.completato=1 AND in_interventi.id NOT IN (SELECT idintervento FROM co_righe_documenti WHERE idintervento IS NOT NULL) AND in_interventi.id NOT IN (SELECT idintervento FROM co_preventivi_interventi WHERE idintervento IS NOT NULL) AND in_interventi.id NOT IN (SELECT idintervento FROM co_promemoria WHERE idintervento IS NOT NULL)';
|
$int_query = 'SELECT COUNT(*) AS tot FROM in_interventi INNER JOIN in_statiintervento ON in_interventi.idstatointervento=in_statiintervento.idstatointervento WHERE idanagrafica='.prepare($record['idanagrafica']).' AND in_statiintervento.completato=1 AND in_interventi.id NOT IN (SELECT idintervento FROM co_righe_documenti WHERE idintervento IS NOT NULL) AND in_interventi.id_preventivo IS NULL AND in_interventi.id NOT IN (SELECT idintervento FROM co_promemoria WHERE idintervento IS NOT NULL)';
|
||||||
$interventi = $dbo->fetchArray($int_query)[0]['tot'];
|
$interventi = $dbo->fetchArray($int_query)[0]['tot'];
|
||||||
|
|
||||||
// Se non trovo niente provo a vedere se ce ne sono per clienti terzi
|
// Se non trovo niente provo a vedere se ce ne sono per clienti terzi
|
||||||
if (empty($interventi)) {
|
if (empty($interventi)) {
|
||||||
// Lettura interventi non rifiutati, non fatturati e non collegati a preventivi o contratti (clienti terzi)
|
// Lettura interventi non rifiutati, non fatturati e non collegati a preventivi o contratti (clienti terzi)
|
||||||
$int_query = 'SELECT COUNT(*) AS tot FROM in_interventi INNER JOIN in_statiintervento ON in_interventi.idstatointervento=in_statiintervento.idstatointervento WHERE idclientefinale='.prepare($record['idanagrafica']).' AND in_statiintervento.completato=1 AND in_interventi.id NOT IN (SELECT idintervento FROM co_righe_documenti WHERE idintervento IS NOT NULL) AND in_interventi.id NOT IN (SELECT idintervento FROM co_preventivi_interventi WHERE idintervento IS NOT NULL) AND in_interventi.id NOT IN (SELECT idintervento FROM co_promemoria WHERE idintervento IS NOT NULL)';
|
$int_query = 'SELECT COUNT(*) AS tot FROM in_interventi INNER JOIN in_statiintervento ON in_interventi.idstatointervento=in_statiintervento.idstatointervento WHERE idclientefinale='.prepare($record['idanagrafica']).' AND in_statiintervento.completato=1 AND in_interventi.id NOT IN (SELECT idintervento FROM co_righe_documenti WHERE idintervento IS NOT NULL) AND in_interventi.id_preventivo IS NULL AND in_interventi.id NOT IN (SELECT idintervento FROM co_promemoria WHERE idintervento IS NOT NULL)';
|
||||||
$interventi = $dbo->fetchArray($int_query)[0]['tot'];
|
$interventi = $dbo->fetchArray($int_query)[0]['tot'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,18 +20,6 @@ switch (post('op')) {
|
||||||
$richiesta = post('richiesta');
|
$richiesta = post('richiesta');
|
||||||
$idsede = post('idsede');
|
$idsede = post('idsede');
|
||||||
|
|
||||||
/*
|
|
||||||
Collegamento intervento a preventivo (se impostato)
|
|
||||||
*/
|
|
||||||
// Elimino il collegamento attuale
|
|
||||||
$dbo->query('DELETE FROM co_preventivi_interventi WHERE idintervento='.prepare($id_record));
|
|
||||||
if (!empty($idpreventivo)) {
|
|
||||||
$dbo->insert('co_preventivi_interventi', [
|
|
||||||
'idintervento' => $id_record,
|
|
||||||
'idpreventivo' => $idpreventivo,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Collegamento intervento a contratto (se impostato).
|
Collegamento intervento a contratto (se impostato).
|
||||||
Oltre al collegamento al contratto, l'intervento è collegato ad una riga di pianificazione, perciò è importante considerarla se è impostata
|
Oltre al collegamento al contratto, l'intervento è collegato ad una riga di pianificazione, perciò è importante considerarla se è impostata
|
||||||
|
@ -194,6 +182,7 @@ switch (post('op')) {
|
||||||
'idstatointervento' => post('idstatointervento'),
|
'idstatointervento' => post('idstatointervento'),
|
||||||
'idsede' => $idsede,
|
'idsede' => $idsede,
|
||||||
'idautomezzo' => post('idautomezzo'),
|
'idautomezzo' => post('idautomezzo'),
|
||||||
|
'id_preventivo' => $idpreventivo,
|
||||||
|
|
||||||
'sconto_globale' => $sconto,
|
'sconto_globale' => $sconto,
|
||||||
'tipo_sconto_globale' => $tipo_sconto,
|
'tipo_sconto_globale' => $tipo_sconto,
|
||||||
|
@ -236,6 +225,7 @@ switch (post('op')) {
|
||||||
'idtipointervento' => $idtipointervento,
|
'idtipointervento' => $idtipointervento,
|
||||||
'idsede' => $idsede ?: 0,
|
'idsede' => $idsede ?: 0,
|
||||||
'idautomezzo' => $idautomezzo ?: 0,
|
'idautomezzo' => $idautomezzo ?: 0,
|
||||||
|
'id_preventivo' => $idpreventivo,
|
||||||
|
|
||||||
'codice' => $codice,
|
'codice' => $codice,
|
||||||
'data_richiesta' => $data_richiesta,
|
'data_richiesta' => $data_richiesta,
|
||||||
|
@ -247,14 +237,6 @@ switch (post('op')) {
|
||||||
flash()->info(tr('Aggiunto nuovo intervento!'));
|
flash()->info(tr('Aggiunto nuovo intervento!'));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Collego l'intervento al preventivo
|
|
||||||
if (!empty($idpreventivo)) {
|
|
||||||
$dbo->insert('co_preventivi_interventi', [
|
|
||||||
'idintervento' => $id_record,
|
|
||||||
'idpreventivo' => $idpreventivo,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Collego l'intervento al contratto
|
// Collego l'intervento al contratto
|
||||||
if (!empty($idcontratto)) {
|
if (!empty($idcontratto)) {
|
||||||
$array = [
|
$array = [
|
||||||
|
@ -388,10 +370,6 @@ switch (post('op')) {
|
||||||
$query = 'DELETE FROM in_interventi_tecnici WHERE idintervento='.prepare($id_record);
|
$query = 'DELETE FROM in_interventi_tecnici WHERE idintervento='.prepare($id_record);
|
||||||
$dbo->query($query);
|
$dbo->query($query);
|
||||||
|
|
||||||
// Eliminazione associazioni tra interventi e preventivi
|
|
||||||
$query = 'DELETE FROM co_preventivi_interventi WHERE idintervento='.prepare($id_record);
|
|
||||||
$dbo->query($query);
|
|
||||||
|
|
||||||
// Eliminazione righe aggiuntive dell'intervento
|
// Eliminazione righe aggiuntive dell'intervento
|
||||||
$query = 'DELETE FROM in_righe_interventi WHERE idintervento='.prepare($id_record);
|
$query = 'DELETE FROM in_righe_interventi WHERE idintervento='.prepare($id_record);
|
||||||
$dbo->query($query);
|
$dbo->query($query);
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
include_once __DIR__.'/../../core.php';
|
include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
if (isset($id_record)) {
|
if (isset($id_record)) {
|
||||||
$record = $dbo->fetchOne('SELECT *, (SELECT completato FROM in_statiintervento WHERE idstatointervento=in_interventi.idstatointervento) AS flag_completato, IF((in_interventi.idsede = 0), (SELECT idzona FROM an_anagrafiche WHERE idanagrafica = in_interventi.idanagrafica), (SELECT idzona FROM an_sedi WHERE id = in_interventi.idsede)) AS idzona, (SELECT colore FROM in_statiintervento WHERE idstatointervento=in_interventi.idstatointervento) AS colore, (SELECT idcontratto FROM co_promemoria WHERE idintervento=in_interventi.id LIMIT 0,1) AS idcontratto, (SELECT idpreventivo FROM co_preventivi_interventi WHERE idintervento=in_interventi.id LIMIT 0,1) AS idpreventivo FROM in_interventi WHERE id='.prepare($id_record).Modules::getAdditionalsQuery($id_module));
|
$record = $dbo->fetchOne('SELECT *, (SELECT completato FROM in_statiintervento WHERE idstatointervento=in_interventi.idstatointervento) AS flag_completato, IF((in_interventi.idsede = 0), (SELECT idzona FROM an_anagrafiche WHERE idanagrafica = in_interventi.idanagrafica), (SELECT idzona FROM an_sedi WHERE id = in_interventi.idsede)) AS idzona, (SELECT colore FROM in_statiintervento WHERE idstatointervento=in_interventi.idstatointervento) AS colore, (SELECT idcontratto FROM co_promemoria WHERE idintervento=in_interventi.id LIMIT 0,1) AS idcontratto, in_interventi.id_preventivo as idpreventivo FROM in_interventi WHERE id='.prepare($id_record).Modules::getAdditionalsQuery($id_module));
|
||||||
}
|
}
|
||||||
|
|
||||||
$jscript_modules[] = $rootdir.'/modules/interventi/js/interventi_helperjs.js';
|
$jscript_modules[] = $rootdir.'/modules/interventi/js/interventi_helperjs.js';
|
||||||
|
|
|
@ -143,9 +143,9 @@ switch (post('op')) {
|
||||||
$costo_km = $rs[0]['prezzo_km_unitario'];
|
$costo_km = $rs[0]['prezzo_km_unitario'];
|
||||||
$costo_orario = $rs[0]['prezzo_ore_unitario'];
|
$costo_orario = $rs[0]['prezzo_ore_unitario'];
|
||||||
|
|
||||||
$query = 'INSERT INTO co_preventivi_interventi(idpreventivo, idintervento) VALUES('.prepare($id_record).', '.prepare($idintervento).')';
|
$dbo->update('in_interventi', [
|
||||||
|
'id_preventivo' => $id_record,
|
||||||
$dbo->query($query);
|
], ['id' => $idintervento]);
|
||||||
|
|
||||||
// Imposto il preventivo nello stato "In lavorazione" se inizio ad aggiungere interventi
|
// Imposto il preventivo nello stato "In lavorazione" se inizio ad aggiungere interventi
|
||||||
$dbo->query("UPDATE `co_preventivi` SET idstato=(SELECT `id` FROM `co_statipreventivi` WHERE `descrizione`='In lavorazione') WHERE `id`=".prepare($id_record));
|
$dbo->query("UPDATE `co_preventivi` SET idstato=(SELECT `id` FROM `co_statipreventivi` WHERE `descrizione`='In lavorazione') WHERE `id`=".prepare($id_record));
|
||||||
|
@ -180,8 +180,9 @@ switch (post('op')) {
|
||||||
if (isset($_GET['idpreventivo']) && isset($_GET['idintervento'])) {
|
if (isset($_GET['idpreventivo']) && isset($_GET['idintervento'])) {
|
||||||
$idintervento = get('idintervento');
|
$idintervento = get('idintervento');
|
||||||
|
|
||||||
$query = 'DELETE FROM `co_preventivi_interventi` WHERE idpreventivo='.prepare($id_record).' AND idintervento='.prepare($idintervento);
|
$dbo->update('in_interventi', [
|
||||||
$dbo->query($query);
|
'id_preventivo' => null,
|
||||||
|
], ['id' => $idintervento]);
|
||||||
|
|
||||||
flash()->info(tr('Intervento _NUM_ rimosso!', [
|
flash()->info(tr('Intervento _NUM_ rimosso!', [
|
||||||
'_NUM_' => $idintervento,
|
'_NUM_' => $idintervento,
|
||||||
|
@ -192,7 +193,10 @@ switch (post('op')) {
|
||||||
// eliminazione preventivo
|
// eliminazione preventivo
|
||||||
case 'delete':
|
case 'delete':
|
||||||
$dbo->query('DELETE FROM co_preventivi WHERE id='.prepare($id_record));
|
$dbo->query('DELETE FROM co_preventivi WHERE id='.prepare($id_record));
|
||||||
$dbo->query('DELETE FROM co_preventivi_interventi WHERE idpreventivo='.prepare($id_record));
|
|
||||||
|
$dbo->update('in_interventi', [
|
||||||
|
'id_preventivo' => null,
|
||||||
|
], ['id_preventivo' => $id_record]);
|
||||||
|
|
||||||
flash()->info(tr('Preventivo eliminato!'));
|
flash()->info(tr('Preventivo eliminato!'));
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ $totale = 0;
|
||||||
$totale_stato = [];
|
$totale_stato = [];
|
||||||
|
|
||||||
// Tabella con riepilogo interventi
|
// Tabella con riepilogo interventi
|
||||||
$rsi = $dbo->fetchArray('SELECT *, in_interventi.id, in_interventi.codice, (SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE idintervento=in_interventi.id) AS inizio, (SELECT SUM(ore) FROM in_interventi_tecnici WHERE idintervento=in_interventi.id) AS ore, (SELECT MIN(km) FROM in_interventi_tecnici WHERE idintervento=in_interventi.id) AS km FROM co_preventivi_interventi INNER JOIN in_interventi ON co_preventivi_interventi.idintervento=in_interventi.id WHERE co_preventivi_interventi.idpreventivo='.prepare($id_record).' ORDER BY co_preventivi_interventi.idintervento DESC');
|
$rsi = $dbo->fetchArray('SELECT *, in_interventi.id, in_interventi.codice, (SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE idintervento=in_interventi.id) AS inizio, (SELECT SUM(ore) FROM in_interventi_tecnici WHERE idintervento=in_interventi.id) AS ore, (SELECT MIN(km) FROM in_interventi_tecnici WHERE idintervento=in_interventi.id) AS km FROM in_interventi WHERE in_interventi.id_preventivo='.prepare($id_record).' ORDER BY in_interventi.id DESC');
|
||||||
if (!empty($rsi)) {
|
if (!empty($rsi)) {
|
||||||
echo '
|
echo '
|
||||||
<table class="table table-bordered table-condensed">
|
<table class="table table-bordered table-condensed">
|
||||||
|
@ -309,7 +309,7 @@ if (in_array($record['stato'], ['Accettato', 'In lavorazione', 'Pagato'])) {
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
{[ "type": "select", "label": "'.tr('Aggiungi un altro intervento a questo preventivo').'", "name": "idintervento", "values": "query=SELECT id, CONCAT(\'Intervento \', codice, \' del \', DATE_FORMAT(IFNULL((SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE in_interventi_tecnici.idintervento=in_interventi.id), data_richiesta), \'%d/%m/%Y\')) AS descrizione FROM in_interventi WHERE id NOT IN( SELECT idintervento FROM co_preventivi_interventi WHERE idintervento IS NOT NULL) AND id NOT IN( SELECT idintervento FROM co_righe_documenti WHERE idintervento IS NOT NULL) AND id NOT IN( SELECT idintervento FROM co_promemoria WHERE idintervento IS NOT NULL) AND idanagrafica='.prepare($record['idanagrafica']).'" ]}
|
{[ "type": "select", "label": "'.tr('Aggiungi un altro intervento a questo preventivo').'", "name": "idintervento", "values": "query=SELECT id, CONCAT(\'Intervento \', codice, \' del \', DATE_FORMAT(IFNULL((SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE in_interventi_tecnici.idintervento=in_interventi.id), data_richiesta), \'%d/%m/%Y\')) AS descrizione FROM in_interventi WHERE id_preventivo IS NULL AND id NOT IN( SELECT idintervento FROM co_righe_documenti WHERE idintervento IS NOT NULL) AND id NOT IN( SELECT idintervento FROM co_promemoria WHERE idintervento IS NOT NULL) AND idanagrafica='.prepare($record['idanagrafica']).'" ]}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -87,7 +87,7 @@ switch (post('op')) {
|
||||||
$rs2 = $dbo->fetchArray($query2);
|
$rs2 = $dbo->fetchArray($query2);
|
||||||
|
|
||||||
for ($j = 0; $j < sizeof($rs2); ++$j) {
|
for ($j = 0; $j < sizeof($rs2); ++$j) {
|
||||||
$dbo->query("UPDATE in_interventi SET idstatointervento=(SELECT idstatointervento FROM in_statiintervento WHERE descrizione='Fatturato') WHERE id IN (SELECT idintervento FROM co_preventivi_interventi WHERE idpreventivo=".prepare($rs2[$j]['idpreventivo']).')');
|
$dbo->query("UPDATE in_interventi SET idstatointervento=(SELECT idstatointervento FROM in_statiintervento WHERE descrizione='Fatturato') WHERE id_preventivo=".prepare($rs2[$j]['idpreventivo']));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -178,7 +178,7 @@ switch (post('op')) {
|
||||||
$dbo->query("UPDATE co_preventivi SET idstato=(SELECT id FROM co_statipreventivi WHERE descrizione='In attesa di pagamento') WHERE id=".prepare($rs3[$j]['idpreventivo']));
|
$dbo->query("UPDATE co_preventivi SET idstato=(SELECT id FROM co_statipreventivi WHERE descrizione='In attesa di pagamento') WHERE id=".prepare($rs3[$j]['idpreventivo']));
|
||||||
|
|
||||||
// Aggiorno anche lo stato degli interventi collegati ai preventivi
|
// Aggiorno anche lo stato degli interventi collegati ai preventivi
|
||||||
$dbo->query("UPDATE in_interventi SET idstatointervento=(SELECT idstatointervento FROM in_statiintervento WHERE descrizione='Completato') WHERE id IN(SELECT idintervento FROM co_preventivi_interventi WHERE idpreventivo=".prepare($rs3[$j]['idpreventivo']).')');
|
$dbo->query("UPDATE in_interventi SET idstatointervento=(SELECT idstatointervento FROM in_statiintervento WHERE descrizione='Completato') WHERE id_preventivo=".prepare($rs3[$j]['idpreventivo']));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Aggiorno lo stato degli interventi collegati alla fattura se ce ne sono
|
// Aggiorno lo stato degli interventi collegati alla fattura se ce ne sono
|
||||||
|
@ -222,7 +222,7 @@ switch (post('op')) {
|
||||||
$dbo->query("UPDATE co_preventivi SET idstato=(SELECT id FROM co_statipreventivi WHERE descrizione='Pagato') WHERE id=".prepare($rs2[$j]['idpreventivo']));
|
$dbo->query("UPDATE co_preventivi SET idstato=(SELECT id FROM co_statipreventivi WHERE descrizione='Pagato') WHERE id=".prepare($rs2[$j]['idpreventivo']));
|
||||||
|
|
||||||
// Aggiorno anche lo stato degli interventi collegati ai preventivi
|
// Aggiorno anche lo stato degli interventi collegati ai preventivi
|
||||||
$dbo->query("UPDATE in_interventi SET idstatointervento=(SELECT idstatointervento FROM in_statiintervento WHERE descrizione='Fatturato') WHERE id IN (SELECT idintervento FROM co_preventivi_interventi WHERE idpreventivo=".prepare($rs2[$j]['idpreventivo']).')');
|
$dbo->query("UPDATE in_interventi SET idstatointervento=(SELECT idstatointervento FROM in_statiintervento WHERE descrizione='Fatturato') WHERE id_preventivo=".prepare($rs2[$j]['idpreventivo']));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Aggiorno lo stato degli interventi collegati alla fattura se ce ne sono
|
// Aggiorno lo stato degli interventi collegati alla fattura se ce ne sono
|
||||||
|
@ -230,7 +230,7 @@ switch (post('op')) {
|
||||||
$rs2 = $dbo->fetchArray($query2);
|
$rs2 = $dbo->fetchArray($query2);
|
||||||
|
|
||||||
for ($j = 0; $j < sizeof($rs2); ++$j) {
|
for ($j = 0; $j < sizeof($rs2); ++$j) {
|
||||||
$dbo->query("UPDATE in_interventi SET idstatointervento=(SELECT idstatointervento FROM in_statiintervento WHERE descrizione='Fatturato') WHERE id IN (SELECT idintervento FROM co_preventivi_interventi WHERE idpreventivo=".prepare($rs2[$j]['idpreventivo']).')');
|
$dbo->query("UPDATE in_interventi SET idstatointervento=(SELECT idstatointervento FROM in_statiintervento WHERE descrizione='Fatturato') WHERE id_preventivo=".prepare($rs2[$j]['idpreventivo']));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -7,7 +7,7 @@ include_once Modules::filepath('Interventi', 'modutil.php');
|
||||||
$module_name = 'Interventi';
|
$module_name = 'Interventi';
|
||||||
|
|
||||||
// carica intervento
|
// carica intervento
|
||||||
$query = 'SELECT in_interventi.*, (SELECT numero FROM co_contratti WHERE id=(SELECT idcontratto FROM co_promemoria WHERE idintervento=in_interventi.id)) AS numero_contratto, (SELECT numero FROM co_preventivi WHERE id=(SELECT idpreventivo FROM co_preventivi_interventi WHERE idintervento=in_interventi.id ORDER BY idpreventivo DESC LIMIT 0,1)) AS numero_preventivo, (SELECT SUM(prezzo_dirittochiamata) FROM in_interventi_tecnici GROUP BY idintervento HAVING idintervento=in_interventi.id) AS `tot_dirittochiamata`, (SELECT SUM(km) FROM in_interventi_tecnici GROUP BY idintervento HAVING idintervento=in_interventi.id) AS `tot_km`, (SELECT SUM(ore*prezzo_ore_unitario) FROM in_interventi_tecnici GROUP BY idintervento HAVING idintervento=in_interventi.id) AS `tot_ore_consuntivo`, (SELECT SUM(prezzo_km_consuntivo) FROM in_interventi_tecnici GROUP BY idintervento HAVING idintervento=in_interventi.id) AS `tot_km_consuntivo`, in_interventi.descrizione AS `descrizione_intervento`, richiesta, (SELECT descrizione FROM in_tipiintervento WHERE idtipointervento=in_interventi.idtipointervento) AS tipointervento FROM in_interventi INNER JOIN in_tipiintervento ON in_interventi.idtipointervento=in_tipiintervento.idtipointervento WHERE id='.prepare($id_record).' '.Modules::getAdditionalsQuery('Interventi');
|
$query = 'SELECT in_interventi.*, (SELECT numero FROM co_contratti WHERE id=(SELECT idcontratto FROM co_promemoria WHERE idintervento=in_interventi.id)) AS numero_contratto, (SELECT numero FROM co_preventivi WHERE id=in_interventi.id_preventivo) AS numero_preventivo, (SELECT SUM(prezzo_dirittochiamata) FROM in_interventi_tecnici GROUP BY idintervento HAVING idintervento=in_interventi.id) AS `tot_dirittochiamata`, (SELECT SUM(km) FROM in_interventi_tecnici GROUP BY idintervento HAVING idintervento=in_interventi.id) AS `tot_km`, (SELECT SUM(ore*prezzo_ore_unitario) FROM in_interventi_tecnici GROUP BY idintervento HAVING idintervento=in_interventi.id) AS `tot_ore_consuntivo`, (SELECT SUM(prezzo_km_consuntivo) FROM in_interventi_tecnici GROUP BY idintervento HAVING idintervento=in_interventi.id) AS `tot_km_consuntivo`, in_interventi.descrizione AS `descrizione_intervento`, richiesta, (SELECT descrizione FROM in_tipiintervento WHERE idtipointervento=in_interventi.idtipointervento) AS tipointervento FROM in_interventi INNER JOIN in_tipiintervento ON in_interventi.idtipointervento=in_tipiintervento.idtipointervento WHERE id='.prepare($id_record).' '.Modules::getAdditionalsQuery('Interventi');
|
||||||
$records = $dbo->fetchArray($query);
|
$records = $dbo->fetchArray($query);
|
||||||
|
|
||||||
$costi_intervento = get_costi_intervento($id_record);
|
$costi_intervento = get_costi_intervento($id_record);
|
||||||
|
|
|
@ -60,7 +60,7 @@ if (!empty($records[0]['descrizione'])) {
|
||||||
$sconto = [];
|
$sconto = [];
|
||||||
$imponibile = [];
|
$imponibile = [];
|
||||||
|
|
||||||
$interventi = $dbo->fetchArray('SELECT *, in_interventi.id, in_interventi.codice, (SELECT GROUP_CONCAT(DISTINCT ragione_sociale) FROM in_interventi_tecnici JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = in_interventi_tecnici.idtecnico WHERE idintervento=in_interventi.id) AS tecnici, (SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE idintervento=in_interventi.id) AS inizio, (SELECT SUM(ore) FROM in_interventi_tecnici WHERE idintervento=in_interventi.id) AS ore, (SELECT SUM(km) FROM in_interventi_tecnici WHERE idintervento=in_interventi.id) AS km FROM co_preventivi_interventi JOIN in_interventi ON co_preventivi_interventi.idintervento=in_interventi.id WHERE co_preventivi_interventi.idpreventivo='.prepare($id_record).' ORDER BY inizio DESC');
|
$interventi = $dbo->fetchArray('SELECT *, in_interventi.id, in_interventi.codice, (SELECT GROUP_CONCAT(DISTINCT ragione_sociale) FROM in_interventi_tecnici JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = in_interventi_tecnici.idtecnico WHERE idintervento=in_interventi.id) AS tecnici, (SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE idintervento=in_interventi.id) AS inizio, (SELECT SUM(ore) FROM in_interventi_tecnici WHERE idintervento=in_interventi.id) AS ore, (SELECT SUM(km) FROM in_interventi_tecnici WHERE idintervento=in_interventi.id) AS km FROM in_interventi WHERE in_interventi.idpreventivo='.prepare($id_record).' ORDER BY inizio DESC');
|
||||||
|
|
||||||
if (!empty($interventi)) {
|
if (!empty($interventi)) {
|
||||||
// Interventi
|
// Interventi
|
||||||
|
|
|
@ -285,3 +285,8 @@ UPDATE `zz_group_module` SET `clause` = REPLACE(`clause`, '|idagente|', '|id_ana
|
||||||
-- Adeguamento variabili di filtraggio per i plugin Sedi e Referenti in Anagrafiche
|
-- Adeguamento variabili di filtraggio per i plugin Sedi e Referenti in Anagrafiche
|
||||||
UPDATE `zz_plugins` SET `script` = '', `options` = ' { "main_query": [ { "type": "table", "fields": "Nome, Indirizzo, Città, CAP, Provincia, Referente", "query": "SELECT an_sedi.id, an_sedi.nomesede AS Nome, an_sedi.indirizzo AS Indirizzo, an_sedi.citta AS Città, an_sedi.cap AS CAP, an_sedi.provincia AS Provincia, an_referenti.nome AS Referente FROM an_sedi LEFT OUTER JOIN an_referenti ON idsede = an_sedi.id WHERE 1=1 AND an_sedi.idanagrafica=|id_parent| HAVING 2=2 ORDER BY an_sedi.id DESC"} ]}', `directory` = 'sedi', `version` = '2.3', `compatibility` = '2.*' WHERE `name` = 'Sedi';
|
UPDATE `zz_plugins` SET `script` = '', `options` = ' { "main_query": [ { "type": "table", "fields": "Nome, Indirizzo, Città, CAP, Provincia, Referente", "query": "SELECT an_sedi.id, an_sedi.nomesede AS Nome, an_sedi.indirizzo AS Indirizzo, an_sedi.citta AS Città, an_sedi.cap AS CAP, an_sedi.provincia AS Provincia, an_referenti.nome AS Referente FROM an_sedi LEFT OUTER JOIN an_referenti ON idsede = an_sedi.id WHERE 1=1 AND an_sedi.idanagrafica=|id_parent| HAVING 2=2 ORDER BY an_sedi.id DESC"} ]}', `directory` = 'sedi', `version` = '2.3', `compatibility` = '2.*' WHERE `name` = 'Sedi';
|
||||||
UPDATE `zz_plugins` SET `script` = '', `options` = ' { "main_query": [ { "type": "table", "fields": "Nominativo, Mansione, Telefono, Indirizzo email, Sede", "query": "SELECT an_referenti.id, an_referenti.nome AS Nominativo, mansione AS Mansione, an_referenti.telefono AS Telefono, an_referenti.email AS ''Indirizzo email'', an_sedi.nomesede AS Sede FROM an_referenti LEFT OUTER JOIN an_sedi ON idsede = an_sedi.id WHERE 1=1 AND an_referenti.idanagrafica=|id_parent| HAVING 2=2 ORDER BY an_referenti.id DESC"} ]}', `directory` = 'referenti', `version` = '2.3', `compatibility` = '2.*' WHERE `name` = 'Referenti';
|
UPDATE `zz_plugins` SET `script` = '', `options` = ' { "main_query": [ { "type": "table", "fields": "Nominativo, Mansione, Telefono, Indirizzo email, Sede", "query": "SELECT an_referenti.id, an_referenti.nome AS Nominativo, mansione AS Mansione, an_referenti.telefono AS Telefono, an_referenti.email AS ''Indirizzo email'', an_sedi.nomesede AS Sede FROM an_referenti LEFT OUTER JOIN an_sedi ON idsede = an_sedi.id WHERE 1=1 AND an_referenti.idanagrafica=|id_parent| HAVING 2=2 ORDER BY an_referenti.id DESC"} ]}', `directory` = 'referenti', `version` = '2.3', `compatibility` = '2.*' WHERE `name` = 'Referenti';
|
||||||
|
|
||||||
|
-- Rimozione co_preventivi_interventi
|
||||||
|
ALTER TABLE `in_interventi` ADD `id_preventivo` int(11), ADD FOREIGN KEY (`id_preventivo`) REFERENCES `co_preventivi`(`id`) ON DELETE CASCADE, ADD `id_contratto` int(11), ADD FOREIGN KEY (`id_contratto`) REFERENCES `co_contratti`(`id`) ON DELETE CASCADE;
|
||||||
|
UPDATE `in_interventi` SET `id_preventivo` = (SELECT `idpreventivo` FROM `co_preventivi_interventi` WHERE `co_preventivi_interventi`.`idintervento` = `in_interventi`.`id` LIMIT 1)
|
||||||
|
DROP TABLE `co_preventivi_interventi`;
|
||||||
|
|
|
@ -31,7 +31,6 @@ $tables = [
|
||||||
'co_pianodeiconti2',
|
'co_pianodeiconti2',
|
||||||
'co_pianodeiconti3',
|
'co_pianodeiconti3',
|
||||||
'co_preventivi',
|
'co_preventivi',
|
||||||
'co_preventivi_interventi',
|
|
||||||
'co_righe_contratti',
|
'co_righe_contratti',
|
||||||
'co_promemoria_articoli',
|
'co_promemoria_articoli',
|
||||||
'co_promemoria_righe',
|
'co_promemoria_righe',
|
||||||
|
|
Loading…
Reference in New Issue