예제 #1
0
        public static void IncluirPermissoes(int usu_id, string tipo)
        {
            try
            {
                SqlParamsList ps = new SqlParamsList();
                ps.Add(new Fields("tipo", tipo));
                ps.Add(new Fields("usuid", usu_id));

                string sql = "SELECT mod.mod_id";
                sql += " FROM Modulos_Web mod";
                sql += " WHERE mod.mod_id NOT IN (";
                sql += " SELECT mod_id FROM Permissoes_Web perm WHERE perm.usu_id = @usuid)";
                sql += " AND mod.mod_tipo = @tipo";

                BD        BD = new BD();
                DataTable dt = BD.GetDataTable(sql, ps);

                foreach (DataRow row in dt.Rows)
                {
                    MontadorSql mont = new MontadorSql("permissoes_web", MontadorType.Insert);
                    mont.AddField("usu_id", usu_id);
                    mont.AddField("mod_id", Convert.ToInt32(row["mod_id"]));
                    mont.AddField("perm_permite", "S");

                    BD.ExecuteNoQuery(mont.GetSqlString(), mont.GetParams());
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao incluir permissões: " + ex.Message);
            }
        }
예제 #2
0
        /// <summary>
        /// Obtem as autorizacoes do estabelecimento
        /// </summary>
        /// <param name="numSerie"></param>
        /// <returns></returns>
        //Alterado para SqlServer
        public static DataTable getContaCorrente(string numSerie)
        {
            string    sql = "";
            DataTable dt  = new DataTable();
            BD        BD  = new BD();

            dt = getFPeriodo(numSerie);

            if (dt.Rows.Count > 0)
            {
                SqlParamsList ps = new SqlParamsList();
                ps.Add(new Fields("@dataini", dt.Rows[0]["data_abertura"]));
                ps.Add(new Fields("@datafin", dt.Rows[0]["data_fechamento"]));
                ps.Add(new Fields("@cred_id", dt.Rows[0]["cred_id"]));

                sql  = "select sum(cc.debito) as valor, cc.cred_id, c.codcartimp, cc.formapagto_id, f.descricao, ";
                sql += " cast(concat(day(cc.datavenda),'.',month(cc.datavenda),'.',";
                sql += " year(cc.datavenda),' 00:00:00') as smalldatetime) as data ";
                sql += " from contacorrente cc ";
                sql += " inner join cartoes c on cc.cartao_id = c.cartao_id ";
                sql += " inner join formaspagto f on cc.formapagto_id = f.forma_id ";
                sql += " where datavenda between @dataini and @datafin and cc.cred_id = @cred_id and cc.cancelada = 'N' and cc.operador = 'POS.DB' ";
                sql += " group by cc.cred_id, c.codcartimp, cc.formapagto_id, f.descricao, cc.trans_id, data, cc.datavenda ";
                sql += " order by data, cc.formapagto_id ";

                dt = BD.GetDataTable(sql, ps);
            }
            return(dt);
        }
예제 #3
0
        //Alterado para SqlServer
        public static List<Programas> GetProgConvOuEmpr(int conv_id, int empres_id)
        {
            SqlParamsList ps = new SqlParamsList();
             ps.Add(new Fields("convid", conv_id));
             ps.Add(new Fields("empresid", empres_id));

             string sql = " SELECT prog.prog_id, prog.nome";
             sql += " FROM Programas prog";
             sql += " WHERE prog.apagado <> 'S'";
             sql += " AND prog.dt_inicio <= '" + DateTime.Now.ToString("dd/MM/yyyy") + "'";
             sql += " AND prog.dt_fim >= '" + DateTime.Now.ToString("dd/MM/yyyy") + "'";
             sql += " AND (prog.prog_id IN (";
             sql += "    SELECT prog_id FROM Prog_Empr WHERE empres_id = @empresid)";
             sql += " OR prog.prog_id IN (";
             sql += "    SELECT prog_id FROM Prog_Conv WHERE conv_id = @convid))";

             BD BD = new BD();
             DataTable table = BD.GetDataTable(sql, ps);

             List<Programas> lista = new List<Programas>();

             foreach (DataRow row in table.Rows)
             {
            Programas prog = new Programas();
            prog.Prog_id = Convert.ToInt32(row["prog_id"]);
            prog.Nome = row["nome"].ToString();
            lista.Add(prog);
             }

             return lista;
        }
예제 #4
0
        public static DataTable GetValeDescontoPendente(int cred_id)
        {
            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("cred_id", cred_id));
            ps.Add(new Fields("data_atual", DateTime.Now));

            string sql = @"SELECT
                            x.trans_id, x.datahora, x.titular, x.credito, SUM(COALESCE(hb.debito,0)) AS debito, (x.credito - SUM(COALESCE(hb.debito,0))) AS vale_acum_saldo, x.dataexpira
                        FROM
                        (
                        SELECT
                            t.trans_id, t.datahora, c.titular, h.credito, h.dataexpira
                            FROM transacoes t
                            JOIN vale_historico h ON t.trans_id = h.trans_id AND h.cancelado = 'N'
                            JOIN conveniados c ON h.conv_id = c.conv_id AND c.apagado <> 'S'
                            WHERE t.cred_id = @cred_id
                            AND h.dataexpira >= @data_atual
                            AND h.credito > 0.00
                        ) x
                        LEFT JOIN vale_historico hb ON x.trans_id = hb.trans_id_baixa AND hb.cancelado <> 'S'
                        GROUP BY x.trans_id, x.datahora, x.credito, x.titular, x.dataexpira
                        HAVING (x.credito - SUM(COALESCE(hb.debito,0))) > 0
                        ORDER BY x.trans_id";

            BD BD = new BD();

            return(BD.GetDataTable(sql, ps));
        }
예제 #5
0
        //Alterado para SqlServer
        public static Double GetCupom(int conv_id, int ano, int mes)
        {
            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("conv_id", conv_id));

            BD  BD       = new BD();
            int empresId = BD.ExecuteScalar(-1, "select top 1 empres_id from conveniados where apagado <> 'S' and conv_id = @conv_id", ps);

            ps.Add(new Fields("fechamento", DALEmpresa.getDataFechamento(empresId, mes, ano)));
            ps.Add(new Fields("cod_limite", "N"));

            DataTable dt = new DataTable();

            dt = BD.GetDataTable("exec SALDO_PROXFECHA_CONV " + conv_id + ",N,'" + DALEmpresa.getDataFechamento(empresId, mes, ano) + "'", null);
            if (dt.Rows.Count != 0)
            {
                return(Convert.ToDouble(dt.Rows[0]["TOTAL"]));
            }
            else
            {
                return(0);
            }
            //return Convert.ToDouble(BD.ExecuteScalar("select coalesce(sum(total),0.00) total_saldo from saldo_conv(@conv_id) where  fechamento = @fechamento", ps));
        }
예제 #6
0
        //Alterado para SqlServer
        public static DataTable GetFaturas(int empres_id, int ano)
        {
            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("empres_id", empres_id));
            ps.Add(new Fields("ano", ano));

            string sql = "SELECT fat.id, fat.data_fatura, COALESCE(hora_fatura,'00:00:00') AS hora_fatura,";

            sql += " fat.data_vencimento, fat.so_confirmadas, fat.obs, fat.fatura_id, fat.fechamento,";
            sql += " fat.operador, fat.valor, fat.data_baixa, fat.apagado, fat.baixada,";
            sql += " COALESCE(fat.tipo,'E') AS tipo, CASE WHEN COALESCE(fat.tipo,'E') = 'E' THEN emp.nome";
            sql += " ELSE conv.titular END AS nome, COALESCE(desc_empresa,0) AS desc_empresa, (valor - coalesce(desc_empresa,0)) AS valor_liquido";
            sql += " FROM Fatura fat";
            sql += " LEFT JOIN Empresas emp ON COALESCE(fat.tipo,'E') = 'E' AND emp.empres_id = fat.id";
            sql += " LEFT JOIN Conveniados conv ON fat.tipo = 'C' AND conv.conv_id = fat.id";
            sql += " WHERE COALESCE(fat.apagado,'N') <> 'S'";
            sql += " AND emp.empres_id = @empres_id";
            sql += " AND YEAR(data_fatura) = @ano";
            sql += " ORDER BY data_vencimento DESC";

            BD BD = new BD();

            return(BD.GetDataTable(sql, ps));
        }
