示例#1
0
 public function importarReqs()
 {
     $reqs_legacy = $this->consultarReqsLegacy();
     foreach ($reqs_legacy as $req_legacy) {
         if (!empty($req_legacy->proy)) {
             $proyecto = Proyecto::whereProyecto($req_legacy->proy)->get(['id', 'urg_id']);
         } else {
             $proyecto = Proyecto::where('proyecto', 'like', $req_legacy->proy_esp . '%')->get(['id', 'urg_id']);
         }
         //Determinar el ID del usuario solicitante
         $solicita_id = User::whereLegacyUsername($req_legacy->solicita)->pluck('id');
         if (empty($solicita_id)) {
             $solicita_id = 2;
         }
         //Determinar el ID del usuario autoriza
         if (!empty($req_legacy->autoriza)) {
             $autoriza_id = User::whereLegacyUsername($req_legacy->autoriza)->pluck('id');
         } else {
             $autoriza_id = 0;
         }
         if (empty($autoriza_id)) {
             $autoriza_id = 2;
         }
         //Determinar el usuario responsable
         if (!empty($req_legacy->responsable)) {
             $user_id = User::whereLegacyUsername($req_legacy->responsable)->pluck('id');
         } else {
             $user_id = 0;
         }
         if (empty($user_id)) {
             $user_id = 2;
         }
         $test_req = Req::whereReq($req_legacy->req)->first(['req']);
         if (empty($test_req)) {
             $req_nueva = new Req();
             $req_nueva->req = $req_legacy->req;
             $req_nueva->fecha_req = $req_legacy->fecha_req;
             if (count($proyecto) > 0) {
                 $req_nueva->urg_id = $proyecto[0]->urg_id;
                 $req_nueva->proyecto_id = $proyecto[0]->id;
                 $req_nueva->etiqueta = $req_legacy->etiqueta;
             } else {
                 $req_nueva->urg_id = 1;
                 $req_nueva->proyecto_id = 1;
                 $req_nueva->etiqueta = $req_legacy->etiqueta . ' #RevisarProy-URG';
             }
             $req_nueva->lugar_entrega = $req_legacy->lugar_entrega;
             $req_nueva->obs = $req_legacy->obs;
             $req_nueva->solicita = $solicita_id;
             $req_nueva->autoriza = $autoriza_id;
             $req_nueva->estatus = $req_legacy->estatus;
             $req_nueva->user_id = $user_id;
             $req_nueva->tipo_cambio = $req_legacy->tc;
             $req_nueva->moneda = $req_legacy->moneda;
             $req_nueva->tipo_orden = $req_legacy->tipo_orden;
             $req_nueva->save();
         }
     }
 }
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(Request $request)
 {
     $urg_externa_id = $request->input('urg_externa_id');
     $concepto = $request->input('concepto');
     $tipo_compensa_externa = $request->input('tipo_compensa_externa');
     $proyecto_id = $request->input('proyecto_id');
     $proyecto = Proyecto::find($proyecto_id);
     $proyecto->load('fondos');
     $documento_afin = $request->input('documento_afin');
     if (empty($documento_afin)) {
         $documento_afin = 0;
     }
     $fecha = \Carbon\Carbon::now()->toDateString();
     $compensa_rm = CompensaRm::create(['documento_afin' => $documento_afin, 'fecha' => $fecha, 'tipo' => 'Externa']);
     $monto_total = 0;
     if ($request->input('rm_aplicacion') > 0) {
         $j = 0;
         foreach ($request->input('rm_aplicacion') as $rm_aplicacion) {
             $monto_aplicacion = $request->input('monto_aplicacion')[$j];
             if ($monto_aplicacion > 0) {
                 if ($tipo_compensa_externa == 'Abono') {
                     CompensaDestino::create(['compensa_rm_id' => $compensa_rm->id, 'rm_id' => $rm_aplicacion, 'monto' => $monto_aplicacion]);
                 }
                 if ($tipo_compensa_externa == 'Cargo') {
                     CompensaOrigen::create(['compensa_rm_id' => $compensa_rm->id, 'rm_id' => $rm_aplicacion, 'monto' => $monto_aplicacion]);
                 }
                 $monto_total += $monto_aplicacion;
             }
             $j++;
         }
     }
     if ($request->input('monto_nuevo_rm')[0] > 0) {
         $rm_origen_id = $request->input('rm_origen')[0];
         $rmOrigen = Rm::find($rm_origen_id);
         $k = 0;
         foreach ($request->input('rm_nuevo') as $rm_nuevo) {
             $rm = new Rm();
             $rm->rm = $rm_nuevo;
             $rm->proyecto_id = $proyecto_id;
             $rm->objetivo_id = 1;
             $rm->actividad_id = 1;
             $rm->cog_id = $request->input('cog_nuevo')[$k];
             $rm->fondo_id = $proyecto->fondos[0]->id;
             $rm->monto = 0;
             $rm->d_rm = 'Compensación #' . $compensa_rm->id;
             $rm->save();
             $monto_nuevo_rm = $request->input('monto_nuevo_rm')[$k];
             if ($monto_nuevo_rm > 0) {
                 //Insertar en compsena_destinos
                 CompensaDestino::create(['compensa_rm_id' => $compensa_rm->id, 'rm_id' => $rm->id, 'monto' => $monto_nuevo_rm]);
                 $monto_total += $monto_nuevo_rm;
             }
             $k++;
         }
     }
     $compensa_rm->compensaExternas()->create(['urg_externa_id' => $urg_externa_id, 'concepto' => $concepto, 'tipo' => $tipo_compensa_externa, 'monto' => $monto_total]);
     return redirect()->action('CompensaExternaController@index');
 }
