<?php

require 'conectar.php';

$id_pedido = $_GET['id'];

$conn->query("select * from pedido where id_pedido = ?",array($id_pedido));
$pedido = $conn->fetch_assoc();

if ($pedido['situacao'] != 'PEDIDO'):
	die('NÃO É UM PEDIDO');
endif;

$conn->query("select sum(qtd_pedido-qtd_faturada) as qtd_para_faturamento, sum(qtd_a_faturar) as qtd_para_nf from pedido_item where id_pedido = ?",array($id_pedido));
$verifica = $conn->fetch_assoc();
if ($verifica['qtd_para_faturamento'] < 1):
	die('PEDIDO SEM LIMITE PARA FATURAMENTO!');
endif;
if ($verifica['qtd_para_nf'] < 1):
	die('NENHUMA QUANTIDADE SELECIONADA PARA EMITIR NF!');
endif;

echo "LENDO BASE DE DADOS... <BR><BR>";

$conn->query("select * from pedido_item where qtd_a_faturar>0 and id_pedido = ?",array($id_pedido));
$pedido_itens = $conn->fetch_assoc_all();
$conn->query("select * from condicao_pg where id_condicao_pg = ?",array($pedido["id_condicao_pg"]));
$condicao_pg = $conn->fetch_assoc();
$conn->query("select * from transportadora where id_transportadora = ?",array($pedido["id_transportadora"]));
$transportadora = $conn->fetch_assoc();

$conn->query("select * from cadastro where id_cadastro = ?",array($pedido["id_cadastro"]));
$cadastro = $conn->fetch_assoc();

$conn->query("select * from licencas where id_licencas = ?",array($pedido["id_licencas"]));
$licenca = $conn->fetch_assoc();

$conn->query("select max(numero_nf)+1 as proxima from notas where id_licencas=?",array($pedido["id_licencas"]));
$nota = $conn->fetch_assoc();

$chave = '0010_'.str_pad($nota['proxima'], 6, "0", STR_PAD_LEFT);

$conn->query("select cd_tabela from tabelas where id_tabelas = ?",array($cadastro["id_indicador_ie"]));
$tab = $conn->fetch_assoc();
$cp_indicador_ie=$tab['cd_tabela'];

$conn->query("select cd_tabela from tabelas where id_tabelas = ?",array($licencas["cd_regime_tributario"]));
$tab = $conn->fetch_assoc();
$id_regime=$tab['cd_tabela'];

$conn->query("select cd_tabela from tabelas where id_tabelas = ?",array($pedido["tp_frete"]));
$tab = $conn->fetch_assoc();
$tp_frete=$tab['cd_tabela'];

//$vlr_prod=str_replace(',','.',str_replace('.','',$pedido["valor_produtos"]));
//$vlr_total=str_replace(',','.',str_replace('.','',$pedido['valor_total']));


$conn->query("select curdate() as cp_dt, now() as cp_dttm");
$tab = $conn->fetch_assoc();
$cp_dt=$tab['cp_dt'];
$cp_dttm=$tab['cp_dttm'];

$num=0;
$tot=0;
foreach($pedido_itens as $row_ref){ 

	$num=$num+1;
	
	$conn->query("select * from produto where id_produto = ?",array($row_ref["id_produto"]));
	$produto = $conn->fetch_assoc();	
	
	$vlr_unit=$row_ref["preco"]-$row_ref["vlr_desconto"];
	$vlr_unit_t=$vlr_unit*$row_ref["qtd_a_faturar"];
	$tot=$tot+$vlr_unit_t;
	
	$cp_id_produto='000000';
	if($row_ref["id_produto"]!=null):
		$cp_id_produto=$row_ref["id_produto"];
	endif;
		
    $item = array(
		"chave" => $chave,
        "numero_item" => $num,
        "codigo_produto" => $cp_id_produto,
        "codigo_barras_comercial" => null,
        "descricao" => trim($row_ref["descricao"]),
        "codigo_ncm" => trim($row_ref["ncm"]),
        "cfop" => trim($row_ref["cfop"]),
        "unidade_comercial" => trim($row_ref["unidade"]),
        "quantidade_comercial" => trim($row_ref["qtd_a_faturar"]),
        "valor_unitario_comercial" => trim($vlr_unit),
        "valor_bruto" => trim($vlr_unit_t),
        "codigo_barras_tributavel" => trim(""),
        "unidade_tributavel" => trim($row_ref["unidade"]),
        "quantidade_tributavel" => trim($row_ref["qtd_a_faturar"]),
        "valor_unitario_tributavel" => trim($vlr_unit),
        "pedido_compra" => trim($row_ref["pedido_compra"]),
        "numero_item_pedido_compra" => trim($row_ref["nr_item_pedido_compra"]),
        "inclui_no_total" => '1',
        "icms_origem" => trim($row_ref["icms_origem"]),
        "icms_modalidade_base_calculo" => trim($row_ref["icms_modalidade_base_calculo"]),
        "icms_situacao_tributaria" => trim($row_ref["cd_cst_icms"]),
        "ipi_situacao_tributaria" => trim($row_ref["cd_cst_ipi"]),
        "ipi_codigo_enquadramento_legal" => trim($row_ref["ipi_codigo_enquadramento_legal"]),
        "ipi_classe_enquadramento" => null,
        "pis_situacao_tributaria" => trim($row_ref["cd_pis"]),
        "cofins_situacao_tributaria" => trim($row_ref["cd_cofins"])
    );

	$conn->insert('itens',$item);
	echo "ARQUIVO ITEM CRIADO <BR>";
	
	### ATUALIZA ITEM DO PEDIDO
	$qtd_faturada_new=intval($row_ref["qtd_faturada"])+intval($row_ref["qtd_a_faturar"]);
	$conn->query("update pedido_item set qtd_faturada=?,qtd_a_faturar=0 where id_pedido_item = ?",array($qtd_faturada_new,$row_ref["id_pedido_item"]));
	echo "ATUALIZADO ITEM DO PEDIDO <BR><BR>";	
	
};

