From 4a2bca7568577e38e69608be4debc8cef2205e94 Mon Sep 17 00:00:00 2001
From: LiJianZhao
Date: Tue, 13 May 2025 14:54:37 +0800
Subject: [PATCH] dev
---
.../server/entity/patient/PatientInfo.java | 8 +++++-
.../patient/dto/RegistrationSaveDto.java | 3 +++
.../patient/PatientRegistrationService.java | 27 ++++++++++++++++---
.../service/social/SocialUserService.java | 1 +
4 files changed, 34 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/syjiaer/clinic/server/entity/patient/PatientInfo.java b/src/main/java/com/syjiaer/clinic/server/entity/patient/PatientInfo.java
index a5f8d86..6e5beb9 100644
--- a/src/main/java/com/syjiaer/clinic/server/entity/patient/PatientInfo.java
+++ b/src/main/java/com/syjiaer/clinic/server/entity/patient/PatientInfo.java
@@ -19,7 +19,7 @@ import lombok.experimental.Accessors;
*
*
* @author NiuZiYuan
- * @since 2025-05-07
+ * @since 2025-05-13
*/
@Getter
@Setter
@@ -97,4 +97,10 @@ public class PatientInfo implements Serializable {
@ApiModelProperty("过敏史")
private String allergyHistory;
+
+ @ApiModelProperty("医保余额")
+ private BigDecimal socialBalance;
+
+ @ApiModelProperty("险种类型")
+ private String insutype;
}
diff --git a/src/main/java/com/syjiaer/clinic/server/entity/patient/dto/RegistrationSaveDto.java b/src/main/java/com/syjiaer/clinic/server/entity/patient/dto/RegistrationSaveDto.java
index 85dc0ab..31d8594 100644
--- a/src/main/java/com/syjiaer/clinic/server/entity/patient/dto/RegistrationSaveDto.java
+++ b/src/main/java/com/syjiaer/clinic/server/entity/patient/dto/RegistrationSaveDto.java
@@ -76,4 +76,7 @@ public class RegistrationSaveDto {
private String certNo;
@ApiModelProperty("证件类型")
private String certType;
+
+ @ApiModelProperty("医保余额")
+ private BigDecimal insuBalance;
}
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 8c46341..d006839 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
@@ -3,6 +3,7 @@ package com.syjiaer.clinic.server.service.patient;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.syjiaer.clinic.server.common.api.input.IM1101;
import com.syjiaer.clinic.server.common.api.input.IM2201;
import com.syjiaer.clinic.server.common.api.input.IM2202;
import com.syjiaer.clinic.server.common.api.input.IM2203A;
@@ -98,18 +99,26 @@ public class PatientRegistrationService extends BaseService {
registration.setFstNo(fstNo);
registration.setRegistrationMoney(new BigDecimal("0"));
registration.setCreateDatetime(now);
- registration.setType(1);
registration.setStatus(1);
OrganizationMember docker = organizationMemberMapper.selectById(registration.getOrganizationDoctorId());
+ if (docker == null){
+ throw new MessageException("挂号医生不存在");
+ }
+
OrganizationSection section = organizationSectionMapper.selectById(registration.getOrganizationSectionId());
+
+ if (section == null){
+ throw new MessageException("挂号科室不存在");
+ }
registration.setOrganizationDoctorId(docker.getId());
registration.setOrganizationSectionId(section.getId());
patientRegistrationMapper.insert(registration);
- //医保挂号
- if (mdtrtCertType == null || mdtrtCertNo == null || mdtrtCertType.isEmpty() || mdtrtCertNo.isEmpty()) {
+
+ if (registration.getType().equals(RegistrationTypeEnum.Common.getType())){
return registration;
}
+ //医保挂号额外流程
IM2201 im2201 = new IM2201();
im2201.setPsnNo(registration.getPsnNo());
im2201.setInsutype(registration.getInsutype());
@@ -125,9 +134,19 @@ public class PatientRegistrationService extends BaseService {
JSONObject jsonObject = socialRequest.call2201(im2201);
UpdateWrapper regisWrapper = new UpdateWrapper<>();
regisWrapper.set("mdtrt_id", ((JSONObject) jsonObject.get("data")).get("mdtrt_id"));
- regisWrapper.set("type", 2);
+ regisWrapper.set("type",RegistrationTypeEnum.Social.getType());
regisWrapper.eq("id", registration.getId());
patientRegistrationMapper.update(null, regisWrapper);
+ //更新用户医保余额
+ PatientInfo patientInfo = patientInfoMapper.selectById(registration.getPatientInfoId());
+
+ PatientInfo updatePatientInfo = new PatientInfo();
+ updatePatientInfo.setId(patientInfo.getId());
+ updatePatientInfo.setInsutype(registration.getInsutype());
+ updatePatientInfo.setSocialBalance(registrationParam.getInsuBalance());
+ patientInfoMapper.updateById(updatePatientInfo);
+
+
return registration;
}
diff --git a/src/main/java/com/syjiaer/clinic/server/service/social/SocialUserService.java b/src/main/java/com/syjiaer/clinic/server/service/social/SocialUserService.java
index 23ba757..6f7a952 100644
--- a/src/main/java/com/syjiaer/clinic/server/service/social/SocialUserService.java
+++ b/src/main/java/com/syjiaer/clinic/server/service/social/SocialUserService.java
@@ -84,6 +84,7 @@ public class SocialUserService {
//缓存入redis
String key = "social_user_info:" + socialPersonInfoVo.getBaseinfo().getPsn_no();
cacheUtil.set(key, socialPersonInfoVo, 60 * 10);
+
return socialPersonInfoVo;
}