提交 aab0117a authored 作者: luzhangjian's avatar luzhangjian

feat:修改

上级 fe852c29
......@@ -25,45 +25,45 @@ public class PatientMedicalRecordController {
@Autowired
private PatientMedicalRecordService patientMedicalRecordService;
@PostMapping("/insert")
@ApiOperation(value = "新建复诊病历", notes = "医生开具复诊病历")
public BaseResponse<InsertPatientMedicalRecordVO> insert(@RequestBody @Validated InsertPatientMedicalRecordDTO dto,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return BaseResponse.error(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
}
return patientMedicalRecordService.insertPatientMedicalRecord(dto);
}
@PostMapping("/update")
@ApiOperation(value = "修改复诊病历", notes = "医生修改复诊病历")
public BaseResponse<InsertPatientMedicalRecordVO> update(@RequestBody @Validated UpdatePatientMedicalRecordDTO dto,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return BaseResponse.error(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
}
return patientMedicalRecordService.updatePatientMedicalRecord(dto);
}
@PostMapping("/insertOrUpdate")
@ApiOperation(value = "新建或修改复诊病历", notes = "新建或修改复诊病历")
public BaseResponse<Object> insertOrUpdate(@RequestBody @Validated InsertPatientMedicalRecordDTO dto,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return BaseResponse.error(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
}
return patientMedicalRecordService.insertOrUpdate(dto);
}
@PostMapping("/detail")
@ApiOperation(value = "复诊病历详情", notes = "复诊病历详情")
public BaseResponse<PatientMedicalRecordVO> detail(@RequestBody @Validated InvalidMedicalRecordDTO dto,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return BaseResponse.error(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
}
return patientMedicalRecordService.detailMedicalRecord(dto);
}
// @PostMapping("/insert")
// @ApiOperation(value = "新建复诊病历", notes = "医生开具复诊病历")
// public BaseResponse<InsertPatientMedicalRecordVO> insert(@RequestBody @Validated InsertPatientMedicalRecordDTO dto,
// BindingResult bindingResult) {
// if (bindingResult.hasErrors()) {
// return BaseResponse.error(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
// }
// return patientMedicalRecordService.insertPatientMedicalRecord(dto);
// }
//
// @PostMapping("/update")
// @ApiOperation(value = "修改复诊病历", notes = "医生修改复诊病历")
// public BaseResponse<InsertPatientMedicalRecordVO> update(@RequestBody @Validated UpdatePatientMedicalRecordDTO dto,
// BindingResult bindingResult) {
// if (bindingResult.hasErrors()) {
// return BaseResponse.error(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
// }
// return patientMedicalRecordService.updatePatientMedicalRecord(dto);
// }
//
// @PostMapping("/insertOrUpdate")
// @ApiOperation(value = "新建或修改复诊病历", notes = "新建或修改复诊病历")
// public BaseResponse<Object> insertOrUpdate(@RequestBody @Validated InsertPatientMedicalRecordDTO dto,
// BindingResult bindingResult) {
// if (bindingResult.hasErrors()) {
// return BaseResponse.error(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
// }
// return patientMedicalRecordService.insertOrUpdate(dto);
// }
//
// @PostMapping("/detail")
// @ApiOperation(value = "复诊病历详情", notes = "复诊病历详情")
// public BaseResponse<PatientMedicalRecordVO> detail(@RequestBody @Validated InvalidMedicalRecordDTO dto,
// BindingResult bindingResult) {
// if (bindingResult.hasErrors()) {
// return BaseResponse.error(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
// }
// return patientMedicalRecordService.detailMedicalRecord(dto);
// }
@ApiOperation(value = "推送病例卡片", notes = "医生开具复诊病例推送小卡片")
@RequestMapping(value = "/treatmentCard", method = RequestMethod.POST)
......
......@@ -15,13 +15,13 @@ import java.util.Objects;
*/
public interface PatientMedicalRecordService {
BaseResponse<InsertPatientMedicalRecordVO> insertPatientMedicalRecord(InsertPatientMedicalRecordDTO dto);
BaseResponse<InsertPatientMedicalRecordVO> updatePatientMedicalRecord(UpdatePatientMedicalRecordDTO dto);
BaseResponse<PatientMedicalRecordVO> detailMedicalRecord(InvalidMedicalRecordDTO dto);
BaseResponse<Object> insertOrUpdate(InsertPatientMedicalRecordDTO dto);
// BaseResponse<InsertPatientMedicalRecordVO> insertPatientMedicalRecord(InsertPatientMedicalRecordDTO dto);
//
// BaseResponse<InsertPatientMedicalRecordVO> updatePatientMedicalRecord(UpdatePatientMedicalRecordDTO dto);
//
// BaseResponse<PatientMedicalRecordVO> detailMedicalRecord(InvalidMedicalRecordDTO dto);
//
// BaseResponse<Object> insertOrUpdate(InsertPatientMedicalRecordDTO dto);
BaseResponse<Object> treatmentCard(String admId);
}
......@@ -55,15 +55,9 @@ public class PatientMedicalRecordServiceImpl implements PatientMedicalRecordServ
@Autowired
private PatientMedicalRecordMapper patientMedicalRecordMapper;
@Autowired
private PatientMapper patientMapper;
@Autowired
private PatientSignMapper patientSignMapper;
@Autowired
private RedisTemplateService redisTemplateService;
@Autowired
private DoctorInfofeignClient doctorInfofeignClient;
......@@ -75,112 +69,8 @@ public class PatientMedicalRecordServiceImpl implements PatientMedicalRecordServ
@Override
public BaseResponse<InsertPatientMedicalRecordVO> insertPatientMedicalRecord(InsertPatientMedicalRecordDTO dto) {
log.info("医生开具复诊病历入参:{}", dto.toString());
PatientMedicalRecordEntity entity = new PatientMedicalRecordEntity();
BeanUtils.copyProperties(dto, entity);
entity.setId(UUIDUtil.getUUID());
entity.setRecordStatus(1);
patientMedicalRecordMapper.insert(entity);
InsertPatientMedicalRecordVO vo = new InsertPatientMedicalRecordVO();
vo.setRecordId(String.valueOf(entity.getId()));
return BaseResponse.success(vo);
}
@Override
public BaseResponse<InsertPatientMedicalRecordVO> updatePatientMedicalRecord(UpdatePatientMedicalRecordDTO dto) {
log.info("医生修改复诊病历入参:{}", dto.toString());
if (StringUtils.isEmpty(dto.getId())) {
throw new BusinessException("修改xid不能为空");
}
PatientMedicalRecordEntity recordEntity = patientMedicalRecordMapper.getByIdAndStatus(dto.getId(), 1);
if (ObjectUtil.isNull(recordEntity)) {
throw new BusinessException("未找到该病历,或病例失效");
}
PatientMedicalRecordEntity entity = new PatientMedicalRecordEntity();
BeanUtils.copyProperties(dto, entity);
patientMedicalRecordMapper.updateById(entity);
InsertPatientMedicalRecordVO vo = new InsertPatientMedicalRecordVO();
vo.setRecordId(String.valueOf(entity.getId()));
return BaseResponse.success(vo);
}
@Override
public BaseResponse<PatientMedicalRecordVO> detailMedicalRecord(InvalidMedicalRecordDTO dto) {
log.info("病历详情入参:{}", dto.toString());
if (StringUtils.isEmpty(dto.getAdmId())) {
throw new BusinessException("amdId不能未空");
}
PatientMedicalRecordEntity entity = patientMedicalRecordMapper.getByAdmId(dto.getAdmId());
if (ObjectUtil.isNull(entity)) {
return BaseResponse.success();
}
PatientMedicalRecordVO vo = new PatientMedicalRecordVO();
BeanUtils.copyProperties(entity, vo);
// 查询患者,医生,科室信息
PatientMedicalRecordVO.InfoVo infoVo = new PatientMedicalRecordVO.InfoVo();
PatientEntity patientEntity = patientMapper.selectById(entity.getPatientId());
if (ObjectUtil.isNotNull(patientEntity)) {
infoVo.setPatientName(patientEntity.getPatientName());
infoVo.setPatientGender(String.valueOf(patientEntity.getGender()));
infoVo.setPatientNo(patientEntity.getCredNo());
infoVo.setPatientPhone(patientEntity.getPhone());
infoVo.setPatientUserId(patientEntity.getUserId());
infoVo.setPatientCredNo(patientEntity.getCredNo());
}
PatientSignEntity patientSignEntity = patientSignMapper.queryByAdmId(entity.getAdmId());
if (ObjectUtil.isNotNull(patientSignEntity)) {
infoVo.setDeptId(String.valueOf(patientSignEntity.getDeptId()));
infoVo.setDeptName(patientSignEntity.getDeptName());
infoVo.setDoctorId(String.valueOf(patientSignEntity.getDoctorId()));
infoVo.setDoctorName(patientSignEntity.getDoctorName());
}
vo.setInfoVo(infoVo);
return BaseResponse.success(vo);
}
@Override
public BaseResponse<Object> insertOrUpdate(InsertPatientMedicalRecordDTO dto) {
log.info("新增或修改入参:{}", dto.toString());
PatientMedicalRecordEntity recordEntity = patientMedicalRecordMapper.getByAdmId(dto.getAdmId());
if (ObjectUtil.isNotNull(recordEntity)) {
// 修改
PatientMedicalRecordEntity updateEntity = new PatientMedicalRecordEntity();
BeanUtils.copyProperties(dto, updateEntity);
updateEntity.setId(recordEntity.getId());
int update = patientMedicalRecordMapper.updateById(updateEntity);
if (update > 0) {
return BaseResponse.success();
} else {
return BaseResponse.error("修改失败");
}
} else {
// 新增
PatientMedicalRecordEntity entity = new PatientMedicalRecordEntity();
BeanUtils.copyProperties(dto, entity);
entity.setId(UUIDUtil.getUUID());
entity.setRecordStatus(1);
int insert = patientMedicalRecordMapper.insert(entity);
if (insert > 0) {
return BaseResponse.success();
} else {
return BaseResponse.error("新增失败");
}
}
}
public BaseResponse<Object> treatmentCard(String admissionId) {
String redisKey = admissionId + "_JTYSBL";
boolean flag = redisTemplateService.addLockNew(redisKey, redisKey, 60);
if (flag) {
log.info("该患者已开过复诊病历");
return BaseResponse.error("病历提交过频繁,请稍等后重新提交");
}
PatientSignInfo patientSignInfo = getPatientSignInfo(admissionId);
List<MessageInfo> messageInfos = new ArrayList<>();
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论