app/Http/Controllers/OtController.php
/**
   * Store a newly created resource in storage.
   *
   * @param  \Illuminate\Http\Request  $request
   * @return \Illuminate\Http\Response
   */
Store a newly created resource in storage.
Store a newly created resource in storage .
public function store(Request $request)
   {
      $data= $request->all();
      $vl=$this->validatorCrearOT($data['datos_encabezado']);
      if ($vl->fails())
      {
         return response([
            'status' => Response::HTTP_BAD_REQUEST,
            'response_time' => microtime(true) - LARAVEL_START,
            'msg' => 'Error al crear la OT',
            'error' => 'ERR_01',
            'obj' =>$vl->errors()
         ],Response::HTTP_BAD_REQUEST);
      }else
      {
         try
         {
            DB::beginTransaction();
            $ot=new Ot;
            $ot->fill($data['datos_encabezado']);
            $ot->save();
            $requerimientos=$data['requerimientos'];
            $compras=$data['compras'];
            $id_ot=$ot->id;
            $index=0;
            foreach ($requerimientos as $requerimiento) {
               $tiempos_x_area= new Tiempos_x_Area;
               $tiempos_x_area->tiempo_estimado_ot=$requerimiento['horas'];
               $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();
            }
            DB::commit();
            $maker=Auth::user();
            $Rol=Role::where('name','owner')->first();
            $owner=User::where('roles_id',$Rol->id)->first();
            $owner->notify(new OtCreada($maker,$ot));
            return response([
               'status' => Response::HTTP_OK,
               'response_time' => microtime(true) - LARAVEL_START,
               'msg' => 'La OT ha sido creada con exito !! ',
               'obj' => $ot
            ],Response::HTTP_OK);
         }catch(Exception $e){
            DB::rollback();
            return response([
               'status' => Response::HTTP_BAD_REQUEST,
               'response_time' => microtime(true) - LARAVEL_START,
               'error_creacion' => 'fallo_en_la_creacion',
               'consola' =>$e->getMessage(),
               'request' => $request->all()
            ],Response::HTTP_BAD_REQUEST);
         }
      }
   }
public function store ( Request $ request ) { $ data = $ request -> all ( ) ; $ vl = $ this -> validatorCrearOT ( $ data [ 'datos_encabezado' ] ) ; if ( $ vl -> fails ( ) ) { return response ( [ 'status' => Response :: HTTP_BAD_REQUEST , 'response_time' => microtime ( true ) - LARAVEL_START , 'msg' => 'Error al crear la OT' , 'error' => 'ERR_01' , 'obj' => $ vl -> errors ( ) ] , Response :: HTTP_BAD_REQUEST ) ; } else { try { DB :: beginTransaction ( ) ; $ ot = new Ot ; $ ot -> fill ( $ data [ 'datos_encabezado' ] ) ; $ ot -> save ( ) ; $ requerimientos = $ data [ 'requerimientos' ] ; $ compras = $ data [ 'compras' ] ; $ id_ot = $ ot -> id ; $ index = 0 ; foreach ( $ requerimientos as $ requerimiento ) { $ tiempos_x_area = new Tiempos_x_Area ; $ tiempos_x_area -> tiempo_estimado_ot = $ requerimiento [ 'horas' ] ; $ 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 ( ) ; } DB :: commit ( ) ; $ maker = Auth :: user ( ) ; $ Rol = Role :: where ( 'name' , 'owner' ) -> first ( ) ; $ owner = User :: where ( 'roles_id' , $ Rol -> id ) -> first ( ) ; $ owner -> notify ( new OtCreada ( $ maker , $ ot ) ) ; return response ( [ 'status' => Response :: HTTP_OK , 'response_time' => microtime ( true ) - LARAVEL_START , 'msg' => 'La OT ha sido creada con exito !! ' , 'obj' => $ ot ] , Response :: HTTP_OK ) ; } catch ( Exception $ e ) { DB :: rollback ( ) ; return response ( [ 'status' => Response :: HTTP_BAD_REQUEST , 'response_time' => microtime ( true ) - LARAVEL_START , 'error_creacion' => 'fallo_en_la_creacion' , 'consola' => $ e -> getMessage ( ) , 'request' => $ request -> all ( ) ] , Response :: HTTP_BAD_REQUEST ) ; } } }
Store a newly created resource in storage.
Store a newly created 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 /*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*/ //Notificar al usuario Owner cuando se cree una OT //Mensaje a mostrar