arcadiasuite/plus/app/Models/ItemNfe.php

91 lines
3.1 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class ItemNfe extends Model
{
use HasFactory;
protected $fillable = [
'nfe_id', 'produto_id', 'quantidade', 'valor_unitario', 'sub_total', 'perc_icms', 'perc_pis',
'perc_cofins', 'perc_ipi', 'cst_csosn', 'cst_pis', 'cst_cofins', 'cst_ipi', 'perc_red_bc', 'cfop',
'ncm', 'cEnq', 'pST', 'vBCSTRet', 'origem', 'cest', 'codigo_beneficio_fiscal', 'valor_custo', 'lote',
'data_vencimento', 'variacao_id', 'vbc_icms', 'vbc_pis', 'vbc_cofins', 'vbc_ipi', 'xPed', 'nItemPed',
'infAdProd', 'pMVAST', 'vBCST', 'pICMSST', 'vICMSST', 'vBCFCPST', 'pFCPST', 'vFCPST', 'modBCST',
'nDI', 'dDI', 'cidade_desembarque_id', 'dDesemb', 'tpViaTransp', 'vAFRMM', 'tpIntermedio', 'cpf_cnpj_di',
'UFTerceiro', 'cExportador', 'nAdicao', 'cFabricante', 'vBCII', 'vDespAdu', 'vII', 'vIOF', 'descricao',
'vICMSSubstituto'
];
public function produto(){
return $this->belongsTo(Produto::class, 'produto_id');
}
public function nfe(){
return $this->belongsTo(Nfe::class, 'nfe_id');
}
public function produtoVariacao(){
return $this->belongsTo(ProdutoVariacao::class, 'variacao_id');
}
public function itensDimensao(){
return $this->hasMany(ItemDimensaoNfe::class, 'item_nfe_id');
}
public function rastroXml(){
return $this->hasMany(RastroXml::class, 'item_nfe_id');
}
public function cidadeDesembarque(){
return $this->belongsTo(Cidade::class, 'cidade_desembarque_id');
}
public function descricao(){
if(strlen($this->descricao) > 1){
return $this->descricao;
}
if($this->variacao_id == null){
return $this->produto->nome;
}
if($this->produtoVariacao){
return $this->produto->nome . " - " . $this->produtoVariacao->descricao;
}
return $this->produto->nome;
}
public function __statusVencimento(){
if(\Carbon\Carbon::parse($this->data_vencimento)->isPast()){
return '<span class="badge bg-danger">VENCIDO</span>';
}
return '<span class="badge bg-success">EM DIA</span>';
}
public function dadosImportacaoEdit(){
$dados = [
'nDI' => $this->nDI,
'dDI' => $this->dDI,
'cidade_desembarque_id' => $this->cidade_desembarque_id,
'dDesemb' => $this->dDesemb,
'tpViaTransp' => $this->tpViaTransp,
'vAFRMM' => __moeda($this->vAFRMM),
'tpIntermedio' => $this->tpIntermedio,
'cpf_cnpj_di' => $this->cpf_cnpj_di,
'UFTerceiro' => $this->UFTerceiro,
'cExportador' => $this->cExportador,
'nAdicao' => $this->nAdicao,
'cFabricante' => $this->cFabricante,
'vBCII' => __moeda($this->vBCII),
'vDespAdu' => __moeda($this->vDespAdu),
'vII' => __moeda($this->vII),
'vIOF' => __moeda($this->vIOF)
];
return json_encode($dados);
}
}