Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/master' into i_73090001

# Conflicts:
#	DataFusion/.classpath
#	DataFusion/WebRoot/WEB-INF/classes/com/zskk/model/_DataDictionary.txt
#	DataFusion/WebRoot/WEB-INF/classes/config.properties
#	DataFusion/jfinal_demo.log
#	DataFusion/res/config.properties
#	DataFusion/src/com/zskk/config/ZskkConfig.java
#	DataFusion/src/com/zskk/control/ViewController.java
#	DataFusion/src/com/zskk/model/_DataDictionary.txt
#	DataFusion/src/com/zskk/model/_MappingKit.java
#	DataFusion/src/com/zskk/model/base/BaseStudies.java
#	DataFusion/src/com/zskk/service/ServiceFactory.java
#	DataFusion/src/com/zskk/service/ThreadPoolService.java
#	DataFusion/src/com/zskk/task/DataTask.java
#	DataFusion/src/com/zskk/tools/_JFinalDemoGenerator.java
刘韬 5 anni fa
parent
commit
6d5debbacf
48 ha cambiato i file con 279 aggiunte e 362 eliminazioni
  1. 5 0
      .gitignore
  2. 15 19
      DataFusion/.classpath
  3. 0 12
      DataFusion/.settings/.jsdtscope
  4. 0 8
      DataFusion/.settings/org.eclipse.jdt.core.prefs
  5. 0 16
      DataFusion/.settings/org.eclipse.wst.common.component
  6. 0 9
      DataFusion/.settings/org.eclipse.wst.common.project.facet.core.xml
  7. 0 1
      DataFusion/.settings/org.eclipse.wst.jsdt.ui.superType.container
  8. 0 1
      DataFusion/.settings/org.eclipse.wst.jsdt.ui.superType.name
  9. 0 3
      DataFusion/WebRoot/WEB-INF/classes/.gitignore
  10. 0 143
      DataFusion/WebRoot/WEB-INF/classes/com/zskk/model/_DataDictionary.txt
  11. 0 8
      DataFusion/WebRoot/WEB-INF/classes/config.properties
  12. 0 10
      DataFusion/WebRoot/WEB-INF/classes/log4j.properties
  13. BIN
      DataFusion/WebRoot/WEB-INF/lib/annotations-13.0.jar
  14. BIN
      DataFusion/WebRoot/WEB-INF/lib/commons-pool2-2.3.jar
  15. BIN
      DataFusion/WebRoot/WEB-INF/lib/druid-1.0.29.jar
  16. BIN
      DataFusion/WebRoot/WEB-INF/lib/druid-1.1.21.jar
  17. BIN
      DataFusion/WebRoot/WEB-INF/lib/fastjson-1.2.31.jar
  18. BIN
      DataFusion/WebRoot/WEB-INF/lib/fastjson-1.2.62.jar
  19. BIN
      DataFusion/WebRoot/WEB-INF/lib/fst-2.29.jar
  20. BIN
      DataFusion/WebRoot/WEB-INF/lib/jackson-core-2.5.3.jar
  21. BIN
      DataFusion/WebRoot/WEB-INF/lib/javassist-3.19.0-GA.jar
  22. BIN
      DataFusion/WebRoot/WEB-INF/lib/javax.activation-1.2.0.jar
  23. BIN
      DataFusion/WebRoot/WEB-INF/lib/jaxb-api-2.3.0.jar
  24. BIN
      DataFusion/WebRoot/WEB-INF/lib/jaxb-core-2.3.0.jar
  25. BIN
      DataFusion/WebRoot/WEB-INF/lib/jaxb-impl-2.3.0.jar
  26. BIN
      DataFusion/WebRoot/WEB-INF/lib/jedis-2.7.2.jar
  27. BIN
      DataFusion/WebRoot/WEB-INF/lib/jetty-server-8.1.8.jar
  28. BIN
      DataFusion/WebRoot/WEB-INF/lib/jfinal-3.4-bin-with-src.jar
  29. BIN
      DataFusion/WebRoot/WEB-INF/lib/jfinal-4.8-bin-with-src.jar
  30. BIN
      DataFusion/WebRoot/WEB-INF/lib/kotlin-stdlib-1.3.50.jar
  31. BIN
      DataFusion/WebRoot/WEB-INF/lib/kotlin-stdlib-common-1.3.50.jar
  32. BIN
      DataFusion/WebRoot/WEB-INF/lib/log4j-1.2.16.jar
  33. BIN
      DataFusion/WebRoot/WEB-INF/lib/log4j-1.2.17.jar
  34. BIN
      DataFusion/WebRoot/WEB-INF/lib/mysql-connector-java-5.1.44-bin.jar
  35. BIN
      DataFusion/WebRoot/WEB-INF/lib/mysql-connector-java-8.0.18.jar
  36. BIN
      DataFusion/WebRoot/WEB-INF/lib/objenesis-2.1.jar
  37. BIN
      DataFusion/WebRoot/WEB-INF/lib/okhttp-4.2.2.jar
  38. BIN
      DataFusion/WebRoot/WEB-INF/lib/okio-2.2.2.jar
  39. 4 6
      DataFusion/res/config.properties
  40. 1 1
      DataFusion/res/log4j.properties
  41. 41 32
      DataFusion/src/com/zskk/config/ZskkConfig.java
  42. 58 67
      DataFusion/src/com/zskk/control/ViewController.java
  43. 0 11
      DataFusion/src/com/zskk/model/Studies.java
  44. 87 0
      DataFusion/src/com/zskk/service/DataService.java
  45. 2 1
      DataFusion/src/com/zskk/service/ServiceFactory.java
  46. 0 1
      DataFusion/src/com/zskk/service/ThreadPoolService.java
  47. 66 0
      DataFusion/src/com/zskk/task/DataTask.java
  48. 0 13
      DataFusion/src/com/zskk/tools/JettyServer.java

