@Transactional
 @RequestMapping("save")
 @ResponseBody
 private String save(AtribuicaoForm form, Context context) {
   try {
     for (Atribuicao atribuicao : form.getAtribuicoes()) {
       if (atribuicao.getId() == null) {
         atribuicao.setOrganizacao(context.getUser().getOrganizacao());
         service.insert(context, atribuicao);
       } else {
         Atribuicao salvo = service.getFromId(context, atribuicao.getId());
         if (!salvo.getQuestionario().equals(atribuicao.getQuestionario())) {
           salvo.setQuestionario(atribuicao.getQuestionario());
           salvo.getRespostas().clear();
           service.update(context, salvo);
         }
       }
     }
   } catch (Exception e) {
     return new Gson()
         .toJson(
             new JsonResult(
                 context,
                 JsonResult.ResultType.error,
                 "Ocorreu um erro ao processar a requisição"));
   }
   return new Gson()
       .toJson(new JsonResult(context, JsonResult.ResultType.success, "Salvo com sucesso"));
 }
  @RequestMapping("")
  private String atribuicao(Context context, Model model) {
    List<AtribuicaoPackage> list = new ArrayList<>();

    List<Colaborador> colaboradores = colaboradorService.getList(context);
    for (Colaborador avaliador : colaboradores) {
      for (Colaborador avaliado : colaboradores) {
        if (!avaliador.equals(avaliado)) {
          list.add(
              new AtribuicaoPackage(
                  avaliador, avaliado, service.getFromColaboradores(context, avaliador, avaliado)));
        }
      }
    }

    model.addAttribute("atribuicoes", list);

    return "atribuicao";
  }