コード例 #1
0
        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;
            }
        }
コード例 #2
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                #region Validaciones

                if (this.txtRazonSocial.Text.Length == 0)
                {
                    this.txtRazonSocial.Focus();
                    throw new Exception("Ingrese la razon social");
                }

                if (this.txtNombreComercial.Text.Length == 0)
                {
                    this.txtNombreComercial.Focus();
                    throw new Exception("Ingrese el nombre comercial");
                }

                if (this.txtRuc.Text.Length == 0)
                {
                    this.txtRuc.Focus();
                    throw new Exception("Ingrese el número de RUC");
                }

                if (this.txtDomicilioFiscal.Text.Length == 0)
                {
                    this.txtDomicilioFiscal.Focus();
                    throw new Exception("Ingrese el domicilio fiscal");
                }

                if (this.cboDepartamento.SelectedIndex == 0)
                {
                    this.cboDepartamento.Focus();
                    throw new Exception("Seleccione el departamento");
                }

                if (this.cboProvincia.SelectedIndex == 0)
                {
                    this.cboProvincia.Focus();
                    throw new Exception("Seleccione el provincia");
                }

                if (this.cboDistrito.SelectedIndex == 0)
                {
                    this.cboDistrito.Focus();
                    throw new Exception("Seleccione el distrito");
                }

                #endregion

                #region Cargar

                this.beEmpresa.NombreComercial = this.txtNombreComercial.Text;
                this.beEmpresa.RazonSocial     = this.txtRazonSocial.Text;
                this.beEmpresa.RUC             = this.txtRuc.Text;
                this.beEmpresa.DomicilioFiscal = this.txtDomicilioFiscal.Text;

                var beUbigeo = new BE.Ubigeo();
                beUbigeo.Departamento = int.Parse(this.cboDepartamento.SelectedValue.ToString());
                beUbigeo.Provincia    = int.Parse(this.cboProvincia.SelectedValue.ToString());
                beUbigeo.Distrito     = int.Parse(this.cboDistrito.SelectedValue.ToString());
                if (new LN.Ubigeo().Obtener(ref beUbigeo) == true)
                {
                    this.beEmpresa.Ubigeo = beUbigeo;
                }

                #endregion

                #region Registrar

                bool rpta = false;

                var lnEmpresa = new LN.Empresa();
                if (this.beEmpresa.IdEmpresa == 0)
                {
                    rpta = lnEmpresa.Insertar(ref this.beEmpresa);
                }
                else
                {
                    rpta = lnEmpresa.Actualizar(this.beEmpresa);
                }

                if (rpta)
                {
                    Util.InformationMessage("Se registro los datos de la empresa");
                    this.Close();
                }

                #endregion
            }
            catch (Exception ex)
            {
                Util.ErrorMessage(ex.Message);
            }
        }
コード例 #3
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);
            }
        }