예제 #1
0
        public static DataTable GetDadosLogin(string tipo, string cartao, string cpf)
        {
            netUtil.Funcoes func = new netUtil.Funcoes();

              string sql = " SELECT conv.conv_id, cart.senha, cart.cartao_id FROM conveniados conv" +
                       " JOIN cartoes cart ON (cart.conv_id = conv.conv_id) " +
                       " WHERE cart.apagado <> 'S' AND conv.apagado <> 'S' ";

              if (tipo.Equals("cartao"))
              {
              string codigo = "";
              string digito = "";
              if (cartao.Length > 3)
              {
                  codigo = cartao.Substring(0, cartao.Length - 2);
                  digito = cartao.Substring(cartao.Length - 2, 2);

                  sql += " AND(( cart.codigo = " + codigo;
                  sql += " AND cart.digito = " + digito + " )";
                  sql += " OR (cart.codcartimp = '" + cartao + "'))";
              }
              else
                  sql += " AND cart.codcartimp ='" + cartao + "'";
              }
              else
              sql += " AND cart.titular = 'S' AND (conv.cpf = '" + cpf + "' OR conv.cpf = '" + cpf.Replace(".", "").Replace("-", "") + "')";

              BD BD = new BD();
              return BD.GetDataTable(sql, null);
        }
예제 #2
0
        public static DataTable GetDadosLoginCantinex(string tipo, string email, string cpf)
        {
            netUtil.Funcoes func = new netUtil.Funcoes();

              string sql = " SELECT conv.conv_id, conv.senha_cantinex, cart.cartao_id FROM conveniados conv" +
                       " JOIN cartoes cart ON (cart.conv_id = conv.conv_id) " +
                       " WHERE cart.apagado <> 'S' AND conv.apagado <> 'S' ";

              if (tipo.Equals("cartao"))
              {
              sql += "AND conv.EMAIL = '" + email.Trim() + "'";
              }
              else
              sql += " AND cart.titular = 'S' AND (conv.cpf = '" + cpf + "' OR conv.cpf = '" + cpf.Replace(".", "").Replace("-", "") + "')";

              BD BD = new BD();
              return BD.GetDataTable(sql, null);
        }
예제 #3
0
        public static DataTable PesquisaTotal(int empres_id, string chapa, string cartao, string nome, string status, string grupo, bool total, bool empr_prog_desc, DALMisc.TipoLimite tipo_limite)
        {
            string sql = "SELECT DISTINCT conv.chapa, conv.titular,";
             sql += " (CASE conv.liberado WHEN 'S' THEN 'Liberado' ELSE 'Bloqueado' END) AS status ";
             if (!empr_prog_desc)
             {
            sql += " ,conv.limite_mes";
            if(tipo_limite != DALMisc.TipoLimite.Total)
               sql += " ,COALESCE((SELECT saldo_mes FROM saldo_conv(conv.conv_id) WHERE fechamento = (SELECT Min(data_fecha) FROM dia_fecha WHERE data_fecha >= current_timestamp AND empres_id = Conv.Empres_id)),0) AS saldo_prox";
            if (total)
               sql += ", COALESCE((SELECT SUM(saldo_mes) FROM saldo_conv(conv.conv_id)),0) AS saldo_total";
             }
             sql += " FROM Conveniados conv";
             sql += " JOIN Cartoes cart ON conv.conv_id = cart.conv_id";

             string where = " WHERE conv.apagado <> 'S' AND cart.apagado <> 'S' AND conv.empres_id = " + empres_id;

             if (grupo != "0")
            where += " AND conv.grupo_conv_emp=" + grupo;

             netUtil.Funcoes funcoes = new netUtil.Funcoes();

             if (chapa != "")
            where += " AND conv.chapa = " + chapa;
             else
            if (cartao != "") //procura pelo cartao
            {
               string codigo = "";
               string digito = "";
               if (cartao.Length > 3)
               {
                  codigo = cartao.Substring(0, cartao.Length - 2);
                  digito = cartao.Substring(cartao.Length - 2, 2);

                  sql += " AND(( cart.codigo = " + codigo;
                  sql += " AND cart.digito = " + digito + " )";
                  sql += " OR (cart.codcartimp = '" + cartao + "'))";
               }
               else
                  sql += " AND cart.codcartimp ='" + cartao + "'";
            }
            else
               if (nome != "")//procura pelo Nome
                  where += " AND (conv.titular LIKE '" + (nome.Length > 3 ? "%" : "") + nome.ToUpper() + "%')";

             if (!status.Equals("T"))
            where += " AND conv.liberado = '" + status + "'";

             BD BD = new BD();
             return BD.GetDataTable(sql + where + " ORDER BY conv.titular ", null);
        }