+ 5 - 0
.gitignore

@@ -7,7 +7,12 @@
 # Package Files #
 *.war
 *.ear
+classes/
+**/build
+**/.settings/
 
 # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
 hs_err_pid*
 
+DataFusion/DataFusion.iml
+**/.idea

+ 15 - 19
DataFusion/.classpath

@@ -5,29 +5,25 @@
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
 		<attributes>
 			<attribute name="module" value="true"/>
+			<attribute name="owner.project.facets" value="java"/>
 		</attributes>
 	</classpathentry>
-	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-codec-1.9.jar"/>
-	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-io-2.5.jar"/>
-	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-lang3-3.4.jar"/>
-	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-logging-1.2.jar"/>
-	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-pool2-2.3.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/annotations-13.0.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/cron4j-2.2.5.jar"/>
-	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/druid-1.0.29.jar"/>
-	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/fastjson-1.2.31.jar"/>
-	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/fst-2.29.jar"/>
-	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/httpclient-4.5.2.jar"/>
-	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/httpcore-4.4.4.jar"/>
-	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/httpmime-4.5.2.jar"/>
-	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/jackson-core-2.5.3.jar"/>
-	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/javassist-3.19.0-GA.jar"/>
-	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/jedis-2.7.2.jar"/>
-	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/jetty-server-8.1.8.jar"/>
-	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/jfinal-3.4-bin-with-src.jar"/>
-	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/log4j-1.2.16.jar"/>
-	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/mysql-connector-java-5.1.44-bin.jar"/>
-	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/objenesis-2.1.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/druid-1.1.21.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/fastjson-1.2.62.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/javax.activation-1.2.0.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/jaxb-api-2.3.0.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/jaxb-core-2.3.0.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/jaxb-impl-2.3.0.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/kotlin-stdlib-1.3.50.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/kotlin-stdlib-common-1.3.50.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/log4j-1.2.17.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/mysql-connector-java-8.0.18.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/ojdbc6.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/okhttp-4.2.2.jar" sourcepath="/Users/liutao/.m2/repository/com/squareup/okhttp3/okhttp/4.2.2/okhttp-4.2.2-sources.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/okio-2.2.2.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/sqljdbc42.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/jfinal-4.8-bin-with-src.jar"/>
 	<classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>
 </classpath>

+ 0 - 12
DataFusion/.settings/.jsdtscope

@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry excluding="**/bower_components/*|**/node_modules/*|**/*.min.js" kind="src" path="WebRoot"/>
-	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
-		<attributes>
-			<attribute name="hide" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
-	<classpathentry kind="output" path=""/>
-</classpath>

+ 0 - 8
DataFusion/.settings/org.eclipse.jdt.core.prefs

@@ -1,8 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=10
-org.eclipse.jdt.core.compiler.compliance=10
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=10

+ 0 - 16
DataFusion/.settings/org.eclipse.wst.common.component

@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
-        
-    <wb-module deploy-name="DataFusion">
-                
-        <wb-resource deploy-path="/" source-path="/WebRoot" tag="defaultRootSource"/>
-                
-        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
-        <wb-resource deploy-path="/WEB-INF/classes" source-path="/res"/>
-                
-        <property name="context-root" value="DataFusion"/>
-                
-        <property name="java-output-path" value="/DataFusion/WebRoot/WEB-INF/classes"/>
-            
-    </wb-module>
-    
-</project-modules>

+ 0 - 9
DataFusion/.settings/org.eclipse.wst.common.project.facet.core.xml

@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<faceted-project>
-  <fixed facet="java"/>
-  <fixed facet="wst.jsdt.web"/>
-  <fixed facet="jst.web"/>
-  <installed facet="java" version="10"/>
-  <installed facet="jst.web" version="4.0"/>
-  <installed facet="wst.jsdt.web" version="1.0"/>
-</faceted-project>

+ 0 - 1
DataFusion/.settings/org.eclipse.wst.jsdt.ui.superType.container

@@ -1 +0,0 @@
-org.eclipse.wst.jsdt.launching.baseBrowserLibrary

