Miglioramenti modulo Fasce orarie
This commit is contained in:
parent
1a09d73dda
commit
075f6bccfd
|
@ -56,15 +56,33 @@ switch (post('op')) {
|
|||
|
||||
case 'add':
|
||||
$nome = post('nome');
|
||||
$ora_inizio = post('ora_inizio');
|
||||
$ora_fine = post('ora_fine');
|
||||
|
||||
if ($dbo->fetchNum('SELECT * FROM `in_fasceorarie` WHERE `nome`='.prepare($nome)) == 0) {
|
||||
|
||||
$dbo->insert('in_fasceorarie', [
|
||||
'nome' => $nome,
|
||||
'ora_inizio' => $ora_inizio,
|
||||
'ora_fine' => $ora_fine,
|
||||
]);
|
||||
|
||||
$id_record = $dbo->lastInsertedID();
|
||||
|
||||
$tipi_intervento = $dbo->select('in_tipiintervento', '*');
|
||||
foreach ($tipi_intervento as $tipo_intervento) {
|
||||
$dbo->insert('in_fasceorarie_tipiintervento', [
|
||||
'idfasciaoraria' => $id_record,
|
||||
'idtipointervento' => $tipo_intervento['idtipointervento'],
|
||||
'costo_orario' => $tipo_intervento['costo_orario'],
|
||||
'costo_km' => $tipo_intervento['costo_km'],
|
||||
'costo_diritto_chiamata' => $tipo_intervento['costo_diritto_chiamata'],
|
||||
'costo_orario_tecnico' => $tipo_intervento['costo_orario_tecnico'],
|
||||
'costo_km_tecnico' => $tipo_intervento['costo_km_tecnico'],
|
||||
'costo_diritto_chiamata_tecnico' => $tipo_intervento['costo_km_tecnico'],
|
||||
]);
|
||||
}
|
||||
|
||||
if (isAjaxRequest()) {
|
||||
echo json_encode(['id' => $id_record, 'text' => $nome]);
|
||||
}
|
||||
|
@ -81,28 +99,15 @@ switch (post('op')) {
|
|||
break;
|
||||
|
||||
case 'delete':
|
||||
$tipi_interventi = $dbo->fetchNum('SELECT idtipointervento FROM in_fasceorarie_tipiintervento WHERE idfasciaoraria='.prepare($id_record));
|
||||
$dbo->update('in_fasceorarie', [
|
||||
'deleted_at' => date('Y-m-d H:i:s'),
|
||||
], ['id' => $id_record, 'can_delete' => 1]);
|
||||
|
||||
if (isset($id_record) && empty($tipi_interventi)) {
|
||||
$dbo->delete('in_fasceorarie_tipiintervento', ['idfasciaoraria' => $id_record]);
|
||||
|
||||
$dbo->delete('in_fasceorarie', [
|
||||
'id' => $id_record,
|
||||
'can_delete' => 1,
|
||||
]);
|
||||
|
||||
flash()->info(tr('_TYPE_ eliminata con successo.', [
|
||||
'_TYPE_' => 'Fascia oraria',
|
||||
]));
|
||||
|
||||
} else {
|
||||
|
||||
flash()->error(tr('Sono presenti dei tipi interventi collegate a questa fascia oraria.'));
|
||||
|
||||
# soft delete
|
||||
/*$dbo->update('in_fasceorarie', [
|
||||
'deleted_at' => date('Y-m-d H:i:s'),
|
||||
], ['id' => $id_record, 'can_delete' => 1]);*/
|
||||
}
|
||||
flash()->info(tr('_TYPE_ eliminata con successo.', [
|
||||
'_TYPE_' => 'Fascia oraria',
|
||||
]));
|
||||
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -24,9 +24,17 @@ include_once __DIR__.'/../../core.php';
|
|||
<input type="hidden" name="backto" value="record-edit">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="col-md-6">
|
||||
{[ "type": "text", "label": "<?php echo tr('Nome'); ?>", "name": "nome", "required": 1 ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "time", "label": "<?php echo tr('Ora inizio'); ?>", "name": "ora_inizio", "required": 1 ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "time", "label": "<?php echo tr('Ora fine'); ?>", "name": "ora_fine", "required": 1 ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- PULSANTI -->
|
||||
|
|
|
@ -26,16 +26,35 @@ switch (post('op')) {
|
|||
$tipo->descrizione = post('descrizione');
|
||||
$tipo->calcola_km = post('calcola_km');
|
||||
$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();
|
||||
|
||||
$fasce_ore = (array)post('fascia_ore');
|
||||
$fascia_km = (array)post('fascia_km');
|
||||
$fascia_diritto_chiamata = (array)post('fascia_diritto_chiamata');
|
||||
$fascia_orario_tecnico = (array)post('fascia_orario_tecnico');
|
||||
$fascia_km_tecnico = (array)post('fascia_km_tecnico');
|
||||
$fascia_diritto_chiamata_tecnico = (array)post('fascia_diritto_chiamata_tecnico');
|
||||
|
||||
foreach ($fasce_ore as $key => $fascia_ore) {
|
||||
$dbo->update('in_fasceorarie_tipiintervento', [
|
||||
'costo_orario' => $fascia_ore,
|
||||
'costo_km' => $fascia_km[$key],
|
||||
'costo_diritto_chiamata' => $fascia_diritto_chiamata[$key],
|
||||
'costo_orario_tecnico' => $fascia_orario_tecnico[$key],
|
||||
'costo_km_tecnico' => $fascia_km_tecnico[$key],
|
||||
'costo_diritto_chiamata_tecnico' => $fascia_diritto_chiamata_tecnico[$key],
|
||||
], [
|
||||
'idfasciaoraria' => $key, 'idtipointervento' => $id_record
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
flash()->info(tr('Informazioni tipo intervento salvate correttamente!'));
|
||||
|
||||
break;
|
||||
|
@ -54,7 +73,6 @@ switch (post('op')) {
|
|||
$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
|
||||
|
@ -62,6 +80,20 @@ switch (post('op')) {
|
|||
|
||||
$id_record = $tipo->id;
|
||||
|
||||
$fasce_orarie = $dbo->select('in_fasceorarie', '*', ['deleted_at' => null]);
|
||||
foreach ($fasce_orarie as $fascia_oraria) {
|
||||
$dbo->insert('in_fasceorarie_tipiintervento', [
|
||||
'idfasciaoraria' => $fascia_oraria['id'],
|
||||
'idtipointervento' => $id_record,
|
||||
'costo_orario' => post('costo_orario'),
|
||||
'costo_km' => post('costo_km'),
|
||||
'costo_diritto_chiamata' => post('costo_diritto_chiamata'),
|
||||
'costo_orario_tecnico' => post('costo_orario_tecnico'),
|
||||
'costo_km_tecnico' => post('costo_km_tecnico'),
|
||||
'costo_diritto_chiamata_tecnico' => post('costo_diritto_chiamata_tecnico'),
|
||||
]);
|
||||
}
|
||||
|
||||
flash()->info(tr('Nuovo tipo di intervento aggiunto!'));
|
||||
|
||||
break;
|
||||
|
@ -90,6 +122,9 @@ switch (post('op')) {
|
|||
$query = 'DELETE FROM co_contratti_tipiintervento WHERE idtipointervento='.prepare($id_record);
|
||||
$dbo->query($query);
|
||||
|
||||
$query = 'DELETE FROM in_fasceorarie_tipiintervento WHERE idtipointervento='.prepare($id_record);
|
||||
$dbo->query($query);
|
||||
|
||||
$query = 'DELETE FROM in_tipiintervento WHERE idtipointervento='.prepare($id_record);
|
||||
$dbo->query($query);
|
||||
|
||||
|
|
|
@ -49,21 +49,21 @@ $fasce_orarie = $dbo->fetchArray("SELECT *, CONCAT (in_fasceorarie.nome, ' (', D
|
|||
<td class="text-left">'.$descrizione.'</td>
|
||||
|
||||
<td class="text-right">
|
||||
{[ "type": "number", "name": "costo_ore['.$fascia_oraria[$i]['idtipointervento'].']", "value": "'.number_format($fascia_oraria['costo_orario'], 2, ',', '.').'", "decimals": "2", "icon-after": "<i class=\'fa fa-euro\'></i>" ]} </td>
|
||||
{[ "type": "number", "name": "fascia_ore['.$fascia_oraria['idfasciaoraria'].']", "value": "'.number_format($fascia_oraria['costo_orario'], 2, ',', '.').'", "decimals": "2", "icon-after": "<i class=\'fa fa-euro\'></i>" ]} </td>
|
||||
<td class="text-right">
|
||||
{[ "type": "number", "name": "costo_km['.$fascia_oraria[$i]['idtipointervento'].']", "value": "'.number_format($fascia_oraria['costo_km'], 2, ',', '.').'", "decimals": "2", "icon-after": "<i class=\'fa fa-euro\'></i>" ]}
|
||||
{[ "type": "number", "name": "fascia_km['.$fascia_oraria['idfasciaoraria'].']", "value": "'.number_format($fascia_oraria['costo_km'], 2, ',', '.').'", "decimals": "2", "icon-after": "<i class=\'fa fa-euro\'></i>" ]}
|
||||
</td>
|
||||
<td class="text-right">
|
||||
{[ "type": "number", "name": "costo_diritto_chiamata['.$fascia_oraria[$i]['idtipointervento'].']", "value": "'.number_format($fascia_oraria['costo_diritto_chiamata'], 2, ',', '.').'", "decimals": "2", "icon-after": "<i class=\'fa fa-euro\'></i>" ]}
|
||||
{[ "type": "number", "name": "fascia_diritto_chiamata['.$fascia_oraria['idfasciaoraria'].']", "value": "'.number_format($fascia_oraria['costo_diritto_chiamata'], 2, ',', '.').'", "decimals": "2", "icon-after": "<i class=\'fa fa-euro\'></i>" ]}
|
||||
</td>
|
||||
<td class="text-right">
|
||||
{[ "type": "number", "name": "costo_orario_tecnico['.$fascia_oraria[$i]['idtipointervento'].']", "value": "'.number_format($fascia_oraria['costo_orario_tecnico'], 2, ',', '.').'", "decimals": "2", "icon-after": "<i class=\'fa fa-euro\'></i>" ]}
|
||||
{[ "type": "number", "name": "fascia_orario_tecnico['.$fascia_oraria['idfasciaoraria'].']", "value": "'.number_format($fascia_oraria['costo_orario_tecnico'], 2, ',', '.').'", "decimals": "2", "icon-after": "<i class=\'fa fa-euro\'></i>" ]}
|
||||
</td>
|
||||
<td class="text-right">
|
||||
{[ "type": "number", "name": "costo_km_tecnico['.$fascia_oraria[$i]['idtipointervento'].']", "value": "'.number_format($fascia_oraria['costo_km_tecnico'], 2, ',', '.').'", "decimals": "2", "icon-after": "<i class=\'fa fa-euro\'></i>" ]}
|
||||
{[ "type": "number", "name": "fascia_km_tecnico['.$fascia_oraria['idfasciaoraria'].']", "value": "'.number_format($fascia_oraria['costo_km_tecnico'], 2, ',', '.').'", "decimals": "2", "icon-after": "<i class=\'fa fa-euro\'></i>" ]}
|
||||
</td>
|
||||
<td class="text-right">
|
||||
{[ "type": "number", "name": "costo_diritto_chiamata_tecnico['.$fascia_oraria[$i]['idtipointervento'].']", "value": "'.number_format($fascia_oraria['costo_diritto_chiamata_tecnico'], 2, ',', '.').'", "decimals": "2", "icon-after": "<i class=\'fa fa-euro\'></i>" ]}
|
||||
{[ "type": "number", "name": "fascia_diritto_chiamata_tecnico['.$fascia_oraria['idfasciaoraria'].']", "value": "'.number_format($fascia_oraria['costo_diritto_chiamata_tecnico'], 2, ',', '.').'", "decimals": "2", "icon-after": "<i class=\'fa fa-euro\'></i>" ]}
|
||||
</td>
|
||||
</tr>';
|
||||
|
||||
|
|
|
@ -38,4 +38,9 @@ ALTER TABLE `an_anagrafiche` ADD `provvigione_default` DECIMAL(12,6) NOT NULL AF
|
|||
ALTER TABLE `in_interventi` ADD `idagente` INT NOT NULL AFTER `idreferente`;
|
||||
|
||||
-- Impostazione per controlli su stati FE
|
||||
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, 'Data inizio controlli su stati FE', '01/01/2019', 'date', '1', 'Fatturazione elettronica', '23', NULL)
|
||||
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, 'Data inizio controlli su stati FE', '01/01/2019', 'date', '1', 'Fatturazione elettronica', '23', NULL);
|
||||
|
||||
-- Aggiunto campo deleted_at in in_fasceorarie
|
||||
ALTER TABLE `in_fasceorarie` ADD `deleted_at` TIMESTAMP NULL AFTER `include_bank_holidays`;
|
||||
|
||||
UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM `in_fasceorarie` WHERE 1=1 AND deleted_at IS NULL HAVING 2=2' WHERE `zz_modules`.`name` = 'Fasce orarie';
|
Loading…
Reference in New Issue