刘韬 3 vuotta sitten
vanhempi
commit
b16849b863

+ 6 - 0
DataFusion/src/com/zskk/config/ZskkConfig.java

@@ -17,6 +17,7 @@ import com.jfinal.plugin.druid.DruidPlugin;
 import com.jfinal.template.Engine;
 import com.zskk.control.ViewController;
 import com.zskk.service.ServiceFactory;
+import com.zskk.task.BindTask;
 import com.zskk.task.CheckTask;
 import com.zskk.task.DataTask;
 import com.zskk.task.UpdateTask;
@@ -88,6 +89,11 @@ public class ZskkConfig extends JFinalConfig {
 		Cron4jPlugin pifData = new Cron4jPlugin();
 		pifData.addTask("*/1 * * * *", new UpdateTask());
 		me.add(pifData);
+		
+		//更新患者信息
+	    Cron4jPlugin bdData = new Cron4jPlugin();
+	    bdData.addTask("*/10 * * * *", new BindTask());
+		me.add(bdData);
 	}
 
 	@Override

+ 47 - 3
DataFusion/src/com/zskk/service/DataService.java

@@ -9,11 +9,14 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.jfinal.kit.PropKit;
 
+import okhttp3.Call;
+import okhttp3.Callback;
 import okhttp3.FormBody;
 import okhttp3.OkHttpClient;
 import okhttp3.Request;
 import okhttp3.RequestBody;
 import okhttp3.Response;
+import okhttp3.ResponseBody;
 
 public class DataService {
 	
@@ -24,6 +27,9 @@ public class DataService {
     private static String GET_CONFIRM_EXAM_URL = "https://risserver3.pacsonline.cn/butt/getConfirmExam";
     
     private static String UPDATE_PATIENT_URL = "https://risserver3.pacsonline.cn/butt/saveExam";
+    
+    private static String RETURN_BIND_URL = "https://risserver3.pacsonline.cn/butt/getBindInfo";
+
 	
     private static final OkHttpClient OKHTTP_CLIENT = new OkHttpClient();
     
@@ -60,6 +66,21 @@ public class DataService {
 		
 	}
     
+    public JSONArray getBindList(String start,String finish) {
+    	Map <String,String> map = new HashMap<String,String>();
+    	map.put("institution_id", PropKit.get("institution_id"));
+    	map.put("start", start);
+    	map.put("finish", finish);
+		String content = postWithParameters(RETURN_BIND_URL, map);
+	    JSONObject jsonObject = JSON.parseObject(content);
+	    if (!jsonObject.getString("msg").equals("success")) {
+			return null;
+		}
+		JSONArray jsonArray = JSON.parseArray(jsonObject.getString("data"));		
+		return jsonArray;
+		
+	}
+    
     /**
      * 写入报告
      * @param instutionId
@@ -106,11 +127,34 @@ public class DataService {
 			}	
 	}
     
+	public static String getWithUrl(String url, Map<String, String> map) {
+		for (Map.Entry<String, String> entry : map.entrySet()) {
+			String s = url.contains("?") ? "&" : "?";
+			url = url + s + entry.getKey() + "=" + entry.getValue();
+		}
+		Request request = new Request.Builder().url(url).build();
+		String content = "";
+		try (Response response = OKHTTP_CLIENT.newCall(request).execute()) {
+			if (!response.isSuccessful())
+				throw new IOException("Unexpected code " + response);
+			content = response.body().string();
+			return content;
+
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			return null;
+
+		}
+	}
+    
     public static void main(String[] args) {
     	Map <String,String> map = new HashMap<String,String>();
-    	map.put("institution_id", "47600001");
-    	map.put("num", "10");
-		postWithParameters(GET_EXAM_URL, map);
+    	map.put("institution_id", "06300006");
+    	map.put("start", "2022-02-01");
+    	map.put("finish", "2022-03-01");		
+    	String content=getWithUrl(RETURN_BIND_URL, map);
+    	System.out.println(content);
 	}
 
 }

+ 88 - 0
DataFusion/src/com/zskk/task/BindTask.java

@@ -0,0 +1,88 @@
+package com.zskk.task;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.jfinal.plugin.activerecord.Db;
+import com.jfinal.plugin.activerecord.Record;
+import com.jfinal.plugin.cron4j.ITask;
+import com.zskk.service.DataService;
+import com.zskk.service.ServiceFactory;
+import com.zskk.service.ThreadPoolService;
+
+public class BindTask implements ITask {
+
+	@Override
+	public void run() {
+		// TODO Auto-generated method stub
+		DataService dService = ServiceFactory.getService(DataService.class);
+        JSONArray jsonArray = dService.getBindList(parseStringToDate(),parseStringToDate());
+        for (Object object : jsonArray) {
+        	try {
+			JSONObject jsonObject = JSON.parseObject(object.toString());
+			String source = "";
+			switch (jsonObject.getString("source")) {
+			case "1":
+				source="数字影像云公众号";
+				break;
+				
+			case "2":
+				source="集成链接";
+				break;
+				
+			case "3":
+				source="推送短信";
+				break;
+
+			default:
+				break;
+			}
+			Record recordei = Db.use("connected").findFirst("select * from examinfo where studyuid=?", jsonObject.getString("studyuid"));
+			Record recordrc = Db.use("connected").findFirst("select * from reportcheck where studyuid=?", jsonObject.getString("studyuid"));
+			Record recordri = Db.use("connected").findFirst("select * from reportinfo where studyuid=?", jsonObject.getString("studyuid"));
+			recordei.set("ViewFlag", "1");
+			recordrc.set("ViewFlag", "1");
+			recordri.set("ViewFlag", "1");
+			
+			recordei.set("ViewTime", jsonObject.getString("createdAt"));
+			recordrc.set("ViewTime", jsonObject.getString("createdAt"));
+			recordri.set("ViewTime", jsonObject.getString("createdAt"));
+			
+			recordei.set("ViewName", jsonObject.getString("name") + "_"+ source);
+			recordrc.set("ViewName", jsonObject.getString("name") + "_"+ source);
+			recordri.set("ViewName", jsonObject.getString("name") + "_"+ source);
+			Db.use("connected").update("examinfo", recordei);
+			Db.use("connected").update("reportcheck", recordrc);
+			Db.use("connected").update("reportinfo", recordri);
+        	} catch (Exception e) {
+				// TODO: handle exception
+        		continue;
+			}
+        }
+
+	}
+
+	@Override
+	public void stop() {
+		// TODO Auto-generated method stub
+
+	}
+	
+	/**
+	 * 日期字符串格式转换
+	 * @param dateStr
+	 * @return
+	 */
+	private String parseStringToDate() {
+		SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
+	    Date date = new Date();
+	    String timeString = sdf.format(date);
+	    return timeString;
+	}
+
+}