|
@@ -12,10 +12,12 @@ import com.diagbot.entity.TranHospitalRelation;
|
|
|
import com.diagbot.enums.IsDeleteEnum;
|
|
|
import com.diagbot.enums.StatusEnum;
|
|
|
import com.diagbot.util.BeanUtil;
|
|
|
+import com.diagbot.util.CdssLogUtil;
|
|
|
import com.diagbot.util.ListUtil;
|
|
|
import com.diagbot.util.StringUtil;
|
|
|
import com.diagbot.vo.*;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Component;
|
|
@@ -46,12 +48,17 @@ public class DataPageDockFacade {
|
|
|
@Value("${data-page.url}")
|
|
|
private String dataPageUrl;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private KlConceptStaticFacade KlConceptStaticFacade;
|
|
|
+
|
|
|
/**
|
|
|
* @Description:静态知识开单合理性
|
|
|
* @Author:liuqq
|
|
|
* @time: ${DATE} ${TIME}
|
|
|
**/
|
|
|
public RespDTO<String> getStaticKnowledge(HisStaticKnowledgeVO hisStaticKnowledgeVO){
|
|
|
+ String url="";
|
|
|
+ //基层子医院业务逻辑
|
|
|
if(StringUtil.isNotEmpty(hisStaticKnowledgeVO.getHospitalCode()) && StringUtil.isNotEmpty(hisStaticKnowledgeVO.getHospitalName())){
|
|
|
//查找基层医院
|
|
|
Long hospitalId=getHospitalRelation(hisStaticKnowledgeVO.getHospitalCode(),hisStaticKnowledgeVO.getHospitalName());
|
|
@@ -63,27 +70,32 @@ public class DataPageDockFacade {
|
|
|
}else if(hisStaticKnowledgeVO.getHospitalId()==null){
|
|
|
return RespDTO.onError("请输入医院id");
|
|
|
}
|
|
|
-
|
|
|
- String url=dataPageUrl+"/informationOut.html?hospitalId="+hisStaticKnowledgeVO.getHospitalId()
|
|
|
- +"&type="+hisStaticKnowledgeVO.getType()
|
|
|
- +"&hisName="+hisStaticKnowledgeVO.getHisName();
|
|
|
- if(StringUtil.isNotEmpty(hisStaticKnowledgeVO.getHisDetailName())){
|
|
|
- url+="&hisDetailName="+hisStaticKnowledgeVO.getHisDetailName();
|
|
|
+ //初始日志记录信息
|
|
|
+ if (StringUtil.isNotBlank(hisStaticKnowledgeVO.getHospitalCode())) {
|
|
|
+ CdssLogUtil.addBizSubHospitalCode(hisStaticKnowledgeVO.getHospitalCode());
|
|
|
}
|
|
|
- try{
|
|
|
- TranDatadockingLog tranDatadockingLog=new TranDatadockingLog();
|
|
|
- tranDatadockingLog.setHospitalId(hisStaticKnowledgeVO.getHospitalId());
|
|
|
- tranDatadockingLog.setParamIn(JSON.toJSONString(hisStaticKnowledgeVO));
|
|
|
- tranDatadockingLog.setParamOut(url);
|
|
|
- tranDatadockingLog.setRemark("页面推送模式,静态知识:"+hisStaticKnowledgeVO.getType());
|
|
|
-
|
|
|
- tranDatadockingLog.setTransTime(new Date());
|
|
|
-
|
|
|
- dataDockingLogFacade.save(tranDatadockingLog);
|
|
|
- }catch (Exception e){
|
|
|
- log.error("页面推送模式,增加日志异常",e.getMessage());
|
|
|
+ if (StringUtil.isNotBlank(hisStaticKnowledgeVO.getHospitalName())) {
|
|
|
+ CdssLogUtil.addBizSubHospitalName(hisStaticKnowledgeVO.getHospitalName());
|
|
|
+ }
|
|
|
+ if (hisStaticKnowledgeVO.getHospitalId()!=null) {
|
|
|
+ CdssLogUtil.addBizHospitalId(hisStaticKnowledgeVO.getHospitalId());
|
|
|
+ }
|
|
|
+ //判断是否有静态知识
|
|
|
+ StaticKnowledgeHISVO staticKnowledgeHISVO=new StaticKnowledgeHISVO();
|
|
|
+ BeanUtils.copyProperties(hisStaticKnowledgeVO,staticKnowledgeHISVO);
|
|
|
+ Boolean flag=KlConceptStaticFacade.isExistForHIS(staticKnowledgeHISVO);
|
|
|
+ //如果有返回静态知识url地址
|
|
|
+ if(flag){
|
|
|
+ url=dataPageUrl+"/informationOut.html?hospitalId="+hisStaticKnowledgeVO.getHospitalId()
|
|
|
+ +"&type="+hisStaticKnowledgeVO.getType()
|
|
|
+ +"&hisName="+hisStaticKnowledgeVO.getHisName();
|
|
|
+ if(StringUtil.isNotEmpty(hisStaticKnowledgeVO.getHisDetailName())){
|
|
|
+ url+="&hisDetailName="+hisStaticKnowledgeVO.getHisDetailName();
|
|
|
+ }
|
|
|
+ return RespDTO.onSuc(url);
|
|
|
+ }else{
|
|
|
+ return RespDTO.onError("无静态知识");
|
|
|
}
|
|
|
- return RespDTO.onSuc(url);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -92,9 +104,8 @@ public class DataPageDockFacade {
|
|
|
* @time: ${DATE} ${TIME}
|
|
|
**/
|
|
|
public RespDTO<String> getDataService(DataPageDockVO dataPageDockVO) {
|
|
|
- //参数校验
|
|
|
if(StringUtil.isNotEmpty(dataPageDockVO.getHospitalCode()) && StringUtil.isNotEmpty(dataPageDockVO.getHospitalName())){
|
|
|
- //查找基层医院
|
|
|
+ //基层子医院业务逻辑
|
|
|
Long hospitalId=getHospitalRelation(dataPageDockVO.getHospitalCode(),dataPageDockVO.getHospitalName());
|
|
|
if(hospitalId!=null){
|
|
|
dataPageDockVO.setHospitalId(hospitalId);
|
|
@@ -108,6 +119,19 @@ public class DataPageDockFacade {
|
|
|
}else if("".equals(dataPageDockVO.getPlanCode())){
|
|
|
return RespDTO.onError("请输入方案编码");
|
|
|
}
|
|
|
+ //初始日志记录信息
|
|
|
+ if (StringUtil.isNotBlank(dataPageDockVO.getHospitalCode())) {
|
|
|
+ CdssLogUtil.addBizSubHospitalCode(dataPageDockVO.getHospitalCode());
|
|
|
+ }
|
|
|
+ if (StringUtil.isNotBlank(dataPageDockVO.getHospitalName())) {
|
|
|
+ CdssLogUtil.addBizSubHospitalName(dataPageDockVO.getHospitalName());
|
|
|
+ }
|
|
|
+ if (dataPageDockVO.getHospitalId()!=null) {
|
|
|
+ CdssLogUtil.addBizHospitalId(dataPageDockVO.getHospitalId());
|
|
|
+ }
|
|
|
+ if (dataPageDockVO.getPlanCode()!=null) {
|
|
|
+ CdssLogUtil.addBizSceneName(dataPageDockVO.getPlanCode());
|
|
|
+ }
|
|
|
|
|
|
String url="";
|
|
|
String pushMrId="";
|
|
@@ -122,6 +146,9 @@ public class DataPageDockFacade {
|
|
|
BeanUtil.copyProperties(dataPageDockVO,indicationPushVO);
|
|
|
//ruleType(1:危急值提醒,2:开单合理项,3:高危药品、手术,4:其他提醒)
|
|
|
indicationPushVO.setRuleType("2,3,4");
|
|
|
+ //日志中增加入参,将开单合理性参数进行拼接记录
|
|
|
+ //CdssLogUtil.addBizReq(indicationPushVO);
|
|
|
+ //调用开单合理性接口
|
|
|
IndicationDTO indicationDTO = pushFacade.indicationPush(indicationPushVO);
|
|
|
if (indicationDTO != null) {
|
|
|
if (ListUtil.isNotEmpty(indicationDTO.getBillMsgList()) || ListUtil.isNotEmpty(indicationDTO.getHighRiskList())
|
|
@@ -134,6 +161,8 @@ public class DataPageDockFacade {
|
|
|
}else{
|
|
|
return RespDTO.onError("无开单合理性提醒!");
|
|
|
}
|
|
|
+ //将开单合理性结果进行拼接记录
|
|
|
+ //CdssLogUtil.addBizResp(indicationPushVO);
|
|
|
}
|
|
|
|
|
|
if("hor".equals(dataPageDockVO.getShowType())){
|
|
@@ -141,21 +170,6 @@ public class DataPageDockFacade {
|
|
|
}else{
|
|
|
url=dataPageUrl+"/cdss.html?pushMrId="+pushMrId+"&mrId="+mrId+"&hospitalId="+dataPageDockVO.getHospitalId()+"&planCode="+dataPageDockVO.getPlanCode();
|
|
|
}
|
|
|
-
|
|
|
- try{
|
|
|
- TranDatadockingLog tranDatadockingLog=new TranDatadockingLog();
|
|
|
- tranDatadockingLog.setHospitalId(dataPageDockVO.getHospitalId());
|
|
|
- tranDatadockingLog.setParamIn(JSON.toJSONString(dataPageDockVO));
|
|
|
- tranDatadockingLog.setParamOut(url);
|
|
|
- tranDatadockingLog.setRemark("页面推送模式,"+dataPageDockVO.getPlanCode());
|
|
|
-
|
|
|
- tranDatadockingLog.setTransTime(new Date());
|
|
|
-
|
|
|
- dataDockingLogFacade.save(tranDatadockingLog);
|
|
|
- }catch (Exception e){
|
|
|
- log.error("页面推送模式,增加日志异常",e.getMessage());
|
|
|
- }
|
|
|
-
|
|
|
return RespDTO.onSuc(url);
|
|
|
}
|
|
|
|