예제 #4
0
        //Alterado para SqlServer
        public static DataTable PesquisaPaginadaAli(int page, int empres_id, string chapa, string cartao, string nome, string status, string grupo)
        {
            int band_id = GetEmpresBandId(empres_id);

              string sql;

              sql = " DECLARE @TamanhoPagina INT; ";
              sql += " DECLARE @NumeroPagina INT; ";
              sql += " SET @TamanhoPagina = 20; ";
              sql += " SET @NumeroPagina = " + page + ";";
              sql += " WITH Paginado AS ( ";
              sql += " SELECT ROW_NUMBER() OVER(ORDER BY CONV.TITULAR) AS linha, ";
              sql += "        conv.conv_id,";
              sql += "        conv.titular, \n";
              sql += "        coalesce(conv.limite_mes,0.00) limite_mes, \n";
              sql += "        coalesce(alc.dias_trab,0) dias_trab, \n";
              sql += "        coalesce(alc.abono_valor,0.00) abono_mes, \n";
              sql += "        coalesce(alc.renovacao_valor, 0.00) saldo_renovacao, \n";
              sql += "        alr.RENOVACAO_ID, \n";
              sql += "        alr.DATA_RENOVACAO, \n";
              sql += "        alr.TIPO_CREDITO \n";
              sql += "   FROM conveniados conv \n";
              sql += "   JOIN Cartoes cart ON cart.conv_id = conv.conv_id \n";
              sql += "   left join ALIMENTACAO_RENOVACAO alr on alr.EMPRES_ID = conv.EMPRES_ID \n";
              sql += "   left join ALIMENTACAO_RENOVACAO_CREDITOS alc on alc.RENOVACAO_ID = alr.RENOVACAO_ID and alc.CONV_ID = conv.CONV_ID \n";

              string where = " WHERE conv.apagado <> 'S' AND cart.apagado <> 'S' AND cart.liberado <> 'I' AND conv.empres_id = " + empres_id;

              if (grupo != "0")
              where += " AND conv.grupo_conv_emp=" + grupo;

              netUtil.Funcoes funcoes = new netUtil.Funcoes();

              if (chapa != "")
              where += " AND conv.chapa = " + chapa;
              else
              if (cartao != "") //procura pelo cartao
              {
                  string codigo = "";
                  string digito = "";
                  if (cartao.Length > 3)
                  {
                      codigo = cartao.Substring(0, cartao.Length - 2);
                      digito = cartao.Substring(cartao.Length - 2, 2);

                      where += " AND(( cart.codigo = " + codigo;
                      where += " AND cart.digito = " + digito + " )";
                      where += " OR (cart.codcartimp = '" + cartao + "'))";
                  }
                  else
                      where += " AND cart.codcartimp ='" + cartao + "'";
              }
              else
                  if (nome != "")//procura pelo Nome
                      where += " AND (conv.titular LIKE '" + (nome.Length > 3 ? "%" : "") + nome.ToUpper() + "%')";

              where += " AND conv.liberado = '" + status + "'";

              string paginado = ") SELECT TOP (@TamanhoPagina) * FROM Paginado p WHERE linha > @TamanhoPagina * (@NumeroPagina - 1)  ORDER BY titular ";

              BD BD = new BD();
              return BD.GetDataTable(sql + where + paginado, null);
        }
