示例#1
0
        public static void ValidarCertificado(TRegistro_CfgNfe rCfgNfe)
        {
            DateTime dt_atual = CamadaDados.UtilData.Data_Servidor();

            if (!rCfgNfe.Dt_avisoCert.HasValue)
            {
                rCfgNfe.Dt_avisoCert = dt_atual.AddDays(-1);
            }
            if ((rCfgNfe.Nr_diasexpirarcert > decimal.Zero) &&
                (rCfgNfe.Dt_avisoCert.Value.Date < dt_atual.Date))
            {
                DateTime dt_validade = new Utils.Assinatura.TAssinatura2(rCfgNfe.Nr_certificado_nfe).ValidadeCertificado();
                if (dt_atual.AddDays(Convert.ToDouble(rCfgNfe.Nr_diasexpirarcert)).Date >= dt_validade.Date)
                {
                    System.Windows.Forms.MessageBox.Show("Certificado digital da empresa " + rCfgNfe.Nm_empresa.Trim() + " irá expirar em " + dt_validade.ToString("dd/MM/yyyy HH:mm:ss") + ".\r\n" +
                                                         "Favor providenciar a renovação do mesmo, para que o faturamento da empresa não seja paralisado.",
                                                         "Mensagem", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Information);
                    try
                    {
                        new CamadaDados.TDataQuery().executarSql("update tb_fat_cfgnfe set dt_avisocert = getdate(), dt_alt = getdate() where cd_empresa = '" + rCfgNfe.Cd_empresa.Trim() + "'", null);
                    }
                    catch
                    { }
                    if (rCfgNfe.St_enviaremailcontadorbool)
                    {
                        //Verificar se o contador tem email cadastrado
                        object email = new CamadaDados.Financeiro.Cadastros.TCD_CadClifor().BuscarEscalar(
                            new TpBusca[]
                        {
                            new TpBusca()
                            {
                                vNM_Campo = string.Empty,
                                vOperador = "exists",
                                vVL_Busca = "(select 1 from tb_div_empresa x " +
                                            "where x.cd_clifor_contador = a.cd_clifor " +
                                            "and x.cd_empresa = '" + rCfgNfe.Cd_empresa.Trim() + "')"
                            }
                        }, "a.email");
                        if (email != null)
                        {
                            new FormRelPadrao.Email(new List <string>()
                            {
                                email.ToString()
                            },
                                                    "CERTIFICADO DIGITAL EXPIRANDO",
                                                    "<p><b>ATENÇÃO!</b><br /></p>" +
                                                    "Certificado digital da empresa <b>" + rCfgNfe.Nm_empresa.Trim() + "</b> expira em <b>" + dt_validade.ToString("dd/MM/yyyy HH:mm:ss") + "</b>.<br />" +
                                                    "Favor providenciar a renovação do mesmo, para que o faturamento da empresa não seja paralisado.<br />" +
                                                    "<p><font size=\"2\" color=\"blue\"><i>Obs.: Mensagem automática do sistema ALIANCE.NET.<br />" +
                                                    "Desconsiderar caso já tenha renovado o certificado.</font></i></p>" +
                                                    "TecnoAliance Ltda.<br />" +
                                                    "(45)3421-5050<br />" +
                                                    "www.tecnoaliance.com.br",
                                                    new List <string>()).EnviarEmail();
                        }
                    }
                }
            }
        }
示例#2
0
        private void TFDadosPreVenda_Load(object sender, EventArgs e)
        {
            pDados.set_FormatZero();
            bsPreVenda.AddNew();
            //Buscar vendedor Padrao
            object obj = new CamadaDados.Financeiro.Cadastros.TCD_CadClifor().BuscarEscalar(
                new TpBusca[]
            {
                new TpBusca()
                {
                    vNM_Campo = "isnull(a.st_vendedor, 'N')",
                    vOperador = "=",
                    vVL_Busca = "'S'"
                },
                new TpBusca()
                {
                    vNM_Campo = "isnull(a.st_registro, 'A')",
                    vOperador = "<>",
                    vVL_Busca = "'C'"
                },
                new TpBusca()
                {
                    vNM_Campo = "isnull(a.st_funcativo, 'N')",
                    vOperador = "=",
                    vVL_Busca = "'S'"
                },
                new TpBusca()
                {
                    vNM_Campo = "a.loginvendedor",
                    vOperador = "=",
                    vVL_Busca = "'" + Utils.Parametros.pubLogin.Trim() + "'"
                }
            }, "a.cd_clifor");

            if (obj != null)
            {
                CD_CompVend.Text = obj.ToString();
            }
            //Buscar empresa padrao usuario
            obj = new CamadaDados.Diversos.TCD_CadUsuario_Empresa().BuscarEscalar(
                new TpBusca[]
            {
                new TpBusca()
                {
                    vNM_Campo = "a.login",
                    vOperador = "=",
                    vVL_Busca = "'" + Utils.Parametros.pubLogin.Trim() + "'"
                }
            }, "a.cd_empresa");
            if (obj != null)
            {
                CD_Empresa.Text = obj.ToString();
                CD_Empresa_Leave(this, new EventArgs());
            }
        }
