ViewController.java 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  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 tt() {
  46. DataService dService = ServiceFactory.getService(DataService.class);
  47. Map<String, String> dateparams = new HashMap<>();
  48. dateparams.put("datetime", parseStringToDate());
  49. JSONArray jsonArray = dService.getReport(dateparams);
  50. for (Object object : jsonArray) {
  51. try {
  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. }
  86. Record record2 = Db.use("crb").findFirst("select * from DC_PACS_XML where REPORT_ID=?", jsonObject.getString("REPORT_ID"));
  87. if (record2 == null) {
  88. Record DC_PACS_XML = new Record()
  89. .set("REPORT_ID", jsonObject.getString("REPORT_ID"))
  90. .set("PAT_FROM_TYPE", "门诊")
  91. .set("PAT_NUM", jsonObject.getString("PAT_NUM")==null?"":jsonObject.getString("PAT_NUM"))
  92. .set("ORG_CODE", "371728007")
  93. .set("ORG_NAME", "东明县第二人民医院")
  94. .set("REPORT_XML", jsonObject.getString("FINDING")+jsonObject.getString("CONCLUSION"))
  95. .set("SYSTEMTIME", jsonObject.getString("SYSTEMTIME"));
  96. Db.use("crb").save("study", DC_PACS_XML);
  97. }
  98. } catch (Exception e) {
  99. // TODO: handle exception
  100. this.renderText(e.toString());
  101. continue;
  102. }
  103. }
  104. this.renderJson(jsonArray);
  105. }
  106. public void testus() {
  107. try {
  108. List<Record> records = Db.use("connected").find("select * from View_PACS where CHECK_TYPE='US1'");
  109. for (Record rd : records) {
  110. 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"));
  111. if(recordfind !=null)
  112. {
  113. continue;
  114. }
  115. Record record =new Record();
  116. record.set("HISID", rd.getStr("HISID")==null?"":rd.getStr("HISID"));
  117. record.set("INPATIENTNO", rd.getStr("INPATIENTNO")==null?"":rd.getStr("INPATIENTNO"));
  118. record.set("LODGENO", rd.getStr("LODGENO")==null?"":rd.getStr("LODGENO"));
  119. record.set("NAME", rd.getStr("NAME")==null?"":rd.getStr("NAME"));
  120. record.set("SEX", rd.getStr("SEX")==null?"":rd.getStr("SEX"));
  121. record.set("BIRTHDATE", rd.getStr("BIRTHDATE")==null?"":rd.getStr("BIRTHDATE"));
  122. record.set("LODGESECTION", rd.getStr("LODGESECTION")==null?"":rd.getStr("LODGESECTION"));
  123. record.set("LODGEDOCTOR", rd.getStr("LODGEDOCTOR")==null?"":rd.getStr("LODGEDOCTOR"));
  124. record.set("AGE", rd.getStr("AGE")==null?"":rd.getStr("AGE"));
  125. record.set("CHECK_TYPE", rd.getStr("CHECK_TYPE")==null?"":rd.getStr("CHECK_TYPE"));
  126. record.set("PARTOFCHECK", rd.getStr("PARTOFCHECK")==null?"":rd.getStr("PARTOFCHECK"));
  127. record.set("DIRECTION", rd.getStr("DIRECTION")==null?"":rd.getStr("DIRECTION"));
  128. record.set("ADDRESS", rd.getStr("ADDRESS")==null?"":rd.getStr("ADDRESS"));
  129. record.set("RACE", rd.getStr("RACE")==null?"":rd.getStr("RACE"));
  130. record.set("PROFESSION", rd.getStr("PROFESSION")==null?"":rd.getStr("PROFESSION"));
  131. record.set("MARITALSTATUS", rd.getStr("MARITALSTATUS")==null?"":rd.getStr("MARITALSTATUS"));
  132. record.set("TELEPHONE", "");
  133. record.set("DEGREE", rd.getStr("DEGREE")==null?"":rd.getStr("DEGREE"));
  134. record.set("LODGEDATE", rd.getStr("LODGEDATE")==null?"":rd.getStr("LODGEDATE"));
  135. record.set("BEDNO", rd.getStr("BEDNO")==null?"":rd.getStr("BEDNO"));
  136. record.set("TIMES", rd.getStr("TIMES")==null?"":rd.getStr("TIMES"));
  137. record.set("zyh", rd.getStr("zyh")==null?"":rd.getStr("zyh"));
  138. record.set("cwh", rd.getStr("cwh")==null?"":rd.getStr("cwh"));
  139. Db.use("local").save("View_PACS", record);
  140. }
  141. } catch (Exception e) {
  142. // TODO: handle exception
  143. this.renderText(e.toString());
  144. }
  145. }
  146. public void testConn() {
  147. try {
  148. DruidPlugin druidPluginConnected = createConnectedDruidPlugin();
  149. druidPluginConnected.start();
  150. // 配置ActiveRecord插件
  151. ActiveRecordPlugin arpConnected = new ActiveRecordPlugin("local", druidPluginConnected);
  152. arpConnected.setDialect(new MysqlDialect());
  153. arpConnected.start();
  154. } catch (Exception e) {
  155. // TODO: handle exception
  156. this.renderText(e.toString());
  157. }
  158. }
  159. public static DruidPlugin createConnectedDruidPlugin() {
  160. return new DruidPlugin(PropKit.get("jdbcUrl_local"), PropKit.get("user_local"),PropKit.get("password_local").trim());
  161. }
  162. /**
  163. * 日期字符串格式转换
  164. * @param dateStr
  165. * @return
  166. */
  167. private String parseStringToDate() {
  168. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  169. Date date = new Date();
  170. //start
  171. long dInteger = date.getTime() - 86400000;
  172. String daString = sdf.format(new Date(dInteger));
  173. //end
  174. long eInteger = date.getTime() - 600000;
  175. String endString = sdf.format(new Date(eInteger));
  176. return daString+","+endString;
  177. }
  178. /**
  179. * post请求
  180. * @param url-请求地址
  181. * @param map-参数集合
  182. * @return
  183. */
  184. private static String doPost(String url, Map<String, String> map) {
  185. FormBody.Builder builder = new FormBody.Builder();
  186. for (String key : map.keySet()) {
  187. builder.add(key, map.get(key));
  188. }
  189. RequestBody formBody = builder.build();
  190. Request request = new Request.Builder().url(url).post(formBody).build();
  191. try (Response response = OKHTTP_CLIENT.newCall(request).execute()) {
  192. if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
  193. String content = response.body().string();
  194. return content;
  195. } catch (IOException e) {
  196. // TODO Auto-generated catch block
  197. e.printStackTrace();
  198. return null;
  199. }
  200. }
  201. /**
  202. * 日期字符串格式转换
  203. * @param dateStr
  204. * @return
  205. */
  206. private Date parseStringToDate(String dateStr) {
  207. if (dateStr == null) {
  208. return new Date();
  209. }
  210. SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  211. Date date = null;
  212. try {
  213. date = sdf.parse(dateStr);
  214. } catch (ParseException e) {
  215. // TODO Auto-generated catch block
  216. e.printStackTrace();
  217. }
  218. return date;
  219. }
  220. public static void main(String[] args) {
  221. Map<String,String> paramsMap=new HashMap<String,String>();
  222. paramsMap.put("institution_id", "44100001");
  223. String contentString = doPost("https://risserver3.pacsonline.cn/butt/getExam/butt/getExam", paramsMap);
  224. System.out.println(contentString);
  225. }
  226. }