Correzione primary key Interventi

This commit is contained in:
Thomas Zilio 2019-07-08 16:45:00 +02:00
parent 0396f9c3ef
commit 182ab11130
10 changed files with 112 additions and 27 deletions

View File

@ -6,7 +6,6 @@ use Common\Model;
class Stato extends Model
{
public $incrementing = false;
protected $primaryKey = 'idstatointervento';
protected $table = 'in_statiintervento';

View File

@ -18,7 +18,7 @@ switch (post('op')) {
break;
case 'add':
$idstatointervento = post('idstatointervento');
$idstatointervento = post('codice');
$descrizione = post('descrizione');
$colore = post('colore');
@ -26,9 +26,9 @@ switch (post('op')) {
if (count($dbo->fetchArray('SELECT idstatointervento FROM in_statiintervento WHERE idstatointervento='.prepare($idstatointervento))) > 0) {
flash()->error(tr('Stato di intervento già esistente.'));
} else {
$query = 'INSERT INTO in_statiintervento(idstatointervento, descrizione, colore) VALUES ('.prepare($idstatointervento).', '.prepare($descrizione).', '.prepare($colore).')';
$query = 'INSERT INTO in_statiintervento(codice, descrizione, colore) VALUES ('.prepare($idstatointervento).', '.prepare($descrizione).', '.prepare($colore).')';
$dbo->query($query);
$id_record = $idstatointervento;
$id_record = $database->lastInsertedID();
flash()->info(tr('Nuovo stato di intervento aggiunto.'));
}

View File

@ -8,7 +8,7 @@ include_once __DIR__.'/../../core.php';
<div class="row">
<div class="col-md-2">
{[ "type": "text", "label": "<?php echo tr('Codice'); ?>", "name": "idstatointervento", "maxlength": 10, "class": "alphanumeric-mask", "required": 1 ]}
{[ "type": "text", "label": "<?php echo tr('Codice'); ?>", "name": "codice", "maxlength": 10, "class": "alphanumeric-mask", "required": 1 ]}
</div>
<div class="col-md-6">

View File

@ -15,7 +15,7 @@ if ($record['can_delete']) {
<div class="row">
<div class="col-md-2">
{[ "type": "span", "label": "<?php echo tr('Codice'); ?>", "name": "idstatointervento", "value": "$idstatointervento$" ]}
{[ "type": "span", "label": "<?php echo tr('Codice'); ?>", "name": "codice", "value": "$codice$" ]}
</div>
<div class="col-md-6">

View File

@ -7,13 +7,14 @@ include_once __DIR__.'/../../core.php';
switch (post('op')) {
case 'update':
$tipo->descrizione = post('descrizione');
$tipo->tempo_standard = post('tempo_standard');
$tipo->costo_orario = post('costo_orario');
$tipo->costo_km = post('costo_km');
$tipo->costo_diritto_chiamata = post('costo_diritto_chiamata');
$tipo->costo_orario_tecnico = post('costo_orario_tecnico');
$tipo->costo_km_tecnico = post('costo_km_tecnico');
$tipo->costo_diritto_chiamata_tecnico = post('costo_diritto_chiamata_tecnico');
$tipo->tempo_standard = post('tempo_standard');
$tipo->save();
@ -22,11 +23,24 @@ switch (post('op')) {
break;
case 'add':
$idtipointervento = post('idtipointervento');
$codice = post('codice');
$descrizione = post('descrizione');
$tempo_standard = post('tempo_standard');
$tipo = Tipo::build($idtipointervento, $descrizione, $tempo_standard);
$tipo = Tipo::build($codice, $descrizione);
$tipo->tempo_standard = post('tempo_standard');
$tipo->costo_orario = post('costo_orario');
$tipo->costo_km = post('costo_km');
$tipo->costo_diritto_chiamata = post('costo_diritto_chiamata');
$tipo->costo_orario_tecnico = post('costo_orario_tecnico');
$tipo->costo_km_tecnico = post('costo_km_tecnico');
$tipo->costo_diritto_chiamata_tecnico = post('costo_diritto_chiamata_tecnico');
$tipo->save();
// Fix per impostare i valori inziali a tutti i tecnici
$tipo->fixTecnici();
$id_record = $tipo->id;

View File

@ -7,9 +7,8 @@ include_once __DIR__.'/../../core.php';
<input type="hidden" name="backto" value="record-edit">
<div class="row">
<div class="col-md-4">
{[ "type": "text", "label": "<?php echo tr('Codice'); ?>", "name": "idtipointervento", "maxlength": 10, "class": "alphanumeric-mask", "required": 1 ]}
{[ "type": "text", "label": "<?php echo tr('Codice'); ?>", "name": "codice", "maxlength": 10, "class": "alphanumeric-mask", "required": 1 ]}
</div>
<div class="col-md-6">
@ -19,9 +18,52 @@ include_once __DIR__.'/../../core.php';
<div class="col-md-2">
{[ "type": "number", "label": "<small><?php echo tr('Tempo standard'); ?></small>", "name": "tempo_standard", "help": "<?php echo tr('Valore compreso tra 0,25 - 24 ore. <br><small>Esempi: <em><ul><li>60 minuti = 1 ora</li><li>30 minuti = 0,5 ore</li><li>15 minuti = 0,25 ore</li></ul></em></small>'); ?>", "maxlength": 5, "min-value": "0", "max-value": "24", "class": "text-center", "value": "$tempo_standard$", "icon-after": "ore" ]}
</div>
</div>
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title"><?php echo tr('Addebiti unitari al cliente'); ?></h3>
</div>
<div class="panel-body">
<div class="row">
<div class="col-md-4">
{[ "type": "number", "label": "<?php echo tr('Addebito orario'); ?>", "name": "costo_orario", "required": 1, "value": "$costo_orario$", "icon-after": "<i class='fa fa-euro'></i>" ]}
</div>
<div class="col-md-4">
{[ "type": "number", "label": "<?php echo tr('Addebito km'); ?>", "name": "costo_km", "required": 1, "value": "$costo_km$", "icon-after": "<i class='fa fa-euro'></i>" ]}
</div>
<div class="col-md-4">
{[ "type": "number", "label": "<?php echo tr('Addebito diritto ch.'); ?>", "name": "costo_diritto_chiamata", "required": 1, "value": "$costo_diritto_chiamata$", "icon-after": "<i class='fa fa-euro'></i>" ]}
</div>
</div>
</div>
</div>
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title"><?php echo tr('Costi unitari del tecnico'); ?></h3>
</div>
<div class="panel-body">
<div class="row">
<div class="col-md-4">
{[ "type": "number", "label": "<?php echo tr('Costo orario'); ?>", "name": "costo_orario_tecnico", "required": 1, "value": "$costo_orario_tecnico$", "icon-after": "<i class='fa fa-euro'></i>" ]}
</div>
<div class="col-md-4">
{[ "type": "number", "label": "<?php echo tr('Costo km'); ?>", "name": "costo_km_tecnico", "required_tecnico": 1, "value": "$costo_km_tecnico$", "icon-after": "<i class='fa fa-euro'></i>" ]}
</div>
<div class="col-md-4">
{[ "type": "number", "label": "<?php echo tr('Costo diritto ch.'); ?>", "name": "costo_diritto_chiamata_tecnico", "required": 1, "value": "$costo_diritto_chiamata_tecnico$", "icon-after": "<i class='fa fa-euro'></i>" ]}
</div>
</div>
</div>
</div>
<!-- PULSANTI -->
<div class="row">
<div class="col-md-12 text-right">

View File

@ -1,6 +1,6 @@
<?php
echo '
<a class="btn btn-warning ask" data-backto="record-edit" data-method="post" data-op="import" data-msg="'.tr('Vuoi impostare tutte le tariffe dei tecnici a questi valori?').'" data-button="'.tr('Imposta').'" data-class="btn btn-lg btn-warning">
<i class="fa fa-upload"></i> '.tr('Imposta per tutti i tecnici').'
<a class="btn btn-warning ask" data-backto="record-edit" data-method="post" data-op="import" data-msg="'.tr('Vuoi impostare tutte le tariffe dei tecnici a questi valori?').'" data-button="'.tr('Applica').'" data-class="btn btn-lg btn-warning">
<i class="fa fa-upload"></i> '.tr('Applica a tutti i tecnici').'
</a>';

View File

@ -9,7 +9,7 @@ include_once __DIR__.'/../../core.php';
<div class="row">
<div class="col-md-4">
{[ "type": "span", "label": "<?php echo tr('Codice'); ?>", "name": "idtipointervento", "value": "$idtipointervento$" ]}
{[ "type": "span", "label": "<?php echo tr('Codice'); ?>", "name": "codice", "value": "$codice$" ]}
</div>
<div class="col-md-6">
@ -68,10 +68,6 @@ include_once __DIR__.'/../../core.php';
</div>
</form>
<a class="btn btn-danger ask" data-backto="record-list">
<i class="fa fa-trash"></i> <?php echo tr('Elimina'); ?>
</a>
<?php
$interventi = $dbo->fetchArray('SELECT COUNT(*) AS tot_interventi FROM in_interventi WHERE idtipointervento='.prepare($id_record));
@ -83,6 +79,10 @@ if ($tot_interventi > 0) {
'.tr('Ci sono _NUM_ interventi collegati', [
'_NUM_' => $tot_interventi,
]).'.
'.tr('Eliminando questo tipo di attività, vengono rimossi anche gli interventi collegati!').'
</div>';
} else {
echo '
<a class="btn btn-danger ask" data-backto="record-list">
<i class="fa fa-trash"></i> '.tr('Elimina').'
</a>';
}

View File

@ -7,7 +7,6 @@ use Modules\Anagrafiche\Anagrafica;
class Tipo extends Model
{
public $incrementing = false;
protected $table = 'in_tipiintervento';
protected $primaryKey = 'idtipointervento';
@ -20,19 +19,16 @@ class Tipo extends Model
*
* @return self
*/
public static function build($codice, $descrizione, $tempo_standard = null)
public static function build($codice, $descrizione)
{
$model = parent::build();
$model->idtipointervento = $codice;
$model->codice = $codice;
$model->descrizione = $descrizione;
$model->tempo_standard = $tempo_standard;
// Salvataggio delle informazioni
$model->save();
$model->fixTecnici();
return $model;
}

View File

@ -151,3 +151,37 @@ INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`,
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Tecnici e tariffe'), '_bg_', 'colore', 3, 1, 0, 0, 0),
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Tecnici e tariffe'), 'Nome', 'ragione_sociale', 2, 1, 0, 0, 1),
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Tecnici e tariffe'), 'id', 'idanagrafica', 1, 1, 0, 0, 0);
-- Correzione primary key
ALTER TABLE `in_interventi` DROP FOREIGN KEY `in_interventi_ibfk_2`;
ALTER TABLE `in_tipiintervento` DROP PRIMARY KEY;
ALTER TABLE `in_tipiintervento` CHANGE `idtipointervento` `codice` VARCHAR(25) NOT NULL, ADD `idtipointervento` INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT;
UPDATE `in_interventi` INNER JOIN `in_tipiintervento` ON `in_interventi`.`idtipointervento` = `in_tipiintervento`.`codice` SET `in_interventi`.`idtipointervento` = `in_tipiintervento`.`idtipointervento`;
ALTER TABLE `in_interventi` CHANGE `idtipointervento` `idtipointervento` INT(11) NOT NULL, ADD FOREIGN KEY (`idtipointervento`) REFERENCES `in_tipiintervento`(`idtipointervento`);
ALTER TABLE `in_statiintervento` DROP PRIMARY KEY;
ALTER TABLE `in_statiintervento` CHANGE `idstatointervento` `codice` VARCHAR(25) NOT NULL, ADD `idstatointervento` INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT;
UPDATE `in_interventi` INNER JOIN `in_statiintervento` ON `in_interventi`.`idstatointervento` = `in_statiintervento`.`codice` SET `in_interventi`.`idstatointervento` = `in_statiintervento`.`idstatointervento`;
ALTER TABLE `in_interventi` CHANGE `idstatointervento` `idstatointervento` INT(11) NOT NULL, ADD FOREIGN KEY (`idstatointervento`) REFERENCES `in_statiintervento`(`idstatointervento`);
UPDATE `an_anagrafiche` INNER JOIN `in_tipiintervento` ON `an_anagrafiche`.`idtipointervento_default` = `in_tipiintervento`.`codice` SET `an_anagrafiche`.`idtipointervento_default` = `in_tipiintervento`.`idtipointervento`;
ALTER TABLE `an_anagrafiche` CHANGE `idtipointervento_default` `idtipointervento_default` varchar(25);
UPDATE `an_anagrafiche` SET `idtipointervento_default` = NULL WHERE `idtipointervento_default` NOT IN (SELECT `idtipointervento` FROM `in_tipiintervento`);
ALTER TABLE `an_anagrafiche` CHANGE `idtipointervento_default` `idtipointervento_default` INT(11), ADD FOREIGN KEY (`idtipointervento_default`) REFERENCES `in_tipiintervento`(`idtipointervento`);
UPDATE `co_contratti_tipiintervento` INNER JOIN `in_tipiintervento` ON `co_contratti_tipiintervento`.`idtipointervento` = `in_tipiintervento`.`codice` SET `co_contratti_tipiintervento`.`idtipointervento` = `in_tipiintervento`.`idtipointervento`;
ALTER TABLE `co_contratti_tipiintervento` CHANGE `idtipointervento` `idtipointervento` INT(11) NOT NULL, ADD FOREIGN KEY (`idtipointervento`) REFERENCES `in_tipiintervento`(`idtipointervento`);
UPDATE `co_preventivi` INNER JOIN `in_tipiintervento` ON `co_preventivi`.`idtipointervento` = `in_tipiintervento`.`codice` SET `co_preventivi`.`idtipointervento` = `in_tipiintervento`.`idtipointervento`;
ALTER TABLE `co_preventivi` CHANGE `idtipointervento` `idtipointervento` INT(11) NOT NULL, ADD FOREIGN KEY (`idtipointervento`) REFERENCES `in_tipiintervento`(`idtipointervento`);
UPDATE `co_promemoria` INNER JOIN `in_tipiintervento` ON `co_promemoria`.`idtipointervento` = `in_tipiintervento`.`codice` SET `co_promemoria`.`idtipointervento` = `in_tipiintervento`.`idtipointervento`;
ALTER TABLE `co_promemoria` CHANGE `idtipointervento` `idtipointervento` INT(11) NOT NULL, ADD FOREIGN KEY (`idtipointervento`) REFERENCES `in_tipiintervento`(`idtipointervento`);
UPDATE `in_interventi_tecnici` INNER JOIN `in_tipiintervento` ON `in_interventi_tecnici`.`idtipointervento` = `in_tipiintervento`.`codice` SET `in_interventi_tecnici`.`idtipointervento` = `in_tipiintervento`.`idtipointervento`;
ALTER TABLE `in_interventi_tecnici` CHANGE `idtipointervento` `idtipointervento` INT(11) NOT NULL, ADD FOREIGN KEY (`idtipointervento`) REFERENCES `in_tipiintervento`(`idtipointervento`);
UPDATE `in_tariffe` INNER JOIN `in_tipiintervento` ON `in_tariffe`.`idtipointervento` = `in_tipiintervento`.`codice` SET `in_tariffe`.`idtipointervento` = `in_tipiintervento`.`idtipointervento`;
ALTER TABLE `in_tariffe` CHANGE `idtipointervento` `idtipointervento` INT(11) NOT NULL, ADD FOREIGN KEY (`idtipointervento`) REFERENCES `in_tipiintervento`(`idtipointervento`);