public string ProximoCodigoCliente(ClasseBanco csBanco) { //Busca proximo codigo de cliente var r = csBanco.Query("SELECT MAX(CodCli)+ 1 AS Maximo FROM NUMCLI"); string iCodigoCliente = ""; if (r.Read()) { iCodigoCliente = r[0].ToString(); } r.Close(); //Insere a nova numeracao na tabela NUMCLI csBanco.ExecutarComando("INSERT INTO NUMCLI (CODCLI) VALUES (" + iCodigoCliente + ")"); return iCodigoCliente; }
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 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 Int32 ProximoPedido(UsuarioResumido u) { DataClassesDataContext dcdc = new DataClassesDataContext(); ClasseBanco csBanco = new ClasseBanco(); //pega ultimo pedido disponivel na PARAMETROS int numPedido = (int)dcdc.PARAMETROs.Single(prm => prm.CodEmp == (short)u.CodEmp).NumPedIni; //Proximo Pedido numPedido++; //Verifica se o pedido existe var r = csBanco.Query("SELECT 1 FROM PEDIDO WHERE CODEMP = " + (short)u.CodEmp + " AND NUMPED = " + numPedido + ""); if (r.Read()) { r.Dispose(); var rTemp = csBanco.Query("SELECT MAX(NUMPED) FROM PEDIDO WHERE CODEMP = " + (short)u.CodEmp + ""); if (rTemp.Read()) { numPedido = Convert.ToInt32(rTemp[0].ToString()) + 1; } rTemp.Dispose(); } else { r.Dispose(); } //Atualiza PARAMETROS dcdc.PARAMETROs.Single(prm => prm.CodEmp == (short)u.CodEmp).NumPedIni = numPedido; //Atualiza NUMPED csBanco.ExecutarComando("UPDATE NUMPED SET NUMPED = " + (numPedido) + ""); //Commit dcdc.SubmitChanges(); return numPedido; }