public function importarArticulos() { $reqs = Req::whereBetween('req', $this->arr_rango)->get(['id', 'req', 'estatus']); foreach ($reqs as $req) { $articulos_legacy = $this->consultarArticulosLegacy($req->req); foreach ($articulos_legacy as $art_legacy) { if (!empty($art_legacy->oc)) { $oc_id = Oc::whereOc($art_legacy->oc)->pluck('id'); if (empty($oc_id)) { $oc_id = 0; } } else { $oc_id = 0; } $articulo = new Articulo(); $articulo->req_id = $req->id; $articulo->articulo = $art_legacy->art . ' ' . $art_legacy->esp; $articulo->cantidad = $art_legacy->cantidad; $articulo->impuesto = $art_legacy->impuesto; $articulo->monto = $art_legacy->monto; $articulo->oc_id = $oc_id; $articulo->unidad = $art_legacy->unidad; $articulo->inventariable = $art_legacy->alta; $articulo->save(); if (!empty($art_legacy->rm)) { $rm_id = Rm::whereRm($art_legacy->rm)->value('id'); $articulo->rms()->attach($rm_id, ['monto' => $art_legacy->monto]); } } } }
/** * Actualiza información con la autorización. * * @param int $id * @return Response */ public function asignarRms(Request $request) { $rm_id = $request->input('rm_id'); $arr_articulo_id = $request->input('arr_articulo_id'); if (!isset($arr_articulo_id)) { $arr_articulo_id = array(); } $articulos = Articulo::whereReqId($request->input('req_id'))->get(); foreach ($articulos as $articulo) { if (array_search($articulo->id, $arr_articulo_id) !== false) { if ($articulo->rms->count() > 0) { $articulo->rms()->updateExistingPivot($articulo->rms[0]->id, ['rm_id' => $rm_id, 'monto' => round($articulo->monto, 2)]); } else { $articulo->rms()->attach($rm_id, ['monto' => round($articulo->monto, 2)]); } //$articulo->rms()->sync([$rm_id => ['monto' => $articulo->monto_total]]); } $alta = $request->input('alta_' . $articulo->id); isset($alta) ? $inventariable = $request->input('alta_' . $articulo->id) : ($inventariable = 0); if ($articulo->inventariable !== $alta) { $articulo->inventariable = $alta; $articulo->save(); } } return redirect()->action('AutorizarReqController@formAutorizar', [$request->input('req_id')]); }
/** * Show the form for creating a new resource. * * @return Response */ public function create($oc) { $oc = Oc::whereOc($oc)->get(); $articulos = Articulo::whereOcId($oc[0]->id)->get(); $urgs = Urg::all(array('id', 'urg', 'd_urg')); return view('almacen.entrada.formArticulosOc', compact('oc', 'articulos', 'urgs')); }
/** * Actualiza a 0's el monto de cada artículo cotizado en la tabla articulos */ public function unsetMontoArticulo() { foreach ($this->articulos as $articulo) { $articulo_x_modificar = Articulo::find($articulo->id); $articulo_x_modificar->monto = 0; $articulo_x_modificar->save(); } }
public function importarInvitaciones() { $legacy_invitaciones = $this->consultarInvitacionesLegacy(); foreach ($legacy_invitaciones as $invita_legacy) { $req = Req::whereReq($invita_legacy->req)->first(['id', 'estatus']); $fecha_cuadro = \DB::connection($this->db_origen)->table('tbl_req')->where('req', '=', $invita_legacy->req)->pluck('fecha_cuadro'); $cuadro_legacy = $this->consultarCuadroLegacy($invita_legacy->req); $articulos = Articulo::whereReqId($req->id)->get(['id']); if (count($articulos) > 0) { $cuadro_id = $this->crearCuadro($req, $fecha_cuadro); for ($i = 1; $i < 7; $i++) { $benef_id_i = 'benef_id_' . $i; if (!empty($invita_legacy->{$benef_id_i})) { $fecha_invita_i = 'fecha_invita_' . $i; //Extrae de invitación para poblar una nueva cotización $benef_id = $this->getBenefId($invita_legacy->{$benef_id_i}); $cotiza_nueva = new Cotizacion(); $cotiza_nueva->req_id = $req->id; $cotiza_nueva->cuadro_id = $cuadro_id; $cotiza_nueva->benef_id = $benef_id; $cotiza_nueva->fecha_invitacion = $invita_legacy->{$fecha_invita_i}; $cotiza_nueva->save(); //extrae información de cuadro para poblar articulo_cotizacion if (count($cuadro_legacy) > 0) { if (count($articulos) != count($cuadro_legacy)) { dd($req->id . ' #Articulos: ' . count($articulos) . ' #Cuadro: ' . count($cuadro_legacy)); } $k = 0; foreach ($cuadro_legacy as $cotizacion_legacy) { $costo_i = 'costo_' . $i; $sel_i = 'sel_' . $i; if ($cotizacion_legacy->{$costo_i} > 0) { if ($cotizacion_legacy->{$sel_i} == 'S') { $sel = 1; } else { $sel = 0; } $cotiza_nueva->articulos()->attach($articulos[$k]->id, ['costo' => $cotizacion_legacy->{$costo_i}, 'sel' => $sel]); } $k++; } } } } } else { dd($req->id); } } }
public function actualizarImpuesto() { $reqs_legacy = $this->consultarReqsLegacy(); foreach ($reqs_legacy as $req) { $req_id = Req::whereReq($req)->pluck('id'); $articulos = Articulo::whereReqId($req_id)->get(); $cuadro_legacy = $this->consultarCuadroLegacy($req); if (count($articulos) != count($cuadro_legacy)) { dd($req->id . ' #Articulos: ' . count($articulos) . ' #Cuadro: ' . count($cuadro_legacy)); } $i = 0; foreach ($articulos as $articulo) { $articulo->impuesto = $cuadro_legacy[$i]->impuesto; $articulo->save(); $i++; } } }
private function getMontoReservado(Proyecto $proyecto) { $reqs_id = Req::where('proyecto_id', $proyecto->id)->where('estatus', 'Autorizada')->lists('id')->all(); $articulos = Articulo::whereIn('req_id', $reqs_id)->with('rms')->get(); $reservado_reqs = $articulos->sum('articulo_rm.monto'); //$reservado_reqs = round($rm_objeto->articulos()->whereIn('req_id', $reqs_id)->sum('articulo_rm.monto'),2); $reservado_solicitudes = round(Solicitud::where('proyecto_id', $proyecto->id)->where('estatus', 'Autorizada')->sum('monto'), 2); $montoReservado = $reservado_reqs + $reservado_solicitudes; return round($montoReservado, 2); }
public function cuadroPdf($id) { $cuadro = Cuadro::find($id); $cuadro->load('cotizaciones'); $articulos = Articulo::whereReqId($cuadro->req_id)->get(); $articulos->load('cotizaciones'); $cuadro_pdf = new CuadroPdf($cuadro, $articulos); return response($cuadro_pdf->crearPdf())->header('Content-Type', 'application/pdf'); }
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($id) { $articulo = Articulo::findOrFail($id); $req_id = $articulo->req->id; $articulo->delete(); return redirect()->action('RequisicionController@show', array($req_id)); }
/** * 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)); }
private function actualizar_articulo($id, $oc_id) { $articulo = Articulo::find($id); $articulo->oc_id = $oc_id; $articulo->save(); }
public function invitacionPdf($id) { $invitacion = Cotizacion::find($id); $articulos = Articulo::whereReqId($invitacion->req_id)->get(); $invita_pdf = new InvitacionPdf($invitacion, $articulos); return response($invita_pdf->crearPdf())->header('Content-Type', 'application/pdf'); }
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')); }
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($id) { $oc = Oc::findOrFail($id); /** * @todo Enviar correo a Jefe de la Unidad de Presupuesto * @todo Eliminar archivos cargados */ Articulo::where('oc_id', '=', $id)->update(['oc_id' => 0]); $req_id = $oc->req_id; $oc->delete(); return redirect()->action('OcsController@index', $req_id)->with(['message' => 'Orden de Compra cancelada con éxito', 'alert-class' => 'alert-success']); }