Preciso de uma Ajuda urgente!!: Tive que fazer uma aplicaçao que puxa pra uma gridview o nome dos usuarios e total de horas que eles registraram por dia no sqlserver. Certo, utilizei uma Store Procedure para fazer a chamada. Porém preciso fazer uma atualizaçao nessa chamada, meu grid traz apenas o nome dos usuarios que registraram horas no dia e não de todos, preciso que mostre todos os usuarios do sistema e se algum usuario não registrou horas aparecer em vez das horas trabalhadas a mensagem de "não há horas cadastradas".
//essa é a store procedure
@DtInicio as varchar (10),
@DtFim as varchar (10)
AS
BEGIN
DECLARE @SQL VARCHAR (8000)
DECLARE @SQLConsolidado Varchar(8000)
--/Monta SQL com tabelas
SET @SQL = ' SELECT F.NumFuncionario, '
SET @SQL = @SQL+ ' Nome , '
SET @SQL = @SQL+ ' dbo.ConverteHora(sum((datepart(hh,CAST( TempoTrabalhado AS DATETIME)) * 60 + datepart(mi,CAST( TempoTrabalhado AS DATETIME))))) AS TotalHorasTrabalhadas'
SET @SQL = @SQL+ ' FROM (Tarefa AS T INNER JOIN RegistroTarefa AS R ON T.Numtarefa = R.NumTarefa) '
SET @SQL = @SQL+ ' INNER JOIN Funcionario AS F ON F.NumFuncionario = R.NumFuncionario '
SET @SQL = @SQL+ ' WHERE 1 = 1 AND F.ativo = 1 '
-- > Data
SET @SQL = @SQL+ ' AND ( R.DtSistema >= ''' + @DtInicio + ' 00:00'' AND R.DtSistema <= ''' + @DtFim + ' 23:59'' )'
SET @SQL = @SQL + ' GROUP BY F.NumFuncionario, Nome '
exec (@SQL)
END
na real essa aplicaçao envia por e-mail um relatorio todos os dias pro chefao com as horas registradas pelos funcionarios da empresa. Porém preciso mensinar também os que não registraram.
Não sei o que fazer, sou iniciante ainda e preciso fazer essa aplicação funcionar o mais rapido possivel.. meu emprego depende disso!!
Pergunta
Yuris
Preciso de uma Ajuda urgente!!: Tive que fazer uma aplicaçao que puxa pra uma gridview o nome dos usuarios e total de horas que eles registraram por dia no sqlserver. Certo, utilizei uma Store Procedure para fazer a chamada. Porém preciso fazer uma atualizaçao nessa chamada, meu grid traz apenas o nome dos usuarios que registraram horas no dia e não de todos, preciso que mostre todos os usuarios do sistema e se algum usuario não registrou horas aparecer em vez das horas trabalhadas a mensagem de "não há horas cadastradas".
//essa é a store procedure
@DtInicio as varchar (10),
@DtFim as varchar (10)
AS
BEGIN
DECLARE @SQL VARCHAR (8000)
DECLARE @SQLConsolidado Varchar(8000)
--/Monta SQL com tabelas
SET @SQL = ' SELECT F.NumFuncionario, '
SET @SQL = @SQL+ ' Nome , '
SET @SQL = @SQL+ ' dbo.ConverteHora(sum((datepart(hh,CAST( TempoTrabalhado AS DATETIME)) * 60 + datepart(mi,CAST( TempoTrabalhado AS DATETIME))))) AS TotalHorasTrabalhadas'
SET @SQL = @SQL+ ' FROM (Tarefa AS T INNER JOIN RegistroTarefa AS R ON T.Numtarefa = R.NumTarefa) '
SET @SQL = @SQL+ ' INNER JOIN Funcionario AS F ON F.NumFuncionario = R.NumFuncionario '
SET @SQL = @SQL+ ' WHERE 1 = 1 AND F.ativo = 1 '
-- > Data
SET @SQL = @SQL+ ' AND ( R.DtSistema >= ''' + @DtInicio + ' 00:00'' AND R.DtSistema <= ''' + @DtFim + ' 23:59'' )'
SET @SQL = @SQL + ' GROUP BY F.NumFuncionario, Nome '
exec (@SQL)
END
na real essa aplicaçao envia por e-mail um relatorio todos os dias pro chefao com as horas registradas pelos funcionarios da empresa. Porém preciso mensinar também os que não registraram.
Não sei o que fazer, sou iniciante ainda e preciso fazer essa aplicação funcionar o mais rapido possivel.. meu emprego depende disso!!
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.