示例#3
0
 public function reporteEjercido()
 {
     $proyecto = Proyecto::findOrFail($this->proyecto_id);
     $ejercido = $proyecto->egresos()->where('cuenta_id', 1)->with('benef', 'cuenta', 'user')->get();
     /**
      * @todo Descontar "Cargos" existentes en Pólizas
      */
     return $ejercido;
 }
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(Request $request)
 {
     $proyecto_id_destino = $request->input('proyecto_id_destino');
     $proyecto_destino = Proyecto::find($proyecto_id_destino);
     $proyecto_destino->load('fondos');
     $documento_afin = $request->input('documento_afin');
     if (empty($documento_afin)) {
         $documento_afin = 0;
     }
     $fecha = \Carbon\Carbon::now()->toDateString();
     $compensa_rm = CompensaRm::create(['documento_afin' => $documento_afin, 'fecha' => $fecha, 'tipo' => 'Interna']);
     $monto_total = 0;
     $i = 0;
     foreach ($request->input('rm_origen') as $rm_origen) {
         $monto_origen = $request->input('monto_origen')[$i];
         if ($monto_origen > 0) {
             //Insertar en compsena_orgienes
             CompensaOrigen::create(['compensa_rm_id' => $compensa_rm->id, 'rm_id' => $rm_origen, 'monto' => $monto_origen]);
         }
         $i++;
     }
     $j = 0;
     foreach ($request->input('rm_destino') as $rm_destino) {
         $monto_destino = $request->input('monto_destino')[$j];
         if ($monto_destino > 0) {
             //Insertar en compsena_destinos
             CompensaDestino::create(['compensa_rm_id' => $compensa_rm->id, 'rm_id' => $rm_destino, 'monto' => $monto_destino]);
         }
         $j++;
     }
     if ($request->input('monto_nuevo_rm')[0] > 0) {
         $rm_origen_id = $request->input('rm_origen')[0];
         $rmOrigen = Rm::find($rm_origen_id);
         $k = 0;
         foreach ($request->input('rm_nuevo') as $rm_nuevo) {
             $rm = new Rm();
             $rm->rm = $rm_nuevo;
             $rm->proyecto_id = $proyecto_id_destino;
             $rm->objetivo_id = $request->input('objetivo_destino');
             $rm->actividad_id = 1;
             $rm->cog_id = $request->input('cog_nuevo')[$k];
             $rm->fondo_id = $proyecto_destino->fondos[0]->id;
             $rm->monto = 0;
             $rm->d_rm = 'Compensación #' . $compensa_rm->id;
             $rm->save();
             $monto_nuevo_rm = $request->input('monto_nuevo_rm')[$k];
             if ($monto_nuevo_rm > 0) {
                 //Insertar en compsena_destinos
                 CompensaDestino::create(['compensa_rm_id' => $compensa_rm->id, 'rm_id' => $rm->id, 'monto' => $monto_nuevo_rm]);
             }
             $k++;
         }
     }
     return redirect()->action('CompensaProyectosController@index');
 }
