@RequestMapping(value = "/getClienteByIdUsuario")
  @ResponseBody
  public EmpresaVO getEmpresaByIdUsuario(@RequestParam("idUsuario") Long idUsuario)
      throws NegocioException, IllegalAccessException {

    Empresa empresa = empresaService.findOneByIdUsuario(idUsuario);

    EmpresaVO empresaVO = new EmpresaVO();

    empresaVO.setCodigo(empresa.getCodigo());
    empresaVO.setEmailEmpresa(empresa.getEmailEmpresa());
    empresaVO.setNomeFantasia(empresa.getNomeFantasia());
    empresaVO.setTelefone(empresa.getTelefone());
    empresaVO.setNomeRepresentante(empresa.getNomeRepresentante());
    empresaVO.setEmailRepresentante(empresa.getEmailRepresentante());
    empresaVO.setCpfRepresentante(empresa.getCpfRepresentante());
    empresaVO.setCnpj(empresa.getCnpj());

    return empresaVO;
  }
  @RequestMapping(value = "/updateEmpresa", method = RequestMethod.POST)
  @ResponseBody
  public Long updateEmpresa(@RequestBody EmpresaVO empresaVO)
      throws NoSuchMessageException, NegocioException {
    Empresa empresa = new Empresa();

    Usuario usuarioLogadoSessao =
        (Usuario)
            RequestContextHolder.currentRequestAttributes()
                .getAttribute(SessionAtribute.LOGGED_USER, RequestAttributes.SCOPE_SESSION);

    Endereco endereco = new Endereco();
    endereco.setBairro(empresaVO.getEnderecoVO().getBairro());
    endereco.setCep(empresaVO.getEnderecoVO().getCep());
    endereco.setCidade(empresaVO.getEnderecoVO().getCidade());
    endereco.setComplemento(empresaVO.getEnderecoVO().getComplemento());
    endereco.setEstado(empresaVO.getEnderecoVO().getEstado());
    endereco.setNumero(empresaVO.getEnderecoVO().getNumero());
    endereco.setRua(empresaVO.getEnderecoVO().getRua());

    empresa.setCodigo(empresaVO.getCodigo());
    empresa.setCategoria(empresaVO.getCategoria());
    empresa.setCnae(empresaVO.getCnae());
    empresa.setDataAbertura(empresaVO.getDataAbertura());
    empresa.setDescricaoCnae(empresaVO.getDescricaoCnae());
    empresa.setEmailEmpresa(empresaVO.getEmailEmpresa());
    empresa.setEndereco(endereco);
    empresa.setInscricaoEstadual(empresaVO.getInscricaoEstadual());
    empresa.setNomeFantasia(empresaVO.getNomeFantasia());
    empresa.setNumeroColaboradores(empresaVO.getNumeroColaboradores());
    empresa.setPorteEmpresa(empresaVO.getPorteEmpresa());
    empresa.setTelefone(empresaVO.getTelefone());
    empresa.setNomeRepresentante(empresaVO.getNomeRepresentante());
    empresa.setEmailRepresentante(empresaVO.getEmailRepresentante());
    empresa.setCpfRepresentante(empresaVO.getCpfRepresentante());
    empresa.setCnpj(empresaVO.getCnpj());

    empresa = this.empresaService.updateEmpresa(empresa);

    return empresa.getCodigo();
  }
  @RequestMapping(value = "/getAllEmpresa", method = RequestMethod.POST)
  @ResponseBody
  public List<EmpresaVO> getAllEmpresa() {
    List<EmpresaVO> empresaVOList = new ArrayList<EmpresaVO>();

    List<Empresa> empresaList = empresaService.findAllEmpresa();

    for (Empresa empresa : empresaList) {
      EmpresaVO empresaVO = new EmpresaVO();
      EnderecoVO enderecoVO = new EnderecoVO();

      enderecoVO.setBairro(empresa.getEndereco().getBairro());
      enderecoVO.setCep(empresa.getEndereco().getCep());
      enderecoVO.setCidade(empresa.getEndereco().getCidade());
      enderecoVO.setComplemento(empresa.getEndereco().getComplemento());
      enderecoVO.setEstado(empresa.getEndereco().getEstado());
      enderecoVO.setNumero(empresa.getEndereco().getNumero());
      enderecoVO.setRua(empresa.getEndereco().getRua());

      empresaVO.setCodigo(empresa.getCodigo());
      empresaVO.setCategoria(empresa.getCategoria());
      empresaVO.setCnae(empresa.getCnae());
      empresaVO.setDataAbertura(empresa.getDataAbertura());
      empresaVO.setDescricaoCnae(empresa.getDescricaoCnae());
      empresaVO.setEmailEmpresa(empresa.getEmailEmpresa());
      empresaVO.setEnderecoVO(enderecoVO);
      empresaVO.setInscricaoEstadual(empresa.getInscricaoEstadual());
      empresaVO.setNomeFantasia(empresa.getNomeFantasia());
      empresaVO.setNumeroColaboradores(empresa.getNumeroColaboradores());
      empresaVO.setPorteEmpresa(empresa.getPorteEmpresa());
      empresaVO.setTelefone(empresa.getTelefone());
      empresaVO.setNomeRepresentante(empresa.getNomeRepresentante());
      empresaVO.setEmailRepresentante(empresa.getEmailRepresentante());
      empresaVO.setCpfRepresentante(empresa.getCpfRepresentante());
      empresaVO.setCnpj(empresa.getCnpj());

      empresaVOList.add(empresaVO);
    }

    return empresaVOList;
  }