Exemplo n.º 1
0
 /**
  * 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'));
     }
 }