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; }
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; }
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(); }
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"; } }
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); } }
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; }
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; } }
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; }
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; }
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(); }