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 5f30312..0932dfa 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 @@ -375,4 +375,16 @@ public class ElderApi { rabbitMQUtil.sendToExchange("hldy.elder", elderInfoEntity.getOrgCode() + ".elder.updateelder", mqdto); return Result.ok(); } + + + /** + * 查询长者/监护人变更审批记录 + * + * @param openId + * @return + */ + @GetMapping("/queryElderHisAudit") + public Result> queryElderHisAudit(@RequestParam("openId") String openId) { + return Result.ok(elderInfoApi.queryElderHisAudit(openId)); + } } diff --git a/nursing-unit-common/src/main/java/com/nu/entity/ElderInfoEntity.java b/nursing-unit-common/src/main/java/com/nu/entity/ElderInfoEntity.java index 8afef16..4536ac3 100644 --- a/nursing-unit-common/src/main/java/com/nu/entity/ElderInfoEntity.java +++ b/nursing-unit-common/src/main/java/com/nu/entity/ElderInfoEntity.java @@ -243,6 +243,18 @@ public class ElderInfoEntity implements Serializable { * 机构名称 */ private String departName; + /** + * 机构地址 + */ + private String departAddress; + /** + * 机构负责人 + */ + private String departFzr; + /** + * 机构负责人电话 + */ + private String departPhone; /** * 监护人信息变更状态 1修改申请中 2通过 3驳回 */ @@ -295,4 +307,7 @@ public class ElderInfoEntity implements Serializable { * 缴费状态中文名 */ private String jfztName; + private String modifyStatus; + private String auditContent; + } diff --git a/nursing-unit-elder/nu-elder-api/nu-elder-local-api/src/main/java/com/nu/modules/elder/api/IElderInfoApi.java b/nursing-unit-elder/nu-elder-api/nu-elder-local-api/src/main/java/com/nu/modules/elder/api/IElderInfoApi.java index 6c1cb4c..f03eb96 100644 --- a/nursing-unit-elder/nu-elder-api/nu-elder-local-api/src/main/java/com/nu/modules/elder/api/IElderInfoApi.java +++ b/nursing-unit-elder/nu-elder-api/nu-elder-local-api/src/main/java/com/nu/modules/elder/api/IElderInfoApi.java @@ -13,4 +13,6 @@ public interface IElderInfoApi { void addElder(ElderInfoEntity elderInfoEn); boolean validateChanged(String orgCode, ElderInfoEntity elderInfoEntity); + + List queryElderHisAudit(String openId); } diff --git a/nursing-unit-elder/nu-elder-biz/src/main/java/com/nu/modules/elderinfo/mapper/ElderInfoMapper.java b/nursing-unit-elder/nu-elder-biz/src/main/java/com/nu/modules/elderinfo/mapper/ElderInfoMapper.java index 2cbbed7..73b4f05 100644 --- a/nursing-unit-elder/nu-elder-biz/src/main/java/com/nu/modules/elderinfo/mapper/ElderInfoMapper.java +++ b/nursing-unit-elder/nu-elder-biz/src/main/java/com/nu/modules/elderinfo/mapper/ElderInfoMapper.java @@ -1,18 +1,27 @@ package com.nu.modules.elderinfo.mapper; +import com.nu.entity.ElderInfoEntity; import com.nu.modules.elderinfo.entity.ElderInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.Collection; import java.util.List; /** * @Description: 长者信息 * @Author: jeecg-boot - * @Date: 2025-04-11 + * @Date: 2025-04-11 * @Version: V1.0 */ public interface ElderInfoMapper extends BaseMapper { - List selectLists(@Param("openId") String openId,@Param("elderId") String elderId); + List selectLists(@Param("openId") String openId, @Param("elderId") String elderId); + + /** + * sql拼接的机构只有一条数据 不存在笛卡尔积 + * @param openId + * @return + */ + List selectModifyHisByOpenId(@Param("openId") String openId); } diff --git a/nursing-unit-elder/nu-elder-biz/src/main/java/com/nu/modules/elderinfo/mapper/xml/ElderInfoMapper.xml b/nursing-unit-elder/nu-elder-biz/src/main/java/com/nu/modules/elderinfo/mapper/xml/ElderInfoMapper.xml index c1d58c1..c966872 100644 --- a/nursing-unit-elder/nu-elder-biz/src/main/java/com/nu/modules/elderinfo/mapper/xml/ElderInfoMapper.xml +++ b/nursing-unit-elder/nu-elder-biz/src/main/java/com/nu/modules/elderinfo/mapper/xml/ElderInfoMapper.xml @@ -4,28 +4,35 @@ + diff --git a/nursing-unit-elder/nu-elder-biz/src/main/java/com/nu/modules/elderinfo/service/impl/ElderInfoServiceImpl.java b/nursing-unit-elder/nu-elder-biz/src/main/java/com/nu/modules/elderinfo/service/impl/ElderInfoServiceImpl.java index 3c5fc1c..793a0bd 100644 --- a/nursing-unit-elder/nu-elder-biz/src/main/java/com/nu/modules/elderinfo/service/impl/ElderInfoServiceImpl.java +++ b/nursing-unit-elder/nu-elder-biz/src/main/java/com/nu/modules/elderinfo/service/impl/ElderInfoServiceImpl.java @@ -2,6 +2,7 @@ package com.nu.modules.elderinfo.service.impl; import cn.hutool.core.bean.BeanUtil; import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.nu.dto.ElderInfoMQDto; @@ -13,13 +14,19 @@ import com.nu.modules.elderinfo.entity.ElderInfo; import com.nu.modules.elderinfo.mapper.ElderInfoMapper; import com.nu.modules.elderinfo.service.IElderInfoService; import com.nu.modules.employees.entity.NuEmployeesAdvisoryInfo; +import com.nu.modules.nubaseelder.entity.NuBaseElder; +import com.nu.modules.nubaseelder.service.INuBaseElderService; +import org.apache.commons.compress.utils.Lists; import org.apache.commons.lang.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import java.util.Comparator; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * @Description: 长者信息 @@ -31,6 +38,8 @@ import java.util.Objects; public class ElderInfoServiceImpl extends ServiceImpl implements IElderInfoService, IElderInfoApi { @Autowired private INuBaseInfoApi nuBaseInfoApi; + @Autowired + private INuBaseElderService baseElderService; @Override public List queryByElderIds(String[] ids) { @@ -109,4 +118,43 @@ public class ElderInfoServiceImpl extends ServiceImpl queryElderHisAudit(String openId) { + //先查询家属微信openid 都绑定了哪些机构 + QueryWrapper baseElderQW = new QueryWrapper<>(); + baseElderQW.eq("open_id", openId); + List baseElderList = baseElderService.list(baseElderQW); + if (CollectionUtils.isEmpty(baseElderList)) { + return List.of(); + } + + //去对应机构的modify表把所有变更的信息都取出来 + List orgCodes = baseElderList.stream() + .map(NuBaseElder::getOrgCode) + .distinct() + .collect(Collectors.toList()); + + List his = Lists.newArrayList(); + for (String orgCode : orgCodes) { + if (StringUtils.isNotBlank(orgCode)) { + try { + DynamicDataSourceContextHolder.push(orgCode); + his.addAll(baseMapper.selectModifyHisByOpenId(openId)); + } catch (Exception e) { + e.printStackTrace(); + } finally { + DynamicDataSourceContextHolder.clear(); + } + } + } + + //按照审批时间排序重新组合 + if(!CollectionUtils.isEmpty(his)){ + his = his.stream() + .sorted(Comparator.comparing(ElderInfoEntity::getUpdateTime, Comparator.nullsLast(Comparator.reverseOrder()))) + .collect(Collectors.toList()); + } + return his; + } }