private void definirPróximoNSRToolStripMenuItem_Click(object sender, EventArgs e) { DBApp db = new DBApp(); int Terminal = Convert.ToInt32(listRelogios.Items[listRelogios.SelectedIndices[0]].SubItems[Consts.TRM_SUBITEM_IND].Text); int uNsr = db.getLastNsr(Terminal); string sNsr = uNsr.ToString(); if (InputBox.Show("Informe o Último Nsr", "NSR", ref sNsr) == DialogResult.OK) { db.setLastNsr(Terminal, Convert.ToInt32(sNsr)); } }
public bool Gertec_ImportarMarcacoes(int Terminal, string TerminalNome, Marcacoes marcacoes) { bool Result = false; DBApp db = new DBApp(); int ProximoNsr = db.getLastNsr(Terminal) + 1; string diretoriomarcacoes = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\Asseponto\\Marcacoes\\" + TerminalNome; Wr.Classes.Files.ForceDirectories(diretoriomarcacoes); string ArquivoTemp = Path.GetTempFileName(); System.Text.Encoding iso_8859_1 = System.Text.Encoding.GetEncoding("iso-8859-1"); int Contador = 0; if (Gertec_Conectar()) { int resultado = envioDll.LeCadastro(IP, 5, ProximoNsr.ToString(), ArquivoTemp); if (resultado == 0) { FileStream abreArquivoTxt = new FileStream(ArquivoTemp, FileMode.Open, FileAccess.Read); StreamReader sr = new StreamReader(abreArquivoTxt, iso_8859_1); string line = ""; while ((line = sr.ReadLine()) != null) { string[] linhaReg = line.Split(';'); if (linhaReg[1] == "3") { string Pis = linhaReg[4]; bool Erro = false; DateTime DataHora; try { DataHora = new DateTime( Convert.ToInt32(linhaReg[2].Substring(4, 4)), Convert.ToInt32(linhaReg[2].Substring(2, 2)), Convert.ToInt32(linhaReg[2].Substring(0, 2)), Convert.ToInt32(linhaReg[3].Substring(0, 2)), Convert.ToInt32(linhaReg[3].Substring(2, 2)), 0 ); int Nsr = Convert.ToInt32(linhaReg[0]); if (Nsr > ProximoNsr) { ProximoNsr = Nsr; } marcacoes.Add(Pis, DataHora, Nsr); Contador++; } catch { log.AddLog(line); Erro = true; } } } sr.Close(); File.Delete(ArquivoTemp); Gertec_Desconectar(); if (Contador > 0) { string Arquivo = marcacoes.SaveToFile(); log.AddLog(String.Format(Consts.ARQUIVO_GERADO, Arquivo)); Result = true; } else { log.AddLog(Consts.SEM_MARCACOES); } if (ProximoNsr > 0) { db.setLastNsr(Terminal, ProximoNsr); } } else { Gertec_Desconectar(); LogMensagem(resultado); } } return(Result); }
public override bool LerMarcacoes(Marcacoes marcacoes, AssepontoRep.Bridge.TipoImportacaoMarcacoes tipoimportacao) { Disconnect(TerminalDados.Indice); Connect(TerminalDados.Indice); List <string> lstrEventData; string[] split; DBApp bd = new DBApp(); int last = bd.getLastNsr(TerminalDados.Indice); uint uiNSR = Convert.ToUInt32(last == 0 ? 1 : last); try { this._objController.RequestTotalNSR(); System.Threading.Thread.Sleep(100); lstrEventData = this._objController.GetEventData(); split = lstrEventData[6].Split(new string[] { " : " }, StringSplitOptions.None); uint uiMaxNSR = Convert.ToUInt32(split[1]); log.AddLog(":: ATENÇÃO :: A IMPORTAÇÃO DESSE RELÓGIO PODE DEMORAR, NÃO FINALIZE"); log.AddLog(" ATÉ QUE TENHA TERMINADO ..."); log.AddLog("AGUARDE..."); System.Threading.Thread.Sleep(100); for (uint i = uiNSR; i <= uiMaxNSR; i++) { this._objController.RequestEventByNSR(i); int seg = 0; System.Threading.Thread.Sleep(100); EConnectionState state = EConnectionState.SendingData; while (state == EConnectionState.SendingData) { state = this._objController.GetConnectionState(); //System.Threading.Thread.Sleep(100); seg++; } if (state == EConnectionState.DataReceived) { this._objController.SetConnectionState(EConnectionState.Connected); System.Threading.Thread.Sleep(100); lstrEventData = this._objController.GetEventData(); if (lstrEventData == null) { throw new Exception("Evento não encontrado."); } int tipo = -1; for (int c = 0; c < lstrEventData.Count; c++) { if (lstrEventData[c].Contains("Tipo do Registro")) { split = lstrEventData[c].Split(new string[] { " : " }, StringSplitOptions.None); tipo = Convert.ToInt32(split[1]); break; } } Marcacoes.Marcacao marc; if (tipo == 3) { marc = new Marcacoes.Marcacao(); marc.Tipo = Marcacoes.TiposRegistroAfd.Marcacao; split = lstrEventData[7].Split(new string[] { " : " }, StringSplitOptions.None); string nsr = split[1]; marc.NSR = Convert.ToInt32(nsr); split = lstrEventData[9].Split(new string[] { " : " }, StringSplitOptions.None); string datetime = split[1].Trim(); split = lstrEventData[10].Split(new string[] { " : " }, StringSplitOptions.None); datetime = datetime + " " + split[1].Trim(); marc.DataHora = Convert.ToDateTime(datetime); split = lstrEventData[11].Split(new string[] { " : " }, StringSplitOptions.None); string pis = split[1].Replace(".", "").Replace("-", "").Trim(); marc.Pis = pis; marcacoes.Add(marc); } } } bd.setLastNsr(TerminalDados.Indice, (int)uiMaxNSR); bool retorno = (marcacoes.Count > 0); Disconnect(TerminalDados.Indice); return(retorno); } catch (Exception exError) { log.AddLog(Consts.ERRO_ENVIO_COMANDO); log.AddLog("Descrição ", true); log.AddLog(exError.Message); Disconnect(TerminalDados.Indice); return(false); } }
public bool Dimep_ImportarMarcacoes(int Terminal, string TerminalNome, Marcacoes marcacoes) { bool Result = false; DBApp db = new DBApp(); int ProximoNsr = db.getLastNsr(Terminal) + 1; int Contador = 0; MRPRecord[] registrosMRP; log.AddLog(AssepontoRep.Consts.INICIALIZANDO_IMPORTACAO_ARQUIVO); 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(); } if (Contador > 0) { string Arquivo = marcacoes.SaveToFile(); log.AddLog(String.Format(AssepontoRep.Consts.ARQUIVO_GERADO, Arquivo)); Result = true; db.setLastNsr(Terminal, ProximoNsr); } else { log.AddLog(AssepontoRep.Consts.SEM_MARCACOES); } } catch (Exception ex) { log.AddLog(ex.Message); } finally { Dimep_Desconectar(); } } return(Result); }