package br.com.ec.controller;
import java.io.Serializable;
import javax.inject.Inject;
import javax.inject.Named;
import org.springframework.context.annotation.Scope;
import br.com.ec.core.generic.GenericService;
import br.com.ec.core.util.VerificadorUtil;
import br.com.ec.domain.dto.LojaDTO;
import br.com.ec.domain.dto.NotaFiscalEletronicaDTO;
import br.com.ec.domain.service.nfe.NotaFiscalEletronicaService;
import br.com.ec.domain.shared.ConstantesSEC;
import br.com.ec.web.generic.AbstractBean;
import br.com.ec.web.util.TipoOperacao;
import br.com.swconsultoria.nfe.dom.enuns.DocumentoEnum;
import br.com.swconsultoria.nfe.schema_4.retConsStatServ.TRetConsStatServ;
@Named
@Scope
("view")
public class NotaFiscalEletronicaBean
extends AbstractBean
<NotaFiscalEletronicaDTO
> implements Serializable {
private static final long serialVersionUID = 1L
;
private NotaFiscalEletronicaService notaFiscalEletronicaService
;
@Inject
public NotaFiscalEletronicaBean
(NotaFiscalEletronicaService notaFiscalEletronicaService
) {
this.
notaFiscalEletronicaService = notaFiscalEletronicaService
;
}
@
Override
public void preCarregamento
() {
limparEntidade
();
}
@
Override
public void limparEntidade
() {
setEntidade
(new NotaFiscalEletronicaDTO
());
}
@
Override
public GenericService
<NotaFiscalEletronicaDTO
> getService
() {
return null;
}
@
Override
public NotaFiscalEletronicaDTO getEntidade
() {
return entidade
;
}
@
Override
public void preConsultar
() {
setTipoOperacao
(TipoOperacao.
CONSULTAR);
}
@
Override
public NotaFiscalEletronicaDTO getId
() {
return getEntidade
();
}
/**************************************************/
public String consultarStatusSefazNFE
(LojaDTO lojaDTO
) {
TRetConsStatServ retornoStatus = notaFiscalEletronicaService.
consultarStatusSefaz(lojaDTO.
getCertificadoDTO(), DocumentoEnum.
NFE);
if (VerificadorUtil.
naoEstaNulo(retornoStatus
)) {
if (retornoStatus.
getCStat().
equals(ConstantesSEC.
NotaFiscal.
ServicoSefaz.
SERVICO_EM_OPERACAO_107)) {
return ConstantesSEC.
NotaFiscal.
ServicoSefaz.
DESCRICAO_SERVICO_EM_OPERACAO_107;
}
if (retornoStatus.
getCStat().
equals(ConstantesSEC.
NotaFiscal.
ServicoSefaz.
SERVICO_PARALISADO_MOMENTANEAMENTE_108)) {
return ConstantesSEC.
NotaFiscal.
ServicoSefaz.
DESCRICAO_SERVICO_PARALISADO_MOMENTANEAMENTE_108;
}
if (retornoStatus.
getCStat().
equals(ConstantesSEC.
NotaFiscal.
ServicoSefaz.
SERVICO_PARALISADO_SEM_PREVISAO_109)) {
return ConstantesSEC.
NotaFiscal.
ServicoSefaz.
DESCRICAO_SERVICO_PARALISADO_SEM_PREVISAO_109;
}
}
return ConstantesSEC.
NotaFiscal.
ServicoSefaz.
DESCRICAO_FORA_DO_AR;
}
}