@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();
  }