private void importar_marcacoes_terminal(int Terminal) { GetDadosTerminal(Terminal, out IP, out PORTA, out TERMINALNOME); string diretoriomarcacoes = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\Asseponto\\Marcacoes\\" + TERMINALNOME; string arquivo = diretoriomarcacoes + "\\" + String.Format("{0:yyyy MM dd}", DateTime.Now) + ".txt"; bool ExpirouTimeout = false; CANCELAR = false; Rede rede = new Rede(IP, PORTA, edLog); for (int y = 1; y <= 1; y++) { rede.RecebeMarcacoesTCP(Terminal, arquivo, Grupo, ref ExpirouTimeout, this); ULTIMOARQUIVOIMPORTADO = arquivo; mmUltimoArquivoImportado.Visible = true; if (ExpirouTimeout) { rede.AddLog("RECONECTANDO APÓS TIMEOUT [TENTATIVA " + y.ToString() + "]"); for (int i = 5; i > 0; i--) { if (i == 1) { rede.AddLog("CONECTANDO EM 1 SEGUNDO"); } else { rede.AddLog("CONECTANDO EM " + i.ToString() + " SEGUNDOS"); } Application.DoEvents(); rSystem.PauseForSeconds(1); if (CANCELAR) { rede.AddLog("RECONEXÃO CANCELADA"); break; } } } else { break; } if (CANCELAR) { break; } } }
private void enviar_biometrias_terminal(int Terminal) { DB db = new DB(); GetDadosTerminal(Terminal, out IP, out PORTA, out TERMINALNOME); Rede rede = new Rede(IP, PORTA, edLog); // apenas para o log SqlCommand comm = db.Conn.CreateCommand(); comm.CommandText = "SELECT FUNC_NOME, FUNC_PIS, FUNC_IND " + "FROM Funcionarios " + "INNER JOIN TerminaisFuncionarios ON TRMF_FUNC = FUNC_IND " + "WHERE TRMF_TERMINAL = " + Terminal + " AND FUNC_PIS IS NOT NULL " + "ORDER BY FUNC_NOME"; SqlDataReader reader = comm.ExecuteReader(); string diretoriobiometrias = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\Asseponto\\Biometria"; string arquivo; while (reader.Read()) { arquivo = diretoriobiometrias + "\\" + reader["FUNC_PIS"].ToString().Trim() + "-1.bio"; rede.AddLog("ENVIANDO BIOMETRIA: " + reader["FUNC_NOME"].ToString().Trim()); if (File.Exists(arquivo)) { EnviarBiometria( Terminal, IP, PORTA, reader["FUNC_PIS"].ToString().Trim(), "", Convert.ToInt32(reader["FUNC_IND"].ToString()), arquivo ); } else { rede.AddLog("ARQUIVO DE BIOMETRIA NÃO ENCONTRADO"); } } reader.Close(); }
private void FinalizarImportacao(string arquivo, List <string> marcacoes, Rede rede) { using (StreamWriter file = new StreamWriter(arquivo)) foreach (string s in marcacoes) { file.WriteLine(s); } rede.AddLog("MARCAÇÕES SALVAS EM " + arquivo); }
private void ExcluirFuncionario(int Terminal, string IP, int Porta, string PIS, string Nome, int Funcionario) { string msg = MontaMensagemExclusaoFuncionario(PIS); Comando cmd = new Comando(Protocolo.CMD_EXCLUSAO, Protocolo.SET, msg); Rede rede = new Rede(IP, Porta, edLog); rede.AddLog("EXCLUINDO " + Nome); rede.EnviaComandoTCP(cmd); DB db = new DB(); db.ExecuteCommand( "UPDATE TerminaisFuncionarios " + "SET TRMF_ARMAZENADO_EM = NULL " + "WHERE TRMF_TERMINAL = " + Terminal.ToString() + " " + "AND TRMF_FUNC = " + Funcionario.ToString() ); }
private void EnviarFuncionario(int Terminal, string IP, int Porta, string Cartao, string PIS, string Senha, string Nome, int Funcionario, bool CodigoBarras, bool Proximidade, bool Biometria, bool Teclado) { Rede rede = new Rede(IP, Porta, edLog); if (PIS == string.Empty) { rede.AddLog(String.Format("{0}: PIS NÃO INFORMADO", Nome)); return; } string msg = MontaMensagemFuncionario(Cartao, PIS, Senha, Nome, CodigoBarras, Proximidade, Biometria, Teclado); Comando cmd = new Comando(Protocolo.CMD_FUNCIONARIO, Protocolo.SET, msg); DB db = new DB(); if (rede.EnviaComandoTCP(cmd) == true) { db.ExecuteCommand( "UPDATE TerminaisFuncionarios " + "SET TRMF_ARMAZENADO_EM = GETDATE() " + "WHERE TRMF_TERMINAL = " + Terminal.ToString() + " " + "AND TRMF_FUNC = " + Funcionario.ToString() ); } }
public void ProcessarMarcacoes(Rede rede, int Grupo, List <string> marcacoes) { Inicializar_TabTemp_DescontoDsr(); rede.AddLogUnformatted(); rede.AddLog(string.Format("PROCESSANDO {0} MARCAÇÕES", marcacoes.Count)); int marcacao = 1; try { foreach (string s in marcacoes) { string Pis = ""; string Data = ""; string Hora = ""; string Nome = ""; string Mensagem = ""; Pis = s.Substring(0, 12).Trim(); Data = s.Substring(13, 10); Hora = s.Substring(24); //progressimportacao.lbMensagem.Text = String.Format("{0} {1} {2}", Pis, Data, Hora); //ExecuteCommand(String.Format("EXEC importar_marcacao @P_GRUPO = {0},@P_PIS = {1}, @P_DATA = '{2}', @P_HORA = '{3}'", Grupo, Pis, Data, Hora)); ProcessarMarcacao(Grupo, Pis, Data, Hora, out Nome, out Mensagem); rede.AddLogUnformatted(String.Format("{0} {1} {2} {3} {4} {5}", marcacao.ToString() + "/" + marcacoes.Count.ToString(), Pis, Data, Hora, Nome, Mensagem)); Application.DoEvents(); marcacao++; } } finally { Finalizar_TabTemp_DescontoDsr(); } }