public function getConfigSendMail($empreendimentos) { $UsuariosDao = new UsuarioDao(); if (is_array($empreendimentos) && count($empreendimentos) > 0) { $dados_send_mail = array(); $EmpreendimentoDao = new EmpreendimentoDao(); foreach ($empreendimentos as $emp) { $empreendimento = $EmpreendimentoDao->getEmpreendimentoById($emp['id']); $config_send_mail = $this->getConfiguracoes($emp['id'], 'config_send_mail'); $config_send_mail = $config_send_mail['config_send_mail']; parse_str($config_send_mail, $config_send_mail); $user_in = ""; if (!(is_array($config_send_mail) && (array_key_exists('user', $config_send_mail) && array_key_exists('color', $config_send_mail)))) { return false; } foreach ($config_send_mail['user'] as $id_adm) { $user_in .= $id_adm . ","; } $user_in = "IN (" . substr($user_in, 0, -1) . ")"; $user = $UsuariosDao->getUsuarios(null, null, array('usu.id' => array("exp" => $user_in), "emp.id" => $emp['id']), array('usu.nome', 'usu.email')); $config_send_mail['user'] = $user['usuarios']; $dados_send_mail[] = array('empreendimento' => $empreendimento, 'config_send_mail' => $config_send_mail); } return $dados_send_mail; } else { return false; } }
public static function getEmpreendimentos() { $empreendimentoDao = new EmpreendimentoDao(); $empreendimento = $empreendimentoDao->getEmpreendimentos(); if ($empreendimento) { Flight::json($empreendimento); } else { Flight::halt(404, 'Nenhum empreendimento encontrado.'); } }
<?php $EmpreendimentoDao = new EmpreendimentoDao(); $ItemVendaDao = new ItemVendaDao(); $VendaDao = new VendaDao(); $UsuarioDao = new UsuarioDao(); $CidadeDao = new CidadeDao(); $EstadoDao = new EstadoDao(); $Conexao = new Conexao(); $aux = json_decode($dados['json']); $vlr_saldo_devedor = 0; $empreendimento = $EmpreendimentoDao->getEmpreendimentoById($aux->id_empreendimento); if (!$aux->pagamento_fulso) { $venda = $VendaDao->getVenda($aux->id_venda); $produtos = $ItemVendaDao->getItens($aux->id_venda); $vlr_saldo_devedor = !empty($venda['vlr_saldo_anterior']) ? (double) $venda['vlr_saldo_anterior'] : 0; $id_venda = $aux->id_venda; $queryPagamentos = "SELECT tpv.id_forma_pagamento,if(tpv.id_forma_pagamento = 6,COUNT(*),NULL) n_parcelas, ROUND(SUM(tpv.valor_pagamento),2) AS valor_pagamento,tfp.descricao_forma_pagamento\n\t\t\tFROM tbl_movimentacao_caixa AS tmc \n\t\t\tINNER JOIN tbl_pagamentos_venda AS tpv ON tmc.id_lancamento_entrada = tpv.id \n\t\t\tINNER JOIN tbl_forma_pagamento AS tfp ON tpv.id_forma_pagamento = tfp.id\n\t\t\tINNER JOIN tbl_conta_bancaria AS tcb ON tpv.id_conta_bancaria = tcb.id\n\t\t\tWHERE tmc.id_venda = {$id_venda}\n\t\t\tAND (tcb.id_tipo_conta <> 5 OR (tcb.id_tipo_conta =5 AND (tpv.flg_caixa_fechado = 0 OR tpv.flg_caixa_fechado IS NULL ) ))\n\t\t\tGROUP BY if(tpv.id_parcelamento IS NULL \n\t\t\tAND tpv.id_forma_pagamento = 6,tpv.id, if(tpv.id_forma_pagamento <> 6,tpv.id, (if(tpv.id_forma_pagamento <> 6,tpv.id,tpv.id_parcelamento))))"; $pagamentos = parse_arr_values($Conexao->select($queryPagamentos, true, null, null), 'all'); $pagamentos = is_array($pagamentos) ? $pagamentos : array(); } else { $id_controle_pagamento = $aux->id_controle_pagamento; $queryPagamentos = "SELECT tpv.id_forma_pagamento,if(tpv.id_forma_pagamento = 6,COUNT(*),NULL) n_parcelas, ROUND(SUM(tpv.valor_pagamento),2) AS valor_pagamento,tfp.descricao_forma_pagamento \n\t\t\tFROM tbl_pagamentos_venda AS tpv \n\t\t\tINNER JOIN tbl_forma_pagamento AS tfp ON tpv.id_forma_pagamento = tfp.id\n\t\t\tINNER JOIN tbl_conta_bancaria AS tcb ON tpv.id_conta_bancaria = tcb.id\n\t\t\tWHERE tpv.id_controle_pagamento = {$id_controle_pagamento}\n\t\t\tAND (tcb.id_tipo_conta <> 5 OR (tcb.id_tipo_conta =5 AND (tpv.flg_caixa_fechado = 0 OR tpv.flg_caixa_fechado IS NULL ) ))\n\t\t\tGROUP BY if(tpv.id_parcelamento IS NULL \n\t\t\tAND tpv.id_forma_pagamento = 6,tpv.id, if(tpv.id_forma_pagamento <> 6,tpv.id, (if(tpv.id_forma_pagamento <> 6,tpv.id,tpv.id_parcelamento))))"; $produtos = array(); $vlr_saldo_devedor = $aux->vlr_saldo_devedor; $pagamentos = parse_arr_values($Conexao->select($queryPagamentos, true, null, null), 'all'); $venda = array("venda_confirmada" => null); } $id_cliente = $aux->id_cliente; $cliente = $UsuarioDao->getUsuario($aux->id_empreendimento, $id_cliente); $estado = array('uf' => '', 'nome' => '');
public static function getDadosCnf($id_venda, $id_caixa) { $vendaDao = new VendaDao(); $venda = $vendaDao->getVenda($id_venda); $itemVendaDao = new ItemVendaDao(); $itensVenda = $itemVendaDao->getItens($id_venda, null, null, null); $empreendimentoDao = new EmpreendimentoDao(); $empreendimento = $empreendimentoDao->getEmpreendimentoById($venda['id_empreendimento']); $contaBancariaDao = new ContaBancariaDao(); $caixa = $contaBancariaDao->getContaBancaria($id_caixa); $usuarioDao = new UsuarioDao(); $saldoDevedor = $usuarioDao->getSaldoDevedor($venda['id_empreendimento'], $venda['id_cliente']); $configuracaoDao = new ConfiguracaoDao(); $config = $configuracaoDao->getConfiguracoes($venda['id_empreendimento']); Flight::json(array('venda' => $venda, 'itensVenda' => $itensVenda, 'empreendimento' => $empreendimento, 'printerModel' => $caixa['mod_impressora'], 'saldoDevedor' => $saldoDevedor['vlr_saldo_devedor'])); }
public static function deleteEmpreendimento($id) { $EmpreendimentoDao = new EmpreendimentoDao(); if (is_numeric($id)) { if ($EmpreendimentoDao->deleteEmpreendimento($id)) { Flight::halt(200, ''); } else { Flight::halt(500, 'erro ao excluir'); } } else { Flight::halt(406, 'parametro recusado'); } }
public static function cadastrarCliente() { try { $UsuarioDao = new UsuarioDao(); $ClienteDao = new ClienteDao(); $ClienteTO = new ClienteTO(); $PessoaFisicaTO = new PessoaFisicaTO(); $PessoaFisicaDao = new PessoaFisicaDao(); $EmpreendimentoDao = new EmpreendimentoDao(); $UsuarioEmpreendimentoTO = new UsuarioEmpreendimentoTO(); $validator = new DataValidator(); $ClienteTO->__setAll($_POST); $tipo_cadastro = "pf"; $PessoaFisicaTO->rg = isset($_POST["rg"]) ? $_POST["rg"] : NULL; $PessoaFisicaTO->cpf = isset($_POST["cpf"]) ? $_POST["cpf"] : NULL; $UsuarioEmpreendimentoTO->id_empreendimento = isset($_POST['id_empreendimento']) ? $_POST['id_empreendimento'] : array(); $validator->set_msg('O id_empreendimento é obrigatório')->set('nome', $UsuarioEmpreendimentoTO->id_empreendimento)->is_required(); if (empty($PessoaFisicaTO->cpf)) { $validator->set_msg('O nome do cliente é obrigatório')->set('nome', $ClienteTO->nome)->is_required(); } if (empty($ClienteTO->nome)) { $validator->set_msg('O cpf do cliente é obrigatório')->set('cpf', $PessoaFisicaTO->cpf)->is_required(); } if (!empty($ClienteTO->email)) { $validator->set_msg('E-mail inválido')->set('email', $ClienteTO->email)->is_email(); } if (!$validator->validate()) { Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send(); return; } $Conexao = new Conexao(); $Conexao::getInstance(); $Conexao->beginTransaction(); $last_id = $ClienteDao->saveCliente($ClienteTO); if ($last_id) { $UsuarioEmpreendimentoTO->id_usuario = $last_id; $PessoaFisicaTO->usuarios_id = $last_id; if (!$PessoaFisicaDao->savePessoaFisica($PessoaFisicaTO)) { $Conexao->rollback(); Flight::halt(500, 'Erro ao cadastrar cpf do cliente'); } $UsuarioEmpreendimentoTO->id_usuario = $last_id; if (!$EmpreendimentoDao->saveUsuarioEmpreendimento($UsuarioEmpreendimentoTO)) { $Conexao->rollback(); Flight::halt(500, 'erro ao lincar usuario ao empreendimento'); } $dados_usuario = $UsuarioDao->getUsuario($UsuarioEmpreendimentoTO->id_empreendimento, $last_id); Flight::response()->status(201)->header('Content-Type', 'application/json')->write(json_encode(array('usuario' => $dados_usuario)))->send(); } else { $Conexao->rollback(); Flight::halt(500, 'Erro ao cadastrar o cliente'); } } catch (Exception $e) { if (isset($Conexao)) { $Conexao->rollback(); } jsonException($e); } }
public static function requestSaveUsuario() { try { $usuario = $_POST['usuario']; $id_empreendimento = $_POST['id_empreendimento']; $ReferenciaIntegracaoDao = new ReferenciaIntegracaoDao(); $ReferenciaIntegracaoTO = new ReferenciaIntegracaoTO(); $PrestaShopDao = new PrestaShopDao($_POST['id_empreendimento']); $ClienteDao = new ClienteDao(); $ClienteTO = new ClienteTO(); $ClienteTO->nome = getKeyArr($usuario, 'firstname'); $ClienteTO->apelido = getKeyArr($usuario, 'lastname'); $ClienteTO->dta_nacimento = getKeyArr($usuario, 'birthday'); $ClienteTO->email = getKeyArr($usuario, 'email'); $ClienteTO->flg_tipo = 'cliente'; $last_id = $ClienteDao->saveCliente($ClienteTO); if (!$last_id) { throw new Exception('Erro ao salvar usuario', 1); } $EmpreendimentoDao = new EmpreendimentoDao(); $UsuarioEmpreendimentoTO = new UsuarioEmpreendimentoTO(); $UsuarioEmpreendimentoTO->id_usuario = $last_id; $UsuarioEmpreendimentoTO->id_empreendimento = $id_empreendimento; if (!$EmpreendimentoDao->saveUsuarioEmpreendimento($UsuarioEmpreendimentoTO)) { throw new Exception('erro ao lincar usuario ao empreendimento'); } $AutenticacaoTO = new AutenticacaoTO(); $AutenticacaoTO->id_usuario = $last_id; $AutenticacaoTO->senha = getKeyArr($usuario, 'passwd'); $AutenticacaoTO->login = getKeyArr($usuario, 'email'); if (!empty($AutenticacaoTO->senha) && !empty($AutenticacaoTO->login)) { if (!$ClienteDao->saveAutenticacao($AutenticacaoTO)) { throw new Exception('Erro ao inserir Autenticacao'); } } $PessoaFisicaDao = new PessoaFisicaDao(); $PessoaFisicaTO = new PessoaFisicaTO(); $PessoaFisicaTO->usuarios_id = $last_id; $PessoaFisicaTO->rg = NULL; $PessoaFisicaTO->cpf = NULL; if (!$PessoaFisicaDao->savePessoaFisica($PessoaFisicaTO)) { throw new Exception('Erro ao cadastrar tipo da pessoa (pf,pj)'); } $ConfiguracaoDao = new ConfiguracaoDao(); $config = $ConfiguracaoDao->getConfiguracoes($id_empreendimento); if (isset($config['prestashop_id_perfil_padrao']) && !empty($config['prestashop_id_perfil_padrao'])) { $UsuarioPerfilEmpreendimentoDao = new UsuarioPerfilEmpreendimentoDao(); $UsuarioPerfilEmpreendimentoTO = new UsuarioPerfilEmpreendimentoTO(); $UsuarioPerfilEmpreendimentoTO->id_empreendimento = $id_empreendimento; $UsuarioPerfilEmpreendimentoTO->id_perfil = $config['prestashop_id_perfil_padrao']; $UsuarioPerfilEmpreendimentoTO->id_usuario = $last_id; $UsuarioPerfilEmpreendimentoDao->saveUsuarioPerfilEmpreendimento($UsuarioPerfilEmpreendimentoTO); } $ReferenciaIntegracaoTO = new ReferenciaIntegracaoTO(); $ReferenciaIntegracaoTO->sistema_integrado = 'PrestaShop'; $ReferenciaIntegracaoTO->tabela = 'tbl_usuarios'; $ReferenciaIntegracaoTO->id_item = $last_id; $ReferenciaIntegracaoTO->id_item_referencia = $usuario['id']; $ReferenciaIntegracaoTO->tipo = 'usuario'; $ReferenciaIntegracaoTO->id_empreendimento = $id_empreendimento; if (!$ReferenciaIntegracaoDao->save($ReferenciaIntegracaoTO)) { throw new Exception('Erro ao criar referencia no sistema', 1); } } catch (Exception $e) { $log = new KLogger("logs/logErrorPrestaShop.txt", KLogger::DEBUG); $log->LogError($e->getMessage() . '- file:' . $e->getFile() . ' - line:' . $e->getLine()); $log->LogDebug(json_encode($_POST)); $log->LogJunp(); Flight::halt(500, $e->getMessage()); } }
public static function updateCliente() { $ClienteTO = new stdClass(); $ClienteDao = new ClienteDao(); $PessoaJuridicaDao = new PessoaJuridicaDao(); $PessoaFisicaTO = new PessoaFisicaTO(); $PessoaJuridicaTO = new PessoaJuridicaTO(); $validator = new DataValidator(); $empreendimentos = isset($_POST['empreendimentos']) ? $_POST['empreendimentos'] : array(); $where = $_POST['where']; foreach ($_POST['campos'] as $key => $value) { if ($key != 'cpf' && $key != 'rg') { $ClienteTO->{$key} = $value; } } $PessoaFisicaTO->rg = isset($_POST['campos']["rg"]) ? $_POST['campos']["rg"] : ""; $PessoaFisicaTO->cpf = isset($_POST['campos']["cpf"]) ? $_POST['campos']["cpf"] : ""; $PessoaFisicaDao = new PessoaFisicaDao(); $PessoaFisicaTO->usuarios_id = $ClienteTO->id; if (!$PessoaFisicaDao->updatePessoaFisica($PessoaFisicaTO)) { Flight::halt(500, 'Erro ao atualizar o cliente'); } $validator->set_msg('Campo obrigatório')->set('nome', $ClienteTO->nome)->is_required(); if (!empty($ClienteTO->email)) { $validator->set_msg('Email inválido')->set('email', $ClienteTO->email)->is_email(); } $validator->set_msg('Campo obrigatório')->set('celular', $ClienteTO->celular)->is_required(); $validator->set_msg('Campo obrigatório')->set('tel_fixo', $ClienteTO->tel_fixo)->is_required(); if (!(isset($empreendimentos) && is_array($empreendimentos) && count($empreendimentos) > 0)) { $validator->_errors['empreendimentos'][] = 'É obrigatório informar pelo menos um empreendimento'; } if (!$validator->validate()) { Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send(); return; } $result = $ClienteDao->ClienteUpdate($ClienteTO, $where); $EmpreendimentoDao = new EmpreendimentoDao(); $UsuarioEmpreendimentoTO = new UsuarioEmpreendimentoTO(); $UsuarioEmpreendimentoTO->id_usuario = $ClienteTO->id; $EmpreendimentoDao->delAllUsuarioEmp($UsuarioEmpreendimentoTO); if ($result) { $UsuarioEmpreendimentoTO->id_usuario = $ClienteTO->id; foreach ($empreendimentos as $key => $value) { $UsuarioEmpreendimentoTO->id_empreendimento = $value['id']; if (!$EmpreendimentoDao->saveUsuarioEmpreendimento($UsuarioEmpreendimentoTO)) { Flight::halt(500, 'erro ao lincar usuario ao empreendimento'); } } Flight::response()->status(200)->header('Content-Type', 'application/json')->write(json_encode(array('id' => $ClienteTO->id)))->send(); } else { Flight::halt(500, 'Erro ao atualizar o cliente'); } }
public static function cadastroRapidoClientePedido() { $ClienteTO = new ClienteTO(); $PessoaFisicaTO = new PessoaFisicaTO(); $PessoaJuridicaTO = new PessoaJuridicaTO(); $ClienteDao = new ClienteDao(); $AutenticacaoTO = new AutenticacaoTO(); $validator = new DataValidator(); $ClienteTO->nome = isset($_POST["nome"]) ? $_POST["nome"] : ""; $ClienteTO->status = isset($_POST["status"]) ? $_POST["status"] : "1"; $ClienteTO->id_perfil = 6; $ClienteTO->id_empreendimento = isset($_POST["id_empreendimento"]) ? $_POST["id_empreendimento"] : NULL; $ClienteTO->email = isset($_POST["email"]) ? $_POST["email"] : ""; $ClienteTO->tel_fixo = isset($_POST["tel_fixo"]) ? $_POST["tel_fixo"] : NULL; $ClienteTO->celular = isset($_POST["celular"]) ? $_POST["celular"] : NULL; $ClienteTO->indicacao = isset($_POST["indicacao"]) ? $_POST["indicacao"] : NULL; $ClienteTO->id_como_encontrou = isset($_POST["id_como_encontrou"]) ? $_POST["id_como_encontrou"] : NULL; $ClienteTO->id = isset($_POST["id"]) ? $_POST["id"] : NULL; $tipo_cadastro = "pf"; $empreendimentos = isset($_POST['empreendimentos']) ? $_POST['empreendimentos'] : array(); $acao_cliente = isset($_POST['acao_cliente']) ? $_POST['acao_cliente'] : 'insert'; if ($acao_cliente == 'update') { $validator->set_msg('O ID do cliente é obrigatório')->set('id', $ClienteTO->id)->is_required(); } $validator->set_msg('O nome do cliente é obrigatório')->set('nome', $ClienteTO->nome)->is_required(); $validator->set_msg('informe o status do cliente')->set('status', $ClienteTO->status)->is_num(); $validator->set_msg('E-mail inválido')->set('email', $ClienteTO->email)->is_email(); $validator->set_msg('O número do Tel. Fixo é obrigatório')->set('tel_fixo', $ClienteTO->tel_fixo)->is_num(); $validator->set_msg('O codigo do empreendimento é obrigatório')->set('id_empreendimento', $ClienteTO->id_empreendimento)->is_required(); $validator->set_msg('O perfil é obrigatório')->set('id_perfil', $ClienteTO->id_perfil)->is_required(); if (!(isset($empreendimentos) && is_array($empreendimentos) && count($empreendimentos) > 0)) { $validator->_errors['empreendimentos'][] = 'É obrigatório informar pelo menos um empreendimento'; } if (!$validator->validate()) { Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send(); return; } if ($acao_cliente == 'insert') { $last_id = $ClienteDao->saveCliente($ClienteTO); } if ($acao_cliente == 'update') { $last_id = $ClienteDao->updateCliente($ClienteTO); } $EmpreendimentoDao = new EmpreendimentoDao(); $UsuarioEmpreendimentoTO = new UsuarioEmpreendimentoTO(); if ($last_id && $acao_cliente == "insert") { $UsuarioEmpreendimentoTO->id_usuario = $last_id; $EmpreendimentoDao->delAllUsuarioEmp($UsuarioEmpreendimentoTO); if ($tipo_cadastro == "pf") { $PessoaFisicaDao = new PessoaFisicaDao(); $PessoaFisicaTO->usuarios_id = $last_id; if (!$PessoaFisicaDao->savePessoaFisica($PessoaFisicaTO)) { Flight::halt(500, 'Erro ao cadastrar o cliente PF'); } } else { if ($tipo_cadastro == "pj") { $PessoaJuridicaDao = new PessoaJuridicaDao(); $PessoaJuridicaTO->usuarios_id = $last_id; if (!$PessoaJuridicaDao->savePessoaJuridica($PessoaJuridicaTO)) { Flight::halt(500, 'Erro ao cadastrar o cliente PJ'); } } } $UsuarioEmpreendimentoTO->id_usuario = $last_id; foreach ($empreendimentos as $key => $value) { $UsuarioEmpreendimentoTO->id_empreendimento = $value['id']; if (!$EmpreendimentoDao->saveUsuarioEmpreendimento($UsuarioEmpreendimentoTO)) { Flight::halt(500, 'erro ao lincar usuario ao empreendimento'); } } Flight::response()->status(201)->header('Content-Type', 'application/json')->write(json_encode(array('id_cliente' => $last_id)))->send(); } else { if ($last_id == false) { Flight::halt(500, 'Erro ao cadastrar o cliente'); } else { Flight::response()->status(200)->header('Content-Type', 'application/json')->write(json_encode(array('id_cliente' => $ClienteTO->id)))->send(); } } }
public static function save($isIndividual) { $ConfiguracaoDao = new ConfiguracaoDao(); if ($isIndividual === "true") { if ($ConfiguracaoDao->existsKey($_POST['nome'], $_POST['id_empreendimento'])) { if (!$ConfiguracaoDao->updateKey($_POST['nome'], $_POST['valor'], $_POST['id_empreendimento'])) { Flight::halt(500, 'erro ao atualizar chave de configuração'); } } else { if (!$ConfiguracaoDao->saveKey($_POST['nome'], $_POST['valor'], $_POST['id_empreendimento'])) { Flight::halt(500, 'erro ao cadastrar chave de configuração'); } } } else { $chaves = isset($_POST['chaves']) ? $_POST['chaves'] : null; if ($chaves == null) { Flight::halt(406); } $id_empreendimento = $chaves[0]['id_empreendimento']; foreach ($chaves as $key => $value) { $nome = isset($value['nome']) ? $value['nome'] : NULL; $valor = isset($value['valor']) ? $value['valor'] : NULL; $id_empreendimento = isset($value['id_empreendimento']) ? $value['id_empreendimento'] : NULL; if ($nome === "id_plano_caixa") { $cfg = $ConfiguracaoDao->getConfiguracoes($id_empreendimento, "id_plano_caixa"); if ($cfg && $cfg != null) { $pgtoClienteDao = new PagamentoClienteDao(); $pgtoClienteDao->updatePlanoContaPagamento($id_empreendimento, $cfg['id_plano_caixa'], $valor); $pgtoFornecedorDao = new PagamentoFornecedorDao(); $pgtoFornecedorDao->updatePlanoContaPagamento($id_empreendimento, $cfg['id_plano_caixa'], $valor); } } if ($nome === "id_plano_fechamento_caixa") { $cfg = $ConfiguracaoDao->getConfiguracoes($id_empreendimento, "id_plano_fechamento_caixa"); if ($cfg && $cfg != null) { $pgtoClienteDao = new PagamentoClienteDao(); $pgtoClienteDao->updatePlanoContaPagamento($id_empreendimento, $cfg['id_plano_fechamento_caixa'], $valor); $pgtoFornecedorDao = new PagamentoFornecedorDao(); $pgtoFornecedorDao->updatePlanoContaPagamento($id_empreendimento, $cfg['id_plano_fechamento_caixa'], $valor); } } if ($ConfiguracaoDao->existsKey($nome, $value['id_empreendimento'])) { if (!$ConfiguracaoDao->updateKey($nome, $valor, $id_empreendimento)) { Flight::halt(500, 'erro ao atualizar chave de configuração'); } } else { if (!$ConfiguracaoDao->saveKey($nome, $valor, $id_empreendimento)) { Flight::halt(500, 'erro ao cadastrar chave de configuração'); } } } if (!$ConfiguracaoDao->existsKey('id_fornecedor_movimentacao_caixa', $value['id_empreendimento'])) { $FornecedorTO = new FornecedorTO(); $FornecedorDao = new FornecedorDao(); $FornecedorTO->nome_fornecedor = 'fornecedor de movimentação de caixa'; $FornecedorTO->id_empreendimento = $value['id_empreendimento']; $id_fornecedor = $FornecedorDao->saveFornecedor($FornecedorTO); if ($id_fornecedor) { if (!$ConfiguracaoDao->saveKey('id_fornecedor_movimentacao_caixa', $id_fornecedor, $value['id_empreendimento'])) { Flight::halt(500, 'erro ao cadastrar chave de movimentação'); } } else { Flight::halt(500, 'erro ao inserir Fornecedor de movimentação'); } } if (!$ConfiguracaoDao->existsKey('id_cliente_movimentacao_caixa', $value['id_empreendimento'])) { $ClienteTO = new ClienteTO(); $ClienteDao = new ClienteDao(); $ClienteTO->nome = 'cliente de movimentação de caixa'; $id_cliente = $ClienteDao->saveCliente($ClienteTO); if (!$id_cliente) { Flight::halt(500, 'erro ao inserir cliente de movimentação'); } $EmpreendimentoDao = new EmpreendimentoDao(); $UsuarioEmpreendimentoTO = new UsuarioEmpreendimentoTO(); $UsuarioEmpreendimentoTO->id_usuario = $id_cliente; $UsuarioEmpreendimentoTO->id_empreendimento = $value['id_empreendimento']; if (!$EmpreendimentoDao->saveUsuarioEmpreendimento($UsuarioEmpreendimentoTO)) { Flight::halt(500, 'erro ao lincar usuario ao empreendimento'); } if (!$ConfiguracaoDao->saveKey('id_cliente_movimentacao_caixa', $id_cliente, $value['id_empreendimento'])) { Flight::halt(500, 'erro ao cadastrar chave de movimentação'); } } } Flight::halt(201); }
public static function calculaNfe() { $id_empreendimento = $_POST['id_empreendimento']; $id_venda = $_POST['id_venda']; $cod_operacao = $_POST['cod_operacao']; $VendaDao = new VendaDao(); $UsuarioDao = new UsuarioDao(); $ItemVendaDao = new ItemVendaDao(); $EmpreendimentoDao = new EmpreendimentoDao(); $OperacaoDao = new OperacaoDao(); $ProdutoDao = new ProdutoDao(); $EstadoDao = new EstadoDao(); $CidadeDao = new CidadeDao(); $ConfiguracaoDao = new ConfiguracaoDao(); $SerieDocumentoFiscalDao = new SerieDocumentoFiscalDao(); /** * Carregando dados da venda **/ $venda = $VendaDao->getVenda($id_venda); $venda['itens'] = $ItemVendaDao->getItens($id_venda); $venda['cliente'] = $UsuarioDao->getUsuario($id_empreendimento, $venda['id_cliente']); if (isset($venda['cliente']['id_cidade']) && !empty($venda['cliente']['id_cidade'])) { $cidadeDestinatario = $CidadeDao->getCidade($venda['cliente']['id_cidade']); $estadoDestinatario = $EstadoDao->getEstado($venda['cliente']['id_estado']); } else { Flight::halt(406, json_encode(array('mensagem' => 'Estado/Cidade não informado no cadastro do cliente!'))); } $venda['empreendimento'] = $EmpreendimentoDao->getEmpreendimentoByIdAndUF($id_empreendimento, $estadoDestinatario['uf']); $cidadeEmitente = $CidadeDao->getCidade($venda['empreendimento']['cod_cidade']); $estadoEmitente = $EstadoDao->getEstado($venda['empreendimento']['cod_estado']); $venda['operacao'] = $OperacaoDao->getOperacao($cod_operacao); $configuracoes = $ConfiguracaoDao->getConfiguracoes($id_empreendimento); if (!isset($configuracoes['id_serie_padrao_nfe'])) { $erros = array("mensagem" => "Configuração \"Modelo Documento/Série Padrão p/ NF-e\" não encontrada"); Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($erros))->send(); } $SerieDocumentoFiscal = $SerieDocumentoFiscalDao->getByID($configuracoes['id_serie_padrao_nfe']); $dados_emissao = new stdClass(); $dados_emissao->dsc_operacao = $venda['operacao']['dsc_operacao']; $dados_emissao->serie_documento_fiscal = $SerieDocumentoFiscal['serie_documento_fiscal']; $dados_emissao->num_documento_fiscal = $SerieDocumentoFiscal['num_ultimo_documento_fiscal']++; $dados_emissao->cod_venda = $id_venda; $dados_emissao->cod_empreendimento = $id_empreendimento; $dados_emissao->nme_modelo_documento = $SerieDocumentoFiscal['dsc_modelo_documento_fiscal']; /** * Configurando os dados do emitente **/ $emitente = new MotorFiscal\Emitente(); $emitente->identificador = $venda['empreendimento']['id']; $emitente->CNPJ = $venda['empreendimento']['num_cnpj']; $emitente->xNome = $venda['empreendimento']['nme_razao_social']; $emitente->xFant = $venda['empreendimento']['nme_fantasia']; $emitente->IE = $venda['empreendimento']['num_inscricao_estadual']; $emitente->IEST = $venda['empreendimento']['num_inscricao_estadual_st']; $emitente->CRT = $venda['empreendimento']['num_regime_tributario']; $emitente->PercCreditoSimples = $venda['empreendimento']['num_percentual_credito_simples']; $emitente->CEP = $venda['empreendimento']['num_cep']; $emitente->xLgr = $venda['empreendimento']['nme_logradouro']; $emitente->nro = $venda['empreendimento']['num_logradouro']; $emitente->xBairro = $venda['empreendimento']['nme_bairro_logradouro']; $emitente->cMun = $cidadeEmitente['nome']; $emitente->UF = $estadoEmitente['uf']; $emitente->id_cidade = $cidadeEmitente['id']; $emitente->id_estado = $estadoEmitente['id']; $emitente->ContribuinteIPI = $venda['empreendimento']['flg_contribuinte_ipi']; $emitente->num_versao_ibpt = $configuracoes['num_versao_ibpt']; /** * Configurando os dados do destinatário **/ $destinatario = new MotorFiscal\Destinatario(); $destinatario->identificador = $venda['cliente']['id']; $destinatario->CPF = $venda['cliente']['cpf']; $destinatario->idEstrangeiro = $venda['cliente']['num_registro_estrangeiro']; $destinatario->xNome = $venda['cliente']['nome']; $destinatario->email = $venda['cliente']['email']; $destinatario->tipo_cadastro = $venda['cliente']['tipo_cadastro']; $destinatario->CEP = $venda['cliente']['cep']; $destinatario->xLgr = $venda['cliente']['endereco']; $destinatario->nro = $venda['cliente']['numero']; $destinatario->xBairro = $venda['cliente']['bairro']; $destinatario->cMun = $cidadeDestinatario['nome']; $destinatario->UF = $estadoDestinatario['uf']; $destinatario->id_cidade = $cidadeDestinatario['id']; $destinatario->id_estado = $estadoDestinatario['id']; if ($venda['cliente']['tipo_cadastro'] === "pj") { $destinatario->CNPJ = $venda['cliente']['cnpj']; $destinatario->IE = $venda['cliente']['inscricao_estadual']; $destinatario->IEST = $venda['cliente']['inscricao_estadual_st']; $destinatario->IM = $venda['cliente']['num_inscricao_municipal']; $destinatario->xFant = $venda['cliente']['nome_fantasia']; if ((int) $venda['cliente']['flg_contribuinte_icms'] === 1) { // Se for contribuinte de ICMS if ((int) $venda['cliente']['flg_isento_inscricao_estadual'] === 1) { // Se for contribuinte de ICMS ISENTO de incrição $destinatario->indIEDest = 2; } else { $destinatario->indIEDest = 1; } //É contribuinte mas não é ISENTO. } else { $destinatario->indIEDest = 9; } // Se não não é contribuinte do ICMS então ele é igual a nove. } /** * Configurando os dados da operação **/ $operacao = new stdClass(); $operacao->identificador = $venda['operacao']['cod_operacao']; $operacao->CFOPMercadoria = $venda['operacao']['num_cfop_mercadoria']; $operacao->CFOPMercadoriaST = $venda['operacao']['num_cfop_mercadoria_st']; $operacao->CFOPMercadoriaSTSubstituido = $venda['operacao']['num_cfop_mercadoria_st_subst']; $operacao->CFOPProduto = $venda['operacao']['num_cfop_produto']; $operacao->CFOPProdutoST = $venda['operacao']['num_cfop_produto_st']; $operacao->TipoOperacao = 0; $operacao->identificacao = 0; $operacao->finalidade = 0; $operacao->indFinal = 0; $operacao->indPres = 0; $operacao->NaturezaOperacao = ''; /** * Configurando os parâmetros da NF-e **/ self::$NF = new MotorFiscal\DocumentoFiscal($emitente, $destinatario, $operacao); self::$NF->buscaTribFunctionICMS = function ($produto, $operacao, $emitente, $destinatario) { return Trib::ICMS($produto, $operacao, $emitente, $destinatario); }; self::$NF->buscaTribFunctionIPI = function ($produto, $operacao, $emitente, $destinatario) { return Trib::IPI($produto, $operacao, $emitente, $destinatario); }; self::$NF->buscaTribFunctionPIS = function ($produto, $operacao, $emitente, $destinatario) { return Trib::PIS($produto, $operacao, $emitente, $destinatario); }; self::$NF->buscaTribFunctionCOFINS = function ($produto, $operacao, $emitente, $destinatario) { return Trib::COFINS($produto, $operacao, $emitente, $destinatario); }; self::$NF->buscaTribFunctionIBPT = function ($produto, $emitente, $detinatario) { return Trib::IBPT($produto, $emitente, $detinatario); }; self::$NF->itens = array(); // Configurando produtos e calculando impostos foreach ($venda['itens'] as $key => $item) { $item['data'] = $ProdutoDao->getProduto($item['id_produto'], $id_empreendimento); $produto = new MotorFiscal\Produto(); $produto->identificador = $item['data']['id_produto']; $produto->cProd = $item['data']['id']; $produto->cEAN = $item['data']['codigo_barra']; $produto->xProd = $item['data']['nome']; $produto->NCM = $item['data']['cod_ncm']; $produto->EXTIPI = $item['data']['ex_tipi']; $produto->CEST = $item['data']['num_cest']; $produto->uCom = $item['data']['dsc_unidade_medida']; $produto->qCom = $item['qtd']; $produto->vUnCom = $item['vlr_produto']; $produto->cEANTrib = $item['data']['codigo_barra']; $produto->uTrib = $item['data']['dsc_unidade_medida']; $produto->qTrib = $item['qtd']; $produto->vUnTrib = $item['vlr_produto']; $produto->TipoTributacaoIPI = $item['data']['TipoTributacaoIPI']; $produto->FormaAquisicao = $item['data']['FormaAquisicao']; $produto->vProd = $item['qtd'] * $item['vlr_produto']; $produto->vDesc = $item['qtd'] * $item['valor_desconto_real']; // TODO: Dúvidas para sanar com Fischer $produto->NVE = 0; // Como preencher? $produto->CFOP = 0; // Como preencher? $produto->indTot = 1; // Como preencher? $produto->vFrete = 0; // Como preencher? $produto->vOutro = 0; // Como preencher? $produto->vSeg = 0; // Como preencher? $item = self::$NF->addItem($produto); $venda['itens'][$key] = $item; } // Consolidando e totalizando self::$NF->totalizarDocumento(); $dadosNf = array('informacoes_adicionais_contribuinte' => $_POST['informacoes_adicionais_contribuinte'], 'dados_emissao' => $dados_emissao, 'emitente' => $emitente, 'destinatario' => $destinatario, 'itens' => self::$NF->itens, 'ICMSTot' => self::$NF->ICMSTot); Flight::json($dadosNf); }
public static function getTransferencia($id_transferencia) { $TransferenciaEstoqueDao = new TransferenciaEstoqueDao(); $ItemTransferenciaEstoqueDao = new ItemTransferenciaEstoqueDao(); $EmpreendimentoDao = new EmpreendimentoDao(); $transferencia = $TransferenciaEstoqueDao->getTransferencias(null, null, array('tte.id' => $id_transferencia)); if ($transferencia) { $transferencia = $transferencia[0]; $transferencia['itens'] = $ItemTransferenciaEstoqueDao->getItensTransferencia(null, null, array('tte.id' => $id_transferencia)); $transferencia['empreendimento_transferencia'] = $EmpreendimentoDao->getEmpreendimentoById($transferencia['id_empreendimento_transferencia']); $transferencia['empreendimento_pedido'] = $EmpreendimentoDao->getEmpreendimentoById($transferencia['id_empreendimento_pedido']); Flight::json($transferencia); } else { Flight::halt(404, 'Não há resultado para a busca'); } }