Browse Source

适配传染病接口

刘韬 1 year ago
parent
commit
2bd1ae1436

+ 5 - 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.jfinal.template.Engine;
 import com.zskk.control.ViewController;
 import com.zskk.control.ViewController;
 import com.zskk.service.ServiceFactory;
 import com.zskk.service.ServiceFactory;
+import com.zskk.task.CrbTask;
 import com.zskk.task.DataTask;
 import com.zskk.task.DataTask;
 import com.zskk.task.USInfoTask;
 import com.zskk.task.USInfoTask;
 import com.zskk.task.UpdateTask;
 import com.zskk.task.UpdateTask;
@@ -105,6 +106,10 @@ public class ZskkConfig extends JFinalConfig {
 		Cron4jPlugin usData = new Cron4jPlugin();
 		Cron4jPlugin usData = new Cron4jPlugin();
 		usData.addTask("*/2 * * * *", new USInfoTask());
 		usData.addTask("*/2 * * * *", new USInfoTask());
 		me.add(usData);
 		me.add(usData);
+		
+		Cron4jPlugin crData = new Cron4jPlugin();
+		crData.addTask("*/5 * * * *", new CrbTask());
+		me.add(crData);
 	}
 	}
 
 
 	@Override
 	@Override

+ 9 - 2
DataFusion/src/com/zskk/service/DataService.java

@@ -67,8 +67,15 @@ public class DataService {
     postWithParameters(UPDATE_PATIENT_URL, map);
     postWithParameters(UPDATE_PATIENT_URL, map);
     }
     }
     
     
-    public void getReport(Map<String, String> map) {
-        postWithParameters(UPDATE_PATIENT_URL, map);
+    public JSONArray getReport(Map<String, String> map) {
+    	String content = postWithParameters(UPDATE_PATIENT_URL, map);
+    	JSONObject jsonObject = JSON.parseObject(content);
+ 	    if (!jsonObject.getString("msg").equals("success")) {
+ 			return null;
+ 		}
+ 		JSONArray jsonArray = JSON.parseArray(jsonObject.getString("data"));		
+ 		return jsonArray;
+    	
 	}
 	}
     
     
     public static String postWithParameters(String url, Map<String, String> map) {
     public static String postWithParameters(String url, Map<String, String> map) {

+ 112 - 0
DataFusion/src/com/zskk/task/CrbTask.java

@@ -0,0 +1,112 @@
+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 CrbTask implements ITask {
+
+	@Override
+	public void run() {
+		// TODO Auto-generated method stub
+		DataService dService = ServiceFactory.getService(DataService.class);
+		Map<String, String> dateparams = new HashMap<>();
+		dateparams.put("datetime", "2023-05-01 00:00:00,2023-09-02 00:00:00");
+        JSONArray jsonArray = dService.getReport(dateparams);	
+        for (Object object : jsonArray) {
+        	try {
+			JSONObject jsonObject = JSON.parseObject(object.toString());
+			Record record = Db.use("crb").findFirst("select * from DC_PACS_REPORT where ID=?", jsonObject.getString("ID"));
+			if (record == null) {
+				Record DC_PACS_REPORT = new Record()
+						.set("ID", jsonObject.getString("ID"))
+						.set("REPORT_ID", jsonObject.getString("REPORT_ID"))
+						.set("PAT_FROM_TYPE", "门诊")
+						.set("PAT_NUM", jsonObject.getString("PAT_NUM")==null?"":jsonObject.getString("PAT_NUM"))
+						.set("TESTLIST", jsonObject.getString("TESTLIST")==null?"":jsonObject.getString("TESTLIST"))
+						.set("NAME", jsonObject.getString("NAME"))
+						.set("SEX",jsonObject.getString("SEX").contains("M")?"男":"女")
+						.set("BIRTHDAY", jsonObject.getString("BIRTHDAY"))
+						.set("ADDRESS", jsonObject.getString("ADDRESS"))
+						.set("TEL", jsonObject.getString("TEL"))
+						.set("ORG_CODE", "371728007")
+						.set("ORG_NAME", "东明县第二人民医院")
+						.set("DEP_NAME", jsonObject.getString("DEP_NAME"))
+						.set("DEP_CODE", jsonObject.getString("DEP_CODE"))
+						.set("DUTY_DOCTOR_NAME", jsonObject.getString("DUTY_DOCTOR_NAME"))
+						.set("DUTY_DOCTOR_ID", jsonObject.getString("DUTY_DOCTOR_ID"))
+						.set("CHIEF_COMPLAINT", jsonObject.getString("CHIEF_COMPLAINT"))
+						.set("DIAGNOSIS", jsonObject.getString("DIAGNOSIS"))
+						.set("STUDY_BODYPART", jsonObject.getString("STUDY_BODYPART"))
+						.set("IMAGE_TYPE_NAME", jsonObject.getString("IMAGE_TYPE_NAME"))
+						.set("FINDING", jsonObject.getString("FINDING"))
+						.set("CONCLUSION", jsonObject.getString("CONCLUSION"))
+						.set("FLAG_DIAGNOSTIC_ACCORDANCE", "1")
+						.set("HAPPEN_TIME", jsonObject.getString("HAPPEN_TIME"))
+						.set("SYSTEMTIME", jsonObject.getString("SYSTEMTIME"))
+						.set("HOSPITAL_CODE", "371728007")
+						.set("UPDATE_TIME", jsonObject.getString("UPDATE_TIME"))
+						.set("STATE", "0");
+				Db.use("crb").save("DC_PACS_REPORT", DC_PACS_REPORT);
+				}
+			Record record2 = Db.use("crb").findFirst("select * from DC_PACS_XML where REPORT_ID=?", jsonObject.getString("REPORT_ID"));
+			if (record2 == null) {
+				Record DC_PACS_XML = new Record()
+						.set("REPORT_ID", jsonObject.getString("REPORT_ID"))
+						.set("PAT_FROM_TYPE", "门诊")
+						.set("PAT_NUM", jsonObject.getString("PAT_NUM")==null?"":jsonObject.getString("PAT_NUM"))
+						.set("ORG_CODE", "371728007")
+						.set("ORG_NAME", "东明县第二人民医院")
+						.set("REPORT_XML", jsonObject.getString("FINDING")+jsonObject.getString("CONCLUSION"))
+						.set("SYSTEMTIME", jsonObject.getString("SYSTEMTIME"));
+				Db.use("crb").save("study", DC_PACS_XML);
+				}
+        	} catch (Exception e) {
+				// TODO: handle exception
+        		continue;
+			}
+        }
+	}
+
+	@Override
+	public void stop() {
+		// TODO Auto-generated method stub
+
+	}
+	
+	/**
+	 * 日期字符串格式转换
+	 * @param dateStr
+	 * @return
+	 */
+	private String parseStringToDate(String dateStr) {
+		if (dateStr == null) {
+			return "";
+		}
+		SimpleDateFormat sdf= new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
+	    Date date = null;
+	    String timeString = null;
+		try {
+			date = sdf.parse(dateStr);
+			SimpleDateFormat sdf2= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+			timeString = sdf2.format(date);
+		} catch (ParseException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+        return timeString;
+	}
+
+}