private void AbrirCaixa() { //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 if (new TCD_CaixaPDV().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 = "'A'" } }, "1") != null) { MessageBox.Show("Ja existe caixa aberto para o Usuario " + fSessao.Usuario.Trim(), "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } using (Proc_Commoditties.TFAbrirCaixaPDV fCaixa = new Proc_Commoditties.TFAbrirCaixaPDV()) { fCaixa.pLogin = fSessao.Usuario; if (fCaixa.ShowDialog() == DialogResult.OK) { if (fCaixa.rCaixa != null) { try { TCN_CaixaPDV.AbrirCaixa(fCaixa.rCaixa, null); //if (lPdv[0].St_nfcebool) //{ // FormRelPadrao.Relatorio Relatorio = new FormRelPadrao.Relatorio(); // Relatorio.Nome_Relatorio = "TFLanFrenteCaixa_AberturaCaixa"; // Relatorio.NM_Classe = "TFLanFrenteCaixa_AberturaCaixa"; // Relatorio.Modulo = "PDV"; // Relatorio.Ident = "TFLanFrenteCaixa_AberturaCaixa"; // Relatorio.Altera_Relatorio = Altera_relatorio; // BindingSource BinEmpresa = new BindingSource(); // BinEmpresa.DataSource = CamadaNegocio.Diversos.TCN_CadEmpresa.Busca(fCaixa.rCaixa.Cd_empresa, // string.Empty, // string.Empty, // null); // Relatorio.Adiciona_DataSource("EMPRESA", BinEmpresa); // BindingSource meu_bind = new BindingSource(); // meu_bind.DataSource = fCaixa.rCaixa; // Relatorio.DTS_Relatorio = meu_bind; // //Verificar se existe Impressora padrão para o PDV // object obj = new CamadaDados.Faturamento.Cadastros.TCD_PontoVenda().BuscarEscalar( // new Utils.TpBusca[] // { // new Utils.TpBusca() // { // vNM_Campo = "a.cd_terminal", // vOperador = "=", // vVL_Busca = "'" + Utils.Parametros.pubTerminal.Trim() + "'" // } // }, "a.impressorapadrao"); // string print = string.Empty; // print = obj == null ? string.Empty : obj.ToString(); // if (string.IsNullOrEmpty(print)) // using (Parametros.Diversos.TFListaImpressoras fLista = new Parametros.Diversos.TFListaImpressoras()) // { // if (fLista.ShowDialog() == DialogResult.OK) // if (!string.IsNullOrEmpty(fLista.Impressora)) // print = fLista.Impressora; // } // //Imprimir // Relatorio.ImprimiGraficoReduzida(print, // true, // false, // 1); // Altera_relatorio = false; //} //else //{ // object obj = new CamadaDados.Diversos.TCD_CadTerminal().BuscarEscalar( // new Utils.TpBusca[] // { // new Utils.TpBusca() // { // vNM_Campo = "a.cd_terminal", // vOperador = "=", // vVL_Busca = "'" + Utils.Parametros.pubTerminal + "'" // } // }, "porta_imptick"); // if (obj != null) // printAberturaCaixa(fCaixa.rCaixa, null, obj.ToString()); //} MessageBox.Show("Caixa aberto com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } } else { MessageBox.Show("Obrigatorio informar usuario para abrir caixa.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } } }
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); } } }