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 254c76c9..2b798dae 100644 --- a/ht/src/main/java/com/ccsens/ht/api/QuestionController.java +++ b/ht/src/main/java/com/ccsens/ht/api/QuestionController.java @@ -96,8 +96,8 @@ public class QuestionController { @ApiOperation(value = "保存题目的其他记录",notes = "whj:保存题目的其他记录") @ApiImplicitParams({ }) - @RequestMapping(value="/delCanvas", method = RequestMethod.POST) - public JsonResponse saveRecord(@RequestBody @ApiParam @Valid QueryDto> queryDto) { + @RequestMapping(value="/saveRecord", method = RequestMethod.POST) + public JsonResponse saveRecord(@RequestBody @ApiParam @Valid QueryDto queryDto) { log.info("保存题目的其他记录:{}", queryDto); questionService.saveRecord(queryDto.getParam(), queryDto.getUserId()); log.info("保存题目的其他记录成功"); diff --git a/ht/src/main/java/com/ccsens/ht/bean/dto/QuestionDto.java b/ht/src/main/java/com/ccsens/ht/bean/dto/QuestionDto.java index 42478cdf..e01aa060 100644 --- a/ht/src/main/java/com/ccsens/ht/bean/dto/QuestionDto.java +++ b/ht/src/main/java/com/ccsens/ht/bean/dto/QuestionDto.java @@ -85,6 +85,14 @@ public class QuestionDto { @ApiModelProperty("病人报告单ID") private Long patientReportId; @NotNull + @ApiModelProperty("其他记录答案") + private List details; + + } + + @Data + @ApiModel("其他记录答案-request") + public static class RecordDetail{ @ApiModelProperty("试题ID") @NotNull(message = "试题ID不能为空") private Long recordId; diff --git a/ht/src/main/java/com/ccsens/ht/persist/dao/HtPatientReportRecordDescDao.java b/ht/src/main/java/com/ccsens/ht/persist/dao/HtPatientReportRecordDescDao.java new file mode 100644 index 00000000..8152b584 --- /dev/null +++ b/ht/src/main/java/com/ccsens/ht/persist/dao/HtPatientReportRecordDescDao.java @@ -0,0 +1,18 @@ +package com.ccsens.ht.persist.dao; + +import com.ccsens.ht.bean.po.HtPatientReportRecordDesc; +import com.ccsens.ht.persist.mapper.HtPatientReportRecordDescMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author whj + */ +public interface HtPatientReportRecordDescDao extends HtPatientReportRecordDescMapper { + /** + * 批量保存答案 + * @param records 保存答案 + */ + void batchSave(@Param("list") List records); +} 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 5615fefd..c6e38cd8 100644 --- a/ht/src/main/java/com/ccsens/ht/service/IQuestionService.java +++ b/ht/src/main/java/com/ccsens/ht/service/IQuestionService.java @@ -67,5 +67,5 @@ public interface IQuestionService { * @param records 记录 * @param userId 用户ID */ - void saveRecord(List records, Long userId); + void saveRecord(QuestionDto.Record records, 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 46f07541..3989cb16 100644 --- a/ht/src/main/java/com/ccsens/ht/service/QuestionService.java +++ b/ht/src/main/java/com/ccsens/ht/service/QuestionService.java @@ -67,6 +67,9 @@ public class QuestionService implements IQuestionService { private HtPatientCanvasDao patientCanvasDao; @Resource private HtPatientCanvasLineMapper patientCanvasLineMapper; + @Resource + private HtPatientReportRecordDescDao htPatientReportRecordDescDao; + @@ -1031,10 +1034,37 @@ public class QuestionService implements IQuestionService { } @Override - public void saveRecord(List records, Long userId) { - if (CollectionUtil.isEmpty(records)) { + public void saveRecord(QuestionDto.Record batchRecordMsg, Long userId) { + if (batchRecordMsg == null || CollectionUtil.isEmpty(batchRecordMsg.getDetails())) { return; } - // TODO + // 删除原有答案 + List recordIds = new ArrayList<>(); + List records = new ArrayList<>(); + batchRecordMsg.getDetails().forEach(detail -> { + recordIds.add(detail.getRecordId()); + if (CollectionUtil.isEmpty(detail.getAnswers())) { + return; + } + detail.getAnswers().forEach(answer -> { + HtPatientReportRecordDesc recordDesc = new HtPatientReportRecordDesc(); + recordDesc.setId(snowflake.nextId()); + recordDesc.setPatientReportId(batchRecordMsg.getPatientReportId()); + recordDesc.setRecordId(detail.getRecordId()); + recordDesc.setAnswer(answer); + records.add(recordDesc); + }); + }); + HtPatientReportRecordDescExample recordDescExample = new HtPatientReportRecordDescExample(); + recordDescExample.createCriteria().andPatientReportIdEqualTo(batchRecordMsg.getPatientReportId()) + .andRecordIdIn(recordIds).andIsDelEqualTo(Constant.Ht.NO_DEL); + HtPatientReportRecordDesc update = new HtPatientReportRecordDesc(); + update.setIsDel(Constant.Ht.IS_DEL); + htPatientReportRecordDescDao.updateByExampleSelective(update, recordDescExample); + log.info("删除其他记录答案:{},{}", recordIds, batchRecordMsg.getPatientReportId()); + // 保存新答案 + htPatientReportRecordDescDao.batchSave(records); + log.info("保存新答案"); + } } diff --git a/ht/src/main/java/com/ccsens/ht/uitl/Constant.java b/ht/src/main/java/com/ccsens/ht/uitl/Constant.java index ad9ef63a..90076545 100644 --- a/ht/src/main/java/com/ccsens/ht/uitl/Constant.java +++ b/ht/src/main/java/com/ccsens/ht/uitl/Constant.java @@ -165,6 +165,8 @@ public class Constant { /**删除*/ public final static byte IS_DEL = 1; + /**未删除*/ + public final static byte NO_DEL = 0; public static String getPasi(Byte pasi) { switch (pasi) { diff --git a/ht/src/main/resources/application.yml b/ht/src/main/resources/application.yml index d082c0ea..5889ff7f 100644 --- a/ht/src/main/resources/application.yml +++ b/ht/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: prod - include: common, util-prod \ No newline at end of file + active: test + include: common, util-test \ No newline at end of file diff --git a/ht/src/main/resources/mapper_dao/HtPatientReportRecordDescDao.xml b/ht/src/main/resources/mapper_dao/HtPatientReportRecordDescDao.xml new file mode 100644 index 00000000..8a7f284e --- /dev/null +++ b/ht/src/main/resources/mapper_dao/HtPatientReportRecordDescDao.xml @@ -0,0 +1,12 @@ + + + + + + + insert into t_ht_patient_report_record_desc(id, patient_report_id, record_id, answer) values + + (#{item.id}, #{item.patientReportId}, #{item.recordId}, #{item.answer}) + + + \ No newline at end of file