private void CargarEmpleados(bool Seleccione = false) { try { var lstEmpleados = new LN.Empleado().Combo(); var lstCandidatos = new LN.Candidato().Combo(); lstEmpleados.AddRange(lstCandidatos); var lstTrabajadores = lstEmpleados.OrderBy(o => o.Nombre).Distinct().ToList(); if (Seleccione == true) { lstTrabajadores.Insert(0, new BE.Record() { Codigo = "0", Nombre = "Seleccione" }); } this.cboEmpleado.DataSource = lstTrabajadores; this.cboEmpleado.DisplayMember = "Nombre"; this.cboEmpleado.ValueMember = "Codigo"; } catch (Exception ex) { throw ex; } }
/// <summary> /// Cargar solo empleados que cumplan mas de 1 año de ingreso o de vacaciones /// </summary> private void CargarComboEmpleados() { try { var fechaActual = DateTime.Now; var lstUiEmpleadosVacaciones = new LN.Empleado().ListarVacaciones(fechaActual); lstUiEmpleadosVacaciones = lstUiEmpleadosVacaciones.OrderBy(x => x.EmpleadoApellidosNombres).ToList(); lstUiEmpleadosVacaciones.Insert(0, new BE.UI.EmpleadoVacacion() { Id = 0, EmpleadoCodigo = "0", EmpleadoApellidosNombres = "Seleccione", EmpleadoFechaIngreso = DateTime.Now, EmpleadoFechaVacacion = null }); this.cboEmpleado.DataSource = lstUiEmpleadosVacaciones; this.cboEmpleado.DisplayMember = "EmpleadoApellidosNombres"; this.cboEmpleado.ValueMember = "EmpleadoCodigo"; } catch (Exception ex) { throw ex; } }
private void btnEliminar_Click(object sender, EventArgs e) { try { if (this.dgvEmpleados.CurrentRow != null) { if (Util.ConfirmationMessage("¿Desea eliminar al empleado seleccionado?") == false) { return; } var uiEmpleado = (BE.UI.Empleado) this.dgvEmpleados.CurrentRow.DataBoundItem; var beEmpleado = new LN.Empleado().Obtener(uiEmpleado.Id); bool rpta = new LN.Empleado().Eliminar(beEmpleado); if (true) { Util.InformationMessage("Se elimino el empleado seleccionado"); this.CargarEmpleados(); } } } catch (Exception ex) { Util.ErrorMessage(ex.Message); } }
private List <BE.Record> ListadoTrabajadores() { var lstEmpleados = new LN.Empleado().Combo(); var lstCandidatos = new LN.Candidato().Combo(); lstEmpleados.AddRange(lstCandidatos); var lstTrabajadores = lstEmpleados.OrderBy(o => o.Nombre).Distinct().ToList(); return(lstTrabajadores); }
private void CargarEmpleados() { var lstUiEmpleados = new LN.Empleado().ListaSimple(); var lstUiCandidatos = new LN.Candidato().ListaSimple(); lstUiEmpleados.AddRange(lstUiCandidatos); var lstUiTrabajadores = lstUiEmpleados.OrderBy(o => o.ApellidosNombres).ToList(); this.cboEmpleado.DataSource = lstUiTrabajadores; this.cboEmpleado.DisplayMember = "ApellidosNombres"; this.cboEmpleado.ValueMember = "Codigo"; }
private void CargarMotivosCese() { var lstMotivosCese = new LN.Empleado().Combo(); lstMotivosCese.Insert(0, new BE.Record() { Codigo = "", Nombre = "Seleccione" }); this.cboEmpleado.DataSource = lstMotivosCese; this.cboEmpleado.DisplayMember = "Nombre"; this.cboEmpleado.ValueMember = "Codigo"; }
private void cboEmpleado_SelectionChangeCommitted(object sender, EventArgs e) { try { if (this.cboEmpleado.SelectedIndex == 0) { this.txtEmpleadoCodigo.Clear(); this.txtEmpleadoFechaIngreso.Clear(); this.txtEmpleadoSueldo.Text = "0.00"; this.txtEmpleadoAsignacionFamilar.Text = "0.00"; this.txtBancoNombre.Clear(); this.txtBancoCuenta.Clear(); } else { var beRecord = (BE.Record) this.cboEmpleado.SelectedItem; var beEmpleado = new LN.Empleado().Obtener(beRecord.Codigo, true); if (beEmpleado != null && beEmpleado.Recurso != null) { this.txtEmpleadoCodigo.Text = beEmpleado.Codigo; this.txtEmpleadoFechaIngreso.Text = beEmpleado.Recurso.FechaInicio.ToString("dd/MM/yyyy"); this.txtEmpleadoSueldo.Text = beEmpleado.Recurso.Sueldo.ToString("N2"); double asigFam = 0.0; if (beEmpleado.Recurso.NumeroHijos > 0) { var beSueldo = new LN.SueldoMinimo().Actual(DateTime.Now); if (beSueldo != null) { asigFam = beSueldo.Monto / 10; } } this.txtEmpleadoAsignacionFamilar.Text = asigFam.ToString("N2"); this.txtBancoNombre.Text = beEmpleado.Recurso.BancoCTS.Nombre; this.txtBancoCuenta.Text = beEmpleado.Recurso.CuentaCTS; } } } catch (Exception ex) { Util.ErrorMessage(ex.Message); } }
private void CargarEmpleados() { var lstEmpleados = new LN.Empleado().Combo(); var lstCandidatos = new LN.Candidato().Combo(); lstEmpleados.AddRange(lstCandidatos); var lstTrabajador = lstEmpleados.OrderBy(o => o.Codigo).Distinct().ToList(); lstTrabajador.Insert(0, new BE.Record() { Codigo = "", Nombre = "Seleccione" }); this.cboEmpleado.DataSource = lstTrabajador; this.cboEmpleado.DisplayMember = "Nombre"; this.cboEmpleado.ValueMember = "Codigo"; }
private void Editar(BE.UI.Empleado uiEmpleado) { try { var beEmpleado = new LN.Empleado().Obtener(uiEmpleado.Id); var frmEmpleadoEdit = FrmEmpleadoMant.Instance(); frmEmpleadoEdit.MdiParent = this.MdiParent; frmEmpleadoEdit.Show(); frmEmpleadoEdit.Cargar(beEmpleado); frmEmpleadoEdit.frmEmpleadosList = this; } catch (Exception ex) { throw ex; throw; } }
private List <BE.Record> ListadoEmpleados() { try { var lstEmpleados = new LN.Empleado().Combo(); var lstCandidatos = new LN.Candidato().Combo(); lstEmpleados.AddRange(lstCandidatos); var lstBeRegistros = new List <BE.Record>(); lstBeRegistros = lstEmpleados.OrderBy(o => o.Codigo).Distinct().ToList(); return(lstBeRegistros); } catch (Exception ex) { throw ex; } }
private void btnAgregar_Click(object sender, EventArgs e) { try { if (this.cboEmpleado.SelectedIndex == 0) { this.cboEmpleado.Focus(); throw new Exception("Seleccione un empleado"); } DateTime ingreso = this.DtpFechaHoraEntrada.Value; DateTime salida = this.DtpFechaHoraSalida.Value; if (ingreso > salida) { this.DtpFechaHoraEntrada.Focus(); throw new Exception("La fecha y hora de ingreso es mayor a la fecha y hora de salida"); } TimeSpan tiempo = salida.Subtract(ingreso); string codigoEmpleado = this.cboEmpleado.SelectedValue.ToString(); string nombreEmpleado = new LN.Empleado().ObtenerNombreCompleto(codigoEmpleado); int turno = this.cboTurno.SelectedIndex + 1; var uiAsistencia = new BE.UI.Asistencia(); uiAsistencia.ID = 0; uiAsistencia.EmpleadoCodigo = codigoEmpleado; uiAsistencia.EmpleadoNombreCompleto = nombreEmpleado; uiAsistencia.Turno = turno; uiAsistencia.FechaHoraEntrada = ingreso; uiAsistencia.FechaHoraSalida = salida; uiAsistencia.Tiempo = tiempo; uiAsistencia.Origen = "M"; uiAsistencia.Fecha = this.DtpFechaHoraEntrada.Value; this.lstUiAsistencias.Add(uiAsistencia); this.CargarListadoAsistencia(this.lstUiAsistencias); this.LimpiarRegistroManual(); } catch (Exception ex) { Util.ErrorMessage(ex.Message); } }
private void cboEmpleado_SelectionChangeCommitted(object sender, EventArgs e) { try { var beRecord = (BE.Record) this.cboEmpleado.SelectedItem; this.txtEmpleadoCodigo.Text = beRecord.Codigo; if (beRecord.Codigo.Length > 0) { var beEmpleado = new LN.Empleado().Obtener(beRecord.Codigo); if (beEmpleado != null) { this.txtSueldo.Text = beEmpleado.Recurso.Sueldo.ToString("N2"); } } } catch (Exception ex) { Util.ErrorMessage(ex.Message); } }
private List <BE.Record> ListaTrabajadores() { try { List <BE.Record> lstTrabajadores = new List <BE.Record>(); var lstEmpleados = new LN.Empleado().Combo(); var lstCandidatos = new LN.Candidato().Combo(); lstEmpleados.AddRange(lstCandidatos); lstTrabajadores = lstEmpleados.OrderBy(o => o.Codigo).Distinct().ToList(); lstEmpleados = null; lstCandidatos = null; return(lstTrabajadores); } catch (Exception ex) { throw ex; } }
private void CargarEmpleados() { try { var lstEmpleados = new LN.Empleado().Combo(); lstEmpleados = lstEmpleados.OrderBy(x => x.Nombre).ToList(); lstEmpleados.Insert(0, new BE.Record() { Codigo = "0", Nombre = "Seleccione" }); this.cboEmpleado.DataSource = lstEmpleados; this.cboEmpleado.DisplayMember = "Nombre"; this.cboEmpleado.ValueMember = "Codigo"; } catch (Exception ex) { throw ex; } }
/// <summary> /// Monto de bono que se le asigna por cargo o función. /// </summary> /// <param name="codigoEmpleado">Codigo de Empleado o Candidato</param> /// <returns></returns> private double BonoCargo(string codigoEmpleado) { try { double bonoXcargo = 0.0; var beEmpleado = new LN.Empleado().Obtener(codigoEmpleado); if (beEmpleado != null) { var beEmpleadoRecurso = new LN.Empleado().ObtenerRecurso(beEmpleado.IdEmpleado); if (beEmpleadoRecurso != null) { if (beEmpleadoRecurso.Cargo != null) { if (lstUiCargos == null) { lstUiCargos = new LN.Cargo().Listar(); } int idCargo = beEmpleadoRecurso.Cargo.IdCargo; var uiBono = lstUiCargos.FirstOrDefault(x => x.Id == idCargo); if (uiBono != null) { bonoXcargo = uiBono.Bono; } } } } return(bonoXcargo); } catch (Exception ex) { throw ex; } }
private void btnBuscar_Click(object sender, EventArgs e) { try { #region Validar if (this.cboPeriodoFiltro.SelectedIndex == 0) { this.cboPeriodoFiltro.Focus(); throw new Exception("Seleccione un periodo"); } if (this.cboEmpleadoFiltro.SelectedIndex == 0) { this.cboEmpleadoFiltro.Focus(); throw new Exception("Seleccione un empleado"); } #endregion #region Cargar en memoria var beRecord = (BE.Record) this.cboEmpleadoFiltro.SelectedItem; this.uiGratificacion.EmpleadoCodigo = beRecord.Codigo; this.uiGratificacion.EmpleadoNombres = beRecord.Nombre; var beEmpleado = new LN.Empleado().Obtener(beRecord.Codigo); this.uiGratificacion.SueldoBase = beEmpleado.Recurso.Sueldo; this.uiGratificacion.DescuentoRetencioJudicial = 0.0; var beSueldoMinimo = new LN.SueldoMinimo().Actual(DateTime.Now); var beParametros = new BE.Parametros(beSueldoMinimo.Monto); this.uiGratificacion.AsignacionFamiliar = beParametros.AsignacionFamiliar; #endregion #region Resumen y Detalle this.txtPeriodo.Text = this.uiGratificacion.Periodo; this.txtDias.Text = this.uiGratificacion.Dias.ToString(); this.txtFechaInicial.Text = this.uiGratificacion.FechaInicial.ToString("dd/MM/yyyy"); this.txtFechaFinal.Text = this.uiGratificacion.FechaFinal.ToString("dd/MM/yyyy"); this.txtEmpleadoCodigo.Text = this.uiGratificacion.EmpleadoCodigo; this.txtEmpleadoNombres.Text = this.uiGratificacion.EmpleadoNombres; this.txtSueldoBase.Text = this.uiGratificacion.SueldoBase.ToString("N2"); this.txtSueldoAsigFam.Text = this.uiGratificacion.AsignacionFamiliar.ToString("N2"); int anho = this.uiGratificacion.Anho; int mesIni = this.uiGratificacion.FechaInicial.Month; int mesFin = this.uiGratificacion.FechaFinal.Month; string codEmpleado = this.uiGratificacion.EmpleadoCodigo; double bonoNocturnoTotal = 0; double bonoHorasExtrasTotal = 0; int diasCalculo = 0; this.uiGratificacion.Detalle = new List <BE.UI.GratificacionDetalle>(); for (int mes = mesIni; mes <= mesFin; mes++) { double bonoNocturno = 0; double bonoHorasExtras = 0; int diasMes = DateTime.DaysInMonth(anho, mes); int diasInasistencias = 0; var uiPlantillaDetalle = new LN.Planilla(anho, mes).ObtenerPlantillaDetalle(codEmpleado); if (uiPlantillaDetalle != null) { bonoNocturno = uiPlantillaDetalle.BonoNocturnoTotal; bonoHorasExtras = uiPlantillaDetalle.BonoHorasExtrasTotal; double inasistencias = uiPlantillaDetalle.DescuentoInasistenciaCantidad; switch (uiPlantillaDetalle.CalcularPor) { case "M": diasInasistencias = (int)inasistencias / 360; break; case "H": diasInasistencias = (int)inasistencias / 60; break; default: diasInasistencias = (int)inasistencias; break; } } bonoNocturnoTotal += bonoNocturno; bonoHorasExtrasTotal += bonoHorasExtras; diasCalculo += diasMes - diasInasistencias; var uiGratificacionDetalle = new BE.UI.GratificacionDetalle(); uiGratificacionDetalle.Anho = anho; uiGratificacionDetalle.MesId = mes; uiGratificacionDetalle.MesNombre = Util.GetNameOfMonth(mes); uiGratificacionDetalle.EmpleadoCodigo = codEmpleado; uiGratificacionDetalle.BonoNocturno = bonoNocturno; uiGratificacionDetalle.BonoHorasExtras = bonoHorasExtras; uiGratificacionDetalle.DiasMes = DateTime.DaysInMonth(anho, mes); uiGratificacionDetalle.DiasInasistencias = diasInasistencias; uiGratificacionDetalle.DiasCalculo = uiGratificacionDetalle.DiasMes - uiGratificacionDetalle.DiasInasistencias; this.uiGratificacion.Detalle.Add(uiGratificacionDetalle); } var source = new BindingSource(); source.DataSource = this.uiGratificacion.Detalle; this.dgvDetalleGratificaciones.DataSource = source; this.FormatoDetalleGratificacion(); this.txtDetalleBonoNocturno.Text = bonoNocturnoTotal.ToString("N2"); this.txtDetalleBonoHorasExtras.Text = bonoHorasExtrasTotal.ToString("N2"); this.txtDetalleDiasCalculo.Text = diasCalculo.ToString(); this.uiGratificacion.BonoNocturno = bonoNocturnoTotal / 6; this.uiGratificacion.BonoHorasExtras = bonoHorasExtrasTotal / 6; this.uiGratificacion.DiasCalculo = diasCalculo; this.txtBonoNocturno.Text = this.uiGratificacion.BonoNocturno.ToString("N2"); this.txtBonoExtra.Text = this.uiGratificacion.BonoHorasExtras.ToString("N2"); this.txtDescuentoRJ.Text = this.uiGratificacion.DescuentoRetencioJudicial.ToString("N2"); this.txtDescuentoImpuesto.Text = this.uiGratificacion.DescuentoImpuestos.ToString("N2"); double gratificacionBruta = this.uiGratificacion.BonoNocturno + this.uiGratificacion.BonoHorasExtras + this.uiGratificacion.SueldoBase + this.uiGratificacion.AsignacionFamiliar; this.uiGratificacion.GratificacionBruta = (gratificacionBruta / this.uiGratificacion.Dias) * this.uiGratificacion.DiasCalculo; this.txtGratificacionBruta.Text = this.uiGratificacion.GratificacionBruta.ToString("N2"); this.uiGratificacion.GratificacionBono = gratificacionBruta * beParametros.EsSaludFactor; this.txtGratificacionBonificacion.Text = this.uiGratificacion.GratificacionBono.ToString("N2"); this.uiGratificacion.GratificacionNeta = this.uiGratificacion.GratificacionBruta + this.uiGratificacion.GratificacionBono; this.txtGratificacionNeta.Text = this.uiGratificacion.GratificacionNeta.ToString("N2"); this.uiGratificacion.GratificacionPago = this.uiGratificacion.GratificacionNeta - this.uiGratificacion.DescuentoRetencioJudicial - this.uiGratificacion.DescuentoImpuestos; this.txtGratificacionPago.Text = this.uiGratificacion.GratificacionPago.ToString("N2"); #endregion this.txtDescuentoImpuesto.ReadOnly = false; } catch (Exception ex) { Util.ErrorMessage(ex.Message); } }
public void CargarEmpleados(string filtro = "", string valor = "", int idEmpleado = 0) { try { Util.PointerLoad(this); var lstEmpleados = new LN.Empleado().Listar(); if (valor.Length > 0) { switch (filtro) { case "1": //Documento lstEmpleados = lstEmpleados.Where(x => x.DocumentoCodigo == valor).ToList(); break; case "2": //Sala int idSala = int.Parse(valor); lstEmpleados = lstEmpleados.Where(x => x.SalaId == idSala).ToList(); break; case "3": //Sexo lstEmpleados = lstEmpleados.Where(x => x.SexoCodigo == valor).ToList(); break; case "4": //Activo lstEmpleados = lstEmpleados.Where(x => x.Activo == valor).ToList(); break; case "5": //Cargo int idCargo = int.Parse(valor); lstEmpleados = lstEmpleados.Where(x => x.CargoId == idCargo).ToList(); break; default: //Todos break; } } var nroEmpleados = lstEmpleados.Count.ToString(); var sorted = new SortableBindingList <BE.UI.Empleado>(lstEmpleados); this.dgvEmpleados.DataSource = sorted; this.txtNroEmpleados.Text = nroEmpleados; if (idEmpleado > 0) { this.dgvEmpleados.Rows.OfType <DataGridViewRow>().Where(x => (int)x.Cells["Id"].Value == idEmpleado).ToArray <DataGridViewRow>()[0].Selected = true; this.dgvEmpleados.FirstDisplayedScrollingRowIndex = this.dgvEmpleados.SelectedRows[0].Index; this.dgvEmpleados.Update(); } } catch (Exception ex) { throw ex; } finally { Util.PointerReady(this); } }
private void btnCalcular_Click(object sender, EventArgs e) { try { #region Validaciones if (this.cboBono.SelectedIndex == 0) { this.cboBono.Focus(); throw new Exception("Seleccione un tipo de Bono"); } #endregion Util.PointerLoad(this); #region Calcular this.Anho = int.Parse(this.cboAnho.SelectedValue.ToString()); this.Mes = int.Parse(this.cboMes.SelectedValue.ToString()); int dia = DateTime.DaysInMonth(this.Anho, this.Mes); DateTime fechaPeriodo = new DateTime(this.Anho, this.Mes, dia); var beBono = ((BE.UI.Bono) this.cboBono.SelectedItem); int bonoId = beBono.Id; string bonoTipo = beBono.Calculado ? "Calculado" : "Manual"; //Manual o Calculado string bonoNombre = beBono.Nombre; double bonoMonto = 0.0; beBono = null; if (new LN.BonoEmpleado().ExisteCalculo(this.Anho, this.Mes, bonoId)) { if (Util.ConfirmationMessage("Ya existe un calculo de bonos para este periodo. ¿Desea continua?") == false) { return; } } List <BE.Record> lstTrabajadores = new List <BE.Record>(); var lstEmpleados = new LN.Empleado().Combo(); var lstCandidatos = new LN.Candidato().Combo(); lstEmpleados.AddRange(lstCandidatos); lstTrabajadores = lstEmpleados.OrderBy(o => o.Codigo).Distinct().ToList(); lstEmpleados = null; lstCandidatos = null; this.lstUiBonosEmpleados = new List <BE.UI.BonoEmpleado>(); foreach (BE.Record beTrabajador in lstTrabajadores) { var uiBonoEmpleado = new BE.UI.BonoEmpleado(); uiBonoEmpleado.Fecha = fechaPeriodo; uiBonoEmpleado.EmpleadoCodigo = beTrabajador.Codigo; uiBonoEmpleado.EmpleadoNombreCompleto = beTrabajador.Nombre; uiBonoEmpleado.BonoID = bonoId; uiBonoEmpleado.BonoTipo = bonoTipo; uiBonoEmpleado.BonoNombre = bonoNombre; switch (bonoId) { case 1: //Disciplina bonoMonto = this.BonoDisciplina(beTrabajador.Codigo); break; case 2: //Meta int idSalaTrabajador = 0; var beEmpleadoRecurso = new LN.Empleado().ObtenerRecurso(beTrabajador.Codigo); if (beEmpleadoRecurso != null) { idSalaTrabajador = beEmpleadoRecurso.Sala.IdSala; bonoMonto = this.BonoMeta(idSalaTrabajador, beTrabajador.Codigo); } beEmpleadoRecurso = null; break; case 3: //Cargo bonoMonto = this.BonoCargo(beTrabajador.Codigo); break; default: bonoMonto = 0.0; break; } uiBonoEmpleado.Monto = bonoMonto; uiBonoEmpleado.Motivo = ""; if (bonoMonto > 0.0) { lstUiBonosEmpleados.Add(uiBonoEmpleado); } } #endregion #region Mostrar this.txtAnhoMes.Text = fechaPeriodo.ToString("yyyy/MM"); this.txtTipoBono.Text = bonoNombre; var source = new BindingSource(); source.DataSource = this.lstUiBonosEmpleados; this.dgvBonos.DataSource = source; this.txtNroBonos.Text = this.lstUiBonosEmpleados.Count.ToString(); #endregion } catch (Exception ex) { Util.ErrorMessage(ex.Message); } finally { Util.PointerReady(this); } }
private void btnImprimir_Click(object sender, EventArgs e) { try { if (this.uiVacacion == null) { return; } if (Util.ConfirmationMessage("¿Desea imprimir el Calculo de Vacaciones?") == false) { return; } //Obtener o Calcular Recibo BE.UI.VacacionRecibo uiVacacionRecibo = new LN.Vacacion().ObtenerRecibo(this.uiVacacion.Id); if (uiVacacionRecibo == null) { uiVacacionRecibo = new BE.UI.VacacionRecibo(); uiVacacionRecibo.Id = 0; uiVacacionRecibo.IdVacacion = this.uiVacacion.Id; uiVacacionRecibo.Anho = this.uiVacacion.VacacionFechaInicial.Year; uiVacacionRecibo.Mes = this.uiVacacion.VacacionFechaInicial.Month; uiVacacionRecibo.MesNombre = Util.GetNameOfMonth(this.uiVacacion.VacacionFechaInicial.Month); var beEmpresa = new LN.Empresa().Obtener(); uiVacacionRecibo.EmpresaNombre = beEmpresa.NombreComercial; uiVacacionRecibo.EmpresaDistrito = beEmpresa.Ubigeo.Nombre; beEmpresa = null; var beEmpleado = new LN.Empleado().Obtener(this.uiVacacion.EmpleadoCodigo); uiVacacionRecibo.EmpleadoCodigo = beEmpleado.Codigo; uiVacacionRecibo.EmpleadoNombres = beEmpleado.Nombres; uiVacacionRecibo.EmpleadoApellidos = $"{beEmpleado.ApellidoPaterno} {beEmpleado.ApellidoMaterno}"; uiVacacionRecibo.EmpleadoNroDocumento = beEmpleado.NumeroDocumento; beEmpleado = null; uiVacacionRecibo.Detalle = "Vacaciones correspondiente al ejercicio " + DateTime.Now.Year.ToString(); uiVacacionRecibo.PeriodoInicio = this.uiVacacion.PeriodoFechaInicial; uiVacacionRecibo.PeriodoFinal = this.uiVacacion.PeriodoFechaFinal; uiVacacionRecibo.VacacionInicio = this.uiVacacion.VacacionFechaInicial; uiVacacionRecibo.VacacionFinal = this.uiVacacion.VacacionFechaInicial; uiVacacionRecibo.Sueldo = this.uiVacacion.EmpleadoSueldo; uiVacacionRecibo.AsignacionFamiliar = this.uiVacacion.EmpleadoAsignacionFamiliar; uiVacacionRecibo.PromedioHorasExtras = this.uiVacacion.PromedioHorasExtras; uiVacacionRecibo.PromedioBonificacion = this.uiVacacion.PromedioBonificacion; uiVacacionRecibo.Redondeo = this.uiVacacion.Redondeo; uiVacacionRecibo.TotalBruto = this.uiVacacion.TotalBruto; uiVacacionRecibo.RetencionJudicialMonto = this.uiVacacion.RetencionJudicialMonto; string pensionEntidad = ""; if (this.uiVacacion.PensionTipo == BE.UI.TipoPensionEnum.AFP) { pensionEntidad = $"AFP - {this.uiVacacion.PensionNombre}"; } else if (this.uiVacacion.PensionTipo == BE.UI.TipoPensionEnum.ONP) { pensionEntidad = "ONP"; } uiVacacionRecibo.PensionEntidad = pensionEntidad; uiVacacionRecibo.PensionMonto = this.uiVacacion.PensionMonto; uiVacacionRecibo.TotalDescuento = this.uiVacacion.TotalDescuento; uiVacacionRecibo.TotalNeto = this.uiVacacion.TotalNeto; uiVacacionRecibo.TotalNetoLiteral = new NumeroLetras().Convertir(this.uiVacacion.TotalNeto); bool rpta = new LN.Vacacion().RegistrarRecibo(uiVacacionRecibo); if (rpta == false) { return; } } //Mostrar var frmPlanillaVista = FrmImpresion.Instance(); frmPlanillaVista.MdiParent = this.MdiParent; frmPlanillaVista.Show(); frmPlanillaVista.ImpresionVacacion(this.uiVacacion.Id); } catch (Exception ex) { Util.ErrorMessage(ex.Message); } }
private BE.UI.PlanillaBoleta CalcularBoleta(int anho, int mes, string codigoEmpleado) { try { var uiDetalle = new LN.Planilla(anho, mes).ObtenerPlantillaDetalle(codigoEmpleado); if (uiDetalle != null) { this.uiPlanillaBoleta = new BE.UI.PlanillaBoleta(); this.uiPlanillaBoleta.Id = 0; var uiPlanilla = new LN.Planilla(anho, mes).Obtener(); if (this.uiPlanillaBoleta != null) { this.uiPlanillaBoleta.IdPlanilla = uiPlanilla.ID; } uiPlanilla = null; this.uiPlanillaBoleta.Anho = anho; this.uiPlanillaBoleta.Mes = mes; this.uiPlanillaBoleta.MesNombre = Util.GetNameOfMonth(mes); this.uiPlanillaBoleta.MesDias = DateTime.DaysInMonth(anho, mes); #region Asignar datos de Empresa var beEmpresa = new LN.Empresa().Obtener(); this.uiPlanillaBoleta.EmpresaNombre = beEmpresa.NombreComercial; this.uiPlanillaBoleta.EmpresaRuc = beEmpresa.RUC; this.uiPlanillaBoleta.EmpresaDistrito = beEmpresa.Ubigeo.Nombre; this.uiPlanillaBoleta.EmpresaDireccion = beEmpresa.DomicilioFiscal; beEmpresa = null; #endregion #region Asignar datos de Empleado var beEmpleado = new LN.Empleado().Obtener(uiDetalle.EmpleadoCodigo); this.uiPlanillaBoleta.EmpleadoCodigo = beEmpleado.Codigo; this.uiPlanillaBoleta.EmpleadoNombres = beEmpleado.Nombres; this.uiPlanillaBoleta.EmpleadoApellidos = $"{beEmpleado.ApellidoPaterno} {beEmpleado.ApellidoMaterno}"; this.uiPlanillaBoleta.EmpleadoNroDocumento = beEmpleado.NumeroDocumento; beEmpleado = null; var beEmpleadoRecurso = new LN.Empleado().ObtenerRecurso(uiDetalle.EmpleadoCodigo); this.uiPlanillaBoleta.EmpleadoCargo = beEmpleadoRecurso.Cargo.Nombre; this.uiPlanillaBoleta.EmpleadoFechaIngreso = beEmpleadoRecurso.FechaInicio; this.uiPlanillaBoleta.EmpleadoFechaCese = beEmpleadoRecurso.FechaCese; this.uiPlanillaBoleta.EmpleadoEsSaludCodigo = beEmpleadoRecurso.Autogenerado; if (beEmpleadoRecurso.ONP == true) { this.uiPlanillaBoleta.EmpleadoSppCodigo = ""; this.uiPlanillaBoleta.EmpleadoSppEntidad = uiDetalle.SnpNombre; } else { this.uiPlanillaBoleta.EmpleadoSppCodigo = beEmpleadoRecurso.CUSPP; this.uiPlanillaBoleta.EmpleadoSppEntidad = uiDetalle.AfpNombre; } beEmpleadoRecurso = null; var uiVacacion = new LN.Vacacion().ObtenerUltimo(codigoEmpleado); if (uiVacacion != null) { this.uiPlanillaBoleta.EmpleadoVacacionSalida = uiVacacion.VacacionFechaInicial; this.uiPlanillaBoleta.EmpleadoVacacionRetorno = uiVacacion.VacacionFechaFinal; } uiVacacion = null; #endregion #region Asignar datos del Resumen this.uiPlanillaBoleta.DiasLaborados = 0; this.uiPlanillaBoleta.DiasNoLaborados = 0; this.uiPlanillaBoleta.DiasSinGoceHaber = 0; this.uiPlanillaBoleta.DiasSubsidiado = 0; this.uiPlanillaBoleta.HorasNormales = 0; #endregion #region Asignar datos del Sueldo this.uiPlanillaBoleta.Sueldo = uiDetalle.Base; this.uiPlanillaBoleta.AsignacionFamiliar = uiDetalle.AsignacionFamiliar; this.uiPlanillaBoleta.BonificacionNocturna = uiDetalle.BonoNocturnoTotal; this.uiPlanillaBoleta.MovilidadTranslado = new LN.Movilidad().ObtenerTotal(anho, mes, codigoEmpleado); this.uiPlanillaBoleta.SubsidioDescansoMedico = 0.0; //FALTA this.uiPlanillaBoleta.BonificacionHorasExtras = uiDetalle.BonoHorasExtrasTotal; this.uiPlanillaBoleta.CantidadHorasExtras = uiDetalle.BonoHorasExtrasCantidad; this.uiPlanillaBoleta.Cts = 0.0; //FALTA this.uiPlanillaBoleta.Vacaciones = 0.0; //FALTA this.uiPlanillaBoleta.FeriadoDominical = 0.0; //FALTA this.uiPlanillaBoleta.Gratificacion = 0.0; //FALTA this.uiPlanillaBoleta.BonificacionGratificacion = 0.0; //FALTA #endregion #region Asignar datos de Aportes y Deducciones this.uiPlanillaBoleta.AfpFondoMonto = uiDetalle.AfpAporteObligatorio; this.uiPlanillaBoleta.AfpSeguroMonto = uiDetalle.AfpSeguro; this.uiPlanillaBoleta.AfpComisionMonto = uiDetalle.AfpComision; this.uiPlanillaBoleta.IpssVidaMonto = 0.0; //FALTA this.uiPlanillaBoleta.OnpMonto = uiDetalle.SnpTotal; this.uiPlanillaBoleta.RentaQuintaMonto = 0.0; //FALTA this.uiPlanillaBoleta.InasistenciasDias = uiDetalle.DescuentoInasistenciaCantidad; this.uiPlanillaBoleta.InasistenciasMonto = uiDetalle.DescuentoInasistenciaTotal; this.uiPlanillaBoleta.AdelantoMonto = uiDetalle.AdelantoTotal; this.uiPlanillaBoleta.TardanzaMinutos = uiDetalle.DescuentoTardanzaCantidad; this.uiPlanillaBoleta.TardanzaMonto = uiDetalle.DescuentoTardanzaTotal; this.uiPlanillaBoleta.GratificacionMonto = 0.0; //FALTA this.uiPlanillaBoleta.RetencionJudicialMonto = uiDetalle.RetencionJudicialTotal; this.uiPlanillaBoleta.SeguroVidaTrabajadorMonto = 0.0; //FALTA this.uiPlanillaBoleta.IpssSaludTrabajadorMonto = 0.0; //FALTA this.uiPlanillaBoleta.SeguroVidaEmpleadoMonto = 0.0; //FALTA this.uiPlanillaBoleta.IpssSaludEmpleadoMonto = 0.0; //FALTA #endregion //var propertyInfos = uiBoleta.GetType().GetProperties() // .Where(x => x.PropertyType == typeof(double) && x.CanWrite == true) // .ToList(); //foreach (var prop in propertyInfos) //{ // prop.SetValue(uiBoleta, Math.Round((double)prop.GetValue(uiBoleta), 2)); //} uiPlanillaBoleta.GetType().GetProperties() .Where(x => x.PropertyType == typeof(double) && x.CanWrite == true) .ToList() .ForEach(x => x.SetValue( uiPlanillaBoleta, Math.Round((double)x.GetValue(uiPlanillaBoleta), 2) ) ); } return(uiPlanillaBoleta); } catch (Exception ex) { throw ex; } }
private bool Calcular(string codigoEmpleado, DateTime fechaConsulta) { bool calculado = false; try { using (var lnEmpleado = new LN.Empleado()) { var uiEmpleadoCompleto = lnEmpleado.ObtenerEmpleadoCompleto(codigoEmpleado, fechaConsulta); if (uiEmpleadoCompleto != null) { //Rescartar el detalle var lstUiVacacionDetalle = this.uiVacacion.Detalle; //Limpiar this.uiVacacion = new BE.UI.Vacacion(); //Asignar nuevos valores this.uiVacacion.Detalle = lstUiVacacionDetalle; this.uiVacacion.PeriodoFechaInicial = this.dtpPeriodoInicio.Value.Date; this.uiVacacion.PeriodoFechaFinal = this.dtpPeriodoFinal.Value.Date; var fechaVacacionInicio = this.dtpVacacionSalida.Value; int diasVacaciones = int.Parse(this.txtDescansoDias.Text); this.uiVacacion.VacacionFechaInicial = fechaVacacionInicio.Date; this.uiVacacion.VacacionFechaFinal = fechaVacacionInicio.AddDays(diasVacaciones).Date; this.uiVacacion.VacacionDias = diasVacaciones; this.uiVacacion.EmpleadoCodigo = uiEmpleadoCompleto.Codigo; this.uiVacacion.EmpleadoNombreCompleto = $"{uiEmpleadoCompleto.Apellidos}, {uiEmpleadoCompleto.Nombres}"; this.uiVacacion.EmpleadoSueldo = uiEmpleadoCompleto.Sueldo; this.uiVacacion.EmpleadoAsignacionFamiliar = lnEmpleado.ObtenerAsignacionFamiliar(codigoEmpleado); double sumHorasExtras = double.Parse(this.txtSumaHorasExtras.Text); double sumBoninificaciones = double.Parse(this.txtSumaBonos.Text); int numMeses = int.Parse(this.txtCantidadMeses.Text); double promHorasExtras = sumHorasExtras / numMeses; double promBoninificaciones = sumBoninificaciones / numMeses; this.uiVacacion.PromedioHorasExtras = promHorasExtras; this.uiVacacion.PromedioBonificacion = promBoninificaciones; this.uiVacacion.PensionTipo = uiEmpleadoCompleto.PensionTipo; if (uiEmpleadoCompleto.PensionTipo == BE.UI.TipoPensionEnum.AFP) { this.uiVacacion.PensionId = uiEmpleadoCompleto.AfpId; this.uiVacacion.PensionNombre = uiEmpleadoCompleto.AfpNombre; this.uiVacacion.PensionTipoComision = uiEmpleadoCompleto.AfpComisionCodigo; this.uiVacacion.PensionPorcentaje = uiEmpleadoCompleto.AfpComisionPorcentaje; } else { this.uiVacacion.PensionId = 0; this.uiVacacion.PensionNombre = "ONP"; this.uiVacacion.PensionTipoComision = ""; this.uiVacacion.PensionPorcentaje = uiEmpleadoCompleto.OnpComisionPorcentaje; } double factorPension = this.uiVacacion.PensionPorcentaje / 100; double totalPension = this.uiVacacion.TotalBruto; this.uiVacacion.PensionMonto = totalPension * factorPension; this.uiVacacion.RetencionJudicialMonto = uiEmpleadoCompleto.RetencionJudicialNominal; calculado = true; } } return(calculado); } catch (Exception ex) { throw ex; } }