Просмотр исходного кода

湘雅三院从视图获取数据代码更新

shiyue 4 лет назад
Родитель
Сommit
0496726490

+ 17 - 23
src/main/java/com/diagbot/facade/DataPageDockFacade.java

@@ -7,10 +7,7 @@ import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.PushPlanDTO;
 import com.diagbot.dto.RespDTO;
 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.util.*;
 import com.diagbot.vo.*;
 import com.diagbot.xm.vo.StructuralDataVo;
 import lombok.extern.slf4j.Slf4j;
@@ -44,6 +41,7 @@ public class DataPageDockFacade {
     private String dataPageUrl;
 
     private TZDBConn tzDBConn = new TZDBConn();
+    private TZDBConn1 tzDBConn1 = new TZDBConn1();
 
     /**
      * @Description:静态知识开单合理性
@@ -196,26 +194,19 @@ public class DataPageDockFacade {
     public RespDTO<String> getDataServiceXY(StructuralDataVo structuralDataVo) {
         DataPageDockVO dataPageDockVO = new DataPageDockVO();
         try {
-            String where = " where behospitalCode =  '" + structuralDataVo.getBehospitalCode() + "' and fileCode = '" + structuralDataVo.getFileCode() + "'";
+            String where = " where behospitalCode =  '" + structuralDataVo.getBehospitalCode() + "' and behospitalNum = '" + structuralDataVo.getFileCode() + "'";
             String DrugSql = " select * from drug       " + where;
             String DiagSql = " select * from diag       " + where;
             String InfoSql = " select * from medical_record   " + where;
-            String lisSql = "  select * from assay_list       " + where;
-            String PacsSql = " select * from check_list       " + where;
+            String lisSql = "  select * from assay_details       " + where;
+            String PacsSql = " select * from check_details       " + where;
             String OpsSql = "  select * from homepage_operation         " + where;
-//            String OpsOrderSql = " select * from cdss_ops    " + where + " and status =' REQUEST'";
-//            String DrugSql = " select * from cdss_order      " + where + " and  ( orderCatalog like '%药%' or orderCatalog = '静脉输液')";
-//            System.out.println(DrugSql);
-//            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 DiseaseNameSql = "select * from cdss_diag " + where + " and isno = '01'";
 
             //得到基本信息并赋予
-            Map<String, String> map = tzDBConn.getInfo(InfoSql);
+            Map<String, String> map = tzDBConn1.getInfo(InfoSql);
             dataPageDockVO.setPlanCode(structuralDataVo.getPlanCode());
             dataPageDockVO.setHospitalId(structuralDataVo.getHospitalId());//医院id
-            dataPageDockVO.setShowType("ver");//展示方式(待解决)
+            dataPageDockVO.setShowType(structuralDataVo.getShowType());//展示方式(待解决)
             dataPageDockVO.setAge(map.get("age"));//年龄
             dataPageDockVO.setSex(Integer.parseInt(StringUtils.isNoneBlank(map.get("sex")) ? map.get("sex") : "0"));//性别
             dataPageDockVO.setMarriage(map.get("marriage"));//婚姻
@@ -235,13 +226,14 @@ public class DataPageDockFacade {
             System.out.println(JSON.toJSONString(dataPageDockVO) + "-------------------------------------信息");
 
             //获取Order信息并赋予
-//            dataPageDockVO.setPacsOrder(tzDBConn.getPacsOrder(PacsOrderSql));
-//            dataPageDockVO.setLisOrder(tzDBConn.getLisOrder(LisOrderSql));
-//            dataPageDockVO.setOperationOrder(tzDBConn.getItem(OpsOrderSql));
-//            dataPageDockVO.setDrugOrder(tzDBConn.getDrugOrder(DrugSql));
-//            dataPageDockVO.setDiseaseName(tzDBConn.getItem(DiseaseNameSql).size() > 0 ? tzDBConn.getItem(DiseaseNameSql).get(0) : new Item());
+            dataPageDockVO.setPacsOrder(structuralDataVo.getPacsOrder());
+            dataPageDockVO.setLisOrder(structuralDataVo.getLisOrder());
+            dataPageDockVO.setOperationOrder(structuralDataVo.getOperationOrder());
+            dataPageDockVO.setDrugOrder(structuralDataVo.getDrugOrder());
+            dataPageDockVO.setDiseaseName(structuralDataVo.getDiseaseName());
+            dataPageDockVO.setDiagOrder(structuralDataVo.getDiagOrder());
 
-//            System.out.println(JSON.toJSONString(dataPageDockVO) + "-------------------------------------Order");
+            System.out.println(JSON.toJSONString(dataPageDockVO) + "-------------------------------------Order");
 
             //获取历史信息并赋予
             dataPageDockVO.setPacs(tzDBConn.getPacs(PacsSql));
@@ -258,13 +250,15 @@ public class DataPageDockFacade {
             tranDatadockingLog.setParamIn(JSON.toJSONString(structuralDataVo));
             tranDatadockingLog.setParamOut(JSON.toJSONString(dataPageDockVO));
             tranDatadockingLog.setRemark("方案编码," + dataPageDockVO.getPlanCode());
-            tranDatadockingLog.setInquiryCode("病人住院号:  " + structuralDataVo.getBehospitalCode());
+            tranDatadockingLog.setInquiryCode("病人住院号:  " + structuralDataVo.getBehospitalCode()+"_"+structuralDataVo.getFileCode());
             tranDatadockingLog.setTransTime(new Date());
             dataDockingLogFacade.save(tranDatadockingLog);
 
         } catch (Exception e) {
             TranDatadockingLog tranDatadockingLog = new TranDatadockingLog();
             tranDatadockingLog.setRemark("获取数据失败," + structuralDataVo);
+            tranDatadockingLog.setRemark("方案编码," + dataPageDockVO.getPlanCode());
+            tranDatadockingLog.setInquiryCode("病人住院号:  " + structuralDataVo.getBehospitalCode()+"_"+structuralDataVo.getFileCode());
             tranDatadockingLog.setTransTime(new Date());
             dataDockingLogFacade.save(tranDatadockingLog);
         } finally {

+ 376 - 0
src/main/java/com/diagbot/util/TZDBConn1.java

@@ -0,0 +1,376 @@
+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 org.apache.commons.lang3.StringUtils;
+
+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 TZDBConn1 {
+	private static final String DRIVER = getValue("jdbc.driverClassName1");
+    private static final String URL = getValue("jdbc.url1");
+    private static final String USERNAME = getValue("jdbc.username1");
+    private static final String PASSWORD = getValue("jdbc.password1");
+
+	public static final Long HOSPITAL_ID=Long.valueOf("35");//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();
+        TZDBConn1 dbconn = new TZDBConn1();
+        try {
+            rs = dbconn.Query(sql, null);
+            while (rs.next()) {
+                Drug drug = new Drug();
+                drug.setName(rs.getString("name"));//医院项目名称
+                drug.setDateValue(rs.getString("dateValue"));//结果时间
+                drug.setForm(rs.getString("form"));//药品剂型
+                drugs.add(drug);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        return drugs;
+    }
+
+    /**
+     * Diag信息
+     *
+     * @return
+     */
+    public List<Item> getDiag(String sql) {
+        List<Item> diags = Lists.newLinkedList();
+        TZDBConn1 dbconn = new TZDBConn1();
+        try {
+            rs = dbconn.Query(sql, null);
+            while (rs.next()) {
+                Drug drug = new Drug();
+                drug.setName(rs.getString("name"));//医院项目名称
+				drug.setDateValue(rs.getString("dateValue"));//结果时间
+                diags.add(drug);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        return diags;
+    }
+
+	/**
+	 * Lis信息
+	 *
+	 * @return
+	 */
+	public List<Lis> getLis(String sql) {
+		List<Lis> list = Lists.newLinkedList();
+		TZDBConn1 dbconn = new TZDBConn1();
+		try {
+			rs = dbconn.Query(sql, null);
+			Pattern pattern = Pattern.compile("^[0-9]+(\\.[0-9]*)?$");
+			while (rs.next()) {
+				Lis lis = new Lis();
+				lis.setDetailName(rs.getString("detailName"));//检验细项名称
+				lis.setOtherValue(rs.getString("result"));//检验结果值(文本)
+				lis.setUnits(rs.getString("unit"));//单位
+				if (StringUtils.isNoneBlank(rs.getString("referenceMin"))) {
+					lis.setMinValue(pattern.matcher(rs.getString("referenceMin")).matches() ? Double.parseDouble(rs.getString("referenceMin")) : null);//最小值
+				}
+				if (StringUtils.isNoneBlank(rs.getString("referenceMax"))) {
+					lis.setMaxValue(pattern.matcher(rs.getString("referenceMax")).matches() ? Double.parseDouble(rs.getString("referenceMax")) : null);//最大值
+				}
+				lis.setDateValue(rs.getString("dateValue"));//结果时间
+				list.add(lis);
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return list;
+	}
+
+	/**
+	 * Pacs信息
+	 *
+	 * @return
+	 */
+	public List<Pacs> getPacs(String sql) {
+		List<Pacs> pacs = Lists.newLinkedList();
+		TZDBConn1 dbconn = new TZDBConn1();
+		try {
+			rs = dbconn.Query(sql, null);
+			while (rs.next()) {
+				Pacs pacs1 = new Pacs();
+				pacs1.setName(rs.getString("repName"));//医院检查名称
+				pacs1.setDesc(rs.getString("clinicSight"));//检查描述
+				pacs1.setResult(rs.getString("reptDiag"));//检查结果
+				pacs1.setDateValue(rs.getString("dateValue"));//结果时间
+				pacs.add(pacs1);
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return pacs;
+	}
+
+
+    /**
+     * Operation信息
+     *
+     * @return
+     */
+    public List<Item> getOperation(String sql) {
+        List<Item> items = Lists.newLinkedList();
+        TZDBConn1 dbconn = new TZDBConn1();
+        try {
+            rs = dbconn.Query(sql, null);
+            while (rs.next()) {
+                Item item = new Item();
+                item.setName(rs.getString("operationName"));//手术名称
+                item.setDateValue(rs.getString("operationDate"));//开单时间
+                items.add(item);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        return items;
+    }
+
+//	/**
+//	 * DrugOrder信息
+//	 * @return
+//	 */
+//	public List<Drug> getDrugOrder(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.setForm(rs.getString("form"));//药品剂型
+//				drugs.add(drug);
+//			}
+//		} catch (Exception e) {
+//			e.printStackTrace();
+//		}
+//
+//		return drugs;
+//	}
+//
+//	/**
+//	 * item信息
+//	 * @return
+//	 */
+//	public List<Item> getOrder(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();
+//		}
+//
+//		return items;
+//	}
+//	/**
+//	 * 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"));
+//				items.add(item);
+//			}
+//		} catch (Exception e) {
+//			e.printStackTrace();
+//		}
+//
+//		return items;
+//	}
+//
+//
+//	/**
+//	 * LisOrder信息
+//	 * @return
+//	 */
+//	public List<Lis> getLisOrder(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"));//频次
+//				list.add(lis);
+//			}
+//		} catch (Exception e) {
+//			e.printStackTrace();
+//		}
+//		return list;
+//	}
+//
+//	/**
+//	 * Pacs信息
+//	 * @return
+//	 */
+//	public List<Pacs> getPacsOrder(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"));//频次
+//				pacs.add(pacs1);
+//			}
+//		} catch (Exception e) {
+//			e.printStackTrace();
+//		}
+//		return pacs;
+//	}
+//
+//
+//
+	/**
+	 * 基本信息
+	 * @return
+	 */
+
+	public  Map<String,String> getInfo(String sql) {
+		Map<String,String> map  = new HashMap<>();
+		TZDBConn1 dbconn=new TZDBConn1();
+		try {
+			rs =dbconn.Query(sql, null);
+			while(rs.next()){
+				map.put(rs.getString("info"),rs.getString("value"));//名称
+			}
+			System.out.println(map);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return map;
+	}
+
+
+}

+ 49 - 6
src/main/java/com/diagbot/xm/vo/StructuralDataVo.java

@@ -1,15 +1,30 @@
 package com.diagbot.xm.vo;
 
+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.diagbot.vo.ItemExt;
 import lombok.Data;
 
+import javax.validation.constraints.NotNull;
+import java.util.ArrayList;
+import java.util.List;
+
 @Data
 public class StructuralDataVo {
+
+    private Item diseaseName;
+    @NotNull(message = "请输入展示类型,横版:ver,或竖版hor")
+    private String showType;//横版:ver,或竖版hor
+
+    @NotNull(message = "请输入方案编码")
+    private String planCode;//方案编码,用于控制哪些展示项
+
     /**
      * 病历号
      */
     private  String behospitalCode;
-
-
     /**
      * 医院id
      */
@@ -19,12 +34,40 @@ public class StructuralDataVo {
      */
     private String fileCode;
     /**
-     * 方案编码
+     * 病例ID
      */
-    private String planCode;
+    private  String recId;
 
     /**
-     * 病例ID
+     * 当前化验开单项
      */
-    private  String recId;
+    private List<Lis> lisOrder = new ArrayList<>();
+    /**
+     * 当前辅检开单项
+     */
+    private List<Pacs> pacsOrder = new ArrayList<>();
+    /**
+     * 当前诊断开单项
+     */
+    private List<Item> diagOrder = new ArrayList<>();
+    /**
+     * 当前药品开单项
+     */
+    private List<Drug> drugOrder = new ArrayList<>();
+    /**
+     * 当前手术开单项
+     */
+    private List<Item> operationOrder = new ArrayList<>();
+    /**
+     * 当前输血开单项
+     */
+    private List<ItemExt> transfusionOrder = new ArrayList<>();
+    /**
+     * 其他开单项
+     */
+    private List<Item> otherOrder = new ArrayList<>();
+    /**
+     * 选中诊断
+     */
+
 }

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

@@ -6,4 +6,9 @@
 jdbc.driverClassName=oracle.jdbc.OracleDriver
 jdbc.url=jdbc:oracle:thin:@132.147.254.159:1521/dbserver
 jdbc.username=langtong
-jdbc.password=langtong
+jdbc.password=langtong
+
+jdbc.driverClassName1=oracle.jdbc.OracleDriver
+jdbc.url1=jdbc:oracle:thin:@132.147.254.108:1521/medxdb
+jdbc.username1=langtong
+jdbc.password1=langtong