提交 c6d60922 编写于 作者: haowen.chen's avatar haowen.chen

feat:新增根据patientId查询主账号id

上级 975f0da2
流水线 #52942 已取消 于阶段
...@@ -39,6 +39,9 @@ public interface PatHealthPackClient { ...@@ -39,6 +39,9 @@ public interface PatHealthPackClient {
@GetMapping(value = "/account/pat-health/familyAcct/patId/{patId}") @GetMapping(value = "/account/pat-health/familyAcct/patId/{patId}")
PicaResponse<Integer> getFamilyAcctPatId(@PathVariable("patId") Integer patId); PicaResponse<Integer> getFamilyAcctPatId(@PathVariable("patId") Integer patId);
@GetMapping(value = "/account/pat-health/familyAcct/self/patId/{patId}")
PicaResponse<List<Integer>> getRelationSelfAcctPatId(@PathVariable("patId") Integer patId);
@PostMapping(value = "/account/pat-health/familyAcct/patIds") @PostMapping(value = "/account/pat-health/familyAcct/patIds")
PicaResponse<AcctPatIdResp> getFamilyAcctPatIds(@RequestBody AcctPatIdReq acctPatIdReq); PicaResponse<AcctPatIdResp> getFamilyAcctPatIds(@RequestBody AcctPatIdReq acctPatIdReq);
......
...@@ -87,6 +87,13 @@ public class PatHealthPackController { ...@@ -87,6 +87,13 @@ public class PatHealthPackController {
return PicaResponse.toResponse(packService.getFamilyAcctPatId(patId)); return PicaResponse.toResponse(packService.getFamilyAcctPatId(patId));
} }
@ApiOperation("根据patientId获取监护人acctId),本人成员(监护人patId)")
@GetMapping(value = "/familyAcct/self/patId/{patId}")
public PicaResponse<List<Integer>> getRelationSelfAcctPatId(@PathVariable("patId") Integer patId) throws Exception {
return PicaResponse.toResponse(packService.getFamilyAcctIdsPatId(patId));
}
@ApiOperation("根据patientIds 获取监护人-本人监护人(自身patId),本人成员(监护人patId)") @ApiOperation("根据patientIds 获取监护人-本人监护人(自身patId),本人成员(监护人patId)")
@PostMapping(value = "/familyAcct/patIds") @PostMapping(value = "/familyAcct/patIds")
public PicaResponse<AcctPatIdResp> getFamilyAcctPatIds(@RequestBody AcctPatIdReq acctPatIdReq) throws Exception { public PicaResponse<AcctPatIdResp> getFamilyAcctPatIds(@RequestBody AcctPatIdReq acctPatIdReq) throws Exception {
......
...@@ -26,7 +26,7 @@ public interface AcctPatFamilyMapper { ...@@ -26,7 +26,7 @@ public interface AcctPatFamilyMapper {
List<AcctPatFamily> getListByPatIdSelfs(List<Integer> list); List<AcctPatFamily> getListByPatIdSelfs(List<Integer> list);
/** 查询居民id所在家庭组监护人- 作为家庭成员、非主账户本人居民id,单条ok 多条异常数据 */ /** 查询居民id所在家庭组监护人- 作为家庭成员、非主账户本人居民id,单条ok 多条异常数据 */
AcctPatFamily getByPatIdNotSelf(Integer patId); List<AcctPatFamily> getByPatIdNotSelf(Integer patId);
List<AcctPatFamily> getListByPatIdNotSelfs(List<Integer> list); List<AcctPatFamily> getListByPatIdNotSelfs(List<Integer> list);
......
...@@ -35,6 +35,8 @@ public interface PatHealthPackService { ...@@ -35,6 +35,8 @@ public interface PatHealthPackService {
Integer getFamilyAcctPatId(Integer patId); Integer getFamilyAcctPatId(Integer patId);
List<Integer> getFamilyAcctIdsPatId(Integer patId);
AcctPatIdResp getFamilyAcctPatIds(AcctPatIdReq acctPatIdReq); AcctPatIdResp getFamilyAcctPatIds(AcctPatIdReq acctPatIdReq);
Integer initAccts(List<InitAcctReq> list); Integer initAccts(List<InitAcctReq> list);
......
...@@ -134,9 +134,10 @@ public class PatHealthPackServiceIml implements PatHealthPackService { ...@@ -134,9 +134,10 @@ public class PatHealthPackServiceIml implements PatHealthPackService {
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); List<AcctPatFamily> acctPatFamilyList = patFamilyMapper.getByPatIdNotSelf(patientId);
if (null != member) { if (CollectionUtils.isNotEmpty(acctPatFamilyList)) {
//存在自己作为成员身份记录,add 上级监护人 //存在自己作为成员身份记录,add 上级监护人
AcctPatFamily member = acctPatFamilyList.get(0);
AcctPatFamily parentAcct = patFamilyMapper.getSelfByAcctId(member.getAcctId()); AcctPatFamily parentAcct = patFamilyMapper.getSelfByAcctId(member.getAcctId());
if (null != parentAcct) { if (null != parentAcct) {
patIds.add(parentAcct.getPatientId()); patIds.add(parentAcct.getPatientId());
...@@ -412,8 +413,9 @@ public class PatHealthPackServiceIml implements PatHealthPackService { ...@@ -412,8 +413,9 @@ public class PatHealthPackServiceIml implements PatHealthPackService {
rtnPatId = acctMember.getPatientId(); rtnPatId = acctMember.getPatientId();
} else { } else {
//查询是否存在 作为成员的记录 //查询是否存在 作为成员的记录
AcctPatFamily member = patFamilyMapper.getByPatIdNotSelf(patId); List<AcctPatFamily> memberList = patFamilyMapper.getByPatIdNotSelf(patId);
if (null != member) { if (CollectionUtils.isNotEmpty(memberList)) {
AcctPatFamily member = memberList.get(0);
//本人为成员时记录存在 //本人为成员时记录存在
AcctPatFamily acctPat = patFamilyMapper.getSelfByAcctId(member.getAcctId()); AcctPatFamily acctPat = patFamilyMapper.getSelfByAcctId(member.getAcctId());
rtnPatId = acctPat.getPatientId(); rtnPatId = acctPat.getPatientId();
...@@ -424,6 +426,32 @@ public class PatHealthPackServiceIml implements PatHealthPackService { ...@@ -424,6 +426,32 @@ public class PatHealthPackServiceIml implements PatHealthPackService {
return rtnPatId; return rtnPatId;
} }
@Override
public List<Integer> getFamilyAcctIdsPatId(Integer patId) {
List<Integer> acctIdList = new ArrayList<>();
//查询本人
AcctPatFamily acctMember = patFamilyMapper.getByPatIdSelf(patId);
if (null != acctMember) {
acctIdList.add(acctMember.getAcctId());
}
//查询作为成员的主账户acctId
List<AcctPatFamily> acctPatFamilies = patFamilyMapper.getByPatIdNotSelf(patId);
if (CollectionUtils.isNotEmpty(acctPatFamilies)) {
List<Integer> list = acctPatFamilies.stream().map(AcctPatFamily::getAcctId).distinct().collect(toList());
for (Integer acctId : list) {
if (null == acctMember || !Objects.equals(acctId, acctMember.getAcctId())) {
//本人为成员时记录存在
AcctPatFamily acctPat = patFamilyMapper.getSelfByAcctId(acctId);
if (null != acctPat) {
acctIdList.add(acctId);
}
}
}
}
return acctIdList;
}
/** /**
* @Description 根据居民id批量获取对应的主账号对应的patId * @Description 根据居民id批量获取对应的主账号对应的patId
......
...@@ -195,7 +195,8 @@ ...@@ -195,7 +195,8 @@
from account_pat_family from account_pat_family
where patient_id = #{patientId,jdbcType=INTEGER} where patient_id = #{patientId,jdbcType=INTEGER}
AND relation != 1 AND relation != 1
and delete_flag = 1; and delete_flag = 1
order by modified_time desc
</select> </select>
<select id="getListByPatIdNotSelfs" parameterType="java.util.List" resultMap="BaseResultMap" > <select id="getListByPatIdNotSelfs" parameterType="java.util.List" resultMap="BaseResultMap" >
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册