<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes;

class InvoiceValidation extends Model
{
    use Prunable;
    use SoftDeletes;

    protected $fillable = [
        'sticker_master_id',
        'plant_id',
        'invoice_number',
        'serial_number',
        'motor_scanned_status',
        'pump_scanned_status',
        'capacitor_scanned_status',
        'scanned_status_set',
        'scanned_status',
        'panel_box_code',
        'panel_box_supplier',
        'panel_box_serial_number',
        'load_rate',
        'upload_status',
        'batch_number',
        'quantity',
        'invoice_quantity',
        'operator_id',
        'created_by',
        'updated_by',
        'created_at',
        'updated_at',
    ];

    public function plant(): BelongsTo
    {
        return $this->belongsTo(Plant::class);
    }

    public function stickerMaster(): BelongsTo
    {
        return $this->belongsTo(StickerMaster::class);
    }

    public function stickerMasterRelation()
    {
        return $this->belongsTo(StickerMaster::class, 'sticker_master_id');
    }

    public function prunable(): Builder
    {
        return static::where('created_at', '<=', now()->subMonthsNoOverflow(6));
    }
}
