public static function updateStatus($idNotaFiscal, $id_empreendimento) { try { $NotaFiscalDao = new NotaFiscalDao(); $ConfiguracaoDao = new ConfiguracaoDao(); $conf = $ConfiguracaoDao->getConfiguracoes($id_empreendimento); $flg_ambiente_nfe = isset($conf['flg_ambiente_nfe']) && ((int) $conf['flg_ambiente_nfe'] == 1 || (int) $conf['flg_ambiente_nfe'] == 0) ? (int) $conf['flg_ambiente_nfe'] : 0; $tokens['token_focus_producao'] = isset($conf['token_focus_producao']) ? $conf['token_focus_producao'] : ''; $tokens['token_focus_homologacao'] = isset($conf['token_focus_homologacao']) ? $conf['token_focus_homologacao'] : ''; $NfeDao = new NfeDao($flg_ambiente_nfe, $tokens); $NfeDao->id_ref = $idNotaFiscal; $retornoParceiro = $NfeDao->buscaNfe(); $nfTO = new stdClass(); $nfTO->cod_nota_fiscal = $idNotaFiscal; $nfTO->status = $retornoParceiro->status; $nfTO->status_sefaz = $retornoParceiro->status_sefaz; $nfTO->mensagem_sefaz = $retornoParceiro->mensagem_sefaz; $nfTO->status_sefaz_cancelamento = isset($retornoParceiro->status_sefaz_cancelamento) ? $retornoParceiro->status_sefaz_cancelamento : NULL; $nfTO->mensagem_sefaz_cancelamento = isset($retornoParceiro->mensagem_sefaz_cancelamento) ? $retornoParceiro->mensagem_sefaz_cancelamento : NULL; $nfTO->caminho_xml_cancelamento = isset($retornoParceiro->caminho_xml_cancelamento) ? substr($NfeDao->server, 0, -1) . $retornoParceiro->caminho_xml_cancelamento : NULL; if ($nfTO->status == 'autorizado') { $nfTO->serie = $retornoParceiro->serie; $nfTO->numero = $retornoParceiro->numero; $nfTO->chave_nfe = $retornoParceiro->chave_nfe; $nfTO->caminho_xml_nota_fiscal = substr($NfeDao->server, 0, -1) . $retornoParceiro->caminho_xml_nota_fiscal; $nfTO->caminho_danfe = substr($NfeDao->server, 0, -1) . $retornoParceiro->caminho_danfe; } $NotaFiscalDao->updateNota($nfTO); $notaAtualizada = $NotaFiscalDao->getNota($idNotaFiscal); Flight::json($notaAtualizada); } catch (Exception $e) { jsonException($e); } }
public static function abrirCaixaPedido($id_caixa, $id_empreendimento) { $AberturaCaixaDao = new AberturaCaixaDao(); $AberturaCaixaTO = new AberturaCaixaTO(); $ConfiguracaoDao = new ConfiguracaoDao(); $caixa_aberto = $AberturaCaixaDao->caixaAberto(array('abt.id_caixa' => $id_caixa, "abt.id_empreendimento" => $id_empreendimento, "date_format(abt.dta_abertura,'%Y-%m-%d')" => array('exp' => "< '" . date('Y-m-d') . "' AND abt.dta_fechamento IS NULL"))); if ($caixa_aberto) { $MovimentacaoCaixaDao = new MovimentacaoCaixaDao(); $configuracao = $ConfiguracaoDao->getConfiguracoes($id_empreendimento); $result = $MovimentacaoCaixaDao->fechamentoCaixa($caixa_aberto['id'], $configuracao['id_conta_bancaria_padrao_fechamento_automatico'], date('Y-m-d 23:59:59', strtotime($caixa_aberto['dta_abertura']))); if (!$result) { Flight::halt(500, 'Erro ao fechar o caixa'); } } $caixa_aberto = $AberturaCaixaDao->caixaAberto(array('abt.id_caixa' => $id_caixa, "abt.id_empreendimento" => $id_empreendimento, "date_format(abt.dta_abertura,'%Y-%m-%d')" => array('exp' => "='" . date('Y-m-d') . "' AND abt.dta_fechamento IS NULL"))); $config = $ConfiguracaoDao->getConfiguracoes($id_empreendimento); if ($caixa_aberto) { $ConfiguracaoDao = new ConfiguracaoDao(); Flight::response()->status(200)->header('Content-Type', 'application/json')->write(json_encode(array_merge($caixa_aberto, $config)))->send(); } $AberturaCaixaTO->id_caixa = $id_caixa; $AberturaCaixaTO->dta_fechamento = NULL; $AberturaCaixaTO->id_empreendimento = $id_empreendimento; if ($AberturaCaixaDao->abrirCaixa($AberturaCaixaTO)) { $caixa_aberto = $AberturaCaixaDao->caixaAberto(array('abt.id_caixa' => $id_caixa, "abt.id_empreendimento" => $id_empreendimento, "date_format(abt.dta_abertura,'%Y-%m-%d')" => array('exp' => "='" . date('Y-m-d') . "' AND abt.dta_fechamento IS NULL"))); Flight::response()->status(201)->header('Content-Type', 'application/json')->write(json_encode(array_merge($caixa_aberto, $config)))->send(); } else { Flight::response()->status(404)->header('Content-Type', 'application/json')->write(json_encode(array('msg' => 'Ocorreu um erro inesperado ao abrir o caixa')))->send(); } }
public function setTimeZone($id_empreendimento) { $ConfiguracaoDao = new ConfiguracaoDao(); $conf = $ConfiguracaoDao->getConfiguracoes($id_empreendimento); $time_zone = $conf['time_zone']; date_default_timezone_set($time_zone); }
public static function saveEmpreendimento() { date_default_timezone_set('America/Sao_Paulo'); // Preparando objetos $EmpreendimentoTO = new EmpreendimentoTO(); $EmpreendimentoTO->nome_empreendimento = isset($_POST['nome_empreendimento']) ? $_POST['nome_empreendimento'] : ''; $EmpreendimentoTO->flg_teste = isset($_POST['flg_teste']) && ((int) $_POST['flg_teste'] == 1 || (int) $_POST['flg_teste'] == 0) ? (int) $_POST['flg_teste'] : NULL; $EmpreendimentoTO->qtd_dias_teste = isset($_POST['qtd_dias_teste']) ? $_POST['qtd_dias_teste'] : NULL; $EmpreendimentoTO->dta_cadastro = date('Y-m-d H:i:s'); $EmpreendimentoTO->num_cnpj = isset($_POST['num_cnpj']) ? $_POST['num_cnpj'] : ''; $EmpreendimentoTO->num_inscricao_estadual = isset($_POST['num_inscricao_estadual']) ? $_POST['num_inscricao_estadual'] : ''; $EmpreendimentoTO->nme_razao_social = isset($_POST['nme_razao_social']) ? $_POST['nme_razao_social'] : ''; $EmpreendimentoTO->nme_fantasia = isset($_POST['nme_fantasia']) ? $_POST['nme_fantasia'] : ''; $EmpreendimentoTO->nme_logradouro = isset($_POST['nme_logradouro']) ? $_POST['nme_logradouro'] : ''; $EmpreendimentoTO->num_logradouro = isset($_POST['num_logradouro']) ? $_POST['num_logradouro'] : ''; $EmpreendimentoTO->nme_bairro_logradouro = isset($_POST['nme_bairro_logradouro']) ? $_POST['nme_bairro_logradouro'] : ''; $EmpreendimentoTO->cod_cidade = isset($_POST['cod_cidade']) ? $_POST['cod_cidade'] : NULL; $EmpreendimentoTO->cod_estado = isset($_POST['cod_estado']) ? $_POST['cod_estado'] : NULL; $EmpreendimentoTO->cod_regime_tributario = isset($_POST['cod_regime_tributario']) && is_numeric($_POST["cod_regime_tributario"]) ? $_POST['cod_regime_tributario'] : NULL; $EmpreendimentoTO->cod_regime_pis_cofins = isset($_POST['cod_regime_pis_cofins']) && is_numeric($_POST["cod_regime_pis_cofins"]) ? $_POST['cod_regime_pis_cofins'] : NULL; $EmpreendimentoTO->cod_tipo_empresa = isset($_POST['cod_tipo_empresa']) && is_numeric($_POST["cod_tipo_empresa"]) ? $_POST['cod_tipo_empresa'] : NULL; $EmpreendimentoTO->flg_contribuinte_icms = isset($_POST['flg_contribuinte_icms']) ? (int) $_POST['flg_contribuinte_icms'] : 0; $EmpreendimentoTO->flg_contribuinte_ipi = isset($_POST['flg_contribuinte_ipi']) ? (int) $_POST['flg_contribuinte_ipi'] : 0; $EmpreendimentoTO->cod_zoneamento = isset($_POST['cod_zoneamento']) && is_numeric($_POST["cod_zoneamento"]) ? $_POST['cod_zoneamento'] : NULL; $EmpreendimentoTO->num_percentual_credito_simples = isset($_POST['num_percentual_credito_simples']) && is_numeric($_POST["num_percentual_credito_simples"]) ? $_POST['num_percentual_credito_simples'] : NULL; $EmpreendimentoTO->num_cep = isset($_POST['num_cep']) ? $_POST['num_cep'] : NULL; $EmpreendimentoTO->num_inscricao_estadual_st = isset($_POST['num_inscricao_estadual_st']) ? $_POST['num_inscricao_estadual_st'] : NULL; $UsuarioEmpreendimentoTO = new UsuarioEmpreendimentoTO(); $UsuarioEmpreendimentoTO->id_usuario = isset($_POST['id_usuario']) ? $_POST['id_usuario'] : ''; $regime_especial = isset($_POST['regime_especial']) ? $_POST['regime_especial'] : array(); // Validação de campos obrigatórios $validator = new DataValidator(); $validator->set_msg('O nome do Empreendimento é obrigatório')->set('nome_empreendimento', $EmpreendimentoTO->nome_empreendimento)->is_required(); $validator->set_msg('O ID do usuario é obrigatório')->set('id_usuario', $UsuarioEmpreendimentoTO->id_usuario)->is_required(); if ($EmpreendimentoTO->flg_teste == 1) { $validator->set_msg('A quantidade de dias para teste é obrigatória')->set('qtd_dias_teste', $EmpreendimentoTO->qtd_dias_teste)->is_required()->set_msg('Este campo é obrigatóriamente numérico')->is_num()->set_msg('Este campo deve ser obrigatóriamente maior que 0 (zero)')->min_value(1, true); } else { $EmpreendimentoTO->qtd_dias_teste = null; } if (!$validator->validate()) { Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send(); return; } try { $EmpreendimentoDao = new EmpreendimentoDao(); $last_id_empreendimento = $EmpreendimentoDao->saveEmpreendimento($EmpreendimentoTO); if (!$last_id_empreendimento) { Flight::halt(500, 'erro ao salvar empreendimento'); } else { $RegimeEspecialDao = new RegimeEspecialDao(); $RegimeEspecialDao->saveRegimeEmpreendimento($regime_especial, $last_id_empreendimento); $arrConfigs = array(); $arrConfigs['id_plano_fechamento_caixa'] = "-1"; $arrConfigs['id_plano_caixa'] = "-1"; $arrConfigs['id_fornecedor_movimentacao_caixa'] = "-1"; $arrConfigs['id_cliente_movimentacao_caixa'] = "-1"; $arrConfigs['path_logo_rel'] = "-1"; $arrConfigs['id_produto_debito_anterior_cliente'] = "-1"; $arrConfigs['id_conta_bancaria_padrao_fechamento_automatico'] = "-1"; $arrConfigs['id_usuario_venda_vitrine'] = "-1"; $arrConfigs['time_zone'] = "America/Sao_Paulo"; // salvar id_cliente_movimentacao_caixa = CLIENTE LOJA FÍSICA $cliMovCaixaTO = new ClienteTO(); $cliMovCaixaTO->nome = "CLIENTE LOJA FÍSICA"; $cliMovCaixaTO->id_perfil = 6; $cliMovCaixaTO->id_empreendimento = $last_id_empreendimento; $cliMovCaixaDao = new ClienteDao(); $last_id_cliMovCaixa = $cliMovCaixaDao->saveCliente($cliMovCaixaTO); if (!$last_id_cliMovCaixa) { Flight::halt(500, 'erro ao criar [CLIENTE LOJA FÍSICA] padrão para o empreendimento [$last_id_empreendimento]'); } $UsuarioEmpreendimentoTO->id_usuario = $last_id_cliMovCaixa; $UsuarioEmpreendimentoTO->id_empreendimento = $last_id_empreendimento; if (!$EmpreendimentoDao->saveUsuarioEmpreendimento($UsuarioEmpreendimentoTO)) { Flight::halt(500, 'erro ao associar [CLIENTE LOJA FÍSICA] ao empreendimento'); } $arrConfigs['id_cliente_movimentacao_caixa'] = $last_id_cliMovCaixa; // salvar id_usuario_venda_vitrine = CLIENTE LOJA VIRTUAL $cliVenVitrineTO = new ClienteTO(); $cliVenVitrineTO->nome = "CLIENTE LOJA VIRTUAL"; $cliVenVitrineTO->id_perfil = 6; $cliVenVitrineTO->id_empreendimento = $last_id_empreendimento; $cliVenVitrineDao = new ClienteDao(); $last_id_cliVenVitrine = $cliVenVitrineDao->saveCliente($cliVenVitrineTO); if (!$last_id_cliVenVitrine) { Flight::halt(500, 'erro ao criar [CLIENTE LOJA VIRTUAL] padrão para o empreendimento [$last_id_empreendimento]'); } $UsuarioEmpreendimentoTO->id_usuario = $last_id_cliVenVitrine; $UsuarioEmpreendimentoTO->id_empreendimento = $last_id_empreendimento; if (!$EmpreendimentoDao->saveUsuarioEmpreendimento($UsuarioEmpreendimentoTO)) { Flight::halt(500, 'erro ao associar [CLIENTE LOJA VIRTUAL] ao empreendimento'); } $arrConfigs['id_usuario_venda_vitrine'] = $last_id_cliVenVitrine; // salvar id_fornecedor_movimentacao_caixa = CLIENTE LOJA FÍSICA $forMovCaixaTO = new FornecedorTO(); $forMovCaixaTO->nome_fornecedor = "FORNECEDOR MOVIMENTACÃO DE CAIXA "; $forMovCaixaTO->id_empreendimento = $last_id_empreendimento; $forMovCaixaDao = new FornecedorDao(); $last_id_forMovCaixa = $forMovCaixaDao->saveFornecedor($forMovCaixaTO); if (!$last_id_forMovCaixa) { Flight::halt(500, 'erro ao criar [CLIENTE LOJA VIRTUAL] padrão para o empreendimento [$last_id_empreendimento]'); } $arrConfigs['id_fornecedor_movimentacao_caixa'] = $last_id_forMovCaixa; // id_produto_debito_anterior_cliente = DÉBITO ANTERIOR $prodDebAnteriorTO = new ProdutoTO(); $prodDebAnteriorTO->nome = "DÉBITO ANTERIOR"; $prodDebAnteriorDao = new ProdutoDao(); $last_id_prodDebAnterior = $prodDebAnteriorDao->saveProduto($prodDebAnteriorTO); if (!$last_id_prodDebAnterior) { Flight::halt(500, 'erro ao criar [DÉBITO ANTERIOR] padrão para o empreendimento [$last_id_empreendimento]'); } $ProdutoEmpreendimentoTO = new ProdutoEmpreendimentoTO(); $ProdutoEmpreendimentoTO->id_produto = $last_id_prodDebAnterior; $ProdutoEmpreendimentoTO->id_empreendimento = $last_id_empreendimento; if (!$prodDebAnteriorDao->produtoEmpreendimento($ProdutoEmpreendimentoTO)) { Flight::halt(500, 'Erro ao associar o produto [DÉBITO ANTERIOR] o id_empreendimento'); } $arrConfigs['id_produto_debito_anterior_cliente'] = $last_id_prodDebAnterior; // id_conta_bancaria_padrao_fechamento_automatico = CAIXA INTERNO $ContaBancariaTO = new ContaBancariaTO(); $ContaBancariaDao = new ContaBancariaDao(); $ContaBancariaTO->dsc_conta_bancaria = 'Caixa interno'; $ContaBancariaTO->id_tipo_conta = 3; $ContaBancariaTO->id_empreendimento = $last_id_empreendimento; $ContaBancariaTO->id_banco = 104; $lastIdContaBancaria = $ContaBancariaDao->saveConta($ContaBancariaTO); if (!$lastIdContaBancaria) { Flight::halt(500, 'erro ao criar conta [CAIXA INTERNO] padrão para fechamento de caixa'); } $arrConfigs['id_conta_bancaria_padrao_fechamento_automatico'] = $lastIdContaBancaria; //Cadastrando Plano de contas if (!$EmpreendimentoDao->PlanoContaEmpreendimento($last_id_empreendimento)) { Flight::halt(500, 'erro ao criar Plano de contas'); } $arrConfigs['id_plano_caixa'] = $EmpreendimentoDao->getIdPlanoCaixa($last_id_empreendimento); $arrConfigs['id_plano_fechamento_caixa'] = $EmpreendimentoDao->getIdPlanoFechamentoCaixa($last_id_empreendimento); //Cadastrando cores if (!$EmpreendimentoDao->InsertCores($last_id_empreendimento)) { Flight::halt(500, 'erro ao criar cores'); } //Cadastrando chave de configurações foreach ($arrConfigs as $key => $value) { $configDao = new ConfiguracaoDao(); if (!$configDao->saveKey($key, $value, $last_id_empreendimento)) { Flight::halt(500, 'erro ao criar [$key][$value] padrão para o empreendimento [$last_id_empreendimento]'); die; } } $empreendimento_usuario = array(array('id_usuario' => 222, 'id_empreendimento' => $last_id_empreendimento), array('id_usuario' => 498, 'id_empreendimento' => $last_id_empreendimento)); foreach ($empreendimento_usuario as $key => $value) { $UsuarioEmpreendimentoTO->id_empreendimento = $value['id_empreendimento']; $UsuarioEmpreendimentoTO->id_usuario = $value['id_usuario']; if (!$EmpreendimentoDao->saveUsuarioEmpreendimento($UsuarioEmpreendimentoTO)) { Flight::halt(500, 'erro ao vincular usuarios ao empreendimento'); } } Flight::halt(201); } } catch (Exception $e) { Flight::halt(500, $e->getMessage()); } }
public function fechamentoCaixa($id_abertura_caixa, $id_conta_bancaria, $dta_fechamento) { $sql = "SELECT pg_venda.*,tcpv.dta_pagamento AS dta_entrada, mov_caixa.id AS id_mov, mov_caixa.id_venda FROM `tbl_movimentacao_caixa` AS mov_caixa\n\t\t\t\tINNER JOIN tbl_pagamentos_venda AS pg_venda ON mov_caixa.id_lancamento_entrada = pg_venda.id\n\t\t\t\tINNER JOIN tbl_controle_pagamento_venda AS tcpv ON pg_venda.id_controle_pagamento = tcpv.id\n\t\t\t\tWHERE mov_caixa.id_tipo_movimentacao != 2 AND mov_caixa.id_abertura_caixa = {$id_abertura_caixa}"; $select = $this->conn->prepare($sql); $select->execute(); $AberturaCaixaDao = new AberturaCaixaDao(); $ConfiguracaoDao = new ConfiguracaoDao(); $caixa = $AberturaCaixaDao->caixaAberto(array('abt.id' => $id_abertura_caixa)); $id_empreendimento = $caixa['id_empreendimento']; $id_caixa = $caixa['id_caixa']; $config = $ConfiguracaoDao->getConfiguracoes($id_empreendimento); $this->setTimeZone($id_empreendimento); //return $caixa; $id_plano_conta = $config['id_plano_fechamento_caixa']; $id_fornecedor = $config['id_fornecedor_movimentacao_caixa']; $AberturaCaixaDao = new AberturaCaixaDao(); $valor_dinheiro = $AberturaCaixaDao->vlrEmCaixa($id_abertura_caixa, 3); $valor_dinheiro = (double) $valor_dinheiro['vlr_em_caixa']; $lancamentos_entrada = $select->fetchAll(PDO::FETCH_ASSOC); $dta_fechamento = $dta_fechamento == null ? date('Y-m-d H:i:s') : $dta_fechamento; $valor_total_baixa = $AberturaCaixaDao->vlrEmCaixa($id_abertura_caixa); $valor_total_baixa = $valor_total_baixa['vlr_em_caixa']; $MaquinetaDao = new MaquinetaDao(); foreach ($lancamentos_entrada as $key => $value) { if ($value['id_forma_pagamento'] == 2 || $value['id_forma_pagamento'] == 3 || $value['id_forma_pagamento'] == 7 || $value['id_forma_pagamento'] == 4 || $value['id_forma_pagamento'] == 8 || $value['id_forma_pagamento'] == 9) { if ($value['id_forma_pagamento'] != 8) { $lancamentos_entrada[$key]['id_conta_bancaria'] = $id_conta_bancaria; } else { $lancamentos_entrada[$key]['id_conta_bancaria'] = $lancamentos_entrada[$key]['id_conta_transferencia_destino']; } $lancamentos_entrada[$key]['id_plano_conta'] = $id_plano_conta; } else { $maquineta = $MaquinetaDao->getMaquineta($lancamentos_entrada[$key]['id_maquineta']); $lancamentos_entrada[$key]['id_conta_bancaria'] = $maquineta['id_conta_bancaria']; $lancamentos_entrada[$key]['id_plano_conta'] = $id_plano_conta; } } $lancamentos_entrada_cc = array(); foreach ($lancamentos_entrada as $key => $value) { if ($value['id_forma_pagamento'] == 6 && empty($value['id_parcelamento'])) { $lancamentos_entrada_cc[] = $value; unset($lancamentos_entrada[$key]); } } $cc_parcelas = array(); foreach ($lancamentos_entrada_cc as $key => $value) { $parcelas_atuais = array('id_forma_pagamento' => $value['id_forma_pagamento'], 'id_controle_pagamento' => $value['id_controle_pagamento'], 'dta_entrada' => $value['dta_entrada'], 'parcelas' => array($value)); foreach ($lancamentos_entrada as $i => $v) { if ($value['id'] == $v['id_parcelamento']) { $parcelas_atuais['parcelas'][] = $v; unset($lancamentos_entrada[$i]); } } $cc_parcelas[] = $parcelas_atuais; } foreach ($cc_parcelas as $key => $value) { $lancamentos_entrada[] = $value; } $ControlePagamentoVendaDao = new ControlePagamentoVendaDao(); $lancamentos_controle = array(); foreach ($lancamentos_entrada as $key => $value) { if (isset($lancamentos_controle[$value['id_controle_pagamento']])) { $lancamentos_controle[$value['id_controle_pagamento']][] = $value; } else { $lancamentos_controle[$value['id_controle_pagamento']] = array(); $lancamentos_controle[$value['id_controle_pagamento']][] = $value; $lancamentos_controle[$value['id_controle_pagamento']]['dta_entrada'] = $value['dta_entrada']; } } foreach ($lancamentos_controle as $key_cp => $value_cp) { $id_controle_pagamento = $ControlePagamentoVendaDao->saveControlePagamento($value_cp['dta_entrada']); unset($value_cp['dta_entrada']); foreach ($value_cp as $key => $value) { if ($value['id_forma_pagamento'] != 6) { $value['id_banco'] = is_numeric($value['id_banco']) ? "'" . $value['id_banco'] . "'" : 'NULL'; $value['id_maquineta'] = is_numeric($value['id_maquineta']) ? "'" . $value['id_maquineta'] . "'" : 'NULL'; $value['num_conta_corrente'] = !empty($value['num_conta_corrente']) ? "'" . $value['num_conta_corrente'] . "'" : 'NULL'; $value['num_cheque'] = !empty($value['num_cheque']) ? "'" . $value['num_cheque'] . "'" : 'NULL'; $value['flg_cheque_predatado'] = !empty($value['flg_cheque_predatado']) ? "'" . $value['flg_cheque_predatado'] . "'" : 'NULL'; $value['taxa_maquineta'] = !empty($value['taxa_maquineta']) ? "'" . $value['taxa_maquineta'] . "'" : 'NULL'; $value['id_vale_troca'] = !empty($value['id_vale_troca']) ? "'" . $value['id_vale_troca'] . "'" : 'NULL'; $value['doc_boleto'] = !empty($value['doc_boleto']) ? "'" . $value['doc_boleto'] . "'" : 'NULL'; $value['num_boleto'] = !empty($value['num_boleto']) ? "'" . $value['num_boleto'] . "'" : 'NULL'; $value['agencia_transferencia'] = !empty($value['agencia_transferencia']) ? "'" . $value['agencia_transferencia'] . "'" : 'NULL'; $value['conta_transferencia'] = !empty($value['conta_transferencia']) ? "'" . $value['conta_transferencia'] . "'" : 'NULL'; $value['proprietario_conta_transferencia'] = !empty($value['proprietario_conta_transferencia']) ? "'" . $value['proprietario_conta_transferencia'] . "'" : 'NULL'; $value['id_conta_transferencia_destino'] = !empty($value['id_conta_transferencia_destino']) ? "'" . $value['id_conta_transferencia_destino'] . "'" : 'NULL'; $value['obs_pagamento'] = "Pagamento proveniente de um fechamento de caixa"; $sql_update_lancamento = "UPDATE tbl_pagamentos_venda SET flg_caixa_fechado = 1 WHERE id = " . $value['id']; $slq_lancamentos_entrada = " INSERT INTO tbl_pagamentos_venda ( `id_cliente`,`id_controle_pagamento` , `id_forma_pagamento`, `data_pagamento`, `valor_pagamento`, `status_pagamento`, `id_empreendimento`,`id_banco`,`num_conta_corrente`,`num_cheque`,`flg_cheque_predatado`, `id_plano_conta`, `id_conta_bancaria`, `obs_pagamento`, `id_maquineta`, `taxa_maquineta`,`id_vale_troca`, `doc_boleto`,`num_boleto`,`agencia_transferencia`,`conta_transferencia`,`proprietario_conta_transferencia`,`id_conta_transferencia_destino`)\n\t\t\t\t\t\t\t\t\t\t\t\t VALUES ('" . $value['id_cliente'] . "', '" . $id_controle_pagamento . "' ,'" . $value['id_forma_pagamento'] . "', '" . $value['data_pagamento'] . "', '" . $value['valor_pagamento'] . "', '" . $value['status_pagamento'] . "', '" . $value['id_empreendimento'] . "'," . $value['id_banco'] . ", " . $value['num_conta_corrente'] . " , " . $value['num_cheque'] . " , " . $value['flg_cheque_predatado'] . " ,'" . $value['id_plano_conta'] . "', '" . $value['id_conta_bancaria'] . "', '" . $value['obs_pagamento'] . "' , " . $value['id_maquineta'] . ", " . $value['taxa_maquineta'] . ", " . $value['id_vale_troca'] . ", " . $value['doc_boleto'] . ", " . $value['num_boleto'] . ", " . $value['agencia_transferencia'] . ", " . $value['conta_transferencia'] . ", " . $value['proprietario_conta_transferencia'] . ", " . $value['id_conta_transferencia_destino'] . ")"; $update_lancamento = $this->conn->prepare($sql_update_lancamento); $insert = $this->conn->prepare($slq_lancamentos_entrada); if (!$update_lancamento->execute()) { return false; } if (!$insert->execute()) { return false; } $id_lancamento_entrada = $this->conn->lastInsertId(); $value['id_venda'] = is_numeric($value['id_venda']) ? "'" . $value['id_venda'] . "'" : 'NULL'; $value['dsc_movimentacao'] = "Transferência do registro de movimentacão #" . $value['id_mov']; $sql_movimentacao = "INSERT INTO tbl_movimentacao_caixa (`id`, `id_abertura_caixa`, `id_plano_conta`, `id_tipo_movimentacao`, `dsc_movimentacao` , `id_venda`, `id_lancamento_entrada`, `id_lancamento_saida`, `id_maquineta`, `dta_movimentacao`)\n\t\t\t\t\t\t\t\t\t\t VALUES (NULL,'" . $id_abertura_caixa . "', '" . $id_plano_conta . "', '4', '" . $value['dsc_movimentacao'] . "', " . $value['id_venda'] . ", '" . $id_lancamento_entrada . "', NULL, " . $value['id_maquineta'] . ", '" . $dta_fechamento . "');"; $update_lancamento = $this->conn->prepare($sql_update_lancamento); $insert = $this->conn->prepare($sql_movimentacao); if (!$insert->execute()) { return false; } } else { if ($value['id_forma_pagamento'] == 6) { $cont_parcelas = 0; $id_parcelamento = NULL; foreach ($value['parcelas'] as $i => $v) { $v['id_banco'] = is_numeric($v['id_banco']) ? "'" . $v['id_banco'] . "'" : 'NULL'; $v['id_maquineta'] = is_numeric($v['id_maquineta']) ? "'" . $v['id_maquineta'] . "'" : 'NULL'; $v['num_conta_corrente'] = !empty($v['num_conta_corrente']) ? "'" . $v['num_conta_corrente'] . "'" : 'NULL'; $v['num_cheque'] = !empty($v['num_cheque']) ? "'" . $v['num_cheque'] . "'" : 'NULL'; $v['flg_cheque_predatado'] = !empty($v['flg_cheque_predatado']) ? "'" . $v['flg_cheque_predatado'] . "'" : 'NULL'; $v['taxa_maquineta'] = !empty($v['taxa_maquineta']) ? "'" . $v['taxa_maquineta'] . "'" : 'NULL'; $v['obs_pagamento'] = "Pagamento proveniente de um fechamento de caixa"; $id_parcelamento = $cont_parcelas == 0 ? 'NULL' : $id_parcelamento; $sql_update_lancamento = "UPDATE tbl_pagamentos_venda SET flg_caixa_fechado = 1 WHERE id = " . $v['id']; $slq_lancamentos_entrada = "INSERT INTO tbl_pagamentos_venda ( `id_cliente`,`id_controle_pagamento`, `id_parcelamento`, `id_forma_pagamento`, `data_pagamento`, `valor_pagamento`, `status_pagamento`, `id_empreendimento`,`id_banco`,`num_conta_corrente`,`num_cheque`,`flg_cheque_predatado`, `id_plano_conta`, `id_conta_bancaria`, `obs_pagamento`, `id_maquineta`, `taxa_maquineta`)\n\t\t\t\t\t\t\t\t\t\t\t\t\t VALUES ('" . $v['id_cliente'] . "', '" . $id_controle_pagamento . "', {$id_parcelamento} ,'" . $v['id_forma_pagamento'] . "', '" . $v['data_pagamento'] . "', '" . $v['valor_pagamento'] . "', '" . $v['status_pagamento'] . "', '" . $v['id_empreendimento'] . "'," . $v['id_banco'] . ", " . $v['num_conta_corrente'] . " , " . $v['num_cheque'] . " , " . $v['flg_cheque_predatado'] . " ,'" . $v['id_plano_conta'] . "', '" . $v['id_conta_bancaria'] . "','" . $v['obs_pagamento'] . "'," . $v['id_maquineta'] . ", " . $v['taxa_maquineta'] . " )"; $update_lancamento = $this->conn->prepare($sql_update_lancamento); $insert = $this->conn->prepare($slq_lancamentos_entrada); if (!$update_lancamento->execute()) { return false; } if (!$insert->execute()) { return false; } $id_lancamento_entrada = $this->conn->lastInsertId(); $id_parcelamento = $cont_parcelas == 0 ? $id_lancamento_entrada : $id_parcelamento; $v['id_venda'] = is_numeric($v['id_venda']) ? "'" . $v['id_venda'] . "'" : 'NULL'; $v['dsc_movimentacao'] = "Transferência do registro de movimentacão #" . $v['id_mov']; $sql_movimentacao = "INSERT INTO tbl_movimentacao_caixa (`id`, `id_abertura_caixa`, `id_plano_conta`, `id_tipo_movimentacao`, `dsc_movimentacao`, `id_venda`, `id_lancamento_entrada`, `id_lancamento_saida`, `id_maquineta`, `dta_movimentacao`)\n\t\t\t\t\t\t\t\t\t\t\t VALUES (NULL,'" . $id_abertura_caixa . "', '" . $id_plano_conta . "', '4','" . $v['dsc_movimentacao'] . "', " . $v['id_venda'] . ", '" . $id_lancamento_entrada . "', NULL, " . $v['id_maquineta'] . ", '" . $dta_fechamento . "');"; $insert = $this->conn->prepare($sql_movimentacao); if (!$insert->execute()) { return false; } $cont_parcelas++; } } } } } $ControlePagamentoFornecedorDao = new ControlePagamentoFornecedorDao(); $id_controle_pagamento = $ControlePagamentoFornecedorDao->saveControlePagamento(); $slq_lancamentos_saida = "INSERT INTO `tbl_pagamentos_fornecedores` ( `id_controle_pagamento`,`id_fornecedor`, `id_forma_pagamento`, `data_pagamento`, `valor_pagamento`, `status_pagamento`, `id_empreendimento`,`id_plano_conta`, `id_conta_bancaria`)\n\t\t\t\t\t\t\t\t VALUES ('" . $id_controle_pagamento . "','" . $id_fornecedor . "', '3', '" . $dta_fechamento . "', '" . $valor_total_baixa . "', '1', '" . $id_empreendimento . "','" . $id_plano_conta . "', '" . $id_caixa . "');"; $insert = $this->conn->prepare($slq_lancamentos_saida); if (!$insert->execute()) { return false; } $id_lancamento_saida = $this->conn->lastInsertId(); $obs_pagamento_abt = "Transferência para abatimento do caixa"; $sql_movimentacao = "INSERT INTO tbl_movimentacao_caixa (`id`, `id_abertura_caixa`, `id_plano_conta`, `id_tipo_movimentacao`, `dsc_movimentacao`, `id_venda`, `id_lancamento_entrada`, `id_lancamento_saida`, `id_maquineta`, `dta_movimentacao`)\n\t\t\t\t\t\t\t VALUES (NULL, '" . $id_abertura_caixa . "', '" . $id_plano_conta . "', '4','" . $obs_pagamento_abt . "', NULL, NULL, '" . $id_lancamento_saida . "', NULL, '" . $dta_fechamento . "');"; $insert = $this->conn->prepare($sql_movimentacao); if (!$insert->execute()) { return false; } $sql_update_caixa = "UPDATE tbl_abertura_caixa SET dta_fechamento = '" . $dta_fechamento . "' WHERE id = {$id_abertura_caixa}"; $insert = $this->conn->prepare($sql_update_caixa); if (!$insert->execute()) { return false; } return true; }
public function getCaixa($pth_local, $id_empreendimento) { $sql = "SELECT * FROM `tbl_conta_bancaria` WHERE id_tipo_conta = 5 AND pth_local = '" . $pth_local . "' AND id_empreendimento = " . $id_empreendimento; $select = $this->conn->prepare($sql); $select->execute(); $caixa = $select->fetch(PDO::FETCH_ASSOC); $ConfiguracaoDao = new ConfiguracaoDao(); $config = $ConfiguracaoDao->getConfiguracoes($id_empreendimento); return array_merge($caixa, $config); }
$cartao_credito[$value['id_parcelamento']]['valor_pagamento'] += $value['valor_pagamento']; } } } } foreach ($cartao_credito as $key => $value) { $saida[] = $value; } foreach ($entrada as $key => $value) { if ($value['id_forma_pagamento'] != 6) { $saida[] = $value; } } return $saida; } $ConfiguracaoDao = new ConfiguracaoDao(); $id_empreendimento = $dados['id_empreendimento']; $configuracoes = $ConfiguracaoDao->getConfiguracoes($id_empreendimento); $id_plano_conta_pagamento_profissional = $configuracoes['id_plano_conta_pagamento_profissional']; $id_fornecedor_movimentacao_caixa = $configuracoes['id_fornecedor_movimentacao_caixa']; $now = $dados['now']; /*Busca Pagamentos aos Profissioais*/ $totalDespesas = 0; $LancamentosFinanceirosDao = new LancamentosFinanceirosDao(); $where = "(id_tipo_conta <> 5 OR (id_tipo_conta =5 AND (flg_caixa_fechado = 0 OR flg_caixa_fechado IS NULL ) ) AND flg_tipo_lancamento = 'D' ) AND (flg_transferencia_conta = 0 OR \n\t\t\t flg_transferencia_conta IS NULL) AND id_empreendimento = {$id_empreendimento} AND dta_entrada between '{$now} 00:00:00' and '{$now} 23:59:59' \n\t\t\t AND id_plano_conta = '{$id_plano_conta_pagamento_profissional}' order by \n\t\t dta_entrada asc"; $aux = $LancamentosFinanceirosDao->getLancamentos(null, null, array('cplSql' => $where)); $comissionados = $aux ? getParcelas($aux['pagamentos']) : array(); usort($comissionados, 'ordenaDta'); /* end */ /*Busca Pagamentos a fornecedores*/ $where = "(id_tipo_conta <> 5 OR (id_tipo_conta =5 AND (flg_caixa_fechado = 0 OR flg_caixa_fechado IS NULL ) ) AND flg_tipo_lancamento = 'D' ) AND (flg_transferencia_conta = 0 OR \n\t\t\t flg_transferencia_conta IS NULL) AND id_empreendimento = {$id_empreendimento} AND data_pagamento between '{$now} 00:00:00' and '{$now} 23:59:59' \n\t\t\t AND id_plano_conta <> '{$id_plano_conta_pagamento_profissional}' AND id_clienteORfornecedor <> '{$id_fornecedor_movimentacao_caixa}' AND flg_tipo_lancamento = 'D' AND status_pagamento = 1 order by \n\t\t dta_entrada asc";
public function getPagamentosAgenda($id_empreendimento, $first_date, $last_date) { $ConfiguracaoDao = new ConfiguracaoDao(); $conf = $ConfiguracaoDao->getConfiguracoes($id_empreendimento); $id_fornecedor_movimentacao_caixa = isset($conf['id_fornecedor_movimentacao_caixa']) && is_numeric($conf['id_fornecedor_movimentacao_caixa']) ? (int) $conf['id_fornecedor_movimentacao_caixa'] : 0; $now = date('Y-m-d'); $sql = "SELECT * FROM tbl_fornecedores tf\n\t\t\t\tINNER JOIN tbl_pagamentos_fornecedores AS tpf ON tf.id = tpf.id_fornecedor \n\t\t\t\tWHERE tpf.data_pagamento BETWEEN '{$first_date}' AND '{$last_date}' AND tf.id_empreendimento = {$id_empreendimento} AND tf.id != {$id_fornecedor_movimentacao_caixa}\n\t\t\t\tORDER BY tpf.data_pagamento ASC "; $select = $this->conn->prepare($sql); if ($select->execute()) { if ($select->rowCount() > 0) { $pagamentos = $select->fetchAll(PDO::FETCH_ASSOC); $agenda = array(); foreach ($pagamentos as $key => $pagamento) { $item = array("id" => $pagamento['id'], "title" => 'Pag. ao for. ' . $pagamento['nome_fornecedor'] . ' no valor de R$ ' . number_format($pagamento['valor_pagamento'], 2, ',', '.'), "start" => $pagamento['data_pagamento'], "color" => $now > $pagamento['data_pagamento'] ? 'rgb(240, 57, 57)' : '#3A87AD', "className" => "agenda-event", "description" => '<strong>Pag. ao For. ' . strtoupper($pagamento['nome_fornecedor']) . ' no valor de R$ ' . number_format($pagamento['valor_pagamento'], 2, ',', '.') . '</strong>'); $agenda[] = $item; } return $agenda; } else { return false; } } else { return false; } }
public static function saveCliente() { $ClienteTO = new ClienteTO(); $PessoaFisicaTO = new PessoaFisicaTO(); $PessoaJuridicaTO = new PessoaJuridicaTO(); $ClienteDao = new ClienteDao(); $AutenticacaoTO = new AutenticacaoTO(); $validator = new DataValidator(); $ConfiguracaoDao = new ConfiguracaoDao(); $ClienteTO->nome = isset($_POST["nome"]) ? $_POST["nome"] : NULL; $ClienteTO->apelido = isset($_POST["apelido"]) ? $_POST["apelido"] : NULL; $ClienteTO->tel_fixo = isset($_POST["tel_fixo"]) ? $_POST["tel_fixo"] : NULL; $ClienteTO->celular = isset($_POST["celular"]) ? $_POST["celular"] : NULL; $ClienteTO->nextel = isset($_POST["nextel"]) ? $_POST["nextel"] : NULL; $ClienteTO->email = isset($_POST["email"]) ? $_POST["email"] : NULL; $ClienteTO->email_marketing = isset($_POST["email_marketing"]) ? $_POST["email_marketing"] : NULL; $ClienteTO->agencia = isset($_POST["agencia"]) ? $_POST["agencia"] : NULL; $ClienteTO->banco = isset($_POST["banco"]) ? $_POST["banco"] : NULL; $ClienteTO->conta = isset($_POST["conta"]) ? $_POST["conta"] : NULL; $ClienteTO->cliente_desde = isset($_POST["cliente_desde"]) ? $_POST["cliente_desde"] : NULL; $ClienteTO->endereco = isset($_POST["endereco"]) ? $_POST["endereco"] : NULL; $ClienteTO->numero = isset($_POST["numero"]) ? $_POST["numero"] : NULL; $ClienteTO->bairro = isset($_POST["bairro"]) ? $_POST["bairro"] : NULL; $ClienteTO->cep = isset($_POST["cep"]) ? $_POST["cep"] : NULL; $ClienteTO->cidade = isset($_POST["cidade"]) ? $_POST["cidade"] : NULL; $ClienteTO->uf = isset($_POST["uf"]) ? $_POST["uf"] : NULL; $ClienteTO->regiao = isset($_POST["regiao"]) ? $_POST["regiao"] : NULL; $ClienteTO->ponto_referencia = isset($_POST["ponto_referencia"]) ? $_POST["ponto_referencia"] : NULL; $ClienteTO->indicacao = isset($_POST["indicacao"]) ? $_POST["indicacao"] : NULL; $ClienteTO->indicado_por_quem = isset($_POST["indicado_por_quem"]) ? $_POST["indicado_por_quem"] : NULL; $ClienteTO->id_finalidade = isset($_POST["id_finalidade"]) ? $_POST["id_finalidade"] : NULL; $ClienteTO->dsc_finalidade = isset($_POST["dsc_finalidade"]) ? $_POST["dsc_finalidade"] : NULL; $ClienteTO->id_como_encontrou = isset($_POST["id_como_encontrou"]) ? $_POST["id_como_encontrou"] : NULL; $ClienteTO->como_entrou_outros = isset($_POST["como_entrou_outros"]) ? $_POST["como_entrou_outros"] : NULL; $ClienteTO->status = isset($_POST["status"]) ? $_POST["status"] : "1"; $ClienteTO->id_perfil = isset($_POST["id_perfil"]) ? $_POST["id_perfil"] : NULL; $ClienteTO->id_empreendimento = isset($_POST["id_empreendimento"]) ? $_POST["id_empreendimento"] : NULL; $ClienteTO->num_longitude = isset($_POST["num_longitude"]) ? $_POST["num_longitude"] : NULL; $ClienteTO->num_latitude = isset($_POST["num_latitude"]) ? $_POST["num_latitude"] : NULL; $ClienteTO->id_estado = isset($_POST["id_estado"]) ? $_POST["id_estado"] : NULL; $ClienteTO->id_cidade = isset($_POST["id_cidade"]) ? $_POST["id_cidade"] : NULL; $ClienteTO->id_banco = isset($_POST["id_banco"]) ? $_POST["id_banco"] : NULL; $ClienteTO->dta_nacimento = isset($_POST["dta_nacimento"]) ? $_POST["dta_nacimento"] : NULL; $ClienteTO->dta_nacimento = empty($_POST["dta_nacimento"]) ? NULL : $_POST["dta_nacimento"]; $ClienteTO->end_complemento = isset($_POST["end_complemento"]) ? $_POST["end_complemento"] : NULL; $id_empreendimento = isset($_POST["id_empreendimento"]) ? $_POST["id_empreendimento"] : NULL; $id_perfil = isset($_POST["id_perfil"]) ? $_POST["id_perfil"] : NULL; $ClienteTO->flg_tipo = isset($_POST["flg_tipo"]) && ($_POST["flg_tipo"] == 'cliente' || $_POST["flg_tipo"] == 'usuario') ? $_POST["flg_tipo"] : NULL; $ClienteTO->cod_regime_tributario = isset($_POST["cod_regime_tributario"]) || !empty($_POST["cod_regime_tributario"]) ? $_POST["cod_regime_tributario"] : NULL; $ClienteTO->cod_regime_pis_cofins = isset($_POST["cod_regime_pis_cofins"]) || !empty($_POST["cod_regime_pis_cofins"]) ? $_POST["cod_regime_pis_cofins"] : NULL; $ClienteTO->cod_tipo_empresa = isset($_POST["cod_tipo_empresa"]) || !empty($_POST["cod_tipo_empresa"]) ? $_POST["cod_tipo_empresa"] : NULL; $ClienteTO->flg_contribuinte_icms = isset($_POST["flg_contribuinte_icms"]) ? $_POST["flg_contribuinte_icms"] : NULL; $ClienteTO->flg_contribuinte_ipi = isset($_POST["flg_contribuinte_ipi"]) ? $_POST["flg_contribuinte_ipi"] : NULL; $ClienteTO->cod_zoneamento = isset($_POST["cod_zoneamento"]) || !empty($_POST["cod_zoneamento"]) ? $_POST["cod_zoneamento"] : NULL; $ClienteTO->num_ficha_paciente = isset($_POST["num_ficha_paciente"]) && is_numeric($_POST["num_ficha_paciente"]) ? $_POST["num_ficha_paciente"] : NULL; $ClienteTO->id_grupo_comissionamento = isset($_POST["id_grupo_comissionamento"]) && is_numeric($_POST["id_grupo_comissionamento"]) ? $_POST["id_grupo_comissionamento"] : NULL; $PessoaFisicaTO->rg = isset($_POST["rg"]) ? $_POST["rg"] : NULL; $PessoaFisicaTO->cpf = isset($_POST["cpf"]) ? $_POST["cpf"] : NULL; $PessoaJuridicaTO->razao_social = isset($_POST["razao_social"]) ? $_POST["razao_social"] : NULL; $PessoaJuridicaTO->nome_fantasia = isset($_POST["nome_fantasia"]) ? $_POST["nome_fantasia"] : NULL; $PessoaJuridicaTO->cnpj = isset($_POST["cnpj"]) ? $_POST["cnpj"] : NULL; $PessoaJuridicaTO->inscricao_estadual = isset($_POST["inscricao_estadual"]) ? $_POST["inscricao_estadual"] : NULL; $PessoaJuridicaTO->inscricao_estadual_st = isset($_POST["inscricao_estadual_st"]) ? $_POST["inscricao_estadual_st"] : NULL; $PessoaJuridicaTO->num_inscricao_municipal = isset($_POST["num_inscricao_municipal"]) ? $_POST["num_inscricao_municipal"] : NULL; $AutenticacaoTO->login = isset($_POST['login']) ? $_POST['login'] : NULL; $AutenticacaoTO->senha = isset($_POST['senha']) ? $_POST['senha'] : NULL; $tipo_cadastro = isset($_POST['tipo_cadastro']) ? $_POST['tipo_cadastro'] : NULL; $empreendimentos = isset($_POST['empreendimentos']) ? $_POST['empreendimentos'] : array(); /* $validator->set_msg('A data de nacimento é obrigatória') ->set('dta_nacimento' ,$ClienteTO->dta_nacimento) ->is_date('Y-m-d'); $validator->set_msg('O apelido do cliente é obrigatório') ->set('apelido' ,$ClienteTO->apelido) ->is_required(); */ /* $validator->set_msg('O numeoro do celular é obrigatório') ->set('celular' ,$ClienteTO->celular) ->is_required(); $validator->set_msg('O numeoro do nextel é obrigatório') ->set('nextel' ,$ClienteTO->nextel) ->is_required(); $validator->set_msg('O email é obrigatório') ->set('email' ,$ClienteTO->email) ->is_required(); */ if ($ClienteTO->email != "") { $validator->set_msg('O email é inválido')->set('email', $ClienteTO->email)->is_email(); } /* $validator->set_msg('Informe se o cliente deve receber email-marketing') ->set('email_marketing' ,$ClienteTO->email_marketing) ->is_num(); $validator->set_msg('A agencia é obrigatória') ->set('agencia' ,$ClienteTO->agencia) ->is_required(); $validator->set_msg('A conta é obrigatório') ->set('conta' ,$ClienteTO->conta) ->is_required(); $validator->set_msg('Informe desde quando e seu cliente') ->set('cliente_desde' ,$ClienteTO->cliente_desde) ->is_required(); */ /* $validator->set_msg('A região é obrigatória') ->set('regiao' ,$ClienteTO->regiao) ->is_required(); $validator->set_msg('A indicação é obrigatória') ->set('indicacao' ,$ClienteTO->indicacao) ->is_num(); */ if ($AutenticacaoTO->senha != "" || $AutenticacaoTO->login != "") { $validator->set_msg('A senha é obrigatória')->set('senha', $AutenticacaoTO->senha)->is_required(); if ($ClienteDao->existsLogin(array("login" => $AutenticacaoTO->login))) { $validator->_errors['login'][] = "Já existe um usuário com este login"; } else { $validator->set_msg('O login é obrigatório')->set('login', $AutenticacaoTO->login)->is_required(); } } if ($ClienteTO->indicacao == "1") { $validator->set_msg('Informe quem indico o cliente')->set('indicado_por_quem', $ClienteTO->indicado_por_quem)->is_required(); } else { $ClienteTO->indicado_por_quem = NULL; } /* $validator->set_msg('A finalidade é obrigatório') ->set('id_finalidade' ,$ClienteTO->id_finalidade) ->is_required(); $validator->set_msg('Informe como o cliente chegou a nós') ->set('id_como_encontrou' ,$ClienteTO->id_como_encontrou) ->is_required(); */ if ($ClienteTO->id_como_encontrou == 'outros') { $validator->set_msg('Informe como o cliente chegou a nós')->set('como_entrou_outros', $ClienteTO->como_entrou_outros)->is_required(); $ClienteTO->id_como_encontrou = NULL; } else { $ClienteTO->como_entrou_outros = NULL; } $validator->set_msg('informe o status do cliente')->set('status', $ClienteTO->status)->is_num(); $origem = substr($_SERVER['HTTP_REFERER'], strripos($_SERVER['HTTP_REFERER'], '/') + 1); if ($origem != 'cadastro') { $validator->set_msg('O perfil é obrigatório')->set('id_perfil', $id_perfil)->is_required(); } else { $ClienteTO->id_perfil = NULL; $id_perfil = NULL; } $validator->set_msg('O codigo do empreendimento é obrigatório')->set('id_empreendimento', $ClienteTO->id_empreendimento)->is_required(); /* $validator->set_msg('A longitude é obrigatório') ->set('num_longitude' ,$ClienteTO->num_longitude) ->is_required(); $validator->set_msg('A latitude é obrigatório') ->set('num_latitude' ,$ClienteTO->num_latitude) ->is_required(); */ /* $validator->set_msg('O banco é obrigatório') ->set('id_banco' ,$ClienteTO->id_banco) ->is_required(); */ if ($tipo_cadastro == 'pf') { $validator->set_msg('O nome do cliente é obrigatório')->set('nome', $ClienteTO->nome)->is_required(); /* $validator->set_msg('O rg é obrigatório') ->set('rg' ,$PessoaFisicaTO->rg) ->is_required(); $validator->set_msg('A cpf é obrigatória') ->set('cpf' ,$PessoaFisicaTO->cpf) ->is_required(); */ } elseif ($tipo_cadastro == 'pj') { $validator->set_msg('A razão social é obrigatório')->set('razao_social', $PessoaJuridicaTO->razao_social)->is_required(); $validator->set_msg('O nome fantasia é obrigatória')->set('nome_fantasia', $PessoaJuridicaTO->nome_fantasia)->is_required(); $validator->set_msg('O cnpj é obrigatório')->set('cnpj', $PessoaJuridicaTO->cnpj)->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; } $last_id = $ClienteDao->saveCliente($ClienteTO); $AutenticacaoTO->id_usuario = $last_id; $EmpreendimentoDao = new EmpreendimentoDao(); $UsuarioEmpreendimentoTO = new UsuarioEmpreendimentoTO(); $UsuarioEmpreendimentoTO->id_usuario = $last_id; if (!empty($id_perfil)) { $UsuarioPerfilEmpreendimentoDao = new UsuarioPerfilEmpreendimentoDao(); $UsuarioPerfilEmpreendimentoTO = new UsuarioPerfilEmpreendimentoTO(); $UsuarioPerfilEmpreendimentoTO->id_empreendimento = $id_empreendimento; $UsuarioPerfilEmpreendimentoTO->id_perfil = $id_perfil; $UsuarioPerfilEmpreendimentoTO->id_usuario = $last_id; $UsuarioPerfilEmpreendimentoDao->saveUsuarioPerfilEmpreendimento($UsuarioPerfilEmpreendimentoTO); } $EmpreendimentoDao->delAllUsuarioEmp($UsuarioEmpreendimentoTO); if ($last_id) { if ($tipo_cadastro == "pf") { $PessoaFisicaDao = new PessoaFisicaDao(); $PessoaFisicaTO->usuarios_id = $last_id; if (!$PessoaFisicaDao->savePessoaFisica($PessoaFisicaTO)) { Flight::halt(500, 'Erro ao cadastrar o cliente'); } } 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'); } } } if ($AutenticacaoTO->senha != "" && $AutenticacaoTO->login != "") { if (!$ClienteDao->saveAutenticacao($AutenticacaoTO)) { Flight::halt(500, 'Erro ao atualizar Autenticacao'); } $dados_send_mail = $ConfiguracaoDao->getConfigSendMail($empreendimentos); if ($dados_send_mail) { foreach ($dados_send_mail as $emp) { $send = array(array('nome' => $ClienteTO->nome, "email" => $ClienteTO->email)); $emp['cliente'] = (array) $ClienteTO; $emp['cliente']['senha'] = $AutenticacaoTO->senha; $emp['cliente']['login'] = $AutenticacaoTO->login; sendMail($emp['empreendimento']['nome_empreendimento'] . ' - Acesso Liberado', 'modelo-liberao-cadastro.php', $send, $emp); } } } $UsuarioEmpreendimentoTO->id_usuario = $last_id; foreach ($empreendimentos as $key => $value) { $id_empreendimento = $value['id']; $UsuarioEmpreendimentoTO->id_empreendimento = $value['id']; if (!$EmpreendimentoDao->saveUsuarioEmpreendimento($UsuarioEmpreendimentoTO)) { Flight::halt(500, 'erro ao lincar usuario ao empreendimento'); } } if ($origem == 'cadastro') { $dados_send_mail = $ConfiguracaoDao->getConfigSendMail($empreendimentos); if ($dados_send_mail) { foreach ($dados_send_mail as $emp) { $user = $emp['config_send_mail']['user']; $emp['cliente'] = (array) $ClienteTO; sendMail('WebliniaERP - novo Cadastro', 'modelo-novo-usuario_admin.php', $user, $emp); } } } $dados_send_mail = $ConfiguracaoDao->getConfigSendMail($empreendimentos); if ($dados_send_mail) { foreach ($dados_send_mail as $emp) { $send = array(array('nome' => $ClienteTO->nome, "email" => $ClienteTO->email)); $emp['cliente'] = (array) $ClienteTO; $emp['cliente']['senha'] = $AutenticacaoTO->senha; $emp['cliente']['login'] = $AutenticacaoTO->login; sendMail($emp['empreendimento']['nome_empreendimento'] . ' - cadastro realizado', 'modelo-novo-pedido-vitrine-cliente.php', $send, $emp); } } $empreendimento = $EmpreendimentoDao->getEmpreendimentoById($id_empreendimento); $saida = array('id_cliente' => $last_id, 'nome_cliente' => $ClienteTO->nome, 'email_cliente' => $ClienteTO->email, 'nome_empreendimento' => $empreendimento['nome_empreendimento']); Flight::response()->status(201)->header('Content-Type', 'application/json')->write(json_encode($saida))->send(); } else { Flight::halt(500, 'Erro ao cadastrar o cliente'); } }
public function atualizaEstoquePrestaShop($id_empreendimento, $id_item, $id_item_referencia, $id_combinaco) { $xmlProduto = $this->webService->get(array('resource' => 'products', 'id' => $id_item_referencia)); $resourcesProduto = $xmlProduto->children()->children(); $stock_available = $resourcesProduto->xpath('//stock_availables[id_product_attribute=' . $id_combinaco . ']'); if (count($stock_available) != 1) { return array('status' => false, 'errors' => array(array("id stock_availables não pode ser encontrado"))); } $xml = $this->webService->get(array('resource' => 'stock_availables', 'id' => $stock_available[0]->id)); $resources = $xml->children()->children(); $ConfiguracaoDao = new ConfiguracaoDao(); $config = $ConfiguracaoDao->getConfiguracoes($id_empreendimento); $prestashop_depositos = isset($config['prestashop_depositos']) && is_array(json_decode($config['prestashop_depositos'])) ? json_decode($config['prestashop_depositos']) : array(); $EstoqueDao = new EstoqueDao(); $estoque = $EstoqueDao->getEstoque(null, null, array('prd.id' => $id_item, 'emp->id_empreendimento' => $id_empreendimento)); $estoque = isset($estoque['produtos']) && is_array($estoque['produtos']) ? $estoque['produtos'] : array(); $qtd_estoque = 0; foreach ($estoque as $item) { if (in_array($item['id_deposito'], $prestashop_depositos)) { $qtd_estoque += (int) $item['qtd_item']; } } $resources->quantity = $qtd_estoque; try { $opt = array('resource' => 'stock_availables'); $opt['id'] = $stock_available[0]->id; $opt['putXml'] = $xml->asXML(); $xml = $this->webService->edit($opt); return array('status' => true, 'responseXml' => $xml->asXML(), 'stock_availables' => $xml->stock_availables); } catch (PrestaShopWebserviceException $e) { return array('status' => false, 'errors' => $this->webService->response->errors); } }
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 cancelarNfe($id_ref, $justificativa, $id_empreendimento) { $ConfiguracaoDao = new ConfiguracaoDao(); $id_empreendimento = $id_empreendimento; $conf = $ConfiguracaoDao->getConfiguracoes($id_empreendimento); $flg_ambiente_nfe = isset($conf['flg_ambiente_nfe']) && ((int) $conf['flg_ambiente_nfe'] == 1 || (int) $conf['flg_ambiente_nfe'] == 0) ? (int) $conf['flg_ambiente_nfe'] : 0; $tokens['token_focus_producao'] = isset($conf['token_focus_producao']) ? $conf['token_focus_producao'] : ''; $tokens['token_focus_homologacao'] = isset($conf['token_focus_homologacao']) ? $conf['token_focus_homologacao'] : ''; $NfeDao = new NfeDao($flg_ambiente_nfe, $tokens); $NfeDao->id_ref = $id_ref; $retorno = $NfeDao->cancelarNfe($justificativa); if ($retorno) { $NotaFiscalDao = new NotaFiscalDao(); $nfTO = new stdClass(); $nfTO->cod_nota_fiscal = $id_ref; $nfTO->status = 'processando_cancelamento'; $NotaFiscalDao->updateNota($nfTO); Flight::halt(200); } else { Flight::halt(500); } }
public function baixaEstoquePDV($id_empreendimento, $id_venda, $id_produto, $id_deposito, $qtd_saida, $id_usuario, $id_caixa = null) { $ConfiguracaoDao = new ConfiguracaoDao(); $config = $ConfiguracaoDao->getConfiguracoes($id_empreendimento); $configuracao = $ConfiguracaoDao->getConfiguracoes($id_empreendimento); if (isset($configuracao['flg_controlar_estoque']) && (int) $configuracao['flg_controlar_estoque'] == 0) { $controlar_estoque = false; } else { $controlar_estoque = true; } if ($controlar_estoque) { $busca = array("etq.qtd_item" => array('exp' => '>0'), "prd.id" => $id_produto); } else { $busca = array("prd.id" => $id_produto); } if (is_array($id_deposito)) { if ($controlar_estoque) { $busca['orderby'] = ' tcd.ordem_saida ASC, dta_validade ASC '; } else { $busca['orderby'] = ' tcd.ordem_saida ASC, etq.qtd_item DESC , dta_validade ASC '; } $busca['etq.id_deposito']['exp'] = ' IN(' . join($id_deposito, ',') . ')'; $busca['tcd.id_caixa'] = $id_caixa; } else { if ($controlar_estoque) { $busca['orderby'] = ' dta_validade ASC '; } else { $busca['orderby'] = ' etq.qtd_item DESC, dta_validade ASC '; } $busca['etq.id_deposito'] = $id_deposito; } $estoque = parse_arr_values($this->getEstoque(null, null, $busca), 'all'); $estoque = $estoque['produtos']; $estoque_saida = array(); $qtd_saida_restante = $qtd_saida; foreach ($estoque as $key => $value) { $qtd_item = $value['qtd_item']; if ($qtd_item >= $qtd_saida_restante) { $estoque_saida[] = array('id' => $value['id'], 'qtd_item' => $qtd_item - $qtd_saida_restante, 'dta_validade' => $value['dta_validade'], 'qtd_saida' => $qtd_saida_restante, 'id_deposito' => $value['id_deposito'], 'id_produto' => $value['id_produto']); break; } else { if ($controlar_estoque || $key + 1 < count($estoque)) { $qtd_saida_restante = abs($qtd_item - $qtd_saida_restante); $estoque_saida[] = array('id' => $value['id'], 'qtd_item' => 0, 'dta_validade' => $value['dta_validade'], 'qtd_saida' => $qtd_item, 'id_deposito' => $value['id_deposito'], 'id_produto' => $value['id_produto']); } else { $estoque_saida[] = array('id' => $value['id'], 'qtd_item' => $qtd_item - $qtd_saida_restante, 'dta_validade' => $value['dta_validade'], 'qtd_saida' => $qtd_item, 'id_deposito' => $value['id_deposito'], 'id_produto' => $value['id_produto']); $qtd_saida_restante = 0; } } } $sql = ""; $EstoqueSaidaTO = new EstoqueSaidaTO(); $EstoqueSaidaDao = new EstoqueSaidaDao(); $EstoqueSaidaTO->id_venda = $id_venda; $EstoqueSaidaTO->id_empreendimento = $id_empreendimento; $EstoqueSaidaTO->id_usuario = $id_usuario; $id_estoque_saida = $EstoqueSaidaDao->saveEstoqueSaida($EstoqueSaidaTO); if (!$id_estoque_saida) { return false; } $ItemEstoqueSaidaTO = new ItemEstoqueSaidaTO(); $ItemEstoqueSaidaDao = new ItemEstoqueSaidaDao(); foreach ($estoque_saida as $key => $value) { $ItemEstoqueSaidaTO->id_estoque_saida = $id_estoque_saida; $ItemEstoqueSaidaTO->id_deposito = $value['id_deposito']; $ItemEstoqueSaidaTO->id_produto = $value['id_produto']; $ItemEstoqueSaidaTO->dta_validade = $value['dta_validade']; $ItemEstoqueSaidaTO->qtd_item = $value['qtd_saida']; $id_item_estoque_saida = $ItemEstoqueSaidaDao->saveItemEstoqueSaida($ItemEstoqueSaidaTO); if (!$id_item_estoque_saida) { return false; } $dadosTrigger = new stdClass(); $dadosTrigger->acao_movimentacao = 'SAIDA'; $dadosTrigger->id_tipo_movimentacao_estoque = 8; $dadosTrigger->id_venda = $id_venda; $dadosTrigger->id_responsavel = $id_usuario; $dadosTrigger->id_empreendimento = $id_empreendimento; $dadosTrigger->qtd_saida = $value['qtd_saida']; $dadosTrigger->id_estoque_saida = $id_estoque_saida; $dadosTrigger->id_item_estoque_saida = $id_item_estoque_saida; $TRGTblEstoqueAUTO = new TRGTblEstoqueAUTO(); $TRGTblEstoqueAUTO->__setAll($dadosTrigger); $varTriggerSql = ""; if (!empty($dadosTrigger)) { foreach ($TRGTblEstoqueAUTO as $keyTrigger => $valueTrigger) { if ($valueTrigger == null) { $varTriggerSql .= "SET @{$keyTrigger} = NULL;"; } else { $varTriggerSql .= "SET @{$keyTrigger} = '{$valueTrigger}';"; } } } $this->rumQuery($varTriggerSql, false); $sql = 'UPDATE tbl_estoque SET qtd_item = ' . $value['qtd_item'] . ', dta_ultima_atualizacao = NOW() WHERE id = ' . $value['id'] . ';'; $update = $this->conn->prepare($sql); if (!$update->execute()) { return false; } } return true; }
public static function detalhesPagamentosDia($id_empreendimento, $date) { $AgendaFornecedorDao = new AgendaFornecedorDao(); $ConfiguracaoDao = new ConfiguracaoDao(); $configuracao_agenda = $ConfiguracaoDao->getConfiguracoes($id_empreendimento); $configuracao_agenda = isset($configuracao_agenda['pagamentos_fornecedores_agenda']) ? json_decode($configuracao_agenda['pagamentos_fornecedores_agenda'], true) : false; $valores_agenda = null; if (is_array($configuracao_agenda)) { $pagamentos_realizados = $AgendaFornecedorDao->getPagByDay($id_empreendimento, array($date => null)); $pagamentos_realizados = isset($pagamentos_realizados[$date]) ? $pagamentos_realizados[$date] : 0; $dias_agenda = self::getDiasAgenda($configuracao_agenda['dias_semana']); if ($configuracao_agenda['forma_valor'] == 1) { $valores_semana = self::getValoresAgenda($configuracao_agenda['dias_semana'], 'valor'); } else { if ($configuracao_agenda['forma_porcentagem'] == 1) { $valores_semana = self::getValoresAgenda($configuracao_agenda['dias_semana'], 'porcentagem'); } } $vlr_permitido_dia = isset($valores_semana[(int) date('N', strtotime($date))]) ? $valores_semana[(int) date('N', strtotime($date))] : 0; $valores_agenda = array('vlr_permitido_dia' => $vlr_permitido_dia, 'pagamentos_realizados' => $pagamentos_realizados, 'disponivel' => $vlr_permitido_dia - $pagamentos_realizados); } $lancamentos = $AgendaFornecedorDao->detalhesPagamentosDia($id_empreendimento, $date); $saida = array('faturamento' => $lancamentos, 'valores_agenda' => $valores_agenda); if ($lancamentos) { Flight::json($saida); } else { Flight::halt(404, 'Nenhum lançamento encontrado!'); } }
public static function requestSaveVenda() { try { $dados = $_POST; $VendaDao = new VendaDao(); $VendaTO = new VendaTO(); $ReferenciaIntegracaoDao = new ReferenciaIntegracaoDao(); $PrestaShopDao = new PrestaShopDao($dados['id_empreendimento']); $ProdutoCombinacaoDao = new ProdutoCombinacaoDao(); $ItemVendaDao = new ItemVendaDao(); $ItemVendaTO = new ItemVendaTO(); $refCliente = $ReferenciaIntegracaoDao->get(array('sistema_integrado' => 'PrestaShop', 'tabela' => 'tbl_usuarios', 'id_item_referencia' => $dados['customer']['id'], 'tipo' => 'usuario', 'id_empreendimento' => $dados['id_empreendimento'], 'flg_excluido' => 0)); if ($refCliente) { $id_cliente = $refCliente['id_item']; } else { $id_cliente = NULL; } $PagamentoClienteTO = new PagamentoClienteTO(); $PagamentoClienteDao = new PagamentoClienteDao(); $ControlePagamentoVendaTO = new ControlePagamentoVendaTO(); $ControlePagamentoVendaDao = new ControlePagamentoVendaDao(); $ConfiguracaoDao = new ConfiguracaoDao(); $config = $ConfiguracaoDao->getConfiguracoes($dados['id_empreendimento']); $id_controle_pagamento = $ControlePagamentoVendaDao->saveControlePagamento(); $PagamentoClienteTO->id_usuario = $config['prestashop_id_usuario_padrao']; $PagamentoClienteTO->id_cliente = $id_cliente; $PagamentoClienteTO->id_controle_pagamento = $id_controle_pagamento; $PagamentoClienteTO->obs_pagamento = 'Pagamento PrestaShop'; $PagamentoClienteTO->valor_pagamento = $dados['order']['total_products_wt']; $PagamentoClienteTO->status_pagamento = 0; $PagamentoClienteTO->id_empreendimento = $dados['id_empreendimento']; $PagamentoClienteTO->id_plano_conta = $config['prestashop_id_plano_conta_padrao']; $PagamentoClienteTO->id_conta_bancaria = $config['prestashop_id_conta_bancaria_padrao']; $PagamentoClienteTO->data_pagamento = date('Y-m-d H:i:s'); if (strtolower($dados['order']['payment']) == 'cheque') { $PagamentoClienteTO->id_forma_pagamento = 2; } else { $PagamentoClienteTO->id_forma_pagamento = 8; } $id_lancamento_entrada = $PagamentoClienteDao->savePagamentoCliente($PagamentoClienteTO); $ReferenciaIntegracaoPagTO = new ReferenciaIntegracaoTO(); $ReferenciaIntegracaoPagTO->sistema_integrado = 'PrestaShop'; $ReferenciaIntegracaoPagTO->tabela = 'tbl_pagamentos_venda'; $ReferenciaIntegracaoPagTO->id_item = $id_lancamento_entrada; $ReferenciaIntegracaoPagTO->id_item_referencia = $dados['cart']['id']; $ReferenciaIntegracaoPagTO->tipo = 'pagamento'; $ReferenciaIntegracaoPagTO->id_empreendimento = $dados['id_empreendimento']; $ReferenciaIntegracaoDao->save($ReferenciaIntegracaoPagTO); $produtos = array(); $VendaTO->id_usuario = $config['prestashop_id_usuario_padrao']; $VendaTO->id_cliente = $id_cliente; $VendaTO->venda_confirmada = 0; $VendaTO->id_empreendimento = $dados['id_empreendimento']; $VendaTO->id_status_venda = 1; $VendaTO->dta_venda = $dados['order']['date_add']; $VendaTO->vlr_saldo_anterior = NULL; $id_venda = $VendaDao->saveVenda($VendaTO); $ReferenciaIntegracaoTO = new ReferenciaIntegracaoTO(); $ReferenciaIntegracaoTO->sistema_integrado = 'PrestaShop'; $ReferenciaIntegracaoTO->tabela = 'tbl_vendas'; $ReferenciaIntegracaoTO->id_item = $id_venda; $ReferenciaIntegracaoTO->id_item_referencia = $dados['cart']['id']; $ReferenciaIntegracaoTO->tipo = 'venda'; $ReferenciaIntegracaoTO->id_empreendimento = $dados['id_empreendimento']; $ReferenciaIntegracaoDao->save($ReferenciaIntegracaoTO); foreach ($dados['order']['product_list'] as $value) { if (isset($value['id_product_attribute'])) { $refCombinacao = $ReferenciaIntegracaoDao->get(array('sistema_integrado' => 'PrestaShop', 'tabela' => 'tbl_produto_combinacao', 'id_item_referencia' => $value['id_product_attribute'], 'tipo' => 'combinacao', 'id_empreendimento' => $dados['id_empreendimento'], 'flg_excluido' => 0)); if ($refCombinacao) { $comb = $ProdutoCombinacaoDao->get(null, null, array('tpc.id' => $refCombinacao['id_item'])); if ($comb) { $id_produto = $comb[0]['id_combinacao']; } } else { $refProduto = $ReferenciaIntegracaoDao->get(array('sistema_integrado' => 'PrestaShop', 'tabela' => 'tbl_produtos', 'id_item_referencia' => $value['id_product'], 'tipo' => 'produto', 'id_empreendimento' => $dados['id_empreendimento'], 'flg_excluido' => 0)); if ($refProduto) { $id_produto = $refProduto['id_item']; } } } $ex = (double) $value['price_with_reduction_without_tax'] - (double) $value['wholesale_price']; $perc_venda_varejo = $ex * 100 / (double) $value['wholesale_price']; $perc_venda_varejo = $perc_venda_varejo / 100; $ItemVendaTO->id_venda = $id_venda; $ItemVendaTO->id_produto = $id_produto; $ItemVendaTO->valor_real_item = $value['price']; $ItemVendaTO->vlr_custo = round($value['wholesale_price'], 2); $ItemVendaTO->perc_margem_aplicada = $perc_venda_varejo; $ItemVendaTO->desconto_aplicado = 0; $ItemVendaTO->valor_desconto = 0; $ItemVendaTO->qtd = $value['quantity']; $ItemVendaTO->perc_imposto_compra = 0; $ItemVendaTO->perc_desconto_compra = 0; $ItemVendaDao->saveItemVenda($ItemVendaTO); } } 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 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 atualizarStatus($cod_nota_fiscal, $cod_empreendimento) { try { // Obtendo configurações da API de consulta de NFS-e $confDao = new ConfiguracaoDao(); $conf = $confDao->getConfiguracoes($cod_empreendimento); $flg_ambiente_nfe = isset($conf['flg_ambiente_nfe']) && ((int) $conf['flg_ambiente_nfe'] == 1 || (int) $conf['flg_ambiente_nfe'] == 0) ? (int) $conf['flg_ambiente_nfe'] : 0; $apiTokens = array(); $apiTokens['token_focus_producao'] = isset($conf['token_focus_producao']) ? $conf['token_focus_producao'] : ''; $apiTokens['token_focus_homologacao'] = isset($conf['token_focus_homologacao']) ? $conf['token_focus_homologacao'] : ''; $nfseDao = new NFSeDao($flg_ambiente_nfe, $apiTokens); $nfseDao->id_ref = $cod_nota_fiscal; $retorno = $nfseDao->buscaNFSe(); $nfTO = new stdClass(); $nfTO->cod_nota_fiscal = $cod_nota_fiscal; $nfTO->status = $retorno->status; if ($nfTO->status == 'autorizado') { $nfTO->numero = $retorno->numero; $nfTO->caminho_xml_nota_fiscal = substr($nfseDao->server, 0, -1) . $retorno->caminho_xml_nota_fiscal; $nfTO->caminho_danfe = $retorno->uri; $nfTO->mensagem_sefaz = ""; } else { $msg = ""; foreach ($retorno->erros as $key => $erro) { $msg .= "Cod. Erro: " . $erro->codigo . "\n"; $msg .= "Msg. Erro: " . $erro->mensagem . "\n"; $msg .= "Msg. Correcao: " . $erro->correcao . "\n\n"; } if (isset($retorno->erros)) { $nfTO->mensagem_sefaz = $msg; } } $nfDao = new NotaFiscalDao(); $nfDao->updateNota($nfTO); Flight::json($nfDao->getNota($cod_nota_fiscal)); } catch (Exception $e) { jsonException($e); } }