Browse Source

其他记录

sd
zhizhi wu 4 years ago
parent
commit
bd4946c23c
  1. 4
      ht/src/main/java/com/ccsens/ht/api/QuestionController.java
  2. 8
      ht/src/main/java/com/ccsens/ht/bean/dto/QuestionDto.java
  3. 18
      ht/src/main/java/com/ccsens/ht/persist/dao/HtPatientReportRecordDescDao.java
  4. 2
      ht/src/main/java/com/ccsens/ht/service/IQuestionService.java
  5. 36
      ht/src/main/java/com/ccsens/ht/service/QuestionService.java
  6. 2
      ht/src/main/java/com/ccsens/ht/uitl/Constant.java
  7. 4
      ht/src/main/resources/application.yml
  8. 12
      ht/src/main/resources/mapper_dao/HtPatientReportRecordDescDao.xml

4
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<List<QuestionDto.Record>> queryDto) {
@RequestMapping(value="/saveRecord", method = RequestMethod.POST)
public JsonResponse saveRecord(@RequestBody @ApiParam @Valid QueryDto<QuestionDto.Record> queryDto) {
log.info("保存题目的其他记录:{}", queryDto);
questionService.saveRecord(queryDto.getParam(), queryDto.getUserId());
log.info("保存题目的其他记录成功");

8
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<RecordDetail> details;
}
@Data
@ApiModel("其他记录答案-request")
public static class RecordDetail{
@ApiModelProperty("试题ID")
@NotNull(message = "试题ID不能为空")
private Long recordId;

18
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<HtPatientReportRecordDesc> records);
}

2
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<QuestionDto.Record> records, Long userId);
void saveRecord(QuestionDto.Record records, Long userId);
}

36
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<QuestionDto.Record> 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<Long> recordIds = new ArrayList<>();
List<HtPatientReportRecordDesc> 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("保存新答案");
}
}

2
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) {

4
ht/src/main/resources/application.yml

@ -1,4 +1,4 @@
spring:
profiles:
active: prod
include: common, util-prod
active: test
include: common, util-test

12
ht/src/main/resources/mapper_dao/HtPatientReportRecordDescDao.xml

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccsens.ht.persist.dao.HtPatientReportRecordDescDao">
<insert id="batchSave">
insert into t_ht_patient_report_record_desc(id, patient_report_id, record_id, answer) values
<foreach collection="list" item="item" separator=",">
(#{item.id}, #{item.patientReportId}, #{item.recordId}, #{item.answer})
</foreach>
</insert>
</mapper>
Loading…
Cancel
Save