Bläddra i källkod

Merge branch 'develop' into dev/cdssman20200727_init

gaodm 4 år sedan
förälder
incheckning
ad79a650c1
23 ändrade filer med 334 tillägg och 24 borttagningar
  1. 1 1
      config-server/src/main/resources/shared/aipt-service-test.yml
  2. 64 0
      docs/039.20200818纳里对接表结构修改/tran_20200818.sql
  3. 2 0
      mrman-service/src/main/java/com/diagbot/dto/GetAllByHospitalDetialDTO.java
  4. 2 0
      mrman-service/src/main/java/com/diagbot/dto/GetUpdateInfoDetialDTO.java
  5. 1 3
      mrman-service/src/main/java/com/diagbot/dto/QcCasesEntryAllDTO.java
  6. 6 1
      mrman-service/src/main/java/com/diagbot/dto/QcCasesEntrySimpleDTO.java
  7. 37 9
      mrman-service/src/main/java/com/diagbot/entity/CasesEntryHospital.java
  8. 1 1
      mrman-service/src/main/java/com/diagbot/entity/QcCasesEntry.java
  9. 2 1
      mrman-service/src/main/java/com/diagbot/facade/CasesEntryHospitalFacade.java
  10. 2 0
      mrman-service/src/main/java/com/diagbot/facade/QcCacesEntryFacade.java
  11. 1 1
      mrman-service/src/main/java/com/diagbot/vo/InsertByHospitalVO.java
  12. 1 1
      mrman-service/src/main/java/com/diagbot/vo/QcCasesEntryAllVO.java
  13. 6 0
      mrman-service/src/main/resources/mapper/CasesEntryHospitalMapper.xml
  14. 2 1
      mrman-service/src/main/resources/mapper/QcCasesEntryMapper.xml
  15. 1 0
      mrman-service/src/main/resources/mapper/QcTypeCasesEntryMapper.xml
  16. 2 2
      mrman-service/src/test/java/com/diagbot/CodeGeneration.java
  17. 3 1
      tran-service/src/main/java/com/diagbot/facade/DiseaseDeptFacade.java
  18. 1 0
      triage-service/src/main/java/com/diagbot/dto/SYFDiseaseDeptDTO.java
  19. 3 0
      triage-service/src/main/java/com/diagbot/dto/SYFFeatureDTO.java
  20. 131 0
      triage-service/src/main/java/com/diagbot/facade/AIV2Facade.java
  21. 22 0
      triage-service/src/main/java/com/diagbot/facade/SysSetFacade.java
  22. 36 1
      triage-service/src/main/java/com/diagbot/web/AIController.java
  23. 7 1
      triage-service/src/main/java/com/diagbot/web/SysSetController.java

+ 1 - 1
config-server/src/main/resources/shared/aipt-service-test.yml

@@ -107,4 +107,4 @@ nlp:
 
 aineo:
   server:
-    address: http://192.168.3.150:8888
+    address: http://192.168.2.234:8888

+ 64 - 0
docs/039.20200818纳里对接表结构修改/tran_20200818.sql

