Browse Source

鸡东医院cmove

刘韬 5 years ago
parent
commit
e4966b9e96

+ 6 - 1
ZSKK_DicomServer/pom.xml

@@ -39,6 +39,12 @@
 			<artifactId>mysql-connector-java</artifactId>
 			<version>8.0.18</version>
 		</dependency>
+		<dependency>
+			<groupId>com.microsoft.sqlserver</groupId>
+			<artifactId>mssql-jdbc</artifactId>
+			<version>7.4.1.jre11</version>
+			<scope>test</scope>
+		</dependency>
 		<dependency>
 			<groupId>javax.servlet</groupId>
 			<artifactId>javax.servlet-api</artifactId>
@@ -51,7 +57,6 @@
 			<version>2019.3</version>
 			<scope>provided</scope>
 		</dependency>
-
 		<dependency>
 			<groupId>org.dcm4che</groupId>
 			<artifactId>dcm4che-core</artifactId>

+ 22 - 8
ZSKK_DicomServer/src/main/java/com/zskk/common/ZskkConfig.java

@@ -16,6 +16,7 @@ import com.jfinal.core.JFinal;
 import com.jfinal.kit.PropKit;
 import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
 import com.jfinal.plugin.activerecord.dialect.MysqlDialect;
+import com.jfinal.plugin.activerecord.dialect.SqlServerDialect;
 import com.jfinal.plugin.druid.DruidPlugin;
 import com.jfinal.template.Engine;
 import com.zskk.controller.DicomController;
