From 3a0d786691fbda6f6cf8226236566ce64517a435 Mon Sep 17 00:00:00 2001 From: LiJianZhao Date: Tue, 6 May 2025 14:56:57 +0800 Subject: [PATCH] deb --- .../clinic/server/common/util/PinYinUtil.java | 3 ++ .../diagnosis/MedicalRecordController.java | 3 +- .../entity/diagnosis/vo/MedicalHistoryVo.java | 44 +++++++++++++++++++ .../entity/diagnosis/vo/MedicalRecordVo.java | 5 +++ .../vo/PatientAndRegistrationInfoVo.java | 4 +- .../server/entity/social/SocialDiagnose.java | 8 +++- .../diagnosis/MedicalRecordService.java | 24 ++++++++-- .../patient/PatientRegistrationService.java | 4 +- .../service/social/SocialDiagnoseService.java | 26 ++++++++--- src/main/resources/doc_title/1306.json | 14 +++--- src/main/resources/doc_title/1309.json | 4 +- src/main/resources/doc_title/1314.json | 2 +- src/main/resources/doc_title/1315.json | 2 +- src/main/resources/doc_title/1320.json | 2 +- 14 files changed, 118 insertions(+), 27 deletions(-) create mode 100644 src/main/java/com/syjiaer/clinic/server/entity/diagnosis/vo/MedicalHistoryVo.java diff --git a/src/main/java/com/syjiaer/clinic/server/common/util/PinYinUtil.java b/src/main/java/com/syjiaer/clinic/server/common/util/PinYinUtil.java index d0ba996..9e10310 100644 --- a/src/main/java/com/syjiaer/clinic/server/common/util/PinYinUtil.java +++ b/src/main/java/com/syjiaer/clinic/server/common/util/PinYinUtil.java @@ -8,6 +8,9 @@ import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombi public class PinYinUtil { + /** + * 获取全文拼音 + */ public static String getPinyinFull(String inputString) { HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat(); format.setCaseType(HanyuPinyinCaseType.LOWERCASE); // 小写 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 4c6d08e..2e66603 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 @@ -6,6 +6,7 @@ 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.MedicalHistoryVo; 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; @@ -38,7 +39,7 @@ public class MedicalRecordController extends BaseController { * @return */ @RequestMapping("/listByPatient") - public Result> listByPatient() { + public Result> listByPatient() { Integer patientId = parmsUtil.getInteger("patientId", "患者不能为空"); return success( medicalRecordService.listByPatientId(patientId)); } diff --git a/src/main/java/com/syjiaer/clinic/server/entity/diagnosis/vo/MedicalHistoryVo.java b/src/main/java/com/syjiaer/clinic/server/entity/diagnosis/vo/MedicalHistoryVo.java new file mode 100644 index 0000000..37d34b6 --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/entity/diagnosis/vo/MedicalHistoryVo.java @@ -0,0 +1,44 @@ +package com.syjiaer.clinic.server.entity.diagnosis.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.syjiaer.clinic.server.entity.charge.vo.ChargeGoodsListVo; +import com.syjiaer.clinic.server.entity.charge.vo.ChargeItemListVo; +import com.syjiaer.clinic.server.entity.diagnosis.DiagnosisMedicalRecord; +import com.syjiaer.clinic.server.entity.patient.PatientInfo; +import com.syjiaer.clinic.server.entity.patient.PatientRegistration; +import com.syjiaer.clinic.server.entity.patient.vo.PatientAndRegistrationInfoVo; +import com.syjiaer.clinic.server.entity.patient.vo.PatientRegistrationVo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.List; +@Data +public class MedicalHistoryVo { + @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("接诊时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private LocalDateTime createTime; + @ApiModelProperty("挂单信息") + private PatientAndRegistrationInfoVo registrationInfoVo; + @ApiModelProperty("患者信息") + private PatientInfo patientInfo; + @ApiModelProperty("病例信息") + private DiagnosisMedicalRecord diagnosisMedicalRecord; + @ApiModelProperty("诊疗服务") + private List itemDetail; + @ApiModelProperty("药品耗材") + private List goodsDetail; +} diff --git a/src/main/java/com/syjiaer/clinic/server/entity/diagnosis/vo/MedicalRecordVo.java b/src/main/java/com/syjiaer/clinic/server/entity/diagnosis/vo/MedicalRecordVo.java index 0350f34..58c254a 100644 --- a/src/main/java/com/syjiaer/clinic/server/entity/diagnosis/vo/MedicalRecordVo.java +++ b/src/main/java/com/syjiaer/clinic/server/entity/diagnosis/vo/MedicalRecordVo.java @@ -2,6 +2,7 @@ package com.syjiaer.clinic.server.entity.diagnosis.vo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; import com.syjiaer.clinic.server.entity.charge.vo.ChargeGoodsListVo; import com.syjiaer.clinic.server.entity.charge.vo.ChargeItemListVo; import com.syjiaer.clinic.server.entity.diagnosis.DiagnosisMedicalGoodsList; @@ -13,6 +14,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import java.time.LocalDateTime; import java.util.List; @Getter @Setter @@ -31,6 +33,9 @@ public class MedicalRecordVo { private Integer registrationId; @ApiModelProperty("状态") private Integer status; + @ApiModelProperty("接诊时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private LocalDateTime createTime; @ApiModelProperty("挂单信息") private PatientRegistration patientRegistration; @ApiModelProperty("患者信息") diff --git a/src/main/java/com/syjiaer/clinic/server/entity/patient/vo/PatientAndRegistrationInfoVo.java b/src/main/java/com/syjiaer/clinic/server/entity/patient/vo/PatientAndRegistrationInfoVo.java index dea33d0..d60124c 100644 --- a/src/main/java/com/syjiaer/clinic/server/entity/patient/vo/PatientAndRegistrationInfoVo.java +++ b/src/main/java/com/syjiaer/clinic/server/entity/patient/vo/PatientAndRegistrationInfoVo.java @@ -32,9 +32,9 @@ public class PatientAndRegistrationInfoVo { @ApiModelProperty("上次就诊时间") private LocalDateTime lastVisitTime; @ApiModelProperty("挂号医生姓名") - private String dockerName; + private String doctorName; @ApiModelProperty("挂号医生科室") - private String dockerSection; + private String doctorSection; diff --git a/src/main/java/com/syjiaer/clinic/server/entity/social/SocialDiagnose.java b/src/main/java/com/syjiaer/clinic/server/entity/social/SocialDiagnose.java index d7aa3fe..b090d40 100644 --- a/src/main/java/com/syjiaer/clinic/server/entity/social/SocialDiagnose.java +++ b/src/main/java/com/syjiaer/clinic/server/entity/social/SocialDiagnose.java @@ -17,7 +17,7 @@ import lombok.experimental.Accessors; *

* * @author NiuZiYuan - * @since 2025-04-23 + * @since 2025-05-06 */ @Getter @Setter @@ -52,4 +52,10 @@ public class SocialDiagnose implements Serializable { @ApiModelProperty("版本名称") private String versionName; + + @ApiModelProperty("全拼") + private String pinyinFull; + + @ApiModelProperty("拼音首字母") + private String pinyinFirst; } 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 105a386..2c8ae17 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 @@ -16,6 +16,7 @@ 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.diagnosis.vo.MedicalHistoryVo; import com.syjiaer.clinic.server.entity.goods.Goods; import com.syjiaer.clinic.server.entity.item.Item; import com.syjiaer.clinic.server.entity.manager.ManagerUser; @@ -29,7 +30,9 @@ import com.syjiaer.clinic.server.entity.organization.OrganizationMember; import com.syjiaer.clinic.server.entity.organization.OrganizationSection; import com.syjiaer.clinic.server.entity.patient.PatientInfo; import com.syjiaer.clinic.server.entity.patient.PatientRegistration; +import com.syjiaer.clinic.server.entity.patient.vo.PatientAndRegistrationInfoVo; import com.syjiaer.clinic.server.entity.patient.vo.SeeDoctorInfoVo; +import com.syjiaer.clinic.server.entity.social.SocialDiagnose; import com.syjiaer.clinic.server.mapper.diagnosis.DiagnosisMapper; import com.syjiaer.clinic.server.mapper.goods.GoodsMapper; import com.syjiaer.clinic.server.mapper.item.ItemMapper; @@ -42,6 +45,7 @@ import com.syjiaer.clinic.server.mapper.patient.PatientInfoMapper; import com.syjiaer.clinic.server.mapper.patient.PatientRegistrationMapper; import com.syjiaer.clinic.server.service.BaseService; import com.syjiaer.clinic.server.service.charge.ChargeService; +import com.syjiaer.clinic.server.service.social.SocialDiagnoseService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -80,6 +84,8 @@ public class MedicalRecordService extends BaseService { private DiagnosisMapper diagnosisMapper; @Autowired private PatientInfoMapper patientInfoMapper; + @Autowired + private SocialDiagnoseService socialDiagnoseService; /* * 保存 @@ -172,6 +178,9 @@ public class MedicalRecordService extends BaseService { diagnosisMedicalGoodsListMapper.insert(goodsLists); + System.out.println(saveDto.getDiagnosisMedicalRecord().getDiagnosisDetail()); + List diagnoseList = JSONArray.parseArray(saveDto.getDiagnosisMedicalRecord().getDiagnosisDetail(),SocialDiagnose.class); + socialDiagnoseService.updateNumAddOne(diagnoseList); } /** @@ -181,18 +190,25 @@ public class MedicalRecordService extends BaseService { * @return */ - public List listByPatientId(Integer patientId) { + public List listByPatientId(Integer patientId) { QueryWrapper query = new QueryWrapper<>(); query.eq("patient_id", patientId); query.orderByDesc("create_time"); query.last("limit 10"); List diaList = diagnosisMapper.selectList(query); - List mrvList = new ArrayList<>(); + List mrvList = new ArrayList<>(); for (Diagnosis diaItem : diaList) { - MedicalRecordVo vo = new MedicalRecordVo(); + MedicalHistoryVo vo = new MedicalHistoryVo(); BeanUtils.copyProperties(diaItem, vo); - + PatientAndRegistrationInfoVo pRVo = new PatientAndRegistrationInfoVo(); + PatientRegistration registration = patientRegistrationMapper.selectById(diaItem.getRegistrationId()); + BeanUtils.copyProperties(registration, pRVo); + OrganizationMember docker = organizationMemberMapper.selectById(registration.getOrganizationDoctorId()); + pRVo.setDoctorName(docker.getName()); + OrganizationSection section = organizationSectionMapper.selectById(docker.getSectionId()); + pRVo.setDoctorSection(section.getName()); + vo.setRegistrationInfoVo(pRVo); DiagnosisMedicalRecord diagnosisMedicalRecord = diagnosisMedicalRecordMapper.selectByDiagnosisCode(diaItem.getCode()); vo.setDiagnosisMedicalRecord(diagnosisMedicalRecord); diff --git a/src/main/java/com/syjiaer/clinic/server/service/patient/PatientRegistrationService.java b/src/main/java/com/syjiaer/clinic/server/service/patient/PatientRegistrationService.java index e405bb4..4f5bdc0 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/patient/PatientRegistrationService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/patient/PatientRegistrationService.java @@ -278,9 +278,9 @@ public class PatientRegistrationService extends BaseService { } OrganizationMember docker = organizationMemberMapper.selectById(registration.getOrganizationDoctorId()); - vo.setDockerName(docker.getName()); + vo.setDoctorName(docker.getName()); OrganizationSection section = organizationSectionMapper.selectById(docker.getSectionId()); - vo.setDockerSection(section.getName()); + vo.setDoctorSection(section.getName()); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("patient_info_id",registration.getPatientInfoId()); diff --git a/src/main/java/com/syjiaer/clinic/server/service/social/SocialDiagnoseService.java b/src/main/java/com/syjiaer/clinic/server/service/social/SocialDiagnoseService.java index 541748e..93219d8 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/social/SocialDiagnoseService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/social/SocialDiagnoseService.java @@ -1,15 +1,14 @@ package com.syjiaer.clinic.server.service.social; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.syjiaer.clinic.server.common.util.DateUtil; import com.syjiaer.clinic.server.common.util.HttpUtil; +import com.syjiaer.clinic.server.common.util.PinYinUtil; import com.syjiaer.clinic.server.common.vo.Page; import com.syjiaer.clinic.server.entity.social.SocialDiagnose; -import com.syjiaer.clinic.server.entity.social.SocialItem; -import com.syjiaer.clinic.server.entity.social.vo.SocialDirectoryView; import com.syjiaer.clinic.server.mapper.social.SocialDiagnoseMapper; import com.syjiaer.clinic.server.service.BaseService; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -17,7 +16,6 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; -import java.util.Map; @Service public class SocialDiagnoseService extends BaseService { @@ -58,6 +56,8 @@ public class SocialDiagnoseService extends BaseService { socialDiagnose.setVersionName(line_array[22]); socialDiagnose.setCreateDatetime(LocalDateTime.parse(line_array[20], dateTimeFormatter)); socialDiagnose.setUpdateDatetime(LocalDateTime.parse(line_array[21], dateTimeFormatter)); + socialDiagnose.setPinyinFull(PinYinUtil.getPinyinFull(socialDiagnose.getName()).toUpperCase()); + socialDiagnose.setPinyinFirst(PinYinUtil.getPinyinFirstLetters(socialDiagnose.getName()).toUpperCase()); list.add(socialDiagnose); codeList.add(code); } @@ -84,9 +84,15 @@ public class SocialDiagnoseService extends BaseService { */ public List getDiagnosis(String keyword) { QueryWrapper queryWrapper = new QueryWrapper<>(); + if (keyword != null && !keyword.isEmpty()) { - queryWrapper.and(wrapper -> wrapper.like("name", keyword).or().like("code", keyword)); + String key = keyword.trim().toUpperCase(); + queryWrapper.and(wrapper -> wrapper.like("name", key) + .or().like("code", key) + .or().like("pinyin_full", key) + .or().like("pinyin_first", key)); } + queryWrapper.orderByDesc("use_num","id"); queryWrapper.last("limit 20"); return socialDiagnoseMapper.selectList(queryWrapper); } @@ -104,4 +110,14 @@ public class SocialDiagnoseService extends BaseService { Page resultPage = pageHelper(page, size, codeqw, socialDiagnoseMapper, "create_datetime", false); return resultPage; } + + + public void updateNumAddOne(List list) { + for (SocialDiagnose socialDiagnose : list){ + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.setSql("use_num = use_num+1"); + updateWrapper.eq("id",socialDiagnose.getId()); + socialDiagnoseMapper.update(null,updateWrapper); + } + } } diff --git a/src/main/resources/doc_title/1306.json b/src/main/resources/doc_title/1306.json index f2fd631..07dd5e2 100644 --- a/src/main/resources/doc_title/1306.json +++ b/src/main/resources/doc_title/1306.json @@ -24,7 +24,7 @@ "3": { "en": "json.unique_code", "zh": "医疗器械唯一标识码", - "column_width": 200 + "column_width": 0 } }, { @@ -38,7 +38,7 @@ "7": { "en": "json.specification_code", "zh": "规格代码", - "column_width": 200 + "column_width": 0 } }, { @@ -59,35 +59,35 @@ "10": { "en": "json.model", "zh": "规格型号", - "column_width": 100 + "column_width": 0 } }, { "13": { "en": "json.packaging_specification", "zh": "包装规格", - "column_width": 100 + "column_width": 0 } }, { "14": { "en": "json.packaging_number", "zh": "包装数量", - "column_width": 100 + "column_width": 0 } }, { "16": { "en": "json.packaging_unit", "zh": "包装单位", - "column_width": 100 + "column_width": 0 } }, { "24": { "en": "json.applicable_scope", "zh": "适用范围", - "column_width": 300 + "column_width": 0 } }, { diff --git a/src/main/resources/doc_title/1309.json b/src/main/resources/doc_title/1309.json index bbcbf99..04a7c4b 100644 --- a/src/main/resources/doc_title/1309.json +++ b/src/main/resources/doc_title/1309.json @@ -17,7 +17,7 @@ "3": { "en": "json.type", "zh": "慢特病种细分类名称", - "column_width": 200 + "column_width": 0 } }, { @@ -38,7 +38,7 @@ "5": { "en": "json.remarks", "zh": "备注", - "column_width": 200 + "column_width": 0 } }, { diff --git a/src/main/resources/doc_title/1314.json b/src/main/resources/doc_title/1314.json index 10a7136..8c49876 100644 --- a/src/main/resources/doc_title/1314.json +++ b/src/main/resources/doc_title/1314.json @@ -17,7 +17,7 @@ "8": { "en": "json.remark", "zh": "备注", - "column_width": 200 + "column_width": 0 } }, { diff --git a/src/main/resources/doc_title/1315.json b/src/main/resources/doc_title/1315.json index f5e6842..ec46b11 100644 --- a/src/main/resources/doc_title/1315.json +++ b/src/main/resources/doc_title/1315.json @@ -17,7 +17,7 @@ "8": { "en": "json.remark", "zh": "备注", - "column_width": 200 + "column_width": 0 } }, { diff --git a/src/main/resources/doc_title/1320.json b/src/main/resources/doc_title/1320.json index 2f3e9c1..d29bf05 100644 --- a/src/main/resources/doc_title/1320.json +++ b/src/main/resources/doc_title/1320.json @@ -108,7 +108,7 @@ "41": { "en": "json.remark", "zh": "备注", - "column_width": 200 + "column_width": 0 } }, {