Esempio n. 1
0
        private void Btn_Confirmar_Click(object sender, EventArgs e)
        {
            StringBuilder NumeroFabricacao       = new StringBuilder(17);
            StringBuilder UltimaMarcacaoPIS      = new StringBuilder(12);
            StringBuilder UltimaMarcacaoDataHora = new StringBuilder(19);
            StringBuilder StatusPapel            = new StringBuilder(1);
            StringBuilder DataHora        = new StringBuilder(20);
            StringBuilder MemoriaTotalMRP = new StringBuilder(20);
            StringBuilder MemoriaUsoMRP   = new StringBuilder(20);
            int           TotalRegistros;
            StringBuilder MensagemErro = new StringBuilder(256);

            REPZPM_DLL.ID_Comando = REPZPM_DLL.DLLREP_BuscaStatus(REPZPM_DLL.Handle);

            if (REPZPM_DLL.ID_Comando > 0)
            {
                /**************************************************************************************************************************
                 * MODO PENDRIVE                                                                                                            *
                 ***************************************************************************************************************************/
                if (REPZPM_DLL.Modo == 1)
                {
                    REPZPM_DLL.Retorno = REPZPM_DLL.DLLREP_VerificaRetornoPenDrive(REPZPM_DLL.Handle, REPZPM_DLL.ID_Comando);

                    /*Verifica se o retorno já está disponível*/
                    if (REPZPM_DLL.Retorno < 0)
                    {
                        REPZPM_DLL.Retorno = REPZPM_DLL.Trata_Retorno_Pendrive(REPZPM_DLL.Retorno);

                        /*Verifica se o arquivo foi processado, 1 = OK*/
                        if (REPZPM_DLL.Retorno == 1)
                        {
                            /*Verifica no arquivo do pendrive se houve erro na execução do comando*/
                            REPZPM_DLL.Retorno = REPZPM_DLL.DLLREP_ObtemMensagemErro(REPZPM_DLL.Handle, MensagemErro, 1);

                            /*Comando executado*/
                            if (REPZPM_DLL.Retorno == 0)
                            {
                                MessageBox.Show("Comando executado com sucesso via pendrive!", "Sucesso", MessageBoxButtons.OK, MessageBoxIcon.Information);

                                /*Verifica a quantidade de registros retornados*/
                                TotalRegistros = REPZPM_DLL.DLLREP_TotalRetornos(REPZPM_DLL.Handle);

                                /*Verifica se retornaram registros*/
                                if (TotalRegistros > 0)
                                {
                                    /*Limpa a listagem*/
                                    Lst_Status.Items.Clear();

                                    /*Executa o comando de leitura do Status*/
                                    REPZPM_DLL.Retorno = REPZPM_DLL.DLLREP_RetornoStatus(REPZPM_DLL.Handle, NumeroFabricacao, UltimaMarcacaoPIS, UltimaMarcacaoDataHora, StatusPapel, DataHora, MemoriaTotalMRP, MemoriaUsoMRP);

                                    /*Sucesso na execução do comando*/
                                    if (REPZPM_DLL.Retorno == 1)
                                    {
                                        Lst_Status.Items.Add("Número de Série: " + NumeroFabricacao);
                                        Lst_Status.Items.Add("Última Marcação PIS: " + UltimaMarcacaoPIS);
                                        Lst_Status.Items.Add("Última Marcação DataHora: " + UltimaMarcacaoDataHora);
                                        Lst_Status.Items.Add("Status Papel: " + StatusPapel);
                                        Lst_Status.Items.Add("Data Hora: " + DataHora);
                                        Lst_Status.Items.Add("Memória Total MRP: " + MemoriaTotalMRP);
                                        Lst_Status.Items.Add("Memória Uso MRP: " + MemoriaUsoMRP);
                                    }
                                    else
                                    {
                                        /*Trata o retorno de erro do REP*/
                                        REPZPM_DLL.Retorno = REPZPM_DLL.DLLREP_ObtemMensagemErro(REPZPM_DLL.Handle, MensagemErro, 1);
                                        MessageBox.Show(Convert.ToString(MensagemErro), "Erro DLL", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                        return;
                                    }
                                }
                                else
                                {
                                    /*Houve erro no retorno do comando via pendrive*/
                                    REPZPM_DLL.Retorno = REPZPM_DLL.DLLREP_ObtemMensagemErro(REPZPM_DLL.Handle, MensagemErro, 1);
                                    MessageBox.Show(Convert.ToString(MensagemErro), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    return;
                                }
                            }
                        }
                        else
                        {
                            /*Houve erro no processamento do arquivo do pendrive*/
                            REPZPM_DLL.Retorno = REPZPM_DLL.DLLREP_ObtemMensagemErro(REPZPM_DLL.Handle, MensagemErro, 1);
                            MessageBox.Show(Convert.ToString(MensagemErro), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return;
                        }
                    }
                }

                /**************************************************************************************************************************
                * MODO IP                                                                                                                  *
                **************************************************************************************************************************/
                if (REPZPM_DLL.Modo == 0)
                {
                    REPZPM_DLL.Retorno = REPZPM_DLL.DLLREP_RetornoStatus(REPZPM_DLL.Handle, NumeroFabricacao, UltimaMarcacaoPIS, UltimaMarcacaoDataHora, StatusPapel, DataHora, MemoriaTotalMRP, MemoriaUsoMRP);

                    /*Sucesso na execução do comando*/
                    if (REPZPM_DLL.Retorno == 1)
                    {
                        /*Limpa a listagem*/
                        Lst_Status.Items.Clear();

                        Lst_Status.Items.Add("Número de Série: " + NumeroFabricacao);
                        Lst_Status.Items.Add("Última Marcação PIS: " + UltimaMarcacaoPIS);
                        Lst_Status.Items.Add("Última Marcação DataHora: " + UltimaMarcacaoDataHora);
                        Lst_Status.Items.Add("Status Papel: " + StatusPapel);
                        Lst_Status.Items.Add("Data Hora: " + DataHora);
                        Lst_Status.Items.Add("Memória Total MRP: " + MemoriaTotalMRP);
                        Lst_Status.Items.Add("Memória Uso MRP: " + MemoriaUsoMRP);
                    }
                    else
                    {
                        /*Erro na execução do comando*/
                        REPZPM_DLL.Retorno = REPZPM_DLL.Trata_Retorno_REP(REPZPM_DLL.Retorno);
                        return;
                    }
                }
            }
            else
            {
                /*Trata o erro retornado pela DLL*/
                REPZPM_DLL.Retorno = REPZPM_DLL.Trata_Retorno_DLL(REPZPM_DLL.ID_Comando);
            }
        }