public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute fetch_listaLoja "); /// USER [ execute ] T_Loja loj = new T_Loja(this); T_Terminal term = new T_Terminal(this); for (int t = 0; t < var_util.indexCSV(input_st_csv); ++t) { if (!loj.selectIdentity(var_util.getCSV(t))) { return(false); } term.fetch_fk_loja(loj.get_identity()); DadosLoja dl = new DadosLoja(); dl.set_st_loja(loj.get_st_loja()); dl.set_nu_CNPJ(loj.get_nu_CNPJ()); dl.set_st_nome(loj.get_st_nome()); dl.set_st_cidade(loj.get_st_cidade()); dl.set_st_estado(loj.get_st_estado()); dl.set_vr_mensalidade(loj.get_vr_mensalidade()); dl.set_st_obs(term.RowCount().ToString()); output_array_generic_list.Add(dl); } /// USER [ execute ] END Registry("execute done fetch_listaLoja "); return(true); }
public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute fetch_arquivoFat "); /// USER [ execute ] T_Faturamento fat = new T_Faturamento(this); T_Faturamento fat_upd = new T_Faturamento(this); if (!fat.select_rows_dt_venc(input_dia_venc_ini, input_dia_venc_fim, TipoSitFat.Pendente)) { PublishError("Nenhum registro encontrado"); return(false); } StringBuilder sb_content = new StringBuilder(); T_Empresa emp = new T_Empresa(this); T_Loja loj = new T_Loja(this); if (input_tg_debito == Context.FALSE) { #region - DOC - long seq = 1; long vr_total_tits = 0; string cnpj = ""; string nome = ""; string end = ""; string cidade = ""; string estado = ""; string cep = ""; #region - HEADER - { DataPortable port = new DataPortable(); string header = "01REMESSA" + " ".PadLeft(17, ' ') + Parametros.Cedente.PadLeft(12, '0') + " ".PadLeft(8, ' ') + Parametros.Empresa.PadRight(30, ' ') + "041BANRISUL" + " ".PadLeft(7, ' ') + DateTime.Now.Day.ToString("00") + DateTime.Now.Month.ToString("00") + (DateTime.Now.Year - 2000).ToString("00") + " ".PadLeft(294, ' ') + "000001"; port.setValue("line", header); sb_content.Append(MemorySave(ref port)); sb_content.Append(","); } #endregion while (fat.fetch()) { if (fat.get_fk_empresa() != Context.FALSE) { if (!emp.selectIdentity(fat.get_fk_empresa())) { return(false); } if (emp.get_tg_tipoCobranca() != TipoCobranca.Doc) { continue; } } else { if (!loj.selectIdentity(fat.get_fk_loja())) { return(false); } if (loj.get_tg_tipoCobranca() != TipoCobranca.Doc) { continue; } } bool registroValido = true; if (fat.get_int_vr_cobranca() < 500 && fat.get_int_vr_cobranca() > 0) { ins_despesa tr = new ins_despesa(this); tr.input_cont_header = input_cont_header; if (fat.get_fk_empresa() != Context.FALSE) { tr.input_st_codigo = emp.get_st_empresa(); } else { tr.input_st_codigo = loj.get_st_loja(); } tr.input_tg_desconto = Context.FALSE; tr.input_vr_cobranca = fat.get_vr_cobranca(); tr.input_st_extra = "Adiamento de cobrança"; tr.quiet = true; tr.RunOnline(); registroValido = false; } if (fat.get_int_vr_cobranca() == 0) { registroValido = false; } if (registroValido) { seq++; StringBuilder sb_line = new StringBuilder(); string dv = fat.get_dt_vencimento().Substring(8, 2) + // dia fat.get_dt_vencimento().Substring(5, 2) + // mes fat.get_dt_vencimento().Substring(2, 2); // ano vr_total_tits += fat.get_int_vr_cobranca() + 350; if (fat.get_fk_empresa() != Context.FALSE) { nome = emp.get_st_social().PadRight(35, ' ').Substring(0, 35); end = emp.get_st_endereco().PadRight(40, ' ').Substring(0, 40); cnpj = emp.get_nu_CNPJ().PadLeft(14, '0'); cidade = emp.get_st_cidade().PadRight(15, ' ').Substring(0, 15); estado = emp.get_st_estado().PadRight(2, ' '); cep = emp.get_nu_CEP().PadRight(8, '0'); } else { nome = loj.get_st_social().PadRight(35, ' ').Substring(0, 35); end = loj.get_st_endereco().PadRight(40, ' ').Substring(0, 40); cnpj = loj.get_nu_CNPJ().PadLeft(14, '0'); cidade = loj.get_st_cidade().PadRight(15, ' ').Substring(0, 15); estado = loj.get_st_estado().PadRight(2, ' '); cep = loj.get_nu_CEP().PadRight(8, '0'); } sb_line.Append("1"); sb_line.Append("0".PadLeft(16, '0')); sb_line.Append(Parametros.Cedente.PadLeft(12, '0')); sb_line.Append("0".PadLeft(8, '0')); sb_line.Append(fat.get_identity().PadRight(25, ' ')); // ??? Dados de retorno sb_line.Append(" ".PadLeft(10, ' ')); sb_line.Append("Multa de 10% após vencto.".PadRight(32, ' ')); // Msg imp no bloqueto sb_line.Append(" ".PadLeft(3, ' ')); sb_line.Append("1"); // tipo de carteira sb_line.Append("01"); // código de ocorrência sb_line.Append(fat.get_identity().ToString().PadRight(10, ' ')); // seu numero sb_line.Append(dv); // dia vencimento sb_line.Append(fat.get_vr_cobranca().PadLeft(13, '0')); sb_line.Append("041"); // banco sb_line.Append(" ".PadLeft(5, ' ')); sb_line.Append("06"); // cobrança escritural sb_line.Append("N"); // aceite sb_line.Append(DateTime.Now.Day.ToString("00")); sb_line.Append(DateTime.Now.Month.ToString("00")); sb_line.Append((DateTime.Now.Year - 2000).ToString("00")); sb_line.Append("09"); // código de protesto! (09) protestar (15) devolver sb_line.Append(" "); sb_line.Append("0"); // codigo de mora (0) diario (1) mensal sb_line.Append("0".PadLeft(12, '0')); // valor juros diario sb_line.Append("0".PadLeft(6, '0')); // data desconto antecipado sb_line.Append("0".PadLeft(13, '0')); // valor desconto sb_line.Append("0".PadLeft(13, '0')); // valor iof sb_line.Append("0".PadLeft(13, '0')); // abatimento sb_line.Append("02"); // tipo de inscrição CNPJ sb_line.Append(cnpj); sb_line.Append(nome); sb_line.Append(" ".PadLeft(5, ' ')); sb_line.Append(end); sb_line.Append(" ".PadLeft(7, ' ')); sb_line.Append("0".PadLeft(3, '0')); sb_line.Append("0".PadLeft(2, '0')); sb_line.Append(cep); sb_line.Append(cidade); sb_line.Append(estado); sb_line.Append("0".PadLeft(4, '0')); sb_line.Append(" "); sb_line.Append("0".PadLeft(13, '0')); sb_line.Append("15"); sb_line.Append(" ".PadLeft(23, ' ')); sb_line.Append(seq.ToString().PadLeft(6, '0')); DataPortable port = new DataPortable(); port.setValue("line", sb_line.ToString()); sb_content.Append(MemorySave(ref port)); sb_content.Append(","); } fat_upd.ExclusiveAccess(); if (!fat_upd.selectIdentity(fat.get_identity())) { return(false); } if (registroValido) { fat_upd.set_tg_situacao(TipoSitFat.EmCobrança); } else { fat_upd.set_tg_situacao(TipoSitFat.PagoDoc); } if (!fat_upd.synchronize_T_Faturamento()) { return(false); } fat_upd.ReleaseExclusive(); } // ## TRAILER { DataPortable port = new DataPortable(); string trailer = "9" + " ".PadLeft(26, ' ') + vr_total_tits.ToString().PadLeft(13, '0') + " ".PadLeft(354, ' ') + seq.ToString("000000"); port.setValue("line", trailer); sb_content.Append(MemorySave(ref port)); sb_content.Append(","); } #endregion } else { #region - DÉBITO EM CONTA - long seq = 1; long vr_total_tits = 0; string conta_deb = ""; string dt_venc = ""; LOG_NSA l_nsa = new LOG_NSA(this); l_nsa.set_dt_log(GetDataBaseTime()); l_nsa.create_LOG_NSA(); #region - HEADER - { DataPortable port = new DataPortable(); string header = "A1" + Parametros.ConvenioDebConta + " ".PadLeft(15, ' ') + "Starfiche".PadRight(20, ' ') + "041BANRISUL".PadRight(23, ' ') + DateTime.Now.Year.ToString("0000") + DateTime.Now.Month.ToString("00") + DateTime.Now.Day.ToString("00") + l_nsa.get_identity().PadLeft(6, '0') + "04DEBITOAUTOMATICO".PadRight(69, ' '); port.setValue("line", header); sb_content.Append(MemorySave(ref port)); sb_content.Append(","); } #endregion while (fat.fetch()) { if (fat.get_fk_empresa() != Context.FALSE) { if (!emp.selectIdentity(fat.get_fk_empresa())) { return(false); } if (emp.get_tg_tipoCobranca() == TipoCobranca.Doc) { continue; } if (emp.get_int_nu_bancoFat() != 41) { continue; } conta_deb = emp.get_nu_contaDeb(); } else { if (!loj.selectIdentity(fat.get_fk_loja())) { return(false); } if (loj.get_tg_tipoCobranca() == TipoCobranca.Doc) { continue; } if (loj.get_int_nu_bancoFat() != 41) { continue; } conta_deb = loj.get_nu_contaDeb(); } dt_venc = fat.get_dt_vencimento().Substring(0, 4) + fat.get_dt_vencimento().Substring(5, 2) + fat.get_dt_vencimento().Substring(8, 2); vr_total_tits += fat.get_int_vr_cobranca(); StringBuilder sb_line = new StringBuilder(); sb_line.Append("E"); sb_line.Append(fat.get_identity().PadRight(25, ' ')); sb_line.Append(conta_deb.PadRight(14, ' ')); sb_line.Append(" ".PadRight(4, ' ')); sb_line.Append(dt_venc); sb_line.Append(fat.get_vr_cobranca().PadLeft(15, '0')); sb_line.Append("03"); sb_line.Append(fat.get_identity().PadRight(60, ' ')); sb_line.Append(" ".PadRight(20, ' ')); sb_line.Append("0"); DataPortable port = new DataPortable(); port.setValue("line", sb_line.ToString()); sb_content.Append(MemorySave(ref port)); sb_content.Append(","); fat_upd.ExclusiveAccess(); if (!fat_upd.selectIdentity(fat.get_identity())) { return(false); } fat_upd.set_tg_situacao(TipoSitFat.EmCobrança); if (!fat_upd.synchronize_T_Faturamento()) { return(false); } fat_upd.ReleaseExclusive(); } #region - TRAILER - { ++seq; DataPortable port = new DataPortable(); string trailer = "Z" + seq.ToString().PadLeft(6, '0') + vr_total_tits.ToString().PadLeft(17, '0') + " ".PadLeft(126, ' '); port.setValue("line", trailer); sb_content.Append(MemorySave(ref port)); sb_content.Append(","); } #endregion #endregion } string list_ids = sb_content.ToString().TrimEnd(','); if (list_ids == "") { PublishNote("Nenhum resultado foi encontrado"); return(true); } DataPortable dp = new DataPortable(); dp.setValue("ids", list_ids); output_st_msg = MemorySave(ref dp); LOG_NS_FAT l_nsFat = new LOG_NS_FAT(this); l_nsFat.set_dt_log(GetDataBaseTime()); l_nsFat.create_LOG_NS_FAT(); output_nu_nsFat = l_nsFat.get_identity(); // Limpa avisos do ins_despesa this.objection.Clear(); /// USER [ execute ] END Registry("execute done fetch_arquivoFat "); return(true); }
public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute fetch_dadosLoja "); /// USER [ execute ] // ## Copia para saida output_cont_dl.set_st_loja(loj.get_st_loja()); output_cont_dl.set_nu_CNPJ(loj.get_nu_CNPJ()); output_cont_dl.set_st_nome(loj.get_st_nome()); output_cont_dl.set_st_social(loj.get_st_social()); output_cont_dl.set_st_endereco(loj.get_st_endereco()); output_cont_dl.set_st_enderecoInst(loj.get_st_enderecoInst()); output_cont_dl.set_nu_inscEst(loj.get_nu_inscEst()); output_cont_dl.set_st_cidade(loj.get_st_cidade()); output_cont_dl.set_st_estado(loj.get_st_estado()); output_cont_dl.set_nu_CEP(loj.get_nu_CEP()); output_cont_dl.set_nu_telefone(loj.get_nu_telefone()); output_cont_dl.set_nu_fax(loj.get_nu_fax()); output_cont_dl.set_st_contato(loj.get_st_contato()); output_cont_dl.set_vr_mensalidade(loj.get_vr_mensalidade()); output_cont_dl.set_nu_contaDeb(loj.get_nu_contaDeb()); output_cont_dl.set_st_obs(loj.get_st_obs()); output_cont_dl.set_nu_pctValor(loj.get_nu_pctValor()); output_cont_dl.set_vr_transacao(loj.get_vr_transacao()); output_cont_dl.set_vr_minimo(loj.get_vr_minimo()); output_cont_dl.set_nu_franquia(loj.get_nu_franquia()); output_cont_dl.set_nu_periodoFat(loj.get_nu_periodoFat()); output_cont_dl.set_nu_diavenc(loj.get_nu_diavenc()); output_cont_dl.set_nu_bancoFat(loj.get_nu_bancoFat()); output_cont_dl.set_tg_tipoCobranca(loj.get_tg_tipoCobranca()); output_cont_dl.set_tg_blocked(loj.get_tg_blocked()); output_cont_dl.set_tg_cancel(loj.get_tg_cancel()); output_cont_dl.set_tg_isento(loj.get_tg_isentoFat()); output_cont_dl.set_st_senhaWeb(loj.get_st_senha()); LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this); T_Empresa emp = new T_Empresa(this); string convs = ""; if (loj_emp.select_fk_loja(loj.get_identity())) { while (loj_emp.fetch()) { emp.selectIdentity(loj_emp.get_fk_empresa()); convs += emp.get_st_empresa().TrimStart('0') + ","; } } output_cont_dl.set_st_convenios(convs.TrimEnd(',')); /// USER [ execute ] END Registry("execute done fetch_dadosLoja "); return(true); }
public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute fetch_rel_1_rtc "); /// 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(); #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 StringBuilder sb = new StringBuilder(); long vr_tot = 0; long vr_tot_cancelado = 0; T_Terminal term = new T_Terminal(this); while (l_tr.fetch()) { // ## Filtra lojas não vinculadas à empresa if (hshLojas.Count > 0) { if (hshLojas [l_tr.get_fk_loja()] == null) { continue; } } // ## Busca terminal if (term.selectIdentity(l_tr.get_fk_terminal())) { if (fk_loja.Length > 0) { if (term.get_fk_loja() != fk_loja) { continue; } } if (!loj.selectIdentity(term.get_fk_loja())) { continue; } if (input_st_cidade.Length > 0) { if (!loj.get_st_cidade().Contains(input_st_cidade)) { continue; } } if (input_st_estado.Length > 0) { if (!loj.get_st_estado().Contains(input_st_estado)) { continue; } } if (l_tr.get_tg_contabil() == Context.TRUE) { if (l_tr.get_tg_confirmada() == TipoConfirmacao.Cancelada) { vr_tot_cancelado += l_tr.get_int_vr_total(); } else if (l_tr.get_tg_confirmada() == TipoConfirmacao.Confirmada) { vr_tot += l_tr.get_int_vr_total(); } } } // ## Copia dados para memória Rel_RTC rtc = new Rel_RTC(); rtc.set_st_loja(loj.get_st_nome()); rtc.set_st_term(term.get_nu_terminal()); rtc.set_st_nsu(l_tr.get_nu_nsu()); rtc.set_vr_total(l_tr.get_vr_total()); rtc.set_nu_parc(l_tr.get_nu_parcelas()); rtc.set_dt_trans(l_tr.get_dt_transacao()); rtc.set_tg_status(l_tr.get_tg_confirmada()); rtc.set_st_motivo(l_tr.get_st_msg_transacao()); rtc.set_en_op_cartao(l_tr.get_en_operacao()); DataPortable mem_rtc = rtc as DataPortable; // ## obtem indice sb.Append(MemorySave(ref mem_rtc)); sb.Append(","); if (l_tr.get_int_nu_parcelas() > 1) { T_Parcelas parc = new T_Parcelas(this); if (parc.select_fk_log_trans(l_tr.get_identity())) { while (parc.fetch()) { Rel_RTC rtc2 = new Rel_RTC(); rtc2.set_vr_total(parc.get_vr_valor()); rtc2.set_nu_parc(parc.get_nu_indice()); rtc2.set_dt_trans(l_tr.get_dt_transacao()); rtc2.set_tg_status(l_tr.get_tg_confirmada()); rtc2.set_st_motivo(l_tr.get_st_msg_transacao()); rtc2.set_en_op_cartao(l_tr.get_en_operacao()); DataPortable mem_rtc_parc = rtc2 as DataPortable; // ## obtem indice sb.Append(MemorySave(ref mem_rtc_parc)); sb.Append(","); } } } } string list_ids = sb.ToString().TrimEnd(','); DataPortable dp = new DataPortable(); dp.setValue("ids", list_ids); // ## obtem indice geral output_st_csv = MemorySave(ref dp); // ## obtem dados adicionais T_Cartao cart = new T_Cartao(this); if (!cart.selectIdentity(st_cart_id)) { return(false); } T_Empresa emp = new T_Empresa(this); if (!emp.select_rows_empresa(cart.get_st_empresa())) { return(false); } if (!emp.fetch()) { return(false); } string nome = ""; if (cart.get_st_titularidade() != "01") { T_Dependente dep = new T_Dependente(this); dep.select_rows_prop_tit(cart.get_fk_dadosProprietario(), cart.get_st_titularidade()); dep.fetch(); nome = dep.get_st_nome() + " (Dependente)"; } else { T_Proprietario prot = new T_Proprietario(this); prot.selectIdentity(cart.get_fk_dadosProprietario()); nome = prot.get_st_nome() + " - CPF " + prot.get_st_cpf(); } output_st_empresa = emp.get_st_fantasia(); output_st_cartao = cart.get_st_empresa() + "." + cart.get_st_matricula() + "." + cart.get_st_titularidade() + ":" + cart.get_nu_viaCartao() + " - " + nome; output_st_total_periodo = vr_tot.ToString(); output_st_total_cancelado = vr_tot_cancelado.ToString(); // ##### ------------------------------------------------------ // ##### Relatório extra sobre todas as parcelas do cartão // ##### ------------------------------------------------------ { T_Cartao cart_parc = new T_Cartao(this); T_Cartao cart_parc_dep = new T_Cartao(this); ArrayList lstDeps = new ArrayList(); if (cart_parc.selectIdentity(st_cart_id)) { if (cart_parc.get_tg_tipoCartao() == TipoCartao.presente) { return(true); } if (cart_parc_dep.select_rows_empresa_matricula(cart_parc.get_st_empresa(), cart_parc.get_st_matricula())) { while (cart_parc_dep.fetch()) { lstDeps.Add(cart_parc_dep.get_identity()); } } } StringBuilder sb_parcs = new StringBuilder(); T_Parcelas parc = new T_Parcelas(this); for (int u = 1; u <= 12; ++u) { string cur_pac = "Comprometimento mensal (" + u.ToString() + ")"; if (u == 1) { cur_pac += " - vigente"; } bool HasContent = false; long tot_parc_ind = 0; if (parc.select_rows_relat_parc(u.ToString(), ref lstDeps)) { while (parc.fetch()) { if (!term.selectIdentity(parc.get_fk_terminal())) { continue; } if (!loj.selectIdentity(term.get_fk_loja())) { continue; } if (l_tr.selectIdentity(parc.get_fk_log_transacoes())) { if (l_tr.get_tg_confirmada() != TipoConfirmacao.Confirmada) { continue; } } tot_parc_ind += parc.get_int_vr_valor(); HasContent = true; Rel_RTC rtc = new Rel_RTC(); rtc.set_st_loja(loj.get_st_nome()); rtc.set_st_term(term.get_nu_terminal()); rtc.set_st_nsu(l_tr.get_nu_nsu()); rtc.set_vr_total(parc.get_vr_valor()); rtc.set_nu_parc(u.ToString()); rtc.set_dt_trans(l_tr.get_dt_transacao()); rtc.set_tg_status(l_tr.get_tg_confirmada()); rtc.set_st_motivo(l_tr.get_st_msg_transacao()); rtc.set_en_op_cartao(l_tr.get_en_operacao()); rtc.set_st_indice_parcela(parc.get_nu_indice()); DataPortable mem_rtc = rtc as DataPortable; // ## obtem indice sb_parcs.Append(MemorySave(ref mem_rtc)); sb_parcs.Append(","); } } if (!HasContent) { break; } output_st_parcs += cur_pac + ","; output_st_parcs_total += tot_parc_ind.ToString() + "," + (cart_parc.get_int_vr_limiteMensal() - tot_parc_ind).ToString() + ","; } string list_ids_parc = sb_parcs.ToString().TrimEnd(','); DataPortable dp_parcs = new DataPortable(); dp_parcs.setValue("ids", list_ids_parc); output_st_parcs_content = MemorySave(ref dp_parcs); output_st_parcs = output_st_parcs.TrimEnd(','); output_st_parcs_total = output_st_parcs_total.TrimEnd(','); } /// USER [ execute ] END Registry("execute done fetch_rel_1_rtc "); 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_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); }