diff --git a/src/main/java/com/docus/server/collection/httpservices/impl/HttpTBasicServiceImpl.java b/src/main/java/com/docus/server/collection/httpservices/impl/HttpTBasicServiceImpl.java index 43b8a50..7e950b9 100644 --- a/src/main/java/com/docus/server/collection/httpservices/impl/HttpTBasicServiceImpl.java +++ b/src/main/java/com/docus/server/collection/httpservices/impl/HttpTBasicServiceImpl.java @@ -2,12 +2,15 @@ package com.docus.server.collection.httpservices.impl; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpUtil; +import com.alibaba.fastjson.JSONObject; import com.docus.core.util.Func; import com.docus.server.collection.dto.TBasicDto; import com.docus.server.collection.httpservices.HttpTBasicService; +import com.docus.server.collection.rpc.MzZyyRocCurrWebCommonRpc; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -23,6 +26,8 @@ import java.util.Map; @Service @Slf4j public class HttpTBasicServiceImpl implements HttpTBasicService { + @Resource + private MzZyyRocCurrWebCommonRpc mzZyyRocCurrWebCommonRpc; @Override public List getTBasicDto(String url, Map headers, Map params) { List tBasicDtos=null; @@ -130,10 +135,31 @@ public class HttpTBasicServiceImpl implements HttpTBasicService { tBasicDto.setInpatientNo(inpatientNo); tBasicDto.setDutyNurse(dutyNurse); tBasicDto.setMotherInpatientNo(motherInpatientNo); - + // 主管医生取另外的接口数据值 + setAttending(tBasicDto); tBasicDtos.add(tBasicDto); } return tBasicDtos; } + + /** + * 设置另外的主管医生为住院医师 + */ + private void setAttending(TBasicDto tBasicDto) { + String jzh = tBasicDto.getJzh(); + JSONObject patientRes = mzZyyRocCurrWebCommonRpc.getInPatient(jzh); + if (patientRes == null) { + return; + } + boolean success = "200".equals(patientRes.getString("code")); + JSONObject patientData = patientRes.getJSONObject("data"); + if (!success || patientData == null) { + return; + } + String houseDocCode = patientData.getString("houseDocCode"); + String houseDocName = patientData.getString("houseDocName"); + tBasicDto.setAttending(houseDocCode); + tBasicDto.setAttending(houseDocName); + } } diff --git a/src/main/java/com/docus/server/collection/rpc/MzZyyRocCurrWebCommonRpc.java b/src/main/java/com/docus/server/collection/rpc/MzZyyRocCurrWebCommonRpc.java index aefe4b3..f475cd5 100644 --- a/src/main/java/com/docus/server/collection/rpc/MzZyyRocCurrWebCommonRpc.java +++ b/src/main/java/com/docus/server/collection/rpc/MzZyyRocCurrWebCommonRpc.java @@ -15,4 +15,11 @@ public interface MzZyyRocCurrWebCommonRpc { * @return 科室列表 */ JSONObject queryDept(String deptCode, String deptType); + + /** + * 住院患者详细信息查询 + * @param inpatientNo 患者编号 + * @return 住院患者详细信息查询 + */ + JSONObject getInPatient(String inpatientNo); } diff --git a/src/main/java/com/docus/server/collection/rpc/impl/MzZyyRocCurrWebCommonRpcImpl.java b/src/main/java/com/docus/server/collection/rpc/impl/MzZyyRocCurrWebCommonRpcImpl.java index 796013a..66187b4 100644 --- a/src/main/java/com/docus/server/collection/rpc/impl/MzZyyRocCurrWebCommonRpcImpl.java +++ b/src/main/java/com/docus/server/collection/rpc/impl/MzZyyRocCurrWebCommonRpcImpl.java @@ -47,4 +47,22 @@ public class MzZyyRocCurrWebCommonRpcImpl implements MzZyyRocCurrWebCommonRpc { return null; } } + + @Override + public JSONObject getInPatient(String inpatientNo) { + final String path = "/api/v1/common/in-patient/get/" + inpatientNo; + final String url = rocCurrWebUrl + path; + try { + String result = HttpUtil.createGet(url) + .header("Content-Type", "application/json") + .header("domain", rocDomain) + .header("key", rocKey) + .timeout(60 * 1000) + .execute().body(); + return JSONObject.parseObject(result); + } catch (Exception ex) { + log.error(url + " 请求出错了," + ex.getMessage(), ex); + return null; + } + } }