public function listaAberturaCaixa(caixasModel $caixa) { $this->db->clear(); $this->db->setParameter(1, $caixa->getId()); if ($this->db->query("select abertura_caixa.* from abertura_caixa where abertura_caixa.id_caixa= ? ORDER BY id_abertura_caixa DESC")) { $result = $this->db->resultAll(); foreach ($result as $res) { $caixaAberto = new caixaAbertoModel(); $caixaAberto->setId($res['id_abertura_caixa']); $caixaAberto->setSaldoInicial($res['saldo_inicial']); $caixaAberto->setSaldoFinal($res['saldo_final']); $caixaAberto->setDataAbertura($res['data_abertura_caixa']); $caixaAberto->setDataFechamento($res['data_fechamento_caixa']); $usuario = new usuariosModel(); $usuario->setId($res['id_usuario']); $caixaAberto->setUsuario($usuario); $caixa->addCaixaAberto($caixaAberto); } } return $caixa; }
public function abrirCaixa() { try { //verificação de permissão de acesso if (!$this->load->checkPermissao->check(false, URL . 'caixa/checkout/gerenciar')) { $this->http->response("Você não tem permissão para abrir caixa"); return false; } //VERIFICANDO SE O CAIXA JÁ ESTÀ DEFINIDO PARA A MAQUINA ATUAL if (!isset($_SESSION['caixa'])) { $this->http->response('A Máquina não está configurada corretamente'); return false; } //OBTENDO OS DADOS $dataformat = new dataformat(); $saldoInicial = $dataformat->formatar($this->http->getRequest('saldoinicial'), 'decimal', 'banco'); //VALIDANDO OS DADOS $this->load->library('dataValidator'); $dataValidator = new dataValidator(); $dataValidator->set('Número', $saldoInicial, 'saldoinicial')->is_required(); if ($dataValidator->validate()) { $this->load->dao('caixa/caixasDao'); $this->load->model('caixa/caixaAbertoModel'); $this->load->model('caixa/caixasModel'); $this->load->model('caixa/vendasModel'); $vendasModel = new vendasModel(); $caixaAbertoModel = new caixaAbertoModel(); $caixaAbertoModel->setUsuario(unserialize($_SESSION['user'])); $caixaAbertoModel->setSaldoInicial($saldoInicial); $caixaAbertoModel->setDataAbertura(date('Y-m-d h:i:s')); $caixaAbertoModel->addVenda($vendasModel); //obtendo os dados do caixa da sessão $caixa = unserialize($_SESSION['caixa']); $caixa->addCaixaAberto($caixaAbertoModel); $caixasDao = new caixasDao(); $caixa = $caixasDao->abrirCaixa($caixa); if ($caixa != null) { $_SESSION['caixa'] = serialize($caixa); $this->http->response(true); } else { $this->http->response('Não foi possível abrir o caixa, feche o caixa anterior para poder prosseguir', 400); } } else { $this->http->response('Informe o saldo inicial em caixa', 400); } } catch (dbException $e) { $this->http->response($e->getMessageError(), 400); } }