mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-23 23:07:46 +01:00
Fix rimozione Interventi via API
This commit is contained in:
parent
874a9d528f
commit
97a3e9f9de
@ -3,6 +3,7 @@
|
||||
namespace Modules\Interventi;
|
||||
|
||||
use Common\Document;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Modules\Anagrafiche\Anagrafica;
|
||||
use Modules\Contratti\Contratto;
|
||||
use Modules\Preventivi\Preventivo;
|
||||
@ -14,6 +15,7 @@ use Util\Generator;
|
||||
class Intervento extends Document
|
||||
{
|
||||
use ReferenceTrait;
|
||||
//use SoftDeletes;
|
||||
|
||||
use RecordTrait;
|
||||
|
||||
|
@ -216,21 +216,35 @@ abstract class AppResource extends Resource implements RetrieveInterface, Create
|
||||
// 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'];
|
||||
|
||||
/*
|
||||
// Ottiene l'ultimo record con data precedente a quella impostata
|
||||
$last_id = null;
|
||||
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_id = $last_record['id'];
|
||||
}
|
||||
*/
|
||||
|
||||
// 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)';
|
||||
/*
|
||||
if ($last_id) {
|
||||
$query .= ' AND t1.'.$column.' >= '.prepare($last_id);
|
||||
}
|
||||
*/
|
||||
$query .= ' ORDER BY start';
|
||||
$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 = [];
|
||||
foreach ($steps as $step) {
|
||||
if ($step['end'] == null) {
|
||||
|
@ -66,7 +66,10 @@ class Interventi extends AppResource
|
||||
':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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user