diff --git a/src/main/java/com/syjiaer/clinic/server/controller/charge/ChargeController.java b/src/main/java/com/syjiaer/clinic/server/controller/charge/ChargeController.java index 076e649..e4ba3bb 100644 --- a/src/main/java/com/syjiaer/clinic/server/controller/charge/ChargeController.java +++ b/src/main/java/com/syjiaer/clinic/server/controller/charge/ChargeController.java @@ -108,4 +108,5 @@ public class ChargeController extends BaseController { } + } diff --git a/src/main/java/com/syjiaer/clinic/server/controller/diagnosis/MedicalRecordController.java b/src/main/java/com/syjiaer/clinic/server/controller/diagnosis/MedicalRecordController.java index 8d51380..4c6d08e 100644 --- a/src/main/java/com/syjiaer/clinic/server/controller/diagnosis/MedicalRecordController.java +++ b/src/main/java/com/syjiaer/clinic/server/controller/diagnosis/MedicalRecordController.java @@ -5,6 +5,7 @@ import com.syjiaer.clinic.server.common.vo.Result; import com.syjiaer.clinic.server.controller.BaseController; import com.syjiaer.clinic.server.entity.diagnosis.dto.ChargeQueueQuery; import com.syjiaer.clinic.server.entity.diagnosis.dto.MedicalRecordSaveDto; +import com.syjiaer.clinic.server.entity.diagnosis.vo.ChargeQueueVo; import com.syjiaer.clinic.server.entity.diagnosis.vo.MedicalRecordVo; import com.syjiaer.clinic.server.entity.patient.vo.SeeDoctorInfoVo; import com.syjiaer.clinic.server.service.diagnosis.MedicalRecordService; @@ -55,7 +56,7 @@ public class MedicalRecordController extends BaseController { * 获取收费队列 */ @RequestMapping("/getChargeQueue") - public Result> getChargeQueue() { + public Result> getChargeQueue() { ChargeQueueQuery query = parmsUtil.getObject("query", ChargeQueueQuery.class); return success( medicalRecordService.getChargeQueue(query)); @@ -70,5 +71,11 @@ public class MedicalRecordController extends BaseController { return success( medicalRecordService.getSeeDockerInfo(regisId)); } + @RequestMapping("/getByDiagnosisCode") + public Result getByDiagnosisCode() { + String diagnosisCode = parmsUtil.getString("diagnosisCode", "诊断code不能为空"); + return success( medicalRecordService.getByDiagnosisCode(diagnosisCode)); + } + } diff --git a/src/main/java/com/syjiaer/clinic/server/entity/diagnosis/vo/ChargeQueueVo.java b/src/main/java/com/syjiaer/clinic/server/entity/diagnosis/vo/ChargeQueueVo.java new file mode 100644 index 0000000..9e12c72 --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/entity/diagnosis/vo/ChargeQueueVo.java @@ -0,0 +1,33 @@ +package com.syjiaer.clinic.server.entity.diagnosis.vo; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; +@Data +public class ChargeQueueVo { + + @ApiModelProperty("自增id") + private Integer id; + + @ApiModelProperty("患者id") + private Integer patientId; + + @ApiModelProperty("诊断code") + private String code; + + @ApiModelProperty("挂单id") + private Integer registrationId; + @ApiModelProperty("状态") + private Integer status; + @ApiModelProperty("创建时间") + private LocalDateTime createTime; + + @ApiModelProperty("患者名称") + private String patientName; + @ApiModelProperty("患者性别") + private Integer patientGender; +} diff --git a/src/main/java/com/syjiaer/clinic/server/service/diagnosis/MedicalRecordService.java b/src/main/java/com/syjiaer/clinic/server/service/diagnosis/MedicalRecordService.java index 373814f..cfc0f1f 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/diagnosis/MedicalRecordService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/diagnosis/MedicalRecordService.java @@ -15,6 +15,7 @@ import com.syjiaer.clinic.server.entity.charge.vo.ChargeItemListVo; import com.syjiaer.clinic.server.entity.diagnosis.Diagnosis; import com.syjiaer.clinic.server.entity.diagnosis.dto.ChargeQueueQuery; import com.syjiaer.clinic.server.entity.diagnosis.dto.ItemRetailDto; +import com.syjiaer.clinic.server.entity.diagnosis.vo.ChargeQueueVo; import com.syjiaer.clinic.server.entity.goods.Goods; import com.syjiaer.clinic.server.entity.item.Item; import com.syjiaer.clinic.server.entity.manager.ManagerUser; @@ -78,18 +79,19 @@ public class MedicalRecordService extends BaseService { @Autowired private DiagnosisMapper diagnosisMapper; @Autowired - private PatientInfoMapper patientInfoMapper; + private PatientInfoMapper patientInfoMapper; + /* - * 保存 - * @param saveDto 病历信息 + * 保存 + * @param saveDto 病历信息 */ @Transactional(rollbackFor = Exception.class) public void save(MedicalRecordSaveDto saveDto) { //改变挂号单状态 - PatientRegistration dbRegis = patientRegistrationMapper.selectById(saveDto.getRegistrationId()); - if (dbRegis == null){ - throw new MessageException("挂号单不存在"); + PatientRegistration dbRegis = patientRegistrationMapper.selectById(saveDto.getRegistrationId()); + if (dbRegis == null) { + throw new MessageException("挂号单不存在"); } PatientRegistration updateRegis = new PatientRegistration(); updateRegis.setId(dbRegis.getId()); @@ -101,17 +103,17 @@ public class MedicalRecordService extends BaseService { queryWrapper.eq("registration_id", saveDto.getRegistrationId()); queryWrapper.last("limit 1"); Diagnosis dbDiagnosis = diagnosisMapper.selectOne(queryWrapper); - if (dbDiagnosis!=null){ - diagnosis.setId(dbDiagnosis.getId()); + if (dbDiagnosis != null) { + diagnosis.setId(dbDiagnosis.getId()); } String code = StringUtil.getCode("ZD"); LocalDateTime now = LocalDateTime.now(); BeanUtils.copyProperties(saveDto, diagnosis); diagnosis.setStatus(0); - if (diagnosis.getId() == null){ + if (diagnosis.getId() == null) { diagnosis.setCode(code); diagnosis.setCreateTime(now); - }else { + } else { code = diagnosis.getCode(); } @@ -137,8 +139,8 @@ public class MedicalRecordService extends BaseService { itemDetail.setSocialCode(dbItem.getItemSocialCode()); itemDetail.setUnit(dbItem.getUnit()); itemDetail.setUnitPrice(dbItem.getUnitPrice()); - if (item.getSelectedNum() == null ||item.getSelectedNum() <= 0){ - throw new MessageException("["+item.getItemName()+"]数量为0"); + if (item.getSelectedNum() == null || item.getSelectedNum() <= 0) { + throw new MessageException("[" + item.getItemName() + "]数量为0"); } itemDetail.setNumber(item.getSelectedNum()); itemLists.add(itemDetail); @@ -157,8 +159,8 @@ public class MedicalRecordService extends BaseService { goodsDetail.setUnit(goodsRetailDto.getSelectedUnit()); goodsDetail.setUnitPrice(goodsRetailDto.getSelectedPrice()); goodsDetail.setNumber(goodsRetailDto.getSelectedNum()); - if (goodsRetailDto.getSelectedNum() == null ||goodsRetailDto.getSelectedNum() <= 0){ - throw new MessageException("["+goodsRetailDto.getName()+"]数量为0"); + if (goodsRetailDto.getSelectedNum() == null || goodsRetailDto.getSelectedNum() <= 0) { + throw new MessageException("[" + goodsRetailDto.getName() + "]数量为0"); } goodsLists.add(goodsDetail); } @@ -169,6 +171,7 @@ public class MedicalRecordService extends BaseService { /** * 根据患者的id查询病历 + * * @param patientId * @return */ @@ -200,6 +203,7 @@ public class MedicalRecordService extends BaseService { /** * 根据挂单号回显病历信息 + * * @param regisId * @return */ @@ -227,18 +231,18 @@ public class MedicalRecordService extends BaseService { return vo; } - public void uploadDiagnosis(String diagnosisCode){ + public void uploadDiagnosis(String diagnosisCode) { Diagnosis diagnosis = diagnosisMapper.selectByCode(diagnosisCode); - if (diagnosis == null){ + if (diagnosis == null) { throw new MessageException("诊断不存在"); } DiagnosisMedicalRecord diagnosisMedicalRecord = diagnosisMedicalRecordMapper.selectByDiagnosisCode(diagnosisCode); - if (diagnosisMedicalRecord == null){ + if (diagnosisMedicalRecord == null) { throw new MessageException("病历不存在"); } PatientRegistration patientRegistration = patientRegistrationMapper.selectById(diagnosis.getRegistrationId()); - if (patientRegistration == null){ + if (patientRegistration == null) { throw new MessageException("挂号单不存在"); } OrganizationSection section = organizationSectionMapper.selectById(patientRegistration.getOrganizationSectionId()); @@ -251,7 +255,7 @@ public class MedicalRecordService extends BaseService { IM2203A.Mdtrtinfo mdtrtinfo = new IM2203A.Mdtrtinfo(); mdtrtinfo.setMdtrt_id(patientRegistration.getMdtrtId()); mdtrtinfo.setPsn_no(patientRegistration.getPsnNo()); - mdtrtinfo.setMed_type(config.get("social","medType")); + mdtrtinfo.setMed_type(config.get("social", "medType")); mdtrtinfo.setBegntime(curTime); IM2203A.ExpContent expContent = new IM2203A.ExpContent(); expContent.setTrum_flag("0"); @@ -259,9 +263,9 @@ public class MedicalRecordService extends BaseService { mdtrtinfo.setExp_content(expContent); im2203A.setMdtrtinfo(mdtrtinfo); JSONArray jsonArray = JSONArray.parseArray(diagnosisMedicalRecord.getDiagnosisDetail()); - int i =0; + int i = 0; List diagList = new ArrayList<>(); - for (Object object : jsonArray){ + for (Object object : jsonArray) { i++; JSONObject json = (JSONObject) object; IM2203A.Diseinfo diag = new IM2203A.Diseinfo(); @@ -282,24 +286,27 @@ public class MedicalRecordService extends BaseService { } - /* - 获取收费队列 - */ - public Page getChargeQueue(ChargeQueueQuery query) { + + + public Page getChargeQueue(ChargeQueueQuery query) { QueryWrapper queryWrapper = new QueryWrapper<>(); - if (query.getStatus() != null){ + if (query.getStatus() != null) { queryWrapper.eq("status", query.getStatus()); } - Page diagnosisList =pageHelper(query.getPageNum(), query.getPageSize(),queryWrapper,diagnosisMapper,"create_time", false); + Page diagnosisList = pageHelper(query.getPageNum(), query.getPageSize(), queryWrapper, diagnosisMapper, "create_time", false); - List list = new ArrayList<>(); - for (Diagnosis diagnosis : diagnosisList.getList()){ - MedicalRecordVo vo = new MedicalRecordVo(); - vo = getDetailByRegisId(diagnosis.getRegistrationId()); + List list = new ArrayList<>(); + for (Diagnosis diagnosis : diagnosisList.getList()) { + ChargeQueueVo vo = new ChargeQueueVo(); + BeanUtils.copyProperties(diagnosis, vo); + PatientRegistration registration = patientRegistrationMapper.selectById(diagnosis.getRegistrationId()); + vo.setPatientId(registration.getPatientInfoId()); + vo.setPatientName(registration.getName()); + vo.setPatientGender(registration.getGender()); list.add(vo); } - Page page = new Page<>(); + Page page = new Page<>(); page.setList(list); page.setTotal_page(diagnosisList.getTotal_page()); page.setTotal_count(diagnosisList.getTotal_count()); @@ -309,7 +316,7 @@ public class MedicalRecordService extends BaseService { public SeeDoctorInfoVo getSeeDockerInfo(Integer regisId) { PatientRegistration registration = patientRegistrationMapper.selectById(regisId); - if (registration == null){ + if (registration == null) { throw new MessageException("挂号单不存在"); } SeeDoctorInfoVo vo = new SeeDoctorInfoVo(); @@ -318,19 +325,24 @@ public class MedicalRecordService extends BaseService { OrganizationMember docker = organizationMemberMapper.selectById(registration.getOrganizationDoctorId()); vo.setDockerId(docker.getId()); vo.setDockerName(docker.getName()); - if (docker.getSectionId() != null){ + if (docker.getSectionId() != null) { OrganizationSection section = organizationSectionMapper.selectById(docker.getSectionId()); vo.setSectionName(section.getName()); } QueryWrapper diagnosisQueryWrapper = new QueryWrapper<>(); - diagnosisQueryWrapper.eq("patient_id",vo.getPatientInfo().getId()); + diagnosisQueryWrapper.eq("patient_id", vo.getPatientInfo().getId()); diagnosisQueryWrapper.orderByDesc("create_time"); List diagnosisList = diagnosisMapper.selectList(diagnosisQueryWrapper); - if (!diagnosisList.isEmpty()){ + if (!diagnosisList.isEmpty()) { vo.setLastSeeDoctorTime(diagnosisList.get(0).getCreateTime()); vo.setSeeDoctorCount(diagnosisList.size()); } vo.setSocialBalance(BigDecimal.ZERO); return vo; } + + public MedicalRecordVo getByDiagnosisCode(String diagnosisCode) { + Diagnosis diagnosis = diagnosisMapper.selectByCode(diagnosisCode); + return getDetailByRegisId(diagnosis.getRegistrationId()); + } }