+ 0 - 1
DataFusion/.settings/org.eclipse.wst.jsdt.ui.superType.name

@@ -1 +0,0 @@
-Window

+ 0 - 3
DataFusion/WebRoot/WEB-INF/classes/.gitignore

@@ -1,3 +0,0 @@
-/com/
-/config.properties
-/log4j.properties

+ 0 - 143
DataFusion/WebRoot/WEB-INF/classes/com/zskk/model/_DataDictionary.txt

@@ -1,143 +0,0 @@
-Table: doctors
-----------------+---------------+------+-----+---------+---------
- Field          | Type          | Null | Key | Default | Remarks 
-----------------+---------------+------+-----+---------+---------
- id             | VARCHAR(32)   | NO   | PRI |         |         
- username       | VARCHAR(100)  | NO   |     |         | 用户名     
- password       | VARCHAR(200)  | NO   |     |         | 密码      
- realname       | VARCHAR(200)  | YES  |     |         | 真实姓名    
- email          | VARCHAR(200)  | YES  |     |         | email   
- login_time     | DATETIME(19)  | YES  |     |         | 登录时间    
- createdAt      | DATETIME(19)  | YES  |     |         | 创建时间    
- updatedAt      | DATETIME(19)  | YES  |     |         | 修改时间    
- token          | VARCHAR(255)  | YES  |     |         | 每次登陆产生新的Session标识
- phone          | VARCHAR(20)   | YES  |     |         | 电话      
- remark         | VARCHAR(1000) | YES  |     |         | 备注      
- doctor_title   | VARCHAR(255)  | YES  |     |         | 职称      
- status         | VARCHAR(50)   | YES  |     |         |         
- attachment     | VARCHAR(2000) | YES  |     |         | 附件      
- institution_id | VARCHAR(50)   | YES  |     |         | 医疗机构ID  
- department_id  | VARCHAR(50)   | YES  |     |         | 主要科室ID  
- doctor_role    | VARCHAR(20)   | YES  |     |         | 1.本地医生2.远程医生(可多选)
- login_failure  | INT(10)       | YES  |     |         | 登录失败次数  
- is_report      | VARCHAR(10)   | YES  |     |         | 是否能写报告  
-----------------+---------------+------+-----+---------+---------
-
-Table: exams
--------------------+---------------+------+-----+---------+---------
- Field             | Type          | Null | Key | Default | Remarks 
--------------------+---------------+------+-----+---------+---------
- id                | VARCHAR(32)   | NO   | PRI |         |         
- dept_id           | VARCHAR(100)  | YES  |     |         | 检查科室(执行科室)
- patient_id        | VARCHAR(100)  | YES  |     |         | 患者id    
- patient_num       | VARCHAR(200)  | YES  |     |         | 病历号     
- accession_num     | VARCHAR(100)  | YES  |     |         | 科室检查号   
- exam_datetime     | VARCHAR(20)   | YES  |     |         | 检查日期    
- exam_class        | VARCHAR(200)  | YES  |     |         | 检查类型    
- exam_sub_class    | VARCHAR(200)  | YES  |     |         | 检查子类    
- exam_project      | VARCHAR(200)  | YES  |     |         | 检查项目    
- device            | VARCHAR(200)  | YES  |     |         | 检查设备    
- body_part         | VARCHAR(200)  | YES  |     |         | 检查部位    
- exam_method       | VARCHAR(200)  | YES  |     |         | 检查方法    
- hopitalized_no    | VARCHAR(200)  | YES  |     |         | 住院号     
- bed_no            | VARCHAR(200)  | YES  |     |         | 床位号     
- clin_dept_id      | VARCHAR(50)   | YES  |     |         | 送诊科室id  
- technician        | VARCHAR(200)  | YES  |     |         | 技师      
- charge            | VARCHAR(200)  | YES  |     |         | 检查费用    
- cost              | VARCHAR(200)  | YES  |     |         | 实际费用    
- clin_doctors      | VARCHAR(200)  | YES  |     |         | 送诊医生    
- phone             | VARCHAR(20)   | YES  |     |         | 联系方式    
- institution_id    | VARCHAR(200)  | YES  |     |         | 医院id    
- study_id          | VARCHAR(50)   | YES  |     |         | studyuid(studykey)
- illness_desc      | TEXT(65535)   | YES  |     |         | 主诉      
- phys_sign         | VARCHAR(200)  | YES  |     |         | 体征      
- clin_diag         | VARCHAR(1000) | YES  |     |         | 临床诊断    
- clin_symp         | VARCHAR(4000) | YES  |     |         | 临床症状    
- patient_source    | VARCHAR(20)   | YES  |     |         | 病人来源 1门诊 2住院 3外来
- req_datetime      | DATETIME(19)  | YES  |     |         | 申请时间    
- req_doctor        | VARCHAR(50)   | YES  |     |         | 申请医生(医生id)
- remark            | TEXT(65535)   | YES  |     |         | 其他说明    
- register          | VARCHAR(50)   | YES  |     |         | 登记人员( 医生id)
- register_datetime | DATETIME(19)  | YES  |     |         | 注册登记时间  
- exam_status       | TINYINT(3)    | YES  |     | 1       | 1、登记 2、开始检查3、检查完毕 4、申请 5、驳回 6、接收、7、初步报告 8、审核报告 9、确认、
- status            | VARCHAR(20)   | YES  |     | 1       | 记录状态 0禁用 1正常
- pay_status        | VARCHAR(10)   | YES  |     | 0       | 支付状态    
- is_remote         | VARCHAR(10)   | YES  |     |         | 远程诊断是被接受 0,未接受  1,已接受
- urgent            | VARCHAR(10)   | NO   |     | 0       | 是否急诊 0否  1是
- film_type         | VARCHAR(20)   | YES  |     | 0       | 0 未定义  1传统胶片  2电子胶片
- anamnesis         | VARCHAR(255)  | YES  |     |         |         
- family_ill        | VARCHAR(255)  | YES  |     |         |         
- createdAt         | DATETIME(19)  | YES  |     |         |         
- updatedAt         | DATETIME(19)  | YES  |     |         |         
- delivery_doctor   | VARCHAR(100)  | YES  |     |         | 送诊医生    
- exam_report       | VARCHAR(10)   | YES  |     |         | 检查结果    
--------------------+---------------+------+-----+---------+---------
-
-Table: patient_infos
------------------+---------------+------+-----+---------+---------
- Field           | Type          | Null | Key | Default | Remarks 
------------------+---------------+------+-----+---------+---------
- id              | VARCHAR(32)   | NO   | PRI |         |         
- name            | VARCHAR(100)  | YES  |     |         | 患者姓名    
- sex             | VARCHAR(10)   | YES  |     |         | 性别      
- card_num        | VARCHAR(100)  | YES  |     |         | 身份证号    
- phone           | VARCHAR(20)   | YES  |     |         | 手机号     
- ctime           | DATETIME(19)  | YES  |     |         | 创建时间    
- birthday        | VARCHAR(20)   | YES  |     |         | 生日      
- age             | VARCHAR(10)   | YES  |     |         | 年龄      
- card_type       | VARCHAR(30)   | YES  |     |         | 证件类型    
- nationality     | VARCHAR(50)   | YES  |     |         | 国籍      
- nation          | VARCHAR(30)   | YES  |     |         | 民族      
- marry           | VARCHAR(10)   | YES  |     |         | 婚否      
- professional    | VARCHAR(100)  | YES  |     |         | 职业      
- address         | VARCHAR(255)  | YES  |     |         | 联系地址    
- temp_patient_id | VARCHAR(50)   | YES  |     |         | 检查临时患者id(从dicom影像中解析)
- status          | VARCHAR(10)   | YES  |     |         |         
- institution_id  | VARCHAR(200)  | YES  |     |         | 所属医院    
- anamnesis       | VARCHAR(2000) | YES  |     |         | 疾病史     
- family_ill      | VARCHAR(2000) | YES  |     |         | 家族史     
- createdAt       | DATETIME(19)  | YES  |     |         |         
- updatedAt       | DATETIME(19)  | YES  |     |         |         
------------------+---------------+------+-----+---------+---------
-
-Table: report
--------------------+---------------+------+-----+---------+---------
- Field             | Type          | Null | Key | Default | Remarks 
--------------------+---------------+------+-----+---------+---------
- id                | VARCHAR(32)   | NO   | PRI |         | 报告id    
- report_datetime   | DATETIME(19)  | YES  |     |         | 报告时间    
- description       | TEXT(65535)   | YES  |     |         | 检查所见    
- impression        | TEXT(65535)   | YES  |     |         | 意见建议    
- img_url           | VARCHAR(1500) | YES  |     |         | 缩略图地址   
- exam_id           | VARCHAR(255)  | YES  |     |         | 检查表id   
- createdAt         | DATETIME(19)  | YES  |     |         |         
- report_doctor_id  | VARCHAR(255)  | YES  |     |         | 报告医生id  
- review_doctor_id  | VARCHAR(255)  | YES  |     |         | 审核医生id  
- qr_code           | VARCHAR(255)  | YES  |     |         | 二维码     
- report_result     | VARCHAR(255)  | YES  |     |         | 报告结果(阴阳性) 1阴性 2阳性
- review_datetime   | DATETIME(19)  | YES  |     |         | 审核时间    
- confirm_doctor_id | VARCHAR(50)   | YES  |     |         | 确认医生    
- confirm_datetime  | DATETIME(19)  | 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  |     |         |         
-------------------+--------------+------+-----+---------+---------
-

