Rimozione completa Ordini di servizio

This commit is contained in:
Thomas Zilio 2020-04-20 13:09:55 +02:00
parent 2a24b71b23
commit a4485ada1f
8 changed files with 24 additions and 163 deletions

View File

@ -1,111 +0,0 @@
<?php
include_once __DIR__.'/../../../core.php';
// TODO: aggiornare con la funzione months()
$mesi = [
tr('Gennaio'),
tr('Febbraio'),
tr('Marzo'),
tr('Aprile'),
tr('Maggio'),
tr('Giugno'),
tr('Luglio'),
tr('Agosto'),
tr('Settembre'),
tr('Ottobre'),
tr('Novembre'),
tr('Dicembre'),
];
// Righe inserite
$qp = "SELECT *, DATE_FORMAT( data_scadenza, '%m-%Y') AS mese, (SELECT idanagrafica FROM co_contratti WHERE id=idcontratto) AS idcliente, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=(SELECT idanagrafica FROM co_contratti WHERE id=idcontratto)) AS ragione_sociale, (SELECT matricola FROM my_impianti WHERE id=co_ordiniservizio.idimpianto) AS impianto, (SELECT nome FROM my_impianti WHERE id=co_ordiniservizio.idimpianto) AS impianto, (SELECT idsede FROM my_impianti WHERE id=co_ordiniservizio.idimpianto) AS idsede FROM co_ordiniservizio WHERE idcontratto IN( SELECT id FROM co_contratti WHERE idstato IN(SELECT id FROM co_staticontratti WHERE is_pianificabile = 1) ) AND idintervento IS NULL ORDER BY DATE_FORMAT( data_scadenza, '%m-%Y') ASC, idcliente ASC";
$rsp = $dbo->fetchArray($qp);
if (!empty($rsp)) {
// Elenco interventi da pianificare
foreach ($rsp as $i => $r) {
// Se cambia il mese ricreo l'intestazione della tabella
if (!isset($rsp[$i - 1]) || $r['mese'] != $rsp[$i - 1]['mese']) {
if ($i == 0) {
$attr = '';
$class = 'fa-minus-circle';
} else {
$attr = 'style="display:none;"';
$class = 'fa-plus-circle';
}
echo "
<h4>
<a class='clickable' onclick=\"if( $('#t1_".$i."').css('display') == 'none' ){ $(this).children('i').removeClass('fa-plus-circle'); $(this).children('i').addClass('fa-minus-circle'); }else{ $(this).children('i').addClass('fa-plus-circle'); $(this).children('i').removeClass('fa-minus-circle'); } $('#t1_".$i."').slideToggle();\">
<i class='fa ".$class."'></i> ".$mesi[intval(date('m', strtotime($r['data_scadenza']))) - 1].' '.date('Y', strtotime($r['data_scadenza'])).'
</a>
</h4>';
echo '
<div id="t1_'.$i.'" '.$attr.'>
<table class="table table-hover table-striped">
<thead>
<tr>
<th width="10%">'.tr('Entro il').'</th>
<th width="45%">'.tr('Ragione sociale').'</th>
<th width="20%">'.tr('Sede').'</th>
<th width="20%">'.tr('Impianto').'</th>
<th width="5%"></th>
</tr>
</thead>
<tbody>';
}
echo '
<tr id="int_'.$r['id'].'">
<td>'.Translator::dateToLocale($r['data_scadenza']).'</td>
<td>
'.Modules::link('Anagrafiche', $r['idcliente'], $r['ragione_sociale']).'
</td>';
echo '
<td>';
// Sede
if ($r['idsede'] == '-1') {
echo '- '.('Nessuna').' -';
} elseif (empty($r['idsede'])) {
echo tr('Sede legale');
} else {
$rsp2 = $dbo->fetchArray("SELECT id, CONCAT( CONCAT_WS( ' (', CONCAT_WS(', ', nomesede, citta), indirizzo ), ')') AS descrizione FROM an_sedi WHERE id=".prepare($r['idsede']));
echo $rsp2[0]['descrizione'];
}
echo '
</td>';
echo
'<td>
'.Modules::link('MyImpianti', $r['idimpianto'], $r['matricola'].' - '.$r['impianto']).'
</td>';
// Pulsanti
echo '
<td>';
if (empty($r['idintervento'])) {
echo "
<a class=\"btn btn-primary\" title=\"Pianifica ora!\" onclick=\"launch_modal( 'Pianifica intervento', '".$rootdir.'/add.php?id_module='.Modules::get('Interventi')['id'].'&ref=dashboard&idcontratto='.urlencode($r['idcontratto']).'&idordineservizio='.$r['id']."');\">
<i class='fa fa-calendar'></i>
</a>";
}
echo '
</td>
</tr>';
if (!isset($rsp[$i + 1]) || $r['mese'] != $rsp[$i + 1]['mese']) {
echo '
</tbody>
</table>
</div>';
}
}
} else {
echo '
<p>'.tr('Non ci sono ordini di servizio da pianificare').'.</p>';
}

