/** * 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 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]); } } } }
public function importarCompensaciones() { $cambios_cuenta = $this->consultaCambioCuenta(); foreach ($cambios_cuenta as $cambio) { $cambio_origenes = $this->consultaCambioOrigen($cambio->cambio_id); $cambio_destinos = $this->consultaCambioDestino($cambio->cambio_id); $compensa_rm = CompensaRm::create(['fecha' => $cambio->fecha, 'tipo' => $cambio->tipo]); if (count($cambio_origenes) > 0) { foreach ($cambio_origenes as $origen) { $origen_rm_id = Rm::whereRm($origen->rm_origen)->value('id'); $compensa_origen = new CompensaOrigen(['rm_id' => $origen_rm_id, 'monto' => $origen->monto]); $compensa_rm->compensaOrigenes()->save($compensa_origen); } } if (count($cambio_destinos) > 0) { foreach ($cambio_destinos as $destino) { $destino_rm_id = Rm::whereRm($destino->rm_destino)->value('id'); $compensa_destino = new CompensaDestino(['rm_id' => $destino_rm_id, 'monto' => $destino->monto]); $compensa_rm->compensaDestinos()->save($compensa_destino); } } if ($cambio->tipo == 'ExternaIngreso' || $cambio->tipo == 'ExternaEgreso') { $legacy_comp_ext = $this->consultaCompensaExterna($cambio->cambio_id); $urg_externa_id = UrgExterna::whereUrgExterna($legacy_comp_ext->ures_ext)->pluck('id'); if (empty($urg_externa_id)) { $urg_externa_id = UrgExterna::whereUrgExterna('2.2')->pluck('id'); } $compensa_externa = new CompensaExterna(['urg_externa_id' => $urg_externa_id, 'tipo' => $legacy_comp_ext->tipo, 'concepto' => $legacy_comp_ext->concepto]); $compensa_rm->compensaExternas()->save($compensa_externa); } } }
/** * 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'); }
/** * 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); }
private function crearEgreso($e_legacy) { $benef_id = $this->getBenefId($e_legacy->benef_id); $cuenta_id = $this->getCuentaId($e_legacy->concepto); $user_id = $this->getUserId($e_legacy->responsable); $egreso = Egreso::create(['cuenta_bancaria_id' => $this->cuenta_bancaria->id, 'poliza' => $e_legacy->egreso_id, 'cheque' => 0, 'fecha' => $e_legacy->fecha, 'benef_id' => $benef_id, 'cuenta_id' => $cuenta_id, 'concepto' => '(' . $e_legacy->concepto . ') ' . $e_legacy->cmt, 'monto' => round($e_legacy->monto, 2), 'estatus' => $e_legacy->estatus, 'user_id' => $user_id]); //Presupuesto: Importar RMs if ($cuenta_id == 1 && $this->db_origen == 'legacy') { $egreso_rms_legacy = $this->getEgresoRmLegacy($e_legacy->egreso_id); foreach ($egreso_rms_legacy as $eg_rm) { $rm_id = Rm::whereRm($eg_rm->rm)->pluck('id'); $egreso->rms()->attach($rm_id, ['monto' => $eg_rm->monto]); } } }
/** * Store a newly created resource in storage. * * @return Response */ public function store() { $importador = new ImportadorProyecto('/uploads/proyectos/temp.txt'); $importador->extraer(); $urg = Urg::whereUrg($importador->urg)->get(array('id')); $fondo = Fondo::whereFondo($importador->fondo)->get(array('id')); $arr_inicio = explode("/", $importador->inicio); $arr_fin = explode("/", $importador->fin); $proyecto = new Proyecto(); $proyecto->proyecto = $importador->proy; $proyecto->d_proyecto = $importador->d_proyecto; $proyecto->monto = $importador->monto_proy; $proyecto->urg_id = $urg[0]->id; $proyecto->tipo_proyecto_id = 1; $proyecto->aaaa = $importador->aaaa; $proyecto->inicio = $arr_inicio[2] . "-" . $arr_inicio[1] . "-" . $arr_inicio[0]; $proyecto->fin = $arr_fin[2] . "-" . $arr_fin[1] . "-" . $arr_fin[0]; $proyecto->save(); //Inserta datos @fondo_proyecto $proyecto->fondos()->attach($fondo[0]->id); $arr_objetivos = array(); foreach ($importador->arr_recursos as $partida => $val) { //Buscar objetivo en key del arreglo $objetivo_id = array_search($val['objetivo'], $arr_objetivos); //Si no se encuentra if (empty($objetivo_id)) { $objetivo = new Objetivo(); $objetivo->objetivo = $val['objetivo']; $objetivo->d_objetivo = $val['d_objetivo']; $objetivo->save(); $objetivo_id = $objetivo->id; $arr_objetivos[$objetivo->id] = $val['objetivo']; } $cog = Cog::whereCog($val['cog'])->get(); $rm = new Rm(); $rm->rm = $partida; $rm->proyecto_id = $proyecto->id; $rm->objetivo_id = $objetivo_id; $rm->actividad_id = 1; $rm->cog_id = $cog[0]->id; $rm->fondo_id = $fondo[0]->id; $rm->monto = $val['monto']; $rm->d_rm = ""; $rm->save(); } return redirect()->action('ProyectosController@index'); }
private function crearCheque($ch_legacy) { $benef_id = $this->getBenefId($ch_legacy->benef_id); $cuenta_id = $this->getCuentaId($ch_legacy->concepto); $user_id = $this->getUserId($ch_legacy->responsable); //Cancelado: Crear Poliza de cancelación $cuenta_id == 27 ? $estatus = 'CANCELADO' : ($estatus = $ch_legacy->estatus); $egreso = Egreso::create(['cuenta_bancaria_id' => $this->cuenta_bancaria->id, 'poliza' => 0, 'cheque' => $ch_legacy->cheque, 'fecha' => $ch_legacy->fecha, 'benef_id' => $benef_id, 'cuenta_id' => $cuenta_id, 'concepto' => '(' . $ch_legacy->concepto . ') ' . $ch_legacy->cmt, 'monto' => round($ch_legacy->monto, 2), 'estatus' => $estatus, 'user_id' => $user_id, 'fecha_cobro' => $ch_legacy->fecha_cobro]); //Presupuesto: Importar RMs if ($cuenta_id == 1 && $this->db_origen == 'legacy') { $ch_rms_legacy = $this->getChequeRmLegacy($egreso->cheque); foreach ($ch_rms_legacy as $ch_rm) { $rm_id = Rm::whereRm($ch_rm->rm)->pluck('id'); $egreso->rms()->attach($rm_id, ['monto' => $ch_rm->monto]); } } }
public function setRmsArticulos() { $this->setArticulosConRms(); //Crea arreglo con IDs de los RMs de los artículos $arr_rms_ids = []; foreach ($this->articulos_con_rms as $articulo) { foreach ($articulo->rms as $rm) { $arr_rms_ids[] = $rm->id; } } //Consulta los artículos desde tabla rms $rms_articulos = Rm::whereIn('id', $arr_rms_ids)->orderBy('rm')->with(['articulos' => function ($query) { $query->whereReqId($this->req_id); }])->with('cog')->get(); //Ordena artículos por COG $this->rms_articulos = $rms_articulos->sortBy(function ($rms_articulos) { return $rms_articulos->cog->cog; }); }
/** * 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); }
/** * 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); }
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 rms($proyecto_id) { $rms = Rm::where('proyecto_id', $proyecto_id)->get(['rm', 'id']); return response()->json($rms); }
private function getRm($rm) { $rm = Rm::whereRm($rm)->first(); return $rm; }
private function consultarRmsExternos() { $rms_importados = Rm::lists('rm')->all(); if (count($rms_importados) > 0) { $rms_externos = \DB::connection($this->db_origen)->table('tbl_rm')->whereNotIn('rm', $rms_importados)->get(); } else { $rms_externos = \DB::connection($this->db_origen)->table('tbl_rm')->get(); } return $rms_externos; }
public function importarReembolsosFaltantes() { $legacy_reembolsos = \DB::connection($this->db_origen)->table('tbl_reembolsos')->where('cta_b', $this->cuenta_bancaria->cuenta_bancaria)->whereNotIn('ingreso_id', $this->reembolsos_importados)->get(); foreach ($legacy_reembolsos as $legacy_reembolso) { $cuenta_bancaria_id_egreso = $this->getCuentaBancariaId($legacy_reembolso->cta_b_cheg); $legacy_ingreso = \DB::connection($this->db_origen)->table('tbl_ingresos')->where('cta_b', $legacy_reembolso->cta_b)->where('ingreso_id', $legacy_reembolso->ingreso_id)->first(); if (!empty($legacy_ingreso->ingreso_id)) { //Crear No Identificado $no_identificado = NoIdentificado::create(['cuenta_bancaria_id' => $this->cuenta_bancaria->id, 'fecha' => $legacy_ingreso->fecha, 'monto' => $legacy_ingreso->monto, 'no_deposito' => '', 'identificado' => 0]); $poliza = Poliza::create(['fecha' => $legacy_ingreso->fecha, 'tipo' => 'Ingreso', 'concepto' => $legacy_ingreso->cmt, 'user_id' => \Auth::user()->id]); $poliza->polizaCargos()->create(['cuenta_id' => 10, 'monto' => $legacy_ingreso->monto, 'origen_id' => $no_identificado->id, 'origen_type' => 'Guia\\Models\\NoIdentificado']); $egreso_query = Egreso::where('cuenta_bancaria_id', $cuenta_bancaria_id_egreso); if ($legacy_reembolso->tipo == 'ch') { $egreso_query->where('cheque', $legacy_reembolso->ch_eg); } else { $egreso_query->where('poliza', $legacy_reembolso->ch_eg); } $egreso_id = $egreso_query->pluck('id'); $origen_id = $egreso_id; $origen_type = 'Guia\\Models\\Egreso'; $cuenta_id = $this->getCuentaId($legacy_ingreso->concepto); $poliza_abono = $poliza->polizaAbonos()->create(['cuenta_id' => $cuenta_id, 'monto' => $legacy_ingreso->monto, 'origen_id' => $origen_id, 'origen_type' => $origen_type]); //Registrar RMs del Ingreso $legacy_ingreso_rms = \DB::connection($this->db_origen)->table('tbl_ingresos_rm')->where('cta_b', $legacy_ingreso->cta_b)->where('ingreso_id', $legacy_ingreso->ingreso_id)->get(); if (count($legacy_ingreso_rms) > 0) { foreach ($legacy_ingreso_rms as $legacy_ingreso_rm) { $rm_id = Rm::whereRm($legacy_ingreso_rm->rm)->pluck('id'); $poliza_abono->rms()->attach($rm_id, ['monto' => $legacy_ingreso_rm->monto]); } } } } }
private function getEgresosComprobados(Rm $rm) { $egresos_id_comprobados = []; $comps = $rm->comps()->with('egresos')->get(); if (count($comps) > 0) { $egresos = $comps->pluck('egreso_id'); $egresos_id_comprobados = $egresos->toArray(); } return $egresos_id_comprobados; }
Route::patch('/{id}/editar', 'NoIdentificadoController@update'); Route::delete('/{id}/borrar', 'NoIdentificadoController@destroy'); }); /** Polizas */ Route::group(array('prefix' => 'poliza', 'middleware' => ['auth']), function () { Route::get('/nueva/{tipo}/{egreso_id?}/{opciones?}', 'PolizaController@create'); Route::post('/nueva', 'PolizaController@store'); }); Route::group(['prefix' => 'dropdown-api', 'middleware' => ['auth']], function () { Route::get('/objetivos/{proyecto_id}', 'DropdownApiController@objetivos'); Route::get('/rms/{proyecto_id}', 'DropdownApiController@rms'); }); 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 () {