public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute fetch_rel_3_fech "); /// USER [ execute ] // ## // ## O seguinte trecho indexa as lojas possíveis // ## de retorno para uma determinada empresa. // ## // ## E, no caso de a empresa original ser administradora // ## de empresas, indexar todas as lojas de todas empresas // ## desta rede. // ## Hashtable hshLojas = new Hashtable(); T_Loja loj = new T_Loja(this); T_Parcelas parc = new T_Parcelas(this); T_Cartao cart = new T_Cartao(this); T_Terminal term = new T_Terminal(this); T_Proprietario prot = new T_Proprietario(this); LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this); string aff = ""; switch (input_en_tipo) { case "0": // por Loja { #region Por Loja Hashtable hsh_loja = new Hashtable(); Hashtable hsh_sub_total_loja = new Hashtable(); StringBuilder sb = new StringBuilder(); long nu_total_empresa = 0; ArrayList lstLojas = new ArrayList(); // ## Busca registros while (log_fech.fetch()) { if (aff == "") { aff = " - " + log_fech.get_st_afiliada(); } // ## Busca tabelas auxiliares if (!loj.selectIdentity(log_fech.get_fk_loja())) { return(false); } if (!cart.selectIdentity(log_fech.get_fk_cartao())) { return(false); } if (!prot.selectIdentity(cart.get_fk_dadosProprietario())) { return(false); } if (!parc.selectIdentity(log_fech.get_fk_parcela())) { return(false); } if (!term.selectIdentity(parc.get_fk_terminal())) { return(false); } if (input_st_afiliada != "") { if (log_fech.get_st_afiliada() != input_st_afiliada) { continue; } } string pct = "000"; if (loj_emp.select_fk_empresa_loja(emp.get_identity(), loj.get_identity())) { if (loj_emp.fetch()) { pct = loj_emp.get_tx_admin(); } } double tx = loj_emp.get_int_tx_admin(); pct = pct.PadLeft(3, '0'); pct = pct.Insert(pct.Length - 2, ".") + "%"; string st_loja = loj.get_st_nome() + " - Perc.: " + pct + "<br>" + loj.get_st_social() + " - CNPJ: " + loj.get_nu_CNPJ(); // ## Guarda nomes de lojas if (hsh_loja [st_loja] == null) { hsh_sub_total_loja [st_loja] = (long)0; hsh_loja [st_loja] = "*"; lstLojas.Add(st_loja); } long valor = log_fech.get_int_vr_valor(); long sub_loja = (long)hsh_sub_total_loja [st_loja]; nu_total_empresa += valor; hsh_sub_total_loja [st_loja] = sub_loja + valor; // ## Grava registro em memória DadosFechamento df = new DadosFechamento(); df.set_st_cartao(cart.get_st_empresa() + "." + cart.get_st_matricula() + "." + cart.get_st_titularidade()); df.set_st_terminal(term.get_nu_terminal()); df.set_st_loja(st_loja); df.set_st_nsu(parc.get_nu_nsu()); df.set_dt_trans(parc.get_dt_inclusao()); df.set_vr_valor(log_fech.get_vr_valor()); df.set_st_nome(prot.get_st_nome()); long repasse = Convert.ToInt64(log_fech.get_int_vr_valor() - (log_fech.get_int_vr_valor() * tx / 10000)); df.set_vr_repasse(repasse.ToString()); df.set_nu_parcela(parc.get_nu_indice() + "/" + parc.get_nu_tot_parcelas()); DataPortable mem_rlt = df as DataPortable; // ## Gera identificador sb.Append(MemorySave(ref mem_rlt)); sb.Append(","); } output_st_total = nu_total_empresa.ToString(); string list_ids = sb.ToString().TrimEnd(','); if (list_ids == "") { PublishNote("Nenhum registro encontrado"); return(false); } DataPortable dp = new DataPortable(); dp.setValue("ids", list_ids); // ## gera identificador de todos os registros output_st_csv_loja_content = MemorySave(ref dp); lstLojas.Sort(); for (int t = 0; t < lstLojas.Count; ++t) { string loja = lstLojas[t].ToString(); long sub_total = (long)hsh_sub_total_loja [loja]; output_st_csv_subtotal_loja += sub_total.ToString() + ","; output_st_csv_loja += loja + ","; } output_st_csv_loja = output_st_csv_loja.TrimEnd(','); output_st_csv_subtotal_loja = output_st_csv_subtotal_loja.TrimEnd(','); #endregion break; } case "1": // por cartao { #region Por Cartao Hashtable hsh_cartao = new Hashtable(); Hashtable hsh_sub_total_cartao = new Hashtable(); StringBuilder sb = new StringBuilder(); long nu_total_cartao = 0; ArrayList lstCart = new ArrayList(); while (log_fech.fetch()) { if (aff == "") { if (log_fech.get_st_afiliada().Trim().Length != 0) { aff = " - " + log_fech.get_st_afiliada(); } } if (!loj.selectIdentity(log_fech.get_fk_loja())) { return(false); } if (!parc.selectIdentity(log_fech.get_fk_parcela())) { return(false); } if (!cart.selectIdentity(log_fech.get_fk_cartao())) { return(false); } if (!prot.selectIdentity(cart.get_fk_dadosProprietario())) { return(false); } string cartao = prot.get_st_nome() + "<br>CPF: " + prot.get_st_cpf() + " Cartão: " + cart.get_st_empresa() + "." + cart.get_st_matricula() + "<br>"; if (hsh_cartao [cartao] == null) { hsh_sub_total_cartao [cartao] = (long)0; hsh_cartao [cartao] = "*"; lstCart.Add(cartao); } long valor = log_fech.get_int_vr_valor(); long sub_cartao = (long)hsh_sub_total_cartao [cartao]; nu_total_cartao += valor; hsh_sub_total_cartao [cartao] = sub_cartao + valor; DadosFechamento df = new DadosFechamento(); df.set_st_cartao(cartao); df.set_st_loja("(" + loj.get_st_loja() + ") " + loj.get_st_nome()); df.set_st_nsu(parc.get_nu_nsu()); df.set_dt_trans(parc.get_dt_inclusao()); df.set_vr_valor(log_fech.get_vr_valor()); df.set_st_cnpj(loj.get_nu_CNPJ()); df.set_st_matricula(cart.get_st_matricula()); df.set_nu_parcela(parc.get_nu_indice() + "/" + parc.get_nu_tot_parcelas()); DataPortable mem_rlt = df as DataPortable; sb.Append(MemorySave(ref mem_rlt)); sb.Append(","); } output_st_total = nu_total_cartao.ToString(); string list_ids = sb.ToString().TrimEnd(','); DataPortable dp = new DataPortable(); dp.setValue("ids", list_ids); output_st_csv_cartao_content = MemorySave(ref dp); lstCart.Sort(); for (int t = 0; t < lstCart.Count; ++t) { string st_cart = lstCart[t].ToString(); long sub_total = (long)hsh_sub_total_cartao [st_cart]; output_st_csv_subtotal_cartao += sub_total.ToString() + ","; output_st_csv_cartao += st_cart + ","; } output_st_csv_subtotal_cartao = output_st_csv_subtotal_cartao.TrimEnd(','); output_st_csv_cartao = output_st_csv_cartao.TrimEnd(','); #endregion break; } } output_st_empresa += aff; /// USER [ execute ] END Registry("execute done fetch_rel_3_fech "); return(true); }