示例#3
0
        private void TFGerenciadorImpressao_Load(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(Utils.Parametros.pubCultura))
            {
                Idioma.TIdioma.AjustaCultura(this);
            }
            if (St_danfenfce)
            {
                Height                        = 349;
                clbContatos.Height            = 109;
                BB_Visualizar.Location        = new Point(9, 208);
                BB_Imprimir.Location          = new Point(202, 208);
                bbExportarPDF.Location        = new Point(395, 208);
                bb_enviaremail.Location       = new Point(576, 208);
                st_danfenfcedetalhada.Visible = true;
                st_danfenfcedetalhada.Checked = CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVlBool("ST_IMP_DANFE_NFCE_DETALHADA", null);
                st_viaestabelecimento.Visible = true;
            }
            else
            {
                Height                        = 295;
                clbContatos.Height            = 64;
                BB_Visualizar.Location        = new Point(9, 155);
                BB_Imprimir.Location          = new Point(202, 155);
                bbExportarPDF.Location        = new Point(395, 155);
                bb_enviaremail.Location       = new Point(576, 155);
                st_danfenfcedetalhada.Visible = St_danfenfce;
                st_viaestabelecimento.Visible = St_danfenfce;
            }

            Icon             = Utils.ResourcesUtils.TecnoAliance_ICO;
            lblMensagem.Text = pMensagem.Trim();
            ds_mensagem.Text = CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVlString("MENSAGEM_PADRAO_EMAIL", null);
            cd_clifor.Text   = pCd_clifor;
            pDestinatarios   = new List <string>();
            if (!string.IsNullOrEmpty(pCd_representante))
            {
                object obj = new CamadaDados.Financeiro.Cadastros.TCD_CadClifor().BuscarEscalar(
                    new Utils.TpBusca[]
                {
                    new Utils.TpBusca()
                    {
                        vNM_Campo = "a.cd_clifor",
                        vOperador = "=",
                        vVL_Busca = "'" + pCd_representante.Trim() + "'"
                    }
                }, "a.email");
                if (obj == null ? false : !string.IsNullOrEmpty(obj.ToString()))
                {
                    clbContatos.Items.Add(obj.ToString());
                }
            }
            cd_clifor_Leave(this, new EventArgs());
        }
