Correzione colonne Costi e Ricavi nelle attività

This commit is contained in:
loviuz 2022-07-22 16:23:05 +02:00
parent d0909258b8
commit 0b983ab4eb
3 changed files with 32 additions and 7 deletions

View File

@ -230,7 +230,8 @@ switch (filter('op')) {
if (count($rs) > 0) {
// Aggiornamento orario tecnico
$dbo->query('UPDATE in_interventi_tecnici SET orario_inizio = '.prepare($orario_inizio).', orario_fine = '.prepare($orario_fine).', ore='.prepare($ore).', prezzo_ore_consuntivo='.prepare($t * $prezzo_ore_unitario).' WHERE id='.prepare($sessione));
// FIXME: usare la classe e relativo metodo
$dbo->query('UPDATE in_interventi_tecnici SET orario_inizio = '.prepare($orario_inizio).', orario_fine = '.prepare($orario_fine).', ore='.prepare($ore).' WHERE id='.prepare($sessione));
echo 'ok';
} else {
echo tr('Attività completata, non è possibile modificarla!');

View File

@ -32,11 +32,30 @@ $is_completato = $rss[0]['flag_completato'];
// Sessioni dell'intervento
$query = 'SELECT in_interventi_tecnici.*, an_anagrafiche.ragione_sociale, an_anagrafiche.deleted_at AS anagrafica_deleted_at, in_tipiintervento.descrizione AS descrizione_tipo, in_interventi_tecnici.tipo_scontokm AS tipo_sconto_km, user.id AS id_user FROM in_interventi_tecnici
INNER JOIN an_anagrafiche ON in_interventi_tecnici.idtecnico = an_anagrafiche.idanagrafica
LEFT JOIN (SELECT zz_users.idanagrafica, zz_users.id FROM zz_users GROUP BY zz_users.idanagrafica) AS user ON user.idanagrafica = an_anagrafiche.idanagrafica
INNER JOIN in_tipiintervento ON in_interventi_tecnici.idtipointervento = in_tipiintervento.idtipointervento
WHERE in_interventi_tecnici.idintervento='.prepare($id_record).' ORDER BY ragione_sociale ASC, in_interventi_tecnici.orario_inizio ASC, in_interventi_tecnici.id ASC';
$query = 'SELECT
in_interventi_tecnici.*,
(in_interventi_tecnici.prezzo_ore_unitario * in_interventi_tecnici.ore - in_interventi_tecnici.sconto) AS prezzo_ore_consuntivo,
(in_interventi_tecnici.prezzo_km_unitario * in_interventi_tecnici.km - in_interventi_tecnici.scontokm) AS prezzo_km_consuntivo,
(in_interventi_tecnici.prezzo_ore_unitario_tecnico * in_interventi_tecnici.ore) AS prezzo_ore_consuntivo,
(in_interventi_tecnici.prezzo_km_unitario_tecnico * in_interventi_tecnici.km) AS prezzo_km_consuntivo,
an_anagrafiche.ragione_sociale,
an_anagrafiche.deleted_at AS anagrafica_deleted_at,
in_tipiintervento.descrizione AS descrizione_tipo,
in_interventi_tecnici.tipo_scontokm AS tipo_sconto_km,
user.id AS id_user
FROM
in_interventi_tecnici INNER JOIN an_anagrafiche
ON in_interventi_tecnici.idtecnico = an_anagrafiche.idanagrafica
LEFT JOIN (SELECT zz_users.idanagrafica, zz_users.id FROM zz_users GROUP BY zz_users.idanagrafica) AS user
ON user.idanagrafica = an_anagrafiche.idanagrafica
INNER JOIN in_tipiintervento
ON in_interventi_tecnici.idtipointervento = in_tipiintervento.idtipointervento
WHERE
in_interventi_tecnici.idintervento='.prepare($id_record).'
ORDER BY
ragione_sociale ASC,
in_interventi_tecnici.orario_inizio ASC,
in_interventi_tecnici.id ASC';
$sessioni = $dbo->fetchArray($query);
$prev_tecnico = '';

View File

@ -7,3 +7,8 @@ ALTER TABLE `in_righe_interventi` ADD `note` TEXT NULL AFTER `tipo_sconto`;
ALTER TABLE `or_righe_ordini` ADD `note` TEXT NULL AFTER `tipo_sconto`;
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, 'Aggiungi le note delle righe tra documenti', '0', 'boolean', '1', 'Generali', '24', 'Permette di riportare le note della riga in fase di importazione tra documenti');
-- Fix calcolo Costi e Ricavi su colonne attività
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IFNULL(SUM(in_interventi_tecnici.prezzo_ore_unitario_tecnico*in_interventi_tecnici.ore + in_interventi_tecnici.prezzo_km_unitario_tecnico*in_interventi_tecnici.km + in_interventi_tecnici.prezzo_dirittochiamata_tecnico), 0) + IFNULL(costo_righe, 0)' WHERE `zz_modules`.`name` = 'Interventi' AND `zz_views`.`name` = 'Costi';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IFNULL(SUM(in_interventi_tecnici.prezzo_ore_unitario*in_interventi_tecnici.ore-in_interventi_tecnici.sconto + in_interventi_tecnici.prezzo_km_unitario*in_interventi_tecnici.km-in_interventi_tecnici.scontokm + in_interventi_tecnici.prezzo_dirittochiamata), 0) + IFNULL(ricavo_righe, 0)' WHERE `zz_modules`.`name` = 'Interventi' AND `zz_views`.`name` = 'Ricavi';