예제 #7
0
        public static DataTable GetFechamentosAlimentacaoRefeicao(string dataini, string datafin, int empres_id, string chapa,
                                                                  string cartao, string nome, string status, string setor)
        {
            SqlParamsList sl = new SqlParamsList();

            if (dataini == null || dataini.Trim().Equals(""))
            {
                sl.Add(new Fields("dataini", null));
            }
            else
            {
                sl.Add(new Fields("dataini", Convert.ToDateTime(dataini)));
            }
            if (datafin == null || datafin.Trim().Equals(""))
            {
                sl.Add(new Fields("datafin", null));
            }
            sl.Add(new Fields("empres_id", empres_id));
            if (chapa.Trim().Equals(""))
            {
                sl.Add(new Fields("chapa", null));
            }
            else
            {
                sl.Add(new Fields("chapa", Convert.ToInt64(chapa)));
            }
            sl.Add(new Fields("cartao", (cartao.Trim().Equals("") ? null : cartao)));
            sl.Add(new Fields("titular", (nome.Trim().Equals("") ? null : nome)));
            sl.Add(new Fields("status", (status.Trim().Equals("") || status.Trim().Equals("T") ? null : status)));
            sl.Add(new Fields("setor", (setor.Trim().Equals("") || setor.Trim().Equals("0") ? null : setor)));

            BD BD = new BD();

            return(BD.GetDataTable(" titular, empresa_desc, conv_id_ret, cartao_ret, data, credito, acumulado_mes_ant, gasto, acumulado_prox_mes from extrato_alim_ref(@dataini,@datafin,@empres_id,@chapa,@cartao,@titular,@status,@setor)", sl));
        }
예제 #8
0
        //Alterado para SqlServer
        public static List <Programas> GetProgConvOuEmpr(int conv_id, int empres_id)
        {
            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("convid", conv_id));
            ps.Add(new Fields("empresid", empres_id));

            string sql = " SELECT prog.prog_id, prog.nome";

            sql += " FROM Programas prog";
            sql += " WHERE prog.apagado <> 'S'";
            sql += " AND prog.dt_inicio <= '" + DateTime.Now.ToString("dd/MM/yyyy") + "'";
            sql += " AND prog.dt_fim >= '" + DateTime.Now.ToString("dd/MM/yyyy") + "'";
            sql += " AND (prog.prog_id IN (";
            sql += "    SELECT prog_id FROM Prog_Empr WHERE empres_id = @empresid)";
            sql += " OR prog.prog_id IN (";
            sql += "    SELECT prog_id FROM Prog_Conv WHERE conv_id = @convid))";

            BD        BD    = new BD();
            DataTable table = BD.GetDataTable(sql, ps);

            List <Programas> lista = new List <Programas>();

            foreach (DataRow row in table.Rows)
            {
                Programas prog = new Programas();
                prog.Prog_id = Convert.ToInt32(row["prog_id"]);
                prog.Nome    = row["nome"].ToString();
                lista.Add(prog);
            }

            return(lista);
        }
예제 #9
0
        public static List <Usuarios> GetUsuarios(string tipo, int emp_for_id)
        {
            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("tipo", tipo));
            ps.Add(new Fields("id", emp_for_id));

            string sql = "SELECT usu_id, usu_nome, usu_email, usu_liberado";

            sql += " FROM Usuarios_Web";
            sql += " WHERE usu_tipo = @tipo";
            sql += " AND emp_for_id = @id";
            sql += " AND usu_apagado <> 'S'";

            BD        BD = new BD();
            DataTable dt = BD.GetDataTable(sql, ps);

            List <Usuarios> lista = new List <Usuarios>();

            foreach (DataRow row in dt.Rows)
            {
                Usuarios usuario = new Usuarios();
                usuario.Usu_id       = Convert.ToInt32(row["usu_id"]);
                usuario.Usu_nome     = row["usu_nome"].ToString();
                usuario.Usu_email    = row["usu_email"].ToString();
                usuario.Usu_liberado = row["usu_liberado"].ToString();
                lista.Add(usuario);
            }

            return(lista);
        }
예제 #10
0
        // Verifica do Fornecedor(Farmacias) as empresas com movimento no periodo indicado
        public DataTable CriarEmpresasComMovimento(Extratos pExtrato, int pCredenciadoId)
        {
            string sql = " SELECT DISTINCT emp.empres_id, emp.nome";

            sql += " FROM Contacorrente cc";
            sql += " JOIN Conveniados conv ON conv.conv_id  = cc.conv_id";
            sql += " JOIN Empresas emp ON conv.empres_id = emp.empres_id";
            sql += " WHERE (cc.cred_id = @credId)";
            if (pExtrato.Tipo.Equals("A"))
            {
                sql += " AND cc.data BETWEEN @datai AND @dataf";
            }
            else
            {
                sql += " AND cc.data_fecha_emp BETWEEN @datai AND @dataf";
            }

            sql = ParamsSQL(pExtrato, sql) + " ORDER BY emp.nome";

            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("@credId", pCredenciadoId));
            ps.Add(new Fields("@datai", pExtrato.DataIni.ToString("dd/MM/yyyy")));
            ps.Add(new Fields("@dataf", pExtrato.DataFim.ToString("dd/MM/yyyy")));

            BD BD = new BD();

            return(BD.GetDataTable(sql, ps));
        }
예제 #11
0
        public static int getCredIdFromCodAcessoESenha(int codAcesso, string senha)
        {
            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("@codAcesso", codAcesso));
            ps.Add(new Fields("@senha", senha));
            BD BD = new BD();

            return(BD.ExecuteScalar(-1, "select cred_id from credenciados where codacesso = @codAcesso and senha = @senha", ps));
        }
예제 #12
0
        public DataTable RelatorioPorEmpresa(Extratos pExtrato, int pCredenciadoId)
        {
            string sql          = string.Empty;
            string sqlfromwhere = string.Empty;

            sql           = " SELECT DISTINCT conv.chapa, conv.titular, emp.empres_id, emp.nome,";
            sql          += " cc.debito, cc.credito, cc.data, cc.nf, \n";
            sql          += " (concat(CAST(cc.autorizacao_id AS varchar(10)), \n";
            sql          += " (CASE WHEN digito < 10 THEN '0'+ CAST(digito AS char(1)) ELSE \n";
            sql          += " CAST(digito AS char(2)) end))) AS autorizacao, \n";
            sql          += " cast(debito - credito as decimal(15,2)) saldo \n";
            sqlfromwhere  = " FROM Contacorrente cc \n";
            sqlfromwhere += " JOIN Conveniados conv ON conv.conv_id  = cc.conv_id \n";
            sqlfromwhere += " JOIN Empresas emp ON conv.empres_id = emp.empres_id \n";
            sqlfromwhere += " WHERE cc.cred_id = @credId \n";
            sqlfromwhere += " AND (cc.autorizacao_id_canc is null and cc.cancelada = 'N') \n";
            if (pExtrato.Tipo.Equals("A"))
            {
                sqlfromwhere += " AND cc.data BETWEEN @datai AND @dataf \n";
            }
            else
            {
                sqlfromwhere += " AND cc.data_fecha_emp BETWEEN @datai AND @dataf \n";
            }


            sqlfromwhere = ParamsSQL(pExtrato, sqlfromwhere);
            if (!pExtrato.TodasEmpresas)
            {
                string emps = String.Empty;
                foreach (string e in pExtrato.EmpresasMarcadas.Keys)
                {
                    emps += "," + e;
                }
                emps = emps.Substring(1);//ignorar a primeira virgula.

                sqlfromwhere += " AND (conv.empres_id IN (" + emps + ") ) ";
            }
            sql += sqlfromwhere + " ORDER BY ";
            if (pExtrato.CampoOrdemEmp != null)
            {
                sql += pExtrato.CampoOrdemEmp + ",";
            }
            sql += pExtrato.CampoOrdem;

            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("@credId", pCredenciadoId));
            ps.Add(new Fields("@datai", pExtrato.DataIni.ToString("dd/MM/yyyy")));
            ps.Add(new Fields("@dataf", pExtrato.DataFim.ToString("dd/MM/yyyy")));

            BD BD = new BD();

            return(BD.GetDataTable(sql, ps));
        }
