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
|
// Elenco sessioni dell'intervento per l'applicazione
|
||||||
case 'sessioni_intervento':
|
case 'sessioni_intervento':
|
||||||
// Periodo per selezionare interventi
|
$query = 'SELECT id, idintervento, orario_inizio, orario_fine FROM in_interventi_tecnici WHERE `idintervento` = :id_intervento';
|
||||||
$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 `orario_fine` <= :period_end';
|
if ($user['gruppo'] == 'Tecnici') {
|
||||||
|
$query .= ' AND `idtecnico` = :id_tecnico';
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: rimosse seguenti clausole:
|
// TODO: rimosse seguenti clausole:
|
||||||
|
|
||||||
// WHERE `in_interventi`.idstatointervento IN(SELECT idstatointervento FROM in_statiintervento WHERE app_download=1)
|
// WHERE `in_interventi`.idstatointervento IN(SELECT idstatointervento FROM in_statiintervento WHERE app_download=1)
|
||||||
// nel database ufficiale manca in_statiintervento.app_download
|
// 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 = [
|
$parameters = [
|
||||||
':period_end' => $period_end,
|
':id_intervento' => $request['id_intervento'],
|
||||||
|
':id_tecnico' => $user['idanagrafica'],
|
||||||
];
|
];
|
||||||
|
|
||||||
$results = $dbo->fetchArray($query, $parameters.' LIMIT '.($page * $length).', '.$length);
|
$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;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'sync',
|
'sync',
|
||||||
|
'intervento',
|
||||||
|
'firma_intervento',
|
||||||
];
|
];
|
||||||
|
|
|
@ -105,6 +105,9 @@ class API extends \Util\Singleton
|
||||||
if (in_array($resource, array_keys($resources))) {
|
if (in_array($resource, array_keys($resources))) {
|
||||||
$dbo = $database;
|
$dbo = $database;
|
||||||
|
|
||||||
|
// Inclusione funzioni del modulo
|
||||||
|
include_once App::filepath(DOCROOT.'/modules/'.$resources[$resource].'|custom|', 'modutil.php');
|
||||||
|
|
||||||
// Esecuzione delle operazioni personalizzate
|
// Esecuzione delle operazioni personalizzate
|
||||||
$filename = DOCROOT.'/modules/'.$resources[$resource].'/api/'.$kind.'.php';
|
$filename = DOCROOT.'/modules/'.$resources[$resource].'/api/'.$kind.'.php';
|
||||||
include $filename;
|
include $filename;
|
||||||
|
@ -204,6 +207,7 @@ class API extends \Util\Singleton
|
||||||
protected function fileRequest($request, $kind)
|
protected function fileRequest($request, $kind)
|
||||||
{
|
{
|
||||||
$user = Auth::user();
|
$user = Auth::user();
|
||||||
|
$results = [];
|
||||||
|
|
||||||
// Controllo sulla compatibilità dell'API
|
// Controllo sulla compatibilità dell'API
|
||||||
if (!self::isCompatible()) {
|
if (!self::isCompatible()) {
|
||||||
|
|
Loading…
Reference in New Issue