diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/MedicalRecManageController.java b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/MedicalRecManageController.java index cb234e45..77a30a42 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/MedicalRecManageController.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/MedicalRecManageController.java @@ -31,18 +31,23 @@ public class MedicalRecManageController { @ApiOperation("病历管理分页查询") @GetMapping("queryMedicalRecPage") public IPage queryMedicalRecManagePage(@ApiParam("主诉") String selfDescKeyword, - @ApiParam("性别") String gender, - @ApiParam("疾病ID") String diseaseId, - Integer pageNum, Integer pageSize) { + @ApiParam("性别") String gender, + @ApiParam("疾病ID") String diseaseId, + Integer pageNum, Integer pageSize) { return medicalRecManageService.queryMedicalRecManagePage(selfDescKeyword, gender, diseaseId, pageNum, pageSize); } @ApiOperation("创建病历") @PostMapping("createMedicalRec") - public void createMedicalRec(@RequestBody MedicalRecManageVO reqVO){ - + public void createMedicalRec(@RequestBody MedicalRecManageVO reqVO) { + medicalRecManageService.createMedicalRec(reqVO); } + @ApiOperation("修改病历") + @PostMapping("modifyMedicalRec") + public void modifyMedicalRec(@RequestBody MedicalRecManageVO reqVO){ + + } } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/MedicalRecManageService.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/MedicalRecManageService.java index 8078a139..d9b05b76 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/MedicalRecManageService.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/MedicalRecManageService.java @@ -15,4 +15,6 @@ public interface MedicalRecManageService { IPage queryMedicalRecManagePage(String selfDescKeyword, String gender, String diseaseId, Integer pageNum, Integer pageSize); void createMedicalRec(MedicalRecManageVO reqVO); + + void modifyMedicalRec(MedicalRecManageVO reqVO); } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecManageServiceImpl.java index 2ddfbd1b..33a80e3e 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecManageServiceImpl.java @@ -7,13 +7,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.supervision.exception.BusinessException; import com.supervision.manage.pojo.vo.MedicalRecManageVO; -import com.supervision.model.AskPatientAnswer; -import com.supervision.model.MedicalRec; -import com.supervision.model.Patient; +import com.supervision.model.*; import com.supervision.service.AskPatientAnswerService; import com.supervision.vo.manage.MedicalRecPageResVO; import com.supervision.manage.service.MedicalRecManageService; -import com.supervision.model.Disease; import com.supervision.service.DiseaseService; import com.supervision.service.MedicalRecService; import lombok.RequiredArgsConstructor; @@ -21,7 +18,12 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.Collection; import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.function.Function; +import java.util.stream.Collectors; @Slf4j @Service @@ -70,4 +72,32 @@ public class MedicalRecManageServiceImpl implements MedicalRecManageService { } askPatientAnswerService.saveBatch(qaList); } + + @Override + public void modifyMedicalRec(MedicalRecManageVO reqVO) { + // 首先修改病人 + Patient patient = reqVO.getPatient(); + patient.updateById(); + // 病历不允许修改 + MedicalRec medicalRec = Optional.ofNullable(medicalRecService.getById(reqVO.getId())).orElseThrow(() -> new BusinessException("未找到病历信息")); + if (!StrUtil.equals(medicalRec.getDiseaseId(), reqVO.getDiseaseId())) { + throw new BusinessException("修改病例时,不允许修改疾病"); + } + medicalRec.updateById(); + // 然后修改问答 + // 首先找到数据库中的问答 + List existQAList = askPatientAnswerService.lambdaQuery().eq(AskPatientAnswer::getMedicalId, medicalRec.getId()).list(); + Map existQAMap = existQAList.stream().collect(Collectors.toMap(AskPatientAnswer::getId, Function.identity())); + for (AskPatientAnswer askPatientAnswer : reqVO.getQaList()) { + if (StrUtil.isNotBlank(askPatientAnswer.getId())) { + // 存在的移除掉 + existQAMap.remove(askPatientAnswer.getId()); + askPatientAnswer.updateById(); + } else { + askPatientAnswer.insert(); + } + } + // 将删除的移除 + askPatientAnswerService.removeByIds(existQAMap.values().stream().map(AskPatientAnswer::getId).collect(Collectors.toSet())); + } } diff --git a/virtual-patient-model/src/main/java/com/supervision/model/AskPatientAnswer.java b/virtual-patient-model/src/main/java/com/supervision/model/AskPatientAnswer.java index e7a85634..b504d211 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/AskPatientAnswer.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/AskPatientAnswer.java @@ -8,6 +8,7 @@ import java.io.Serializable; import java.time.LocalDateTime; import java.util.List; +import com.baomidou.mybatisplus.extension.activerecord.Model; import com.supervision.handler.StringListTypeHandler; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -18,7 +19,7 @@ import lombok.Data; */ @TableName(value ="vp_ask_patient_answer",autoResultMap = true) @Data -public class AskPatientAnswer implements Serializable { +public class AskPatientAnswer extends Model implements Serializable { /** * 主键 */ diff --git a/virtual-patient-model/src/main/java/com/supervision/model/CommonDic.java b/virtual-patient-model/src/main/java/com/supervision/model/CommonDic.java index a995e8cf..e7f2aba0 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/CommonDic.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/CommonDic.java @@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.util.Date; + +import com.baomidou.mybatisplus.extension.activerecord.Model; import lombok.Data; /** @@ -14,7 +16,7 @@ import lombok.Data; */ @TableName(value ="vp_common_dic") @Data -public class CommonDic implements Serializable { +public class CommonDic extends Model implements Serializable { /** * */ diff --git a/virtual-patient-web/src/main/java/com/supervision/pojo/paddlespeech/req/TtsReqDTO.java b/virtual-patient-web/src/main/java/com/supervision/pojo/paddlespeech/req/TtsReqDTO.java index aac30cc4..4828c86a 100644 --- a/virtual-patient-web/src/main/java/com/supervision/pojo/paddlespeech/req/TtsReqDTO.java +++ b/virtual-patient-web/src/main/java/com/supervision/pojo/paddlespeech/req/TtsReqDTO.java @@ -10,13 +10,13 @@ public class TtsReqDTO { private final String text; - private final Integer spk_id = 0; + private final Integer spk_id = 0; - private final Double speed = 1.0; + private final Double speed = 1.0; - private final Double volume = 1.0; + private final Double volume = 1.0; - private final Integer sample_rate = 16000; + private final Integer sample_rate = 16000; private final String save_path = "./tts.wav";