public function estatusReq($estatus) { $req = Req::find($this->req->id); $req->estatus = $estatus; $req->save(); //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); }
/** * Show the form for creating a new resource. * * @return Response */ public function create($req_id) { $req = Req::find($req_id); $unidades = Unidad::all(); $data['req'] = $req; $solicita = User::find($req->solicita); $data['solicita'] = $solicita; foreach ($unidades as $unidad) { $arr_unidades[$unidad->tipo][$unidad->unidad] = $unidad->unidad; } $data['unidades'] = $arr_unidades; return view('reqs.formArticulo')->with($data); }
public function recibirReq(RecibirRequest $request) { foreach ($request->input('arr_req_id') as $req_id) { $requisicion = Req::find($req_id); $requisicion->estatus = $request->input('estatus'); $requisicion->user_id = \Auth::user()->id; $requisicion->save(); //Creación de registro $fecha_hora = Carbon::now(); $registro = new Registro(['user_id' => \Auth::user()->id, 'estatus' => $request->input('estatus'), 'fecha_hora' => $fecha_hora]); $requisicion->registros()->save($registro); } return redirect()->action('RecibirController@seleccionarReq')->with(['message' => 'Requisiciones recibidas', 'alert-class' => 'alert-success']); }
/** * 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)); }
/** * Muestra formulario para autorizar requisición. * * @return Response */ public function formAutorizar($id) { $req = Req::find($id); $articulos = Articulo::whereReqId($id)->with('cotizaciones')->with('rms.cog')->get(); $articulos_helper = new ArticulosHelper($articulos, $id); $articulos_helper->setArticulosSinRms(); $articulos_helper->setRmsArticulos(); $arr_rms = Rm::whereProyectoId($req->proyecto_id)->get()->lists('cog_rm_saldo', 'id')->all(); $data['req'] = $req; $data['articulos'] = $articulos; $data['articulos_sin_rms'] = $articulos_helper->articulos_sin_rms; $data['rms_articulos'] = $articulos_helper->rms_articulos; $data['arr_rms'] = $arr_rms; $rms_asignados = true; foreach ($articulos as $articulo) { if ($articulo->rms->count() == 0) { $rms_asignados = false; } } $data['rms_asignados'] = $rms_asignados; $solicita = User::find($req->solicita); $data['solicita'] = $solicita; return view('reqs.formAutorizarReq')->with($data); }
/** * Actualiza cuadro comparativo * * @param int $id * @return Response */ public function update($id, MatrizCuadroRequest $request) { /** * @todo Validar que no se seleccione una cotización de un artículo con costo == 0 */ $cuadro = Cuadro::find($id); $arr_articulos_id = Articulo::whereReqId($cuadro->req_id)->lists('id')->all(); $arr_cotizaciones_id = Cotizacion::whereReqId($cuadro->req_id)->lists('id')->all(); foreach ($arr_articulos_id as $articulo_id) { $articulo = Articulo::find($articulo_id); $sel_value = $request->input('sel_' . $articulo_id); $no_cotizado = $request->input('no_cotizado_' . $articulo_id); if (empty($no_cotizado)) { $no_cotizado = 0; } foreach ($arr_cotizaciones_id as $cotizacion_id) { $costo_nuevo = $request->input('costo_' . $articulo_id . '_' . $cotizacion_id); if (isset($costo_nuevo)) { $sel_value == $cotizacion_id && $costo_nuevo > 0 && empty($no_cotizado) ? $sel = 1 : ($sel = 0); //Verifica existencia de pivote if ($articulo->cotizaciones()->get()->contains($cotizacion_id)) { $costo_actual = $articulo->cotizaciones()->whereCotizacionId($cotizacion_id)->first()->pivot->costo; $sel_actual = $articulo->cotizaciones()->whereCotizacionId($cotizacion_id)->first()->pivot->sel; if ($costo_actual != $costo_nuevo || $sel_actual != $sel) { $articulo->cotizaciones()->updateExistingPivot($cotizacion_id, ['costo' => round($costo_nuevo, 2), 'sel' => $sel]); } } else { //Crea un nuevo registro en pivote articulo_cotizacion $articulo->cotizaciones()->attach([$cotizacion_id => ['costo' => round($costo_nuevo, 2), 'sel' => $sel]]); } } } //Actualizar impuesto en articulos $articulo->impuesto = $request->input('impuesto_' . $articulo_id); $articulo->no_cotizado = $no_cotizado; $articulo->save(); } //Actualiza información de vigencia y garantía @cotizaciones foreach ($arr_cotizaciones_id as $cotizacion_id) { $cotizacion = Cotizacion::find($cotizacion_id); $cotizacion->vigencia = $request->input('vigencia_' . $cotizacion_id); $cotizacion->garantia = $request->input('garantia_' . $cotizacion_id); $cotizacion->imprimir = true; $cotizacion->save(); } //Actualizar Tipo de Cambio en @reqs $tipo_cambio = $request->input('tipo_cambio'); $moneda = $request->input('moneda'); $req = Req::find($cuadro->req_id); if ($req->tipo_cambio != $tipo_cambio || $req->moneda != $moneda) { $req->tipo_cambio = $tipo_cambio; $req->moneda = $moneda; $req->save(); } return redirect()->action('MatrizCuadroController@show', array($cuadro->req_id)); }
public function formatoPdf($id) { $req = Req::find($id); $articulos = Articulo::whereReqId($id)->get(); $req_pdf = new Requisicion($req, $articulos); return response($req_pdf->crearPdf()->header('Content-Type', 'application/pdf')); }
private function actualizarEstatusReq($req_id) { $ocs = Oc::where('req_id', $req_id)->get(); $estatus_req = 'Pagada'; foreach ($ocs as $oc) { if ($oc->estatus != 'Pagada') { $estatus_req = 'Autorizada'; } } $req = Req::find($req_id); if ($req->estatus != $estatus_req) { $req->estatus = $estatus_req; $req->save(); } }