Example #1
0
        public static DataSet ListarProdutos(UsuarioResumido u, Int16 CodPrcTab, Int16 CodPrzTab)
        {
            ClasseBanco conn = new ClasseBanco();

            StringBuilder strSql = new StringBuilder();
            conn.AbrirBanco();

            strSql.Length = 0;

            //BUSCAR PRECO DO PRODUTO NA TABELA PADRAO
            strSql.Append(" SELECT S.CodServMerc AS Codigo, S.DesServMerc as Nome, S.QtdEmb, S.PercDesc as percentDesconto, ISNULL(T.PRECO,0) AS Preco, S.Saldo, S.Comissao, S.CaminhoImagem ");
            strSql.Append(" FROM ");
            strSql.Append(" SERVMERC S INNER JOIN TABPRECO T ON S.CODSERVMERC = T.CODSERVMERC ");
            strSql.Append(" LEFT JOIN REGRAS_PRODUTO R ON S.CODSERVMERC = R.CODPRO ");
            strSql.Append(" WHERE ISNULL(R.REGRA1,0)=0 AND CODEMP = " + u.CodEmp + " AND S.ATIVO = 'S'");

            if (!CodPrcTab.Equals(0) && !CodPrzTab.Equals(0))
            {
                strSql.Append(" AND CodTipPrc = " + CodPrcTab + " AND CodTipPrz = " + CodPrzTab + "");
            }

            strSql.Append(" ORDER BY S.DESSERVMERC ");

            var r = conn.retornaQueryDataSet(strSql.ToString());

            return r;

        }
Example #2
0
    protected bool ValidarExistenciaCnpj(string cgc_cpf)
    {
        ClasseBanco cs = new ClasseBanco();

        cs.AbrirBanco();

        var temp = Funcoes.RetiraCaracteres(cgc_cpf);

        var r = cs.Query("SELECT 1 FROM CLIENTE WHERE CGC_CPF LIKE '%" + temp + "%'");

        if (r.Read())
        {
            return false;
        }
        r.Close();
        return true;

    }
Example #3
0
    protected void dplClientes_SelectedIndexChanged(object sender, EventArgs e)
    {

        DataClassesDataContext dcdc = new DataClassesDataContext();
        pr = (ParametroResumido)Session["Parametros"];
        ClasseBanco csBanco = new ClasseBanco();

        csBanco.AbrirBanco();

        csCliente.DadosCliente(Convert.ToInt32(dplClientes.SelectedValue));
        
        //Telefone e Email - 50732
        lbDados.Text = csCliente.EndCli + " - N.: " + csCliente.Numero + " - " + csCliente.CidCli + " - " + csCliente.EstCli + " - CNPJ : " + csCliente.CGC_CPF + " - Telefone : " + csCliente.TelCli + " - Email : " + csCliente.Email;


        LB_Total.Text = "";
        lbLimite.Text = "";
        lbDebitos.Text = "";
        lbSaldo.Text = "";

        var strSql = " SELECT ISNULL(SUM(VlrDoc),0) AS Valor " +
                         " FROM TITRECEB " +
                         " WHERE CODCLI = " + Convert.ToInt32(dplClientes.SelectedValue) + " AND TIPO = 'R' AND STATUS <> 'B' ";
        
        decimal saldo = 0;
        
        var rSaldo = csBanco.Query(strSql);
        
        if (rSaldo.Read())
        {
            saldo = rSaldo[0].ToString() == null ? 0 : Convert.ToDecimal(rSaldo[0].ToString());
        }
        rSaldo.Close();

        strSql = " SELECT NumDoc, NumPar, Serie, Status, VlrDoc, Saldo = (VlrDoc - VlrPago + AcrFin - (Desc1 + Desc2)), DtaVen, DtaEmi, QtdPar, Obs, Datediff(d,DtaVen,GETDATE()) AS atraso " +
                         " FROM TITRECEB " +
                         " WHERE CODCLI = " + Convert.ToInt32(dplClientes.SelectedValue) + " AND TIPO = 'R' AND STATUS <> 'B' ORDER BY DtaVen";

        var dados = csBanco.retornaQueryDataSet(strSql);

        if (dados.Tables[0].Rows.Count > 0)
        {
            //nothing...
        }
        else
        {
            PanelVarios.Visible = false ;
            PanelUnico.Visible = true;
            lbSaldo.Text = "Nenhum Registro Encontrado";
        }

        PanelVarios.Visible = true;
        PanelUnico.Visible = false;
        LB_Total.Text = String.Format("{0:" + Funcoes.Decimais(pr) + "}", saldo);

        var r = csBanco.Query("SELECT LimCred, VlrDeb FROM FINANCLI WHERE CodCli = " + Convert.ToInt32(dplClientes.SelectedValue));

        if (r.Read())
        {

            var cLimite = r[0].ToString() == "" ? "0" : r[0].ToString();
            var cDebitos = r[1].ToString() == "" ? "0" : r[1].ToString(); ;
            var cSaldo = Convert.ToString((Convert.ToDecimal(cLimite) - Convert.ToDecimal(cDebitos)));

            
            lbLimite.Text  = String.Format("{0:" + Funcoes.Decimais(pr) + "}", cLimite);
            lbDebitos.Text = String.Format("{0:" + Funcoes.Decimais(pr) + "}", cDebitos);
            lbSaldo.Text   = String.Format("{0:" + Funcoes.Decimais(pr) + "}", cSaldo);
        }
        r.Close();

        GridViewTitulos.DataSource = dados;        
        GridViewTitulos.DataBind();
        
    }
Example #4
0
        public string BloqueioFinancerio(
            int Cliente,
            Int32 Pedido,
            int FormaPagto,
            int PrazoPagto,
            int Empresa,
            string ValorPedido,
            string DataInadimplente,
            int BloquearDebitos,
            decimal MargemMinimaPedido,
            decimal MargemLucro)
        {

            ClasseBanco conn = new ClasseBanco();

            /*
             * procedure SP_BloqueioPedidos 
             * parametros :             
                Cliente				AS INT,
                Pedido				AS INT,
                FormaPagto			AS INT,
                PrazoPagto			AS INT,
                Empresa				AS INT,
                ValorPedido			AS MONEY,
                DataInadimplente	AS CHAR,
                BloquearDebitos		AS INT,
                MargemMinimaPedido	AS MONEY,
                MargemLucro			AS MONEY
            */


            SqlCommand cmd = new SqlCommand("SP_BloqueioPedidos", conn.AbrirBanco());
            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.AddWithValue("@iCliente", Cliente);
            cmd.Parameters["@iCliente"].Value = Cliente;

            cmd.Parameters.AddWithValue("@iPedido", Pedido);
            cmd.Parameters["@iPedido"].Value = Pedido;

            cmd.Parameters.AddWithValue("@iFormaPagto", FormaPagto);
            cmd.Parameters["@iFormaPagto"].Value = FormaPagto;

            cmd.Parameters.AddWithValue("@iPrazoPagto", PrazoPagto);
            cmd.Parameters["@iPrazoPagto"].Value = PrazoPagto;

            cmd.Parameters.AddWithValue("@iEmpresa", Empresa);
            cmd.Parameters["@iEmpresa"].Value = Empresa;

            cmd.Parameters.AddWithValue("@cValorPedido", ValorPedido);
            //SQL SERVER 2008
            //cmd.Parameters["@cValorPedido"].Value = (ValorPedido); //retirado Convert.ToDecimal() - 45834

            //SQL SERVER 2000
            cmd.Parameters["@cValorPedido"].Value = Convert.ToDecimal(ValorPedido); //retirado Convert.ToDecimal() - 45834

            cmd.Parameters.AddWithValue("@dDataInadimplente", DataInadimplente);
            cmd.Parameters["@dDataInadimplente"].Value = DataInadimplente;

            cmd.Parameters.AddWithValue("@bBloquearDebitos", BloquearDebitos);
            cmd.Parameters["@bBloquearDebitos"].Value = BloquearDebitos;

            cmd.Parameters.AddWithValue("@cMargemMinimaPedido", MargemMinimaPedido);
            cmd.Parameters["@cMargemMinimaPedido"].Value = MargemMinimaPedido;

            cmd.Parameters.AddWithValue("@cMargemLucro", MargemLucro);
            cmd.Parameters["@cMargemLucro"].Value = MargemLucro;


            SqlParameter retornoSP = new SqlParameter("retorno", SqlDbType.Int);
            retornoSP.Direction = ParameterDirection.ReturnValue;
            cmd.Parameters.Add(retornoSP);

            cmd.ExecuteNonQuery();

            var r = Convert.ToInt32(retornoSP.Value);


            switch (r)
            {

                case 1:

                    return "Pedido Bloqueado por Bloqueio do Cliente no Financeiro. O Pedido será gravado, mas não será Faturado.";


                case 2:

                    return "Pedido Bloqueado por Inadimplencia. O Pedido será gravado, mas não será Faturado.";


                case 3:
                    return "Cliente com Limite de Crédito Excedido. O Pedido será gravado, mas não será Faturado.";


                case 4:
                    return "Cliente Bloqueado por Débitos. O Pedido será gravado, mas não será Faturado.";


                case 5:
                    return "Valor mínimo para a Condição de Pagamento não atingido. O Pedido será gravado, mas não será Faturado.";


                case 6:
                    return "Pedido Bloqueado por Margem Mínima não atingida. O Pedido será gravado, mas não será Faturado.";


                case 7:
                    return "OK";


                default:

                    return "OK";

            }


        }
