Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/dev/icss' into debug

Zhaops 6 gadi atpakaļ
vecāks
revīzija
be92e192c3
100 mainītis faili ar 2184 papildinājumiem un 159 dzēšanām
  1. 10 0
      common/src/main/java/com/diagbot/util/ArrayUtil.java
  2. 41 0
      common/src/main/java/com/diagbot/util/RespDTOUtil.java
  3. 3 3
      config-server/src/main/resources/shared/icss-service-dev.yml
  4. 2 2
      config-server/src/main/resources/shared/icss-service-local.yml
  5. 2 2
      config-server/src/main/resources/shared/icss-service-pro.yml
  6. 2 2
      config-server/src/main/resources/shared/icss-service-test.yml
  7. 0 0
      docs/006.20190304慢病基于icss增量脚本/init_icss_NCD.sql
  8. 40 0
      docs/07.20190318对接相关修改/icss_tran.sql
  9. 4 4
      icss-service/src/main/java/com/diagbot/client/AIServiceClient.java
  10. 4 4
      icss-service/src/main/java/com/diagbot/client/HighRiskServiceClient.java
  11. 4 4
      icss-service/src/main/java/com/diagbot/client/SymptomFeatureClient.java
  12. 80 11
      icss-service/src/main/java/com/diagbot/client/TranServiceClient.java
  13. 3 3
      icss-service/src/main/java/com/diagbot/client/hystrix/AIServiceHystrix.java
  14. 3 3
      icss-service/src/main/java/com/diagbot/client/hystrix/HighRiskServiceHystrix.java
  15. 4 4
      icss-service/src/main/java/com/diagbot/client/hystrix/SymptomFeatureHystrix.java
  16. 102 23
      icss-service/src/main/java/com/diagbot/client/hystrix/TranServiceHystrix.java
  17. 19 0
      icss-service/src/main/java/com/diagbot/dto/DisDTO.java
  18. 19 0
      icss-service/src/main/java/com/diagbot/dto/DisScaleDTO.java
  19. 20 0
      icss-service/src/main/java/com/diagbot/dto/DisTypeDTO.java
  20. 17 0
      icss-service/src/main/java/com/diagbot/dto/EMRIntroduceDTO.java
  21. 16 0
      icss-service/src/main/java/com/diagbot/dto/EMRIntroduceDetailDTO.java
  22. 4 0
      icss-service/src/main/java/com/diagbot/dto/GetDiseaseIcdDTO.java
  23. 20 0
      icss-service/src/main/java/com/diagbot/dto/PushEMRDTO.java
  24. 1 0
      icss-service/src/main/java/com/diagbot/dto/QuestionDTO.java
  25. 78 0
      icss-service/src/main/java/com/diagbot/entity/DisScale.java
  26. 73 0
      icss-service/src/main/java/com/diagbot/entity/DisType.java
  27. 15 1
      icss-service/src/main/java/com/diagbot/entity/DiseaseIcd.java
  28. 12 10
      icss-service/src/main/java/com/diagbot/entity/HospitalDept.java
  29. 15 2
      icss-service/src/main/java/com/diagbot/entity/InquiryDetail.java
  30. 5 0
      icss-service/src/main/java/com/diagbot/entity/QuestionInfo.java
  31. 51 0
      icss-service/src/main/java/com/diagbot/enums/DisTypeEnum.java
  32. 2 1
      icss-service/src/main/java/com/diagbot/facade/DeptInfoFacade.java
  33. 25 0
      icss-service/src/main/java/com/diagbot/facade/DisScaleFacade.java
  34. 43 0
      icss-service/src/main/java/com/diagbot/facade/DisTypeFacade.java
  35. 3 3
      icss-service/src/main/java/com/diagbot/facade/FeatureFacade.java
  36. 12 0
      icss-service/src/main/java/com/diagbot/facade/InquiryInfoFacade.java
  37. 169 0
      icss-service/src/main/java/com/diagbot/facade/IntroduceInfoFacade.java
  38. 18 3
      icss-service/src/main/java/com/diagbot/facade/LisMappingFacade.java
  39. 2 1
      icss-service/src/main/java/com/diagbot/facade/PatientInfoFacade.java
  40. 98 27
      icss-service/src/main/java/com/diagbot/facade/PushFacade.java
  41. 15 1
      icss-service/src/main/java/com/diagbot/facade/QuestionUsualFacade.java
  42. 11 0
      icss-service/src/main/java/com/diagbot/facade/RetrievalFacade.java
  43. 18 0
      icss-service/src/main/java/com/diagbot/facade/TranDiseaseIcdFacade.java
  44. 20 0
      icss-service/src/main/java/com/diagbot/mapper/DisScaleMapper.java
  45. 21 0
      icss-service/src/main/java/com/diagbot/mapper/DisTypeMapper.java
  46. 25 0
      icss-service/src/main/java/com/diagbot/service/DisScaleService.java
  47. 25 0
      icss-service/src/main/java/com/diagbot/service/DisTypeService.java
  48. 27 0
      icss-service/src/main/java/com/diagbot/service/impl/DisScaleServiceImpl.java
  49. 28 0
      icss-service/src/main/java/com/diagbot/service/impl/DisTypeServiceImpl.java
  50. 15 0
      icss-service/src/main/java/com/diagbot/vo/DisScaleVO.java
  51. 25 0
      icss-service/src/main/java/com/diagbot/vo/EMRIntroduceVO.java
  52. 18 0
      icss-service/src/main/java/com/diagbot/vo/EMRPushVO.java
  53. 15 0
      icss-service/src/main/java/com/diagbot/vo/HosCodeVO.java
  54. 1 1
      icss-service/src/main/java/com/diagbot/vo/QuestionUsualVO.java
  55. 4 0
      icss-service/src/main/java/com/diagbot/vo/RetrievalVO.java
  56. 6 0
      icss-service/src/main/java/com/diagbot/vo/SaveInquiryDetailVO.java
  57. 21 0
      icss-service/src/main/java/com/diagbot/vo/SaveInquiryToHisVO.java
  58. 41 0
      icss-service/src/main/java/com/diagbot/web/DisScaleController.java
  59. 38 0
      icss-service/src/main/java/com/diagbot/web/DisTypeController.java
  60. 75 0
      icss-service/src/main/java/com/diagbot/web/EMRController.java
  61. 3 1
      icss-service/src/main/java/com/diagbot/web/RetrievalController.java
  62. 25 0
      icss-service/src/main/resources/mapper/DisScaleMapper.xml
  63. 22 0
      icss-service/src/main/resources/mapper/DisTypeMapper.xml
  64. 1 0
      icss-service/src/main/resources/mapper/InquiryDetailMapper.xml
  65. 3 2
      icss-service/src/main/resources/mapper/QuestionInfoMapper.xml
  66. 18 0
      icss-service/src/main/resources/mapper/RetrievalMapper.xml
  67. 2 2
      icss-service/src/test/java/com/diagbot/CodeGeneration.java
  68. 11 0
      icssman-service/src/main/java/com/diagbot/dto/GetDeptInfoDTO.java
  69. 5 0
      icssman-service/src/main/java/com/diagbot/dto/GetModuleDetailInfoDTO.java
  70. 1 0
      icssman-service/src/main/java/com/diagbot/dto/QuestionDTO.java
  71. 2 0
      icssman-service/src/main/java/com/diagbot/dto/QuestionPageDTO.java
  72. 5 0
      icssman-service/src/main/java/com/diagbot/entity/QuestionInfo.java
  73. 1 0
      icssman-service/src/main/java/com/diagbot/entity/wrapper/QuestionWrapper.java
  74. 52 0
      icssman-service/src/main/java/com/diagbot/enums/ModuleTypeEnum.java
  75. 21 9
      icssman-service/src/main/java/com/diagbot/facade/ModuleDetailFacade.java
  76. 7 1
      icssman-service/src/main/java/com/diagbot/facade/ModuleInfoFacade.java
  77. 2 2
      icssman-service/src/main/java/com/diagbot/facade/QuestionFacade.java
  78. 2 0
      icssman-service/src/main/java/com/diagbot/facade/QuestionUsualFacade.java
  79. 11 1
      icssman-service/src/main/java/com/diagbot/facade/RetrievalFacade.java
  80. 2 0
      icssman-service/src/main/java/com/diagbot/service/impl/EnumsDataServiceImpl.java
  81. 2 0
      icssman-service/src/main/java/com/diagbot/vo/AddModuleInfoVO.java
  82. 3 1
      icssman-service/src/main/java/com/diagbot/vo/AddTagRetrievalVO.java
  83. 4 0
      icssman-service/src/main/java/com/diagbot/vo/GetModuleInfoVO.java
  84. 3 0
      icssman-service/src/main/java/com/diagbot/vo/GetQuestionUsualByDeptVO.java
  85. 14 0
      icssman-service/src/main/java/com/diagbot/vo/ModuleGetQuestionInfoVO.java
  86. 2 0
      icssman-service/src/main/java/com/diagbot/vo/QuestionUsualVO.java
  87. 1 0
      icssman-service/src/main/java/com/diagbot/web/DictionaryInfoController.java
  88. 7 5
      icssman-service/src/main/java/com/diagbot/web/ModuleInfoController.java
  89. 4 2
      icssman-service/src/main/resources/mapper/DeptInfoMapper.xml
  90. 13 4
      icssman-service/src/main/resources/mapper/QuestionInfoMapper.xml
  91. 1 4
      icssman-service/src/main/resources/mapper/QuestionUsualMapper.xml
  92. 15 1
      tran-service/src/main/java/com/diagbot/entity/DiseaseIcd.java
  93. 11 9
      tran-service/src/main/java/com/diagbot/entity/HospitalDept.java
  94. 146 0
      tran-service/src/main/java/com/diagbot/entity/IntroduceTitleConfig.java
  95. 154 0
      tran-service/src/main/java/com/diagbot/entity/PacsConfig.java
  96. 50 0
      tran-service/src/main/java/com/diagbot/enums/TypeEnum.java
  97. 22 0
      tran-service/src/main/java/com/diagbot/facade/DiseaseIcdFacade.java
  98. 13 0
      tran-service/src/main/java/com/diagbot/facade/InquiryInfoFacade.java
  99. 33 0
      tran-service/src/main/java/com/diagbot/facade/IntroduceTitleConfigFacade.java
  100. 0 0
      tran-service/src/main/java/com/diagbot/facade/PacsConfigFacade.java

+ 10 - 0
common/src/main/java/com/diagbot/util/ArrayUtil.java

@@ -18,6 +18,16 @@ public class ArrayUtil {
         return ArrayUtils.isEmpty(array);
     }
 
+    /**
+     * 判断数组是否不为空
+     *
+     * @param array 数组
+     * @return 是否为空
+     */
+    public static boolean isNotEmpty(Object[] array) {
+        return !ArrayUtils.isEmpty(array);
+    }
+
     /**
      * 数组合并
      *

+ 41 - 0
common/src/main/java/com/diagbot/util/RespDTOUtil.java

@@ -0,0 +1,41 @@
+package com.diagbot.util;
+
+import com.diagbot.dto.RespDTO;
+import com.diagbot.exception.CommonErrorCode;
+
+/**
+ * @Description: 结果验证工具类
+ * @author: gaodm
+ * @time: 2019/3/12 18:25
+ */
+public class RespDTOUtil {
+
+    /**
+     * 远程调度是否成功
+     * @param respDTO 返回结果
+     * @param <T> 泛型
+     * @return 是否成功
+     */
+    public static <T> boolean respIsOK(RespDTO<T> respDTO){
+        if (respDTO == null
+                || !CommonErrorCode.OK.getCode().equals(respDTO.code)) {
+            return false;
+        }
+        return true;
+    }
+
+
+    /**
+     * 远程调度是否不成功
+     * @param respDTO 返回结果
+     * @param <T> 泛型
+     * @return 是否成功
+     */
+    public static <T> boolean respIsNG(RespDTO<T> respDTO){
+        if (respDTO == null
+                || !CommonErrorCode.OK.getCode().equals(respDTO.code)) {
+            return true;
+        }
+        return false;
+    }
+}

+ 3 - 3
config-server/src/main/resources/shared/icss-service-dev.yml

@@ -98,7 +98,7 @@ mybatis-plus:
     map-underscore-to-camel-case: true
     cache-enabled: false
 
-ai:
+bigdata:
   server:
     address: http://192.168.2.234:5008
 
@@ -106,6 +106,6 @@ graph:
   server:
     address: http://192.168.2.234:5003
 
-symptom:
+nlp:
   server:
-    address: http://192.168.2.234:5002
+    address: http://192.168.2.234:5002

+ 2 - 2
config-server/src/main/resources/shared/icss-service-local.yml

@@ -98,7 +98,7 @@ mybatis-plus:
     map-underscore-to-camel-case: true
     cache-enabled: false
 
-ai:
+bigdata:
   server:
     address: http://192.168.2.234:5008
 
@@ -106,6 +106,6 @@ graph:
   server:
     address: http://192.168.2.234:5003
 
-symptom:
+nlp:
   server:
     address: http://192.168.2.234:5002

+ 2 - 2
config-server/src/main/resources/shared/icss-service-pro.yml

@@ -98,7 +98,7 @@ mybatis-plus:
     map-underscore-to-camel-case: true
     cache-enabled: false
 
-ai:
+bigdata:
   server:
     address: http://192.168.2.234:5008
 
@@ -106,7 +106,7 @@ graph:
   server:
     address: http://192.168.2.234:5003
 
-symptom:
+nlp:
   server:
     address: http://192.168.2.234:5002
 

+ 2 - 2
config-server/src/main/resources/shared/icss-service-test.yml

@@ -98,7 +98,7 @@ mybatis-plus:
     map-underscore-to-camel-case: true
     cache-enabled: false
 
-ai:
+bigdata:
   server:
     address: http://192.168.2.234:5008
 
@@ -106,6 +106,6 @@ graph:
   server:
     address: http://192.168.2.234:5003
 
-symptom:
+nlp:
   server:
     address: http://192.168.2.234:5002

+ 0 - 0
docs/006.20190304慢病基于icss增量脚本/init_icss_NCD.sql


+ 40 - 0
docs/07.20190318对接相关修改/icss_tran.sql

@@ -0,0 +1,40 @@
+use `sys-icss`;
+ALTER TABLE `icss_inquiry_detail`
+ADD COLUMN `content_value`  text NULL COMMENT '内容字符串纯文本' AFTER `content`;
+
+ALTER TABLE icss_question_info MODIFY COLUMN control_type tinyint(4) COMMENT '控件类型(0:无类型,默认值 1:下拉单选 2:下拉多选 3:待定 4:待定 5:数字键盘带单位 6:文本框 7:数字键盘文本框  11:下拉单选括号占位符,有无治疗 99:联合推送)';
+ALTER TABLE icss_question_info MODIFY COLUMN type tinyint(4) COMMENT '类型(1:症状 3:其他史 4:查体,5:化验 6:辅检 7:诊断,8:药品,9:药品分类 21:量表,22:推送指标)';
+ALTER TABLE icss_question_info ADD COLUMN  formula_code varchar(255) COMMENT '公式编码' AFTER `joint`;
+
+
+use `sys-tran`;
+CREATE TABLE `tran_pacs_config` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `hospital_code` varchar(60) DEFAULT NULL COMMENT '医院编码',
+  `meal_name` varchar(100) DEFAULT NULL COMMENT '套餐名',
+  `unique_name` varchar(100) DEFAULT NULL COMMENT '公表名',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='辅检项目公表映射配置表';
+
+CREATE TABLE `tran_introduce_title_config` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `hospital_code` varchar(60) DEFAULT NULL COMMENT '医院编码',
+  `item_name` varchar(100) DEFAULT NULL COMMENT '项目名',
+  `unique_name` varchar(100) DEFAULT NULL COMMENT '公表名',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COMMENT='提示信息标签映射表';
+
+
+ALTER TABLE `tran_disease_icd` ADD COLUMN `icss_question_name` varchar(20) NOT NULL COMMENT 'icss疾病名称' AFTER `status`;
+
+ALTER TABLE `tran_hospital_dept` CHANGE `dept_id` `icss_dept_name` varchar(20) DEFAULT NULL COMMENT 'icss科室名称';