예제 #13
0
        public static int getAtualizarEmail(int empres_id, string email)
        {
            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("@email", email));
            ps.Add(new Fields("@empres_id", empres_id));

            BD BD = new BD();

            return(BD.ExecuteNoQuery("update empresas set email = @email where empres_id = @empres_id", ps));
        }
예제 #14
0
        //Pega o desconto do Credenciado (Farmacia) - Carrega um novo DataTable para preencher o subReport
        public DataTable aRecebDesconto(int cred_id, double valor_pgto)
        {
            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("cred_id", cred_id));
            ps.Add(new Fields("valor", valor_pgto));
            BD        BD     = new BD();
            DataTable tabDes = BD.GetDataTable("SELECT 0 AS pagamento_cred_id, id, descricao, valor, (CASE WHEN fixa = 'S' THEN 'Sim' ELSE 'Não' END) AS fixa FROM Get_descontoscred(@cred_id,@valor)", ps);

            return(tabDes);
        }
예제 #15
0
        //Alterado para SqlServer
        public static DateTime getDataFechamento(int empresId, int mes, int ano)
        {
            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("@empres_id", empresId));
            ps.Add(new Fields("@mes", mes));
            ps.Add(new Fields("@ano", ano));
            BD BD = new BD();

            return(BD.ExecuteScalar(System.DateTime.Parse("01/01/1000"), "select data_fecha from dia_fecha where empres_id = @empres_id and month(data_fecha) = @mes and year(data_fecha) = @ano", ps));
        }
예제 #16
0
        public static Usuarios GetDadosLogin(string usu_email, string tipo)
        {
            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("email", usu_email));
            ps.Add(new Fields("tipo", tipo));

            string sql = "SELECT usu.usu_id, usu.usu_nome, usu.usu_senha, usu.emp_for_id, tip.nome";

            if (tipo.Equals("0"))
            {
                sql += ",tip.prog_desc, tip.inc_cart_pbm";
            }
            sql += " FROM Usuarios_Web usu";
            if (tipo.Equals("0"))
            {
                sql += " JOIN Empresas tip ON tip.empres_id = usu.emp_for_id";
            }
            else
            {
                sql += " JOIN Credenciados tip ON tip.cred_id = usu.emp_for_id";
            }
            sql += " WHERE usu.usu_email = @email";
            sql += " AND usu.usu_tipo = @tipo";
            sql += " AND usu.usu_liberado <> 'N'";
            sql += " AND usu.usu_apagado <> 'S'";
            sql += " AND tip.apagado <> 'S'";

            BD      BD  = new BD();
            DataRow row = BD.GetOneRow(sql, ps);

            Usuarios usuario = new Usuarios();

            if (row != null)
            {
                usuario.Usu_id       = Convert.ToInt32(row["usu_id"]);
                usuario.Usu_nome     = row["usu_nome"].ToString();
                usuario.Usu_senha    = row["usu_senha"].ToString();
                usuario.Emp_for_id   = Convert.ToInt32(row["emp_for_id"]);
                usuario.Emp_for_nome = row["nome"].ToString();
                if (tipo.Equals("0"))
                {
                    usuario.Emp_tipo         = row["prog_desc"].ToString();
                    usuario.Emp_inc_cart_pbm = row["inc_cart_pbm"].ToString();
                }
            }
            else
            {
                usuario.Usu_id = 0;
            }

            return(usuario);
        }
예제 #17
0
        public static DataTable RelatorioAnalitico(Extratos pExtrato, int pCredenciadoId)
        {
            string sql = "SELECT DATA, SUM(VALOR * QTDE) AS VALOR FROM CRED_COMANDA WHERE CRED_ID = " + pCredenciadoId + " AND DATA BETWEEN @datai AND @dataf GROUP BY DATA ORDER BY DATA";

            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("@credId", pCredenciadoId));
            ps.Add(new Fields("@datai", pExtrato.DataIni.ToString("dd/MM/yyyy")));
            ps.Add(new Fields("@dataf", pExtrato.DataFim.ToString("dd/MM/yyyy")));

            BD BD = new BD();

            return(BD.GetDataTable(sql, ps));
        }
예제 #18
0
        public static string GetCupom(int trans_id, int cred_id)
        {
            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("trans", trans_id));
            ps.Add(new Fields("cred", cred_id));

            string sql = "SELECT t.cupom";

            sql += " FROM Transacoes t";
            sql += " WHERE t.trans_id = @trans";
            sql += " AND t.cred_id = @cred";
            sql += " AND t.aberta = 'N'";
            sql += " AND t.confirmada  = 'S'";
            sql += " AND t.cancelado = 'N'";

            try
            {
                BD             BD    = new BD();
                SafeDataReader dr    = BD.GetDataReader(sql, ps);
                string         cupom = String.Empty;
                try
                {
                    if (dr.Read())
                    {
                        byte[] buffer            = dr.GetBytes(0);
                        System.Text.Encoding enc = System.Text.Encoding.ASCII;
                        cupom = enc.GetString(buffer);
                    }
                }
                finally
                {
                    dr.Close();
                }

                if (cupom.Equals("\0"))
                {
                    throw new Exception("Não há cupom gravado para esta transação");
                }
                else
                {
                    return(cupom);
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao obter cupom: " + ex.Message);
            }
        }
예제 #19
0
        public static bool insereCupomUltimosCupons(string cupom, string serialNumber)
        {
            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("@serialNumber", serialNumber));
            BD BD = new BD();

            //deletando possível cupom existente
            BD.ExecuteScalar("delete from webpos_ultimos_cupons where serial_number = @serialNumber", ps);

            ps.Add(new Fields("@cupom", cupom));
            //inserindo o novo cupom
            BD.ExecuteScalar("insert into webpos_ultimos_cupons values(@cupom,@serialNumber)", ps);
            return(Convert.ToInt32(BD.ExecuteScalar("select count(*) from webpos_ultimos_cupons where cupom = @cupom and serial_number = @serialNumber", ps)) > 0);
        }
예제 #20
0
        //Alterado para SqlServer
        public static List <Permissoes> GetPermissoesUsuario(int usu_id, string tipo)
        {
            IncluirPermissoes(usu_id, tipo);

            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("usuid", usu_id));

            string sql = "SELECT mod.mod_id, mod.mod_nome, perm.perm_permite";

            sql += " FROM Permissoes_Web perm";
            sql += " JOIN Modulos_Web mod ON perm.mod_id = mod.mod_id";
            sql += " WHERE perm.usu_id = @usuid";

            BD        BD = new BD();
            DataTable dt = BD.GetDataTable(sql, ps);

            List <Permissoes> lista = new List <Permissoes>();

            foreach (DataRow row in dt.Rows)
            {
                Permissoes permissao = new Permissoes();
                permissao.Modulo.Mod_id   = Convert.ToInt32(row["mod_id"]);
                permissao.Modulo.Mod_nome = row["mod_nome"].ToString();
                permissao.Perm_permite    = row["perm_permite"].ToString();

                lista.Add(permissao);
            }
            return(lista);
        }
