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
}
},
{