+ 4 - 4
icss-service/src/main/java/com/diagbot/client/AIServiceClient.java

@@ -3,18 +3,18 @@ package com.diagbot.client;
 import com.diagbot.client.bean.Response;
 import com.diagbot.client.bean.ResponseData;
 import com.diagbot.client.bean.SearchData;
-import com.diagbot.client.hystrix.AIServiceHystrix;
+import com.diagbot.client.hystrix.BigDataServiceHystrix;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
 /**
- * @Description:
+ * @Description:调用大数据对接层服务
  * @Author:zhaops
  * @time: 2018/11/20 13:15
  */
-@FeignClient(name = "AI", url = "${ai.server.address}", fallback = AIServiceHystrix.class)
-public interface AIServiceClient {
+@FeignClient(name = "BigData", url = "${bigdata.server.address}", fallback = BigDataServiceHystrix.class)
+public interface BigDataServiceClient {
     @PostMapping(value = "/push-web/algorithm/neural")
     Response<ResponseData> bayesPageData(@RequestBody SearchData searchData);
 }

+ 4 - 4
icss-service/src/main/java/com/diagbot/client/HighRiskServiceClient.java

@@ -3,18 +3,18 @@ package com.diagbot.client;
 import com.diagbot.client.bean.GdbResponse;
 import com.diagbot.client.bean.Response;
 import com.diagbot.client.bean.SearchData;
-import com.diagbot.client.hystrix.HighRiskServiceHystrix;
+import com.diagbot.client.hystrix.GraphServiceHystrix;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
 /**
- * @Description:
+ * @Description:调用知识图谱对接层服务
  * @Author:zhaops
  * @time: 2018/12/21 11:38
  */
-@FeignClient(name = "HighRisk", url = "${graph.server.address}", fallback = HighRiskServiceHystrix.class)
-public interface HighRiskServiceClient {
+@FeignClient(name = "Graph", url = "${graph.server.address}", fallback = GraphServiceHystrix.class)
+public interface GraphServiceClient {
     @PostMapping(value = "/graph-web/graph/highRisk")
     Response<GdbResponse> highRiskPageData(@RequestBody SearchData searchData);
 }

+ 4 - 4
icss-service/src/main/java/com/diagbot/client/SymptomFeatureClient.java

@@ -1,7 +1,7 @@
 package com.diagbot.client;
 
 import com.diagbot.client.bean.Response;
-import com.diagbot.client.hystrix.SymptomFeatureHystrix;
+import com.diagbot.client.hystrix.NLPServiceHystrix;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -10,12 +10,12 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * @Description:
+ * @Description:调用NLP对接层服务
  * @Author:zhaops
  * @time: 2019/2/26 10:33
  */
-@FeignClient(name = "SymptomFeature", url = "${symptom.server.address}", fallback = SymptomFeatureHystrix.class)
-public interface SymptomFeatureClient {
+@FeignClient(name = "NLP", url = "${nlp.server.address}", fallback = NLPServiceHystrix.class)
+public interface NLPServiceClient {
     @PostMapping(value = "/nlp-web/feature/find_symptom_feature")
     Response<List<Map<String, Object>>> symptomFeaturePageData(@RequestParam("text") String text);
 }

+ 80 - 11
icss-service/src/main/java/com/diagbot/client/TranServiceClient.java

@@ -1,12 +1,5 @@
 package com.diagbot.client;
 
-import java.util.List;
-import java.util.Map;
-
-import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-
 import com.diagbot.client.hystrix.TranServiceHystrix;
 import com.diagbot.dto.DoctorInfoDTO;
 import com.diagbot.dto.GetDiseaseIcdDTO;
@@ -23,11 +16,19 @@ import com.diagbot.entity.PatientInfo;
 import com.diagbot.vo.DoctorInfoVO;
 import com.diagbot.vo.GetDiseaseIcdVO;
 import com.diagbot.vo.GetTopPatientInfoVO;
+import com.diagbot.vo.HosCodeVO;
 import com.diagbot.vo.HospitalDeptInfoVO;
 import com.diagbot.vo.HospitalInfoVO;
 import com.diagbot.vo.LisHospitalCodeVO;
 import com.diagbot.vo.PatientInfoVO;
+import com.diagbot.vo.SaveInquiryToHisVO;
 import com.diagbot.vo.TranFieldInfoVO;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * @Description: 调用信息对接层服务
@@ -45,9 +46,10 @@ public interface TranServiceClient {
      */
     @PostMapping("/doctorInfo/getDoctorInfo")
     RespDTO<List<DoctorInfoDTO>> getDoctorInfo(@RequestBody DoctorInfoVO doctorInfoVo);
-    
+
     /**
      * 根据ids获取医生信息map
+     *
      * @param ids
      * @return
      */
@@ -62,9 +64,10 @@ public interface TranServiceClient {
      */
     @PostMapping("/hospitalDeptInfo/getHospitalDeptInfo")
     RespDTO<HospitalDeptInfoDTO> getHospitalDeptInfo(@RequestBody HospitalDeptInfoVO hospitalDeptInfoVO);
-    
+
     /**
      * 根据ids获取科室信息map
+     *
      * @param ids
      * @return
      */
@@ -79,8 +82,10 @@ public interface TranServiceClient {
      */
     @PostMapping("/hospitalInfo/getHospitalInfo")
     RespDTO<List<HospitalInfoDTO>> getHospitalInfo(@RequestBody HospitalInfoVO hospitalInfoVO);
+
     /**
      * 匹配公表名
+     *
      * @param lisHospitalCodeVO
      * @return
      */
@@ -104,9 +109,10 @@ public interface TranServiceClient {
      */
     @PostMapping("/patientInfo/getTopPatientInfo")
     RespDTO<GetTopPatientInfoDTO> getTopPatientInfo(@RequestBody GetTopPatientInfoVO getTopPatientInfoVO);
-    
+
     /**
      * 根据ids获取病人信息
+     *
      * @param ids
      * @return
      */
@@ -130,4 +136,67 @@ public interface TranServiceClient {
      */
     @PostMapping("/diseaseIcd/getDiseaseIcds")
     RespDTO<List<GetDiseaseIcdDTO>> getDiseaseIcds(@RequestBody GetDiseaseIcdVO getDiseaseIcdVO);
-}
+
+    /**
+     * 将问诊保存的一些相关信息发送到对接层
+     *
+     * @param saveInquiryToHisVO
+     * @return
+     */
+    @PostMapping("/inquiryInfo/saveInquiryToHis")
+    RespDTO<Boolean> saveInquiryToHis(@RequestBody SaveInquiryToHisVO saveInquiryToHisVO);
+
+
+    /**
+     * 根据医院编码获取化验公表映射关系-itemName不为空
+     *
+     * @param hosCodeVO
+     * @return
+     */
+    @PostMapping("/tranLisConfig/getLisConfigByHosCode_NotEmptyItemName")
+    RespDTO<Map<String, Map<String, String>>> getLisConfigByHosCode_NotEmptyItemName(@RequestBody HosCodeVO hosCodeVO);
+
+    /**
+     * 根据医院编码获取化验公表映射关系-itemName为空
+     *
+     * @param hosCodeVO
+     * @return
+     */
+    @PostMapping("/tranLisConfig/getLisConfigByHosCode_EmptyItemName")
+    RespDTO<Map<String, String>> getLisConfigByHosCode_EmptyItemName(@RequestBody HosCodeVO hosCodeVO);
+
+    /**
+     * 根据医院编码获取辅检公表映射关系
+     *
+     * @param hosCodeVO
+     * @return
+     */
+    @PostMapping("/pacsConfig/getPacsConfigByHosCode")
+    RespDTO<Map<String, String>> getPacsConfigByHosCode(@RequestBody HosCodeVO hosCodeVO);
+
+    /**
+     * 根据医院编码获取提示信息标题映射关系
+     *
+     * @param hosCodeVO
+     * @return
+     */
+    @PostMapping("/introduceTitleConfig/getTitleMappingHosCode")
+    RespDTO<Map<String, String>> getTitleMappingHosCode(@RequestBody HosCodeVO hosCodeVO);
+
+    /**
+     * 根据医院编码查询诊断icd映射
+     *
+     * @param hosCodeVO
+     * @return
+     */
+    @PostMapping("/diseaseIcd/getDiseaseIcdByHosCode")
+    RespDTO<Map<String, String>> getDiseaseIcdByHosCode(@RequestBody HosCodeVO hosCodeVO);
+
+    /**
+     * 数据服务模式是否对外对接
+     *
+     * @return
+     */
+    @PostMapping("/dataService/isDocking")
+    RespDTO<Boolean> isDocking();
+}

+ 3 - 3
icss-service/src/main/java/com/diagbot/client/hystrix/AIServiceHystrix.java

@@ -1,6 +1,6 @@
 package com.diagbot.client.hystrix;
 
-import com.diagbot.client.AIServiceClient;
+import com.diagbot.client.BigDataServiceClient;
 import com.diagbot.client.bean.Response;
 import com.diagbot.client.bean.ResponseData;
 import com.diagbot.client.bean.SearchData;
@@ -8,13 +8,13 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 
 /**
- * @Description:
+ * @Description:调用大数据对接层服务
  * @Author:zhaops
  * @time: 2018/11/20 13:15
  */
 @Component
 @Slf4j
-public class AIServiceHystrix implements AIServiceClient {
+public class BigDataServiceHystrix implements BigDataServiceClient {
     @Override
     public Response<ResponseData> bayesPageData(SearchData searchData) {
         log.error("【hystrix】调用{}异常", "bayesPageData");

+ 3 - 3
icss-service/src/main/java/com/diagbot/client/hystrix/HighRiskServiceHystrix.java

@@ -1,6 +1,6 @@
 package com.diagbot.client.hystrix;
 
-import com.diagbot.client.HighRiskServiceClient;
+import com.diagbot.client.GraphServiceClient;
 import com.diagbot.client.bean.GdbResponse;
 import com.diagbot.client.bean.Response;
 import com.diagbot.client.bean.SearchData;
@@ -8,13 +8,13 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 
 /**
- * @Description:
+ * @Description:调用知识图谱对接层服务
  * @Author:zhaops
  * @time: 2018/12/21 11:48
  */
 @Component
 @Slf4j
-public class HighRiskServiceHystrix implements HighRiskServiceClient {
+public class GraphServiceHystrix implements GraphServiceClient {
     @Override
     public Response<GdbResponse> highRiskPageData(SearchData searchData) {
         log.error("【hystrix】调用{}异常", "highRiskPageData");

+ 4 - 4
icss-service/src/main/java/com/diagbot/client/hystrix/SymptomFeatureHystrix.java

@@ -1,6 +1,6 @@
 package com.diagbot.client.hystrix;
 
-import com.diagbot.client.SymptomFeatureClient;
+import com.diagbot.client.NLPServiceClient;
 import com.diagbot.client.bean.Response;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
@@ -10,16 +10,16 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * @Description:
+ * @Description:调用NLP对接层服务
  * @Author:zhaops
  * @time: 2019/2/26 10:33
  */
 @Component
 @Slf4j
-public class SymptomFeatureHystrix implements SymptomFeatureClient {
+public class NLPServiceHystrix implements NLPServiceClient {
 
     @Override
-    public  Response<List<Map<String, Object>>> symptomFeaturePageData(@RequestParam("text") String text) {
+    public Response<List<Map<String, Object>>> symptomFeaturePageData(@RequestParam("text") String text) {
         log.error("【hystrix】调用{}异常", "symptomFeaturePageData");
         return null;
     }

+ 102 - 23
icss-service/src/main/java/com/diagbot/client/hystrix/TranServiceHystrix.java

@@ -16,14 +16,16 @@ import com.diagbot.entity.PatientInfo;
 import com.diagbot.vo.DoctorInfoVO;
 import com.diagbot.vo.GetDiseaseIcdVO;
 import com.diagbot.vo.GetTopPatientInfoVO;
+import com.diagbot.vo.HosCodeVO;
 import com.diagbot.vo.HospitalDeptInfoVO;
 import com.diagbot.vo.HospitalInfoVO;
 import com.diagbot.vo.LisHospitalCodeVO;
-
 import com.diagbot.vo.PatientInfoVO;
+import com.diagbot.vo.SaveInquiryToHisVO;
 import com.diagbot.vo.TranFieldInfoVO;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RequestBody;
 
 import javax.validation.Valid;
 import java.util.List;
@@ -44,12 +46,12 @@ public class TranServiceHystrix implements TranServiceClient {
     }
 
     @Override
-	public RespDTO<Map<Long, DoctorInfo>> doctorInfoMapByIds(List<Long> ids) {
-    	log.error("【hystrix】调用{}异常", "doctorInfoMapByIds");
-		return null;
-	}
+    public RespDTO<Map<Long, DoctorInfo>> doctorInfoMapByIds(List<Long> ids) {
+        log.error("【hystrix】调用{}异常", "doctorInfoMapByIds");
+        return null;
+    }
 
-	@Override
+    @Override
     public RespDTO<List<HospitalInfoDTO>> getHospitalInfo(HospitalInfoVO hospitalInfoVO) {
         log.error("【hystrix】调用{}异常", "getHospitalInfo");
         return null;
@@ -60,14 +62,14 @@ public class TranServiceHystrix implements TranServiceClient {
         log.error("【hystrix】调用{}异常", "getHospitalDeptInfo");
         return null;
     }
-    
+
     @Override
-	public RespDTO<Map<Long, HospitalDept>> hospitalDeptInfoMapByIds(List<Long> ids) {
-    	 log.error("【hystrix】调用{}异常", "hospitalDeptInfoMapByIds");
-		return null;
-	}
+    public RespDTO<Map<Long, HospitalDept>> hospitalDeptInfoMapByIds(List<Long> ids) {
+        log.error("【hystrix】调用{}异常", "hospitalDeptInfoMapByIds");
+        return null;
+    }
 
-	@Override
+    @Override
     public RespDTO<List<LisConfigDTO>> getLisConfigByhospitalId(LisHospitalCodeVO lisHospitalCodeVO) {
         log.error("【hystrix】调用{}异常", "getLisConfigByhospitalId");
         return null;
@@ -84,14 +86,14 @@ public class TranServiceHystrix implements TranServiceClient {
         log.error("【hystrix】调用{}异常", "getTopPatientInfo");
         return null;
     }
-    
+
     @Override
-	public RespDTO<Map<Long, PatientInfo>> patientInfoMapByIds(List<Long> ids) {
-    	log.error("【hystrix】调用{}异常", "patientInfoMapByIds");
-		return null;
-	}
+    public RespDTO<Map<Long, PatientInfo>> patientInfoMapByIds(List<Long> ids) {
+        log.error("【hystrix】调用{}异常", "patientInfoMapByIds");
+        return null;
+    }
 
-	@Override
+    @Override
     public RespDTO<List<TranFieldInfoDTO>> getInfoByUuid(TranFieldInfoVO tranFieldInfoVO) {
         log.error("【hystrix】调用{}异常", "getInfoByUuid");
         return null;
@@ -103,10 +105,87 @@ public class TranServiceHystrix implements TranServiceClient {
         return null;
     }
 
+    @Override
+    public RespDTO<Boolean> saveInquiryToHis(SaveInquiryToHisVO saveInquiryToHisVO) {
+        log.error("【hystrix】调用{}异常", "saveInquiryToHis");
+        return null;
+    }
+
+
+    //    @Override
+    //    public Response<ResponseData> bayesPageData(SearchData searchData) {
+    //        log.error("【hystrix】调用{}异常", "bayesPageData");
+    //        return null;
+    //    }
+
+    /**
+     * 根据医院编码获取化验公表映射关系-itemName不为空
+     *
+     * @param hosCodeVO
+     * @return
+     */
+    @Override
+    public RespDTO<Map<String, Map<String, String>>> getLisConfigByHosCode_NotEmptyItemName(@RequestBody HosCodeVO hosCodeVO) {
+        log.error("【hystrix】调用{}异常", "getLisConfigByHosCode_NotEmptyItemName");
+        return null;
+    }
+
+    /**
+     * 根据医院编码获取化验公表映射关系-itemName为空
+     *
+     * @param hosCodeVO
+     * @return
+     */
+    @Override
+    public RespDTO<Map<String, String>> getLisConfigByHosCode_EmptyItemName(@RequestBody HosCodeVO hosCodeVO) {
+        log.error("【hystrix】调用{}异常", "getLisConfigByHosCode_EmptyItemName");
+        return null;
+    }
+
+    /**
+     * 根据医院编码获取辅检公表映射关系
+     *
+     * @param hosCodeVO
+     * @return
+     */
+    @Override
+    public RespDTO<Map<String, String>> getPacsConfigByHosCode(@RequestBody HosCodeVO hosCodeVO) {
+        log.error("【hystrix】调用{}异常", "getPacsConfigByHosCode");
+        return null;
+    }
+
+    /**
+     * 根据医院编码获取提示信息标题映射关系
+     *
+     * @param hosCodeVO
+     * @return
+     */
+    @Override
+    public RespDTO<Map<String, String>> getTitleMappingHosCode(@RequestBody HosCodeVO hosCodeVO) {
+        log.error("【hystrix】调用{}异常", "getTitleMappingHosCode");
+        return null;
+    }
+
+    /**
+     * 根据医院编码查询诊断icd映射
+     *
+     * @param hosCodeVO
+     * @return
+     */
+    @Override
+    public RespDTO<Map<String, String>> getDiseaseIcdByHosCode(@RequestBody HosCodeVO hosCodeVO) {
+        log.error("【hystrix】调用{}异常", "getDiseaseIcdByHosCode");
+        return null;
+    }
 
-//    @Override
-//    public Response<ResponseData> bayesPageData(SearchData searchData) {
-//        log.error("【hystrix】调用{}异常", "bayesPageData");
-//        return null;
-//    }
+    /**
+     * 数据服务模式是否对外对接
+     *
+     * @return
+     */
+    @Override
+    public RespDTO<Boolean> isDocking() {
+        log.error("【hystrix】调用{}异常", "isDocking");
+        return null;
+    }
 }

+ 19 - 0
icss-service/src/main/java/com/diagbot/dto/DisDTO.java

@@ -0,0 +1,19 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description: 返回诊断基本信息
+ * @Author: ztg
+ * @Date: 2018/10/24 16:11
+ */
+@Getter
+@Setter
+public class DisDTO {
+
+    private Long id;// id
+    private String name;//内容
+    private Integer type;//类型(0:慢病,1:急诊)
+    private Integer tagType; //标签标识
+}

+ 19 - 0
icss-service/src/main/java/com/diagbot/dto/DisScaleDTO.java

@@ -0,0 +1,19 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description: 返回诊断量表信息
+ * @Author: ztg
+ * @Date: 2018/10/24 16:11
+ */
+@Getter
+@Setter
+public class DisScaleDTO {
+
+    private Long id;// id
+    private String name;//内容
+    private Integer tagType; //标签标识
+    private Integer orderNo; //排序
+}

+ 20 - 0
icss-service/src/main/java/com/diagbot/dto/DisTypeDTO.java

@@ -0,0 +1,20 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description: 返回诊断类型
+ * @Author: ztg
+ * @Date: 2018/10/24 16:11
+ */
+@Getter
+@Setter
+public class DisTypeDTO {
+
+    private List<DisDTO> chronic = new ArrayList<>();
+    private List<DisDTO> emergency = new ArrayList<>();
+}

+ 17 - 0
icss-service/src/main/java/com/diagbot/dto/EMRIntroduceDTO.java

@@ -0,0 +1,17 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/3/11 14:00
+ */
+@Getter
+@Setter
+public class EMRIntroduceDTO {
+    private List<EMRIntroduceDetailDTO> details;
+}

+ 16 - 0
icss-service/src/main/java/com/diagbot/dto/EMRIntroduceDetailDTO.java

@@ -0,0 +1,16 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/3/12 11:16
+ */
+@Getter
+@Setter
+public class EMRIntroduceDetailDTO {
+    private String title;
+    private String text;
+}

+ 4 - 0
icss-service/src/main/java/com/diagbot/dto/GetDiseaseIcdDTO.java

@@ -12,4 +12,8 @@ import lombok.Setter;
 @Getter
 @Setter
 public class GetDiseaseIcdDTO extends DiseaseIcd {
+    /**
+     * 疾病id
+     */
+    private Long questionId;
 }

+ 20 - 0
icss-service/src/main/java/com/diagbot/dto/PushEMRDTO.java

@@ -0,0 +1,20 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description:推理返回数据
+ * @Author:zhaops
+ * @time: 2019/3/11 16:36
+ */
+@Getter
+@Setter
+public class PushEMRDTO {
+    private List<String> lisList;
+    private List<String> pacsList;
+    private Map<String, List<String>> dis;
+}

+ 1 - 0
icss-service/src/main/java/com/diagbot/dto/QuestionDTO.java

@@ -40,5 +40,6 @@ public class QuestionDTO {
     private String joint = "";     //标签后的连接符
     private List<QuestionDetail> questionDetailList = new ArrayList<>(); //标签明细表
     private List<QuestionDTO> questionMapping = new ArrayList<>();     //下级标签
+    private String formulaCode;     //公式编码
     private String remark;//备注
 }

+ 78 - 0
icss-service/src/main/java/com/diagbot/entity/DisScale.java

@@ -0,0 +1,78 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 诊断量表映射表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-03-11
+ */
+@TableName("icss_dis_scale")
+@Getter
+@Setter
+public class DisScale implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 诊断标签id
+     */
+    private Long disId;
+
+    /**
+     * 量表标签id
+     */
+    private Long scaleId;
+
+    /**
+     * 排序号
+     */
+    private Integer orderNo;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 73 - 0
icss-service/src/main/java/com/diagbot/entity/DisType.java

@@ -0,0 +1,73 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 诊断类型表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-03-08
+ */
+@TableName("icss_dis_type")
+@Getter
+@Setter
+public class DisType implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 诊断标签id
+     */
+    private Long disId;
+
+    /**
+     * 0:慢病,1:急诊
+     */
+    private Integer type;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 15 - 1
icss-service/src/main/java/com/diagbot/entity/DiseaseIcd.java

@@ -73,6 +73,19 @@ public class DiseaseIcd implements Serializable {
      */
     private String remark;
 
+    /**
+     * 疾病名称(内)
+     */
+    private String icssQuestionName;
+
+    public String getIcssQuestionName() {
+        return icssQuestionName;
+    }
+
+    public void setIcssQuestionName(String icssQuestionName) {
+        this.icssQuestionName = icssQuestionName;
+    }
+
     public Long getId() {
         return id;
     }
@@ -165,6 +178,7 @@ public class DiseaseIcd implements Serializable {
         ", icd=" + icd +
         ", status=" + status +
         ", remark=" + remark +
-        "}";
+        ",icssQuestionName" + icssQuestionName +
+                "}";
     }
 }

+ 12 - 10
icss-service/src/main/java/com/diagbot/entity/HospitalDept.java

@@ -1,12 +1,12 @@
 package com.diagbot.entity;
 
-import java.io.Serializable;
-import java.util.Date;
-
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 医院科室信息表
@@ -72,9 +72,9 @@ public class HospitalDept implements Serializable {
     private String hospitalName;
 
     /**
-     * icss科室id
+     * icss科室名称
      */
-    private Long deptId;
+    private String icssDeptName;
 
     /**
      * 状态:0.禁用1.启用
@@ -156,13 +156,15 @@ public class HospitalDept implements Serializable {
     public void setHospitalName(String hospitalName) {
         this.hospitalName = hospitalName;
     }
-    public Long getDeptId() {
-        return deptId;
+
+    public String getIcssDeptName() {
+        return icssDeptName;
     }
 
-    public void setDeptId(Long deptId) {
-        this.deptId = deptId;
+    public void setIcssDeptName(String icssDeptName) {
+        this.icssDeptName = icssDeptName;
     }
+
     public Integer getStatus() {
         return status;
     }
@@ -191,7 +193,7 @@ public class HospitalDept implements Serializable {
         ", name=" + name +
         ", hospitalCode=" + hospitalCode +
         ", hospitalName=" + hospitalName +
-        ", deptId=" + deptId +
+        ", deptId=" + icssDeptName +
         ", status=" + status +
         ", remark=" + remark +
         "}";

+ 15 - 2
icss-service/src/main/java/com/diagbot/entity/InquiryDetail.java

@@ -12,8 +12,8 @@ import com.baomidou.mybatisplus.annotation.TableName;
  * 问诊记录明细表
  * </p>
  *
- * @author rengb
- * @since 2018-11-23
+ * @author zhoutg
+ * @since 2019-03-18
  */
 @TableName("icss_inquiry_detail")
 public class InquiryDetail implements Serializable {
@@ -66,6 +66,11 @@ public class InquiryDetail implements Serializable {
      */
     private String content;
 
+    /**
+     * 内容字符串纯文本
+     */
+    private String contentValue;
+
     /**
      * 备注
      */
@@ -134,6 +139,13 @@ public class InquiryDetail implements Serializable {
     public void setContent(String content) {
         this.content = content;
     }
+    public String getContentValue() {
+        return contentValue;
+    }
+
+    public void setContentValue(String contentValue) {
+        this.contentValue = contentValue;
+    }
     public String getRemark() {
         return remark;
     }
@@ -154,6 +166,7 @@ public class InquiryDetail implements Serializable {
         ", inquiryId=" + inquiryId +
         ", type=" + type +
         ", content=" + content +
+        ", contentValue=" + contentValue +
         ", remark=" + remark +
         "}";
     }

+ 5 - 0
icss-service/src/main/java/com/diagbot/entity/QuestionInfo.java

@@ -115,6 +115,11 @@ public class QuestionInfo implements Serializable {
      */
     private String showAdd;
 
+    /**
+     * 公式编码
+     */
+    private String formulaCode;
+
     /**
      * 是否显示 i
      */

+ 51 - 0
icss-service/src/main/java/com/diagbot/enums/DisTypeEnum.java

@@ -0,0 +1,51 @@
+package com.diagbot.enums;
+
+import com.diagbot.core.KeyedNamed;
+import lombok.Setter;
+
+/**
+ * 
+ * @author zhoutg
+ * @Description: 诊断类型
+ * @date 2018年11月21日 下午2:31:42
+ */
+public enum DisTypeEnum implements KeyedNamed {
+    CHRONIC(0, "慢病"),
+    EMERGENCY(1, "急诊");
+
+    @Setter
+    private Integer key;
+
+    @Setter
+    private String name;
+
+    DisTypeEnum(Integer key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static DisTypeEnum getEnum(Integer key) {
+        for (DisTypeEnum item : DisTypeEnum.values()) {
+            if (item.key == key) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(Integer key) {
+        DisTypeEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+
+    @Override
+    public int getKey() {
+        return key;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+}
+

+ 2 - 1
icss-service/src/main/java/com/diagbot/facade/DeptInfoFacade.java

@@ -43,10 +43,11 @@ public class DeptInfoFacade extends DeptInfoServiceImpl {
         }
         QueryWrapper<DeptInfo> deptInfoDTOQueryWrapper = new QueryWrapper<>();
         deptInfoDTOQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
-                .eq("id",hospitalDeptInfoDTORespDTO.data.getDeptId());
+                .eq("name",hospitalDeptInfoDTORespDTO.data.getIcssDeptName());
         DeptInfo deptInfo = this.getOne(deptInfoDTOQueryWrapper);
         DeptInfoDTO deptInfoDTO = new DeptInfoDTO();
         BeanUtil.copyProperties(deptInfo,deptInfoDTO);
+        deptInfoDTO.setId(deptInfo.getId());
         return deptInfoDTO;
     }
 }

+ 25 - 0
icss-service/src/main/java/com/diagbot/facade/DisScaleFacade.java

@@ -0,0 +1,25 @@
+package com.diagbot.facade;
+
+import com.diagbot.dto.DisScaleDTO;
+import com.diagbot.service.impl.DisScaleServiceImpl;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description: 诊断量表
+ * @author: zhoutg
+ * @time: 2018/11/19 13:19
+ */
+@Component
+public class DisScaleFacade extends DisScaleServiceImpl {
+
+    /**
+     * 返回诊断量表列表
+     *
+     * @return
+     */
+    public List<DisScaleDTO> getDisScaleFac(Long disId) {
+        return getDisScale(disId);
+    }
+}

+ 43 - 0
icss-service/src/main/java/com/diagbot/facade/DisTypeFacade.java

@@ -0,0 +1,43 @@
+package com.diagbot.facade;
+
+import com.diagbot.dto.DisDTO;
+import com.diagbot.dto.DisTypeDTO;
+import com.diagbot.enums.DisTypeEnum;
+import com.diagbot.service.impl.DisTypeServiceImpl;
+import com.diagbot.util.EntityUtil;
+import com.diagbot.util.ListUtil;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description: 诊断类型
+ * @author: zhoutg
+ * @time: 2018/11/19 13:19
+ */
+@Component
+public class DisTypeFacade extends DisTypeServiceImpl {
+
+    /**
+     * 返回诊断类型
+     *
+     * @return
+     */
+    public DisTypeDTO getDisTypeFac() {
+        DisTypeDTO res = new DisTypeDTO();
+        List<DisDTO> data = this.getDisType();
+        Map<String, List<DisDTO>> map = EntityUtil.makeEntityListMap(data, "type");
+        if (map != null) {
+            List<DisDTO> chr = map.get(DisTypeEnum.CHRONIC.getKey()); //放入慢病列表
+            if (ListUtil.isNotEmpty(chr)) {
+                res.setChronic(chr);
+            }
+            List<DisDTO> eme = map.get(DisTypeEnum.EMERGENCY.getKey()); //放入急诊列表
+            if (ListUtil.isNotEmpty(eme)) {
+                res.setEmergency(eme);
+            }
+        }
+        return res;
+    }
+}

+ 3 - 3
icss-service/src/main/java/com/diagbot/facade/FeatureFacade.java

@@ -1,7 +1,7 @@
 package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.diagbot.client.SymptomFeatureClient;
+import com.diagbot.client.NLPServiceClient;
 import com.diagbot.client.bean.Response;
 import com.diagbot.dto.SymptomFeatureDTO;
 import com.diagbot.entity.QuestionInfo;
@@ -25,7 +25,7 @@ import java.util.Map;
 @Component
 public class FeatureFacade {
     @Autowired
-    private SymptomFeatureClient symptomFeatureClient;
+    private NLPServiceClient NLPServiceClient;
     @Autowired
     private QuestionFacade questionFacade;
 
@@ -37,7 +37,7 @@ public class FeatureFacade {
      */
     public List<SymptomFeatureDTO> getSymptomFeature(String text) {
         List<SymptomFeatureDTO> symptomFeatureDTOList = Lists.newLinkedList();
-        Response<List<Map<String, Object>>> res = symptomFeatureClient.symptomFeaturePageData(text);
+        Response<List<Map<String, Object>>> res = NLPServiceClient.symptomFeaturePageData(text);
         if (null == res || null == res.getData()) {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "AI没有返回结果");
         }

+ 12 - 0
icss-service/src/main/java/com/diagbot/facade/InquiryInfoFacade.java

@@ -13,6 +13,7 @@ import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.client.TranServiceClient;
 import com.diagbot.dto.GetInquiryDetailDTO;
 import com.diagbot.dto.GetLastOtherDTO;
 import com.diagbot.dto.HisInquiryDTO;
@@ -36,6 +37,7 @@ import com.diagbot.vo.HisInquirysVO;
 import com.diagbot.vo.PatientInfoVO;
 import com.diagbot.vo.ReadInquiryVO;
 import com.diagbot.vo.SaveInquiryDetailVO;
+import com.diagbot.vo.SaveInquiryToHisVO;
 import com.diagbot.vo.SaveInquiryVO;
 
 /**
@@ -56,6 +58,8 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
     private DoctorInfoFacade doctorInfoFacade;
     @Autowired
     private HospitalDeptFacade hospitalDeptFacade;
+    @Autowired
+    private TranServiceClient tranServiceClient;
 
     /**
      * 问诊记录保存
@@ -104,19 +108,27 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
         }
 
         List<InquiryDetail> inquiryDetailList = new ArrayList<>();
+        List<String> contentList = new ArrayList<>();
         for (SaveInquiryDetailVO i : saveInquiryVO.getDetailList()) {
             InquiryDetail inquiryDetail = new InquiryDetail();
             inquiryDetail.setInquiryId(inquiryId);
             inquiryDetail.setType(i.getType());
             inquiryDetail.setContent(i.getContent());
+            inquiryDetail.setContentValue(i.getContentValue());
             inquiryDetail.setGmtCreate(now);
             inquiryDetailList.add(inquiryDetail);
+            contentList.add(i.getContentValue());
         }
         if (inquiryDetailList.size() > 0) {
             inquiryDetailFacade.saveInquiryDetails(inquiryDetailList);
         }
 
         saveInquiryDTO.setInquiryId(inquiryId);
+        
+        SaveInquiryToHisVO saveInquiryToHisVO = new SaveInquiryToHisVO();
+        saveInquiryToHisVO.setContentList(contentList);
+        tranServiceClient.saveInquiryToHis(saveInquiryToHisVO);
+        
         return saveInquiryDTO;
     }
 

+ 169 - 0
icss-service/src/main/java/com/diagbot/facade/IntroduceInfoFacade.java

@@ -1,7 +1,10 @@
 package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.client.TranServiceClient;
+import com.diagbot.dto.EMRIntroduceDetailDTO;
 import com.diagbot.dto.IntroduceDTO;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.IntroduceDetail;
 import com.diagbot.entity.IntroduceInfo;
 import com.diagbot.entity.IntroduceMap;
@@ -11,13 +14,22 @@ import com.diagbot.enums.QuestionTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.IntroduceInfoServiceImpl;
+import com.diagbot.util.ArrayUtil;
 import com.diagbot.util.BeanUtil;
+import com.diagbot.util.ListUtil;
+import com.diagbot.util.RespDTOUtil;
 import com.diagbot.util.StringUtil;
+import com.diagbot.vo.EMRIntroduceVO;
+import com.diagbot.vo.HosCodeVO;
 import com.diagbot.vo.IntroduceByQuestionVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.Arrays;
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Description:
@@ -32,6 +44,10 @@ public class IntroduceInfoFacade extends IntroduceInfoServiceImpl {
     IntroduceDetailFacade introduceDetailFacade;
     @Autowired
     QuestionFacade questionFacade;
+    @Autowired
+    TranServiceClient tranServiceClient;
+    @Autowired
+    LisMappingFacade lisMappingFacade;
 
     /**
      * 根据标签id获取提示信息
@@ -135,4 +151,157 @@ public class IntroduceInfoFacade extends IntroduceInfoServiceImpl {
     public IntroduceDTO getRecordById(Long id) {
         return getRecordByIdAndPosition(id, null);
     }
+
+    /**
+     * 获取电子病历评级提示信息
+     *
+     * @param emrIntroduceVO
+     * @return
+     */
+    public List<EMRIntroduceDetailDTO> getIntroduceByEMR(EMRIntroduceVO emrIntroduceVO) {
+        Boolean isDocking = tranServiceClient.isDocking().data;
+        //入参处理
+        HosCodeVO hosCodeVO = new HosCodeVO();
+        hosCodeVO.setHosCode(emrIntroduceVO.getHosCode());
+        //公表转换
+        String uniqueName = "";
+        Integer type = emrIntroduceVO.getType();
+        if (type.equals(QuestionTypeEnum.Lis.getKey())) {
+            if (StringUtil.isNotBlank(emrIntroduceVO.getName())) {
+                if (StringUtil.isNotBlank(emrIntroduceVO.getDetailName())) {
+                    Map<String, Map<String, String>> lisConfigMap = new LinkedHashMap<>();
+                    if (isDocking) {
+                        RespDTO<Map<String, Map<String, String>>> respLisConfigMap = tranServiceClient.getLisConfigByHosCode_NotEmptyItemName(hosCodeVO);
+                        if (RespDTOUtil.respIsNG(respLisConfigMap)) {
+                            throw new CommonException(CommonErrorCode.RPC_ERROR);
+                        }
+                        lisConfigMap = respLisConfigMap.data;
+                    } else {
+                        lisConfigMap = lisMappingFacade.getLisMapping_NotEmptyItemName();
+                    }
+
+                    uniqueName = lisConfigMap.get(emrIntroduceVO.getName()).get(emrIntroduceVO.getDetailName());
+                } else {
+                    Map<String, String> lisConfigMap_emptyItemName = new LinkedHashMap<>();
+                    if (isDocking) {
+                        RespDTO<Map<String, String>> respLisConfigMap_emptyItemName = tranServiceClient.getLisConfigByHosCode_EmptyItemName(hosCodeVO);
+                        if (RespDTOUtil.respIsNG(respLisConfigMap_emptyItemName)) {
+                            throw new CommonException(CommonErrorCode.RPC_ERROR);
+                        }
+                        lisConfigMap_emptyItemName = respLisConfigMap_emptyItemName.data;
+                    } else {
+                        lisConfigMap_emptyItemName = lisMappingFacade.getLisConfig_EmptyItemName();
+                    }
+                    uniqueName = lisConfigMap_emptyItemName.get(emrIntroduceVO.getName());
+                }
+            }
+        } else if (type.equals(QuestionTypeEnum.Pacs.getKey())) {
+            if (isDocking) {
+                RespDTO<Map<String, String>> respPacsConfigMap = tranServiceClient.getPacsConfigByHosCode(hosCodeVO);
+                if (RespDTOUtil.respIsNG(respPacsConfigMap)) {
+                    throw new CommonException(CommonErrorCode.RPC_ERROR);
+                }
+                Map<String, String> pacsConfigMap = respPacsConfigMap.data;
+                uniqueName = pacsConfigMap.get(emrIntroduceVO.getName());
+            } else {
+                uniqueName = emrIntroduceVO.getName();
+            }
+        } else if (type.equals(QuestionTypeEnum.Disease.getKey())) {
+            if (isDocking) {
+                RespDTO<Map<String, String>> respDisMap = tranServiceClient.getDiseaseIcdByHosCode(hosCodeVO);
+                if (RespDTOUtil.respIsNG(respDisMap)) {
+                    throw new CommonException(CommonErrorCode.RPC_ERROR);
+                }
+                Map<String, String> disMap = respDisMap.data;
+                uniqueName = disMap.get(emrIntroduceVO.getName());
+            } else {
+                uniqueName = emrIntroduceVO.getName();
+            }
+        }
+
+        //未找到映射标签名称
+        if (uniqueName == null || StringUtil.isBlank(uniqueName)) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "项目未找到");
+        }
+
+        String[] titles = emrIntroduceVO.getTitles();
+        //对接标题映射
+        Map<String, String> titleMapping = new LinkedHashMap<>();
+        List<String> uniqueTitleList = Lists.newLinkedList();
+        if (ArrayUtil.isNotEmpty(titles)) {
+            if (isDocking) {
+                RespDTO<Map<String, String>> respTitleMappingMap = tranServiceClient.getTitleMappingHosCode(hosCodeVO);
+                if (RespDTOUtil.respIsNG(respTitleMappingMap)) {
+                    throw new CommonException(CommonErrorCode.RPC_ERROR);
+                }
+                Map<String, String> titleMappingMap = respTitleMappingMap.data;
+                for (String title : titles) {
+                    String uniqueTitle = titleMappingMap.get(title);
+                    titleMapping.put(title, uniqueTitle);
+                    if (StringUtil.isNotBlank(uniqueTitle)) {
+                        uniqueTitleList.add(uniqueTitle);
+                    }
+                }
+            } else {
+                uniqueTitleList = Arrays.asList(titles);
+            }
+        }
+
+        QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
+        questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("tag_name", uniqueName)
+                .eq("type", type);
+        QuestionInfo questionInfo = questionFacade.getOne(questionInfoQueryWrapper);
+        if (questionInfo == null) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "公表标签不存在");
+        }
+
+
+        QueryWrapper<IntroduceMap> introduceMapQueryWrapper = new QueryWrapper<>();
+        introduceMapQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
+                eq("type", type).
+                eq("question_id", questionInfo.getId());
+        IntroduceMap introduceMap = introduceMapFacade.getOne(introduceMapQueryWrapper);
+        if (introduceMap == null) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "提示信息未维护");
+        }
+
+        QueryWrapper<IntroduceDetail> introduceDetailQueryWrapper = new QueryWrapper<>();
+        introduceDetailQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
+                eq("introduce_id", introduceMap.getIntroduceId()).
+                orderByAsc("order_no");
+        //如果标题列表未传,全部返回
+        if (ArrayUtil.isNotEmpty(emrIntroduceVO.getTitles())) {
+            if (ListUtil.isNotEmpty(uniqueTitleList)) {
+                introduceDetailQueryWrapper.in("title", uniqueTitleList);
+            } else {
+                //标题未匹配上,不返回数据,加一个不成立的条件
+                introduceDetailQueryWrapper.eq("is_deleted", IsDeleteEnum.Y.getKey());
+            }
+        }
+        List<IntroduceDetail> introduceDetailList = introduceDetailFacade.list(introduceDetailQueryWrapper);
+        List<EMRIntroduceDetailDTO> retList = Lists.newLinkedList();
+        if (ArrayUtil.isNotEmpty(emrIntroduceVO.getTitles())) {
+            //对接模式,返回原标题
+            if (isDocking) {
+                for (Map.Entry<String, String> entry : titleMapping.entrySet()) {
+                    EMRIntroduceDetailDTO detailDTO = new EMRIntroduceDetailDTO();
+                    detailDTO.setTitle(entry.getKey());
+                    if (StringUtil.isNotBlank(entry.getValue())) {
+                        for (IntroduceDetail introduceDetail : introduceDetailList) {
+                            if (entry.getValue().equals(introduceDetail.getTitle())) {
+                                detailDTO.setText(introduceDetail.getText());
+                            }
+                        }
+                    }
+                    retList.add(detailDTO);
+                }
+            } else {
+                retList = BeanUtil.listCopyTo(introduceDetailList, EMRIntroduceDetailDTO.class);
+            }
+        } else {
+            retList = BeanUtil.listCopyTo(introduceDetailList, EMRIntroduceDetailDTO.class);
+        }
+        return retList;
+    }
 }

+ 18 - 3
icss-service/src/main/java/com/diagbot/facade/LisMappingFacade.java

@@ -20,14 +20,15 @@ import java.util.Map;
 public class LisMappingFacade extends LisMappingServiceImpl {
 
     /**
-     * 获取化验公表映射关系 Map<mealName,Map<itemName,uniqueName>>
+     * 获取化验公表映射关系-itemName不为空 Map<mealName,Map<itemName,uniqueName>>
      *
      * @return
      */
-    public Map<String, Map<String, String>> getLisMapping() {
+    public Map<String, Map<String, String>> getLisMapping_NotEmptyItemName() {
         Map<String, Map<String, String>> retMap = new LinkedHashMap<>();
         QueryWrapper<LisMapping> lisMappingQueryWrapper = new QueryWrapper<>();
-        lisMappingQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
+        lisMappingQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
+                isNotNull("item_name").and(i->i.ne("item_name",""));
         List<LisMapping> lisMappingList = this.list(lisMappingQueryWrapper);
         Map<String, List<LisMapping>> lisMappingMap = EntityUtil.makeEntityListMap(lisMappingList, "mealName");
         for (Map.Entry<String, List<LisMapping>> entry : lisMappingMap.entrySet()) {
@@ -40,6 +41,20 @@ public class LisMappingFacade extends LisMappingServiceImpl {
         return retMap;
     }
 
+    /**
+     * 根据医院编码获取化验公表映射关系-itemName为空 Map<mealName,uniqueName>
+     *
+     * @return
+     */
+    public Map<String, String> getLisConfig_EmptyItemName() {
+        QueryWrapper<LisMapping> lisMappingQueryWrapper = new QueryWrapper<>();
+        lisMappingQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
+                isNull("item_name").or(i -> i.eq("item_name", ""));
+        List<LisMapping> lisMappingList = this.list(lisMappingQueryWrapper);
+        Map<String, String> retMap = EntityUtil.makeMapWithKeyValue(lisMappingList, "mealName", "uniqueName");
+        return retMap;
+    }
+
     /**
      * 化验公表映射关系  Map<uniqueName,List<mealName>>
      *

+ 2 - 1
icss-service/src/main/java/com/diagbot/facade/PatientInfoFacade.java

@@ -69,10 +69,11 @@ public class PatientInfoFacade {
 
         QueryWrapper<DeptInfo> deptInfoQ = new QueryWrapper<>();
         deptInfoQ.eq("is_deleted", IsDeleteEnum.N.getKey())
-                .eq("id", getTopPatientInfoDTO.getSelfDeptId());
+                .eq("name", getTopPatientInfoDTO.getSelfDeptName());
         DeptInfo deptInfo = deptInfoFacade.getOne(deptInfoQ);
         if (null != deptInfo) {
             getTopPatientInfoDTO.setSelfDeptName(deptInfo.getName());
+            getTopPatientInfoDTO.setSelfDeptId(deptInfo.getId());
         }
 
         QueryWrapper<DoctorPageMode> doctorPageModeQe = new QueryWrapper<>();

+ 98 - 27
icss-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -2,14 +2,16 @@ package com.diagbot.facade;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.diagbot.client.AIServiceClient;
-import com.diagbot.client.HighRiskServiceClient;
+import com.diagbot.client.BigDataServiceClient;
+import com.diagbot.client.GraphServiceClient;
+import com.diagbot.client.TranServiceClient;
 import com.diagbot.client.bean.FeatureRate;
 import com.diagbot.client.bean.GdbResponse;
 import com.diagbot.client.bean.Response;
 import com.diagbot.client.bean.ResponseData;
 import com.diagbot.client.bean.SearchData;
 import com.diagbot.dto.PushDTO;
+import com.diagbot.dto.PushEMRDTO;
 import com.diagbot.dto.PushKYJDTO;
 import com.diagbot.dto.QuestionDTO;
 import com.diagbot.entity.DeptInfo;
@@ -24,7 +26,10 @@ import com.diagbot.exception.CommonException;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.FastJsonUtils;
+import com.diagbot.util.ListUtil;
 import com.diagbot.util.StringUtil;
+import com.diagbot.vo.EMRPushVO;
+import com.diagbot.vo.HosCodeVO;
 import com.diagbot.vo.LisKYJVO;
 import com.diagbot.vo.LisResult;
 import com.diagbot.vo.LisResultVO;
@@ -52,7 +57,7 @@ import java.util.stream.Collectors;
 @Component
 public class PushFacade {
     @Autowired
-    private AIServiceClient aiServiceClient;
+    private BigDataServiceClient bigDataServiceClient;
     @Autowired
     private QuestionFacade questionFacade;
     @Autowired
@@ -62,9 +67,11 @@ public class PushFacade {
     @Autowired
     private TreatmentFacade treatmentFacade;
     @Autowired
-    private HighRiskServiceClient highRiskServiceClient;
+    private GraphServiceClient graphServiceClient;
     @Autowired
     private LisMappingFacade lisMappingFacade;
+    @Autowired
+    private TranServiceClient tranServiceClient;
 
     /**
      * 推理接口
@@ -97,7 +104,7 @@ public class PushFacade {
 
         //化验项映射,转公表
         if (pushVO.getLis().size() > 0) {
-            Map<String, Map<String, String>> lisConfigMap = lisMappingFacade.getLisMapping();
+            Map<String, Map<String, String>> lisConfigMap = lisMappingFacade.getLisMapping_NotEmptyItemName();
             for (LisResultVO lisResultVO : pushVO.getLis()) {
                 //source=0 icss页面数据,source=1 外部导入数据
                 if (!lisResultVO.getSource().equals(LisSourceEnum.Inner.getKey())) {
@@ -118,7 +125,7 @@ public class PushFacade {
         searchData.setSysCode("1");
         searchData.setLength(10);
 
-        Response<ResponseData> res = aiServiceClient.bayesPageData(searchData);
+        Response<ResponseData> res = bigDataServiceClient.bayesPageData(searchData);
         if (null == res || null == res.getData()) {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "AI没有返回结果");
         }
@@ -195,7 +202,7 @@ public class PushFacade {
             highRiskMap.put("disease", String.join(",", diseaseNameList));
             SearchData searchData = new SearchData();
             searchData.setDiag(String.join(",", diseaseNameList));
-            Response<GdbResponse> graphRes = highRiskServiceClient.highRiskPageData(searchData);
+            Response<GdbResponse> graphRes = graphServiceClient.highRiskPageData(searchData);
             if (graphRes != null) {
                 Map<String, String> graphResult = graphRes.getData().getResult();
                 if (graphResult.size() > 0) {
@@ -444,27 +451,91 @@ public class PushFacade {
                 vitalDTO.add(questionDTO);
             }
         }
-        /*if (deptVitalList.size() > 0) {
-            Map<Long, DeptVital> deptVitalMap = EntityUtil.makeEntityMap(deptVitalList, "vitalId");
-            //排序
-            QueryWrapper<VitalOrder> vitalOrderQueryWrapper = new QueryWrapper<>();
-            vitalOrderQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
-                    in("question_id", deptVitalMap.keySet()).
-                    orderByAsc("order_no");
-            List<VitalOrder> vitalOrderList = vitalOrderFacade.list(vitalOrderQueryWrapper);
-            Map<Long, VitalOrder> vitalOrderMap = EntityUtil.makeEntityMap(vitalOrderList, "questionId");
-            //标签列表
-            for (Map.Entry<Long, VitalOrder> entry : vitalOrderMap.entrySet()) {
-                QuestionVO questionVO = new QuestionVO();
-                questionVO.setAge(pushVO.getAge());
-                questionVO.setSexType(pushVO.getSex());
-                questionVO.setId(entry.getKey());
-                QuestionDTO questionDTO = questionFacade.getById(questionVO);
-                if (questionDTO != null) {
-                    vitalDTO.add(questionDTO);
+        return vitalDTO;
+    }
+
+    /**
+     * 电子病历评级-数据服务模式推理
+     *
+     * @param emrPushVO
+     * @return
+     */
+    public PushEMRDTO pushEMR(EMRPushVO emrPushVO) {
+        Boolean isDocking = tranServiceClient.isDocking().data;
+        PushEMRDTO pushEMRDTO = new PushEMRDTO();
+        HosCodeVO hosCodeVO = new HosCodeVO();
+        hosCodeVO.setHosCode(emrPushVO.getHosCode());
+        PushVO pushVO = new PushVO();
+        BeanUtil.copyProperties(emrPushVO, pushVO);
+        //化验项转公表内容,参数处理
+        if (ListUtil.isNotEmpty(pushVO.getLis())) {
+            Map<String, Map<String, String>> lisConfigMap = new LinkedHashMap<>();
+            Map<String, String> lisConfigMap_emptyItemName = new LinkedHashMap<>();
+            if (isDocking) {
+                lisConfigMap = tranServiceClient.getLisConfigByHosCode_NotEmptyItemName(hosCodeVO).data;
+                lisConfigMap_emptyItemName = tranServiceClient.getLisConfigByHosCode_EmptyItemName(hosCodeVO).data;
+            } else {
+                lisConfigMap = lisMappingFacade.getLisMapping_NotEmptyItemName();
+                lisConfigMap_emptyItemName = lisMappingFacade.getLisConfig_EmptyItemName();
+            }
+            List<LisResultVO> lisResultVOList = pushVO.getLis();
+            for (LisResultVO lisResultVO : lisResultVOList) {
+                if (StringUtil.isNotBlank(lisResultVO.getName())) {
+                    if (StringUtil.isNotBlank(lisResultVO.getDetailName())) {
+                        lisResultVO.setUniqueName(lisConfigMap.get(lisResultVO.getName()).get(lisResultVO.getDetailName()));
+                    } else {
+                        lisResultVO.setUniqueName(lisConfigMap_emptyItemName.get(lisResultVO.getName()));
+                    }
                 }
             }
-        }*/
-        return vitalDTO;
+            pushVO.setLis(lisResultVOList);
+        }
+        ResponseData data = pushAI(pushVO);
+        String featureType = pushVO.getFeatureType();
+        String[] featureTypes = featureType.split(",|,");
+        Set<String> featureTypeSet = new HashSet(Arrays.asList(featureTypes));
+
+        if (featureTypeSet.contains(String.valueOf(QuestionTypeEnum.Lis.getKey()))) {
+            List<FeatureRate> labs = data.getLabs();
+            if (labs.size() > 0) {
+                List<String> lisList = labs.stream().map(lab -> lab.getFeatureName()).collect(Collectors.toList());
+                pushEMRDTO.setLisList(lisList);
+            }
+        }
+        if (featureTypeSet.contains(String.valueOf(QuestionTypeEnum.Pacs.getKey()))) {
+            List<FeatureRate> pacsFeatures = data.getPacs();
+            if (pacsFeatures.size() > 0) {
+                List<String> pacsList = pacsFeatures.stream().map(pacs -> pacs.getFeatureName()).collect(Collectors.toList());
+                pushEMRDTO.setPacsList(pacsList);
+            }
+        }
+        if (featureTypeSet.contains(String.valueOf(QuestionTypeEnum.Disease.getKey()))) {
+            List<FeatureRate> dis = data.getDis();
+            Map<String, List<String>> retDisMap = new LinkedHashMap<>();
+            Map<String, String> disMap = tranServiceClient.getDiseaseIcdByHosCode(hosCodeVO).data;
+
+            //诊断分类
+            for (FeatureRate featureRate : dis) {
+                if (StringUtil.isBlank(featureRate.getDesc())) {
+                    featureRate.setDesc("{\"可能诊断\":\"\"}");
+                }
+                Map<String, Object> descMap = FastJsonUtils.getJsonToMap(featureRate.getDesc());
+                for (String disClass : descMap.keySet()) {
+                    List<String> retDisList = Lists.newLinkedList();
+                    if (retDisMap.get(disClass) != null) {
+                        retDisList = retDisMap.get(disClass);
+                    }
+                    if (isDocking) {
+                        //对接模式转icd10名称
+                        retDisList.add(disMap.get(featureRate.getFeatureName()));
+                    } else {
+                        retDisList.add(featureRate.getFeatureName());
+                    }
+                    retDisMap.put(disClass, retDisList);
+                }
+            }
+            pushEMRDTO.setDis(retDisMap);
+        }
+        return pushEMRDTO;
     }
 }

+ 15 - 1
icss-service/src/main/java/com/diagbot/facade/QuestionUsualFacade.java

@@ -1,8 +1,13 @@
 package com.diagbot.facade;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.dto.QuestionUsualDTO;
+import com.diagbot.entity.DeptInfo;
+import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.impl.QuestionUsualServiceImpl;
+import com.diagbot.util.ListUtil;
 import com.diagbot.vo.QuestionUsualVO;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -14,7 +19,8 @@ import java.util.List;
  */
 @Component
 public class QuestionUsualFacade extends QuestionUsualServiceImpl {
-
+    @Autowired
+    DeptInfoFacade deptInfoFacade;
 
     /**
      * 获取常用标签
@@ -24,6 +30,14 @@ public class QuestionUsualFacade extends QuestionUsualServiceImpl {
      */
     public List<QuestionUsualDTO> getQuestionUsual(QuestionUsualVO questionUsualVO) {
         List<QuestionUsualDTO> questionUsualDTOList = this.getQuestionUsualName(questionUsualVO);
+        if(ListUtil.isEmpty(questionUsualDTOList)){
+            QueryWrapper<DeptInfo> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("name","全科");
+            DeptInfo deptInfo = deptInfoFacade.getOne(queryWrapper);
+            questionUsualVO.setDeptId(deptInfo.getId());
+            questionUsualDTOList = this.getQuestionUsualName(questionUsualVO);
+        }
         return questionUsualDTOList;
     }
 }

+ 11 - 0
icss-service/src/main/java/com/diagbot/facade/RetrievalFacade.java

@@ -3,6 +3,7 @@ package com.diagbot.facade;
 import com.diagbot.dto.RetrievalDTO;
 import com.diagbot.entity.QuestionInfo;
 import com.diagbot.service.impl.RetrievalServiceImpl;
+import com.diagbot.util.ListUtil;
 import com.diagbot.vo.RetrievalVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -35,6 +36,16 @@ public class RetrievalFacade extends RetrievalServiceImpl {
         if (retrievalVO.getInputStr() == null || retrievalVO.getInputStr() == "") {
             retrievalVO.setInputStr(" ");
         }
+        //过滤传来的空值
+        if(ListUtil.isNotEmpty(retrievalVO.getInputIds())){
+            List<Long> questionIds = new ArrayList<>();
+            for (Long questionId:retrievalVO.getInputIds()) {
+                if (null != questionId){
+                    questionIds.add(questionId);
+                }
+            }
+            retrievalVO.setInputIds(questionIds);
+        }
         //获取同义词标签信息
         List<RetrievalDTO> data = this.getSymptopInfo(retrievalVO);
         List<Long> selfIds = new ArrayList<>();

+ 18 - 0
icss-service/src/main/java/com/diagbot/facade/TranDiseaseIcdFacade.java

@@ -1,8 +1,11 @@
 package com.diagbot.facade;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.client.TranServiceClient;
 import com.diagbot.dto.GetDiseaseIcdDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.QuestionInfo;
+import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.vo.GetDiseaseIcdVO;
@@ -10,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @Description:
@@ -21,6 +25,8 @@ public class TranDiseaseIcdFacade {
 
     @Autowired
     TranServiceClient tranServiceClient;
+    @Autowired
+    QuestionFacade questionFacade;
 
     /**
      * 根据医院编号和诊断ids获取各自的icd编码
@@ -35,6 +41,18 @@ public class TranDiseaseIcdFacade {
             throw new CommonException(CommonErrorCode.RPC_ERROR,
                     "获取icd编码失败");
         }
+        List<String> questionNames = getDiseaseIcdsList.data.stream().map(getDiseaseIcdDTO -> getDiseaseIcdDTO.getIcssQuestionName()).collect(Collectors.toList());
+        QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
+        questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+            .in("name",questionNames);
+        List<QuestionInfo> questionInfoList = questionFacade.list(questionInfoQueryWrapper);
+        for (GetDiseaseIcdDTO getDiseaseIcdDTO: getDiseaseIcdsList.data) {
+            for (QuestionInfo questionInfo: questionInfoList) {
+                if(getDiseaseIcdDTO.getIcssQuestionName().equals(questionInfo.getName())){
+                    getDiseaseIcdDTO.setQuestionId(questionInfo.getId());
+                }
+            }
+        }
         return getDiseaseIcdsList.data;
     }
 }

+ 20 - 0
icss-service/src/main/java/com/diagbot/mapper/DisScaleMapper.java

@@ -0,0 +1,20 @@
+package com.diagbot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.dto.DisScaleDTO;
+import com.diagbot.entity.DisScale;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 诊断量表映射表 Mapper 接口
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-03-11
+ */
+public interface DisScaleMapper extends BaseMapper<DisScale> {
+
+    public List<DisScaleDTO> getDisScaleFac(Long disId);
+}

+ 21 - 0
icss-service/src/main/java/com/diagbot/mapper/DisTypeMapper.java

@@ -0,0 +1,21 @@
+package com.diagbot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.dto.DisDTO;
+import com.diagbot.entity.DisType;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 诊断类型表 Mapper 接口
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-03-08
+ */
+public interface DisTypeMapper extends BaseMapper<DisType> {
+
+
+    public List<DisDTO> getDisType();
+}

+ 25 - 0
icss-service/src/main/java/com/diagbot/service/DisScaleService.java

@@ -0,0 +1,25 @@
+package com.diagbot.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.dto.DisScaleDTO;
+import com.diagbot.entity.DisScale;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 诊断量表映射表 服务类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-03-11
+ */
+public interface DisScaleService extends IService<DisScale> {
+
+    /**
+     * 返回诊断量表列表
+     *
+     * @return
+     */
+    public List<DisScaleDTO> getDisScale(Long disId);
+}

+ 25 - 0
icss-service/src/main/java/com/diagbot/service/DisTypeService.java

@@ -0,0 +1,25 @@
+package com.diagbot.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.dto.DisDTO;
+import com.diagbot.entity.DisType;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 诊断类型表 服务类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-03-08
+ */
+public interface DisTypeService extends IService<DisType> {
+
+
+    /**
+     *
+     * @return 返回诊断类型
+     */
+    public List<DisDTO> getDisType();
+}

+ 27 - 0
icss-service/src/main/java/com/diagbot/service/impl/DisScaleServiceImpl.java

@@ -0,0 +1,27 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.dto.DisScaleDTO;
+import com.diagbot.entity.DisScale;
+import com.diagbot.mapper.DisScaleMapper;
+import com.diagbot.service.DisScaleService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 诊断量表映射表 服务实现类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-03-11
+ */
+@Service
+public class DisScaleServiceImpl extends ServiceImpl<DisScaleMapper, DisScale> implements DisScaleService {
+
+    @Override
+    public List<DisScaleDTO> getDisScale(Long disId) {
+        return baseMapper.getDisScaleFac(disId);
+    }
+}

+ 28 - 0
icss-service/src/main/java/com/diagbot/service/impl/DisTypeServiceImpl.java

@@ -0,0 +1,28 @@
+package com.diagbot.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.dto.DisDTO;
+import com.diagbot.entity.DisType;
+import com.diagbot.mapper.DisTypeMapper;
+import com.diagbot.service.DisTypeService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 标签基础表 服务实现类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2018-11-15
+ */
+@Service
+public class DisTypeServiceImpl extends ServiceImpl<DisTypeMapper, DisType> implements DisTypeService {
+
+
+    @Override
+    public List<DisDTO> getDisType() {
+        return baseMapper.getDisType();
+    }
+}

+ 15 - 0
icss-service/src/main/java/com/diagbot/vo/DisScaleVO.java

@@ -0,0 +1,15 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description: 诊断量表入参
+ * @author: zhoutg
+ * @time: 2018/8/6 10:16
+ */
+@Getter
+@Setter
+public class DisScaleVO {
+    private Long disId;
+}

+ 25 - 0
icss-service/src/main/java/com/diagbot/vo/EMRIntroduceVO.java

@@ -0,0 +1,25 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/3/11 13:50
+ */
+@Getter
+@Setter
+public class EMRIntroduceVO {
+    @NotBlank(message = "请输入医院编码")
+    private String hosCode;
+    @NotBlank(message = "请输入检查或检验类型")
+    private Integer type;
+    @NotBlank(message = "请输入检查或检验套餐名称")
+    private String name;
+    private String detailName;
+    private String[] titles;
+    private String icdCode; //诊断icd10编码
+}

+ 18 - 0
icss-service/src/main/java/com/diagbot/vo/EMRPushVO.java

@@ -0,0 +1,18 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/3/12 13:21
+ */
+@Getter
+@Setter
+public class EMRPushVO extends PushVO {
+    @NotBlank(message = "请输入医院编码")
+    private String hosCode;
+}

+ 15 - 0
icss-service/src/main/java/com/diagbot/vo/HosCodeVO.java

@@ -0,0 +1,15 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/3/12 11:05
+ */
+@Getter
+@Setter
+public class HosCodeVO {
+    private String hosCode;
+}

+ 1 - 1
icss-service/src/main/java/com/diagbot/vo/QuestionUsualVO.java

@@ -15,7 +15,7 @@ import javax.validation.constraints.NotNull;
 public class QuestionUsualVO {
 
     @NotNull(message = "请输入科室id")
-    private String deptId;
+    private Long deptId;
     @NotNull(message = "请输入病人年龄")
     private Integer age;
     @NotNull(message = "请输入病人性别")

+ 4 - 0
icss-service/src/main/java/com/diagbot/vo/RetrievalVO.java

@@ -25,4 +25,8 @@ public class RetrievalVO {
     private Integer sexType;
     //需要去重的id
     private List<Long> inputIds;
+    //标签标识
+    private Integer tagType;
+    //元素类型
+    private Integer itemType;
 }

+ 6 - 0
icss-service/src/main/java/com/diagbot/vo/SaveInquiryDetailVO.java

@@ -33,5 +33,11 @@ public class SaveInquiryDetailVO {
      */
     @ApiModelProperty(value="内容字符串")
     private String content;
+    
+    /**
+     * 内容字符串纯文本
+     */
+    @ApiModelProperty(value="内容字符串纯文本")
+    private String contentValue;
 
 }

+ 21 - 0
icss-service/src/main/java/com/diagbot/vo/SaveInquiryToHisVO.java

@@ -0,0 +1,21 @@
+package com.diagbot.vo;
+
+import java.util.List;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: rengb
+ * @time: 2019/3/18
+ */
+@Getter
+@Setter
+public class SaveInquiryToHisVO {
+	
+	private List<String> contentList;
+	
+
+   
+}

+ 41 - 0
icss-service/src/main/java/com/diagbot/web/DisScaleController.java

@@ -0,0 +1,41 @@
+package com.diagbot.web;
+
+
+import com.diagbot.dto.DisScaleDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.DisScaleFacade;
+import com.diagbot.vo.DisScaleVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 诊断量表映射表 前端控制器
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-03-11
+ */
+@RestController
+@RequestMapping("/disScale")
+@Api(value = "诊断量表API", tags = { "诊断量表API" })
+public class DisScaleController {
+
+    @Autowired
+    DisScaleFacade disScaleFacade;
+
+    @ApiOperation(value = "返回诊断量表列表[by:zhoutg]",
+            notes = "")
+    @PostMapping("/getDisScale")
+    public RespDTO<List<DisScaleDTO>> getDisType(@RequestBody DisScaleVO scaleVO) {
+        List<DisScaleDTO> data = disScaleFacade.getDisScaleFac(scaleVO.getDisId());
+        return RespDTO.onSuc(data);
+    }
+}

+ 38 - 0
icss-service/src/main/java/com/diagbot/web/DisTypeController.java

@@ -0,0 +1,38 @@
+package com.diagbot.web;
+
+
+import com.diagbot.dto.DisTypeDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.DisTypeFacade;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 诊断类型表 前端控制器
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2019-03-08
+ */
+@RestController
+@RequestMapping("/disType")
+@Api(value = "诊断类型API", tags = { "诊断类型API" })
+public class DisTypeController {
+
+
+    @Autowired
+    DisTypeFacade disTypeFacade;
+
+    @ApiOperation(value = "返回诊断类型[by:zhoutg]",
+            notes = "")
+    @PostMapping("/getDisType")
+    public RespDTO<DisTypeDTO> getDisType() {
+        DisTypeDTO data = disTypeFacade.getDisTypeFac();
+        return RespDTO.onSuc(data);
+    }
+}

+ 75 - 0
icss-service/src/main/java/com/diagbot/web/EMRController.java

@@ -0,0 +1,75 @@
+package com.diagbot.web;
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.EMRIntroduceDetailDTO;
+import com.diagbot.dto.PushEMRDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.IntroduceInfoFacade;
+import com.diagbot.facade.PushFacade;
+import com.diagbot.vo.EMRIntroduceVO;
+import com.diagbot.vo.EMRPushVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * @Description: 电子病历评级
+ * @Author:zhaops
+ * @time: 2019/3/12 15:07
+ */
+@RestController
+@RequestMapping("/emr")
+@Api(value = "电子病历评级相关API", tags = { "电子病历评级相关API" })
+@SuppressWarnings("unchecked")
+public class EMRController {
+    @Autowired
+    IntroduceInfoFacade introduceInfoFacade;
+    @Autowired
+    PushFacade pushFacade;
+
+    @ApiOperation(value = "电子病历解读[by:zhaops]",
+            notes = "hosCode: 医院编码,必填,String<br>" +
+                    "type: 检验检查类型,5-检验,6-检查,7-诊断,单选必填,Integer<br>" +
+                    "name: 名称(检验检查诊断),必填,String<br>" +
+                    "detailName: 项目名称(检验选填,检查不填),String<br>" +
+                    "titles: 提示信息标题列表,String数组<br>"+
+                    "icdCode: 诊断icd10编码,String<br>")
+    @PostMapping("/getIntroduceByEMR")
+    public RespDTO<List<EMRIntroduceDetailDTO>> getIntroduceByEMR(@RequestBody EMRIntroduceVO emrIntroduceVO) {
+        List<EMRIntroduceDetailDTO> data = introduceInfoFacade.getIntroduceByEMR(emrIntroduceVO);
+        return RespDTO.onSuc(data);
+    }
+
+    @ApiOperation(value = "推理[by:zhaops]",
+            notes = "hosCode: 医院编码(必填)<br>" +
+                    "age: 年龄(必填)<br>" +
+                    "sex:性别(必填),1:男,2:女<br>" +
+                    "symptom:症状,String<br>" +
+                    "other:其它史,String<br>" +
+                    "vital:查体,String<br>" +
+                    "lis:化验,Array<br>" +
+                    "lis:name:套餐名称(必填),String<br>" +
+                    "lis:detailName:化验项名称(必填),String<br>" +
+                    "lis:uniqueName:公表名称,String<br>" +
+                    "lis:value:值,Double<br>" +
+                    "lis:maxValue:最大值,Double<br>" +
+                    "lis:minValue:最小值,Double<br>" +
+                    "lis:units:单位,String<br>" +
+                    "lis:otherValue:其他结果,包括阴性阳性,文字描述等,String<br>" +
+                    "lis:source:数据来源(必填)0-内部来源,1-外部来源,Integer<br>" +
+                    "pacs:辅检,String<br>" +
+                    "diag:诊断,String<br>" +
+                    "featureType:类型(多选必填),5:检验,6:检查,7:诊断,String<br>")
+    @PostMapping("/pushEMR")
+    @SysLogger("pushEMR")
+    public RespDTO<PushEMRDTO> pushEMR(@RequestBody @Valid EMRPushVO emrPushVO) {
+        return RespDTO.onSuc(pushFacade.pushEMR(emrPushVO));
+    }
+}

+ 3 - 1
icss-service/src/main/java/com/diagbot/web/RetrievalController.java

@@ -38,7 +38,9 @@ public class RetrievalController {
                     "age:年龄,必填<br>" +
                     "inputStr:检索内容,必填<br>" +
                     "sexType:性别,必填<br>" +
-                    "inputIds:需要去重的id")
+                    "inputIds:需要去重的id<br>" +
+                    "tagType: 标签标识<br>" +
+                    "itemType: 元素类型<br>")
     @PostMapping("/getTagInfos")
     @SysLogger("getTagInfos")
     public RespDTO<List<RetrievalDTO>> getTagInfos(@Valid @RequestBody RetrievalVO retrievalVO) {

+ 25 - 0
icss-service/src/main/resources/mapper/DisScaleMapper.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.DisScaleMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.DisScale">
+        <id column="id" property="id" />
+        <result column="is_deleted" property="isDeleted" />
+        <result column="gmt_create" property="gmtCreate" />
+        <result column="gmt_modified" property="gmtModified" />
+        <result column="creator" property="creator" />
+        <result column="modifier" property="modifier" />
+        <result column="dis_id" property="disId" />
+        <result column="scale_id" property="scaleId" />
+        <result column="order_no" property="orderNo" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+
+    <select id="getDisScaleFac" resultType="com.diagbot.dto.DisScaleDTO">
+        SELECT b.id,b.name,b.tag_type,a.order_no FROM `icss_dis_scale` a, icss_question_info b
+        where a.scale_id = b.id and a.is_deleted = 'N' and b.is_deleted = 'N' and a.dis_id = #{disId}
+        order by a.order_no
+    </select>
+</mapper>

+ 22 - 0
icss-service/src/main/resources/mapper/DisTypeMapper.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.DisTypeMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.DisType">
+        <id column="id" property="id" />
+        <result column="is_deleted" property="isDeleted" />
+        <result column="gmt_create" property="gmtCreate" />
+        <result column="gmt_modified" property="gmtModified" />
+        <result column="creator" property="creator" />
+        <result column="modifier" property="modifier" />
+        <result column="dis_id" property="disId" />
+        <result column="type" property="type" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+    <select id="getDisType" resultType="com.diagbot.dto.DisDTO">
+        SELECT a.type,b.name,b.id,b.tag_type FROM `icss_dis_type` a, icss_question_info b
+        where a.dis_id = b.id and a.is_deleted = 'N' and b.is_deleted = 'N' order by a.type
+    </select>
+</mapper>

+ 1 - 0
icss-service/src/main/resources/mapper/InquiryDetailMapper.xml

@@ -13,6 +13,7 @@
         <result column="inquiry_id" property="inquiryId" />
         <result column="type" property="type" />
         <result column="content" property="content" />
+        <result column="content_value" property="contentValue" />
         <result column="remark" property="remark" />
     </resultMap>
     

+ 3 - 2
icss-service/src/main/resources/mapper/QuestionInfoMapper.xml

@@ -24,13 +24,14 @@
         <result column="show_add" property="showAdd" />
         <result column="show_info" property="showInfo" />
         <result column="joint" property="joint" />
+        <result column="formula_code" property="formulaCode" />
         <result column="remark" property="remark" />
     </resultMap>
 
     <select id="getByParam" parameterType="java.util.Map" resultMap="BaseResultMap">
         select * from icss_question_info  where is_deleted = 'N'
         and id = #{id}
-        <if test="sexType != null and sexType != ''">
+        <if test="sexType != null and sexType != 3 and sexType != ''">
             and sex_type in (3, #{sexType})
         </if>
         <if test="age != null and age != ''">
@@ -51,7 +52,7 @@
                 m.parent_question = #{myId}
             </foreach>
         </if>
-        <if test="sexType != null">
+        <if test="sexType != null and sexType != 3 and sexType != ''">
             and t.sex_type in (3, #{sexType})
         </if>
         <if test="age != null">

+ 18 - 0
icss-service/src/main/resources/mapper/RetrievalMapper.xml

@@ -26,6 +26,12 @@
             <![CDATA[ and c.age_begin <= #{age} ]]>
             <![CDATA[ and c.age_end >= #{age} ]]>
         </if>
+        <if test="tagType != null and tagType != ''">
+            <![CDATA[ and c.tag_type = #{tagType} ]]>
+        </if>
+        <if test="itemType != null">
+            <![CDATA[ and c.item_type = #{itemType} ]]>
+        </if>
         <if test="sexType == 3">
             and c.sex_type in ('1','2','3')
         </if>
@@ -49,6 +55,12 @@
             <![CDATA[ and c.age_begin <= #{age} ]]>
             <![CDATA[ and c.age_end >= #{age} ]]>
         </if>
+        <if test="tagType != null and tagType != ''">
+            <![CDATA[ and c.tag_type = #{tagType} ]]>
+        </if>
+        <if test="itemType != null">
+            <![CDATA[ and c.item_type = #{itemType} ]]>
+        </if>
         <if test="sexType == 3">
             and c.sex_type in ('1','2','3')
         </if>
@@ -72,6 +84,12 @@
             <![CDATA[ and c.age_begin <= #{age} ]]>
             <![CDATA[ and c.age_end >= #{age} ]]>
         </if>
+        <if test="tagType != null and tagType != ''">
+            <![CDATA[ and c.tag_type = #{tagType} ]]>
+        </if>
+        <if test="itemType != null">
+            <![CDATA[ and c.item_type = #{itemType} ]]>
+        </if>
         <if test="sexType == 3">
             and c.sex_type in ('1','2','3')
         </if>

+ 2 - 2
icss-service/src/test/java/com/diagbot/CodeGeneration.java

@@ -49,14 +49,14 @@ public class CodeGeneration {
         dsc.setDriverName("com.mysql.jdbc.Driver");
         dsc.setUsername("root");
         dsc.setPassword("lantone");
-        dsc.setUrl("jdbc:mysql://192.168.2.236:3306/sys-icss?useUnicode=true&characterEncoding=utf-8");
+        dsc.setUrl("jdbc:mysql://192.168.2.236:3306/sys-icssncd?useUnicode=true&characterEncoding=utf-8");
         mpg.setDataSource(dsc);
 
         // 策略配置
         StrategyConfig strategy = new StrategyConfig();
         strategy.setTablePrefix(new String[] { "icss_" });// 此处可以修改为您的表前缀
         strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
-        strategy.setInclude(new String[] { "icss_module_detal" }); // 需要生成的表
+        strategy.setInclude(new String[] { "icss_dis_scale" }); // 需要生成的表
 
         strategy.setSuperServiceClass(null);
         strategy.setSuperServiceImplClass(null);

+ 11 - 0
icssman-service/src/main/java/com/diagbot/dto/GetDeptInfoDTO.java

@@ -17,4 +17,15 @@ public class GetDeptInfoDTO extends DeptInfo {
      * 操作人姓名
      */
     private String userName;
+
+    /**
+     * 归属类型
+     */
+    private Integer type;
+
+    /**
+     * 归属类型名称
+     */
+    private String typeName;
+
 }

+ 5 - 0
icssman-service/src/main/java/com/diagbot/dto/GetModuleDetailInfoDTO.java

@@ -32,6 +32,11 @@ public class GetModuleDetailInfoDTO {
      */
     private String tagName;
 
+    /**
+     * 标签类型
+     */
+    private Integer tagType;
+
     /**
      * 关联模板
      */

+ 1 - 0
icssman-service/src/main/java/com/diagbot/dto/QuestionDTO.java

@@ -38,6 +38,7 @@ public class QuestionDTO {
     private Integer copyType;//是否复制
     private Integer showInfo; //是否显示i
     private String joint = "";     //标签后的连接符
+    private String formulaCode; //公式编码
     private List<QuestionDetail> questionDetailList = new ArrayList<>(); //标签明细表
     private List<QuestionDTO> questionMapping = new ArrayList<>();     //下级标签
     private String remark;//备注

+ 2 - 0
icssman-service/src/main/java/com/diagbot/dto/QuestionPageDTO.java

@@ -158,6 +158,8 @@ public class QuestionPageDTO implements Serializable {
      */
     private String showAdd;
 
+    private String formulaCode; //公式编码
+
     /**
      * 备注
      */

+ 5 - 0
icssman-service/src/main/java/com/diagbot/entity/QuestionInfo.java

@@ -155,6 +155,11 @@ public class QuestionInfo implements Serializable {
      */
     private String joint;
 
+    /**
+     * 公式编码
+     */
+    private String formulaCode;
+
     /**
      * 备注
      */

+ 1 - 0
icssman-service/src/main/java/com/diagbot/entity/wrapper/QuestionWrapper.java

@@ -41,6 +41,7 @@ public class QuestionWrapper implements Serializable {
     private String showAdd; //复制文字
     private Integer showInfo; //是否显示i
     private String joint;     //标签连接符
+    private String formulaCode; //公式编码
     private String remark; //备注
     private List<QuestionDetail> questionDetails = new ArrayList<>(); //明细
     private List<QuestionMappingWrapper> questionMappings = new ArrayList<>(); //映射关系

+ 52 - 0
icssman-service/src/main/java/com/diagbot/enums/ModuleTypeEnum.java

@@ -0,0 +1,52 @@
+package com.diagbot.enums;
+
+import com.diagbot.core.KeyedNamed;
+import lombok.Setter;
+
+/**
+ * @Description:标签类型
+ * @Author:zhaops
+ * @time: 2018/11/21 11:39
+ */
+public enum ModuleTypeEnum implements KeyedNamed {
+    ChiefComplaint(1, "主诉模板"),
+    HistoryOfPresentIllness(2, "现病史模板"),
+    HistoryOfPresentIllnessNull(3, "现病史空模板"),
+    OtherHistory(4, "其他史模板"),
+    Nesting(5, "嵌套模板");
+
+    @Setter
+    private Integer key;
+
+    @Setter
+    private String name;
+
+    ModuleTypeEnum(Integer key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static ModuleTypeEnum getEnum(Integer key) {
+        for (ModuleTypeEnum item : ModuleTypeEnum.values()) {
+            if (item.key == key) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(Integer key) {
+        ModuleTypeEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+
+    @Override
+    public int getKey() {
+        return key;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+}

+ 21 - 9
icssman-service/src/main/java/com/diagbot/facade/ModuleDetailFacade.java

@@ -10,6 +10,7 @@ import com.diagbot.service.ModuleDetailService;
 import com.diagbot.service.QuestionInfoService;
 import com.diagbot.service.impl.ModuleDetailServiceImpl;
 import com.diagbot.util.DateUtil;
+import com.diagbot.util.ListUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.AddModuleDetailVO;
@@ -20,6 +21,7 @@ import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -90,20 +92,23 @@ public class ModuleDetailFacade extends ModuleDetailServiceImpl {
         QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
         questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("tag_type", TagTypeEnum.T8.getKey())
+                .eq("type", addModuleInfoVO.getTextType())
                 .in("name",textList);
         List<QuestionInfo> questionInfoList = questionFacade.list(questionInfoQueryWrapper);
         //将标签id放入map
-        Map<String,Long> questionIdMap = questionInfoList.stream().collect(Collectors.toMap(QuestionInfo::getTagName,questionInfo -> questionInfo.getId()));
+        Map<String,Long> questionIdMap = new HashMap<>();
+        for (AddModuleDetailVO addModuleDetailVO: addModuleInfoVO.getModelDetils()) {
+            if(StringUtil.isNotEmpty(addModuleDetailVO.getText())){
+                questionIdMap = questionInfoList.stream().collect(Collectors.toMap(QuestionInfo::getTagName,questionInfo -> questionInfo.getId()));
+            }
+        }
         QuestionInfo addquestionInfo = null;
         List<QuestionInfo> addQuestionInfoList = new ArrayList<>();
-        /*for (QuestionInfo questionInfo:questionInfoList) {
-            questionIdMap.put(questionInfo.getTagName(),questionInfo.getId());
-        }*/
         //循环给questionId赋值,如果遇到赋值失败的则是没有questionID,执行添加
         for (AddModuleDetailVO addModuleDetailVO:addModuleInfoVO.getModelDetils()) {
             if (StringUtil.isNotEmpty(addModuleDetailVO.getText())){
                 addModuleDetailVO.setQuestionId(questionIdMap.get(addModuleDetailVO.getText()));
-                if(addModuleDetailVO.getQuestionId() == null){
+                if(addModuleDetailVO.getQuestionId() == null && addModuleDetailVO.getText() != null){
                     addquestionInfo = new QuestionInfo();
                     addquestionInfo.setModifier(userId);
                     addquestionInfo.setCreator(userId);
@@ -112,10 +117,12 @@ public class ModuleDetailFacade extends ModuleDetailServiceImpl {
                     addquestionInfo.setTagType(TagTypeEnum.T8.getKey());
                     addquestionInfo.setTagName(addModuleDetailVO.getText());
                     addquestionInfo.setName(addModuleDetailVO.getText());
-                    addquestionInfo.setType(addModuleInfoVO.getType());
+                    addquestionInfo.setType(addModuleInfoVO.getTextType());
                     addquestionInfo.setSubType(1);
                     addquestionInfo.setName(addModuleDetailVO.getText());
-                    addQuestionInfoList.add(addquestionInfo);
+                    if(!addQuestionInfoList.contains(addquestionInfo)){
+                        addQuestionInfoList.add(addquestionInfo);
+                    }
                 }
             }
         }
@@ -123,10 +130,15 @@ public class ModuleDetailFacade extends ModuleDetailServiceImpl {
         //查询自定义标签的id
         QueryWrapper<QuestionInfo> questionInfoQueryWrapper1 = new QueryWrapper<>();
         questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("type", addModuleInfoVO.getTextType())
                 .eq("tag_type", TagTypeEnum.T8.getKey());
         List<QuestionInfo> questionInfoList1 = questionFacade.list(questionInfoQueryWrapper1);
-        for (QuestionInfo questionInfo:questionInfoList1) {
-            questionIdMap.put(questionInfo.getTagName(),questionInfo.getId());
+        if(ListUtil.isNotEmpty(questionInfoList1)){
+            for (QuestionInfo questionInfo:questionInfoList1) {
+                if(StringUtil.isNotEmpty(questionInfo.getTagName())){
+                    questionIdMap.put(questionInfo.getTagName(),questionInfo.getId());
+                }
+            }
         }
         //二次赋值保证每一个questionId都有值
         ModuleDetail moduleDetail = null;

+ 7 - 1
icssman-service/src/main/java/com/diagbot/facade/ModuleInfoFacade.java

@@ -20,6 +20,7 @@ import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.ModuleInfoServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
+import com.diagbot.util.ListUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.AddModuleInfoVO;
@@ -105,6 +106,7 @@ public class ModuleInfoFacade extends ModuleInfoServiceImpl {
         moduleInfo.setModifier(userId);
         moduleInfo.setGmtCreate(now);
         moduleInfo.setGmtModified(now);
+        moduleInfo.setType(addModulInfoVO.getType());
         this.save(moduleInfo);
         Long moduleId = moduleInfo.getId();
         return moduleDetailFacade.saveOrUpdateInfos(addModulInfoVO, moduleId);
@@ -155,6 +157,9 @@ public class ModuleInfoFacade extends ModuleInfoServiceImpl {
         if (getModuleInfoVO.getType() != null) {
             moduleInfoQueryWrapper.eq("type", getModuleInfoVO.getType());
         }
+        if(ListUtil.isNotEmpty(getModuleInfoVO.getNoIds())){
+            moduleInfoQueryWrapper.notIn("id", getModuleInfoVO.getNoIds());
+        }
         List<ModuleInfo> moduleInfoList = this.list(moduleInfoQueryWrapper);
         List<Long> moduleIdList = moduleInfoList.stream().map(m -> m.getId()).collect(Collectors.toList());
         //获取模板明细信息
@@ -252,8 +257,9 @@ public class ModuleInfoFacade extends ModuleInfoServiceImpl {
             BeanUtil.copyProperties(moduleDetail, getModuleDetailInfoDTO);
             if (moduleDetail.getQuestionId() != null) {
                 getModuleDetailInfoDTO.setTagName(questionInfoMap.get(moduleDetail.getQuestionId()).getTagName());
+                getModuleDetailInfoDTO.setTagType(questionInfoMap.get(moduleDetail.getQuestionId()).getTagType());
             } else {
-                getModuleDetailInfoDTO.setRelationModuleName(moduleInfoMap.get(moduleDetail.getModuleId()).getName());
+                getModuleDetailInfoDTO.setRelationModuleName(moduleInfoMap.get(moduleDetail.getRelationModule()).getName());
             }
             getModuleDetailInfoDTOList.add(getModuleDetailInfoDTO);
         }

+ 2 - 2
icssman-service/src/main/java/com/diagbot/facade/QuestionFacade.java

@@ -167,7 +167,7 @@ public class QuestionFacade extends QuestionInfoServiceImpl {
                             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "标签被修改,请刷新后重新保存");
                         }
                     } else {
-                        String name = "组合项_" + DateUtil.format(DateUtil.now(), DateUtil.FORMAT_FULL);
+                        String name = "组合项_" + DateUtil.format(now, DateUtil.FORMAT_FULL);
                         ques.setTagName(name);
                         ques.setName(name);
                         ques.setTagType(TagTypeEnum.T10.getKey());
@@ -358,7 +358,7 @@ public class QuestionFacade extends QuestionInfoServiceImpl {
                 .eq("type", questionInfo.getType())
                 .ne("id", questionInfo.getId() == null ? -1 : questionInfo.getId()));
         if (ListUtil.isNotEmpty(questionInfoList)) { //标签type、tagName唯一
-            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "标签名称已重复,无法建立");
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "标签系统名称已重复,无法建立");
         }
         if ("save".equals(param.getSaveOrUpdate())) {
             questionInfo.setCreator(param.getPerson()); //创建人

+ 2 - 0
icssman-service/src/main/java/com/diagbot/facade/QuestionUsualFacade.java

@@ -9,6 +9,7 @@ import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.DeptInfo;
 import com.diagbot.entity.QuestionUsual;
 import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.enums.QuestionTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.QuestionUsualService;
@@ -163,6 +164,7 @@ public class QuestionUsualFacade extends QuestionUsualServiceImpl {
         //将用户信息放入实体
         for (GetDeptInfoDTO getDeptInfoDTO : iPage.getRecords()) {
             getDeptInfoDTO.setUserName(respDTO.data.get(getDeptInfoDTO.getModifier()));
+            getDeptInfoDTO.setTypeName(QuestionTypeEnum.getName(getDeptInfoDTO.getType()));
         }
         return iPage;
     }

+ 11 - 1
icssman-service/src/main/java/com/diagbot/facade/RetrievalFacade.java

@@ -117,7 +117,17 @@ public class RetrievalFacade extends RetrievalServiceImpl {
     public Boolean addTagRetrieval(AddTagRetrievalVO addTagRetrievalVO) {
         if (addTagRetrievalVO.getItemList().stream().distinct().count() != addTagRetrievalVO.getItemList().size()) {
             throw new CommonException(CommonErrorCode.RPC_ERROR,
-                    "同义词中存在重复数据!");
+                    "同义词中存在重复数据("+addTagRetrievalVO.getQuestionName()+")!");
+        }
+        
+        long typeOneCou = addTagRetrievalVO.getItemList().stream().filter(i->i.getRetrievalType()==1).count();
+        if(typeOneCou==0){
+        	throw new CommonException(CommonErrorCode.RPC_ERROR,
+                    "本体必须传("+addTagRetrievalVO.getQuestionName()+")!");
+        }
+        if(typeOneCou>1){
+        	throw new CommonException(CommonErrorCode.RPC_ERROR,
+                    "本体只能有一个("+addTagRetrievalVO.getQuestionName()+")!");
         }
 
         Date now = DateUtil.now();

+ 2 - 0
icssman-service/src/main/java/com/diagbot/service/impl/EnumsDataServiceImpl.java

@@ -2,6 +2,7 @@ package com.diagbot.service.impl;
 
 import com.diagbot.enums.DisclaimerCodeEnum;
 import com.diagbot.enums.IntroducePositionEnum;
+import com.diagbot.enums.ModuleTypeEnum;
 import com.diagbot.enums.QuestionTypeEnum;
 import com.diagbot.service.EnumsDataService;
 import com.diagbot.util.EnumEntriesBuilder;
@@ -29,6 +30,7 @@ public class EnumsDataServiceImpl implements EnumsDataService {
                 .addEnums("questionTypeEnum", QuestionTypeEnum.values())
                 .addEnums("introducePositionEnum", IntroducePositionEnum.values())
                 .addEnums("disclaimerCodeEnum", DisclaimerCodeEnum.values())
+                .addEnums("moduleTypeEnum", ModuleTypeEnum.values())
                 .build();
         return enumMap;
     }

+ 2 - 0
icssman-service/src/main/java/com/diagbot/vo/AddModuleInfoVO.java

@@ -18,6 +18,8 @@ public class AddModuleInfoVO {
     private String name;
     @NotNull(message="模板类型")
     private int type;
+    //特殊标签归属类型
+    private Integer textType;
     //标签id
     private List<AddModuleDetailVO> modelDetils;
 }

+ 3 - 1
icssman-service/src/main/java/com/diagbot/vo/AddTagRetrievalVO.java

@@ -3,6 +3,7 @@ package com.diagbot.vo;
 import java.util.List;
 
 import javax.validation.Valid;
+import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
 
@@ -31,7 +32,8 @@ public class AddTagRetrievalVO {
 	/**
 	 * 标签名称
 	 */
-	@ApiModelProperty(value="标签名称")
+	@ApiModelProperty(value="标签名称",required=true)
+	@NotBlank(message="标签名称必传")
 	private String questionName;
 	
 	@Valid

+ 4 - 0
icssman-service/src/main/java/com/diagbot/vo/GetModuleInfoVO.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.List;
+
 /**
  * @Description:
  * @author: wangyu
@@ -14,4 +16,6 @@ import lombok.Setter;
 public class GetModuleInfoVO extends Page {
     //模板类型
     private Integer type;
+    //要去重的子模板
+    private List<Long> noIds;
 }

+ 3 - 0
icssman-service/src/main/java/com/diagbot/vo/GetQuestionUsualByDeptVO.java

@@ -15,4 +15,7 @@ import javax.validation.constraints.NotNull;
 public class GetQuestionUsualByDeptVO {
     @NotNull(message = "请输入科室id")
     private Long deptId;
+
+    @NotNull(message = "请输入标签类型")
+    private Integer type;
 }

+ 14 - 0
icssman-service/src/main/java/com/diagbot/vo/ModuleGetQuestionInfoVO.java

@@ -3,6 +3,9 @@ package com.diagbot.vo;
 import lombok.Getter;
 import lombok.Setter;
 
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
 /**
  * @Description:
  * @author: wangyu
@@ -20,4 +23,15 @@ public class ModuleGetQuestionInfoVO {
      * 模板id
      */
     private String moduleId;
+
+    /**
+     * 要去重的id
+     */
+    private List<Long> noIds;
+
+    /**
+     * 标签类型
+     */
+    @NotNull(message="归属类型不能为空")
+    private Integer type;
 }

+ 2 - 0
icssman-service/src/main/java/com/diagbot/vo/QuestionUsualVO.java

@@ -18,4 +18,6 @@ public class QuestionUsualVO {
     private Long deptId;
     @NotNull(message = "请输入症状id")
     private List<Long> questionId;
+    @NotNull(message = "请输入标签类型")
+    private Integer type;
 }

+ 1 - 0
icssman-service/src/main/java/com/diagbot/web/DictionaryInfoController.java

@@ -26,6 +26,7 @@ import java.util.Map;
  */
 @RequestMapping("/dictionaryInfo")
 @RestController
+@SuppressWarnings("unchecked")
 @Api(value = "字典信息", tags = { "字典信息" })
 public class DictionaryInfoController {
 

+ 7 - 5
icssman-service/src/main/java/com/diagbot/web/ModuleInfoController.java

@@ -53,7 +53,8 @@ public class ModuleInfoController {
                     "questionId: 标签id,不是标点符号时需要填写<br>" +
                     "flag: 特殊标示类型<br>" +
                     "relationModule: 关联模板id<br>" +
-                    "text: 特殊标签(如逗号句号)")
+                    "text: 特殊标签(如逗号句号)<br>" +
+                    "textType: 特殊标签归属类型")
     @PostMapping("/saveModuleInfo")
     @SysLogger("saveModuleInfo")
     @Transactional
@@ -89,7 +90,8 @@ public class ModuleInfoController {
 
     @ApiOperation(value = "获取标签池信息[by:wangyu]",
             notes = "tagName: 标签名<br>" +
-                    "moduleId: 模板id,添加时不用填,修改时必填<br>")
+                    "moduleId: 模板id,添加时不用填,修改时必填<br>" +
+                    "type: 标签归属类型,必填")
     @PostMapping("/getQuestionInfos")
     @SysLogger("getQuestionInfos")
     public RespDTO<List<GetQuestionInfoDTO>> getQuestionInfos(@Valid @RequestBody ModuleGetQuestionInfoVO moduleGetQuestionInfoVO) {
@@ -97,7 +99,7 @@ public class ModuleInfoController {
         return RespDTO.onSuc(date);
     }
 
-    @ApiOperation(value = "获取模板信息[by:wangyu]",
+    @ApiOperation(value = "获取模板信息(作为子模板使用时传入type)[by:wangyu]",
             notes = "type: 模板类型,1:主诉模板 2:现病史模板 3:现病史空模板 4 : 其他史模板 5:嵌套模板 6:慢病模板<br>" +
                     "<br>")
     @PostMapping("/getModuleInfo")
@@ -107,7 +109,7 @@ public class ModuleInfoController {
         return RespDTO.onSuc(date);
     }
 
-    @ApiOperation(value = "获取模板列表[by:wangyu]",
+    @ApiOperation(value = "获取模板列表(主页面查询)[by:wangyu]",
             notes = "type: 模板类型,1:主诉模板 2:现病史模板 3:现病史空模板 4 : 其他史模板 5:嵌套模板 6:慢病模板<br>" +
                     "<br>")
     @PostMapping("/getModuleInfoList")
@@ -117,7 +119,7 @@ public class ModuleInfoController {
         return RespDTO.onSuc(date);
     }
 
-    @ApiOperation(value = "获取模板明细信息——修改获取已添加过的标签[by:wangyu]",
+    @ApiOperation(value = "获取模板明细信息——修改获取已添加过的标签[by:wangyu]",
             notes = "moduleId: 模板id<br>" +
                     "<br>")
     @PostMapping("/getModuleDetailInfo")

+ 4 - 2
icssman-service/src/main/resources/mapper/DeptInfoMapper.xml

@@ -16,15 +16,17 @@
 
     <select id="getAllDeptInfo" resultType="com.diagbot.dto.GetDeptInfoDTO">
         SELECT
-        DISTINCT a.id,a.gmt_create,b.gmt_modified,b.creator,b.modifier,a.`name`,a.remark
+        a.id,a.gmt_create,b.gmt_modified,b.creator,b.modifier,a.`name`,a.remark,c.type
         FROM
         `icss_dept_info` a
         LEFT JOIN icss_question_usual b ON a.id = b.dept_id
+        LEFT JOIN icss_question_info c ON b.question_id = c.id
         WHERE
-        a.is_deleted = 'N' AND b.is_deleted = 'N'
+        a.is_deleted = 'N' AND b.is_deleted = 'N' AND c.is_deleted = 'N'
         <if test="name != null and name != ''">
             AND a.`name` LIKE CONCAT('%',#{name},'%')
         </if>
+        GROUP BY a.id,c.type
         ORDER BY
         b.gmt_modified DESC
     </select>

+ 13 - 4
icssman-service/src/main/resources/mapper/QuestionInfoMapper.xml

@@ -29,6 +29,7 @@
         <result column="show_add" property="showAdd" />
         <result column="show_info" property="showInfo" />
         <result column="joint" property="joint" />
+        <result column="formula_code" property="formulaCode" />
         <result column="remark" property="remark" />
     </resultMap>
 
@@ -53,7 +54,7 @@
         <if test="existName != null and existName != ''">
             and tag_name = #{existName}
         </if>
-        <if test="sexType != null and sexType != ''">
+        <if test="sexType != null and sexType != 3 and sexType != ''">
             and sex_type in (3, #{sexType})
         </if>
         <if test="age != null and age != ''">
@@ -129,6 +130,7 @@
         `icss_question_info` a
         WHERE
         a.is_deleted = 'N'
+        AND a.type = #{type}
         <if test="moduleId != null and moduleId != ''">
             AND a.id NOT IN (
             SELECT
@@ -138,8 +140,15 @@
             WHERE
             c.is_deleted = 'N'
             AND c.module_id = #{moduleId}
+            AND c.question_id != ''
             )
         </if>
+        <if test="noIds != null and noIds.size != 0">
+            AND a.id NOT IN
+            <foreach  collection="noIds" item="noId" open="("  separator=","  close=")">
+                #{noId}
+            </foreach>
+        </if>
         <if test="tagName != null and tagName != ''">
             AND a.tag_name like CONCAT('%', #{tagName}, '%')
         </if>
@@ -166,7 +175,7 @@
     <select id="getQuestionUsualsByDept" resultType="com.diagbot.dto.GetQuestionInfoDTO">
         SELECT a.* FROM `icss_question_info` a
         LEFT JOIN icss_question_usual b ON a.id = b.question_id
-        WHERE b.dept_id = #{deptId}
+        WHERE b.dept_id = #{deptId} AND a.type = #{type}
         GROUP BY a.id
     </select>
 
@@ -212,7 +221,7 @@
                 m.parent_question = #{myId}
             </foreach>
         </if>
-        <if test="sexType != null">
+        <if test="sexType != null and sexType != 3 and sexType != ''">
             and t.sex_type in (3, #{sexType})
         </if>
         <if test="age != null">
@@ -231,7 +240,7 @@
     <select id="getByParam" parameterType="java.util.Map" resultMap="BaseResultMap">
         select * from icss_question_info  where is_deleted = 'N'
         and id = #{id}
-        <if test="sexType != null and sexType != ''">
+        <if test="sexType != null and sexType != 3 and sexType != ''">
             and sex_type in (3, #{sexType})
         </if>
         <if test="age != null and age != ''">

+ 1 - 4
icssman-service/src/main/resources/mapper/QuestionUsualMapper.xml

@@ -17,10 +17,7 @@
     </resultMap>
 
     <select id="getQuestionUsualByQuestionId" resultType="com.diagbot.entity.QuestionUsual">
-        SELECT a.* FROM `icss_question_usual` a WHERE a.is_deleted = 'N' AND a.dept_id = #{questionUsualVO.deptId} AND a.question_id in
-        <foreach item="questionId" collection="questionUsualVO.questionId" open="(" separator="," close=")">
-            #{questionId}
-        </foreach>
+        SELECT a.* FROM `icss_question_usual` a WHERE a.is_deleted = 'N' AND a.dept_id = #{questionUsualVO.deptId} AND a.type = #{type}
     </select>
 
     <select id="getQuestionUsualByDeptIds" resultType="com.diagbot.dto.GetQuestionUsualAndTypeDTO">

+ 15 - 1
tran-service/src/main/java/com/diagbot/entity/DiseaseIcd.java

@@ -73,6 +73,11 @@ public class DiseaseIcd implements Serializable {
      */
     private String remark;
 
+    /**
+     * 疾病名称(内)
+     */
+    private String icssQuestionName;
+
     public Long getId() {
         return id;
     }
@@ -151,6 +156,14 @@ public class DiseaseIcd implements Serializable {
         this.remark = remark;
     }
 
+    public String getIcssQuestionName() {
+        return icssQuestionName;
+    }
+
+    public void setIcssQuestionName(String icssQuestionName) {
+        this.icssQuestionName = icssQuestionName;
+    }
+
     @Override
     public String toString() {
         return "DiseaseIcd{" +
@@ -165,6 +178,7 @@ public class DiseaseIcd implements Serializable {
         ", icd=" + icd +
         ", status=" + status +
         ", remark=" + remark +
-        "}";
+        ",icssQuestionName" + icssQuestionName +
+                "}";
     }
 }

+ 11 - 9
tran-service/src/main/java/com/diagbot/entity/HospitalDept.java

@@ -74,7 +74,7 @@ public class HospitalDept implements Serializable {
     /**
      * icss科室id
      */
-    private Long deptId;
+    private String icssDeptName;
 
     /**
      * 状态:0.禁用1.启用
@@ -86,6 +86,15 @@ public class HospitalDept implements Serializable {
      */
     private String remark;
 
+
+    public String getIcssDeptName() {
+        return icssDeptName;
+    }
+
+    public void setIcssDeptName(String icssDeptName) {
+        this.icssDeptName = icssDeptName;
+    }
+
     public Long getId() {
         return id;
     }
@@ -156,13 +165,6 @@ public class HospitalDept implements Serializable {
     public void setHospitalName(String hospitalName) {
         this.hospitalName = hospitalName;
     }
-    public Long getDeptId() {
-        return deptId;
-    }
-
-    public void setDeptId(Long deptId) {
-        this.deptId = deptId;
-    }
     public Integer getStatus() {
         return status;
     }
@@ -191,7 +193,7 @@ public class HospitalDept implements Serializable {
         ", name=" + name +
         ", hospitalCode=" + hospitalCode +
         ", hospitalName=" + hospitalName +
-        ", deptId=" + deptId +
+        ", icssDeptName=" + icssDeptName +
         ", status=" + status +
         ", remark=" + remark +
         "}";

+ 146 - 0
tran-service/src/main/java/com/diagbot/entity/IntroduceTitleConfig.java

@@ -0,0 +1,146 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 提示信息标签映射表
+ * </p>
+ *
+ * @author zhaops
+ * @since 2019-03-11
+ */
+@TableName("tran_introduce_title_config")
+public class IntroduceTitleConfig implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private LocalDateTime gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private LocalDateTime gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 医院编码
+     */
+    private String hospitalCode;
+
+    /**
+     * 项目名
+     */
+    private String itemName;
+
+    /**
+     * 公表名
+     */
+    private String uniqueName;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public LocalDateTime getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(LocalDateTime gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+    public LocalDateTime getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(LocalDateTime gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+    public String getHospitalCode() {
+        return hospitalCode;
+    }
+
+    public void setHospitalCode(String hospitalCode) {
+        this.hospitalCode = hospitalCode;
+    }
+    public String getItemName() {
+        return itemName;
+    }
+
+    public void setItemName(String itemName) {
+        this.itemName = itemName;
+    }
+    public String getUniqueName() {
+        return uniqueName;
+    }
+
+    public void setUniqueName(String uniqueName) {
+        this.uniqueName = uniqueName;
+    }
+
+    @Override
+    public String toString() {
+        return "IntroduceTitleConfig{" +
+        "id=" + id +
+        ", isDeleted=" + isDeleted +
+        ", gmtCreate=" + gmtCreate +
+        ", gmtModified=" + gmtModified +
+        ", creator=" + creator +
+        ", modifier=" + modifier +
+        ", hospitalCode=" + hospitalCode +
+        ", itemName=" + itemName +
+        ", uniqueName=" + uniqueName +
+        "}";
+    }
+}

+ 154 - 0
tran-service/src/main/java/com/diagbot/entity/PacsConfig.java

@@ -0,0 +1,154 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 辅检项目公表映射配置表
+ * </p>
+ *
+ * @author zhaops
+ * @since 2019-03-11
+ */
+@TableName("tran_pacs_config")
+public class PacsConfig implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private LocalDateTime gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private LocalDateTime gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 医院编码
+     */
+    private String hospitalCode;
+
+    /**
+     * 套餐名
+     */
+    private String mealName;
+
+    /**
+     * 公表名
+     */
+    private String uniqueName;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+
+    public LocalDateTime getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(LocalDateTime gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+
+    public LocalDateTime getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(LocalDateTime gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+
+    public String getHospitalCode() {
+        return hospitalCode;
+    }
+
+    public void setHospitalCode(String hospitalCode) {
+        this.hospitalCode = hospitalCode;
+    }
+
+    public String getMealName() {
+        return mealName;
+    }
+
+    public void setMealName(String mealName) {
+        this.mealName = mealName;
+    }
+
+    public String getUniqueName() {
+        return uniqueName;
+    }
+
+    public void setUniqueName(String uniqueName) {
+        this.uniqueName = uniqueName;
+    }
+
+    @Override
+    public String toString() {
+        return "PacsConfig{" +
+                "id=" + id +
+                ", isDeleted=" + isDeleted +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModified=" + gmtModified +
+                ", creator=" + creator +
+                ", modifier=" + modifier +
+                ", hospitalCode=" + hospitalCode +
+                ", mealName=" + mealName +
+                ", uniqueName=" + uniqueName +
+                "}";
+    }
+}

+ 50 - 0
tran-service/src/main/java/com/diagbot/enums/TypeEnum.java

@@ -0,0 +1,50 @@
+package com.diagbot.enums;
+
+import com.diagbot.core.KeyedNamed;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/3/11 13:32
+ */
+public enum TypeEnum implements KeyedNamed {
+    Lis(5, "检查"),
+
+    Pacs(6, "检验");
+
+    @Setter
+    private Integer key;
+
+    @Setter
+    private String name;
+
+    TypeEnum(Integer key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static TypeEnum getEnum(Integer key) {
+        for (TypeEnum item : TypeEnum.values()) {
+            if (item.key == key) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(Integer key) {
+        TypeEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+
+    @Override
+    public int getKey() {
+        return key;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+}

+ 22 - 0
tran-service/src/main/java/com/diagbot/facade/DiseaseIcdFacade.java

@@ -0,0 +1,22 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.entity.DiseaseIcd;
+import com.diagbot.entity.PacsConfig;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.service.impl.DiseaseIcdServiceImpl;
+import com.diagbot.util.EntityUtil;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/3/18 17:29
+ */
+@Component
+public class DiseaseIcdFacade extends DiseaseIcdServiceImpl {
+
+}

+ 13 - 0
tran-service/src/main/java/com/diagbot/facade/InquiryInfoFacade.java

@@ -0,0 +1,13 @@
+package com.diagbot.facade;
+
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description: 对接问诊信息业务逻辑
+ * @author: rengb
+ * @since 2019-3-18
+ */
+@Component
+public class InquiryInfoFacade {
+
+}

+ 33 - 0
tran-service/src/main/java/com/diagbot/facade/IntroduceTitleConfigFacade.java

@@ -0,0 +1,33 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.entity.IntroduceTitleConfig;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.service.impl.IntroduceTitleConfigServiceImpl;
+import com.diagbot.util.EntityUtil;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/3/11 13:16
+ */
+@Component
+public class IntroduceTitleConfigFacade extends IntroduceTitleConfigServiceImpl {
+
+    /**
+     * 根据医院编码获取静态知识标题公表映射关系 Map<itemName,uniqueName>
+     *
+     * @return
+     */
+    public Map<String, String> getTitleMappingHosCode(String hosCode) {
+        QueryWrapper<IntroduceTitleConfig> titleMappingQueryWrapper = new QueryWrapper<>();
+        titleMappingQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).eq("hospital_code",hosCode);
+        List<IntroduceTitleConfig> titleMappingList = this.list(titleMappingQueryWrapper);
+        Map<String, String> retMap= EntityUtil.makeMapWithKeyValue(titleMappingList, "itemName", "uniqueName");
+        return retMap;
+    }
+}

+ 0 - 0
tran-service/src/main/java/com/diagbot/facade/PacsConfigFacade.java


Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels