Ejemplo n.º 1
0
 /**
  * Show the form for creating a new resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function create($doc_id, $doc_type)
 {
     $data['doc_id'] = $doc_id;
     $data['doc_type'] = $doc_type;
     if ($doc_type == 'Solicitud') {
         $solicitud = Solicitud::find($doc_id);
     }
     $rms = Rm::whereProyectoId($solicitud->proyecto_id)->get();
     $data['rms'] = $rms;
     return view('retencion.formRetencion')->with($data);
 }
Ejemplo n.º 2
0
 public function reporteEjercidoRms($proyecto_id)
 {
     $rms = Rm::whereProyectoId($proyecto_id)->get(['id']);
     $egresos_id = [];
     foreach ($rms as $rm) {
         $rm_obj = RM::find($rm->id);
         //Exlusión de egresos de vales comprobados
         $egresos_id_comprobados = $this->getEgresosComprobados($rm_obj);
         $egresos_query = $rm->egresos()->where('cuenta_id', 1);
         if (count($egresos_id_comprobados) > 0) {
             $egresos_query->whereNotIn('egresos.id', $egresos_id_comprobados);
         }
         $nvo = $egresos_query->get(['egresos.id'])->lists('id')->all();
         $egresos_id = array_merge($egresos_id, $nvo);
     }
     $ejercido_rm = Egreso::whereIn('id', $egresos_id)->with('benef', 'cuenta', 'user')->get();
     return $ejercido_rm;
 }
 /**
  * Show the form for creating a new resource.
  *
  * @return Response
  */
 public function create($id)
 {
     $solicitud = Solicitud::find($id);
     $data['solicitud'] = $solicitud;
     //Determina rm_id ya registrados en la solicitud para impedir cargos duplicados
     $arr_excluir = array();
     $rms_registrados = $solicitud->rms;
     foreach ($rms_registrados as $rm_excluir) {
         $arr_excluir[] = $rm_excluir->id;
     }
     $rms = Rm::whereProyectoId($solicitud->proyecto_id)->whereNotIn('id', $arr_excluir)->get();
     if (count($rms) > 0) {
         $rms->load('cog');
     } else {
         return redirect()->back()->with('message', 'Todos los Recursos Materiales han sido asignados');
     }
     $data['objetivos'] = [];
     $data['rms'] = $rms;
     return view('solicitudes.formSolRecurso')->with($data);
 }
Ejemplo n.º 4
0
 /**
  * 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);
 }
Ejemplo n.º 5
0
 public function importarSolicitudes()
 {
     $solicitudes_legacy = $this->consultarSolicitudesLegacy();
     foreach ($solicitudes_legacy as $sol_legacy) {
         $benef = \DB::connection('legacy_benef')->table('tbl_benef')->where('benef_id', '=', $sol_legacy->benef_id)->value('benef');
         $benef_id = Benef::whereBenef($benef)->pluck('id');
         $proyecto = Proyecto::whereProyecto($sol_legacy->proy)->first(['id', 'urg_id']);
         //Determinar el ID del usuario solicitante
         $solicita_id = User::whereLegacyUsername($sol_legacy->solicita)->pluck('id');
         //Determinar el usuario responsable
         if ($sol_legacy->responsable == 'Presupuesto') {
             $usuario = \InfoDirectivos::getResponsable('PRESU');
             $user_id = $usuario->id;
         } elseif ($sol_legacy->responsable == 'Contabilidad') {
             $usuario = \InfoDirectivos::getResponsable('CONTA');
             $user_id = $usuario->id;
         } elseif ($sol_legacy->responsable == 'Recepcion') {
             //Buscar primer usuario con rol recepcion
             $user_id = 2;
         } else {
             $user_id = User::whereLegacyUsername($sol_legacy->responsable)->pluck('id');
         }
         if (empty($sol_legacy->inventariable)) {
             $inventariable = 0;
         } else {
             $inventariable = 1;
         }
         $sol_nueva = new Solicitud();
         $sol_nueva->fecha = $sol_legacy->fecha;
         $sol_nueva->benef_id = $benef_id;
         $sol_nueva->tipo_solicitud = $sol_legacy->tipo_solicitud;
         $sol_nueva->urg_id = $proyecto->urg_id;
         $sol_nueva->proyecto_id = $proyecto->id;
         $sol_nueva->concepto = $sol_legacy->concepto;
         $sol_nueva->obs = $sol_legacy->obs . ' #SIGI: ' . $sol_legacy->solicitud_id;
         $sol_nueva->no_documento = $sol_legacy->no_documento;
         $sol_nueva->no_afin = $sol_legacy->id_afin;
         $sol_nueva->monto = $sol_legacy->monto;
         $sol_nueva->solicita = $solicita_id;
         $sol_nueva->estatus = $sol_legacy->estatus;
         $sol_nueva->user_id = $user_id;
         //responsable
         $sol_nueva->monto_pagado = $sol_legacy->monto_pagado;
         $sol_nueva->viaticos = $sol_legacy->viaticos;
         $sol_nueva->inventariable = $inventariable;
         $sol_nueva->save();
         if ($sol_nueva->estatus != 'Cancelada') {
             if ($sol_legacy->tipo_solicitud != 'Vale') {
                 $rms_solicitud = $this->consutlarRMs($sol_legacy->solicitud_id);
                 foreach ($rms_solicitud as $rm_legacy) {
                     $rm_id = Rm::whereRm($rm_legacy->rm)->value('id');
                     $sol_nueva->rms()->attach($rm_id, ['monto' => $rm_legacy->monto]);
                 }
             } else {
                 //Buscar si tiene capturado el objetivo
                 $objs_solicitud = $this->consultarObjetivos($sol_legacy->solicitud_id);
                 if (count($objs_solicitud) > 0) {
                     foreach ($objs_solicitud as $obj_legacy) {
                         $objetivo_id = Objetivo::whereObjetivo($obj_legacy->objetivo)->pluck('id');
                         if (empty($obj_legacy)) {
                             dd($obj_legacy);
                         }
                         $sol_nueva->objetivos()->attach($objetivo_id, ['monto' => $obj_legacy->monto]);
                     }
                 } else {
                     //Si no, asigna primer objetivo que encuentre en el proyecto
                     $objetivo_id = Rm::whereProyectoId($sol_nueva->proyecto_id)->pluck('objetivo_id');
                     if (empty($objetivo_id->objetivo_id)) {
                         $objetivo_id = 1;
                     }
                     $sol_nueva->objetivos()->attach($objetivo_id, ['monto' => $sol_nueva->monto]);
                 }
             }
         }
     }
 }