/**
  * Cerrar la caja
  */
 public function CerrarAction()
 {
     if ($this->request["METHOD"] == "POST") {
         if ($this->values['permisos']['A']) {
             $datos = new CajaArqueos($this->request[$this->entity][$this->form->getPrimaryKey()]);
             $datos->cierra();
             $this->values['errores'] = $datos->getErrores();
             $this->values['alertas'] = $datos->getAlertas();
             $this->values['datos'] = $datos;
             return array('template' => $this->entity . '/edit.html.twig', 'values' => $this->values);
         } else {
             return array('template' => '_global/forbiden.html.twig');
         }
     } else {
         return array('template' => $this->entity . '/index.html.twig');
     }
 }
示例#2
0
 /**
  * Abre la caja en el día actual con los importes
  * de la caja que esté cerrada inmediatamente antes.
  *
  * Si la caja inmediatamente anterior no estuviera cerrada, la cierra
  *
  * Se crean tantos apuntes de apertura como formas de pago
  * haya en el arqueo de la caja cerrada
  *
  * @return integer El id del arqueo creado
  */
 public function apertura()
 {
     // Localizar el arqueo anterior.
     $filtro = "IDSucursal='{$this->IDSucursal}' and IDTpv='{$this->IDTpv}'";
     $arqueo = new CajaArqueos();
     $rows = $arqueo->cargaCondicion("IDArqueo,Dia,CajaCerrada", $filtro, "Dia DESC");
     $arqueoAnterior = $rows[0];
     if (count($rows)) {
         $arqueo = new CajaArqueos($arqueoAnterior['IDArqueo']);
         // Si el arqueo anterior está abierto, lo cierro
         if (!$arqueoAnterior['CajaCerrada']) {
             $arqueo->cierra();
         }
         // Agrupar los importes por forma de pago
         $importes = $arqueo->getResumen();
     } else {
         $importes = array();
     }
     unset($arqueo);
     // Abrir la caja
     $idArqueo = parent::create();
     if ($idArqueo) {
         // Crear los apuntes de apertura
         foreach ($importes as $key => $importe) {
             $dia = new Fecha($rows[0]['Dia']);
             $apunte = new CajaLineas();
             $apunte->setIDArqueo($idArqueo);
             $apunte->setFecha(date('Y-m-d H:i:s'));
             $apunte->setConcepto('APERTURA CON EL CIERRE DEL DIA ' . $dia->getddmmaaaa());
             $apunte->setIDFP($importe['IDFP']);
             $apunte->setOrigen(0);
             // Apertura
             $apunte->setEntidad('CajaArqueos');
             $apunte->setIDEntidad($arqueoAnterior['IDArqueo']);
             $apunte->setImporte($importe['Importe']);
             $apunte->setIDAgente($_SESSION['usuarioPortal']['Id']);
             $apunte->create();
             $this->_errores = $apunte->getErrores();
             unset($apunte);
             unset($dia);
         }
     }
     return $idArqueo;
 }