Example #1
0
 public function postIndex()
 {
     $caja_id = Input::get('caja_id');
     $caja = Caja::find($caja_id);
     $datos = ['usuario_id' => Auth::user()->id, 'montoinicial' => Input::get('montoinicial'), 'caja_id' => $caja->id, 'fechainicio' => date('Y-m-d H:i:s')];
     $detallecaja = Detallecaja::create($datos);
     $caja->estado = 0;
     $caja->save();
     return Redirect::to('/caja');
 }
 /**
  *
  *Este metodo creara una caja asociada a una sucursal. Debe haber una caja por CPU. 
  *
  * @param token string el token que pos_client otorga por equipo
  * @param codigo_caja string El codigo de uso interno de la caja
  * @param impresoras json Un objeto con las impresoras asociadas a esta sucursal.
  * @param basculas json Un objeto con las basculas conectadas a esta caja.
  * @param descripcion string Descripcion de esta caja
  * @return id_caja int Id de la caja generada por la isnercion
  **/
 public static function NuevaCaja($token, $basculas = null, $control_billetes = 0, $descripcion = null, $id_sucursal = null, $impresoras = null)
 {
     Logger::log("Creando nueva caja");
     //Se validan los parametros de caja, si no se recibe sucursal, se intenta
     //tomar de la sesion
     $validar = self::validarParametrosCaja(null, $id_sucursal, $token, $descripcion);
     if (is_string($validar)) {
         Logger::error($validar);
         throw new Exception($validar);
     }
     if (is_null($id_sucursal)) {
         $id_sucursal = self::getSucursal();
         if (is_null($id_sucursal)) {
             Logger::error("No se pudo obtener la sucursal actual y no se obtuvo ninguna sucursal");
             throw new Exception("No se pudo obtener la sucursal actual y no se obtuvo ninguna sucursal");
         }
     }
     //si no recibimos control de billetes, lo ponemos en cero.
     if (is_null($control_billetes)) {
         $control_billetes = 0;
     }
     $caja = ContabilidadController::BuscarCuenta(1, $afectable = "", $clasificacion = "Activo Circulante", $clave = "", $consecutivo_en_nivel = "", $es_cuenta_mayor = "", $es_cuenta_orden = "", $id_cuenta_contable = "", $id_cuenta_padre = "", $naturaleza = "Deudora", $nivel = "", $nombre_cuenta = "Caja", $tipo_cuenta = "Balance");
     if (count($caja["resultados"]) < 1) {
         Logger::Log("Debe de existir la cuenta contable 'Caja' para dar de alta una caja");
         throw new BusinessLogicException("Debe de existir la cuenta contable 'Caja' para dar de alta una caja");
     }
     //se inserta la cuenta contable
     $res = ContabilidadController::NuevaCuenta($caja["resultados"][0]->getAbonosAumentan(), $caja["resultados"][0]->getCargosAumentan(), $caja["resultados"][0]->getClasificacion(), $caja["resultados"][0]->getEsCuentaMayor(), $caja["resultados"][0]->getEsCuentaOrden(), $caja["resultados"][0]->getIdCatalogoCuentas(), $caja["resultados"][0]->getNaturaleza(), $descripcion, $caja["resultados"][0]->getTipoCuenta(), $caja["resultados"][0]->getIdCuentaContable());
     //Se inicializa el registro de caja
     $caja = new Caja();
     $caja->setIdSucursal($id_sucursal);
     $caja->setAbierta(0);
     $caja->setActiva(1);
     $caja->setControlBilletes($control_billetes);
     $caja->setDescripcion($descripcion);
     $caja->setIdSucursal($id_sucursal);
     $caja->setSaldo(0);
     $caja->setToken($token);
     $caja->setIdCuentaContable($res["id_cuenta_contable"]);
     DAO::transBegin();
     try {
         //Se guarda el registro de caja y si se recibieron impresoras se registran con la caja
         //en la tabla impresora_caja.
         CajaDAO::save($caja);
         if (!is_null($impresoras)) {
             $impresoras = object_to_array($impresoras);
             if (!is_array($impresoras)) {
                 throw new Exception("Las impresoras son invalidas", 901);
             }
             $impresora_caja = new ImpresoraCaja(array("id_caja" => $caja->getIdCaja()));
             foreach ($impresoras as $id_impresora) {
                 if (is_null(ImpresoraDAO::getByPK($id_impresora))) {
                     throw new Exception("La impresora con id: " . $id_impresora . " no existe", 901);
                 }
                 $impresora_caja->setIdImpresora($id_impresora);
                 ImpresoraCajaDAO::save($impresora_caja);
             }
         }
     } catch (Exception $e) {
         DAO::transRollback();
         Logger::error("No se pudo crear la caja: " . $e);
         if ($e->getCode() == 901) {
             throw new Exception("No se pudo crear la caja: " . $e->getMessage(), 901);
         }
         throw new Exception("No se pudo crear la caja", 901);
     }
     DAO::transEnd();
     Logger::log("caja creada exitosamente");
     return array("id_caja" => $caja->getIdCaja());
 }
Example #3
0
 public function run()
 {
     Caja::create(['nombre' => 'Caja', 'hotel_id' => 1]);
 }