From 309edfaa1c9855ad44aad2a1e4d6ebc96111b7b2 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Wed, 30 Dec 2020 11:06:11 +0800 Subject: [PATCH] =?UTF-8?q?20201230=E6=B7=BB=E5=8A=A0=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E6=8A=A5=E5=91=8A=E5=8D=95=E5=92=8C=E8=AF=95=E9=A2=98id?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E9=80=89=E9=A1=B9=E8=AF=A6=E6=83=85=E7=9A=84?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/ht/api/QuestionController.java | 15 +++++++++ .../ccsens/ht/service/IQuestionService.java | 8 +++++ .../ccsens/ht/service/QuestionService.java | 31 ++++++++++++++++--- 3 files changed, 49 insertions(+), 5 deletions(-) diff --git a/ht/src/main/java/com/ccsens/ht/api/QuestionController.java b/ht/src/main/java/com/ccsens/ht/api/QuestionController.java index 70a59576..3e77a0a6 100644 --- a/ht/src/main/java/com/ccsens/ht/api/QuestionController.java +++ b/ht/src/main/java/com/ccsens/ht/api/QuestionController.java @@ -50,6 +50,21 @@ public class QuestionController { return JsonResponse.newInstance().ok(query); } + @MustLogin + @DoctorAudit + @ApiOperation(value = "通过报告单和试题id查询试题的答案",notes = "测评试题查询") + @ApiImplicitParams({ + @ApiImplicitParam(name = "json", value = "测评试题查询信息", required = true) + }) + @RequestMapping(value="/optionJson", method = RequestMethod.POST) + public JsonResponse> queryOptionJson(@RequestBody @ApiParam @Valid QueryDto queryDto){ + log.info("查询试题:{}", queryDto); + + List optionJsonList = questionService.queryOptionJson(queryDto.getParam(), queryDto.getUserId()); + log.info("查询试题结果:{}", optionJsonList); + return JsonResponse.newInstance().ok(optionJsonList); + } + @MustLogin @DoctorAudit @ApiOperation(value = "保存试题得分",notes = "保存试题得分") diff --git a/ht/src/main/java/com/ccsens/ht/service/IQuestionService.java b/ht/src/main/java/com/ccsens/ht/service/IQuestionService.java index e08dc243..87db829b 100644 --- a/ht/src/main/java/com/ccsens/ht/service/IQuestionService.java +++ b/ht/src/main/java/com/ccsens/ht/service/IQuestionService.java @@ -46,4 +46,12 @@ public interface IQuestionService { * @return */ List getCanvas(QuestionDto.QueryPatientCanvas param, Long userId); + + /** + * 通过报告单和试题id查询选项 + * @param param 报告单id 和 试题id + * @param userId userId + * @return 返回选项 + */ + List queryOptionJson(QuestionDto.QueryPatientCanvas param, Long userId); } diff --git a/ht/src/main/java/com/ccsens/ht/service/QuestionService.java b/ht/src/main/java/com/ccsens/ht/service/QuestionService.java index d4c629b8..bbe37c8f 100644 --- a/ht/src/main/java/com/ccsens/ht/service/QuestionService.java +++ b/ht/src/main/java/com/ccsens/ht/service/QuestionService.java @@ -92,8 +92,8 @@ public class QuestionService implements IQuestionService { f = true; questionVo.setShowShareAnswer((byte) 0); } - //试题选项 - List optionList = htQuestionOptionDao.queryOption(question.getId(), query.getPatientReportId()); +// //试题选项 +// List optionList = htQuestionOptionDao.queryOption(question.getId(), query.getPatientReportId()); //查询可以共享答案的试题的id List shareAnswerIds = new ArrayList<>(); @@ -105,7 +105,7 @@ public class QuestionService implements IQuestionService { if(!f){ if(shareAnswer.getShowShareAnswer() == 1){ questionVo.setShowShareAnswer(shareAnswer.getShowShareAnswer()); - optionList = htQuestionOptionDao.queryOption(shareAnswer.getShareAnswerId(), query.getPatientReportId()); +// optionList = htQuestionOptionDao.queryOption(shareAnswer.getShareAnswerId(), query.getPatientReportId()); } } } @@ -155,8 +155,8 @@ public class QuestionService implements IQuestionService { introduceExample.setOrderByClause("sort"); List introduces = htQuestionIntroducerDao.selectByExample(introduceExample); List introduceVos = QuestionVo.Introduce.toIntroduces(introduces); -// //试题选项 -// List options = htQuestionOptionDao.queryOption(question.getId(), query.getPatientReportId()); + //试题选项 + List optionList = htQuestionOptionDao.queryOption(question.getId(), query.getPatientReportId()); //答题记录 List recordVos; @@ -177,6 +177,27 @@ public class QuestionService implements IQuestionService { return data; } + @Override + public List queryOptionJson(QuestionDto.QueryPatientCanvas param, Long userId) { + List optionJsons = new ArrayList<>(); + List options = htQuestionOptionDao.queryOption(param.getQuestionId(), param.getPatientReportId()); + if (CollectionUtil.isNotEmpty(options)) { + //方便后续把相同属性的选项放到一个对象的List中 + Map map = new HashMap<>(); + options.forEach(option -> { + if (map.get(option.getName()) == null) { + QuestionVo.OptionJson json = new QuestionVo.OptionJson(); + json.setName(option.getName()); + map.put(json.getName(), json); + //相同属性的选项放在同一个optionJson里 + optionJsons.add(json); + } + QuestionVo.OptionJson json = map.get(option.getName()); + json.addOption(option); + }); + } + return optionJsons; + } @Override public CodeEnum saveScore(QuestionDto.Score score, Long userId) throws IOException, NotSupportedFileTypeException {