예제 #5
0
        //Alterado para SqlServer
        public static DataTable PesquisaPaginada(int page, int empres_id, string chapa, string cartao, string nome, string status, string grupo)
        {
            int band_id = GetEmpresBandId(empres_id);

             string sql;

             sql = " DECLARE @TamanhoPagina INT; ";
             sql += " DECLARE @NumeroPagina INT; ";
             sql += " SET @TamanhoPagina = 10; ";
             sql += " SET @NumeroPagina = " + page + ";";
             sql += " WITH Paginado AS ( ";
             sql += " SELECT ROW_NUMBER() OVER(ORDER BY CONV.TITULAR) AS linha, ";
             sql += "        conv.conv_id,";
             sql += "        conv.chapa, \n";
             sql += "        conv.titular, \n";
             sql += "        (case conv.liberado when 'S' then 'Liberado' else 'Bloqueado' end) as status, \n";
             sql += "        case \n";
             sql += "          when emp.band_id <> 999 then \n";
             sql += "           (case \n";
             sql += "          when bc.conv_id = conv.conv_id then \n";
             sql += "           bc.limite_1 \n";
             sql += "          else \n";
             sql += "           b.limite_1 \n";
             sql += "        end) else conv.limite_mes end as limite_mes, \n";
             sql += "        coalesce(case \n";
             sql += "                   when bc.conv_id = conv.conv_id then \n";
             sql += "                     bc.limite_2 \n";
             sql += "                   else \n";
             sql += "                     b.limite_2 \n";
             sql += "                 end, \n";
             sql += "                 0) as limite_mes_2, \n";
             sql += "  \n";
             sql += "        coalesce(case \n";
             sql += "                   when bc.conv_id = conv.conv_id then \n";
             sql += "                    bc.limite_3 \n";
             sql += "                   else \n";
             sql += "                    b.limite_3 \n";
             sql += "                 end, \n";
             sql += "                 0) as limite_mes_3, \n";
             sql += "        coalesce(case \n";
             sql += "                   when bc.conv_id = conv.conv_id then \n";
             sql += "                    bc.limite_4 \n";
             sql += "                   else \n";
             sql += "                    b.limite_4 \n";
             sql += "                 end, \n";
             sql += "                 0) as limite_mes_4, \n";
             sql += "        COALESCE((case \n";
             sql += "                   when emp.band_id <> 999 then \n";
             sql += "                    (case \n";
             sql += "                   when bc.conv_id = conv.conv_id then \n";
             sql += "                    bc.limite_1 \n";
             sql += "                   else \n";
             sql += "                    b.limite_1 \n";
             sql += "                 end) ";
             sql += "                 else (case when emp.tipo_credito = 2 or emp.tipo_credito = 3 then (conv.limite_mes + conv.saldo_acumulado + conv.abono_mes) \n";
             sql += "          		  else conv.limite_mes end) end) - \n";
             sql += "        coalesce(conv.consumo_mes_1,0), 0) as saldo_disponivel_1, \n";
             sql += "        coalesce((case \n";
             sql += "                   when emp.band_id <> 999 then \n";
             sql += "                    (case \n";
             sql += "                   when bc.conv_id = conv.conv_id then \n";
             sql += "                    bc.limite_2 \n";
             sql += "                   else \n";
             sql += "                   b.limite_2 \n";
             sql += "                 end) else 0 end) - \n";
             sql += "        coalesce(conv.consumo_mes_2,0), 0) as saldo_disponivel_2, \n";
             sql += "        COALESCE((case \n";
             sql += "                   when emp.band_id <> 999 then \n";
             sql += "                    (case \n";
             sql += "                   when bc.conv_id = conv.conv_id then \n";
             sql += "                    bc.limite_3 \n";
             sql += "                   else \n";
             sql += "                    b.limite_3 \n";
             sql += "                 end) else 0 end) - \n";
             sql += "        coalesce(conv.consumo_mes_3,0), 0) as saldo_disponivel_3, \n";
             sql += "        coalesce((case \n";
             sql += "                   when emp.band_id <> 999 then \n";
             sql += "                    (case \n";
             sql += "                   when bc.conv_id = conv.conv_id then \n";
             sql += "                    bc.limite_4 \n";
             sql += "                   else \n";
             sql += "                    b.limite_4 \n";
             sql += "                 end) else 0 end) - \n";
             sql += "        coalesce(conv.consumo_mes_4,0), 0) as saldo_disponivel_4, \n";
             sql += "   coalesce(conv.saldo_acumulado,0) as acumulado, \n";
             sql += "   coalesce(conv.consumo_mes_1,0) + coalesce(conv.consumo_mes_2,0) + coalesce(conv.consumo_mes_3,0) + coalesce(conv.consumo_mes_4,0) as saldo_total, \n";
             sql += "   coalesce(conv.consumo_mes_1,0) + coalesce(conv.consumo_mes_2,0) + coalesce(conv.consumo_mes_3,0) + coalesce(conv.consumo_mes_4,0) as saldo_prox \n";
             sql += "   FROM conveniados conv \n";
             sql += "   JOIN Cartoes cart ON cart.conv_id = conv.conv_id \n";
             sql += "   join empresas emp on conv.empres_id = emp.empres_id \n";
             sql += "   join bandeiras b on b.band_id = emp.band_id \n";
             sql += "   left join bandeiras_conv bc on conv.conv_id = bc.conv_id \n";

             string where = " WHERE conv.apagado <> 'S' AND cart.apagado <> 'S' AND cart.liberado <> 'I' AND conv.empres_id = " + empres_id;

             if (grupo != "0")
            where += " AND conv.grupo_conv_emp=" + grupo;

             netUtil.Funcoes funcoes = new netUtil.Funcoes();

             if (chapa != "")
            where += " AND conv.chapa = " + chapa;
             else
            if (cartao != "") //procura pelo cartao
            {
               string codigo = "";
               string digito = "";
               if (cartao.Length > 3)
               {
                 codigo = cartao.Substring(0, cartao.Length - 2);
                 digito = cartao.Substring(cartao.Length - 2, 2);

                 where += " AND(( cart.codigo = " + codigo;
                 where += " AND cart.digito = " + digito + " )";
                 where += " OR (cart.codcartimp = '" + cartao + "'))";
               }
               else
                 where += " AND cart.codcartimp ='" + cartao + "'";
            }
            else
               if (nome != "")//procura pelo Nome
                  where += " AND (conv.titular LIKE '" + (nome.Length > 3 ? "%" : "") + nome.ToUpper() + "%')";

             if (!status.Equals("T"))
            where += " AND conv.liberado = '" + status + "'";
             string group = " group by conv.titular, conv.conv_id, conv.CHAPA, conv.LIBERADO, EMP.BAND_ID, CONV.limite_mes, BC.CONV_ID, BC.LIMITE_1, B.LIMITE_1, "
                + " BC.LIMITE_2, B.LIMITE_2, BC.LIMITE_3, B.LIMITE_3, BC.LIMITE_4, B.LIMITE_4, CONV.CONSUMO_MES_1, CONV.CONSUMO_MES_2, conv.CONSUMO_MES_3, "
                + " CONV.CONSUMO_MES_4, CONV.SALDO_ACUMULADO, emp.tipo_credito,conv.abono_mes ";
             string paginado = ") SELECT TOP (@TamanhoPagina) * FROM Paginado p WHERE linha > @TamanhoPagina * (@NumeroPagina - 1)  ORDER BY titular ";

             BD BD = new BD();
             return BD.GetDataTable(sql + where + group + paginado , null);
        }
