<?php

include 'funcoes.php';
include 'datas.php';
include 'conexao.php';


$tabelapadrao = select_array("select tabelapadrao FROM parametros where codigo = 1")['tabelapadrao'];
$tipomovimento = '1';
$setor = '1';
$usuariopadrao = '3';
$historicovenda = '2';
$empresa = '1';
$usuarioDeepay = '5';

$urlapi = 'https://dashboard.deepay.com.br';
//$urlapi = 'https://testes.unionsystem.com.br/deepay';


function formaPagto($forma_pagto){
	switch ($forma_pagto) {
		//1 - Cartão; 2 - PIX; 3 - Boleto;
		case 1:
			$forma_pagto = 2; //cartao
		break;
		
		case 2:
			$forma_pagto = 6; //pix
		break;

		case 3:
			$forma_pagto = 1; //boleto
		break;
	}

	return $forma_pagto;
} 

function condicao($condicao){
	switch ($condicao) {
		//1 - avista; 2 - 2x ....;
		case 1:
			$condicao = 1; //avista
		break;
		
		case 2:
			$condicao = 3; //2x
		break;
		
		case 3:
			$condicao = 5; //3x
		break;

		case 4:
			$condicao = 6; //4x
		break;

		case 5:
			$condicao = 7; //5x
		break;

		case 6:
			$condicao = 8; //6x
		break;

		case 7:
			$condicao = 9; //7x
		break;

		case 8:
			$condicao = 10; //8x
		break;

		case 9:
			$condicao = 11; //9x
		break;

		case 10:
			$condicao = 12; //10x
		break;

		case 11:
			$condicao = 13; //11x
		break;

		case 12:
			$condicao = 14; //12x
		break;

		default:
			$condicao = $condicao;
		break;
	}
	return $condicao;
}

//usar situacao pedido 

function status($status){
	//A - Aguardando Pagamento; P - Pago; C - Cancelado; E - Extornado; T- Processando; F- falha
	switch($status){
		case 'A':
			$status = 'A';
		break;

		case 'P':
			$status = 'P';
		break;

		case 'C':
			$status = 'C';
		break;

		case 'E':
			$status = 'C';
		break;

		case 'T':
			$status = 'A';
		break;

		case 'F':
			$status = 'F';
		break;

		case 'W':
			$status = 'A';
		break;

		default:
			$status = $status;
		break;

	}
	return $status;
}


$vendas = [0];

$curl = curl_init();

$postCons = '{
	"header": {
		"apikey": "0fc0c1728d4125462e9eefaa107e1565"
	},
	"dados": {
		"usuario": "'.$usuarioDeepay.'"
	}
}';

curl_setopt_array($curl, array(
	CURLOPT_URL => $urlapi."/api/unionsystem/consulta.php",
	CURLOPT_RETURNTRANSFER => true,
	CURLOPT_ENCODING => "",
	CURLOPT_MAXREDIRS => 10,
	CURLOPT_TIMEOUT => 0,
	CURLOPT_FOLLOWLOCATION => true,
	CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
	CURLOPT_CUSTOMREQUEST => "POST",
	CURLOPT_POSTFIELDS => $postCons,
	CURLOPT_HTTPHEADER => array(
		"Content-Type: application/x-www-form-urlencoded"
	),
));

$response = curl_exec($curl);

curl_close($curl);
// echo $response;

$data = json_decode($response,true);

echo '<pre>';
// print_r($data['vendas']);
// print_r($data['vendas'][45]['datahora']);


// exit;