예제 #21
0
 public static string SNumDigito(string transID)
 {
     SqlParamsList ps = new SqlParamsList();
     ps.Add(new Fields("@transID", transID));
     BD BD = new BD();
     return BD.ExecuteScalar("select top 1 digito from autor_transacoes where trans_id = @transID", ps).ToString();
 }
예제 #22
0
        //Alterado para SqlServer
        public static DataTable GetAutorizacoes(int conv_id, DateTime periodo, bool baixados)
        {
            SqlParamsList ps = new SqlParamsList();
             ps.Add(new Fields("conv_id", conv_id));

             string sql = " select CONTACORRENTE.DATA, CONTACORRENTE.AUTORIZACAO_ID, CONTACORRENTE.DIGITO, " +
                      " CARTOES.CODIGO as COD, CARTOES.DIGITO as DIG, " +
                      " CREDENCIADOS.FANTASIA AS CREDENCIADO," +
                      " COALESCE(SUM(CONTACORRENTE.DEBITO - CONTACORRENTE.CREDITO),0) as VALOR, " +
                      " CONTACORRENTE.HISTORICO " +
                      " from CONTACORRENTE JOIN CREDENCIADOS ON CREDENCIADOS.CRED_ID = CONTACORRENTE.CRED_ID " +
                      " JOIN CARTOES ON CARTOES.CARTAO_ID = CONTACORRENTE.CARTAO_ID " +
                      " where (CONTACORRENTE.CARTAO_ID = CARTOES.CARTAO_ID)  " +
                      " and CONTACORRENTE.CONV_ID = @conv_id" +
                      " and (CONTACORRENTE.DATA_FECHA_EMP = '" +
                      periodo.ToString("dd/MM/yyyy") + "')";

             if (!baixados)
            sql += " and (COALESCE(CONTACORRENTE.BAIXA_CONVENIADO,'N') <> 'S') ";

             sql += "GROUP BY CARTOES.CODIGO, CARTOES.DIGITO, CONTACORRENTE.DATA, CONTACORRENTE.AUTORIZACAO_ID," +
                " CONTACORRENTE.DIGITO, CREDENCIADOS.FANTASIA, CONTACORRENTE.HISTORICO";

             BD BD = new BD();
             return BD.GetDataTable(sql, ps);
        }
예제 #23
0
        public static UsuariosAdm GetDadosLogin(string usuario)
        {
            string sql = "SELECT usu.usuario_id, usu.nome, usu.liberado AS usuliberado, COALESCE(usu.senha,1111) AS senha,";
             sql += " gru.administrador, gru.liberado AS gruliberado";
             sql += " FROM Usuarios usu";
             sql += " JOIN Grupo_Usuarios gru ON usu.grupo_usu_id = gru.grupo_usu_id";
             sql += " WHERE usu.apagado <> 'S'";
             sql += " AND gru.apagado <> 'S'";
             sql += " AND usu.nome=@nome";

             SqlParamsList ps = new SqlParamsList();
             ps.Add(new Fields("nome", usuario.ToUpper()));

             BD BD = new BD();
             DataRow row = BD.GetOneRow(sql, ps);

             UsuariosAdm usu = new UsuariosAdm();

             if(row != null)
             {
            usu.Usuario_id = Convert.ToInt32(row["usuario_id"]);
            usu.Liberado = (!row["usuliberado"].ToString().Equals("N"));
            usu.Senha = row["senha"].ToString();
            usu.Grupo.Administrador = (!row["administrador"].ToString().Equals("N"));
            usu.Grupo.Liberado = (!row["gruliberado"].ToString().Equals("N"));
             }
             else
            usu.Usuario_id = 0;

             return usu;
        }
예제 #24
0
        // Retorna uma lista de produtos da autorização
        public static List <Produtos> GetProdAutor(string pAutorizacaoId)
        {
            string sql = " Select PRECO_UNI, PRECO_TAB, QTDE, DESCRICAO, MOV_PROD2.PROD_ID, CODINBS, MOV_ID, COMREC" +
                         " FROM MOV_PROD2 JOIN PRODUTOS ON PRODUTOS.PROD_ID = MOV_PROD2.PROD_ID " +
                         " WHERE MOV_PROD2.AUTORIZACAO_ID = @autorizacaoId AND MOV_PROD2.CANCELADO <> 'S'";
            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("autorizacaoId", pAutorizacaoId));
            BD              BD       = new BD();
            SafeDataReader  dr       = BD.GetDataReader(sql, ps);
            List <Produtos> prodList = new List <Produtos>();

            try
            {
                while (dr.Read())
                {
                    Produtos prod = new Produtos();
                    prod.Descricao   = dr.GetString("DESCRICAO");
                    prod.PrecoTabela = dr.GetDouble("PRECO_TAB");
                    prod.PrecoVenda  = dr.GetDouble("PRECO_UNI");
                    prod.Qtde        = dr.GetInt32("QTDE");
                    prod.Produto_id  = dr.GetInt32("PROD_ID");
                    prod.ComRec      = dr.GetString("COMREC");

                    prodList.Add(prod);
                }
            }
            finally
            {
                dr.Close();
            }
            return(prodList);
        }
예제 #25
0
 public static string NumAutorizacao(string transID)
 {
     SqlParamsList ps = new SqlParamsList();
     ps.Add(new Fields("@transID", transID));
     BD BD = new BD();
     return BD.ExecuteScalar("select top 1 autorizacao_id from contacorrente where trans_id = @transID", ps).ToString();
 }
예제 #26
0
        public static UsuariosAdm GetDadosLogin(string usuario)
        {
            string sql = "SELECT usu.usuario_id, usu.nome, usu.liberado AS usuliberado, COALESCE(usu.senha,1111) AS senha,";

            sql += " gru.administrador, gru.liberado AS gruliberado";
            sql += " FROM Usuarios usu";
            sql += " JOIN Grupo_Usuarios gru ON usu.grupo_usu_id = gru.grupo_usu_id";
            sql += " WHERE usu.apagado <> 'S'";
            sql += " AND gru.apagado <> 'S'";
            sql += " AND usu.nome=@nome";

            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("nome", usuario.ToUpper()));

            BD      BD  = new BD();
            DataRow row = BD.GetOneRow(sql, ps);

            UsuariosAdm usu = new UsuariosAdm();

            if (row != null)
            {
                usu.Usuario_id          = Convert.ToInt32(row["usuario_id"]);
                usu.Liberado            = (!row["usuliberado"].ToString().Equals("N"));
                usu.Senha               = row["senha"].ToString();
                usu.Grupo.Administrador = (!row["administrador"].ToString().Equals("N"));
                usu.Grupo.Liberado      = (!row["gruliberado"].ToString().Equals("N"));
            }
            else
            {
                usu.Usuario_id = 0;
            }

            return(usu);
        }
