예제 #1
0
        public ro_rubros_calculados_Info get_info(int IdEmpresa)
        {
            try
            {
                ro_rubros_calculados_Info info = new ro_rubros_calculados_Info();

                using (EntityRoles_FJ Context = new EntityRoles_FJ())
                {
                    ro_rubros_calculados Entity = Context.ro_rubros_calculados.FirstOrDefault(q => q.IdEmpresa == IdEmpresa);
                    if (Entity == null)
                    {
                        return(null);
                    }

                    info = new ro_rubros_calculados_Info
                    {
                        IdEmpresa = Entity.IdEmpresa,
                        IdRubro_dias_trabajados = Entity.IdRubro_dias_trabajados,
                        IdRubro_iess_perso      = Entity.IdRubro_iess_perso,
                        IdRubro_sueldo          = Entity.IdRubro_sueldo,
                        IdRubro_tot_egr         = Entity.IdRubro_tot_egr,
                        IdRubro_tot_ing         = Entity.IdRubro_tot_ing,
                        IdRubro_tot_pagar       = Entity.IdRubro_tot_pagar,
                        IdRubro_aporte_patronal = Entity.IdRubro_aporte_patronal,
                        IdRubro_fondo_reserva   = Entity.IdRubro_fondo_reserva,
                        IdRubro_prov_vac        = Entity.IdRubro_prov_vac,
                        IdRubro_prov_DIII       = Entity.IdRubro_prov_DIII,
                        IdRubro_prov_DIV        = Entity.IdRubro_prov_DIV,
                        IdRubro_prov_FR         = Entity.IdRubro_prov_FR,
                        IdRubro_DIII            = Entity.IdRubro_DIII,
                        IdRubro_DIV             = Entity.IdRubro_DIV,
                        IdRubro_IR                = Entity.IdRubro_IR,
                        IdRubro_alimentacion      = Entity.IdRubro_alimentacion,
                        IdRubro_transporte        = Entity.IdRubro_transporte,
                        IdRubro_otros_ingresos    = Entity.IdRubro_otros_ingresos,
                        IdRubro_anticipo          = Entity.IdRubro_anticipo,
                        IdRubro_horas_extras      = Entity.IdRubro_horas_extras,
                        IdRubro_otros_descuentos  = Entity.IdRubro_otros_descuentos,
                        IdRubro_dias_efectivos    = Entity.IdRubro_dias_efectivos,
                        IdRubro_subtotal_variable = Entity.IdRubro_subtotal_variable,
                        IdRubro_descuento_permiso = Entity.IdRubro_descuento_permiso,

                        IdRubro_alm_car = Entity.IdRubro_alm_car,
                        IdRubro_alm_ent = Entity.IdRubro_alm_ent,
                        IdRubro_alm_vol = Entity.IdRubro_alm_vol,

                        IdRubro_beb_car  = Entity.IdRubro_beb_car,
                        IdRubro_beb_ent  = Entity.IdRubro_beb_ent,
                        IdRubro_beb_vol  = Entity.IdRubro_beb_vol,
                        IdRubro_servicio = Entity.IdRubro_servicio
                    };
                }

                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public ro_rubros_calculados_Info get_info(int IdEmpresa)
        {
            try
            {
                ro_rubros_calculados_Info info = new ro_rubros_calculados_Info();

                using (Entities_rrhh Context = new Entities_rrhh())
                {
                    ro_rubros_calculados Entity = Context.ro_rubros_calculados.FirstOrDefault(q => q.IdEmpresa == IdEmpresa);
                    if (Entity == null)
                    {
                        return(null);
                    }

                    info = new ro_rubros_calculados_Info
                    {
                        IdEmpresa = Entity.IdEmpresa,
                        IdRubro_dias_trabajados = Entity.IdRubro_dias_trabajados,
                        IdRubro_iess_perso      = Entity.IdRubro_iess_perso,
                        IdRubro_sueldo          = Entity.IdRubro_sueldo,
                        IdRubro_tot_egr         = Entity.IdRubro_tot_egr,
                        IdRubro_tot_ing         = Entity.IdRubro_tot_ing,
                        IdRubro_tot_pagar       = Entity.IdRubro_tot_pagar,
                        IdRubro_aporte_patronal = Entity.IdRubro_aporte_patronal,
                        IdRubro_fondo_reserva   = Entity.IdRubro_fondo_reserva,
                        IdRubro_prov_vac        = Entity.IdRubro_prov_vac,
                        IdRubro_prov_DIII       = Entity.IdRubro_prov_DIII,
                        IdRubro_prov_DIV        = Entity.IdRubro_prov_DIV,
                        IdRubro_prov_FR         = Entity.IdRubro_prov_FR,
                        IdRubro_DIII            = Entity.IdRubro_DIII,
                        IdRubro_DIV             = Entity.IdRubro_DIV,
                        IdRubro_IR                   = Entity.IdRubro_IR,
                        IdRubro_horas_matutina       = Entity.IdRubro_horas_matutina,
                        IdRubro_horas_brigadas       = Entity.IdRubro_horas_brigadas,
                        IdRubro_horas_vespertina     = Entity.IdRubro_horas_vespertina,
                        IdRubro_horas_adicionales    = Entity.IdRubro_horas_adicionales,
                        IdRubro_horas_recargo        = Entity.IdRubro_horas_recargo,
                        IdRubro_bono_x_antiguedad    = Entity.IdRubro_bono_x_antiguedad,
                        IdRubro_horas_control_salida = Entity.IdRubro_horas_control_salida,
                        IdRubro_anticipo             = Entity.IdRubro_anticipo,
                        IdRubro_novedad_proceso      = Entity.IdRubro_novedad_proceso,
                        IdRubro_primaria_vespertina  = Entity.IdRubro_primaria_vespertina,
                        IdRubro_utilidad             = Entity.IdRubro_utilidad
                    };
                }

                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #3
0
        public bool guardarDB(ro_rubros_calculados_Info info)
        {
            try
            {
                using (Entities_rrhh Context = new Entities_rrhh())
                {
                    ro_rubros_calculados Entity = new ro_rubros_calculados
                    {
                        IdEmpresa = info.IdEmpresa,
                        IdRubro_dias_trabajados = info.IdRubro_dias_trabajados,
                        IdRubro_iess_perso      = info.IdRubro_iess_perso,
                        IdRubro_sueldo          = info.IdRubro_sueldo,
                        IdRubro_tot_egr         = info.IdRubro_tot_egr,
                        IdRubro_tot_ing         = info.IdRubro_tot_ing,
                        IdRubro_tot_pagar       = info.IdRubro_tot_pagar,
                        IdRubro_aporte_patronal = info.IdRubro_aporte_patronal,
                        IdRubro_fondo_reserva   = info.IdRubro_fondo_reserva,
                        IdRubro_prov_vac        = info.IdRubro_prov_vac,
                        IdRubro_prov_DIII       = info.IdRubro_prov_DIII,
                        IdRubro_prov_DIV        = info.IdRubro_prov_DIV,
                        IdRubro_prov_FR         = info.IdRubro_prov_FR,
                        IdRubro_DIII            = info.IdRubro_DIII,
                        IdRubro_DIV             = info.IdRubro_DIV,
                        IdRubro_IR = info.IdRubro_IR,

                        IdRubro_horas_matutina       = info.IdRubro_horas_matutina,
                        IdRubro_horas_vespertina     = info.IdRubro_horas_vespertina,
                        IdRubro_horas_brigadas       = info.IdRubro_horas_brigadas,
                        IdRubro_horas_adicionales    = info.IdRubro_horas_adicionales,
                        IdRubro_horas_recargo        = info.IdRubro_horas_recargo,
                        IdRubro_bono_x_antiguedad    = info.IdRubro_bono_x_antiguedad,
                        IdRubro_horas_control_salida = info.IdRubro_horas_control_salida,
                        IdRubro_novedad_proceso      = info.IdRubro_novedad_proceso,
                        IdRubro_anticipo             = info.IdRubro_anticipo,

                        IdRubro_primaria_vespertina = info.IdRubro_primaria_vespertina
                    };
                    Context.ro_rubros_calculados.Add(Entity);
                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #4
0
        public bool modificarDB(ro_rubros_calculados_Info info)
        {
            try
            {
                using (Entities_rrhh Context = new Entities_rrhh())
                {
                    ro_rubros_calculados Entity = Context.ro_rubros_calculados.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa);
                    if (Entity == null)
                    {
                        return(false);
                    }
                    Entity.IdRubro_dias_trabajados = info.IdRubro_dias_trabajados;
                    Entity.IdRubro_iess_perso      = info.IdRubro_iess_perso;
                    Entity.IdRubro_sueldo          = info.IdRubro_sueldo;
                    Entity.IdRubro_tot_egr         = info.IdRubro_tot_egr;
                    Entity.IdRubro_tot_ing         = info.IdRubro_tot_ing;
                    Entity.IdRubro_tot_pagar       = info.IdRubro_tot_pagar;
                    Entity.IdRubro_aporte_patronal = info.IdRubro_aporte_patronal;
                    Entity.IdRubro_fondo_reserva   = info.IdRubro_fondo_reserva;
                    Entity.IdRubro_prov_vac        = info.IdRubro_prov_vac;
                    Entity.IdRubro_prov_DIII       = info.IdRubro_prov_DIII;
                    Entity.IdRubro_prov_DIV        = info.IdRubro_prov_DIV;
                    Entity.IdRubro_prov_FR         = info.IdRubro_prov_FR;
                    Entity.IdRubro_DIII            = info.IdRubro_DIII;
                    Entity.IdRubro_DIV             = info.IdRubro_DIV;
                    Entity.IdRubro_IR = info.IdRubro_IR;
                    Entity.IdRubro_horas_vespertina     = info.IdRubro_horas_vespertina;
                    Entity.IdRubro_horas_matutina       = info.IdRubro_horas_matutina;
                    Entity.IdRubro_horas_brigadas       = info.IdRubro_horas_brigadas;
                    Entity.IdRubro_horas_adicionales    = info.IdRubro_horas_adicionales;
                    Entity.IdRubro_horas_recargo        = info.IdRubro_horas_recargo;
                    Entity.IdRubro_bono_x_antiguedad    = info.IdRubro_bono_x_antiguedad;
                    Entity.IdRubro_horas_control_salida = info.IdRubro_horas_control_salida;
                    Entity.IdRubro_novedad_proceso      = info.IdRubro_novedad_proceso;
                    Entity.IdRubro_anticipo             = info.IdRubro_anticipo;
                    Entity.IdRubro_primaria_vespertina  = info.IdRubro_primaria_vespertina;

                    Context.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public ro_rubros_calculados_Info get_info(int IdEmpresa)
        {
            try
            {
                ro_rubros_calculados_Info info = new ro_rubros_calculados_Info();

                using (Entities_rrhh Context = new Entities_rrhh())
                {
                    ro_rubros_calculados Entity = Context.ro_rubros_calculados.FirstOrDefault(q => q.IdEmpresa == IdEmpresa);
                    if (Entity == null)
                    {
                        return(null);
                    }

                    info = new ro_rubros_calculados_Info
                    {
                        IdEmpresa = Entity.IdEmpresa,
                        IdRubro_dias_trabajados = Entity.IdRubro_dias_trabajados,
                        IdRubro_iess_perso      = Entity.IdRubro_iess_perso,
                        IdRubro_sueldo          = Entity.IdRubro_sueldo,
                        IdRubro_tot_egr         = Entity.IdRubro_tot_egr,
                        IdRubro_tot_ing         = Entity.IdRubro_tot_ing,
                        IdRubro_tot_pagar       = Entity.IdRubro_tot_pagar,

                        IdRubro_aporte_patronal = Entity.IdRubro_aporte_patronal,
                        IdRubro_fondo_reserva   = Entity.IdRubro_fondo_reserva,
                        IdRubro_prov_vac        = Entity.IdRubro_prov_vac,
                        IdRubro_prov_DIII       = Entity.IdRubro_prov_DIII,
                        IdRubro_prov_DIV        = Entity.IdRubro_prov_DIV,
                        IdRubro_prov_FR         = Entity.IdRubro_prov_FR,
                        IdRubro_DIII            = Entity.IdRubro_DIII,
                        IdRubro_DIV             = Entity.IdRubro_DIV,
                        IdRubro_IR = Entity.IdRubro_IR,
                        IdRubro_FR = Entity.IdRubro_FR
                    };
                }

                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public bool modificarDB(ro_rubros_calculados_Info info)
        {
            try
            {
                using (Entities_rrhh Context = new Entities_rrhh())
                {
                    ro_rubros_calculados Entity = Context.ro_rubros_calculados.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa);
                    if (Entity == null)
                    {
                        return(false);
                    }
                    Entity.IdRubro_dias_trabajados = info.IdRubro_dias_trabajados;
                    Entity.IdRubro_iess_perso      = info.IdRubro_iess_perso;
                    Entity.IdRubro_sueldo          = info.IdRubro_sueldo;
                    Entity.IdRubro_tot_egr         = info.IdRubro_tot_egr;
                    Entity.IdRubro_tot_ing         = info.IdRubro_tot_ing;
                    Entity.IdRubro_tot_pagar       = info.IdRubro_tot_pagar;

                    Entity.IdRubro_aporte_patronal = info.IdRubro_aporte_patronal;
                    Entity.IdRubro_fondo_reserva   = info.IdRubro_fondo_reserva;
                    Entity.IdRubro_prov_vac        = info.IdRubro_prov_vac;
                    Entity.IdRubro_prov_DIII       = info.IdRubro_prov_DIII;
                    Entity.IdRubro_prov_DIV        = info.IdRubro_prov_DIV;
                    Entity.IdRubro_prov_FR         = info.IdRubro_prov_FR;
                    Entity.IdRubro_DIII            = info.IdRubro_DIII;
                    Entity.IdRubro_DIV             = info.IdRubro_DIV;
                    Entity.IdRubro_IR = info.IdRubro_IR;
                    Entity.IdRubro_FR = info.IdRubro_FR;
                    Context.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
 public bool guardarDB(ro_rubros_calculados_Info info)
 {
     try
     {
         using (Entities_rrhh Context = new Entities_rrhh())
         {
             ro_rubros_calculados Entity = new ro_rubros_calculados
             {
                 IdEmpresa = info.IdEmpresa,
                 IdRubro_dias_trabajados = info.IdRubro_dias_trabajados,
                 IdRubro_iess_perso      = info.IdRubro_iess_perso,
                 IdRubro_sueldo          = info.IdRubro_sueldo,
                 IdRubro_tot_egr         = info.IdRubro_tot_egr,
                 IdRubro_tot_ing         = info.IdRubro_tot_ing,
                 IdRubro_tot_pagar       = info.IdRubro_tot_pagar,
                 IdRubro_aporte_patronal = info.IdRubro_aporte_patronal,
                 IdRubro_fondo_reserva   = info.IdRubro_fondo_reserva,
                 IdRubro_prov_vac        = info.IdRubro_prov_vac,
                 IdRubro_prov_DIII       = info.IdRubro_prov_DIII,
                 IdRubro_prov_DIV        = info.IdRubro_prov_DIV,
                 IdRubro_prov_FR         = info.IdRubro_prov_FR,
                 IdRubro_DIII            = info.IdRubro_DIII,
                 IdRubro_DIV             = info.IdRubro_DIV,
                 IdRubro_IR = info.IdRubro_IR,
                 IdRubro_FR = info.IdRubro_FR
             };
             Context.ro_rubros_calculados.Add(Entity);
             Context.SaveChanges();
         }
         return(true);
     }
     catch (Exception)
     {
         throw;
     }
 }
        public bool modificarDB(ro_participacion_utilidad_Info info)
        {
            try
            {
                using (Entities_rrhh Context = new Entities_rrhh())
                {
                    int IdNomina_General;
                    int IdNomina_TipoLiqui_PagoUtilidad;

                    ro_rubros_calculados RubrosCalculados = Context.ro_rubros_calculados.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa);
                    if (RubrosCalculados == null | RubrosCalculados.IdRubro_utilidad == null)
                    {
                        return(false);
                    }
                    #region Nomina y periodo
                    DateTime fi = new DateTime(info.IdPeriodo, 1, 1);
                    DateTime ff = new DateTime(info.IdPeriodo, 12, 31);

                    ro_Parametros param = Context.ro_Parametros.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa);
                    if (param == null || param.IdNomina_General == null || param.IdNomina_TipoLiqui_PagoUtilidad == null)
                    {
                        return(false);
                    }
                    IdNomina_General = Convert.ToInt32(param.IdNomina_General);
                    IdNomina_TipoLiqui_PagoUtilidad = Convert.ToInt32(param.IdNomina_TipoLiqui_PagoUtilidad);

                    ro_periodo Entity_periodo = Context.ro_periodo.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdPeriodo == info.IdPeriodo);
                    if (Entity_periodo == null)
                    {
                        Context.ro_periodo.Add(new ro_periodo
                        {
                            IdEmpresa     = info.IdEmpresa,
                            IdPeriodo     = info.IdPeriodo,
                            pe_FechaIni   = new DateTime(info.IdPeriodo, 1, 1),
                            pe_FechaFin   = new DateTime(info.IdPeriodo, 12, 31),
                            pe_anio       = info.IdPeriodo,
                            pe_estado     = "A",
                            IdUsuario     = info.UsuarioIngresa,
                            Fecha_Transac = DateTime.Now
                        });
                        ro_periodo_x_ro_Nomina_TipoLiqui Entity_periodo_nom = Context.ro_periodo_x_ro_Nomina_TipoLiqui.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdPeriodo == info.IdPeriodo &&
                                                                                                                                      q.IdNomina_Tipo == IdNomina_General && q.IdNomina_TipoLiqui == IdNomina_TipoLiqui_PagoUtilidad);

                        Context.ro_periodo_x_ro_Nomina_TipoLiqui.Add(new ro_periodo_x_ro_Nomina_TipoLiqui
                        {
                            IdEmpresa          = info.IdEmpresa,
                            IdPeriodo          = info.IdPeriodo,
                            IdNomina_Tipo      = IdNomina_General,
                            IdNomina_TipoLiqui = IdNomina_TipoLiqui_PagoUtilidad,
                            Cerrado            = "N",
                            Procesado          = "S",
                            Contabilizado      = "N"
                        });
                    }

                    #endregion
                    #region Utilidad cabecera

                    ro_participacion_utilidad Entity = Context.ro_participacion_utilidad.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdUtilidad == info.IdUtilidad);
                    if (Entity == null)
                    {
                        return(false);
                    }
                    Entity.IdUsuarioModifica         = info.IdUsuarioModifica;
                    Entity.BaseUtilidad              = info.BaseUtilidad;
                    Entity.UtilidadDerechoIndividual = info.UtilidadDerechoIndividual;
                    Entity.UtilidadCargaFamiliar     = info.UtilidadCargaFamiliar;
                    Entity.Utilidad           = info.Utilidad;
                    Entity.Fecha_ultima_modif = DateTime.Now;



                    #endregion

                    #region Rol
                    ro_rol Entity_rol = Context.ro_rol.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa &&
                                                                      q.IdNominaTipo == IdNomina_General &&
                                                                      q.IdNominaTipoLiqui == IdNomina_TipoLiqui_PagoUtilidad);

                    decimal rolId = 0;
                    if (Entity_rol == null)
                    {
                        var lst = from q in Context.ro_rol
                                  where q.IdEmpresa == info.IdEmpresa
                                  select q;
                        rolId = lst.Max(q => q.IdRol) + 1;
                        Context.ro_rol.Add(new ro_rol
                        {
                            IdRol             = rolId,
                            IdSucursal        = info.IdSucursal,
                            IdEmpresa         = info.IdEmpresa,
                            IdNominaTipo      = IdNomina_General,
                            IdNominaTipoLiqui = IdNomina_TipoLiqui_PagoUtilidad,
                            Cerrado           = "N",
                            Descripcion       = "PAGO DE UTILIDA " + info.IdPeriodo.ToString(),
                            UsuarioIngresa    = info.UsuarioIngresa,
                            FechaIngresa      = DateTime.Now
                        });
                    }
                    else
                    {
                        Entity_rol.Observacion   = "PAGO DE UTILIDA " + info.IdPeriodo.ToString();
                        Entity_rol.FechaModifica = DateTime.Now;
                        rolId = Entity_rol.IdRol;
                        var rol_detalle = Context.ro_rol_detalle.Where(s => s.IdEmpresa == info.IdEmpresa && s.IdRol == Entity_rol.IdRol);
                        Context.ro_rol_detalle.RemoveRange(rol_detalle);
                    }

                    #region INSERTANDO ROL DETALLE
                    var utilidad_detalle = Context.ro_participacion_utilidad_empleado.Where(s => s.IdEmpresa == info.IdEmpresa && s.IdUtilidad == info.IdUtilidad);
                    Context.ro_participacion_utilidad_empleado.RemoveRange(utilidad_detalle);


                    foreach (var item in info.detalle)// LISTADO DE EMPLEADOS CON BENEFICIOS DE UTILIDAS
                    {
                        double TotalEgreso = 0;
                        // DIAS TRABAJADOS
                        Context.ro_rol_detalle.Add(new ro_rol_detalle
                        {
                            IdEmpresa           = info.IdEmpresa,
                            IdRol               = rolId,
                            IdEmpleado          = item.IdEmpleado,
                            IdRubro             = RubrosCalculados.IdRubro_dias_trabajados,
                            Observacion         = " ",
                            IdSucursal          = item.IdSucursal,
                            rub_visible_reporte = true,
                            Orden               = 0,
                            Valor               = item.DiasTrabajados
                        });
                        // TOTAL DE UTILIDAD
                        Context.ro_rol_detalle.Add(new ro_rol_detalle
                        {
                            IdEmpresa           = info.IdEmpresa,
                            IdRol               = rolId,
                            IdEmpleado          = item.IdEmpleado,
                            IdRubro             = RubrosCalculados.IdRubro_utilidad,
                            Observacion         = " ",
                            IdSucursal          = item.IdSucursal,
                            rub_visible_reporte = true,
                            Orden               = 0,
                            Valor               = item.ValorTotal
                        });
                        // TOTAL DE INGRESO
                        Context.ro_rol_detalle.Add(new ro_rol_detalle
                        {
                            IdEmpresa           = info.IdEmpresa,
                            IdRol               = rolId,
                            IdEmpleado          = item.IdEmpleado,
                            IdRubro             = RubrosCalculados.IdRubro_tot_ing,
                            Observacion         = " ",
                            IdSucursal          = item.IdSucursal,
                            rub_visible_reporte = true,
                            Orden               = 0,
                            Valor               = item.ValorTotal
                        });

                        #region Novedades y prestamos POR EMPLEADO
                        string sql = "";
                        sql = "  SELECT  n.IdEmpresa, n.IdEmpleado,IdSucursal, nd.IdRubro,sum( nd.Valor)Valor " +
                              "FROM dbo.ro_empleado_Novedad AS n INNER JOIN " +
                              "dbo.ro_empleado_novedad_det AS nd ON n.IdEmpresa = nd.IdEmpresa AND n.IdNovedad = nd.IdNovedad " +
                              "where nd.EstadoCobro = 'PEN' and n.IdEmpresa='" + info.IdEmpresa + "' and IdNomina_Tipo=" + param.IdNomina_General + " and n.IdNomina_TipoLiqui=" + param.IdNomina_TipoLiqui_PagoUtilidad + "" +
                              "and  nd.FechaPago between '" + fi.ToString("yyyy-MM-dd") + "'  and '" + ff.ToString("yyyy-MM-dd") + "'" +
                              " and n.IdEmpleado='" + item.IdEmpleado + "'" +
                              "GROUP BY n.IdEmpresa, n.IdEmpleado,IdSucursal, nd.IdRubro, nd.Valor " +
                              "union all " +
                              "SELECT p.IdEmpresa, p.IdEmpleado,IdSucursal, p.IdRubro, pd.TotalCuota " +
                              "FROM dbo.ro_prestamo AS p INNER JOIN " +
                              " dbo.ro_prestamo_detalle AS pd ON p.IdEmpresa = pd.IdEmpresa AND p.IdPrestamo = pd.IdPrestamo INNER JOIN " +
                              " dbo.ro_empleado AS e ON p.IdEmpresa = e.IdEmpresa AND p.IdEmpleado = e.IdEmpleado " +
                              " where pd.EstadoPago = 'PEN' and p.IdEmpresa='" + info.IdEmpresa + "' and descuento_ben_soc='1' and pd.IdNominaTipoLiqui=" + param.IdNomina_TipoLiqui_PagoUtilidad + "" +
                              " and  pd.FechaPago between '" + fi.ToString("yyyy-MM-dd") + "'  and '" + ff.ToString("yyyy-MM-dd") + "'" +
                              " and p.IdEmpleado='" + item.IdEmpleado + "'" +
                              " GROUP BY p.IdEmpresa, p.IdEmpleado,e.IdSucursal, pd.TotalCuota, p.IdRubro";
                        var lstNovedades = Context.Database.SqlQuery <ro_empleado_novedad_det_Info>(sql).ToList();
                        foreach (var item_ in lstNovedades)
                        {
                            Context.ro_rol_detalle.Add(new ro_rol_detalle
                            {
                                IdEmpresa           = info.IdEmpresa,
                                IdRol               = rolId,
                                IdEmpleado          = item_.IdEmpleado,
                                IdRubro             = item_.IdRubro,
                                Observacion         = " ",
                                IdSucursal          = item_.IdSucursal,
                                rub_visible_reporte = true,
                                Orden               = 0,
                                Valor               = item_.Valor
                            });
                        }
                        #endregion

                        #region Total de egreso por empleado
                        var lst_total_egreso = lstNovedades.GroupBy(c => new
                        {
                            c.IdEmpleado,
                            c.IdSucursal
                        })
                                               .Select(x => new
                        {
                            IdEmpleado = x.Key.IdEmpleado,
                            IdSucursal = x.Key.IdSucursal,
                            Valor      = x.Sum(y => y.Valor)
                        }).ToList();
                        foreach (var item_egr in lst_total_egreso)
                        {
                            TotalEgreso = item_egr.Valor;
                            Context.ro_rol_detalle.Add(new ro_rol_detalle
                            {
                                IdEmpresa           = info.IdEmpresa,
                                IdRol               = rolId,
                                IdEmpleado          = item_egr.IdEmpleado,
                                IdRubro             = RubrosCalculados.IdRubro_tot_egr,
                                Observacion         = " ",
                                IdSucursal          = item_egr.IdSucursal,
                                rub_visible_reporte = true,
                                Orden               = 0,
                                Valor               = item_egr.Valor
                            });
                        }
                        #endregion

                        #region liquido a recibir en rol
                        Context.ro_rol_detalle.Add(new ro_rol_detalle
                        {
                            IdEmpresa           = info.IdEmpresa,
                            IdRol               = rolId,
                            IdEmpleado          = item.IdEmpleado,
                            IdRubro             = RubrosCalculados.IdRubro_tot_pagar,
                            Observacion         = " ",
                            IdSucursal          = item.IdSucursal,
                            rub_visible_reporte = true,
                            Orden               = 0,
                            Valor               = item.ValorTotal - TotalEgreso
                        });
                        #endregion

                        #region detalle de utilidad
                        ro_participacion_utilidad_empleado Entity_det = new ro_participacion_utilidad_empleado
                        {
                            IdEmpresa          = info.IdEmpresa,
                            IdUtilidad         = info.IdUtilidad,
                            IdEmpleado         = item.IdEmpleado,
                            CargasFamiliares   = item.CargasFamiliares,
                            ValorCargaFamiliar = item.ValorCargaFamiliar,
                            ValorIndividual    = item.ValorIndividual,
                            ValorTotal         = item.ValorTotal,
                            DiasTrabajados     = item.DiasTrabajados,
                            Descuento          = TotalEgreso,
                            NetoRecibir        = (item.ValorTotal - TotalEgreso)
                        };
                        Context.ro_participacion_utilidad_empleado.Add(Entity_det);
                        #endregion



                        #endregion
                    }


                    #endregion

                    Context.SaveChanges();
                }

                return(true);
            }
            catch (Exception e)
            {
                throw;
            }
        }
예제 #9
0
        public bool guardarDB(ro_rubros_calculados_Info info)
        {
            try
            {
                using (EntityRoles_FJ Context = new EntityRoles_FJ())
                {
                    ro_rubros_calculados Entity = Context.ro_rubros_calculados.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa);
                    if (Entity == null)
                    {
                        ro_rubros_calculados Entity_add = new ro_rubros_calculados
                        {
                            IdEmpresa = info.IdEmpresa,
                            IdRubro_dias_trabajados = info.IdRubro_dias_trabajados,
                            IdRubro_iess_perso      = info.IdRubro_iess_perso,
                            IdRubro_sueldo          = info.IdRubro_sueldo,
                            IdRubro_tot_egr         = info.IdRubro_tot_egr,
                            IdRubro_tot_ing         = info.IdRubro_tot_ing,
                            IdRubro_tot_pagar       = info.IdRubro_tot_pagar,
                            IdRubro_aporte_patronal = info.IdRubro_aporte_patronal,
                            IdRubro_fondo_reserva   = info.IdRubro_fondo_reserva,
                            IdRubro_prov_vac        = info.IdRubro_prov_vac,
                            IdRubro_prov_DIII       = info.IdRubro_prov_DIII,
                            IdRubro_prov_DIV        = info.IdRubro_prov_DIV,
                            IdRubro_prov_FR         = info.IdRubro_prov_FR,
                            IdRubro_DIII            = info.IdRubro_DIII,
                            IdRubro_DIV             = info.IdRubro_DIV,
                            IdRubro_IR                = info.IdRubro_IR,
                            IdRubro_anticipo          = info.IdRubro_anticipo,
                            IdRubro_alimentacion      = info.IdRubro_alimentacion,
                            IdRubro_transporte        = info.IdRubro_transporte,
                            IdRubro_otros_ingresos    = info.IdRubro_otros_ingresos,
                            IdRubro_dias_efectivos    = info.IdRubro_dias_efectivos,
                            IdRubro_horas_extras      = info.IdRubro_horas_extras,
                            IdRubro_subtotal_variable = info.IdRubro_subtotal_variable,
                            IdRubro_otros_descuentos  = info.IdRubro_otros_descuentos,
                            IdRubro_descuento_permiso = info.IdRubro_descuento_permiso,

                            IdRubro_alm_car = info.IdRubro_alm_car,
                            IdRubro_alm_ent = info.IdRubro_alm_ent,
                            IdRubro_alm_vol = info.IdRubro_alm_vol,

                            IdRubro_beb_car  = info.IdRubro_beb_car,
                            IdRubro_beb_ent  = info.IdRubro_beb_ent,
                            IdRubro_beb_vol  = info.IdRubro_beb_vol,
                            IdRubro_servicio = info.IdRubro_servicio
                        };
                        Context.ro_rubros_calculados.Add(Entity_add);
                    }
                    else
                    {
                        Entity.IdRubro_dias_trabajados = info.IdRubro_dias_trabajados;
                        Entity.IdRubro_iess_perso      = info.IdRubro_iess_perso;
                        Entity.IdRubro_sueldo          = info.IdRubro_sueldo;
                        Entity.IdRubro_tot_egr         = info.IdRubro_tot_egr;
                        Entity.IdRubro_tot_ing         = info.IdRubro_tot_ing;
                        Entity.IdRubro_tot_pagar       = info.IdRubro_tot_pagar;
                        Entity.IdRubro_aporte_patronal = info.IdRubro_aporte_patronal;
                        Entity.IdRubro_fondo_reserva   = info.IdRubro_fondo_reserva;
                        Entity.IdRubro_prov_vac        = info.IdRubro_prov_vac;
                        Entity.IdRubro_prov_DIII       = info.IdRubro_prov_DIII;
                        Entity.IdRubro_prov_DIV        = info.IdRubro_prov_DIV;
                        Entity.IdRubro_prov_FR         = info.IdRubro_prov_FR;
                        Entity.IdRubro_DIII            = info.IdRubro_DIII;
                        Entity.IdRubro_DIV             = info.IdRubro_DIV;
                        Entity.IdRubro_IR                = info.IdRubro_IR;
                        Entity.IdRubro_anticipo          = info.IdRubro_anticipo;
                        Entity.IdRubro_alimentacion      = info.IdRubro_alimentacion;
                        Entity.IdRubro_transporte        = info.IdRubro_transporte;
                        Entity.IdRubro_otros_descuentos  = info.IdRubro_otros_descuentos;
                        Entity.IdRubro_horas_extras      = info.IdRubro_horas_extras;
                        Entity.IdRubro_dias_efectivos    = info.IdRubro_dias_efectivos;
                        Entity.IdRubro_subtotal_variable = info.IdRubro_subtotal_variable;
                        Entity.IdRubro_descuento_permiso = info.IdRubro_descuento_permiso;
                        Entity.IdRubro_alm_car           = info.IdRubro_alm_car;
                        Entity.IdRubro_alm_ent           = info.IdRubro_alm_ent;
                        Entity.IdRubro_alm_vol           = info.IdRubro_alm_vol;

                        Entity.IdRubro_beb_car  = info.IdRubro_beb_car;
                        Entity.IdRubro_beb_ent  = info.IdRubro_beb_ent;
                        Entity.IdRubro_beb_vol  = info.IdRubro_beb_vol;
                        Entity.IdRubro_servicio = info.IdRubro_servicio;
                    }



                    Context.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }