Prechádzať zdrojové kódy

修改邵逸夫数据服务模式参数

lipc 5 rokov pred
rodič
commit
fa89869120

+ 2 - 2
config-server/src/main/resources/shared/aipt-service-local.yml

@@ -99,8 +99,8 @@ io.github.lvyahui8.spring.base-packages: com.diagbot.aggregate
 
 ai:
   server:
-    address: http://192.1.3.116:5008
+    address: http://192.10.11.46:5008
 
 nlp:
   server:
-    address: http://192.1.3.116:5002
+    address: http://192.10.11.46:5008

+ 10 - 0
tran-service/src/main/java/com/diagbot/vo/PushJoinVO.java

@@ -177,4 +177,14 @@ public class PushJoinVO {
     //过期时间字符串
     @ApiModelProperty(hidden = true)
     private String expireTimeStr;
+
+
+    private String hosptialDeptCode;
+    private String doctorCode;
+    private String inquiryCode;
+    private String code;//门诊 :0 病程录 1 医嘱  7 查阅报告危急值提醒 8 开单合理性 9 化验辅检静态知识
+                        //住院 :2 首程 3 大病历 4 查阅报告危急值提醒 5 开单合理性 6 化验辅检静态知识
+
+    private String lisOrderCode;//根据his套餐code获取套餐名或细项
+    private String pacsOrderCode;//根据his套餐code获取套餐名或细项
 }

+ 91 - 62
tran-service/src/main/java/com/diagbot/web/InquiryInfoController.java

@@ -2,6 +2,9 @@ package com.diagbot.web;
 
 import com.alibaba.fastjson.JSONObject;
 import com.diagbot.annotation.SysLogger;
+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.*;
 import com.diagbot.entity.InputInfo;
 import com.diagbot.facade.*;
@@ -20,6 +23,7 @@ import springfox.documentation.annotations.ApiIgnore;
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
 import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
