刘韬 4 years ago
parent
commit
c0b7b61d8d

+ 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.zskk.control.ViewController;
 import com.zskk.service.ServiceFactory;
+import com.zskk.task.CheckTask;
 import com.zskk.task.DataTask;
 import com.zskk.task.InsertTask;
 import com.zskk.task.UpdateTask;
@@ -103,6 +104,10 @@ public class ZskkConfig extends JFinalConfig {
 		Cron4jPlugin urlData = new Cron4jPlugin();
 		urlData.addTask("*/1 * * * *", new UpdateTask());
 		me.add(urlData);
+		
+		Cron4jPlugin ckData = new Cron4jPlugin();
+		ckData.addTask("*/5 * * * *", new CheckTask());
+		me.add(ckData);
 	}
 
 	@Override

+ 99 - 0
DataFusion/src/com/zskk/task/CheckTask.java

@@ -0,0 +1,99 @@
+package com.zskk.task;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+import com.jfinal.plugin.activerecord.Db;
+import com.jfinal.plugin.activerecord.Record;
+import com.jfinal.plugin.cron4j.ITask;
+
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.Response;
+
+public class CheckTask implements ITask {
+
+    private static final OkHttpClient OKHTTP_CLIENT = new OkHttpClient();
+
+	@Override
+	public void run() {
+		// TODO Auto-generated method stub
+		List<Record> record = Db.use("connectedtemp").find("select * from study where status=3 order by createAt desc limit 10");
+		if (record == null) {
+			return;
+		}
+		for (Record record3 : record) {
+			List<Record> recordList = Db.use("connected").find("select * from v_webpacs_image where STUDYID=?",record3.getStr("studyid"));
+			if (recordList.size()<=record3.getInt("imageNum")) {
+				continue;
+			}else {
+				for (Record record2 : recordList) {
+					Request request = new Request.Builder()
+					        .url("http://"+record2.getStr("FILEPATH").replace("\\\\", "/"))
+					        .build();
+
+					String fileName = record2.getStr("IMAGE_UID");
+
+					try (Response response = OKHTTP_CLIENT.newCall(request).execute()) {
+						if (!response.isSuccessful())
+							throw new IOException("Unexpected code " + response);
+						String dirName = "/home/zskk/桌面/DICOM_URL";
+						File file = new File(dirName);
+						if (!file.exists()) {
+							file.mkdir();
+						}
+						if (response != null) {
+							InputStream is = response.body().byteStream();
+							FileOutputStream fos = new FileOutputStream(new File(dirName + "/" + fileName));
+							int len = 0;
+							byte[] buffer = new byte[2048];
+							while (-1 != (len = is.read(buffer))) {
+								fos.write(buffer, 0, len);
+							}
+							
+							fos.flush();
+							fos.close();
+							is.close();
+							File filen2 = new File(dirName + "/" + fileName);
+							File filen = new File(dirName + "/" + fileName+".dcm");
+							filen2.renameTo(filen);
+						}
+						
+					} catch (IOException e) {
+						// TODO Auto-generated catch block
+						e.printStackTrace();
+					}
+				}
+			}
+			record3.set("status", 5);
+			Db.use("connectedtemp").update("study", record);
+		}
+
+	}
+
+	@Override
+	public void stop() {
+		// TODO Auto-generated method stub
+
+	}
+
+	/**
+	 * 日期字符串格式转换
+	 * @param dateStr
+	 * @return
+	 */
+	private String parseStringToDate() {
+		SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+	    Date date = new Date();
+	    long dInteger =date.getTime()-65000;
+		String daString = sdf.format(new Date(dInteger));
+	    return daString;
+		
+	}
+}

+ 2 - 1
DataFusion/src/com/zskk/task/UpdateTask.java

@@ -24,7 +24,7 @@ public class UpdateTask implements ITask {
 	@Override
 	public void run() {
 		// TODO Auto-generated method stub
-		Record record = Db.use("connectedtemp").findFirst("select * from study where status=1 order by createAt");
+		Record record = Db.use("connectedtemp").findFirst("select * from study where status=1 order by createAt asc");
 		if (record == null) {
 			return;
 		}
@@ -66,6 +66,7 @@ public class UpdateTask implements ITask {
 				e.printStackTrace();
 			}
 		}
+		record.set("imageNum", recordList.size());
 		record.set("status", 3);
 		Db.use("connectedtemp").update("study", record);