mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-01-24 04:41:00 +01:00
Correzioni per API Applicazione
This commit is contained in:
parent
93e29ff222
commit
9a3f92de54
@ -51,7 +51,7 @@ class AllegatiInterventi extends AppResource
|
||||
{
|
||||
// Elenco di interventi di interesse
|
||||
$risorsa_interventi = $this->getRisorsaInterventi();
|
||||
$interventi = $risorsa_interventi->getModifiedRecords($last_sync_at);
|
||||
$interventi = $risorsa_interventi->getModifiedRecords(null);
|
||||
if (empty($interventi)) {
|
||||
return [];
|
||||
}
|
||||
|
@ -40,17 +40,26 @@ class SessioniInterventi extends AppResource
|
||||
$user = Auth::user();
|
||||
$id_tecnico = $user->id_anagrafica;
|
||||
|
||||
$query = 'SELECT in_interventi_tecnici.id FROM in_interventi_tecnici
|
||||
// Elenco di interventi di interesse
|
||||
$risorsa_interventi = $this->getRisorsaInterventi();
|
||||
$interventi = $risorsa_interventi->getCleanupData($last_sync_at);
|
||||
|
||||
// Elenco sessioni degli interventi da rimuovere
|
||||
$da_interventi = [];
|
||||
if (!empty($interventi)) {
|
||||
$query = 'SELECT in_interventi_tecnici.id
|
||||
FROM in_interventi_tecnici
|
||||
INNER JOIN in_interventi ON in_interventi_tecnici.idintervento = in_interventi.id
|
||||
WHERE
|
||||
in_interventi.deleted_at IS NOT NULL
|
||||
OR (orario_fine NOT BETWEEN :period_start AND :period_end AND idtecnico = :id_tecnico)';
|
||||
$records = database()->fetchArray($query, [
|
||||
':period_end' => $end,
|
||||
':period_start' => $start,
|
||||
':id_tecnico' => $id_tecnico,
|
||||
]);
|
||||
$da_interventi = array_column($records, 'id');
|
||||
in_interventi.id IN ('.implode(',', $interventi).')
|
||||
OR (orario_fine NOT BETWEEN :period_start AND :period_end)';
|
||||
$records = database()->fetchArray($query, [
|
||||
':period_end' => $end,
|
||||
':period_start' => $start,
|
||||
]);
|
||||
$da_interventi = array_column($records, 'id');
|
||||
}
|
||||
|
||||
$mancanti = $this->getMissingIDs('in_interventi_tecnici', 'id', $last_sync_at);
|
||||
|
||||
$results = array_unique(array_merge($da_interventi, $mancanti));
|
||||
@ -70,11 +79,19 @@ class SessioniInterventi extends AppResource
|
||||
$user = Auth::user();
|
||||
$id_tecnico = $user->id_anagrafica;
|
||||
|
||||
$query = 'SELECT in_interventi_tecnici.id FROM in_interventi_tecnici
|
||||
// Elenco di interventi di interesse
|
||||
$risorsa_interventi = $this->getRisorsaInterventi();
|
||||
$interventi = $risorsa_interventi->getModifiedRecords(null);
|
||||
if (empty($interventi)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
$query = 'SELECT in_interventi_tecnici.id
|
||||
FROM in_interventi_tecnici
|
||||
INNER JOIN in_interventi ON in_interventi_tecnici.idintervento = in_interventi.id
|
||||
WHERE
|
||||
in_interventi.deleted_at IS NULL
|
||||
AND (orario_fine BETWEEN :period_start AND :period_end AND idtecnico = :id_tecnico)';
|
||||
in_interventi.id IN ('.implode(',', $interventi).')
|
||||
AND (orario_fine BETWEEN :period_start AND :period_end)';
|
||||
|
||||
// Filtro per data
|
||||
if ($last_sync_at) {
|
||||
@ -83,7 +100,6 @@ class SessioniInterventi extends AppResource
|
||||
$records = database()->fetchArray($query, [
|
||||
':period_start' => $start,
|
||||
':period_end' => $end,
|
||||
':id_tecnico' => $id_tecnico,
|
||||
]);
|
||||
|
||||
return array_column($records, 'id');
|
||||
@ -92,7 +108,7 @@ class SessioniInterventi extends AppResource
|
||||
public function retrieveRecord($id)
|
||||
{
|
||||
// Gestione della visualizzazione dei dettagli del record
|
||||
$query = 'SELECT id,
|
||||
$query = "SELECT id,
|
||||
idintervento AS id_intervento,
|
||||
idtecnico AS id_tecnico,
|
||||
idtipointervento AS id_tipo_intervento,
|
||||
@ -101,18 +117,18 @@ class SessioniInterventi extends AppResource
|
||||
km,
|
||||
|
||||
prezzo_ore_unitario AS prezzo_orario,
|
||||
IF(tipo_sconto = "UNT", sconto_unitario, sconto_unitario * prezzo_ore_unitario / 100) AS sconto_orario,
|
||||
IF(tipo_sconto = "PRC", sconto_unitario, 0) AS sconto_orario_percentuale,
|
||||
IF(tipo_sconto = 'UNT', sconto_unitario, sconto_unitario * prezzo_ore_unitario / 100) AS sconto_orario,
|
||||
IF(tipo_sconto = 'PRC', sconto_unitario, 0) AS sconto_orario_percentuale,
|
||||
tipo_sconto AS tipo_sconto_orario,
|
||||
|
||||
prezzo_km_unitario AS prezzo_chilometrico,
|
||||
IF(tipo_scontokm = "UNT", scontokm_unitario, scontokm_unitario * prezzo_km_unitario / 100) AS sconto_chilometrico,
|
||||
IF(tipo_scontokm = "PRC", scontokm_unitario, 0) AS sconto_chilometrico_percentuale,
|
||||
IF(tipo_scontokm = 'UNT', scontokm_unitario, scontokm_unitario * prezzo_km_unitario / 100) AS sconto_chilometrico,
|
||||
IF(tipo_scontokm = 'PRC', scontokm_unitario, 0) AS sconto_chilometrico_percentuale,
|
||||
tipo_sconto AS tipo_sconto_chilometrico,
|
||||
|
||||
prezzo_dirittochiamata AS prezzo_diritto_chiamata
|
||||
FROM in_interventi_tecnici
|
||||
WHERE in_interventi_tecnici.id = '.prepare($id);
|
||||
WHERE in_interventi_tecnici.id = ".prepare($id);
|
||||
|
||||
$record = database()->fetchOne($query);
|
||||
|
||||
@ -156,6 +172,11 @@ class SessioniInterventi extends AppResource
|
||||
$sessione->delete();
|
||||
}
|
||||
|
||||
protected function getRisorsaInterventi()
|
||||
{
|
||||
return new Interventi();
|
||||
}
|
||||
|
||||
/**
|
||||
* Aggiorna i dati della sessione sulla base dei dati caricati dall'applicazione.
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user