Interventi in fattura solo se con stato attività con flag completato
This commit is contained in:
parent
57bcee420c
commit
91e3303cb8
|
@ -32,7 +32,19 @@ echo '
|
|||
<input type="hidden" name="backto" value="record-edit">
|
||||
<input type="hidden" name="dir" value="'.$dir.'">';
|
||||
|
||||
$rs = $dbo->fetchArray('SELECT in_interventi.id, CONCAT(\'Intervento numero \', 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, CONCAT(\'\n\', descrizione) AS descrizione_intervento, IF(idclientefinale='.prepare($idanagrafica).', \'Interventi conto terzi\', \'Interventi diretti\') AS `optgroup`FROM in_interventi WHERE (idanagrafica='.prepare($idanagrafica).' OR idclientefinale='.prepare($idanagrafica).') AND NOT idstatointervento=\'DENY\' 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 NOT in_interventi.id IN (SELECT idintervento FROM co_righe_contratti WHERE idintervento IS NOT NULL)');
|
||||
$rs = $dbo->fetchArray('SELECT
|
||||
in_interventi.id,
|
||||
CONCAT(\'Intervento numero \', in_interventi.codice, \' del \', DATE_FORMAT(IFNULL((SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE in_interventi_tecnici.idintervento=in_interventi.id), in_interventi.data_richiesta), \'%d/%m/%Y\')) AS descrizione,
|
||||
CONCAT(\'\n\', in_interventi.descrizione) AS descrizione_intervento,
|
||||
IF(idclientefinale='.prepare($idanagrafica).', \'Interventi conto terzi\', \'Interventi diretti\') AS `optgroup`
|
||||
FROM
|
||||
in_interventi INNER JOIN in_statiintervento ON in_interventi.idstatointervento=in_statiintervento.idstatointervento
|
||||
WHERE
|
||||
(in_interventi.idanagrafica='.prepare($idanagrafica).' OR in_interventi.idclientefinale='.prepare($idanagrafica).')
|
||||
AND in_statiintervento.completato=1
|
||||
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 NOT in_interventi.id IN (SELECT idintervento FROM co_righe_contratti WHERE idintervento IS NOT NULL)');
|
||||
foreach ($rs as $key => $value) {
|
||||
$rs[$key]['prezzo'] = get_costi_intervento($value['id'])['totale'];
|
||||
}
|
||||
|
|
|
@ -285,13 +285,13 @@ if ($records[0]['stato'] == 'Emessa') {
|
|||
if ($records[0]['stato'] != 'Pagato' && $records[0]['stato'] != 'Emessa') {
|
||||
if ($dir == 'entrata') {
|
||||
// Lettura interventi non rifiutati, non fatturati e non collegati a preventivi o contratti
|
||||
$int_query = 'SELECT COUNT(*) AS tot FROM in_interventi WHERE idanagrafica='.prepare($records[0]['idanagrafica'])." AND NOT idstatointervento='DENY' AND id NOT IN (SELECT idintervento FROM co_righe_documenti WHERE idintervento IS NOT NULL) AND id NOT IN (SELECT idintervento FROM co_preventivi_interventi WHERE idintervento IS NOT NULL) AND id NOT IN (SELECT idintervento FROM co_righe_contratti 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($records[0]['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_righe_contratti WHERE idintervento IS NOT NULL)";
|
||||
$interventi = $dbo->fetchArray($int_query)[0]['tot'];
|
||||
|
||||
// Se non trovo niente provo a vedere se ce ne sono per clienti terzi
|
||||
if (empty($interventi)) {
|
||||
// Lettura interventi non rifiutati, non fatturati e non collegati a preventivi o contratti (clienti terzi)
|
||||
$int_query = 'SELECT COUNT(*) AS tot FROM in_interventi WHERE idclientefinale='.prepare($records[0]['idanagrafica'])." AND NOT idstatointervento='DENY' AND id NOT IN (SELECT idintervento FROM co_righe_documenti WHERE idintervento IS NOT NULL) AND id NOT IN (SELECT idintervento FROM co_preventivi_interventi WHERE idintervento IS NOT NULL) AND id NOT IN (SELECT idintervento FROM co_righe_contratti 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($records[0]['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_righe_contratti WHERE idintervento IS NOT NULL)";
|
||||
$interventi = $dbo->fetchArray($int_query)[0]['tot'];
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue