public static void FileUploadComplete(object sender, DevExpress.Web.FileUploadCompleteEventArgs e)
        {
            ro_FormulaHorasRecargo_Bus busformulas = new ro_FormulaHorasRecargo_Bus();
            var formula_horas = busformulas.get_info(Convert.ToInt32(SessionFixed.IdEmpresa));

            if (formula_horas == null)
            {
                return;
            }
            int cont = 0;
            ro_empleado_info_list              empleado_info_list = new ro_empleado_info_list();
            ro_HorasProfesores_detLis_Info     EmpleadoNovedadCargaMasiva_detLis_Info = new ro_HorasProfesores_detLis_Info();
            List <ro_HorasProfesores_det_Info> lista_novedades       = new List <ro_HorasProfesores_det_Info>();
            ro_rubros_calculados_Bus           bus_rubros_calculados = new ro_rubros_calculados_Bus();
            var rubros_calculados = bus_rubros_calculados.get_info(Convert.ToInt32(SessionFixed.IdEmpresa));
            ro_rubro_tipo_Info_list ro_rubro_tipo_Info_list = new ro_rubro_tipo_Info_list();
            ro_jornada_Data         odata_j = new ro_jornada_Data();
            decimal IdTransaccionSession    = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual);

            var    lst_jornada = odata_j.get_list(Convert.ToInt32(SessionFixed.IdEmpresa), false);
            double horas_mat   = 0;
            string jornada     = "";
            string IdRubro     = "";
            string cedula      = "";

            if (rubros_calculados == null)
            {
                return;
            }
            Stream stream = new MemoryStream(e.UploadedFile.FileBytes);

            if (stream.Length > 0)
            {
                IExcelDataReader reader = null;
                reader = ExcelReaderFactory.CreateOpenXmlReader(stream);
                while (reader.Read())
                {
                    if (!reader.IsDBNull(0) && cont != 0)
                    {
                        cedula  = reader.GetString(0);
                        IdRubro = Convert.ToString(reader.GetValue(3));

                        jornada = Convert.ToString(reader.GetValue(2));
                        ro_rubro_tipo_Info rubros = new ro_rubro_tipo_Info();
                        var empleado = empleado_info_list.get_list(IdTransaccionSession).Where(v => v.pe_cedulaRuc == cedula).FirstOrDefault();

                        if (empleado != null)
                        {
                            if (empleado.Valor_horas_matutino == null)
                            {
                                empleado.Valor_horas_matutino = 0;
                            }
                            if (empleado.Valor_horas_vespertina == null)
                            {
                                empleado.Valor_horas_vespertina = 0;
                            }
                            if (empleado.Valor_horas_brigada == null)
                            {
                                empleado.Valor_horas_brigada = 0;
                            }
                            if (empleado.Valor_hora_adicionales == null)
                            {
                                empleado.Valor_hora_adicionales = 0;
                            }
                            if (empleado.Valor_hora_control_salida == null)
                            {
                                empleado.Valor_hora_control_salida = 0;
                            }



                            rubros = ro_rubro_tipo_Info_list.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)).FirstOrDefault(v => v.rub_codigo == IdRubro);
                            if (rubros != null)
                            {
                                ro_HorasProfesores_det_Info info = new ro_HorasProfesores_det_Info
                                {
                                    NumHoras       = Convert.ToDouble(reader.GetValue(4)),
                                    pe_cedulaRuc   = cedula,
                                    pe_apellido    = empleado.Empleado,
                                    em_codigo      = empleado.em_codigo,
                                    IdSucursal     = empleado.IdSucursal,
                                    Secuencia      = cont,
                                    IdEmpleado     = empleado.IdEmpleado,
                                    IdRubro        = rubros.IdRubro,
                                    ru_descripcion = rubros.ru_descripcion,
                                };

                                if (info.IdRubro == "63")
                                {
                                }
                                if (info.IdRubro == rubros_calculados.IdRubro_horas_matutina)
                                {
                                    info.ValorHora = Convert.ToDouble(empleado.Valor_horas_matutino);
                                }

                                if (info.IdRubro == rubros_calculados.IdRubro_horas_vespertina)
                                {
                                    info.ValorHora = Convert.ToDouble(empleado.Valor_horas_vespertina);
                                }

                                if (info.IdRubro == rubros_calculados.IdRubro_horas_control_salida)
                                {
                                    info.ValorHora = Convert.ToDouble(empleado.Valor_hora_control_salida);
                                }


                                if (info.IdRubro == rubros_calculados.IdRubro_horas_brigadas)
                                {
                                    info.ValorHora = Convert.ToDouble(empleado.Valor_horas_brigada);
                                }

                                if (info.IdRubro == rubros_calculados.IdRubro_horas_adicionales)
                                {
                                    info.ValorHora = Convert.ToDouble(empleado.Valor_hora_adicionales);
                                }

                                horas_mat      = info.NumHoras;
                                info.Valor     = Convert.ToDouble(info.ValorHora * info.NumHoras);
                                info.Secuencia = lista_novedades.Count() + 1;
                                if (jornada != null && jornada != "")
                                {
                                    info.IdJornada = lst_jornada.Where(v => v.codigo == jornada).FirstOrDefault().IdJornada;
                                }
                                if (info.Valor > 0)
                                {
                                    lista_novedades.Add(info);
                                }
                            }
                        }
                    }
                    cont++;
                }
            }



            foreach (var item in empleado_info_list.get_list(IdTransaccionSession))
            {
                double mat_mas_ves = lista_novedades.Where(v => v.IdEmpleado == item.IdEmpleado && (v.IdRubro == rubros_calculados.IdRubro_horas_matutina || v.IdRubro == rubros_calculados.IdRubro_horas_vespertina)).Sum(v => v.NumHoras);

                #region horas recargo
                if ((mat_mas_ves) * (formula_horas.Dividendo / formula_horas.Divisor) > 0)
                {
                    if (rubros_calculados.IdRubro_horas_recargo != null)
                    {
                        var rubros = ro_rubro_tipo_Info_list.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)).FirstOrDefault(v => v.IdRubro == rubros_calculados.IdRubro_horas_recargo);
                        if (rubros != null)
                        {
                            ro_HorasProfesores_det_Info info = new ro_HorasProfesores_det_Info
                            {
                                pe_cedulaRuc   = item.pe_cedulaRuc,
                                pe_apellido    = item.Empleado,
                                IdSucursal     = item.IdSucursal,
                                em_codigo      = item.em_codigo,
                                Secuencia      = cont,
                                IdEmpleado     = item.IdEmpleado,
                                IdRubro        = rubros_calculados.IdRubro_horas_recargo,
                                ru_descripcion = rubros.ru_descripcion
                            };
                            info.ValorHora = 1.32;
                            info.NumHoras  = (Math.Round(Convert.ToDouble((mat_mas_ves) * (formula_horas.Dividendo / formula_horas.Divisor))) - 160);
                            info.Valor     = 1.32 * info.NumHoras;
                            info.Secuencia = lista_novedades.Count() + 1;
                            if (info.Valor > 0)
                            {
                                lista_novedades.Add(info);
                            }
                        }
                    }
                }
                #endregion



                EmpleadoNovedadCargaMasiva_detLis_Info.set_list(lista_novedades);
            }
        }