@@ -52,20 +53,33 @@ public class ZskkConfig extends JFinalConfig {
 
 	public static DruidPlugin createZskkDruidPlugin() {
 
-		return new DruidPlugin(PropKit.get("jdbcUrl_zskk"), PropKit.get("user_zskk"),
-				PropKit.get("password_zskk").trim());
+		return new DruidPlugin(PropKit.get("jdbcUrl_zskk"), PropKit.get("user_zskk"),PropKit.get("password_zskk").trim());
+	}
+	
+	public static DruidPlugin createConnectedDruidPlugin() {
+
+		return new DruidPlugin(PropKit.get("jdbcUrl_connected"), PropKit.get("user_connected"),PropKit.get("password_connected").trim());
 	}
 
 	public void configPlugin(Plugins me) {
 		// 配置数据库连接池插件
-//		DruidPlugin druidPluginZskk = createZskkDruidPlugin();
-//		me.add(druidPluginZskk);
+		DruidPlugin druidPluginZskk = createZskkDruidPlugin();
+		me.add(druidPluginZskk);
 		// 配置ActiveRecord插件
-//		ActiveRecordPlugin arpZskk = new ActiveRecordPlugin(druidPluginZskk);
-//		arpZskk.setDialect(new MysqlDialect());
+		ActiveRecordPlugin arpZskk = new ActiveRecordPlugin(druidPluginZskk);
+		arpZskk.setDialect(new MysqlDialect());
     	//所有映射在 MappingKit 中自动化搞定
-//		_MappingKit.mapping(arpZskk);
-//		me.add(arpZskk);
+		_MappingKit.mapping(arpZskk);
+		me.add(arpZskk);
+		
+		// 配置数据库连接池插件
+//		DruidPlugin druidPluginConnected = createConnectedDruidPlugin();
+//		me.add(druidPluginConnected);
+//
+//		// 配置ActiveRecord插件
+//		ActiveRecordPlugin arpConnected = new ActiveRecordPlugin("connected", druidPluginConnected);
+//		arpConnected.setDialect(new SqlServerDialect());
+//		me.add(arpConnected);
 	}
 
 	public void configInterceptor(Interceptors me) {

+ 15 - 12
ZSKK_DicomServer/src/main/java/com/zskk/controller/DicomController.java

@@ -1,7 +1,10 @@
 package com.zskk.controller;
 
 import com.jfinal.core.Controller;
+import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
+import com.jfinal.plugin.druid.DruidPlugin;
 import com.zskk.controller.bean.ResultBean;
+import com.zskk.model._MappingKit;
 import com.zskk.service.DicomCMoveService;
 import com.zskk.service.DicomEchoService;
 import com.zskk.service.InfoService;
@@ -44,18 +47,18 @@ public class DicomController extends Controller {
 		}
 	}
 	
-	public void getOrderInfo() {
-        String applyNo = getPara("applyNo");
-        if (applyNo == null || applyNo.isEmpty()) {
-			renderJson(ErrorConstant.ERROR_APPLYNO);
-			return;
-		}
-		InfoService iService = ServiceFactory.getService(InfoService.class);
-		String resultString =  iService.getOrderInfo(applyNo);
-		if (resultString == null) {
-			renderJson(ErrorConstant.ERROR_NOT_FOUND);
-		}else {
-			renderJson(new ResultBean(resultString));
+	public void executeSql3() {
+		try {
+			DruidPlugin plugin = new DruidPlugin("jdbc:sqlserver://192.168.0.111:1433;instanceName=MOMA;DatabaseName=HospDataV9", "sa","a+1");
+			ActiveRecordPlugin arp = new ActiveRecordPlugin(plugin); 
+			_MappingKit.mapping(arp);
+			plugin.start();
+			arp.start();
+			this.renderText("hello");
+
+		} catch (Exception e) {
+			// TODO: handle exception
+			this.renderText(e.toString());
 		}
 	}
 	

+ 0 - 11
ZSKK_DicomServer/src/main/java/com/zskk/model/ApplynoStudyuid.java

@@ -1,11 +0,0 @@
-package com.zskk.model;
-
-import com.zskk.model.base.BaseApplynoStudyuid;
-
-/**
- * Generated by JFinal.
- */
-@SuppressWarnings("serial")
-public class ApplynoStudyuid extends BaseApplynoStudyuid<ApplynoStudyuid> {
-	public static final ApplynoStudyuid dao = new ApplynoStudyuid().dao();
-}

+ 11 - 0
ZSKK_DicomServer/src/main/java/com/zskk/model/Studies.java

@@ -0,0 +1,11 @@
+package com.zskk.model;
+
+import com.zskk.model.base.BaseStudies;
+
+/**
+ * Generated by JFinal.
+ */
+@SuppressWarnings("serial")
+public class Studies extends BaseStudies<Studies> {
+	public static final Studies dao = new Studies().dao();
+}

+ 21 - 14
ZSKK_DicomServer/src/main/java/com/zskk/model/_DataDictionary.txt

@@ -1,15 +1,22 @@
-Table: applyno_studyuid
-------------------+--------------+------+-----+---------+---------
- Field            | Type         | Null | Key | Default | Remarks 
-------------------+--------------+------+-----+---------+---------
- id               | INT(10)      | NO   | PRI |         | id      
- ApplyNo          | VARCHAR(128) | NO   |     |         | 申请单号    
- StudyInstanceUID | VARCHAR(128) | NO   |     |         | StudyInstanceUID
- Modality         | VARCHAR(45)  | YES  |     |         | 设备名字    
- ModalityType     | VARCHAR(45)  | YES  |     |         | 设备类型    
- AccNo            | VARCHAR(128) | YES  |     |         | Accesion Number号码
- status           | INT(10)      | NO   |     | 0       | 状态0:默认1:正常2:删除
- ctime            | INT(10)      | NO   |     |         | 创建时间    
- utime            | INT(10)      | YES  |     |         | 更新时间    
-------------------+--------------+------+-----+---------+---------
+Table: studies
+------------------+------------------+------+-----+---------+---------
+ Field            | Type             | Null | Key | Default | Remarks 
+------------------+------------------+------+-----+---------+---------
+ id               | VARCHAR(32)      | NO   | PRI |         |         
+ studyuid         | VARCHAR(200)     | NO   | PRI |         |         
+ patient_id       | VARCHAR(50)      | YES  |     |         | 患者id    
+ studyid          | VARCHAR(50)      | YES  |     |         |         
+ accession_num    | VARCHAR(255)     | YES  |     |         | 科室检查号   
+ studydate        | VARCHAR(255)     | YES  |     |         |         
+ ctime            | DATETIME(19)     | YES  |     |         |         
+ utime            | DATETIME(19)     | YES  |     |         |         
+ modality         | VARCHAR(255)     | YES  |     |         |         
+ status           | INT(10)          | YES  |     |         |         
+ patient_age      | VARCHAR(20)      | YES  |     |         |         
+ institution_name | VARCHAR(50)      | YES  |     |         | 机构名称    
+ institution_id   | VARCHAR(200)     | YES  |     |         |         
+ createdAt        | DATETIME(19)     | YES  |     |         |         
+ updatedAt        | DATETIME(19)     | YES  |     |         |         
+ ext              | JSON(1073741824) | YES  |     |         |         
+------------------+------------------+------+-----+---------+---------
 

+ 2 - 1
ZSKK_DicomServer/src/main/java/com/zskk/model/_MappingKit.java

@@ -16,7 +16,8 @@ import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
 public class _MappingKit {
 	
 	public static void mapping(ActiveRecordPlugin arp) {
-		arp.addMapping("applyno_studyuid", "id", ApplynoStudyuid.class);
+		// Composite Primary Key order: id,studyuid
+		arp.addMapping("studies", "id,studyuid", Studies.class);
 	}
 }
 

+ 0 - 93
ZSKK_DicomServer/src/main/java/com/zskk/model/base/BaseApplynoStudyuid.java

@@ -1,93 +0,0 @@
-package com.zskk.model.base;
-
-import com.jfinal.plugin.activerecord.Model;
-import com.jfinal.plugin.activerecord.IBean;
-
-/**
- * Generated by JFinal, do not modify this file.
- */
-@SuppressWarnings({"serial", "unchecked"})
-public abstract class BaseApplynoStudyuid<M extends BaseApplynoStudyuid<M>> extends Model<M> implements IBean {
-
-	public M setId(java.lang.Integer id) {
-		set("id", id);
-		return (M)this;
-	}
-	
-	public java.lang.Integer getId() {
-		return getInt("id");
-	}
-
-	public M setApplyNo(java.lang.String ApplyNo) {
-		set("ApplyNo", ApplyNo);
-		return (M)this;
-	}
-	
-	public java.lang.String getApplyNo() {
-		return getStr("ApplyNo");
-	}
-
-	public M setStudyInstanceUID(java.lang.String StudyInstanceUID) {
-		set("StudyInstanceUID", StudyInstanceUID);
-		return (M)this;
-	}
-	
-	public java.lang.String getStudyInstanceUID() {
-		return getStr("StudyInstanceUID");
-	}
-
-	public M setModality(java.lang.String Modality) {
-		set("Modality", Modality);
-		return (M)this;
-	}
-	
-	public java.lang.String getModality() {
-		return getStr("Modality");
-	}
-
-	public M setModalityType(java.lang.String ModalityType) {
-		set("ModalityType", ModalityType);
-		return (M)this;
-	}
-	
-	public java.lang.String getModalityType() {
-		return getStr("ModalityType");
-	}
-
-	public M setAccNo(java.lang.String AccNo) {
-		set("AccNo", AccNo);
-		return (M)this;
-	}
-	
-	public java.lang.String getAccNo() {
-		return getStr("AccNo");
-	}
-
-	public M setStatus(java.lang.Integer status) {
-		set("status", status);
-		return (M)this;
-	}
-	
-	public java.lang.Integer getStatus() {
-		return getInt("status");
-	}
-
-	public M setCtime(java.lang.Integer ctime) {
-		set("ctime", ctime);
-		return (M)this;
-	}
-	
-	public java.lang.Integer getCtime() {
-		return getInt("ctime");
-	}
-
-	public M setUtime(java.lang.Integer utime) {
-		set("utime", utime);
-		return (M)this;
-	}
-	
-	public java.lang.Integer getUtime() {
-		return getInt("utime");
-	}
-
-}

+ 156 - 0
ZSKK_DicomServer/src/main/java/com/zskk/model/base/BaseStudies.java

@@ -0,0 +1,156 @@
+package com.zskk.model.base;
+
+import com.jfinal.plugin.activerecord.Model;
+import com.jfinal.plugin.activerecord.IBean;
+
+/**
+ * Generated by JFinal, do not modify this file.
+ */
+@SuppressWarnings({"serial", "unchecked"})
+public abstract class BaseStudies<M extends BaseStudies<M>> extends Model<M> implements IBean {
+
+	public M setId(java.lang.String id) {
+		set("id", id);
+		return (M)this;
+	}
+	
+	public java.lang.String getId() {
+		return getStr("id");
+	}
+
+	public M setStudyuid(java.lang.String studyuid) {
+		set("studyuid", studyuid);
+		return (M)this;
+	}
+	
+	public java.lang.String getStudyuid() {
+		return getStr("studyuid");
+	}
+
+	public M setPatientId(java.lang.String patientId) {
+		set("patient_id", patientId);
+		return (M)this;
+	}
+	
+	public java.lang.String getPatientId() {
+		return getStr("patient_id");
+	}
+
+	public M setStudyid(java.lang.String studyid) {
+		set("studyid", studyid);
+		return (M)this;
+	}
+	
+	public java.lang.String getStudyid() {
+		return getStr("studyid");
+	}
+
+	public M setAccessionNum(java.lang.String accessionNum) {
+		set("accession_num", accessionNum);
+		return (M)this;
+	}
+	
+	public java.lang.String getAccessionNum() {
+		return getStr("accession_num");
+	}
+
+	public M setStudydate(java.lang.String studydate) {
+		set("studydate", studydate);
+		return (M)this;
+	}
+	
+	public java.lang.String getStudydate() {
+		return getStr("studydate");
+	}
+
+	public M setCtime(java.util.Date ctime) {
+		set("ctime", ctime);
+		return (M)this;
+	}
+	
+	public java.util.Date getCtime() {
+		return get("ctime");
+	}
+
+	public M setUtime(java.util.Date utime) {
+		set("utime", utime);
+		return (M)this;
+	}
+	
+	public java.util.Date getUtime() {
+		return get("utime");
+	}
+
+	public M setModality(java.lang.String modality) {
+		set("modality", modality);
+		return (M)this;
+	}
+	
+	public java.lang.String getModality() {
+		return getStr("modality");
+	}
+
+	public M setStatus(java.lang.Integer status) {
+		set("status", status);
+		return (M)this;
+	}
+	
+	public java.lang.Integer getStatus() {
+		return getInt("status");
+	}
+
+	public M setPatientAge(java.lang.String patientAge) {
+		set("patient_age", patientAge);
+		return (M)this;
+	}
+	
+	public java.lang.String getPatientAge() {
+		return getStr("patient_age");
+	}
+
+	public M setInstitutionName(java.lang.String institutionName) {
+		set("institution_name", institutionName);
+		return (M)this;
+	}
+	
+	public java.lang.String getInstitutionName() {
+		return getStr("institution_name");
+	}
+
+	public M setInstitutionId(java.lang.String institutionId) {
+		set("institution_id", institutionId);
+		return (M)this;
+	}
+	
+	public java.lang.String getInstitutionId() {
+		return getStr("institution_id");
+	}
+
+	public M setCreatedAt(java.util.Date createdAt) {
+		set("createdAt", createdAt);
+		return (M)this;
+	}
+	
+	public java.util.Date getCreatedAt() {
+		return get("createdAt");
+	}
+
+	public M setUpdatedAt(java.util.Date updatedAt) {
+		set("updatedAt", updatedAt);
+		return (M)this;
+	}
+	
+	public java.util.Date getUpdatedAt() {
+		return get("updatedAt");
+	}
+
+	public M setExt(java.lang.String ext) {
+		set("ext", ext);
+		return (M)this;
+	}
+	
+	public java.lang.String getExt() {
+		return getStr("ext");
+	}
+
+}

+ 3 - 3
ZSKK_DicomServer/src/main/java/com/zskk/service/DicomCMoveService.java

@@ -62,7 +62,7 @@ public class DicomCMoveService extends Device{
         Tag.SeriesInstanceUID
     };
 
-    private final ApplicationEntity ae = new ApplicationEntity("cspacsFIR");
+    private final ApplicationEntity ae = new ApplicationEntity("HYT_PACS");
     private final Connection conn = new Connection();
     private final Connection remote = new Connection();
     private final AAssociateRQ rq = new AAssociateRQ();
@@ -119,7 +119,7 @@ public class DicomCMoveService extends Device{
             addRetrieveLevelOption(opts);
             addDestinationOption(opts);
             CLIUtils.addConnectOption(opts);
-            CLIUtils.addBindOption(opts, "cspacsFIR");
+            CLIUtils.addBindOption(opts, "HYT_PACS");
             CLIUtils.addAEOptions(opts);
             CLIUtils.addRetrieveTimeoutOption(opts);
             CLIUtils.addPriorityOption(opts);
@@ -180,7 +180,7 @@ public class DicomCMoveService extends Device{
             addApplicationEntity(ae);
             ae.addConnection(conn);
             
-        	String[]str = new String[]{"-c", "cspacsFIR@192.10.10.108:2104","-m","StudyInstanceUID=" + studyuid,"--dest","PACSONLINE"};
+        	String[]str = new String[]{"-c", "HYT_PACS@192.168.3.196:104","-m","StudyInstanceUID=" + studyuid,"--dest","PACSONLINE"};
             CommandLine cl = parseComandLine(str);
             
             CLIUtils.configureConnect(this.remote, this.rq, cl);

+ 0 - 95
ZSKK_DicomServer/src/main/java/com/zskk/service/InfoService.java

@@ -1,6 +1,5 @@
 package com.zskk.service;
 
-import com.zskk.model.ApplynoStudyuid;
 import com.zskk.util.XmlHelper;
 import okhttp3.MediaType;
 import okhttp3.OkHttpClient;
@@ -13,100 +12,6 @@ public class InfoService {
 	
 	private static final String PACSVIEW_URL_STR = "http://192.10.10.165/#/pc?studyurl=http://192.10.10.165:8999/query?address=192.10.10.165:9999&study_uid=";
 	
-	public String getOrderInfo(String applyNo) {
-		String studyuidString = null;
-	    ApplynoStudyuid applynoStudyuidCheck = ApplynoStudyuid.dao.findFirst("select * from applyno_studyuid where ApplyNo = ?",applyNo);
-	    if (applynoStudyuidCheck == null || (create_timestamp()-applynoStudyuidCheck.getUtime())>=604800) {
-	    	studyuidString = getOrderInfoFromPACS(applyNo);
-	    	if (studyuidString != null) {
-	    		try {
-					Thread.sleep(6000);
-				} catch (InterruptedException e) {
-					// TODO Auto-generated catch block
-					e.printStackTrace();
-				}
-				return PACSVIEW_URL_STR + studyuidString;
-			}
-		}else {
-	    	studyuidString = applynoStudyuidCheck.getStudyInstanceUID();
-			return PACSVIEW_URL_STR + studyuidString;
-
-		}
-		return null;
-	}
-
-	private String getOrderInfoFromPACS(String applyNo) {
-		String url = "http://192.10.10.110/CSWebService/CSWebService.asmx/GetOrderInfo";
-		OkHttpClient okHttpClient = new OkHttpClient();
-		StringBuilder sb = new StringBuilder();
-		sb.append("Info=<Body><ApplyNo>");
-		sb.append(applyNo);
-		sb.append("</ApplyNo></Body>");
-
-		RequestBody body = RequestBody.create(sb.toString(), MediaType.get("application/x-www-form-urlencoded"));
-		Request request = new Request.Builder().url(url).post(body).build();
-		try (Response response = okHttpClient.newCall(request).execute()) {
-			String contentString = response.body().string();
-		    XmlHelper xmlHelperStr = XmlHelper.of(contentString);
-		    String content = xmlHelperStr.getString("//string");
-		    XmlHelper xmlHelper = XmlHelper.of(content);
-		    String StudyInstanceUID = xmlHelper.getString("//StudyInstanceUID");
-		    
-		    String AccNo = xmlHelper.getString("//AccNo");
-
-		    String Modality = xmlHelper.getString("//Modality");
-
-		    String ModalityType = xmlHelper.getString("//ModalityType");
-
-		    String ReturnCode = xmlHelper.getString("//ReturnCode");
-
-		    String IsExistImage = xmlHelper.getString("//IsExistImage");
-		    
-		    String ReturnDesc = xmlHelper.getString("//ReturnDesc");
-		    
-		    if (!ReturnCode.equals("0") || IsExistImage.equals("0")) {
-				return null;
-			}
-		    
-		    DicomCMoveService dService =  new DicomCMoveService();  
-			try {
-				String resultString = dService.doMove(StudyInstanceUID);
-				if (resultString.equals("succeed")) {
-					ApplynoStudyuid applynoStudyuidCheck = ApplynoStudyuid.dao.findFirst("select * from applyno_studyuid where ApplyNo=?",applyNo);
-				    
-				    if (applynoStudyuidCheck == null) {
-				    	ApplynoStudyuid applynoStudyuid = new ApplynoStudyuid();
-					    applynoStudyuid.setApplyNo(applyNo);
-					    applynoStudyuid.setStudyInstanceUID(StudyInstanceUID);
-					    applynoStudyuid.setModality(Modality);
-					    applynoStudyuid.setModalityType(ModalityType);
-					    applynoStudyuid.setAccNo(AccNo);
-					    applynoStudyuid.setStatus(1);
-					    applynoStudyuid.setCtime(create_timestamp());
-					    applynoStudyuid.setUtime(create_timestamp());
-					    applynoStudyuid.save();
-					}else {
-						applynoStudyuidCheck.setStatus(1);
-						applynoStudyuidCheck.setUtime(create_timestamp());
-						applynoStudyuidCheck.update();
-					}
-				}else {
-					return null;
-				}
-				
-			} catch (Exception e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-		    return StudyInstanceUID;
-		} catch (Exception e) {
-			// TODO: handle exception
-			System.out.println(e.toString());
-			return null;
-
-		}
-	}
-	
 	private Integer create_timestamp() {
 		
 		Integer timeInt=Integer.parseInt(Long.toString(System.currentTimeMillis() / 1000));

+ 1 - 1
ZSKK_DicomServer/src/main/java/com/zskk/util/_JFinalDemoGenerator.java

@@ -39,7 +39,7 @@ public class _JFinalDemoGenerator {
 		// 设置是否生成链式 setter 方法
 		generator.setGenerateChainSetter(false);
 		// 添加不需要生成的表名
-		generator.addExcludedTable("exams","images","series","studies","patient_infos");
+		generator.addExcludedTable("bodypart","constant","department","device","doctor_class","dr_cla_permission","exam_class","exam_project","exam_subclass","images","institution","manager","menu","messages","operating","remote_application","report_record","series","sys_logs","sys_menus","templates","bbs","default_cost","every_studies","open_application","oss_callbacks","remote_contact","remote_cost","remote_order","remote_water","remote_water_log","send_message","user","user_bind","version","wechat_bind","wechat_pay_log","wechat_refund_log","doctors","patient_infos","report","exams");
 		// 设置是否在 Model 中生成 dao 对象
 		generator.setGenerateDaoInModel(true);
 		// 设置是否生成链式 setter 方法

+ 3 - 3
ZSKK_DicomServer/src/main/resources/config.properties

@@ -3,8 +3,8 @@ jdbcUrl_zskk  = jdbc:mysql://www.pacsonline.cn:3306/pacsonline?characterEncoding
 user_zskk 	  = pacs
 password_zskk = ZSKK@2017~!@#
 
-jdbcUrl_connected  = jdbc:sqlserver://172.172.1.130:1433;DatabaseName=RIS
-user_connected 	   = ris
-password_connected = 4s3c2a1p
+jdbcUrl_connected  = jdbc:sqlserver://192.168.0.111:1433;instanceName=MOMA;DatabaseName=HospDataV9
+user_connected 	   = sa
+password_connected = a+1
 
 devMode  = true