瀏覽代碼

北仑cdss初版

shiyue 4 年之前
父節點
當前提交
5489e9e7ce

+ 1 - 0
src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -162,6 +162,7 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/demo/mrtestInfo/exportExcel").permitAll()
                 .antMatchers("/demo/mrtestInfo/mrTestProcess").permitAll()
                 .antMatchers("/dataPage/docking/getDataService").permitAll()
+                .antMatchers("/dataPage/docking/getDataServiceNB").permitAll()
                 .antMatchers("/dataPage/docking/getDataEngine").permitAll()
                 .antMatchers("/**").authenticated();
         //                .antMatchers("/**").permitAll();

+ 1 - 0
src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -204,6 +204,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/demo/mrtestInfo/exportExcel", request)
                 || matchers("/demo/mrtestInfo/mrTestProcess", request)
                 || matchers("/dataPage/docking/getDataService", request)
+                || matchers("/dataPage/docking/getDataServiceNB", request)
                 || matchers("/dataPage/docking/getDataEngine", request)
                 || matchers("/", request)) {
             return true;

+ 63 - 2
src/main/java/com/diagbot/facade/DataPageDockFacade.java

@@ -1,6 +1,9 @@
 package com.diagbot.facade;
 
 import com.alibaba.fastjson.JSON;
+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;
@@ -9,11 +12,13 @@ import com.diagbot.entity.TranDatadockingLog;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.HttpUtils;
 import com.diagbot.vo.*;
+import com.google.common.collect.Lists;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
+import java.util.List;
 
 /*
  * @Description:对外对接业务处理类
@@ -34,8 +39,6 @@ public class DataPageDockFacade {
     private DataDockingLogFacade dataDockingLogFacade;
 
     public RespDTO<String> getDataService(DataPageDockVO dataPageDockVO) {
-        dataPageDockVO.setShowType("hor");
-
         //参数校验
         if(dataPageDockVO.getHospitalId()==null){
             return RespDTO.onError("请输入医院id");
@@ -73,6 +76,59 @@ public class DataPageDockFacade {
         return RespDTO.onSuc(url);
     }
 
+
+
+    public RespDTO<String> getDataService(DataPageDockNbrmVo dataPageDockNbrmVo) {
+        String url="";
+        dataPageDockNbrmVo.setHospitalId(Long.valueOf("4"));
+        PushJoinVO pushJoinVO = new PushJoinVO();
+        BeanUtil.copyProperties(dataPageDockNbrmVo, pushJoinVO);
+        pushJoinVO.setAge(dataPageDockNbrmVo.getAge().toString());
+        // 将基本参数保存到redis
+        String mrId = mrFacade.createMr(pushJoinVO);
+
+        switch (dataPageDockNbrmVo.getCode()){
+            case "5":
+                IndicationPushVO indicationPushVO=new IndicationPushVO();
+                BeanUtil.copyProperties(dataPageDockNbrmVo, indicationPushVO);
+                indicationPushVO.setRuleType("2");
+                IndicationDTO indicationDTO=pushFacade.indicationPush(indicationPushVO);
+                if (indicationDTO.getBillMsgList().size()==0){
+                    return RespDTO.onError("无推送内容");
+                }
+                url="http://10.48.45.180:5654/cdss.html?mrId="+mrId+"&hospitalId="+dataPageDockNbrmVo.getHospitalId()+"&planCode=order_rational";
+                break;
+            case "6":
+                url="http://10.48.45.180:5654/informationOut.html?hospitalId="+dataPageDockNbrmVo.getHospitalId()+"&hisName="+dataPageDockNbrmVo.getLisOrder().get(0).getName()+"&type=3";
+                break;
+            case "7":
+                url="http://10.48.45.180:5654/informationOut.html?hospitalId="+dataPageDockNbrmVo.getHospitalId()+"&hisName="+dataPageDockNbrmVo.getPacsOrder().get(0).getName()+"&type=5";
+                break;
+            case "9":
+                url="http://10.48.45.180:5654/cdss.html?mrId="+mrId+"&hospitalId="+dataPageDockNbrmVo.getHospitalId()+"&planCode=medical_advice";
+                break;
+            default:
+                url="http://10.48.45.180:5654/cdss.html?mrId="+mrId+"&hospitalId="+dataPageDockNbrmVo.getHospitalId()+"&planCode=medical_record";
+        }
+
+
+        try{
+            TranDatadockingLog tranDatadockingLog=new TranDatadockingLog();
+            tranDatadockingLog.setHospitalId(dataPageDockNbrmVo.getHospitalId());
+            tranDatadockingLog.setParamIn(JSON.toJSONString(dataPageDockNbrmVo));
+            tranDatadockingLog.setParamOut(url);
+            tranDatadockingLog.setRemark("页面推送模式,"+dataPageDockNbrmVo.getCode());
+
+            tranDatadockingLog.setTransTime(new Date());
+
+            dataDockingLogFacade.save(tranDatadockingLog);
+        }catch (Exception e){
+            log.error("页面推送模式,增加日志异常",e.getMessage());
+        }
+
+        return RespDTO.onSuc(url);
+    }
+
     public PushDTO getEnginePush(DataEngineVO dataEngineVO) {
         PushVO pushVO = new PushVO();
         BeanUtil.copyProperties(dataEngineVO, pushVO);
@@ -102,6 +158,8 @@ public class DataPageDockFacade {
 
         return pushDTO;
     }
+
+
     /**
      * @Description: 开单合理性
      * @Author:liuqq
@@ -153,4 +211,7 @@ public class DataPageDockFacade {
         return pushPlanDTO;
     }
 
+
+
+
 }

+ 1 - 0
src/main/java/com/diagbot/util/HttpUtils.java

@@ -94,6 +94,7 @@ public class HttpUtils {
     public static String getIpAddress() {
         // 获取请求主机IP地址,如果通过代理进来,则透过防火墙获取真实IP地址
         return getIpAddress(getHttpServletRequest());
+
     }
 
 

+ 125 - 0
src/main/java/com/diagbot/vo/DataPageDockNbrmVo.java

@@ -0,0 +1,125 @@
+package com.diagbot.vo;
+
+
+import com.diagbot.biz.push.entity.Item;
+import com.diagbot.biz.push.entity.Lis;
+import com.diagbot.biz.push.entity.Pacs;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+@Getter
+@Setter
+public class DataPageDockNbrmVo {
+	private String code;//接口类型:2首程 ,3大病历,6化验静态知识, 7辅检静态知识,8门诊病历,9门诊医嘱
+	private String hospitalDeptCopde;//科室编码
+	private String doctorCode;//医生编码
+	private String inquiryCode;//就诊编码
+	private String inquiryNum;//就诊次数
+	private String inquiryType;//就诊类别:1门诊,2住院
+	private String showType;//展示类型,ver:竖版,Hor:横版
+	private Integer sysType;
+	private Long hospitalId;
+
+	/**
+	 * 医院编码
+	 */
+	private String hosCode;
+
+	/**
+	 * 年龄
+	 */
+	@NotNull(message = "请输入年龄")
+	private Integer age;
+	/**
+	 * 性别
+	 */
+	@NotNull(message = "请输入性别")
+	private Integer sex;
+
+	/**
+	 * 婚姻
+	 */
+	private String marriage;
+	/**
+	 * 主诉
+	 */
+	private String chief;
+	/**
+	 * 现病史
+	 */
+	private String symptom;
+	/**
+	 * 查体
+	 */
+	private String vital;
+
+	private MedicalHistory medicalHistory;
+
+	/**
+	 * 化验文本数据
+	 */
+	private String lisString;
+	/**
+	 * 辅检文本数据
+	 */
+	private String pacsString;
+	/**
+	 * 诊断文本数据
+	 */
+	private String diagString;
+	/**
+	 * 药品文本数据
+	 */
+	private String drugString;
+	/**
+	 * 不能分类文本
+	 */
+	private String unknown;
+	/**
+	 * 化验项目和结果
+	 */
+	private List<Lis> lis;
+	/**
+	 * 辅检项目和结果
+	 */
+	private List<Pacs> pacs;
+	/**
+	 * 诊断
+	 */
+	private List<Item> diag;
+	/**
+	 * 药品
+	 */
+	private List<Item> drug;
+	/**
+	 * 当前化验开单项
+	 */
+	private List<Lis> lisOrder;
+	/**
+	 * 当前辅检开单项
+	 */
+	private List<Pacs> pacsOrder;
+	/**
+	 * 当前诊断开单项
+	 */
+	private List<Item> diagOrder;
+	/**
+	 * 当前药品开单项
+	 */
+	private List<Item> drugOrder;
+	/**
+	 * 当前手术开单项
+	 */
+	private List<Item> operationOrder;
+	/**
+	 * 其他开单项
+	 */
+	private List<Item> otherOrder;
+	/**
+	 * 选中诊断
+	 */
+	private Item diseaseName;
+}