if (isset($data['vendas'])) {


	for ($i=0; $i < count($data['vendas']) ; $i++) { 
		$data['vendas'][$i]['datahora'] = explode(" ", $data['vendas'][$i]['datahora']);

		$consultaProduto = select_array("select codigo from produto where id_internet = {$data['vendas'][$i]['produto']}");

		if ($consultaProduto['codigo'] == '') {
			$produtonome = strtoupper(removeAcentos($data['vendas'][$i]['produto_nome']));
			executa("
				insert into produto( data, nome, fornecedor, ativo, marca, imagem, subgrupo, grupo, cod_fabrica, modelo, cod_fornece, cod_mercosul, cod_barra, quantidade, unidade, tipo, peso_bruto, peso_liq, observacao, centro_custo, utilizarcomposto, conta, natur_saida, natur_entrada, situa_tribut, class_fiscal, icms, base_icm, ipi, base_ipi, iss, retencao_pis, retencao_cofins, retencao_csll, retencao_irrf, lote_producao, ponto_producao, ponto_pedido, prazo_producao, lote_compra, prazo_entrega, est_maximo, est_min, estimado, custo, validade, controle_movim, preco_fornec, custo1, refe_custo1, custo2, refe_custo2, custo3, refe_custo3, custo4, refe_custo4, troca, servico, controlaentrega, origem_mercadoria, base_subst, empresa, produzido, margemlucro, pis, cofins, grupofiscal, situa_tribut_ipi, situa_tribut_pis, situa_tribut_cofins, tipoitemspeed, genero, tipocreditopiscofins, servicosped, descricao, anp, codif, atividadenfs, image, produto, dadosadicionais, imprimeetiqueta, unidade_controle, medidaminima, mostrarnainternet, cenq, controlasabor, produtobonus, baixacomposicao, custo_atual, custo_medio, custo_real, qtde_atacado, ordenacao_internet, vendaemdolar, enviaobsnota, tabela_cest, produto_fabrica, descanp, perc_glp, perc_nat_nacional, perc_nat_importado, valor_partida, custo5, cod_gtin_ean, qtde_minima, supervisor, mostrarnoapp, sincronizado, controla_serie, altura, largura, comprimento, multiplo, km, horas, qtde_minima_ecomerce, destaque_internet, primeiracompra_internet, diametro, id_internet, mostranozapp, tempo_servico, atributo1, atributo2, atributo3, cod_gtin_ean_trib, multiplo_transformacao, defineloteproducao, qtde_rendimento, alergicos, definecor, cod_tara_balanca, tabela_cor, tabela_tamanho)
				value
			('{$data['vendas'][$i]['datahora'][0]}', '{$produtonome}', '0', 'S', '0', NULL, '0', '0', '', '0', '', '', '', '0', '1', '0', '0.000', '0.000', '', NULL, 'N', '0', '0', '0', NULL, '', '0.000', NULL, '0.000', NULL, '0.000', '0.000', '0.000', '0.000', '0.000', NULL, NULL, '0.00000', '0', NULL, NULL, NULL, '0.00000', NULL, '0.0000000000', '0', 'N', 'N', '0.0000000000', NULL, '0.0000000000', NULL, '0.0000000000', NULL, '0.0000000000', NULL, '0', 'N', 'N', '0', '0.000', '1', 'N', '0.000', '0.000', '0.000', '4322', NULL, NULL, '', '0', '0', NULL, NULL, 'produto', '0', '0', NULL, '', '0', '', 'N', '0', '0.000', 'N', '0', 'N', '0', 'N', '0.000000', '0.000000', NULL, '0.000', '', 'N', 'N', '0', '0', '', '0.00', '0.00', '0.00', '0.00', '0.0000000000', '', '0.000', 'N', 'N', 'N', 'N', '0.0000', '0.0000', '0.0000', '0', '0', '0.000', '0.000', 'N', 'N', '0.0000', '{$data['vendas'][$i]['produto']}', 'N', '00:00:00', '0', '0', '0', '', '0.000', 'N', '0.000', '', 'N', '0', '0', '0');
			");

			$consultaProduto = select_array("select codigo from produto where id_internet = {$data['vendas'][$i]['produto']}");
		}

		$consultaCliente = select_array("select codigo from cliente where cpf = '{$data['vendas'][$i]['cliente_cpf']}' or email = '{$data['vendas'][$i]['cliente_email']}' ");

		if ($consultaCliente['codigo'] == '') {

			$end = json_decode($data['vendas'][$i]['cliente_endereco'],true);

			$end['codCidade'] = select_array("select codigo from cidade where nome like '%{$end['localidade']}%' and uf = '{$end['uf']}'")['codigo'];

			if($end['codCidade'] == ''){
				$ObjCidade['nome'] = $end['localidade'];
				$ObjCidade['uf'] = $end['uf'];
				$ObjCidade['empresa'] = $empresa;
				$end['codCidade'] = insert_return('cliente', $ObjCliente);
			}

			$end['codBairro'] = select_array("select codigo from bairro where nome like '%{$end['bairro']}%'")['codigo'];

			if($end['codBairro'] == ''){
				$ObjBairro['nome'] = $end['bairro'];
				$ObjBairro['empresa'] = $empresa;
				$end['codBairro'] = insert_return('bairro', $ObjBairro);
			}

			// executa("
			// 	insert into cliente
			// 	(data, razao, fantasia, tipo, fone1, email, consum_final, cpf, ativo, tabela_preco, opcao, cep, endereco, numero, bairro, cidade, complemento)
			// 	VALUES
			// 	(current_date, '{$data['vendas'][$i]['cliente']}', '{$data['vendas'][$i]['cliente']}', 1, '{$data['vendas'][$i]['cliente_fone']}', '{$data['vendas'][$i]['cliente_email']}', 'S', '{$data['vendas'][$i]['cliente_cpf']}', 'S', (select tabelapadrao FROM parametros), 'CLIENTE', '{$end['cep']}', '{$end['logradouro']}', '{$end['numero']}', '{$end['codBairro']}', '{$end['codCidade']}', '{$end['complemento']}'); 
			// ");

			$ObjCliente['data'] = $data['vendas'][$i]['datahora'][0];
			$ObjCliente['razao'] = strtoupper(removeAcentos($data['vendas'][$i]['cliente']));
			$ObjCliente['fantasia'] = strtoupper(removeAcentos($data['vendas'][$i]['cliente']));
			$ObjCliente['tipo'] = '1';
			$ObjCliente['fone1'] = $data['vendas'][$i]['cliente_fone'];
			$ObjCliente['email'] = $data['vendas'][$i]['cliente_email'];
			$ObjCliente['consum_final'] = 'S';
			$ObjCliente['cpf'] = $data['vendas'][$i]['cliente_cpf'];
			$ObjCliente['ativo'] = 'S';
			$ObjCliente['tabela_preco'] = $tabelapadrao;
			$ObjCliente['opcao'] = 'CLIENTE';
			$ObjCliente['cep'] = $end['cep'];
			$ObjCliente['endereco'] = strtoupper(removeAcentos($end['logradouro']));
			$ObjCliente['numero'] = $end['numero'];
			$ObjCliente['bairro'] = $end['codBairro'];
			$ObjCliente['cidade'] = $end['codCidade'];
			$ObjCliente['complemento'] = strtoupper(removeAcentos($end['complemento']));

			$cliente = insert_return('cliente', $ObjCliente);

			// $consultaCliente = select_array("select codigo from cliente where cpf = '{$data['vendas'][$i]['cliente_cpf']}' or email = '{$data['vendas'][$i]['cliente_email']}' ");

			$consultaCliente['codigo'] = $cliente;
		}

		$consultaVenda = select_array("select codigo from pedido where id_integracao = '{$data['vendas'][$i]['venda']}' ");

		if ($consultaVenda['codigo'] == '') {

			$ObjPedido['data'] = $data['vendas'][$i]['datahora'][0];
			$ObjPedido['cliente'] = $consultaCliente['codigo'];
			$ObjPedido['total_produto'] = $data['vendas'][$i]['valor'];
			$ObjPedido['total_troca'] = '0.000';
			$ObjPedido['descontopadrao'] = '0.000';
			$ObjPedido['desconto'] = '0';
			$ObjPedido['usuario'] = $usuariopadrao;
			$ObjPedido['observacao'] = 'integracao deepay';
			$ObjPedido['total'] = $data['vendas'][$i]['valor'];
			$ObjPedido['frete'] = '0';
			$ObjPedido['forma_pagto'] = formaPagto($data['vendas'][$i]['forma_pagto']);
			$ObjPedido['condicao'] = condicao($data['vendas'][$i]['condicao']);
			$ObjPedido['status'] = 'A';//status($data['vendas'][$i]['status']);
			$ObjPedido['realizado'] = '1';
			$ObjPedido['recibo'] = 'N';
			$ObjPedido['setor'] = $setor;
			$ObjPedido['prazo_entrega'] = '0';
			$ObjPedido['hora'] = $data['vendas'][$i]['datahora'][1];
			$ObjPedido['tabela_preco'] = $tabelapadrao;
			$ObjPedido['quant_parcela'] = condicao($data['vendas'][$i]['condicao']);
			$ObjPedido['subtotal'] = $data['vendas'][$i]['valor'];
			$ObjPedido['soma'] = $data['vendas'][$i]['valor'];
			$ObjPedido['historico'] = $historicovenda;
			$ObjPedido['transportadora'] = '0';
			$ObjPedido['data_previsao'] = null;
			$ObjPedido['empresa'] = $empresa;
			$ObjPedido['tipomov'] = $tipomovimento;
			$ObjPedido['totalbase'] = $data['vendas'][$i]['valor'];
			$ObjPedido['id_integracao'] = $data['vendas'][$i]['venda'];
			$ObjPedido['tipomovimento'] = $tipomovimento;
			$ObjPedido['total_bruto'] = $data['vendas'][$i]['valor'];
			$ObjPedido['pesobruto'] = '0';
			$ObjPedido['pesoliquido'] = '0';
			$ObjPedido['cpf_nota'] = $data['vendas'][$i]['cliente_cpf'];
			$ObjPedido['adicional'] = '0';
			$ObjPedido['especie'] = '';
			$ObjPedido['peso_bruto'] = '0';
			$ObjPedido['custo_frete'] = '0';
			$ObjPedido['custo_total'] = $data['vendas'][$i]['valor'];
			$ObjPedido['altura'] = '0';
			$ObjPedido['largura'] = '0';
			$ObjPedido['comprimento'] = '0';
			$ObjPedido['entrega_cnpj_cpf'] = $data['vendas'][$i]['cliente_cpf'];
			$ObjPedido['entrega_endereco'] = $end['logradouro'];
			$ObjPedido['entrega_numero'] = $end['numero'];
			$ObjPedido['entrega_complemento'] = $end['complemento'];
			$ObjPedido['entrega_bairro'] = $end['codBairro'];
			$ObjPedido['entrega_cidade'] = $end['codCidade'];
			$ObjPedido['entrega_cep'] = $end['cep'];
			$ObjPedido['entrega_nome'] = $data['vendas'][$i]['cliente'];
			$ObjPedido['nota'] = '2';
			$ObjPedido['situacao_pedido'] = select_array("select codigo from situacao_pedido where situacao_pagarme = '{$data['vendas'][$i]['status']}'")['codigo'];

			$pedido = insert_return('pedido', $ObjPedido);

			$consultaVenda['codigo'] = $pedido;

			//itens

			$ObjItens['pedido'] = $pedido;
			$ObjItens['produto'] = $consultaProduto['codigo'];
			$ObjItens['tipo'] = 'S';
			$ObjItens['quantidade'] = '1';
			$ObjItens['valor'] = $data['vendas'][$i]['valor'];
			$ObjItens['total'] = $data['vendas'][$i]['valor'];
			$ObjItens['desconto'] = '0';
			$ObjItens['status'] = '0';
			$ObjItens['recebedor'] = null;
			$ObjItens['data'] = $data['vendas'][$i]['datahora'][0];
			$ObjItens['empresa'] = $empresa;
			$ObjItens['obs'] = '';
			$ObjItens['valor_bruto'] = $data['vendas'][$i]['valor'];
			$ObjItens['item'] = 1;
			$ObjItens['adicional'] = '';
			$ObjItens['cod_atendimento'] = $pedido;
			$ObjItens['descricao'] = strtoupper(removeAcentos($data['vendas'][$i]['produto_nome']));
			$ObjItens['data_inclusao'] = $data['vendas'][$i]['datahora'][0];

			$itensPedido = insert_return('items_pedido', $ObjItens);

		}else{

			$ObjPedido['situacao_pedido'] = select_array("select codigo from situacao_pedido where situacao_pagarme = '{$data['vendas'][$i]['status']}'")['codigo'];
			update_request('pedido', 'codigo', $consultaVenda['codigo'], $ObjPedido);
		}

		if ($data['vendas'][$i]['status'] == 'P') {

			$baixas['form_pagto'] = formaPagto($data['vendas'][$i]['forma_pagto']);
			$baixas['valor'] = $data['vendas'][$i]['valor'];
			$baixas['cartao'] = '';
			$baixas['perccartao'] = 0;
			$baixas['movimento'] = $consultaVenda['codigo'];
			$baixas['tipo'] = 'PEDIDO';
			$baixas['condicao'] = condicao($data['vendas'][$i]['condicao']);
			$baixas['data'] = $data['vendas'][$i]['datahora'][0];

			insert_return("baixas_venda", $baixas);


			for ($j=1; $j <= condicao($data['vendas'][$i]['condicao']) ; $j++) { 
				$parcelas = array();
				$parcelas['pedido'] = $consultaVenda['codigo'];
				$parcelas['parcela'] = $j;
				$parcelas['valor'] = floatval($data['vendas'][$i]['valor'])/condicao($data['vendas'][$i]['condicao']);
				$parcelas['vencimento'] = data_soma($data['vendas'][$i]['datahora'][0], 1, 'month');
				$parcelas['empresa'] = $empresa;
			
				insert_return("parcelas_pedido", $parcelas);

				$financeiro = array();
				$financeiro['setor'] = $setor;
				$financeiro['empresa'] = $empresa;
				$financeiro['tipo'] = 'PEDIDO';
				$financeiro['data'] = data();
				$financeiro['vencimento'] = $parcelas['vencimento'];
				$financeiro['parcela'] = $j;
				$financeiro['movimento'] = $consultaVenda['codigo'];
				$financeiro['nota'] = '';
				$financeiro['valor'] = $data['vendas'][$i]['valor'];
				$financeiro['desccartao'] = 0;
				$financeiro['descontocartao'] = 0;
				$financeiro['diferenca'] = 0;
				$financeiro['valor_original'] = $data['vendas'][$i]['valor'];
				$financeiro['valor_cartao'] = 0;
				$financeiro['juros'] = '0';
				$financeiro['desconto'] = '0';
				$financeiro['valor_recebido'] = '0';
			
				$financeiro['cliente'] = $consultaCliente['codigo'];
				$financeiro['status'] = 'F';
				$financeiro['condicao'] = condicao($data['vendas'][$i]['condicao']);
				$financeiro['forma_pagto'] = formaPagto($data['vendas'][$i]['forma_pagto']);
				$financeiro['historico'] = 0;
				$financeiro['descricao'] = $data['vendas'][$i]['produto_nome'];
				$financeiro['contacontabil'] = '0';
				$financeiro['tipo_integracao'] = 'C';
				$financeiro['id_integracao'] = $data['vendas'][$i]['venda'];
				$financeiro['numero_cartao'] = $data['vendas'][$i]['codigo'];
				$financeiro['confirmacaoenviopagamento'] = '';
				$financeiro['log_integracao'] = json_encode($data);
				$financeiro['geracomissao'] = "N";
				$financeiro['recorrente'] = 'N';
			
				$receber = insert_return("ct_receber", $financeiro);
			}

		}

		if ($data['vendas'][$i]['status'] == 'C') {
			executa("update pedido set status = 'C' where codigo = {$consultaVenda['codigo']}");
			executa("update ct_receber set status = 'C' where movimento = {$consultaVenda['codigo']}");
		}

		echo "Venda Registrada {$consultaVenda['codigo']}, {$data['vendas'][$i]['cliente']} <br>";

		
		if (query_erro() != ''){
			echo query_erro();
		}else{
			array_push($vendas, $data['vendas'][$i]['codigo']);

		}

	}
}

if (count($vendas) > 1) {

	$curl = curl_init();

	$postSinc = '{
		"header": {
			"apikey": "0fc0c1728d4125462e9eefaa107e1565"
		},
		"dados": {
			"vendas": "'.implode(",",$vendas).'"
		}
	}';

	curl_setopt_array($curl, array(
		CURLOPT_URL => $urlapi."/api/unionsystem/sinc_venda.php",
		CURLOPT_RETURNTRANSFER => true,
		CURLOPT_ENCODING => "",
		CURLOPT_MAXREDIRS => 10,
		CURLOPT_TIMEOUT => 0,
		CURLOPT_FOLLOWLOCATION => true,
		CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
		CURLOPT_CUSTOMREQUEST => "POST",
		CURLOPT_POSTFIELDS => $postSinc,
		CURLOPT_HTTPHEADER => array(
			"Content-Type: application/x-www-form-urlencoded"
		),
	));

	$response = curl_exec($curl);

	curl_close($curl);
	echo $response;

	$Sincdata = json_decode($response,true);

	print_r($Sincdata);

}

echo 'fim de execuçao';


