public override bool LerMarcacoes(Marcacoes marcacoes, TipoImportacaoMarcacoes tipoimportacao) { base.LerMarcacoes(marcacoes, tipoimportacao); bool Result = false; DBApp db = new DBApp(); int ProximoNsr = db.getLastNsr(TerminalDados.Indice); int NRegistrosLidos = 0; short porta = (short)TerminalDados.Porta; if (Connect(0)) { //string Ponteir = starRep.VerificarNSRPonteiro(TerminalDados.IP, porta, numeroTentativas, tempoEsperaMilissegundos); //int ultimoNSR = Convert.ToInt32(starRep.VerificarUltimoNSR(TerminalDados.IP, porta, numeroTentativas, tempoEsperaMilissegundos)); try { string resposta = starRep.ColetarMarcacoes(TerminalDados.IP, porta, numeroTentativas, tempoEsperaMilissegundos, ProximoNsr + 1, "|"); while (!string.IsNullOrEmpty(resposta) && !resposta.ToLower().Equals("erro")) { string[] respostas = resposta.Split('|'); NRegistrosLidos = Convert.ToInt32(respostas[0]); for (int i = 1; i < NRegistrosLidos + 1; i++) { string b = respostas[i].Substring(0, 9); string c = b + 3 + respostas[i].Substring(9); AssepontoRep.Marcacoes.Marcacao mrc = new AssepontoRep.Marcacoes.Marcacao(); if (marcacoes.InterpretarRegistroAfd(c, out mrc)) { if (mrc.Tipo == Marcacoes.TiposRegistroAfd.Marcacao) { marcacoes.Add(mrc); } } } resposta = string.Empty; } if (marcacoes.Count == 0) { log.AddLog(Consts.MARCACOES_NAO_HA_NOVAS); } Result = true; } catch (Exception ex) { log.AddLog(ex.Message); } finally { starRep.Fecha_Comunicacao(); } } return(Result); }
public override bool LerMarcacoes(Marcacoes marcacoes, AssepontoRep.Bridge.TipoImportacaoMarcacoes tipoimportacao) { try { int NRegistrosLidos = 0; if (!File.Exists(FILE_PATH + FILE_CONFIGURATION)) { Files.WriteFile(FILE_PATH + FILE_CONFIGURATION, (new List <string>())); } bool Result = processStart("/co " + FILE_PATH, Args()); if (Result) { //int ProximoNsr = (new DBApp()).getLastNsr(TerminalDados.Indice) + 1; List <string> Arquivos = new List <string>(); List <string> Novo = new List <string>(); Files.DirSearch(FILE_PATH, "*.txt", Arquivos); foreach (string arquivo in Arquivos) { List <string> conteudo = new List <string>(); Files.ReadFile(arquivo, conteudo); foreach (string cLinha in conteudo) { AssepontoRep.Marcacoes.Marcacao mrc = new AssepontoRep.Marcacoes.Marcacao(); if (marcacoes.InterpretarRegistroAfd(cLinha, out mrc)) { if (mrc.Tipo == Marcacoes.TiposRegistroAfd.Marcacao) { marcacoes.Add(mrc); } } NRegistrosLidos++; } File.Delete(arquivo); } //if (marcacoes.Count == 0) //{ // log.AddLog(Consts.MARCACOES_NAO_HA_NOVAS); //} } else { log.AddLog(Consts.ERRO_ENVIO_COMANDO); } getLog(); return(Result); } catch (Exception ex) { log.AddLog(ex.Message); } return(false); }
public override bool LerMarcacoes(Marcacoes marcacoes, AssepontoRep.Bridge.TipoImportacaoMarcacoes tipoimportacao) { bool Result = false; int NRegistrosLidos = 0; Connect(); try { DBApp db = new DBApp(); int ProximoNsr = db.getLastNsr(TerminalDados.Indice) + 1; if (!_rep.BuscarAFD(ProximoNsr)) { log.AddLog(Consts.MARCACOES_NAO_HA_NOVAS); } else { string cLinha; while (_rep.LerAFD(out cLinha)) { AssepontoRep.Marcacoes.Marcacao mrc = new AssepontoRep.Marcacoes.Marcacao(); if (marcacoes.InterpretarRegistroAfd(cLinha, out mrc)) { if (mrc.Tipo == Marcacoes.TiposRegistroAfd.Marcacao) { marcacoes.Add(mrc); } } //if (Convert.ToInt32(cLinha.Substring(9, 1)) == (int)(Marcacoes.TiposRegistroAfd.Marcacao)) //{ // string PIS = cLinha.Substring(22, 12).Replace("\n", "").Replace("\t", "").Replace("\r", ""); // string DataHora = cLinha.Substring(10, 12); // string NSR = cLinha.Substring(0, 9); // marcacoes.Add(PIS, extrairDateTime(DataHora), Convert.ToInt32(NSR)); //} NRegistrosLidos++; } if (NRegistrosLidos == 0) { log.AddLog(Consts.ERRO_ENVIO_COMANDO); } if (marcacoes.Count == 0) { log.AddLog(Consts.MARCACOES_NAO_HA_NOVAS); } Result = true; } } catch (Exception ex) { log.AddLog(ex.Message); Result = false; } finally { _rep.Desconectar(); } return(Result); }
public override bool LerMarcacoes(Marcacoes marcacoes, TipoImportacaoMarcacoes tipoimportacao) { base.LerMarcacoes(marcacoes, tipoimportacao); bool Result = false; DBApp db = new DBApp(); int ProximoNsr = db.getLastNsr(TerminalDados.Indice); int NRegistrosLidos = 0, statusColeta = 0, nsr = 0, ret = 0, tentativas = 0; bool recebeuUltimoBilhete = false; string dadosRegistro = string.Empty; if (Connect(0)) { try { nsr = ProximoNsr; while (!recebeuUltimoBilhete) { nsr++; ret = innerRep.SolicitarRegistroNsr(nsr); //string UltimoRegistro = innerRep.LerNumUltimoNsr(); if (ret == 0) { statusColeta = innerRep.LerStatusColeta(); tentativas = 0; while (statusColeta < 2 && tentativas < 1000) { Thread.Sleep(10); Application.DoEvents(); Thread.Sleep(10); statusColeta = innerRep.LerStatusColeta(); tentativas++; } if ((statusColeta == (int)Sdk_Inner_Rep.InnerRepPlusSDK.StatusLeitura.FINALIZADA_COM_ULTIMO_REGISTRO) || (statusColeta == (int)Sdk_Inner_Rep.InnerRepPlusSDK.StatusLeitura.FINALIZADA_COM_REGISTRO)) { string numSerie = innerRep.LerNumSerieRep(); statusColeta = innerRep.LerResultadoColeta(); dadosRegistro = innerRep.LerRegistroLinha(); if (dadosRegistro != "" && dadosRegistro != null) { AssepontoRep.Marcacoes.Marcacao mrc = new AssepontoRep.Marcacoes.Marcacao(); if (marcacoes.InterpretarRegistroAfd(dadosRegistro, out mrc)) { if (mrc.Tipo == Marcacoes.TiposRegistroAfd.Marcacao) { marcacoes.Add(mrc); } } } NRegistrosLidos++; } if ((statusColeta == (int)Sdk_Inner_Rep.InnerRepPlusSDK.StatusLeitura.FINALIZADA_SEM_REGISTRO) || (statusColeta == (int)Sdk_Inner_Rep.InnerRepPlusSDK.StatusLeitura.FINALIZADA_COM_ULTIMO_REGISTRO)) { recebeuUltimoBilhete = true; } } } if (marcacoes.Count == 0) { log.AddLog(Consts.MARCACOES_NAO_HA_NOVAS); } innerRep.FinalizarLeitura(); Result = true; } catch (Exception ex) { log.AddLog(ex.Message); } } return(Result); }