コード例 #1
0
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(InvitacionRequest $request)
 {
     //Si existe un cuadro para la requisición, agrega la referencia del ID del cuadro
     $verifica_cuadro = Cuadro::whereReqId($request->input('req_id'))->first();
     if (!empty($verifica_cuadro)) {
         $request->merge(array('cuadro_id' => $verifica_cuadro->id));
     }
     //Verifica si es la primer invitación
     $cotizaciones_existentes = Cotizacion::whereReqId($request->input('req_id'))->count();
     //Si es la primera, se crea registro en requisición y se actualiza su estatus
     if ($cotizaciones_existentes == 0) {
         $req = Req::find($request->input('req_id'));
         $estatus_req = 'Cotizando';
         $req->save();
         $fecha_hora = Carbon::now();
         $registro = new Registro(['user_id' => \Auth::user()->id, 'estatus' => $estatus_req, 'fecha_hora' => $fecha_hora]);
         $req->registros()->save($registro);
     }
     $request->merge(array('fecha_invitacion' => Carbon::now()->toDateString()));
     $invitacion = Cotizacion::create($request->all());
     return redirect()->action('InvitacionController@index', array($invitacion->req_id));
 }
コード例 #2
0
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function show($req_id)
 {
     $cotizaciones = Cotizacion::whereReqId($req_id)->get();
     $articulos = Articulo::whereReqId($req_id)->get();
     $cuadro_id = Cuadro::whereReqId($req_id)->pluck('id');
     $req = Req::whereId($req_id)->first(['tipo_cambio', 'moneda', 'estatus']);
     $ocs = Oc::whereReqId($req_id)->with('benef')->get();
     return view('cuadro.matrizCuadro', compact('req_id', 'cotizaciones', 'articulos', 'cuadro_id', 'req', 'ocs'));
 }
コード例 #3
0
 public function actualizarFechaCuadro()
 {
     $legacy_reqs = \DB::connection($this->db_origen)->table('tbl_req')->get(['req', 'fecha_cuadro']);
     foreach ($legacy_reqs as $legacy_req) {
         $req_id = Req::whereReq($legacy_req->req)->pluck('id');
         Cuadro::whereReqId($req_id)->update(['fecha_cuadro' => $legacy_req->fecha_cuadro]);
     }
 }
コード例 #4
0
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id, ReqFormRequest $request)
 {
     $req = Req::findOrFail($id);
     //Actualización de estatus
     $accion = $request->input('accion');
     if (isset($accion)) {
         switch ($accion) {
             case 'Enviar':
                 $estatus = 'Enviada';
                 break;
             case 'Recuperar':
             case 'Regresar':
                 $estatus = '';
                 break;
             case 'Autorizar':
                 $estatus = 'Autorizada';
                 break;
             case 'Desautorizar':
                 $estatus = 'Cotizada';
                 break;
         }
         if ($accion == 'Asignar') {
             $user_id_responsable = $request->input('user_id');
             if (empty($user_id_responsable)) {
                 return redirect()->action('RequisicionController@show', array($req->id))->with(['message' => 'No se seleccionó ningún usuario a asignar']);
             }
             $estatus = 'Asignada';
             //Solo para efectos del registro
             $req->user_id = $user_id_responsable;
             $nombre = User::whereId($user_id_responsable)->pluck('nombre');
             $mensaje_exito = 'La requisición ' . $req->req . ' ha sido asignada a ' . $nombre;
         } elseif ($accion == 'Desautorizar') {
             $articulos = Articulo::whereReqId($id)->get();
             foreach ($articulos as $articulo) {
                 if ($articulo->rms->count() > 0) {
                     foreach ($articulo->rms as $articulo_rm) {
                         $articulo->rms()->updateExistingPivot($articulo_rm->id, ['rm_id' => 0, 'monto' => 0]);
                     }
                 }
             }
             $req->estatus = $estatus;
         } else {
             $req->estatus = $estatus;
         }
         $req->save();
         if ($accion == 'Regresar') {
             $cuadro = Cuadro::whereReqId($id)->first();
             if (!empty($cuadro)) {
                 $cuadro->delete();
             }
             $cotizaciones = Cotizacion::whereReqId($id)->with('articulos')->get();
             if (count($cotizaciones) > 0) {
                 foreach ($cotizaciones as $cotizacion) {
                     $cotizacion->articulos()->detach();
                     $cotizacion->delete();
                 }
             }
             /**
              * @todo Enviar correo a Jefe de la Unidad de Presupuesto
              * @todo Eliminar archivos cargados
              */
             $ocs = Oc::whereReqId($id)->lists('id');
             if (count($ocs) > 0) {
                 Articulo::whereIn('oc_id', $ocs)->update(['oc_id' => 0]);
                 foreach ($ocs as $oc_id) {
                     Oc::find($oc_id)->delete();
                 }
             }
             $mensaje_exito = 'La requisición ha sido regresada con éxito';
         }
         //Creación de registro
         $fecha_hora = Carbon::now();
         $registro = new Registro(['user_id' => Auth::user()->id, 'estatus' => $estatus, 'fecha_hora' => $fecha_hora]);
         $req->registros()->save($registro);
         //Edición de información
     } else {
         $req->urg_id = $request->input('urg_id');
         $req->proyecto_id = $request->input('proyecto_id');
         $req->etiqueta = $request->input('etiqueta');
         $req->lugar_entrega = $request->input('lugar_entrega');
         $req->obs = $request->input('obs');
         $req->autoriza = FirmasSolRec::getUserAutoriza($request->input('proyecto_id'));
         $req->vobo = $request->input('vobo');
         $req->save();
     }
     if ($accion == 'Regresar' || $accion == 'Asignar') {
         return redirect()->action('RequisicionController@index', 'suministros')->with(['message' => $mensaje_exito, 'alert-class' => 'alert-success']);
     }
     return redirect()->action('RequisicionController@show', array($req->id));
 }