Creato funzione di filtraggio e assegnazione categoria in importazione in base alle regole di assegnazione

This commit is contained in:
2025-08-07 08:26:43 +02:00
parent 652f9a7e76
commit f82f65a0c5
6 changed files with 59 additions and 9 deletions

View File

@@ -8,7 +8,13 @@ use Illuminate\Database\Eloquent\Model;
class ImportRule extends Model
{
use HasFactory;
protected $fillable = [
'category_id',
'pattern',
'description',
'is_active',
'created_by',
];
// In MovimentiController o direttamente nel model Movimenti

View File

@@ -379,9 +379,23 @@ JOIN categories as c ON a.mov_fk_categoria=c.id';
public static function getSuggestedCategory($descrizione)
{
$rule = ImportRule::whereRaw('? LIKE CONCAT("%", pattern, "%")', [$descrizione])->first();
return $rule ? $rule->category_id : null;
return $rule ? $rule->category_id : 1;
}
public static function setCategoriesFromCsv($descrizione)
{
$rules = \App\Models\ImportRule::all();
$categoria = 1; // Default category
foreach ($rules as $rule) {
if (preg_match("/$rule->pattern/i", $descrizione)) {
$categoria = $rule->category_id;
break;
}
}
return $categoria;
}