mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-24 07:17:55 +01:00
Fix rimozione Interventi via API
This commit is contained in:
parent
874a9d528f
commit
97a3e9f9de
@ -3,6 +3,7 @@
|
|||||||
namespace Modules\Interventi;
|
namespace Modules\Interventi;
|
||||||
|
|
||||||
use Common\Document;
|
use Common\Document;
|
||||||
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
use Modules\Anagrafiche\Anagrafica;
|
use Modules\Anagrafiche\Anagrafica;
|
||||||
use Modules\Contratti\Contratto;
|
use Modules\Contratti\Contratto;
|
||||||
use Modules\Preventivi\Preventivo;
|
use Modules\Preventivi\Preventivo;
|
||||||
@ -14,6 +15,7 @@ use Util\Generator;
|
|||||||
class Intervento extends Document
|
class Intervento extends Document
|
||||||
{
|
{
|
||||||
use ReferenceTrait;
|
use ReferenceTrait;
|
||||||
|
//use SoftDeletes;
|
||||||
|
|
||||||
use RecordTrait;
|
use RecordTrait;
|
||||||
|
|
||||||
|
@ -216,21 +216,35 @@ abstract class AppResource extends Resource implements RetrieveInterface, Create
|
|||||||
// Ottiene il valore successivo della colonna di tipo AUTO_INCREMENT
|
// Ottiene il valore successivo della colonna di tipo AUTO_INCREMENT
|
||||||
$next_autoincrement = $database->fetchOne('SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '.prepare($table_name).' AND TABLE_SCHEMA = '.prepare($db_name))['AUTO_INCREMENT'];
|
$next_autoincrement = $database->fetchOne('SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '.prepare($table_name).' AND TABLE_SCHEMA = '.prepare($db_name))['AUTO_INCREMENT'];
|
||||||
|
|
||||||
|
/*
|
||||||
// Ottiene l'ultimo record con data precedente a quella impostata
|
// Ottiene l'ultimo record con data precedente a quella impostata
|
||||||
$last_id = null;
|
$last_id = null;
|
||||||
if ($last_sync_at) {
|
if ($last_sync_at) {
|
||||||
$last_record = $database->fetchOne('SELECT '.$column.' AS id FROM '.$table_name.' WHERE created_at <= '.prepare($last_sync_at).' ORDER BY '.$column.' DESC');
|
$last_record = $database->fetchOne('SELECT '.$column.' AS id FROM '.$table_name.' WHERE created_at <= '.prepare($last_sync_at).' ORDER BY '.$column.' DESC');
|
||||||
$last_id = $last_record['id'];
|
$last_id = $last_record['id'];
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
// Ottiene i vuoti all'interno della sequenza AUTO_INCREMENT
|
// Ottiene i vuoti all'interno della sequenza AUTO_INCREMENT
|
||||||
$query = 'SELECT (t1.'.$column.' + 1) AS start, (SELECT MIN(t3.'.$column.') - 1 FROM '.$table_name.' t3 WHERE t3.'.$column.' > t1.'.$column.') AS end FROM '.$table_name.' t1 WHERE NOT EXISTS (SELECT t2.'.$column.' FROM '.$table_name.' t2 WHERE t2.'.$column.' = t1.'.$column.' + 1)';
|
$query = 'SELECT (t1.'.$column.' + 1) AS start, (SELECT MIN(t3.'.$column.') - 1 FROM '.$table_name.' t3 WHERE t3.'.$column.' > t1.'.$column.') AS end FROM '.$table_name.' t1 WHERE NOT EXISTS (SELECT t2.'.$column.' FROM '.$table_name.' t2 WHERE t2.'.$column.' = t1.'.$column.' + 1)';
|
||||||
|
/*
|
||||||
if ($last_id) {
|
if ($last_id) {
|
||||||
$query .= ' AND t1.'.$column.' >= '.prepare($last_id);
|
$query .= ' AND t1.'.$column.' >= '.prepare($last_id);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
$query .= ' ORDER BY start';
|
$query .= ' ORDER BY start';
|
||||||
$steps = $database->fetchArray($query);
|
$steps = $database->fetchArray($query);
|
||||||
|
|
||||||
|
// Gestione dell'eliminazione dei primi record della tabella
|
||||||
|
$exists_first = $database->fetchNum('SELECT * FROM '.$table_name.' WHERE '.$column.' = 1');
|
||||||
|
if (!$exists_first) {
|
||||||
|
$first = $database->fetchOne('SELECT MIN('.$column.') AS min FROM '.$table_name);
|
||||||
|
$steps[] = [
|
||||||
|
'start' => 1,
|
||||||
|
'end' => $first['min'] - 1,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
$total = [];
|
$total = [];
|
||||||
foreach ($steps as $step) {
|
foreach ($steps as $step) {
|
||||||
if ($step['end'] == null) {
|
if ($step['end'] == null) {
|
||||||
|
@ -66,7 +66,10 @@ class Interventi extends AppResource
|
|||||||
':id_tecnico_q2' => $id_tecnico,
|
':id_tecnico_q2' => $id_tecnico,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return array_column($records, 'id');
|
$interventi = array_column($records, 'id');
|
||||||
|
$mancanti = $this->getMissingIDs('in_interventi', 'id', $last_sync_at);
|
||||||
|
|
||||||
|
return array_merge($mancanti, $interventi);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getModifiedRecords($last_sync_at)
|
public function getModifiedRecords($last_sync_at)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user