예제 #6
0
        public static int PesqPagVirtualItemCount(int empres_id, string chapa, string cartao, string nome, string status, string grupo)
        {
            string where = " WHERE conv.apagado <> 'S' AND cart.apagado <> 'S' AND conv.empres_id = " + empres_id;

             if (grupo != "0")
            where += " AND conv.grupo_conv_emp=" + grupo;

             netUtil.Funcoes funcoes = new netUtil.Funcoes();

             if (chapa != "")
            where += " AND conv.chapa = " + chapa;
             else
            if (cartao != "") //procura pelo cartao
            {
               string codigo = "";
               string digito = "";
               if (cartao.Length > 3)
               {
                  codigo = cartao.Substring(0, cartao.Length - 2);
                  digito = cartao.Substring(cartao.Length - 2, 2);

                  where += " AND(( cart.codigo = " + codigo;
                  where += " AND cart.digito = " + digito + " )";
                  where += " OR (cart.codcartimp = '" + cartao + "'))";
               }
               else
                  where += " AND cart.codcartimp ='" + cartao + "'";
            }
            else
               if (nome != "")//procura pelo Nome
                  where += " AND (conv.titular LIKE '" + (nome.Length > 3 ? "%" : "") + nome.ToUpper() + "%')";

             if (!status.Equals("T"))
            where += " AND conv.liberado = '" + status + "'";

             BD BD = new BD();
             return BD.ExecuteScalar<Int32>(0, " SELECT DISTINCT count(*) FROM Conveniados conv JOIN Cartoes cart ON conv.conv_id = cart.conv_id and cart.titular = 'S' " + where, null);
        }