示例#4
0
        private void emEntrega()
        {
            if (bsLocacao.Current == null)
            {
                MessageBox.Show("Necessário selecionar alguma locação para entregar.", "Informativo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            else if (bsColetaEntrega.Current == null)
            {
                MessageBox.Show("Necessário que locação selecionada tenha coleta/entrega.", "Informativo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            using (Parametros.Diversos.TFRegraUsuario fUsuario = new Parametros.Diversos.TFRegraUsuario())
            {
                fUsuario.Ds_regraespecial = "PERMITIR EVOLUIR ENTREGA";
                if (fUsuario.ShowDialog() == DialogResult.OK)
                {
                    //Buscar código do usuário informado
                    object obj = new CamadaDados.Financeiro.Cadastros.TCD_CadClifor().BuscarEscalar(
                        new Utils.TpBusca[]
                    {
                        new Utils.TpBusca()
                        {
                            vNM_Campo = "a.loginvendedor",
                            vOperador = "=",
                            vVL_Busca = "'" + fUsuario.Login.Trim() + "'"
                        }
                    }, "a.cd_clifor");
                    if (obj == null || string.IsNullOrEmpty(obj.ToString()))
                    {
                        MessageBox.Show("Não foi possível obter o login de vendedor, certifique-se que o motorista tenha pré-cadastrado.");
                        return;
                    }

                    if (obj.ToString().Equals((bsColetaEntrega.Current as CamadaDados.Locacao.TRegistro_ColetaEntrega).Cd_motorista))
                    {
                        if (MessageBox.Show("Confirma evolução da locação? \nDe: Aguardando Entrega.\nPara: Em entrega. ", "Mensagem", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1).Equals(DialogResult.Yes))
                        {
                            (bsLocacao.Current as CamadaDados.Locacao.TRegistro_Locacao).St_registro = "E";
                            CamadaNegocio.Locacao.TCN_Locacao.Gravar((bsLocacao.Current as CamadaDados.Locacao.TRegistro_Locacao), null);
                            afterBuscar();
                        }
                    }
                    else
                    {
                        MessageBox.Show("O motorista informado não condiz com o explícito na locação.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
                }
            }
        }
示例#5
0
        private void BuscarPendentes()
        {
            //Busca Atividades Pendentes do Usuario Logado
            bsAtividade.DataSource =
                new TCD_LanAtividades().Select(
                    new Utils.TpBusca[]
            {
                new Utils.TpBusca()
                {
                    vNM_Campo = string.Empty,
                    vOperador = "exists",
                    vVL_Busca = "(select 1 from tb_fin_clifor x " +
                                "where a.CD_Tecnico = x.CD_Clifor " +
                                "and x.LoginVendedor = '" + Utils.Parametros.pubLogin.Trim() + "')"
                },
                new Utils.TpBusca()
                {
                    vNM_Campo = "a.st_registro",
                    vOperador = "=",
                    vVL_Busca = "'P'"
                }
            }, 0, string.Empty);
            //Buscar CD.Tecnico do Usuario
            object obj = new CamadaDados.Financeiro.Cadastros.TCD_CadClifor().BuscarEscalar(
                new Utils.TpBusca[]
            {
                new Utils.TpBusca()
                {
                    vNM_Campo = "a.LoginVendedor",
                    vOperador = "=",
                    vVL_Busca = "'" + Utils.Parametros.pubLogin.Trim() + "'"
                }
            }, "a.cd_clifor");

            if (obj != null)
            {
                cd_tecnico = obj.ToString();
            }
            else
            {
                cd_tecnico = string.Empty;
            }
            bsAtividade.ResetCurrentItem();
        }
示例#6
0
 private void EfetuarLogin()
 {
     if (string.IsNullOrEmpty(Login.Text))
     {
         MessageBox.Show("Obrigatorio informar USUARIO.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         Login.Focus();
         return;
     }
     if (string.IsNullOrEmpty(Senha.Text))
     {
         MessageBox.Show("Obrigatorio informar SENHA.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         Senha.Focus();
         return;
     }
     try
     {
         if (CamadaNegocio.Diversos.TCN_CadUsuario.ValidarUsuario(Login.Text, Senha.Text))
         {
             //Verificar se o usuario tem permissao para dar desconto
             object obj = new CamadaDados.Financeiro.Cadastros.TCD_CadClifor().BuscarEscalar(
                 new Utils.TpBusca[]
             {
                 new Utils.TpBusca()
                 {
                     vNM_Campo = "a.loginvendedor",
                     vOperador = "=",
                     vVL_Busca = "'" + Login.Text.Trim() + "'"
                 }
             }, "isnull(a.pc_max_desconto, 0)");
             if (pc_desconto.Value > decimal.Parse(obj.ToString()))
             {
                 MessageBox.Show("Usuário não tem permissão para liberar este % desconto.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
             }
             else
             {
                 this.DialogResult = DialogResult.OK;
             }
         }
     }
     catch (Exception ex)
     { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
 }
示例#7
0
 private void cbEmpresa_SelectionChangeCommitted(object sender, EventArgs e)
 {
     if (cbEmpresa.SelectedItem != null)
     {
         object obj = new CamadaDados.Financeiro.Cadastros.TCD_CadClifor().BuscarEscalar(
             new Utils.TpBusca[]
         {
             new Utils.TpBusca()
             {
                 vNM_Campo = "a.cd_clifor",
                 vOperador = "=",
                 vVL_Busca = "'" + (cbEmpresa.SelectedItem as CamadaDados.Diversos.TRegistro_CadEmpresa).Cd_clifor_contador.Trim() + "'"
             }
         }, "a.email");
         if (obj != null)
         {
             email.Text = obj.ToString();
         }
     }
 }
示例#8
0
        public static string GravarDireto(TRegistro_Orcamento orcamento, TList_FichaTec litens, BancoDados.TObjetoBanco banco)
        {
            bool st_transacao = false;
            TCD_CompraEmpreendimento qtb_orc = new TCD_CompraEmpreendimento();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_orc.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_orc.Banco_Dados = banco;
                }

                TList_CadCFGEmpreendimento lCfg = TCN_CadCFGEmpreendimento.Busca(string.Empty, string.Empty, qtb_orc.Banco_Dados);
                if (lCfg.Count.Equals(0))
                {
                    throw new Exception("Não existe cadastro CFG.Empreendimento.");
                }

                TList_FichaTec itensDireto = new TList_FichaTec();
                if (litens == null)
                {
                    orcamento.lOrcProjeto.ForEach(o =>
                    {
                        o.lFicha.ForEach(p =>
                        {
                            if (p.St_fatdiretobool)
                            {
                                itensDireto.Add(p);
                            }
                        });
                    });
                }
                else
                {
                    litens.ForEach(p =>
                    {
                        itensDireto.Add(p);
                    });
                }

                string ret = string.Empty;
                itensDireto.ForEach(p =>
                {
                    CamadaDados.Compra.Lancamento.TRegistro_Requisicao req = new CamadaDados.Compra.Lancamento.TRegistro_Requisicao();
                    req.Cd_empresa = orcamento.Cd_empresa;
                    req.Cd_produto = p.Cd_produto;
                    req.Ds_produto = p.Ds_produto;
                    req.Quantidade = p.quantidade_agregar == decimal.Zero? p.Quantidade : p.quantidade_agregar;
                    CamadaDados.Financeiro.Cadastros.TList_CadClifor lclifor = new CamadaDados.Financeiro.Cadastros.TCD_CadClifor().Select(
                        new Utils.TpBusca[]
                    {
                        new Utils.TpBusca()
                        {
                            vNM_Campo = "isnull(a.st_registro, 'A')",
                            vOperador = "<>",
                            vVL_Busca = "'C'"
                        },
                        new Utils.TpBusca()
                        {
                            vNM_Campo = string.Empty,
                            vOperador = "exists",
                            vVL_Busca = "(select 1 from tb_cmp_usuariocompra x " +
                                        "where x.cd_clifor_cmp = a.cd_clifor " +
                                        "and isnull(x.st_requisitar, 'N') = 'S' " +
                                        "and x.login = '******')"
                        }
                    }, 0, string.Empty);
                    if (lclifor.Count > 0)
                    {
                        req.Cd_clifor_comprador    = lclifor[0].Cd_clifor;
                        req.Cd_clifor_requisitante = lclifor[0].Cd_clifor;
                    }

                    req.St_requisicao      = "AC";
                    req.Id_tprequisicaostr = p.St_fatdiretobool ? lCfg[0].tp_requisicaodir: lCfg[0].tp_requisicao;
                    //GRAVAR
                    req.Id_requisicao = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(
                                                              CamadaNegocio.Compra.Lancamento.TCN_Requisicao.GravarRequisicao(req, qtb_orc.Banco_Dados), "@P_ID_REQUISICAO"));

                    TRegistro_CompraEmpreendimento val = new TRegistro_CompraEmpreendimento();
                    val.Id_orcamentostr = p.Id_orcamentostr;
                    val.Id_registrostr  = p.Id_registrostr;
                    val.Id_requisicao   = req.Id_requisicao;
                    val.Nr_versao       = p.Nr_versao;
                    val.Id_ficha        = p.Id_ficha;
                    val.id_atividade    = p.Id_projetostr;
                    val.Cd_empresa      = p.Cd_empresa;
                    ret = qtb_orc.Gravar(val);
                    val.Id_requisicao = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret, "@P_ID_REQUISICAO"));
                });


                //string ret = qtb_orc.Gravar(val);

                if (st_transacao)
                {
                    qtb_orc.Banco_Dados.Commit_Tran();
                }
                return(ret);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_orc.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar requisicao: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_orc.deletarBanco_Dados();
                }
            }
        }
示例#9
0
        private void buscarClifor()
        {
            if (tpModo != TTpModo.tm_Insert)
            {
                return;
            }
            if (string.IsNullOrEmpty(txtDados.Text))
            {
                return;
            }

            TpBusca[] tps = new TpBusca[0];
            Estruturas.CriarParametro(ref tps, "a.celular", "'%" + txtDados.Text.Trim().SoNumero() + "'", "like");
            TList_Clifor rClifor = new TCD_Clifor().Select(tps, 0, string.Empty);

            //Cliente não existe (método: novoClifor)
            if (rClifor.Count.Equals(0))
            {
                nome_clifor.Focus(); return;
            }

            //Vários clientes com o mesmo número de telefone
            if (rClifor.Count > 1)
            {
                if (tpModo == TTpModo.tm_Insert)
                {
                    using (TFConsultaClifor fconsulta = new TFConsultaClifor())
                    {
                        fconsulta.nome = txtDados.Text.Trim().SoNumero();
                        if (fconsulta.ShowDialog() == DialogResult.OK)
                        {
                            txtDados.Text    = fconsulta.rClifor.celular;
                            nome_clifor.Text = fconsulta.rClifor.Nm_clifor;
                            cd_clifor        = fconsulta.rClifor.Cd_clifor;
                            tpModo           = TTpModo.tm_busca;
                        }
                        else
                        {
                            tpModo = TTpModo.tm_Standby;
                            afternovo();
                        }
                    }
                }
            }
            else
            {
                nome_clifor.Text = rClifor[0].Nm_clifor;
                cd_clifor        = rClifor[0].Cd_clifor;
                tpModo           = TTpModo.tm_busca;
            }

            //Validar necessidade de atualizar o cadastro do clifor
            tps = new TpBusca[0];
            Estruturas.CriarParametro(ref tps, "a.ds_parametro", "'DIAS_RENOVACAO_CADASTRO_CLIFOR'");
            object vlNumerico = new CamadaDados.ConfigGer.TCD_ParamGer().BuscarEscalar(tps, "a.vl_numerico");

            if (vlNumerico != null && !string.IsNullOrEmpty(vlNumerico.ToString()))
            {
                //Buscar data de alteração do cadastro do clifor
                tps = new TpBusca[0];
                Estruturas.CriarParametro(ref tps, "a.cd_clifor", rClifor[0].Cd_clifor);
                object dtAlt = new CamadaDados.Financeiro.Cadastros.TCD_CadClifor().BuscarEscalar(tps, "a.dt_alt");
                if (dtAlt != null && !string.IsNullOrEmpty(vlNumerico.ToString()))
                {
                    try
                    {
                        //Validar diferenca das datas
                        double dif = CamadaDados.UtilData.Data_Servidor().Subtract(Convert.ToDateTime(dtAlt)).TotalDays;
                        if (dif > Convert.ToDouble(vlNumerico))
                        {
                            atualizarCadastroClifor(rClifor[0]);
                        }
                    }
                    catch { }
                }
            }
        }
示例#10
0
 private void EfetuarLogin()
 {
     if (string.IsNullOrEmpty(Login.Text))
     {
         MessageBox.Show("Obrigatorio informar USUARIO.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         Login.Focus();
         return;
     }
     if (string.IsNullOrEmpty(Senha.Text))
     {
         MessageBox.Show("Obrigatorio informar SENHA.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         Senha.Focus();
         return;
     }
     try
     {
         if (CamadaNegocio.Diversos.TCN_CadUsuario.ValidarUsuario(Login.Text, Senha.Text))
         {
             if (Login.Text.Trim().ToUpper().Equals("MASTER") || Login.Text.Trim().ToUpper().Equals("DESENV"))
             {
                 this.DialogResult = DialogResult.OK;
             }
             else
             {
                 //Buscar Vendedor
                 object obj = new CamadaDados.Financeiro.Cadastros.TCD_CadClifor().BuscarEscalar(
                     new Utils.TpBusca[]
                 {
                     new Utils.TpBusca()
                     {
                         vNM_Campo = "isnull(a.st_registro, 'A')",
                         vOperador = "<>",
                         vVL_Busca = "'C'"
                     },
                     new Utils.TpBusca()
                     {
                         vNM_Campo = "isnull(a.st_funcativo, 'S')",
                         vOperador = "<>",
                         vVL_Busca = "'N'"
                     },
                     new Utils.TpBusca()
                     {
                         vNM_Campo = "a.LoginVendedor",
                         vOperador = "=",
                         vVL_Busca = "'" + Login.Text.Trim() + "'"
                     }
                 }, "a.cd_clifor");
                 if (obj == null)
                 {
                     MessageBox.Show("Não existe vendedor configurado para o login.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     return;
                 }
                 //Buscar lista de descontos configuradas para o vendedor
                 CamadaDados.Faturamento.Cadastros.TList_DescontoVendedor lDesc =
                     CamadaNegocio.Faturamento.Cadastros.TCN_DescontoVendedor.Buscar(obj.ToString(),
                                                                                     Cd_empresa,
                                                                                     string.Empty,
                                                                                     string.Empty,
                                                                                     null);
                 if (lDesc.Count > 0)
                 {
                     if ((!string.IsNullOrEmpty(Cd_tabelapreco)) && (!string.IsNullOrEmpty(Cd_grupo)))//Tabela Preço e Grupo Produto
                     {
                         if (lDesc.Exists(p => p.Cd_tabelapreco.Trim().Equals(Cd_tabelapreco.Trim()) &&
                                          p.Cd_grupo.Trim().Equals(Cd_grupo.Trim())))
                         {
                             //Desconto por tabela de preco e grupo de produto
                             decimal pc_max_desc = lDesc.Find(p => p.Cd_tabelapreco.Trim().Equals(Cd_tabelapreco.Trim()) &&
                                                              p.Cd_grupo.Trim().Equals(Cd_grupo.Trim())).Pc_max_desconto;
                             if (pc_desconto.Value > pc_max_desc)
                             {
                                 MessageBox.Show("Usuário não tem permissão para liberar este % desconto.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             }
                             else
                             {
                                 this.DialogResult = DialogResult.OK;
                             }
                         }
                         else
                         {
                             MessageBox.Show("Usuario não possui configuração para liberar desconto para esta tabela de preço e grupo de produto.",
                                             "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         }
                     }
                     else if ((!string.IsNullOrEmpty(Cd_tabelapreco)) && string.IsNullOrEmpty(Cd_grupo))
                     {
                         if (lDesc.Exists(p => p.Cd_tabelapreco.Trim().Equals(Cd_tabelapreco)))
                         {
                             //Desconto por tabela de preço
                             decimal pc_max_desc = lDesc.Find(p => p.Cd_tabelapreco.Trim().Equals(Cd_tabelapreco.Trim())).Pc_max_desconto;
                             if (pc_desconto.Value > pc_max_desc)
                             {
                                 MessageBox.Show("Usuário não tem permissão para liberar este % desconto.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             }
                             else
                             {
                                 this.DialogResult = DialogResult.OK;
                             }
                         }
                         else
                         {
                             MessageBox.Show("Usuario não possui configuração para liberar desconto para esta tabela de preço e grupo de produto.",
                                             "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         }
                     }
                     else if ((!string.IsNullOrEmpty(Cd_grupo)) && string.IsNullOrEmpty(Cd_tabelapreco))
                     {
                         if (lDesc.Exists(p => p.Cd_grupo.Trim().Equals(Cd_grupo.Trim())))
                         {
                             //Desconto por grupo de produto
                             decimal pc_max_desc = lDesc.Find(p => p.Cd_grupo.Trim().Equals(Cd_grupo.Trim())).Pc_max_desconto;
                             if (pc_desconto.Value > pc_max_desc)
                             {
                                 MessageBox.Show("Usuário não tem permissão para liberar este % desconto.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             }
                             else
                             {
                                 this.DialogResult = DialogResult.OK;
                             }
                         }
                         else
                         {
                             MessageBox.Show("Usuario não possui configuração para liberar desconto para esta tabela de preço e grupo de produto.",
                                             "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         }
                     }
                     else if (pc_desconto.Value > lDesc[0].Pc_max_desconto)
                     {
                         MessageBox.Show("Usuário não tem permissão para liberar este % desconto.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     }
                     else
                     {
                         this.DialogResult = DialogResult.OK;
                     }
                 }
                 else
                 {
                     MessageBox.Show("Usuario não possui configuração de % desconto.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 }
             }
         }
     }
     catch (Exception ex)
     { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
 }
示例#11
0
 private void LancarRequisicao()
 {
     if (bsMPrima.Current != null)
     {
         if ((bsMPrima.DataSource as CamadaDados.Producao.Producao.TList_MPrima).Exists(p => p.Qtd_saldonecessario < 0))
         {
             try
             {
                 //Buscar Tipo Requisicao Externa
                 object obj = new CamadaDados.Compra.TCD_TpRequisicao().BuscarEscalar(
                     new Utils.TpBusca[]
                 {
                     new Utils.TpBusca()
                     {
                         vNM_Campo = "a.TP_Requisicao",
                         vOperador = "=",
                         vVL_Busca = "'E'"
                     }
                 }, "a.ID_TpRequisicao");
                 if (obj == null)
                 {
                     MessageBox.Show("Não existe Tipo Requisição cadastrada no sistema!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     return;
                 }
                 //Buscar Clifor Requisitante
                 object objClifor = new CamadaDados.Financeiro.Cadastros.TCD_CadClifor().BuscarEscalar(
                     new Utils.TpBusca[]
                 {
                     new Utils.TpBusca()
                     {
                         vNM_Campo = string.Empty,
                         vOperador = "exists",
                         vVL_Busca = "(select 1 from tb_cmp_usuariocompra x " +
                                     "where x.cd_clifor_cmp = a.cd_clifor " +
                                     "and isnull(x.st_requisitar, 'N') = 'S' " +
                                     "and x.login = '******')"
                     }
                 }, "a.cd_clifor");
                 if (objClifor == null)
                 {
                     MessageBox.Show("Usuário: " + Utils.Parametros.pubLogin.Trim() + "\r\n" +
                                     "não possui clifor requisitante cadastrado", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     return;
                 }
                 CamadaDados.Compra.Lancamento.TList_Requisicao lRequisicao =
                     new CamadaDados.Compra.Lancamento.TList_Requisicao();
                 CamadaDados.Producao.Producao.TList_OrdemProducao_X_Requisicao lOrdemProducao =
                     new CamadaDados.Producao.Producao.TList_OrdemProducao_X_Requisicao();
                 lOrdemProducao.Add(new CamadaDados.Producao.Producao.TRegistro_OrdemProducao_X_Requisicao()
                 {
                     Cd_empresa = CD_Empresa.Text,
                     Id_ordem   = Convert.ToDecimal(pId_ordem)
                 });
                 (bsMPrima.DataSource as CamadaDados.Producao.Producao.TList_MPrima).FindAll(p => p.Qtd_saldonecessario < 0).ForEach(p =>
                 {
                     if (new CamadaDados.Producao.Producao.TCD_OrdemProducao().BuscarEscalar(
                             new Utils.TpBusca[]
                     {
                         new Utils.TpBusca()
                         {
                             vNM_Campo = string.Empty,
                             vOperador = "exists",
                             vVL_Busca = "(select 1 from TB_PRD_OrdemProducao_X_Requisicao x " +
                                         "inner join TB_PRD_OrdemProducao y " +
                                         "on x.id_ordem = y.id_ordem " +
                                         "and x.cd_empresa = y.cd_empresa " +
                                         "inner join TB_PRD_FichaTec_MPrima h " +
                                         "on y.ID_Formulacao = h.ID_Formulacao " +
                                         "and y.cd_empresa = h.cd_empresa " +
                                         "where a.cd_empresa = x.cd_empresa " +
                                         "and a.ID_Ordem = x.ID_Ordem " +
                                         "and exists(select 1 from TB_CMP_Requisicao z " +
                                         "       where h.cd_empresa = z.cd_empresa " +
                                         "       and h.CD_Produto = z.CD_Produto " +
                                         "       and x.ID_Requisicao = z.ID_Requisicao " +
                                         "       and x.cd_empresa = z.cd_empresa " +
                                         "       and z.ST_Requisicao <> 'CA') " +
                                         "and a.id_ordem = " + pId_ordem.Trim() + " " +
                                         "and h.CD_Produto = " + p.Cd_mprima.Trim() + ")"
                         }
                     }, "1") == null)
                     {
                         lRequisicao.Add(new CamadaDados.Compra.Lancamento.TRegistro_Requisicao()
                         {
                             St_integrar            = true,
                             Cd_empresa             = CD_Empresa.Text,
                             Id_tprequisicaostr     = obj.ToString(),
                             Dt_requisicao          = CamadaDados.UtilData.Data_Servidor(),
                             Cd_clifor_requisitante = objClifor.ToString(),
                             Cd_produto             = p.Cd_mprima,
                             Ds_produto             = p.Ds_mprima,
                             Cd_local      = p.Cd_local,
                             Ds_local      = p.Ds_local,
                             Sigla_unidade = p.Sigla_unidade,
                             St_requisicao = "AC",
                             Quantidade    = Math.Abs(p.Qtd_saldonecessario),
                             lOrdemProd    = lOrdemProducao
                         });
                     }
                 });
                 using (TFLanRequisicao fReq = new TFLanRequisicao())
                 {
                     fReq.lRequisicao = lRequisicao;
                     if (fReq.ShowDialog() == DialogResult.OK)
                     {
                         if (fReq.lRequisicao != null)
                         {
                             fReq.lRequisicao.ForEach(x =>
                                                      CamadaNegocio.Compra.Lancamento.TCN_Requisicao.GravarRequisicao(x, null));
                         }
                     }
                 }
                 bsMPrima_PositionChanged(this, new EventArgs());
             }
             catch (Exception ex)
             { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
         }
     }
 }
示例#12
0
        private void ImprimirDanfe()
        {
            //Verificar status NFe
            object obj = new CamadaDados.Faturamento.NFCe.TCD_Lote_X_NFCe().BuscarEscalar(
                new Utils.TpBusca[]
            {
                new Utils.TpBusca()
                {
                    vNM_Campo = "a.cd_empresa",
                    vOperador = "=",
                    vVL_Busca = "'" + rNFCe.Cd_empresa.Trim() + "'"
                },
                new Utils.TpBusca()
                {
                    vNM_Campo = "a.id_cupom",
                    vOperador = "=",
                    vVL_Busca = rNFCe.Id_nfcestr
                },
                new Utils.TpBusca()
                {
                    vNM_Campo = string.Empty,
                    vOperador = "exists",
                    vVL_Busca = "(select 1 from TB_FAT_LoteNFCe x " +
                                "where x.id_lote = a.id_lote " +
                                "and x.cd_empresa = a.cd_empresa " +
                                "and x.st_registro = 'P' " +
                                "and x.status = '104')"
                }
            }, "a.status");

            if (obj != null)
            {
                if (obj.ToString().Trim().Equals("100"))
                {
                    try
                    {
                        FormRelPadrao.Relatorio Rel = new FormRelPadrao.Relatorio();
                        Rel.Altera_Relatorio = Altera_Relatorio;
                        BindingSource dts = new BindingSource();
                        dts.DataSource    = new CamadaDados.Faturamento.PDV.TList_NFCe_Item();
                        Rel.DTS_Relatorio = dts;// bsItens;
                        //DTS Cupom
                        BindingSource bsNFCe = new BindingSource();
                        bsNFCe.DataSource = new CamadaDados.Faturamento.PDV.TList_NFCe()
                        {
                            rNFCe
                        };
                        TGerarQRCode.GerarQRCode2(rNFCe);
                        Rel.Adiciona_DataSource("DTS_NFCE", bsNFCe);
                        //Buscar Empresa
                        BindingSource bsEmpresa = new BindingSource();
                        bsEmpresa.DataSource = CamadaNegocio.Diversos.TCN_CadEmpresa.Busca(rNFCe.Cd_empresa,
                                                                                           string.Empty,
                                                                                           string.Empty,
                                                                                           null);
                        Rel.Adiciona_DataSource("DTS_EMP", bsEmpresa);
                        //Forma Pagamento
                        BindingSource bsPagto = new BindingSource();
                        if (rNFCe.lDup.Count > 0)
                        {
                            rNFCe.lPagto.Add(new CamadaDados.Faturamento.PDV.TRegistro_MovCaixa()
                            {
                                Tp_portador = "05",
                                Vl_recebido = rNFCe.lDup[0].Vl_documento
                            });
                        }

                        //Ocorre quando cupom emitido pelo delivery
                        //logo não informando condição de pagamento
                        if (rNFCe.lPagto.Count.Equals(0))
                        {
                            rNFCe.lPagto.Add(new CamadaDados.Faturamento.PDV.TRegistro_MovCaixa()
                            {
                                Tp_portador = "01",
                                Vl_recebido = rNFCe.lItem.Sum(p => p.Vl_subtotal)
                            });
                        }

                        bsPagto.DataSource = rNFCe.lPagto;
                        Rel.Adiciona_DataSource("DTS_PAGTO", bsPagto);
                        //Parametros
                        Rel.Parametros_Relatorio.Add("TOT_IMP_APROX", rNFCe.lItem.Sum(p => p.Vl_imposto_Aprox));
                        Rel.Parametros_Relatorio.Add("QTD_ITENS", rNFCe.lItem.Count);
                        Rel.Parametros_Relatorio.Add("TOT_SUBTOTAL", rNFCe.lItem.Sum(p => p.Vl_subtotal));
                        Rel.Parametros_Relatorio.Add("TOT_ACRESCIMO", rNFCe.lItem.Sum(p => p.Vl_acrescimo));
                        Rel.Parametros_Relatorio.Add("TOT_DESCONTO", rNFCe.lItem.Sum(p => p.Vl_desconto));
                        Rel.Parametros_Relatorio.Add("ST_VIAEMPRESA", "N");
                        obj = new CamadaDados.Faturamento.NFCe.TCD_LoteNFCe().BuscarEscalar(
                            new Utils.TpBusca[]
                        {
                            new Utils.TpBusca()
                            {
                                vNM_Campo = string.Empty,
                                vOperador = "exists",
                                vVL_Busca = "(select 1 from TB_FAT_Lote_X_NFCe x " +
                                            "where x.cd_empresa = a.cd_empresa " +
                                            "and x.id_lote = a.id_lote " +
                                            "and x.status = '100')"
                            }
                        }, "a.tp_ambiente");
                        Rel.Parametros_Relatorio.Add("TP_AMBIENTE", obj == null ? string.Empty : obj.ToString());
                        string dadoscf = CamadaNegocio.Faturamento.PDV.TCN_NFCe.BuscarPlacaKM(rNFCe.Cd_empresa,
                                                                                              rNFCe.Id_nfcestr,
                                                                                              null);
                        if (!string.IsNullOrEmpty(dadoscf))
                        {
                            string[] linhas        = dadoscf.Split(new char[] { ':' });
                            string   placa         = string.Empty;
                            string   km            = string.Empty;
                            string   frota         = string.Empty;
                            string   requisicao    = string.Empty;
                            string   nm_motorista  = string.Empty;
                            string   cpf_motorista = string.Empty;
                            string   media         = string.Empty;
                            string   virg          = string.Empty;
                            foreach (string s in linhas)
                            {
                                string[] colunas = s.Split(new char[] { '/' });
                                placa         += virg + colunas[0];
                                km            += virg + colunas[1];
                                frota         += virg + colunas[2];
                                requisicao    += virg + colunas[3];
                                nm_motorista  += virg + colunas[4];
                                cpf_motorista += virg + colunas[5];
                                media         += virg + colunas[6];
                                virg           = ",";
                            }
                            if (!string.IsNullOrEmpty(placa))
                            {
                                Rel.Parametros_Relatorio.Add("PLACA", placa);
                            }
                            if (!string.IsNullOrEmpty(km))
                            {
                                Rel.Parametros_Relatorio.Add("KM", km);
                            }
                            if (!string.IsNullOrEmpty(media))
                            {
                                Rel.Parametros_Relatorio.Add("MEDIA", media + " KM/LT");
                            }
                            if (!string.IsNullOrEmpty(frota))
                            {
                                Rel.Parametros_Relatorio.Add("FROTA", frota);
                            }
                            if (!string.IsNullOrEmpty(requisicao))
                            {
                                Rel.Parametros_Relatorio.Add("REQUISICAO", requisicao);
                            }
                            if (!string.IsNullOrEmpty(nm_motorista))
                            {
                                Rel.Parametros_Relatorio.Add("NM_MOTORISTA", nm_motorista);
                            }
                            if (!string.IsNullOrEmpty(cpf_motorista))
                            {
                                Rel.Parametros_Relatorio.Add("CPF_MOTORISTA", cpf_motorista);
                            }
                        }
                        Rel.Nome_Relatorio = "DANFE_NFCE";
                        Rel.NM_Classe      = "TFConsultaFrenteCaixa";
                        Rel.Modulo         = "FAT";
                        Rel.Ident          = "DANFE_NFCE";
                        if (CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVlBool("ST_IMP_DANFE_NFCE_DETALHADA", null))
                        {
                            BindingSource bsItens = new BindingSource();
                            bsItens.DataSource = CamadaNegocio.Faturamento.PDV.TCN_NFCe_Item.Buscar(rNFCe.Id_nfcestr,
                                                                                                    rNFCe.Cd_empresa,
                                                                                                    string.Empty,
                                                                                                    null);
                            //Buscar Encerrantes das Abastecidas
                            (bsItens.List as CamadaDados.Faturamento.PDV.TList_NFCe_Item).Where(p => p.St_combustivel).ToList().ForEach(p =>
                            {
                                CamadaDados.PostoCombustivel.TList_VendaCombustivel lVComp =
                                    new CamadaDados.PostoCombustivel.TCD_VendaCombustivel().Select(
                                        new Utils.TpBusca[]
                                {
                                    new Utils.TpBusca()
                                    {
                                        vNM_Campo = string.Empty,
                                        vOperador = "exists",
                                        vVL_Busca = "(select 1 from tb_pdv_cupom_x_vendarapida x " +
                                                    "where x.cd_empresa = a.cd_empresa " +
                                                    "and x.id_vendarapida = a.id_cupom " +
                                                    "and x.id_lanctovenda = a.id_lancto " +
                                                    "and x.cd_empresa = '" + p.Cd_empresa.Trim() + "' " +
                                                    "and x.id_cupom = " + p.ID_NFCe.Value.ToString() + " " +
                                                    "and x.id_lancto = " + p.Id_lancto.Value.ToString() + ")"
                                    }
                                }, 0, string.Empty, string.Empty);
                                if (lVComp.Count > 0)
                                {
                                    p.NR_Bico       = lVComp[0].Id_bicostr;
                                    p.EncerranteFin = lVComp[0].Encerrantebico;
                                }
                            });
                            Rel.DTS_Relatorio = bsItens;
                        }
                        if (rNFCe.Id_contingencia.HasValue)
                        {
                            if (Rel.Parametros_Relatorio.ContainsKey("ST_VIAEMPRESA"))
                            {
                                Rel.Parametros_Relatorio["ST_VIAEMPRESA"] = "S";
                            }
                            else
                            {
                                Rel.Parametros_Relatorio.Add("ST_VIAEMPRESA", "S");
                            }
                        }

                        //Verificar se existe Impressora padrão para o PDV
                        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 = 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;
                                    }
                                }
                            }
                        }
                        //Verificar se cliente possui email
                        obj = new CamadaDados.Financeiro.Cadastros.TCD_CadClifor().BuscarEscalar(
                            new Utils.TpBusca[] { new Utils.TpBusca {
                                                      vNM_Campo = "a.cd_clifor", vOperador = "=", vVL_Busca = "'" + rNFCe.Cd_clifor.Trim() + "'"
                                                  } }, "a.email");
                        //Imprimir
                        if (!string.IsNullOrEmpty(print) || obj != null)
                        {
                            Rel.ImprimiGraficoReduzida(print,
                                                       !string.IsNullOrEmpty(print),
                                                       false,
                                                       obj == null ? null : string.IsNullOrEmpty(obj.ToString()) ? null : new List <string> {
                                obj.ToString()
                            },
                                                       "NFC-e " + rNFCe.Nm_empresa.Trim(),
                                                       "Segue em anexo arquivo da NFC-e no formato .PDF",
                                                       1);
                            if (rNFCe.Id_contingencia.HasValue && rNFCe.rCfgNFCe.Tp_ambiente_nfce.Equals(1) && !string.IsNullOrEmpty(print))
                            {
                                Rel.ImprimiGraficoReduzida(print,
                                                           true,
                                                           false,
                                                           null,
                                                           string.Empty,
                                                           string.Empty,
                                                           1);
                            }
                        }
                    }
                    catch { }
                }
                else
                {
                    MessageBox.Show("Lote Processado com Sucesso.\r\nNFCe não foi aceita pela receita.\r\n" +
                                    "Verifique o erro na tela de controle de NFCe.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            else
            {
                MessageBox.Show("Erro ao processar Lote NFCe.\r\n" +
                                "Verifique o erro na tela de controle de NFCe.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }