HEX
Server: nginx/1.24.0
System: Linux localhost 5.15.0-46-generic #49-Ubuntu SMP Thu Aug 4 18:03:25 UTC 2022 x86_64
User: www (1000)
PHP: 8.3.27
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/erp.nhatnamsst.com/domains/PurchaseOrder/Models/PurchaseOrder.php
<?php

namespace Domains\PurchaseOrder\Models;

use Domains\Admin\Models\Admin;
use Domains\Core\Enums\PurchaseOrderStatus;
use Domains\Core\Traits\ModelTrait;
use Domains\Customer\Models\Customer;
use Domains\QuoteRequest\Models\QuoteRequest;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;

class PurchaseOrder extends Model
{
    use HasFactory, ModelTrait;

    protected $fillable = [
        'po_number',
        'po_date',
        'sale_id',
        'order_date',
        'customer_id',
        'payment_method',
        'quote_request_id',
        'status',
        'customer_po_file',
        'nameplate_file',
        'sale_leader_approved_at',
        'accountant_approved_at',
        'advance_payment_amount',
        'advance_payment_date',
        'remaining_payment_note',
        'ceo_approved_at',
        'warehouse_export_date',
        'completed_date',
        'ceo_note',
    ];

    protected function casts(): array
    {
        return [
            'status' => PurchaseOrderStatus::class,
            'po_date' => 'date',
            'order_date' => 'date',
            'customer_po_file' => 'array',
            'nameplate_file' => 'array',
            'sale_leader_approved_at' => 'date',
            'accountant_approved_at' => 'date',
            'advance_payment_date' => 'date',
            'ceo_approved_at' => 'date',
            'warehouse_export_date' => 'date',
            'completed_date' => 'date',
        ];
    }

    /**
     * Get the sale admin
     */
    public function sale(): BelongsTo
    {
        return $this->belongsTo(Admin::class, 'sale_id');
    }

    /**
     * Get the customer
     */
    public function customer(): BelongsTo
    {
        return $this->belongsTo(Customer::class);
    }

    /**
     * Get the quote request
     */
    public function quoteRequest(): BelongsTo
    {
        return $this->belongsTo(QuoteRequest::class);
    }

    /**
     * Get the purchase order details
     */
    public function details(): HasMany
    {
        return $this->hasMany(PurchaseOrderDetail::class);
    }

    /**
     * Get the commission slips
     */
    public function commissionSlips(): HasMany
    {
        return $this->hasMany(CommissionSlip::class);
    }
}