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()); }
public function run() { Caja::create(['nombre' => 'Caja', 'hotel_id' => 1]); }