예제 #27
0
 /// <summary>
 /// Abre ou Fecha o Terminal/POS
 /// </summary>
 /// <param name="abrir">deseja abrir ou fechar o terminal/POS?</param>
 /// <param name="numSerie">qual o número de Série do Terminal/POS?</param>
 /// <param name="codacesso">qual o código de acesso do estabelecimento?</param>
 /// <returns>retorna um estado do Termainal/POS sendo: 0 = indicando que incluiu com sucesso; 1 = indicando que o número de serie do terminal/POS não foi encontrado; e 2 = indicando que houve um erro ao tentar incluir no banco 3 = senha invalida 4 = terminal já está aberto 5 = terminal já está fechado 6 = senha incorreta</returns>
 //Alterado para SqlServer
 public static int abrirFecharPOS(bool abrir, string numSerie, string senha)
 {
     if (existeTerminal(numSerie))
       {
     if (verificaSenhaCredPorPos(numSerie, senha))
     {
       SqlParamsList ps = new SqlParamsList();
       ps.Add(new Fields("@numSerie", numSerie));
       BD BD = new BD();
       int r = verificaPosAberto(numSerie);
       if (abrir && r == 1)
     return 4;
       else if (!abrir && r == 0)
     return 5;
       //adicionando novo parâmetro pra incluir o registro como "aberto" ou "fechado"
       DateTime dt = DateTime.Parse(DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"), new System.Globalization.CultureInfo("pt-br"));
       if (incluirTerminaisAbertura(dt, abrir, numSerie))
     return 0;
       else
     return 2;
     }
     else
     {
       return 6;
     }
       }
       else
       {
     return 1;
       }
 }
예제 #28
0
        //Alterado para SqlServer
        public static DataTable GetCartoes(int conv_id, DateTime periodo, bool baixados)
        {
            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("conv_id", conv_id));

            string sql = " select CARTOES.NOME, CARTOES.CODIGO as COD, CARTOES.DIGITO as DIG, " +
                         " coalesce(sum(CONTACORRENTE.DEBITO - CONTACORRENTE.CREDITO),0) as VALOR " +
                         " from CONTACORRENTE JOIN CARTOES ON CARTOES.CARTAO_ID = CONTACORRENTE.CARTAO_ID " +
                         " where CONTACORRENTE.CONV_ID = @conv_id " +
                         " and (CONTACORRENTE.CARTAO_ID = CARTOES.CARTAO_ID)  " +
                         " and (CONTACORRENTE.DATA_FECHA_EMP = '" +
                         periodo.ToString("dd/MM/yyyy") + "')";

            if (!baixados)
            {
                sql += " and (COALESCE(CONTACORRENTE.BAIXA_CONVENIADO,'N') <> 'S') ";
            }

            sql += " GROUP BY CARTOES.CODIGO, CARTOES.DIGITO, CARTOES.NOME";

            BD BD = new BD();

            return(BD.GetDataTable(sql, ps));
        }
예제 #29
0
        //Alterado para SqlServer
        public static DataTable GetAutorizacoes(int conv_id, DateTime periodo, bool baixados)
        {
            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("conv_id", conv_id));

            string sql = " select CONTACORRENTE.DATA, CONTACORRENTE.AUTORIZACAO_ID, CONTACORRENTE.DIGITO, " +
                         " CARTOES.CODIGO as COD, CARTOES.DIGITO as DIG, " +
                         " CREDENCIADOS.FANTASIA AS CREDENCIADO," +
                         " COALESCE(SUM(CONTACORRENTE.DEBITO - CONTACORRENTE.CREDITO),0) as VALOR, " +
                         " CONTACORRENTE.HISTORICO " +
                         " from CONTACORRENTE JOIN CREDENCIADOS ON CREDENCIADOS.CRED_ID = CONTACORRENTE.CRED_ID " +
                         " JOIN CARTOES ON CARTOES.CARTAO_ID = CONTACORRENTE.CARTAO_ID " +
                         " where (CONTACORRENTE.CARTAO_ID = CARTOES.CARTAO_ID)  " +
                         " and CONTACORRENTE.CONV_ID = @conv_id" +
                         " and (CONTACORRENTE.DATA_FECHA_EMP = '" +
                         periodo.ToString("dd/MM/yyyy") + "')";

            if (!baixados)
            {
                sql += " and (COALESCE(CONTACORRENTE.BAIXA_CONVENIADO,'N') <> 'S') ";
            }

            sql += "GROUP BY CARTOES.CODIGO, CARTOES.DIGITO, CONTACORRENTE.DATA, CONTACORRENTE.AUTORIZACAO_ID," +
                   " CONTACORRENTE.DIGITO, CREDENCIADOS.FANTASIA, CONTACORRENTE.HISTORICO";

            BD BD = new BD();

            return(BD.GetDataTable(sql, ps));
        }
예제 #30
0
        // Retorna uma lista de produtos da autorização
        public static List<Produtos> GetProdAutor(string pAutorizacaoId)
        {
            string sql = " Select PRECO_UNI, PRECO_TAB, QTDE, DESCRICAO, MOV_PROD2.PROD_ID, CODINBS, MOV_ID, COMREC" +
                        " FROM MOV_PROD2 JOIN PRODUTOS ON PRODUTOS.PROD_ID = MOV_PROD2.PROD_ID " +
                        " WHERE MOV_PROD2.AUTORIZACAO_ID = @autorizacaoId AND MOV_PROD2.CANCELADO <> 'S'";
             SqlParamsList ps = new SqlParamsList();
             ps.Add(new Fields("autorizacaoId", pAutorizacaoId));
             BD BD = new BD();
             SafeDataReader dr = BD.GetDataReader(sql, ps);
             List<Produtos> prodList = new List<Produtos>();
             try
             {
             while (dr.Read())
             {
                 Produtos prod = new Produtos();
                 prod.Descricao = dr.GetString("DESCRICAO");
                 prod.PrecoTabela = dr.GetDouble("PRECO_TAB");
                 prod.PrecoVenda = dr.GetDouble("PRECO_UNI");
                 prod.Qtde = dr.GetInt32("QTDE");
                 prod.Produto_id = dr.GetInt32("PROD_ID");
                 prod.ComRec = dr.GetString("COMREC");

                 prodList.Add(prod);
             }

             }
             finally
             {
             dr.Close();
             }
             return prodList;
        }
예제 #31
0
        // Busca no banco, produtos pela descricao. Se a Descrição tiver menos ou 3 caracteres, procura por produtos que comecem com a descricao,
        // caso contrario, que contenham a descrição.
        public static DataTable ListaProd(string pDescricaoProd)
        {
            string sql = " SELECT prod.prod_id, precos.preco_final, precos.preco_sem_desconto, precos.data, UPPER(prod.descricao) AS descricao  " +
                         " FROM Produtos prod JOIN Precos ON precos.prod_id = prod.prod_id " +
                         " WHERE prod.apagado <> 'S' AND COALESCE(prod.ENVIADO_FARMACIA,'N') <> 'S' AND COALESCE(prod.CODINBS,'') <> '' ";

            if (pDescricaoProd.Length <= 3)
            {
                sql += " AND prod.descricao STARTING WITH @descr";
            }
            else
            {
                sql += " AND prod.descricao CONTAINING @descr";
            }

            sql += " ORDER BY prod.descricao, precos.data ";

            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("descr", pDescricaoProd));

            BD BD = new BD();

            return(BD.GetDataTable(sql, ps));
        }
예제 #32
0
        //Alterado para SqlServer
        public static bool ExisteNaoLidas(string local, int id)
        {
            string sql = "SELECT mensagens_id FROM Mensagens";

            sql += " WHERE apagado = 'N'";
            sql += " AND lido = 'N'";
            if (local.Equals("F"))
            {
                sql += " AND destinatario_tp = 'CREDENCIADOS'";
            }
            else
            {
                sql += " AND destinatario_tp = 'EMPRESAS'";
            }
            sql += " AND destinatario_id = @Id";

            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("Id", id));

            BD        BD        = new BD();
            DataTable resultado = BD.GetDataTable(sql, ps);

            if (resultado.Rows.Count > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #33
0
        public static string[] GetDescricaoProduto(string codbarras)
        {
            string sql = " SELECT FIRST 1 COALESCE(prod.descricao,'') AS descricao, COALESCE(prod.preco_vnd,prod.preco_final,0) AS preco";
             sql += " FROM Produtos prod";
             sql += " JOIN Barras bar ON bar.prod_id = prod.prod_id";
             sql += " WHERE prod.apagado <> 'S'";
             sql += " AND bar.barras = @codbarras";

             SqlParamsList ps = new SqlParamsList();
             ps.Add(new Fields("codbarras", codbarras));

             BD BD = new BD();
             DataRow row = BD.GetOneRow(sql, ps);

             string[] retorno = new string[2];

             retorno[0] = string.Empty;
             retorno[1] = "0,00";

             if (row != null)
             {
            retorno[0] = row["descricao"].ToString();
            retorno[1] = Convert.ToDouble(row["preco"]).ToString("N2");
             }

             return retorno;
        }
예제 #34
0
        public static DataTable GetItensEnviados(string local, int id)
        {
            string sql = "SELECT mensagens_id, remetente_tp, datahora, assunto, lido, usuario";

            sql += " FROM Mensagens";
            sql += " WHERE COALESCE(apagado,'N')='N'";
            if (local.Equals("F"))
            {
                sql += " AND remetente_tp = 'CREDENCIADOS'";
            }
            else
            {
                sql += " AND remetente_tp = 'EMPRESAS'";
            }
            sql += " AND remetente_id = @Id";
            sql += " ORDER BY datahora DESC";

            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("Id", id));

            BD BD = new BD();

            return(BD.GetDataTable(sql, ps));
        }