+ 0 - 8
DataFusion/WebRoot/WEB-INF/classes/config.properties

@@ -1,8 +0,0 @@
-#DB-ZhongShiKangKai and connected partners
-jdbcUrl_zskk  = jdbc:mysql://www.pacsonline.cn:3306/pacsonline?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
-user_zskk 	  = pacs
-password_zskk = ZSKK@2017~!@#
-
-jdbcUrl_connected  = jdbc:oracle:thin:@192.168.100.4:1521:pacs
-user_connected 	   = jk
-password_connected = jk

+ 0 - 10
DataFusion/WebRoot/WEB-INF/classes/log4j.properties

@@ -1,10 +0,0 @@
-log4j.rootLogger=WARN, stdout, file
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH:mm:ss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n
-
-# Output to the File
-log4j.appender.file=org.apache.log4j.FileAppender
-log4j.appender.file.File=./jfinal_demo.log
-log4j.appender.file.layout=org.apache.log4j.PatternLayout
-log4j.appender.file.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH:mm:ss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n

BIN
DataFusion/WebRoot/WEB-INF/lib/annotations-13.0.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/commons-pool2-2.3.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/druid-1.0.29.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/druid-1.1.21.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/fastjson-1.2.31.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/fastjson-1.2.62.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/fst-2.29.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/jackson-core-2.5.3.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/javassist-3.19.0-GA.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/javax.activation-1.2.0.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/jaxb-api-2.3.0.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/jaxb-core-2.3.0.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/jaxb-impl-2.3.0.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/jedis-2.7.2.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/jetty-server-8.1.8.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/jfinal-3.4-bin-with-src.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/jfinal-4.8-bin-with-src.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/kotlin-stdlib-1.3.50.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/kotlin-stdlib-common-1.3.50.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/log4j-1.2.16.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/log4j-1.2.17.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/mysql-connector-java-5.1.44-bin.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/mysql-connector-java-8.0.18.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/objenesis-2.1.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/okhttp-4.2.2.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/okio-2.2.2.jar


