protected void Page_Load(object sender, EventArgs e) { Response.CacheControl = "no-cache"; Response.AddHeader("Pragma", "no-cache"); Response.Expires = -1; if (!IsPostBack) { pr = (ParametroResumido)Session["Parametros"]; u = (UsuarioResumido)Session["Usuario"]; if (u == null) { Response.Redirect("Default.aspx"); } else { dplClientes.DataSource = ClasseCliente.ListarClientes(u,pr); dplClientes.DataValueField = "Codigo"; dplClientes.DataTextField = "Nome"; dplClientes.DataBind(); dplClientes.Items.Insert(0, new ListItem("", "-1")); } } }
protected void LinkButtonPesquisar_Click(object sender, EventArgs e) { pr = (ParametroResumido)Session["Parametros"]; u = (UsuarioResumido)Session["Usuario"]; lbMsg.Text = ""; PEDIDO p = ClassePedido.Pedido(Convert.ToInt32(TextBoxNumeroPedido.Text), Convert.ToInt32(Session["EmpresaCODEMP"]), Convert.ToInt32(Session["CodVend"])); if (p != null) { LabelCliente.Text = ClasseCliente.Cliente(Convert.ToInt32(p.CodCli)) == null ? "Cliente não encontrado" : ClasseCliente.Cliente(Convert.ToInt32(p.CodCli)).RazSoc; LabelCondPagto.Text = ClasseFormaPagto.FormaPagto(Convert.ToInt32(p.CodFrmPgt)) == null ? "Forma de pagamento não encontrada" : ClasseFormaPagto.FormaPagto(Convert.ToInt32(p.CodFrmPgt)).DesFrmPgt; LabelNumeroPedido.Text = p.NumPed.ToString(); LabelObservacao.Text = p.Obs; LB_SubTotal.Text = String.Format("R$ {0:" + Funcoes.Decimais(pr) + "}", p.VlrSubTot); lbPesoTotal.Text = String.Format("{0:" + Funcoes.Decimais(pr) + "}", p.PesoBruto); LabelTotalPedido.Text = String.Format("R$ {0:" + Funcoes.Decimais(pr) + "}", p.Vlrtot); LB_DescPed.Text = String.Format("{0:" + Funcoes.Decimais(pr) + "}", p.PercDes); if (ClasseUsuario.Usuario(Convert.ToInt32(p.CodEmp), Convert.ToInt32(u.CodUsu)).Count > 0) { LabelVendedor.Text = ClasseUsuario.Usuario(Convert.ToInt32(p.CodEmp), Convert.ToInt32(u.CodUsu)).First().NomUsu; } else { LabelVendedor.Text = "Vendedor não encontrado"; } GridViewProdutos.DataSource = ClassePedido.ItensPedido(p, u, pr, Convert.ToInt16(pr.CodTipPrc), Convert.ToInt16(pr.CodTipPrz)); GridViewProdutos.DataBind(); PanelUnico.Visible = true; } else { PanelUnico.Visible = false; if (!ClientScript.IsClientScriptBlockRegistered("respostaScript")) { ClientScript.RegisterStartupScript(this.GetType(), "respostaScript", "<script language = 'javascript'>alert('Não foi encontrado pedido com o número informado ou não pertence a esse vendedor')</script>"); } } }
protected void Page_Load(object sender, EventArgs e) { lbErros.Text = ""; lbErros.Visible = false; Response.CacheControl = "no-cache"; Response.AddHeader("Pragma", "no-cache"); Response.Expires = -1; u = (UsuarioResumido)Session["Usuario"]; pr = (ParametroResumido)Session["Parametros"]; if (!IsPostBack) { tbDataEmissaoInicial.Text = String.Format("{0:dd/MM/yyyy}", DateTime.Today); tbDataEmissaoFinal.Text = String.Format("{0:dd/MM/yyyy}", DateTime.Today); buAba1_Click(null, null); if (u == null) { Response.Redirect("Default.aspx"); } //Somente se vier com paramêtro para gravação automática pedidos if (!String.IsNullOrEmpty(Request.QueryString["flg"])) { try { ImportacaoLote(); } catch (Exception exc) { lbErros.Text = exc.Message.ToString(); lbErros.Visible = true; } } } }
protected void Page_Load(object sender, EventArgs e) { Response.CacheControl = "no-cache"; Response.AddHeader("Pragma", "no-cache"); Response.Expires = -1; if (!IsPostBack) { pr = (ParametroResumido)Session["Parametros"]; u = (UsuarioResumido)Session["Usuario"]; if (u == null) { Response.Redirect("Default.aspx"); } ClasseBanco csConectar = new ClasseBanco(); String strSql = " select DISTINCT G.CodGru, DesGru from GRUPO G INNER JOIN SERVMERC S ON G.CodGru = S.CodGru WHERE S.Ativo = 'S' ORDER BY DesGru "; var r = csConectar.retornaQueryDataSet(strSql); DropDownListGrupo.DataSource = r; DropDownListGrupo.DataTextField = "DesGru"; DropDownListGrupo.DataValueField = "CodGru"; DropDownListGrupo.DataBind(); DropDownListGrupo.Items.Insert(0, "Todos"); DropDownListGrupo.Items.Insert(0, ""); CodPrcTab = Convert.ToInt16(pr.CodTipPrc); CodPrzTab = Convert.ToInt16(pr.CodTipPrz); if (cbTabelas.SelectedIndex != -1) { CodPrcTab = Convert.ToInt16(cbTabelas.SelectedValue.Split('|').First()); CodPrzTab = Convert.ToInt16(cbTabelas.SelectedValue.Split('|').Last()); } BuscaTabelaPadrao(); } }
public static String Decimais(ParametroResumido pr) { Int32 iCasasDecimais = 0; String sCasasDecimais = String.Empty; sCasasDecimais = pr.PARA_CasasDecimais.ToString(); Int32.TryParse(sCasasDecimais, out iCasasDecimais); if (iCasasDecimais > 0) { sCasasDecimais = "0."; sCasasDecimais = sCasasDecimais.PadRight(iCasasDecimais + 2, '0'); } else { sCasasDecimais = "0.00"; //sCasasDecimais = sCasasDecimais.PadRight(3, '0'); } return sCasasDecimais; }
public DataSet buscaCliente(string nome, UsuarioResumido u, ParametroResumido pr) { Int32 iCodigo = 0; Int32.TryParse(nome, out iCodigo); conn.AbrirBanco(); strSql.Length = 0; if (pr.ExibirRazaoSocial == 1) { strSql.Append(" SELECT CLIENTE.CODCLI AS CODIGO, (CONVERT(VARCHAR,CLIENTE.CODCLI) + ' - ' + RAZSOC) AS NOME FROM CLIENTE INNER JOIN VENDCLI ON CLIENTE.CODCLI = VENDCLI.CODCLI "); } else { strSql.Append(" SELECT CLIENTE.CODCLI AS CODIGO, (CONVERT(VARCHAR,CLIENTE.CODCLI) + ' - ' + NOMFAN) AS NOME FROM CLIENTE INNER JOIN VENDCLI ON CLIENTE.CODCLI = VENDCLI.CODCLI "); } strSql.Append(" INNER JOIN VENDEDOR ON VENDEDOR.CODVEND = VENDCLI.CODVEN "); strSql.Append(" WHERE "); strSql.Append(" CLIENTE.ATIVO = 'S' AND "); strSql.Append(" ISNULL(CLIENTE.PROSPECT,0) <> 1 AND "); strSql.Append(" VENDEDOR.STATUS = 'A' AND "); strSql.Append(" VENDEDOR.CodUsu = " + u.CodUsu); strSql.Append(" AND VENDCLI.CodEmp = " + u.CodEmp); if (iCodigo == 0) { strSql.Append(" AND (RAZSOC LIKE '%" + nome.ToLower() + "%' OR CLIENTE.NOMFAN LIKE '%" + nome.ToLower() + "%' OR CLIENTE.CGC_CPF LIKE '%" + nome.ToLower() + "%')"); } else { strSql.Append("AND CLIENTE.CODCLI = " + iCodigo); } strSql.Append(" ORDER BY RAZSOC, CLIENTE.NOMFAN"); var r = conn.retornaQueryDataSet(strSql.ToString()); return r; }
public bool EnviaEmail(ParametroResumido pr, string sDestinatario, string sRemetente, string sCopia, string sCopiaOculta, string sAssunto, string sTexto, string sAnexo, string sReservado) { //cria objeto com dados do e-mail System.Net.Mail.MailMessage objEmail = new System.Net.Mail.MailMessage(); //remetente do e-mail objEmail.From = new System.Net.Mail.MailAddress(sRemetente); //destinatrios do e-mail objEmail.To.Add(sDestinatario); //enviar cpia para if (!String.IsNullOrEmpty(sCopia)) { objEmail.To.Add(sCopia); } //enviar cpia oculta para if (!String.IsNullOrEmpty(sCopiaOculta)) { objEmail.Bcc.Add(sCopiaOculta); } //prioridade do e-mail objEmail.Priority = System.Net.Mail.MailPriority.Normal; //formato do e-mail HTML (caso no queira HTML alocar valor false) objEmail.IsBodyHtml = true; //ttulo do e-mail objEmail.Subject = sAssunto; //corpo do e-mail objEmail.Body = sTexto; //Para evitar problemas de caracteres "estranhos", configuramos o charset para "ISO-8859-1" objEmail.SubjectEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1"); objEmail.BodyEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1"); //cria objeto com os dados do SMTP System.Net.Mail.SmtpClient objSmtp = new System.Net.Mail.SmtpClient(); #region login string sHost = BuscaCampoTabela("HostSmtp", "PARAMETROS", " AND CODEMP = " + pr.CodEmp); string sPorta = BuscaCampoTabela("PortaSmtp", "PARAMETROS", " AND CODEMP = " + pr.CodEmp); string sSenha = BuscaCampoTabela("SenhaSmtp", "PARAMETROS", " AND CODEMP = " + pr.CodEmp); objSmtp.Host = sHost; objSmtp.Port = Convert.ToInt16(sPorta); objSmtp.Credentials = new System.Net.NetworkCredential(sRemetente, sSenha); #endregion try { objSmtp.Send(objEmail); objEmail.Dispose(); return true; } catch (Exception ex) { throw ex; //return false; } }
protected void Page_Load(object sender, EventArgs e) { Response.CacheControl = "no-cache"; Response.AddHeader("Pragma", "no-cache"); Response.Expires = -1; u = (UsuarioResumido)Session["Usuario"]; pr = (ParametroResumido)Session["Parametros"]; if (!IsPostBack) { if (u == null) { Response.Redirect("Default.aspx"); } conn.AbrirBanco(); cbUnidadeVenda.Items.Insert(0, "Menor Unidade"); cbUnidadeVenda.Items.Insert(1, "Maior Unidade"); cbUnidadeVenda.SelectedIndex = (pr.para_unidadevenda == 2 ? 1 : 0); if (cbUnidadeVenda.SelectedValue == "Maior Unidade") { lbTipoPreco.Text = "Preço Maior Unidade"; } else { lbTipoPreco.Text = "Preço Menor Unidade"; } var rsMov = conn.retornaQueryDataSet("SELECT * FROM TMP_MOVIMENTACOES_WEB WHERE CODEMP = " + u.CodEmp + ""); csMovimentacao.DataSource = rsMov; csMovimentacao.DataValueField = "Codigo"; csMovimentacao.DataTextField = "Descricao"; csMovimentacao.DataBind(); csMovimentacao.Items.Insert(0, new ListItem("(Selecione uma Movimentação)", "-1")); csMovimentacao.SelectedValue = csMovimentacao.Items.FindByValue(pr.CodTipMov_Estadual.ToString()).Value; //pr.CodTipMov_Estadual #region Carrega Condicoes de Pagamento cbCliente.DataSource = ClasseCliente.ListarClientes(u, pr); cbCliente.DataValueField = "Codigo"; cbCliente.DataTextField = "Nome"; cbCliente.DataBind(); cbCliente.Items.Insert(0, new ListItem("", "-1")); CarregaCondicoesPagamento(0, Convert.ToInt16(csMovimentacao.SelectedValue)); #endregion //Busca Tabela de Preco Padrao ou do Vendedor BuscaTabelaPadrao(); if (Session["Usuario"] != null) { LabelVendedor.Text = Session["NomVend"].ToString(); } else { LabelVendedor.Text = String.Empty; } ClassePedido.RemoverReservaItensPedidoWeb(u); LabelNumPedido.Text = ClassePedido.ProximoPedidoWeb(u).ToString(); LabelNumPedidoSigma.Text = ClassePedido.ProximoPedido(u).ToString(); } tbCliente.Focus(); }
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; }
protected void LinkButtonPesquisar_Click(object sender, EventArgs e) { pr = (ParametroResumido)Session["Parametros"]; u = (UsuarioResumido)Session["Usuario"]; if (cbTabelas.SelectedIndex != -1) { CodPrcTab = Convert.ToInt16(cbTabelas.SelectedValue.Split('|').First()); CodPrzTab = Convert.ToInt16(cbTabelas.SelectedValue.Split('|').Last()); } if (TextBoxCodServMerc.Text.Length > 0) { int codProduto = Convert.ToInt32(TextBoxCodServMerc.Text); //List<ProdutoResumido> prods = ClasseProdutos.Produto(u, codProduto, pr, Convert.ToInt16(pr.CodTipPrc), Convert.ToInt16(pr.CodTipPrz)); List<ProdutoResumido> prods = ClasseProdutos.buscaProdutosPorCodigo(u, pr, codProduto, CodPrcTab, CodPrzTab); if (prods != null) { /* LabelCodigo.Text = prods[0].Codigo.ToString(); LabelCodigoBarras.Text = ""; LabelCodigoBarrasNumero.Text = ""; LabelDescricao.Text = prods[0].Nome.Trim(); LabelSaldo.Text = prods[0].Saldo.ToString(); //LabelPreco.Text = String.Format("R$ {0:" + Funcoes.Decimais(pr) + "}", prods[0].Preco); TextBoxCodServMerc.Text = ""; TextBoxDesServMerc.Text = ""; DropDownListGrupo.SelectedIndex = 0; PanelUnico.Visible = true; PanelVarios.Visible = false; */ GridViewProdutos.DataSource = prods; BoundField bf; // formata o campo preço bf = (BoundField)GridViewProdutos.Columns[2]; // Preço base bf.DataFormatString = "{0:" + Funcoes.Decimais(pr) + "}"; GridViewProdutos.DataBind(); TextBoxCodServMerc.Text = ""; DropDownListGrupo.SelectedIndex = 0; PanelVarios.Visible = true; PanelUnico.Visible = false; } else { PanelUnico.Visible = false; PanelVarios.Visible = false; TextBoxCodServMerc.Text = ""; TextBoxDesServMerc.Text = ""; DropDownListGrupo.SelectedIndex = 0; if (!ClientScript.IsClientScriptBlockRegistered("respostaScript")) { ClientScript.RegisterStartupScript(this.GetType(), "respostaScript", "<script language = 'javascript'>alert('Não foi encontrado produto com o número informado ou está inativo.')</script>"); } } } else if (TextBoxDesServMerc.Text.Length > 0) { pr = (ParametroResumido)Session["Parametros"]; //List<ProdutoResumido> prods = ClasseProdutos.buscaProdutosPorNome(u, pr, TextBoxDesServMerc.Text); var prods = ClasseProdutos.buscaProdutosPorNome(u, pr, TextBoxDesServMerc.Text, CodPrcTab, CodPrzTab); if (prods.Tables[0].Rows.Count>0) { GridViewProdutos.DataSource = prods; BoundField bf; // formata o campo preço bf = (BoundField)GridViewProdutos.Columns[2]; // Preço base bf.DataFormatString = "{0:" + Funcoes.Decimais(pr) + "}"; GridViewProdutos.DataBind(); TextBoxCodServMerc.Text = ""; DropDownListGrupo.SelectedIndex = 0; PanelVarios.Visible = true; PanelUnico.Visible = false; } else { PanelUnico.Visible = false; PanelVarios.Visible = false; TextBoxCodServMerc.Text = ""; DropDownListGrupo.SelectedIndex = 0; if (!ClientScript.IsClientScriptBlockRegistered("respostaScript")) { ClientScript.RegisterStartupScript(this.GetType(), "respostaScript", "<script language = 'javascript'>alert('Não foi encontrado produto com o texto informado')</script>"); } } } else { PanelUnico.Visible = false; PanelVarios.Visible = false; if (!ClientScript.IsClientScriptBlockRegistered("respostaScript")) { ClientScript.RegisterStartupScript(this.GetType(), "respostaScript", "<script language = 'javascript'>alert('Digite um parâmetro para a pesquisa')</script>"); } } }
public static List<ClienteResumido> ListarClientes(UsuarioResumido u, ParametroResumido pr) { //CODIGO FEITO COM LINQ DataClassesDataContext dcdc = new DataClassesDataContext(); var retorno = (from c in dcdc.CLIENTEs join vc in dcdc.VENDCLIs on c.CodCli equals vc.CodCli join ve in dcdc.VENDEDORs on vc.CodVen equals ve.CodVend where c.Ativo != 'N' // clientes ativos where c.Prospect != 'S' // nao trazer prospects where ve.Status.Equals('A') // vendedores ativos where ve.CodUsu.Equals(u.CodUsu) where vc.CodEmp.Equals(u.CodEmp) orderby (pr.ExibirRazaoSocial==1 ? c.RazSoc : c.NomFan) select new ClienteResumido(c.CodCli, (c.CodCli + " - " + (pr.ExibirRazaoSocial == 1 ? c.RazSoc : c.NomFan)))).ToList(); dcdc.Dispose(); return retorno; }
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 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 Boolean ReservarItemPedidoWeb(UsuarioResumido Usuario, Int32 NumPedWeb, Int32 CodServMerc, Decimal Quantidade, ParametroResumido pr) { DataClassesDataContext dcdc = new DataClassesDataContext(); //Decimal? Saldo = Convert.ToDecimal(dcdc.SERVMERCs.SingleOrDefault(sm => sm.CodServMerc.Equals((Int32)CodServMerc)).Saldo); //Decimal? QtdRes = Convert.ToDecimal(dcdc.SERVMERCs.SingleOrDefault(sm => sm.CodServMerc.Equals(CodServMerc)).QtdRes); Decimal? Saldo = 0; Decimal? QtdRes = 0; ClasseBanco csBanco = new ClasseBanco(); var r = csBanco.Query("SELECT Saldo, QtdRes FROM SERVMERC WHERE CODSERVMERC = " + CodServMerc + ""); if (r.Read()) { Saldo = Convert.ToDecimal(r["SALDO"].ToString()); QtdRes = Convert.ToDecimal(r["QtdRes"].ToString()); } r.Close(); r.Dispose(); // verifica se a quantidade da mercadoria solicitada está disponível em estoque // if (pr.SaldoPed == 'S') { if ((Saldo - (QtdRes <= 0 ? 0 : QtdRes)) < Quantidade) { throw new Exception("Quantidade indisponível da(s) mercadoria(s) solicitada(s). Se foi feita importação de Planilha/Arquivo OffLine, favor verificar a listagem de itens não atendidos."); } } // retorna os itens da mercadoria selecionada em outros pedidos // var Itens = (from o in dcdc.ITPEDIDOWEBs where (o.CODSERVMERC == CodServMerc) where (o.CODEMP != Usuario.CodEmp || o.CODUSU != Usuario.CodUsu) select new { o.CODSERVMERC, o.QTDE }).ToList(); // soma a quantidade dos itens retornados var Soma = (Decimal)Itens.Select(c => c.QTDE).Sum(); /* FABIANO ------------------------------------------------------------------------------- Verifica saldo - reserva do produto - reserva de produto via web (ITPEDIDOWEB) ------------------------------------------------------------------------------------------*/ if (pr.SaldoPed == 'S') { // se a soma dos itens em reserva for maior que a quantidade // if (((Saldo - QtdRes) - Soma) < Quantidade) { throw new Exception("Quantidade solicitada é superior ao saldo disponível da mercadoria selecionada."); } } // ajusta as propriedades do Item ITPEDIDOWEB Item = new ITPEDIDOWEB(); Item.NUMPEDWEB = NumPedWeb; Item.CODSERVMERC = CodServMerc; Item.CODEMP = Usuario.CodEmp; Item.CODUSU = Usuario.CodUsu; Item.QTDE = (Decimal)Quantidade; // grava o item na tabela // dcdc.ITPEDIDOWEBs.InsertOnSubmit(Item); dcdc.SubmitChanges(); //dcdc.Dispose(); //FABIANO //GRAVAR NA SERVMERC A QTD. RESERVADA NO MOMENTO DA INCLUSAO DO ITEM //SERVMERC prod = dcdc.SERVMERCs.Single(p => p.CodServMerc == CodServMerc); //prod.QtdRes = (prod.QtdRes == null ? (Convert.ToDouble(Quantidade)) : (prod.QtdRes + Convert.ToDouble(Quantidade))); //dcdc.SubmitChanges(); String sQuantidade = Quantidade.ToString();//51747 csBanco.ExecutarComando(" UPDATE SERVMERC SET QTDRES = ISNULL(QTDRES,0) + " + sQuantidade.Replace(',','.') + " WHERE CODSERVMERC = " + CodServMerc + ""); dcdc.Dispose(); return true; }
public static List<ItemPedidoResumido> ItensPedido(PEDIDO pedido, UsuarioResumido u, ParametroResumido pr, Int16 CodPrcTab, Int16 CodPrzTab) { List<ItemPedidoResumido> itens = new List<ItemPedidoResumido>(); List<ITENSPED> itensPed = new DataClassesDataContext().ITENSPEDs.Where(i => i.NumPed == pedido.NumPed && i.CodEmp == u.CodEmp).ToList(); foreach (ITENSPED item in itensPed) { ItemPedidoResumido i = new ItemPedidoResumido(); i.CodServMerc = item.CodServMerc; i.Item = item.Item; i.NumPed = item.NumPed; /*52033*/ if (pedido.SitPed.Equals("EXE")) { i.Qtd = item.QtdFat == null ? 0 : (decimal)item.QtdFat; } else { i.Qtd = (decimal)item.Qtd; } if (item.UniVenda == 2) { i.PrecoLiquido = (decimal)item.VlrUni; i.PrecoLiquido = (decimal)item.VLRUNIVENDALIQ / i.Qtd; i.PrecoProduto = (decimal)item.VlrUni; } else { i.PrecoLiquido = item.VLRUNIVENDALIQ == null ? 0 : (decimal)item.VLRUNIVENDALIQ; i.PrecoProduto = ((decimal)item.VLRUNIVENDA); //preco total } i.Desconto = (decimal)item.VlrDes; if (item.UniVenda==2) { i.Total = (item.VLRUNIVENDALIQ == null ? 0 : (decimal)item.VLRUNIVENDALIQ * (decimal)item.QTDUNIVENDA); } else { i.Total = (item.VLRUNIVENDALIQ == null ? 0 : (decimal)item.VLRUNIVENDALIQ * i.Qtd); } try { //List<ProdutoResumido> lpr = ClasseProdutos.Produto(u, item.CodServMerc, pr, CodPrcTab, CodPrzTab); List<ProdutoResumido> lpr = ClasseProdutos.buscaProdutosPorCodigo(u, pr, item.CodServMerc, CodPrcTab, CodPrzTab); if (lpr != null) { i.Saldo = (int)(lpr.Count < 1 ? 0 : lpr[0].Saldo / 1); //i.DescricaoProduto = ClasseProdutos.Produto(u, item.CodServMerc, pr, CodPrcTab, CodPrzTab).Count < 1 ? "" : ClasseProdutos.Produto(u, item.CodServMerc, pr, CodPrcTab, CodPrzTab)[0].Nome; i.DescricaoProduto = ClasseProdutos.buscaProdutosPorCodigo(u, pr, item.CodServMerc, CodPrcTab, CodPrzTab).Count < 1 ? "" : ClasseProdutos.buscaProdutosPorCodigo(u, pr, item.CodServMerc, CodPrcTab, CodPrzTab)[0].Nome; i.Peso = Convert.ToDecimal(lpr[0].Peso.ToString()) * i.Qtd; } else { i.Saldo = 0; i.Peso = 0; i.DescricaoProduto = "PRODUTO NÃO ENCONTRADO OU INATIVO"; } } catch (Exception excp) { i.Saldo = 0; i.Peso = 0; i.DescricaoProduto = "PRODUTO NÃO ENCONTRADO OU INATIVO"; } itens.Add(i); } return itens; }
public static int InserePedido( UsuarioResumido u, ParametroResumido pr, int codVendedor, int codCliente, string observacao, int codFormaPagto, int codCondPagto, List<ProdutoResumido> produtos, int codEmp, Int32 NumPedWeb, Int32 NumPed, decimal DescontoPedido, int CodPrc_Tab, int CodPrz_Tab, int UnidadeVenda, int iCodTipMov) { Decimal TotalComissao = 0; Decimal TotalComissaoTelev = 0; ClasseBanco csBanco = new ClasseBanco(); //verifica se tem itens na grid if (produtos.Count.ToString() == "0") { //throw new Exception("Não há produtos digitados."); return 0; } try { DataClassesDataContext dcdc = new DataClassesDataContext(); decimal cPesoTotal = 0; decimal comissao_televend = 0; decimal comissao_vendedor = 0; int iIncideTelev = 0; int iIncideVend = 0; int CodTipMov = ValidaMovimentacao(codCliente, codEmp, iCodTipMov); if (CodTipMov == 0) { throw new Exception("Não há Tipo de Movimentação Padrão cadastrada nos Parâmetros de Venda."); } /*51287*/ string varCLIE_IPISuspenso = dcdc.CLIENTEs.FirstOrDefault(cli => cli.CodCli == codCliente).CLIE_IPISuspenso.ToString(); PEDIDO p = new PEDIDO(); p.CodEmp = (short)codEmp; //FABIANO - 12/10/2011 - N.42120 //Buscar o segundo vendedor da VENDCLI e sua comissao. (TELEVENDEDOR) //49637 - Adicionado CODEMP na clausula where //var sSql = "SELECT CodVen, COMISSAOTELEV, INCIDE FROM VENDCLI INNER JOIN VENDEDOR ON VENDCLI.CodVen = VENDEDOR.CodVend" + //" WHERE CodCli = " + codCliente + " AND CodVen <> " + codVendedor + ""; var sSql = "SELECT CodVen, COMISSAOTELEV, INCIDE FROM VENDCLI INNER JOIN VENDEDOR ON VENDCLI.CodVen = VENDEDOR.CodVend" + " WHERE CodCli = " + codCliente + " AND CodVen <> " + codVendedor + " AND CODEMP = " + p.CodEmp; var televendedor = csBanco.Query(sSql); p.TelVend_Pedido = null; if (televendedor.Read()) { if (televendedor[0].ToString() != "") //CODVEN { p.TelVend_Pedido = Convert.ToInt16(televendedor[0].ToString()); } if (televendedor[1].ToString()!="") //COMISSAO { comissao_televend = Convert.ToDecimal(televendedor[1].ToString()); } if (televendedor[2].ToString() != "") //INCIDE { iIncideTelev = Convert.ToInt16(televendedor[2].ToString()); } } televendedor.Close(); //Busca comissao do vendedor principal e o setor na vendcli sSql = "SELECT SETOR, Comissao, Incide" + " FROM " + " VENDCLI INNER JOIN VENDEDOR ON VENDCLI.CodVen = VENDEDOR.CodVend " + " WHERE 1=1 " + " AND CodCli = " + codCliente + "" + " AND CodVen = " + codVendedor + ""; var r = csBanco.Query(sSql); if (r.Read()) { p.SETOR = r[0].ToString(); //43573 if (r[1].ToString()!="") //COMISSAO { comissao_vendedor = Convert.ToDecimal(r[1].ToString()); } if (r[2].ToString() != "") //INCIDE { iIncideVend = Convert.ToInt16(r[2].ToString()); } } r.Close(); //Busca parametro sistema r = csBanco.Query("SELECT conteudo FROM parametrosist WHERE descparametro = 'BloqPedConf' AND codemp = " + codEmp); if (r.Read()) { //Se Bloqueia por conferencia ou nao //Se = 'S' bloqueia com DIV (Divergencia), senao grava null p.RESCONFER = r[0].ToString() == "S" ? "DIV" : null; } r.Close(); //Validacao PEDIDO X PEDIDOWEB r = csBanco.Query("SELECT NUMPED FROM PEDIDO WHERE codemp = " + codEmp + " AND NUMPED = " + NumPedWeb + " AND NUMPEDWEB = " + NumPed + ""); if (r.Read()) { throw new Exception("Pedido " + NumPed + " já cadastrado."); } r.Close(); //Campos fixos p.Origem = 'W'; //43573 //p.StatusComercial = "BCF"; // bloqueado para conferência (default) p.PesoBruto = 0; p.Volume = 0; p.Carga = 1; p.SubCarga = 1; p.Comissao = 0; p.VlrFrete_Pedido = 0; p.Origem_Pedido = "VENDEDOR"; p.Tipo_Pedido = "PEDIDO"; p.USUCAD = u.NomUsu; //43573 p.SitPed = "ABE"; p.HoraCad = DateTime.Now; //43573 p.Hora = DateTime.Now; p.DtaEmi = DateTime.Today; //DateTime.Now; p.DtaEnt = DateTime.Today; p.DtaFat = DateTime.Today; //Campos dinamicos p.PercDes = DescontoPedido; p.CodVen = (short)codVendedor; p.CodCli = (int)codCliente; p.CodTipMov = Convert.ToInt16(CodTipMov); p.NumPedWeb = NumPedWeb; p.NumPed = NumPed; //Agora buscando de forma diferente p.CodPgt = (short)codCondPagto; p.CodFrmPgt = (short)codFormaPagto; /*Alterado forma de pegar tabela de preco. Agora pega da combo, pois pode ser diferente do padrao configurado no sigma - Regras alteradas por solicitacao do cliente Bagetti - 13/03/2013 - Fabiano p.CodigoTab = Convert.ToInt16(pr.CodTipPrc); p.CodPrzTab = Convert.ToInt16(pr.CodTipPrz); */ p.CodigoTab = (short)CodPrc_Tab; p.CodPrzTab = (short)CodPrz_Tab; p.Obs = observacao; p.Vlrtot = (decimal)produtos.Sum(p2 => p2.TotalParcial) - ((decimal)produtos.Sum(p2 => p2.TotalParcial) * DescontoPedido/100); p.NomUsu = u.NomUsu; p.Usuario = u.NomUsu; p.VlrSubTot = (decimal)produtos.Sum(p2 => p2.TotalParcial); p.VlrDes1 = ((decimal)produtos.Sum(p2 => p2.TotalParcial) * DescontoPedido / 100); p.PesoLiq = 0; //produtos.ForEach(prood => p.PesoLiq += dcdc.SERVMERCs.SingleOrDefault(sm => sm.CodServMerc == prood.Codigo).PesoLiq * prood.Quantidade); //produtos.ForEach(prood => p.PesoLiq += Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", dcdc.SERVMERCs.SingleOrDefault(sm => sm.CodServMerc == prood.Codigo).PesoLiq)) * prood.Quantidade); //produtos.ForEach(prood => p.PesoBruto += dcdc.SERVMERCs.SingleOrDefault(sm => sm.CodServMerc == prood.Codigo).PesoBruto * prood.Quantidade); //produtos.ForEach(prood => p.PesoBruto += Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", dcdc.SERVMERCs.SingleOrDefault(sm => sm.CodServMerc == prood.Codigo).PesoBruto)) * prood.Quantidade); string sValidaIPI = "", sIncidenciaDescBaseIpi=""; /*51667 - BIERHOFF*/ r = csBanco.Query("SELECT CALCULAIPI, CALCIPIDESC FROM NATOPER WHERE CODIGO = " + iCodTipMov); if (r.Read()) { sValidaIPI = r["CALCULAIPI"].ToString(); sIncidenciaDescBaseIpi = r["CALCIPIDESC"].ToString(); } r.Close(); //<<51667 decimal cQtdTributavel = 0; decimal cVlrTributavel = 0; decimal cVlrIpi = 0; decimal cVlrPis = 0; decimal cVlrCofins = 0; decimal cQtdEmb = 0; decimal cPercIpi = 0; //<<51667 dcdc.PEDIDOs.InsertOnSubmit(p); foreach (ProdutoResumido produto in produtos) { ITENSPED itped = new ITENSPED(); /* Verifica qual unidade de venda * 0 = Menor Unidade (Padrão) * 2 = Maior Unidade (Selecionada pelo usuário) */ int iUniVend = produto.UnidadeVenda == "0" ? 0 : 2; itped.Consignacao = 'N'; itped.Itp_CodTabPrz = produto.Itp_CodTabPrz; itped.Reserva = Convert.ToChar(pr.SaldoPed); itped.CodEmp = (short)codEmp; itped.Qtd = (decimal)produto.Quantidade; itped.Item = (short)(produtos.IndexOf(produto) + 1); itped.CodServMerc = produto.Codigo; //Comissao Tabela de Preco r = csBanco.Query("SELECT COMISSAO, FATOR FROM FATORES WHERE CODSERVMERC = " + produto.Codigo + " AND CodTipPrc = " + CodPrc_Tab + " AND CodTipPrz = " + produto.Itp_CodTabPrz + ""); decimal dComissaoTabela=0; if (r.Read()) { dComissaoTabela = Convert.ToDecimal(r["COMISSAO"].ToString()); } r.Close(); itped.NumPed = NumPed; //SERVMERC servMercadoria = dcdc.SERVMERCs.SingleOrDefault(sm => sm.CodServMerc == produto.Codigo); r = csBanco.Query("SELECT QTDEMB, VALORPIS, VALORCOFINS, IPI, SERV_VALORIPI, PercDesc, Aliquota, Saldo, PesoLiq, PesoBruto FROM SERVMERC WHERE CODSERVMERC = " + produto.Codigo + ""); if (r.Read()) { itped.DescMax = Convert.ToDecimal(r["PercDesc"].ToString()); itped.Aliquota = Convert.ToDecimal(r["Aliquota"].ToString()); itped.Saldo = (decimal)(Convert.ToDecimal(r["Saldo"].ToString()) - (decimal)produto.Quantidade); //Bug com LinqToSql , tivemos que fazer calculo manualmente... var cLiq = Convert.ToDecimal(r["PesoLiq"].ToString()); p.PesoLiq += cLiq * produto.Quantidade; var cBruto = Convert.ToDecimal(r["PesoBruto"].ToString()); p.PesoBruto += cBruto * produto.Quantidade; //<<51667 cPercIpi = Convert.ToDecimal(r["IPI"] == null ? "0" : r["IPI"].ToString()); cVlrIpi = Convert.ToDecimal(r["SERV_VALORIPI"] == null ? "0" : r["SERV_VALORIPI"].ToString()); cVlrPis = Convert.ToDecimal(r["VALORPIS"].ToString() == "" ? "0" : r["VALORPIS"].ToString()); cVlrCofins = Convert.ToDecimal(r["VALORCOFINS"].ToString() == "" ? "0" : r["VALORCOFINS"].ToString()); cQtdEmb = Convert.ToDecimal(r["QTDEMB"].ToString() == "" ? "0" : r["QTDEMB"].ToString()); //<<51667 } r.Close(); cPesoTotal = cPesoTotal + produto.Peso; itped.VlrProm = 0; itped.UniVenda = (short)iUniVend; if (produto.QtdCaixa == 0) { produto.QtdCaixa = 1; } //Maior e menor unidade decimal cQtdSolicitada = (Convert.ToDecimal(produto.Quantidade) / Convert.ToDecimal(produto.QtdCaixa)); //String.Format("{0:" + Funcoes.Decimais(pr) + "}", products.Sum(p => p.TotalParcial)); //itped.VlrUni = iUniVend == 2 ? (double)(Convert.ToDecimal(produto.Preco) / Convert.ToDecimal(produto.Quantidade)) : (double)produto.Preco; //itped.VlrReal = iUniVend == 2 ? (decimal)produto.Preco / cQtdSolicitada : (decimal)produto.Preco; //itped.VLRUNIVENDA = iUniVend == 2 ? (double)produto.Preco / (double)cQtdSolicitada : (double)produto.Preco; //itped.QTDUNIVENDA = iUniVend == 2 ? cQtdSolicitada : produto.Quantidade; //if (iUniVend == 2) //{ // itped.VLRUNIVENDALIQ = ((double)produto.Preco / (double)cQtdSolicitada) - Convert.ToDouble(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (((double)produto.Preco / (double)cQtdSolicitada) * ((double)produto.Desconto / 100)))); //} //else //{ // itped.VLRUNIVENDALIQ = (double)produto.Preco - Convert.ToDouble(String.Format("{0:" + Funcoes.Decimais(pr) + "}", ((double)produto.Preco * (double)produto.Desconto / 100))); //} //49199 string sPrecoUnitario, sPrecoUnitarioReal, sPrecoUnitarioOriginal; decimal dValorUnitarioLiq; if (iUniVend == 2) { sPrecoUnitario = String.Format("{0:" + Funcoes.Decimais(pr) + "}", (double)(Convert.ToDecimal(produto.Preco) / Convert.ToDecimal(produto.Quantidade))); sPrecoUnitarioReal = String.Format("{0:" + Funcoes.Decimais(pr) + "}", (decimal)produto.Preco / cQtdSolicitada); sPrecoUnitarioOriginal = String.Format("{0:" + Funcoes.Decimais(pr) + "}", (decimal)produto.PrecoReal / cQtdSolicitada); } else { sPrecoUnitario = String.Format("{0:" + Funcoes.Decimais(pr) + "}", (double)produto.Preco); sPrecoUnitarioReal = sPrecoUnitario; sPrecoUnitarioOriginal = String.Format("{0:" + Funcoes.Decimais(pr) + "}", (double)produto.PrecoReal); } itped.ValorIpi = 0; itped.BASEIPI = 0; itped.ALIQIPI = 0; itped.IPIUNIVENDA = 0; /*51954*///Calcular o Valor unitario liquido antes do calculo da Qtd e Vlr tributavel IPI if (iUniVend == 2) { //itped.VLRUNIVENDALIQ = ((double)produto.Preco / (double)cQtdSolicitada) - Convert.ToDouble(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (((double)produto.Preco / (double)cQtdSolicitada) * ((double)produto.Desconto / 100)))); dValorUnitarioLiq = (Convert.ToDecimal(sPrecoUnitarioReal) - (Convert.ToDecimal(sPrecoUnitarioReal) * produto.Desconto / 100)); } else { //itped.VLRUNIVENDALIQ = (double)produto.Preco - Convert.ToDouble(String.Format("{0:" + Funcoes.Decimais(pr) + "}", ((double)produto.Preco * (double)produto.Desconto / 100))); dValorUnitarioLiq = (Convert.ToDecimal(sPrecoUnitario) - (Convert.ToDecimal(sPrecoUnitario) * produto.Desconto / 100)); } dValorUnitarioLiq = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", dValorUnitarioLiq)); //>>51667 //51954 - Considerar o valor unitario liquido. if (sValidaIPI == "S") { /* Se valida IPI */ if (cPercIpi <= 0) /* Se percentual do IPI for zero, considerar valor*/ { cVlrTributavel = Convert.ToDecimal(dValorUnitarioLiq) / (cQtdEmb == 0 ? 1 : cQtdEmb); cQtdTributavel = (decimal)itped.Qtd * (cQtdEmb == 0 ? 1 : cQtdEmb); /*51827*/ if (cVlrIpi > 0) /* Se houver valor de IPI no cadastro da mercadoria*/ { //itped.ValorIpi = cQtdTributavel * cVlrIpi; /*Tratar casas decimais*/ itped.ValorIpi = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (cQtdTributavel * cVlrIpi))); itped.BASEIPI = (decimal)itped.Qtd * Convert.ToDecimal(dValorUnitarioLiq); itped.ALIQIPI = 0; itped.IPIUNIVENDA = itped.ValorIpi; } } else if (cPercIpi > 0) /* Existe Percentual IPI */ { cVlrTributavel = Convert.ToDecimal(dValorUnitarioLiq); cQtdTributavel = (decimal)itped.Qtd; /*51827*/ itped.BASEIPI = cQtdTributavel * Convert.ToDecimal(dValorUnitarioLiq); //itped.ValorIpi = ((itped.BASEIPI * cPercIpi) / 100); /*Tratar casas decimais*/ itped.ValorIpi = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", ((itped.BASEIPI * cPercIpi) / 100))); itped.IPIUNIVENDA = itped.ValorIpi; /* Verificar incidencias sobre base IPI ?*/ itped.ALIQIPI = cPercIpi; } if (sIncidenciaDescBaseIpi.Equals("S")) { itped.BASEIPI = itped.BASEIPI - Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (itped.BASEIPI * DescontoPedido / 100))); } /*51827*/ if (varCLIE_IPISuspenso.Equals("S")) /* Se cliente for suspenso IPI, zera valores calculados*/ { itped.ValorIpi = 0; itped.BASEIPI = 0; itped.ALIQIPI = 0; itped.IPIUNIVENDA = 0; } } /*Não validad IPI*/ else { if (cVlrPis > 0 || cVlrCofins > 0) { cVlrTributavel = Convert.ToDecimal(dValorUnitarioLiq) / (cQtdEmb == 0 ? 1 : cQtdEmb); cQtdTributavel = (decimal)itped.Qtd * (cQtdEmb == 0 ? 1 : cQtdEmb); } else { cVlrTributavel = Convert.ToDecimal(dValorUnitarioLiq); cQtdTributavel = (decimal)itped.Qtd; } } itped.QTDTRIBUTAVEL = cQtdTributavel; itped.VLRTRIBUTAVEL = cVlrTributavel; //<<51667 itped.VlrUni = Convert.ToDouble(sPrecoUnitario); //itped.VlrReal = Convert.ToDecimal(sPrecoUnitarioReal); itped.VlrReal = Convert.ToDecimal(sPrecoUnitarioOriginal); itped.VLRUNIVENDA = Convert.ToDouble(sPrecoUnitarioReal); itped.QTDUNIVENDA = iUniVend == 2 ? cQtdSolicitada : produto.Quantidade; /*51954*/ //if (iUniVend == 2) //{ // //itped.VLRUNIVENDALIQ = ((double)produto.Preco / (double)cQtdSolicitada) - Convert.ToDouble(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (((double)produto.Preco / (double)cQtdSolicitada) * ((double)produto.Desconto / 100)))); // dValorUnitarioLiq = (Convert.ToDecimal(sPrecoUnitarioReal) - (Convert.ToDecimal(sPrecoUnitarioReal) * produto.Desconto / 100)); //} //else //{ // //itped.VLRUNIVENDALIQ = (double)produto.Preco - Convert.ToDouble(String.Format("{0:" + Funcoes.Decimais(pr) + "}", ((double)produto.Preco * (double)produto.Desconto / 100))); // dValorUnitarioLiq = (Convert.ToDecimal(sPrecoUnitario) - (Convert.ToDecimal(sPrecoUnitario) * produto.Desconto / 100)); //} //dValorUnitarioLiq = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", dValorUnitarioLiq)); itped.VLRUNIVENDALIQ = Convert.ToDouble(dValorUnitarioLiq); itped.QtdCan = 0; itped.QTDCANUNIVENDA = 0; itped.QtdTroca = 0; itped.VlrDes = produto.Desconto; //FABIANO - 07/10/2011 itped.ValorDesconto = 0; itped.VlrDescRateio = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (((decimal)itped.VLRUNIVENDALIQ * DescontoPedido / 100) * (decimal)itped.Qtd))); itped.PerDescRateio = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", DescontoPedido)); itped.PercDescGordura = 0; itped.VLRADICIONAL = 0; itped.VLREMBALAGEM = 0; itped.VlrComiss = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (decimal)ClasseComissao.CalculaComissao(pr, Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", iUniVend == 2 ? (double)(Convert.ToDecimal(itped.VLRUNIVENDALIQ) / Convert.ToDecimal(produto.QtdCaixa)) : (double)itped.VLRUNIVENDALIQ)), (decimal)itped.Qtd, 0, 0, comissao_vendedor, dComissaoTabela, produto.Comissao, produto.Comissao, "N", 0, 0, produto.Comissao, (decimal)comissao_televend, (Int16)iIncideVend, (Int16)iIncideTelev, (Int32)produto.Codigo, produto.Desconto))); itped.ComissaoUsada = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (decimal)ClasseComissao.ComissaoUsada)); //VALOR DA COMISSAO TELEVENDEDOR itped.COMISSAOTELEV = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (decimal)ClasseComissao.CalculaComissao(pr, Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", iUniVend == 2 ? (double)(Convert.ToDecimal(itped.VLRUNIVENDALIQ) / Convert.ToDecimal(produto.QtdCaixa)) : (double)itped.VLRUNIVENDALIQ)), (decimal)itped.Qtd, 0, 0, comissao_vendedor, dComissaoTabela, produto.ComissaoTel, produto.Comissao, "T", 0, 0, produto.Comissao, (decimal)comissao_televend, (Int16)iIncideVend, (Int16)iIncideTelev, (Int32)produto.Codigo, produto.Desconto))); itped.COMISSAOUSADATELEV = (decimal)ClasseComissao.ComissaoUsadaTele; itped.FatorComiss = (decimal)ClasseComissao.FatorDesconto; TotalComissao += (decimal)itped.VlrComiss; TotalComissaoTelev += (decimal)itped.COMISSAOTELEV; dcdc.ITENSPEDs.InsertOnSubmit(itped); } p.Comissao = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", TotalComissao)); //Valor da comissao VENDEDOR p.COMISSAOTELEV = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", TotalComissaoTelev)); //Valor da comissao do TELEVENDEDOR (OU SEGUNDO VENDEDOR) //p.PesoBruto = cPesoTotal; //p.PesoLiq = cPesoTotal; dcdc.SubmitChanges(); dcdc.Dispose(); return NumPed; } catch (Exception ex) { if (!String.IsNullOrEmpty(ex.Message)) { throw new Exception(ex.Message); } else { return -1; } } }
public static Decimal CalculaComissao(ParametroResumido pr, Decimal Unitario, Decimal Qtd, Decimal QtdCan, Decimal QtdCanAnt, Decimal Comissao_Vendedor, Decimal Comissao_Tabela, Decimal Comissao_Mercadoria, Decimal Comissao_Grupo, String AvisoComissao, Decimal VP_cPercCom, Decimal VP_cValorCom, Decimal ComissaoCliente, Decimal Comissao_Televendedor, Int16 IncideVendedor, Int16 IncideTelevendedor, Int32 Produto, Decimal cDescontoItem ) { Decimal Retorno = 0; Decimal Retorno_tele = 0; Boolean VR_Nenhuma = true; Decimal fator = 1; Decimal fator_televendas = 1; ClasseBanco csBanco = new ClasseBanco(); //Busca parametro sistema var r = csBanco.Query("SELECT USADESCONTO FROM PARAMETROS WHERE codemp = " + pr.CodEmp); if (r.Read()) { if (r[0].ToString()=="S") //usa desconto { string valorDesconto = Convert.ToString(cDescontoItem); string sSql = " SELECT PERCDE, PERCATE, FATOR FROM DESCONTOS_MERC " + " WHERE " + " DtaValInicial <= '" + String.Format("{0:s}", DateTime.Today) + "' AND " + " DtaValFim >= '" + String.Format("{0:s}", DateTime.Today) + "' AND " + " CODSERVMERC = " + Produto + " AND PERCDE <= " + valorDesconto.Replace(",", ".") + " AND PERCATE >= " + valorDesconto.Replace(",", ".") + " "; r.Close(); var t = csBanco.Query(sSql); while (t.Read()) { if (IncideTelevendedor == 1) { fator_televendas = Convert.ToDecimal(t[2].ToString()); _FatorDesconto = fator_televendas; } if (IncideVendedor == 1) { fator = Convert.ToDecimal(t[2].ToString()); _FatorDesconto = fator; } } t.Close(); } } //aplica fator de desconto as comissoes Decimal Comissao_Mercadoria_Televendas = Comissao_Mercadoria; Comissao_Vendedor = (Comissao_Vendedor * fator); Comissao_Tabela = (Comissao_Tabela * fator); Comissao_Mercadoria = (Comissao_Mercadoria * fator); Comissao_Grupo = (Comissao_Grupo * fator); ComissaoCliente = (ComissaoCliente * fator); Comissao_Televendedor = (Comissao_Televendedor * fator_televendas); Comissao_Mercadoria_Televendas = (Comissao_Mercadoria_Televendas * fator_televendas); // Desconto em valor da base da comissão Unitario -= VP_cValorCom; // Desconto do valor em percentual Unitario -= ((Unitario / 100) * VP_cPercCom); if (AvisoComissao.Equals("S")) { if ((Comissao_Vendedor == 0) && (Comissao_Tabela == 0) && (Comissao_Mercadoria == 0) && (Comissao_Grupo == 0) && (ComissaoCliente == 0)) { throw new Exception("Mercadoria sem Comissão cadastrada."); } } _ComissaoUsada = 0; _ComissaoUsadaTele = 0; // Verifica quem é a prioridade 1 if ((pr.Prioridade_Tab == 1) && (Comissao_Tabela != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * Comissao_Tabela / 100); _ComissaoUsada = Comissao_Tabela; VR_Nenhuma = false; } if ((pr.Prioridade_Repr == 1) && (Comissao_Vendedor != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * Comissao_Vendedor / 100); _ComissaoUsada = Comissao_Vendedor; //prioridade comissao do produto para o televendedor if (Comissao_Mercadoria_Televendas != 0) { Retorno_tele = ((Unitario * (Qtd - QtdCan)) * Comissao_Mercadoria_Televendas / 100); _ComissaoUsadaTele = Comissao_Mercadoria_Televendas; } else { Retorno_tele = ((Unitario * (Qtd - QtdCan)) * Comissao_Televendedor / 100); _ComissaoUsadaTele = Comissao_Televendedor; } VR_Nenhuma = false; } if ((pr.Prioridade_Merc == 1) && (Comissao_Mercadoria != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * Comissao_Mercadoria / 100); _ComissaoUsada = Comissao_Mercadoria; Retorno_tele = ((Unitario * (Qtd - QtdCan)) * Comissao_Mercadoria_Televendas / 100); _ComissaoUsadaTele = Comissao_Mercadoria_Televendas; VR_Nenhuma = false; } if ((pr.PARA_PriorGrupo == 1) && (Comissao_Grupo != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * Comissao_Grupo / 100); _ComissaoUsada = Comissao_Grupo; VR_Nenhuma = false; } if ((pr.Prioridade_Cliente == 1) && (ComissaoCliente != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * ComissaoCliente / 100); _ComissaoUsada = ComissaoCliente; VR_Nenhuma = false; } if (!VR_Nenhuma) { if (AvisoComissao == "T") { return Retorno_tele; //RETORNA COMISSAO TELEVENDEDOR } else { return Retorno; //RETORNA COMISSAO VENDEDOR } } // Verifica quem é a prioridade 2 if ((pr.Prioridade_Tab == 2) && (Comissao_Tabela != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * Comissao_Tabela / 100); _ComissaoUsada = Comissao_Tabela; VR_Nenhuma = false; } if ((pr.Prioridade_Repr == 2) && (Comissao_Vendedor != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * Comissao_Vendedor / 100); _ComissaoUsada = Comissao_Vendedor; //prioridade comissao do produto para o televendedor if (Comissao_Mercadoria_Televendas != 0) { Retorno_tele = ((Unitario * (Qtd - QtdCan)) * Comissao_Mercadoria_Televendas / 100); _ComissaoUsadaTele = Comissao_Mercadoria_Televendas; } else { Retorno_tele = ((Unitario * (Qtd - QtdCan)) * Comissao_Televendedor / 100); _ComissaoUsadaTele = Comissao_Televendedor; } VR_Nenhuma = false; } if ((pr.Prioridade_Merc == 2) && (Comissao_Mercadoria != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * Comissao_Mercadoria / 100); _ComissaoUsada = Comissao_Mercadoria; Retorno_tele = ((Unitario * (Qtd - QtdCan)) * Comissao_Mercadoria_Televendas / 100); _ComissaoUsadaTele = Comissao_Mercadoria_Televendas; VR_Nenhuma = false; } if ((pr.PARA_PriorGrupo == 2) && (Comissao_Grupo != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * Comissao_Grupo / 100); _ComissaoUsada = Comissao_Grupo; VR_Nenhuma = false; } if ((pr.Prioridade_Cliente == 2) && (ComissaoCliente != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * ComissaoCliente / 100); _ComissaoUsada = ComissaoCliente; VR_Nenhuma = false; } if (!VR_Nenhuma) { if (AvisoComissao == "T") { return Retorno_tele; //RETORNA COMISSAO TELEVENDEDOR } else { return Retorno; //RETORNA COMISSAO VENDEDOR } } // Verifica quem é a prioridade 3 if ((pr.Prioridade_Tab == 3) && (Comissao_Tabela != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * Comissao_Tabela / 100); _ComissaoUsada = Comissao_Tabela; VR_Nenhuma = false; } if ((pr.Prioridade_Repr == 3) && (Comissao_Vendedor != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * Comissao_Vendedor / 100); _ComissaoUsada = Comissao_Vendedor; //prioridade comissao do produto para o televendedor if (Comissao_Mercadoria_Televendas != 0) { Retorno_tele = ((Unitario * (Qtd - QtdCan)) * Comissao_Mercadoria_Televendas / 100); _ComissaoUsadaTele = Comissao_Mercadoria_Televendas; } else { Retorno_tele = ((Unitario * (Qtd - QtdCan)) * Comissao_Televendedor / 100); _ComissaoUsadaTele = Comissao_Televendedor; } VR_Nenhuma = false; } if ((pr.Prioridade_Merc == 3) && (Comissao_Mercadoria != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * Comissao_Mercadoria / 100); _ComissaoUsada = Comissao_Mercadoria; Retorno_tele = ((Unitario * (Qtd - QtdCan)) * Comissao_Mercadoria_Televendas / 100); _ComissaoUsadaTele = Comissao_Mercadoria_Televendas; VR_Nenhuma = false; } if ((pr.PARA_PriorGrupo == 3) && (Comissao_Grupo != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * Comissao_Grupo / 100); _ComissaoUsada = Comissao_Grupo; VR_Nenhuma = false; } if ((pr.Prioridade_Cliente == 3) && (ComissaoCliente != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * ComissaoCliente / 100); _ComissaoUsada = ComissaoCliente; VR_Nenhuma = false; } if (!VR_Nenhuma) { if (AvisoComissao == "T") { return Retorno_tele; //RETORNA COMISSAO TELEVENDEDOR } else { return Retorno; //RETORNA COMISSAO VENDEDOR } } // Verifica quem é a prioridade 4 if ((pr.Prioridade_Tab == 4) && (Comissao_Tabela != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * Comissao_Tabela / 100); _ComissaoUsada = Comissao_Tabela; VR_Nenhuma = false; } if ((pr.Prioridade_Repr == 4) && (Comissao_Vendedor != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * Comissao_Vendedor / 100); _ComissaoUsada = Comissao_Vendedor; //prioridade comissao do produto para o televendedor if (Comissao_Mercadoria_Televendas != 0) { Retorno_tele = ((Unitario * (Qtd - QtdCan)) * Comissao_Mercadoria_Televendas / 100); _ComissaoUsadaTele = Comissao_Mercadoria_Televendas; } else { Retorno_tele = ((Unitario * (Qtd - QtdCan)) * Comissao_Televendedor / 100); _ComissaoUsadaTele = Comissao_Televendedor; } VR_Nenhuma = false; } if ((pr.Prioridade_Merc == 4) && (Comissao_Mercadoria != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * Comissao_Mercadoria / 100); _ComissaoUsada = Comissao_Mercadoria; Retorno_tele = ((Unitario * (Qtd - QtdCan)) * Comissao_Mercadoria_Televendas / 100); _ComissaoUsadaTele = Comissao_Mercadoria_Televendas; VR_Nenhuma = false; } if ((pr.PARA_PriorGrupo == 4) && (Comissao_Grupo != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * Comissao_Grupo / 100); _ComissaoUsada = Comissao_Grupo; VR_Nenhuma = false; } if ((pr.Prioridade_Cliente == 4) && (ComissaoCliente != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * ComissaoCliente / 100); _ComissaoUsada = ComissaoCliente; VR_Nenhuma = false; } if (!VR_Nenhuma) { if (AvisoComissao == "T") { return Retorno_tele; //RETORNA COMISSAO TELEVENDEDOR } else { return Retorno; //RETORNA COMISSAO VENDEDOR } } // Verifica quem é a prioridade 5 if ((pr.Prioridade_Tab == 5) && (Comissao_Tabela != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * Comissao_Tabela / 100); _ComissaoUsada = Comissao_Tabela; VR_Nenhuma = false; } if ((pr.Prioridade_Repr == 5) && (Comissao_Vendedor != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * Comissao_Vendedor / 100); _ComissaoUsada = Comissao_Vendedor; //prioridade comissao do produto para o televendedor if (Comissao_Mercadoria_Televendas != 0) { Retorno_tele = ((Unitario * (Qtd - QtdCan)) * Comissao_Mercadoria_Televendas / 100); _ComissaoUsadaTele = Comissao_Mercadoria_Televendas; } else { Retorno_tele = ((Unitario * (Qtd - QtdCan)) * Comissao_Televendedor / 100); _ComissaoUsadaTele = Comissao_Televendedor; } VR_Nenhuma = false; } if ((pr.Prioridade_Merc == 5) && (Comissao_Mercadoria != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * Comissao_Mercadoria / 100); _ComissaoUsada = Comissao_Mercadoria; Retorno_tele = ((Unitario * (Qtd - QtdCan)) * Comissao_Mercadoria_Televendas / 100); _ComissaoUsadaTele = Comissao_Mercadoria_Televendas; VR_Nenhuma = false; } if ((pr.PARA_PriorGrupo == 5) && (Comissao_Grupo != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * Comissao_Grupo / 100); _ComissaoUsada = Comissao_Grupo; VR_Nenhuma = false; } if ((pr.Prioridade_Cliente == 5) && (ComissaoCliente != 0)) { Retorno = ((Unitario * (Qtd - QtdCan)) * ComissaoCliente / 100); _ComissaoUsada = ComissaoCliente; VR_Nenhuma = false; } if (!VR_Nenhuma) { if (AvisoComissao == "T") { return Retorno_tele; //RETORNA COMISSAO TELEVENDEDOR } else { return Retorno; //RETORNA COMISSAO VENDEDOR } } if (AvisoComissao == "T") { return Retorno_tele; //RETORNA COMISSAO TELEVENDEDOR } else { return Retorno; //RETORNA COMISSAO VENDEDOR } }
public static object ListarClientes2(UsuarioResumido u, ParametroResumido pr) { DataClassesDataContext dcdc = new DataClassesDataContext(); var retorno = from x in dcdc.CLIENTEs select new { Id = x.CodCli, nome = (pr.ExibirRazaoSocial == 1 ? x.RazSoc : x.NomFan) }; return retorno; }
protected void DropDownListCategoria_SelectedIndexChanged(object sender, EventArgs e) { pr = (ParametroResumido)Session["Parametros"]; u = (UsuarioResumido)Session["Usuario"]; //GridViewProdutos.Dispose(); if (cbTabelas.SelectedIndex != -1) { CodPrcTab = Convert.ToInt16(cbTabelas.SelectedValue.Split('|').First()); CodPrzTab = Convert.ToInt16(cbTabelas.SelectedValue.Split('|').Last()); } if (DropDownListGrupo.SelectedIndex > 1) { try { GridViewProdutos.DataSource = ClasseProdutos.buscarProdutosPorGrupo(u, pr, Convert.ToInt16(DropDownListGrupo.SelectedValue), CodPrcTab, CodPrzTab); BoundField bf; // formata o campo preço bf = (BoundField)GridViewProdutos.Columns[2]; // Preço base bf.DataFormatString = "{0:" + Funcoes.Decimais(pr) + "}"; GridViewProdutos.DataBind(); } catch (Exception exc){ ClientScript.RegisterStartupScript(this.GetType(), "respostaScript", "<script language = 'javascript'>alert('" + exc.Message + "')</script>"); } PanelUnico.Visible = false; PanelVarios.Visible = true; } else { if (DropDownListGrupo.SelectedIndex == 1) { GridViewProdutos.DataSource = ClasseProdutos.ListarProdutos((UsuarioResumido)Session["Usuario"], CodPrcTab, CodPrzTab); BoundField bf; // formata o campo preço bf = (BoundField)GridViewProdutos.Columns[2]; // Preço base bf.DataFormatString = "R$ {0:" + Funcoes.Decimais(pr) + "}"; GridViewProdutos.DataBind(); PanelUnico.Visible = false; PanelVarios.Visible = true; } else { PanelUnico.Visible = false; PanelVarios.Visible = false; } } }
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 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; }