+ 3 - 14
src/main/java/com/diagbot/vo/DataPageDockVO.java

@@ -17,20 +17,9 @@ public class DataPageDockVO extends SearchData{
     @NotNull(message = "请输入展示类型,横版:ver,或竖版hor")
     private String showType;//横版:ver,或竖版hor
 
-//    @NotNull(message = "请输入方案编码")
+    @NotNull(message = "请输入方案编码")
     private String planCode;//方案编码,用于控制哪些展示项
 
-
-    //接口类型
-    private String code;
-
-    //医院编码
-    private String hosCode;
-
-
-
-
-
-    @NotNull(message = "请输入医院编码")
-    private Long hospitalId;//医院编码
+    //@NotNull(message = "请输入医院编码")
+    //private Long hospitalId;//医院编码
 }

+ 50 - 0
src/main/java/com/diagbot/vo/MedicalHistory.java

@@ -0,0 +1,50 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class MedicalHistory {
+
+    /**
+     * 既往史
+     */
+    private String pasts;
+    /**
+     * 传染病史
+     */
+    private String infectious;
+    /**
+     * 手术外伤史
+     */
+    private String operation;
+    /**
+     * 过敏史
+     */
+    private String allergy;
+    /**
+     * 接种史
+     */
+    private String vaccination;
+    /**
+     * 个人史
+     */
+    private String personal;
+    /**
+     * 婚育史
+     */
+    private String marital;
+    /**
+     * 家族史
+     */
+    private String family;
+    /**
+     * 月经史
+     */
+    private String menstrual;
+    /**
+     * 其他史
+     */
+    private String other;
+}

