Browse Source

图们ftp下载

LAPTOP-5NTQJPUS\LT 7 months ago
parent
commit
870a847db9

+ 1 - 1
DataFusion/res/config.properties

@@ -6,7 +6,7 @@ password_connected = yyx
 #DB-local
 #DB-local
 jdbcUrl_local  = jdbc:mysql://127.0.0.1:3306/pacsonline?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai
 jdbcUrl_local  = jdbc:mysql://127.0.0.1:3306/pacsonline?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai
 user_local 	   = zskk
 user_local 	   = zskk
-password_local = Zskk_2022
+password_local = Zskk_2024
 #DATE-FTP
 #DATE-FTP
 ftp_host     = 172.103.32.8
 ftp_host     = 172.103.32.8
 ftp_port 	 = 21
 ftp_port 	 = 21

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

@@ -83,29 +83,29 @@ public class ZskkConfig extends JFinalConfig {
 		arpConnected.setDialect(new OracleDialect());
 		arpConnected.setDialect(new OracleDialect());
 		me.add(arpConnected);
 		me.add(arpConnected);
 		
 		
-//		ActiveRecordPlugin arpLocal = new ActiveRecordPlugin("local", druidPluginLocal);
-//		arpLocal.setDialect(new MysqlDialect());
-//		me.add(arpLocal);
-//		
-//		//报告同步
-//		Cron4jPlugin cpData = new Cron4jPlugin();
-//		cpData.addTask("*/5 * * * *", new DataTask());
-//		me.add(cpData);
+		ActiveRecordPlugin arpLocal = new ActiveRecordPlugin("local", druidPluginLocal);
+		arpLocal.setDialect(new MysqlDialect());
+		me.add(arpLocal);
+		
+		//报告同步
+		Cron4jPlugin cpData = new Cron4jPlugin();
+		cpData.addTask("*/5 * * * *", new DataTask());
+		me.add(cpData);
 //		
 //		
 //		//身份信息
 //		//身份信息
 //		Cron4jPlugin upData = new Cron4jPlugin();
 //		Cron4jPlugin upData = new Cron4jPlugin();
 //		upData.addTask("*/2 * * * *", new UpdateTask());
 //		upData.addTask("*/2 * * * *", new UpdateTask());
 //		me.add(upData);
 //		me.add(upData);
 //		
 //		
-//		//FTP新增检查
-//		Cron4jPlugin ifData = new Cron4jPlugin();
-//		ifData.addTask("*/5 * * * *", new InfoTask());
-//		me.add(ifData);
-//		
-//		//FTP下载
-//		Cron4jPlugin dwData = new Cron4jPlugin();
-//		dwData.addTask("*/1 * * * *", new DownloadTask());
-//		me.add(dwData);
+		//FTP新增检查
+		Cron4jPlugin ifData = new Cron4jPlugin();
+		ifData.addTask("*/5 * * * *", new InfoTask());
+		me.add(ifData);
+		
+		//FTP下载
+		Cron4jPlugin dwData = new Cron4jPlugin();
+		dwData.addTask("*/1 * * * *", new DownloadTask());
+		me.add(dwData);
 	}
 	}
 
 
 	@Override
 	@Override

+ 31 - 17
DataFusion/src/com/zskk/control/ViewController.java