@@ -0,0 +1,64 @@
+use `sys-tran`;
+
+ALTER TABLE `tran_sys_set` MODIFY COLUMN `hospital_code` varchar(255) DEFAULT NULL COMMENT '医院编码' AFTER `modifier`;
+
+INSERT INTO `sys-tran`.`tran_sys_set` (`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `hospital_code`, `plan`, `sys_type`, `name`, `code`, `value`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', NULL, NULL, '浙江医院', '0', '9', '是否能访问', 'accessible', '1', '0无访问权限,1有访问权限');
+
+-- 纳里医院信息
+INSERT INTO `sys-tran`.`tran_hospital_info`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `address`, `spell`, `status`, `order_no`, `connect`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'NL001', '纳里健康', NULL, NULL, 1, NULL, 0, NULL);
+
+-- 纳里科室与朗通内部映射关系
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '0301', '呼吸内科', 'NL001', '纳里健康', '呼吸内科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '0302', '消化内科', 'NL001', '纳里健康', '消化内科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '0303', '神经内科', 'NL001', '纳里健康', '神经内科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '0304', '心血管内科', 'NL001', '纳里健康', '心血管内科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '0304', '心血管内科', 'NL001', '纳里健康', '心内科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '0305', '血液内科', 'NL001', '纳里健康', '血液内科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '0306', '肾病学专科', 'NL001', '纳里健康', '肾内科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '0307', '内分泌专科', 'NL001', '纳里健康', '内分泌科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '0308', '免疫学专科', 'NL001', '纳里健康', '风湿免疫门诊', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '0308', '免疫学专科', 'NL001', '纳里健康', '风湿免疫科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '0401', '普通外科', 'NL001', '纳里健康', '普外科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '0402', '神经外科', 'NL001', '纳里健康', '神经外科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '0403', '骨科', 'NL001', '纳里健康', '骨科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '0404', '泌尿外科', 'NL001', '纳里健康', '泌尿外科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '0405', '胸外科专业', 'NL001', '纳里健康', '胸外科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '0406', '心脏大血管外科', 'NL001', '纳里健康', '血管外科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '0406', '心脏大血管外科', 'NL001', '纳里健康', '心脏外科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '0408', '整形外科', 'NL001', '纳里健康', '整形外科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '0409', '肛肠外科', 'NL001', '纳里健康', '肛肠外科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '0501', '妇科', 'NL001', '纳里健康', '妇科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '0502', '产科', 'NL001', '纳里健康', '产科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '0505', '生殖健康与不孕症科', 'NL001', '纳里健康', '生殖健康与不孕症', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '0701', '新生儿科', 'NL001', '纳里健康', '新生儿科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '0905', '儿童康复科', 'NL001', '纳里健康', '康复医学科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1101', '耳科', 'NL001', '纳里健康', '耳鼻咽喉头颈外科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1102', '鼻科', 'NL001', '纳里健康', '耳鼻咽喉头颈外科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1103', '咽喉科', 'NL001', '纳里健康', '耳鼻咽喉头颈外科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1201', '牙体牙髓病科', 'NL001', '纳里健康', '牙科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1202', '牙周病科', 'NL001', '纳里健康', '牙科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1203', '口腔粘膜病科', 'NL001', '纳里健康', '牙科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1204', '儿童口腔科', 'NL001', '纳里健康', '牙科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1205', '口腔颌面外科', 'NL001', '纳里健康', '牙科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1206', '口腔修复科', 'NL001', '纳里健康', '牙科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1207', '口腔正畸科', 'NL001', '纳里健康', '牙科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1208', '口腔种植科', 'NL001', '纳里健康', '牙科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1209', '口腔麻醉科', 'NL001', '纳里健康', '牙科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1210', '口腔颌面医学影像科', 'NL001', '纳里健康', '牙科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1211', '口腔病理科', 'NL001', '纳里健康', '牙科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1212', '预防口腔科', 'NL001', '纳里健康', '牙科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1301', '皮肤病科', 'NL001', '纳里健康', '皮肤科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1502', '精神卫生科', 'NL001', '纳里健康', '精神卫生科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1603', '肝炎专业', 'NL001', '纳里健康', '肝病感染内科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '1603', '肝炎专业', 'NL001', '纳里健康', '肝病感染科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5001', '内科专业', 'NL001', '纳里健康', '普内科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5003', '妇产科专业', 'NL001', '纳里健康', '乳腺疾病门诊', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5005', '皮肤科专业', 'NL001', '纳里健康', '皮肤科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5006', '眼科专业', 'NL001', '纳里健康', '眼科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5007', '耳鼻咽喉科', 'NL001', '纳里健康', '耳鼻咽喉头颈外科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5008', '口腔科专业', 'NL001', '纳里健康', '牙科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5009', '肿瘤科专业', 'NL001', '纳里健康', '肿瘤外科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5009', '肿瘤科专业', 'NL001', '纳里健康', '肿瘤内科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5015', '康复医学专业', 'NL001', '纳里健康', '康复医学科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '5016', '急诊科专业', 'NL001', '纳里健康', '急诊科', 1, 0, '', NULL);
+INSERT INTO `tran_hospital_dept`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `code`, `name`, `hospital_code`, `hospital_name`, `concept_dept_name`, `status`, `order_no`, `url`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '87', '康复科', 'NL001', '纳里健康', '康复医学科', 1, 0, '', NULL);

+ 2 - 0
mrman-service/src/main/java/com/diagbot/dto/GetAllByHospitalDetialDTO.java

@@ -22,6 +22,8 @@ public class GetAllByHospitalDetialDTO {
     private Long modeId;
     private BigDecimal score;
     private Integer isUsed;
+    private BigDecimal scoreRun;
+    private Integer isUsedRun;
     private Integer isReject;
     private String msg;
 }

+ 2 - 0
mrman-service/src/main/java/com/diagbot/dto/GetUpdateInfoDetialDTO.java

@@ -15,7 +15,9 @@ import java.math.BigDecimal;
 public class GetUpdateInfoDetialDTO {
     private String hospitalName;
     private BigDecimal score;
+    private BigDecimal scoreRun;
     private Integer isUsed;
+    private Integer isUsedRun;
     private Integer isReject;
     private String msg;
 }

+ 1 - 3
mrman-service/src/main/java/com/diagbot/dto/QcCasesEntryAllDTO.java

@@ -46,12 +46,10 @@ public class QcCasesEntryAllDTO {
     private Integer drgs;
 
     /**
-     * 质控形式(1:形式质控,2:内涵质控)
+     * 质控形式(1:形式质控,2:内涵CRF质控,3:内涵规则质控)
      */
     private Integer type;
 
-
-
     /**
      * 规则类型(0:无,1:空项,2:错误)
      */

+ 6 - 1
mrman-service/src/main/java/com/diagbot/dto/QcCasesEntrySimpleDTO.java

@@ -21,11 +21,16 @@ public class QcCasesEntrySimpleDTO {
      */
     private String name;
 
-    /**
+    /**终末质控
      * 0-未启用 1-启用
      */
     private String isUsed;
 
+    /**运行质控
+     * 0-未启用 1-启用
+     */
+    private String isUsedRun;
+
     /**
      * modeName
      */

+ 37 - 9
mrman-service/src/main/java/com/diagbot/entity/CasesEntryHospital.java

@@ -63,9 +63,14 @@ public class CasesEntryHospital implements Serializable {
     private Long hospitalId;
 
     /**
-     * 扣分值
+     * 终末扣分值
      */
     private BigDecimal score;
+    /**
+     * 运行扣分值
+     */
+    private BigDecimal scoreRun;
+
 
     /**
      * 条目提示信息
@@ -73,10 +78,15 @@ public class CasesEntryHospital implements Serializable {
     private String msg;
 
     /**
-     * 0-未启用 1-启用
+     * 终末质控0-未启用 1-启用
      */
     private Integer isUsed;
 
+    /**
+     * 运行质控0-未启用 1-启用
+     */
+    private Integer isUsedRun;
+
     /**
      * 单项否决(1-单项否决 0-非)
      */
@@ -175,26 +185,44 @@ public class CasesEntryHospital implements Serializable {
         return remark;
     }
 
+    public BigDecimal getScoreRun() {
+        return scoreRun;
+    }
+
+    public void setScoreRun(BigDecimal scoreRun) {
+        this.scoreRun = scoreRun;
+    }
+
+    public Integer getIsUsedRun() {
+        return isUsedRun;
+    }
+
+    public void setIsUsedRun(Integer isUsedRun) {
+        this.isUsedRun = isUsedRun;
+    }
+
     public void setRemark(String remark) {
         this.remark = remark;
     }
 
     @Override
     public String toString() {
-        return "QcCasesEntryHospital{" +
+        return "CasesEntryHospital{" +
                 "id=" + id +
-                ", isDeleted=" + isDeleted +
+                ", isDeleted='" + isDeleted + '\'' +
                 ", gmtCreate=" + gmtCreate +
                 ", gmtModified=" + gmtModified +
-                ", creator=" + creator +
-                ", modifier=" + modifier +
+                ", creator='" + creator + '\'' +
+                ", modifier='" + modifier + '\'' +
                 ", casesEntryId=" + casesEntryId +
                 ", hospitalId=" + hospitalId +
                 ", score=" + score +
-                ", msg=" + msg +
+                ", scoreRun=" + scoreRun +
+                ", msg='" + msg + '\'' +
                 ", isUsed=" + isUsed +
+                ", isUsedRun=" + isUsedRun +
                 ", isReject=" + isReject +
-                ", remark=" + remark +
-                "}";
+                ", remark='" + remark + '\'' +
+                '}';
     }
 }

+ 1 - 1
mrman-service/src/main/java/com/diagbot/entity/QcCasesEntry.java

@@ -51,7 +51,7 @@ public class QcCasesEntry implements Serializable {
     private Integer drgs;
 
     /**
-     * 质控形式(1:形式质控,2:内涵质控)
+     * 质控形式(1:形式质控,2:内涵CRF质控,3:内涵规则质控)
      */
     private Integer type;
 

+ 2 - 1
mrman-service/src/main/java/com/diagbot/facade/CasesEntryHospitalFacade.java

@@ -88,9 +88,11 @@ public class CasesEntryHospitalFacade extends CasesEntryHospitalServiceImpl {
                     getAllByHospitalDetialDTO.setModeName(qcCasesEntry.getModeName());
                     getAllByHospitalDetialDTO.setMsg(casesEntryHospitalMap.get(qcCasesEntry.getId()).getMsg());
                     getAllByHospitalDetialDTO.setIsUsed(casesEntryHospitalMap.get(qcCasesEntry.getId()).getIsUsed());
+                    getAllByHospitalDetialDTO.setIsUsedRun(casesEntryHospitalMap.get(qcCasesEntry.getId()).getIsUsedRun());
                     getAllByHospitalDetialDTO.setIsReject(casesEntryHospitalMap.get(qcCasesEntry.getId()).getIsReject());
                     getAllByHospitalDetialDTO.setScore(casesEntryHospitalMap.get(qcCasesEntry.getId()).getScore());
                     getAllByHospitalDetialDTO.setPrecond(qcCasesEntry.getPrecond());
+                    getAllByHospitalDetialDTO.setScoreRun(casesEntryHospitalMap.get(qcCasesEntry.getId()).getScoreRun());
                     getAllByHospitalDetialDTO.setName(qcCasesEntry.getName());
                     getAllByHospitalDetialDTOS.add(getAllByHospitalDetialDTO);
                 }
@@ -127,7 +129,6 @@ public class CasesEntryHospitalFacade extends CasesEntryHospitalServiceImpl {
 
     /**
      * 新增指定医院条目
-     *
      * @param insertByHospitalVO
      * @return
      */

+ 2 - 0
mrman-service/src/main/java/com/diagbot/facade/QcCacesEntryFacade.java

@@ -116,8 +116,10 @@ public class QcCacesEntryFacade extends QcCasesEntryServiceImpl {
             getUpdateInfoDetialDTO.setHospitalName(hospitalNameMap.get(casesEntryHospital.getHospitalId()));
             getUpdateInfoDetialDTO.setMsg(casesEntryHospital.getMsg());
             getUpdateInfoDetialDTO.setIsUsed(casesEntryHospital.getIsUsed());
+            getUpdateInfoDetialDTO.setIsUsedRun(casesEntryHospital.getIsUsedRun());
             getUpdateInfoDetialDTO.setIsReject(casesEntryHospital.getIsReject());
             getUpdateInfoDetialDTO.setScore(casesEntryHospital.getScore());
+            getUpdateInfoDetialDTO.setScoreRun(casesEntryHospital.getScoreRun());
             getUpdateInfoDetialDTOS.add(getUpdateInfoDetialDTO);
         }
         getUpdateInfoDTO.setGetUpdateInfoDetialDTOS(getUpdateInfoDetialDTOS);

+ 1 - 1
mrman-service/src/main/java/com/diagbot/vo/InsertByHospitalVO.java

@@ -60,7 +60,7 @@ public class InsertByHospitalVO {
     private Integer drgs;
 
     /**
-     * 质控形式(1:形式质控,2:内涵质控)
+     * 质控形式(1:形式质控,2:内涵CRF质控,3:内涵规则质控)
      */
     private Integer type;
 

+ 1 - 1
mrman-service/src/main/java/com/diagbot/vo/QcCasesEntryAllVO.java

@@ -34,7 +34,7 @@ public class QcCasesEntryAllVO extends Page {
     private Integer drgs;
 
     /**
-     * 质控形式(1:形式质控,2:内涵质控)
+     * 质控形式(1:形式质控,2:内涵CRF质控,3:内涵规则质控)
      */
     private Integer type;
 

+ 6 - 0
mrman-service/src/main/resources/mapper/CasesEntryHospitalMapper.xml

@@ -13,8 +13,10 @@
         <result column="cases_entry_id" property="casesEntryId" />
         <result column="hospital_id" property="hospitalId" />
         <result column="score" property="score" />
+        <result column="score_run" property="scoreRun" />
         <result column="msg" property="msg" />
         <result column="is_used" property="isUsed" />
+        <result column="is_used_run" property="isUsedRun" />
         <result column="is_reject" property="isReject" />
         <result column="remark" property="remark" />
     </resultMap>
@@ -27,8 +29,10 @@
         cases_entry_id,
         hospital_id,
         score,
+        score_run,
          msg,
         is_used,
+        is_used_run,
         is_reject,
         remark) VALUES
         <foreach collection="list" item="data" index="index"
@@ -37,8 +41,10 @@
             #{data.casesEntryId},
             #{data.hospitalId},
             #{data.score},
+            #{data.scoreRun},
             #{data.msg},
             #{data.isUsed},
+            #{data.isUsedRun},
             #{data.isReject},
             #{data.remark}
             )

+ 2 - 1
mrman-service/src/main/resources/mapper/QcCasesEntryMapper.xml

@@ -118,7 +118,8 @@
     </select>
 
     <select id ="getQcCasesEntryAll" resultType="com.diagbot.dto.QcCasesEntryAllDTO">
-        SELECT a.*,b.name as modeName FROM qc_cases_entry a
+        SELECT a.id,a.cases_id,a.cases_name,a.mode_id,a.code,a.name,a.drgs,a.type,a.rule_type,a.dev_type,a.accuracy_type,a.precond,a.is_deleted,a.order_no,a.gmt_create,a.gmt_modified,a.creator,a.modifier,
+        b.name as modeName FROM qc_cases_entry a
         LEFT JOIN  qc_mode b ON b.id= a.mode_id
         WHERE a.is_deleted = 'N'
         ORDER BY a.cases_id,a.id

+ 1 - 0
mrman-service/src/main/resources/mapper/QcTypeCasesEntryMapper.xml

@@ -25,6 +25,7 @@
                     t1.id,
                     t3.`name` mode_name,
                     t2.is_used,
+                    t2.is_used_run,
                     t3.order_no mode_order,
                     t1.order_no
                 FROM

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

@@ -56,7 +56,7 @@ public class CodeGeneration {
         StrategyConfig strategy = new StrategyConfig();
 //        strategy.setTablePrefix(new String[] { "icss_" });// 此处可以修改为您的表前缀
          strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
-        strategy.setInclude(new String[] { "qc_cases_entry"}); // 需要生成的表
+        strategy.setInclude(new String[] { "qc_cases_entry_hospital"}); // 需要生成的表
 
         strategy.setSuperServiceClass(null);
         strategy.setSuperServiceImplClass(null);
@@ -80,4 +80,4 @@ public class CodeGeneration {
         mpg.execute();
 
     }
-}
+}

+ 3 - 1
tran-service/src/main/java/com/diagbot/facade/DiseaseDeptFacade.java

@@ -33,8 +33,10 @@ public class DiseaseDeptFacade extends DiseaseDeptServiceImpl {
         QueryWrapper<DiseaseDept> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("status", StatusEnum.Enable.getKey())
-                .eq("hospital_code", diseaseDeptVO.getHospitalCode())
                 .in(ListUtil.isNotEmpty(diseaseDeptVO.getConceptNames()), "concept_dis_name", diseaseDeptVO.getConceptNames());
+        if (StringUtil.isNotBlank(diseaseDeptVO.getHospitalCode())) {
+            queryWrapper.eq("hospital_code", diseaseDeptVO.getHospitalCode());
+        }
         List<DiseaseDept> diseaseDeptList = this.list(queryWrapper);
         //过滤科室为空的数据和诊断分类为空的数据
         diseaseDeptList = diseaseDeptList

+ 1 - 0
triage-service/src/main/java/com/diagbot/dto/SYFDiseaseDeptDTO.java

@@ -23,4 +23,5 @@ public class SYFDiseaseDeptDTO {
     private List<String> diseaseNames;
     //private List<SYFFeatureDTO> features;
     private String suggestion;
+    private List<HospitalDeptDTO> hospitalDepts;
 }

+ 3 - 0
triage-service/src/main/java/com/diagbot/dto/SYFFeatureDTO.java

@@ -4,6 +4,8 @@ import com.diagbot.annotation.CryptField;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.List;
+
 /**
  * @Description:
  * @Author:zhaops
@@ -26,4 +28,5 @@ public class SYFFeatureDTO {
     private String subDeptCode;
     private String url;
     private String suggestion;
+    private List<HospitalDeptDTO> hospitalDepts;
 }

+ 131 - 0
triage-service/src/main/java/com/diagbot/facade/AIV2Facade.java

@@ -5,8 +5,11 @@ import com.diagbot.biz.push.entity.FeatureRateWithExplainV2;
 import com.diagbot.biz.push.entity.ResponseDataWithExplainV2;
 import com.diagbot.client.AiptServiceClient;
 import com.diagbot.client.TranServiceClient;
+import com.diagbot.dto.AIDTO;
 import com.diagbot.dto.ConceptPushDTO;
 import com.diagbot.dto.DiseaseDeptDTO;
+import com.diagbot.dto.FeatureRateDTO;
+import com.diagbot.dto.HospitalDeptDTO;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.SYFDTO;
@@ -23,6 +26,7 @@ import com.diagbot.util.RespDTOUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.vo.AIVO;
 import com.diagbot.vo.DiseaseDeptVO;
+import com.diagbot.vo.HospitalDeptVO;
 import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -201,4 +205,131 @@ public class AIV2Facade {
         syfdto.setDiseaseDept(syfDeptDTOList);
         return syfdto;
     }
+
+    /**
+     * 纳里诊断推理
+     *
+     * @param aivo
+     * @param type
+     * @return
+     */
+    public AIDTO pushDisForNaliV2(AIVO aivo, String type) {
+        AIDTO aidto = new AIDTO();
+        List<FeatureRateDTO> items = Lists.newLinkedList();
+        if (StringUtil.isBlank(aivo.getHospitalCode())) {
+            throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "请输入医院编码");
+        }
+        RespDTO<ResponseDataWithExplainV2> res
+                = aiptServiceClient.pushWithExplainV2(assembleFacade.assembleData(aivo, type));
+        RespDTOUtil.respNGDealCover(res, "中间层没有结果返回");
+
+        List<FeatureRateV2> dis = res.data.getDis();
+        if (ListUtil.isNotEmpty(dis)) {
+            Map<String, List<SYFFeatureDTO>> disFeatureMap = new LinkedHashMap<>();
+            List<SYFFeatureDTO> disDTO = BeanUtil.listCopyTo(dis, SYFFeatureDTO.class);
+
+            //关联邵逸夫医院映射,hospitalCode不传
+            DiseaseDeptVO diseaseDeptVO = new DiseaseDeptVO();
+            List<String> disNames = dis.stream().map(i -> i.getFeatureName()).collect(Collectors.toList());
+            diseaseDeptVO.setConceptNames(disNames);
+            RespDTO<List<DiseaseDeptDTO>> diseaseDeptDTORes
+                    = tranServiceClient.getDiseaseDeptByConceptNames(diseaseDeptVO);
+            RespDTOUtil.respNGDealCover(diseaseDeptDTORes, "诊断科室映射关系未维护");
+            List<DiseaseDeptDTO> diseaseDeptDTOList = diseaseDeptDTORes.data;
+            Map<String, List<DiseaseDeptDTO>> diseaseDeptMap
+                    = EntityUtil.makeEntityListMap(diseaseDeptDTOList, "conceptDisName");
+            //诊断分类
+            for (SYFFeatureDTO featureRateDTO : disDTO) {
+                //关联外部诊断科室
+                if (diseaseDeptMap != null
+                        && ListUtil.isNotEmpty(diseaseDeptMap.get(featureRateDTO.getFeatureName()))) {
+                    List<DiseaseDeptDTO> ddList = diseaseDeptMap.get(featureRateDTO.getFeatureName());
+                    featureRateDTO.setDeptName(ddList.get(0).getDeptName());
+                    featureRateDTO.setSubDeptName(ddList.get(0).getSubDeptName());
+                    featureRateDTO.setDiseaseName(ddList.get(0).getDiseaseName());
+                    featureRateDTO.setSuggestion(ddList.get(0).getSuggestion());
+                    featureRateDTO.setDeptCode(ddList.get(0).getDeptCode());
+                    featureRateDTO.setSubDeptCode(ddList.get(0).getSubDeptCode());
+                    if (StringUtil.isNotBlank(ddList.get(0).getSubDeptName())
+                            && (!ddList.get(0).getDeptName().equals(ddList.get(0).getSubDeptName()))) {
+                        featureRateDTO
+                                .setConcatDept(ddList.get(0).getDeptName() + "-" + ddList.get(0).getSubDeptName());
+                    } else {
+                        featureRateDTO.setConcatDept(ddList.get(0).getDeptName());
+                    }
+                    featureRateDTO.setUrl(ddList.get(0).getUrl());
+                } else {
+                    featureRateDTO.setDiseaseName(featureRateDTO.getFeatureName());
+                }
+                if (StringUtil.isBlank(featureRateDTO.getDesc())) {
+                    featureRateDTO.setDesc("{\"可能诊断\":\"\"}");
+                }
+                Map<String, Object> descMap = FastJsonUtils.getJsonToMap(featureRateDTO.getDesc());
+                for (String disClass : descMap.keySet()) {
+                    List<SYFFeatureDTO> featureRateDTOList = Lists.newLinkedList();
+                    if (disFeatureMap.get(disClass) != null) {
+                        featureRateDTOList = disFeatureMap.get(disClass);
+                    }
+                    featureRateDTOList.add(featureRateDTO);
+                    disFeatureMap.put(disClass, featureRateDTOList);
+                }
+            }
+
+            //仅分析确诊、拟诊、可能诊断,其他类型(如:警惕)不参与分诊推理
+            List<SYFFeatureDTO> featureRateList = Lists.newLinkedList();
+            if (disFeatureMap.containsKey("确诊")) {
+                featureRateList.addAll(disFeatureMap.get("确诊"));
+            } else if (disFeatureMap.containsKey("拟诊")) {
+                featureRateList.addAll(disFeatureMap.get("拟诊"));
+            } else if (disFeatureMap.containsKey("可能诊断")) {
+                featureRateList.addAll(disFeatureMap.get("可能诊断"));
+            }
+
+            if (ListUtil.isEmpty(featureRateList)) {
+                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "推理结果为空");
+            }
+
+            //过滤科室为空的数据
+            featureRateList = featureRateList
+                    .stream()
+                    .distinct()
+                    .filter(i -> StringUtil.isNotBlank(i.getConcatDept()))
+                    .collect(Collectors.toList());
+
+            if (ListUtil.isEmpty(featureRateList)) {
+                return aidto;
+            }
+
+            //获取对接科室
+            HospitalDeptVO hospitalDeptVO = new HospitalDeptVO();
+            hospitalDeptVO.setHospitalCode(aivo.getHospitalCode());
+            hospitalDeptVO.setConceptNames(featureRateList
+                    .stream()
+                    .map(i -> i.getDeptName())
+                    .collect(Collectors.toList()));
+            RespDTO<Map<String, List<HospitalDeptDTO>>> retDeptMap
+                    = tranServiceClient.hospitalDeptByConceptNames(hospitalDeptVO);
+            if (RespDTOUtil.respIsOK(retDeptMap)) {
+                Map<String, List<HospitalDeptDTO>> deptMap = retDeptMap.data;
+                for (SYFFeatureDTO record : featureRateList) {
+                    record.setHospitalDepts(deptMap.get(record.getDeptName()));
+                }
+            }
+
+            //返回前两个科室,如果科室相同则去重
+            if (ListUtil.isNotEmpty(featureRateList)) {
+                for (SYFFeatureDTO syfFeatureDTO : featureRateList) {
+                    if (items.size() == 0
+                            || (items.size() == 1 && !items.get(0).getExtraProperty().equals(syfFeatureDTO.getDeptName()))) {
+                        FeatureRateDTO featureRateDTO = new FeatureRateDTO();
+                        featureRateDTO.setExtraProperty(syfFeatureDTO.getDeptName());
+                        featureRateDTO.setHospitalDepts(syfFeatureDTO.getHospitalDepts());
+                        items.add(featureRateDTO);
+                    }
+                }
+            }
+        }
+        aidto.setItems(items);
+        return aidto;
+    }
 }

+ 22 - 0
triage-service/src/main/java/com/diagbot/facade/SysSetFacade.java

@@ -3,6 +3,7 @@ package com.diagbot.facade;
 import com.diagbot.client.TranServiceClient;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.SysSetInfoDTO;
+import com.diagbot.util.ListUtil;
 import com.diagbot.util.RespDTOUtil;
 import com.diagbot.vo.HospitalSetVO;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -32,4 +33,25 @@ public class SysSetFacade {
         return sysSetInfoLists.data;
     }
 
+
+    /**
+     * 根据医院code获取配置信息
+     *
+     * @return
+     */
+    public Boolean checkAccessible(HospitalSetVO hospitalSetVO) {
+        hospitalSetVO.setCode("accessible");
+        RespDTO<List<SysSetInfoDTO>> sysSetInfoLists = tranServiceClient.getSysSetInfoDatas(hospitalSetVO);
+        RespDTOUtil.respNGDeal(sysSetInfoLists, "获取配置数据失败!");
+        Boolean res = false;
+        if (ListUtil.isNotEmpty(sysSetInfoLists.data)){
+            SysSetInfoDTO sysSetInfoDTO = sysSetInfoLists.data.get(0);
+            if (sysSetInfoDTO.getValue().equals("1")){
+                res = true;
+            }
+        }
+        return res;
+    }
+
+
 }

+ 36 - 1
triage-service/src/main/java/com/diagbot/web/AIController.java

@@ -3,6 +3,7 @@ package com.diagbot.web;
 
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.AIDTO;
+import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.SYFDTO;
 import com.diagbot.facade.AIFacade;
@@ -79,7 +80,7 @@ public class AIController {
                     "symptom:症状自然文本描述(必填)")
     @PostMapping("/pushSymptomForSYF")
     @SysLogger("pushSymptomForSYF")
-    public RespDTO<AIDTO> pushSymptomForSYF(@RequestBody @Valid AIVO aivo) {
+    public RespDTO<PushDTO> pushSymptomForSYF(@RequestBody @Valid AIVO aivo) {
         return RespDTO.onSuc(aiv2Facade.pushSymptomForSYFV2(aivo, "1"));
     }
 
@@ -98,4 +99,38 @@ public class AIController {
     public RespDTO<SYFDTO> pushDisForSYF(@RequestBody @Valid AIVO aivo) {
         return RespDTO.onSuc(aiv2Facade.pushDisForSYFV2(aivo, "7"));
     }
+
+    /**
+     * 症状推理症状接口
+     *
+     * @param aivo ai输入参数
+     * @return 症状相关数据
+     */
+    @ApiOperation(value = "知识库标准化-症状推理症状接口-纳里[by:zhaops]",
+            notes = "age: 年龄(必填)<br>" +
+                    "sex:性别,1:男,2:女(必填)<br>" +
+                    "symptom:症状自然文本描述(必填)")
+    @PostMapping("/pushSymptomForNaliV2")
+    @SysLogger("pushSymptomForNaliV2")
+    public RespDTO<PushDTO> pushSymptomForNaliV2(@RequestBody @Valid AIVO aivo) {
+        PushDTO data = aiv2Facade.pushSymptomForSYFV2(aivo, "1");
+        return RespDTO.onSuc(data);
+    }
+
+    /**
+     * 症状推理症状接口
+     *
+     * @param aivo ai输入参数
+     * @return 疾病相关数据
+     */
+    @ApiOperation(value = "知识库标准化-症状推理疾病接口-纳里[by:zhaops]",
+            notes = "age: 年龄(必填)<br>" +
+                    "sex:性别,1:男,2:女(必填)<br>" +
+                    "symptom:症状自然文本描述(必填)")
+    @PostMapping("/pushDisForNaliV2")
+    @SysLogger("pushDisForNaliV2")
+    public RespDTO<AIDTO> pushDisForNaliV2(@RequestBody @Valid AIVO aivo) {
+        AIDTO data = aiv2Facade.pushDisForNaliV2(aivo, "7");
+        return RespDTO.onSuc(data);
+    }
 }

+ 7 - 1
triage-service/src/main/java/com/diagbot/web/SysSetController.java

@@ -1,6 +1,5 @@
 package com.diagbot.web;
 
-
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.SysSetInfoDTO;
@@ -41,4 +40,11 @@ public class SysSetController {
         List<SysSetInfoDTO> data = sysSetFacade.getSysSetInfoData(hospitalSetVO);
         return RespDTO.onSuc(data);
     }
+
+    @ApiOperation(value = "验证医院是否有访问权限[by:gaodm]", notes = "hospitalCode :医院code  必填<br> ")
+    @PostMapping("/checkAccessible")
+    @SysLogger("checkAccessible")
+    public RespDTO<Boolean> checkAccessible(@Valid @RequestBody HospitalSetVO hospitalSetVO) {
+        return RespDTO.onSuc(sysSetFacade.checkAccessible(hospitalSetVO));
+    }
 }