From d2e247bcc374db8bdb5badd118b497d980ba506b Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Tue, 23 Sep 2025 10:25:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AE=B6=E5=B1=9E=EF=BC=9A?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=88=A4=E6=96=AD=20-=20=E5=A6=82=E6=9E=9C?= =?UTF-8?q?=E9=95=BF=E8=80=85=E5=B7=B2=E5=85=A5=E4=BD=8F=E6=9C=BA=E6=9E=84?= =?UTF-8?q?=20=E5=88=99=E4=B8=8D=E9=87=8D=E5=A4=8D=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/baseinfo/api/INuBaseInfoApi.java | 2 ++ .../modules/baseinfo/entity/NuBaseInfo.java | 3 +++ .../baseinfo/mapper/NuBaseInfoMapper.java | 3 +++ .../baseinfo/mapper/xml/NuBaseInfoMapper.xml | 7 ++++++ .../service/impl/NuBaseInfoServiceImpl.java | 12 ++++++++++ .../nu/modules/wechat/elder/api/ElderApi.java | 24 ++++++++++++++++++- .../java/com/nu/entity/NuBaseInfoEntity.java | 2 ++ 7 files changed, 52 insertions(+), 1 deletion(-) diff --git a/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/baseinfo/api/INuBaseInfoApi.java b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/baseinfo/api/INuBaseInfoApi.java index 8a30eb6..a36fcfc 100644 --- a/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/baseinfo/api/INuBaseInfoApi.java +++ b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/baseinfo/api/INuBaseInfoApi.java @@ -8,4 +8,6 @@ public interface INuBaseInfoApi { NuBaseInfoEntity queryInfoByNuId(String orgCode, String nuId); List queryByOpenId(String openId); + + NuBaseInfoEntity queryByElderIdNum(String idCard); } diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/baseinfo/entity/NuBaseInfo.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/baseinfo/entity/NuBaseInfo.java index 790cd7a..38ee654 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/baseinfo/entity/NuBaseInfo.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/baseinfo/entity/NuBaseInfo.java @@ -133,4 +133,7 @@ public class NuBaseInfo implements Serializable { @TableField(exist = false) private String deviceIndex; + @TableField(exist = false) + private String elderTableId; + } diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/baseinfo/mapper/NuBaseInfoMapper.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/baseinfo/mapper/NuBaseInfoMapper.java index 2c912d6..eb0e4cc 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/baseinfo/mapper/NuBaseInfoMapper.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/baseinfo/mapper/NuBaseInfoMapper.java @@ -2,6 +2,7 @@ package com.nu.modules.baseinfo.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.nu.modules.baseinfo.entity.NuBaseInfo; +import org.apache.ibatis.annotations.Param; /** * @Description: 护理单元 @@ -11,4 +12,6 @@ import com.nu.modules.baseinfo.entity.NuBaseInfo; */ public interface NuBaseInfoMapper extends BaseMapper { + NuBaseInfo queryByElderIdNum(@Param("idCard") String idCard); + } diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/baseinfo/mapper/xml/NuBaseInfoMapper.xml b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/baseinfo/mapper/xml/NuBaseInfoMapper.xml index fb86b58..7403227 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/baseinfo/mapper/xml/NuBaseInfoMapper.xml +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/baseinfo/mapper/xml/NuBaseInfoMapper.xml @@ -2,4 +2,11 @@ + diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/baseinfo/service/impl/NuBaseInfoServiceImpl.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/baseinfo/service/impl/NuBaseInfoServiceImpl.java index 106c4b3..f5ae1dd 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/baseinfo/service/impl/NuBaseInfoServiceImpl.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/baseinfo/service/impl/NuBaseInfoServiceImpl.java @@ -62,4 +62,16 @@ public class NuBaseInfoServiceImpl extends ServiceImpl list = baseMapper.selectList(qw); return BeanUtil.copyToList(list,NuBaseInfoEntity.class); } + + @Override + public NuBaseInfoEntity queryByElderIdNum(String idCard) { + NuBaseInfo resource = baseMapper.queryByElderIdNum(idCard); + NuBaseInfoEntity result = new NuBaseInfoEntity(); + if(resource == null){ + return null; + }else{ + BeanUtils.copyProperties(resource,result); + return result; + } + } } diff --git a/nursing-unit-api/src/main/java/com/nu/modules/wechat/elder/api/ElderApi.java b/nursing-unit-api/src/main/java/com/nu/modules/wechat/elder/api/ElderApi.java index ea874fe..34a21ea 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/wechat/elder/api/ElderApi.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/wechat/elder/api/ElderApi.java @@ -3,6 +3,7 @@ package com.nu.modules.wechat.elder.api; import cn.hutool.core.util.IdUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.nu.dto.ElderInfoMQDto; import com.nu.entity.ElderInfoEntity; @@ -139,7 +140,7 @@ public class ElderApi { mqdto.setGuardianIdCard(nuBizAdvisoryInfo.getIdCard());//联系人身份证号 mqdto.setGuardianHomeAddress(nuBizAdvisoryInfo.getHomeAddress());//联系人家庭住址 mqdto.setGuardianWorkUnit(nuBizAdvisoryInfo.getWorkUnit());//联系人工作单位 - rabbitMQUtil.sendToExchange("hldy.elder", orgCode+".elder.updateguardianinfo", mqdto); + rabbitMQUtil.sendToExchange("hldy.elder", orgCode + ".elder.updateguardianinfo", mqdto); DynamicDataSourceContextHolder.clear(); } } @@ -268,7 +269,28 @@ public class ElderApi { */ @PostMapping("/addElder") public Result save(@RequestBody ElderInfoEntity elderInfoEntity) { + //长者id String id = elderInfoEntity.getSysOrgCode() + IdUtil.simpleUUID(); + + //先判断对应机构此老人(根据身份证号)是否已经入住护理单元 + { + //切换数据源 + DynamicDataSourceContextHolder.push(elderInfoEntity.getSysOrgCode()); + NuBaseInfoEntity judgeResult = nuBaseInfoApi.queryByElderIdNum(elderInfoEntity.getIdCard()); + if (judgeResult != null) { + if (StringUtils.isNotBlank(judgeResult.getElderId())) { + return Result.error("老人已入住机构,不可重复添加"); + } + if (StringUtils.isNotBlank(judgeResult.getElderTableId())) { + //老人之前在机构入住过 + id = judgeResult.getElderTableId(); + } + } + //清理数据源 + DynamicDataSourceContextHolder.clear(); + } + + elderInfoEntity.setOrgCode(elderInfoEntity.getSysOrgCode()); elderInfoEntity.setCurrentState("1");//状态:入住 ElderInfoMQDto mqdto = new ElderInfoMQDto(); diff --git a/nursing-unit-common/src/main/java/com/nu/entity/NuBaseInfoEntity.java b/nursing-unit-common/src/main/java/com/nu/entity/NuBaseInfoEntity.java index 22d8cab..a99ab98 100644 --- a/nursing-unit-common/src/main/java/com/nu/entity/NuBaseInfoEntity.java +++ b/nursing-unit-common/src/main/java/com/nu/entity/NuBaseInfoEntity.java @@ -1,5 +1,6 @@ package com.nu.entity; +import com.baomidou.mybatisplus.annotation.TableField; import lombok.Data; import java.io.Serializable; @@ -99,5 +100,6 @@ public class NuBaseInfoEntity implements Serializable { //长者信息 private ElderInfoEntity elderInfo; + private String elderTableId; }