public ActionResult verLiquidacionTrabajador(string rutTrabajador, int mes, int anio) { liquidacion LiquidacionTrabajador = liquidacion.obtenerLiquidacionPorFecha(rutTrabajador,mes,anio); trabajador Trabajador = new trabajador(); Trabajador.rut = rutTrabajador; Trabajador = Trabajador.obtenerTrabajador(); ViewData["liquidacion"] = LiquidacionTrabajador; ViewData["trabajador"] = Trabajador; return View("../Trabajador/verLiquidacion"); }
public ActionResult nuevoDiaNoTrabajado(string rut) { if (Session["rol"] != null && (Session["rol"].Equals("admin") || Session["rol"].Equals("contabilidad"))) { trabajador trab = new trabajador(); trab.rut = rut; trab = trab.obtenerTrabajador(); ViewBag.Rut = rut; ViewBag.NombreTrabajador = trab.nombres + trab.apellidos; return View(); } else { return RedirectToAction("Index", "Home"); } }
public liquidacion generarLiquidacion() { datosPagoTrabajador datosPago = datosPagoTrabajador.obtenerDatosPago(rut); trabajador Trabajador = new trabajador(); Trabajador.rut = rut; Trabajador = Trabajador.obtenerTrabajador(); porcentaje_descuento_apv = Trabajador.porcentajeAPV; sueldo_base = datosPago.sueldoBase; obra=Trabajador.obra; bono_produccion=datosPago.bonoProduccion; bono_responsabilidad=datosPago.bonoResponsabilidad; gratificacion=datosPago.gratificacion; bono_colacion=datosPago.bonoColacion; bono_movilizacion=datosPago.bonoMovilizacion; viatico=datosPago.viatico; desgaste_herramientas=datosPago.desgasteHerramientas; //CALCULO VALOR HORA double valor_dia = datosPago.sueldoBase / 30; double valor_hora = valor_dia * 7; valor_hora = valor_hora / datosPago.cantidadHorasSemanales; valor_hora_extra = valor_hora * 1.5; // cantidad_horas_extras = horasExtras.obtenerHorasExtrasMes(rut,mes_actual,anio_actual); sueldo_imponible = datosPago.sueldoBase + datosPago.gratificacion + datosPago.bonoProduccion + datosPago.bonoResponsabilidad;//+ Convert.ToInt32(cantidad_horas_extras*valor_hora_extra); sueldo_bruto = sueldo_imponible + asignacion_familiar + bono_colacion + bono_movilizacion + viatico + desgaste_herramientas; //ASIGNACION FAMILIAR List<cargafamiliar> cargas = Models.cargafamiliar.obtenerCargas(rut); numero_cargas=cargas.Count; asignacion_familiar = numero_cargas*Convert.ToInt32(asignacionFamiliar.obtenerAsignacionSegunMontoImponible(sueldo_imponible)); //AFP Models.afp afp_trabajador = Models.afp.obtenerAFP(Trabajador.afp); porcentaje_descuento_afp_sis=afp_trabajador.sis; porcentaje_descuento_afp=afp_trabajador.tasa; //SALUD if (!Trabajador.salud.Equals("Fonasa")) { //OBTENER PLAN ISAPRE double UFIsapre = Trabajador.porcentajeSalud; //VALOR UF double valorUF = uf.obtenerUF(mes_actual,anio_actual).valor; if (UFIsapre != 0) { porcentaje_descuento_salud = 0; descuento_isapre_uf = UFIsapre*valorUF; } } //AFC if (Trabajador.tipo_regimen.Equals("Antiguo")) { porcentaje_descuento_afc = Trabajador.porcentajeAFC; } else { //SEGURO CESANTIA if (Trabajador.tipo_contrato.Equals("Fijo")) {//OBTENER PORCENTAJE AFC seguroCesantia SeguroCesantia= seguroCesantia.obtenerPlazoFijo(); porcentaje_descuento_afc_trabajador = SeguroCesantia.trabajador; porcentaje_descuento_afc_empleador = SeguroCesantia.empleador; porcentaje_descuento_afc = porcentaje_descuento_afc_trabajador; }else{ seguroCesantia SeguroCesantia = seguroCesantia.obtenerPlazoIndefinido(); porcentaje_descuento_afc_trabajador= SeguroCesantia.trabajador; porcentaje_descuento_afc_empleador = SeguroCesantia.empleador; porcentaje_descuento_afc = porcentaje_descuento_afc_trabajador; } } //CALCULOS if (porcentaje_descuento_apv == 0) { apv=0; } else { apv= Convert.ToInt32(sueldo_imponible * porcentaje_descuento_apv)/100; } if (porcentaje_descuento_afp == 0) { afp = 0; } else { afp = Convert.ToInt32(sueldo_imponible * porcentaje_descuento_afp)/100; afp_sis_cargo_empleador = Convert.ToInt32(sueldo_imponible * porcentaje_descuento_afp_sis) / 100; } if (porcentaje_descuento_salud == 0) { salud = Convert.ToInt32(descuento_isapre_uf); //salud = 0; }else{ salud = Convert.ToInt32(sueldo_imponible * porcentaje_descuento_salud)/100; } if (porcentaje_descuento_afc == 0) { afc = 0; afc_cargo_empleador = Convert.ToInt32(sueldo_imponible * porcentaje_descuento_afc_empleador) / 100; } else { afc = Convert.ToInt32(sueldo_imponible * porcentaje_descuento_afc)/100; afc_cargo_empleador = Convert.ToInt32(sueldo_imponible * porcentaje_descuento_afc_empleador) / 100; } double descuentos=afc + afp + apv + salud; double total_despues_descuentos = sueldo_imponible - descuentos; sueldo_liquido=Convert.ToInt32(total_despues_descuentos+ asignacion_familiar + datosPago.bonoColacion + datosPago.bonoMovilizacion +datosPago.viatico +datosPago.desgasteHerramientas); DateTime fechaInicio = new DateTime(anio_actual,mes_actual,1); DateTime fechaFinal = new DateTime(anio_actual, mes_actual, 30); cantidad_dias_notrabajados = diasNoTrabajados.cantidadDiasNoTrabajados(rut, fechaInicio, fechaFinal); descuento_noTrabajo = Convert.ToInt32(cantidad_dias_notrabajados * valor_dia); dias_licencia = licenciasTrabajadores.cantidadDiasLicencia(rut, fechaInicio, fechaFinal); descuento_licencia = Convert.ToInt32(dias_licencia * valor_dia); sueldo_liquido = sueldo_liquido - descuento_licencia - descuento_noTrabajo; return this; }
public void generarFiniquito() { trabajador Trabajador = new trabajador(); Trabajador.rut = rut; Trabajador=Trabajador.obtenerTrabajador(); nombre_completo = Trabajador.nombres + " " + Trabajador.apellidos; fecha_ingreso_empresa = Trabajador.fechaIngresoEmpresa; int dias_feriados = feriados.ObtenerdiasRango(fecha_ingreso_empresa,fecha_finiquito); int sueldo = 0; datosPagoTrabajador datosPago = datosPagoTrabajador.obtenerDatosPago(rut); sueldo = datosPago.sueldoBase; valor_dia = sueldo / 30; int meses_diferencia = fecha_finiquito.Month - fecha_ingreso_empresa.Month; int mes_finiquito = fecha_finiquito.Month; int anio_finiquito = fecha_finiquito.Year; int dias_diferencia = DateTime.DaysInMonth(anio_finiquito, mes_finiquito) - fecha_finiquito.Day; double feriado_proporcional = (meses_diferencia*factor_mes + dias_diferencia*factor_dia) + dias_feriados; total_finiquito = Convert.ToInt32(feriado_proporcional * valor_dia); }
public ActionResult verTrabajador(string rut) { if (Session["rol"] != null && (Session["rol"].Equals("admin") || Session["rol"].Equals("contabilidad"))) { trabajador Trabajador = new trabajador(); Trabajador.rut = rut; ViewData["listaIsapres"] = isapre.obtenerTodasIsapres(); ViewData["listaAFP"] = afp.obtenerTodasAFP(); ViewData["obras"] = faena.obtenerTodas(); ViewData["trabajador"] = Trabajador.obtenerTrabajador(); return View(); } else { return RedirectToAction("Index", "Home"); } }
public ActionResult verLiquidacion(string rutTrabajador) { DateTime fecha_actual = DateTime.Today; liquidacion LiquidacionTrabajador = new liquidacion(fecha_actual.Year,fecha_actual.Month); LiquidacionTrabajador.rut = rutTrabajador; LiquidacionTrabajador = LiquidacionTrabajador.generarLiquidacion(); LiquidacionTrabajador.borrarLiquidacion(); LiquidacionTrabajador.guardarLiquidacion(); trabajador Trabajador = new trabajador(); Trabajador.rut = rutTrabajador; Trabajador = Trabajador.obtenerTrabajador(); ViewData["liquidacion"] = LiquidacionTrabajador; ViewData["trabajador"] = Trabajador; return View(); }
public ActionResult licencias(string rut) { if (Session["rol"] != null && (Session["rol"].Equals("admin") || Session["rol"].Equals("contabilidad"))) { trabajador trab = new trabajador(); trab.rut = rut; trab= trab.obtenerTrabajador(); ViewBag.Rut = rut; ViewBag.NombreTrabajador = trab.nombres + trab.apellidos; List<licenciasTrabajadores> licencias = licenciasTrabajadores.obtenerTodas(rut); return View(licencias); } else { return RedirectToAction("Index", "Home"); } }
public ActionResult guardarDatosPersonales(FormCollection form) { if (Session["rol"] != null && (Session["rol"].Equals("admin") || Session["rol"].Equals("contabilidad"))) { trabajador Trabajador = new trabajador(); Trabajador.rut = (string)form["rutTrabajador"]; Trabajador.direccion=(string)form["direccion"]; Trabajador.telefono=(string)form["telefono"]; Trabajador.cargo=(string)form["cargo"]; Trabajador.tipo_contrato = (string)form["tipo_contrato"]; Trabajador.obra=(string)form["obra"]; string tieneapv=(string)form["apv"]; if (tieneapv.Equals("No")) { Trabajador.porcentajeAPV = 0; } else { try { Trabajador.porcentajeAPV = Convert.ToDouble((string)form["porcentajeAPV"]); } catch (Exception) { Trabajador.porcentajeAPV = 0; } } try { Trabajador.porcentajeAFC = Convert.ToDouble((string)form["porcentajeAFC"]); } catch (Exception) { Trabajador.porcentajeAFC = 0; } try { Trabajador.porcentajeSalud = Convert.ToDouble((string)form["porcentajeSalud"]); } catch (Exception) { Trabajador.porcentajeSalud = 0; } try { Trabajador.porcentajeAFP = Convert.ToDouble((string)form["porcentajeAFP"]); } catch (Exception) { Trabajador.porcentajeAFP = 0; } Trabajador.afp = (string)form["afp"]; Trabajador.salud = (string)form["salud"]; Trabajador.guardarDatosPersonales(); ViewData["listaIsapres"] = isapre.obtenerTodasIsapres(); ViewData["listaAFP"] = afp.obtenerTodasAFP(); ViewData["obras"] = faena.obtenerTodas(); ViewData["trabajador"] = Trabajador.obtenerTrabajador(); return View("verTrabajador"); } else { return RedirectToAction("Index", "Home"); } }
public ActionResult datosPago(string rutTrabajador) { if (Session["rol"]!=null && (Session["rol"].Equals("admin") || Session["rol"].Equals("contabilidad"))) { if (datosPagoTrabajador.existenDatos(rutTrabajador)) { datosPagoTrabajador datosPago = datosPagoTrabajador.obtenerDatosPago(rutTrabajador); trabajador trab = new trabajador(); trab.rut = rutTrabajador; trab = trab.obtenerTrabajador(); ViewBag.NombreTrabajador = trab.nombres + trab.apellidos; return View(datosPago); } else { datosPagoTrabajador datosPago = new datosPagoTrabajador(); datosPago.rut = rutTrabajador; trabajador trab = new trabajador(); trab.rut = rutTrabajador; trab = trab.obtenerTrabajador(); ViewBag.NombreTrabajador = trab.nombres + trab.apellidos; return View(datosPago); } } else { return RedirectToAction("Index", "Home"); } }