예제 #35
0
        public static string[] GetDescricaoProduto(string codbarras)
        {
            string sql = " SELECT FIRST 1 COALESCE(prod.descricao,'') AS descricao, COALESCE(prod.preco_vnd,prod.preco_final,0) AS preco";

            sql += " FROM Produtos prod";
            sql += " JOIN Barras bar ON bar.prod_id = prod.prod_id";
            sql += " WHERE prod.apagado <> 'S'";
            sql += " AND bar.barras = @codbarras";

            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("codbarras", codbarras));

            BD      BD  = new BD();
            DataRow row = BD.GetOneRow(sql, ps);

            string[] retorno = new string[2];

            retorno[0] = string.Empty;
            retorno[1] = "0,00";

            if (row != null)
            {
                retorno[0] = row["descricao"].ToString();
                retorno[1] = Convert.ToDouble(row["preco"]).ToString("N2");
            }

            return(retorno);
        }
예제 #36
0
        public static DataTable GetAnosFechamentos(int empres_id)
        {
            SqlParamsList ps = new SqlParamsList();
             ps.Add(new Fields("empres_id", empres_id));
             ps.Add(new Fields("dataAtual", DateTime.Now));

             string sql = " SELECT DISTINCT EXTRACT(YEAR FROM data_fecha_emp) AS ano";
             sql += " FROM Conveniados conv";
             sql += " JOIN ContaCorrente cc ON cc.conv_id = conv.conv_id";
             sql += " WHERE conv.empres_id = @empres_id";
             sql += " AND cc.data_fecha_emp <= @dataAtual";
             sql += " ORDER BY ano DESC";

             BD BD = new BD();
             return BD.GetDataTable(sql, ps);
        }
예제 #37
0
 public static string GetNumTransacao(string autorizacao)
 {
     SqlParamsList ps = new SqlParamsList();
       ps.Add(new Fields("@autor_id", autorizacao));
       BD BD = new BD();
       string s = Convert.ToString(BD.ExecuteScalar("SELECT TRANS_ID FROM AUTOR_TRANSACOES WHERE AUTOR_ID = @autor_id", ps));
       return s;
 }
예제 #38
0
 /// <summary>
 /// Diz se existe o POS cadastrado no banco;
 /// </summary>
 /// <param name="numSerie">número de série do POS</param>
 /// <returns>o Retorno é true  caso o Terminal/POS exista no BD e false caso contrário</returns>
 //Alterado para SqlServer
 public static bool existeTerminal(string numSerie)
 {
     SqlParamsList ps = new SqlParamsList();
       ps.Add(new Fields("@serial_number", numSerie));
       BD BD = new BD();
       int qtd = Convert.ToInt32(BD.ExecuteScalar(-1, "select count(*) from pos where pos_serial_number = @serial_number", ps));
       return qtd > 0;
 }
예제 #39
0
        public static string EmpresIdPorCartao(string codcartimp)
        {
            BD            BD    = new BD();
            SqlParamsList param = new SqlParamsList();

            param.Add(new Fields("codcartimp", codcartimp));
            return(BD.ExecuteScalar("", "SELECT FIRST 1 CONV.EMPRES_ID FROM CONVENIADOS CONV WHERE CONV.APAGADO <> 'S' and CONV.CONV_ID = (SELECT CARD.CONV_ID FROM CARTOES CARD WHERE CARD.APAGADO <> 'S' AND CARD.CODCARTIMP = @codcartimp)", param));
        }
예제 #40
0
        //Alterado para SqlServer
        public static int PagaCred(int cred_id)
        {
            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("@cred_id", cred_id));
            BD BD = new BD();

            return(BD.ExecuteScalar(-1, "select paga_cred_por_id from credenciados where cred_id = @cred_id", ps));
        }
예제 #41
0
        public static String getCNPJ(int credID)
        {
            SqlParamsList ps = new SqlParamsList();

            ps.Add(new Fields("@cred_id", credID));
            BD BD = new BD();

            return(BD.ExecuteScalar("", "select CGC from credenciados where cred_id = @cred_id", ps).ToString());
        }
예제 #42
0
        public static string GetCupom(int trans_id, int cred_id)
        {
            SqlParamsList ps = new SqlParamsList();
             ps.Add(new Fields("trans", trans_id));
             ps.Add(new Fields("cred", cred_id));

             string sql = "SELECT t.cupom";
             sql += " FROM Transacoes t";
             sql += " WHERE t.trans_id = @trans";
             sql += " AND t.cred_id = @cred";
             sql += " AND t.aberta = 'N'";
             sql += " AND t.confirmada  = 'S'";
             sql += " AND t.cancelado = 'N'";

             try
             {
            BD BD = new BD();
            SafeDataReader dr = BD.GetDataReader(sql, ps);
             string cupom = String.Empty;
             try
             {
                if (dr.Read())
                {
                   byte[] buffer = dr.GetBytes(0);
                   System.Text.Encoding enc = System.Text.Encoding.ASCII;
                   cupom = enc.GetString(buffer);
                }
             }
             finally
             {
                 dr.Close();
             }

            if (cupom.Equals("\0"))
                throw new Exception("Não há cupom gravado para esta transação");
            else
                return cupom;

             }
             catch(Exception ex)
             {
            throw new Exception("Erro ao obter cupom: " + ex.Message);
             }
        }
예제 #43
0
        public static DataTable BuscarFilhosCartoesCantinex(int convId)
        {
            SqlParamsList ps = new SqlParamsList();
              ps.Add(new Fields("conv_id", convId));
              string sql = "SELECT '<TODOS>' AS NOME, '0' AS CODCARTIMP FROM CARTOES UNION SELECT NOME, CODCARTIMP FROM CARTOES WHERE CODCARTIMP <> '' AND CONV_ID = " + convId + " ORDER BY NOME";

              BD BD = new BD();
              DataTable dt = BD.GetDataTable(sql, ps);

              return dt;
        }
예제 #44
0
        public static DataTable RelatorioAnalitico(Extratos pExtrato, int pCredenciadoId)
        {
            string sql = "SELECT DATA, SUM(VALOR * QTDE) AS VALOR FROM CRED_COMANDA WHERE CRED_ID = " + pCredenciadoId + " AND DATA BETWEEN @datai AND @dataf GROUP BY DATA ORDER BY DATA";

            SqlParamsList ps = new SqlParamsList();
            ps.Add(new Fields("@credId", pCredenciadoId));
            ps.Add(new Fields("@datai", pExtrato.DataIni.ToString("dd/MM/yyyy")));
            ps.Add(new Fields("@dataf", pExtrato.DataFim.ToString("dd/MM/yyyy")));

            BD BD = new BD();
            return BD.GetDataTable(sql, ps);
        }
예제 #45
0
        public static DataTable BuscarTodosCartoesCantinex(int convId)
        {
            SqlParamsList ps = new SqlParamsList();
              ps.Add(new Fields("conv_id", convId));
              string sql = "SELECT CART.NOME nome, CART.CODCARTIMP codcartimp"
                     + " from cartoes cart WHERE CART.CONV_ID = 174244";

              BD BD = new BD();
              DataTable dt = BD.GetDataTable(sql, ps);

              return dt;
        }
