Galera seguinte, preciso da ajuda de vocês, pois ja procurei, realizei vários testes e não consegui ainda fazer o que eu quero. Procurei aqui no forum e na internet e não achei nada que me atendesse, e tentei implementar de várias formas mas não deu certo.
Tenho essa tela.
quero que essa coluna tempo, primeiro fique como 00:00:00 e assim que a pessoa(usuario) se logar, ele inicie, 00:00:01, 00:00:02, 00:00:03 … e quando ele registrar a pausa, ao trocar a coluna status de disponivel para descanso, ele inicie do 00:00:00 e percorra: 00:00:01, 00:00:02, 00:00:03…
alguém pode me ajudar por favor?
@Entity
public class Usuario {
@Id
@Column(length = 7)
private String matricula;
@Column(length = 32, nullable = false)
private String senha;
@Transient
private String senhaCriptografada;
@Column(length = 55, nullable = false)
private String nome;
@Column(nullable = false)
private boolean status = false;
@Column(nullable = false)
private boolean logado = false;
@Column(nullable = false)
private Date tempo;
public Date getTempo() {
return tempo;
}
public void setTempo(Date tempo) {
this.tempo = tempo;
}
public boolean isLogado() {
return logado;
}
public void setLogado(boolean logado) {
this.logado = logado;
}
public boolean isStatus() {
return status;
}
public void setStatus(boolean status) {
this.status = status;
}
public String getMatricula() {
return matricula;
}
public void setMatricula(String matricula) {
this.matricula = matricula;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public String getSenhaCriptografada() {
return senhaCriptografada;
}
public void setSenhaCriptografada(String senhaCriptografada) {
this.senhaCriptografada = senhaCriptografada;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getFlagStatus() {
if (this.isStatus()) {
return "Descanso";
}
return "Disponível";
}
public String getFlagLogado() {
if (this.isLogado()) {
return "Logado";
}
return "off";
}
}
<h:form id="formListagem">
<p:poll interval="5" listener="#{usuarioBean.listar}"
update="tabela:status" />
<p:dataTable id="tabela" value="#{usuarioBean.usuarios}" var="usuario">
<p:column headerText="Usuário" sortBy="#{usuario.nome}">
<h:outputText value="#{usuario.nome}" />
</p:column>
<p:column headerText="Status" sortBy="#{usuario.status}">
<h:outputText value="#{usuario.flagStatus}" id="status" />
</p:column>
<p:column headerText="Tempo">
<h:outputText value="#{usuario.tempo}">
<f:convertDateTime type="date" pattern="HH:mm:ss" />
</h:outputText>
</p:column>
<p:column headerText="Opções"
rendered="#{autenticacaoBean.temPermissoes(['c010816'])}">
<p:commandButton icon="ui-icon-trash"
actionListener="#{usuarioBean.excluir}"
update=":mensagem :formListagem:tabela">
<p:confirm header="Confirmação" message="Deseja excluir o usuario"
icon="ui-icon-alert" />
<f:attribute name="usuarioSelecionado" value="#{usuario}" />
</p:commandButton>
<p:commandButton icon="fa fa-lock"
actionListener="#{usuarioBean.liberarSessao}" update=":mensagem">
<f:attribute name="usuarioSelecionado" value="#{usuario}" />
</p:commandButton>
<p:commandButton icon="fa fa-print"
actionListener="#{usuarioBean.relatorio}"
update=":formRelatorio:painelRelatorio"
oncomplete="PF('dlgRelatorio').show();">
<f:attribute name="usuarioSelecionado" value="#{usuario}" />
</p:commandButton>
<p:commandButton icon="ui-icon-pencil"
actionListener="#{usuarioBean.editarCadastro}"
update=":formCadastro:painel"
oncomplete="PF('dlgEditarCadastro').show();">
<f:attribute name="usuarioSelecionado" value="#{usuario}" />
<f:actionListener
type="org.omnifaces.eventlistener.ResetInputAjaxActionListener" />
</p:commandButton>
</p:column>
</p:dataTable>
<!-- Confirmação de exclusão de usuário -->
<p:confirmDialog global="true">
<p:commandButton value="Sim" type="button"
styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
<p:commandButton value="Não" type="button"
styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
</p:confirmDialog>
</h:form>
<!-- Tabela de usuarios -->
