刘韬 2 years ago
parent
commit
6562bb8b5d

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

@@ -18,6 +18,7 @@ import com.jfinal.template.Engine;
 import com.zskk.control.ViewController;
 import com.zskk.service.ServiceFactory;
 import com.zskk.task.DataTask;
+import com.zskk.task.StudyTask;
 import com.zskk.task.UpdateTask;
 
 public class ZskkConfig extends JFinalConfig {
@@ -66,6 +67,11 @@ public class ZskkConfig extends JFinalConfig {
 
 		return new DruidPlugin(PropKit.get("jdbcUrl_ftp"), PropKit.get("user_ftp"),PropKit.get("password_ftp").trim());
 	}
+	
+	public static DruidPlugin createLocalDruidPlugin() {
+
+		return new DruidPlugin(PropKit.get("jdbcUrl_local"), PropKit.get("user_local"),PropKit.get("password_local").trim());
+	}
 
 	@Override
 	public void configPlugin(Plugins me) {
@@ -75,6 +81,9 @@ public class ZskkConfig extends JFinalConfig {
 		
 		DruidPlugin druidPluginFtp = createFtpDruidPlugin();
 		me.add(druidPluginFtp);
+		
+		DruidPlugin druidPluginLocal = createLocalDruidPlugin();
+		me.add(druidPluginLocal);
 
 		// 配置ActiveRecord插件
 		ActiveRecordPlugin arpConnected = new ActiveRecordPlugin("connected", druidPluginConnected);
@@ -84,6 +93,10 @@ public class ZskkConfig extends JFinalConfig {
 		ActiveRecordPlugin arpFtp = new ActiveRecordPlugin("ftp", druidPluginFtp);
 		arpFtp.setDialect(new SqlServerDialect());
 		me.add(arpFtp);
+		
+		ActiveRecordPlugin arpLocal = new ActiveRecordPlugin("local", druidPluginLocal);
+		arpLocal.setDialect(new MysqlDialect());
+		me.add(arpLocal);
 
 		Cron4jPlugin cpData = new Cron4jPlugin();
 		cpData.addTask("*/5 * * * *", new DataTask());
@@ -92,6 +105,10 @@ public class ZskkConfig extends JFinalConfig {
 		Cron4jPlugin upData = new Cron4jPlugin();
 		upData.addTask("*/1 * * * *", new UpdateTask());
 		me.add(upData);
+		
+		Cron4jPlugin suData = new Cron4jPlugin();
+		suData.addTask("*/2 * * * *", new StudyTask());
+		me.add(suData);
 	}
 
 	@Override

+ 6 - 4
DataFusion/src/com/zskk/service/DataService.java

@@ -88,7 +88,7 @@ public class DataService {
     /*
      * 下载文件夹
      */
-    public void downloadFtpFile(String remoteFileName, String fileName) {
+    public void downloadFtpFile(String remoteFileName) {
         FTPClient ftpClient = new FTPClient();
         int reply;
         try {
@@ -103,13 +103,15 @@ public class DataService {
             ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
             ftpClient.enterLocalPassiveMode();
             
-            FTPFile allFile[] = ftpClient.listFiles("");
+            FTPFile allFile[] = ftpClient.listFiles(remoteFileName);
             for (int i = 0; i < allFile.length; i++) {
-            	 File localFile = new File("/home/zskk/FTP_FILE" + File.separatorChar + fileName);
+            	 File localFile = new File("/home/zskk/FTP_FILE" + File.separatorChar + allFile[i].getName());
                  OutputStream os = new FileOutputStream(localFile);
                  //ftp中文名需要iso-8859-1字符
-                 boolean flag2 = ftpClient.retrieveFile(new String(allFile[i].getName().getBytes("GBK"), "iso-8859-1"), os);
+                 boolean flag2 = ftpClient.retrieveFile(remoteFileName+File.separatorChar+allFile[i].getName(), os);
                  if (!flag2) {
+//                 	fileName=fileName+ allFile[i].getName();
+
                      System.out.println("没有找到" + remoteFileName + "---该文件");
                      localFile.delete();
                  } else {

+ 60 - 0
DataFusion/src/com/zskk/task/DownloadTask.java

@@ -0,0 +1,60 @@
+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.kit.PropKit;
+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 DownloadTask implements ITask {
+
+	@Override
+	public void run() {
+		// TODO Auto-generated method stub
+		DataService dService = ServiceFactory.getService(DataService.class);
+		Record recordfind = Db.use("local").findFirst("select * from study where status=1 order by createAt asc");
+//		recordfind.set("status", 2);
+//		Db.use("local").update("study", recordfind);
+		
+		recordfind.set("status", 4);
+		recordfind.set("updateAt", getDateStr());
+		Db.use("local").update("study",recordfind);
+//			JSONObject jsonObject = JSON.parseObject(object.toString());
+//			String[] strings = jsonObject.getString("Path").split("\\\\");
+//			dService.downloadFtpFile(jsonObject.getString("Path"));
+//		}
+//		recordfind.set("status", 3);
+//		recordfind.set("updateAt", getDateStr());
+//		Db.use("local").update("study",recordfind);
+	}
+
+	@Override
+	public void stop() {
+		// TODO Auto-generated method stub
+
+	}
+	
+	/**
+	 * 日期字符串格式转换
+	 * @param dateStr
+	 * @return
+	 */
+	private String getDateStr() {
+		SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+	    Date date = new Date();
+	    String timeString = null;
+		timeString = sdf.format(date);
+        return timeString;
+	}
+
+}

+ 59 - 0
DataFusion/src/com/zskk/task/StudyTask.java

@@ -0,0 +1,59 @@
+package com.zskk.task;
+
+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.kit.PropKit;
+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 StudyTask implements ITask {
+
+	@Override
+	public void run() {
+		// TODO Auto-generated method stub
+		List<Record> records = Db.use("ftp").find("select top 10 * from ftp order by studytime desc");
+		if (records==null) {
+			return;
+		}
+		for (Record record : records) {
+			Record recordfind = Db.use("local").findFirst("select * from study where studyuid=?",record.getStr("StudyInstanceUID"));
+			if (recordfind!=null) {
+				continue;
+			}
+			String pathString = record.getStr("ftp").replace("ftp://192.168.0.188/", "");
+			Record study = new Record().set("studyuid", record.getStr("studyuid")).set("path",pathString).set("status", 1).set("createAt", getDateStr()).set("updateAt", getDateStr());
+			Db.use("local").save("study", study);
+		}			
+	}
+
+	@Override
+	public void stop() {
+		// TODO Auto-generated method stub
+
+	}
+	
+	/**
+	 * 日期字符串格式转换
+	 * @param dateStr
+	 * @return
+	 */
+	private String getDateStr() {
+		SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+	    Date date = new Date();
+	    String timeString = null;
+		timeString = sdf.format(date);
+        return timeString;
+	}
+
+}