示例#1
0
        private void btnEliminar_Click(object sender, EventArgs e)
        {
            try
            {
                if (this.dgvVacaciones.CurrentRow != null)
                {
                    if (Util.ConfirmationMessage("¿Desea eliminar el Calculo de Vacaciones seleccionado?") == false)
                    {
                        return;
                    }

                    var uiVacacion = (BE.UI.Vacacion) this.dgvVacaciones.CurrentRow.DataBoundItem;

                    bool rpta = new LN.Vacacion().Eliminar(uiVacacion);

                    if (rpta == true)
                    {
                        Util.InformationMessage("Se eliminó el Calculo de Vacaciones");
                        this.CargarListadoVacaciones();
                    }
                }
            }
            catch (Exception ex)
            {
                Util.ErrorMessage(ex.Message);
            }
        }
示例#2
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                #region Validaciones

                if (this.calculado == false)
                {
                    throw new Exception("Primero realice el calculo de vacaciones");
                }

                if (this.txtPensionTipo.Text.Length == 0)
                {
                    throw new Exception("No se asigno el tipo de pensión");
                }

                if (this.txtPensionDescipcion.Text.Length == 0)
                {
                    throw new Exception("No se asigno la entidad de pensión");
                }

                #endregion

                #region Guardar

                if (this.uiVacacion.Id == 0) //Nuevo
                {
                    bool rpta = false;
                    rpta = new LN.Vacacion().Insertar(ref this.uiVacacion);

                    if (rpta == true)
                    {
                        Util.InformationMessage("Se registro el calculo de Vacaciones");
                        this.frmList.CargarListadoVacaciones();
                        this.Close();
                    }
                }

                #endregion
            }
            catch (Exception ex)
            {
                Util.ErrorMessage(ex.Message);
            }
        }
示例#3
0
        public void CargarListadoVacaciones()
        {
            try
            {
                int anho = int.Parse(this.cboAnho.SelectedValue.ToString());
                int mes  = int.Parse(this.cboMes.SelectedValue.ToString());

                var lstUiVacaciones = new LN.Vacacion().Listar(anho, mes);

                var sorted = new SortableBindingList <BE.UI.Vacacion>(lstUiVacaciones);
                this.dgvVacaciones.DataSource = sorted;

                int    nroRegistros = lstUiVacaciones.Count;
                double total        = lstUiVacaciones.Sum(x => x.TotalNeto);

                this.txtNroRegistros.Text = nroRegistros.ToString();
                this.txtTotal.Text        = total.ToString("N2");
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        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;
            }
        }
示例#5
0
        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);
            }
        }