public IList <Batida> obterBatidasPorData(String idFuncionario, DateTime inicio, DateTime fim) { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } List <Batida> batidas = (List <Batida>)AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(@"select * from Batida where data between @inicio and @fim and idFuncionario = @idFuncionario order by data desc, hora") .adicionaParametro("idFuncionario", idFuncionario) .adicionaParametro("inicio", inicio) .adicionaParametro("fim", fim) .obterLista <Batida>(); if (controleInterno) { ad.fechaConexao(); } return(batidas); }
public JornadaTrabalho IdentificarJornadaTrabalho(String idFuncionario, String horario) { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } //Consulta as jornadas, tanto alternativas, quanto a normal IList <JornadaTrabalho> jornadas = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL("SELECT idJornada id, inicio, fim, intervalo, minintervalo, maxintervalo, 0, 0, 0") .adicionaSQL(" FROM JornadaAlternativaBanpara") .adicionaSQL(String.Format(" WHERE idFuncionario = '{0}'", idFuncionario)) .obterLista <JornadaTrabalho>(); if (controleInterno) { ad.fechaConexao(); } TimeSpan horaPrimeiraBatida = stringParaTimeSpan(horario); JornadaTrabalho definida = jornadas.First(); foreach (JornadaTrabalho j in jornadas) { double diferenca = Math.Abs(j.Inicio.Subtract(horaPrimeiraBatida).TotalSeconds); if (diferenca < Math.Abs(definida.Inicio.Subtract(horaPrimeiraBatida).TotalSeconds)) { definida = j; } } return(definida); }
public Batida detectarBatidaRecente(String idFuncionario, int periodoEntreBatidas) { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } TimeSpan horaAtualPrimeiroSegundo = new TimeSpan(DateTime.Now.Hour, DateTime.Now.Minute, 0); TimeSpan horaAtualUltimoSegundo = new TimeSpan(horaAtualPrimeiroSegundo.Hours, horaAtualPrimeiroSegundo.Minutes, 59); IList <Batida> r = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(@"select * from batida where idfuncionario = '{0}' and data = CAST('{1:yyyyMMdd}' as date) and hora BETWEEN cast(dateadd(MINUTE, cast('-{2}' as int), cast('{3}' as time(0))) as time(0)) AND cast('{4}' as time(0))", idFuncionario, DateTime.Today, periodoEntreBatidas, horaAtualPrimeiroSegundo, horaAtualUltimoSegundo) .obterLista <Batida>(); if (controleInterno) { ad.fechaConexao(); } return(r.FirstOrDefault()); }
public IList <Autorizacao> obterTodasPorData(String id, DateTime inicio, DateTime fim) { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } IList <Autorizacao> lista = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(@"select * from Autorizacao a where idFuncionario = @idFuncionario and a.data between @dataInicio and @dataFim") .adicionaParametro("idFuncionario", id) .adicionaParametro("dataInicio", inicio.Date) .adicionaParametro("dataFim", fim.Date) .obterLista <Autorizacao>(); if (controleInterno) { ad.fechaConexao(); } return(lista); }
public IList <Autorizacao> ObterAutorizacoesDoDiaNaoNotificadas(String idFuncionario) { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } IList <Autorizacao> lista = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(@"select * from Autorizacao where idFuncionario = @idFuncionario and data = @data and notificado = 0") .adicionaParametro("idFuncionario", idFuncionario) .adicionaParametro("data", DateTime.Today) .obterLista <Autorizacao>(); if (controleInterno) { ad.fechaConexao(); } return(lista); }
public IList <Batida> obterBatidasDoDia(String idFuncionario) { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } IList <Batida> batidas = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(@"select * from Batida where data = @data and idFuncionario = @idFuncionario order by data desc, hora") .adicionaParametro("idFuncionario", idFuncionario) .adicionaParametro("data", DateTime.Today) .obterLista <Batida>(); if (controleInterno) { ad.fechaConexao(); } return(batidas); }
public IList <Autorizacao> obterTodasAPartirDaData(String id, DateTime data) { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } IList <Autorizacao> lista = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(@"select * from Autorizacao a where idFuncionario = @idFuncionario and a.data >= @data") .adicionaParametro("idFuncionario", id) .adicionaParametro("data", data) .obterLista <Autorizacao>(); if (controleInterno) { ad.fechaConexao(); } return(lista); }
//VERIFICA SE ESTÁ NO LIMITE DE TOLERÂNCIA DE 5' public Batida obterBatidaTolereancia(String idFuncionario) { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } IList <Batida> lista = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(" select FB.id, FB.NOME, JT.inicio, JT.fim from FuncionarioBanpara FB ") .adicionaSQL(" inner join JornadaTrabalhoBanpara JT on ") .adicionaSQL(" (FB.idJornada = JT.id) ") .adicionaSQL(" where FB.id = @idFuncionario ") .adicionaSQL(" and (JT.inicio >= CAST(DATEADD(MINUTE, -5, cast(@horaAgora as datetime))as time(0)) ") .adicionaSQL(" and JT.inicio <= CAST(DATEADD(MINUTE, 5+1, cast(@horaAgora as datetime))as time(0)) )") .adicionaSQL(" OR (JT.fim >= CAST(DATEADD(MINUTE, -5, cast(@horaAgora as datetime))as time(0)) ") .adicionaSQL(" and JT.fim <= CAST(DATEADD(MINUTE, 5+1, cast(@horaAgora as datetime))as time(0)) )") .adicionaParametro("idFuncionario", idFuncionario) .adicionaParametro("horaAgora", DateTime.Now.TimeOfDay) .obterLista <Batida>(); if (controleInterno) { ad.fechaConexao(); } return(lista.FirstOrDefault()); }
//VERIFICAR SE O USUÁRIO POSSUI DESBLOQUEIO public Batida obterAutorizacoesDesbloqueioDoDia(String idFuncionario) { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } IList <Batida> lista = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(" select idFuncionario, data, inicio, fim ") .adicionaSQL(" from Autorizacao ") .adicionaSQL(" where idFuncionario = @idFuncionario ") .adicionaSQL(" and data = @data ") .adicionaParametro("idFuncionario", idFuncionario) .adicionaParametro("data", DateTime.Today) .obterLista <Batida>(); if (controleInterno) { ad.fechaConexao(); } return(lista.FirstOrDefault()); }
public Boolean verificaSeBloqueada(String id) { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } IList <Lotacao> r = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(@"SELECT * FROM LotacaoBanpara l inner join NaoBloqueiaLotacao nb on l.id = nb.idLotacao where l.id like @id order by l.descricao") .adicionaParametro("id", id) .obterLista <Lotacao>(); if (controleInterno) { ad.fechaConexao(); } return(r.Count > 0); }
public IList <Funcionario> obterDaMesmaLotacaoPorMatricula(String id, String lotacao) { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } String condicao = String.Format(" Where {0} in ('{1}')", sqlConstrutor.obterNomeMapeado(f => f.Id), id); if (lotacao != null) { condicao += String.Format(" and LotacaoId = '{0}'", lotacao); } IList <Funcionario> lista = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(sqlConstrutor.obterSelect()) .adicionaSQL(sqlConstrutor.obterFrom()) .adicionaSQL(condicao) .obterLista <Funcionario>(); if (controleInterno) { ad.fechaConexao(); } return(lista); }
public MemoryStream obterBatidasArquivo(DateTime inicio, DateTime fim) { const String sql = @"select '+086' + Hora + Dia + Mes + Ano + Chapa + cnpj as linha from ( select replace(cast(hora as varchar(5)), ':','') Hora, CASE WHEN DAY(data) < 10 THEN '0' + cast(DAY(data) as varchar(2)) ELSE cast(DAY(data) as varchar(2)) END Dia, CASE WHEN MONTH(data) < 10 THEN '0' + cast(MONTH(data) as varchar(2)) ELSE cast(MONTH(data) as varchar(2)) END Mes, Substring(cast(YEAR(data) as varchar), 3, 4) Ano, b.idFuncionario Chapa, f.cnpj from Batida b INNER JOIN FuncionarioBanpara f on (b.idFuncionario = f.id) where data between @data and @dataFim )tmp --where (('+086' + Hora + Dia + Mes + Ano + Chapa + cnpj) is not null) order by Chapa, Hora, Dia, Mes, Ano"; bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } IDataReader dr = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(sql) .adicionaParametro("data", inicio) .adicionaParametro("dataFim", fim) .obterDataReader(); MemoryStream ms = new MemoryStream(); TextWriter lista = new StreamWriter(ms); while (dr.Read()) { lista.WriteLine(dr.GetString(0)); } dr.Close(); lista.Flush(); if (controleInterno) { ad.fechaConexao(); } return(ms); }
public IList <Lotacao> obterLotacoesPorFuncionario(String idFuncionario, DateTime data) { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } IDataReader dr = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(@"select idLotacao from ResponsavelLotacao where idFuncionario = @idFuncionario and @data between inicio and isnull(fim, '99990101')") .adicionaParametro("idFuncionario", idFuncionario) .adicionaParametro("data", data.Date) .obterDataReader(); String campoId = sqlConstrutor.obterNomeMapeado(l => l.Id); StringBuilder sb = new StringBuilder("("); sb.AppendFormat("{0} like ''", campoId); while (dr.Read()) { sb.AppendFormat(" or {0} like '%{1}%'", campoId, dr.GetString(0)); } dr.Close(); sb.Append(")"); String where = sb.ToString(); IList <Lotacao> lista = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(sqlConstrutor.obterSqlCompleto()) .adicionaSQL(@" where {0}", where) .adicionaSQL(" order by descricao") .obterLista <Lotacao>(); if (controleInterno) { ad.fechaConexao(); } return(lista); }
public IList <Autorizacao> obterTodasDoFuncionario(String idFuncionario) { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } IList <Autorizacao> lista = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL("select * from Autorizacao where idFuncionario = @idFuncionario order by data DESC") .adicionaParametro("idFuncionario", idFuncionario) .obterLista <Autorizacao>(); if (controleInterno) { ad.fechaConexao(); } return(lista); }
public IList <Funcionario> obterPorMatricula(String idMatricula) { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } IList <Funcionario> lista = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(sqlConstrutor.obterSelect()) .adicionaSQL(sqlConstrutor.obterFrom()) .adicionaSQL(" Where {0} in ('{1}')", sqlConstrutor.obterNomeMapeado(f => f.Id), idMatricula) .obterLista <Funcionario>(); if (controleInterno) { ad.fechaConexao(); } return(lista); }
public IList <Lotacao> obterTodosExcetoNaoBloqueadas() { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } IList <Lotacao> r = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(@"SELECT * FROM LotacaoBanpara l where id not in (select idLotacao from NaoBloqueiaLotacao)") .obterLista <Lotacao>(); if (controleInterno) { ad.fechaConexao(); } return(r); }
public Operacao obterPorNome(String nome) { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } IList <Operacao> lista = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(sqlConstrutor.obterSqlCompleto()) .adicionaSQL(" Where ") .adicionaSqlComParametro(sqlConstrutor, sqlConstrutor.obterNomeMapeado(o => o.Nome), nome) .obterLista <Operacao>(); if (controleInterno) { ad.fechaConexao(); } return(lista.FirstOrDefault()); }
public IList <Lotacao> obterLotacoesNaoBloqueadas() { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } IList <Lotacao> r = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(@"SELECT * FROM LotacaoBanpara l inner join NaoBloqueiaLotacao nb on l.id = nb.idLotacao order by l.descricao").obterLista <Lotacao>(); if (controleInterno) { ad.fechaConexao(); } return(r); }
public Funcionario obterPorLoginAD(string loginAd) { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } IList <Funcionario> lista = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(sqlConstrutor.obterSelect()) .adicionaSQL(sqlConstrutor.obterFrom()) .adicionaSQL(" Where ") .adicionaSqlComParametro(sqlConstrutor, sqlConstrutor.obterNomeMapeado(f => f.LoginAD), loginAd) .obterLista <Funcionario>(); if (controleInterno) { ad.fechaConexao(); } return(lista.FirstOrDefault()); }
public IList <JornadaTrabalho> obterNormalEAlternativas(String idFuncionario) { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } //Consulta as jornadas, tanto alternativas, quanto a normal IList <JornadaTrabalho> jornadas = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL("SELECT idJornada id, inicio, fim, intervalo, minintervalo, maxintervalo, 0, 0, 0") .adicionaSQL(" FROM JornadaAlternativaBanpara") .adicionaSQL(String.Format(" WHERE idFuncionario = '{0}'", idFuncionario)) .obterLista <JornadaTrabalho>(); if (controleInterno) { ad.fechaConexao(); } return(jornadas); }
public override IList <Lotacao> obterTodos() { StringBuilder sql = new StringBuilder(); sql.AppendFormat("SELECT * FROM {0} order by descricao", obterTabela()); bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } IList <Lotacao> r = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(sql.ToString()).obterLista <Lotacao>(); if (controleInterno) { ad.fechaConexao(); } return(r); }
//MÉTODO OBSOLETO NA VERSÃO 1.5.2 (entregue em 05/04/2016) public IList <Usuario> obterPorLoginEmail(String login, String email) { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } IList <Usuario> lista = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL("select * from Usuario where ativo = 1") .adicionaSobCondicional(String.IsNullOrEmpty(login), " and login like @login", "login", String.Format("%{0}%", login)) .adicionaSobCondicional(String.IsNullOrEmpty(email), " and email like @email", "email", String.Format("%{0}%", email)) .adicionaSQL(" Order by login") .obterLista <Usuario>(); if (controleInterno) { ad.fechaConexao(); } return(lista); }
public IList <ParametroConfiguracao> obterParametroConfiguracao(String sistema, String modulo, String item) { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } IList <ParametroConfiguracao> r = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(@"SELECT * FROM " + obterTabela() + String.Format(" WHERE sistema = '{0}' AND modulo = '{1}' AND item = '{2}'", sistema, modulo, item)) .obterLista <ParametroConfiguracao>(); if (controleInterno) { ad.fechaConexao(); } return(r); }
public IList <PlanoDeContas> ObterPorCodigoConta(int codConta) { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } IList <PlanoDeContas> planosDeConta = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(@" SELECT * FROM PlanoContas WHERE codContas = @codConta ORDER BY descricao") .adicionaParametro("codConta", codConta) .obterLista <PlanoDeContas>(); if (controleInterno) { ad.fechaConexao(); } return(planosDeConta); }
public IList <PlanoDeContas> obterPorChaves(int codCli, int codConta) { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } IList <PlanoDeContas> planosDeConta = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(@" SELECT * FROM PlanoContas WHERE codCli = @codCli AND codContas = @codConta") .adicionaParametro("codCli", codCli) .adicionaParametro("codConta", codConta) .obterLista <PlanoDeContas>(); if (controleInterno) { ad.fechaConexao(); } return(planosDeConta); }
public IList <PlanoDeContas> ObterPorBooleanAnaliticas(bool analitica) { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } IList <PlanoDeContas> planosDeConta = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(@" SELECT * FROM PlanoContas WHERE analitica = @analitica ORDER BY descricao") .adicionaParametro("analitica", analitica) .obterLista <PlanoDeContas>(); if (controleInterno) { ad.fechaConexao(); } return(planosDeConta); }
public IList <PlanoDeContas> ObterPorDescricao(String descricao) { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } IList <PlanoDeContas> planosDeConta = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(@" SELECT * FROM PlanoContas WHERE descricao LIKE '%' + @descricao + '%' ORDER BY descricao") .adicionaParametro("descricao", descricao) .obterLista <PlanoDeContas>(); if (controleInterno) { ad.fechaConexao(); } return(planosDeConta); }
public IList <PlanoDeContas> ObterPorDataExclusao(DateTime?dataExclusao) { bool controleInterno = ad.conexaoFechada(); if (controleInterno) { ad.abreConexao(); } IList <PlanoDeContas> planosDeConta = AcessaDadosConstrutor.iniciar(ad) .adicionaSQL(@" SELECT * FROM PlanoContas WHERE dataExclusao BETWEEN @dataExclusao AND DATEADD(second, -1, DATEADD(day, 1, @dataExclusao)) ORDER BY dataExclusao DESC") .adicionaParametro("dataExclusao", dataExclusao) .obterLista <PlanoDeContas>(); if (controleInterno) { ad.fechaConexao(); } return(planosDeConta); }