@@ -86,13 +86,27 @@ public class ViewController extends Controller {
 	public void sdxz() {
 	public void sdxz() {
 		try {
 		try {
 			DataService dService = ServiceFactory.getService(DataService.class);
 			DataService dService = ServiceFactory.getService(DataService.class);
-			JSONArray array= dService.getImage(this.getPara("accnum"));
-			for (Object object : array) {
-				JSONObject jsonObject = JSON.parseObject(object.toString());
-				String[] strings = jsonObject.getString("Path").split("\\\\");
-				dService.downloadFtpFile(jsonObject.getString("Path"), strings[1]);
+//			Record recordfind = Db.use("local").findFirst("select * from study where status=1 and modalities <>'US' order by createAt asc");
+			List<Record> imagerecords = Db.use("connected").find("select * from ImageInfo where STUDYINSUID=?","1.2.840.40823.1.1.1.12.1732582467.865.28.195");
+//			if (imagerecords==null) {
+//				recordfind.set("status", 2);
+//				Db.use("local").update("study",recordfind);
+//				return;
+//			}
+//			recordfind.set("status", 4);
+//			recordfind.set("imageNum", imagerecords.size());
+//			recordfind.set("updateAt", getDateStr());
+//			Db.use("local").update("study",recordfind);
+			for (Record object : imagerecords) {
+				String[] strings = object.getStr("FILEPATH").split("\\\\");
+				renderText(strings[strings.length-1]);
+//				return;
+				dService.downloadFtpFile(strings[strings.length-3]+"/"+strings[strings.length-2]+"/"+strings[strings.length-1], strings[strings.length-1]);
 			}
 			}
-			this.renderJson(array);
+//			recordfind.set("status", 3);
+//			recordfind.set("updateAt", getDateStr());
+//			Db.use("local").update("study",recordfind);
+			this.renderJson(imagerecords);
 
 
 		} catch (Exception e) {
 		} catch (Exception e) {
 			// TODO: handle exception
 			// TODO: handle exception
@@ -101,7 +115,7 @@ public class ViewController extends Controller {
 	}
 	}
 	
 	
 	public void sdxz2() {
 	public void sdxz2() {
-		try {
+//		try {
 			DataService dService = ServiceFactory.getService(DataService.class);
 			DataService dService = ServiceFactory.getService(DataService.class);
 			FTPClient ftpClient = new FTPClient();
 			FTPClient ftpClient = new FTPClient();
 			ftpClient.setConnectTimeout(1000*30);
 			ftpClient.setConnectTimeout(1000*30);
@@ -111,13 +125,13 @@ public class ViewController extends Controller {
 	            ftpClient.connect(PropKit.get("ftp_host"), PropKit.getInt("ftp_port"));
 	            ftpClient.connect(PropKit.get("ftp_host"), PropKit.getInt("ftp_port"));
 	            ftpClient.login(PropKit.get("ftp_user"), PropKit.get("ftp_password"));
 	            ftpClient.login(PropKit.get("ftp_user"), PropKit.get("ftp_password"));
 	            reply = ftpClient.getReplyCode();
 	            reply = ftpClient.getReplyCode();
-//	            if (!FTPReply.isPositiveCompletion(reply)) {
-//	                ftpClient.disconnect();
-//	    			this.renderText("disconnect");
-//	            }
+	            if (!FTPReply.isPositiveCompletion(reply)) {
+	                ftpClient.disconnect();
+	                this.renderText(String.valueOf(reply));
+	            }
 //	            ftpClient.setControlEncoding("UTF-8");
 //	            ftpClient.setControlEncoding("UTF-8");
 //	            ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
 //	            ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
-//	            ftpClient.enterLocalPassiveMode();
+	            ftpClient.enterLocalActiveMode();
 //
 //
 //	            File localFile = new File("/home/tmszyy/FTP_FILE" + File.separatorChar + "test.img");
 //	            File localFile = new File("/home/tmszyy/FTP_FILE" + File.separatorChar + "test.img");
 //	            OutputStream os = new FileOutputStream(localFile);
 //	            OutputStream os = new FileOutputStream(localFile);
@@ -136,7 +150,7 @@ public class ViewController extends Controller {
 //	            os.close();
 //	            os.close();
 //	            ftpClient.logout();
 //	            ftpClient.logout();
 //	            ftpClient.disconnect();
 //	            ftpClient.disconnect();
-				this.renderText(String.valueOf(reply));
+				this.renderText("succ");
 
 
 	        } catch (Exception e) {
 	        } catch (Exception e) {
 	            e.printStackTrace();
 	            e.printStackTrace();
@@ -145,10 +159,10 @@ public class ViewController extends Controller {
 	        }
 	        }
 
 
 
 
-		} catch (Exception e) {
-			// TODO: handle exception
-			this.renderText(e.toString());
-		}
+//		} catch (Exception e) {
+//			// TODO: handle exception
+//			this.renderText(e.toString());
+//		}
 	}
 	}
 	
 	
 	public static DruidPlugin createConnectedDruidPlugin() {
 	public static DruidPlugin createConnectedDruidPlugin() {

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

@@ -170,11 +170,11 @@ public class DataService {
             reply = ftpClient.getReplyCode();
             reply = ftpClient.getReplyCode();
             if (!FTPReply.isPositiveCompletion(reply)) {
             if (!FTPReply.isPositiveCompletion(reply)) {
                 ftpClient.disconnect();
                 ftpClient.disconnect();
-                return;
+//                return;
             }
             }
             ftpClient.setControlEncoding("UTF-8");
             ftpClient.setControlEncoding("UTF-8");
             ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
             ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
-            ftpClient.enterLocalPassiveMode();
+            ftpClient.enterLocalActiveMode();
 
 
             File localFile = new File("/home/tmszyy/FTP_FILE" + File.separatorChar + fileName);
             File localFile = new File("/home/tmszyy/FTP_FILE" + File.separatorChar + fileName);
             OutputStream os = new FileOutputStream(localFile);
             OutputStream os = new FileOutputStream(localFile);

+ 13 - 13
DataFusion/src/com/zskk/task/DataTask.java

@@ -26,10 +26,10 @@ public class DataTask implements ITask {
         for (Object object : jsonArray) {
         for (Object object : jsonArray) {
         	try {
         	try {
 			JSONObject jsonObject = JSON.parseObject(object.toString());
 			JSONObject jsonObject = JSON.parseObject(object.toString());
-			Record record = Db.use("connected").findFirst("select * from reportinfo where STUDYUID=?", jsonObject.getString("studyuid"));
-			if (record == null) {
-				record = Db.use("connected").findFirst("select * from reportinfo where ACCESSIONNUMBER=?", jsonObject.getString("accession_num"));
-			}
+			Record record = Db.use("connected").findFirst("select * from reportinfo where STUDYINSUID=?", jsonObject.getString("studyuid"));
+//			if (record == null) {
+//				record = Db.use("connected").findFirst("select * from reportinfo where ACCESSIONNUMBER=?", jsonObject.getString("accession_num"));
+//			}
 			if (record == null) {
 			if (record == null) {
 				continue;
 				continue;
 			}
 			}
@@ -46,35 +46,35 @@ public class DataTask implements ITask {
 			//报告医生姓名
 			//报告医生姓名
 			params.put("report_doctor_name", record.getStr("REPORTDOCTOR"));
 			params.put("report_doctor_name", record.getStr("REPORTDOCTOR"));
 			//报告时间
 			//报告时间
-			params.put("report_datetime", parseStringToDate(record.getStr("REPORTDATE")));
+			params.put("report_datetime", record.getStr("REPORTDATE"));
 			//审核医生姓名
 			//审核医生姓名
 			params.put("review_doctor_name", record.getStr("REVIEWDOCTOR")==null?"":record.getStr("REVIEWDOCTOR"));
 			params.put("review_doctor_name", record.getStr("REVIEWDOCTOR")==null?"":record.getStr("REVIEWDOCTOR"));
 			//审核时间
 			//审核时间
-			params.put("review_datetime", parseStringToDate(record.getStr("REVIEWDATE")));
+			params.put("review_datetime", record.getStr("REVIEWDATE"));
 			//确认医生姓名
 			//确认医生姓名
 			params.put("confirm_doctor_name", record.getStr("REVIEWDOCTOR")==null?"":record.getStr("REVIEWDOCTOR"));
 			params.put("confirm_doctor_name", record.getStr("REVIEWDOCTOR")==null?"":record.getStr("REVIEWDOCTOR"));
 			//确认时间
 			//确认时间
-			params.put("confirm_datetime", parseStringToDate(record.getStr("REVIEWDATE")));
+			params.put("confirm_datetime", record.getStr("REVIEWDATE"));
 			//意见建议
 			//意见建议
 			params.put("impression", record.getStr("IMPRESSION"));
 			params.put("impression", record.getStr("IMPRESSION"));
 			//影像所见
 			//影像所见
 			params.put("description", record.getStr("DESCRIPTION"));
 			params.put("description", record.getStr("DESCRIPTION"));
 			//exams表
 			//exams表
 			//申请科室
 			//申请科室
-			params.put("application_department", record.getStr("DEPARTMENT"));
+			params.put("application_department", record.getStr("REQDEPT"));
 			//申请医生
 			//申请医生
-			params.put("application_doctor", record.getStr("CLINICALDOCTOR"));
+			params.put("application_doctor", record.getStr("REQDOCTOR"));
 			//临床诊断
 			//临床诊断
 			params.put("clin_diag", record.getStr("DIAGNOSIS")==null?"":record.getStr("DIAGNOSIS"));
 			params.put("clin_diag", record.getStr("DIAGNOSIS")==null?"":record.getStr("DIAGNOSIS"));
 			//症状
 			//症状
 			params.put("clin_symp", record.getStr("SYMPTOM")==null?"":record.getStr("SYMPTOM"));
 			params.put("clin_symp", record.getStr("SYMPTOM")==null?"":record.getStr("SYMPTOM"));
 			//patient_infos表
 			//patient_infos表
 			//患者姓名
 			//患者姓名
-			params.put("name", record.getStr("PATIENTNAME"));
+			params.put("name", record.getStr("PATNAME"));
 			//患者手机号
 			//患者手机号
 			params.put("phone", record.getStr("PHONE")==null?"":record.getStr("PHONE"));
 			params.put("phone", record.getStr("PHONE")==null?"":record.getStr("PHONE"));
 			//患者身份证号
 			//患者身份证号
-			params.put("card_num", record.getStr("INDCARD")==null?"":record.getStr("INDCARD"));
+			params.put("card_num", record.getStr("IDCARD")==null?"":record.getStr("IDCARD"));
 			//检查结果1阴2阳
 			//检查结果1阴2阳
 			params.put("report_result", record.getStr("RESULT")==null?"0":(record.getStr("RESULT").contains("阳")?"2":"1"));
 			params.put("report_result", record.getStr("RESULT")==null?"0":(record.getStr("RESULT").contains("阳")?"2":"1"));
 			//住院号
 			//住院号
@@ -82,9 +82,9 @@ public class DataTask implements ITask {
 			//门诊号
 			//门诊号
 			params.put("out_patient", record.getStr("OUTPATIENTNUM")==null?"":record.getStr("OUTPATIENTNUM"));
 			params.put("out_patient", record.getStr("OUTPATIENTNUM")==null?"":record.getStr("OUTPATIENTNUM"));
 			//病人ID
 			//病人ID
-			params.put("his_patient_id", record.getStr("HOSNO")==null?"":record.getStr("HOSNO"));
+			params.put("his_patient_id", record.getStr("PATIENTID")==null?"":record.getStr("PATIENTID"));
 			//检查方法
 			//检查方法
-			params.put("exam_project", record.getStr("PROJECT"));
+			params.put("exam_project", record.getStr("EXAMITEM"));
 
 
 			ThreadPoolService tService = ServiceFactory.getService(ThreadPoolService.class);
 			ThreadPoolService tService = ServiceFactory.getService(ThreadPoolService.class);
 			tService.execute(() -> {
 			tService.execute(() -> {

+ 10 - 7
DataFusion/src/com/zskk/task/DownloadTask.java

@@ -1,7 +1,10 @@
 package com.zskk.task;
 package com.zskk.task;
 
 
+import java.io.File;
 import java.text.SimpleDateFormat;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.Date;
+import java.util.List;
+
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
@@ -19,20 +22,20 @@ public class DownloadTask implements ITask {
 		// TODO Auto-generated method stub
 		// TODO Auto-generated method stub
 		DataService dService = ServiceFactory.getService(DataService.class);
 		DataService dService = ServiceFactory.getService(DataService.class);
 		Record recordfind = Db.use("local").findFirst("select * from study where status=1 and modalities <>'US' order by createAt asc");
 		Record recordfind = Db.use("local").findFirst("select * from study where status=1 and modalities <>'US' order by createAt asc");
-		JSONArray array = dService.getImage(recordfind.getStr("accessionNumber"));
-		if (array==null) {
+		List<Record> imagerecords = Db.use("connected").find("select * from ImageInfo where STUDYINSUID=?",recordfind.getStr("studyuid"));
+		if (imagerecords==null) {
 			recordfind.set("status", 2);
 			recordfind.set("status", 2);
 			Db.use("local").update("study",recordfind);
 			Db.use("local").update("study",recordfind);
 			return;
 			return;
 		}
 		}
 		recordfind.set("status", 4);
 		recordfind.set("status", 4);
-		recordfind.set("imageNum", array.size());
+		recordfind.set("imageNum", imagerecords.size());
 		recordfind.set("updateAt", getDateStr());
 		recordfind.set("updateAt", getDateStr());
 		Db.use("local").update("study",recordfind);
 		Db.use("local").update("study",recordfind);
-		for (Object object : array) {
-			JSONObject jsonObject = JSON.parseObject(object.toString());
-			String[] strings = jsonObject.getString("Path").split("\\\\");
-			dService.downloadFtpFile(jsonObject.getString("Path"), strings[1]);
+		for (Record object : imagerecords) {
+			String[] strings = object.getStr("FILEPATH").split("\\\\");
+			
+			dService.downloadFtpFile(strings[strings.length-3]+File.separatorChar+strings[strings.length-2]+File.separatorChar+strings[strings.length-1], strings[strings.length-1]);
 		}
 		}
 		recordfind.set("status", 3);
 		recordfind.set("status", 3);
 		recordfind.set("updateAt", getDateStr());
 		recordfind.set("updateAt", getDateStr());

+ 4 - 4
DataFusion/src/com/zskk/task/InfoTask.java

@@ -12,16 +12,16 @@ public class InfoTask implements ITask {
 	@Override
 	@Override
 	public void run() {
 	public void run() {
 		// TODO Auto-generated method stub
 		// TODO Auto-generated method stub
-		List<Record> records = Db.use("connected").find("select * from examinfo where STUDYTIME>?",parseStringToDate());
+		List<Record> records = Db.use("connected").find("select * from examinfo where REQDATE > TIMESTAMP ?",parseStringToDate());
 		if (records==null) {
 		if (records==null) {
 			return;
 			return;
 		}
 		}
 		for (Record record : records) {
 		for (Record record : records) {
-			Record recordfind = Db.use("local").findFirst("select * from study where accessionNumber=?",record.getStr("ACCESSIONNUMBER"));
+			Record recordfind = Db.use("local").findFirst("select * from study where studyuid=?",record.getStr("STUDYINSUID"));
 			if (recordfind!=null) {
 			if (recordfind!=null) {
 				continue;
 				continue;
 			}
 			}
-			Record study = new Record().set("accessionNumber", record.getStr("ACCESSIONNUMBER")).set("modalities", record.getStr("MODALITY")).set("status", 1).set("imageNum", 0).set("createAt", getDateStr()).set("updateAt", getDateStr());
+			Record study = new Record().set("studyuid", record.getStr("STUDYINSUID")).set("modalities", record.getStr("MODALITY")).set("status", 1).set("imageNum", 0).set("createAt", getDateStr()).set("updateAt", getDateStr());
 			Db.use("local").save("study", study);
 			Db.use("local").save("study", study);
 		}			
 		}			
 	}
 	}
@@ -38,7 +38,7 @@ public class InfoTask implements ITask {
 	 * @return
 	 * @return
 	 */
 	 */
 	private String parseStringToDate() {
 	private String parseStringToDate() {
-		SimpleDateFormat sdf= new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
+		SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 	    Date date = new Date();
 	    Date date = new Date();
 	    String timeString = null;
 	    String timeString = null;
 		timeString = sdf.format(new Date(date.getTime()-1800000));
 		timeString = sdf.format(new Date(date.getTime()-1800000));