예제 #7
0
        //Alterado para SqlServer
        public static Conveniados IncluiConv(Conveniados pConv, string pOperador, int cred_id, string cartao_ativo, string codigoImportacao, Bandeiras_Conv band_conv, int nProtocolo)
        {
            pConv.Conv_id = GeraConvId();

             if (pConv.Chapa == 0)
            pConv.Chapa = pConv.Conv_id;

             MontadorSql mont = new MontadorSql("conveniados", MontadorType.Insert);
             mont.AddField("conv_id", pConv.Conv_id);
             mont.AddField("chapa", pConv.Chapa); //Matricula
             mont.AddField("titular", Utils.TirarAcento(pConv.Titular.ToUpper()));
             mont.AddField("liberado", pConv.Status.ToUpper());
             mont.AddField("contrato", Convert.ToInt32(pConv.Conv_id));
             mont.AddField("empres_id", pConv.Empresa.Empres_id);
             netUtil.Funcoes func = new netUtil.Funcoes();
             mont.AddField("senha", func.Crypt("E", "1111", "BIGCOMPRAS"));
             mont.AddField("dtcadastro", System.DateTime.Now);
             mont.AddField("banco", 0);
             mont.AddField("apagado", 'N');
             mont.AddField("endereco", Utils.TirarAcento(pConv.Endereco.Logradouro.ToUpper()));
             mont.AddField("numero", pConv.Endereco.Numero);
             mont.AddField("bairro", Utils.TirarAcento(pConv.Endereco.Bairro.ToUpper()));
             mont.AddField("cidade", Utils.TirarAcento(pConv.Endereco.Cidade.ToUpper()));
             mont.AddField("estado", pConv.Endereco.Uf);
             mont.AddField("cep", pConv.Endereco.Cep.ToUpper());
             mont.AddField("operador", pOperador);
             mont.AddField("cpf", pConv.Cpf);
             mont.AddField("rg", pConv.Rg.ToUpper());
             mont.AddField("obs1", Utils.TirarAcento(pConv.Obs1.ToUpper()));
             mont.AddField("obs2", Utils.TirarAcento(pConv.Obs2.ToUpper()));
             mont.AddField("telefone1", pConv.Telefone1.ToUpper());
             mont.AddField("email", pConv.Email);
             mont.AddField("cargo", Utils.TirarAcento(pConv.Cargo.ToUpper()));
             mont.AddField("setor", Utils.TirarAcento(pConv.Setor.ToUpper()));
             mont.AddField("usa_saldo_dif", pConv.Usa_saldo_dif.ToUpper());
             int incluiu;
             if (pConv.Usa_saldo_dif.Equals("S") && band_conv != null)
             {
               MontadorSql mont2 = new MontadorSql("bandeiras_conv", MontadorType.Insert);
               mont2.AddField("conv_id", band_conv.Conv_id);
               if (band_conv.Limite_1 > 0)
             mont2.AddField("limite_1", band_conv.Limite_1);
               if (band_conv.Limite_2 > 0)
             mont2.AddField("limite_2", band_conv.Limite_2);
               if (band_conv.Limite_3 > 0)
             mont2.AddField("limite_3", band_conv.Limite_3);
               if (band_conv.Limite_4 > 0)
             mont2.AddField("limite_4", band_conv.Limite_4);
               mont.AddField("limite_mes", band_conv.Limite_1 + band_conv.Limite_2 + band_conv.Limite_3 + band_conv.Limite_4);
               BD BD2 = new BD();
               incluiu = BD2.ExecuteNoQuery(mont.GetSqlString(), mont.GetParams());
               if (incluiu == 1)
               {
             //Log.GravaLog("FCadConv", "conv_id", "", pConv.Conv_id.ToString(), pOperador, "Inclusão", "Cadastro de bandeira de Conveniados", pConv.Conv_id.ToString(), "Conv ID: " + pConv.Conv_id, "");
               }
               else
               {
             pConv.Conv_id = 0;
             return pConv;
               }
             }
             else
               mont.AddField("limite_mes", pConv.LimiteMes);
             if (pConv.Grupo_conv_emp != 0)
            mont.AddField("grupo_conv_emp", pConv.Grupo_conv_emp);
             if (!string.IsNullOrEmpty(pConv.DtNasc))
            mont.AddField("dt_nascimento", pConv.DtNasc);
             BD BD = new BD();
             incluiu = BD.ExecuteNoQuery(mont.GetSqlString(), mont.GetParams());
             if (incluiu == 1)  //se entrar cria o cartão
             {
            int logID = Log.GeraLogID();
            Log.GravaLog(logID, "FCadConv", "conv_id", "", pConv.Conv_id.ToString(), pOperador, "Inclusão", "Cadastro de Conveniados", pConv.Conv_id.ToString(), "Conv ID: " + pConv.Conv_id, "", nProtocolo);
            Cartoes cart = new DALCartao().IncluiCartao(pConv.Conv_id, Utils.TirarAcento(pConv.Titular), pConv.LimiteMes, pConv.Status, pOperador, "S", 0, cred_id, cartao_ativo, pConv.DtNasc, codigoImportacao, nProtocolo);
            pConv.addCartao(cart);
             }
             else pConv.Conv_id = 0;

             return pConv;
        }