示例#1
0
 private void TFLanVendas_FormClosing(object sender, FormClosingEventArgs e)
 {
     //Fechar sessao aberta
     if (lSessao != null)
     {
         if (lSessao.Count > 0)
         {
             try
             {
                 TCN_Sessao.EncerrarSessao(lSessao[0], null);
             }
             catch { }
         }
     }
 }
示例#2
0
 private void TFLanVendas_Load(object sender, EventArgs e)
 {
     this.Icon = Utils.ResourcesUtils.TecnoAliance_ICO;
     //Buscar dados PDV
     CamadaDados.Faturamento.Cadastros.TList_PontoVenda lPdv =
         CamadaNegocio.Faturamento.Cadastros.TCN_PontoVenda.Buscar(string.Empty,
                                                                   string.Empty,
                                                                   Utils.Parametros.pubTerminal,
                                                                   null);
     if (lPdv.Count < 1)
     {
         MessageBox.Show("Não existe PDV cadastrado para o terminal " + Utils.Parametros.pubTerminal,
                         "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         this.Close();
         return;
     }
     lblPdv.Text = lPdv[0].Id_pdvstr.Trim() + "-" + lPdv[0].Ds_pdv.Trim();
     //Buscar equipamento emissor ECF
     CamadaDados.Faturamento.Cadastros.TList_EmissorCF lEmissor =
         CamadaNegocio.Faturamento.Cadastros.TCN_EmissorCF.Buscar(string.Empty,
                                                                  string.Empty,
                                                                  string.Empty,
                                                                  lPdv[0].Id_pdvstr,
                                                                  string.Empty,
                                                                  string.Empty,
                                                                  string.Empty,
                                                                  string.Empty,
                                                                  "A",
                                                                  null);
     if (lEmissor.Count < 1)
     {
         MessageBox.Show("Não existe emissor de cupom fiscal configurado para o PDV Nº" + lPdv[0].Id_pdvstr,
                         "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         this.Close();
         return;
     }
     if (lEmissor.Exists(p => p.St_defaultbool))
     {
         rECF = lEmissor.Find(p => p.St_defaultbool);
     }
     else if (lEmissor.Count.Equals(1))
     {
         rECF = lEmissor[0];
     }
     else
     {
         using (PDV.TFListaECF fLista = new PDV.TFListaECF())
         {
             fLista.lEmissor = lEmissor;
             if (fLista.ShowDialog() == DialogResult.OK)
             {
                 if (fLista.lEmissor.Exists(p => p.St_defaultbool))
                 {
                     rECF = fLista.lEmissor.Find(p => p.St_defaultbool);
                 }
                 else
                 {
                     MessageBox.Show("Obrigatorio informar emissor cupom fiscal.",
                                     "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     this.Close();
                     return;
                 }
             }
             else
             {
                 MessageBox.Show("Obrigatorio informar emissor cupom fiscal.",
                                 "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 this.Close();
                 return;
             }
         }
     }
     lblEmpresa.Text = rECF.Cd_empresa.Trim() + "-" + rECF.Nm_empresa.Trim();
     //Buscar sessao aberta
     lSessao = TCN_Sessao.Buscar(lPdv[0].Id_pdvstr,
                                 string.Empty,
                                 LoginPdv,
                                 string.Empty,
                                 string.Empty,
                                 string.Empty,
                                 "'A'",
                                 1,
                                 null);
     if (lSessao.Count > 0)
     {
         lblUsuario.Text = lSessao[0].Login.Trim();
         lblDtIni.Text   = lSessao[0].Dt_aberturastr;
     }
     //Buscar Config Cupom
     lCfg = CamadaNegocio.Faturamento.Cadastros.TCN_CFGCupomFiscal.Buscar(rECF.Cd_empresa, null);
     if (lCfg.Count < 1)
     {
         MessageBox.Show("Não existe configuração para emitir cupom fiscal na empresa " + rECF.Cd_empresa.Trim(),
                         "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         this.Close();
         return;
     }
     Cd_cliente = lCfg[0].Cd_clifor;
     Nm_cliente = lCfg[0].Nm_clifor;
     //Buscar logo da empresa
     byte[] img = CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVlImagem("IMAGEM_RELATORIO", string.Empty, null);
     if (img != null)
     {
         System.IO.MemoryStream ms = new System.IO.MemoryStream();
         ms.Write(img, 0, img.Length);
         pbLogoEmpresa.Image = Image.FromStream(ms);
     }
     //Setar campos padrao
     ExibirLayoutCaixaLivre();
     //Restaurar ultimo cupom aberto
     //if (printer.Cupom.Status.Aberto)
     //    this.RestaurarCupom();
 }
示例#3
0
        private void FecharCaixa()
        {
            //Logar no PDV
            using (Proc_Commoditties.TFLanSessaoPDV fSessao = new Proc_Commoditties.TFLanSessaoPDV())
            {
                if (fSessao.ShowDialog() == DialogResult.OK)
                {
                    //Verificar se existe caixa aberto para o pdv/login
                    TList_CaixaPDV lCaixa = new TCD_CaixaPDV().Select(
                        new Utils.TpBusca[]
                    {
                        new Utils.TpBusca()
                        {
                            vNM_Campo = "a.login",
                            vOperador = "=",
                            vVL_Busca = "'" + fSessao.Usuario.Trim() + "'"
                        },
                        new Utils.TpBusca()
                        {
                            vNM_Campo = "isnull(a.st_registro, 'A')",
                            vOperador = "=",
                            vVL_Busca = "'A'"
                        }
                    }, 1, string.Empty);
                    if (lCaixa.Count > 0)
                    {
                        //Verificar se existe sessao aberta para o usuario
                        if (new TCD_Sessao().BuscarEscalar(
                                new Utils.TpBusca[]
                        {
                            new Utils.TpBusca()
                            {
                                vNM_Campo = "a.login",
                                vOperador = "=",
                                vVL_Busca = "'" + fSessao.Usuario.Trim() + "'"
                            },
                            new Utils.TpBusca()
                            {
                                vNM_Campo = "isnull(a.st_registro, 'A')",
                                vOperador = "<>",
                                vVL_Busca = "'F'"
                            }
                        }, "1") != null)
                        {
                            if (MessageBox.Show("Existe sessão aberta para o Usuário." + fSessao.Usuario.Trim() + "\r\n" +
                                                "Deseja finalizar todas as sessões?", "Mensagem",
                                                MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
                            {
                                TList_Sessao se = new TList_Sessao();
                                se = TCN_Sessao.Buscar(string.Empty, string.Empty, Utils.Parametros.pubLogin, string.Empty, string.Empty, string.Empty, "'A'", 0, null);
                                se.ForEach(p =>
                                {
                                    p.St_registro = "F";
                                    TCN_Sessao.EncerrarSessao(p, null);
                                });
                            }
                            else
                            {
                                return;
                            }
                        }

                        string dt_ini = Convert.ToDateTime(DateTime.Now.AddDays(-1).ToString("dd/MM/yyyy")).ToString();
                        string dt_fim = Convert.ToDateTime(DateTime.Now.AddDays(1).ToString("dd/MM/yyyy")).ToString();
                        //Verificar se existe venda de delivery
                        if (new CamadaDados.Restaurante.TCD_PreVenda().BuscarEscalar(
                                new Utils.TpBusca[]
                        {
                            new Utils.TpBusca()
                            {
                                vNM_Campo = "isnull(a.st_delivery, 'A')",
                                vOperador = "=",
                                vVL_Busca = "'E'"
                            },
                            new Utils.TpBusca()
                            {
                                vNM_Campo = "isnull(a.st_registro, 'A')",
                                vOperador = "<>",
                                vVL_Busca = "'C'"
                            },
                            new Utils.TpBusca()
                            {
                                vNM_Campo = "a.dt_venda",
                                vOperador = ">=",
                                vVL_Busca = "'" + string.Format(new System.Globalization.CultureInfo("en-US", true), Convert.ToDateTime(dt_ini).ToString("yyyyMMdd")) + " 00:00:00'"
                            },
                            new Utils.TpBusca()
                            {
                                vNM_Campo = "a.dt_venda",
                                vOperador = "<=",
                                vVL_Busca = "'" + string.Format(new System.Globalization.CultureInfo("en-US", true), Convert.ToDateTime(dt_fim).ToString("yyyyMMdd")) + " 00:00:00'"
                            }
                        }, "1") != null)
                        {
                            if (MessageBox.Show("Existe venda de delivery em ENTREGA, gostaria de fechar?" + fSessao.Usuario.Trim() + ".\r\n" +
                                                "Deseja fechar delivery?.", "Mensagem", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
                            {
                                using (TFVendaDelivery f = new TFVendaDelivery())
                                {
                                    f.vSt_entrega = true;
                                    f.vSt_buscar  = true;
                                    f.ShowDialog();
                                }
                            }
                        }
                        //Verificar se existe venda de combustivel em espera para o login
                        if (new CamadaDados.PostoCombustivel.TCD_VendaCombustivel().BuscarEscalar(
                                new Utils.TpBusca[]
                        {
                            new Utils.TpBusca()
                            {
                                vNM_Campo = "isnull(a.st_registro, 'A')",
                                vOperador = "=",
                                vVL_Busca = "'E'"
                            },
                            new Utils.TpBusca()
                            {
                                vNM_Campo = "a.loginespera",
                                vOperador = "=",
                                vVL_Busca = "'" + fSessao.Usuario.Trim() + "'"
                            }
                        }, "1") != null)
                        {
                            MessageBox.Show("Existe venda de combustivel em ESPERA para o login " + fSessao.Usuario.Trim() + ".\r\n" +
                                            "Não é permitido fechar caixa com venda em ESPERA.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return;
                        }
                        if (new CamadaDados.PostoCombustivel.Cadastros.TCD_CfgPosto().BuscarEscalar(
                                new Utils.TpBusca[]
                        {
                            new Utils.TpBusca()
                            {
                                vNM_Campo = "a.cd_empresa",
                                vOperador = "=",
                                vVL_Busca = "'" + lCaixa[0].Cd_empresa.Trim() + "'"
                            },
                            new Utils.TpBusca()
                            {
                                vNM_Campo = "isnull(a.st_encerrantecaixa, 'N')",
                                vOperador = "=",
                                vVL_Busca = "'S'"
                            }
                        }, "1") != null)
                        {
                            MessageBox.Show("Posto exige que seja informado encerrante no fechamento de caixa.\r\n" +
                                            "Fechamento de caixa deve ser realizado pela tela de recebimento de combustivel, menu FISCAL, opção FECHAR CAIXA.",
                                            "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return;
                        }
                        using (PDV.TFFechaCaixaOperacional fFechar = new PDV.TFFechaCaixaOperacional())
                        {
                            fFechar.Id_caixa = lCaixa[0].Id_caixastr;
                            fFechar.pLogin   = fSessao.Usuario;
                            if (fFechar.ShowDialog() == DialogResult.OK)
                            {
                                if (fFechar.lPortador != null)
                                {
                                    lCaixa[0].lPorFecharCaixa = fFechar.lPortador;
                                    lCaixa[0].Dt_fechamento   = CamadaDados.UtilData.Data_Servidor();
                                    lCaixa[0].St_registro     = "F";
                                    if (lCaixa[0].Vl_transportar.Equals(decimal.Zero))
                                    {
                                        if (lPdv[0].St_fixarvlretidobool)
                                        {
                                            lCaixa[0].Vl_transportar = lPdv[0].Vl_maxretcaixa;
                                        }
                                        else
                                        {
                                            using (Componentes.TFQuantidade fQtde = new Componentes.TFQuantidade())
                                            {
                                                fQtde.Ds_label       = "Vl. Retido Caixa";
                                                fQtde.Vl_saldo       = lPdv[0].Vl_maxretcaixa;
                                                fQtde.Casas_decimais = 2;
                                                if (fQtde.ShowDialog() == DialogResult.OK)
                                                {
                                                    lCaixa[0].Vl_transportar = fQtde.Quantidade;
                                                }
                                            }
                                        }
                                    }
                                    try
                                    {
                                        TCN_CaixaPDV.FecharCaixa(lCaixa[0], null);
                                        //Imprimir Extrato Fechamento Caixa
                                        FormRelPadrao.Relatorio extrato = new FormRelPadrao.Relatorio();
                                        extrato.Altera_Relatorio = Altera_relatorio;
                                        extrato.Nome_Relatorio   = "EXTRATO_FECHAMENTO_CAIXA_OPERACIONAL";
                                        extrato.NM_Classe        = this.Name;
                                        extrato.Modulo           = "PDV";
                                        extrato.Ident            = "EXTRATO_FECHAMENTO_CAIXA_OPERACIONAL";
                                        BindingSource bs_caixa = new BindingSource();
                                        bs_caixa.DataSource = lCaixa;
                                        extrato.Adiciona_DataSource("CAIXA", bs_caixa);
                                        BindingSource bs = new BindingSource();
                                        bs.DataSource = TCN_FechamentoCaixa.Buscar(lCaixa[0].Id_caixastr,
                                                                                   string.Empty,
                                                                                   "'A'",
                                                                                   null);
                                        extrato.DTS_Relatorio = bs;
                                        //Buscar retiradas a processar
                                        object obj =
                                            new CamadaDados.Faturamento.PDV.TCD_RetiradaCaixa().BuscarEscalar(
                                                new Utils.TpBusca[]
                                        {
                                            new Utils.TpBusca()
                                            {
                                                vNM_Campo = "a.id_caixa",
                                                vOperador = "=",
                                                vVL_Busca = lCaixa[0].Id_caixastr
                                            },
                                            new Utils.TpBusca()
                                            {
                                                vNM_Campo = "isnull(a.st_registro, 'A')",
                                                vOperador = "=",
                                                vVL_Busca = "'A'"
                                            }
                                        }, "isnull(sum(a.Vl_Retirada), 0)");
                                        if (obj != null)
                                        {
                                            extrato.Parametros_Relatorio.Add("VL_RET_PROCESSAR", decimal.Parse(obj.ToString()));
                                        }
                                        using (FormRelPadrao.TFGerenciadorImpressao fImp = new FormRelPadrao.TFGerenciadorImpressao())
                                        {
                                            fImp.St_enabled_enviaremail = true;
                                            fImp.pCd_clifor             = string.Empty;
                                            fImp.pMensagem = "EXTRATO FECHAMENTO CAIXA OPERACIONAL";

                                            if (Altera_relatorio)
                                            {
                                                extrato.Gera_Relatorio(string.Empty,
                                                                       fImp.pSt_imprimir,
                                                                       fImp.pSt_visualizar,
                                                                       fImp.pSt_enviaremail,
                                                                       fImp.pSt_exportPdf,
                                                                       fImp.Path_exportPdf,
                                                                       fImp.pDestinatarios,
                                                                       null,
                                                                       "EXTRATO FECHAMENTO CAIXA OPERACIONAL",
                                                                       fImp.pDs_mensagem);
                                                Altera_relatorio = false;
                                            }
                                            else
                                            if ((fImp.ShowDialog() == DialogResult.OK) || (fImp.pSt_enviaremail))
                                            {
                                                extrato.Gera_Relatorio(string.Empty,
                                                                       fImp.pSt_imprimir,
                                                                       fImp.pSt_visualizar,
                                                                       fImp.pSt_enviaremail,
                                                                       fImp.pSt_exportPdf,
                                                                       fImp.Path_exportPdf,
                                                                       fImp.pDestinatarios,
                                                                       null,
                                                                       "EXTRATO FECHAMENTO CAIXA OPERACIONAL",
                                                                       fImp.pDs_mensagem);
                                            }
                                        }
                                    }
                                    catch (Exception ex)
                                    { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
                                }
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("Não existe caixa aberto para o Usuário " + fSessao.Usuario.Trim(), "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                else
                {
                    MessageBox.Show("Obrigatorio informar usuario para fechar caixa.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }