Creato funzione di filtraggio e assegnazione categoria in importazione in base alle regole di assegnazione
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user