TZDBConn1.java 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397
  1. package com.diagbot.util;
  2. import com.diagbot.biz.push.entity.Item;
  3. import com.diagbot.biz.push.entity.Lis;
  4. import com.diagbot.biz.push.entity.Pacs;
  5. import com.diagbot.vo.Drug;
  6. import com.google.common.collect.Lists;
  7. import org.apache.commons.lang3.StringUtils;
  8. import java.sql.*;
  9. import java.util.HashMap;
  10. import java.util.List;
  11. import java.util.Map;
  12. import java.util.ResourceBundle;
  13. import java.util.regex.Pattern;
  14. public class TZDBConn1 {
  15. private static final String DRIVER = getValue("jdbc.driverClassName1");
  16. private static final String URL = getValue("jdbc.url1");
  17. private static final String USERNAME = getValue("jdbc.username1");
  18. private static final String PASSWORD = getValue("jdbc.password1");
  19. public static final Long HOSPITAL_ID=Long.valueOf("35");//1:长兴,2:邵逸夫,3:台州市立医院
  20. private static Connection connection = null;
  21. private static PreparedStatement sta = null;
  22. private static ResultSet rs = null;
  23. /**
  24. * 读取属性文件中的信息
  25. *
  26. * @param key
  27. * @return
  28. */
  29. private static String getValue(String key) {
  30. // 资源包绑定
  31. ResourceBundle bundle = ResourceBundle.getBundle("jdbc");
  32. return bundle.getString(key);
  33. }
  34. /**
  35. * 加载驱动程序
  36. */
  37. static {
  38. try {
  39. Class.forName(DRIVER);
  40. } catch (ClassNotFoundException e) {
  41. e.printStackTrace();
  42. }
  43. }
  44. /**
  45. * @return 连接对象
  46. */
  47. public Connection getConnection() {
  48. try {
  49. connection = DriverManager.getConnection(URL,USERNAME,PASSWORD);
  50. } catch (SQLException e) {
  51. e.printStackTrace();
  52. }
  53. return connection;
  54. }
  55. /**
  56. * @param sql sql语句
  57. * @param obj 参数
  58. * @return 数据集合
  59. */
  60. public ResultSet Query(String sql,Object...obj){
  61. connection=getConnection();
  62. try {
  63. sta=connection.prepareStatement(sql);
  64. if(obj!=null){
  65. for(int i=0;i<obj.length;i++){
  66. sta.setObject(i+1, obj[i]);
  67. }
  68. }
  69. rs=sta.executeQuery();
  70. } catch (SQLException e) {
  71. e.printStackTrace();
  72. }
  73. return rs;
  74. }
  75. /**
  76. * 关闭资源
  77. */
  78. public void close() {
  79. try {
  80. if (rs != null) {
  81. rs.close();
  82. }
  83. } catch (SQLException e) {
  84. e.printStackTrace();
  85. } finally {
  86. try {
  87. if (sta != null) {
  88. sta.close();
  89. }
  90. } catch (SQLException e2) {
  91. e2.printStackTrace();
  92. } finally {
  93. if (connection != null) {
  94. try {
  95. connection.close();
  96. } catch (SQLException e) {
  97. e.printStackTrace();
  98. }
  99. }
  100. }
  101. }
  102. }
  103. /**
  104. * Drug信息
  105. *
  106. * @return
  107. */
  108. public List<Drug> getDrug(String sql) {
  109. List<Drug> drugs = Lists.newLinkedList();
  110. TZDBConn1 dbconn = new TZDBConn1();
  111. try {
  112. rs = dbconn.Query(sql, null);
  113. while (rs.next()) {
  114. Drug drug = new Drug();
  115. drug.setName(rs.getString("name"));//医院项目名称
  116. drug.setDateValue(rs.getString("dateValue"));//结果时间
  117. drug.setForm(rs.getString("form"));//药品剂型
  118. drugs.add(drug);
  119. }
  120. } catch (Exception e) {
  121. e.printStackTrace();
  122. }finally {
  123. close();
  124. }
  125. return drugs;
  126. }
  127. /**
  128. * Diag信息
  129. *
  130. * @return
  131. */
  132. public List<Item> getDiag(String sql) {
  133. List<Item> diags = Lists.newLinkedList();
  134. TZDBConn1 dbconn = new TZDBConn1();
  135. try {
  136. rs = dbconn.Query(sql, null);
  137. while (rs.next()) {
  138. Drug drug = new Drug();
  139. drug.setName(rs.getString("name"));//医院项目名称
  140. drug.setDateValue(rs.getString("dateValue"));//结果时间
  141. diags.add(drug);
  142. }
  143. } catch (Exception e) {
  144. e.printStackTrace();
  145. }finally {
  146. close();
  147. }
  148. return diags;
  149. }
  150. /**
  151. * Lis信息
  152. *
  153. * @return
  154. */
  155. public List<Lis> getLis(String sql) {
  156. List<Lis> list = Lists.newLinkedList();
  157. TZDBConn1 dbconn = new TZDBConn1();
  158. try {
  159. rs = dbconn.Query(sql, null);
  160. Pattern pattern = Pattern.compile("^[0-9]+(\\.[0-9]*)?$");
  161. while (rs.next()) {
  162. Lis lis = new Lis();
  163. lis.setDetailName(rs.getString("detailName"));//检验细项名称
  164. lis.setOtherValue(rs.getString("result"));//检验结果值(文本)
  165. lis.setUnits(rs.getString("unit"));//单位
  166. if (StringUtils.isNoneBlank(rs.getString("referenceMin"))) {
  167. lis.setMinValue(pattern.matcher(rs.getString("referenceMin")).matches() ? Double.parseDouble(rs.getString("referenceMin")) : null);//最小值
  168. }
  169. if (StringUtils.isNoneBlank(rs.getString("referenceMax"))) {
  170. lis.setMaxValue(pattern.matcher(rs.getString("referenceMax")).matches() ? Double.parseDouble(rs.getString("referenceMax")) : null);//最大值
  171. }
  172. lis.setDateValue(rs.getString("dateValue"));//结果时间
  173. list.add(lis);
  174. }
  175. } catch (Exception e) {
  176. e.printStackTrace();
  177. }finally {
  178. close();
  179. }
  180. return list;
  181. }
  182. /**
  183. * Pacs信息
  184. *
  185. * @return
  186. */
  187. public List<Pacs> getPacs(String sql) {
  188. List<Pacs> pacs = Lists.newLinkedList();
  189. TZDBConn1 dbconn = new TZDBConn1();
  190. try {
  191. rs = dbconn.Query(sql, null);
  192. while (rs.next()) {
  193. Pacs pacs1 = new Pacs();
  194. pacs1.setName(rs.getString("repName"));//医院检查名称
  195. pacs1.setDesc(rs.getString("clinicSight"));//检查描述
  196. pacs1.setResult(rs.getString("reptDiag"));//检查结果
  197. pacs1.setDateValue(rs.getString("dateValue"));//结果时间
  198. pacs.add(pacs1);
  199. }
  200. } catch (Exception e) {
  201. e.printStackTrace();
  202. }finally {
  203. close();
  204. }
  205. return pacs;
  206. }
  207. /**
  208. * Operation信息
  209. *
  210. * @return
  211. */
  212. public List<Item> getOperation(String sql) {
  213. List<Item> items = Lists.newLinkedList();
  214. TZDBConn1 dbconn = new TZDBConn1();
  215. try {
  216. rs = dbconn.Query(sql, null);
  217. while (rs.next()) {
  218. Item item = new Item();
  219. item.setName(rs.getString("operationName"));//手术名称
  220. item.setDateValue(rs.getString("operationDate"));//开单时间
  221. items.add(item);
  222. }
  223. } catch (Exception e) {
  224. e.printStackTrace();
  225. }finally {
  226. close();
  227. }
  228. return items;
  229. }
  230. // /**
  231. // * DrugOrder信息
  232. // * @return
  233. // */
  234. // public List<Drug> getDrugOrder(String sql) {
  235. // List<Drug> drugs =Lists.newLinkedList();
  236. // TZDBConn dbconn=new TZDBConn();
  237. // try {
  238. // rs =dbconn.Query(sql, null);
  239. // while(rs.next()){
  240. // Drug drug=new Drug();
  241. // drug.setName(rs.getString("name"));//名称
  242. // drug.setDateValue(rs.getString("dateValue"));//结果时间
  243. // drug.setForm(rs.getString("form"));//药品剂型
  244. // drugs.add(drug);
  245. // }
  246. // } catch (Exception e) {
  247. // e.printStackTrace();
  248. // }
  249. //
  250. // return drugs;
  251. // }
  252. //
  253. // /**
  254. // * item信息
  255. // * @return
  256. // */
  257. // public List<Item> getOrder(String sql) {
  258. // List<Item> items =Lists.newLinkedList();
  259. // TZDBConn dbconn=new TZDBConn();
  260. // try {
  261. // rs =dbconn.Query(sql, null);
  262. // while(rs.next()){
  263. // Item item=new Item();
  264. // item.setName(rs.getString("name"));//名称
  265. // item.setDateValue(rs.getString("dateValue"));
  266. // item.setFrequency(rs.getString("frequency"));//频次
  267. // items.add(item);
  268. // }
  269. // } catch (Exception e) {
  270. // e.printStackTrace();
  271. // }
  272. //
  273. // return items;
  274. // }
  275. // /**
  276. // * item信息没频次的
  277. // * @return
  278. // */
  279. // public List<Item> getItem(String sql) {
  280. // List<Item> items =Lists.newLinkedList();
  281. // TZDBConn dbconn=new TZDBConn();
  282. // try {
  283. // rs =dbconn.Query(sql, null);
  284. // while(rs.next()){
  285. // Item item=new Item();
  286. // item.setName(rs.getString("name"));//名称
  287. // item.setDateValue(rs.getString("dateValue"));
  288. // items.add(item);
  289. // }
  290. // } catch (Exception e) {
  291. // e.printStackTrace();
  292. // }
  293. //
  294. // return items;
  295. // }
  296. //
  297. //
  298. // /**
  299. // * LisOrder信息
  300. // * @return
  301. // */
  302. // public List<Lis> getLisOrder(String sql) {
  303. // List<Lis> list =Lists.newLinkedList();
  304. // TZDBConn dbconn=new TZDBConn();
  305. // try {
  306. // rs =dbconn.Query(sql, null);
  307. // Pattern pattern = Pattern.compile("^[0-9]+(\\.[0-9]*)?$");
  308. // while(rs.next()){
  309. // Lis lis =new Lis();
  310. // lis.setName(rs.getString("name"));//名称
  311. // lis.setDateValue(rs.getString("dateValue"));//结果时间
  312. // lis.setFrequency(rs.getString("frequency"));//频次
  313. // list.add(lis);
  314. // }
  315. // } catch (Exception e) {
  316. // e.printStackTrace();
  317. // }
  318. // return list;
  319. // }
  320. //
  321. // /**
  322. // * Pacs信息
  323. // * @return
  324. // */
  325. // public List<Pacs> getPacsOrder(String sql) {
  326. // List<Pacs> pacs =Lists.newLinkedList();
  327. // TZDBConn dbconn=new TZDBConn();
  328. // try {
  329. // rs =dbconn.Query(sql, null);
  330. // while(rs.next()){
  331. // Pacs pacs1 =new Pacs();
  332. // pacs1.setName(rs.getString("name"));//名称
  333. // pacs1.setDateValue(rs.getString("dateValue"));//结果时间
  334. // pacs1.setFrequency(rs.getString("frequency"));//频次
  335. // pacs.add(pacs1);
  336. // }
  337. // } catch (Exception e) {
  338. // e.printStackTrace();
  339. // }
  340. // return pacs;
  341. // }
  342. //
  343. //
  344. //
  345. /**
  346. * 基本信息
  347. * @return
  348. */
  349. public Map<String,String> getInfo(String sql) {
  350. Map<String,String> map = new HashMap<>();
  351. TZDBConn1 dbconn=new TZDBConn1();
  352. try {
  353. rs =dbconn.Query(sql, null);
  354. while(rs.next()){
  355. map.put("AGE",rs.getString("AGE"));//年龄
  356. map.put("SEX",rs.getString("SEX"));//性别
  357. map.put("MARRIAGE",rs.getString("MARRIAGE"));//婚姻
  358. map.put("CHIEF",rs.getString("CHIEF"));//主诉
  359. map.put("SYMPTOM",rs.getString("SYMPTOM"));//现病史
  360. map.put("PASTS",rs.getString("PASTS"));//既往史
  361. map.put("PERSONAL",rs.getString("PERSONAL"));//个人史
  362. map.put("MARITAL",rs.getString("MARITAL"));//婚育史
  363. map.put("FAMILY",rs.getString("FAMILY"));//家族史
  364. map.put("MENSTRUAL",rs.getString("MENSTRUAL"));//月经史
  365. map.put("VITAL",rs.getString("VITAL"));//查体
  366. }
  367. } catch (Exception e) {
  368. e.printStackTrace();
  369. }finally {
  370. close();
  371. }
  372. return map;
  373. }
  374. }