Miglioramento API generali
This commit is contained in:
parent
b61f754d13
commit
3549e8bd65
|
@ -0,0 +1,20 @@
|
|||
<?php
|
||||
|
||||
switch ($resource) {
|
||||
case 'allegato':
|
||||
$module = Modules::get($request['module']);
|
||||
|
||||
$upload = Uploads::upload($_FILES['upload'], [
|
||||
'name' => $request['name'],
|
||||
'id_module' => $module['id'],
|
||||
'id_record' => $id_record,
|
||||
]);
|
||||
|
||||
$results['filename'] = $upload;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
return [
|
||||
'allegato',
|
||||
];
|
|
@ -0,0 +1,89 @@
|
|||
<?php
|
||||
|
||||
include_once Modules::filepath('Articoli', 'modutil.php');
|
||||
|
||||
switch ($resource) {
|
||||
case 'intervento':
|
||||
$data = $request['data'];
|
||||
|
||||
// Se l'idintervento non esiste, creo un nuovo intervento
|
||||
$formato = get_var('Formato codice intervento');
|
||||
$template = str_replace('#', '%', $formato);
|
||||
|
||||
$rs = $dbo->fetchArray('SELECT codice FROM in_interventi WHERE codice=(SELECT MAX(CAST(codice AS SIGNED)) FROM in_interventi) AND codice LIKE '.prepare($template).' ORDER BY codice DESC LIMIT 0,1');
|
||||
$codice = Util\Generator::generate($formato, $rs[0]['codice']);
|
||||
|
||||
if (empty($codice)) {
|
||||
$rs = $dbo->fetchArray('SELECT codice FROM in_interventi WHERE codice LIKE '.prepare($template).' ORDER BY codice DESC LIMIT 0,1');
|
||||
|
||||
$codice = Util\Generator::generate($formato, $rs[0]['codice']);
|
||||
}
|
||||
|
||||
if (!empty($codice) && !empty($data['id_anagrafica']) && !empty($data['id_tipo_intervento'])) {
|
||||
// Salvataggio modifiche intervento
|
||||
$dbo->insert('in_interventi', [
|
||||
'idanagrafica' => $data['id_anagrafica'],
|
||||
'idclientefinale' => 0,
|
||||
'idstatointervento' => $data['id_stato_intervento'],
|
||||
'idtipointervento' => $data['id_tipo_intervento'],
|
||||
'idsede' => 0,
|
||||
'idautomezzo' => 0,
|
||||
|
||||
'codice' => $codice,
|
||||
'data_richiesta' => $data['data_richiesta'],
|
||||
'richiesta' => $data['richiesta'],
|
||||
'descrizione' => $data['descrizione'],
|
||||
'informazioniaggiuntive' => $data['informazioni_aggiuntive'],
|
||||
]);
|
||||
|
||||
$results['id_record'] = $dbo->lastInsertedID();
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'sessione':
|
||||
$data = $request['data'];
|
||||
|
||||
add_tecnico($data['id_intervento'], $data['id_tecnico'], $data['orario_inizio'], $data['orario_fine']);
|
||||
|
||||
break;
|
||||
|
||||
case 'articolo_intervento':
|
||||
$data = $request['data'];
|
||||
|
||||
// Inserisco movimento generico per questo articolo
|
||||
add_movimento_magazzino($data['id_articolo'], $data['qta'], [
|
||||
'idintervento' => $data['id_intervento'],
|
||||
'idautomezzo' => $data['id_automezzo'],
|
||||
], 'Movimento da APP - Intervento '.$data['idintervento'], $data['data']);
|
||||
|
||||
// collego articolo all'intervento in questione
|
||||
$q = "INSERT INTO mg_articoli_interventi(
|
||||
idarticolo,
|
||||
idintervento,
|
||||
descrizione,
|
||||
prezzo_vendita,
|
||||
idiva_vendita,
|
||||
idautomezzo,
|
||||
qta
|
||||
) VALUES(
|
||||
'".$data['id_articolo']."',
|
||||
'".$data['id_intervento']."',
|
||||
(SELECT descrizione FROM mg_articoli WHERE mg_articoli.id=\"".$data['id_articolo'].'"),
|
||||
(SELECT prezzo_vendita FROM mg_articoli WHERE mg_articoli.id="'.$data['id_articolo']."\"),
|
||||
(SELECT valore FROM `zz_impostazioni` WHERE nome=\"Iva predefinita\"),
|
||||
'".$data['id_automezzo']."',
|
||||
'".$data['qta']."'
|
||||
)";
|
||||
$dbo->query($q);
|
||||
|
||||
$dbo->query('UPDATE mg_articoli SET qta=(qta - '.$data['qta'].") WHERE id='".$data['id_articolo']."'");
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
return [
|
||||
'intervento',
|
||||
'sessione',
|
||||
'articolo_intervento',
|
||||
];
|
|
@ -99,22 +99,20 @@ switch ($resource) {
|
|||
|
||||
// Elenco sessioni dell'intervento per l'applicazione
|
||||
case 'sessioni_intervento':
|
||||
// Periodo per selezionare interventi
|
||||
$today = date('Y-m-d');
|
||||
$period_end = date('Y-m-d', strtotime($today.' +7 days'));
|
||||
$query = 'SELECT id, idintervento, orario_inizio, orario_fine FROM in_interventi_tecnici WHERE `idintervento` = :id_intervento';
|
||||
|
||||
$query = 'SELECT id, idintervento, orario_inizio, orario_fine FROM in_interventi_tecnici WHERE `orario_fine` <= :period_end';
|
||||
if ($user['gruppo'] == 'Tecnici') {
|
||||
$query .= ' AND `idtecnico` = :id_tecnico';
|
||||
}
|
||||
|
||||
// TODO: rimosse seguenti clausole:
|
||||
|
||||
// WHERE `in_interventi`.idstatointervento IN(SELECT idstatointervento FROM in_statiintervento WHERE app_download=1)
|
||||
// nel database ufficiale manca in_statiintervento.app_download
|
||||
|
||||
// AND `in_interventi_tecnici`.`idtecnico`='".$tecnico[0]['idanagrafica']."'
|
||||
// nell'inner join con in_interventi_tecnici -> ad oggi 16-05-2018 non gestisco ancora idtecnico
|
||||
|
||||
$parameters = [
|
||||
':period_end' => $period_end,
|
||||
':id_intervento' => $request['id_intervento'],
|
||||
':id_tecnico' => $user['idanagrafica'],
|
||||
];
|
||||
|
||||
$results = $dbo->fetchArray($query, $parameters.' LIMIT '.($page * $length).', '.$length);
|
||||
|
|
|
@ -100,9 +100,35 @@ switch ($resource) {
|
|||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'intervento':
|
||||
$data = $request['data'];
|
||||
|
||||
$dbo->update('in_interventi', [
|
||||
'idstatointervento' => $data['idstatointervento'],
|
||||
'descrizione' => $data['descrizione'],
|
||||
'informazioniaggiuntive' => $data['informazioniaggiuntive'],
|
||||
], ['id' => $data['id']]);
|
||||
|
||||
// $dbo->query( 'DELETE FROM in_interventi_tecnici WHERE idintervento='.prepare($record['id']).' AND idtecnico='.prepare($idtecnico) );
|
||||
|
||||
break;
|
||||
|
||||
case 'firma_intervento':
|
||||
$data = $request['data'];
|
||||
|
||||
$dbo->update('in_interventi', [
|
||||
'firma_file' => $data['firma_file'],
|
||||
'firma_data' => $data['firma_data'],
|
||||
'firma_nome' => $data['firma_nome'],
|
||||
], ['id' => $data['id']]);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
return [
|
||||
'sync',
|
||||
'intervento',
|
||||
'firma_intervento',
|
||||
];
|
||||
|
|
|
@ -105,6 +105,9 @@ class API extends \Util\Singleton
|
|||
if (in_array($resource, array_keys($resources))) {
|
||||
$dbo = $database;
|
||||
|
||||
// Inclusione funzioni del modulo
|
||||
include_once App::filepath(DOCROOT.'/modules/'.$resources[$resource].'|custom|', 'modutil.php');
|
||||
|
||||
// Esecuzione delle operazioni personalizzate
|
||||
$filename = DOCROOT.'/modules/'.$resources[$resource].'/api/'.$kind.'.php';
|
||||
include $filename;
|
||||
|
@ -204,7 +207,8 @@ class API extends \Util\Singleton
|
|||
protected function fileRequest($request, $kind)
|
||||
{
|
||||
$user = Auth::user();
|
||||
|
||||
$results = [];
|
||||
|
||||
// Controllo sulla compatibilità dell'API
|
||||
if (!self::isCompatible()) {
|
||||
return self::response([
|
||||
|
|
Loading…
Reference in New Issue