예제 #1
0
        private void enviar_biometrias_terminal(int Terminal)
        {
            DB db = new DB();

            GetDadosTerminal(Terminal, out IP, out PORTA, out TERMINALNOME);

            int NFuncs = Convert.ToInt32(db.GetFieldValue(
                                             "SELECT FUNC_IND " +
                                             "FROM Funcionarios " +
                                             "INNER JOIN TerminaisFuncionarios ON TRMF_FUNC = FUNC_IND " +
                                             "WHERE TRMF_TERMINAL = " + Terminal + " AND FUNC_PIS IS NOT NULL"
                                             ));

            SqlCommand comm = db.Conn.CreateCommand();

            comm.CommandText = "SELECT 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();

            Rede rede = new Rede(this.objIDSysR30, IP, PORTA, edLog);

            rede.AddLog("ENVIANDO " + NFuncs.ToString() + " REGISTROS <ESC> PARA CANCELAR");

            if (!rede.Connection_Init())
            {
                return;
            }

            CANCELAR = false;
            try
            {
                while (reader.Read())
                {
                    enviar_biometrias_funcionario(rede, Convert.ToInt32(reader[0].ToString()));

                    Application.DoEvents();

                    if (CANCELAR)
                    {
                        rede.AddLog("CANCELADO");
                        break;
                    }
                }

                reader.Close();
            }

            finally
            {
                rede.Connection_Finalize();
            }
        }
예제 #2
0
        private void funcionárioSelecionadoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (listFuncionarios.SelectedIndices.Count == 0)
            {
                return;
            }

            DB db = new DB();

            int Terminal = Convert.ToInt32(listRelogios.Items[listRelogios.SelectedIndices[0]].SubItems[TRM_SUBITEM_IND].Text);

            GetDadosTerminal(Terminal, out IP, out PORTA, out TERMINALNOME);

            Rede rede = new Rede(this.objIDSysR30, IP, PORTA, edLog);

            rede.AddLog("ENVIANDO " + listFuncionarios.SelectedIndices.Count.ToString() + " REGISTROS <ESC> PARA CANCELAR");
            if (!rede.Connection_Init())
            {
                return;
            }

            CANCELAR = false;

            try
            {
                for (int i = 0; i <= listFuncionarios.SelectedIndices.Count - 1; i++)
                {
                    string EnviadoEm = listFuncionarios.Items[listFuncionarios.SelectedIndices[i]].SubItems[FUNC_SUBITEM_ENVIADOEM].Text;
                    if (mmNaoEnviarFuncEnviados.Checked && EnviadoEm != String.Empty)
                    {
                        rede.AddLog("PIS: " + listFuncionarios.Items[listFuncionarios.SelectedIndices[i]].SubItems[FUNC_SUBITEM_PIS].Text + " JÁ EXISTE NO TERMINAL");
                    }
                    else
                    {
                        int Funcionario = Convert.ToInt32(listFuncionarios.Items[listFuncionarios.SelectedIndices[i]].SubItems[FUNC_SUBITEM_IND].Text);
                        EnviarCadastro(rede, Terminal, Funcionario);
                    }

                    Application.DoEvents();

                    if (CANCELAR)
                    {
                        rede.AddLog("CANCELADO");
                        break;
                    }
                }

                atualizar_funcionarios_teminal();
            }
            finally
            {
                rede.Connection_Finalize();
            }
        }
예제 #3
0
        public void ProcessarMarcacoes(int Grupo, List <string> marcacoes, Rede rede)
        {
            //ProgressImportacao progressimportacao = new ProgressImportacao();

            Inicializar_TabTemp_DescontoDsr();

            rede.AddLog(string.Format("MARCAÇÕES A PROCESSAR: {0}", marcacoes.Count));
            int contador = 1;

            //progressimportacao.Show();
            //progressimportacao.progressBar1.Maximum = marcacoes.Count;
            //progressimportacao.progressBar1.Value = 0;

            try
            {
                foreach (string s in marcacoes)
                {
                    string Pis;
                    string Data;
                    string Hora;

                    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);
                    rede.AddLogUnformatted(String.Format("{0}/{1}: {2} {3} {4}", contador, marcacoes.Count, Pis, Data, Hora));
                    try
                    {
                        if (contador != 3)
                        {
                            ExecuteCommand(String.Format("EXEC importar_marcacao @P_GRUPO = {0},@P_PIS = {1}, @P_DATA = '{2}', @P_HORA = '{3}'", Grupo, Pis, Data, Hora));
                        }
                        else
                        {
                            ExecuteCommand(String.Format("EXEC importar_marcacao @P_GRUPO = {0},@P_PIS = {1}, @P_DATA = '{2}', @P_HORA = '{3}'", Grupo, Pis, Data, Hora));
                        }
                    }
                    catch (Exception e)
                    {
                        rede.AddLogUnformatted(e.ToString());
                    }

                    //progressimportacao.progressBar1.Value++;
                    contador++;
                    Application.DoEvents();
                }
            }
            finally
            {
                //progressimportacao.Close();
                Finalizar_TabTemp_DescontoDsr();
            }
        }