示例#5
0
 public static function getUserAutoriza($proyecto_id)
 {
     $urg_id = Proyecto::find($proyecto_id)->urg_id;
     $urg = Urg::find($urg_id);
     $cargo = $urg->cargos()->where('fin', '=', '0000-00-00')->first(array('user_id'));
     if ($cargo !== null) {
         $user_id = $cargo->user_id;
     } else {
         $user_id = 0;
     }
     return $user_id;
 }
 private function registrarProyectoEgreso($gxc)
 {
     //Determinar proyecto_id
     $proyecto_id = Proyecto::where('proyecto', 'LIKE', $gxc->proy)->pluck('id');
     //Enconrar egreso_id
     $cuenta_bancaria_id = $this->getCuentaBancariaId($gxc->cta_b);
     if (!empty($cuenta_bancaria_id)) {
         $query_egreso = Egreso::where('cuenta_bancaria_id', '=', $cuenta_bancaria_id);
         if ($gxc->tipo == 'ch') {
             $query_egreso->where('cheque', '=', $gxc->poliza);
             $legacy_fecha = \DB::connection($this->db_origen)->table('tbl_cheques')->where('cta_b', $gxc->cta_b)->where('cheque', $gxc->poliza)->pluck('fecha');
         } else {
             $query_egreso->where('poliza', '=', $gxc->poliza);
             $legacy_fecha = \DB::connection($this->db_origen)->table('tbl_egresos')->where('cta_b', $gxc->cta_b)->where('egreso_id', $gxc->poliza)->pluck('fecha');
         }
         $query_egreso->where('fecha', $legacy_fecha);
         $egreso = $query_egreso->first();
         if (empty($egreso->id)) {
             dd('Egreso no encontrado ' . $gxc->poliza);
         }
         //Crear Relación
         $egreso->proyectos()->attach($proyecto_id, ['monto' => round($gxc->monto, 2)]);
     }
 }
 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]);
                 }
             }
         }
     }
 }
 public function validarOperacion()
 {
     $operacion = true;
     $hoy = \Carbon\Carbon::today()->toDateString();
     if (!$this->proyecto_id) {
         if ($this->modelo == 'Req') {
             $this->proyecto_id = Req::where('id', $this->documento_id)->pluck('proyecto_id');
         } elseif ($this->modelo == 'Solicitud') {
             $this->proyecto_id = Solicitud::where('id', $this->documento_id)->pluck('proyecto_id');
         }
     }
     $proyecto = Proyecto::find($this->proyecto_id);
     if (empty($proyecto)) {
         return false;
     }
     $op_restrigindas = OpRestringida::where('aaaa', $proyecto->aaaa)->where('modelo', $this->modelo)->whereNested(function ($query) use($hoy) {
         $query->where('inicio', '<=', $hoy);
         //                $query->where('fin', '>=', $hoy);
     })->whereNested(function ($query) use($proyecto) {
         $query->orWhere(function ($q) use($proyecto) {
             $q->where('aplica_type', 'Guia\\Models\\TipoProyecto');
             $q->where('aplica_id', $proyecto->tipo_proyecto_id);
         });
         $query->orWhere(function ($q) use($proyecto) {
             $q->where('aplica_type', 'Guia\\Models\\Urg');
             $q->where('aplica_id', $proyecto->urg_id);
         });
         $query->orWhere(function ($q) use($proyecto) {
             $q->where('aplica_type', 'Guia\\Models\\Proyecto');
             $q->where('aplica_id', $proyecto->id);
         });
     })->get();
     if (count($op_restrigindas) > 0) {
         $operacion = false;
         $this->op_restringida = $op_restrigindas[0];
         foreach ($op_restrigindas as $restriccion) {
             $excepcion = OpExcepcion::where('op_restringida_id', $restriccion->id)->whereNested(function ($query) use($hoy) {
                 $query->where('inicio', '<=', $hoy);
                 $query->where('fin', '>=', $hoy);
             })->whereNested(function ($query) use($proyecto) {
                 $query->orWhere(function ($q) use($proyecto) {
                     $q->where('aplica_type', 'Guia\\Models\\TipoProyecto');
                     $q->where('aplica_id', $proyecto->tipo_proyecto_id);
                 });
                 $query->orWhere(function ($q) use($proyecto) {
                     $q->where('aplica_type', 'Guia\\Models\\Urg');
                     $q->where('aplica_id', $proyecto->urg_id);
                 });
                 $query->orWhere(function ($q) use($proyecto) {
                     $q->where('aplica_type', 'Guia\\Models\\Proyecto');
                     $q->where('aplica_id', $proyecto->id);
                 });
                 $query->orWhere(function ($q) {
                     $q->where('aplica_type', 'Guia\\User');
                     $q->where('aplica_id', \Auth::user()->id);
                 });
             })->get();
             if (count($excepcion) > 0) {
                 $operacion = true;
             }
         }
     }
     return $operacion;
 }
 /**
  * Display the specified resource.
  *
  * @return Response
  */
 public function show()
 {
     //$fileName = storage_path().'\app\proyectos\temp.txt'; //Windows
     //$fileName = str_replace('/', '\\',$fileName); //Windows
     $fileName = storage_path() . '/app/proyectos/temp.txt';
     $importador = new ImportadorProyecto($fileName);
     $importador->extraer();
     /**
      * @todo Verificar existencia de todos los campos
      */
     $verifica_proy = Proyecto::whereProyecto($importador->proy)->get();
     $data['verifica_proy'] = $verifica_proy;
     $data['proyecto'] = $importador->proy;
     $data['d_proyecto'] = $importador->d_proyecto;
     $data['urg'] = $importador->urg;
     $data['d_urg'] = $importador->d_urg;
     $data['fondo'] = $importador->fondo;
     $data['d_fondo'] = $importador->d_fondo;
     $data['monto'] = $importador->monto_proy;
     $data['aaaa'] = $importador->aaaa;
     $data['inicio'] = $importador->inicio;
     $data['fin'] = $importador->fin;
     $data['partidas'] = $importador->arr_recursos;
     return view('admin.proyectos.importPreview')->with($data);
 }
