TZDBConn.java 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620
  1. package com.diagbot.util;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.PreparedStatement;
  5. import java.sql.ResultSet;
  6. import java.sql.SQLException;
  7. import java.util.Date;
  8. import java.util.List;
  9. import java.util.ResourceBundle;
  10. import javax.print.DocFlavor.STRING;
  11. import com.diagbot.entity.BasDeptInfo;
  12. import com.diagbot.entity.BasDoctorInfo;
  13. import com.diagbot.entity.BehospitalInfo;
  14. import com.diagbot.entity.DoctorAdvice;
  15. import com.diagbot.entity.HomeDiagnoseInfo;
  16. import com.diagbot.entity.HomeOperationInfo;
  17. import com.diagbot.entity.HomePage;
  18. import com.diagbot.entity.MedRecordType;
  19. import com.diagbot.entity.MedicalRecord;
  20. import com.diagbot.entity.MedicalRecordContent;
  21. import com.diagbot.vo.FBasDeptInfoVO;
  22. import com.diagbot.vo.FBasDoctorInfoVO;
  23. import com.diagbot.vo.FBehospitalInfoVO;
  24. import com.diagbot.vo.FDoctorAdviceVO;
  25. import com.diagbot.vo.FHomeDiagnoseVO;
  26. import com.diagbot.vo.FHomeOperationVO;
  27. import com.diagbot.vo.FHomePageVO;
  28. import com.diagbot.vo.FMedicalRecordContentVO;
  29. import com.diagbot.vo.FMedicalRecordTypeVO;
  30. import com.diagbot.vo.FMedicalRecordVO;
  31. import com.google.common.collect.Lists;
  32. public class TZDBConn {
  33. private static final String DRIVER = getValue("jdbc.driverClassName");
  34. private static final String URL = getValue("jdbc.url");
  35. private static final String USERNAME = getValue("jdbc.username");
  36. private static final String PASSWORD = getValue("jdbc.password");
  37. private static Connection connection = null;
  38. private static PreparedStatement sta = null;
  39. private static ResultSet rs = null;
  40. /**
  41. * 读取属性文件中的信息
  42. *
  43. * @param key
  44. * @return
  45. */
  46. private static String getValue(String key) {
  47. // 资源包绑定
  48. ResourceBundle bundle = ResourceBundle.getBundle("jdbc");
  49. return bundle.getString(key);
  50. }
  51. /**
  52. * 加载驱动程序
  53. */
  54. static {
  55. try {
  56. Class.forName(DRIVER);
  57. } catch (ClassNotFoundException e) {
  58. e.printStackTrace();
  59. }
  60. }
  61. /**
  62. * @return 连接对象
  63. */
  64. public Connection getConnection() {
  65. try {
  66. connection = DriverManager.getConnection(URL,USERNAME,PASSWORD);
  67. } catch (SQLException e) {
  68. e.printStackTrace();
  69. }
  70. return connection;
  71. }
  72. /**
  73. * @param sql sql语句
  74. * @param obj 参数
  75. * @return 数据集合
  76. */
  77. public ResultSet Query(String sql,Object...obj){
  78. connection=getConnection();
  79. try {
  80. sta=connection.prepareStatement(sql);
  81. if(obj!=null){
  82. for(int i=0;i<obj.length;i++){
  83. sta.setObject(i+1, obj[i]);
  84. }
  85. }
  86. rs=sta.executeQuery();
  87. } catch (SQLException e) {
  88. e.printStackTrace();
  89. }
  90. return rs;
  91. }
  92. /**
  93. * 关闭资源
  94. */
  95. public void close() {
  96. try {
  97. if (rs != null) {
  98. rs.close();
  99. }
  100. } catch (SQLException e) {
  101. e.printStackTrace();
  102. } finally {
  103. try {
  104. if (sta != null) {
  105. sta.close();
  106. }
  107. } catch (SQLException e2) {
  108. e2.printStackTrace();
  109. } finally {
  110. if (connection != null) {
  111. try {
  112. connection.close();
  113. } catch (SQLException e) {
  114. e.printStackTrace();
  115. }
  116. }
  117. }
  118. }
  119. }
  120. /**
  121. * 医生信息
  122. * @return
  123. */
  124. public List<BasDoctorInfo> getBasDoctorInfo() {
  125. List<BasDoctorInfo> basDoctorInfoList=Lists.newLinkedList();
  126. TZDBConn dbconn=new TZDBConn();
  127. try {
  128. String sql="select * from gi_userinfo where CJCXRQ BETWEEN TO_DATE('2020-03-01', 'yyyy-MM-dd') and TO_DATE('2020-03-30', 'yyyy-MM-dd')";
  129. rs =dbconn.Query(sql, null);
  130. while(rs.next()){
  131. FBasDoctorInfoVO basDoctorInfoVO=new FBasDoctorInfoVO();
  132. basDoctorInfoVO.setDoctorId(rs.getString("YHRYBH"));//医生ID
  133. basDoctorInfoVO.setHospitalId(Long.valueOf("3"));//医院ID
  134. //basDoctorInfoVO.setDeptId(rs.getString("ZZKSID"));//科室ID
  135. basDoctorInfoVO.setName(rs.getString("YHRYMC"));//医生姓名
  136. basDoctorInfoVO.setProfessor(rs.getString("YHRYZC"));//职称
  137. BasDoctorInfo basDoctorInfo=new BasDoctorInfo();
  138. BeanUtil.copyProperties(basDoctorInfoVO, basDoctorInfo);
  139. basDoctorInfoList.add(basDoctorInfo);
  140. }
  141. } catch (Exception e) {
  142. e.printStackTrace();
  143. }
  144. return basDoctorInfoList;
  145. }
  146. /**
  147. * 从视图中获取医院科室数据,根据修改时间同步数据
  148. * @return
  149. */
  150. public List<BasDeptInfo> getDeptInfo() {
  151. List<BasDeptInfo> basDeptInfoList=Lists.newLinkedList();
  152. try {
  153. TZDBConn dbconn=new TZDBConn();
  154. String sql="select * from hi_deptinfo";
  155. ResultSet rs =dbconn.Query(sql, null);
  156. while(rs.next()){
  157. FBasDeptInfoVO basDeptInfoVO=new FBasDeptInfoVO();
  158. basDeptInfoVO.setDeptId(rs.getString("ZZKSDM"));//科室编码
  159. basDeptInfoVO.setHospitalId(Long.valueOf("3"));//医院ID
  160. basDeptInfoVO.setDeptName(rs.getString("ZZKSMC"));//科室名称
  161. //basDeptInfoVO.setDeptType(rs.getString("ZZKSLB"));//科室类别
  162. basDeptInfoVO.setSpell(rs.getString("HZSRM1"));//首字母拼音
  163. //basDeptInfoVO.setStation(rs.getString("FLKSID"));//区域类别
  164. BasDeptInfo basDeptInfo=new BasDeptInfo();
  165. BeanUtil.copyProperties(basDeptInfoVO, basDeptInfo);
  166. basDeptInfoList.add(basDeptInfo);
  167. }
  168. } catch (Exception e) {
  169. e.printStackTrace();
  170. }
  171. return basDeptInfoList;
  172. }
  173. /**
  174. * 病案诊断
  175. * @return
  176. */
  177. public List<HomeDiagnoseInfo> getHomeDiagnose(){
  178. List<HomeDiagnoseInfo> homeDiagnoseVOList=Lists.newLinkedList();
  179. try {
  180. DBConn dbconn=new DBConn();
  181. //String sql="select * from br_recdiagnose where CJCXRQ BETWEEN TO_DATE('2020-02-01', 'yyyy-MM-dd') and TO_DATE('2020-04-30', 'yyyy-MM-dd')";
  182. String sql="select * from br_recdiagnose where BASYID IN (select BASYID from br_rechome WHERE BRZYID IN (select BRZYID from br_inpatientinfo where ZYKSID IN('1020500','1009100','1030200')))";
  183. ResultSet rs =dbconn.Query(sql, null);
  184. while(rs.next()){
  185. FHomeDiagnoseVO homeDiagnoseVO=new FHomeDiagnoseVO();
  186. homeDiagnoseVO.setHomePageId(rs.getString("BASYID"));//病案首页ID
  187. homeDiagnoseVO.setHospitalId(Long.valueOf("3"));//医院ID
  188. homeDiagnoseVO.setDiagnoseOrderNo(rs.getString("BAZDXH"));//诊断序号
  189. homeDiagnoseVO.setDiagnoseName(rs.getString("ZDJBMC"));//诊断名称
  190. homeDiagnoseVO.setDiagnoseType(rs.getString("ZDLBDM"));//诊断类别
  191. homeDiagnoseVO.setDiagnoseTypeShort(rs.getString("ZCZDPB"));//诊断判别
  192. homeDiagnoseVO.setBehospitalType(rs.getString("RYQKBM"));//入院情况
  193. //homeDiagnoseVO.setLeaveHospitalType(rs.getString("RYQKBM"));//出院情况
  194. //homeDiagnoseVO.setPathologyDiagnose(rs.getString("BASYID"));//病理号
  195. homeDiagnoseVO.setIcdCode(rs.getString("ICDM"));//诊断编码
  196. homeDiagnoseVO.setGmtCreate(new Date());
  197. HomeDiagnoseInfo homeDiagnoseInfo=new HomeDiagnoseInfo();
  198. BeanUtil.copyProperties(homeDiagnoseVO, homeDiagnoseInfo);
  199. homeDiagnoseVOList.add(homeDiagnoseInfo);
  200. }
  201. } catch (Exception e) {
  202. e.printStackTrace();
  203. }
  204. return homeDiagnoseVOList;
  205. }
  206. /**
  207. * 病案手术
  208. * @return
  209. */
  210. public List<HomeOperationInfo> getHomeOperation() {
  211. List<FHomeOperationVO> homeOperationVOList=Lists.newLinkedList();
  212. try {
  213. DBConn dbconn=new DBConn();
  214. //String sql="select * from br_recoperation where CJCXRQ BETWEEN TO_DATE('2020-02-01', 'yyyy-MM-dd') and TO_DATE('2020-04-30', 'yyyy-MM-dd')";
  215. String sql="select * from br_recoperation where BASYID IN (select BASYID from br_rechome WHERE BRZYID IN (select BRZYID from br_inpatientinfo where ZYKSID IN('1020500','1009100','1030200')))";
  216. ResultSet rs =dbconn.Query(sql, null);
  217. while(rs.next()){
  218. FHomeOperationVO homeOperationVO=new FHomeOperationVO();
  219. homeOperationVO.setHomePageId(rs.getString("BASYID"));//病案首页ID
  220. homeOperationVO.setHospitalId(Long.valueOf("3"));//医院ID
  221. homeOperationVO.setOperationOrderNo(rs.getString("BRSSXH"));//手术序号
  222. homeOperationVO.setOperationDate(rs.getDate("BRSSRQ"));//手术日期
  223. homeOperationVO.setOperationCode(rs.getString("SSDMID"));//手术编码
  224. homeOperationVO.setOperationDoctorId(rs.getString("SSYSID"));//手术医生
  225. homeOperationVO.setFirstAssistantId(rs.getString("YZHSID"));//一助医生
  226. homeOperationVO.setSecondAssistantId(rs.getString("EZHSID"));//二助医生
  227. homeOperationVO.setCutLevel(rs.getString("QKDJDM"));//切口等级
  228. homeOperationVO.setHealingLevel(rs.getString("QKDJDM"));//愈合等级
  229. homeOperationVO.setOperationName(rs.getString("BRSSMC"));//手术名称
  230. homeOperationVO.setOperationLevel(rs.getString("SSJBID"));//手术级别
  231. homeOperationVO.setAnaesthesiaName(rs.getString("MZFFMC"));//麻醉方式
  232. homeOperationVO.setShamOperationName(rs.getString("NSSMC"));//拟手术名称
  233. homeOperationVO.setGmtCreate(new Date());
  234. homeOperationVOList.add(homeOperationVO);
  235. }
  236. } catch (Exception e) {
  237. e.printStackTrace();
  238. }
  239. List<HomeOperationInfo> homeOperationList=BeanUtil.listCopyTo(homeOperationVOList, HomeOperationInfo.class);
  240. return homeOperationList;
  241. }
  242. /**
  243. * 从视图获取病案首页信息
  244. */
  245. public List<HomePage> getHomePage() {
  246. List<HomePage> homePageList=Lists.newLinkedList();
  247. try {
  248. DBConn dbconn=new DBConn();
  249. //String sql="select * from br_rechome WHERE DateDiff(dd,CJCXRQ,getdate())>120 AND DateDiff(dd,CJCXRQ,getdate())<=200 AND RYKSID IN('1040200','1050000') and BRZYID IN (select top 2000 BRZYID from br_inpatientinfo where ZYKSID IN('1040200','1050000') order by CJCXRQ desc) ORDER BY CJCXRQ DESC";
  250. //String sql="select top 500 * from br_rechome WHERE RYKSID in ('1020500','1009100','1030200') and BRZYID is not NULL ORDER BY CJCXRQ DESC";
  251. //String sql="select * from br_rechome WHERE RYKSID in ('1020500','1009100','1030200') and BRZYID is not NULL AND DATEDIFF([month],CJCXRQ,getdate())=6 ORDER BY CJCXRQ desc ";
  252. String sql="select * from br_rechome WHERE RYKSID in ('1020500','1009100','1030200') and BRZYID is not NULL AND DATEDIFF([month],CJCXRQ,getdate())=0 ORDER BY CJCXRQ desc ";
  253. ResultSet rs =dbconn.Query(sql, null);
  254. while(rs.next()){
  255. FHomePageVO homePageVO=new FHomePageVO();
  256. homePageVO.setHomePageId(rs.getString("BASYID"));//病案首页ID
  257. homePageVO.setHospitalId(Long.valueOf("3"));//医院ID
  258. homePageVO.setBehospitalCode(rs.getString("BRZYID"));//病人住院序号
  259. homePageVO.setHospitalCode(rs.getString("ZZJGID"));//组织机构id
  260. homePageVO.setHospitalName(rs.getString("ZZJGMC"));//医疗机构名称
  261. homePageVO.setOrgCode(rs.getString("ZZJGBH"));//医疗机构代码
  262. homePageVO.setPayType(rs.getString("YLFKLB"));//医疗付费方式
  263. homePageVO.setHealthCard(rs.getString("BRJKKH"));//健康卡号
  264. homePageVO.setBehospitalNum(rs.getString("BRZYCS"));//住院次数
  265. homePageVO.setFileCode(rs.getString("BRBABH"));//病案号
  266. homePageVO.setName(rs.getString("BRBAXM"));//姓名
  267. homePageVO.setSex(rs.getString("BRBAXB"));//性别
  268. homePageVO.setBirthday(rs.getDate("BRCSRQ"));//出生日期
  269. homePageVO.setAge(rs.getString("BRDQNL"));//病人年龄
  270. homePageVO.setAgeUnit(rs.getString("BRNLDW"));//年龄单位
  271. homePageVO.setNationality(rs.getString("BRBAGJ"));//国籍
  272. homePageVO.setNewbornMonth(rs.getString("YENLYS"));//新生儿出生月数
  273. homePageVO.setNewbornDay(rs.getString("YENLTS"));//新生儿出生天数
  274. homePageVO.setNewbornWeight(rs.getString("YECSTZ"));//新生儿出生体重
  275. homePageVO.setNewbornBehospitalWeight(rs.getString("YERYTZ"));//新生儿入院体重
  276. homePageVO.setBornAddress(rs.getString("BRCSDZ"));//出生地
  277. homePageVO.setBornPlace(rs.getString("BRBAJG"));//籍贯
  278. homePageVO.setNation(rs.getString("BRBAMZ"));//民族
  279. homePageVO.setIdentityCardNo(rs.getString("BRSFZH"));//身份证号
  280. homePageVO.setJobType(rs.getString("BRBASF"));//职业
  281. homePageVO.setMarriage(rs.getString("BRHYZK"));//婚姻
  282. homePageVO.setCurAddress(rs.getString("BRLXDZ"));//现住址
  283. homePageVO.setCurPhone(rs.getString("BRLXDH"));//现住址电话
  284. homePageVO.setCurPostCode(rs.getString("LXDZYB"));//现住址邮编
  285. homePageVO.setResidenceAddress(rs.getString("BRHKDZ"));//户口地址
  286. homePageVO.setResidencePostCode(rs.getString("HKDZYB"));//户口地址邮编
  287. homePageVO.setWorkAddress(rs.getString("GZDWMC"));//工作单位
  288. homePageVO.setWorkPhone(rs.getString("GZDWDH"));//工作单位电话
  289. homePageVO.setWorkPostCode(rs.getString("GZDWYB"));//工作单位邮编
  290. homePageVO.setContactName(rs.getString("LXRYXM"));//联系人姓名
  291. homePageVO.setContactRelation(rs.getString("LXRYGX"));//联系人关系
  292. homePageVO.setContactAddress(rs.getString("LXRYDZ"));//联系人地址
  293. homePageVO.setContactPhone(rs.getString("LXRYDH"));//联系人电话
  294. homePageVO.setBehospitalWay(rs.getString("RYLYDM"));//入院途径
  295. homePageVO.setBehospitalDate(rs.getDate("BRRYRQ"));//入院时间
  296. homePageVO.setBehospitalDept(rs.getString("RYKSID"));//入院科室
  297. homePageVO.setBehospitalWard(rs.getString("RYBQID"));//入院病房
  298. homePageVO.setBehospitalBedId(rs.getString("RYCWID"));//入院床位序号
  299. homePageVO.setBehospitalBedCode(rs.getString("RYCWHM"));//入院床位号码
  300. homePageVO.setChangeDept(rs.getString("BRZKKB"));//转科科别
  301. homePageVO.setLeaveHospitalDate(rs.getDate("BRCYRQ"));//出院时间
  302. homePageVO.setLeaveHospitalDept(rs.getString("CYKSID"));//出院科别
  303. homePageVO.setLeaveHospitalWard(rs.getString("CYBQID"));//出院病房
  304. homePageVO.setLeaveHospitalBedId(rs.getString("CYCWID"));//出院床位序号
  305. homePageVO.setLeaveHospitalBedCode(rs.getString("CYCWHM"));//出院床位号码
  306. homePageVO.setBehospitalDayNum(rs.getString("SJZYTS"));//实际住院天数
  307. homePageVO.setOutpatientEmrDiagnose(rs.getString("BRMZZD"));//门急诊诊断
  308. homePageVO.setOutpatientEmrDiagnoseCode(rs.getString("MZZDDM"));//门急诊诊断编码
  309. homePageVO.setPoisonFactor(rs.getString("SSZDYSMC"));//损伤中毒因素
  310. homePageVO.setPoisonFactorCode(rs.getString("SSZDYSBM"));//损伤中毒因素编码
  311. homePageVO.setPathologyDiagnose(rs.getString("BLZDMC"));//病理诊断
  312. homePageVO.setPathologyDiagnoseCode(rs.getString("BLZDBM"));//病理诊断编码
  313. homePageVO.setPathologyDiagnoseId(rs.getString("BLZDBH"));//病理诊断编号
  314. homePageVO.setIsMedAllergy(rs.getString("YWYWGM"));//药物过敏
  315. homePageVO.setMedAllergyName(rs.getString("BRGMYW"));//过敏药物
  316. homePageVO.setAutopsy(rs.getString("BRSFSJ"));//死亡患者尸检
  317. homePageVO.setBloodType(rs.getString("BRBAXX"));//血型
  318. homePageVO.setRh(rs.getString("BRBARH"));//Rh
  319. homePageVO.setDeptDirector(rs.getString("KZR"));//科主任
  320. homePageVO.setDirectorDoctor(rs.getString("ZRYS"));//主任医师
  321. homePageVO.setAttendingDoctor(rs.getString("ZZYS"));//主治医师
  322. homePageVO.setBehospitalDoctor(rs.getString("ZYYS"));//住院医师
  323. homePageVO.setResponseNurse(rs.getString("ZRHS"));//责任护士
  324. homePageVO.setStudyDoctor(rs.getString("JXYS"));//进修医师
  325. homePageVO.setPracticeDoctor(rs.getString("SXYS"));//实习医师
  326. homePageVO.setEncodeMan(rs.getString("BMY"));//编码员
  327. homePageVO.setHomePageQuality(rs.getString("BRBAZL"));//病案质量
  328. homePageVO.setQcDoctor(rs.getString("BAZKYS"));//质控医师
  329. homePageVO.setQcNurse(rs.getString("BAZKHS"));//质控护士
  330. if(!"".equals(rs.getString("BAZKRQ"))){
  331. homePageVO.setQcDate(DateUtil.parseDate(rs.getString("BAZKRQ"),DateUtil.DATE_TIME_FORMAT));//质控日期
  332. }
  333. homePageVO.setLeaveHospitalType(rs.getString("BRLYFS"));//离院方式
  334. homePageVO.setAcceptOrgCode(rs.getString("ZYJGMC"));//接收机构名称
  335. homePageVO.setAgainBehospitalPlan(rs.getString("SSYZZY"));//31天内再住院计划
  336. homePageVO.setAgainBehospitalGoal(rs.getString("SSYZZYMD"));//再住院目的
  337. homePageVO.setTbiBeforeDay(rs.getString("RYQHMTS"));//颅脑损伤患者昏迷前天数
  338. homePageVO.setTbiBeforeHour(rs.getString("RYQHMXS"));//颅脑损伤患者昏迷前小时
  339. homePageVO.setTbiBeforeMinute(rs.getString("RYQHMFZ"));//颅脑损伤患者昏迷前分钟
  340. homePageVO.setTbiAfterDay(rs.getString("RYQHMFZ"));//颅脑损伤患者昏迷后天数
  341. homePageVO.setTbiAfterHour(rs.getString("RYHHMXS"));//颅脑损伤患者昏迷后小时
  342. homePageVO.setTbiAfterMinute(rs.getString("RYQHMFZ"));//颅脑损伤患者昏迷后分钟
  343. homePageVO.setTotalFee(rs.getString("ZFY"));//总费用
  344. homePageVO.setOwnFee(rs.getString("ZFJE"));//自付金额
  345. homePageVO.setGeneralFee(rs.getString("YBYLFWF"));//一般医疗服务费
  346. homePageVO.setServiceFee(rs.getString("YBZLCZF"));//一般治疗服务费
  347. homePageVO.setNurseFee(rs.getString("HLF"));//护理费
  348. //homePageVO.setOtherFee(rs.getString("QTFY"));//其他费用
  349. homePageVO.setPathologyFee(rs.getString("BLZDF"));//病理诊断费
  350. homePageVO.setLabFee(rs.getString("SYSZDF"));//实验室诊断费
  351. homePageVO.setPacsFee(rs.getString("YXXZDF"));//影像学诊断费
  352. homePageVO.setClinicDiagnoseFee(rs.getString("LCZDXMF"));//临床诊断项目费
  353. homePageVO.setNotOperationFee(rs.getString("FSSZLXMF"));//非手术治疗项目费
  354. homePageVO.setClinicPhysicFee(rs.getString("LCWLZLF"));//临床物理治疗费
  355. homePageVO.setOperationTreatFee(rs.getString("SSZLF"));//手术治疗费
  356. homePageVO.setAnaesthesiaFee(rs.getString("MZF"));//麻醉费
  357. homePageVO.setOperationFee(rs.getString("SSF"));//手术费
  358. homePageVO.setHealthTypeFee(rs.getString("KFF"));//康复类
  359. homePageVO.setChnTreatFee(rs.getString("ZYZLF"));//中医治疗费
  360. homePageVO.setWesternMedFee(rs.getString("XYF"));//西药费
  361. homePageVO.setAntibiosisFee(rs.getString("KJYWF"));//抗菌药物费用
  362. homePageVO.setChnMedFee(rs.getString("ZCYF"));//中成药费
  363. homePageVO.setChnHerbFee(rs.getString("CYF"));//中草药费
  364. homePageVO.setBloodFee(rs.getString("XF"));//血费
  365. homePageVO.setAlbumenFee(rs.getString("BDBLZPF"));//白蛋白类制品费
  366. homePageVO.setGlobulinFee(rs.getString("QDBLZPF"));//球蛋白类制品费
  367. homePageVO.setBloodFactorFee(rs.getString("NXYZLZPF"));//凝血因子类制品费
  368. homePageVO.setCellFactorFee(rs.getString("XBYZLZPF"));//细胞因子类制品费
  369. homePageVO.setCheckMaterialFee(rs.getString("JCYYCXYYCLF"));//检查用一次性医用材料费
  370. homePageVO.setTreatMaterialFee(rs.getString("ZLYYCXYYCLF"));//治疗用一次性医用材料费
  371. homePageVO.setOperationMaterialFee(rs.getString("SSYYCXYYCLF"));//手术用一次性医用材料费
  372. homePageVO.setOtherTypeFee(rs.getString("QTF"));//其他类其他费
  373. homePageVO.setSingleDiagManage(rs.getString("DBZGL"));//单病种管理
  374. homePageVO.setClinicPathwayManage(rs.getString("SSLCLJGL"));//临床路径管理
  375. homePageVO.setIsOutpatientBehospital(rs.getString("MZZYFH"));//门诊与住院
  376. homePageVO.setIsLeaveBehospital(rs.getString("RYCYFH"));//入院与出院
  377. homePageVO.setIsOperationBeforeAfter(rs.getString("SQSHFH"));//术前与术后
  378. homePageVO.setIsClinicPathology(rs.getString("LCBLFH"));//临床与病理
  379. homePageVO.setIsRadiatePathology(rs.getString("FSBLFH"));//放射与病理
  380. homePageVO.setRescueSuccessNum(rs.getString("BRQJCS"));//病人抢救次数
  381. homePageVO.setRescueSuccessNum(rs.getString("QJCGCS"));//病人抢救成功次数
  382. homePageVO.setIsAutoLeavehospital(rs.getString("ZDCYPB"));//是否为自动出院
  383. homePageVO.setReturnToType(rs.getString("CYQKDM"));//转归情况
  384. homePageVO.setGmtCreate(new Date());
  385. HomePage homePage=new HomePage();
  386. BeanUtil.copyProperties(homePageVO, homePage);
  387. homePageList.add(homePage);
  388. }
  389. } catch (Exception e) {
  390. e.printStackTrace();
  391. }
  392. return homePageList;
  393. }
  394. /**
  395. * 获取病历信息
  396. * @return
  397. */
  398. public List<BehospitalInfo> getBehospitalInfo() {
  399. List<BehospitalInfo> behospitalInfoList=Lists.newLinkedList();
  400. try {
  401. DBConn dbconn=new DBConn();
  402. //String sql="select * from br_inpatientinfo where CJCXRQ BETWEEN TO_DATE('2020-01-01', 'yyyy-MM-dd') and TO_DATE('2020-01-20', 'yyyy-MM-dd')";
  403. //String sql="select top 2000 * from br_inpatientinfo where ZYKSID IN('1040200','1050000') order by CJCXRQ desc";
  404. String sql="select * from br_inpatientinfo where ZYKSID IN('1020500','1009100','1030200')";
  405. //String sql="select * from br_inpatientinfo where DateDiff(dd,CJCXRQ,getdate())=1";
  406. ResultSet rs =dbconn.Query(sql, null);
  407. while(rs.next()){
  408. BehospitalInfo behospitalInfo=new BehospitalInfo();
  409. behospitalInfo.setBehospitalCode(rs.getString("BRZYID"));//病人住院ID
  410. behospitalInfo.setHospitalId(Long.valueOf("3"));//医院ID
  411. behospitalInfo.setName(rs.getString("BRDAXM"));//姓名
  412. behospitalInfo.setSex(rs.getString("BRDAXB").equals("M")?"男":"女");//性别
  413. behospitalInfo.setBirthday(rs.getDate("BRCSRQ"));//出生日期
  414. behospitalInfo.setFileCode(rs.getString("BRDABH"));//档案号
  415. behospitalInfo.setWardCode(rs.getString("ZYBQID"));//病区编码
  416. behospitalInfo.setWardName(rs.getString("ZYBQMC"));//病区名称
  417. behospitalInfo.setBehDeptId(rs.getString("ZYKSID"));//住院科室ID
  418. behospitalInfo.setBehDeptName(rs.getString("ZYKSMC"));//住院科室名称
  419. behospitalInfo.setBedCode(rs.getString("ZYCWID"));//床位号
  420. behospitalInfo.setBedName(rs.getString("ZYCWHM"));//床位名称
  421. behospitalInfo.setInsuranceName(rs.getString("BRLBID"));//医保类别
  422. behospitalInfo.setJobType(rs.getString("BRXZID"));//职业
  423. behospitalInfo.setBehospitalDate(rs.getDate("BRRYRQ"));//入院时间
  424. behospitalInfo.setLeaveHospitalDate(rs.getDate("BRCYRQ"));//出院时间
  425. behospitalInfo.setDiagnoseIcd(rs.getString("JBDMID"));//疾病ICD编码
  426. behospitalInfo.setDiagnose(rs.getString("JBMSXX"));//疾病名称
  427. behospitalInfo.setDoctorId(rs.getString("ZZYSID"));//医生ID
  428. behospitalInfo.setDoctorName(rs.getString("ZZYSXM"));//医生姓名
  429. behospitalInfo.setGmtCreate(new Date());
  430. behospitalInfoList.add(behospitalInfo);
  431. }
  432. } catch (Exception e) {
  433. e.printStackTrace();
  434. }
  435. return behospitalInfoList;
  436. }
  437. /**
  438. * 从视图中获取医嘱信息
  439. * @return
  440. */
  441. public List<DoctorAdvice> getDoctorAdvice(){
  442. List<DoctorAdvice> doctorAdviceList=Lists.newLinkedList();
  443. try {
  444. DBConn dbconn=new DBConn();
  445. //String sql="select * from br_doctadvice where CJCXRQ BETWEEN TO_DATE('2020-03-01', 'yyyy-MM-dd') and TO_DATE('2020-03-30', 'yyyy-MM-dd')";
  446. //String sql="select top 2000 * from br_doctadvice order by CJCXRQ desc";
  447. String sql="select * from br_doctadvice where DateDiff(dd,CJCXRQ,getdate())>100 AND DateDiff(dd,CJCXRQ,getdate())<=200 AND BRZYID IN (select BRZYID from br_inpatientinfo where ZYKSID IN('1020500','1009100','1030200')) ORDER BY CJCXRQ desc";
  448. //String sql="select * from br_doctadvice where DateDiff(dd,CJCXRQ,getdate())=1";
  449. ResultSet rs =dbconn.Query(sql, null);
  450. while(rs.next()){
  451. FDoctorAdviceVO doctorAdviceVO=new FDoctorAdviceVO();
  452. doctorAdviceVO.setDoctorAdviceId(rs.getString("BRYZID"));//病人医嘱ID
  453. doctorAdviceVO.setHospitalId(Long.valueOf("3"));//医院ID
  454. doctorAdviceVO.setBehospitalCode(rs.getString("BRZYID"));//病人ID
  455. doctorAdviceVO.setOrderDoctorName(rs.getString("YSKDPB"));//医生开单判别
  456. doctorAdviceVO.setFrequency(rs.getString("YZPLPB"));//医嘱频率判别
  457. doctorAdviceVO.setParentTypeId(rs.getString("FLYZID"));//父类医嘱ID
  458. doctorAdviceVO.setDoctorAdviceType(rs.getString("YZLXPB"));//医嘱类型判别
  459. doctorAdviceVO.setUsageNum(rs.getString("YCSYSL"));//一次使用数量
  460. doctorAdviceVO.setUsageUnit(rs.getString("YCYLDW"));//一次用量单位
  461. doctorAdviceVO.setDose(rs.getString("YZDCJL"));//医嘱单次剂量
  462. doctorAdviceVO.setDoseUnit(rs.getString("DCJLDW"));//单次剂量单位
  463. doctorAdviceVO.setMedModeType(rs.getString("GYFSID"));//给药方式
  464. doctorAdviceVO.setDaFrequency(rs.getString("YZPLID"));//医嘱频率
  465. doctorAdviceVO.setDaDealType(rs.getString("YZCLLX"));//医嘱处理类型
  466. doctorAdviceVO.setDaStartDate(rs.getDate("YZKSSJ"));//医嘱开始时间
  467. doctorAdviceVO.setDaItemName(rs.getString("YZXMMC"));//医嘱项目名称
  468. doctorAdviceVO.setDaStatus(rs.getString("YZZTPB"));//医嘱状态判别
  469. doctorAdviceVO.setDaStopDate(rs.getDate("YZJSSJ"));//医嘱结束时间
  470. doctorAdviceVO.setDaGroupNo(rs.getString("YZTZXH"));//医嘱同组序号
  471. doctorAdviceVO.setDaPrescriptionType(rs.getString("YZCFLX"));//医嘱处方类型
  472. doctorAdviceVO.setDaMedType(rs.getString("YZLYLX"));//医嘱领药类型
  473. doctorAdviceVO.setDoctorNotice(rs.getString("YSZTSM"));//医生嘱托
  474. doctorAdviceVO.setDoctorId(rs.getString("KDYSID"));//开单医生ID
  475. doctorAdviceVO.setDoctorName(rs.getString("KDYSMC"));//开单医生姓名
  476. //doctorAdviceVO.set
  477. DoctorAdvice doctorAdvice=new DoctorAdvice();
  478. BeanUtil.copyProperties(doctorAdviceVO, doctorAdvice);
  479. doctorAdviceList.add(doctorAdvice);
  480. }
  481. } catch (Exception e) {
  482. e.printStackTrace();
  483. }
  484. return doctorAdviceList;
  485. }
  486. /**
  487. * 从视图中获取文书类型
  488. * @return
  489. */
  490. public List<MedicalRecord> getMedicalRecord(){
  491. List<MedicalRecord> medicalRecordList=Lists.newLinkedList();
  492. try {
  493. DBConn dbconn=new DBConn();
  494. //String sql="select * from ar_medirecclass where CJCXRQ BETWEEN TO_DATE('2020-02-01', 'yyyy-MM-dd') and TO_DATE('2020-04-30', 'yyyy-MM-dd')";
  495. //String sql="select * from mr_medicalrecords where DateDiff(dd,CJCXRQ,getdate())=1";
  496. String sql="select * from mr_medicalrecords where BRZYID IN (select BRZYID from br_inpatientinfo where ZYKSID IN('1020500','1009100','1030200'))";
  497. //String sql="select * from mr_medicalrecords where BRZYID IN (select top 2000 BRZYID from br_inpatientinfo where ZYKSID IN('1040200','1050000') order by CJCXRQ desc)";
  498. ResultSet rs =dbconn.Query(sql, null);
  499. while(rs.next()){
  500. MedicalRecord medicalRecord=new MedicalRecord();
  501. medicalRecord.setRecId(rs.getString("BLJLID"));
  502. medicalRecord.setHospitalId(Long.valueOf("3"));//医院ID
  503. medicalRecord.setBehospitalCode(rs.getString("BRZYID"));//病人住院ID
  504. medicalRecord.setOrgCode(rs.getString("ZZJGDM"));//组织机构代码
  505. medicalRecord.setRecTypeId(rs.getString("BLMBID"));//对应his模板ID
  506. medicalRecord.setRecDate(rs.getString("BCJLSJ"));//病历日期
  507. medicalRecord.setRecTitle(rs.getString("BLJLMC"));//病历标题
  508. medicalRecord.setModeId(Long.valueOf(rs.getString("BLLBID")));//对应his类别ID
  509. medicalRecord.setGmtCreate(new Date());
  510. medicalRecordList.add(medicalRecord);
  511. }
  512. } catch (Exception e) {
  513. e.printStackTrace();
  514. }
  515. return medicalRecordList;
  516. }
  517. /**
  518. * 从视图中获取文书内容
  519. * @return
  520. */
  521. public List<MedicalRecordContent> getMedicalRecordContent(){
  522. List<MedicalRecordContent> mrContentList=Lists.newLinkedList();
  523. try {
  524. DBConn dbconn=new DBConn();
  525. //String sql="select * from mr_mrcontent where CJCXRQ BETWEEN TO_DATE('2020-02-01', 'yyyy-MM-dd') and TO_DATE('2020-02-20', 'yyyy-MM-dd')";
  526. //String sql="select * from mr_mrcontent where DateDiff(dd,CJCXRQ,getdate())=0";
  527. //String sql="select * from mr_mrcontent WHERE BLJLID in (select BLJLID from mr_medicalrecords where BRZYID IN (select BRZYID from br_inpatientinfo where ZYKSID IN('1020500','1009100','1030200')))";
  528. String sql="select * from mr_mrcontent WHERE BLJLID in (select BLJLID from mr_medicalrecords where BRZYID IN (select BRZYID from br_inpatientinfo where ZYKSID IN('1020500','1009100','1030200')) AND BLJLMC='0110 查房记录(SOAP)')";
  529. ResultSet rs =dbconn.Query(sql, null);
  530. while(rs.next()){
  531. MedicalRecordContent mrContent=new MedicalRecordContent();
  532. mrContent.setHospitalId(Long.valueOf("3"));
  533. mrContent.setRecId(rs.getString("BLJLID"));
  534. mrContent.setXmlText(rs.getString("BLJLNR"));
  535. mrContent.setGmtCreate(new Date());
  536. mrContentList.add(mrContent);
  537. }
  538. } catch (Exception e) {
  539. e.printStackTrace();
  540. }
  541. return mrContentList;
  542. }
  543. /**
  544. * 从视图中获取文书类型
  545. * @return
  546. */
  547. public List<MedRecordType> getMedicalRecordType(){
  548. List<FMedicalRecordTypeVO> mrTypeVOList=Lists.newLinkedList();
  549. try {
  550. DBConn dbconn=new DBConn();
  551. //String sql="select * from ar_medirecclass where CJCXRQ BETWEEN TO_DATE('2020-02-01', 'yyyy-MM-dd') and TO_DATE('2020-02-20', 'yyyy-MM-dd')";
  552. String sql="select * from ar_medirecclass where SFZFPB='1'";
  553. ResultSet rs =dbconn.Query(sql, null);
  554. while(rs.next()){
  555. FMedicalRecordTypeVO mrTypeVO=new FMedicalRecordTypeVO();
  556. mrTypeVO.setTypeId(rs.getString("BLLBID"));
  557. mrTypeVO.setHospitalId(Long.valueOf("3"));
  558. mrTypeVO.setTypeName(rs.getString("BLLBMC"));
  559. mrTypeVO.setParentTypeId(rs.getString("SJLBID"));
  560. mrTypeVO.setObjName(rs.getString("BLLBFW"));
  561. mrTypeVO.setSpell(rs.getString("HZSRM1"));
  562. mrTypeVOList.add(mrTypeVO);
  563. }
  564. } catch (Exception e) {
  565. e.printStackTrace();
  566. }
  567. List<MedRecordType> medicalRecordTypeList=BeanUtil.listCopyTo(mrTypeVOList, MedRecordType.class);
  568. return medicalRecordTypeList;
  569. }
  570. public static void main(String[] args) {
  571. TZDBConn dbconn=new TZDBConn();
  572. //List<DoctorAdvice> doctorAdviceList=dbconn.getDoctorAdvice();
  573. dbconn.getBehospitalInfo();
  574. }
  575. }