瀏覽代碼

重庆石柱解析xml文件

wangsy 10 月之前
父節點
當前提交
17c5c1cfb1

+ 6 - 0
pom.xml

@@ -216,6 +216,12 @@
             <artifactId>spring-boot-data-aggregator-starter</artifactId>
             <artifactId>spring-boot-data-aggregator-starter</artifactId>
             <version>${aggregator.version}</version>
             <version>${aggregator.version}</version>
         </dependency>
         </dependency>
+        <!-- dom4j XML解析 -->
+        <dependency>
+            <groupId>dom4j</groupId>
+            <artifactId>dom4j</artifactId>
+            <version>1.6.1</version>
+        </dependency>
 
 
     </dependencies>
     </dependencies>
 
 

+ 125 - 80
src/main/java/com/diagbot/facade/DataPageDockFacade.java

@@ -2,6 +2,8 @@ package com.diagbot.facade;
 
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.CdssApplication;
+import com.diagbot.biz.push.entity.Item;
 import com.diagbot.dto.IndicationDTO;
 import com.diagbot.dto.IndicationDTO;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.PushPlanDTO;
 import com.diagbot.dto.PushPlanDTO;
@@ -11,18 +13,20 @@ import com.diagbot.entity.TranDatadockingLog;
 import com.diagbot.entity.TranHospitalRelation;
 import com.diagbot.entity.TranHospitalRelation;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.StatusEnum;
 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.util.*;
 import com.diagbot.vo.*;
 import com.diagbot.vo.*;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.SpringApplication;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
+import org.springframework.web.multipart.MultipartFile;
 
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.Date;
+import java.util.List;
+import java.util.Map;
 
 
 /*
 /*
  * @Description:对外对接业务处理类
  * @Description:对外对接业务处理类
@@ -56,38 +60,38 @@ public class DataPageDockFacade {
      * @Author:liuqq
      * @Author:liuqq
      * @time: ${DATE} ${TIME}
      * @time: ${DATE} ${TIME}
      **/
      **/
-    public RespDTO<String> getStaticKnowledge(HisStaticKnowledgeVO hisStaticKnowledgeVO){
-        String url="";
+    public RespDTO<String> getStaticKnowledge(HisStaticKnowledgeVO hisStaticKnowledgeVO) {
+        String url = "";
         //基层子医院业务逻辑
         //基层子医院业务逻辑
-        if(StringUtil.isNotEmpty(hisStaticKnowledgeVO.getHospitalCode()) && StringUtil.isNotEmpty(hisStaticKnowledgeVO.getHospitalName())){
+        if (StringUtil.isNotEmpty(hisStaticKnowledgeVO.getHospitalCode()) && StringUtil.isNotEmpty(hisStaticKnowledgeVO.getHospitalName())) {
             //查找基层医院
             //查找基层医院
-            Long hospitalId=getHospitalRelation(hisStaticKnowledgeVO.getHospitalCode(),hisStaticKnowledgeVO.getHospitalName());
-            if(hospitalId!=null){
+            Long hospitalId = getHospitalRelation(hisStaticKnowledgeVO.getHospitalCode(), hisStaticKnowledgeVO.getHospitalName());
+            if (hospitalId != null) {
                 hisStaticKnowledgeVO.setHospitalId(hospitalId);
                 hisStaticKnowledgeVO.setHospitalId(hospitalId);
-            }else{
+            } else {
                 return RespDTO.onError("子医院信息异常");
                 return RespDTO.onError("子医院信息异常");
             }
             }
-        }else if(hisStaticKnowledgeVO.getHospitalId()==null){
-             return RespDTO.onError("请输入医院id");
+        } else if (hisStaticKnowledgeVO.getHospitalId() == null) {
+            return RespDTO.onError("请输入医院id");
         }
         }
         //初始日志记录信息
         //初始日志记录信息
         hisStaticKnowledgeVO.setSubHospitalCode(hisStaticKnowledgeVO.getHospitalCode());
         hisStaticKnowledgeVO.setSubHospitalCode(hisStaticKnowledgeVO.getHospitalCode());
         hisStaticKnowledgeVO.setSubHospitalName(hisStaticKnowledgeVO.getHospitalName());
         hisStaticKnowledgeVO.setSubHospitalName(hisStaticKnowledgeVO.getHospitalName());
         //hisStaticKnowledgeVO.setSceneName();
         //hisStaticKnowledgeVO.setSceneName();
         //判断是否有静态知识
         //判断是否有静态知识
-        StaticKnowledgeHISVO staticKnowledgeHISVO=new StaticKnowledgeHISVO();
-        BeanUtils.copyProperties(hisStaticKnowledgeVO,staticKnowledgeHISVO);
-        Boolean flag=KlConceptStaticFacade.isExistForHIS(staticKnowledgeHISVO);
+        StaticKnowledgeHISVO staticKnowledgeHISVO = new StaticKnowledgeHISVO();
+        BeanUtils.copyProperties(hisStaticKnowledgeVO, staticKnowledgeHISVO);
+        Boolean flag = KlConceptStaticFacade.isExistForHIS(staticKnowledgeHISVO);
         //如果有返回静态知识url地址
         //如果有返回静态知识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();
+        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);
             return RespDTO.onSuc(url);
-        }else{
+        } else {
             return RespDTO.onError("无静态知识");
             return RespDTO.onError("无静态知识");
         }
         }
     }
     }