示例#10
0
 /**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function index()
 {
     $proyectos = Proyecto::with('urg')->with('tipoProyecto')->get();
     return view('admin.proyectos.index', compact('proyectos'));
 }
示例#11
0
 public function actualizarDerechosFext()
 {
     $proyectos_fext = \DB::connection($this->db_origen)->table('t_proyectos')->get(['proy', 'usr']);
     foreach ($proyectos_fext as $proyecto_fext) {
         $proyecto = Proyecto::where('proyecto', '=', $proyecto_fext->proy)->first(['id']);
         $user = User::where('legacy_username', '=', $proyecto_fext->usr)->first();
         if (!empty($user) && !empty($proyecto)) {
             $acceso = new Acceso(['acceso_id' => $proyecto->id, 'acceso_type' => 'Guia\\Models\\Proyecto']);
             $user->accesos()->save($acceso);
         }
     }
 }
示例#12
0
 public function getIdsProyectos()
 {
     $arr_id_proyectos = array();
     $arr_id_proyectos = Proyecto::acceso($this->user_id, $this->presupuesto)->lists('id')->all();
     return $arr_id_proyectos;
 }
示例#13
0
Route::group(array('prefix' => 'api', 'middleware' => ['auth']), function () {
    Route::get('/rm-dropdown/', function () {
        $proyecto_id = \Input::get('proyecto_id');
        $rms = \Guia\Models\Rm::where('proyecto_id', '=', $proyecto_id)->get(['rm', 'id']);
        return response()->json($rms);
    });
    Route::get('/proyectos-dropdown/', function () {
        $arr_proyectos = \FiltroAcceso::getArrProyectos();
        foreach ($arr_proyectos as $k => $v) {
            $proyectos[] = ['id' => $k, 'proyecto_descripcion' => $v];
        }
        return response()->json($proyectos);
    });
    Route::get('/egresos-proyecto/', function () {
        $proyecto_id = \Input::get('proyecto_id');
        $egresos = \Guia\Models\Proyecto::findOrFail($proyecto_id)->egresos()->with('benef', 'cuentaBancaria', 'cuenta', 'user')->with('rms.cog')->get();
        return response()->json($egresos);
    });
    Route::get('/egresos-benef/', function () {
        $benef_id = \Input::get('benef_id');
        $egresos = \Guia\Models\Benef::findOrFail($benef_id)->egresos()->with('benef')->with('cuentaBancaria')->with('cuenta')->with('user')->get();
        return response()->json($egresos);
    });
    Route::get('/benef-search/', function () {
        $benef_search = \Input::get('term');
        $benefs = \Guia\Models\Benef::where('benef', 'LIKE', '%' . $benef_search . '%')->orderBy('benef')->get(['benef']);
        foreach ($benefs as $benef) {
            $arr_benefs[] = ['value' => $benef->benef];
        }
        return response()->json($arr_benefs);
    });