### GRAVA NOTA

$cp_cfop=trim($row_ref["cfop"]);
$conn->query("select descricao from cfop where cfop = ?",array($cp_cfop));
$nop = $conn->fetch_assoc();
$cp_nop=$nop['descricao'];

if($cadastro["estado"]=='RJ'):
	$cp_local_destino='1';
else:
	$cp_local_destino='2';
endif;

$nota = array(
	"chave" => $chave,	
	"id_pedido" => $id_pedido,
	"numero_nf" => $nota['proxima'],		
	"sequencia" => 0,	
	"tipo_nf" => 'P',	
	"st_nota" => 'N',	
    "id_licencas" => trim($pedido['id_licencas']),
	"dt_inclusao" => $cp_dttm,
    "data_emissao" => $cp_dt,
    "data_entrada_saida" => $cp_dttm,
    "natureza_operacao" => $cp_nop,
    "tipo_documento" => '1',
    "local_destino" => $cp_local_destino,
    "forma_pagamento" => '1',
    "finalidade_emissao" => trim($pedido['finalidade_emissao']),
    "consumidor_final" => '0',
    "presenca_comprador" => '0',
    "cnpj_emitente" => trim($licenca['cnpj']),
    "nome_emitente" => trim($licenca['nome']),
    "nome_fantasia_emitente" => trim($licenca['fantasia']),
    "logradouro_emitente" => trim($licenca['logradouro']),
    "numero_emitente" => trim($licenca['numero']),
    "complemento_emitente" => trim($licenca['complemento']),
    "bairro_emitente" => trim($licenca['bairro']),
    "prestador_codigo_municipio" => trim($licenca['cod_municipio']),	
    "municipio_emitente" => trim($licenca["municipio"]),
    "uf_emitente" => trim($licenca["uf"]),
    "cep_emitente" => trim($licenca["cep"]),
    "telefone_emitente" => trim($licenca["telefone"]),
    "inscricao_estadual_emitenete" => trim($licenca["ie"]),
    "inscricao_municipal_emitente" => trim($licenca["im"]),
	
    "regime_tributario_emitente" => strval($id_regime),

    "cnpj_destinatario" => trim($cadastro["cnpj"]),
    "cpf_destinatario" => trim($cadastro["cpf"]),
    "nome_destinatario" => trim($cadastro["nome"]),
    "logradoura_destinatario" => trim($cadastro["endereco"]),
    "numero_destinatario" => trim($cadastro["numero"]),
    "complemento_destinatario" => trim($cadastro["complemento"]),
    "bairro_destinatario" => trim($cadastro["bairro"]),
    "codigo_municipio_destinatario" => trim($cadastro["cod_municipio"]),
    "municipio_destinatario" => trim($cadastro["cidade"]),
    "uf_destinatario" => trim($cadastro["estado"]),
    "cep_destinatario" => trim($cadastro["cep"]),
    "pais_destinatario" => 'Brasil',
    "telefone_destinatario" => trim($cadastro['telefone']),
    "indicador_inscricao_estadual_destinatario" => $cp_indicador_ie,
    "inscricao_estadual_destinatario" => trim($cadastro['inscricao']),
    "email_destinatario" => trim($cadastro['email']),
    "valor_produtos" => trim($tot),
    "valor_total" => trim($tot),
	
    "modalidade_frete" => strval($tp_frete),

    "cnpj_transportador" => trim($transportadora['cnpj']),
    "cpf_transportador" => trim($transportadora['cpf']),
    "nome_transportador" => trim($transportadora['nome']),
    "inscricao_estadual_transportador" => trim($transportadora['inscricao']),
    "endereco_transportador" => trim($transportadora['endereco']),
    "municipio_transportador" => trim($transportadora['cidade']),
    "uf_transportador" => trim($transportadora['estado']),
    "informacoes_adicionais_contribuinte" => trim($pedido['obervacao_nota'])	
);


$conn->insert('notas',$nota);
echo "ARQUIVO NOTAS CRIADO<BR><BR>";


### GRAVA VOLUME
$qtd_vol = intval($verifica['qtd_para_nf']);

$vol = array(
"chave" => $chave,
"sequencia" => 0,
"quantidade" => $qtd_vol,
"especie" => UNIDADES,
"marca" => ESCOVA,
"peso_liquido" => 0,
"peso_bruto" => 0,
);

$conn->insert('volumes',$vol);
echo "ARQUIVO VOLUMES CRIADO <BR><BR>";


### UPDATE

if ($verifica['qtd_para_faturamento'] <= $verifica['qtd_para_nf']):
	$conn->query("update pedido set st_pedido='FINALIZADO' where id_pedido = ?",array($pedido["id_pedido"]));
	$tab = $conn->fetch_assoc();
	echo "PEDIDO FINALIZADO <BR><BR>";
else:
	$conn->query("update pedido set st_pedido='PENDENTE' where id_pedido = ?",array($pedido["id_pedido"]));
	$tab = $conn->fetch_assoc();
	echo "PEDIDO INCOMPLETO <BR><BR>";
endif;

die('FIM...');

