提交 8d61a9f7 编写于 作者:  Peijun.zhao's avatar Peijun.zhao

fix bug

上级 ac067932
流水线 #25891 已失败 于阶段
in 0 second
......@@ -88,11 +88,21 @@ public class PatHealthPackServiceIml implements PatHealthPackService {
/**
* @Description
* 父亲(监护人)、母亲
* 儿子、女儿
* 儿子、女儿---(儿媳 女媳 非家庭成员)
* 孙子、孙女、外孙、外孙女
*
* 儿子(监护人)、儿媳
* 孙子、孙女
*
* 女儿(监护人)、女媳
* 外孙、外孙女
*
*
* 查询:儿子 patId查
* 返回:父亲,女儿,孙子,孙女 patId
* 返回:父亲,儿媳,孙子,孙女 patId
*
* 查询:父亲
* 返回:父亲、母亲、儿子、女儿
* @Author peijun.zhao
* @Date 2020/5/20 17:11
* @ModifyDate 2020/5/20 17:11
......@@ -102,31 +112,41 @@ public class PatHealthPackServiceIml implements PatHealthPackService {
@Override
public List<Integer> getDirectPatIdsByPatId(Integer patientId) {
List<Integer> patIds = new ArrayList<>();
AcctPatFamily member = patFamilyMapper.getByPatIdNotSelf(patientId);
/*AcctPatFamily member = patFamilyMapper.getByPatIdNotSelf(patientId);
if (null == member) {
//该居民id无 家庭成员记录,返回null
//该居民id作为成员无 家庭成员记录
return patIds;
}*/
List<Integer> query = new ArrayList<>();
query.add(patientId);
List<AcctPatFamily> memberList = patFamilyMapper.getListByPatIds(query);
if(CollectionUtils.isEmpty(memberList)){
//该居民id作为成员无 家庭成员记录
return patIds;
}
//add 病人id所在家庭组的监护人- patId
/*AcctPatFamily parentMember = patFamilyMapper.getSelfByAcctId(memberList.get(0).getAcctId());
patIds.add(parentMember.getPatientId());*/
//同级所有成员 包括自身
List<AcctPatFamily> patFamilyList = patFamilyMapper.getListByAcctId(member.getAcctId());
patIds.addAll(patFamilyList.stream().map(obj -> obj.getPatientId()).collect(toList()));
//下级所有成员
//自身监护人
AcctPatFamily self = patFamilyMapper.getByPatIdSelf(member.getPatientId());
AcctPatFamily self = patFamilyMapper.getByPatIdSelf(patientId);
if(null != self){
//自己存在监护人身份
//自己存在监护人身份,家庭关系成员add
List<AcctPatFamily> sonFamilyList = patFamilyMapper.getListByAcctId(self.getAcctId());
patIds.addAll(sonFamilyList.stream().map(obj -> obj.getPatientId()).collect(toList()));
}
//自身成员
AcctPatFamily member = patFamilyMapper.getByPatIdNotSelf(patientId);
if(null != member){
//存在自己作为成员身份记录,add 上级监护人
AcctPatFamily parentAcct = patFamilyMapper.getSelfByAcctId(member.getAcctId());
if(null != parentAcct){
patIds.add(parentAcct.getPatientId());
//监护人组内所有成员 包括自身
List<AcctPatFamily> patFamilyList = patFamilyMapper.getListByAcctId(member.getAcctId());
patIds.addAll(patFamilyList.stream().map(obj -> obj.getPatientId()).collect(toList()));
}
}
//去除自身patId
//去除自身patId、去重patId
List rtnPatIds = patIds.stream().distinct().filter(obj -> !obj.equals(patientId)).collect(toList());
return rtnPatIds;
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册