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

fix bug

上级 ac067932
流水线 #25891 已失败 于阶段
in 0 second
...@@ -88,11 +88,21 @@ public class PatHealthPackServiceIml implements PatHealthPackService { ...@@ -88,11 +88,21 @@ public class PatHealthPackServiceIml implements PatHealthPackService {
/** /**
* @Description * @Description
* 父亲(监护人)、母亲 * 父亲(监护人)、母亲
* 儿子、女儿 * 儿子、女儿---(儿媳 女媳 非家庭成员)
* 孙子、孙女、外孙、外孙女 * 孙子、孙女、外孙、外孙女
* *
* 儿子(监护人)、儿媳
* 孙子、孙女
*
* 女儿(监护人)、女媳
* 外孙、外孙女
*
*
* 查询:儿子 patId查 * 查询:儿子 patId查
* 返回:父亲,女儿,孙子,孙女 patId * 返回:父亲,儿媳,孙子,孙女 patId
*
* 查询:父亲
* 返回:父亲、母亲、儿子、女儿
* @Author peijun.zhao * @Author peijun.zhao
* @Date 2020/5/20 17:11 * @Date 2020/5/20 17:11
* @ModifyDate 2020/5/20 17:11 * @ModifyDate 2020/5/20 17:11
...@@ -102,31 +112,41 @@ public class PatHealthPackServiceIml implements PatHealthPackService { ...@@ -102,31 +112,41 @@ public class PatHealthPackServiceIml implements PatHealthPackService {
@Override @Override
public List<Integer> getDirectPatIdsByPatId(Integer patientId) { public List<Integer> getDirectPatIdsByPatId(Integer patientId) {
List<Integer> patIds = new ArrayList<>(); List<Integer> patIds = new ArrayList<>();
AcctPatFamily member = patFamilyMapper.getByPatIdNotSelf(patientId); /*AcctPatFamily member = patFamilyMapper.getByPatIdNotSelf(patientId);
if (null == member) { 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; 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){ if(null != self){
//自己存在监护人身份 //自己存在监护人身份,家庭关系成员add
List<AcctPatFamily> sonFamilyList = patFamilyMapper.getListByAcctId(self.getAcctId()); List<AcctPatFamily> sonFamilyList = patFamilyMapper.getListByAcctId(self.getAcctId());
patIds.addAll(sonFamilyList.stream().map(obj -> obj.getPatientId()).collect(toList())); 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()); List rtnPatIds = patIds.stream().distinct().filter(obj -> !obj.equals(patientId)).collect(toList());
return rtnPatIds; return rtnPatIds;
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册