View File

@ -133,14 +133,24 @@ switch (get('op')) {
break;
case 'load_intreventi':
$mese = $_GET['mese'];
// Righe inserite
$qp = "SELECT co_promemoria.id, idcontratto, richiesta,co_contratti.nome AS nomecontratto, DATE_FORMAT( data_richiesta, '%m%Y') AS mese, data_richiesta, an_anagrafiche.ragione_sociale, 'promemoria' AS ref, (SELECT descrizione FROM in_tipiintervento WHERE idtipointervento=co_promemoria.idtipointervento) AS tipointervento FROM (co_promemoria INNER JOIN co_contratti ON co_promemoria.idcontratto=co_contratti.id) INNER JOIN an_anagrafiche ON co_contratti.idanagrafica=an_anagrafiche.idanagrafica WHERE idcontratto IN( SELECT id FROM co_contratti WHERE idstato IN(SELECT id FROM co_staticontratti WHERE is_pianificabile = 1) ) AND idintervento IS NULL
UNION SELECT co_ordiniservizio.id, idcontratto, '', co_contratti.nome AS nomecontratto, DATE_FORMAT( data_scadenza, '%m%Y') AS mese, data_scadenza, an_anagrafiche.ragione_sociale, 'ordine' AS ref, (SELECT descrizione FROM in_tipiintervento WHERE descrizione='Ordine di servizio') AS tipointervento FROM (co_ordiniservizio INNER JOIN co_contratti ON co_ordiniservizio.idcontratto=co_contratti.id) INNER JOIN an_anagrafiche ON co_contratti.idanagrafica=an_anagrafiche.idanagrafica WHERE idcontratto IN( SELECT id FROM co_contratti WHERE idstato IN(SELECT id FROM co_staticontratti WHERE is_pianificabile = 1) ) AND idintervento IS NULL
$qp = "SELECT
co_promemoria.id,
idcontratto,
richiesta,co_contratti.nome AS nomecontratto,
DATE_FORMAT( data_richiesta, '%m%Y') AS mese,
data_richiesta,
an_anagrafiche.ragione_sociale,
'promemoria' AS ref,
(SELECT descrizione FROM in_tipiintervento WHERE idtipointervento=co_promemoria.idtipointervento) AS tipointervento
FROM co_promemoria
INNER JOIN co_contratti ON co_promemoria.idcontratto=co_contratti.id
INNER JOIN an_anagrafiche ON co_contratti.idanagrafica=an_anagrafiche.idanagrafica
WHERE
idcontratto IN(SELECT id FROM co_contratti WHERE idstato IN(SELECT id FROM co_staticontratti WHERE is_pianificabile = 1)) AND
idintervento IS NULL
ORDER BY data_richiesta ASC";
$rsp = $dbo->fetchArray($qp);

View File

@ -292,13 +292,6 @@ WHERE
idcontratto IN (SELECT id FROM co_contratti WHERE idstato IN (SELECT id FROM co_staticontratti WHERE is_pianificabile = 1))
AND idintervento IS NULL
UNION SELECT data_scadenza AS data FROM co_ordiniservizio
INNER JOIN co_contratti ON co_ordiniservizio.idcontratto=co_contratti.id
INNER JOIN an_anagrafiche ON co_contratti.idanagrafica=an_anagrafiche.idanagrafica
WHERE
idcontratto IN (SELECT id FROM co_contratti WHERE idstato IN (SELECT id FROM co_staticontratti WHERE is_pianificabile = 1))
AND idintervento IS NULL
UNION SELECT IF(data_scadenza IS NULL, data_richiesta, data_scadenza) AS data FROM in_interventi
INNER JOIN an_anagrafiche ON in_interventi.idanagrafica=an_anagrafiche.idanagrafica
WHERE (SELECT COUNT(*) FROM in_interventi_tecnici WHERE in_interventi_tecnici.idintervento = in_interventi.id) = 0';
@ -323,8 +316,6 @@ if (!empty($risultati_da_programmare)) {
// Controllo pianificazioni mesi precedenti
$query_mesi_precenti = 'SELECT co_promemoria.id FROM co_promemoria INNER JOIN co_contratti ON co_promemoria.idcontratto=co_contratti.id WHERE idstato IN(SELECT id FROM co_staticontratti WHERE is_pianificabile = 1) AND idintervento IS NULL AND DATE_ADD(co_promemoria.data_richiesta, INTERVAL 1 DAY) <= NOW()
UNION SELECT co_ordiniservizio.id FROM co_ordiniservizio INNER JOIN co_contratti ON co_ordiniservizio.idcontratto=co_contratti.id WHERE idstato IN(SELECT id FROM co_staticontratti WHERE is_pianificabile = 1) AND idintervento IS NULL AND DATE_ADD(co_ordiniservizio.data_scadenza, INTERVAL 1 DAY) <= NOW()
UNION SELECT in_interventi.id FROM in_interventi INNER JOIN an_anagrafiche ON in_interventi.idanagrafica=an_anagrafiche.idanagrafica WHERE (SELECT COUNT(*) FROM in_interventi_tecnici WHERE in_interventi_tecnici.idintervento = in_interventi.id) = 0 AND DATE_ADD(IF(in_interventi.data_scadenza IS NULL, in_interventi.data_richiesta, in_interventi.data_scadenza), INTERVAL 1 DAY) <= NOW()';
$numero_mesi_precenti = $dbo->fetchNum($query_mesi_precenti);
@ -627,9 +618,7 @@ if (Modules::getPermission('Interventi') == 'rw') {
ora_al = moment(date).add(1, 'hours').format("HH:mm");
ref = $(this).data('ref');
if (ref == 'ordine') {
nome = 'idordineservizio';
} else if (ref == 'promemoria') {
if (ref == 'promemoria') {
nome = 'idcontratto_riga';
} else {
nome = 'id_intervento';

View File

@ -113,10 +113,6 @@ switch (post('op')) {
$promemoria->pianifica($intervento);
}
if (!empty(post('idordineservizio'))) {
$dbo->query('UPDATE co_ordiniservizio SET idintervento='.prepare($id_record).' WHERE id='.prepare(post('idordineservizio')));
}
// Collegamenti intervento/impianti
$impianti = (array) post('idimpianti');
if (!empty($impianti)) {

View File

@ -47,35 +47,12 @@ if (null !== filter('orario_inizio') && '00:00:00' != filter('orario_inizio')) {
$orario_fine = date('H', time() + 60 * 60).':00:00';
}
// Se sto pianificando un contratto, leggo tutti i dati del contratto per predisporre l'aggiunta intervento
//ref (intervento,promemoria,ordine)
$id_intervento = filter('id_intervento');
$idcontratto = filter('idcontratto');
$idcontratto_riga = filter('idcontratto_riga');
$idordineservizio = filter('idordineservizio');
if (!empty($idcontratto) && !empty($idordineservizio)) {
$rs = $dbo->fetchArray('SELECT *, (SELECT idzona FROM an_anagrafiche WHERE idanagrafica = co_contratti.idanagrafica) AS idzona FROM co_contratti WHERE id='.prepare($idcontratto));
$idanagrafica = $rs[0]['idanagrafica'];
$idzona = $rs[0]['idzona'];
// Info riga pianificata
$rs = $dbo->fetchArray('SELECT * FROM co_ordiniservizio WHERE idcontratto='.prepare($idcontratto).' AND id='.prepare($idordineservizio));
$data = $rs[0]['data_scadenza'];
$idimpianto = $rs[0]['id'];
// Seleziono "Ordine di servizio" come tipo intervento
$rs = $dbo->fetchArray("SELECT idtipointervento FROM in_tipiintervento WHERE descrizione='Ordine di servizio'");
$idtipointervento = $rs[0]['idtipointervento'];
// Spunto il tecnico di default assegnato all'impianto
$rs = $dbo->fetchArray('SELECT idtecnico FROM my_impianti WHERE id='.prepare($idimpianto));
$idtecnico = $rs[0]['idtecnico'] ?: '';
}
// Se sto pianificando un contratto, leggo tutti i dati del contratto per predisporre l'aggiunta intervento
elseif (!empty($idcontratto) && !empty($idcontratto_riga)) {
if (!empty($idcontratto) && !empty($idcontratto_riga)) {
$rs = $dbo->fetchArray('SELECT *, (SELECT idzona FROM an_anagrafiche WHERE idanagrafica = co_contratti.idanagrafica) AS idzona FROM co_contratti WHERE id='.prepare($idcontratto));
$idanagrafica = $rs[0]['idanagrafica'];
$idzona = $rs[0]['idzona'];
@ -173,10 +150,6 @@ if (!empty($idcontratto_riga)) {
echo '<input type="hidden" name="idcontratto_riga" value="'.$idcontratto_riga.'">';
}
if (!empty($idordineservizio)) {
echo '<input type="hidden" name="idordineservizio" value="'.$idordineservizio.'">';
}
if (!empty($id_intervento)) {
echo '<input type="hidden" name="id_intervento" value="'.$id_intervento.'">';
}
@ -443,7 +416,7 @@ if (!empty($id_intervento)) {
$('#modals > div #idtipointervento').change( function(){
if ($(this).selectData() && (($(this).selectData().tempo_standard)>0) && ('<?php echo filter('orario_fine'); ?>' == '')){
orario_inizio = moment($('#modals > div #orario_inizio').val(), globals.timestamp_format, globals.locale).isValid() ? $('#modals > div #orario_inizio').val() : false;
//console.log(orario_inizio);
//da sistemare

View File

@ -6,6 +6,8 @@ $files = [
'templates\fatturato\fatturato_body.html',
'templates\fatturato\fatturato.html',
'modules\interventi\widgets\interventi.pianificazionedashboard.interventi.php',
'modules/contratti/widgets/contratti.pianificazionedashboard.php',
'modules/contratti/widgets/contratti.ratecontrattuali.php',
];
foreach ($files as $key => $value) {

View File

@ -538,3 +538,7 @@ INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `format
-- Aggiornamento widget Rate contrattuali
UPDATE `zz_widgets` SET `more_link` = './plugins/pianificazione_fatturazione/widgets/rate_contrattuali.php' WHERE `zz_widgets`.`name` = 'Rate contrattuali';
-- Rimozione completa co_ordiniservizio
DROP TABLE IF EXISTS `co_ordiniservizio`;
DROP TABLE IF EXISTS `co_ordiniservizio_vociservizio`;
DELETE FROM `zz_widgets` WHERE `name` = 'Ordini di servizio da impostare';

View File

@ -19,9 +19,7 @@ return [
'co_iva',
'co_movimenti',
'co_movimenti_modelli',
'co_ordiniservizio',
'co_fatturazione_contratti',
'co_ordiniservizio_vociservizio',
'co_pagamenti',
'co_pianodeiconti1',
'co_pianodeiconti2',