+ 4 - 6
DataFusion/res/config.properties

@@ -1,8 +1,6 @@
-#DB-ZhongShiKangKai and connected partners
-jdbcUrl_zskk  = jdbc:mysql://www.pacsonline.cn:3306/pacsonline?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
-user_zskk 	  = pacs
-password_zskk = ZSKK@2017~!@#
-
+#DB-connected partners
 jdbcUrl_connected  = jdbc:oracle:thin:@192.168.100.4:1521:pacs
 user_connected 	   = jk
-password_connected = jk
+password_connected = jk
+#DATA-Parms
+institution_id     = 73090001

+ 1 - 1
DataFusion/res/log4j.properties

@@ -5,6 +5,6 @@ log4j.appender.stdout.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH:mm:ss}%n[%p]-
 
 # Output to the File
 log4j.appender.file=org.apache.log4j.FileAppender
-log4j.appender.file.File=./jfinal_demo.log
+log4j.appender.file.File=./zskk_df.log
 log4j.appender.file.layout=org.apache.log4j.PatternLayout
 log4j.appender.file.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH:mm:ss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n

+ 41 - 32
DataFusion/src/com/zskk/config/ZskkConfig.java

@@ -6,23 +6,40 @@ import com.jfinal.config.Interceptors;
 import com.jfinal.config.JFinalConfig;
 import com.jfinal.config.Plugins;
 import com.jfinal.config.Routes;
+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.OracleDialect;
+import com.jfinal.plugin.activerecord.dialect.SqlServerDialect;
 import com.jfinal.plugin.cron4j.Cron4jPlugin;
 import com.jfinal.plugin.druid.DruidPlugin;
 import com.jfinal.template.Engine;
 import com.zskk.control.ViewController;
