/** * 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'); }
/** * 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'); }
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; }
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; }