/** * actualizar cupos * POST /cupo/updatecupos */ public function postUpdatecupos() { if (Request::ajax()) { if (Input::has('data')) { $data = Input::get('data', ''); } else { return Response::json(array('rst' => 0, 'msj' => 'No se ha recibido datos para actualizar')); } $con = ''; DB::beginTransaction(); foreach ($data as $key => $value) { $con = $value; //objeto cupo $capacidad = $value['capacidad']; if (!empty($value['id'])) { //si existe, entonces actualizar $id = $value['id']; try { DB::table('capacidad_horario_detalle')->where('id', $id)->update(array('capacidad' => $capacidad)); } catch (Exception $exc) { DB::rollback(); $this->_errorController->saveError($exc); return Response::json(array('rst' => 2, 'datos' => 'Error')); } } else { $horario = $value['horario_id']; $dia = $value['dia_id']; //validar si existe regis en la tabla capacidad_horario if (!empty($value['capacidad_horario_id'])) { $capacidad_horario = $value['capacidad_horario_id']; } else { $empresa = $value['empresa_id']; $zonal = $value['zonal_id']; $quiebregrupos = $value['quiebre_grupo_id']; $horariotipo = $value['horario_tipo_id']; //buscar capacidad_horario try { $res = Cupo::getIdCupo($empresa, $zonal, $quiebregrupos, $horariotipo); } catch (Exception $exc) { DB::rollback(); $this->_errorController->saveError($exc); return Response::json(array('rst' => 2, 'datos' => 'Error')); } //sino existe crear if (empty($capacidad_horario)) { try { Cupo::createCupoHead($empresa, $zonal, $quiebregrupos, $horariotipo); } catch (Exception $exc) { DB::rollback(); $this->_errorController->saveError($exc); return Response::json(array('rst' => 2, 'datos' => 'Error')); } try { $res = Cupo::getIdCupo($empresa, $zonal, $quiebregrupos, $horariotipo); } catch (Exception $exc) { DB::rollback(); $this->_errorController->saveError($exc); return Response::json(array('rst' => 2, 'datos' => 'Error')); } $capacidad_horario = $res->id; } else { $capacidad_horario = $res->id; } } //$capacidad=$value['capacidad']; try { $return = Cupo::createCupo($capacidad_horario, $horario, $dia, $capacidad, 1); } catch (Exception $exc) { DB::rollback(); $this->_errorController->saveError($exc); return Response::json(array('rst' => 2, 'datos' => 'Error')); } } } DB::commit(); return Response::json(array('rst' => 1, 'msj' => 'Registro actualizado correctamente')); } }