app/Http/Controllers/OtController.php
/**
   * Update the specified resource in storage.
   *
   * @param  \Illuminate\Http\Request  $request
   * @param  int  $id
   * @return \Illuminate\Http\Response
   */
Update the specified resource in storage.
Update the specified resource in storage .
public function update(Request $request, $id)
   {
      $respuesta=[];
      $data= $request->all();
      $vl=$this->validatorEditarOT($data['datos_encabezado']);
      if ($vl->fails())
      {
         return response([
            'status' => Response::HTTP_BAD_REQUEST,
            'response_time' => microtime(true) - LARAVEL_START,
            'msg' => 'Error al actualizar la OT',
            'error' => 'ERR_01',
            'obj' =>$vl->errors()
         ],Response::HTTP_BAD_REQUEST);
      }else
      {
         try
         {
            DB::beginTransaction();
            $ot=  Ot::findOrFail($id);
            $ot->fill($data['datos_encabezado']);
            $ot->save();
            $requerimientos=$data['requerimientos'];
            $debug['arreglo']=$requerimientos;
            $compras=$data['compras'];
            $id_ot=$ot->id;
            $index=0;
            $tiempos_x_area= Tiempos_x_Area::where('ots_id',$id_ot)->get();
            $model_descripcion_requerimiento=  Requerimientos_Ot::where('ots_id',$id_ot)->get();
            $j=0;
            $debug['arreglo']=$model_descripcion_requerimiento;
            foreach ($requerimientos as $requerimiento) {
               if(  $index >= count($tiempos_x_area)  ){
                  break;
               }
               $tiempos_x_area[$index]->tiempo_estimado_ot=$requerimiento['horas'];
               $tiempos_x_area[$index]->tiempo_extra=$requerimiento['tiempo_extra'];
               $tiempos_x_area[$index]->areas_id=$requerimiento['area'];
               $tiempos_x_area[$index]->save();
               for ($i=0; $i < count($requerimiento['requerimientos']) ; $i++) {
                  $arreglo=$requerimiento['requerimientos'][$i];
                  $arreglo_ingresar= array('nombre' => $arreglo['model_nom'],'horas'=> floatval($arreglo['model_horas']),'areas_id' =>$requerimiento['area'],'ots_id' =>$id_ot);
                  try {
                     $model_descripcion_requerimiento[$j]->fill( $arreglo_ingresar);
                     $model_descripcion_requerimiento[$j]->save();
                  } catch (Exception $e) {
                     $model_descripcion_requerimiento= new Requerimientos_Ot;
                     $model_descripcion_requerimiento->fill( $arreglo_ingresar);
                     $model_descripcion_requerimiento->save();
                  }
                  $j++;
               }
               unset($requerimientos[$index]);
               $index++;
            }
            $index=0;
            $model_compras= Compras_Ot::where('ots_id',$id_ot)->get();
            foreach ($compras as $compra) {
               if(  $index >= count($model_compras)  ){
                  $debug["sali_bien2"]='entre a salir bien Compras';
                  break;
               }
               $model_compras[$index]->fill($compra);
               $model_compras[$index]->save();
               unset($compras[$index]);
               $index++;
            }
            $debug["count_req2"]=count($requerimientos);
            if( count($requerimientos) > 0 ){
               foreach ($requerimientos as $requerimiento) {
                  $tiempos_x_area= new Tiempos_x_Area;
                  $tiempos_x_area->tiempo_estimado_ot=$requerimiento['horas'];
                  $tiempos_x_area->tiempo_extra=$requerimiento['tiempo_extra'];
                  $tiempos_x_area->ots_id=$id_ot;
                  $tiempos_x_area->areas_id=$requerimiento['area'];
                  $tiempos_x_area->save();
                  for ($i=0; $i < count($requerimiento['requerimientos']) ; $i++) {
                     $model_descripcion_requerimiento= new Requerimientos_Ot;
                     $arreglo=$requerimiento['requerimientos'][$i];
                     $arreglo_ingresar= array('nombre' => $arreglo['model_nom'],'horas'=> $arreglo['model_horas'],'areas_id'=>$requerimiento['area'],'ots_id'=>$id_ot);
                     $model_descripcion_requerimiento->fill( $arreglo_ingresar);
                     $model_descripcion_requerimiento->save();
                  }
               }
            }
            foreach ($compras as $compra) {
               $model_compras= new Compras_Ot;
               $model_compras->fill($compra);
               $model_compras->ots_id=$id_ot;
               $model_compras->save();
            }
            $historico= new Historico_Ot;
            $historico->fill($data['datos_encabezado']);
            $historico->ots_id=$id_ot;
            $historico->requerimientos_ot=json_encode($data['requerimientos']);
            $historico->compras_ot=json_encode($compras);
            $historico->save();
            $maker=Auth::user();
            $user= User::findOrFail($ot->usuarios_id);
            $user->notify(new OtTiempoExtraAprobado($maker,$ot));
            DB::commit();
            return response([
               'status' => Response::HTTP_OK,
               'response_time' => microtime(true) - LARAVEL_START,
               'msg' => 'Se han Actualizado los datos de la OT ', 
               'obj' => $ot
            ],Response::HTTP_OK);
         }catch(Exception $e){
            DB::rollback();
            return response([
               'status' => Response::HTTP_BAD_REQUEST,
               'response_time' => microtime(true) - LARAVEL_START,
               'error' => 'fallo_al_actualizar',
               'consola' =>$e->getMessage(),
               'debug'=> $debug,
               'request' =>$request->all()
            ],Response::HTTP_BAD_REQUEST);
         }
      }
   }
