package com.zskk.control; import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.jfinal.core.Controller; import com.jfinal.plugin.activerecord.Db; import com.jfinal.plugin.activerecord.Record; import com.zskk.service.DataService; import com.zskk.service.ServiceFactory; import com.zskk.service.ThreadPoolService; import com.zskk.tools.XmlHelper; import okhttp3.MediaType; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; import okhttp3.FormBody; import okhttp3.MediaType; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; public class ViewController extends Controller { private static final MediaType JSON_CODE = MediaType.get("application/json; charset=utf-8"); private static final OkHttpClient OKHTTP_CLIENT = new OkHttpClient(); /** * 在被连接数据库执行sql语句 */ public void executeSql() { String aaString=""; DataService dService = ServiceFactory.getService(DataService.class); JSONArray jsonArray = dService.getExamList(30); for (Object object : jsonArray) { JSONObject jsonObject = JSON.parseObject(object.toString()); String url = "http://192.168.2.41/WebQuery.asmx/Query"; OkHttpClient okHttpClient = new OkHttpClient(); StringBuilder sb = new StringBuilder(); sb.append("input="); sb.append("1.2.194.0.108707908.20200417210047.1800.13206.257166"); RequestBody body = RequestBody.create(sb.toString(), MediaType.get("application/x-www-form-urlencoded")); Request request = new Request.Builder().url(url).post(body).build(); try (Response response = okHttpClient.newCall(request).execute()) { String contentString = response.body().string(); XmlHelper xmlHelperStr = XmlHelper.of(contentString); String content = xmlHelperStr.getString("//string"); XmlHelper xmlHelper = XmlHelper.of(content); String patientname = xmlHelper.getString("//patientname"); if (patientname == null && patientname == null) { this.renderText("null"); } String department = xmlHelper.getString("//department"); String clinicaldoctor = xmlHelper.getString("//clinicaldoctor"); String reportdate = xmlHelper.getString("//reportdate"); String description = xmlHelper.getString("//description"); String impression = xmlHelper.getString("//impression"); String reportdoctor = xmlHelper.getString("//reportdoctor"); String reviewdoctor = xmlHelper.getString("//reviewdoctor"); String phone = xmlHelper.getString("//phone "); String idcard = xmlHelper.getString("//idcard "); String diagnosis = xmlHelper.getString("//diagnosis"); aaString = phone+"~"+idcard+"~"+department+aaString; // this.renderText(department+"~"+clinicaldoctor+"~"+reportdate+"~"+description+"~"+impression+"~"+reportdoctor+"~"+reviewdoctor+"~"+phone+"~"+idcard+"~"+diagnosis); this.renderText(phone==null?"1":"2" + parseStringToDate(reportdate).toString()); Map params = new HashMap<>(); params.put("exam_id", "cnb5089doo6pm476"); // 报告医生姓名 params.put("report_doctor_name", reportdoctor); // 报告时间 params.put("report_datetime", "2020-04-01 08:00:00"); // 审核医生姓名 params.put("review_doctor_name", reviewdoctor); // 审核时间 params.put("review_datetime", "2020-04-01 08:00:00"); // 确认医生姓名 params.put("confirm_doctor_name", reviewdoctor); // 确认时间 params.put("confirm_datetime", "2020-04-01 08:00:00"); // 意见建议 params.put("impression", impression); // 影像所见 params.put("description", description); // exams表 // 申请科室 params.put("application_department", department); // 申请医生 params.put("application_doctor", clinicaldoctor); // 临床诊断 params.put("clin_diag", diagnosis); // 症状 params.put("clin_symp", ""); // patient_infos表 // 患者姓名 params.put("name", patientname); // 患者手机号 params.put("phone", phone); // 患者身份证号 params.put("card_num", idcard); params.put("report_result", "0"); ThreadPoolService tService = ServiceFactory.getService(ThreadPoolService.class); tService.execute(() -> { dService.saveReport(params); }); }catch (Exception ex) { // TODO: handle exception StackTraceElement stackTraceElement= ex.getStackTrace()[0]; System.out.println("File="+stackTraceElement.getFileName()); System.out.println("Line="+stackTraceElement.getLineNumber()); System.out.println("Method="+stackTraceElement.getMethodName()); this.renderText(ex.toString()); }} } /** * post请求 * @param url-请求地址 * @param map-参数集合 * @return */ private static String doPost(String url, Map map) { FormBody.Builder builder = new FormBody.Builder(); for (String key : map.keySet()) { builder.add(key, map.get(key)); } RequestBody formBody = builder.build(); Request request = new Request.Builder().url(url).post(formBody).build(); try (Response response = OKHTTP_CLIENT.newCall(request).execute()) { if (!response.isSuccessful()) throw new IOException("Unexpected code " + response); String content = response.body().string(); return content; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } } /** * 日期字符串格式转换 * @param dateStr * @return */ private Date parseStringToDate(String dateStr) { if (dateStr == null) { return new Date(); } SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); Date date = null; try { date = sdf.parse(dateStr); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } return date; } public static void main(String[] args) { Map paramsMap=new HashMap(); paramsMap.put("institution_id", "44100001"); String contentString = doPost("https://risserver3.pacsonline.cn/butt/getExam/butt/getExam", paramsMap); System.out.println(contentString); } }