Esempio n. 2
0
        private void ROL_002_RolPago_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
        {
            lbl_fecha.Text = DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss");

            ro_rubros_calculados_Info info_rubros_calculados = new ro_rubros_calculados_Info();
            ro_rubros_calculados_Bus  bus_rubros_calculados  = new ro_rubros_calculados_Bus();
            int IdEmpresa    = p_IdEmpresa.Value == null ? 0 : Convert.ToInt32(p_IdEmpresa.Value);
            int IdNomina     = p_IdNomina.Value == null ? 0 : Convert.ToInt32(p_IdNomina.Value);
            int IdNominaTipo = p_IdNominaTipo.Value == null ? 0 : Convert.ToInt32(p_IdNominaTipo.Value);
            int IdPeriodo    = p_IdPeriodo.Value == null ? 0 : Convert.ToInt32(p_IdPeriodo.Value);
            int IdSucursal   = p_IdSucursal.Value == null ? 0 : Convert.ToInt32(p_IdSucursal.Value);
            int IdEmpleado   = p_IdEmpleado.Value == null ? 0 : Convert.ToInt32(p_IdEmpleado.Value);

            info_rubros_calculados = bus_rubros_calculados.get_info(IdEmpresa);

            ROL_002_Bus         bus_rpt = new ROL_002_Bus();
            List <ROL_002_Info> lst_rpt = bus_rpt.get_list(IdEmpresa, IdNomina, IdNominaTipo, IdPeriodo, IdSucursal, IdEmpleado);

            tb_empresa_Bus bus_empresa = new tb_empresa_Bus();
            var            emp         = bus_empresa.get_info(IdEmpresa);

            if (emp != null && emp.em_logo != null)
            {
                ImageConverter obj = new ImageConverter();
                lbl_imagen.Image = (Image)obj.ConvertFrom(emp.em_logo);
            }

            lbl_empresa.Text = emp.RazonSocial;
            Lista_ingreso    = (from q in lst_rpt
                                where q.Valor > 0
                                group q by new
            {
                q.IdEmpresa,
                q.IdSucursal,
                q.IdPeriodo,
                q.IdNominaTipo,
                q.IdNominaTipoLiqui,
                q.IdEmpleado,
                q.RubroDescripcion,
                q.Valor,
                q.Grupo,
                q.ca_orden,
                q.ru_orden
            } into ing
                                select new ROL_002_Info
            {
                IdEmpresa = ing.Key.IdEmpresa,
                IdSucursal = ing.Key.IdSucursal,
                IdPeriodo = ing.Key.IdPeriodo,
                IdNominaTipo = ing.Key.IdNominaTipo,
                IdNominaTipoLiqui = ing.Key.IdNominaTipoLiqui,
                IdEmpleado = ing.Key.IdEmpleado,
                RubroDescripcion = ing.Key.RubroDescripcion,
                Valor = ing.Key.Valor,
                Grupo = ing.Key.Grupo,
                ca_orden = ing.Key.ca_orden,
                ru_orden = ing.Key.ru_orden
            }).ToList();

            Lista_egreso = (from q in lst_rpt
                            where q.Valor < 0
                            group q by new
            {
                q.IdEmpresa,
                q.IdSucursal,
                q.IdPeriodo,
                q.IdNominaTipo,
                q.IdNominaTipoLiqui,
                q.IdEmpleado,
                q.RubroDescripcion,
                q.Valor,
                q.Grupo,
                q.ca_orden,
                q.ru_orden
            } into egr
                            select new ROL_002_Info
            {
                IdEmpresa = egr.Key.IdEmpresa,
                IdSucursal = egr.Key.IdSucursal,
                IdPeriodo = egr.Key.IdPeriodo,
                IdNominaTipo = egr.Key.IdNominaTipo,
                IdNominaTipoLiqui = egr.Key.IdNominaTipoLiqui,
                IdEmpleado = egr.Key.IdEmpleado,
                RubroDescripcion = egr.Key.RubroDescripcion,
                Valor = (egr.Key.Valor) * -1,
                Grupo = egr.Key.Grupo,
                ca_orden = egr.Key.ca_orden,
                ru_orden = egr.Key.ru_orden
            }).ToList();

            lb_liquido.Text = Convert.ToString(Convert.ToDecimal(string.Format("{0:F2}", (lst_rpt.Sum(v => v.Valor)))));
            this.DataSource = lst_rpt;
        }