+ 12 - 2
src/main/java/com/diagbot/web/DataPageDockController.java

@@ -4,6 +4,7 @@ import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.DataPageDockFacade;
 import com.diagbot.vo.DataEngineVO;
+import com.diagbot.vo.DataPageDockNbrmVo;
 import com.diagbot.vo.DataPageDockVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -26,7 +27,16 @@ public class DataPageDockController {
     @Autowired
     private DataPageDockFacade dataPageDockFacade;
 
-    @ApiOperation(value = "页面推送模式-对接API[zhaops]",
+    @ApiOperation(value = "页面推送模式-对接API[Sy]宁波",
+            notes = "")
+    @PostMapping("/getDataServiceNB")
+    @SysLogger("getDataServiceNB")
+    public RespDTO<String> getDataService(@Valid @RequestBody DataPageDockNbrmVo dataPageDockNbrmVo) {
+        return dataPageDockFacade.getDataService(dataPageDockNbrmVo);
+    }
+
+
+    @ApiOperation(value = "页面推送模式-对接API",
             notes = "")
     @PostMapping("/getDataService")
     @SysLogger("getDataService")
@@ -48,7 +58,7 @@ public class DataPageDockController {
             return RespDTO.onSuc(dataPageDockFacade.getEnginePush(dataEngineVO));
         }else if("medical_advice".equals(dataEngineVO.getPlanCode())){
             //医嘱推送
-//            dataEngineVO.setFeatureType("5,6,8,10");
+//            ataEngineVO.setFeatureType("5,6,8,10");d
             dataEngineVO.setFeatureType("5,6");
             return RespDTO.onSuc(dataPageDockFacade.getEnginePush(dataEngineVO));
         }else if("order_rational".equals(dataEngineVO.getPlanCode())){

+ 7 - 7
src/main/resources/application-local.yml

@@ -59,9 +59,9 @@ spring:
     druid:
       driver-class-name: com.mysql.cj.jdbc.Driver
       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://10.48.45.182:3306/cdss?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
       username: root
-      password: lantone
+      password: lt@great
       # 连接池的配置信息
       # 初始化大小,最小,最大
       initialSize: 5
@@ -112,8 +112,8 @@ spring:
       cache: 15 # cache索引
       token: 15 # Token索引
       mr: 15 # 病历索引
-    host: 192.168.2.236  #Redis服务器地址
-    port: 6378 # Redis服务器连接端口(本地环境端口6378,其他环境端口是6379)
+    host: 10.48.45.180  #Redis服务器地址
+    port: 6379 # Redis服务器连接端口(本地环境端口6378,其他环境端口是6379)
     password: lantone # Redis服务器连接密码(默认为空)
     lettuce:
       pool:
@@ -172,12 +172,12 @@ tokenAuth:
 
 #图片服务器
 imageUrl:
-  prefix: http://192.168.2.236:82
+  prefix: http://10.48.45.180:82
 
 #病历质控地址
 mrqc:
-  url: http://192.168.2.236:5858
+  url: http://10.48.45.47:5858
 
 #CDSS核心地址
 cdss-core:
-  url: http://127.0.0.1:7010
+  url: http://10.48.45.180:7010