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 static function fechamentoCaixa($id_abertura_caixa, $id_conta_bancaria, $dta_fechamento) { $MovimentacaoCaixaDao = new MovimentacaoCaixaDao(); $result = $MovimentacaoCaixaDao->fechamentoCaixa($id_abertura_caixa, $id_conta_bancaria, $dta_fechamento); if ($result) { Flight::halt(201); } else { Flight::halt(500, 'Ocorreu um erro ao fechar o caixa'); } }