123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244 |
- package com.zskk.control;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.OutputStreamWriter;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.net.URLConnection;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.UUID;
- import java.util.regex.Matcher;
- import org.apache.commons.io.IOUtils;
- import org.apache.http.NameValuePair;
- import org.apache.http.client.ClientProtocolException;
- import org.apache.http.client.entity.UrlEncodedFormEntity;
- import org.apache.http.client.methods.CloseableHttpResponse;
- import org.apache.http.client.methods.HttpPost;
- import org.apache.http.impl.client.CloseableHttpClient;
- import org.apache.http.impl.client.HttpClients;
- import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
- import org.apache.http.message.BasicNameValuePair;
- import com.alibaba.fastjson.JSON;
- import com.jfinal.core.Controller;
- import com.jfinal.kit.HttpKit;
- import com.jfinal.plugin.activerecord.Db;
- import com.jfinal.plugin.activerecord.Record;
- import com.zskk.model.Doctors;
- import com.zskk.model.Exams;
- import com.zskk.model.PatientInfos;
- import com.zskk.model.Report;
- import com.zskk.model.Studies;
- import com.zskk.tools.XmlHelper;
- public class ViewController extends Controller {
- private static final PoolingHttpClientConnectionManager POOL_CM = new PoolingHttpClientConnectionManager();
- private static final String CAHR_CODE = "UTF-8";
-
- /**
- * 在被连接数据库执行sql语句
- */
- public void executeSql() {
- try {
- List<Record> d = Db.use("connected").find("select * from (select * from reportinfo order by REPORTDATE desc) where rownum <= 20");
- this.renderJson(d);
- } catch (Exception e) {
- // TODO: handle exception
- this.renderText(e.toString());
- }
- }
-
- /**
- * 在被连接数据库执行sql语句
- */
- public void test() {
- // Map<String, String> params = new HashMap<String, String>();
- // params.put("studyuid", "1.2.840.1424321.23532.201804071725566372");
- try {
- String cotentString = creatPostAndTransData("http://10.84.138.254:8080/rest/getReportByStudyuid");
- renderText(cotentString);
- } catch (Exception e) {
- // TODO: handle exception
- this.renderText(e.toString());
- }
-
- // testPost("http://10.84.138.254:8080/rest/getReportByStudyuid");
- }
-
- public void executeSql2() {
- try {
- String sqlString = this.getPara("str");
- List<Record> d = Db.use("connected").find(sqlString);
- this.renderJson(d);
- } catch (Exception e) {
- // TODO: handle exception
- this.renderText(e.toString());
- }
- }
-
- public void testTask() {
- List<Exams> exams;
- try {
- exams = Exams.dao.use("zskk").find("SELECT * FROM pacsonline.exams where exam_status=3 and institution_id=73090006 order by createdAt desc limit 10");
- for (Exams exams2 : exams) {
- Studies studies = Studies.dao.use("zskk").findById(exams2.getStudyId());
- // WeixinService wService = ServiceFactory.getService(WeixinService.class);
- // wService.requestWeixinQrcode(report.getId());
- Map headerString = new HashMap();
- headerString.put("Content-Type","text/xml");
- String content = HttpKit.post("http://10.84.138.254:8080/rest/getReportByStudyuid", getXmlInfo(studies.getStudyuid()), headerString);
- XmlHelper xmlHelper = XmlHelper.of(content);
-
- Report report = new Report().use("zskk");
- report.setId(creatId());
- report.setReportDatetime(parseStringToDate(xmlHelper.getString("//ReportBean[1]/reportdate")));
- if (!xmlHelper.getString("//code[1]").equals("0")) {
- continue;
- }
- report.setImpression(xmlHelper.getString("//ReportBean[1]/impression"));
- report.setDescription(xmlHelper.getString("//ReportBean[1]/description"));
- report.setExamId(exams2.getId());
- report.setCreatedAt(new Date());
- report.setReportDoctorId(getDoctorIdByName(xmlHelper.getString("//ReportBean[1]/reportdoctor")));
- report.setReviewDoctorId(getDoctorIdByName(xmlHelper.getString("//ReportBean[1]/reviewdoctor")));
- report.setReviewDatetime(parseStringToDate(xmlHelper.getString("//ReportBean[1]/reportdate")));
- report.setConfirmDoctorId(getDoctorIdByName(xmlHelper.getString("//ReportBean[1]/reviewdoctor")));
- report.setConfirmDatetime(parseStringToDate(xmlHelper.getString("//ReportBean[1]/reportdate")));
- report.save();
- PatientInfos patientInfos = PatientInfos.dao.use("zskk").findById(exams2.getPatientId());
- patientInfos.setName(xmlHelper.getString("//ReportBean[1]/patientname"));
- patientInfos.setPhone(xmlHelper.getString("//ReportBean[1]/phone"));
- // patientInfos.setCardNum(record.getStr("IDCARD"));
- patientInfos.update();
- exams2.setExamStatus(9);
- exams2.update();
- }
- this.renderJson(exams);
- } catch (Exception e) {
- // TODO: handle exception
- this.renderText(e.toString());
- }
- }
-
- private String getXmlInfo(String studyuid) {
- StringBuilder sb = new StringBuilder();
- sb.append("<request>");
- sb.append("<studyuid>");
- sb.append(studyuid);
- sb.append("</studyuid>");
- sb.append("</request>");
- return sb.toString();
-
- }
-
- private Date parseStringToDate(String dateStr) {
- if (dateStr == null) {
- return new Date();
- }
- SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Date date = null;
- try {
- date = sdf.parse(dateStr);
- } catch (ParseException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return date;
- }
- private String creatId() {
- UUID id = UUID.randomUUID();
- String[] idd =id.toString().split("-");
- return idd[0]+idd[1]+idd[2];
- }
-
- private String getDoctorIdByName(String name) {
- if (name == null) {
- return "1";
- }
- Doctors doctors = Doctors.dao.use("zskk").findFirst("SELECT * FROM doctors where instr(?,realname) and institution_id=73090001",name);
- if (doctors == null) {
- return "1";
- }
- return doctors.getId();
- }
-
- private Date aaa(String timestr) {
- if (timestr == null) {
- return new Date();
- }
- SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Date date = null;
- try {
- date = sdf.parse(timestr);
- } catch (ParseException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return date;
- }
-
- private String doPost(String url,Map<String, String> params){
- StringBuilder apiLog = new StringBuilder();
- apiLog.append(url).append("\t").append("params:").append(JSON.toJSONString(params));
- CloseableHttpClient client = HttpClients.custom().setConnectionManager(POOL_CM).build();
- String content = null;
- try{
- HttpPost post = new HttpPost(url);
- if (params != null){
- List<NameValuePair> list = new ArrayList<NameValuePair>();
- for(Map.Entry<String, String> entry: params.entrySet()){
- list.add(new BasicNameValuePair(entry.getKey(), entry.getValue()));
- }
- post.setEntity(new UrlEncodedFormEntity(list, "UTF-8"));
- }
-
- post.addHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
- CloseableHttpResponse response = null;
- try{
- response = client.execute(post);
- int code = response.getStatusLine().getStatusCode();
- if (code == 200){
- content = IOUtils.toString(response.getEntity().getContent(), CAHR_CODE);
- }else{
- content = "{\"code\":" + code + "}";
- }
- }finally{
- if (response != null){
- response.close();
- }
- }
- }catch(Exception e){
- }
- return content;
- }
-
- public String creatPostAndTransData(String urlString) {
- Map headerString = new HashMap();
- headerString.put("Content-Type","text/xml");
- String respoString = HttpKit.post(urlString, getXmlInfo(), headerString);
- return respoString;
- }
-
- private String getXmlInfo() {
- StringBuilder sb = new StringBuilder();
- sb.append("<request>");
- sb.append("<studyuid>1.2.840.1424321.23532.201804071725566372</studyuid>");
- sb.append("</request>");
- return sb.toString();
- }
-
- }
|