Browse Source

厦门初始代码

shiyue 4 years ago
parent
commit
1472da47a5

+ 7 - 0
pom.xml

@@ -211,6 +211,13 @@
             <version>${aggregator.version}</version>
         </dependency>
 
+<!--        oralce包-->
+        <dependency>
+            <groupId>com.oracle</groupId>
+            <artifactId>ojdbc6</artifactId>
+            <version>11.2.0.3</version>
+        </dependency>
+
     </dependencies>
 
     <!-- 私有仓库 -->

+ 79 - 14
src/main/java/com/diagbot/facade/DataPageDockFacade.java

@@ -1,6 +1,7 @@
 package com.diagbot.facade;
 
 import com.alibaba.fastjson.JSON;
+import com.diagbot.biz.push.entity.Item;
 import com.diagbot.dto.IndicationDTO;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.PushPlanDTO;
@@ -9,13 +10,16 @@ import com.diagbot.entity.TranDatadockingLog;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.StringUtil;
+import com.diagbot.util.TZDBConn;
 import com.diagbot.vo.*;
+import com.diagbot.xm.vo.StructuralDataVo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
+import java.util.Map;
 
 /*
  * @Description:对外对接业务处理类
@@ -38,6 +42,8 @@ public class DataPageDockFacade {
     @Value("${data-page.url}")
     private String dataPageUrl;
 
+    private TZDBConn tzDBConn = new TZDBConn();
+
     /**
      * @Description:静态知识开单合理性
      * @Author:liuqq
@@ -100,20 +106,6 @@ public class DataPageDockFacade {
             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);
     }
 
@@ -200,4 +192,77 @@ public class DataPageDockFacade {
         return pushPlanDTO;
     }
 
+
+    //厦门根据视图来取所需数据
+    public RespDTO<String> getDataServiceXM(StructuralDataVo structuralDataVo){
+        DataPageDockVO dataPageDockVO = new DataPageDockVO();
+        try {
+            String where = "  where behospitalCode =  '" + structuralDataVo.getBehospitalCode() + "' and  patientId = " + structuralDataVo.getPatientId() + " ' ";
+            String lisSql = " select * from cdss_lis         " + where;
+            String PacsSql = " select * from cdss_pacs       " + where;
+            String OpsOrderSql = " select * from cdss_ops    " + where + " and status =' REQUEST'";
+            String OpsSql = " select * from cdss_ops         " + where + " and status !=' REQUEST'";
+            String DrugSql = " select * from cdss_order      " + where + " and orderCatalog like '%药%'";
+            String LisOrderSql = " select * from cdss_order  " + where + " and orderCatalog = '检验'";
+            String PacsOrderSql = " select * from cdss_order " + where + " and orderCatalog = '检查'";
+            String DiagSql = " select * from cdss_diag       " + where;
+            String InfoSql = "select * from cdss_info        " + where;
+            String DiseaseNameSql = "select * from cdss_diag" + where + " and isno = '01'";
+
+            //得到基本信息并赋予
+            Map<String, String> map = tzDBConn.getInfo(InfoSql);
+            dataPageDockVO.setPlanCode(structuralDataVo.getPlanCode());
+            dataPageDockVO.setHospitalId(structuralDataVo.getHospitalId());//医院id
+            dataPageDockVO.setShowType("ver");//展示方式
+            dataPageDockVO.setAge(map.get("age"));//年龄
+            dataPageDockVO.setSex(Integer.parseInt(map.get("sex")));//性别
+            dataPageDockVO.setMarriage(map.get("marriage"));//婚姻
+            dataPageDockVO.setChief(map.get("chief"));//主诉
+            dataPageDockVO.setSymptom(map.get("symptom"));//现病史
+            dataPageDockVO.setPasts(map.get("pasts"));//既往史
+            dataPageDockVO.setVital(map.get("vital") + map.get("vital1"));//查体
+            dataPageDockVO.setMarital(map.get("marital"));//婚育史
+            dataPageDockVO.setAllergy(map.get("allergy"));//过敏史
+            dataPageDockVO.setFamily(map.get("family"));//家族史
+            dataPageDockVO.setOther(map.get("menstrual"));//月经史
+
+            System.out.println(JSON.toJSONString(dataPageDockVO) + "-------------------------------------信息");
+
+            //获取Order信息并赋予
+            dataPageDockVO.setPacsOrder(tzDBConn.getPacs(PacsOrderSql));
+            dataPageDockVO.setLisOrder(tzDBConn.getLis(LisOrderSql));
+            dataPageDockVO.setOperationOrder(tzDBConn.getItem(OpsOrderSql));
+            dataPageDockVO.setDrugOrder(tzDBConn.getDrug(DrugSql));
+            dataPageDockVO.setDiseaseName(tzDBConn.getItem(DiseaseNameSql).size() > 0 ? tzDBConn.getItem(DiseaseNameSql).get(0) : new Item());
+
+            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.getItem(DiagSql));
+            dataPageDockVO.setOperation(tzDBConn.getItem(OpsSql));
+
+            System.out.println(JSON.toJSONString(dataPageDockVO) + "---------------------------------------历史数据");
+            //保存入参到库里 方便以后查看
+            TranDatadockingLog tranDatadockingLog=new TranDatadockingLog();
+            tranDatadockingLog.setDoctorCode("正常入参");
+            tranDatadockingLog.setHospitalId(dataPageDockVO.getHospitalId());
+            tranDatadockingLog.setParamIn(JSON.toJSONString(dataPageDockVO));
+            tranDatadockingLog.setRemark("方案编码,"+dataPageDockVO.getPlanCode());
+            tranDatadockingLog.setInquiryCode("病人住院号:  "+structuralDataVo.getBehospitalCode());
+            tranDatadockingLog.setTransTime(new Date());
+            dataDockingLogFacade.save(tranDatadockingLog);
+
+        }catch (Exception e){
+            TranDatadockingLog tranDatadockingLog=new TranDatadockingLog();
+            tranDatadockingLog.setRemark("获取数据失败,"+structuralDataVo);
+            tranDatadockingLog.setTransTime(new Date());
+            dataDockingLogFacade.save(tranDatadockingLog);
+        }
+        return this.getDataService(dataPageDockVO);
+    }
+
 }
+

+ 238 - 0
src/main/java/com/diagbot/util/TZDBConn.java

@@ -0,0 +1,238 @@
+package com.diagbot.util;
+
+import com.diagbot.biz.push.entity.Item;
+import com.diagbot.biz.push.entity.Lis;
+import com.diagbot.biz.push.entity.Pacs;
+import com.diagbot.vo.Drug;
+import com.google.common.collect.Lists;
+
+import java.sql.*;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.ResourceBundle;
+import java.util.regex.Pattern;
+
+public class TZDBConn {
+	private static final String DRIVER = getValue("jdbc.driverClassName");
+    private static final String URL = getValue("jdbc.url");
+    private static final String USERNAME = getValue("jdbc.username");
+    private static final String PASSWORD = getValue("jdbc.password");
+
+	public static final Long HOSPITAL_ID=Long.valueOf("14");//1:长兴,2:邵逸夫,3:台州市立医院
+    
+    private static Connection connection = null;
+    private static PreparedStatement sta = null;
+	private static ResultSet rs = null;
+	
+	/**
+     * 读取属性文件中的信息
+     *
+     * @param key
+     * @return
+     */
+    private static String getValue(String key) {
+        // 资源包绑定
+        ResourceBundle bundle = ResourceBundle.getBundle("jdbc");
+        return bundle.getString(key);
+    }
+    
+    /**
+	 * 加载驱动程序
+	 */
+	static {
+		try {
+			Class.forName(DRIVER);
+		} catch (ClassNotFoundException e) {
+			e.printStackTrace();
+		}
+	}
+	
+	/**
+	 * @return 连接对象
+	 */
+	public Connection getConnection() {
+		try {
+			connection = DriverManager.getConnection(URL,USERNAME,PASSWORD);
+		} catch (SQLException e) {
+			e.printStackTrace();
+		}
+		return connection;
+	}
+	
+	/**
+	 * @param sql sql语句
+	 * @param obj 参数
+	 * @return 数据集合
+	 */
+	public ResultSet Query(String sql,Object...obj){
+		connection=getConnection();
+		try {
+			sta=connection.prepareStatement(sql);
+			if(obj!=null){
+				for(int i=0;i<obj.length;i++){
+					sta.setObject(i+1, obj[i]);
+				}
+			}
+			rs=sta.executeQuery();
+		} catch (SQLException e) {
+			e.printStackTrace();
+		}
+		return rs;
+	}
+	
+	/**
+	 * 关闭资源
+	 */
+	public void close() {
+		try {
+			if (rs != null) {
+				rs.close();
+			}
+		} catch (SQLException e) {
+			e.printStackTrace();
+		} finally {
+			try {
+				if (sta != null) {
+					sta.close();
+				}
+			} catch (SQLException e2) {
+				e2.printStackTrace();
+			} finally {
+				if (connection != null) {
+					try {
+						connection.close();
+					} catch (SQLException e) {
+						e.printStackTrace();
+					}
+				}
+			}
+		}
+	}
+	
+	/**
+	 * Drug信息
+	 * @return
+	 */
+	public List<Drug> getDrug(String sql) {
+		List<Drug> drugs =Lists.newLinkedList();
+		TZDBConn dbconn=new TZDBConn();
+		try {
+			rs =dbconn.Query(sql, null);
+			while(rs.next()){
+				Drug drug=new Drug();
+				drug.setName(rs.getString("name"));//名称
+				drug.setDateValue(rs.getString("dateValue"));
+				drug.setFrequency(rs.getString("frequency"));//频次
+				drugs.add(drug);
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}finally {
+			close();
+		}
+
+		return drugs;
+	}
+	/**
+	 * item信息
+	 * @return
+	 */
+	public List<Item> getItem(String sql) {
+		List<Item> items =Lists.newLinkedList();
+		TZDBConn dbconn=new TZDBConn();
+		try {
+			rs =dbconn.Query(sql, null);
+			while(rs.next()){
+				Item item=new Item();
+				item.setName(rs.getString("name"));//名称
+				item.setDateValue(rs.getString("dateValue"));
+				item.setFrequency(rs.getString("frequency"));//频次
+				items.add(item);
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}finally {
+			close();
+		}
+
+		return items;
+	}
+
+	/**
+	 * Lis信息
+	 * @return
+	 */
+	public List<Lis> getLis(String sql) {
+		List<Lis> list =Lists.newLinkedList();
+		TZDBConn dbconn=new TZDBConn();
+		try {
+			rs =dbconn.Query(sql, null);
+			Pattern pattern = Pattern.compile("^[0-9]+(\\.[0-9]*)?$");
+			while(rs.next()){
+				Lis lis =new Lis();
+				lis.setName(rs.getString("name"));//名称
+				lis.setDateValue(rs.getString("dateValue"));//结果时间
+				lis.setFrequency(rs.getString("frequency"));//频次
+				lis.setOtherValue(rs.getString("otherValue"));//检验结果值(文本)
+				lis.setUnits(rs.getString("units"));//单位
+				lis.setMinValue(pattern.matcher(rs.getString("minValue")).matches()?Double.parseDouble(rs.getString("minValue")):null);//最小值
+				lis.setMaxValue(pattern.matcher(rs.getString("maxValue")).matches()?Double.parseDouble(rs.getString("maxValue")):null);//最大值
+				list.add(lis);
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}finally {
+			close();
+		}
+		return list;
+	}
+
+	/**
+	 * Pacs信息
+	 * @return
+	 */
+	public List<Pacs> getPacs(String sql) {
+		List<Pacs> pacs =Lists.newLinkedList();
+		TZDBConn dbconn=new TZDBConn();
+		try {
+			rs =dbconn.Query(sql, null);
+			while(rs.next()){
+				Pacs pacs1 =new Pacs();
+				pacs1.setName(rs.getString("name"));//名称
+				pacs1.setDateValue(rs.getString("dateValue"));//结果时间
+				pacs1.setFrequency(rs.getString("frequency"));//频次
+				pacs1.setDesc(rs.getString("desc"));//检查描述
+				pacs1.setResult(rs.getString("result"));//检查结果
+				pacs.add(pacs1);
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}finally {
+			close();
+		}
+		return pacs;
+	}
+
+	/**
+	 * 基本信息
+	 * @return
+	 */
+	public Map<String,String> getInfo(String sql) {
+		Map<String,String> map  = new HashMap<>();
+		TZDBConn dbconn=new TZDBConn();
+		try {
+			rs =dbconn.Query(sql, null);
+			while(rs.next()){
+				map.put(rs.getString("info"),rs.getString("value"));//名称
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}finally {
+			close();
+		}
+		return map;
+	}
+
+	
+}

+ 21 - 13
src/main/java/com/diagbot/web/DataPageDockController.java

@@ -8,6 +8,7 @@ import com.diagbot.vo.DataEngineVO;
 import com.diagbot.vo.DataPageDockVO;
 import com.diagbot.vo.StaticKnowledgeHISVO;
 import com.diagbot.vo.UserInfoVO;
+import com.diagbot.xm.vo.StructuralDataVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.poi.ss.formula.functions.T;
@@ -25,21 +26,28 @@ import javax.validation.Valid;
 @RequestMapping("/dataPage/docking")
 @Api(value = "页面推送模式-对接API", tags = { "页面推送模式-对接API" })
 public class DataPageDockController {
-
     @Autowired
     private DataPageDockFacade dataPageDockFacade;
 
-    @Autowired
-    private UserDockFacade userDockFacade;
 
-    @ApiOperation(value = "页面推送模式-推理API[QQ]",
+
+    @ApiOperation(value = "页面推送模式-对接API[厦门]",
             notes = "")
     @PostMapping("/getDataService")
     @SysLogger("getDataService")
-    public RespDTO<String> getDataService(@Valid @RequestBody DataPageDockVO dataPageDockVO) {
-        return dataPageDockFacade.getDataService(dataPageDockVO);
+    public RespDTO<String> getDataService(@Valid @RequestBody StructuralDataVo structuralDataVo) {
+        return dataPageDockFacade.getDataServiceXM(structuralDataVo);
     }
 
+
+//    @ApiOperation(value = "页面推送模式-推理API[QQ]",
+//            notes = "")
+//    @PostMapping("/getDataService")
+//    @SysLogger("getDataService")
+//    public RespDTO<String> getDataService(@Valid @RequestBody DataPageDockVO dataPageDockVO) {
+//        return dataPageDockFacade.getDataService(dataPageDockVO);
+//    }
+
     @ApiOperation(value = "页面推送模式-静态知识API[QQ]",
             notes = "")
     @PostMapping("/getStaticKnowledge")
@@ -79,12 +87,12 @@ public class DataPageDockController {
         return RespDTO.onSuc(dataPageDockFacade.getEnginePush(dataEngineVO));
     }
 
-    @ApiOperation(value = "添加用户-用户维护API[QQ]",
-            notes = "")
-    @PostMapping("/addUserAndRole")
-    @SysLogger("addUserAndRole")
-    public RespDTO addUserAndRole(@Valid @RequestBody UserInfoVO userInfoVO){
-        return RespDTO.onSuc(userDockFacade.addUser(userInfoVO));
-    }
+//    @ApiOperation(value = "添加用户-用户维护API[QQ]",
+//            notes = "")
+//    @PostMapping("/addUserAndRole")
+//    @SysLogger("addUserAndRole")
+//    public RespDTO addUserAndRole(@Valid @RequestBody UserInfoVO userInfoVO){
+//        return RespDTO.onSuc(userDockFacade.addUser(userInfoVO));
+//    }
 
 }

+ 31 - 0
src/main/java/com/diagbot/xm/vo/StructuralDataVo.java

@@ -0,0 +1,31 @@
+package com.diagbot.xm.vo;
+
+import lombok.Data;
+
+@Data
+public class StructuralDataVo {
+    /**
+     * 病历号
+     */
+    private  String behospitalCode;
+
+    /**
+     * 档案号
+     */
+    private  String patientId;
+
+    /**
+     * 医院id
+     */
+    private Long hospitalId;
+
+    /**
+     * 方案编码
+     */
+    private String planCode;
+
+    /**
+     * 病例ID
+     */
+    private  String recId;
+}

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

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

+ 6 - 0
src/main/resources/jdbc.properties

@@ -0,0 +1,6 @@
+
+jdbc.driverClassName=oracle.jdbc.OracleDriver
+jdbc.url=jdbc:oracle:thin:@192.168.2.102:1521/ORCL
+jdbc.username=shiyue
+jdbc.password=shiyue
+