private void acBrTEFD_OnAntesCancelarTransacao(object sender, ACBrFramework.TEFD.AntesCancelarTransacaoEventArgs e)
 {
     if ((DataModule.ACBrECF.Estado.ToString() == "Venda") || (DataModule.ACBrECF.Estado.ToString() == "Pagamento"))
     {
         ECFUtil.CancelaCupom();
         CupomCancelado = true;
     }
     else if ((DataModule.ACBrECF.Estado.ToString() == "Relatorio"))
     {
         DataModule.ACBrECF.FechaRelatorio();
         PAFUtil.GravarR06("CC");
     }
     else
     {
         DataModule.ACBrECF.CorrigeEstadoErro(false);
     }
 }
Beispiel #2
0
        private void listaSupervisor_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Escape)
            {
                this.Close();
            }

            if (e.KeyCode == Keys.Enter)
            {
                //  inicia movimento
                if (listaSupervisor.SelectedIndex == 0)
                {
                    Caixa.IniciaMovimento();
                }
                //  encerra movimento
                if (listaSupervisor.SelectedIndex == 1)
                {
                    Caixa.EncerraMovimento();
                }
                //  suprimento
                if (listaSupervisor.SelectedIndex == 3)
                {
                    Caixa.Suprimento();
                }
                //  sangria
                if (listaSupervisor.SelectedIndex == 4)
                {
                    Caixa.Sangria();
                }
                //  Reducao Z
                if (listaSupervisor.SelectedIndex == 6)
                {
                    if (MessageBox.Show("Tem Certeza Que Deseja Executar a Reducao Z?" + "\r" + "\r" + "O Movimento da Impressora será Suspenso no dia de Hoje.", "Reducao Z", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        try
                        {
                            ECFUtil.ReducaoZ();
                        }
                        finally
                        {
                            Caixa.TelaPadrao();
                        }
                    }
                }
            }
        }
 public void SubTotalizaCupom()
 {
     if ((DataModule.ACBrECF.Estado.ToString() == "Venda"))
     {
         if (Sessao.Instance.VendaAtual.Desconto > 0)
         {
             ECFUtil.SubTotalizaCupom(Sessao.Instance.VendaAtual.Desconto * -1);
         }
         else if (Sessao.Instance.VendaAtual.Acrescimo > 0)
         {
             ECFUtil.SubTotalizaCupom(Sessao.Instance.VendaAtual.Acrescimo);
         }
         else
         {
             ECFUtil.SubTotalizaCupom(0);
         }
     }
 }
        private void acBrTEFD_OnComandaECF(object sender, ACBrFramework.TEFD.ComandaECFEventArgs e)
        {
            string Mensagem = "";

            try
            {
                switch (e.Operacao)
                {
                case ACBrFramework.TEFD.OperacaoECF.AbreGerencial:
                {
                    DataModule.ACBrECF.AbreRelatorioGerencial();
                }
                break;

                case ACBrFramework.TEFD.OperacaoECF.CancelaCupom:
                {
                    ImpressaoOK = false;
                    try
                    {
                        ECFUtil.CancelaCupom();
                        CupomCancelado = true;
                    }
                    catch (Exception eError)
                    {
                        Log.write(eError.ToString());
                        CupomCancelado = false;
                    }
                } break;

                case ACBrFramework.TEFD.OperacaoECF.FechaCupom:
                {
                    if (Sessao.Instance.VendaAtual.IdEcfPreVendaCabecalho > 0)
                    {
                        Mensagem = "PV" + new string('0', 10 - Convert.ToString(Sessao.Instance.VendaAtual.IdEcfPreVendaCabecalho).Length) + Convert.ToString(Sessao.Instance.VendaAtual.IdEcfPreVendaCabecalho);
                    }
                    if (Sessao.Instance.VendaAtual.IdEcfDav > 0)
                    {
                        Mensagem = "DAV" + new string('0', 10 - Convert.ToString(Sessao.Instance.VendaAtual.IdEcfDav).Length) + Convert.ToString(Sessao.Instance.VendaAtual.IdEcfDav);
                    }
                    Mensagem = Caixa.MD5 + Mensagem + "\r" + "\n";
                    try
                    {
                        if (Sessao.Instance.Configuracao.EcfEmpresa.Uf == "MG")
                        {
                            Mensagem = Mensagem + "MINAS LEGAL:" +
                                       Sessao.Instance.Configuracao.EcfEmpresa.Cnpj.Substring(8, 1) + DataModule.ACBrECF.DataHora.ToString("ddMMyyyy");
                            if (Sessao.Instance.VendaAtual.ValorFinal >= 1)
                            {
                                Mensagem = Mensagem + Sessao.Instance.VendaAtual.ValorFinal.Value.ToString("0.00");
                            }
                            Mensagem = Mensagem + "\r" + "\n";
                        }
                        ECFUtil.FechaCupom(Mensagem + Sessao.Instance.Configuracao.MensagemCupom);
                    }
                    catch (Exception eError)
                    {
                        Log.write(eError.ToString());
                    }
                } break;

                case ACBrFramework.TEFD.OperacaoECF.SubTotalizaCupom:
                    SubTotalizaCupom();     //DataModule.ACBrECF.SubtotalizaCupom(0);
                    break;

                case ACBrFramework.TEFD.OperacaoECF.FechaVinculado:
                {
                    DataModule.ACBrECF.FechaRelatorio();
                    PAFUtil.GravarR06("CC");
                } break;

                case ACBrFramework.TEFD.OperacaoECF.PulaLinhas:
                {
                    DataModule.ACBrECF.PulaLinhas(DataModule.ACBrECF.LinhasEntreCupons);
                    DataModule.ACBrECF.CortaPapel(true);
                    Thread.Sleep(200);
                } break;
                }

                e.RetornoECF = true;
            }
            catch (Exception eError)
            {
                Log.write(eError.ToString());
                e.RetornoECF = false;
            }
        }
        private void Confirma()
        {
            try
            {
                // verifica se senha e o nivel do operador estáo corretos
                EcfOperadorDTO Operador = EcfFuncionarioController.Usuario(editLoginOperador.Text, editSenhaOperador.Text);
                if (Operador != null)
                {
                    // verifica se senha do gerente esta correta
                    EcfOperadorDTO Gerente = EcfFuncionarioController.Usuario(editLoginGerente.Text, editSenhaGerente.Text);
                    if (Gerente != null)
                    {
                        // verifica nivel de acesso do gerente/supervisor
                        if ((Gerente.EcfFuncionario.NivelAutorizacao == "G") || (Gerente.EcfFuncionario.NivelAutorizacao == "S"))
                        {
                            if (ECFUtil.ImpressoraOK())
                            {
                                DataRow Registro = DTTurno.Rows[GridTurno.CurrentRow.Index];

                                // insere movimento
                                Sessao.Instance.Movimento                     = new EcfMovimentoDTO();
                                Sessao.Instance.Movimento.EcfTurno.Id         = Convert.ToInt32(Registro["ID"]);
                                Sessao.Instance.Movimento.EcfImpressora.Id    = Sessao.Instance.Configuracao.EcfImpressora.Id;
                                Sessao.Instance.Movimento.EcfEmpresa.Id       = Sessao.Instance.Configuracao.EcfEmpresa.Id;
                                Sessao.Instance.Movimento.EcfOperador.Id      = Operador.Id;
                                Sessao.Instance.Movimento.EcfCaixa.Id         = Sessao.Instance.Configuracao.EcfCaixa.Id;
                                Sessao.Instance.Movimento.IdGerenteSupervisor = Gerente.Id;
                                Sessao.Instance.Movimento.DataAbertura        = DataModule.ACBrECF.DataHora;
                                Sessao.Instance.Movimento.HoraAbertura        = DataModule.ACBrECF.DataHora.ToString("hh:mm:ss");
                                if (editValorSuprimento.Text != "")
                                {
                                    Sessao.Instance.Movimento.TotalSuprimento = Convert.ToDecimal(editValorSuprimento.Text);
                                }
                                Sessao.Instance.Movimento.StatusMovimento = "A";
                                Sessao.Instance.Movimento = EcfMovimentoController.GravaEcfMovimento(Sessao.Instance.Movimento);
                            }
                            else
                            {
                                MessageBox.Show("Não foi possivel abrir o movimento!.", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                Sessao.Instance.StatusCaixa = Tipos.StatusCaixa.scSomenteConsulta;
                                this.Close();
                            }

                            // insere suprimento
                            if (editValorSuprimento.Text != "")
                            {
                                try
                                {
                                    ECFUtil.Suprimento(Convert.ToDecimal(editValorSuprimento.Text), Sessao.Instance.Configuracao.DescricaoSuprimento);

                                    EcfSuprimentoDTO Suprimento = new EcfSuprimentoDTO();
                                    Suprimento.IdEcfMovimento = Sessao.Instance.Movimento.Id;
                                    Suprimento.DataSuprimento = DataModule.ACBrECF.DataHora;
                                    Suprimento.Valor          = Convert.ToDecimal(editValorSuprimento.Text);
                                    EcfSuprimentoController.GravaEcfSuprimento(Suprimento);

                                    Sessao.Instance.Movimento.TotalSuprimento = Sessao.Instance.Movimento.TotalSuprimento + Suprimento.Valor;
                                    EcfMovimentoController.GravaEcfMovimento(Sessao.Instance.Movimento);
                                }
                                catch (Exception eError)
                                {
                                    Log.write(eError.ToString());
                                }
                            }

                            if (Sessao.Instance.Movimento != null)
                            {
                                MessageBox.Show("Movimento aberto com sucesso.", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                Sessao.Instance.StatusCaixa = Tipos.StatusCaixa.scAberto;
                                ImprimeAbertura();
                            }
                            Application.DoEvents();
                            this.Close();
                        }
                        else
                        {
                            MessageBox.Show("Gerente ou Supervisor: nivel de acesso incorreto.", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            editLoginGerente.Focus();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Gerente ou Supervisor: dados incorretos.", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        editLoginGerente.Focus();
                    }
                }
                else
                {
                    MessageBox.Show("Operador: dados incorretos.", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    editSenhaOperador.Focus();
                }
            }
            catch (Exception eError)
            {
                Log.write(eError.ToString());
            }
        }
        private void listaGerente_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Escape)
            {
                this.Close();
            }


            if (e.KeyCode == Keys.Enter)
            {
                //  inicia movimento
                if (listaGerente.SelectedIndex == 0)
                {
                    Caixa.IniciaMovimento();
                }
                //  encerra movimento
                if (listaGerente.SelectedIndex == 1)
                {
                    Caixa.EncerraMovimento();
                }
                //  suprimento
                if (listaGerente.SelectedIndex == 3)
                {
                    Caixa.Suprimento();
                }
                //  sangria
                if (listaGerente.SelectedIndex == 4)
                {
                    Caixa.Sangria();
                }
                //  Reducao Z
                if (listaGerente.SelectedIndex == 6)
                {
                    if (MessageBox.Show("Tem Certeza Que Deseja Executar a Reducao Z?" + "\r" + "\r" + "O Movimento da Impressora será Suspenso no dia de Hoje.", "Reducao Z", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        try
                        {
                            ECFUtil.ReducaoZ();
                        }
                        finally
                        {
                            Caixa.TelaPadrao();
                        }
                    }
                }

                //  consultar cliente
                if (listaGerente.SelectedIndex == 8)
                {
                    ImportaCliente FImportaCliente = new ImportaCliente();
                    ImportaCliente.QuemChamou = "SUBMENU";
                    FImportaCliente.ShowDialog();
                }
                //  funções administrativas do TEF
                if (listaGerente.SelectedIndex == 10)
                {
                    EfetuaPagamento FEfetuaPagamento = new EfetuaPagamento();
                    try
                    {
                        EfetuaPagamento.ACBrTEFD.Initializar(ACBrFramework.TEFD.TefTipo.TefDial);
                        EfetuaPagamento.ACBrTEFD.ADM(ACBrFramework.TEFD.TefTipo.TefDial);
                    }
                    catch (Exception eError)
                    {
                        Log.write(eError.ToString());
                        MessageBox.Show("Problemas no GP TEFDIAL.", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    FEfetuaPagamento.Dispose();
                }
                //  Importar Tabelas com Dispositivo (pen-drive)
                if (listaGerente.SelectedIndex == 12)
                {
                    PenDrive FPenDrive = new PenDrive();
                    PenDrive.Rotina = "IMPORTA";
                    FPenDrive.ShowDialog();
                }

                //  Exportar Tabelas com Dispositivo (pen-drive)
                if (listaGerente.SelectedIndex == 13)
                {
                    PenDrive FPenDrive = new PenDrive();
                    PenDrive.Rotina = "EXPORTA";
                    FPenDrive.ShowDialog();
                }
            }
        }