-import com.zskk.model._MappingKit;
+import com.zskk.service.ServiceFactory;
 import com.zskk.task.DataTask;
 
 public class ZskkConfig extends JFinalConfig {
 
-	@Override
+	// 本地开发模式
+	private boolean isLocalDev = false;
+	/**
+	 * 如果生产环境配置文件存在,则优先加载该配置,否则加载开发环境配置文件
+	 * 
+	 * @param pro 生产环境配置文件
+	 * @param dev 开发环境配置文件
+	 */
+	public void loadProp(String pro, String dev) {
+		try {
+			PropKit.use(pro);
+		} catch (Exception e) {
+			PropKit.use(dev);
+			isLocalDev = true;
+		}
+	}
+
 	public void configConstant(Constants me) {
-		// 加载少量必要配置,随后可用PropKit.get(...)获取值
-		PropKit.use("config.properties");
+		loadProp("config.properties", "a_little_config.txt");
 		me.setDevMode(PropKit.getBoolean("devMode", false));
 	}
 
@@ -30,6 +47,7 @@ public class ZskkConfig extends JFinalConfig {
 	public void configRoute(Routes me) {
 		// TODO Auto-generated method stub
 		me.add("/view", ViewController.class);
+		me.add("/", ViewController.class,"");
 	}
 
 	@Override
@@ -38,11 +56,6 @@ 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());
-	}
-
 	public static DruidPlugin createConnectedDruidPlugin() {
 
 		return new DruidPlugin(PropKit.get("jdbcUrl_connected"), PropKit.get("user_connected"),PropKit.get("password_connected").trim());
@@ -51,33 +64,18 @@ public class ZskkConfig extends JFinalConfig {
 	@Override
 	public void configPlugin(Plugins me) {
 		// 配置数据库连接池插件
-		DruidPlugin druidPluginZskk = createZskkDruidPlugin();
-		me.add(druidPluginZskk);
-
-		// 配置ActiveRecord插件
-		ActiveRecordPlugin arpZskk = new ActiveRecordPlugin("zskk", druidPluginZskk);
-		arpZskk.setDialect(new MysqlDialect());
-
-		 //所有映射在 MappingKit 中自动化搞定
-		_MappingKit.mapping(arpZskk);
-		me.add(arpZskk);
-
-		// 配置数据库连接池插件
-		DruidPlugin druidPluginConnected = createConnectedDruidPlugin();
-		me.add(druidPluginConnected);
+//		DruidPlugin druidPluginConnected = createConnectedDruidPlugin();
+//		me.add(druidPluginConnected);
+//
+//		// 配置ActiveRecord插件
+//		ActiveRecordPlugin arpConnected = new ActiveRecordPlugin("connected", druidPluginConnected);
+//		arpConnected.setDialect(new OracleDialect());
+//		me.add(arpConnected);
 
-		// 配置ActiveRecord插件
-		ActiveRecordPlugin arpConnected = new ActiveRecordPlugin("connected", druidPluginConnected);
-		arpConnected.setDialect(new OracleDialect());
-		me.add(arpConnected);
 		
 		Cron4jPlugin cpData = new Cron4jPlugin();
-		cpData.addTask("*/15 * * * *", new DataTask());
+		cpData.addTask("*/5 * * * *", new DataTask());
 		me.add(cpData);
-
-//		Cron4jPlugin cp2 = new Cron4jPlugin();
-//		cp2.addTask("*/3 * * * *", new SyncTask2());
-//	me.add(cp2);
 	}
 
 	@Override
@@ -91,5 +89,16 @@ public class ZskkConfig extends JFinalConfig {
 		// TODO Auto-generated method stub
 
 	}
+	
+	@Override
+	public void onStart() {
+		// TODO Auto-generated method stub
+		super.onStart();
+		ServiceFactory.init();
+	}
+	
+//	public static void main(String[] args) {
+//		JFinal.start("WebRoot", 10002, "/", 5);
+//	}
 
 }

+ 58 - 67
DataFusion/src/com/zskk/control/ViewController.java

@@ -1,11 +1,13 @@
 package com.zskk.control;
 
+import java.io.IOException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
-import java.util.UUID;
+import java.util.Map;
+import com.alibaba.fastjson.JSON;
 import com.jfinal.core.Controller;
 import com.jfinal.plugin.activerecord.Db;
 import com.jfinal.plugin.activerecord.Record;
@@ -14,92 +16,81 @@ import com.zskk.model.Exams;
 import com.zskk.model.PatientInfos;
 import com.zskk.model.Report;
 import com.zskk.model.Studies;
+import okhttp3.FormBody;
+import okhttp3.MediaType;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.RequestBody;
+import okhttp3.Response;
 
 public class ViewController extends Controller {
 
-	
+	private static final MediaType JSON_CODE = MediaType.get("application/json; charset=utf-8");
+
+	private static final OkHttpClient OKHTTP_CLIENT = new OkHttpClient();
+
 	/**
 	 * 在被连接数据库执行sql语句
 	 */
 	public void executeSql() {
-		try {
-			List<Record>  d =  Db.use("connected").find("select * from caller where rownum <= 10");
-			this.renderJson(d);
-		} catch (Exception e) {
-			// TODO: handle exception
-			this.renderText(e.toString());
-		}
-	}
-	
-	public void testTask() {
-		try {
-			//List<Record>  d =  Db.use("connected").find(this.getPara("sqlStr"));
-			List<Exams> exams = Exams.dao.use("zskk").find("SELECT * FROM pacsonline.exams where exam_status=3 and institution_id=73090001 order by createdAt desc limit 50");
-			List<Record> examds = new ArrayList<>();
-			for (Exams exams2 : exams) {
-				Studies studies = Studies.dao.use("zskk").findById(exams2.getStudyId());
-				Record record = Db.use("connected").findFirst("select * from caller where STUDYUID=?",studies.getStudyuid());
-				if (record == null) {
-					continue;
-				}
-				examds.add(record);
-				Report report = new Report().use("zskk");
-				report.setId(creatId());
-				report.setReportDatetime(aaa(record.getStr("REPORTDATE")));
-				report.setImpression(record.getStr("IMPRESSION"));
-				report.setDescription(record.getStr("DESCRIPTION"));
-				report.setExamId(exams2.getId());
-				report.setCreatedAt(new Date());
-				if (record.getStr("FITEM_RESULT_CODE") != null) {
-					report.setReportResult(record.getStr("FITEM_RESULT_CODE").contains("阴")?"1":"2");
-				}
-				report.setReportDoctorId(getDoctorIdByName(record.getStr("REPORTDOCTOR")));
-				report.setReviewDoctorId(getDoctorIdByName(record.getStr("REVIEWDOCTOR")));
-				report.setReviewDatetime(aaa(record.getStr("REPORTDATE")));
-				report.setConfirmDoctorId(getDoctorIdByName(record.getStr("REVIEWDOCTOR")));
-				report.setConfirmDatetime(aaa(record.getStr("REPORTDATE")));
-//				report.save();
-				PatientInfos patientInfos = PatientInfos.dao.use("zskk").findById(exams2.getPatientId());
-				patientInfos.setName(record.getStr("PATIENTNAME"));
-//				patientInfos.update();
-			}
-			this.renderJson(examds);
-		} catch (Exception e) {
-			// TODO: handle exception
-			this.renderText(e.toString());
-		}
-	}
-	
-	private String creatId() {
-		UUID id=UUID.randomUUID();
-        String[] idd=id.toString().split("-");
-        return idd[0]+idd[1]+idd[2];
+
+		List<Record> d = Db.use("connected").find(this.getPara("sqlstr"));
+		this.renderJson(d);
 	}
-	
-	private String getDoctorIdByName(String name) {
-		if (name == null) {
-			return "1";
+
+	/**
+	 * post请求
+	 * @param url-请求地址
+	 * @param map-参数集合
+	 * @return
+	 */
+	private static String doPost(String url, Map<String, String> map) {
+		FormBody.Builder builder = new FormBody.Builder();
+		for (String key : map.keySet()) {
+			builder.add(key, map.get(key));
 		}
-		Doctors doctors = Doctors.dao.use("zskk").findFirst("SELECT * FROM doctors where instr(?,realname) and institution_id=73090001",name);
-		if (doctors == null) {
-			return "1";
+
+		RequestBody formBody = builder.build();
+
+		Request request = new Request.Builder().url(url).post(formBody).build();
+		
+		try (Response response = OKHTTP_CLIENT.newCall(request).execute()) {
+			if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
+			String content = response.body().string();
+			return content;
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			return null;
 		}
-		return doctors.getId();
 	}
 	
-	private Date aaa(String timestr) {
-		if (timestr == null) {
+	/**
+	 * 日期字符串格式转换
+	 * @param dateStr
+	 * @return
+	 */
+	private Date parseStringToDate(String dateStr) {
+		if (dateStr == null) {
 			return new Date();
 		}
 		SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 	    Date date = null;
 		try {
-			date = sdf.parse(timestr);
+			date = sdf.parse(dateStr);
 		} catch (ParseException e) {
 			// TODO Auto-generated catch block
 			e.printStackTrace();
 		}
         return date;
 	}
-	
+
+	public static void main(String[] args) {
+        Map<String,String> paramsMap=new HashMap<String,String>();
+        paramsMap.put("institution_id", "44100001");
+
+		String contentString = doPost("https://risserver3.pacsonline.cn/butt/getExam/butt/getExam", paramsMap);
+		System.out.println(contentString);
+
+	}
 }

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

@@ -1,11 +0,0 @@
-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();
-}

+ 87 - 0
DataFusion/src/com/zskk/service/DataService.java

@@ -0,0 +1,87 @@
+package com.zskk.service;
+
+import java.io.IOException;
+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 okhttp3.FormBody;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.RequestBody;
+import okhttp3.Response;
+
+public class DataService {
+	
+    private static String GET_EXAM_URL = "https://risserver3.pacsonline.cn/butt/getExam/butt/getExam";
+    
+    private static String SAVE_REPORT_URL = "https://risserver3.pacsonline.cn/butt/saveReport";
+	
+    private static final OkHttpClient OKHTTP_CLIENT = new OkHttpClient();
+    
+    /**
+     * 获取未出报告的检查列表
+     * @param instutionId
+     * @param number
+     */
+    public JSONArray getExamList(Integer number) {
+    	Map <String,String> map = new HashMap<String,String>();
+    	map.put("institution_id", PropKit.get("institution_id"));
+    	map.put("num", number.toString());
+		String content = postWithParameters(GET_EXAM_URL, map);
+	    JSONObject jsonObject = JSON.parseObject(content);
+	    if (!jsonObject.getString("msg").equals("success")) {
+			return null;
+		}
+		JSONArray jsonArray = JSON.parseArray(jsonObject.getString("data"));		
+		return jsonArray;
+		
+	}
+    
+    /**
+     * 写入报告
+     * @param instutionId
+     * @param number
+     */
+    public void saveReport(Map <String,String> map) {
+		postWithParameters(SAVE_REPORT_URL, map);
+		
+	}
+    
+    public static String postWithParameters(String url, Map<String, String> map) {
+    	
+    	FormBody.Builder formbody = new FormBody.Builder();
+    	
+    	for (Map.Entry<String, String> entry : map.entrySet()) {
+    		formbody.add(entry.getKey(), entry.getValue());
+		}
+		RequestBody requestBody = formbody.build();
+		
+		Request request = new Request.Builder()
+		        .url(url)
+		        .post(requestBody)
+		        .build();
+
+		    try (Response response = OKHTTP_CLIENT.newCall(request).execute()) {
+		      if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
+		      String content = response.body().string();
+		      return content;
+		    } catch (IOException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+				return null;
+			}	
+	}
+    
+    public static void main(String[] args) {
+    	Map <String,String> map = new HashMap<String,String>();
+    	map.put("institution_id", "47600001");
+    	map.put("num", "10");
+		postWithParameters(GET_EXAM_URL, map);
+	}
+
+}

+ 2 - 1
DataFusion/src/com/zskk/service/ServiceFactory.java

@@ -18,7 +18,8 @@ public class ServiceFactory {
 	 */
 	public static void init(){
 		CLASS_MAP.put(ThreadPoolService.class, 	        Duang.duang(ThreadPoolService.class));
-		CLASS_MAP.put(WeixinService.class, 	            Duang.duang(WeixinService .class));
+		CLASS_MAP.put(DataService.class, 	            Duang.duang(DataService .class));
+
 	}
 	
 	@SuppressWarnings("unchecked")

+ 0 - 1
DataFusion/src/com/zskk/service/ThreadPoolService.java

@@ -6,7 +6,6 @@ import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
-//import com.pacs.tools.LogUtil;
 
 /**
  * 线程池服务

+ 66 - 0
DataFusion/src/com/zskk/task/DataTask.java

@@ -1,5 +1,6 @@
 package com.zskk.task;
 
+<<<<<<< HEAD
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
@@ -15,12 +16,26 @@ import com.zskk.model.PatientInfos;
 import com.zskk.model.Report;
 import com.zskk.model.Studies;
 import com.zskk.service.WeixinService;
+=======
+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;
+>>>>>>> origin/master
 
 public class DataTask implements ITask {
 
 	@Override
 	public void run() {
 		// TODO Auto-generated method stub
+<<<<<<< HEAD
 		try {
 			List<Exams> exams = Exams.dao.use("zskk").find("SELECT * FROM pacsonline.exams where exam_status=3 and institution_id=73090001 order by createdAt desc limit 50");
 			for (Exams exams2 : exams) {
@@ -61,6 +76,57 @@ public class DataTask implements ITask {
 			// TODO: handle exception
 		}
 		
+=======
+		DataService dService = ServiceFactory.getService(DataService.class);
+        JSONArray jsonArray = dService.getExamList(30);	
+        for (Object object : jsonArray) {
+			JSONObject jsonObject = JSON.parseObject(object.toString());
+			Record record = Db.use("connected").findFirst("select * from PACSONLINE_Interface where STUDYUID=?", jsonObject.getString("studyuid"));
+			if (record == null) {
+				continue;
+			}
+			if (record.getStr("IMPRESSION") == null && record.getStr("DESCRIPTION") == null) {
+				continue;
+			}
+			Map<String, String> params = new HashMap<>();
+			params.put("exam_id", jsonObject.getString("id"));
+			//报告医生姓名
+			params.put("report_doctor_name",record.getStr("REPORTDOCTOR"));
+			//报告时间
+			params.put("report_datetime",record.getStr("REPORTDATE"));
+			//审核医生姓名
+			params.put("review_doctor_name",record.getStr("REVIEWDOCTOR"));
+			//审核时间
+			params.put("review_datetime",record.getStr("REPORTDATE"));
+			//确认医生姓名
+			params.put("confirm_doctor_name",record.getStr("REVIEWDOCTOR"));
+			//确认时间
+			params.put("confirm_datetime",record.getStr("REPORTDATE"));
+			//意见建议
+			params.put("impression",record.getStr("IMPRESSION"));
+			//影像所见
+			params.put("description",record.getStr("DESCRIPTION"));
+			//exams表
+			//申请科室
+			params.put("application_department", record.getStr("DEPARTMENT"));
+			//申请医生
+			params.put("application_doctor", record.getStr("CLINICALDOCTOR"));
+			//临床诊断
+			params.put("clin_diag", "");
+			//patient_infos表
+			//患者姓名
+			params.put("name",record.getStr("PATIENTNAME"));
+			//患者手机号
+			params.put("phone", "");
+			//患者身份证号
+			params.put("card_num", record.getStr("IDCARD"));
+			params.put("report_result", "1");
+			ThreadPoolService tService = ServiceFactory.getService(ThreadPoolService.class);
+			tService.execute(() -> {
+				dService.saveReport(params);
+			});	
+        }
+>>>>>>> origin/master
 	}
 
 

+ 0 - 13
DataFusion/src/com/zskk/tools/JettyServer.java

@@ -1,13 +0,0 @@
-package com.zskk.tools;
-
-
-import com.jfinal.core.JFinal;
-
-
-public class JettyServer {
-
-	public static void main(String[] args) {
-		JFinal.start("WebRoot", 10000, "/", 5);
-	}
-
-}