Subversion Repositories Integrator Subversion

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

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;
        }
       
}