public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute fetch_consultaTransacao "); /// USER [ execute ] T_Terminal term = new T_Terminal(this); T_Cartao cart = new T_Cartao(this); T_Loja loj = new T_Loja(this); StringBuilder sb = new StringBuilder(); int i_nu_parc = 0; long i_vr_valor = 0; if (nu_parc.Length > 0) { i_nu_parc = Convert.ToInt32(nu_parc); } if (vr_valor.Length > 0) { i_vr_valor = Convert.ToInt64(vr_valor); } string nsu = input_cont_dct.get_st_nsu(); Hashtable hshEmpresas = new Hashtable(); #region - para o caso de administrador - if (user.get_tg_nivel() == TipoUsuario.Administrador) { T_Empresa emp_admin = new T_Empresa(this); if (emp_admin.select_rows_empresa(user.get_st_empresa())) { if (!emp_admin.fetch()) { return(false); } T_Empresa emp_tb = new T_Empresa(this); // ## Para o caso de empresa administradora de empresas if (emp_tb.select_fk_admin(emp_admin.get_identity())) { while (emp_tb.fetch()) { hshEmpresas [emp_tb.get_identity()] = "*"; } } } } #endregion // ## Busca as transações SQL_LOGGING_ENABLE = false; int max_trans = 200; if (input_cont_header.get_tg_user_type() == TipoUsuario.SuperUser) { max_trans = 1000; } while (l_tr.fetch()) { // ## Filtro de empresas // ## somente de administradora ou de vinculadas if (hshEmpresas.Count > 0) { if (hshEmpresas [l_tr.get_fk_empresa()] == null) { continue; } } if (nsu.Length > 0) { if (l_tr.get_nu_nsu() != nsu) { continue; } } if (st_cart_id.Length > 0) { if (l_tr.get_fk_cartao() != st_cart_id) { continue; } } if (nu_parc.Length > 0) { if (l_tr.get_int_nu_parcelas() < i_nu_parc) { continue; } } if (vr_valor.Length > 0) { if (l_tr.get_int_vr_total() < i_vr_valor) { continue; } } if (en_oper.Length > 0) { if (l_tr.get_en_operacao() != en_oper) { continue; } } if (en_conf.Length > 0) { if (l_tr.get_tg_confirmada() != en_conf) { continue; } } if (fk_empresa.Length > 0) { if (l_tr.get_fk_empresa() != fk_empresa) { continue; } } if (fk_terminal.Length > 0) { if (l_tr.get_fk_terminal() != fk_terminal) { continue; } } term.Reset(); loj.Reset(); cart.Reset(); // ## Busca terminal term.selectIdentity(l_tr.get_fk_terminal()); if (fk_loja.Length > 0) { if (term.get_fk_loja() != fk_loja) { continue; } } loj.selectIdentity(l_tr.get_fk_loja()); cart.selectIdentity(l_tr.get_fk_cartao()); // ## Cria registro em memória if (--max_trans == 0) { PublishNote("Limite máximo de registros excedido"); break; } DadosConsultaTransacao dt = new DadosConsultaTransacao(); dt.set_en_oper(l_tr.get_en_operacao()); dt.set_st_nsu(l_tr.get_nu_nsu()); dt.set_st_cartao(cart.get_st_empresa() + "." + cart.get_st_matricula() + "." + cart.get_st_titularidade()); dt.set_st_cnpj_loja(loj.get_st_nome()); dt.set_st_terminal(term.get_nu_terminal()); dt.set_vr_valor(l_tr.get_vr_total()); dt.set_nu_parcelas(l_tr.get_nu_parcelas()); dt.set_dt_transacao(l_tr.get_dt_transacao()); dt.set_tg_status(l_tr.get_tg_confirmada()); dt.set_st_msg_erro(l_tr.get_st_msg_transacao() + l_tr.get_st_doc()); DataPortable tmp = dt as DataPortable; // ## indexa em memória sb.Append(MemorySave(ref tmp)); sb.Append(","); } SQL_LOGGING_ENABLE = true; string list_ids = sb.ToString().TrimEnd(','); if (list_ids == "") { PublishNote("Nenhum resultado foi encontrado"); return(true); } DataPortable dp = new DataPortable(); dp.setValue("ids", list_ids); // ## cria indexador de bloco output_st_csv_id = MemorySave(ref dp); /// USER [ execute ] END Registry("execute done fetch_consultaTransacao "); return(true); }
public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute fetch_rel_5_rle "); /// USER [ execute ] // # Disabilita escrita em disco // # AVISO: somente por motivos de performance // # Somente recomendado para relatórios em produção SQL_LOGGING_ENABLE = false; StringBuilder sb = new StringBuilder(); Hashtable hsh_loja_confirmada = new Hashtable(); Hashtable hsh_loja_cancelada = new Hashtable(); Hashtable hsh_loja = new Hashtable(); // guarda se container foi gerado ArrayList tmp_loja = new ArrayList(); // lista de lojas long vr_sub_confirmada = 0, vr_sub_cancelada = 0, vr_tot_confirmada = 0, vr_tot_cancelada = 0; LINK_LojaEmpresa link = new LINK_LojaEmpresa(this); T_Cartao cart = new T_Cartao(this); string id = ""; // # Busca todos os convênios de uma empresa if (link.select_fk_empresa_geral(emp.get_identity())) { while (link.fetch()) { loj.Reset(); if (!loj.selectIdentity(link.get_fk_loja())) { continue; } id = loj.get_identity(); #region - identifico a loja - if (hsh_loja [id] == null) { DadosLoja dl = new DadosLoja(); dl.set_st_loja(id); dl.set_st_nome("(" + loj.get_st_loja() + ") " + loj.get_st_nome()); output_array_generic_lstLojas.Add(dl); tmp_loja.Add(id); hsh_loja [id] = 1; } #endregion if (!l_tr.select_rows_dt_loj(input_st_dt_ini, input_st_dt_fim, id)) { continue; } T_Parcelas parc = new T_Parcelas(this); while (l_tr.fetch()) { if (!cart.selectIdentity(l_tr.get_fk_cartao())) { continue; } if (cart.get_st_empresa() != input_st_empresa) { continue; } #region - contabiliza - if (l_tr.get_tg_contabil() == Context.TRUE) { long cur_val = l_tr.get_int_vr_total(); if (l_tr.get_tg_confirmada() == TipoConfirmacao.Confirmada) { if (hsh_loja_confirmada [id] == null) { vr_sub_confirmada = (long)0; } else { vr_sub_confirmada = (long)hsh_loja_confirmada [id]; } vr_tot_confirmada += cur_val; hsh_loja_confirmada [id] = vr_sub_confirmada + cur_val; } else if (l_tr.get_tg_confirmada() == TipoConfirmacao.Cancelada) { if (hsh_loja_cancelada [id] == null) { vr_sub_cancelada = (long)0; } else { vr_sub_cancelada = (long)hsh_loja_cancelada [id]; } vr_tot_cancelada += cur_val; hsh_loja_cancelada [id] = vr_sub_cancelada + cur_val; } } #endregion Rel_RLE rle = new Rel_RLE(); #region - atribui ao container - rle.set_st_cartao(cart.get_st_empresa() + "." + cart.get_st_matricula() + "." + cart.get_st_titularidade()); rle.set_st_nsu(l_tr.get_nu_nsu()); rle.set_vr_total(l_tr.get_vr_total()); rle.set_nu_parc(l_tr.get_nu_parcelas()); if (parc.select_fk_log_trans(l_tr.get_identity())) { if (parc.fetch()) { rle.set_st_nsu(l_tr.get_nu_nsu()); } } rle.set_dt_trans(l_tr.get_dt_transacao()); rle.set_tg_status(l_tr.get_tg_confirmada()); rle.set_st_motivo(l_tr.get_st_msg_transacao()); rle.set_en_op_cartao(l_tr.get_en_operacao()); rle.set_st_loja(id); #endregion DataPortable mem_rle = rle as DataPortable; // # Guarda registro sb.Append(MemorySave(ref mem_rle)); sb.Append(","); } } string list_ids = sb.ToString().TrimEnd(','); DataPortable dp = new DataPortable(); dp.setValue("ids", list_ids); // # Guarda todos os registros output_st_csv = MemorySave(ref dp); #region - calcula totais - long value_sub = 0; for (int t = 0; t < tmp_loja.Count; ++t) { id = tmp_loja[t] as string; if (hsh_loja_confirmada [id] == null) { hsh_loja_confirmada [id] = (long)0; } if (hsh_loja_cancelada [id] == null) { hsh_loja_cancelada [id] = (long)0; } value_sub = (long)hsh_loja_confirmada [id]; output_st_csv_subtotal += value_sub.ToString() + ","; value_sub = (long)hsh_loja_cancelada [id]; output_st_csv_subtotal_cancelado += value_sub.ToString() + ","; } #endregion output_st_csv_subtotal = output_st_csv_subtotal.TrimEnd(','); output_st_csv_subtotal_cancelado = output_st_csv_subtotal_cancelado.TrimEnd(','); output_st_total = vr_tot_confirmada.ToString(); output_st_total_cancelado = vr_tot_cancelada.ToString(); } /// USER [ execute ] END Registry("execute done fetch_rel_5_rle "); return(true); }
public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute graph_financeiro "); /// 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); for (int u = 0; u < input_array_generic_lstCurves.Count; ++u) { DadosGraficoFinanceiro tmp_dgf = new DadosGraficoFinanceiro(input_array_generic_lstCurves[u] as DataPortable); DateTime t_start = Convert.ToDateTime(tmp_dgf.get_dt_ini()); DateTime t_end = Convert.ToDateTime(tmp_dgf.get_dt_fim()).AddHours(23).AddMinutes(59).AddSeconds(59); loj.Reset(); if (loj.select_rows_loja(tmp_dgf.get_st_loja())) { if (!loj.fetch()) { return(false); } } emp.Reset(); if (emp.select_rows_empresa(tmp_dgf.get_st_empresa().PadLeft(6, '0'))) { if (!emp.fetch()) { return(false); } } Hashtable hsh_globalday = new Hashtable(); ArrayList lst_globalday = new ArrayList(); bool loj_fetch = false; bool tudo = false; if (t_start.Day == t_end.Day) { if (t_start.Month == t_end.Month) { PublishError("Favor informar período com datas diferentes"); return(false); } } if (loj.get_identity() != Context.NOT_SET && emp.get_identity() != Context.NOT_SET) { loj_fetch = true; if (!ltr.select_rows_graph_financ_loj(GetDataBaseTime(t_start), GetDataBaseTime(t_end), TipoConfirmacao.Confirmada, loj.get_identity(), emp.get_identity())) { PublishNote("Nenhum resultado para " + loj.get_st_nome()); } } else if (emp.get_identity() != Context.NOT_SET) { if (!ltr.select_rows_graph_financ_emp(GetDataBaseTime(t_start), GetDataBaseTime(t_end), TipoConfirmacao.Confirmada, emp.get_identity())) { PublishNote("Nenhum resultado para " + emp.get_st_fantasia()); } } else if (tmp_dgf.get_st_empresa() == Context.NOT_SET) { tudo = true; ltr.select_rows_graph_financ(GetDataBaseTime(t_start), GetDataBaseTime(t_end), TipoConfirmacao.Confirmada); } long vr_tot = 0; while (ltr.fetch()) { string day = ltr.get_dt_transacao().Substring(0, 10); if (hsh_globalday [day] == null) { if (input_tg_tipo == "0") // variavel { hsh_globalday [day] = (long)0; } else { hsh_globalday [day] = (long)vr_tot; } lst_globalday.Add(day); } vr_tot += ltr.get_int_vr_total(); if (input_tg_tipo == "0") // variavel { hsh_globalday [day] = (long)hsh_globalday [day] + ltr.get_int_vr_total(); } else { hsh_globalday [day] = vr_tot; } } for (int t = 0; t < lst_globalday.Count; ++t) { string day = lst_globalday[t].ToString(); string nome_desc = ""; if (loj_fetch) { nome_desc = "Loja " + loj.get_st_loja() + " " + loj.get_st_nome() + " [" + emp.get_st_empresa() + "]"; } else if (!tudo) { nome_desc = "Empresa " + emp.get_st_empresa(); } else { nome_desc = "ConveyNET"; } long vr_valor = (long)hsh_globalday [day]; DadosGraficoFinanceiro dgf = new DadosGraficoFinanceiro(); dgf.set_nu_id(u.ToString()); dgf.set_dt_point(day + " 00:00"); dgf.set_st_loja(nome_desc); dgf.set_vr_point(vr_valor.ToString()); DataPortable mem = dgf 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_content = MemorySave(ref dp); /// USER [ execute ] END Registry("execute done graph_financeiro "); return(true); }