|
@@ -1,7 +1,10 @@
|
|
|
package com.diagbot.facade;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.serializer.SerializerFeature;
|
|
|
import com.diagbot.biz.push.entity.Item;
|
|
|
+import com.diagbot.biz.push.entity.Lis;
|
|
|
+import com.diagbot.biz.push.entity.Pacs;
|
|
|
import com.diagbot.dto.IndicationDTO;
|
|
|
import com.diagbot.dto.PushDTO;
|
|
|
import com.diagbot.dto.PushPlanDTO;
|
|
@@ -16,7 +19,11 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
+import java.net.MalformedURLException;
|
|
|
+import java.net.URL;
|
|
|
+import java.net.URLEncoder;
|
|
|
import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
/*
|
|
@@ -49,13 +56,21 @@ public class DataPageDockFacade {
|
|
|
* @time: ${DATE} ${TIME}
|
|
|
**/
|
|
|
public RespDTO<String> getStaticKnowledge(StaticKnowledgeHISVO staticKnowledgeHISVO) {
|
|
|
+// String hisName=StringUtils.isNotEmpty(staticKnowledgeHISVO.getHisName())?JSON.toJSONString(staticKnowledgeHISVO.getHisName(), SerializerFeature.BrowserCompatible):"";
|
|
|
+// String hisDetailName=StringUtils.isNotEmpty(staticKnowledgeHISVO.getHisName())?JSON.toJSONString(staticKnowledgeHISVO.getHisName(), SerializerFeature.BrowserCompatible):"";
|
|
|
+ if (StringUtil.isNotEmpty(staticKnowledgeHISVO.getHisDetailName()) && staticKnowledgeHISVO.getType()==4) {
|
|
|
+ staticKnowledgeHISVO.setHisName(staticKnowledgeHISVO.getHisDetailName());
|
|
|
+ }
|
|
|
String url = dataPageUrl + "/informationOut.html?hospitalId=" + staticKnowledgeHISVO.getHospitalId()
|
|
|
+ "&type=" + staticKnowledgeHISVO.getType()
|
|
|
- + "&hisName=" + staticKnowledgeHISVO.getHisName();
|
|
|
- if (StringUtil.isNotEmpty(staticKnowledgeHISVO.getHisDetailName())) {
|
|
|
- url += "&hisDetailName=" + staticKnowledgeHISVO.getHisDetailName();
|
|
|
+ + "&hisName=" + URLEncoder.encode(staticKnowledgeHISVO.getHisName());
|
|
|
+ URL urlString = null;
|
|
|
+ try {
|
|
|
+ urlString=new URL( url);
|
|
|
+ } catch (MalformedURLException e) {
|
|
|
+ e.printStackTrace();
|
|
|
}
|
|
|
- return RespDTO.onSuc(url);
|
|
|
+ return RespDTO.onSuc(urlString);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -97,7 +112,6 @@ public class DataPageDockFacade {
|
|
|
return RespDTO.onError("无开单合理性提醒!");
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
if ("hor".equals(dataPageDockVO.getShowType())) {
|
|
|
url = dataPageUrl + "/cdssHorizontal.html?pushMrId=" + pushMrId + "&mrId=" + mrId + "&hospitalId=" + dataPageDockVO.getHospitalId() + "&planCode=" + dataPageDockVO.getPlanCode();
|
|
|
} else {
|
|
@@ -190,44 +204,56 @@ public class DataPageDockFacade {
|
|
|
}
|
|
|
|
|
|
|
|
|
- //厦门根据视图来取所需数据
|
|
|
+ //湘雅根据视图来取所需数据
|
|
|
public RespDTO<String> getDataServiceXY(StructuralDataVo structuralDataVo) {
|
|
|
+ if (structuralDataVo.getBehospitalCode().contains("_")){
|
|
|
+ structuralDataVo.setBehospitalCode(structuralDataVo.getBehospitalCode().substring(0,structuralDataVo.getBehospitalCode().indexOf("_")));
|
|
|
+ }
|
|
|
DataPageDockVO dataPageDockVO = new DataPageDockVO();
|
|
|
+ RespDTO<String> respDTO =new RespDTO<>();
|
|
|
try {
|
|
|
String where = " where behospitalCode = '" + structuralDataVo.getBehospitalCode() + "' and behospitalNum = '" + structuralDataVo.getFileCode() + "'";
|
|
|
- String DrugSql = " select * from drug " + where;
|
|
|
- String DiagSql = " select * from diag " + where;
|
|
|
- String InfoSql = " select * from medical_record " + where;
|
|
|
+ String DrugSql = " select * from drug " + " where behospitalCode = '" + structuralDataVo.getBehospitalCode() + "' and fileCode = '" + structuralDataVo.getFileCode() + "'";
|
|
|
+ String DiagSql = " select * from diag "+" where behospitalCode = '" + structuralDataVo.getBehospitalCode() + "' and fileCode = '" + structuralDataVo.getFileCode() + "'";
|
|
|
+ String InfoSql = " select * from medical_records where PATIENTID ='"+structuralDataVo.getBehospitalCode()+"' and VISITID = '"+structuralDataVo.getFileCode()+"'";
|
|
|
+ String InfoSqlaa = " select * from medical_record " +where;
|
|
|
String lisSql = " select * from assay_details " + where;
|
|
|
String PacsSql = " select * from check_details " + where;
|
|
|
String OpsSql = " select * from homepage_operation " + where;
|
|
|
|
|
|
- //得到基本信息并赋予
|
|
|
+// //得到基本信息并赋予
|
|
|
Map<String, String> map = tzDBConn1.getInfo(InfoSql);
|
|
|
dataPageDockVO.setPlanCode(structuralDataVo.getPlanCode());
|
|
|
dataPageDockVO.setHospitalId(structuralDataVo.getHospitalId());//医院id
|
|
|
- dataPageDockVO.setShowType(structuralDataVo.getShowType());//展示方式(待解决)
|
|
|
- dataPageDockVO.setAge(map.get("age"));//年龄
|
|
|
- dataPageDockVO.setSex(Integer.parseInt(StringUtils.isNoneBlank(map.get("sex")) ? map.get("sex") : "0"));//性别
|
|
|
- dataPageDockVO.setMarriage(map.get("marriage"));//婚姻
|
|
|
- dataPageDockVO.setChief(map.get("chief"));//主诉
|
|
|
- dataPageDockVO.setSymptom(map.get("symptom"));//现病史
|
|
|
- dataPageDockVO.setVital(map.get("vital"));//查体
|
|
|
- dataPageDockVO.setPasts(map.get("pasts"));//既往史
|
|
|
- dataPageDockVO.setInfectious(map.get("infectious"));//传染病史
|
|
|
- dataPageDockVO.setSurgical(map.get("surgical"));//手术外伤史
|
|
|
- dataPageDockVO.setAllergy(map.get("allergy"));//过敏史
|
|
|
- dataPageDockVO.setVaccination(map.get("vaccination"));//接种史
|
|
|
- dataPageDockVO.setPersonal(map.get("personal"));//个人史
|
|
|
- dataPageDockVO.setMarital(map.get("marital"));//婚育史
|
|
|
- dataPageDockVO.setFamily(map.get("family"));//家族史
|
|
|
- dataPageDockVO.setOther(map.get("menstrual"));//月经史
|
|
|
-
|
|
|
+ dataPageDockVO.setShowType(structuralDataVo.getShowType());//展示方式
|
|
|
+ if (StringUtils.isNotEmpty(map.get("SEX"))){
|
|
|
+ dataPageDockVO.setSex(Integer.valueOf(map.get("SEX").equals("男")?"1":map.get("SEX").equals("女")?"2":"3"));//性别
|
|
|
+ }
|
|
|
+ dataPageDockVO.setAge(StringUtils.isNotEmpty(map.get("AGE"))?map.get("AGE"):"18");//年龄
|
|
|
+ dataPageDockVO.setMarriage(map.get("MARRIAGE"));//婚姻
|
|
|
+ dataPageDockVO.setChief(map.get("CHIEF"));//主诉
|
|
|
+ dataPageDockVO.setSymptom(map.get("SYMPTOM"));//现病史
|
|
|
+
|
|
|
+// dataPageDockVO.setChief("体温39.2,高热,植入钢板");//主诉
|
|
|
+// dataPageDockVO.setSymptom("体温39.2,高热,植入钢板");//现病史
|
|
|
+ dataPageDockVO.setPasts(map.get("PASTS"));//既往史
|
|
|
+ dataPageDockVO.setPersonal(map.get("PERSONAL"));//个人史
|
|
|
+ dataPageDockVO.setMarital(map.get("MARITAL"));//婚育史
|
|
|
+ dataPageDockVO.setFamily(map.get("FAMILY"));//家族史
|
|
|
+ dataPageDockVO.setMenstrual(map.get("MENSTRUAL"));//月经史
|
|
|
+ dataPageDockVO.setVital(map.get("VITAL"));//查体
|
|
|
System.out.println(JSON.toJSONString(dataPageDockVO) + "-------------------------------------信息");
|
|
|
|
|
|
//获取Order信息并赋予
|
|
|
+ List<Lis> lisOrder = structuralDataVo.getLisOrder();
|
|
|
+ if (lisOrder.size()>0){
|
|
|
+ lisOrder.forEach(lis -> {
|
|
|
+ lis.setDetailName("");
|
|
|
+ lis.setUniqueName("");
|
|
|
+ });
|
|
|
+ }
|
|
|
dataPageDockVO.setPacsOrder(structuralDataVo.getPacsOrder());
|
|
|
- dataPageDockVO.setLisOrder(structuralDataVo.getLisOrder());
|
|
|
+ dataPageDockVO.setLisOrder(lisOrder);
|
|
|
dataPageDockVO.setOperationOrder(structuralDataVo.getOperationOrder());
|
|
|
dataPageDockVO.setDrugOrder(structuralDataVo.getDrugOrder());
|
|
|
dataPageDockVO.setDiseaseName(structuralDataVo.getDiseaseName());
|
|
@@ -236,19 +262,36 @@ public class DataPageDockFacade {
|
|
|
System.out.println(JSON.toJSONString(dataPageDockVO) + "-------------------------------------Order");
|
|
|
|
|
|
//获取历史信息并赋予
|
|
|
- dataPageDockVO.setPacs(tzDBConn.getPacs(PacsSql));
|
|
|
- dataPageDockVO.setLis(tzDBConn.getLis(lisSql));
|
|
|
- dataPageDockVO.setDrug(tzDBConn.getDrug(DrugSql));
|
|
|
- dataPageDockVO.setDiag(tzDBConn.getDiag(DiagSql));
|
|
|
- dataPageDockVO.setOperation(tzDBConn.getOperation(OpsSql));
|
|
|
-
|
|
|
+ //根据方案编码来判断是否是多参考值 如果是根据repNo来获取他们的值
|
|
|
+ if (structuralDataVo.getPlanCode().equals("medical_lis")){
|
|
|
+ if (StringUtils.isNotEmpty(structuralDataVo.getRepNo())){
|
|
|
+ lisSql= lisSql+" and repNo='"+structuralDataVo.getRepNo()+"'";
|
|
|
+ }
|
|
|
+ dataPageDockVO.setLis(tzDBConn.getLis(lisSql));
|
|
|
+ dataPageDockVO.setDiag(tzDBConn.getDiag(DiagSql));
|
|
|
+ }else if (structuralDataVo.getPlanCode().equals("medical_pacs")){
|
|
|
+ if (StringUtils.isNotEmpty(structuralDataVo.getRepNo())){
|
|
|
+ PacsSql= PacsSql+" and repNo='"+structuralDataVo.getRepNo()+"'";
|
|
|
+ }
|
|
|
+ dataPageDockVO.setPacs(tzDBConn.getPacs(PacsSql));
|
|
|
+ dataPageDockVO.setDiag(tzDBConn.getDiag(DiagSql));
|
|
|
+ }else {
|
|
|
+ dataPageDockVO.setPacs(tzDBConn.getPacs(PacsSql));
|
|
|
+ dataPageDockVO.setLis(tzDBConn.getLis(lisSql));
|
|
|
+ dataPageDockVO.setDrug(tzDBConn.getDrug(DrugSql));
|
|
|
+ dataPageDockVO.setDiag(tzDBConn.getDiag(DiagSql));
|
|
|
+ dataPageDockVO.setOperation(tzDBConn.getOperation(OpsSql));
|
|
|
+ }
|
|
|
System.out.println(JSON.toJSONString(dataPageDockVO) + "---------------------------------------历史数据");
|
|
|
+
|
|
|
+ respDTO= this.getDataService(dataPageDockVO);
|
|
|
//保存入参到库里 方便以后查看
|
|
|
TranDatadockingLog tranDatadockingLog = new TranDatadockingLog();
|
|
|
tranDatadockingLog.setDoctorCode("正常入参");
|
|
|
tranDatadockingLog.setHospitalId(dataPageDockVO.getHospitalId());
|
|
|
- tranDatadockingLog.setParamIn(JSON.toJSONString(structuralDataVo));
|
|
|
- tranDatadockingLog.setParamOut(JSON.toJSONString(dataPageDockVO));
|
|
|
+ tranDatadockingLog.setSexType(JSON.toJSONString(structuralDataVo));
|
|
|
+ tranDatadockingLog.setParamIn(JSON.toJSONString(dataPageDockVO));
|
|
|
+ tranDatadockingLog.setParamOut(JSON.toJSONString(respDTO));
|
|
|
tranDatadockingLog.setRemark("方案编码," + dataPageDockVO.getPlanCode());
|
|
|
tranDatadockingLog.setInquiryCode("病人住院号: " + structuralDataVo.getBehospitalCode()+"_"+structuralDataVo.getFileCode());
|
|
|
tranDatadockingLog.setTransTime(new Date());
|
|
@@ -256,15 +299,17 @@ public class DataPageDockFacade {
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
TranDatadockingLog tranDatadockingLog = new TranDatadockingLog();
|
|
|
- tranDatadockingLog.setRemark("获取数据失败," + structuralDataVo);
|
|
|
+ tranDatadockingLog.setSexType("获取数据失败," + JSON.toJSONString(structuralDataVo));
|
|
|
tranDatadockingLog.setRemark("方案编码," + dataPageDockVO.getPlanCode());
|
|
|
+ tranDatadockingLog.setParamIn(JSON.toJSONString(dataPageDockVO));
|
|
|
+ tranDatadockingLog.setParamOut(JSON.toJSONString(respDTO));
|
|
|
tranDatadockingLog.setInquiryCode("病人住院号: " + structuralDataVo.getBehospitalCode()+"_"+structuralDataVo.getFileCode());
|
|
|
tranDatadockingLog.setTransTime(new Date());
|
|
|
dataDockingLogFacade.save(tranDatadockingLog);
|
|
|
} finally {
|
|
|
tzDBConn.close();
|
|
|
}
|
|
|
- return this.getDataService(dataPageDockVO);
|
|
|
+ return respDTO;
|
|
|
}
|
|
|
|
|
|
}
|