public override bool LerMarcacoes(Marcacoes marcacoes, TipoImportacaoMarcacoes tipoimportacao) { base.LerMarcacoes(marcacoes, tipoimportacao); this.marcacoes = marcacoes; string Answer = ""; if (tipoimportacao == TipoImportacaoMarcacoes.Backup) { if (!GetNMarcacoes()) { return(false); } if (NMarcacoes == 0) { log.AddLog(Consts.MARCACOES_NAO_HA_NOVAS); return(false); } } int NsrInicio = (tipoimportacao == TipoImportacaoMarcacoes.OnlyNew ? (new DBApp()).getLastNsr(TerminalDados.Indice) + 1 : 1); Send(String.Format("01+RR+00+N]999999999]{0}", NsrInicio), out Answer); return(ProcessAnswer(Answer)); }
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, TipoImportacaoMarcacoes tipoimportacao) { base.LerMarcacoes(marcacoes, tipoimportacao); bool Result = false; DBApp db = new DBApp(); int ProximoNsr = db.getLastNsr(TerminalDados.Indice) + 1; int Contador = 0; MRPRecord[] registrosMRP; if (Dimep_Conectar()) { try { _watchComm.RepositioningMRPRecordsPointer(ProximoNsr.ToString()); registrosMRP = this._watchComm.InquiryMRPRecords(false, false, true, false); while (registrosMRP != null) { foreach (MRPRecord registroMRP in registrosMRP) { if (registroMRP is MRPRecord_RegistrationMarkingPoint) { string Pis = ((MRPRecord_RegistrationMarkingPoint)registroMRP).Pis; DateTime DataHora = ((MRPRecord_RegistrationMarkingPoint)registroMRP).DateTimeMarkingPoint; int Nsr = Convert.ToInt32(((MRPRecord_RegistrationMarkingPoint)registroMRP).NSR); marcacoes.Add(Pis, DataHora, Nsr); Contador++; if (Nsr > ProximoNsr) { ProximoNsr = Nsr; } } } registrosMRP = _watchComm.ConfirmationReceiptMRPRecords(); } base.FinalizarImportacaoMarcacoes(marcacoes, ProcessarMarcacoesAoImportar.ProcessarSim); } catch (Exception ex) { log.AddLog(ex.Message); } finally { Dimep_Desconectar(); } } return(Result); }
public override bool LerMarcacoes(Marcacoes marcacoes, TipoImportacaoMarcacoes tipoimportacao) { bool Result = false; base.LerMarcacoes(marcacoes, tipoimportacao); string nsr = ""; string pis = ""; int year = 0; int month = 0; int day = 0; int hour = 0; int min = 0; int sec = 0; int iIndex = 0; int idwErrorCode = -9; DBApp db = new DBApp(); int ProximoNsr = db.getLastNsr(TerminalDados.Indice) + 1; bool connect = Connect(TerminalDados.Indice); //bioRep.SetSeekPosition(TerminalDados.Indice, ProximoNsr); if (connect) { log.AddLog("PROCESSANDO MARCAÇÕES...", true); bioRep.EnableDevice(TerminalDados.Indice, false); while (bioRep.GetAttLogs_BZ900(TerminalDados.Indice, out nsr, out pis, out year, out month, out day, out hour, out min, out sec)) { DateTime DataHora = new DateTime(year, month, day, hour, min, sec); marcacoes.Add(pis, DataHora, Convert.ToInt32(nsr)); if (iIndex % 50 == 0) { System.Threading.Thread.Sleep(200); } iIndex++; Result = true; } bioRep.GetLastError(ref idwErrorCode); } if (iIndex == 0) { Result = false; } bioRep.EnableDevice(TerminalDados.Indice, true); return(Result); }
public override bool LerMarcacoes(Marcacoes marcacoes, TipoImportacaoMarcacoes tipoimportacao) { base.LerMarcacoes(marcacoes, tipoimportacao); bool ExpirouTimeout = false; for (int y = 1; y <= 1; y++) { RecebeMarcacoesTCP(marcacoes); if (ExpirouTimeout) { log.AddLog(String.Format("RECONECTANDO APÓS TIMEOUT [TENTATIVA {0}]", y)); for (int i = 5; i > 0; i--) { if (i == 1) { log.AddLog("CONECTANDO EM 1 SEGUNDO"); } else { log.AddLog(String.Format("CONECTANDO EM {0} SEGUNDOS", i)); } Application.DoEvents(); Wr.Classes.Utils.Pause(1); if (Cancelar) { log.AddLog("RECONEXÃO CANCELADA"); break; } } } else { break; } } return(marcacoes.Count > 0); }
public override bool LerMarcacoes(Marcacoes marcacoes, TipoImportacaoMarcacoes tipoimportacao) { bool Result = base.LerMarcacoes(marcacoes, tipoimportacao); string nsr = "200"; string pis; int ano; int mes; int dia; int hora; int min; int sec; DBApp db = new DBApp(); int ProximoNsr = db.getLastNsr(TerminalDados.Indice) + 1; string ArquivoTemp = Path.GetTempFileName(); int Contador = 0; bioRep.SetSeekPosition(numeroRep, ProximoNsr); bool connect = Connect(TerminalDados.Indice); if (connect) { log.AddLog("PROCESSANDO MARCAÇÕES...", true); List <string> arquivo = new List <string>(); Wr.Classes.Files.ReadFile(ArquivoTemp, arquivo); while (bioRep.GetAttLogs(numeroRep, out nsr, out pis, out ano, out mes, out dia, out hora, out min, out sec)) { DateTime DataHora = new DateTime(ano, mes, dia, hora, min, sec); marcacoes.Add(pis, DataHora, Convert.ToInt32(nsr)); Contador++; Result = true; } } 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); }