示例#1
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_listaTransacoesLojas ");

            /// USER [ execute ]

            LOG_Transacoes ltr = new LOG_Transacoes(this);

            if (!ltr.select_rows_dt(input_dt_ini, input_dt_fim))
            {
                PublishError("Nenhuma transação disponível");
                return(false);
            }

            Hashtable hshEmp = new Hashtable();
            Hashtable hshLoj = new Hashtable();

            ArrayList lstEmp = new ArrayList();
            ArrayList lstLoj = new ArrayList();

            while (ltr.fetch())
            {
                string fk_empresa = ltr.get_fk_empresa();

                if (hshEmp [fk_empresa] == null)
                {
                    hshEmp [fk_empresa] = (long)0;
                    lstEmp.Add(fk_empresa);
                }

                hshEmp [fk_empresa] = (long)hshEmp [fk_empresa] + 1;

                string fk_loja = ltr.get_fk_loja();

                if (hshLoj [fk_loja] == null)
                {
                    hshLoj [fk_loja] = (long)0;
                    lstLoj.Add(fk_loja);
                }

                hshLoj [fk_loja] = (long)hshLoj [fk_loja] + 1;
            }

            ArrayList lstEmpSort = new ArrayList();

            for (int t = 0; t < lstEmp.Count; ++t)
            {
                string tg  = lstEmp[t].ToString();
                long   qtd = (long)hshEmp [tg];
                string res = qtd.ToString().PadLeft(12, '0') + tg;

                lstEmpSort.Add(res);
            }

            ArrayList lstLojSort = new ArrayList();

            for (int t = 0; t < lstLoj.Count; ++t)
            {
                string tg  = lstLoj[t].ToString();
                long   qtd = (long)hshLoj [tg];
                string res = qtd.ToString().PadLeft(12, '0') + tg;

                lstLojSort.Add(res);
            }

            lstEmpSort.Sort();
            lstLojSort.Sort();

            StringBuilder sb_global = new StringBuilder();

            T_Empresa emp = new T_Empresa(this);

            for (int t = lstEmpSort.Count - 1; t >= 0; --t)
            {
                string line = lstEmpSort[t].ToString();
                string qtd  = line.Substring(0, 12).TrimStart('0');

                if (emp.selectIdentity(line.Substring(12, line.Length - 12)))
                {
                    DadosConsultaGraficoTransLojas dl = new DadosConsultaGraficoTransLojas();

                    dl.set_nu_trans(qtd);
                    dl.set_nu_cod(emp.get_st_empresa());
                    dl.set_st_nome(emp.get_st_fantasia());
                    dl.set_tg_tipo("E");

                    DataPortable mem = dl as DataPortable;

                    sb_global.Append(MemorySave(ref mem));
                    sb_global.Append(",");
                }
            }

            T_Loja loj = new T_Loja(this);

            for (int t = lstLojSort.Count - 1; t >= 0; --t)
            {
                string line = lstLojSort[t].ToString();
                string qtd  = line.Substring(0, 12).TrimStart('0');

                if (loj.selectIdentity(line.Substring(12, line.Length - 12)))
                {
                    DadosConsultaGraficoTransLojas dl = new DadosConsultaGraficoTransLojas();

                    dl.set_nu_trans(qtd);
                    dl.set_nu_cod(loj.get_st_loja());
                    dl.set_st_nome(loj.get_st_nome() + " - " + loj.get_st_social());
                    dl.set_tg_tipo("L");

                    DataPortable mem = dl as DataPortable;

                    sb_global.Append(MemorySave(ref mem));
                    sb_global.Append(",");
                }
            }

            string list_ids = sb_global.ToString().TrimEnd(',');

            if (list_ids == "")
            {
                PublishNote("Nenhum registro encontrado");
                return(false);
            }

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            output_st_csv = MemorySave(ref dp);

            /// USER [ execute ] END

            Registry("execute done fetch_listaTransacoesLojas ");

            return(true);
        }
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute graph_transacoes ");

            /// USER [ execute ]

            LOG_Transacoes ltr = new LOG_Transacoes(this);

            StringBuilder sb_global = new StringBuilder();

            T_Loja    loj = new T_Loja(this);
            T_Empresa emp = new T_Empresa(this);

            DateTime t_start = Convert.ToDateTime(input_dt_ini);
            DateTime t_end   = Convert.ToDateTime(input_dt_fim).AddHours(23).AddMinutes(59).AddSeconds(59);

            if (t_start.Day == t_end.Day)
            {
                if (t_start.Month == t_end.Month)
                {
                    PublishError("Favor informar período com datas diferentes");
                    return(false);
                }
            }

            for (int u = 0; u < input_array_generic_lst.Count; ++u)
            {
                DadosConsultaGraficoTransLojas dl = new DadosConsultaGraficoTransLojas(input_array_generic_lst[u] as DataPortable);

                ltr.Reset();

                Hashtable hsh_globalday = new Hashtable();
                ArrayList lst_globalday = new ArrayList();

                if (dl.get_tg_tipo() == "E")
                {
                    if (emp.select_rows_empresa(dl.get_nu_cod()))
                    {
                        if (emp.fetch())
                        {
                            if (!ltr.select_rows_dt_emp(GetDataBaseTime(t_start),
                                                        GetDataBaseTime(t_end),
                                                        emp.get_identity()))
                            {
                                continue;
                            }
                        }
                    }
                }
                else
                {
                    if (loj.select_rows_loja(dl.get_nu_cod()))
                    {
                        if (loj.fetch())
                        {
                            if (!ltr.select_rows_dt_loj(GetDataBaseTime(t_start),
                                                        GetDataBaseTime(t_end),
                                                        loj.get_identity()))
                            {
                                continue;
                            }
                        }
                    }
                }

                long nu_tot = 0;

                while (ltr.fetch())
                {
                    string day = ltr.get_dt_transacao().Substring(0, 10);

                    if (hsh_globalday [day] == null)
                    {
                        hsh_globalday [day] = (long)nu_tot;
                        lst_globalday.Add(day);
                    }

                    hsh_globalday [day] = ++nu_tot;
                }

                for (int t = 0; t < lst_globalday.Count; ++t)
                {
                    string day = lst_globalday[t].ToString();

                    long nu_trans = (long)hsh_globalday [day];

                    DadosConsultaGraficoTransLojas dgtl = new DadosConsultaGraficoTransLojas();

                    dgtl.set_dt_trans(day + " 00:00");
                    dgtl.set_nu_trans(nu_trans.ToString());
                    dgtl.set_nu_id(u.ToString());

                    DataPortable mem = dgtl as DataPortable;

                    sb_global.Append(MemorySave(ref mem));
                    sb_global.Append(",");
                }
            }

            string list_ids = sb_global.ToString().TrimEnd(',');

            if (list_ids == "")
            {
                PublishNote("Nenhum registro encontrado");
                return(false);
            }

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            output_st_csv = MemorySave(ref dp);

            /// USER [ execute ] END

            Registry("execute done graph_transacoes ");

            return(true);
        }