/** * Store a newly created resource in storage. * * @return Response */ public function store(MatrizCuadroRequest $request) { $req_id = $request->input('req_id'); //Si existe un cuadro para la requisición, redirecciona para mostrar el cuadro existente $verifica_cuadro = Cuadro::whereReqId($req_id)->first(); if (!empty($verifica_cuadro)) { return redirect()->action('MatrizCuadroController@show', array($req_id)); } //Crear Cuadro $cuadro = new Cuadro(); $cuadro->req_id = $req_id; $cuadro->fecha_cuadro = \Carbon\Carbon::now()->toDateString(); $cuadro->estatus = 'Cotizando'; $cuadro->elabora = \Auth::user()->id; $cuadro->save(); //Insertar en articulo_cotizacion $arr_articulos_id = Articulo::whereReqId($req_id)->lists('id')->all(); $arr_cotizaciones_id = Cotizacion::whereReqId($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 = $request->input('costo_' . $articulo_id . '_' . $cotizacion_id); $sel_value == $cotizacion_id && empty($no_cotizado) ? $sel = 1 : ($sel = 0); //Guarda información en tabla pivote articulo_cotizacion $articulo->cotizaciones()->attach([$cotizacion_id => ['costo' => round($costo, 2), 'sel' => $sel]]); } //Actualizar impuesto y no_cotizado en articulos $articulo->impuesto = $request->input('impuesto_' . $articulo_id); $articulo->no_cotizado = $request->input('no_cotizado_' . $articulo_id); $articulo->save(); } //Actualizar fecha_cotiza en cotizaciones foreach ($arr_cotizaciones_id as $cotizacion_id) { $cotizacion = Cotizacion::find($cotizacion_id); $cotizacion->cuadro_id = $cuadro->id; $cotizacion->fecha_cotizacion = \Carbon\Carbon::now()->toDateString(); $cotizacion->vigencia = $request->input('vigencia_' . $cotizacion_id); $cotizacion->garantia = $request->input('garantia_' . $cotizacion_id); $cotizacion->imprimir = true; $cotizacion->save(); } //Actualización de tipo de cambio $tipo_cambio = $request->input('tipo_cambio'); $moneda = $request->input('moneda'); if (!empty($tipo_cambio) && !empty($moneda)) { $req = Req::find($req_id); $req->tipo_cambio = $tipo_cambio; $req->moneda = $moneda; $req->save(); } return redirect()->action('MatrizCuadroController@show', array($req_id)); }
private function crearCuadro($req, $fecha_cuadro) { //Creación de cuadros if ($req->estatus == 'Cotizada' || $req->estatus == 'Autorizada' || $req->estatus == 'Pagada') { $estatus_cuadro = 'Terminado'; } else { $estatus_cuadro = ''; } $user_adq = \InfoDirectivos::getResponsable('ADQ'); $user_csg = \InfoDirectivos::getResponsable('CSG'); $user_sad = \InfoDirectivos::getResponsable('SAD'); $cuadro = new Cuadro(); $cuadro->req_id = $req->id; $cuadro->fecha_cuadro = $fecha_cuadro; $cuadro->estatus = $estatus_cuadro; $cuadro->elabora = $user_adq->id; //Suministros $cuadro->revisa = $user_csg->id; //Serv. Generales $cuadro->autoriza = $user_sad->id; //SAD $cuadro->save(); return $cuadro->id; }