diff --git a/modules/contratti/plugins/addpianficazione.php b/modules/contratti/plugins/addpianficazione.php index b880bafcd..6dd34b924 100644 --- a/modules/contratti/plugins/addpianficazione.php +++ b/modules/contratti/plugins/addpianficazione.php @@ -22,12 +22,13 @@ $list = '\"1\":\"'.tr('Pianificare a partire da oggi ').date('d/m/Y').'\"'; if (!empty($get['idcontratto_riga'])){ $idcontratto_riga = $get['idcontratto_riga']; - $qp = 'SELECT *, (SELECT descrizione FROM in_tipiintervento WHERE idtipointervento=co_righe_contratti.idtipointervento) AS tipointervento FROM co_righe_contratti WHERE id = '.$idcontratto_riga; + $qp = 'SELECT *, (SELECT descrizione FROM in_tipiintervento WHERE idtipointervento=co_righe_contratti.idtipointervento) AS tipointervento, (SELECT tempo_standard FROM in_tipiintervento WHERE idtipointervento = co_righe_contratti.idtipointervento) AS tempo_standard FROM co_righe_contratti WHERE id = '.$idcontratto_riga; $rsp = $dbo->fetchArray($qp); $data_richiesta = readDate($rsp[0]['data_richiesta']); $matricoleimpianti = trim($rsp[0]['idimpianti']); $idsede = $rsp[0]['idsede']; + $tempo_standard = $rsp[0]['tempo_standard']; $readonly = 'readonly'; $hide = ''; @@ -42,9 +43,10 @@ if (!empty($get['idcontratto_riga'])){ (empty($idcontratto_riga)) ? $idcontratto_riga = $dbo->fetchArray('SELECT MAX(id) AS max_idcontratto_riga FROM `co_righe_contratti`')[0]['max_idcontratto_riga'] : ''; (empty($idcontratto_riga)) ? $idcontratto_riga = 1 : ''; -//orari inizio fine interventi +//orari inizio fine interventi (8h standard) $orario_inizio = '09:00'; -$orario_fine = '17:00'; +$orario_fine = (!empty($tempo_standard)) ? date('H:i', strtotime($orario_inizio) + ((60 * 60 ) * $tempo_standard)) : '17:00'; + echo '
diff --git a/modules/contratti/plugins/contratti.pianificazioneinterventi.php b/modules/contratti/plugins/contratti.pianificazioneinterventi.php index 6ce341ffc..59e99823c 100644 --- a/modules/contratti/plugins/contratti.pianificazioneinterventi.php +++ b/modules/contratti/plugins/contratti.pianificazioneinterventi.php @@ -184,11 +184,9 @@ switch (filter('op')) { //collego l'intervento ai promemoria $dbo->query('UPDATE co_righe_contratti SET idintervento='.prepare($idintervento).' WHERE id='.prepare($idriga)); - //copio le righe dal promemoria all'intervento $dbo->query('INSERT INTO in_righe_interventi (descrizione, qta,um,prezzo_vendita,prezzo_acquisto,idiva,desc_iva,iva,idintervento,sconto,sconto_unitario,tipo_sconto) SELECT descrizione, qta,um,prezzo_vendita,prezzo_acquisto,idiva,desc_iva,iva,'.$idintervento.',sconto,sconto_unitario,tipo_sconto FROM co_righe_contratti_materiali WHERE id_riga_contratto = '.$idcontratto_riga.' '); - //copio gli articoli dal promemoria all'intervento $dbo->query('INSERT INTO mg_articoli_interventi (idarticolo, idintervento,descrizione,prezzo_acquisto,prezzo_vendita,sconto, sconto_unitario, tipo_sconto,idiva,desc_iva,iva,idautomezzo, qta, um, abilita_serial, idimpianto) SELECT idarticolo, '.$idintervento.',descrizione,prezzo_acquisto,prezzo_vendita,sconto,sconto_unitario,tipo_sconto,idiva,desc_iva,iva,idautomezzo, qta, um, abilita_serial, idimpianto FROM co_righe_contratti_articoli WHERE id_riga_contratto = '.$idcontratto_riga.' '); diff --git a/modules/interventi/add.php b/modules/interventi/add.php index b0ba42387..852edce47 100644 --- a/modules/interventi/add.php +++ b/modules/interventi/add.php @@ -38,6 +38,8 @@ 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)); @@ -55,18 +57,28 @@ if (!empty($idcontratto) && !empty($idordineservizio)) { // Se sto pianificando un contratto, leggo tutti i dati del contratto per predisporre l'aggiunta intervento elseif (!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)); + $rs = $dbo->fetchArray('SELECT *, (SELECT idzona FROM an_anagrafiche WHERE idanagrafica = co_contratti.idanagrafica) AS idzona, (SELECT tempo_standard FROM in_tipiintervento WHERE idtipointervento = co_contratti.idtipointervento) AS tempo_standard FROM co_contratti WHERE id='.prepare($idcontratto)); $idanagrafica = $rs[0]['idanagrafica']; $idzona = $rs[0]['idzona']; + + //aumento orario inizio del tempo standard definito dalla tipologia dell'intervento (PRESO DA CONTRATTO) + if (!empty($rs[0]['tempo_standard'])) + $orario_fine = date('H:i', strtotime($orario_inizio) + ((60 * 60 ) * $rs[0]['tempo_standard'])); + // Info riga pianificata - $rs = $dbo->fetchArray('SELECT * FROM co_righe_contratti WHERE idcontratto='.prepare($idcontratto).' AND id='.prepare($idcontratto_riga)); + $rs = $dbo->fetchArray('SELECT *, (SELECT tempo_standard FROM in_tipiintervento WHERE idtipointervento = co_righe_contratti.idtipointervento) AS tempo_standard FROM co_righe_contratti WHERE idcontratto='.prepare($idcontratto).' AND id='.prepare($idcontratto_riga)); $idtipointervento = $rs[0]['idtipointervento']; $data = (null !== filter('data')) ? filter('data') : $rs[0]['data_richiesta']; $richiesta = $rs[0]['richiesta']; $idsede = $rs[0]['idsede']; $idimpianti = $rs[0]['idimpianti']; + //aumento orario inizio del tempo standard definito dalla tipologia dell'intervento (PRESO DA PROMEMORIA) + if (!empty($rs[0]['tempo_standard'])) + $orario_fine = date('H:i', strtotime($orario_inizio) + ((60 * 60 ) * $rs[0]['tempo_standard'])); + + //se gli impianti non sono stati definiti nel promemoria, carico tutti gli impianti a contratto if (empty($idimpianti)){ $rs = $dbo->fetchArray('SELECT idimpianto FROM my_impianti_contratti WHERE idcontratto='.prepare($idcontratto)); diff --git a/modules/tipi_intervento/actions.php b/modules/tipi_intervento/actions.php index 375af64a1..48be87db0 100644 --- a/modules/tipi_intervento/actions.php +++ b/modules/tipi_intervento/actions.php @@ -12,6 +12,8 @@ switch (post('op')) { $costo_orario_tecnico = post('costo_orario_tecnico'); $costo_km_tecnico = post('costo_km_tecnico'); $costo_diritto_chiamata_tecnico = post('costo_diritto_chiamata_tecnico'); + + $tempo_standard = post('tempo_standard'); $query = 'UPDATE in_tipiintervento SET'. ' descrizione='.prepare($descrizione).','. @@ -20,7 +22,8 @@ switch (post('op')) { ' costo_diritto_chiamata='.prepare($costo_diritto_chiamata).','. ' costo_orario_tecnico='.prepare($costo_orario_tecnico).','. ' costo_km_tecnico='.prepare($costo_km_tecnico).','. - ' costo_diritto_chiamata_tecnico='.prepare($costo_diritto_chiamata_tecnico). + ' costo_diritto_chiamata_tecnico='.prepare($costo_diritto_chiamata_tecnico).','. + ' tempo_standard='.prepare($tempo_standard). ' WHERE idtipointervento='.prepare($id_record); $dbo->query($query); @@ -31,8 +34,10 @@ switch (post('op')) { case 'add': $idtipointervento = post('idtipointervento'); $descrizione = post('descrizione'); - - $query = 'INSERT INTO in_tipiintervento(idtipointervento, descrizione, costo_orario, costo_km) VALUES ('.prepare($idtipointervento).', '.prepare($descrizione).', 0.00, 0.00)'; + + $tempo_standard = post('tempo_standard'); + + $query = 'INSERT INTO in_tipiintervento(idtipointervento, descrizione, costo_orario, costo_km, tempo_standard) VALUES ('.prepare($idtipointervento).', '.prepare($descrizione).', 0.00, 0.00, '.prepare($tempo_standard).')'; $dbo->query($query); $id_record = $idtipointervento; diff --git a/modules/tipi_intervento/add.php b/modules/tipi_intervento/add.php index 536b05814..8965e8e02 100644 --- a/modules/tipi_intervento/add.php +++ b/modules/tipi_intervento/add.php @@ -7,13 +7,19 @@ include_once __DIR__.'/../../core.php';
+
{[ "type": "text", "label": "", "name": "idtipointervento", "maxlength": 10, "class": "alphanumeric-mask", "required": 1, "value": "" ]}
-
+
{[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "" ]}
+ +
+ {[ "type": "number", "label": "", "name": "tempo_standard", "help": "", "maxlength": 4, "min-value": "undefined", "max-value": "24", "class": "text-center", "value": "$tempo_standard$", "icon-after": "ore" ]} +
+
diff --git a/modules/tipi_intervento/edit.php b/modules/tipi_intervento/edit.php index 05a21ee2b..a8eec170c 100644 --- a/modules/tipi_intervento/edit.php +++ b/modules/tipi_intervento/edit.php @@ -12,9 +12,14 @@ include_once __DIR__.'/../../core.php'; {[ "type": "span", "label": "", "name": "idtipointervento", "value": "$idtipointervento$" ]}
-
+
{[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$descrizione$" ]}
+ +
+ {[ "type": "number", "label": "", "name": "tempo_standard", "help": "", "maxlength": 4, "min-value": "undefined", "max-value": "24", "class": "text-center", "value": "$tempo_standard$", "icon-after": "ore" ]} +
+
diff --git a/update/2_4_1.sql b/update/2_4_1.sql index 932d0e6a7..ed43ab6da 100644 --- a/update/2_4_1.sql +++ b/update/2_4_1.sql @@ -164,3 +164,7 @@ INSERT INTO `zz_group_view` (`id_gruppo`, `id_vista`) VALUES (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(12,4) NULL AFTER `costo_diritto_chiamata_tecnico`; \ No newline at end of file