Esempio n. 1
0
        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;
                }
            }
        }
Esempio n. 2
0
        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();
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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()
                );
        }
Esempio n. 5
0
        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()
                    );
            }
        }
Esempio n. 6
0
        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();
            }
        }