public static function valorEmCaixa($id_abertura_caixa, $id_forma_pagamento) { $AberturaCaixaDao = new AberturaCaixaDao(); $valor = $AberturaCaixaDao->valorEmCaixa($id_abertura_caixa, $id_forma_pagamento); if ($valor) { Flight::json($valor); } else { Flight::halt(404, 'Não há resultado para a busca'); } }
public static function getConsolidadoCaixas() { $aberturaCaixaDao = new AberturaCaixaDao(); $caixas = $aberturaCaixaDao->getAberturaCaixas($_GET, null, null); foreach ($caixas as $key => $caixa) { $movCaixaDao = new MovimentacaoCaixaDao(); $caixas[$key]['totais'] = $movCaixaDao->getTotalByFormaPagamento($caixa['id']); } $aux = array(); foreach ($caixas as $key => $value) { $id_caixa = $value['id_caixa']; $id_operador = $value['id_operador']; if (isset($aux[$id_caixa][$id_operador])) { $totais = $aux[$id_caixa][$id_operador][0]['totais']; foreach ($totais as $key_totais => $value_totais) { if ($key_totais != 'formas_pagamento') { $totais[$key_totais] += $value['totais'][$key_totais]; } else { foreach ($totais['formas_pagamento'] as $key_fp => $value_fp) { $totais['formas_pagamento'][$key_fp]['valor'] += $value['totais']['formas_pagamento'][$key_fp]['valor']; } } } $aux[$id_caixa][$id_operador][0]['dta_fechamento'] = $value['dta_fechamento']; $aux[$id_caixa][$id_operador][0]['totais'] = $totais; } else { $aux[$id_caixa][$id_operador][] = $value; } } $saida = array(); foreach ($aux as $k => $v) { foreach ($v as $x => $y) { $saida[] = $y[0]; } } usort($saida, 'ordenaId'); Flight::json($saida); }
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 static function saveMovimentacaoSangria() { $MovimentacaoCaixaTO = new MovimentacaoCaixaTO(); $MovimentacaoCaixaDao = new MovimentacaoCaixaDao(); $MovimentacaoCaixaTO->id_abertura_caixa = isset($_POST['id_abertura_caixa']) ? $_POST['id_abertura_caixa'] : NULL; $MovimentacaoCaixaTO->id_plano_conta = isset($_POST['id_plano_conta']) ? $_POST['id_plano_conta'] : NULL; $MovimentacaoCaixaTO->id_tipo_movimentacao = isset($_POST['id_tipo_movimentacao']) ? $_POST['id_tipo_movimentacao'] : NULL; $MovimentacaoCaixaTO->id_venda = isset($_POST['id_venda']) ? $_POST['id_venda'] : NULL; $conta_destino = isset($_POST['id_conta_bancaria_destino']) ? $_POST['id_conta_bancaria_destino'] : NULL; $valor_pagamento = isset($_POST['valor_pagamento']) ? $_POST['valor_pagamento'] : NULL; $obs_pagamento = isset($_POST['obs_pagamento']) ? $_POST['obs_pagamento'] : NULL; $validator = new DataValidator(); $validator->set_msg('O ID da abertura de caixa e obrigatório')->set('id_abertura_caixa', $MovimentacaoCaixaTO->id_abertura_caixa)->is_required(); $validator->set_msg('O ID do plano é obrigatório')->set('id_plano_conta', $MovimentacaoCaixaTO->id_plano_conta)->is_required(); $validator->set_msg('O ID do tipo da movimentacao é obrigatório')->set('id_tipo_movimentacao', $MovimentacaoCaixaTO->id_tipo_movimentacao)->is_required(); $validator->set_msg('A Conta de destino é obrigatória')->set('conta_destino', $conta_destino)->is_required(); $validator->set_msg('O valor da retirada é obrigatório')->set('valor_retirada', $valor_pagamento)->is_required(); $AberturaCaixaDao = new AberturaCaixaDao(); $valor_em_caixa = $AberturaCaixaDao->vlrEmCaixa($MovimentacaoCaixaTO->id_abertura_caixa, 3); $valor_em_caixa = $valor_em_caixa['vlr_em_caixa']; if ($valor_em_caixa < (double) $valor_pagamento) { $validator->_errors['valor_nao_permitido'][] = 'Operação não permitida, o valor da sangria e maior que o valor em dinheiro no caixa'; } if (!$validator->validate()) { Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send(); return; } try { $PagamentoFornecedorTO = new PagamentoFornecedorTO(); $PagamentoFornecedorDao = new PagamentoFornecedorDao(); $id_empreendimento = $_POST['id_empreendimento']; $Dao = new Dao(); $Dao->setTimeZone($id_empreendimento); $dta_movimentacao = date('Y-m-d H:i:s'); $PagamentoFornecedorTO->id_fornecedor = isset($_POST['id_fornecedor']) ? $_POST['id_fornecedor'] : ""; $PagamentoFornecedorTO->id_forma_pagamento = isset($_POST['id_forma_pagamento']) ? $_POST['id_forma_pagamento'] : ""; $PagamentoFornecedorTO->valor_pagamento = isset($_POST['valor_pagamento']) ? $_POST['valor_pagamento'] : ""; $PagamentoFornecedorTO->status_pagamento = isset($_POST['status_pagamento']) ? $_POST['status_pagamento'] : ""; $PagamentoFornecedorTO->data_pagamento = $dta_movimentacao; $PagamentoFornecedorTO->id_empreendimento = isset($_POST['id_empreendimento']) ? $_POST['id_empreendimento'] : ""; $PagamentoFornecedorTO->id_plano_conta = isset($_POST['id_plano_conta']) ? $_POST['id_plano_conta'] : ""; $PagamentoFornecedorTO->id_conta_bancaria = isset($_POST['id_conta_bancaria']) ? $_POST['id_conta_bancaria'] : ""; $PagamentoFornecedorTO->obs_pagamento = isset($_POST['obs_pagamento']) ? $_POST['obs_pagamento'] : NULL; $PagamentoFornecedorTO->flg_transferencia_conta = 1; $id_lancamento_saida = $PagamentoFornecedorDao->savePagamentoFornecedor($PagamentoFornecedorTO); if (!$id_lancamento_saida) { Flight::halt(500, 'erro ao inserir pagamento ao fornecedor'); } $PagamentoClienteTO = new PagamentoClienteTO(); $PagamentoClienteDao = new PagamentoClienteDao(); $PagamentoClienteTO->id_cliente = isset($_POST['id_cliente']) ? $_POST['id_cliente'] : ""; $PagamentoClienteTO->id_forma_pagamento = isset($_POST['id_forma_pagamento']) ? $_POST['id_forma_pagamento'] : ""; $PagamentoClienteTO->valor_pagamento = isset($_POST['valor_pagamento']) ? $_POST['valor_pagamento'] : ""; $PagamentoClienteTO->status_pagamento = isset($_POST['status_pagamento']) ? $_POST['status_pagamento'] : ""; $PagamentoClienteTO->data_pagamento = $dta_movimentacao; $PagamentoClienteTO->id_empreendimento = isset($_POST['id_empreendimento']) ? $_POST['id_empreendimento'] : ""; $PagamentoClienteTO->id_plano_conta = isset($_POST['id_plano_conta']) ? $_POST['id_plano_conta'] : ""; $PagamentoClienteTO->id_conta_bancaria = isset($_POST['id_conta_bancaria_destino']) ? $_POST['id_conta_bancaria_destino'] : ""; $PagamentoClienteTO->obs_pagamento = isset($_POST['obs_pagamento']) ? $_POST['obs_pagamento'] : NULL; $PagamentoClienteTO->flg_transferencia_conta = 1; $id_lancamento_entrada = $PagamentoClienteDao->savePagamentoCliente($PagamentoClienteTO); if (!$id_lancamento_entrada) { Flight::halt(500, 'erro ao inserir pagamento ao cliente'); } $MovimentacaoCaixaTO->id_lancamento_entrada = $id_lancamento_entrada; $MovimentacaoCaixaTO->id_lancamento_saida = $id_lancamento_saida; $MovimentacaoCaixaTO->dsc_movimentacao = isset($_POST['dsc_movimentacao']) ? $_POST['dsc_movimentacao'] : NULL; $MovimentacaoCaixaTO->dta_movimentacao = $dta_movimentacao; if (!$MovimentacaoCaixaDao->saveMovimentacao($MovimentacaoCaixaTO)) { Flight::halt(500, 'erro ao inserir movimentacao'); } Flight::halt(201); } catch (Exception $e) { Flight::halt(500, $e->getMessage()); } }