病例管理修改

dev_2.0.0
liu 2 years ago
parent 40504046b3
commit 2f0acf4315

@ -39,10 +39,15 @@ public class MedicalRecManageController {
@ApiOperation("创建病历") @ApiOperation("创建病历")
@PostMapping("createMedicalRec") @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){
}
} }

@ -15,4 +15,6 @@ public interface MedicalRecManageService {
IPage<MedicalRecPageResVO> queryMedicalRecManagePage(String selfDescKeyword, String gender, String diseaseId, Integer pageNum, Integer pageSize); IPage<MedicalRecPageResVO> queryMedicalRecManagePage(String selfDescKeyword, String gender, String diseaseId, Integer pageNum, Integer pageSize);
void createMedicalRec(MedicalRecManageVO reqVO); void createMedicalRec(MedicalRecManageVO reqVO);
void modifyMedicalRec(MedicalRecManageVO reqVO);
} }

@ -7,13 +7,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.supervision.exception.BusinessException; import com.supervision.exception.BusinessException;
import com.supervision.manage.pojo.vo.MedicalRecManageVO; import com.supervision.manage.pojo.vo.MedicalRecManageVO;
import com.supervision.model.AskPatientAnswer; import com.supervision.model.*;
import com.supervision.model.MedicalRec;
import com.supervision.model.Patient;
import com.supervision.service.AskPatientAnswerService; import com.supervision.service.AskPatientAnswerService;
import com.supervision.vo.manage.MedicalRecPageResVO; import com.supervision.vo.manage.MedicalRecPageResVO;
import com.supervision.manage.service.MedicalRecManageService; import com.supervision.manage.service.MedicalRecManageService;
import com.supervision.model.Disease;
import com.supervision.service.DiseaseService; import com.supervision.service.DiseaseService;
import com.supervision.service.MedicalRecService; import com.supervision.service.MedicalRecService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -21,7 +18,12 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Function;
import java.util.stream.Collectors;
@Slf4j @Slf4j
@Service @Service
@ -70,4 +72,32 @@ public class MedicalRecManageServiceImpl implements MedicalRecManageService {
} }
askPatientAnswerService.saveBatch(qaList); 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<AskPatientAnswer> existQAList = askPatientAnswerService.lambdaQuery().eq(AskPatientAnswer::getMedicalId, medicalRec.getId()).list();
Map<String, AskPatientAnswer> 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()));
}
} }

@ -8,6 +8,7 @@ import java.io.Serializable;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.supervision.handler.StringListTypeHandler; import com.supervision.handler.StringListTypeHandler;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -18,7 +19,7 @@ import lombok.Data;
*/ */
@TableName(value ="vp_ask_patient_answer",autoResultMap = true) @TableName(value ="vp_ask_patient_answer",autoResultMap = true)
@Data @Data
public class AskPatientAnswer implements Serializable { public class AskPatientAnswer extends Model<AskPatientAnswer> implements Serializable {
/** /**
* *
*/ */

@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data; import lombok.Data;
/** /**
@ -14,7 +16,7 @@ import lombok.Data;
*/ */
@TableName(value ="vp_common_dic") @TableName(value ="vp_common_dic")
@Data @Data
public class CommonDic implements Serializable { public class CommonDic extends Model<CommonDic> implements Serializable {
/** /**
* *
*/ */

Loading…
Cancel
Save