<?php

namespace App\Model;

use Illuminate\Database\Eloquent\Model;
use request;

class SupplierReceiptModel extends Model
{
    protected $connection = 'web';
    protected $table = 'supplier_receipt';
    public $timestamps = false;


    public function nation()
    {
        return $this->hasOne(NationModel::class, 'nation_id', 'nation_id');
    }

    public function AddInfo($SupplierID = '', $data = '')
    {
        if (empty($SupplierID) || empty($data) || !is_array($data)) return false;

        foreach ($data as $k => $v) {
            unset($v['receipt_id']);
            $v['supplier_id'] = $SupplierID;
            $v['receipt_type'] = $k;
            $result = $this->insert($v);
        }
        return $result;
    }

    public function SaveInfo($SupplierID = '', $data = '')
    {
        if (!is_array($data) || (empty($data[1]['receipt_id']) && empty($data[2]['receipt_id']))) return false;
        if (isset($data[1]['receipt_id']) && !empty($data[1]['receipt_id'])) {
            $data[1]['supplier_id'] = $SupplierID;
            $receipt_id = $data[1]['receipt_id'];
            unset($data[1]['receipt_id']);
            $res = $this->where('receipt_id', '=', $receipt_id)->update($data[1]);
        }
        if (isset($data[2]['receipt_id']) && !empty($data[2]['receipt_id'])) {
            $data[2]['supplier_id'] = $SupplierID;
            $receipt_id = $data[2]['receipt_id'];
            unset($data[2]['receipt_id']);
            $res = $this->where('receipt_id', '=', $receipt_id)->update($data[2]);
        } else {
            $data[2]['supplier_id'] = $SupplierID;
            $data[2]['receipt_type'] = 2;
            $result = $this->insert($data[2]);
        }
        return $res;
    }

    public function ReceiptInfo($SupplierID = '')
    {
        $collert = Request::only('supplier_id');
        $collert = TrimX($collert, true, ['supplier_id']);
        empty($collert) && $collert['supplier_id'] = $SupplierID;
        if (empty($collert['supplier_id'])) return false;
        $info = $this->where('supplier_id', '=', $collert['supplier_id'])->get();
        if (!$info) return false;
        $res = $info->toArray();
        $data = array();
        foreach ($res as $k => $v) {
            $data[$v['receipt_type']] = $v;
        }
        return $data;
    }
}