Example #5
0
        public static void GeraXml(UsuarioResumido u, ParametroResumido pr )
        {
                        
            ClasseBanco conn    = new ClasseBanco();
            ClasseBanco conn2   = new ClasseBanco();
            ClasseBanco conn3 = new ClasseBanco();
            StringBuilder sCmd  = new StringBuilder();

            conn.AbrirBanco();
            conn2.AbrirBanco();
            conn3.AbrirBanco();

            String vrGeraParcelas   = "";
            String vrFormaPagto     = "";
            var sCamposCondicao     = "";
            var sDescricaoCombo     = "";
            StringBuilder strSql    = new StringBuilder();

            sCmd.Length     = 0;
            strSql.Length   = 0;

            /*
             * "Mercadoria"                                         = 0
               "Mercadoria + Unidade"                               = 1
               "Mercadoria + Preço"                                 = 2
               "Mercadoria + Qtd. Emb/Cx. Emb"                      = 3
               "Mercadoria + Qtd. Emb/Cx. Emb + Unidade + Preço"    = 4
             */
            try
            {

                #region CondMov
                //53190
                strSql.Length = 0;

                String sCaminhodoArquivo = System.Web.HttpContext.Current.Server.MapPath(@"~\xml\condmov.xml");

                strSql.Append(" SELECT CODTIPMOV, CODFRMPGT, CODTIPPRZ ");
                strSql.Append(" FROM CONDMOV ");
                
                var r = conn.retornaQueryDataSet(strSql.ToString());

                //Criando o arquivo XML
                using (StreamWriter xmlDoc = new StreamWriter(sCaminhodoArquivo))
                {
                    //Escrevendo no documento
                    r.WriteXml(xmlDoc);
                }

                r.Dispose();

                #endregion      

                #region Produtos

                strSql.Length = 0;

                sCaminhodoArquivo = System.Web.HttpContext.Current.Server.MapPath(@"~\xml\produtos.xml");

                //strSql.Append(" SELECT replicate(0, 9 - Len(CAST(S.CODSERVMERC AS VARCHAR))) + CAST(S.CODSERVMERC AS VARCHAR) as CODSERVMERC,  ");
                //strSql.Append(" (rtrim(S.DesServMerc) + ' ' + rtrim(upper(Isnull(CodSec_ServMerc,''))) + ' - Qt. Emb.' + convert(varchar,Isnull(convert(int,S.QtdEmb),0))) + ' / Cx. Emb.' + convert(varchar,Isnull(convert(int,S.QtdCAIXA),0)) AS DESSERVMERC, ");
                //strSql.Append(" ISNULL(T.PRECO,0) AS Preco,  ");
                //strSql.Append(" (ISNULL(SALDO,0) - ISNULL(QTDRES,0) ) AS SALDO, ");
                //strSql.Append(" UNIDADE, ISNULL(M_UNIDADE,'') AS M_UNIDADE, ISNULL(QTDCAIXA,0) AS QTDCAIXA, ");
                //strSql.Append(" CASE WHEN ISNULL(DESCCLIENTE,0) > 0 THEN DESCCLIENTE ELSE percdesc END AS PERCDESC ");
                //strSql.Append(" FROM  SERVMERC S INNER JOIN TABPRECO T ON S.CODSERVMERC = T.CODSERVMERC  LEFT JOIN REGRAS_PRODUTO R ON S.CODSERVMERC = R.CODPRO  ");
                //strSql.Append(" WHERE ISNULL(R.REGRA1,0) = 0 AND T.CODEMP = " + u.CodEmp + " ");

                //if (pr.CodTipPrc != 0 && pr.CodTipPrz != 0)
                //{
                //    strSql.Append(" AND T.CodTipPrc = " + pr.CodTipPrc + " AND T.CodTipPrz = " + pr.CodTipPrz + " ");
                //}
                //strSql.Append(" AND S.ATIVO = 'S' ORDER BY DESSERVMERC ");


                strSql.Append(" SELECT replicate(0, 9 - Len(CAST(S.CODSERVMERC AS VARCHAR))) + CAST(S.CODSERVMERC AS VARCHAR) as CODSERVMERC,  ");

                if (pr.LayoutCombo == 0 || pr.LayoutCombo == 1 || pr.LayoutCombo == 2)
                {
                    strSql.Append(" rtrim(S.DesServMerc) AS DESSERVMERC, ");
                }
                else if (pr.LayoutCombo == 3 || pr.LayoutCombo == 4)
                {
                    strSql.Append(" (rtrim(S.DesServMerc) + ' ' + rtrim(upper(Isnull(CodSec_ServMerc,''))) + ' - Qt. Emb.' + convert(varchar,Isnull(convert(int,S.QtdEmb),0))) + ' / Cx. Emb.' + convert(varchar,Isnull(convert(int,S.QtdCAIXA),0)) AS DESSERVMERC, ");
                }
                
                strSql.Append(" ISNULL(S.PRECOBASE,0) AS Preco,  ");
                strSql.Append(" (ISNULL(SALDO,0) - ISNULL(QTDRES,0) ) AS SALDO, ");
                strSql.Append(" UNIDADE, ISNULL(M_UNIDADE,'') AS M_UNIDADE, ISNULL(QTDCAIXA,0) AS QTDCAIXA, ");
                strSql.Append(" CASE WHEN ISNULL(DESCCLIENTE,0) > 0 THEN DESCCLIENTE ELSE ISNULL(percdesc,0) END AS PERCDESC, S.CODEMP_SERVMERC, ISNULL(S.CodSec_ServMerc,'') AS CodSec_ServMerc");
                strSql.Append(" FROM  SERVMERC S LEFT JOIN REGRAS_PRODUTO R ON S.CODSERVMERC = R.CODPRO  ");
                strSql.Append(" WHERE ISNULL(R.REGRA1,0) = 0 ");
                strSql.Append(" AND S.ATIVO = 'S' ORDER BY DESSERVMERC ");

                r = conn.retornaQueryDataSet(strSql.ToString());

                //Criando o arquivo XML
                using (StreamWriter xmlDoc = new StreamWriter(sCaminhodoArquivo))
                {
                    //Escrevendo no documento
                    r.WriteXml(xmlDoc);
                }

                r.Dispose();
                #endregion

                #region Parametros

                strSql.Length = 0;

                sCaminhodoArquivo = System.Web.HttpContext.Current.Server.MapPath(@"~\xml\parametros.xml");

                strSql.Append(" SELECT CodEmp, CondicaoTabLivreWeb, ExibirRazaoSocial, PARA_UNIDADEVENDA, IPExterno, IPInterno, HostFtp, FtpUsuario, FtpSenha, PastaServidor, LayoutCombo, MostraTodosProdutos ");
                strSql.Append(" FROM PARAMETROS ");
                /*51849 - Enviar dados de todas as empresas*/
                //strSql.Append(" WHERE 1=1 AND  ");
                //strSql.Append(" CODEMP = " + u.CodEmp);

                r = conn.retornaQueryDataSet(strSql.ToString());

                //Criando o arquivo XML
                using (StreamWriter xmlDoc = new StreamWriter(sCaminhodoArquivo))
                {
                    //Escrevendo no documento
                    r.WriteXml(xmlDoc);
                }

                r.Dispose();

                #endregion                

                #region Condições de Pagamento
                //Cria temporaria para as condicoes
                sCmd.Append("if exists (select * From dbo.sysobjects where id = object_id(N'[dbo].[TMP_CONDPAGTO]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)");
                sCmd.Append("   DROP TABLE dbo.TMP_CONDPAGTO");
                conn.ExecutarComando(sCmd.ToString());

                sCmd.Length = 0; //Reset variavel

                sCmd.Append(" CREATE TABLE dbo.TMP_CONDPAGTO ( ");
                sCmd.Append(" CODEMP         int          NOT NULL ,"); /*51849*/
                sCmd.Append(" CODFRMPGT      int          NOT NULL ,");
                sCmd.Append(" DESFRMPGT      varchar(100) NOT NULL ,");
                sCmd.Append(" CODTIPPRZ      int          NOT NULL ,");
                sCmd.Append(" PRAZOTAB       int              NULL , ");
                sCmd.Append(" DESTIPPRZ      varchar(100) NOT NULL ) ");

                conn.ExecutarComando(sCmd.ToString());

                sCmd.Length = 0; //Reset variavel

                strSql.Length = 0;
                //Condicao de Pagamento
                /*51849 - Acrescentado CODEMP*/
                strSql.Append(" SELECT DISTINCT FORMAPAGTO.CodFrmPgt, FORMAPAGTO.DesFrmPgt, TIPOPRAZO.CodTipPrz, TIPOPRAZO.DesTipPrz, FORMAPAGTO.GeraParcelas, ITCONPAGTO.PRAZOTAB, CODEMP ");
                strSql.Append(" FROM ITCONPAGTO, FORMAPAGTO, TIPOPRAZO ");
                strSql.Append(" WHERE ");
                strSql.Append(" ITCONPAGTO.CodFrmPgt = FORMAPAGTO.CodFrmPgt  AND ");
                strSql.Append(" ITCONPAGTO.CodTipPrz = TIPOPRAZO.CodTipPrz  AND ");
                //strSql.Append(" Codemp = " + u.CodEmp + " AND "); /*51849*/
                strSql.Append(" FILTROVENDA = 1 ");
                strSql.Append(" AND ITCONPAGTO.PALM = 1 ");
                //strSql.Append(" ORDER BY FORMAPAGTO.CodFrmPgt DESC, TIPOPRAZO.CodTipPrz DESC"); //52688
                strSql.Append(" ORDER BY FORMAPAGTO.CodFrmPgt, TIPOPRAZO.CodTipPrz");
                var rsCondicao = conn.Query(strSql.ToString());

                while (rsCondicao.Read())
                {
                    //Verificacao para nao ficar repetindo as parcelas
                    if (vrGeraParcelas == "S" && rsCondicao[0].ToString() == vrFormaPagto)
                    {
                        vrGeraParcelas = rsCondicao[4].ToString();
                    }
                    else
                    {
                        sCamposCondicao = (rsCondicao[0].ToString() + "|" + rsCondicao[2].ToString().Trim()); ;
                        sDescricaoCombo = (rsCondicao[0] + " - " + rsCondicao[1] + " ==> " + rsCondicao[2] + " - " + rsCondicao[3]);

                        vrFormaPagto = rsCondicao[0].ToString();
                        vrGeraParcelas = rsCondicao[4].ToString();

                        /*51849 - Acrescentado CODEMP*/
                        sCmd.Append(" INSERT INTO TMP_CONDPAGTO (CODFRMPGT, DESFRMPGT, CODTIPPRZ, DESTIPPRZ, PRAZOTAB, CODEMP) ");
                        sCmd.Append(" VALUES ( " + rsCondicao[0].ToString() + ", ");
                        sCmd.Append(" '" + rsCondicao[1].ToString().Trim() + "', ");
                        sCmd.Append(" " + rsCondicao[2].ToString() + ", ");
                        sCmd.Append(" '" + rsCondicao[3].ToString().Trim() + "', " + rsCondicao[5].ToString() + ", " + rsCondicao[6].ToString() + " ); ");

                    }
                }
                rsCondicao.Dispose();

                if (sCmd.ToString() == "")
                {
                    throw new Exception("Não há condições de pagamento parametrizadas para uso na WEB/PALM");
                }
                else
                {
                    conn.ExecutarComando(sCmd.ToString()); //Grava na temporaria 
                }

                r = conn.retornaQueryDataSet("SELECT * FROM TMP_CONDPAGTO ORDER BY CODFRMPGT");

                sCaminhodoArquivo = System.Web.HttpContext.Current.Server.MapPath(@"~\xml\condpagto.xml");

                //Criando o arquivo XML
                using (StreamWriter xmlDoc = new StreamWriter(sCaminhodoArquivo))
                {
                    r.WriteXml(xmlDoc); //Escrevendo no documento
                }

                r.Dispose();

                #endregion

                #region Clientes e Condições de Pagamento do Cliente

                var rsVendedores = conn2.Query("SELECT CODUSU, CODVEND FROM VENDEDOR WHERE STATUS = 'A' AND (CodUsu IS NOT NULL AND CodUsu <> 0)");

                string sCampo;

                //51516
                if (pr.ExibirRazaoSocial == 1)
                {
                    sCampo = "C.RAZSOC";
                }
                else
                {
                    sCampo = "C.NOMFAN";
                }

                while (rsVendedores.Read())
                {
                    //Gera Clientes por vendedor
                    //o arquivo será por exemplo 514clientes.xml (Para o vendedor 514)
                    
                    /*51849 - Acrescentado CODEMP*/
                    sCmd.Length = 0;
                    sCmd.Append(" SELECT " + sCampo + " AS RAZSOC, C.CODCLI, RTRIM(ISNULL(C.STATUSCLIENTE,'LB')) AS STATUSCLIENTE, ESTCLI AS UF, C.CGC_CPF AS CNPJ, ISNULL(CLIE_TABPRECOPADRAO,0) AS TAB_PADRAO, V.CODEMP ");
                    sCmd.Append(" , F.LimCred, F.VlrDeb "); //Limite de crédito (se houver)
                    sCmd.Append(" FROM CLIENTE C ");
                    sCmd.Append(" INNER JOIN VENDCLI V on C.CodCli = V.CodCli");
                    sCmd.Append(" INNER JOIN VENDEDOR VE ON VE.CodVend = V.CodVen");
                    sCmd.Append(" LEFT JOIN FINANCLI F ON F.CODCLI = C.CODCLI");
                    sCmd.Append(" WHERE C.Ativo != 'N'");
                    sCmd.Append(" AND c.Prospect != 'S'");
                    sCmd.Append(" AND VE.Status = 'A'");
                    sCmd.Append(" AND VE.CodUsu = " + rsVendedores["CODUSU"] + "");
                    //sCmd.Append(" AND V.CodEmp = " + u.CodEmp + ""); /*51849 - Enviar dados de todas as empresas*/
                    sCmd.Append(" ORDER BY " + sCampo + "");

                    r = conn.retornaQueryDataSet(sCmd.ToString());

                    sCaminhodoArquivo = System.Web.HttpContext.Current.Server.MapPath(@"~\xml\" + rsVendedores["CODUSU"] + "clientes.xml");

                    //Criando o arquivo XML
                    using (StreamWriter xmlDoc = new StreamWriter(sCaminhodoArquivo))
                    {
                        r.WriteXml(xmlDoc);
                    }
                    r.Dispose();

                    //CONDICOES DE PAGAMENTO DO CLIENTE
                    /*51849 - Acrescentado CODEMP*/
                    strSql.Length = 0;
                    strSql.Append("SELECT DISTINCT CONDCLI.CodCli, CONDCLI.CodFrmPgt AS CODTIPPRC, CONDCLI.CodTipPrz, VENDCLI.CODEMP ");
                    strSql.Append("FROM CONDCLI ");
                    strSql.Append("INNER JOIN CLIENTE ON CONDCLI.CodCli = CLIENTE.CodCli ");
                    strSql.Append("INNER JOIN VENDCLI ON VENDCLI.CodCli = CONDCLI.CODCLI ");
                    strSql.Append("WHERE CLIENTE.Ativo = 'S' AND VENDCLI.CODVEN=" + rsVendedores["CODVEND"] + "");

                    sCaminhodoArquivo = System.Web.HttpContext.Current.Server.MapPath(@"~\xml\" + rsVendedores["CODUSU"] + "condcli.xml");
                    r = conn.retornaQueryDataSet(strSql.ToString());

                    //Criando o arquivo XML
                    using (StreamWriter xmlDoc = new StreamWriter(sCaminhodoArquivo))
                    {
                        r.WriteXml(xmlDoc);
                    }
                    r.Dispose();


                    //Enviar titulos do cliente do vendedor                    
                    //TITULOS DO CLIENTE                    
                    sCmd.Length = 0;
                    sCmd.Append(" SELECT T.CodEmp, T.CodCli, T.NumDoc, T.NumPar, T.Serie, T.Status, T.VlrDoc, Saldo = (T.VlrDoc - T.VlrPago + T.AcrFin - (T.Desc1 + T.Desc2)), CONVERT(char,T.DtaVen,103) as DtaVen, CONVERT(char,T.DtaEmi,103) as DtaEmi, T.QtdPar, T.Obs, Datediff(d,T.DtaVen,GETDATE()) AS atraso ");                    
                    sCmd.Append(" FROM TITRECEB T ");
                    sCmd.Append(" INNER JOIN CLIENTE C on C.CodCli = T.CodCli");
                    sCmd.Append(" INNER JOIN VENDCLI V on C.CodCli = V.CodCli");
                    sCmd.Append(" INNER JOIN VENDEDOR VE ON VE.CodVend = V.CodVen");
                    sCmd.Append(" WHERE C.Ativo != 'N'");
                    sCmd.Append(" AND C.Prospect != 'S'");
                    sCmd.Append(" AND VE.Status = 'A'");
                    sCmd.Append(" AND VE.CodUsu = " + rsVendedores["CODUSU"] + "");
                    sCmd.Append(" AND T.TIPO = 'R' AND T.STATUS <> 'B'");

                    sCaminhodoArquivo = System.Web.HttpContext.Current.Server.MapPath(@"~\xml\" + rsVendedores["CODUSU"] + "titulos.xml");
                    r = conn.retornaQueryDataSet(sCmd.ToString());

                    //Criando o arquivo XML
                    using (StreamWriter xmlDoc = new StreamWriter(sCaminhodoArquivo))
                    {
                        r.WriteXml(xmlDoc);
                    }
                    r.Dispose();
                    
                }
                rsVendedores.Close();
                #endregion

                #region Tabelas de Preço
                rsVendedores = conn2.Query("SELECT CODUSU, CODVEND FROM VENDEDOR WHERE STATUS = 'A' AND (CodUsu IS NOT NULL AND CodUsu <> 0)");

                while (rsVendedores.Read())
                {
                    /*Verifica se há tabelas de preço especifica para o vendedor*/
                    var temp = conn.retornaQueryDataSet("SELECT 1 FROM TABVENDEDOR WHERE IDTABVENDEDOR = " + rsVendedores["CODVEND"] + "");

                    if (temp.Tables[0].Rows.Count <= 0) //Se não existir, gera tabela de preço padrão
                    {                        

                        /*51489 - Acrescentado tratamento para levar todas empresas. Gerar arquivos separados por questões de performance*/
                        var rsEmpresas = conn3.Query("SELECT CODEMP FROM EMPRESA ");

                        while (rsEmpresas.Read())
                        {
                            sCmd.Length = 0;
                            sCmd.Append("  SELECT DISTINCT " + rsVendedores["CODUSU"] + " AS CODVEND, 0 AS IDTABVENDEDOR, P.CODTIPPRC, P.CODTIPPRZ, rtrim(TP.DESTIPPRC) AS DESTIPPRC, rtrim(TPZ.DESTIPPRZ) AS DESTIPPRZ, replicate(0, 9 - Len(CAST(TABPRECO.CODSERVMERC AS VARCHAR))) + CAST(TABPRECO.CODSERVMERC AS VARCHAR) as CODSERVMERC, TABPRECO.PRECO, ISNULL(TABPRECO.PercDescMax,0) AS PERCMAX, TABPRECO.CODEMP ");
                            sCmd.Append("  FROM PARAMETROS P ");
                            sCmd.Append("  INNER JOIN TIPO_PRECO TP ON TP.CodTipPrc = P.CODTIPPRC ");
                            sCmd.Append("  INNER JOIN TIPOPRAZO TPZ ON TPZ.CodTipPrz = P.CodTipPrz ");
                            sCmd.Append("  INNER JOIN TABPRECO ON TABPRECO.CodTipPrc = P.CODTIPPRC AND TABPRECO.CodTipPrz = P.CodTipPrz AND TABPRECO.CODEMP = P.CODEMP"); /*51849 - Acrescentado CODEMP*/
                            sCmd.Append("  INNER JOIN SERVMERC S ON S.CODSERVMERC = TABPRECO.CODSERVMERC ");
                            sCmd.Append("  WHERE S.ATIVO = 'S' AND TABPRECO.PRECO IS NOT NULL AND TABPRECO.CODEMP = " + rsEmpresas["CODEMP"].ToString() + ""); 

                            temp = conn.retornaQueryDataSet(sCmd.ToString());

                            sCaminhodoArquivo = System.Web.HttpContext.Current.Server.MapPath(@"~\xml\" + rsVendedores["CODUSU"] + "_" + rsEmpresas["CODEMP"].ToString() + "_tabpreco.xml");

                            //Criando o arquivo XML
                            using (StreamWriter xmlDoc = new StreamWriter(sCaminhodoArquivo))
                            {
                                temp.WriteXml(xmlDoc);
                            }
                            temp.Dispose();
                        }
                        rsEmpresas.Close();
                        rsEmpresas.Dispose();
                        
                    }
                    else //caso contrário, leva as tabelas especificas...
                    {                        
                        /*51489 - Acrescentado tratamento para levar todas empresas. Gerar arquivos separados por questões de performance*/
                        var rsEmpresas = conn3.Query("SELECT CODEMP FROM EMPRESA ");

                        while (rsEmpresas.Read())
                        {
                            sCmd.Length = 0;

                            /*Tabela de Preco*/
                            sCmd.Append(" SELECT DISTINCT " + rsVendedores["CODUSU"] + " AS CODVEND, TV.IDTABVENDEDOR, TV.IDTABELA AS CODTIPPRC, TV.CODTIPPRZ, rtrim(TP.DESTIPPRC) AS DESTIPPRC , rtrim(TPZ.DESTIPPRZ) AS DESTIPPRZ, replicate(0, 9 - Len(CAST(TABPRECO.CODSERVMERC AS VARCHAR))) + CAST(TABPRECO.CODSERVMERC AS VARCHAR) as CODSERVMERC, TABPRECO.PRECO, ISNULL(TABPRECO.PercDescMax,0) AS PERCMAX, TABPRECO.CODEMP  ");
                            sCmd.Append("  FROM TABVENDEDOR TV ");
                            sCmd.Append("  INNER JOIN TIPO_PRECO TP ON TP.CodTipPrc = TV.IDTABELA ");
                            sCmd.Append("  INNER JOIN TIPOPRAZO TPZ ON TPZ.CodTipPrz = TV.CodTipPrz ");
                            sCmd.Append("  INNER JOIN TABPRECO ON TABPRECO.CodTipPrc = TV.IDTABELA AND TABPRECO.CodTipPrz = TV.CodTipPrz");
                            sCmd.Append("  INNER JOIN SERVMERC S ON S.CODSERVMERC = TABPRECO.CODSERVMERC ");
                            sCmd.Append("  WHERE S.ATIVO = 'S' AND TABPRECO.PRECO IS NOT NULL AND TV.IDTABVENDEDOR = " + rsVendedores["CODVEND"] + " AND TABPRECO.CODEMP = " + rsEmpresas["CODEMP"].ToString() + " ");  /*51849 - Retirado filtro CODEMP, enviar dados de todas empresas*/

                            temp = conn.retornaQueryDataSet(sCmd.ToString());

                            sCaminhodoArquivo = System.Web.HttpContext.Current.Server.MapPath(@"~\xml\" + rsVendedores["CODUSU"] + "_" + rsEmpresas["CODEMP"] + "_tabpreco.xml");

                            //Criando o arquivo XML
                            using (StreamWriter xmlDoc = new StreamWriter(sCaminhodoArquivo))
                            {
                                temp.WriteXml(xmlDoc);
                            }
                            temp.Dispose();
                        }
                        rsEmpresas.Close();
                        rsEmpresas.Dispose();
                        
                    }
                }

                rsVendedores.Close();
                #endregion

                #region Tipos de Movimentacao

                //string sUFEmpresa = "";

                /*51849 - Retirado, pois sera tratado na query abaixo */
                /*
                var rsEmpresa = conn.Query("SELECT Estado FROM EMPRESA WHERE CODEMP = " + u.CodEmp);
                if (rsEmpresa.Read())
                {
                    sUFEmpresa = rsEmpresa[0].ToString();
                }
                rsEmpresa.Close();
                */

                //Cria temporaria para as condicoes
                sCmd.Length = 0; //Reset variavel
                sCmd.Append("if exists (select * From dbo.sysobjects where id = object_id(N'[dbo].[TMP_MOVIMENTACOES_WEB]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)");
                sCmd.Append("   DROP TABLE dbo.TMP_MOVIMENTACOES_WEB");
                conn.ExecutarComando(sCmd.ToString());

                sCmd.Length = 0; //Reset variavel
                sCmd.Append(" CREATE TABLE dbo.TMP_MOVIMENTACOES_WEB ( ");
                sCmd.Append(" CODEMP        int          NOT NULL ,");
                sCmd.Append(" CODIGO        int          NOT NULL ,");
                sCmd.Append(" DESCRICAO     varchar(255) NULL , ");
                sCmd.Append(" TIPO          char(1)      NULL , ");
                sCmd.Append(" GERA_VERBA    char(1)      NULL , ");                
                sCmd.Append(" UF_EMPRESA    varchar(2)   NULL ) ");
                conn.ExecutarComando(sCmd.ToString());

                sCmd.Length = 0;
                sCmd.Append(" SELECT P.CODEMP, ");
                sCmd.Append(" ISNULL(N1.GERAVERBA,'N') AS GERA_VERBA1, ");
                sCmd.Append(" ISNULL(N2.GERAVERBA,'N') AS GERA_VERBA2, ");
                sCmd.Append(" ISNULL(N3.GERAVERBA,'N') AS GERA_VERBA3, ");
                sCmd.Append(" ISNULL(N4.GERAVERBA,'N') AS GERA_VERBA4, ");
                sCmd.Append(" ISNULL(N5.GERAVERBA,'N') AS GERA_VERBA5, ");
                sCmd.Append(" ISNULL(N6.GERAVERBA,'N') AS GERA_VERBA6, ");
                sCmd.Append(" ISNULL(N7.GERAVERBA,'N') AS GERA_VERBA7, ");
                sCmd.Append(" ISNULL(N8.GERAVERBA,'N') AS GERA_VERBA8, ");
                sCmd.Append(" ISNULL(N9.GERAVERBA,'N') AS GERA_VERBA9, ");
                sCmd.Append(" ISNULL(N10.GERAVERBA,'N') AS GERA_VERBA10, ");
                sCmd.Append(" ISNULL(N11.GERAVERBA,'N') AS GERA_VERBA11, ");
                sCmd.Append(" ISNULL(N12.GERAVERBA,'N') AS GERA_VERBA12, ");
                sCmd.Append(" ISNULL(N13.GERAVERBA,'N') AS GERA_VERBA13, ");
                sCmd.Append(" ISNULL(N14.GERAVERBA,'N') AS GERA_VERBA14, ");
                sCmd.Append(" ISNULL(N15.GERAVERBA,'N') AS GERA_VERBA15, ");
                sCmd.Append(" ISNULL(N16.GERAVERBA,'N') AS GERA_VERBA16, ");
                sCmd.Append(" TipMovOrcPALM	AS COD1,	CASE ISNULL(N1.DESNATOPER_SUBST,'') WHEN '' THEN N1.DESNATOPE ELSE N1.DESNATOPER_SUBST END AS DESCRICAO1, 'D' AS TIPO1,   ");
                sCmd.Append(" TipMovPedPALM   AS COD2, CASE ISNULL(N2.DESNATOPER_SUBST,'') WHEN '' THEN N2.DESNATOPE ELSE N2.DESNATOPER_SUBST END  AS DESCRICAO2, 'D' AS TIPO2,  ");
                sCmd.Append(" TipMovBonificaPALM   AS COD3, CASE ISNULL(N3.DESNATOPER_SUBST,'') WHEN '' THEN N3.DESNATOPE ELSE N3.DESNATOPER_SUBST END  AS DESCRICAO3,'D' AS TIPO3,  ");
                sCmd.Append(" TipMovPropostaPALM   AS COD4, CASE ISNULL(N4.DESNATOPER_SUBST,'') WHEN '' THEN N4.DESNATOPE ELSE N4.DESNATOPER_SUBST END  AS DESCRICAO4,'D' AS TIPO4,  ");
                sCmd.Append(" TipMovTrocaPALM      AS COD5, CASE ISNULL(N5.DESNATOPER_SUBST,'') WHEN '' THEN N5.DESNATOPE ELSE N5.DESNATOPER_SUBST END  AS DESCRICAO5,'D' AS TIPO5,  ");
                sCmd.Append(" TipMovBonificaPALM2  AS COD6, CASE ISNULL(N6.DESNATOPER_SUBST,'') WHEN '' THEN N6.DESNATOPE ELSE N6.DESNATOPER_SUBST END  AS DESCRICAO6,'D' AS TIPO6,  ");
                sCmd.Append(" TipMovPropostaPALM2  AS COD7, CASE ISNULL(N7.DESNATOPER_SUBST,'') WHEN '' THEN N7.DESNATOPE ELSE N7.DESNATOPER_SUBST END  AS DESCRICAO7,'D' AS TIPO7,  ");
                sCmd.Append(" TipMovBonificaPALM3  AS COD8, CASE ISNULL(N8.DESNATOPER_SUBST,'') WHEN '' THEN N8.DESNATOPE ELSE N8.DESNATOPER_SUBST END  AS DESCRICAO8,'D' AS TIPO8,  ");
                sCmd.Append(" TipMovOrcPALMFE      AS COD9, CASE ISNULL(N9.DESNATOPER_SUBST,'') WHEN '' THEN N9.DESNATOPE ELSE N9.DESNATOPER_SUBST END  AS DESCRICAO9,'F' AS TIPO9,  ");
                sCmd.Append(" TipMovPedPALMFE      AS COD10, CASE ISNULL(N10.DESNATOPER_SUBST,'') WHEN '' THEN N10.DESNATOPE ELSE N10.DESNATOPER_SUBST END  AS DESCRICAO10,'F' AS TIPO10, ");
                sCmd.Append(" TipMovBonificaPALMFE AS COD11, CASE ISNULL(N11.DESNATOPER_SUBST,'') WHEN '' THEN N11.DESNATOPE ELSE N11.DESNATOPER_SUBST END  AS DESCRICAO11,'F' AS TIPO11,  ");
                sCmd.Append(" TipMovPropostaPALMFE AS COD12, CASE ISNULL(N12.DESNATOPER_SUBST,'') WHEN '' THEN N12.DESNATOPE ELSE N12.DESNATOPER_SUBST END  AS DESCRICAO12,'F' AS TIPO12,  ");
                sCmd.Append(" TipMovTrocaPALMFE    AS COD13, CASE ISNULL(N13.DESNATOPER_SUBST,'') WHEN '' THEN N13.DESNATOPE ELSE N13.DESNATOPER_SUBST END  AS DESCRICAO13,'F' AS TIPO13,  ");
                sCmd.Append(" TipMovBonificaPALMFE2 AS COD14 ,CASE ISNULL(N14.DESNATOPER_SUBST,'') WHEN '' THEN N14.DESNATOPE ELSE N14.DESNATOPER_SUBST END  AS DESCRICAO14,'F' AS TIPO14,  ");
                sCmd.Append(" TipMovPropostaPALMFE2 AS COD15 ,CASE ISNULL(N15.DESNATOPER_SUBST,'') WHEN '' THEN N15.DESNATOPE ELSE N15.DESNATOPER_SUBST END  AS DESCRICAO15,'F' AS TIPO15,  ");
                sCmd.Append(" TipMovBonificaPALMFE3 AS COD16 ,CASE ISNULL(N16.DESNATOPER_SUBST,'') WHEN '' THEN N16.DESNATOPE ELSE N16.DESNATOPER_SUBST END  AS DESCRICAO16, 'F' AS TIPO16, EMPRESA.Estado as UF_Empresa"); 
                sCmd.Append(" FROM  ");
                sCmd.Append(" PARAMETROS P INNER JOIN EMPRESA ON EMPRESA.CODEMP = P.CODEMP "); /*51849 - Acrescentado CODEMP*/
                sCmd.Append(" LEFT JOIN NATOPER N1 ON P.TipMovOrcPALM = N1.CODIGO  ");
                sCmd.Append(" LEFT JOIN NATOPER N2 ON P.TipMovPedPALM = N2.CODIGO  ");
                sCmd.Append(" LEFT JOIN NATOPER N3 ON P.TipMovBonificaPALM = N3.CODIGO ");
                sCmd.Append(" LEFT JOIN NATOPER N4 ON P.TipMovPropostaPALM = N4.CODIGO  ");
                sCmd.Append(" LEFT JOIN NATOPER N5 ON P.TipMovTrocaPALM = N5.CODIGO	   ");
                sCmd.Append(" LEFT JOIN NATOPER N6 ON P.TipMovBonificaPALM2 = N6.CODIGO  ");
                sCmd.Append(" LEFT JOIN NATOPER N7 ON P.TipMovPropostaPALM2 = N7.CODIGO  ");
                sCmd.Append(" LEFT JOIN NATOPER N8 ON P.TipMovBonificaPALM3 = N8.CODIGO  ");
                sCmd.Append(" LEFT JOIN NATOPER N9 ON P.TipMovOrcPALMFE = N9.CODIGO  ");
                sCmd.Append(" LEFT JOIN NATOPER N10 ON P.TipMovPedPALMFE = N10.CODIGO  ");
                sCmd.Append(" LEFT JOIN NATOPER N11 ON P.TipMovBonificaPALMFE = N11.CODIGO ");
                sCmd.Append(" LEFT JOIN NATOPER N12 ON P.TipMovPropostaPALMFE = N12.CODIGO  ");
                sCmd.Append(" LEFT JOIN NATOPER N13 ON P.TipMovTrocaPALMFE = N13.CODIGO  ");
                sCmd.Append(" LEFT JOIN NATOPER N14 ON P.TipMovBonificaPALMFE2 = N14.CODIGO  ");
                sCmd.Append(" LEFT JOIN NATOPER N15 ON P.TipMovPropostaPALMFE2 = N15.CODIGO  ");
                sCmd.Append(" LEFT JOIN NATOPER N16 ON P.TipMovBonificaPALMFE3 = N16.CODIGO  ");
                //sCmd.Append(" WHERE CodEmp=" + u.CodEmp + "");/*51849 - Retirado filtro CODEMP*/

                var rsMov = conn.Query(sCmd.ToString());

                while (rsMov.Read())
                {
                    for (int i = 1; i <= 16; i++)
                    {
                        if (rsMov["COD" + Convert.ToString(i).ToString()].ToString() != "0")
                        {
                            /*51849 - Acrescentado CODEMP e UF_EMPRESA*/
                            conn2.ExecutarComando(" INSERT INTO TMP_MOVIMENTACOES_WEB (CODEMP, CODIGO, DESCRICAO, TIPO, UF_EMPRESA, GERA_VERBA) VALUES (" + rsMov["CODEMP"] + ", " + rsMov["COD" + Convert.ToString(i).ToString()] + ", '" + rsMov["DESCRICAO" + Convert.ToString(i).ToString()] + "', '" + rsMov["TIPO" + Convert.ToString(i).ToString()] + "', '" + rsMov["UF_EMPRESA"].ToString() + "', '" + rsMov["GERA_VERBA" + Convert.ToString(i).ToString()] + "')");
                        }
                    }
                }
                rsMov.Close();
                rsMov.Dispose();

                /*51849 - Acrescentado CODEMP*/
                var dsTemp = conn.retornaQueryDataSet("SELECT CODEMP, CODIGO, DESCRICAO, TIPO, UF_EMPRESA, '" + pr.CodTipMov_Estadual.ToString() + "' AS PADRAO, GERA_VERBA FROM TMP_MOVIMENTACOES_WEB ORDER BY DESCRICAO");
                sCaminhodoArquivo = System.Web.HttpContext.Current.Server.MapPath(@"~\xml\movimentacoes.xml");

                //Criando o arquivo XML
                using (StreamWriter xmlDoc = new StreamWriter(sCaminhodoArquivo))
                {
                    dsTemp.WriteXml(xmlDoc);
                }
                dsTemp.Dispose();

                #endregion

                #region Vendedores

                /*51849 - Acrescentado CODEMP*/
                r = conn.retornaQueryDataSet("SELECT U.CODEMP, U.CODUSU, SENHA FROM VENDEDOR V INNER JOIN USUARIOS U ON V.CODUSU = U.CODUSU WHERE V.STATUS = 'A' AND (V.CodUsu IS NOT NULL AND V.CodUsu <> 0)");

                sCaminhodoArquivo = System.Web.HttpContext.Current.Server.MapPath(@"~\xml\tabvend.xml");

                //Criando o arquivo XML
                using (StreamWriter xmlDoc = new StreamWriter(sCaminhodoArquivo))
                {
                    r.WriteXml(xmlDoc);
                }
                r.Dispose();
                
                rsVendedores.Close();
                #endregion

                #region Promoções Mercadorias

                strSql.Length = 0;

                sCaminhodoArquivo = System.Web.HttpContext.Current.Server.MapPath(@"~\xml\promocao.xml");

                /*51849 - Acrescentado CODEMP*/
                strSql.Append(" SELECT CODEMP, CODSERVMERC, CONVERT(CHAR, CONVERT(DateTime,DtaFim,103)) AS DtaFim, CONVERT(CHAR, CONVERT(DateTime,DtaIni,103)) AS DtaIni, PercProm, PrecoProm,Comissao ");
                strSql.Append(" FROM ITPROMOCAO ");
                strSql.Append(" WHERE 1=1 AND  ");
                strSql.Append(" Convert(DateTime, Convert(VarChar, GetDate(), 101)) >= Convert(DateTime, Convert(VarChar, DtaIni, 101)) AND  ");
                strSql.Append(" Convert(DateTime, Convert(VarChar, GetDate(), 101)) <= Convert(DateTime, Convert(VarChar, DtaFim, 101)) ");

                r = conn.retornaQueryDataSet(strSql.ToString());

                //Criando o arquivo XML
                using (StreamWriter xmlDoc = new StreamWriter(sCaminhodoArquivo))
                {
                    //Escrevendo no documento
                    r.WriteXml(xmlDoc);
                }

                r.Dispose();

                #endregion

            }
            catch (Exception exc)
            {
                throw new Exception(exc.Message);
            }
        }
Example #6
0
        public static List<ProdutoResumido> Produto(UsuarioResumido u, Int32 iCodProduto, ParametroResumido pr, Int16 CodPrcTab, Int16 CodPrzTab)
        {
            DataClassesDataContext dcdc = new DataClassesDataContext();
            ClasseBanco conn = new ClasseBanco();

            decimal var_preco = 0;
            var strSql = "";
            conn.AbrirBanco();

            //BUSCAR PRECO DO PRODUTO NA TABELA PADRAO
            strSql = "SELECT ISNULL(T.PRECO,0) AS Preco FROM ";
            strSql = strSql + " TABPRECO T LEFT JOIN REGRAS_PRODUTO R ON T.CODSERVMERC = R.CODPRO ";
            strSql = strSql + " WHERE ISNULL(R.REGRA1,0)=0 AND CODSERVMERC = " + iCodProduto + " AND CODEMP = " + u.CodEmp + "";

            if (!CodPrcTab.Equals(0) && !CodPrzTab.Equals(0))
            {
                strSql = strSql + " AND CodTipPrc = " + CodPrcTab + " AND CodTipPrz = " + CodPrzTab + "";
            }

            var r = conn.Query(strSql);

            if (r.Read())
            {
                var_preco = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", r[0].ToString()));
            }
            r.Close();

            //Verifica se produto está em promoção ou pra mocinha...
            VerificaSeTemPromocao(iCodProduto, CodPrcTab);

            if (cPrecoPromocao!=0) {
                var_preco = cPrecoPromocao;
                
            } else if (cPercPromocao!=0) {
                var_preco = var_preco - (var_preco * cPercPromocao / 100);                  
            }
            
            List<ProdutoResumido> produtos = new List<ProdutoResumido>();

            try
            {

                dcdc.SERVMERCs.Where(s => s.CodServMerc == iCodProduto).Where(s => s.Ativo.Equals("S")).OrderBy(s => s.DesServMerc).ToList().ForEach(s => produtos.Add(
                        new ProdutoResumido(
                                                s.CodServMerc, (s.DesServMerc == null ? "" : s.DesServMerc),
                                                (var_preco == 0 ? (decimal)s.PrecoBase : var_preco), //PRECO DA TABELA
                                                0,
                                                0,
                                                s.Saldo == null ? 0 : Convert.ToDecimal(s.Saldo) - (s.QtdRes == null ? 0 : (Convert.ToDecimal(s.QtdRes) <= 0 ? 0 : Convert.ToDecimal(s.QtdRes))),
                                                s.Comissao == null ? 0 : Convert.ToDecimal(s.Comissao),
                                                0,
                                                s.DescCliente > 0 ? Convert.ToDecimal(s.DescCliente) : (s.PercDesc == null ? 0 : Convert.ToDecimal(s.PercDesc)),
                                                s.ComissaoTel == null ? 0 : Convert.ToDecimal(s.ComissaoTel),
                                                Convert.ToDecimal(s.QtdCaixa), s.M_Unidade, s.Unidade, "0",
                                                Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", Convert.ToDecimal(s.PesoBruto))), sValidadePromocao, CodPrzTab,0,0,0,"")

                                            ));


                if (produtos.Count > 0)
                {

                    // retorna os itens da mercadoria selecionada em outros pedidos  //
                    var Itens = (from o in dcdc.ITPEDIDOWEBs
                                 where (o.CODSERVMERC == produtos[0].Codigo)
                                 where (o.CODEMP != u.CodEmp || o.CODUSU != u.CodUsu)
                                 select new
                                 {
                                     o.CODSERVMERC,
                                     o.QTDE
                                 }).ToList();

                    // soma a quantidade dos itens retornados //
                    var Soma = (decimal)Itens.Select(c => c.QTDE).Sum();

                    // atualiza a quantidade do saldo do produto na coleção //
                    produtos[0].Saldo -= Soma;

                    dcdc.Dispose();
                }
                else
                {
                    produtos = null;
                }
            }
            catch (Exception exps)
            {
                throw new Exception(exps.ToString());
            }
                return produtos;
            
        }
Example #7
0
        public static DataSet buscarProdutosPorGrupo(UsuarioResumido u, ParametroResumido pr, Int16 codGru, Int16 CodPrcTab, Int16 CodPrzTab)
        {

            ClasseBanco conn = new ClasseBanco();

            StringBuilder strSql = new StringBuilder();
            conn.AbrirBanco();
            
            strSql.Length = 0;
            
            /*BUSCAR PRECO DO PRODUTO NA TABELA PADRAO*/
            strSql.Append(" SELECT S.UNIDADE, S.M_UNIDADE, S.QTDCAIXA, S.CodServMerc AS Codigo, S.DesServMerc as Nome, S.QtdEmb, S.PercDesc as percentDesconto, ISNULL(T.PRECO, S.PRECOBASE) AS Preco, S.Saldo, S.PESOBRUTO, S.Comissao, S.CaminhoImagem  FROM ");
            strSql.Append(" SERVMERC S INNER JOIN TABPRECO T ON S.CODSERVMERC = T.CODSERVMERC ");
            strSql.Append(" LEFT JOIN REGRAS_PRODUTO R ON S.CODSERVMERC = R.CODPRO ");
            strSql.Append(" WHERE ISNULL(R.REGRA1,0) = 0  AND ");
            strSql.Append(" S.CODGRU = " + codGru + " AND ");
            strSql.Append(" CODEMP   = " + u.CodEmp + " ");

            if (!CodPrcTab.Equals(0) && !CodPrzTab.Equals(0))
            {
                strSql.Append(" AND CodTipPrc                = " + CodPrcTab + " ");
                strSql.Append(" AND CodTipPrz            = " + CodPrzTab + " ");
            }
            
            strSql.Append(" AND S.ATIVO                  = 'S'");
            strSql.Append(" ORDER BY S.DESSERVMERC");

            var r = conn.retornaQueryDataSet(strSql.ToString());

            if (r.Tables[0].Rows.Count.Equals(0))
            {
                throw new Exception("Não há mercadoria(s) para a tabela de preço selecionada ou o(s) produto(s) está(ão) inativo(s).");                
            }
            else            
            {
                return r;
            }                        

        }
Example #8
0
        public static List<ProdutoResumido> buscaProdutosPorCodigo(UsuarioResumido u, ParametroResumido pr, Int32 iCodServMerc, Int16 CodPrcTab, Int16 CodPrzTab)
        {

            ClasseBanco             conn    = new ClasseBanco();
            StringBuilder           strSql  = new StringBuilder();
            List<ProdutoResumido>   retorno = new List<ProdutoResumido>();
            ProdutoResumido         p       = new ProdutoResumido();

            conn.AbrirBanco();

            decimal dSaldo = 0;
            strSql.Length = 0;

            strSql.Append(" SELECT S.UNIDADE, S.M_UNIDADE, S.QTDCAIXA, S.CodServMerc AS Codigo, (replicate(0, 9 - len(CAST(S.CODSERVMERC AS VARCHAR)))+ CAST(S.CODSERVMERC AS VARCHAR) + ' - ' + rtrim(S.DesServMerc) + ' - ' + rtrim(upper(Isnull(CodSec_ServMerc,0))) + ' x ' + convert(varchar,Isnull(S.QtdEmb,0))) as Nome, S.QtdEmb, S.PercDesc as percentDesconto, ISNULL(T.PRECO, S.PRECOBASE) AS Preco, S.Saldo, S.CodSec_ServMerc, S.QTDRES, S.PESOBRUTO, S.Comissao, S.CaminhoImagem FROM ");
            strSql.Append(" SERVMERC S INNER JOIN TABPRECO T ON S.CODSERVMERC = T.CODSERVMERC ");
            strSql.Append(" LEFT JOIN REGRAS_PRODUTO R ON S.CODSERVMERC = R.CODPRO ");
            strSql.Append(" WHERE ISNULL(R.REGRA1,0)=0  AND ");
            strSql.Append(" S.CODSERVMERC = " + iCodServMerc + " AND ");
            strSql.Append(" CODEMP = " + u.CodEmp + " ");

            if (!CodPrcTab.Equals(0))
            {
                strSql.Append(" AND CodTipPrc = " + CodPrcTab + "  ");                
            }

            if (!CodPrzTab.Equals(0))
            {
                strSql.Append(" AND CodTipPrz = " + CodPrzTab + "  ");
            }
            

            strSql.Append(" AND S.ATIVO = 'S' ");
            strSql.Append(" ORDER BY S.DESSERVMERC");

            using (var r = conn.Query(strSql.ToString()))
            {

                if (r.Read())
                {
                    p.Codigo = Convert.ToInt32(r["Codigo"].ToString());
                    p.Nome = r["Nome"] + " - " + r["CodSec_ServMerc"];// +" x " + r["QtdEmb"];
                    p.percentDesconto = Convert.ToDecimal(r["percentDesconto"]);
                    p.Preco = Convert.ToDecimal(r["Preco"].ToString()); ;
                    dSaldo = (r["Saldo"] == null ? 0 : Convert.ToDecimal(r["Saldo"])) - (r["QtdRes"] == null ? 0 : Convert.ToDecimal(r["QtdRes"]));
                    p.Saldo = (dSaldo == null ? 0 : dSaldo);
                    p.M_UNIDADE = r["M_UNIDADE"].ToString();
                    p.Unidade = r["UNIDADE"].ToString();
                    p.QtdCaixa = Convert.ToDecimal(r["QTDCAIXA"].ToString());
                    p.Peso = Convert.ToDecimal(r["PESOBRUTO"].ToString());
                    p.Comissao = Convert.ToDecimal(r["COMISSAO"].ToString());
                    p.caminhoimagem = r["CaminhoImagem"].ToString();
                    //Verifica se produto está em promoção ou pra mocinha...
                    VerificaSeTemPromocao(iCodServMerc, CodPrcTab);

                    if (cPrecoPromocao != 0)
                    {
                        p.Preco = cPrecoPromocao;
                        p.MensagemPromocao = sValidadePromocao;
                    }
                    else if (cPercPromocao != 0)
                    {
                        p.Preco = p.Preco - (p.Preco * cPercPromocao / 100);
                        p.MensagemPromocao = sValidadePromocao;
                    }

                    retorno.Add(p);
                }
                else
                {
                    throw new Exception("Não há mercadoria(s) para a tabela de preço selecionada ou o(s) produto(s) está(ão) inativo(s).");
                }
            }
            return retorno;
            
              
        }
Example #9
0
        public static DataSet buscaProdutosPorNome(UsuarioResumido u, ParametroResumido pr, string nome, Int16 CodPrcTab, Int16 CodPrzTab)
        {
            ClasseBanco conn = new ClasseBanco();

            StringBuilder strSql = new StringBuilder();

            conn.AbrirBanco();
            
            strSql.Length = 0;
            
            //BUSCAR PRECO DO PRODUTO NA TABELA PADRAO
            strSql.Append(" SELECT S.UNIDADE, S.M_UNIDADE, S.QTDCAIXA, S.CodServMerc AS Codigo, (replicate(0, 9 - len(CAST(S.CODSERVMERC AS VARCHAR)))+ CAST(S.CODSERVMERC AS VARCHAR) + ' - ' + rtrim(S.DesServMerc) + ' - ' + rtrim(upper(Isnull(CodSec_ServMerc,0))) + ' x ' + convert(varchar,Isnull(S.QtdEmb,0))) as Nome, S.QtdEmb, S.PercDesc as percentDesconto, ISNULL(T.PRECO, S.PRECOBASE) AS Preco, S.Saldo, S.PESOBRUTO, S.Comissao, S.CaminhoImagem  FROM ");
            //strSql.Append(" SELECT S.UNIDADE, S.M_UNIDADE, S.QTDCAIXA, S.CodServMerc AS Codigo, (replicate(0, 9 - len(CAST(S.CODSERVMERC AS VARCHAR)))+ CAST(S.CODSERVMERC AS VARCHAR) + ' - ' + rtrim(S.DesServMerc)) as Nome, S.QtdEmb, S.PercDesc as percentDesconto, ISNULL(T.PRECO,0) AS Preco, S.Saldo FROM ");
            strSql.Append(" SERVMERC S INNER JOIN TABPRECO T ON S.CODSERVMERC = T.CODSERVMERC ");
            strSql.Append(" LEFT JOIN REGRAS_PRODUTO R ON S.CODSERVMERC = R.CODPRO ");
            strSql.Append(" WHERE ISNULL(R.REGRA1,0)=0  AND ");
            strSql.Append(" S.DESSERVMERC LIKE '%" + nome.ToLower() + "%' AND ");
            strSql.Append(" CODEMP = " + u.CodEmp + "  ");

            if (!CodPrcTab.Equals(0) && !CodPrzTab.Equals(0))
            {
                strSql.Append(" AND CodTipPrc = " + CodPrcTab + " ");
                strSql.Append(" AND CodTipPrz = " + CodPrzTab + " ");
            }
            
            strSql.Append(" AND S.ATIVO = 'S' ");
            strSql.Append(" ORDER BY S.DESSERVMERC");

            var r = conn.retornaQueryDataSet(strSql.ToString());

            if (r.Tables[0].Rows.Count.Equals(0))
            {
                throw new Exception("Não há mercadoria(s) para a tabela de preço selecionada ou o(s) produto(s) está(ão) inativo(s).");                
            }

            return r;

        }
Example #10
0
        public static void VerificaSeTemPromocao(Int32 iCodigo, Int16 iTipoPreco)
        {
            ClasseBanco conn = new ClasseBanco();

            conn.AbrirBanco();

            cPercPromocao = 0;
            cPrecoPromocao = 0;
            sValidadePromocao = "";

            string strSql;

            strSql = "SELECT DtaFim, DtaIni, PercProm, PrecoProm,Comissao ";
            strSql = strSql + " FROM ITPROMOCAO WHERE CodServMerc = " + iCodigo;
            strSql = strSql + " and CodTipPrc = " + iTipoPreco;
            var r = conn.Query(strSql);

            while (r.Read())
            {
                if (Convert.ToDateTime(String.Format("{0:d}", DateTime.Now)) >= Convert.ToDateTime(String.Format("{0:d}", r["DtaIni"])) && Convert.ToDateTime(String.Format("{0:d}", DateTime.Now)) <= Convert.ToDateTime(String.Format("{0:d}", r["DtaFim"])))
                {
                    cPercPromocao     = Convert.ToDecimal(r["PercProm"].ToString());
                    cPrecoPromocao    = Convert.ToDecimal(r["Precoprom"].ToString());
                    sValidadePromocao = "Preço promocional no período de " + String.Format("{0:d}", r["DtaIni"]) + " até " + String.Format("{0:d}", r["DtaFim"]);
                }
            }
            r.Close();

        }