コード例 #1
0
 public ct_Periodo_Info Get_Info_PeriodoAnterior(int IdEmpresa, int IdPeriodo, ref string MensajeError)
 {
     try
     {
         return(data.Get_Info_PeriodoAnterior(IdEmpresa, IdPeriodo, ref MensajeError));
     }
     catch (Exception ex)
     {
         Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
         throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "Get_Info_PeriodoAnterior", ex.Message), ex)
               {
                   EntityType = typeof(ct_Periodo_Bus)
               };
     }
 }
コード例 #2
0
        public List <XCONTA_Rpt011_Info> consultar_data(int IdEmpresa, int IdPeriodo_Actual, string IdCentroCosto, int IdNivel_a_mostrar
                                                        , int IdPunto_cargo_grupo
                                                        , int IdPunto_cargo
                                                        , bool Mostrar_reg_Cero
                                                        , bool Mostrar_cc, string IdUsuario, ref String MensajeError)
        {
            try
            {
                ct_Plancta_Data        Plan_cta_data = new ct_Plancta_Data();
                List <ct_Plancta_Info> list_plan_cta = new List <ct_Plancta_Info>();

                ct_Periodo_Data           Periodo_data               = new ct_Periodo_Data();
                ct_Periodo_Info           Periodo_Info_Actual        = new ct_Periodo_Info();
                ct_Periodo_Info           Periodo_Info_Anterior      = new ct_Periodo_Info();
                List <XCONTA_Rpt002_Info> list_data_Periodo_Actual   = new List <XCONTA_Rpt002_Info>();
                List <XCONTA_Rpt002_Info> list_data_Periodo_Anterior = new List <XCONTA_Rpt002_Info>();

                Periodo_Info_Actual   = Periodo_data.Get_Info_Periodo(IdEmpresa, IdPeriodo_Actual, ref MensajeError);
                Periodo_Info_Anterior = Periodo_data.Get_Info_PeriodoAnterior(IdEmpresa, IdPeriodo_Actual, ref MensajeError);

                list_data_Periodo_Actual = Get_data_Mayorizado_x_fecha(Periodo_Info_Actual.IdEmpresa, Periodo_Info_Actual.pe_FechaIni, Periodo_Info_Actual.pe_FechaFin, IdCentroCosto, IdNivel_a_mostrar
                                                                       , IdPunto_cargo_grupo, IdPunto_cargo, Mostrar_reg_Cero, Mostrar_cc, IdUsuario, ref MensajeError);

                list_data_Periodo_Anterior = Get_data_Mayorizado_x_fecha(Periodo_Info_Anterior.IdEmpresa, Periodo_Info_Anterior.pe_FechaIni, Periodo_Info_Anterior.pe_FechaFin, IdCentroCosto, IdNivel_a_mostrar
                                                                         , IdPunto_cargo_grupo, IdPunto_cargo, Mostrar_reg_Cero, Mostrar_cc, IdUsuario, ref MensajeError);

                foreach (var item in list_data_Periodo_Actual.Where(q => q.gc_estado_financiero == "ER").ToList())
                {
                    ct_Plancta_Info _PlantaCtaInfo = new ct_Plancta_Info();

                    _PlantaCtaInfo.IdEmpresa            = item.IdEmpresa;
                    _PlantaCtaInfo.IdCtaCble            = item.IdCtaCble;
                    _PlantaCtaInfo.pc_Cuenta            = item.nom_cuenta;
                    _PlantaCtaInfo.IdCtaCblePadre       = (item.IdCtaCblePadre == null) ? "" : item.IdCtaCblePadre;
                    _PlantaCtaInfo.IdNivelCta           = item.IdNivelCta;
                    _PlantaCtaInfo.pc_EsMovimiento      = item.pc_EsMovimiento;
                    _PlantaCtaInfo.Nom_GrupoCble        = item.gc_GrupoCble;
                    _PlantaCtaInfo.gc_estado_financiero = item.gc_estado_financiero;
                    _PlantaCtaInfo.OrderGrupoCble       = item.OrderGrupoCble;
                    _PlantaCtaInfo.orden           = item.order_grupo_mayor == null ? 0 : (int)item.order_grupo_mayor;
                    _PlantaCtaInfo.IdGrupo_Mayor   = item.IdGrupo_Mayor;
                    _PlantaCtaInfo.nom_grupo_mayor = item.nom_grupo_mayor;
                    _PlantaCtaInfo.Nom_GrupoCble   = item.GrupoCble;
                    list_plan_cta.Add(_PlantaCtaInfo);
                }

                var ListaCtasCbles_x_cbtes_con_movi = from plancta in list_plan_cta
                                                      join lstPeriodo_act in list_data_Periodo_Actual
                                                      on new { plancta.IdEmpresa, plancta.IdCtaCble } equals new { lstPeriodo_act.IdEmpresa, lstPeriodo_act.IdCtaCble } into p_1
                from sublist_data_Periodo_Actual in p_1.DefaultIfEmpty()
                join lstPeriod_ant in list_data_Periodo_Anterior
                    on new { plancta.IdEmpresa, plancta.IdCtaCble } equals new { lstPeriod_ant.IdEmpresa, lstPeriod_ant.IdCtaCble } into p_2
                from sublist_data_Periodo_Anterior in p_2.DefaultIfEmpty()
                select new
                {
                    plancta.IdEmpresa,
                    plancta.IdCtaCble,
                    plancta.IdCtaCblePadre,
                    Saldo_Periodo_act = sublist_data_Periodo_Actual == null ? 0 : sublist_data_Periodo_Actual.Saldo,
                    Saldo_Periodo_ant = sublist_data_Periodo_Anterior == null ? 0 : sublist_data_Periodo_Anterior.Saldo,
                    plancta.IdGrupoCble,
                    plancta.IdNivelCta,
                    plancta.pc_EsMovimiento,
                    plancta.pc_Cuenta,
                    nom_empresa          = sublist_data_Periodo_Actual == null ? "" : sublist_data_Periodo_Actual.nom_empresa,
                    nom_CentroCosto      = sublist_data_Periodo_Actual == null ? "" : sublist_data_Periodo_Actual.nom_CentroCosto,
                    nom_PuntoCargo       = sublist_data_Periodo_Actual == null ? "" : sublist_data_Periodo_Actual.nom_PuntoCargo,
                    nom_PuntoCargo_Grupo = sublist_data_Periodo_Actual == null ? "" : sublist_data_Periodo_Actual.nom_PuntoCargo_Grupo,
                    GrupoCble            = plancta.Nom_GrupoCble,
                    nom_Periodo_ant      = Periodo_Info_Anterior.nom_periodo,
                    nom_Periodo_act      = Periodo_Info_Actual.nom_periodo,

                    IdGrupo_Mayor     = plancta.IdGrupo_Mayor,
                    nom_grupo_mayor   = plancta.nom_grupo_mayor,
                    order_grupo_mayor = plancta.orden
                };

                List <XCONTA_Rpt011_Info> listadedatos = new List <XCONTA_Rpt011_Info>();

                double Total_ventas_act = ListaCtasCbles_x_cbtes_con_movi.Where(q => q.IdNivelCta == 1 && q.IdGrupo_Mayor == "VTAS_NETAS").Sum(q => q.Saldo_Periodo_act) == null ? 0 : (double)ListaCtasCbles_x_cbtes_con_movi.Where(q => q.IdNivelCta == 1 && q.IdGrupo_Mayor == "VTAS_NETAS").Sum(q => q.Saldo_Periodo_act);
                double Total_ventas_ant = ListaCtasCbles_x_cbtes_con_movi.Where(q => q.IdNivelCta == 1 && q.IdGrupo_Mayor == "VTAS_NETAS").Sum(q => q.Saldo_Periodo_ant) == null ? 0 : (double)ListaCtasCbles_x_cbtes_con_movi.Where(q => q.IdNivelCta == 1 && q.IdGrupo_Mayor == "VTAS_NETAS").Sum(q => q.Saldo_Periodo_ant);
                double Total_varianza   = ListaCtasCbles_x_cbtes_con_movi.Where(q => q.IdNivelCta == 1 && q.IdGrupo_Mayor == "VTAS_NETAS").Sum(q => q.Saldo_Periodo_act - q.Saldo_Periodo_ant) == null ? 0 : (double)ListaCtasCbles_x_cbtes_con_movi.Where(q => q.IdNivelCta == 1 && q.IdGrupo_Mayor == "VTAS_NETAS").Sum(q => q.Saldo_Periodo_act - q.Saldo_Periodo_ant);

                foreach (var item_data in ListaCtasCbles_x_cbtes_con_movi)
                {
                    XCONTA_Rpt011_Info Info = new XCONTA_Rpt011_Info();
                    Info.IdNivelCta = item_data.IdNivelCta;
                    if (item_data.GrupoCble == "UTILIDAD")
                    {
                        Info.IdNivelCta = 1;
                    }
                    Info.IdEmpresa            = item_data.IdEmpresa;
                    Info.gc_estado_financiero = "";
                    Info.GrupoCble            = item_data.GrupoCble;
                    Info.IdCentroCosto        = IdCentroCosto;
                    Info.IdCtaCble            = item_data.IdCtaCble;
                    Info.IdCtaCblePadre       = item_data.IdCtaCblePadre;

                    Info.IdPuntoCargo         = IdPunto_cargo;
                    Info.IdPuntoCargo_Grupo   = IdPunto_cargo_grupo;
                    Info.nom_CentroCosto      = item_data.nom_CentroCosto;
                    Info.nom_cuenta           = item_data.pc_Cuenta;
                    Info.nom_empresa          = item_data.nom_empresa;
                    Info.nom_PuntoCargo       = item_data.nom_PuntoCargo;
                    Info.nom_PuntoCargo_Grupo = item_data.nom_PuntoCargo_Grupo;
                    Info.OrderGrupoCble       = 0;
                    Info.pc_EsMovimiento      = item_data.pc_EsMovimiento;

                    Info.Porcen_Periodo1 = (item_data.Saldo_Periodo_act / Total_ventas_act);
                    Info.Porcen_Periodo2 = (item_data.Saldo_Periodo_ant / Total_ventas_ant);

                    Info.Saldo_Periodo_act        = item_data.Saldo_Periodo_act;
                    Info.Saldo_Periodo_ant        = item_data.Saldo_Periodo_ant;
                    Info.Saldo_x_Movi_Periodo_act = 0;
                    Info.Saldo_x_Movi_Periodo_ant = 0;
                    Info.Variacion        = item_data.Saldo_Periodo_act - item_data.Saldo_Periodo_ant;
                    Info.Porcen_Variacion = (Info.Variacion / Total_varianza);
                    Info.nom_Periodo_act  = item_data.nom_Periodo_act;
                    Info.nom_Periodo_ant  = item_data.nom_Periodo_ant;

                    Info.IdGrupo_Mayor     = item_data.IdGrupo_Mayor;
                    Info.nom_grupo_mayor   = item_data.nom_grupo_mayor;
                    Info.order_grupo_mayor = item_data.order_grupo_mayor;
                    listadedatos.Add(Info);
                }

                if (!Mostrar_reg_Cero)
                {
                    listadedatos = listadedatos.Where(q => Math.Abs((double)q.Saldo_Periodo_act) + Math.Abs((double)q.Saldo_Periodo_ant) != 0).ToList();
                }

                return(listadedatos);
            }
            catch (Exception ex)
            {
                string mensaje = "";
                string arreglo = 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(), "", arreglo, "",
                                                                                          "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                mensaje = ex.ToString();
                throw new Exception(ex.ToString());
            }
        }