public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute fetch_listaConveniosLoja "); /// USER [ execute ] // ## Obtem empresas vinculadas à loja LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this); if (loj_emp.select_fk_loja(loj.get_identity())) { T_Empresa emp = new T_Empresa(this); while (loj_emp.fetch()) { // ## Busca empresa if (!emp.selectIdentity(loj_emp.get_fk_empresa())) { return(false); } // ## Copiar dados DadosEmpresa de = new DadosEmpresa(); de.set_st_empresa(emp.get_st_empresa()); de.set_st_fantasia(emp.get_st_fantasia()); de.set_tx_convenio(loj_emp.get_tx_admin()); de.set_nu_dias_convenio(loj_emp.get_nu_dias_repasse()); de.set_st_ag(loj_emp.get_st_ag()); de.set_st_banco(loj_emp.get_st_banco()); de.set_st_conta(loj_emp.get_st_conta()); output_array_generic_lst.Add(de); } } if (output_array_generic_lst.Count == 0) { PublishNote("Nenhum convênio disponível"); } /// USER [ execute ] END Registry("execute done fetch_listaConveniosLoja "); return(true); }
public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute fetch_consultaLoja "); /// USER [ execute ] T_Terminal term = new T_Terminal(this); // ## Obtem filtros da entrada string nome = input_cont_dcl.get_st_nome().ToUpper(), cidade = input_cont_dcl.get_st_cidade(), estado = input_cont_dcl.get_st_estado(), codigo = input_cont_dcl.get_st_loja(); long min_qtd = 0; if (input_cont_dcl.get_nu_qtd_term().Length > 0) { min_qtd = Convert.ToInt32(input_cont_dcl.get_nu_qtd_term()); } long memory = Convert.ToInt64(new InstallData().maxPacket) / 360; Hashtable hshLojas = new Hashtable(); #region - lojas para um determinado administrador - if (user.get_tg_nivel() == TipoUsuario.Administrador) { if (!emp.select_rows_empresa(user.get_st_empresa())) { PublishError("CNPJ de empresa inválido"); return(false); } if (!emp.fetch()) { return(false); } LINK_LojaEmpresa lnk = new LINK_LojaEmpresa(this); if (lnk.select_fk_empresa_geral(emp.get_identity())) { while (lnk.fetch()) { hshLojas [lnk.get_fk_loja()] = "*"; } } } #endregion bool bNome = false; if (nome.Length > 0) { bNome = true; } bool bCod = false; if (codigo.Length > 0) { bCod = true; } ArrayList lstSortLojas = new ArrayList(); Hashtable hshSortLojas = new Hashtable(); LINK_LojaEmpresa loj_emp_conv = new LINK_LojaEmpresa(this); T_Empresa emp_comp = new T_Empresa(this); // ## Loop diferente para ambos os tipos de consulta // ## em um só bloco for (;;) { if (IsEmpresa) { // ## Busca do relacionamento loja e empresa if (!loj_emp.fetch()) { break; } // ## Se loja não existir, sair if (!loj.selectIdentity(loj_emp.get_fk_loja())) { return(false); } } else { // ## busca proximo registro do select all if (!loj.fetch()) { break; } if (hshLojas.Count > 0) { // ## filtro lojas no caso de admin if (hshLojas [loj.get_identity()] == null) { continue; } } } // ## Verifica qtd de terminais term.select_fk_loja(loj.get_identity()); if (bCod) { if (loj.get_st_loja() != codigo) { continue; } } if (bNome) { if (!loj.get_st_nome().ToUpper().Contains(nome)) { if (!loj.get_st_social().ToUpper().Contains(nome)) { continue; } } } if (min_qtd > 0) { if (term.GetCount() < min_qtd) { continue; } } if (cidade.Length > 0) { if (!loj.get_st_cidade().Contains(cidade)) { continue; } } if (estado.Length > 0) { if (!loj.get_st_estado().Contains(estado)) { continue; } } // ## Copia dados para memória DadosLoja dl = new DadosLoja(); string id_loja = loj.get_st_nome().Trim() + " - " + loj.get_st_social().Trim(); lstSortLojas.Add(id_loja); dl.set_st_loja(loj.get_st_loja()); dl.set_st_nome(id_loja); dl.set_st_cidade(loj.get_st_cidade()); dl.set_st_estado(loj.get_st_estado()); dl.set_st_endereco("Tel: " + loj.get_nu_telefone() + " End: " + loj.get_st_endereco()); dl.set_nu_diasRep(loj_emp.get_nu_dias_repasse()); string tx = loj_emp.get_tx_admin().PadLeft(3, '0'); dl.set_nu_pctRep(tx.Insert(tx.Length - 2, ",") + "%"); string st_terms = " ("; int terms = 0; while (term.fetch()) { if (term.get_fk_loja() == Context.NOT_SET) { continue; } terms++; st_terms += term.get_nu_terminal().TrimStart('0') + ", "; } st_terms = terms.ToString() + st_terms.Trim().TrimEnd(',') + ")"; dl.set_st_obs(st_terms); dl.set_nu_CNPJ(loj.get_nu_CNPJ()); string convs = ""; if (loj_emp_conv.select_fk_loja(loj.get_identity())) { while (loj_emp_conv.fetch()) { emp_comp.selectIdentity(loj_emp_conv.get_fk_empresa()); convs += emp_comp.get_st_empresa().TrimStart('0') + ","; } } dl.set_st_convenios(convs.TrimEnd(',')); hshSortLojas [id_loja] = dl; } lstSortLojas.Sort(); StringBuilder sb = new StringBuilder(); for (int t = 0; t < lstSortLojas.Count; ++t) { DadosLoja dl = hshSortLojas [lstSortLojas [t]] as DadosLoja; DataPortable tmp = dl as DataPortable; // ## obtem indexador sb.Append(MemorySave(ref tmp)); sb.Append(","); } 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); // ## Obtem indexador geral output_st_csv_id = MemorySave(ref dp); /// USER [ execute ] END Registry("execute done fetch_consultaLoja "); return(true); }
public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute fetch_rel_listaLojas "); /// USER [ execute ] T_Empresa emp = new T_Empresa(this); if (!emp.select_rows_empresa(input_emp)) { PublishError("Empresa " + input_emp + " não disponível"); return(false); } if (!emp.fetch()) { return(false); } output_nome_emp = emp.get_st_fantasia(); LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this); if (!loj_emp.select_fk_empresa_geral(emp.get_identity())) { PublishError("Nenhuma loja cadastrada"); return(false); } T_Loja loj = new T_Loja(this); T_Terminal term = new T_Terminal(this); StringBuilder sb = new StringBuilder(); while (loj_emp.fetch()) { if (!loj.selectIdentity(loj_emp.get_fk_loja())) { continue; } if (!term.select_fk_loja(loj.get_identity())) { continue; } DataPortable port = new DataPortable(); port.setValue("cod", loj.get_st_loja()); port.setValue("nome", loj.get_st_nome() + " - " + loj.get_st_social()); port.setValue("tel", loj.get_nu_telefone()); port.setValue("cid", loj.get_st_cidade()); port.setValue("est", loj.get_st_estado()); port.setValue("term", term.RowCount().ToString()); port.setValue("cnpj", loj.get_nu_CNPJ()); port.setValue("drep", loj_emp.get_nu_dias_repasse()); port.setValue("prep", loj_emp.get_tx_admin().PadLeft(4, '0').Insert(2, ",") + " %"); sb.Append(MemorySave(ref port)); sb.Append(","); } string list_ids = sb.ToString().TrimEnd(','); DataPortable dp = new DataPortable(); dp.setValue("ids", list_ids); // ## obtem indice geral output_id = MemorySave(ref dp); /// USER [ execute ] END Registry("execute done fetch_rel_listaLojas "); return(true); }
public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute fetch_rel_4_rrp "); /// USER [ execute ] DateTime t_end = Convert.ToDateTime(input_dt_fim).AddDays(1); // ## // ## 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(); #region - filtro de lojas da empresa - if (user.get_tg_nivel() == TipoUsuario.Administrador) { T_Empresa emp_orig = new T_Empresa(this); // ## Busca empresa original if (!emp_orig.select_rows_empresa(user.get_st_empresa())) { return(false); } if (!emp_orig.fetch()) { return(false); } LINK_LojaEmpresa lnk = new LINK_LojaEmpresa(this); // ## busca relacionamento das empresas com lojas if (lnk.select_fk_empresa_geral(emp_orig.get_identity())) { while (lnk.fetch()) { // ## indexa lojas hshLojas [lnk.get_fk_loja()] = "*"; } } // ## busca empresas administradas T_Empresa emp_lnk_admin = new T_Empresa(this); if (emp_lnk_admin.select_fk_admin(emp_orig.get_identity())) { while (emp_lnk_admin.fetch()) { // ## busca lojas de cada empresa administrada LINK_LojaEmpresa lnk_admin = new LINK_LojaEmpresa(this); if (lnk_admin.select_fk_empresa_geral(emp_lnk_admin.get_identity())) { while (lnk_admin.fetch()) { // ## indexa loja hshLojas [lnk_admin.get_fk_loja()] = "*"; } } } } } #endregion // ## Busca empresa T_Empresa emp = new T_Empresa(this); if (!emp.select_rows_empresa(input_st_empresa)) { PublishError("Código de empresa inválida"); return(false); } if (!emp.fetch()) { return(false); } output_st_nome_empresa = emp.get_st_fantasia(); LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this); // ## Busca convenios if (!loj_emp.select_fk_empresa_geral(emp.get_identity())) { PublishError("Nenhuma loja cadastrada"); return(false); } T_Loja loj = new T_Loja(this); T_Cartao cart = new T_Cartao(this); LOG_Transacoes ltr = new LOG_Transacoes(this); long total = 0; long total_geral = 0; StringBuilder sb = new StringBuilder(); // ## Busca registros de convênios T_Parcelas parc = new T_Parcelas(this); while (loj_emp.fetch()) { if (hshLojas.Count > 0) { if (hshLojas [loj_emp.get_fk_loja()] == null) { continue; } } // ## Busca loja if (!loj.selectIdentity(loj_emp.get_fk_loja())) { return(false); } double tx = loj_emp.get_int_tx_admin(); long dias = loj_emp.get_int_nu_dias_repasse(); long subtotal = 0, repasse = 0, total_loja = 0; // ## Busca nas transações do periodo bool zerada = true; if (parc.select_rows_repasse(loj.get_identity(), TipoParcela.EM_ABERTO)) // ainda não pagos { while (parc.fetch()) { if (ltr.selectIdentity(parc.get_fk_log_transacoes())) { if (ltr.get_tg_confirmada() != TipoConfirmacao.Confirmada) { continue; } } if (!cart.selectIdentity(parc.get_fk_cartao())) { return(false); } DateTime tim = Convert.ToDateTime(parc.get_dt_inclusao()).AddDays(dias); // fora da faixa requerida pelo relatório if (tim > t_end) { continue; } DadosRepasse dr = new DadosRepasse(); dr.set_tg_tipoCartao(cart.get_tg_tipoCartao()); dr.set_st_nsu(parc.get_nu_nsu()); dr.set_st_loja(loj.get_st_loja()); dr.set_st_cartao(cart.get_st_empresa() + "." + cart.get_st_matricula() + "." + cart.get_st_titularidade()); dr.set_dt_trans(parc.get_dt_inclusao()); dr.set_vr_total(parc.get_vr_valor()); // acerta data correta do repasse dr.set_dt_repasse(GetDataBaseTime(tim)); total_loja += parc.get_int_vr_valor(); repasse = Convert.ToInt64(parc.get_int_vr_valor() - (parc.get_int_vr_valor() * tx / 10000)); subtotal += repasse; dr.set_vr_repasse(repasse.ToString()); DataPortable mem = dr as DataPortable; sb.Append(MemorySave(ref mem)); sb.Append(","); zerada = false; } } if (!zerada) { total += subtotal; total_geral += total_loja; output_st_csv_lojas += loj.get_st_loja() + ","; output_st_csv_nome_lojas += loj.get_st_nome() + " - CNPJ (" + loj.get_nu_CNPJ() + ") - Percentual " + ((double)loj_emp.get_int_tx_admin() / 100).ToString().Replace(",", ".") + "% - Dias de repasse " + loj_emp.get_nu_dias_repasse() + ","; output_st_csv_subtotal += subtotal.ToString() + ","; output_st_csv_subtotal_geral += total_loja.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); // ## Guarda indexador de grupo output_st_csv_content = MemorySave(ref dp); output_st_csv_lojas = output_st_csv_lojas.TrimEnd(','); output_st_csv_nome_lojas = output_st_csv_nome_lojas.TrimEnd(','); output_st_csv_subtotal = output_st_csv_subtotal.TrimEnd(','); output_st_csv_subtotal_geral = output_st_csv_subtotal_geral.TrimEnd(','); output_st_total = total.ToString(); output_st_total_geral = total_geral.ToString(); /// USER [ execute ] END Registry("execute done fetch_rel_4_rrp "); return(true); }