@@ -97,38 +101,42 @@ public class DataPageDockFacade {
      * @Author:liuqq
      * @Author:liuqq
      * @time: ${DATE} ${TIME}
      * @time: ${DATE} ${TIME}
      **/
      **/
-    public RespDTO<String> getDataService(DataPageDockVO dataPageDockVO) {
-        if(StringUtil.isNotEmpty(dataPageDockVO.getHospitalCode()) && StringUtil.isNotEmpty(dataPageDockVO.getHospitalName())){
+    public RespDTO<String> getDataService(DataPageDockVO dataPageDockVO, String xmlText) {
+        if (StringUtil.isNotEmpty(dataPageDockVO.getHospitalCode()) && StringUtil.isNotEmpty(dataPageDockVO.getHospitalName())) {
             //基层子医院业务逻辑
             //基层子医院业务逻辑
-            Long hospitalId=getHospitalRelation(dataPageDockVO.getHospitalCode(),dataPageDockVO.getHospitalName());
-            if(hospitalId!=null){
+            Long hospitalId = getHospitalRelation(dataPageDockVO.getHospitalCode(), dataPageDockVO.getHospitalName());
+            if (hospitalId != null) {
                 dataPageDockVO.setHospitalId(hospitalId);
                 dataPageDockVO.setHospitalId(hospitalId);
-            }else{
+            } else {
                 return RespDTO.onError("子医院信息异常");
                 return RespDTO.onError("子医院信息异常");
             }
             }
-        }if(dataPageDockVO.getHospitalId()==null){
+        }
+        if (dataPageDockVO.getHospitalId() == null) {
             return RespDTO.onError("请输入医院id");
             return RespDTO.onError("请输入医院id");
-        }else if("".equals(dataPageDockVO.getShowType())){
+        } else if ("".equals(dataPageDockVO.getShowType())) {
             return RespDTO.onError("请输入展示类型,横版:ver,或竖版hor");
             return RespDTO.onError("请输入展示类型,横版:ver,或竖版hor");
-        }else if("".equals(dataPageDockVO.getPlanCode())){
+        } else if ("".equals(dataPageDockVO.getPlanCode())) {
             return RespDTO.onError("请输入方案编码");
             return RespDTO.onError("请输入方案编码");
         }
         }
+        //解析XML文本(重庆石柱)
+        analyzeXml(dataPageDockVO, xmlText);
+
         //初始日志记录信息
         //初始日志记录信息
         dataPageDockVO.setSubHospitalCode(dataPageDockVO.getHospitalCode());
         dataPageDockVO.setSubHospitalCode(dataPageDockVO.getHospitalCode());
         dataPageDockVO.setSubHospitalName(dataPageDockVO.getHospitalName());
         dataPageDockVO.setSubHospitalName(dataPageDockVO.getHospitalName());
         dataPageDockVO.setSceneName(dataPageDockVO.getPlanCode());
         dataPageDockVO.setSceneName(dataPageDockVO.getPlanCode());
 
 
-        String url="";
-        String pushMrId="";
+        String url = "";
+        String pushMrId = "";
         PushJoinVO pushJoinVO = new PushJoinVO();
         PushJoinVO pushJoinVO = new PushJoinVO();
         BeanUtil.copyProperties(dataPageDockVO, pushJoinVO);
         BeanUtil.copyProperties(dataPageDockVO, pushJoinVO);
         // 将基本参数保存到redis
         // 将基本参数保存到redis
         String mrId = mrFacade.createMr(pushJoinVO);
         String mrId = mrFacade.createMr(pushJoinVO);
         //开单合理性推理时,验证下是否有推送,无推送时,不给url,code为“-1”
         //开单合理性推理时,验证下是否有推送,无推送时,不给url,code为“-1”
-        if(dataPageDockVO.getPlanCode().equals("order_rational") || dataPageDockVO.getPlanCode().equals("reference_pacs") || dataPageDockVO.getPlanCode().equals("reference_lis")){
-            IndicationPushVO indicationPushVO=new IndicationPushVO();
+        if (dataPageDockVO.getPlanCode().equals("order_rational") || dataPageDockVO.getPlanCode().equals("reference_pacs") || dataPageDockVO.getPlanCode().equals("reference_lis")) {
+            IndicationPushVO indicationPushVO = new IndicationPushVO();
             //初始化开单合理性入参
             //初始化开单合理性入参
-            BeanUtil.copyProperties(dataPageDockVO,indicationPushVO);
+            BeanUtil.copyProperties(dataPageDockVO, indicationPushVO);
             //ruleType(1:危急值提醒,2:开单合理项,3:高危药品、手术,4:其他提醒)
             //ruleType(1:危急值提醒,2:开单合理项,3:高危药品、手术,4:其他提醒)
             indicationPushVO.setRuleType("2,3,4");
             indicationPushVO.setRuleType("2,3,4");
             //日志中增加入参,将开单合理性参数进行拼接记录
             //日志中增加入参,将开单合理性参数进行拼接记录
@@ -137,27 +145,65 @@ public class DataPageDockFacade {
             IndicationDTO indicationDTO = pushFacade.indicationPush(indicationPushVO);
             IndicationDTO indicationDTO = pushFacade.indicationPush(indicationPushVO);
             if (indicationDTO != null) {
             if (indicationDTO != null) {
                 if (ListUtil.isNotEmpty(indicationDTO.getBillMsgList()) || ListUtil.isNotEmpty(indicationDTO.getHighRiskList())
                 if (ListUtil.isNotEmpty(indicationDTO.getBillMsgList()) || ListUtil.isNotEmpty(indicationDTO.getHighRiskList())
-                        || ListUtil.isNotEmpty(indicationDTO.getCriticalValList()) || ListUtil.isNotEmpty(indicationDTO.getOtherList()))
-                {
-                    pushMrId= mrFacade.createIndicationMr(indicationDTO);
-                }else{
+                        || ListUtil.isNotEmpty(indicationDTO.getCriticalValList()) || ListUtil.isNotEmpty(indicationDTO.getOtherList())) {
+                    pushMrId = mrFacade.createIndicationMr(indicationDTO);
+                } else {
                     return RespDTO.onError("无开单合理性提醒!");
                     return RespDTO.onError("无开单合理性提醒!");
                 }
                 }
-            }else{
+            } else {
                 return RespDTO.onError("无开单合理性提醒!");
                 return RespDTO.onError("无开单合理性提醒!");
             }
             }
             //将开单合理性结果进行拼接记录
             //将开单合理性结果进行拼接记录
             //CdssLogUtil.addBizResp(indicationPushVO);
             //CdssLogUtil.addBizResp(indicationPushVO);
         }
         }
 
 
-        if("hor".equals(dataPageDockVO.getShowType())){
-            url=dataPageUrl+"/cdssHorizontal.html?pushMrId="+pushMrId+"&mrId="+mrId+"&hospitalId="+dataPageDockVO.getHospitalId()+"&planCode="+dataPageDockVO.getPlanCode();
-        }else{
-            url=dataPageUrl+"/cdss.html?pushMrId="+pushMrId+"&mrId="+mrId+"&hospitalId="+dataPageDockVO.getHospitalId()+"&planCode="+dataPageDockVO.getPlanCode();
+        if ("hor".equals(dataPageDockVO.getShowType())) {
+            url = dataPageUrl + "/cdssHorizontal.html?pushMrId=" + pushMrId + "&mrId=" + mrId + "&hospitalId=" + dataPageDockVO.getHospitalId() + "&planCode=" + dataPageDockVO.getPlanCode();
+        } else {
+            url = dataPageUrl + "/cdss.html?pushMrId=" + pushMrId + "&mrId=" + mrId + "&hospitalId=" + dataPageDockVO.getHospitalId() + "&planCode=" + dataPageDockVO.getPlanCode();
         }
         }
         return RespDTO.onSuc(url);
         return RespDTO.onSuc(url);
     }
     }
 
 
+    /**
+     * @Description:解析XML文本(重庆石柱)
+     * @Author:dsYun
+     * @time: ${DATE} ${TIME}
+     **/
+    private void analyzeXml(DataPageDockVO dataPageDockVO, String xmlText) {
+        Map<String, String> sourceMap = XmlUtil.getXmlToMap(xmlText);
+        dataPageDockVO.setSex("男".equals(sourceMap.get("性别")) ? 1 : 2);
+        dataPageDockVO.setAge(sourceMap.get("年龄"));
+        dataPageDockVO.setPatientId(sourceMap.get("门诊号"));
+        dataPageDockVO.setChief(sourceMap.get("主诉"));
+        dataPageDockVO.setPasts(sourceMap.get("既往史"));
+        dataPageDockVO.setFamily(sourceMap.get("家族史"));
+        dataPageDockVO.setAllergy(sourceMap.get("过敏史"));
+        dataPageDockVO.setSymptom(sourceMap.get("现病史"));
+        dataPageDockVO.setVital(sourceMap.get("查体"));
+        dataPageDockVO.setDiag(getItem(sourceMap.get("诊断")));
+        dataPageDockVO.setDrug(getDrug(sourceMap.get("药品")));
+    }
+
+    private List<Drug> getDrug(String value) {
+        Drug drug = new Drug();
+        List<Drug> drugList = new ArrayList<>();
+        drug.setName(value);
+        drug.setUniqueName(value);
+        drugList.add(drug);
+        return drugList;
+    }
+
+    private List<Item> getItem(String value) {
+        Item item = new Item();
+        List<Item> itemList = new ArrayList<>();
+        item.setName(value);
+        item.setUniqueName(value);
+        itemList.add(item);
+        return itemList;
+    }
+
+
     /**
     /**
      * @Description:病历推理
      * @Description:病历推理
      * @Author:liuqq
      * @Author:liuqq
@@ -165,17 +211,17 @@ public class DataPageDockFacade {
      **/
      **/
     public RespDTO getEnginePush(DataEngineVO dataEngineVO) {
     public RespDTO getEnginePush(DataEngineVO dataEngineVO) {
         //基层子医院业务逻辑
         //基层子医院业务逻辑
-        if(StringUtil.isNotEmpty(dataEngineVO.getHospitalCode()) && StringUtil.isNotEmpty(dataEngineVO.getHospitalName())){
+        if (StringUtil.isNotEmpty(dataEngineVO.getHospitalCode()) && StringUtil.isNotEmpty(dataEngineVO.getHospitalName())) {
             //查找基层医院
             //查找基层医院
-            Long hospitalId=getHospitalRelation(dataEngineVO.getHospitalCode(),dataEngineVO.getHospitalName());
-            if(hospitalId!=null){
+            Long hospitalId = getHospitalRelation(dataEngineVO.getHospitalCode(), dataEngineVO.getHospitalName());
+            if (hospitalId != null) {
                 dataEngineVO.setHospitalId(hospitalId);
                 dataEngineVO.setHospitalId(hospitalId);
-            }else{
+            } else {
                 return RespDTO.onError("子医院信息异常");
                 return RespDTO.onError("子医院信息异常");
             }
             }
-        }else if(dataEngineVO.getHospitalId()==null){
+        } else if (dataEngineVO.getHospitalId() == null) {
             return RespDTO.onError("请输入医院id");
             return RespDTO.onError("请输入医院id");
-        }else if("".equals(dataEngineVO.getPlanCode())){
+        } else if ("".equals(dataEngineVO.getPlanCode())) {
             return RespDTO.onError("请输入方案编码");
             return RespDTO.onError("请输入方案编码");
         }
         }
         //初始日志记录信息
         //初始日志记录信息
@@ -188,7 +234,7 @@ public class DataPageDockFacade {
         BeanUtil.copyProperties(dataEngineVO, pushVO);
         BeanUtil.copyProperties(dataEngineVO, pushVO);
         //增加处理后的入参
         //增加处理后的入参
         CdssLogUtil.addBizReq(pushVO);
         CdssLogUtil.addBizReq(pushVO);
-        PushDTO pushDTO=pushFacade.push(pushVO);
+        PushDTO pushDTO = pushFacade.push(pushVO);
         pushDTO.setDebug(null);
         pushDTO.setDebug(null);
         return RespDTO.onSuc(pushDTO);
         return RespDTO.onSuc(pushDTO);
     }
     }
@@ -200,17 +246,17 @@ public class DataPageDockFacade {
      **/
      **/
     public RespDTO getEngineIndicationPush(DataEngineVO dataEngineVO) {
     public RespDTO getEngineIndicationPush(DataEngineVO dataEngineVO) {
         //基层子医院业务逻辑
         //基层子医院业务逻辑
-        if(StringUtil.isNotEmpty(dataEngineVO.getHospitalCode()) && StringUtil.isNotEmpty(dataEngineVO.getHospitalName())){
+        if (StringUtil.isNotEmpty(dataEngineVO.getHospitalCode()) && StringUtil.isNotEmpty(dataEngineVO.getHospitalName())) {
             //查找基层医院
             //查找基层医院
-            Long hospitalId=getHospitalRelation(dataEngineVO.getHospitalCode(),dataEngineVO.getHospitalName());
-            if(hospitalId!=null){
+            Long hospitalId = getHospitalRelation(dataEngineVO.getHospitalCode(), dataEngineVO.getHospitalName());
+            if (hospitalId != null) {
                 dataEngineVO.setHospitalId(hospitalId);
                 dataEngineVO.setHospitalId(hospitalId);
-            }else{
+            } else {
                 return RespDTO.onError("子医院信息异常");
                 return RespDTO.onError("子医院信息异常");
             }
             }
-        }else if(dataEngineVO.getHospitalId()==null){
+        } else if (dataEngineVO.getHospitalId() == null) {
             return RespDTO.onError("请输入医院id");
             return RespDTO.onError("请输入医院id");
-        }else if("".equals(dataEngineVO.getPlanCode())){
+        } else if ("".equals(dataEngineVO.getPlanCode())) {
             return RespDTO.onError("请输入方案编码");
             return RespDTO.onError("请输入方案编码");
         }
         }
         //初始日志记录信息
         //初始日志记录信息
@@ -220,64 +266,63 @@ public class DataPageDockFacade {
         //dataEngineVO.setFeatureType("1,4,5,6,7,8,9,10");//推理类型
         //dataEngineVO.setFeatureType("1,4,5,6,7,8,9,10");//推理类型
         //dataEngineVO.setRuleType("2,3,4");//推理类型(1:危急值提醒,2:开单合理项,3:高危药品、手术,4:其他提醒)
         //dataEngineVO.setRuleType("2,3,4");//推理类型(1:危急值提醒,2:开单合理项,3:高危药品、手术,4:其他提醒)
 
 
-        IndicationPushVO indicationPushVO=new IndicationPushVO();
+        IndicationPushVO indicationPushVO = new IndicationPushVO();
         BeanUtil.copyProperties(dataEngineVO, indicationPushVO);
         BeanUtil.copyProperties(dataEngineVO, indicationPushVO);
 
 
         //增加处理后的入参
         //增加处理后的入参
         CdssLogUtil.addBizReq(indicationPushVO);
         CdssLogUtil.addBizReq(indicationPushVO);
-        IndicationDTO indicationDTO=pushFacade.indicationPush(indicationPushVO);
+        IndicationDTO indicationDTO = pushFacade.indicationPush(indicationPushVO);
         indicationDTO.setDebug(null);
         indicationDTO.setDebug(null);
 
 
         if (indicationDTO != null) {
         if (indicationDTO != null) {
             if (ListUtil.isNotEmpty(indicationDTO.getHighRiskList())
             if (ListUtil.isNotEmpty(indicationDTO.getHighRiskList())
-                    || ListUtil.isNotEmpty(indicationDTO.getCriticalValList()) || ListUtil.isNotEmpty(indicationDTO.getOtherList()))
-            {
+                    || ListUtil.isNotEmpty(indicationDTO.getCriticalValList()) || ListUtil.isNotEmpty(indicationDTO.getOtherList())) {
                 return RespDTO.onSuc(indicationDTO);
                 return RespDTO.onSuc(indicationDTO);
-            }else{
+            } else {
                 return RespDTO.onError("无开单合理性提醒!");
                 return RespDTO.onError("无开单合理性提醒!");
             }
             }
-        }else{
+        } else {
             return RespDTO.onError("无开单合理性提醒!");
             return RespDTO.onError("无开单合理性提醒!");
         }
         }
     }
     }
 
 
 
 
-    public PushPlanDTO getOperationPlanPush(DataEngineVO dataEngineVO){
-        PushPlanVO pushPlanVO=new PushPlanVO();
+    public PushPlanDTO getOperationPlanPush(DataEngineVO dataEngineVO) {
+        PushPlanVO pushPlanVO = new PushPlanVO();
         BeanUtil.copyProperties(dataEngineVO, pushPlanVO);
         BeanUtil.copyProperties(dataEngineVO, pushPlanVO);
 
 
-        PushPlanDTO pushPlanDTO=pushFacade.pushPlan(pushPlanVO);
+        PushPlanDTO pushPlanDTO = pushFacade.pushPlan(pushPlanVO);
         pushPlanDTO.setDebug(null);
         pushPlanDTO.setDebug(null);
-        try{
-            TranDatadockingLog tranDatadockingLog=new TranDatadockingLog();
+        try {
+            TranDatadockingLog tranDatadockingLog = new TranDatadockingLog();
             tranDatadockingLog.setHospitalId(dataEngineVO.getHospitalId());
             tranDatadockingLog.setHospitalId(dataEngineVO.getHospitalId());
             tranDatadockingLog.setParamIn(JSON.toJSONString(dataEngineVO));
             tranDatadockingLog.setParamIn(JSON.toJSONString(dataEngineVO));
             tranDatadockingLog.setParamOut(JSON.toJSONString(pushPlanDTO));
             tranDatadockingLog.setParamOut(JSON.toJSONString(pushPlanDTO));
-            tranDatadockingLog.setRemark("数据引擎模式,"+dataEngineVO.getPlanCode());
+            tranDatadockingLog.setRemark("数据引擎模式," + dataEngineVO.getPlanCode());
 
 
             tranDatadockingLog.setTransTime(new Date());
             tranDatadockingLog.setTransTime(new Date());
 
 
             dataDockingLogFacade.save(tranDatadockingLog);
             dataDockingLogFacade.save(tranDatadockingLog);
-        }catch (Exception e){
-            log.error("数据引擎模式,增加日志异常",e.getMessage());
+        } catch (Exception e) {
+            log.error("数据引擎模式,增加日志异常", e.getMessage());
         }
         }
         return pushPlanDTO;
         return pushPlanDTO;
     }
     }
 
 
-    private Long getHospitalRelation(String hospitalCode,String hospitalName){
-        Long hospitalId=null;
-        try{
-            TranHospitalRelation tranHospitalRelation=new TranHospitalRelation();
+    private Long getHospitalRelation(String hospitalCode, String hospitalName) {
+        Long hospitalId = null;
+        try {
+            TranHospitalRelation tranHospitalRelation = new TranHospitalRelation();
             QueryWrapper<TranHospitalRelation> queryWrapper = new QueryWrapper<>();
             QueryWrapper<TranHospitalRelation> queryWrapper = new QueryWrapper<>();
             queryWrapper.eq("code", hospitalCode)
             queryWrapper.eq("code", hospitalCode)
                     .eq("name", hospitalName)
                     .eq("name", hospitalName)
                     .eq("is_deleted", IsDeleteEnum.N.getKey());
                     .eq("is_deleted", IsDeleteEnum.N.getKey());
-            tranHospitalRelation=tranHospitalRelationFacade.getOne(queryWrapper);
-            if(tranHospitalRelation!=null){
-                hospitalId=tranHospitalRelation.getHospitalId();
+            tranHospitalRelation = tranHospitalRelationFacade.getOne(queryWrapper);
+            if (tranHospitalRelation != null) {
+                hospitalId = tranHospitalRelation.getHospitalId();
             }
             }
-        }catch (Exception e){
-            log.error("子医院信息获取异常======",e.getMessage());
+        } catch (Exception e) {
+            log.error("子医院信息获取异常======", e.getMessage());
             e.printStackTrace();
             e.printStackTrace();
         }
         }
         return hospitalId;
         return hospitalId;

+ 49 - 0
src/main/java/com/diagbot/util/FileUtil.java

@@ -0,0 +1,49 @@
+package com.diagbot.util;
+
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+/**
+ * @Description:
+ * @author: dsYun
+ * @time: 2024/7/17 14:23
+ */
+public class FileUtil {
+
+    public static String fileRead(MultipartFile file) {
+    StringBuffer sbf = new StringBuffer();
+    InputStream is = null;
+    InputStreamReader ir = null;
+    BufferedReader br = null;
+        try {
+        is = file.getInputStream();
+        ir = new InputStreamReader(is);
+        br = new BufferedReader(ir);
+        String line = null;
+        while ((line = br.readLine()) != null) {
+            line = line+"\n";
+            sbf.append(line);
+        }
+    } catch (Exception e) {
+
+    } finally {
+        try {
+            if (br != null) {
+                br.close();
+            }
+            if (ir != null) {
+                ir.close();
+            }
+            if (is != null) {
+                is.close();
+            }
+        } catch (Exception e) {
+
+        }
+    }
+        return sbf.toString();
+    }
+}

+ 290 - 0
src/main/java/com/diagbot/util/XmlUtil.java

@@ -0,0 +1,290 @@
+package com.diagbot.util;
+
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import io.micrometer.core.instrument.util.StringUtils;
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * @Description: xml解析工具
+ * @author: dsYun
+ * @time: 2024/7/11 14:23
+ */
+public class XmlUtil {
+
+    private static String LESS_THAN_SYMBOL_REPLACE = "th@xyh";
+    private static String START_SURROUND_SYMBOL = "th@ksxyh";
+    private static String END_SURROUND_SYMBOL = "th@jsdyh";
+
+    /**
+     * getText()获取当前节点的文本内容,getStringValue()获取所有子节点拼接后的文本内容
+     *
+     * @param xml
+     * @return
+     */
+    public static Map<String, String> getXmlToMap(String xml) {
+        Map<String, String> retMap = Maps.newLinkedHashMap();
+        try {
+            Document doc = DocumentHelper.parseText(xmlErrorCorrection(xml));
+            List<Element> emrTermElements = doc.getRootElement().elements();
+            String key, value;
+            for (Element emrTermElement : emrTermElements) {
+                key = emrTermElement.attributeValue("title");
+                value = emrTermElement.getStringValue();
+                if (StringUtil.isBlank(value)) {
+                    continue;
+                }
+                value = value.trim().replaceAll("&nbsp;", "").replace("\n", "");
+                if (StringUtil.isNotBlank(key) && StringUtil.isNotBlank(value)) {
+                    retMap.put(key, value);
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        //还原value值
+        Map<String, String> correctMap = correctMapOfXml(retMap);
+        return specialHandle(correctMap);
+    }
+
+    /**
+     * 纠正xml内容,将因为不规范而影响dom4j解析的部分先替换掉,解析完后再替换回来
+     *
+     * @param xml
+     * @return
+     */
+    public static String xmlErrorCorrection(String xml) {
+//        xml = xml.replaceAll("\\<\\?xml[\\S\\s][^<>]*\\?\\>", "").replace("</zlxml>","");
+        int index = xml.indexOf("</revisioninfos>");
+        xml = xml.substring(index + "</revisioninfos>".length()).replace("</zlxml>", "");
+        StringBuffer sbf = new StringBuffer();
+        Pattern pattern = Pattern.compile("\\<.[^<>]*\\>");
+        Matcher matcher = pattern.matcher(xml);
+        int start = 0, end = 0;
+        String xmlCopy = xml, elementName = null, elementNameReplace = null;
+        while (matcher.find()) {
+            elementName = matcher.group();
+            start = matcher.start();
+            if (end > 0 && start > 0 && end < start) {
+                sbf.append(xml.substring(end, start).replaceAll("<", LESS_THAN_SYMBOL_REPLACE));
+            }
+            if (isCorrectXmlElement(elementName, xmlCopy)) {
+                sbf.append(elementName);
+            } else {
+                elementNameReplace = START_SURROUND_SYMBOL + EnDecodeUtil.encode(elementName) + END_SURROUND_SYMBOL;
+                xmlCopy = xmlCopy.replace(elementName, elementNameReplace);
+                sbf.append(elementNameReplace);
+            }
+            end = matcher.end();
+        }
+        return sbf.toString();
+    }
+
+    /**
+     * 判断某个xml标签,在当前xml文档中,是否是正常的xml标签
+     *
+     * @param elementName 标签
+     * @param xml         当前xml文档
+     * @return
+     */
+    public static boolean isCorrectXmlElement(String elementName, String xml) {
+        //过滤类型:<>、< abc>
+        if (elementName.length() == 2 || elementName.indexOf(" ") == 1) {
+            return false;
+        }
+        //过滤类型:<abc/ >
+        String elementNameCopy = elementName.substring(1, elementName.length() - 1).trim();
+        if (elementNameCopy.endsWith("/") && elementName.lastIndexOf(" ") == elementName.length() - 2) {
+            return false;
+        }
+        //过滤类型:有<abc>,而没有</abc>
+        if (!elementNameCopy.endsWith("/")) {
+            if (elementNameCopy.startsWith("/")) {
+                Pattern pattern = Pattern.compile("\\<" + elementNameCopy.substring(1) + ".[^<>]*\\>");
+                Matcher matcher = pattern.matcher(xml);
+                if (xml.indexOf("<" + elementNameCopy.substring(1) + ">") == -1 && !matcher.find()) {
+                    return false;
+                }
+            } else {
+                int firstBlankIndex = elementNameCopy.indexOf(" ");
+                firstBlankIndex = firstBlankIndex == -1 ? elementNameCopy.length() : firstBlankIndex;
+                elementNameCopy = elementNameCopy.substring(0, firstBlankIndex);
+                if (xml.indexOf("</" + elementNameCopy + ">") == -1) {
+                    return false;
+                }
+            }
+        }
+        return true;
+    }
+
+    /**
+     * 对由xml解析得到的map进行遍历,将value值中被替换的部分还原回来,
+     *
+     * @param sourceMap
+     * @return
+     */
+    public static Map<String, String> correctMapOfXml(Map<String, String> sourceMap) {
+        Pattern pattern = Pattern.compile(START_SURROUND_SYMBOL + ".*" + END_SURROUND_SYMBOL);
+        String value = null, valueCopy = null, matMsg = null;
+        Matcher matcher = null;
+        for (String key : sourceMap.keySet()) {
+            value = sourceMap.get(key);
+            valueCopy = value;
+            valueCopy = valueCopy.replaceAll(LESS_THAN_SYMBOL_REPLACE, "<");
+            matcher = pattern.matcher(value);
+            while (matcher.find()) {
+                matMsg = matcher.group();
+                valueCopy = valueCopy.replace(matMsg,
+                        EnDecodeUtil.decode(
+                                matMsg.replace(START_SURROUND_SYMBOL, "").replace(END_SURROUND_SYMBOL, "")
+                        )
+                );
+            }
+            sourceMap.put(key, valueCopy);
+        }
+        return sourceMap;
+    }
+
+    /**
+     * 针对字段进行特殊处理,
+     *
+     * @param retMap
+     * @return
+     */
+    public static Map<String, String> specialHandle(Map<String, String> retMap) {
+        if (retMap.containsKey("姓吠")) {
+            retMap.put("姓名", retMap.get("姓吠"));
+        }
+        if (retMap.containsKey("性别")) {
+            retMap.put("性别", retMap.get("性别").substring(retMap.get("性别").length() - 1));
+        }
+        //过去史分解
+        List<String> pastTitles = Lists.newArrayList("既往史", "家族史", "过敏史");
+        structureMap(pastTitles, "既往史" + retMap.get("过去史"), retMap);
+
+        //查体分解
+        List<String> vitalTitles = Lists.newArrayList("查体", "诊断", "建议", "科室", "医师签名", "就诊时间", "处置");
+        structureMap(vitalTitles, "查体" + retMap.get("体检").replace("建议 ","建议"), retMap);
+
+        if (retMap.containsKey("建议")) {
+            String drugStr = retMap.get("建议").replace("--------------------- ","");
+            retMap.put("药品", drugStr.substring(0,drugStr.indexOf(" ")));
+        }
+        return retMap;
+    }
+
+    public static void structureMap(List<String> titles, String text, Map<String, String> structureMap) {
+//        text = text.replace(" ","");
+        List<String> sortTitles = sortTitles(titles, text);
+        cutByTitles(text, sortTitles, 0, structureMap);
+    }
+
+    /**
+     * 将title根据在文本中的位置排序
+     *
+     * @param titles
+     * @param content
+     * @return
+     */
+    public static List<String> sortTitles(List<String> titles, String content) {
+        Map<Integer, String> titleIndex = new TreeMap<>();
+        int index, index_1, index_2;
+        for (String title : titles) {
+            index_1 = content.indexOf(title + ":");
+            index_2 = content.indexOf(title + ":");
+            index = Math.max(index_1, index_2);
+            if (index != -1) {
+                titleIndex.put(index, title);
+                StringBuffer sb = new StringBuffer(title.length());
+                for (int i = 0; i < title.length(); i++) {
+                    sb.append('*');
+                }
+                content = content.substring(0, index) + sb.toString() + content.substring(index + title.length() + 1);
+                //                content = content.substring(0, index) + content.substring(index + title.length() + 1);
+            }
+        }
+        titles = Lists.newArrayList(titleIndex.values());
+        return titles;
+    }
+
+    /**
+     * 根据文书各标题截取相应文本,存入structmap中
+     *
+     * @param line         原始文本
+     * @param titles       文书各标题
+     * @param depth        递归深度,也就是titles取值时的下标值
+     * @param structureMap 存储结构化数据
+     */
+    public static void cutByTitles(String line, List<String> titles, int depth, Map<String, String> structureMap) {
+        if (depth > titles.size() || titles.size() == 0) {
+            return;
+        }
+        String beforeTitle = null, title = null, newTitle = null, value = null;
+        beforeTitle = removeBlank(titles.get(Math.max(depth - 1, 0)));
+        title = titles.get(Math.min(depth, titles.size() - 1));
+        if (depth == titles.size()) {
+            /*if (line.contains("\n")) {
+                line = line.split("\n")[0];
+            }
+            */
+            value = line.replace("\n", "");
+            if (StringUtil.isBlank(structureMap.get(beforeTitle))) {
+                structureMap.put(beforeTitle, trim(value));
+            }
+            return;
+        }
+        if (line.contains(title + ":") || line.contains(title + ":")) {
+            if (line.contains(title + ":")) {
+                newTitle = title + ":";
+            } else {
+                newTitle = title + ":";
+            }
+            if (depth > 0) {
+                value = line.substring(0, line.indexOf(newTitle));
+                if (StringUtil.isBlank(structureMap.get(beforeTitle))) {
+                    structureMap.put(beforeTitle, trim(value).replace("\n", ""));
+                }
+            }
+            line = line.substring(line.indexOf(newTitle) + newTitle.length());
+            depth++;
+        } else {
+            titles.remove(depth);
+        }
+        cutByTitles(line, titles, depth, structureMap);
+    }
+
+    /**
+     * 清除字符串中的空白
+     *
+     * @param str
+     * @return
+     */
+    public static String removeBlank(String str) {
+        if (StringUtils.isBlank(str)) {
+            return str;
+        }
+        return str.replaceAll("[\\s\\p{Zs}]", "").replaceAll(" ", "");
+    }
+
+    /**
+     * 去除字符串两边空白 包含一些特殊空格
+     *
+     * @param msg
+     * @return
+     */
+    public static String trim(String msg) {
+        if (StringUtils.isNotBlank(msg)) {
+            return org.springframework.util.StringUtils.trimWhitespace(msg).trim();
+        }
+        return msg;
+    }
+
+}

+ 6 - 0
src/main/java/com/diagbot/vo/DataPageDockVO.java

@@ -43,6 +43,12 @@ public class DataPageDockVO extends CdssLogBaseVO{
      * 大数据返回内容截取长度
      * 大数据返回内容截取长度
      */
      */
     private Integer length = 10;
     private Integer length = 10;
+
+//    /**
+//     * xml大文本
+//     */
+//    private String xmlText;
+
     /**
     /**
      * 年龄文本数据
      * 年龄文本数据
      */
      */

+ 11 - 10
src/main/java/com/diagbot/web/DataPageDockController.java

@@ -11,6 +11,7 @@ import io.swagger.annotations.ApiOperation;
 import org.apache.poi.ss.formula.functions.T;
 import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 
 import javax.validation.Valid;
 import javax.validation.Valid;
 
 
@@ -21,7 +22,7 @@ import javax.validation.Valid;
  **/
  **/
 @RestController
 @RestController
 @RequestMapping("/dataPage/docking")
 @RequestMapping("/dataPage/docking")
-@Api(value = "页面推送模式-对接API", tags = { "页面推送模式-对接API" })
+@Api(value = "页面推送模式-对接API", tags = {"页面推送模式-对接API"})
 public class DataPageDockController {
 public class DataPageDockController {
 
 
     @Autowired
     @Autowired
@@ -35,8 +36,8 @@ public class DataPageDockController {
     @PostMapping("/getDataService")
     @PostMapping("/getDataService")
     @SysLogger("getDataService")
     @SysLogger("getDataService")
     @CdssLog("页面推送")
     @CdssLog("页面推送")
-    public RespDTO<String> getDataService(@Valid @RequestBody DataPageDockVO dataPageDockVO) {
-        return dataPageDockFacade.getDataService(dataPageDockVO);
+    public RespDTO<String> getDataService(@Valid @RequestBody DataPageDockVO dataPageDockVO, String xmlText) {
+        return dataPageDockFacade.getDataService(dataPageDockVO, xmlText);
     }
     }
 
 
     @ApiOperation(value = "页面推送模式-静态知识API[QQ]",
     @ApiOperation(value = "页面推送模式-静态知识API[QQ]",
@@ -44,7 +45,7 @@ public class DataPageDockController {
     @PostMapping("/getStaticKnowledge")
     @PostMapping("/getStaticKnowledge")
     @SysLogger("getStaticKnowledge")
     @SysLogger("getStaticKnowledge")
     @CdssLog("静态知识")
     @CdssLog("静态知识")
-    public RespDTO<String> getStaticKnowledge(@Valid @RequestBody HisStaticKnowledgeVO hisStaticKnowledgeVO){
+    public RespDTO<String> getStaticKnowledge(@Valid @RequestBody HisStaticKnowledgeVO hisStaticKnowledgeVO) {
         return dataPageDockFacade.getStaticKnowledge(hisStaticKnowledgeVO);
         return dataPageDockFacade.getStaticKnowledge(hisStaticKnowledgeVO);
     }
     }
 
 
@@ -55,27 +56,27 @@ public class DataPageDockController {
     @CdssLog("推理")
     @CdssLog("推理")
     public RespDTO<T> getDataEngine(@Valid @RequestBody DataEngineVO dataEngineVO) {
     public RespDTO<T> getDataEngine(@Valid @RequestBody DataEngineVO dataEngineVO) {
         //类型(多选必填),1:症状,4:查体结果,5:检验,6:检查,7:诊断,8:药品,9:手术,10:一般治疗
         //类型(多选必填),1:症状,4:查体结果,5:检验,6:检查,7:诊断,8:药品,9:手术,10:一般治疗
-        if("medical_record".equals(dataEngineVO.getPlanCode())){
+        if ("medical_record".equals(dataEngineVO.getPlanCode())) {
             //病历推送
             //病历推送
             dataEngineVO.setFeatureType("1,4,5,6,7,8,9,10");
             dataEngineVO.setFeatureType("1,4,5,6,7,8,9,10");
             return RespDTO.onSuc(dataPageDockFacade.getEnginePush(dataEngineVO));
             return RespDTO.onSuc(dataPageDockFacade.getEnginePush(dataEngineVO));
-        }else if("medical_advice".equals(dataEngineVO.getPlanCode())){
+        } else if ("medical_advice".equals(dataEngineVO.getPlanCode())) {
             //医嘱推送
             //医嘱推送
             dataEngineVO.setFeatureType("5,6,8,10");
             dataEngineVO.setFeatureType("5,6,8,10");
             return RespDTO.onSuc(dataPageDockFacade.getEnginePush(dataEngineVO));
             return RespDTO.onSuc(dataPageDockFacade.getEnginePush(dataEngineVO));
-        }else if("order_rational".equals(dataEngineVO.getPlanCode())){
+        } else if ("order_rational".equals(dataEngineVO.getPlanCode())) {
             //规则类型(1:危急值提醒,2:开单合理项,3:高危药品、手术,4:其他提醒)
             //规则类型(1:危急值提醒,2:开单合理项,3:高危药品、手术,4:其他提醒)
             //开单合理性
             //开单合理性
             dataEngineVO.setRuleType("2,3,4");
             dataEngineVO.setRuleType("2,3,4");
             //dataEngineVO.setRuleType("2");
             //dataEngineVO.setRuleType("2");
             return RespDTO.onSuc(dataPageDockFacade.getEngineIndicationPush(dataEngineVO));
             return RespDTO.onSuc(dataPageDockFacade.getEngineIndicationPush(dataEngineVO));
-        }else if("reference_pacs".equals(dataEngineVO.getPlanCode()) || "reference_lis".equals(dataEngineVO.getPlanCode())){
+        } else if ("reference_pacs".equals(dataEngineVO.getPlanCode()) || "reference_lis".equals(dataEngineVO.getPlanCode())) {
             //规则类型(1:危急值提醒,2:开单合理项,3:高危药品、手术,4:其他提醒)
             //规则类型(1:危急值提醒,2:开单合理项,3:高危药品、手术,4:其他提醒)
             //开单合理性
             //开单合理性
             dataEngineVO.setRuleType("4");
             dataEngineVO.setRuleType("4");
             //dataEngineVO.setRuleType("2");
             //dataEngineVO.setRuleType("2");
             return RespDTO.onSuc(dataPageDockFacade.getEngineIndicationPush(dataEngineVO));
             return RespDTO.onSuc(dataPageDockFacade.getEngineIndicationPush(dataEngineVO));
-        }else if("operation_plan".equals(dataEngineVO.getPlanCode())){
+        } else if ("operation_plan".equals(dataEngineVO.getPlanCode())) {
             //手术随访计划
             //手术随访计划
             return RespDTO.onSuc(dataPageDockFacade.getOperationPlanPush(dataEngineVO));
             return RespDTO.onSuc(dataPageDockFacade.getOperationPlanPush(dataEngineVO));
         }
         }
@@ -87,7 +88,7 @@ public class DataPageDockController {
             notes = "")
             notes = "")
     @PostMapping("/addUserAndRole")
     @PostMapping("/addUserAndRole")
     @SysLogger("addUserAndRole")
     @SysLogger("addUserAndRole")
-    public RespDTO addUserAndRole(@Valid @RequestBody UserInfoVO userInfoVO){
+    public RespDTO addUserAndRole(@Valid @RequestBody UserInfoVO userInfoVO) {
         return RespDTO.onSuc(userDockFacade.addUser(userInfoVO));
         return RespDTO.onSuc(userDockFacade.addUser(userInfoVO));
     }
     }
 
 

+ 7 - 16
src/main/resources/application-dev.yml

@@ -66,9 +66,9 @@ spring:
     druid:
     druid:
       driver-class-name: com.mysql.cj.jdbc.Driver
       driver-class-name: com.mysql.cj.jdbc.Driver
       platform: mysql
       platform: mysql
-      url: jdbc:mysql://192.168.2.236:3306/cdss?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
+      url: jdbc:mysql://173.18.12.191:3306/cdss?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
       username: root
       username: root
-      password: lantone
+      password: dsYun8!@#
       # 连接池的配置信息
       # 连接池的配置信息
       # 初始化大小,最小,最大
       # 初始化大小,最小,最大
       initialSize: 5
       initialSize: 5
@@ -122,24 +122,15 @@ spring:
           destination: cdssLog
           destination: cdssLog
           group: cdssLogReceiveGroup
           group: cdssLogReceiveGroup
 
 
-  #mq
-  rabbitmq:
-    host: 192.168.2.236
-    port: 5672
-    username: lantone
-    password: lantone
-    publisher-confirms: true
-    virtual-host: /
-
   #redis
   #redis
   redis:
   redis:
     database:
     database:
       cache: 15 # cache索引
       cache: 15 # cache索引
       token: 15 # Token索引
       token: 15 # Token索引
       mr: 15 # 病历索引
       mr: 15 # 病历索引
-    host: 192.168.2.236  #Redis服务器地址
+    host: 173.18.12.191  #Redis服务器地址
     port: 6379 # Redis服务器连接端口(本地环境端口6378,其他环境端口是6379)
     port: 6379 # Redis服务器连接端口(本地环境端口6378,其他环境端口是6379)
-    password: lantone # Redis服务器连接密码(默认为空)
+    password: # Redis服务器连接密码(默认为空)
     lettuce:
     lettuce:
       pool:
       pool:
         max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
         max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
@@ -201,15 +192,15 @@ tokenAuth:
 
 
 #图片服务器
 #图片服务器
 imageUrl:
 imageUrl:
-  prefix: http://192.168.2.236:82
+  prefix: http://173.18.12.191:82
 
 
 #病历质控地址
 #病历质控地址
 mrqc:
 mrqc:
-  url: http://192.168.2.236:5858
+  url: http://173.18.12.192:5858
 
 
 #CDSS核心地址
 #CDSS核心地址
 cdss-core:
 cdss-core:
-  url: http://192.168.2.236:7010
+  url: http://173.18.12.192:7010
 
 
 #页面推送模式地址配置
 #页面推送模式地址配置
 data-page:
 data-page:

+ 1 - 1
src/main/resources/bootstrap.yml

@@ -2,7 +2,7 @@ spring:
   application:
   application:
     name: cdss
     name: cdss
   profiles:
   profiles:
-    active: local
+    active: dev
   main:
   main:
     allow-bean-definition-overriding: true
     allow-bean-definition-overriding: true