Esempio n. 1
0
        private void ProcessMarcacoes(string Marcacoes)
        {
            //string[] arrayMarcacoes = Regex.Split(Marcacoes, "\r\n");
            string[] arrayMarcacoes = Regex.Split(Marcacoes, Environment.NewLine);

            marcacoes.Clear();

            foreach (string S in arrayMarcacoes)
            {
                AssepontoRep.Marcacoes.Marcacao marcacao;

                if (marcacoes.InterpretarRegistroAfd(S, out marcacao))
                {
                    if (marcacao.Tipo == AssepontoRep.Marcacoes.TiposRegistroAfd.Marcacao)
                    {
                        marcacoes.Add(marcacao);
                    }

                    if (marcacao.NSR > 0)
                    {
                        NSR = marcacao.NSR;
                    }
                }
            }

            log.AddLog(String.Format(Consts.MARCACOES_A_PROCESSAR, marcacoes.Count));

            (new DBApp()).setLastNsr(TerminalDados.Indice, NSR);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        public override bool LerMarcacoes(Marcacoes marcacoes, AssepontoRep.Bridge.TipoImportacaoMarcacoes tipoimportacao)
        {
            DBApp db = new DBApp();

            Connect(TerminalDados.Indice);

            string from = "";
            string to   = "";

            RepProtocol.FiltroRegistro f;

            if (tipoimportacao == TipoImportacaoMarcacoes.OnlyNew)
            {
                f = RepProtocol.FiltroRegistro.NsrRange;
                RepProtocol.MrpStatus st = repProtocol.GetMrpStatus();

                int ProximoNsr = db.getLastNsr(TerminalDados.Indice) + 1;

                from = ProximoNsr.ToString().PadLeft(9, '0');
                to   = st.LastNSR.ToString();
            }
            else
            {
                f = RepProtocol.FiltroRegistro.All;
            }

            List <string> r = repProtocol.GetRegs(f, from, to);

            foreach (string linha in r)
            {
                Marcacoes.Marcacao marcacao = new Marcacoes.Marcacao();

                marcacoes.InterpretarRegistroAfd(linha, out marcacao);

                if (marcacao.Tipo == Marcacoes.TiposRegistroAfd.Marcacao)
                {
                    marcacoes.Add(marcacao);
                }
            }

            //Wr.Classes.Files.WriteFile(@"c:\arquivo.txt", r);
            return(marcacoes.Count > 0);
        }
Esempio n. 4
0
        public override bool LerMarcacoes(Marcacoes marcacoes, AssepontoRep.Bridge.TipoImportacaoMarcacoes tipoimportacao)
        {
            try
            {
                int NRegistrosLidos = 0;

                if (!File.Exists(FILE_PATH + FILE_CONFIGURATION))
                {
                    Files.WriteFile(FILE_PATH + FILE_CONFIGURATION, (new List <string>()));
                }

                bool Result = processStart("/co " + FILE_PATH, Args());

                if (Result)
                {
                    //int ProximoNsr = (new DBApp()).getLastNsr(TerminalDados.Indice) + 1;

                    List <string> Arquivos = new List <string>();
                    List <string> Novo     = new List <string>();

                    Files.DirSearch(FILE_PATH, "*.txt", Arquivos);

                    foreach (string arquivo in Arquivos)
                    {
                        List <string> conteudo = new List <string>();
                        Files.ReadFile(arquivo, conteudo);

                        foreach (string cLinha in conteudo)
                        {
                            AssepontoRep.Marcacoes.Marcacao mrc = new AssepontoRep.Marcacoes.Marcacao();

                            if (marcacoes.InterpretarRegistroAfd(cLinha, out mrc))
                            {
                                if (mrc.Tipo == Marcacoes.TiposRegistroAfd.Marcacao)
                                {
                                    marcacoes.Add(mrc);
                                }
                            }

                            NRegistrosLidos++;
                        }
                        File.Delete(arquivo);
                    }

                    //if (marcacoes.Count == 0)
                    //{
                    //    log.AddLog(Consts.MARCACOES_NAO_HA_NOVAS);
                    //}
                }
                else
                {
                    log.AddLog(Consts.ERRO_ENVIO_COMANDO);
                }

                getLog();

                return(Result);
            }
            catch (Exception ex)
            {
                log.AddLog(ex.Message);
            }

            return(false);
        }
Esempio n. 5
0
        public override bool LerMarcacoes(Marcacoes marcacoes, AssepontoRep.Bridge.TipoImportacaoMarcacoes tipoimportacao)
        {
            bool Result          = false;
            int  NRegistrosLidos = 0;

            Connect();

            try
            {
                DBApp db         = new DBApp();
                int   ProximoNsr = db.getLastNsr(TerminalDados.Indice) + 1;


                if (!_rep.BuscarAFD(ProximoNsr))
                {
                    log.AddLog(Consts.MARCACOES_NAO_HA_NOVAS);
                }
                else
                {
                    string cLinha;
                    while (_rep.LerAFD(out cLinha))
                    {
                        AssepontoRep.Marcacoes.Marcacao mrc = new AssepontoRep.Marcacoes.Marcacao();

                        if (marcacoes.InterpretarRegistroAfd(cLinha, out mrc))
                        {
                            if (mrc.Tipo == Marcacoes.TiposRegistroAfd.Marcacao)
                            {
                                marcacoes.Add(mrc);
                            }
                        }

                        //if (Convert.ToInt32(cLinha.Substring(9, 1)) == (int)(Marcacoes.TiposRegistroAfd.Marcacao))
                        //{
                        //    string PIS = cLinha.Substring(22, 12).Replace("\n", "").Replace("\t", "").Replace("\r", "");
                        //    string DataHora = cLinha.Substring(10, 12);
                        //    string NSR = cLinha.Substring(0, 9);

                        //    marcacoes.Add(PIS, extrairDateTime(DataHora), Convert.ToInt32(NSR));
                        //}

                        NRegistrosLidos++;
                    }

                    if (NRegistrosLidos == 0)
                    {
                        log.AddLog(Consts.ERRO_ENVIO_COMANDO);
                    }

                    if (marcacoes.Count == 0)
                    {
                        log.AddLog(Consts.MARCACOES_NAO_HA_NOVAS);
                    }

                    Result = true;
                }
            }
            catch (Exception ex)
            {
                log.AddLog(ex.Message);
                Result = false;
            }
            finally
            {
                _rep.Desconectar();
            }

            return(Result);
        }
Esempio n. 6
0
        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);
        }