예제 #46
0
        //Alterado para SqlServer
        public static DataTable GetAnosFaturas(int empres_id)
        {
            SqlParamsList ps = new SqlParamsList();
             ps.Add(new Fields("empres_id", empres_id));

             string sql = " SELECT DISTINCT YEAR(data_fatura) AS ano";
             sql += " FROM Fatura f";
             sql += " WHERE f.tipo = 'E' AND f.id = @empres_id";
             sql += " ORDER BY ano DESC";

             BD BD = new BD();
             return BD.GetDataTable(sql,ps);
        }
예제 #47
0
        public static bool ExcluirMensagem(int mensagens_id)
        {
            SqlParamsList ps = new SqlParamsList();
             ps.Add(new Fields("mensagensId", mensagens_id));

             MontadorSql mont = new MontadorSql("mensagens", MontadorType.Update);
             mont.AddField("APAGADO", "S");
             mont.SetWhere("where MENSAGENS_ID = @mensagensId", ps);

             BD BD = new BD();
             if (BD.ExecuteNoQuery(mont.GetSqlString(), mont.GetParams()) == 1)
            return true;
             else return false;
        }
예제 #48
0
 public static int GetAtualizaLua(string numSerie)
 {
     if (existeTerminal(numSerie))
     {
     SqlParamsList ps = new SqlParamsList();
     ps.Add(new Fields("@serial_number", numSerie));
     BD BD = new BD();
     string status = Convert.ToString(BD.ExecuteScalar("N", "select ATUALIZOU_LUA from pos where pos_serial_number = @serial_number", ps));
     return (status == "N" ? 0 : 1);
     }
     else
     {
     return -1;
     }
 }
예제 #49
0
        public static DataTable GetCaixaEntrada(string local, int id)
        {
            string sql = "SELECT mensagens_id, remetente_tp, datahora, assunto, lido, usuario";
             sql += " FROM Mensagens";
             sql += " WHERE COALESCE(apagado,'N')='N'";
             if(local.Equals("F"))
            sql += " AND destinatario_tp = 'CREDENCIADOS'";
             else
            sql += " AND destinatario_tp = 'EMPRESAS'";
             sql += " AND destinatario_id = @Id";
             sql += " ORDER BY datahora DESC";

             SqlParamsList ps = new SqlParamsList();
             ps.Add(new Fields("Id", id));

             BD BD = new BD();
             return BD.GetDataTable(sql, ps);
        }
예제 #50
0
        //Alterado para SqlServer
        public static bool ExisteNaoLidas(string local, int id)
        {
            string sql = "SELECT mensagens_id FROM Mensagens";
             sql += " WHERE apagado = 'N'";
             sql += " AND lido = 'N'";
             if (local.Equals("F"))
            sql += " AND destinatario_tp = 'CREDENCIADOS'";
             else
            sql += " AND destinatario_tp = 'EMPRESAS'";
             sql += " AND destinatario_id = @Id";

             SqlParamsList ps = new SqlParamsList();
             ps.Add(new Fields("Id", id));

             BD BD = new BD();
             DataTable resultado = BD.GetDataTable(sql, ps);
             if (resultado.Rows.Count > 0)
            return true;
             else return false;
        }
예제 #51
0
        //Alterado para SqlServer
        public static DataTable GetCartoes(int conv_id, DateTime periodo, bool baixados)
        {
            SqlParamsList ps = new SqlParamsList();
             ps.Add(new Fields("conv_id", conv_id));

             string sql = " select CARTOES.NOME, CARTOES.CODIGO as COD, CARTOES.DIGITO as DIG, " +
             " coalesce(sum(CONTACORRENTE.DEBITO - CONTACORRENTE.CREDITO),0) as VALOR " +
             " from CONTACORRENTE JOIN CARTOES ON CARTOES.CARTAO_ID = CONTACORRENTE.CARTAO_ID " +
             " where CONTACORRENTE.CONV_ID = @conv_id " +
             " and (CONTACORRENTE.CARTAO_ID = CARTOES.CARTAO_ID)  " +
             " and (CONTACORRENTE.DATA_FECHA_EMP = '" +
             periodo.ToString("dd/MM/yyyy") + "')";

             if (!baixados)
            sql += " and (COALESCE(CONTACORRENTE.BAIXA_CONVENIADO,'N') <> 'S') ";

             sql += " GROUP BY CARTOES.CODIGO, CARTOES.DIGITO, CARTOES.NOME";

             BD BD = new BD();
             return BD.GetDataTable(sql, ps);
        }
예제 #52
0
        public static DataTable GetValeDescontoPendente(int cred_id)
        {
            SqlParamsList ps = new SqlParamsList();
             ps.Add(new Fields("cred_id", cred_id));
             ps.Add(new Fields("data_atual", DateTime.Now));

             string sql = @"SELECT
                            x.trans_id, x.datahora, x.titular, x.credito, SUM(COALESCE(hb.debito,0)) AS debito, (x.credito - SUM(COALESCE(hb.debito,0))) AS vale_acum_saldo, x.dataexpira
                        FROM
                        (
                        SELECT
                            t.trans_id, t.datahora, c.titular, h.credito, h.dataexpira
                            FROM transacoes t
                            JOIN vale_historico h ON t.trans_id = h.trans_id AND h.cancelado = 'N'
                            JOIN conveniados c ON h.conv_id = c.conv_id AND c.apagado <> 'S'
                            WHERE t.cred_id = @cred_id
                            AND h.dataexpira >= @data_atual
                            AND h.credito > 0.00
                        ) x
                        LEFT JOIN vale_historico hb ON x.trans_id = hb.trans_id_baixa AND hb.cancelado <> 'S'
                        GROUP BY x.trans_id, x.datahora, x.credito, x.titular, x.dataexpira
                        HAVING (x.credito - SUM(COALESCE(hb.debito,0))) > 0
                        ORDER BY x.trans_id";

             BD BD = new BD();
             return BD.GetDataTable(sql, ps);
        }
예제 #53
0
        public static DataTable GetFechamentosAlimentacaoRefeicao(string dataini, string datafin, int empres_id, string chapa,
                                                                string cartao, string nome, string status, string setor)
        {
            SqlParamsList sl = new SqlParamsList();
              if (dataini == null || dataini.Trim().Equals(""))
              {
              sl.Add(new Fields("dataini", null));
              }
              else
              {
              sl.Add(new Fields("dataini", Convert.ToDateTime(dataini)));
              }
              if (datafin == null || datafin.Trim().Equals(""))
              {
              sl.Add(new Fields("datafin", null));
              }
              sl.Add(new Fields("empres_id", empres_id));
              if (chapa.Trim().Equals(""))
              {
              sl.Add(new Fields("chapa", null));
              }
              else
              {
              sl.Add(new Fields("chapa", Convert.ToInt64(chapa)));
              }
              sl.Add(new Fields("cartao", (cartao.Trim().Equals("") ? null : cartao)));
              sl.Add(new Fields("titular", (nome.Trim().Equals("") ? null : nome)));
              sl.Add(new Fields("status", (status.Trim().Equals("") || status.Trim().Equals("T") ? null : status)));
              sl.Add(new Fields("setor", (setor.Trim().Equals("") || setor.Trim().Equals("0") ? null : setor)));

              BD BD = new BD();
              return BD.GetDataTable(" titular, empresa_desc, conv_id_ret, cartao_ret, data, credito, acumulado_mes_ant, gasto, acumulado_prox_mes from extrato_alim_ref(@dataini,@datafin,@empres_id,@chapa,@cartao,@titular,@status,@setor)", sl);
        }
