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 trabajador obtenerTrabajador() { trabajador Trabajador = new trabajador(); SqlConnection cnx = conexion.crearConexion(); SqlCommand cmd = new SqlCommand(); cmd.Connection = cnx; cmd.CommandText = "SELECT * from trabajador WHERE rut='" + rut + "'"; cmd.CommandType = CommandType.Text; SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { Trabajador.rut = (string)dr["rut"]; Trabajador.nombres = (string)dr["nombres"]; Trabajador.apellidos = (string)dr["apellidos"]; Trabajador.obra = (string)dr["obra"]; Trabajador.cargo = (string)dr["cargo"]; Trabajador.direccion = (string)dr["direccion"]; Trabajador.telefono = (string)dr["telefono"]; Trabajador.salud = (string)dr["salud"]; Trabajador.afp = (string)dr["afp"]; Trabajador.fechaIngresoEmpresa = (DateTime)dr["fechaIngresoEmpresa"]; Trabajador.fechaIngresoSistema = (DateTime)dr["fechaIngresoSistema"]; Trabajador.tipo_contrato = (string)dr["tipo_contrato"]; Trabajador.tipo_regimen = (string)dr["tipo_regimen"]; try { Trabajador.porcentajeAFP = (double)dr["porcentajeAFP"]; } catch (Exception) { Trabajador.porcentajeAFP = 0; } try { Trabajador.porcentajeAPV = (double)dr["porcentajeAPV"]; } catch (Exception) { Trabajador.porcentajeAPV = 0; } try { Trabajador.porcentajeSalud = (double)dr["porcentajeSalud"]; } catch (Exception) { Trabajador.porcentajeSalud = 0; } try { Trabajador.porcentajeAFC = (double)dr["porcentajeAFC"]; } catch (Exception) { Trabajador.porcentajeAFC = 0; } } cnx.Close(); return Trabajador; }
public static List<trabajador> obtenerTodos() { List<trabajador> listaTrabajadores = new List<trabajador>(); SqlConnection cnx = conexion.crearConexion(); SqlCommand cmd = new SqlCommand(); cmd.Connection = cnx; cmd.CommandText = "SELECT * from trabajador ORDER BY apellidos ASC"; cmd.CommandType = CommandType.Text; SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { trabajador Trabajador = new trabajador(); Trabajador.rut = (string)dr["rut"]; Trabajador.nombres = (string)dr["nombres"]; Trabajador.apellidos = (string)dr["apellidos"]; Trabajador.obra = (string)dr["obra"]; Trabajador.cargo = (string)dr["cargo"]; Trabajador.direccion = (string)dr["direccion"]; Trabajador.telefono = (string)dr["telefono"]; Trabajador.salud = (string)dr["salud"]; Trabajador.afp = (string)dr["afp"]; Trabajador.fechaIngresoEmpresa = (DateTime)dr["fechaIngresoSistema"]; Trabajador.fechaIngresoSistema = (DateTime)dr["fechaIngresoEmpresa"]; Trabajador.tipo_contrato = (string)dr["tipo_contrato"]; Trabajador.tipo_regimen = (string)dr["tipo_regimen"]; try { Trabajador.porcentajeAFP = (double)dr["porcentajeAFP"]; } catch (Exception) { Trabajador.porcentajeAFP = 0; } try { Trabajador.porcentajeAPV = (double)dr["porcentajeAPV"]; } catch (Exception) { Trabajador.porcentajeAPV = 0; } try { Trabajador.porcentajeSalud = (double)dr["porcentajeSalud"]; } catch (Exception) { Trabajador.porcentajeSalud = 0; } try { Trabajador.porcentajeAFC = (double)dr["porcentajeAFC"]; } catch (Exception) { Trabajador.porcentajeAFC = 0; } if (!Trabajador.obra.Equals("")) { listaTrabajadores.Add(Trabajador); } } cnx.Close(); return listaTrabajadores; }
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 agregarNuevo(HttpPostedFileBase file, FormCollection form) { if (Session["rol"] != null && (Session["rol"].Equals("admin") || Session["rol"].Equals("contabilidad"))) { mensaje = 0; string rut = (string)form["rut"]; string nombres = (string)form["nombres"]; string apellidos = (string)form["apellidos"]; string fecha1 = (string)form["fechaIngresoEmpresa"]; string[] fecha_1 = fecha1.Split('/'); int dia1 = Convert.ToInt32(fecha_1[0]); int mes1 = Convert.ToInt32(fecha_1[1]); int ano1 = Convert.ToInt32(fecha_1[2]); DateTime fechaIngresoEmpresa = new DateTime(ano1, mes1, dia1); string fecha2 = (string)form["fechaIngresoSistema"]; string[] fecha_2 = fecha2.Split('/'); int dia2 = Convert.ToInt32(fecha_2[0]); int mes2 = Convert.ToInt32(fecha_2[1]); int ano2 = Convert.ToInt32(fecha_2[2]); DateTime fechaIngresoSistema = new DateTime(ano2, mes2, dia2); string direccion = (string)form["direccion"]; string telefono = (string)form["telefono"]; string obra = (string)form["obra"]; string cargo = (string)form["cargo"]; string tipo_regimen = (string)form["tipo_regimen"]; string tipo_contrato = (string)form["tipo_contrato"]; string porcentajeAFP; string porcentajeAPV; string porcentajeSalud; string porcentajeAFC; string sueldo_acordado; try { sueldo_acordado = (string)form["sueldo_acordado"]; } catch (Exception) { sueldo_acordado = ""; } try { porcentajeAFC = (string)form["porcentajeAFC"]; } catch (Exception) { porcentajeAFC = ""; } try { porcentajeAFP = (string)form["porcentajeAFP"]; } catch (Exception) { porcentajeAFP = ""; } try { porcentajeAPV = (string)form["porcentajeAPV"]; } catch (Exception ex) { porcentajeAPV = ""; } try { porcentajeSalud = (string)form["porcentajeSalud"]; } catch (Exception ex) { porcentajeSalud = ""; } string afp = (string)form["afp"]; string salud = (string)form["salud"]; string extImage = Convert.ToString(Request.Files["file"].ContentType); string[] infoImage = extImage.Split('/'); try { string fileExtension = System.IO.Path.GetExtension(Request.Files["file"].FileName); string fileLocation = Server.MapPath("~/Images/copiasCI/") + rut + "." + infoImage[1];//Request.Files["file"].FileName; Request.Files["file"].SaveAs(fileLocation); trabajador Trabajador = new trabajador(); Trabajador.obra = obra; Trabajador.rut = rut; Trabajador.nombres = nombres; Trabajador.apellidos = apellidos; Trabajador.salud = salud; Trabajador.afp = afp; Trabajador.cargo = cargo; Trabajador.direccion = direccion; Trabajador.telefono = telefono; Trabajador.fechaIngresoEmpresa = fechaIngresoEmpresa; Trabajador.fechaIngresoSistema = fechaIngresoSistema; if (!porcentajeAFP.Equals("")) { Trabajador.porcentajeAFP = Convert.ToDouble(porcentajeAFP); } if (!porcentajeAFC.Equals("")) { Trabajador.porcentajeAFC = Convert.ToDouble(porcentajeAFC); } if (!porcentajeAPV.Equals("")) { Trabajador.porcentajeAPV = Convert.ToDouble(porcentajeAPV); } if (!porcentajeSalud.Equals("")) { Trabajador.porcentajeSalud = Convert.ToDouble(porcentajeSalud); } Trabajador.tipo_contrato=tipo_contrato; Trabajador.tipo_regimen=tipo_regimen; Trabajador.guardarTrabajador(); mensaje = 1; } catch (Exception ex) { mensaje = 2; trabajador.eliminarTrabajador(rut); Console.Write(ex); } return RedirectToAction("todos", "Trabajador"); } 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"); } }