arcadiasuite/plus/app/Helpers/Functions.php

973 lines
25 KiB
PHP

<?php
use App\Models\Caixa;
use App\Models\ContadorEmpresa;
use App\Models\Localizacao;
use App\Models\UsuarioLocalizacao;
use App\Models\AcaoLog;
use App\Models\ApiLog;
use App\Models\ApiConfig;
use App\Models\ConfigGeral;
use App\Models\ConfiguracaoSuper;
use App\Models\FinanceiroBoleto;
use App\Models\ProdutoTributacaoLocal;
use App\Models\MarketPlaceConfig;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
function __convert_value_bd($valor)
{
if (strlen($valor) >= 8) {
$valor = str_replace(".", "", $valor);
}
$valor = str_replace(",", ".", $valor);
return (float)$valor;
}
function __removerAcentos(string $texto): string
{
$texto = trim($texto);
$map = [
'Á'=>'A','À'=>'A','Â'=>'A','Ã'=>'A','Ä'=>'A',
'á'=>'a','à'=>'a','â'=>'a','ã'=>'a','ä'=>'a',
'É'=>'E','È'=>'E','Ê'=>'E','Ë'=>'E',
'é'=>'e','è'=>'e','ê'=>'e','ë'=>'e',
'Í'=>'I','Ì'=>'I','Î'=>'I','Ï'=>'I',
'í'=>'i','ì'=>'i','î'=>'i','ï'=>'i',
'Ó'=>'O','Ò'=>'O','Ô'=>'O','Õ'=>'O','Ö'=>'O',
'ó'=>'o','ò'=>'o','ô'=>'o','õ'=>'o','ö'=>'o',
'Ú'=>'U','Ù'=>'U','Û'=>'U','Ü'=>'U',
'ú'=>'u','ù'=>'u','û'=>'u','ü'=>'u',
'Ç'=>'C','ç'=>'c'
];
$texto = strtr($texto, $map);
return preg_replace('/[^A-Za-z0-9\s\-\.\,\/]/', '', $texto);
}
function __usaICMSST($empresa, $cst, $cfop){
if (!$empresa->substituto_tributario) {
return false;
}
$cstPermitidos = ['10','30','70','90'];
if (!in_array($cst, $cstPermitidos)) {
return false;
}
$cfopsST = ['5401','5402','5403','6401','6402','6403'];
if (!in_array($cfop, $cfopsST)) {
return false;
}
return true;
}
function __itensPagina(){
if(!Auth::user()->empresa){
return env('PAGINACAO') ?? 30;
}
$empresa_id = Auth::user()->empresa->empresa_id;
$config = ConfigGeral::where('empresa_id', $empresa_id)->first();
if($config == null){
return env('PAGINACAO') ?? 30;
}
return $config->itens_por_pagina ?? 30;
}
function __validaObjetoEmpresa($objeto)
{
if(!Auth::user()->empresa){
return true;
}
$empresa_id = Auth::user()->empresa->empresa_id;
if(isset($objeto->empresa_id)){
if($objeto->empresa_id != $empresa_id){
abort(403);
}
}
return true;
}
function valor_por_extenso($valor = 0, $maiusculas = false) {
$singular = array("centavo", "real", "mil", "milhão", "bilhão", "trilhão", "quatrilhão");
$plural = array("centavos", "reais", "mil", "milhões", "bilhões", "trilhões",
"quatrilhões");
$c = array("", "cem", "duzentos", "trezentos", "quatrocentos",
"quinhentos", "seiscentos", "setecentos", "oitocentos", "novecentos");
$d = array("", "dez", "vinte", "trinta", "quarenta", "cinquenta",
"sessenta", "setenta", "oitenta", "noventa");
$d10 = array("dez", "onze", "doze", "treze", "quatorze", "quinze",
"dezesseis", "dezesete", "dezoito", "dezenove");
$u = array("", "um", "dois", "três", "quatro", "cinco", "seis",
"sete", "oito", "nove");
$z = 0;
$rt = "";
$valor = number_format($valor, 2, ".", ".");
$inteiro = explode(".", $valor);
for($i=0;$i<count($inteiro);$i++)
for($ii=strlen($inteiro[$i]);$ii<3;$ii++)
$inteiro[$i] = "0".$inteiro[$i];
$fim = count($inteiro) - ($inteiro[count($inteiro)-1] > 0 ? 1 : 2);
for ($i=0;$i<count($inteiro);$i++) {
$valor = $inteiro[$i];
$rc = (($valor > 100) && ($valor < 200)) ? "cento" : $c[$valor[0]];
$rd = ($valor[1] < 2) ? "" : $d[$valor[1]];
$ru = ($valor > 0) ? (($valor[1] == 1) ? $d10[$valor[2]] : $u[$valor[2]]) : "";
$r = $rc.(($rc && ($rd || $ru)) ? " e " : "").$rd.(($rd &&
$ru) ? " e " : "").$ru;
$t = count($inteiro)-1-$i;
$r .= $r ? " ".($valor > 1 ? $plural[$t] : $singular[$t]) : "";
if ($valor == "000")$z++; elseif ($z > 0) $z--;
if (($t==1) && ($z>0) && ($inteiro[0] > 0)) $r .= (($z>1) ? " de " : "").$plural[$t];
if ($r) $rt = $rt . ((($i > 0) && ($i <= $fim) &&
($inteiro[0] > 0) && ($z < 1)) ? ( ($i < $fim) ? ", " : " e ") : " ") . $r;
}
if(!$maiusculas){
return($rt ? $rt : "zero");
} else {
if ($rt) $rt=ereg_replace(" E "," e ",ucwords($rt));
return (($rt) ? ($rt) : "Zero");
}
}
function __validaObjetoEmpresaContador($contador_empresa_id, $empresa_id)
{
$item = ContadorEmpresa::where('empresa_id', $empresa_id)
->where('contador_id', $contador_empresa_id)->first();
if($item == null){
abort(403, 'Você não possui acesso a esse registro!');
}
return true;
}
function __tipoMenu()
{
if(!Auth::user()->empresa){
return env('MENU_PADRAO');
}
$empresa_id = Auth::user()->empresa->empresa_id;
$config = ConfigGeral::where('empresa_id', $empresa_id)->first();
if($config == null){
return env('MENU_PADRAO');
}
return $config->tipo_menu;
}
function __tipoSmallHeader()
{
if(!Auth::user()->empresa){
return '../images/small/small-4.jpg';
}
$empresa_id = Auth::user()->empresa->empresa_id;
$config = ConfigGeral::where('empresa_id', $empresa_id)->first();
if($config == null){
return '../images/small/small-4.jpg';
}
return '../images/small/'.$config->small_header_user;
}
function __infoTopoMenu(){
$config = ConfiguracaoSuper::first();
if($config == null || $config->info_topo_menu == 1) return 1;
return 0;
}
function __casas_decimais_quantidade()
{
try{
if(!Auth::user()->empresa){
return 2;
}
$empresa_id = Auth::user()->empresa->empresa_id;
$config = ConfigGeral::where('empresa_id', $empresa_id)->first();
if($config == null){
return 2;
}
return $config->casas_decimais_quantidade;
}catch(\Exception $e){
return 2;
}
}
function __dataTopBar()
{
if(!Auth::user()->empresa){
return 'light';
}
$empresa_id = Auth::user()->empresa->empresa_id;
$config = ConfigGeral::where('empresa_id', $empresa_id)->first();
if($config == null){
return 'light';
}
return $config->cor_top_bar;
}
function __usuarioEscolherPlano(){
$config = ConfiguracaoSuper::first();
if($config == null || $config->usuario_alterar_plano == 1) return 1;
return 0;
}
function __finalizacaoPdv(){
if(Auth::user()->finalizacao_pdv == null) return 'todos';
return Auth::user()->finalizacao_pdv;
}
function __dataMenuBar()
{
if(!Auth::user()->empresa){
return 'light';
}
$empresa_id = Auth::user()->empresa->empresa_id;
$config = ConfigGeral::where('empresa_id', $empresa_id)->first();
if($config == null){
return 'light';
}
return $config->cor_menu;
}
function __dataThemeDefault()
{
if(Auth::user() && Auth::user()->tema_padrao){
return Auth::user()->tema_padrao;
}
$config = ConfiguracaoSuper::first();
if($config == null){
return 'light';
}
return $config->tema_padrao;
}
function __moeda($valor, $casas_decimais = 2)
{
return number_format($valor, $casas_decimais, ',', '.');
}
function __qtd($valor)
{
return number_format($valor, __casas_decimais_quantidade(), ',', '.');
}
function __calcPercentual($v1, $v2){
if($v1 > $v2){
return number_format(100+(($v2-$v1)/$v1*100), 1);
}else{
return 100;
}
}
function __moedaInput($valor, $casas_decimais = 2)
{
return number_format($valor, $casas_decimais, ',', '');
}
function __data_pt($data, $hora = true)
{
if ($hora) {
return \Carbon\Carbon::parse($data)->format('d/m/Y H:i');
} else {
return \Carbon\Carbon::parse($data)->format('d/m/Y');
}
}
function __hora_pt($data)
{
return \Carbon\Carbon::parse($data)->format('H:i');
}
function __isMaster()
{
if (Auth::user()->email == env("MAILMASTER")) {
return 1;
}
return 0;
}
function __isSuporte()
{
return Auth::user()->suporte;
}
function __isEmpresaMaster($empresa)
{
foreach($empresa->usuarios as $u){
if($u->usuario->email == env("MAILMASTER")){
return 1;
}
}
return 0;
}
function __isContador()
{
if (Auth::user()->tipo_contador == 1) {
return 1;
}
return 0;
}
function __isContadorPlano()
{
if (Auth::user()->empresa->empresa->cadastrar_planos == 1) {
return 1;
}
return 0;
}
function __escolheLocalidade()
{
return Auth::user()->escolher_localidade_venda;
}
function __empresasDoContador()
{
$contador_id = Auth::user()->empresa->empresa_id;
return ContadorEmpresa::where('contador_id', $contador_id)->get();
}
function __faturaBoleto()
{
if(!Auth::user()->empresa) return null;
$empresa_id = Auth::user()->empresa->empresa_id;
if(Auth::user()->empresa->empresa->receber_com_boleto == 0) return null;
$fatura = FinanceiroBoleto::where('empresa_id', $empresa_id)
->whereMonth('vencimento', date('m'))
->where('status', 0)
->first();
if($fatura != null){
$config = ConfiguracaoSuper::first();
$dif = strtotime($fatura->vencimento) - strtotime(date("Y-m-d"));
$dif = (int)floor($dif / (60 * 60 * 24));
if($dif <= $config->dias_alerta_boleto){
// dd($fatura);
return $fatura;
}
}
return null;
}
function __isAdmin()
{
return Auth::user()->admin;
}
function __getError($e)
{
return "Linha: " . $e->getLine() . ", mensagem: " . $e->getMessage() . ", arquivo: " . $e->getFile();
}
function __isCaixaAberto()
{
$usuario_id = Auth::user()->id;
return Caixa::where('usuario_id', $usuario_id)->where('status', 1)->first();
}
function get_id_user()
{
$usr = Auth::user()->id;
return $usr;
}
function get_name_user()
{
$usr = Auth::user()->name;
return $usr;
}
function __mask($val, $mask){
$maskared = '';
$k = 0;
for ($i = 0; $i <= strlen($mask) - 1; ++$i) {
if ($mask[$i] == '#') {
if (isset($val[$k])) {
$maskared .= $val[$k++];
}
} else {
if (isset($mask[$i])) {
$maskared .= $mask[$i];
}
}
}
return $maskared;
}
function __setMask($doc){
$doc = preg_replace('/[^0-9]/', '', $doc);
$mask = '##.###.###/####-##';
if (strlen($doc) == 11) {
$mask = '###.###.###-##';
}
return __mask($doc, $mask);
}
function __isPlanoFiscal(){
$empresa = auth::user()->empresa;
if(!$empresa) return false;
$plano = $empresa->empresa->plano;
if($plano){
if($plano->plano->fiscal) return 1;
}
if(__isContador()){
return 1;
}
return false;
}
function __periodoExpirar(){
$empresa = auth::user()->empresa;
if(!$empresa) return false;
$plano = $empresa->empresa->plano;
if(!$plano) return false;
// $plano->data_expiracao = "2025-04-16";
$dif = strtotime($plano->data_expiracao) - strtotime(date("Y-m-d"));
$dif = floor($dif / (60 * 60 * 24));
if($dif <= 5) return 1;
return 0;
}
function __isActivePlan($empresa, $menu){
if(!$empresa) return false;
$plano = $empresa->empresa->plano;
if($plano){
$modulos = json_decode($plano->plano->modulos) ?? [];
if(in_array($menu, $modulos)) return true;
else return false;
}
return false;
}
function __isInternacionalizar($empresa){
if(!$empresa) return false;
$config = $empresa->empresa->configuracaoCardapio;
if(!$config) return false;
if($config->intercionalizar == 1) return 1;
return false;
}
function __isNotificacao($empresa){
if(!$empresa) return false;
$config = $empresa->empresa->configuracaoCardapio;
if(!$config) return false;
return 1;
}
function __isNotificacaoMarketPlace($empresa){
if(!$empresa) return false;
$config = $empresa->empresa->configuracaoMarketPlace;
if(!$config) return false;
return 1;
}
function __isNotificacaoEcommerce($empresa){
if(!$empresa) return false;
$config = $empresa->empresa->configuracaoEcommerce;
if(!$config) return false;
return 1;
}
function __countLocalAtivo(){
try{
if(!Auth::user()->empresa){
return 0;
}
$empresa_id = Auth::user()->empresa->empresa_id;
return Localizacao::where('empresa_id', $empresa_id)
->where('status', 1)->count();
}catch(\Exception $e){
return 0;
}
}
function __getLocaisAtivos(){
$empresa_id = Auth::user()->empresa->empresa_id;
return Localizacao::where('empresa_id', $empresa_id)
->where('status', 1)->get();
}
function __getLocalAtivo(){
if(!Auth::user()->empresa){
return 0;
}
$empresa_id = Auth::user()->empresa->empresa_id;
return Localizacao::where('empresa_id', $empresa_id)
->where('status', 1)->first();
}
function __getLocaisAtivoUsuario(){
$usuario_id = Auth::user()->id;
return Localizacao::where('usuario_localizacaos.usuario_id', $usuario_id)
->select('localizacaos.*')
->join('usuario_localizacaos', 'usuario_localizacaos.localizacao_id', '=', 'localizacaos.id')
->where('localizacaos.status', 1)->get();
}
function __objetoParaEmissao($empresa, $local_id){
$primeiraLocalizacao = Localizacao::where('empresa_id', $empresa->id)
->where('status', 1)->first();
$count = Localizacao::where('empresa_id', $empresa->id)
->where('status', 1)->count();
if($count <= 1) return $empresa;
$localizacao = Localizacao::findOrFail($local_id);
if($primeiraLocalizacao == $localizacao) return $empresa;
return $localizacao;
}
function __createLog($empresa_id, $local, $acao, $descricao){
AcaoLog::create([
'empresa_id' => $empresa_id,
'local' => $local,
'acao' => $acao,
'descricao' => substr($descricao, 0, 255),
]);
}
function __createApiLog($empresa_id, $token, $status, $descricao, $tipo, $prefixo){
ApiLog::create([
'empresa_id' => $empresa_id,
'token' => $token,
'status' => $status,
'descricao' => substr($descricao, 0, 255),
'tipo' => $tipo,
'prefixo' => $prefixo
]);
}
function __validaPermissaoToken($token, $permissao){
$item = ApiConfig::where('token', $token)->first();
if($item){
$permissoes_acesso = $item->permissoes_acesso != 'null' ? json_decode($item->permissoes_acesso) : [];
if(in_array($permissao, $permissoes_acesso)) return 1;
}
return 0;
}
function __isSegmentoPlanoOtica(){
$empresa = auth::user()->empresa;
if(!$empresa) return false;
$plano = $empresa->empresa->plano;
if($plano){
if($plano->plano->segmento && $plano->plano->segmento->nome == 'Ótica') return 1;
}
return false;
}
function __isSegmentoServico($empresa_id){
$config = MarketPlaceConfig::where('empresa_id', $empresa_id)->first();
if($config == null) return 0;
$segmento = json_decode($config->segmento);
if(in_array('servicos', $segmento)) return 1;
return 0;
}
function __isSegmentoProduto($empresa_id){
$config = MarketPlaceConfig::where('empresa_id', $empresa_id)->first();
if($config == null) return 0;
$segmento = json_decode($config->segmento);
if(in_array('produtos', $segmento)) return 1;
return 0;
}
function __isProdutoServicoDelivery($empresa_id){
if(__isSegmentoProduto($empresa_id) && __isSegmentoServico($empresa_id)) return 1;
return 0;
}
function __tributacaoProdutoLocal($item, $campo, $local_id){
$itemLocal = ProdutoTributacaoLocal::where('produto_id', $item->id)
->where('local_id', $local_id)->first();
if($itemLocal != null){
return $itemLocal[$campo];
}
return $item[$campo];
}
function __tributacaoProdutoLocalNcm($item, $local_id){
$itemLocal = ProdutoTributacaoLocal::where('produto_id', $item->id)
->where('local_id', $local_id)->first();
if($itemLocal != null){
return $itemLocal->_ncm ? [$itemLocal->ncm => $itemLocal->_ncm->descricao] : [];
}
return $item->_ncm ? [$item->ncm => $item->_ncm->descricao] : [];
}
function __primeiroLocal($local_id, $empresa_id){
$local = Localizacao::where('empresa_id', $empresa_id)
->where('status', 1)->first();
return $local_id == $local->id;
}
function __tributacaoProdutoLocalVenda($produto, $local_id){
$itemLocal = ProdutoTributacaoLocal::where('produto_id', $produto->id)
->where('local_id', $local_id)->first();
if($itemLocal == null || __primeiroLocal($local_id, $produto->empresa_id)){
return $produto;
}
$produto->ncm = $itemLocal->ncm;
$produto->perc_icms = $itemLocal->perc_icms;
$produto->perc_pis = $itemLocal->perc_pis;
$produto->perc_cofins = $itemLocal->perc_cofins;
$produto->perc_ipi = $itemLocal->perc_ipi;
$produto->cest = $itemLocal->cest;
$produto->origem = $itemLocal->origem;
$produto->cst_csosn = $itemLocal->cst_csosn;
$produto->cst_pis = $itemLocal->cst_pis;
$produto->cst_cofins = $itemLocal->cst_cofins;
$produto->cst_ipi = $itemLocal->cst_ipi;
$produto->valor_unitario = $itemLocal->valor_unitario;
$produto->cfop_estadual = $itemLocal->cfop_estadual;
$produto->cfop_outro_estado = $itemLocal->cfop_outro_estado;
return $produto;
}
function __valorProdutoLocal($produto, $local_id){
$itemLocal = ProdutoTributacaoLocal::where('produto_id', $produto->id)
->where('local_id', $local_id)->first();
if($itemLocal == null || __primeiroLocal($local_id, $produto->empresa_id)){
return $produto->valor_unitario;
}
return $itemLocal->valor_unitario;
}
function __getPais($codigo){
if(isset(__getPaises()[$codigo])){
return __getPaises()[$codigo];
}
return 'Brasil';
}
function __getPaises(){
return [
'0132' => "Afeganistão",
'7560' => "África do Sul",
'0175' => "Albânia, República da",
'0230' => "Alemanha",
'0370' => "Andorra Sim",
'0400' => "Angola",
'0418' => "Anguilla Sim",
'0434' => "Antigua e Barbuda Sim",
'0477' => "Antilhas Holandesas Sim",
'0531' => "Arábia Saudita",
'0590' => "Argélia",
'0639' => "Argentina",
'0647' => "Armênia, República da",
'0655' => "Aruba",
'0698' => "Austrália",
'0728' => "Áustria",
'0736' => "Azerbaijão, República do",
'0779' => "Bahamas, Ilhas Sim",
'0809' => "Bahrein, Ilhas Sim",
'0817' => "Bangladesh",
'0833' => "Barbados Sim",
'0850' => "Belarus",
'0876' => "Bélgica",
'0884' => "Belize Sim",
'2291' => "Benin",
'0906' => "Bermudas Sim",
'0973' => "Bolívia",
'0981' => "Bósnia-Herzegovina",
'1015' => "Botsuana",
'1058' => "Brasil",
'1082' => "Brunei",
'1112' => "Bulgária, República da",
'0310' => "Burkina Faso",
'1155' => "Burundi",
'1198' => "Butão",
'1279' => "Cabo Verde, República de",
'1457' => "Camarões",
'1414' => "Camboja",
'1490' => "Canadá",
'1504' => "Canal, Ilhas do (Jersey e Guernsey) Sim",
'1511' => "Canárias, Ilhas",
'1546' => "Catar",
'1376' => "Cayman, Ilhas Sim",
'1538' => "Cazaquistão, República do",
'7889' => "Chade",
'1589' => "Chile",
'1600' => "China, República Popular da",
'1635' => "Chipre Sim",
'5118' => "Christmas, Ilha (Navidad)",
'7412' => "Cingapura",
'1651' => "Cocos (Keeling), Ilhas",
'1694' => "Colômbia",
'1732' => "Comores, Ilhas",
'8885' => "Congo, República Democrática do",
'1775' => "Congo, República do",
'1830' => "Cook, Ilhas Sim",
'1872' => "Coréia, Rep. Pop. Democrática da",
'1902' => "Coréia, República da",
'1937' => "Costa do Marfim",
'1961' => "Costa Rica Sim",
'1988' => "Coveite",
'1953' => "Croácia, República da",
'1996' => "Cuba",
'2321' => "Dinamarca",
'7838' => "Djibuti Sim",
'2356' => "Dominica, Ilha Sim",
'2402' => "Egito",
'6874' => "El Salvador",
'2445' => "Emirados Árabes Unidos",
'2399' => "Equador",
'2437' => "Eritréia",
'6289' => "Escócia",
'2470' => "Eslovaca, República",
'2461' => "Eslovênia, República da",
'2453' => "Espanha",
'2496' => "Estados Unidos",
'2518' => "Estônia, República da",
'2534' => "Etiópia",
'2550' => "Falkland (Ilhas Malvinas)",
'2593' => "Feroe, Ilhas",
'8702' => "Fiji",
'2674' => "Filipinas",
'2712' => "Finlândia",
'1619' => "Formosa (Taiwan)",
'2755' => "França",
'2810' => "Gabão",
'6289' => "Gales, País de",
'2852' => "Gâmbia",
'2895' => "Gana",
'2917' => "Geórgia, República da",
'2933' => "Gibraltar Sim",
'6289' => "Grã-Bretanha",
'2976' => "Granada Sim",
'3018' => "Grécia",
'3050' => "Groenlândia",
'3093' => "Guadalupe",
'3131' => "Guam",
'3174' => "Guatemala",
'3379' => "Guiana",
'3255' => "Guiana Francesa",
'3298' => "Guiné",
'3344' => "Guiné-Bissau",
'3310' => "Guiné-Equatorial",
'3417' => "Haiti",
'5738' => "Holanda (Países Baixos)",
'3450' => "Honduras",
'3514' => "Hong Kong, Região Adm. Especial",
'3557' => "Hungria, República da",
'3573' => "Iêmen",
'3611' => "Índia",
'3654' => "Indonésia",
'6289' => "Inglaterra",
'3727' => "Irã, República Islâmica do",
'3697' => "Iraque",
'3751' => "Irlanda",
'6289' => "Irlanda do Norte",
'3794' => "Islândia",
'3832' => "Israel",
'3867' => "Itália",
'3883' => "Iugoslávia, República Fed. da",
'3913' => "Jamaica",
'3999' => "Japão",
'3964' => "Johnston, Ilhas",
'4030' => "Jordânia",
'4111' => "Kiribati",
'4200' => "Laos, Rep. Pop. Democrática do",
'4235' => "Lebuan Sim",
'4260' => "Lesoto",
'4278' => "Letônia, República da",
'4316' => "Líbano",
'4340' => "Libéria Sim",
'4383' => "Líbia",
'4405' => "Liechtenstein Sim",
'4421' => "Lituânia, República da",
'4456' => "Luxemburgo",
'4472' => "Macau",
'4499' => "Macedônia",
'4502' => "Madagascar",
'4525' => "Madeira, Ilha da Sim",
'4553' => "Malásia",
'4588' => "Malavi",
'4618' => "Maldivas",
'4642' => "Máli",
'4677' => "Malta Sim",
'3595' => "Man, Ilhas Sim",
'4723' => "Marianas do Norte",
'4740' => "Marrocos",
'4766' => "Marshall, Ilhas Sim",
'4774' => "Martinica",
'4855' => "Maurício Sim",
'4880' => "Mauritânia",
'4936' => "México",
'0930' => "Mianmar (Birmânia)",
'4995' => "Micronésia",
'4901' => "Midway, Ilhas",
'5053' => "Moçambique",
'4944' => "Moldávia, República da",
'4952' => "Mônaco Sim",
'4979' => "Mongólia",
'5010' => "Montserrat, Ilhas Sim",
'5070' => "Namíbia",
'5088' => "Nauru Sim",
'5177' => "Nepal",
'5215' => "Nicarágua",
'5258' => "Niger",
'5282' => "Nigéria",
'5312' => "Niue, Ilha Sim",
'5355' => "Norfolk, Ilha",
'5380' => "Noruega",
'5428' => "Nova Caledônia",
'5487' => "Nova Zelândia",
'5568' => "Omã",
'5738' => "Países Baixos (Holanda)",
'5754' => "Palau",
'5800' => "Panamá Sim",
'5452' => "Papua Nova Guiné",
'5762' => "Paquistão",
'5860' => "Paraguai",
'5894' => "Peru",
'5932' => "Pitcairn, Ilha",
'5991' => "Polinésia Francesa",
'6033' => "Polônia, República da",
'6114' => "Porto Rico",
'6076' => "Portugal",
'6238' => "Quênia",
'6254' => "Quirguiz, República",
'6289' => "Reino Unido",
'6408' => "República Centro-Africana",
'6475' => "República Dominicana",
'6602' => "Reunião, Ilha",
'6700' => "Romênia",
'6750' => "Ruanda",
'6769' => "Rússia",
'6858' => "Saara Ocidental",
'6777' => "Salomão, Ilhas",
'6904' => "Samoa Sim",
'6912' => "Samoa Americana",
'6971' => "San Marino Sim",
'7102' => "Santa Helena",
'7153' => "Santa Lúcia Sim",
'6955' => "São Cristóvão e Neves Sim",
'7005' => "São Pedro e Miquelon",
'7200' => "São Tomé e Príncipe, Ilhas",
'7056' => "São Vicente e Granadinas Sim",
'7285' => "Senegal",
'7358' => "Serra Leoa",
'7315' => "Seychelles Sim",
'7447' => "Síria, República Árabe da",
'7480' => "Somália",
'7501' => "Sri Lanka",
'7544' => "Suazilândia",
'7595' => "Sudão",
'7641' => "Suécia",
'7676' => "Suíça",
'7706' => "Suriname",
'7722' => "Tadjiquistão",
'7765' => "Tailândia",
'7803' => "Tanzânia, República Unida da",
'7919' => "Tcheca, República",
'7820' => "Território Britânico Oc. Índico ",
'7951' => "Timor Leste",
'8001' => "Togo",
'8109' => "Tonga Sim",
'8052' => "Toquelau, Ilhas",
'8150' => "Trinidad e Tobago",
'8206' => "Tunísia",
'8230' => "Turcas e Caicos, Ilhas Sim",
'8249' => "Turcomenistão, República do",
'8273' => "Turquia",
'8281' => "Tuvalu",
'8311' => "Ucrânia",
'8338' => "Uganda",
'8451' => "Uruguai",
'8478' => "Uzbequistão, República do",
'5517' => "Vanuatu Sim",
'8486' => "Vaticano, Estado da Cidade do",
'8508' => "Venezuela",
'8583' => "Vietnã",
'8630' => "Virgens, Ilhas (Britânicas) Sim",
'8664' => "Virgens, Ilhas (E.U.A.) Sim",
'8737' => "Wake, Ilha",
'8753' => "Wallis e Futuna, Ilhas",
'8907' => "Zâmbia",
'6653' => "Zimbábue",
'8958' => "Zona do Canal do Panamá"
];
}
function __getUltimoNumeroSequencial($empresa_id, $tabela){
$config = ConfigGeral::where('empresa_id', $empresa_id)->first();
$ultimo = DB::table($tabela)->where('empresa_id', $empresa_id)
->orderBy('numero_sequencial', 'desc')
->where('numero_sequencial', '>', 0)->first();
$numero = $ultimo != null ? $ultimo->numero_sequencial : 0;
if($config == null){
return $numero;
}
if($tabela == 'produtos'){
return $config->ultimo_codigo_produto > $numero ? $config->ultimo_codigo_produto : $numero;
}
if($tabela == 'clientes'){
return $config->ultimo_codigo_cliente > $numero ? $config->ultimo_codigo_cliente : $numero;
}
if($tabela == 'fornecedors'){
return $config->ultimo_codigo_fornecedor > $numero ? $config->ultimo_codigo_fornecedor : $numero;
}
}
function __setUltimoNumeroSequencial($empresa_id, $tabela, $numero){
$config = ConfigGeral::where('empresa_id', $empresa_id)->first();
if($config != null){
if($tabela == 'produtos'){
$config->ultimo_codigo_produto = (int)$numero;
}
if($tabela == 'clientes'){
$config->ultimo_codigo_cliente = (int)$numero;
}
if($tabela == 'fornecedors'){
$config->ultimo_codigo_fornecedor = (int)$numero;
}
$config->save();
}
}