@@ -128,9 +132,15 @@ public class InquiryInfoController {
             getDiseaseIcdVO.setHospitalCode(hisInquirysForDjVO.getHospitalCode());
             StringBuffer icd;
             StringBuffer diseaseName = new StringBuffer();
+
+            List<Item> disease1 = new ArrayList<>();
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
             //邵逸夫保存某些疾病需要发病日期,我方无法计算详细发病日期,用就诊日期代替
             for (int j = 0; j < disease.length; j++) {
+                Item item = new Item();
+                item.setName(disease[j]);
+                item.setUniqueName(disease[j]);
+                disease1.add(item);
                 diseaseName.append(disease[j] + ",");
                 if (disease[j] != null && !"".equals(disease[j].trim())) {
                     getDiseaseIcdVO.setDisNames(disease[j]);
@@ -147,7 +157,7 @@ public class InquiryInfoController {
             //治疗
             sb.append((a.getContentList().get(7) == null ? "" : a.getContentList().get(7)) + "|");
             //年龄为必须值,通过生日计算
-            int age = 0;
+            int age;
             Calendar now = Calendar.getInstance();
             now.setTime(new Date());// 当前时间
 
@@ -163,26 +173,17 @@ public class InquiryInfoController {
                 }
             }
 
-            /*String url = "http://192.1.3.116:5446/landscapeMedical.html?" +
-             *//*String url = "http://192.168.1.104:5446/landscapeMedical.html?" +*//*
-                    "age=" + age +
-                    "&diagJson=" + dn +
-                    "&lisJson=" + a.getContentList().get(5) +
-                    *//*"&pastJson=" + a.getContentList().get(1) +*//*
-                    "&otherJson=" + a.getContentList().get(2) +
-                    "&pacsJson=" + a.getContentList().get(5) +
-                    "&sex=" + (patientInfoDTO.getSex() == 1 ? "男" : "女") +
-                    "&symptomJson=" + a.getContentList().get(0) +
-                    "&vitalJson=" + a.getContentList().get(3) +
-                    "&hospitalCode=" + hisInquirysForDjVO.getHospitalCode();*/
-
             PushJoinVO pushJoinVO = new PushJoinVO();
             pushJoinVO.setAge(age);
             pushJoinVO.setSex(patientInfoDTO.getSex());
             pushJoinVO.setSymptom(a.getContentList().get(0));
             pushJoinVO.setVital(a.getContentList().get(3));
             pushJoinVO.setOther(a.getContentList().get(2));
-            pushJoinVO.setDiseaseName(dn);
+            pushJoinVO.setDiag(disease1);
+            Item item = new Item();
+            item.setName(disease[0]);
+            item.setUniqueName(disease[0]);
+            pushJoinVO.setDiseaseName(item);
             pushJoinVO.setHosCode(hisInquirysForDjVO.getHospitalCode());
             String mrId = mrFacade.createMr(pushJoinVO);
 
@@ -251,15 +252,10 @@ public class InquiryInfoController {
     @PostMapping("/getDataService")
     @SysLogger("getDataService")
     public RespDTO<String> getDataService(@RequestBody PushJoinVO pushJoinVO) throws UnsupportedEncodingException {
-        if(pushJoinVO.getDiag() == null){
-            pushJoinVO.setDiag("");
-        }
         GetDiseaseNameVO getDiseaseNameVO = new GetDiseaseNameVO();
         List<GetDiseaseNameDTO> a;
         String mrId;
         String url;
-        StringBuffer sb1 = new StringBuffer();//放诊断
-        StringBuffer sb2 = new StringBuffer();//放辅检
         StringBuffer sb3 = new StringBuffer();//放化验细项列表
         StringBuffer sb4 = new StringBuffer();//放辅检列表
         String[] orderCode;
@@ -269,31 +265,45 @@ public class InquiryInfoController {
         inputInfo.setHosptialDeptCode(pushJoinVO.getHosptialDeptCode());
         inputInfo.setDoctorCode(pushJoinVO.getDoctorCode());
         inputInfo.setInquiryCode(pushJoinVO.getInquiryCode());
-        inputInfo.setDiseaseName(pushJoinVO.getDiag());
+        //inputInfo.setDiseaseName(pushJoinVO.getDiseaseName().getUniqueName());
         inputInfo.setAge(pushJoinVO.getAge().intValue());
         inputInfo.setSexType(pushJoinVO.getSex().toString());
         inputInfo.setTransTime(DateUtil.format(new Date(), DateUtil.DATE_TIME_FORMAT));
         inputInfo.setParamIn(JSONObject.toJSONString(pushJoinVO));
 
-        //疾病转公表
-        if (pushJoinVO.getDiag() != null && !"".equals(pushJoinVO.getDiag())) {
-            getDiseaseNameVO.setHisDiseaseName(pushJoinVO.getDiag());
+        //疾病转公表diag
+        if (pushJoinVO.getDiag() != null && pushJoinVO.getDiag().size() > 0) {
+            List<Item> li = new ArrayList<>();
+            for (int i = 0; i < pushJoinVO.getDiag().size(); i++) {
+                getDiseaseNameVO.setHisDiseaseName(pushJoinVO.getDiag().get(i).getName());
+                getDiseaseNameVO.setHospitalCode(pushJoinVO.getHosCode());
+                a = diseaseIcdFacade.getDiseaseNames(getDiseaseNameVO);
+                if (a != null && a.size() != 0) {
+                    Item item = new Item();
+                    item.setName(pushJoinVO.getDiag().get(i).getName());
+                    item.setUniqueName(a.get(0).getConceptDisName());
+                    li.add(item);
+
+                }
+            }
+            pushJoinVO.setDiag(li);
+        }
+
+        //疾病转公表diseaseName
+        if (pushJoinVO.getDiseaseName() != null) {
+            getDiseaseNameVO.setHisDiseaseName(pushJoinVO.getDiseaseName().getName());
             getDiseaseNameVO.setHospitalCode(pushJoinVO.getHosCode());
             a = diseaseIcdFacade.getDiseaseNames(getDiseaseNameVO);
             if (a != null && a.size() != 0) {
-                for (GetDiseaseNameDTO di : a) {
-                    sb1.append(di.getConceptDisName() + ",");
-                }
-                pushJoinVO.setDiseaseName(a.get(0).getConceptDisName());
-                pushJoinVO.setDiag(sb1.substring(0, sb1.length() - 1));
-            } else {
-                pushJoinVO.setDiag("");
-                pushJoinVO.setDiseaseName("");
+                Item item = new Item();
+                item.setName(pushJoinVO.getDiseaseName().getName());
+                item.setUniqueName(a.get(0).getConceptDisName());
+                pushJoinVO.setDiseaseName(item);
             }
         }
 
         //结构化验转公表
-        List<LisResult> lrs = pushJoinVO.getLis();
+        List<Lis> lrs = pushJoinVO.getLis();
         if (lrs != null && lrs.size() != 0) {
             LisPacsInfoForDJVO lisPacsInfoForDJVO = new LisPacsInfoForDJVO();
             List<LisConfigDTO> lisConfigDTO;
@@ -306,11 +316,10 @@ public class InquiryInfoController {
                     lrs.get(i).setUniqueName(lisConfigDTO.get(0).getUniqueName());
                 }
             }
-            pushJoinVO.setLis(lrs);
         }
 
         //结构辅检转公表
-        List<PacsResult> lpr = pushJoinVO.getPacsList();
+        List<Pacs> lpr = pushJoinVO.getPacs();
         if (lpr != null && lpr.size() != 0) {
             LisPacsInfoForDJVO lisPacsInfoForDJVO = new LisPacsInfoForDJVO();
             List<PacsConfigDTO> pacsConfigDTO;
@@ -319,20 +328,18 @@ public class InquiryInfoController {
                 lisPacsInfoForDJVO.setMealName(lpr.get(j).getName());
                 pacsConfigDTO = pacsConfigFacade.getPacsConfigByNameAndHosCode(lisPacsInfoForDJVO);
                 if (pacsConfigDTO != null && pacsConfigDTO.size() != 0) {
-                    lpr.get(j).setName(pacsConfigDTO.get(0).getUniqueName());
-                    sb2.append(pacsConfigDTO.get(0).getUniqueName() + ":" + lpr.get(j).getResult() + ";");
+                    lpr.get(j).setUniqueName(pacsConfigDTO.get(0).getUniqueName());
                 }
             }
-            pushJoinVO.setPacs(sb2.toString());
         }
 
         //化验套餐名转公表
-        if (pushJoinVO.getLisOrder() != null && !"".equals(pushJoinVO.getLisOrder().trim())) {
+        if (pushJoinVO.getLisOrder() != null && pushJoinVO.getLisOrder().size()>0) {
             LisPacsInfoForDJVO lisPacsInfoForDJVO = new LisPacsInfoForDJVO();
             List<LisConfigDTO> lisConfigDTO;
             List<PacsConfigDTO> pacsConfigDTO;
             lisPacsInfoForDJVO.setHosCode(pushJoinVO.getHosCode());
-            lisPacsInfoForDJVO.setMealName(pushJoinVO.getLisOrder().trim());
+            lisPacsInfoForDJVO.setMealName(pushJoinVO.getLisOrder().get(0).getName());
             lisConfigDTO = tranLisConfigFacade.getLisConfigByNameAndHosCode(lisPacsInfoForDJVO);
             if (lisConfigDTO.size() == 1) {
                 if (lisConfigDTO.get(0).getUniqueName().indexOf("、") != -1) {
@@ -348,17 +355,28 @@ public class InquiryInfoController {
                     sb3.append("]");
                 } else {
                     sb3.append("[{\"name\":\"" + lisConfigDTO.get(0).getUniqueName() + "\",\"type\":12,\"position\":1}]");
-                    pushJoinVO.setLisOrder(lisConfigDTO.get(0).getUniqueName());
+                    pushJoinVO.getLisOrder().get(0).setUniqueName(lisConfigDTO.get(0).getUniqueName());
                 }
             } else if (lisConfigDTO.size() > 1) {
                 for (int i = 0; i < lisConfigDTO.size(); i++) {
-                    if (lisConfigDTO.get(i).getUniqueName().indexOf("--") == -1) {
-                        pushJoinVO.setLisOrder(lisConfigDTO.get(i).getUniqueName());
+                    if(lisConfigDTO.get(i).getUniqueName().indexOf("、") != -1){
+                        orderCode = lisConfigDTO.get(i).getUniqueName().split("、");
+                        sb3.append("[");
+                        for (int j = 0; j < orderCode.length; j++) {
+                            if (j == orderCode.length - 1) {
+                                sb3.append("{\"name\":\"" + orderCode[j] + "\",\"type\":12,\"position\":1}");
+                            } else {
+                                sb3.append("{\"name\":\"" + orderCode[j] + "\",\"type\":12,\"position\":1},");
+                            }
+                        }
+                        sb3.append("]");
+                    }else if (lisConfigDTO.get(i).getUniqueName().indexOf("--") == -1 && lisConfigDTO.get(i).getUniqueName().indexOf("、") == -1) {
+                        pushJoinVO.getLisOrder().get(0).setUniqueName(lisConfigDTO.get(i).getUniqueName());
                     }
                 }
                 if (lisConfigDTO.get(0).getUniqueName().indexOf("--") != -1) {
                     sb3.append("[{\"name\":\"" + lisConfigDTO.get(0).getUniqueName().substring(0, lisConfigDTO.get(0).getUniqueName().indexOf("--")) + "\",\"type\":12,\"position\":1}]");
-                } else {
+                } else if(lisConfigDTO.get(0).getUniqueName().indexOf("--") == -1 && lisConfigDTO.get(0).getUniqueName().indexOf("、") == -1) {
                     sb3.append("[{\"name\":\"" + lisConfigDTO.get(0).getUniqueName() + "\",\"type\":12,\"position\":1}]");
                 }
             } else {
@@ -376,13 +394,13 @@ public class InquiryInfoController {
                         }
                         sb3.append("]");
                     } else {
-                        pushJoinVO.setLisOrder(pacsConfigDTO.get(0).getUniqueName());
+                        pushJoinVO.getLisOrder().get(0).setUniqueName(pacsConfigDTO.get(0).getUniqueName());
                         sb3.append("[{\"name\":\"" + pacsConfigDTO.get(0).getUniqueName() + "\",\"type\":6,\"position\":1}]");
                     }
                 } else if (pacsConfigDTO.size() > 1) {
                     for (int i = 0; i < pacsConfigDTO.size(); i++) {
                         if (pacsConfigDTO.get(i).getUniqueName().indexOf("--") == -1) {
-                            pushJoinVO.setLisOrder(pacsConfigDTO.get(i).getUniqueName());
+                            pushJoinVO.getLisOrder().get(0).setUniqueName(pacsConfigDTO.get(i).getUniqueName());
                         }
                     }
                     if (pacsConfigDTO.get(0).getUniqueName().indexOf("--") != -1) {
@@ -395,11 +413,11 @@ public class InquiryInfoController {
         }
 
         //辅检套餐名转公表
-        if (pushJoinVO.getPacsOrder() != null && !"".equals(pushJoinVO.getPacsOrder().trim())) {
+        if (pushJoinVO.getPacsOrder() != null && pushJoinVO.getPacsOrder().size()>0) {
             LisPacsInfoForDJVO lisPacsInfoForDJVO = new LisPacsInfoForDJVO();
             List<LisConfigDTO> lisConfigDTO;
             List<PacsConfigDTO> pacsConfigDTO;
-            lisPacsInfoForDJVO.setMealName(pushJoinVO.getPacsOrder().trim());
+            lisPacsInfoForDJVO.setMealName(pushJoinVO.getPacsOrder().get(0).getName());
             lisPacsInfoForDJVO.setHosCode(pushJoinVO.getHosCode());
             pacsConfigDTO = pacsConfigFacade.getPacsConfigByNamesAndHosCode(lisPacsInfoForDJVO);
             if (pacsConfigDTO.size() == 1) {
@@ -417,16 +435,27 @@ public class InquiryInfoController {
                 } else {
                     sb4.append("[{\"name\":\"" + pacsConfigDTO.get(0).getUniqueName() + "\",\"type\":6,\"position\":1}]");
                 }
-                pushJoinVO.setPacsOrder(pacsConfigDTO.get(0).getUniqueName());
+                pushJoinVO.getPacsOrder().get(0).setUniqueName(pacsConfigDTO.get(0).getUniqueName());
             } else if (pacsConfigDTO.size() > 1) {
                 for (int i = 0; i < pacsConfigDTO.size(); i++) {
-                    if (pacsConfigDTO.get(i).getUniqueName().indexOf("--") == -1) {
-                        pushJoinVO.setPacsOrder(pacsConfigDTO.get(i).getUniqueName());
+                    if (pacsConfigDTO.get(i).getUniqueName().indexOf("、") != -1) {
+                        orderCode = pacsConfigDTO.get(0).getUniqueName().split("、");
+                        sb4.append("[");
+                        for (int j = 0; j < orderCode.length; j++) {
+                            if (j == orderCode.length - 1) {
+                                sb4.append("{\"name\":\"" + orderCode[j] + "\",\"type\":6,\"position\":1}");
+                            } else {
+                                sb4.append("{\"name\":\"" + orderCode[j] + "\",\"type\":6,\"position\":1},");
+                            }
+                        }
+                        sb4.append("]");
+                    }else if (pacsConfigDTO.get(i).getUniqueName().indexOf("--") == -1 && pacsConfigDTO.get(i).getUniqueName().indexOf("、") == -1) {
+                        pushJoinVO.getPacsOrder().get(0).setUniqueName(pacsConfigDTO.get(i).getUniqueName());
                     }
                 }
                 if (pacsConfigDTO.get(0).getUniqueName().indexOf("--") != -1) {
                     sb4.append("[{\"name\":\"" + pacsConfigDTO.get(0).getUniqueName().substring(0, pacsConfigDTO.get(0).getUniqueName().indexOf("--")) + "\",\"type\":6,\"position\":1}]");
-                } else {
+                } else if(pacsConfigDTO.get(0).getUniqueName().indexOf("--") != -1 && pacsConfigDTO.get(0).getUniqueName().indexOf("、") != -1) {
                     sb4.append("[{\"name\":\"" + pacsConfigDTO.get(0).getUniqueName() + "\",\"type\":6,\"position\":1}]");
                 }
             } else {
@@ -446,11 +475,11 @@ public class InquiryInfoController {
                     } else {
                         sb4.append("[{\"name\":\"" + lisConfigDTO.get(0).getUniqueName() + "\",\"type\":12,\"position\":1}]");
                     }
-                    pushJoinVO.setPacsOrder(lisConfigDTO.get(0).getUniqueName());
+                    pushJoinVO.getPacsOrder().get(0).setUniqueName(lisConfigDTO.get(0).getUniqueName());
                 } else if (lisConfigDTO.size() > 1) {
                     for (int i = 0; i < lisConfigDTO.size(); i++) {
                         if (lisConfigDTO.get(i).getUniqueName().indexOf("--") == -1) {
-                            pushJoinVO.setPacsOrder(lisConfigDTO.get(i).getUniqueName());
+                            pushJoinVO.getPacsOrder().get(0).setUniqueName(lisConfigDTO.get(i).getUniqueName());
                         }
                     }
                     if (lisConfigDTO.get(0).getUniqueName().indexOf("--") != -1) {
@@ -520,7 +549,7 @@ public class InquiryInfoController {
             //门诊 开单合理性
             case "8":
 
-                if (pushJoinVO.getLisOrder() != null && !"".equals(pushJoinVO.getLisOrder().trim())) {
+                if (pushJoinVO.getLisOrder() != null && pushJoinVO.getLisOrder().size()>0) {
 
                     mrId = mrFacade.createMr(pushJoinVO);
 
@@ -538,7 +567,7 @@ public class InquiryInfoController {
 
                     return RespDTO.onSuc(url);
 
-                } else if (pushJoinVO.getPacsOrder() != null && !"".equals(pushJoinVO.getPacsOrder().trim())) {
+                } else if (pushJoinVO.getPacsOrder() != null && pushJoinVO.getPacsOrder().size()>0) {
 
                     mrId = mrFacade.createMr(pushJoinVO);
 
@@ -560,7 +589,7 @@ public class InquiryInfoController {
 
             //门诊 化验辅检静态知识
             case "9":
-                if (pushJoinVO.getLisOrder() != null && !"".equals(pushJoinVO.getLisOrder().trim())) {
+                if (pushJoinVO.getLisOrder() != null && pushJoinVO.getLisOrder().size()>0) {
                     if (!sb3.toString().equals("")) {
                         mrId = mrFacade.createMr(pushJoinVO);
                         url = "http://192.1.3.116:5446/indexHorizontal.html?" +
@@ -582,7 +611,7 @@ public class InquiryInfoController {
                         return RespDTO.onSuc("暂未维护该项目静态知识!");
                     }
 
-                } else if (pushJoinVO.getPacsOrder() != null && !"".equals(pushJoinVO.getPacsOrder().trim())) {
+                } else if (pushJoinVO.getPacsOrder() != null && pushJoinVO.getPacsOrder().size()>0) {
                     if (!sb4.toString().equals("")) {
                         mrId = mrFacade.createMr(pushJoinVO);
                         url = "http://192.1.3.116:5446/indexHorizontal.html?" +
@@ -662,7 +691,7 @@ public class InquiryInfoController {
             //住院 开单合理性
             case "5":
 
-                if (pushJoinVO.getLisOrder() != null && !"".equals(pushJoinVO.getLisOrder().trim())) {
+                if (pushJoinVO.getLisOrder() != null && pushJoinVO.getLisOrder().size()>0) {
 
                     mrId = mrFacade.createMr(pushJoinVO);
 
@@ -680,7 +709,7 @@ public class InquiryInfoController {
 
                     return RespDTO.onSuc(url);
 
-                } else if (pushJoinVO.getPacsOrder() != null && !"".equals(pushJoinVO.getPacsOrder().trim())) {
+                } else if (pushJoinVO.getPacsOrder() != null && pushJoinVO.getPacsOrder().size()>0) {
 
                     mrId = mrFacade.createMr(pushJoinVO);
 
@@ -702,7 +731,7 @@ public class InquiryInfoController {
 
             //住院 化验辅检静态知识
             case "6":
-                if (pushJoinVO.getLisOrder() != null && !"".equals(pushJoinVO.getLisOrder().trim())) {
+                if (pushJoinVO.getLisOrder() != null && pushJoinVO.getLisOrder().size()>0) {
                     if (!sb3.toString().equals("")) {
                         mrId = mrFacade.createMr(pushJoinVO);
 
@@ -724,7 +753,7 @@ public class InquiryInfoController {
                         inputInfoFacade.saveInputInfo(inputInfo);
                         return RespDTO.onSuc("暂未维护该项目静态知识!");
                     }
-                } else if (pushJoinVO.getPacsOrder() != null && !"".equals(pushJoinVO.getPacsOrder().trim())) {
+                } else if (pushJoinVO.getPacsOrder() != null && pushJoinVO.getPacsOrder().size()>0) {
                     if (!sb3.toString().equals("")) {
                         mrId = mrFacade.createMr(pushJoinVO);