public function update ( Request $ request , $ id ) { $ respuesta = [ ] ; $ data = $ request -> all ( ) ; $ vl = $ this -> validatorEditarOT ( $ data [ 'datos_encabezado' ] ) ; if ( $ vl -> fails ( ) ) { return response ( [ 'status' => Response :: HTTP_BAD_REQUEST , 'response_time' => microtime ( true ) - LARAVEL_START , 'msg' => 'Error al actualizar la OT' , 'error' => 'ERR_01' , 'obj' => $ vl -> errors ( ) ] , Response :: HTTP_BAD_REQUEST ) ; } else { try { DB :: beginTransaction ( ) ; $ ot = Ot :: findOrFail ( $ id ) ; $ ot -> fill ( $ data [ 'datos_encabezado' ] ) ; $ ot -> save ( ) ; $ requerimientos = $ data [ 'requerimientos' ] ; $ debug [ 'arreglo' ] = $ requerimientos ; $ compras = $ data [ 'compras' ] ; $ id_ot = $ ot -> id ; $ index = 0 ; $ tiempos_x_area = Tiempos_x_Area :: where ( 'ots_id' , $ id_ot ) -> get ( ) ; $ model_descripcion_requerimiento = Requerimientos_Ot :: where ( 'ots_id' , $ id_ot ) -> get ( ) ; $ j = 0 ; $ debug [ 'arreglo' ] = $ model_descripcion_requerimiento ; foreach ( $ requerimientos as $ requerimiento ) { if ( $ index >= count ( $ tiempos_x_area ) ) { break ; } $ tiempos_x_area [ $ index ] -> tiempo_estimado_ot = $ requerimiento [ 'horas' ] ; $ tiempos_x_area [ $ index ] -> tiempo_extra = $ requerimiento [ 'tiempo_extra' ] ; $ tiempos_x_area [ $ index ] -> areas_id = $ requerimiento [ 'area' ] ; $ tiempos_x_area [ $ index ] -> save ( ) ; for ( $ i = 0 ; $ i < count ( $ requerimiento [ 'requerimientos' ] ) ; $ i ++ ) { $ arreglo = $ requerimiento [ 'requerimientos' ] [ $ i ] ; $ arreglo_ingresar = array ( 'nombre' => $ arreglo [ 'model_nom' ] , 'horas' => floatval ( $ arreglo [ 'model_horas' ] ) , 'areas_id' => $ requerimiento [ 'area' ] , 'ots_id' => $ id_ot ) ; try { $ model_descripcion_requerimiento [ $ j ] -> fill ( $ arreglo_ingresar ) ; $ model_descripcion_requerimiento [ $ j ] -> save ( ) ; } catch ( Exception $ e ) { $ model_descripcion_requerimiento = new Requerimientos_Ot ; $ model_descripcion_requerimiento -> fill ( $ arreglo_ingresar ) ; $ model_descripcion_requerimiento -> save ( ) ; } $ j ++ ; } unset ( $ requerimientos [ $ index ] ) ; $ index ++ ; } $ index = 0 ; $ model_compras = Compras_Ot :: where ( 'ots_id' , $ id_ot ) -> get ( ) ; foreach ( $ compras as $ compra ) { if ( $ index >= count ( $ model_compras ) ) { $ debug [ " sali_bien2 " ] = 'entre a salir bien Compras' ; break ; } $ model_compras [ $ index ] -> fill ( $ compra ) ; $ model_compras [ $ index ] -> save ( ) ; unset ( $ compras [ $ index ] ) ; $ index ++ ; } $ debug [ " count_req2 " ] = count ( $ requerimientos ) ; if ( count ( $ requerimientos ) > 0 ) { foreach ( $ requerimientos as $ requerimiento ) { $ tiempos_x_area = new Tiempos_x_Area ; $ tiempos_x_area -> tiempo_estimado_ot = $ requerimiento [ 'horas' ] ; $ tiempos_x_area -> tiempo_extra = $ requerimiento [ 'tiempo_extra' ] ; $ tiempos_x_area -> ots_id = $ id_ot ; $ tiempos_x_area -> areas_id = $ requerimiento [ 'area' ] ; $ tiempos_x_area -> save ( ) ; for ( $ i = 0 ; $ i < count ( $ requerimiento [ 'requerimientos' ] ) ; $ i ++ ) { $ model_descripcion_requerimiento = new Requerimientos_Ot ; $ arreglo = $ requerimiento [ 'requerimientos' ] [ $ i ] ; $ arreglo_ingresar = array ( 'nombre' => $ arreglo [ 'model_nom' ] , 'horas' => $ arreglo [ 'model_horas' ] , 'areas_id' => $ requerimiento [ 'area' ] , 'ots_id' => $ id_ot ) ; $ model_descripcion_requerimiento -> fill ( $ arreglo_ingresar ) ; $ model_descripcion_requerimiento -> save ( ) ; } } } foreach ( $ compras as $ compra ) { $ model_compras = new Compras_Ot ; $ model_compras -> fill ( $ compra ) ; $ model_compras -> ots_id = $ id_ot ; $ model_compras -> save ( ) ; } $ historico = new Historico_Ot ; $ historico -> fill ( $ data [ 'datos_encabezado' ] ) ; $ historico -> ots_id = $ id_ot ; $ historico -> requerimientos_ot = json_encode ( $ data [ 'requerimientos' ] ) ; $ historico -> compras_ot = json_encode ( $ compras ) ; $ historico -> save ( ) ; $ maker = Auth :: user ( ) ; $ user = User :: findOrFail ( $ ot -> usuarios_id ) ; $ user -> notify ( new OtTiempoExtraAprobado ( $ maker , $ ot ) ) ; DB :: commit ( ) ; return response ( [ 'status' => Response :: HTTP_OK , 'response_time' => microtime ( true ) - LARAVEL_START , 'msg' => 'Se han Actualizado los datos de la OT ' , 'obj' => $ ot ] , Response :: HTTP_OK ) ; } catch ( Exception $ e ) { DB :: rollback ( ) ; return response ( [ 'status' => Response :: HTTP_BAD_REQUEST , 'response_time' => microtime ( true ) - LARAVEL_START , 'error' => 'fallo_al_actualizar' , 'consola' => $ e -> getMessage ( ) , 'debug' => $ debug , 'request' => $ request -> all ( ) ] , Response :: HTTP_BAD_REQUEST ) ; } } }
Update the specified resource in storage.
Update the specified resource in storage .
//Validaciòn de las entradas por el metodo POST //Inicio una transacción por si falla algún ingreso no quede registro en ninguna tabla //Busca la OT en la BD /*Agregar Tiempos por Area Requerimientos */ /*Agrego el tiempo por Area */ /*El siguiente for recorre el listado de requerimientos y los agrega */ /*El siguiente for recorre el listado de compras y los agrega*/ /*Si el numero no concuerda es porque hay un nuevo requerimiento*/ /*Agrego el tiempo por Area */ /*El siguiente for recorre el listado de requerimientos y los agrega */ /*El siguiente for recorre el listado de compras y los agrega*/ //Guardar el Historico //Notificar a la ejecutiva cuando se modifique su tarea //Mensaje a mostrar en el Front