예제 #54
0
        //Alterado para SqlServer
        public static Double GetDescontoEmFolha(int conv_id)
        {
            SqlParamsList ps = new SqlParamsList();
            ps.Add(new Fields("conv_id", conv_id));

            BD BD = new BD();
            string sql = "SELECT (SELECT coalesce(sum(case when coalesce(cc.entreg_nf,'N')  = 'S' then cc.debito-cc.credito else 0 end),0))+ "
            + " coalesce(sum(case when coalesce(cc.entreg_nf,'N') <> 'S' then cc.debito-cc.credito else 0 end),0)as total "
            + " from DIA_FECHA "
            + " left join CONTACORRENTE cc on cc.CONV_ID = @conv_id "
            + " and cc.DATA_FECHA_EMP = DIA_FECHA.DATA_FECHA "
            + " Where DIA_FECHA.EMPRES_ID = cc.empres_id AND "
            + " DIA_FECHA.DATA_FECHA > current_timestamp ";
            return Convert.ToDouble(BD.ExecuteScalar(sql, ps));
            //return Convert.ToDouble(BD.ExecuteScalar("select sum(total) total_saldo from saldo_conv(@conv_id) where fechamento > current_timestamp",ps));
        }
예제 #55
0
        public static List<Vale_Historico> GetDebitosInterlojas(int cred_id, DateTime dataini, DateTime datafim)
        {
            SqlParamsList ps = new SqlParamsList();
             ps.Add(new Fields("cred_id", cred_id));
             ps.Add(new Fields("dataini", dataini.ToString("dd/MM/yyyy") + " 00:00:00"));
             ps.Add(new Fields("datafim", datafim.ToString("dd/MM/yyyy") + " 23:59:59"));

             string sql = @"SELECT t.datahora AS databaixa, h.trans_id_baixa, tb.datahora AS datatrans, c.titular, h.debito
                        FROM Vale_Historico h
                        JOIN Transacoes t ON t.trans_id = h.trans_id
                           AND t.cred_id <> @cred_id
                           AND t.datahora BETWEEN @dataini AND @datafim
                        JOIN Transacoes tb ON tb.trans_id = h.trans_id_baixa
                           AND tb.cred_id = @cred_id
                        JOIN Conveniados c ON h.conv_id = c.conv_id
                        WHERE h.cancelado <> 'S'
                        AND h.debito > 0
                        ORDER BY t.datahora";

             List<Vale_Historico> lista = new List<Vale_Historico>();

             BD BD = new BD();
             DataTable dt = BD.GetDataTable(sql, ps);
             foreach (DataRow row in dt.Rows)
             {
            Vale_Historico v = new Vale_Historico();
            v.Transacao.Datahora = Convert.ToDateTime(row["databaixa"]);
            v.Trans_baixa.Trans_id = Convert.ToInt32(row["trans_id_baixa"]);
            v.Trans_baixa.Datahora = Convert.ToDateTime(row["datatrans"]);
            v.Transacao.Cartao.Conveniado.Titular = row["titular"].ToString();
            v.Debito = float.Parse(row["debito"].ToString());
            lista.Add(v);
             }

             return lista;
        }
예제 #56
0
        //Alterado para SqlServer
        public static Double GetCupom(int conv_id, int ano, int mes)
        {
            SqlParamsList ps = new SqlParamsList();
            ps.Add(new Fields("conv_id", conv_id));

            BD BD = new BD();
            int empresId = BD.ExecuteScalar(-1,"select top 1 empres_id from conveniados where apagado <> 'S' and conv_id = @conv_id", ps);

            ps.Add(new Fields("fechamento", DALEmpresa.getDataFechamento(empresId, mes, ano)) );
            ps.Add(new Fields("cod_limite", "N"));

            DataTable dt = new DataTable();
            dt = BD.GetDataTable("exec SALDO_PROXFECHA_CONV " + conv_id + ",N,'" + DALEmpresa.getDataFechamento(empresId, mes, ano)+ "'", null);
            if (dt.Rows.Count != 0)
            {
            return Convert.ToDouble(dt.Rows[0]["TOTAL"]);
            }
            else
            return 0;
            //return Convert.ToDouble(BD.ExecuteScalar("select coalesce(sum(total),0.00) total_saldo from saldo_conv(@conv_id) where  fechamento = @fechamento", ps));
        }
예제 #57
0
        public static DataTable RelatorioVendasCantinex(int cred_id, string data1, string data2)
        {
            SqlParamsList ps = new SqlParamsList();
            ps.Add(new Fields("@dtInicial", data1));
            ps.Add(new Fields("@dtFinal", data2));
            ps.Add(new Fields("@credID", cred_id));

            string sql;
            sql = " SELECT CONVERT(VARCHAR(10),CC.DATAVENDA,103) AS DATA,  CART.NOME,(concat(CAST(cc.autorizacao_id AS varchar(10)),"
                + " (CASE WHEN cc.digito < 10 THEN '0'+ CAST(cc.digito AS char(1)) ELSE"
                + " CAST(cc.digito AS char(2)) end))) AS AUTORIZACAO,"
                + " SUM(CC.DEBITO - CC.CREDITO) AS SALDO"
                + " FROM CARTOES CART"
                + " INNER JOIN CONTACORRENTE CC ON CC.CONV_ID = CART.CONV_ID"
                + " WHERE CC.DATAVENDA BETWEEN @dtInicial AND @dtFinal and CC.CARTAO_ID = @credID"
                + " GROUP BY CART.NOME, CC.AUTORIZACAO_ID, CC.DIGITO, CC.DATAVENDA"
                + " ORDER BY CC.DATAVENDA, CART.NOME";

            BD BD = new BD();
            return BD.GetDataTable(sql, ps);
        }
예제 #58
0
        public static DataTable CarregarCreditosCantinex(int convId, DateTime periodo)
        {
            SqlParamsList ps = new SqlParamsList();
              ps.Add(new Fields("conv_id", convId));
              string sql = "";

              BD BD = new BD();
              DataTable dt = BD.GetDataTable(sql, ps);
              return dt;
        }
예제 #59
0
        public static DataTable CartoesCantinexParaCreditos(int convId)
        {
            SqlParamsList ps = new SqlParamsList();
              ps.Add(new Fields("conv_id", convId));
              string sql = "SELECT CART.NOME, CONV.TITULAR, CART.CODCARTIMP, CONV.ENDERECO, CONV.BAIRRO, "
                     + "CONV.CIDADE, CONV.CEP, CONV.ESTADO, CONV.CPF, 0.00 AS SALDO, CONV.EMAIL, CART.CARTAO_ID FROM CARTOES CART "
                     + "INNER JOIN CONVENIADOS CONV ON(CONV.CONV_ID = CART.CONV_ID) WHERE CART.TITULAR <> 'S' AND CART.CONV_ID = @conv_id";

              BD BD = new BD();
              DataTable dt = BD.GetDataTable(sql, ps);
              return dt;
        }
예제 #60
0
        // Busca no banco, produtos pela descricao. Se a Descrição tiver menos ou 3 caracteres, procura por produtos que comecem com a descricao,
        // caso contrario, que contenham a descrição.
        public static DataTable ListaProd(string pDescricaoProd)
        {
            string sql = " SELECT prod.prod_id, precos.preco_final, precos.preco_sem_desconto, precos.data, UPPER(prod.descricao) AS descricao  " +
                       " FROM Produtos prod JOIN Precos ON precos.prod_id = prod.prod_id " +
                       " WHERE prod.apagado <> 'S' AND COALESCE(prod.ENVIADO_FARMACIA,'N') <> 'S' AND COALESCE(prod.CODINBS,'') <> '' ";

             if (pDescricaoProd.Length <= 3)
            sql += " AND prod.descricao STARTING WITH @descr";
             else
            sql += " AND prod.descricao CONTAINING @descr";

             sql += " ORDER BY prod.descricao, precos.data ";

             SqlParamsList ps = new SqlParamsList();
             ps.Add(new Fields("descr", pDescricaoProd));

             BD BD = new BD();
             return BD.GetDataTable(sql, ps);
        }