public List <XROLES_Rpt007_Info> Get_Mano_Obra(ro_periodo_x_ro_Nomina_TipoLiqui_Info info_periodo) { List <XROLES_Rpt007_Info> lista = new List <XROLES_Rpt007_Info>(); List <XROLES_Rpt007_Info> lista_tmp = new List <XROLES_Rpt007_Info>(); XROLES_Rpt007_Info info; fa_pre_facturacion_Parametro_x_Anio_x_Fuerza_MO_RRHH_Info info_parametro = new fa_pre_facturacion_Parametro_x_Anio_x_Fuerza_MO_RRHH_Info(); fa_pre_facturacion_Parametro_x_Anio_x_Fuerza_MO_RRHH_Bus bus_parametros = new fa_pre_facturacion_Parametro_x_Anio_x_Fuerza_MO_RRHH_Bus(); List <ro_fuerza_Info> list_fuerza = new List <ro_fuerza_Info>(); ro_fuerza_Bus bus_fuerza = new ro_fuerza_Bus(); info_parametro = bus_parametros.Get_List_Get_Info_marge_ganacia_RRHH(info_periodo.IdEmpresa, info_periodo.pe_FechaIni.Year, info_periodo.pe_FechaIni.Month); list_fuerza = bus_fuerza.Get_List_MO(info_periodo.IdEmpresa); try { using (Entities_Roles_Fj_Rpt db = new Entities_Roles_Fj_Rpt()) { /* * var query = from q in db.spROLES_Rpt007(info_periodo.IdEmpresa,info_periodo.IdNomina_Tipo,info_periodo.IdNomina_TipoLiqui, info_periodo.IdPeriodo, info_periodo.pe_FechaIni, info_periodo.pe_FechaFin) * * * select q; * * foreach (var item in query) * { * info = new XROLES_Rpt007_Info(); * * info.fu_descripcion = item.fu_descripcion; * info.zo_descripcion = item.zo_descripcion; * info.em_fecha_ingreso = item.em_fecha_ingreso; * info.pe_cedulaRuc = item.pe_cedulaRuc; * info.pe_nombre = item.pe_nombre+" "+item.pe_apellido; * info.pe_apellido = item.pe_apellido; * info.pe_nombre = item.pe_nombre; * info.pe_FechaIni = info_periodo.pe_FechaIni; * info.ca_descripcion = item.ca_descripcion; * info.ca_descripcion = item.ca_descripcion; * info.pe_apellido = item.pe_apellido+" "+item.pe_nombre; * info.Cargo = item.Cargo; * info.SUELDOACTUAL = item.SueldoActual; * info.zo_descripcion = item.zo_descripcion; * info.DIAS = item.Dias; * info.Falta = item.Falta; * info.VACACIONES = item.Vacaciones; * if (item.Permiso_IESS == null) * item.Permiso_IESS = 0; * info.PERMISO_IESS = item.Permiso_IESS; * if (item.Dias_Efectivos > 30) * info.DIAS_EFECTIVOS = 30; * else * info.DIAS_EFECTIVOS = item.Dias_Efectivos; * info.SUELDO_X_DIAS_TRABAJADOS = item.SUELDO_X_DIAS_TRABAJADOS; * info.HORAS_25 = item.HORAS__25_; * info.HORAS_50 = item.HORAS_50_; * info.HORAS_100 = item.HORAS_100_; * info.TRANSPORTE = item.TRANSPORTE; * info.ALIMENTACION = item.ALIMENTACION; * info.BONIFICACIÓN = item.BONIFICACIÓN; * if (item.HORAS__25_ == null) * item.HORAS__25_ = 0; * if (item.HORAS_50_ == null) * item.HORAS_50_ = 0; * if (item.HORAS_100_ == null) * item.HORAS_100_ = 0; * if (item.BONIFICACIÓN == null) * item.BONIFICACIÓN = 0; * * info.TOTAL_SOBRETIEMPO =Convert.ToDouble( item.HORAS__25_ + item.HORAS_50_ + item.HORAS_100_); * info.tot_ingreso =Convert.ToDouble( item.SUELDO_X_DIAS_TRABAJADOS + info.TOTAL_SOBRETIEMPO+item.BONIFICACIÓN); * info.T_MAS_BENEFICIOS = Convert.ToDouble(info.tot_ingreso) *Convert.ToDouble( 1.4214); * info.TOTAL_MO =Convert.ToDouble( item.TRANSPORTE + item.ALIMENTACION + info.T_MAS_BENEFICIOS); * info.DIA_TRABAJADO =Convert.ToInt32( item.Dias - item.Vacaciones - item.Permiso_IESS - item.Falta); * info.IdCargo = item.IdCargo; * info.IdFuerza = item.IdFuerza; * * lista.Add(info); * } * * * * * // extraigo la fuerza * * foreach (var item in list_fuerza) * { * * if (item.IdFuerza == 1) * { * info = new XROLES_Rpt007_Info(); * decimal tota = 0; * tota = Convert.ToDecimal(lista.Where(v => v.fu_descripcion == item.fu_descripcion).Sum(v => v.TOTAL_MO)); * info.TOTAL_MO = Convert.ToDouble(tota * Convert.ToDecimal(0.2812)); * info.fu_descripcion ="TOTAL FUERZA " +item.fu_descripcion; * if (tota > 0) * lista.Add(info); * } * * if (item.IdFuerza == 2) * { * info = new XROLES_Rpt007_Info(); * decimal tota = 0; * tota = Convert.ToDecimal(lista.Where(v => v.fu_descripcion == item.fu_descripcion).Sum(v => v.TOTAL_MO)); * info.TOTAL_MO = Convert.ToDouble(tota * Convert.ToDecimal(0.2754)); * info.fu_descripcion = "TOTAL FUERZA " + item.fu_descripcion; * if (tota > 0) * lista.Add(info); * } * } */ } return(lista); } catch (Exception ex) { string mensaje = ""; mensaje = ex.ToString(); tb_sis_Log_Error_Vzen_Data oDataLog = new tb_sis_Log_Error_Vzen_Data(); tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", mensaje, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); throw new Exception(mensaje); } }