예제 #4
0
        private void funcionárioSelecionadoToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            int Terminal = Convert.ToInt32(listRelogios.Items[listRelogios.SelectedIndices[0]].SubItems[TRM_SUBITEM_IND].Text);

            DB db = new DB();

            GetDadosTerminal(Terminal, out IP, out PORTA, out TERMINALNOME);

            Rede rede = new Rede(this.objIDSysR30, IP, PORTA, edLog);  // apenas para o log

            rede.AddLog("ENVIANDO " + listFuncionarios.SelectedIndices.Count.ToString() + " REGISTROS <ESC> PARA CANCELAR");
            if (!rede.Connection_Init())
            {
                return;
            }

            CANCELAR = false;

            try
            {
                for (int i = 0; i <= listFuncionarios.SelectedIndices.Count - 1; i++)
                {
                    int Funcionario = Convert.ToInt32(listFuncionarios.Items[listFuncionarios.SelectedIndices[i]].SubItems[FUNC_SUBITEM_IND].Text);
                    enviar_biometrias_funcionario(rede, Funcionario);

                    Application.DoEvents();

                    if (CANCELAR)
                    {
                        rede.AddLog("CANCELADO");
                        break;
                    }
                }
            }
            finally
            {
                rede.Connection_Finalize();
            }
        }
예제 #5
0
        private void enviar_biometrias_funcionario(Rede rede, int Funcionario)
        {
            DB db = new DB();

            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 FUNC_IND = " + Funcionario.ToString();

            SqlDataReader reader = comm.ExecuteReader();

            reader.Read();

            string diretoriobiometrias = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\Asseponto\\Biometria";
            string arquivo;

            arquivo = diretoriobiometrias + "\\" + reader["FUNC_PIS"].ToString().Trim() + ".bio";

            rede.AddLog("ENVIANDO BIOMETRIA: " + reader["FUNC_NOME"].ToString().Trim());

            if (File.Exists(arquivo))
            {
                EnviarBiometria(
                    rede,
                    reader["FUNC_PIS"].ToString().Trim(),
                    reader["FUNC_NOME"].ToString().Trim(),
                    Convert.ToInt32(reader["FUNC_IND"].ToString()),
                    arquivo
                    );
            }
            else
            {
                rede.AddLog("ARQUIVO DE BIOMETRIA NÃO ENCONTRADO");
            }

            reader.Close();
        }
예제 #6
0
        private void excluirFuncionárioDoTerminalToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DB db = new DB();

            int Terminal = Convert.ToInt32(listRelogios.Items[listRelogios.SelectedIndices[0]].SubItems[TRM_SUBITEM_IND].Text);

            GetDadosTerminal(Terminal, out IP, out PORTA, out TERMINALNOME);

            Rede rede = new Rede(this.objIDSysR30, IP, PORTA, edLog);

            if (!rede.Connection_Init())
            {
                return;
            }

            try
            {
                CANCELAR = false;

                for (int i = 0; i <= listFuncionarios.SelectedIndices.Count - 1; i++)
                {
                    string Pis         = listFuncionarios.Items[listFuncionarios.SelectedIndices[i]].SubItems[FUNC_SUBITEM_PIS].Text;
                    int    Funcionario = Convert.ToInt32(listFuncionarios.Items[listFuncionarios.SelectedIndices[i]].SubItems[FUNC_SUBITEM_IND].Text);
                    rede.IdData_ExcluirFuncionario(Pis);
                    db.Atualizar_TerminaisFuncionarios(Terminal, Funcionario, true);
                    Application.DoEvents();

                    if (CANCELAR)
                    {
                        rede.AddLog("CANCELADO");
                        break;
                    }
                }

                atualizar_funcionarios_teminal();
            }
            finally
            {
                rede.Connection_Finalize();
            }
        }
예제 #7
0
        private void enviar_funcionarios_terminal(int Terminal)
        {
            DB         db   = new DB();
            SqlCommand comm = db.Conn.CreateCommand();

            GetDadosTerminal(Terminal, out IP, out PORTA, out TERMINALNOME);

            int NFuncs = Convert.ToInt32(db.GetFieldValue(
                                             "SELECT FUNC_IND " +
                                             "FROM Funcionarios " +
                                             "INNER JOIN TerminaisFuncionarios ON TRMF_FUNC = FUNC_IND " +
                                             "WHERE TRMF_TERMINAL = " + Terminal + " AND FUNC_PIS IS NOT NULL"
                                             ));

            comm.CommandText = "SELECT FUNC_IND, FUNC_PIS, TRMF_ARMAZENADO_NO_TERMINAL " +
                               "FROM Funcionarios " +
                               "INNER JOIN TerminaisFuncionarios ON TRMF_FUNC = FUNC_IND " +
                               "WHERE TRMF_TERMINAL = " + Terminal + " AND FUNC_PIS IS NOT NULL " +
                               "ORDER BY FUNC_NOME";

            Rede rede = new Rede(this.objIDSysR30, IP, PORTA, edLog);

            rede.AddLog("ENVIANDO " + NFuncs.ToString() + " REGISTROS <ESC> PARA CANCELAR");
            if (!rede.Connection_Init())
            {
                return;
            }

            CANCELAR = false;

            try
            {
                SqlDataReader reader = comm.ExecuteReader();

                while (reader.Read())
                {
                    if (mmNaoEnviarFuncEnviados.Checked && Convert.ToInt32(reader["TRMF_ARMAZENADO_NO_TERMINAL"]) == 1)
                    {
                        rede.AddLog("PIS: " + reader["FUNC_PIS"].ToString() + " JÁ EXISTE NO TERMINAL");
                    }
                    else
                    {
                        EnviarCadastro(rede, Terminal, Convert.ToInt32(reader["FUNC_IND"].ToString()));
                    }

                    Application.DoEvents();

                    if (CANCELAR)
                    {
                        rede.AddLog("CANCELADO");
                        break;
                    }
                }

                reader.Close();
                atualizar_funcionarios_teminal();
            }
            finally
            {
                rede.Connection_Finalize();
            }
        }