ViewController.java 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  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. // String REPORT_ID = jsonObject.getString("REPORT_ID")==null?"":jsonObject.getString("REPORT_ID");
  54. Record record = Db.use("crb").findFirst("select * from DC_PACS_REPORT where ID=?", jsonObject.getString("ID"));
  55. if (record == null) {
  56. Record DC_PACS_REPORT = new Record()
  57. .set("ID", jsonObject.getString("ID"))
  58. .set("REPORT_ID", jsonObject.getString("REPORT_ID"))
  59. .set("PAT_FROM_TYPE", "门诊")
  60. .set("PAT_NUM", jsonObject.getString("PAT_NUM")==null?"":jsonObject.getString("PAT_NUM"))
  61. .set("TESTLIST", jsonObject.getString("TESTLIST")==null?"":jsonObject.getString("TESTLIST"))
  62. .set("NAME", jsonObject.getString("NAME"))
  63. .set("SEX",jsonObject.getString("SEX").contains("M")?"男":"女")
  64. .set("BIRTHDAY", jsonObject.getDate("BIRTHDAY")==null?"":jsonObject.getDate("BIRTHDAY"))
  65. .set("ADDRESS", jsonObject.getString("ADDRESS"))
  66. .set("TEL", jsonObject.getString("TEL")==null?"":jsonObject.getString("TEL"))
  67. .set("ORG_CODE", "371728007")
  68. .set("ORG_NAME", "东明县第二人民医院")
  69. .set("DEP_NAME", jsonObject.getString("DEP_NAME")==null?"":jsonObject.getString("DEP_NAME"))
  70. .set("DEP_CODE", jsonObject.getString("DEP_CODE"))
  71. .set("DUTY_DOCTOR_NAME", jsonObject.getString("DUTY_DOCTOR_NAME")==null?"":jsonObject.getString("DUTY_DOCTOR_NAME"))
  72. .set("DUTY_DOCTOR_ID", jsonObject.getString("DUTY_DOCTOR_ID"))
  73. .set("CHIEF_COMPLAINT", jsonObject.getString("CHIEF_COMPLAINT"))
  74. .set("DIAGNOSIS", jsonObject.getString("DIAGNOSIS")==null?"":jsonObject.getString("DIAGNOSIS"))
  75. .set("STUDY_BODYPART", jsonObject.getString("STUDY_BODYPART"))
  76. .set("IMAGE_TYPE_NAME", jsonObject.getString("IMAGE_TYPE_NAME"))
  77. .set("FINDING", jsonObject.getString("FINDING"))
  78. .set("CONCLUSION", jsonObject.getString("CONCLUSION"))
  79. .set("FLAG_DIAGNOSTIC_ACCORDANCE", "1")
  80. .set("HAPPEN_TIME", jsonObject.getDate("HAPPEN_TIME"))
  81. .set("SYSTEMTIME", jsonObject.getDate("SYSTEMTIME"))
  82. .set("HOSPITAL_CODE", "371728007")
  83. .set("UPDATE_TIME", jsonObject.getDate("UPDATE_TIME"))
  84. .set("STATE", "0");
  85. Db.use("crb").save("DC_PACS_REPORT", 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.getDate("SYSTEMTIME"))
  97. ;
  98. Db.use("crb").save("DC_PACS_XML", "REPORT_ID", DC_PACS_XML);
  99. this.renderJson(DC_PACS_XML);
  100. }
  101. }
  102. // this.renderJson(jsonArray);
  103. } catch (Exception e) {
  104. // TODO: handle exception
  105. this.renderText(e.toString());
  106. // continue;
  107. }
  108. // this.renderJson(jsonArray);
  109. }
  110. public void testus() {
  111. try {
  112. List<Record> records = Db.use("connected").find("select * from View_PACS where CHECK_TYPE='US1'");
  113. for (Record rd : records) {
  114. 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"));
  115. if(recordfind !=null)
  116. {
  117. continue;
  118. }
  119. Record record =new Record();
  120. record.set("HISID", rd.getStr("HISID")==null?"":rd.getStr("HISID"));
  121. record.set("INPATIENTNO", rd.getStr("INPATIENTNO")==null?"":rd.getStr("INPATIENTNO"));
  122. record.set("LODGENO", rd.getStr("LODGENO")==null?"":rd.getStr("LODGENO"));
  123. record.set("NAME", rd.getStr("NAME")==null?"":rd.getStr("NAME"));
  124. record.set("SEX", rd.getStr("SEX")==null?"":rd.getStr("SEX"));
  125. record.set("BIRTHDATE", rd.getStr("BIRTHDATE")==null?"":rd.getStr("BIRTHDATE"));
  126. record.set("LODGESECTION", rd.getStr("LODGESECTION")==null?"":rd.getStr("LODGESECTION"));
  127. record.set("LODGEDOCTOR", rd.getStr("LODGEDOCTOR")==null?"":rd.getStr("LODGEDOCTOR"));
  128. record.set("AGE", rd.getStr("AGE")==null?"":rd.getStr("AGE"));
  129. record.set("CHECK_TYPE", rd.getStr("CHECK_TYPE")==null?"":rd.getStr("CHECK_TYPE"));
  130. record.set("PARTOFCHECK", rd.getStr("PARTOFCHECK")==null?"":rd.getStr("PARTOFCHECK"));
  131. record.set("DIRECTION", rd.getStr("DIRECTION")==null?"":rd.getStr("DIRECTION"));
  132. record.set("ADDRESS", rd.getStr("ADDRESS")==null?"":rd.getStr("ADDRESS"));
  133. record.set("RACE", rd.getStr("RACE")==null?"":rd.getStr("RACE"));
  134. record.set("PROFESSION", rd.getStr("PROFESSION")==null?"":rd.getStr("PROFESSION"));
  135. record.set("MARITALSTATUS", rd.getStr("MARITALSTATUS")==null?"":rd.getStr("MARITALSTATUS"));
  136. record.set("TELEPHONE", "");
  137. record.set("DEGREE", rd.getStr("DEGREE")==null?"":rd.getStr("DEGREE"));
  138. record.set("LODGEDATE", rd.getStr("LODGEDATE")==null?"":rd.getStr("LODGEDATE"));
  139. record.set("BEDNO", rd.getStr("BEDNO")==null?"":rd.getStr("BEDNO"));
  140. record.set("TIMES", rd.getStr("TIMES")==null?"":rd.getStr("TIMES"));
  141. record.set("zyh", rd.getStr("zyh")==null?"":rd.getStr("zyh"));
  142. record.set("cwh", rd.getStr("cwh")==null?"":rd.getStr("cwh"));
  143. Db.use("local").save("View_PACS", record);
  144. }
  145. } catch (Exception e) {
  146. // TODO: handle exception
  147. this.renderText(e.toString());
  148. }
  149. }
  150. public void testConn() {
  151. try {
  152. DruidPlugin druidPluginConnected = createConnectedDruidPlugin();
  153. druidPluginConnected.start();
  154. // 配置ActiveRecord插件
  155. ActiveRecordPlugin arpConnected = new ActiveRecordPlugin("local", druidPluginConnected);
  156. arpConnected.setDialect(new MysqlDialect());
  157. arpConnected.start();
  158. } catch (Exception e) {
  159. // TODO: handle exception
  160. this.renderText(e.toString());
  161. }
  162. }
  163. public static DruidPlugin createConnectedDruidPlugin() {
  164. return new DruidPlugin(PropKit.get("jdbcUrl_local"), PropKit.get("user_local"),PropKit.get("password_local").trim());
  165. }
  166. /**
  167. * 日期字符串格式转换
  168. * @param dateStr
  169. * @return
  170. */
  171. private String parseStringToDate() {
  172. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  173. Date date = new Date();
  174. //start
  175. long dInteger = date.getTime() - 96400000;
  176. String daString = sdf.format(new Date(dInteger));
  177. //end
  178. long eInteger = date.getTime() - 600000;
  179. String endString = sdf.format(new Date(eInteger));
  180. return daString+","+endString;
  181. }
  182. /**
  183. * post请求
  184. * @param url-请求地址
  185. * @param map-参数集合
  186. * @return
  187. */
  188. private static String doPost(String url, Map<String, String> map) {
  189. FormBody.Builder builder = new FormBody.Builder();
  190. for (String key : map.keySet()) {
  191. builder.add(key, map.get(key));
  192. }
  193. RequestBody formBody = builder.build();
  194. Request request = new Request.Builder().url(url).post(formBody).build();
  195. try (Response response = OKHTTP_CLIENT.newCall(request).execute()) {
  196. if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
  197. String content = response.body().string();
  198. return content;
  199. } catch (IOException e) {
  200. // TODO Auto-generated catch block
  201. e.printStackTrace();
  202. return null;
  203. }
  204. }
  205. /**
  206. * 日期字符串格式转换
  207. * @param dateStr
  208. * @return
  209. */
  210. private Date parseStringToDate(String dateStr) {
  211. if (dateStr == null) {
  212. return new Date();
  213. }
  214. SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  215. Date date = null;
  216. try {
  217. date = sdf.parse(dateStr);
  218. } catch (ParseException e) {
  219. // TODO Auto-generated catch block
  220. e.printStackTrace();
  221. }
  222. return date;
  223. }
  224. public static void main(String[] args) {
  225. Map<String,String> paramsMap=new HashMap<String,String>();
  226. paramsMap.put("institution_id", "44100001");
  227. String contentString = doPost("https://risserver3.pacsonline.cn/butt/getExam/butt/getExam", paramsMap);
  228. System.out.println(contentString);
  229. }
  230. }