ViewController.java 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. package com.zskk.control;
  2. import java.io.IOException;
  3. import java.text.ParseException;
  4. import java.text.SimpleDateFormat;
  5. import java.util.Date;
  6. import java.util.HashMap;
  7. import java.util.List;
  8. import java.util.Map;
  9. import com.alibaba.fastjson.JSON;
  10. import com.alibaba.fastjson.JSONArray;
  11. import com.alibaba.fastjson.JSONObject;
  12. import com.jfinal.core.Controller;
  13. import com.jfinal.kit.PropKit;
  14. import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
  15. import com.jfinal.plugin.activerecord.Db;
  16. import com.jfinal.plugin.activerecord.Record;
  17. import com.jfinal.plugin.activerecord.dialect.MysqlDialect;
  18. import com.jfinal.plugin.activerecord.dialect.SqlServerDialect;
  19. import com.jfinal.plugin.druid.DruidPlugin;
  20. import com.zskk.service.DataService;
  21. import com.zskk.service.ServiceFactory;
  22. import okhttp3.FormBody;
  23. import okhttp3.MediaType;
  24. import okhttp3.OkHttpClient;
  25. import okhttp3.Request;
  26. import okhttp3.RequestBody;
  27. import okhttp3.Response;
  28. public class ViewController extends Controller {
  29. private static final MediaType JSON_CODE = MediaType.get("application/json; charset=utf-8");
  30. private static final OkHttpClient OKHTTP_CLIENT = new OkHttpClient();
  31. /**
  32. * 在被连接数据库执行sql语句
  33. */
  34. public void executeSql() {
  35. List<Record> d = Db.use("connected").find(this.getPara("sqlstr"));
  36. this.renderJson(d);
  37. }
  38. /**
  39. * 在被连接数据库执行sql语句
  40. */
  41. public void executeSqlCrb() {
  42. List<Record> d = Db.use("crb").find(this.getPara("sqlstr"));
  43. this.renderJson(d);
  44. }
  45. public void testcrb() {
  46. try {
  47. DataService dService = ServiceFactory.getService(DataService.class);
  48. Map<String, String> dateparams = new HashMap<>();
  49. dateparams.put("datetime", parseStringToDate());
  50. JSONArray jsonArray = dService.getReport(dateparams);
  51. for (Object object : jsonArray) {
  52. JSONObject jsonObject = JSON.parseObject(object.toString());
  53. Record record = Db.use("crb").findFirst("select * from DC_PACS_REPORT where ID=?", jsonObject.getString("ID"));
  54. if (record == null) {
  55. Record DC_PACS_REPORT = new Record()
  56. .set("ID", jsonObject.getString("ID"))
  57. .set("REPORT_ID", jsonObject.getString("REPORT_ID"))
  58. .set("PAT_FROM_TYPE", "门诊")
  59. .set("PAT_NUM", jsonObject.getString("PAT_NUM")==null?"":jsonObject.getString("PAT_NUM"))
  60. .set("TESTLIST", jsonObject.getString("TESTLIST")==null?"":jsonObject.getString("TESTLIST"))
  61. .set("NAME", jsonObject.getString("NAME"))
  62. .set("SEX",jsonObject.getString("SEX").contains("M")?"男":"女")
  63. .set("BIRTHDAY", jsonObject.getString("BIRTHDAY")==null?"":jsonObject.getString("BIRTHDAY"))
  64. .set("ADDRESS", jsonObject.getString("ADDRESS"))
  65. .set("TEL", jsonObject.getString("TEL"))
  66. .set("ORG_CODE", "371728007")
  67. .set("ORG_NAME", "东明县第二人民医院")
  68. .set("DEP_NAME", jsonObject.getString("DEP_NAME"))
  69. .set("DEP_CODE", jsonObject.getString("DEP_CODE"))
  70. .set("DUTY_DOCTOR_NAME", jsonObject.getString("DUTY_DOCTOR_NAME"))
  71. .set("DUTY_DOCTOR_ID", jsonObject.getString("DUTY_DOCTOR_ID"))
  72. .set("CHIEF_COMPLAINT", jsonObject.getString("CHIEF_COMPLAINT"))
  73. .set("DIAGNOSIS", jsonObject.getString("DIAGNOSIS"))
  74. .set("STUDY_BODYPART", jsonObject.getString("STUDY_BODYPART"))
  75. .set("IMAGE_TYPE_NAME", jsonObject.getString("IMAGE_TYPE_NAME"))
  76. .set("FINDING", jsonObject.getString("FINDING"))
  77. .set("CONCLUSION", jsonObject.getString("CONCLUSION"))
  78. .set("FLAG_DIAGNOSTIC_ACCORDANCE", "1")
  79. .set("HAPPEN_TIME", jsonObject.getString("HAPPEN_TIME"))
  80. .set("SYSTEMTIME", jsonObject.getString("SYSTEMTIME"))
  81. .set("HOSPITAL_CODE", "371728007")
  82. .set("UPDATE_TIME", jsonObject.getString("UPDATE_TIME"))
  83. .set("STATE", "0");
  84. Db.use("crb").save("DC_PACS_REPORT", DC_PACS_REPORT);
  85. this.renderJson(DC_PACS_REPORT);
  86. }}
  87. // Record record2 = Db.use("crb").findFirst("select * from DC_PACS_XML where REPORT_ID=?", jsonObject.getString("REPORT_ID"));
  88. // if (record2 == null) {
  89. // Record DC_PACS_XML = new Record()
  90. // .set("REPORT_ID", jsonObject.getString("REPORT_ID"))
  91. // .set("PAT_FROM_TYPE", "门诊")
  92. // .set("PAT_NUM", jsonObject.getString("PAT_NUM")==null?"":jsonObject.getString("PAT_NUM"))
  93. // .set("ORG_CODE", "371728007")
  94. // .set("ORG_NAME", "东明县第二人民医院")
  95. // .set("REPORT_XML", jsonObject.getString("FINDING")+jsonObject.getString("CONCLUSION"))
  96. // .set("SYSTEMTIME", jsonObject.getString("SYSTEMTIME"));
  97. // Db.use("crb").save("study", DC_PACS_XML);
  98. // }
  99. //
  100. // }
  101. // this.renderJson(jsonArray);
  102. } catch (Exception e) {
  103. // TODO: handle exception
  104. this.renderText(e.toString());
  105. // continue;
  106. }
  107. // this.renderJson(jsonArray);
  108. }
  109. public void testus() {
  110. try {
  111. List<Record> records = Db.use("connected").find("select * from View_PACS where CHECK_TYPE='US1'");
  112. for (Record rd : records) {
  113. Record recordfind =Db.use("local").findFirst("select * from View_PACS where HISID=? and PARTOFCHECK=? and LODGEDATE=?",rd.getStr("HISID"),rd.getStr("PARTOFCHECK"),rd.getStr("LODGEDATE"));
  114. if(recordfind !=null)
  115. {
  116. continue;
  117. }
  118. Record record =new Record();
  119. record.set("HISID", rd.getStr("HISID")==null?"":rd.getStr("HISID"));
  120. record.set("INPATIENTNO", rd.getStr("INPATIENTNO")==null?"":rd.getStr("INPATIENTNO"));
  121. record.set("LODGENO", rd.getStr("LODGENO")==null?"":rd.getStr("LODGENO"));
  122. record.set("NAME", rd.getStr("NAME")==null?"":rd.getStr("NAME"));
  123. record.set("SEX", rd.getStr("SEX")==null?"":rd.getStr("SEX"));
  124. record.set("BIRTHDATE", rd.getStr("BIRTHDATE")==null?"":rd.getStr("BIRTHDATE"));
  125. record.set("LODGESECTION", rd.getStr("LODGESECTION")==null?"":rd.getStr("LODGESECTION"));
  126. record.set("LODGEDOCTOR", rd.getStr("LODGEDOCTOR")==null?"":rd.getStr("LODGEDOCTOR"));
  127. record.set("AGE", rd.getStr("AGE")==null?"":rd.getStr("AGE"));
  128. record.set("CHECK_TYPE", rd.getStr("CHECK_TYPE")==null?"":rd.getStr("CHECK_TYPE"));
  129. record.set("PARTOFCHECK", rd.getStr("PARTOFCHECK")==null?"":rd.getStr("PARTOFCHECK"));
  130. record.set("DIRECTION", rd.getStr("DIRECTION")==null?"":rd.getStr("DIRECTION"));
  131. record.set("ADDRESS", rd.getStr("ADDRESS")==null?"":rd.getStr("ADDRESS"));
  132. record.set("RACE", rd.getStr("RACE")==null?"":rd.getStr("RACE"));
  133. record.set("PROFESSION", rd.getStr("PROFESSION")==null?"":rd.getStr("PROFESSION"));
  134. record.set("MARITALSTATUS", rd.getStr("MARITALSTATUS")==null?"":rd.getStr("MARITALSTATUS"));
  135. record.set("TELEPHONE", "");
  136. record.set("DEGREE", rd.getStr("DEGREE")==null?"":rd.getStr("DEGREE"));
  137. record.set("LODGEDATE", rd.getStr("LODGEDATE")==null?"":rd.getStr("LODGEDATE"));
  138. record.set("BEDNO", rd.getStr("BEDNO")==null?"":rd.getStr("BEDNO"));
  139. record.set("TIMES", rd.getStr("TIMES")==null?"":rd.getStr("TIMES"));
  140. record.set("zyh", rd.getStr("zyh")==null?"":rd.getStr("zyh"));
  141. record.set("cwh", rd.getStr("cwh")==null?"":rd.getStr("cwh"));
  142. Db.use("local").save("View_PACS", record);
  143. }
  144. } catch (Exception e) {
  145. // TODO: handle exception
  146. this.renderText(e.toString());
  147. }
  148. }
  149. public void testConn() {
  150. try {
  151. DruidPlugin druidPluginConnected = createConnectedDruidPlugin();
  152. druidPluginConnected.start();
  153. // 配置ActiveRecord插件
  154. ActiveRecordPlugin arpConnected = new ActiveRecordPlugin("local", druidPluginConnected);
  155. arpConnected.setDialect(new MysqlDialect());
  156. arpConnected.start();
  157. } catch (Exception e) {
  158. // TODO: handle exception
  159. this.renderText(e.toString());
  160. }
  161. }
  162. public static DruidPlugin createConnectedDruidPlugin() {
  163. return new DruidPlugin(PropKit.get("jdbcUrl_local"), PropKit.get("user_local"),PropKit.get("password_local").trim());
  164. }
  165. /**
  166. * 日期字符串格式转换
  167. * @param dateStr
  168. * @return
  169. */
  170. private String parseStringToDate() {
  171. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  172. Date date = new Date();
  173. //start
  174. long dInteger = date.getTime() - 96400000;
  175. String daString = sdf.format(new Date(dInteger));
  176. //end
  177. long eInteger = date.getTime() - 600000;
  178. String endString = sdf.format(new Date(eInteger));
  179. return daString+","+endString;
  180. }
  181. /**
  182. * post请求
  183. * @param url-请求地址
  184. * @param map-参数集合
  185. * @return
  186. */
  187. private static String doPost(String url, Map<String, String> map) {
  188. FormBody.Builder builder = new FormBody.Builder();
  189. for (String key : map.keySet()) {
  190. builder.add(key, map.get(key));
  191. }
  192. RequestBody formBody = builder.build();
  193. Request request = new Request.Builder().url(url).post(formBody).build();
  194. try (Response response = OKHTTP_CLIENT.newCall(request).execute()) {
  195. if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
  196. String content = response.body().string();
  197. return content;
  198. } catch (IOException e) {
  199. // TODO Auto-generated catch block
  200. e.printStackTrace();
  201. return null;
  202. }
  203. }
  204. /**
  205. * 日期字符串格式转换
  206. * @param dateStr
  207. * @return
  208. */
  209. private Date parseStringToDate(String dateStr) {
  210. if (dateStr == null) {
  211. return new Date();
  212. }
  213. SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  214. Date date = null;
  215. try {
  216. date = sdf.parse(dateStr);
  217. } catch (ParseException e) {
  218. // TODO Auto-generated catch block
  219. e.printStackTrace();
  220. }
  221. return date;
  222. }
  223. public static void main(String[] args) {
  224. Map<String,String> paramsMap=new HashMap<String,String>();
  225. paramsMap.put("institution_id", "44100001");
  226. String contentString = doPost("https://risserver3.pacsonline.cn/butt/getExam/butt/getExam", paramsMap);
  227. System.out.println(contentString);
  228. }
  229. }