Browse Source

Merge branch 'master' into 122run

wangfeng 4 years ago
parent
commit
c353d5f708
61 changed files with 1750 additions and 96 deletions
  1. 12 12
      src/main/java/com/diagbot/aggregate/AssembleAggregate.java
  2. 5 0
      src/main/java/com/diagbot/config/ResourceServerConfigurer.java
  3. 5 0
      src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java
  4. 1 1
      src/main/java/com/diagbot/entity/DrugConfig.java
  5. 308 0
      src/main/java/com/diagbot/entity/MrtestInfo.java
  6. 7 4
      src/main/java/com/diagbot/enums/StaticTypeEnum.java
  7. 20 0
      src/main/java/com/diagbot/facade/AssembleFacade.java
  8. 87 21
      src/main/java/com/diagbot/facade/ConceptInfoFacade.java
  9. 15 1
      src/main/java/com/diagbot/facade/DeptConfigFacade.java
  10. 20 0
      src/main/java/com/diagbot/facade/DiseaseConfigFacade.java
  11. 51 7
      src/main/java/com/diagbot/facade/DrugConfigFacade.java
  12. 15 0
      src/main/java/com/diagbot/facade/HospitalInfoFacade.java
  13. 36 3
      src/main/java/com/diagbot/facade/LisConfigFacade.java
  14. 164 0
      src/main/java/com/diagbot/facade/MrtestInfoFacade.java
  15. 20 1
      src/main/java/com/diagbot/facade/OperationConfigFacade.java
  16. 16 2
      src/main/java/com/diagbot/facade/PacsConfigFacade.java
  17. 28 7
      src/main/java/com/diagbot/facade/PushFacade.java
  18. 65 3
      src/main/java/com/diagbot/facade/RetrievalFacade.java
  19. 16 2
      src/main/java/com/diagbot/facade/TransfusionConfigFacade.java
  20. 12 0
      src/main/java/com/diagbot/mapper/DeptConfigMapper.java
  21. 12 0
      src/main/java/com/diagbot/mapper/DiseaseConfigMapper.java
  22. 12 0
      src/main/java/com/diagbot/mapper/DrugConfigMapper.java
  23. 19 0
      src/main/java/com/diagbot/mapper/LisConfigMapper.java
  24. 16 0
      src/main/java/com/diagbot/mapper/MrtestInfoMapper.java
  25. 11 0
      src/main/java/com/diagbot/mapper/OperationConfigMapper.java
  26. 11 0
      src/main/java/com/diagbot/mapper/PacsConfigMapper.java
  27. 11 0
      src/main/java/com/diagbot/mapper/TransfusionConfigMapper.java
  28. 11 0
      src/main/java/com/diagbot/service/DeptConfigService.java
  29. 12 0
      src/main/java/com/diagbot/service/DiseaseConfigService.java
  30. 11 0
      src/main/java/com/diagbot/service/DrugConfigService.java
  31. 17 0
      src/main/java/com/diagbot/service/LisConfigService.java
  32. 16 0
      src/main/java/com/diagbot/service/MrtestInfoService.java
  33. 11 0
      src/main/java/com/diagbot/service/OperationConfigService.java
  34. 11 0
      src/main/java/com/diagbot/service/PacsConfigService.java
  35. 11 0
      src/main/java/com/diagbot/service/TransfusionConfigService.java
  36. 13 0
      src/main/java/com/diagbot/service/impl/DeptConfigServiceImpl.java
  37. 13 0
      src/main/java/com/diagbot/service/impl/DiseaseConfigServiceImpl.java
  38. 15 2
      src/main/java/com/diagbot/service/impl/DrugConfigServiceImpl.java
  39. 23 0
      src/main/java/com/diagbot/service/impl/LisConfigServiceImpl.java
  40. 20 0
      src/main/java/com/diagbot/service/impl/MrtestInfoServiceImpl.java
  41. 15 2
      src/main/java/com/diagbot/service/impl/OperationConfigServiceImpl.java
  42. 13 0
      src/main/java/com/diagbot/service/impl/PacsConfigServiceImpl.java
  43. 13 0
      src/main/java/com/diagbot/service/impl/TransfusionConfigServiceImpl.java
  44. 19 0
      src/main/java/com/diagbot/vo/MrtestInfoVO.java
  45. 4 0
      src/main/java/com/diagbot/vo/RetrievalVO.java
  46. 1 1
      src/main/java/com/diagbot/vo/StaticKnowledgeVO.java
  47. 1 5
      src/main/java/com/diagbot/vo/TemplateInfoPageVO.java
  48. 1 2
      src/main/java/com/diagbot/vo/TemplateInfoRevampVO.java
  49. 1 2
      src/main/java/com/diagbot/vo/TemplateInfosVO.java
  50. 14 5
      src/main/java/com/diagbot/web/ConceptInfoController.java
  51. 8 0
      src/main/java/com/diagbot/web/HospitalInfoController.java
  52. 76 0
      src/main/java/com/diagbot/web/MrtestInfoController.java
  53. 45 0
      src/main/resources/mapper/DeptConfigMapper.xml
  54. 45 0
      src/main/resources/mapper/DiseaseConfigMapper.xml
  55. 45 0
      src/main/resources/mapper/DrugConfigMapper.xml
  56. 106 12
      src/main/resources/mapper/LisConfigMapper.xml
  57. 28 0
      src/main/resources/mapper/MrtestInfoMapper.xml
  58. 45 0
      src/main/resources/mapper/OperationConfigMapper.xml
  59. 45 0
      src/main/resources/mapper/PacsConfigMapper.xml
  60. 45 0
      src/main/resources/mapper/TransfusionConfigMapper.xml
  61. 1 1
      src/test/java/com/diagbot/CodeGeneration.java

+ 12 - 12
src/main/java/com/diagbot/aggregate/AssembleAggregate.java

@@ -487,20 +487,20 @@ public class AssembleAggregate {
                     || StringUtil.isNotBlank(drugRecord.getUniqueName())) {
                 convertDrug.add(drugRecord);
             } else {
-                Map<String, Long> uniqueNameMap = new HashMap<>();
-                if (StringUtil.isBlank(drugRecord.getForm())) {
-                    drugRecord.setForm("");
-                }
-                if (configMap.get(drugRecord.getName()) != null
-                        && configMap.get(drugRecord.getName()).get(drugRecord.getForm()) != null) {
-                    uniqueNameMap = configMap.get(drugRecord.getName()).get(drugRecord.getForm());
+                Map<String, Map<String, Long>> uniqueNameMap = new HashMap<>();
+                if (configMap.get(drugRecord.getName()) != null) {
+                    uniqueNameMap = configMap.get(drugRecord.getName());
                 }
                 if (uniqueNameMap != null && uniqueNameMap.size() > 0) {
-                    for (String uniqueName : uniqueNameMap.keySet()) {
-                        Drug convertDrugRecord = new Drug();
-                        BeanUtil.copyProperties(drugRecord, convertDrugRecord);
-                        convertDrugRecord.setUniqueName(uniqueName);
-                        convertDrug.add(convertDrugRecord);
+                    for (String form : uniqueNameMap.keySet()) {
+                        Map<String, Long> s = uniqueNameMap.get(form);
+                        for (String uniqueName: s.keySet()){
+                            Drug convertDrugRecord = new Drug();
+                            BeanUtil.copyProperties(drugRecord, convertDrugRecord);
+                            convertDrugRecord.setUniqueName(uniqueName);
+                            convertDrugRecord.setForm(form);
+                            convertDrug.add(convertDrugRecord);
+                        }
                     }
                 } else {
                     convertDrug.add(drugRecord);

+ 5 - 0
src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -109,6 +109,7 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 //.antMatchers("/tran/hospitalInfo/saveRecord").permitAll()
                 .antMatchers("/tran/hospitalInfo/getHospitalInfo").permitAll()
                 .antMatchers("/tran/hospitalInfo/getAllHospitalInfo").permitAll()
+                .antMatchers("/tran/hospitalInfo/getAllEnableHospitalInfo").permitAll()
                 .antMatchers("/tran/hospitalInfo/getHospitalInfoById").permitAll()
                 .antMatchers("/sys/versionInfo/getVersionInfoAlls").permitAll()
                 .antMatchers("/sys/disclaimerInfo/getDisclaimerInfo").permitAll()
@@ -144,6 +145,7 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 //.antMatchers("/graph/conceptInfo/changeStatus").permitAll()
                 .antMatchers("/graph/conceptInfo/isExist").permitAll()
                 .antMatchers("/graph/conceptInfo/getRecordById").permitAll()
+                .antMatchers("/graph/conceptInfo/updateHasInfoStatusBatch").permitAll()
                 .antMatchers("/sys/planDetail/getPlanDetailDatas").permitAll()
                 //.antMatchers("/sys/planDetail/savePlanDetails").permitAll()
                 //.antMatchers("/sys/planDetail/cancelPlanDetails").permitAll()
@@ -156,6 +158,9 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/sys/file/deleteRemoteFile").permitAll()
                 .antMatchers("/sys/mrqc/caseWritingPrompt").permitAll()
                 .antMatchers("/demo/testcaseInfo/testcaseProcess").permitAll()
+                .antMatchers("/demo/mrtestInfo/importExcel").permitAll()
+                .antMatchers("/demo/mrtestInfo/exportExcel").permitAll()
+                .antMatchers("/demo/mrtestInfo/mrTestProcess").permitAll()
                 .antMatchers("/**").authenticated();
         //                .antMatchers("/**").permitAll();
     }

+ 5 - 0
src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -152,6 +152,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 //|| matchers("/tran/hospitalInfo/saveRecord", request)
                 || matchers("/tran/hospitalInfo/getHospitalInfo", request)
                 || matchers("/tran/hospitalInfo/getAllHospitalInfo", request)
+                || matchers("/tran/hospitalInfo/getAllEnableHospitalInfo", request)
                 || matchers("/tran/hospitalInfo/getHospitalInfoById", request)
                 || matchers("/sys/versionInfo/getVersionInfoAlls", request)
                 || matchers("/sys/disclaimerInfo/getDisclaimerInfo", request)
@@ -186,6 +187,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 //|| matchers("/graph/conceptInfo/changeStatus", request)
                 || matchers("/graph/conceptInfo/isExist", request)
                 || matchers("/graph/conceptInfo/getRecordById", request)
+                || matchers("/graph/conceptInfo/updateHasInfoStatusBatch", request)
                 || matchers("/sys/planDetail/getPlanDetailDatas", request)
                 /*|| matchers("/sys/planDetail/savePlanDetails", request)
                 || matchers("/sys/planDetail/cancelPlanDetails", request)
@@ -198,6 +200,9 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/sys/file/deleteRemoteFile", request)
                 || matchers("/sys/mrqc/caseWritingPrompt", request)
                 || matchers("/demo/testcaseInfo/testcaseProcess", request)
+                || matchers("/demo/mrtestInfo/importExcel", request)
+                || matchers("/demo/mrtestInfo/exportExcel", request)
+                || matchers("/demo/mrtestInfo/mrTestProcess", request)
                 || matchers("/", request)) {
             return true;
         }

+ 1 - 1
src/main/java/com/diagbot/entity/DrugConfig.java

@@ -85,7 +85,7 @@ public class DrugConfig implements Serializable {
     /**
      * 剂型
      */
-    @Excel(name = "药品剂型(不填、注射剂、片剂、缓释剂、胶囊剂、滴丸剂)", width = 60, orderNum = "3", isImportField = "true")
+    @Excel(name = "药品剂型", width = 60, orderNum = "3", isImportField = "true")
     private String form;
 
     public Long getId() {

+ 308 - 0
src/main/java/com/diagbot/entity/MrtestInfo.java

@@ -0,0 +1,308 @@
+package com.diagbot.entity;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+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>
+ * 病历测试表
+ * </p>
+ *
+ * @author gaodm
+ * @since 2020-10-26
+ */
+@TableName("demo_mrtest_info")
+public class MrtestInfo 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
+     */
+    @Excel(name = "医院id", orderNum = "1", isImportField = "true")
+    private Long hospitalId;
+
+    /**
+     * 接口类型 1:开单提醒,2:推理接口
+     */
+    private Integer type;
+
+    /**
+     * 病历号
+     */
+    @Excel(name = "病历号", orderNum = "2", isImportField = "true")
+    private String mrCode;
+
+    /**
+     * 字段来源
+     */
+    @Excel(name = "字段来源", orderNum = "3", isImportField = "true")
+    private String textSource;
+
+    /**
+     * 原始文本
+     */
+    @Excel(name = "原始文本", orderNum = "4", isImportField = "true")
+    private String text;
+
+    /**
+     * 原始词
+     */
+    @Excel(name = "原始词", orderNum = "5", isImportField = "true")
+    private String word;
+
+    /**
+     * 替换后文本
+     */
+    @Excel(name = "替换后文本", orderNum = "6", isImportField = "true")
+    private String replaceText;
+
+    /**
+     * 替换词
+     */
+    @Excel(name = "替换词", orderNum = "7", isImportField = "true")
+    private String replaceWord;
+
+    /**
+     * 开单项类型
+     */
+    @Excel(name = "开单项类型", orderNum = "8", isImportField = "true")
+    private String billType;
+
+    /**
+     * 开单项
+     */
+    @Excel(name = "开单项", orderNum = "9", isImportField = "true")
+    private String billName;
+
+    /**
+     * 结果
+     */
+    @Excel(name = "结果", orderNum = "10")
+    private String result;
+
+    /**
+     * 是否通过 0:未通过,1:未通过
+     */
+    @Excel(name = "是否通过", orderNum = "11")
+    private Integer pass;
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注", orderNum = "12")
+    private String remark;
+
+    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 Date getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(Date gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+
+    public Date getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(Date 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 Long getHospitalId() {
+        return hospitalId;
+    }
+
+    public void setHospitalId(Long hospitalId) {
+        this.hospitalId = hospitalId;
+    }
+
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+
+    public String getMrCode() {
+        return mrCode;
+    }
+
+    public void setMrCode(String mrCode) {
+        this.mrCode = mrCode;
+    }
+
+    public String getTextSource() {
+        return textSource;
+    }
+
+    public void setTextSource(String textSource) {
+        this.textSource = textSource;
+    }
+
+    public String getText() {
+        return text;
+    }
+
+    public void setText(String text) {
+        this.text = text;
+    }
+
+    public String getWord() {
+        return word;
+    }
+
+    public void setWord(String word) {
+        this.word = word;
+    }
+
+    public String getReplaceText() {
+        return replaceText;
+    }
+
+    public void setReplaceText(String replaceText) {
+        this.replaceText = replaceText;
+    }
+
+    public String getReplaceWord() {
+        return replaceWord;
+    }
+
+    public void setReplaceWord(String replaceWord) {
+        this.replaceWord = replaceWord;
+    }
+
+    public String getBillType() {
+        return billType;
+    }
+
+    public void setBillType(String billType) {
+        this.billType = billType;
+    }
+
+    public String getBillName() {
+        return billName;
+    }
+
+    public void setBillName(String billName) {
+        this.billName = billName;
+    }
+
+    public String getResult() {
+        return result;
+    }
+
+    public void setResult(String result) {
+        this.result = result;
+    }
+
+    public Integer getPass() {
+        return pass;
+    }
+
+    public void setPass(Integer pass) {
+        this.pass = pass;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
+    public String toString() {
+        return "MrtestInfo{" +
+                "id=" + id +
+                ", isDeleted=" + isDeleted +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModified=" + gmtModified +
+                ", creator=" + creator +
+                ", modifier=" + modifier +
+                ", hospitalId=" + hospitalId +
+                ", type=" + type +
+                ", mrCode=" + mrCode +
+                ", textSource=" + textSource +
+                ", text=" + text +
+                ", word=" + word +
+                ", replaceText=" + replaceText +
+                ", replaceWord=" + replaceWord +
+                ", billType=" + billType +
+                ", billName=" + billName +
+                ", result=" + result +
+                ", pass=" + pass +
+                ", remark=" + remark +
+                "}";
+    }
+}

+ 7 - 4
src/main/java/com/diagbot/enums/StaticTypeEnum.java

@@ -1,13 +1,16 @@
+/*
 package com.diagbot.enums;
 
 import com.diagbot.core.KeyedNamed;
 import lombok.Setter;
 
+*/
 /**
  * @Description:
  * @Author:zhaops
  * @time: 2020/8/18 16:30
- */
+ *//*
+
 public enum StaticTypeEnum implements KeyedNamed {
     All(0, "全部"),
     Disease(1, "诊断"),
@@ -15,8 +18,8 @@ public enum StaticTypeEnum implements KeyedNamed {
     LisPack(3, "检验套餐"),
     Lis(4, "检验细项"),
     Pacs(5, "检查"),
-    Opeartion(6, "手术和操作"),
-    PacsSubName(7, "检查子项");
+    PacsSubName(6, "检查子项"),
+    Opeartion(7, "手术和操作");
 
     @Setter
     private int key;
@@ -66,4 +69,4 @@ public enum StaticTypeEnum implements KeyedNamed {
     public String getName() {
         return name;
     }
-}
+}*/

+ 20 - 0
src/main/java/com/diagbot/facade/AssembleFacade.java

@@ -1,17 +1,23 @@
 package com.diagbot.facade;
 
+import com.diagbot.biz.push.entity.Item;
+import com.diagbot.biz.push.entity.Pacs;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.entity.HospitalInfo;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.CoreUtil;
+import com.diagbot.util.ListUtil;
 import com.diagbot.vo.SearchData;
+import com.google.common.collect.Lists;
 import io.github.lvyahui8.spring.facade.DataFacade;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -46,6 +52,20 @@ public class AssembleFacade {
                 throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "入参映射出错" + e.getMessage());
             }
         }
+
+        //合并辅检和手术开单项
+        List<Pacs> pacsOrderVO = searchData.getPacsOrder();
+        List<Item> operationOrderVO = searchData.getOperationOrder();
+        if (pacsOrderVO == null) {
+            pacsOrderVO = Lists.newLinkedList();
+        }
+        if (operationOrderVO == null) {
+            operationOrderVO = Lists.newLinkedList();
+        }
+        List<Pacs> combinePacsOrder = pacsOrderVO;
+        combinePacsOrder.addAll(BeanUtil.listCopyTo(operationOrderVO, Pacs.class));
+        searchData.setPacsOrder(combinePacsOrder);
+        searchData.setOperationOrder(BeanUtil.listCopyTo(combinePacsOrder, Item.class));
         return searchData;
     }
 

+ 87 - 21
src/main/java/com/diagbot/facade/ConceptInfoFacade.java

@@ -15,7 +15,6 @@ import com.diagbot.dto.StaticKnowledgeIndexDTO;
 import com.diagbot.entity.ConceptDetail;
 import com.diagbot.entity.ConceptInfo;
 import com.diagbot.enums.IsDeleteEnum;
-import com.diagbot.enums.StaticTypeEnum;
 import com.diagbot.enums.StatusEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
@@ -38,7 +37,6 @@ import com.diagbot.vo.StaticKnowledgeHISVO;
 import com.diagbot.vo.StaticKnowledgeIndexVO;
 import com.diagbot.vo.StaticKnowledgeVO;
 import com.google.common.collect.Lists;
-import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
@@ -127,6 +125,8 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
         List<DictionaryInfoDTO> dicStaticIndexList = dictionaryFacade.getListByGroupType(7);
         //页面术语类型和图谱映射
         List<DictionaryInfoDTO> dicTypeMappingList = dictionaryFacade.getListByGroupType(8);
+        //静态知识类型
+        List<DictionaryInfoDTO> dicStaticTypeList = dictionaryFacade.getListByGroupType(10);
 
         List<StaticKnowledgeIndexDTO> staticKnowledgeIndexDTOList = Lists.newLinkedList();
         RespDTO<List<StaticKnowledgeIndexDTO>> respDTO = cdssCoreClient.staticKnowledgeIndex(staticKnowledgeIndexVO);
@@ -204,20 +204,24 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
             //排序
             Map<String, List<StaticKnowledgeIndexDTO>> map
                     = EntityUtil.makeEntityListMap(staticKnowledgeIndexDTOList, "typeName");
+            Map<Integer, String> staticTypeDicMap =
+                    EntityUtil.makeMapWithKeyValue(dicStaticTypeList, "val", "name");
             for (DictionaryInfoDTO dic : dicStaticIndexList) {
                 if (dic.getName().equals("检验")) {
-                    if (map.containsKey(StaticTypeEnum.LisPack.getName())) {
-                        retList.addAll(map.get(StaticTypeEnum.LisPack.getName()));
+                    //3-检验套餐、4-检验细项
+                    if (map.containsKey(staticTypeDicMap.get("3"))) {
+                        retList.addAll(map.get(staticTypeDicMap.get("3")));
                     }
-                    if (map.containsKey(StaticTypeEnum.Lis.getName())) {
-                        retList.addAll(map.get(StaticTypeEnum.Lis.getName()));
+                    if (map.containsKey(staticTypeDicMap.get("4"))) {
+                        retList.addAll(map.get(staticTypeDicMap.get("4")));
                     }
                 } else if (dic.getName().equals("检查")) {
-                    if (map.containsKey(StaticTypeEnum.Pacs.getName())) {
-                        retList.addAll(map.get(StaticTypeEnum.Pacs.getName()));
+                    //5-检查、6-检查子项
+                    if (map.containsKey(staticTypeDicMap.get("5"))) {
+                        retList.addAll(map.get(staticTypeDicMap.get("5")));
                     }
-                    if (map.containsKey(StaticTypeEnum.PacsSubName.getName())) {
-                        retList.addAll(map.get(StaticTypeEnum.PacsSubName.getName()));
+                    if (map.containsKey(staticTypeDicMap.get("6"))) {
+                        retList.addAll(map.get(staticTypeDicMap.get("6")));
                     }
                 } else if (map.containsKey(dic.getName())) {
                     retList.addAll(map.get(dic.getName()));
@@ -236,7 +240,10 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
      */
     public StaticKnowledgeDTO getStaticKnowledge(StaticKnowledgeVO staticKnowledgeVO) {
         StaticKnowledgeDTO staticKnowledgeDTO = new StaticKnowledgeDTO();
-        String typeName = StaticTypeEnum.getName(staticKnowledgeVO.getType());
+        List<DictionaryInfoDTO> dicStaticTypeList = dictionaryFacade.getListByGroupType(10);
+        Map<String, String> dicStaticTypeValNameMap =
+                EntityUtil.makeMapWithKeyValue(dicStaticTypeList, "val", "name");
+        String typeName = dicStaticTypeValNameMap.get(staticKnowledgeVO.getType().toString());
         List<DictionaryInfoDTO> dicList = dictionaryFacade.getListByGroupType(8);
         typeName = convertTypeName(typeName, 1, dicList);
 
@@ -334,16 +341,17 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
     public List<StaticKnowledgeHISDTO> getStaticKnowledgeForHIS(StaticKnowledgeHISVO staticKnowledgeHISVO) {
 
         List<StaticKnowledgeHISDTO> retList = Lists.newArrayList();
-        String typeName = StaticTypeEnum.getName(staticKnowledgeHISVO.getType());
+        List<DictionaryInfoDTO> dicStaticTypeList = dictionaryFacade.getListByGroupType(10);
+        Map<String, String> dicStaticTypeValNameMap =
+                EntityUtil.makeMapWithKeyValue(dicStaticTypeList, "val", "name");
+        String typeName = dicStaticTypeValNameMap.get(staticKnowledgeHISVO.getType().toString());
         List<DictionaryInfoDTO> dicList = dictionaryFacade.getListByGroupType(8);
         typeName = convertTypeName(typeName, 1, dicList);
-
         //术语映射
         List<String> uniqueNameList = getUniqueNames(staticKnowledgeHISVO);
         if (ListUtil.isEmpty(uniqueNameList)) {
             return retList;
         }
-
         QueryWrapper<ConceptInfo> conceptInfoQueryWrapper = new QueryWrapper<>();
         conceptInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
                 .in("name", uniqueNameList)
@@ -537,9 +545,14 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
      */
     public IPage<ConceptInfoDTO> getPage(ConceptInfoPageVO conceptInfoPageVO) {
         List<DictionaryInfoDTO> dicList = dictionaryFacade.getListByGroupType(8);
+        List<DictionaryInfoDTO> dicStaticTypeList = dictionaryFacade.getListByGroupType(10);
+        Map<Integer, String> dicStaticTypeValNameMap =
+                EntityUtil.makeMapWithKeyValue(dicStaticTypeList, "val", "name");
+        Map<String, Integer> dicStaticTypeNameValMap =
+                EntityUtil.makeMapWithKeyValue(dicStaticTypeList, "name", "val");
         if (StringUtil.isNotBlank(conceptInfoPageVO.getType())) {
             String typeName
-                    = convertTypeName(StaticTypeEnum.getName(Integer.valueOf(conceptInfoPageVO.getType())), 1, dicList);
+                    = convertTypeName(dicStaticTypeValNameMap.get(conceptInfoPageVO.getType()), 1, dicList);
             conceptInfoPageVO.setTypeName(typeName);
         }
         IPage<ConceptInfoDTO> page = super.getPage(conceptInfoPageVO);
@@ -548,7 +561,7 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
             records.forEach(record -> {
                 String typeName = convertTypeName(record.getType(), 2, dicList);
                 record.setTypeName(typeName);
-                record.setType(String.valueOf(StaticTypeEnum.getKey(typeName)));
+                record.setType(String.valueOf(dicStaticTypeNameValMap.get(typeName)));
             });
         }
         page.setRecords(records);
@@ -564,9 +577,14 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
     public Boolean saveOrUpdateRecord(ConceptInfoVO conceptInfoVO) {
         String userId = SysUserUtils.getCurrentPrincipleID();
         Date now = DateUtil.now();
+        //术语类型映射
         List<DictionaryInfoDTO> dicList = dictionaryFacade.getListByGroupType(8);
+        //静态知识类型
+        List<DictionaryInfoDTO> dicStaticTypeList = dictionaryFacade.getListByGroupType(10);
+        Map<Integer, String> dicStaticTypeValNameMap =
+                EntityUtil.makeMapWithKeyValue(dicStaticTypeList, "val", "name");
         //术语类型转换
-        String typeName = convertTypeName(StaticTypeEnum.getName(Integer.valueOf(conceptInfoVO.getType())), 1, dicList);
+        String typeName = convertTypeName(dicStaticTypeValNameMap.get(conceptInfoVO.getType()), 1, dicList);
         conceptInfoVO.setTypeName(typeName);
         ConceptInfo conceptInfo = new ConceptInfo();
 
@@ -683,8 +701,12 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
      */
     public Boolean isExist(ConceptInfoVO conceptInfoVO) {
         List<DictionaryInfoDTO> dicList = dictionaryFacade.getListByGroupType(8);
+        //静态知识类型
+        List<DictionaryInfoDTO> dicStaticTypeList = dictionaryFacade.getListByGroupType(10);
+        Map<Integer, String> dicStaticTypeValNameMap =
+                EntityUtil.makeMapWithKeyValue(dicStaticTypeList, "val", "name");
         //术语类型转换
-        String typeName = convertTypeName(StaticTypeEnum.getName(Integer.valueOf(conceptInfoVO.getType())), 1, dicList);
+        String typeName = convertTypeName(dicStaticTypeValNameMap.get(conceptInfoVO.getType()), 1, dicList);
         conceptInfoVO.setTypeName(typeName);
         QueryWrapper<ConceptInfo> conceptInfoQueryWrapper = new QueryWrapper<>();
         conceptInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
@@ -712,6 +734,12 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
      */
     public ConceptInfoDTO getRecordById(IdVO idVO) {
         List<DictionaryInfoDTO> dicList = dictionaryFacade.getListByGroupType(8);
+        //静态知识类型
+        List<DictionaryInfoDTO> dicStaticTypeList = dictionaryFacade.getListByGroupType(10);
+        Map<Integer, String> dicStaticTypeValNameMap =
+                EntityUtil.makeMapWithKeyValue(dicStaticTypeList, "val", "name");
+        Map<String, Integer> dicStaticTypeNameValMap =
+                EntityUtil.makeMapWithKeyValue(dicStaticTypeList, "name", "val");
         ConceptInfoDTO conceptInfoDTO = new ConceptInfoDTO();
         ConceptInfo conceptInfo = this.getById(idVO.getId());
         if (conceptInfo == null) {
@@ -729,7 +757,7 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
             //启用状态、修改人、修改时间为明细的内容
             String typeName = convertTypeName(conceptInfoDTO.getType(), 2, dicList);
             conceptInfoDTO.setTypeName(typeName);
-            conceptInfoDTO.setType(String.valueOf(StaticTypeEnum.getKey(typeName)));
+            conceptInfoDTO.setType(String.valueOf(dicStaticTypeNameValMap.get(typeName)));
             conceptInfoDTO.setModifier(conceptDetailList.get(0).getModifier());
             conceptInfoDTO.setGmtModified(conceptDetailList.get(0).getGmtModified());
         }
@@ -746,7 +774,8 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
         Map<String, List<ConceptDetail>> retMap = new HashMap<>();
         List<DictionaryInfoDTO> dicList = dictionaryFacade.getListByGroupType(8);
         QueryWrapper<ConceptInfo> conceptInfoQueryWrapper = new QueryWrapper<>();
-        conceptInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
+        conceptInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("status", 1);
         if (ListUtil.isNotEmpty(nameList)) {
             conceptInfoQueryWrapper.in("name", nameList);
         }
@@ -761,7 +790,7 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
             QueryWrapper<ConceptDetail> conceptDetailQueryWrapper = new QueryWrapper<>();
             conceptDetailQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
                     .in("concept_id", conceptIds);
-            if(ListUtil.isNotEmpty(contentTypes)) {
+            if (ListUtil.isNotEmpty(contentTypes)) {
                 conceptDetailQueryWrapper.and(sql -> {
                     for (int i = 0; i < contentTypes.size(); i++) {
                         if (i > 0) {
@@ -783,4 +812,41 @@ public class ConceptInfoFacade extends ConceptInfoServiceImpl {
         }
         return retMap;
     }
+
+    /**
+     * 批量更新静态知识标志
+     * @return
+     */
+    public Boolean updateHasInfoStatusBatch() {
+        QueryWrapper<ConceptInfo> conceptInfoQueryWrapper = new QueryWrapper<ConceptInfo>();
+        conceptInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
+        List<ConceptInfo> conceptInfoList = this.list(conceptInfoQueryWrapper);
+        if (ListUtil.isEmpty(conceptInfoList)) {
+            return true;
+        }
+
+        QueryWrapper<ConceptDetail> conceptDetailQueryWrapper = new QueryWrapper<ConceptDetail>();
+        conceptDetailQueryWrapper.select("distinct concept_id");
+        conceptDetailQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
+        List<ConceptDetail> conceptDetailList = conceptDetailFacade.list(conceptDetailQueryWrapper);
+        Map<Long, List<ConceptDetail>> detailMap =
+                EntityUtil.makeEntityListMap(conceptDetailList, "conceptId");
+
+        List<ConceptInfo> modifyList = Lists.newLinkedList();
+        conceptInfoList.forEach(item -> {
+            if (detailMap.containsKey(item.getId())) {
+                modifyList.add(item);
+            }
+        });
+
+        for (ConceptInfo conceptInfo : modifyList) {
+            //TODO 更新图谱是否有静态信息
+            HasStaticKnowledgeVO hasStaticKnowledgeVO = new HasStaticKnowledgeVO();
+            hasStaticKnowledgeVO.setName(conceptInfo.getName());
+            hasStaticKnowledgeVO.setType(conceptInfo.getType());
+            hasStaticKnowledgeVO.setHasInfo(1);
+            RespDTO<Boolean> respDTO = cdssCoreClient.updateHasInfoStatus(hasStaticKnowledgeVO);
+        }
+        return true;
+    }
 }

+ 15 - 1
src/main/java/com/diagbot/facade/DeptConfigFacade.java

@@ -23,6 +23,7 @@ import com.diagbot.vo.DeptConfigListVO;
 import com.diagbot.vo.DeptConfigPageVO;
 import com.diagbot.vo.IdListVO;
 import com.diagbot.vo.IdVO;
+import com.diagbot.vo.RetrievalVO;
 import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -386,7 +387,7 @@ public class DeptConfigFacade {
      * @param uniqueNames
      * @return
      */
-    public Map<String,Map<String,Long>> getUniqueNameConfigMap(Long hospitalId, List<String> hisNames, List<String> uniqueNames) {
+    public Map<String, Map<String, Long>> getUniqueNameConfigMap(Long hospitalId, List<String> hisNames, List<String> uniqueNames) {
         Map<String, Map<String, Long>> retMap = new HashMap<>();
         QueryWrapper<DeptConfig> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
@@ -435,4 +436,17 @@ public class DeptConfigFacade {
         String fileName = "科室映射模板.xls";
         ExcelUtils.exportExcel(new ArrayList<>(), null, "sheet1", DeptConfig.class, fileName, response, 12.8f);
     }
+
+    /**
+     * 科室搜索
+     *
+     * @param retrievalVO
+     * @return
+     */
+    public List<String> getDepts(RetrievalVO retrievalVO) {
+        List<DeptConfig> records = deptConfigService.getDeptsIndex(retrievalVO);
+        List<String> deptNames
+                = records.stream().map(r -> r.getHisName()).distinct().collect(Collectors.toList());
+        return deptNames;
+    }
 }

+ 20 - 0
src/main/java/com/diagbot/facade/DiseaseConfigFacade.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.CdssCoreClient;
+import com.diagbot.dto.DiseaseInfoDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.DiseaseConfig;
 import com.diagbot.enums.ConceptTypeEnum;
@@ -23,6 +24,7 @@ import com.diagbot.vo.DiseaseConfigListVO;
 import com.diagbot.vo.DiseaseConfigPageVO;
 import com.diagbot.vo.IdListVO;
 import com.diagbot.vo.IdVO;
+import com.diagbot.vo.RetrievalVO;
 import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -432,4 +434,22 @@ public class DiseaseConfigFacade {
         String fileName = "疾病映射模板.xls";
         ExcelUtils.exportExcel(new ArrayList<>(), null, "sheet1", DiseaseConfig.class, fileName, response, 12.8f);
     }
+
+    /**
+     * 疾病搜索
+     *
+     * @param retrievalVO
+     * @return
+     */
+    public List<DiseaseInfoDTO> getDiseases(RetrievalVO retrievalVO) {
+        List<DiseaseInfoDTO> diseaseNames = new ArrayList<>();
+        List<DiseaseConfig> diseaseConfigList = diseaseConfigService.getDiseasesIndex(retrievalVO);
+        for (DiseaseConfig diseaseConfig : diseaseConfigList) {
+            DiseaseInfoDTO diseaseInfoDTO = new DiseaseInfoDTO();
+            diseaseInfoDTO.setIcd10Code(diseaseConfig.getIcdCode());
+            diseaseInfoDTO.setName(diseaseConfig.getHisName());
+            diseaseNames.add(diseaseInfoDTO);
+        }
+        return diseaseNames;
+    }
 }

+ 51 - 7
src/main/java/com/diagbot/facade/DrugConfigFacade.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.CdssCoreClient;
 import com.diagbot.dto.DictionaryInfoDTO;
+import com.diagbot.dto.DrugInfoDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.DrugConfig;
 import com.diagbot.enums.ConceptTypeEnum;
@@ -24,6 +25,7 @@ import com.diagbot.vo.DrugConfigListVO;
 import com.diagbot.vo.DrugConfigPageVO;
 import com.diagbot.vo.IdListVO;
 import com.diagbot.vo.IdVO;
+import com.diagbot.vo.RetrievalVO;
 import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -255,7 +257,7 @@ public class DrugConfigFacade {
      * @param file
      */
     public void importExcel(MultipartFile file) {
-        List<DrugConfig> drugConfigList = ExcelUtils.importExcel(file, 0, 1, DrugConfig.class);
+        List<DrugConfig> drugConfigList = ExcelUtils.importExcel(file, 1, 1, DrugConfig.class);
         if (ListUtil.isNotEmpty(drugConfigList)) {
             importExcelRecords(drugConfigList);
         } else {
@@ -298,7 +300,7 @@ public class DrugConfigFacade {
         for (int i = 0; i < drugConfigList.size(); i++) {
             if (StringUtil.isBlank(drugConfigList.get(i).getHisName())
                     || StringUtil.isBlank(drugConfigList.get(i).getUniqueName())) {
-                emptyNumList.add(String.valueOf(i + 2));
+                emptyNumList.add(String.valueOf(i + 3));
             }
             if (StringUtil.isNotBlank(drugConfigList.get(i).getHisName())) {
                 drugConfigList.get(i).setHisName(drugConfigList.get(i).getHisName().trim());
@@ -308,7 +310,7 @@ public class DrugConfigFacade {
             }
             if (StringUtil.isNotBlank(drugConfigList.get(i).getForm())) {
                 if (!formList.contains(drugConfigList.get(i).getForm())) {
-                    formErrNumList.add(String.valueOf(i + 2));
+                    formErrNumList.add(String.valueOf(i + 3));
                 } else {
                     drugConfigList.get(i).setForm(drugConfigList.get(i).getForm().trim());
                 }
@@ -404,7 +406,7 @@ public class DrugConfigFacade {
      * @param hospitalId
      * @param hisNames
      * @param uniqueNames
-     * @return Map<hisName , Map < form , Map < uniqueName , id>>>
+     * @return Map<hisName   ,   Map   <   form   ,   Map   <   uniqueName   ,   id>>>
      */
     public Map<String, Map<String, Map<String, Long>>> getConfigMap(Long hospitalId, List<String> hisNames, List<String> uniqueNames) {
         Map<String, Map<String, Map<String, Long>>> retMap = new HashMap<>();
@@ -497,7 +499,7 @@ public class DrugConfigFacade {
      * @param hospitalId
      * @param hisNames
      * @param uniqueNames
-     * @return Map<hisName , Map < uniqueName , id>>
+     * @return Map<hisName   ,   Map   <   uniqueName   ,   id>>
      */
     public Map<String, Map<String, Long>> getConfigMapWithoutForm(Long hospitalId, List<String> hisNames, List<String> uniqueNames) {
         Map<String, Map<String, Long>> retMap = new HashMap<>();
@@ -577,7 +579,7 @@ public class DrugConfigFacade {
                 .orderByDesc("gmt_modified");
         List<DrugConfig> records = drugConfigService.list(queryWrapper);
         String fileName = "药品映射.xls";
-        ExcelUtils.exportExcel(records, null, "sheet1", DrugConfig.class, fileName, response, 12.8f);
+        ExcelUtils.exportExcel(records, getFrom(), "sheet1", DrugConfig.class, fileName, response, 12.8f);
     }
 
     /**
@@ -587,6 +589,48 @@ public class DrugConfigFacade {
      */
     public void exportExcelModule(HttpServletResponse response) {
         String fileName = "药品映射模板.xls";
-        ExcelUtils.exportExcel(new ArrayList<>(), null, "sheet1", DrugConfig.class, fileName, response, 12.8f);
+        ExcelUtils.exportExcel(new ArrayList<>(), getFrom(), "sheet1", DrugConfig.class, fileName, response, 12.8f);
+    }
+
+    /**
+     * 剂型说明
+     *
+     * @return
+     */
+    private String getFrom() {
+        String from = "药品模板——药品剂型填写说明[不填";
+        //药品剂型
+        List<DictionaryInfoDTO> dicTypeMappingList = dictionaryFacade.getListByGroupType(9);
+        List<String> formList = dicTypeMappingList.stream()
+                .filter(i -> StringUtil.isNotBlank(i.getName()))
+                .map(i -> i.getName())
+                .distinct()
+                .collect(Collectors.toList());
+        if (ListUtil.isNotEmpty(formList)) {
+            for (String s : formList) {
+                if (StringUtil.isNotBlank(s)) {
+                    from += "、" + s;
+                }
+            }
+        }
+        from += "]";
+        return from;
+    }
+
+    /**
+     * 药品搜索
+     *
+     * @param retrievalVO
+     * @return
+     */
+    public List<DrugInfoDTO> getMedicines(RetrievalVO retrievalVO) {
+        List<DrugInfoDTO> drugNames = new ArrayList<>();
+        List<DrugConfig> drugConfigList = drugConfigService.getMedicinesIndex(retrievalVO);
+        for (DrugConfig drugConfig : drugConfigList) {
+            DrugInfoDTO drugInfoDTO = new DrugInfoDTO();
+            drugInfoDTO.setName(drugConfig.getHisName());
+            drugNames.add(drugInfoDTO);
+        }
+        return drugNames;
     }
 }

+ 15 - 0
src/main/java/com/diagbot/facade/HospitalInfoFacade.java

@@ -99,4 +99,19 @@ public class HospitalInfoFacade extends HospitalInfoServiceImpl {
         data = BeanUtil.listCopyTo(list, HospitalInfoDTO.class);
         return data;
     }
+
+    /**
+     * 获取所有启用的医院信息列表
+     *
+     * @return
+     */
+    public List<HospitalInfoDTO> getAllEnableHospitalInfo() {
+        QueryWrapper<HospitalInfo> hospitalInfo = new QueryWrapper<>();
+        hospitalInfo.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("status", StatusEnum.Enable.getKey());
+        List<HospitalInfo> list = list(hospitalInfo);
+        List<HospitalInfoDTO> data = new ArrayList<>();
+        data = BeanUtil.listCopyTo(list, HospitalInfoDTO.class);
+        return data;
+    }
 }

+ 36 - 3
src/main/java/com/diagbot/facade/LisConfigFacade.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.CdssCoreClient;
+import com.diagbot.dto.LisDetailDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.LisConfig;
 import com.diagbot.enums.ConceptTypeEnum;
@@ -23,6 +24,7 @@ import com.diagbot.vo.IdListVO;
 import com.diagbot.vo.IdVO;
 import com.diagbot.vo.LisConfigListVO;
 import com.diagbot.vo.LisConfigPageVO;
+import com.diagbot.vo.RetrievalVO;
 import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -42,7 +44,7 @@ import java.util.stream.Collectors;
  * @time: 2020/7/29 15:03
  */
 @Component
-public class LisConfigFacade{
+public class LisConfigFacade {
     @Autowired
     private LisConfigService lisConfigService;
     @Autowired
@@ -259,7 +261,7 @@ public class LisConfigFacade{
         List<LisConfig> lisConfigList = ExcelUtils.importExcel(file, 0, 1, LisConfig.class);
         if (ListUtil.isNotEmpty(lisConfigList)) {
             importExcelRecords(lisConfigList);
-        }else {
+        } else {
             throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "校验失败,导入数据不能为空");
         }
     }
@@ -457,7 +459,7 @@ public class LisConfigFacade{
      * @param uniqueNames
      * @return
      */
-    public Map<String,Map<String,Long>> getUniqueNameConfigMap(Long hospitalId, List<String> hisNames, List<String> uniqueNames) {
+    public Map<String, Map<String, Long>> getUniqueNameConfigMap(Long hospitalId, List<String> hisNames, List<String> uniqueNames) {
         Map<String, Map<String, Long>> retMap = new HashMap<>();
         QueryWrapper<LisConfig> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
@@ -513,4 +515,35 @@ public class LisConfigFacade{
         String fileName = "检验映射模板.xls";
         ExcelUtils.exportExcel(new ArrayList<>(), null, "sheet1", LisConfig.class, fileName, response, 12.8f);
     }
+
+    /**
+     * 化验大项
+     *
+     * @param retrievalVO
+     * @return
+     */
+    public List<String> getLisPacks(RetrievalVO retrievalVO) {
+        List<LisConfig> records = lisConfigService.getLisPacksIndex(retrievalVO);
+        List<String> lisNames
+                = records.stream().map(r -> r.getHisName()).distinct().collect(Collectors.toList());
+        return lisNames;
+    }
+
+    /**
+     * 化验小项
+     *
+     * @param retrievalVO
+     * @return
+     */
+    public List<LisDetailDTO> getLis(RetrievalVO retrievalVO) {
+        List<LisDetailDTO> lisDetailNames = new ArrayList<>();
+        List<LisConfig> records = lisConfigService.getLisIndex(retrievalVO);
+        for (LisConfig lisConfig : records) {
+            LisDetailDTO lisDetailDTO = new LisDetailDTO();
+            lisDetailDTO.setName(lisConfig.getHisName());
+            lisDetailDTO.setUniqueName(lisConfig.getHisDetailName());
+            lisDetailNames.add(lisDetailDTO);
+        }
+        return lisDetailNames;
+    }
 }

+ 164 - 0
src/main/java/com/diagbot/facade/MrtestInfoFacade.java

@@ -0,0 +1,164 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.biz.push.entity.Item;
+import com.diagbot.biz.push.entity.Pacs;
+import com.diagbot.client.CdssCoreClient;
+import com.diagbot.dto.IndicationDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.MrtestInfo;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.service.impl.MrtestInfoServiceImpl;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
+import com.diagbot.util.ExcelUtils;
+import com.diagbot.util.GsonUtil;
+import com.diagbot.util.ListUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.vo.IndicationPushVO;
+import com.diagbot.vo.MrtestInfoVO;
+import com.diagbot.vo.SearchData;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Component;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/10/26 12:11
+ */
+@Component
+public class MrtestInfoFacade extends MrtestInfoServiceImpl {
+    @Autowired
+    @Qualifier("mrtestInfoServiceImpl")
+    private MrtestInfoServiceImpl mrtestInfoService;
+    @Autowired
+    private CdssCoreClient cdssCoreClient;
+    @Autowired
+    private AssembleFacade assembleFacade;
+
+    public void importExcel(MultipartFile file) {
+        List<MrtestInfo> mrtestInfoList = ExcelUtils.importExcel(file, 0, 1, MrtestInfo.class);
+        if (ListUtil.isNotEmpty(mrtestInfoList)) {
+            mrtestInfoService.saveBatch(mrtestInfoList);
+        } else {
+            throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "校验失败,导入数据不能为空");
+        }
+    }
+
+    /**
+     * 数据导出
+     *
+     * @param response
+     */
+    public void exportExcel(HttpServletResponse response, MrtestInfoVO mrtestInfoVO) {
+        List<MrtestInfo> mrtestInfoList
+                = mrtestInfoService.list(
+                new QueryWrapper<MrtestInfo>()
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .eq((null != mrtestInfoVO && null != mrtestInfoVO.getHospitalId()),
+                                "hospital_id", mrtestInfoVO.getHospitalId())
+                        .eq((null != mrtestInfoVO && null != mrtestInfoVO.getPass()),
+                                "pass", mrtestInfoVO.getPass())
+                        .in(ListUtil.isNotEmpty(mrtestInfoVO.getIds()), "id", mrtestInfoVO.getIds())
+        );
+        String fileName = "mrtest.xls";
+        ExcelUtils.exportExcel(mrtestInfoList, null, "sheet1", MrtestInfo.class, fileName, response, 12.8f);
+    }
+
+    public Boolean mrTestProcess(MrtestInfoVO mrtestInfoVO) {
+        List<MrtestInfo> mrtestInfoList
+                = mrtestInfoService.list(
+                new QueryWrapper<MrtestInfo>()
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .eq((null != mrtestInfoVO && null != mrtestInfoVO.getHospitalId()),
+                                "hospital_id", mrtestInfoVO.getHospitalId())
+                        .eq((null != mrtestInfoVO && null != mrtestInfoVO.getPass()),
+                                "pass", mrtestInfoVO.getPass())
+                        .in(ListUtil.isNotEmpty(mrtestInfoVO.getIds()), "id", mrtestInfoVO.getIds())
+        );
+
+        if (ListUtil.isEmpty(mrtestInfoList)) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS);
+        } else {
+            Date now = DateUtil.now();
+            for (MrtestInfo mrtestInfo : mrtestInfoList) {
+                //只处理目前存在的类型
+                if (mrtestInfo.getType().equals(1)) {
+                    if (mrtestInfo.getTextSource().equals("现病史")) {
+                        if (StringUtil.isNotBlank(mrtestInfo.getReplaceText())) {
+                            if (StringUtil.isNotBlank(mrtestInfo.getBillName())) {
+                                IndicationPushVO indicationPushVO = new IndicationPushVO();
+                                indicationPushVO.setHospitalId(mrtestInfo.getHospitalId());
+                                indicationPushVO.setSex(1);
+                                indicationPushVO.setAge("20");
+                                indicationPushVO.setRuleType("2");
+                                indicationPushVO.setSymptom(mrtestInfo.getReplaceText());
+                                if ("医保手术和操作名称".equals(mrtestInfo.getBillType())) {
+                                    List<Item> operationOrder = new ArrayList<>();
+                                    Item item = new Item();
+                                    item.setName(mrtestInfo.getBillName());
+                                    operationOrder.add(item);
+                                    indicationPushVO.setOperationOrder(operationOrder);
+                                } else if ("辅助检查名称".equals(mrtestInfo.getBillType())
+                                        || "辅助检查子项目名称".equals(mrtestInfo.getBillType())) {
+                                    List<Pacs> pacsOrder = new ArrayList<>();
+                                    Pacs pacs = new Pacs();
+                                    pacs.setName(mrtestInfo.getBillName());
+                                    pacsOrder.add(pacs);
+                                    indicationPushVO.setPacsOrder(pacsOrder);
+                                } else {
+                                    mrtestInfo.setGmtModified(now);
+                                    mrtestInfo.setResult("");
+                                    mrtestInfo.setPass(0);
+                                    mrtestInfo.setRemark("处理对象外数据");
+                                    continue;
+                                }
+
+                                SearchData searchData = new SearchData();
+                                BeanUtil.copyProperties(indicationPushVO, searchData);
+                                //入参映射
+                                searchData = assembleFacade.assembleData(searchData);
+                                BeanUtil.copyProperties(searchData, indicationPushVO);
+                                RespDTO<IndicationDTO> resp = cdssCoreClient.indication(indicationPushVO);
+                                if (null != resp && null != resp.data) {
+                                    mrtestInfo.setGmtModified(now);
+                                    String billMsg = GsonUtil.toJson(resp.data.getBillMsgList());
+                                    mrtestInfo.setResult(billMsg);
+                                    if (StringUtil.isNotBlank(mrtestInfo.getReplaceWord())
+                                            && billMsg.contains(mrtestInfo.getReplaceWord())) {
+                                        mrtestInfo.setPass(1);
+                                    } else {
+                                        mrtestInfo.setPass(0);
+                                    }
+
+                                    mrtestInfo.setRemark("提醒接口有返回结果");
+                                } else {
+                                    mrtestInfo.setGmtModified(now);
+                                    mrtestInfo.setResult("");
+                                    mrtestInfo.setPass(0);
+                                    mrtestInfo.setRemark("提醒接口无返回结果");
+                                }
+                            }
+                        }
+                    }
+                } else {
+                    mrtestInfo.setGmtModified(now);
+                    mrtestInfo.setResult("");
+                    mrtestInfo.setPass(0);
+                    mrtestInfo.setRemark("处理对象外数据");
+                }
+            }
+            mrtestInfoService.updateBatchById(mrtestInfoList);
+        }
+        return true;
+    }
+}

+ 20 - 1
src/main/java/com/diagbot/facade/OperationConfigFacade.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.CdssCoreClient;
+import com.diagbot.dto.OperationInfoDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.OperationConfig;
 import com.diagbot.enums.ConceptTypeEnum;
@@ -23,6 +24,7 @@ import com.diagbot.vo.IdListVO;
 import com.diagbot.vo.IdVO;
 import com.diagbot.vo.OperationConfigListVO;
 import com.diagbot.vo.OperationConfigPageVO;
+import com.diagbot.vo.RetrievalVO;
 import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -229,7 +231,7 @@ public class OperationConfigFacade {
         List<OperationConfig> operationConfigList = ExcelUtils.importExcel(file, 0, 1, OperationConfig.class);
         if (ListUtil.isNotEmpty(operationConfigList)) {
             importExcelRecords(operationConfigList);
-        }else {
+        } else {
             throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "校验失败,导入数据不能为空");
         }
     }
@@ -430,4 +432,21 @@ public class OperationConfigFacade {
         String fileName = "手术映射模板.xls";
         ExcelUtils.exportExcel(new ArrayList<>(), null, "sheet1", OperationConfig.class, fileName, response, 12.8f);
     }
+
+    /**
+     * 手术搜索
+     *
+     * @param retrievalVO
+     * @return
+     */
+    public List<OperationInfoDTO> getOperations(RetrievalVO retrievalVO) {
+        List<OperationInfoDTO> operationNames = new ArrayList<>();
+        List<OperationConfig> operationConfigList = operationConfigService.getOperationsIndex(retrievalVO);
+        for (OperationConfig operationConfig: operationConfigList){
+            OperationInfoDTO operationInfoDTO = new OperationInfoDTO();
+            operationInfoDTO.setName(operationConfig.getHisName());
+            operationNames.add(operationInfoDTO);
+        }
+        return operationNames;
+    }
 }

+ 16 - 2
src/main/java/com/diagbot/facade/PacsConfigFacade.java

@@ -23,6 +23,7 @@ import com.diagbot.vo.IdListVO;
 import com.diagbot.vo.IdVO;
 import com.diagbot.vo.PacsConfigListVO;
 import com.diagbot.vo.PacsConfigPageVO;
+import com.diagbot.vo.RetrievalVO;
 import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -229,7 +230,7 @@ public class PacsConfigFacade {
         List<PacsConfig> pacsConfigList = ExcelUtils.importExcel(file, 0, 1, PacsConfig.class);
         if (ListUtil.isNotEmpty(pacsConfigList)) {
             importExcelRecords(pacsConfigList);
-        }else {
+        } else {
             throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "校验失败,导入数据不能为空");
         }
     }
@@ -381,7 +382,7 @@ public class PacsConfigFacade {
      * @param uniqueNames
      * @return
      */
-    public Map<String,Map<String,Long>> getUniqueNameConfigMap(Long hospitalId, List<String> hisNames, List<String> uniqueNames) {
+    public Map<String, Map<String, Long>> getUniqueNameConfigMap(Long hospitalId, List<String> hisNames, List<String> uniqueNames) {
         Map<String, Map<String, Long>> retMap = new HashMap<>();
         QueryWrapper<PacsConfig> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
@@ -430,4 +431,17 @@ public class PacsConfigFacade {
         String fileName = "检查映射模板.xls";
         ExcelUtils.exportExcel(new ArrayList<>(), null, "sheet1", PacsConfig.class, fileName, response, 12.8f);
     }
+
+    /**
+     * 辅检
+     *
+     * @param retrievalVO
+     * @return
+     */
+    public List<String> getPACSs(RetrievalVO retrievalVO) {
+        List<PacsConfig> records = pacsConfigService.getPACSsIndex(retrievalVO);
+        List<String> pacsNames
+                = records.stream().map(r -> r.getHisName()).distinct().collect(Collectors.toList());
+        return pacsNames;
+    }
 }

+ 28 - 7
src/main/java/com/diagbot/facade/PushFacade.java

@@ -2,6 +2,7 @@ package com.diagbot.facade;
 
 import com.diagbot.client.CdssCoreClient;
 import com.diagbot.dto.BillMsg;
+import com.diagbot.dto.DictionaryInfoDTO;
 import com.diagbot.dto.IndicationDTO;
 import com.diagbot.dto.PushBaseDTO;
 import com.diagbot.dto.PushDTO;
@@ -9,8 +10,8 @@ import com.diagbot.dto.PushPlanDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.TreatDTO;
 import com.diagbot.entity.ConceptDetail;
-import com.diagbot.enums.StaticTypeEnum;
 import com.diagbot.util.BeanUtil;
+import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.RespDTOUtil;
 import com.diagbot.util.StringUtil;
@@ -43,6 +44,8 @@ public class PushFacade {
     private CdssCoreClient cdssCoreClient;
     @Autowired
     private ConceptInfoFacade conceptInfoFacade;
+    @Autowired
+    private DictionaryFacade dictionaryFacade;
 
     /**
      * 基础推理-症状、查体、化验、辅检、诊断
@@ -124,6 +127,13 @@ public class PushFacade {
     public PushDTO getStaticKnoledge(PushDTO pushDTO) {
         List<String> conceptNameList = Lists.newLinkedList();
         List<PushBaseDTO> conceptBaseList = Lists.newArrayList();
+        //静态知识类型
+        List<DictionaryInfoDTO> dicStaticTypeList = dictionaryFacade.getListByGroupType(10);
+        Map<Integer, String> dicStaticTypeValNameMap =
+                EntityUtil.makeMapWithKeyValue(dicStaticTypeList, "val", "name");
+        Map<String, Integer> dicStaticTypeNameValMap =
+                EntityUtil.makeMapWithKeyValue(dicStaticTypeList, "name", "val");
+
         if (ListUtil.isNotEmpty(pushDTO.getLis())) {
             conceptBaseList.addAll(pushDTO.getLis());
         }
@@ -153,7 +163,7 @@ public class PushFacade {
                 for (Map.Entry<String, List<PushBaseDTO>> entry : pushDTO.getDis().entrySet()) {
                     if (ListUtil.isNotEmpty(entry.getValue())) {
                         entry.getValue().forEach(item -> {
-                            if (conceptDetailMap.containsKey(item.getName() + "_" + StaticTypeEnum.getName(1))) {
+                            if (conceptDetailMap.containsKey(item.getName() + "_" + dicStaticTypeValNameMap.get("1"))) {
                                 item.setHasInfo(1);
                             }
                         });
@@ -162,28 +172,33 @@ public class PushFacade {
             }
             if (ListUtil.isNotEmpty(pushDTO.getLis())) {
                 pushDTO.getLis().forEach(item -> {
-                    if (conceptDetailMap.containsKey(item.getName() + "_" + StaticTypeEnum.getName(3))) {
+                    if (conceptDetailMap.containsKey(item.getName() + "_" + dicStaticTypeValNameMap.get("3"))) {
                         item.setHasInfo(1);
                     }
                 });
             }
             if (ListUtil.isNotEmpty(pushDTO.getPacs())) {
                 pushDTO.getPacs().forEach(item -> {
-                    if (conceptDetailMap.containsKey(item.getName() + "_" + StaticTypeEnum.getName(5))) {
+                    if (conceptDetailMap.containsKey(item.getName() + "_" + dicStaticTypeValNameMap.get("5"))) {
                         item.setHasInfo(1);
                     }
+                    /*if (item.getHasInfo().equals(0)) {
+                        if (conceptDetailMap.containsKey(item.getName() + "_" + dicStaticTypeValNameMap.get("6))) {
+                            item.setHasInfo(1);
+                        }
+                    }*/
                 });
             }
             if (ListUtil.isNotEmpty(pushDTO.getMedicines())) {
                 pushDTO.getMedicines().forEach(item -> {
-                    if (conceptDetailMap.containsKey(item.getName() + "_" + StaticTypeEnum.getName(2))) {
+                    if (conceptDetailMap.containsKey(item.getName() + "_" + dicStaticTypeValNameMap.get("2"))) {
                         item.setHasInfo(1);
                     }
                 });
             }
             if (ListUtil.isNotEmpty(pushDTO.getOperations())) {
                 pushDTO.getOperations().forEach(item -> {
-                    if (conceptDetailMap.containsKey(item.getName() + "_" + StaticTypeEnum.getName(6))) {
+                    if (conceptDetailMap.containsKey(item.getName() + "_" + dicStaticTypeValNameMap.get("7"))) {
                         item.setHasInfo(1);
                     }
                 });
@@ -201,6 +216,12 @@ public class PushFacade {
      */
     public List<TreatDTO> retGeneraTreat(PushDTO pushDTO, Long hospitalId) {
         List<TreatDTO> retGeneraTreat = pushDTO.getTreat();
+        //静态知识类型
+        List<DictionaryInfoDTO> dicStaticTypeList = dictionaryFacade.getListByGroupType(10);
+        Map<Integer, String> dicStaticTypeValNameMap =
+                EntityUtil.makeMapWithKeyValue(dicStaticTypeList, "val", "name");
+        Map<String, Integer> dicStaticTypeNameValMap =
+                EntityUtil.makeMapWithKeyValue(dicStaticTypeList, "name", "val");
         if (ListUtil.isNotEmpty(retGeneraTreat)) {
             List<String> conceptNameList = retGeneraTreat.stream()
                     .filter(i -> StringUtil.isNotBlank(i.getUniqueName()))
@@ -212,7 +233,7 @@ public class PushFacade {
             }
             for (TreatDTO treatDTO : retGeneraTreat) {
                 if (StringUtil.isNotBlank(treatDTO.getUniqueName())) {
-                    String key = treatDTO.getUniqueName() + "_" + StaticTypeEnum.getName(1);
+                    String key = treatDTO.getUniqueName() + "_" + dicStaticTypeValNameMap.get("1");
                     if (conceptDetailMap.containsKey(key)) {
                         List<ConceptDetail> conceptDetailList = conceptDetailMap.get(key);
                         treatDTO.setGeneraTreat(conceptDetailList

+ 65 - 3
src/main/java/com/diagbot/facade/RetrievalFacade.java

@@ -3,7 +3,11 @@ package com.diagbot.facade;
 import com.diagbot.client.CdssCoreClient;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.RetrievalDTO;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
 import com.diagbot.util.RespDTOUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.vo.HospitalCheckVO;
 import com.diagbot.vo.RetrievalVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -17,6 +21,22 @@ import org.springframework.stereotype.Component;
 public class RetrievalFacade {
     @Autowired
     private CdssCoreClient cdssCoreClient;
+    @Autowired
+    private HospitalInfoFacade hospitalInfoFacade;
+    @Autowired
+    private LisConfigFacade lisConfigFacade;
+    @Autowired
+    private PacsConfigFacade pacsConfigFacade;
+    @Autowired
+    private DiseaseConfigFacade diseaseConfigFacade;
+    @Autowired
+    private DrugConfigFacade drugConfigFacade;
+    @Autowired
+    private OperationConfigFacade operationConfigFacade;
+    @Autowired
+    private DeptConfigFacade deptConfigFacade;
+    @Autowired
+    private TransfusionConfigFacade transfusionConfigFacade;
 
     /**
      * 检索
@@ -26,9 +46,51 @@ public class RetrievalFacade {
      */
     public RetrievalDTO index(RetrievalVO retrievalVO) {
         RetrievalDTO retrievalDTO = new RetrievalDTO();
-        RespDTO<RetrievalDTO> respDTO = cdssCoreClient.index(retrievalVO);
-        RespDTOUtil.respNGDealCover(respDTO, "检索失败");
-        retrievalDTO = respDTO.data;
+        if (null == retrievalVO
+                || (null != retrievalVO
+                && (null == retrievalVO.getHospitalId() || retrievalVO.getHospitalId().equals(-1L)))) {
+            //无医院或者朗通医院查询标准词
+            RespDTO<RetrievalDTO> respDTO = cdssCoreClient.index(retrievalVO);
+            RespDTOUtil.respNGDealCover(respDTO, "检索失败");
+            retrievalDTO = respDTO.data;
+        } else {
+            //实际医院查询医院词
+            if (StringUtil.isBlank(retrievalVO.getInputStr())) {
+                throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "请输入检索内容!");
+            }
+            HospitalCheckVO hospitalCheckVO = new HospitalCheckVO();
+            hospitalCheckVO.setHospitalId(retrievalVO.getHospitalId());
+            if (!hospitalInfoFacade.checkHospital(hospitalCheckVO)) {
+                throw new CommonException(CommonErrorCode.NOT_EXISTS, "该医院ID不存在或者未启用!");
+            } else {
+                switch (retrievalVO.getType()) {
+                    case 1:
+                        retrievalDTO.setLisNames(lisConfigFacade.getLisPacks(retrievalVO));
+                        break;
+                    case 2:
+                        retrievalDTO.setLisDetailNames(lisConfigFacade.getLis(retrievalVO));
+                        break;
+                    case 3:
+                        retrievalDTO.setPacsNames(pacsConfigFacade.getPACSs(retrievalVO));
+                        break;
+                    case 4:
+                        retrievalDTO.setDiseaseNames(diseaseConfigFacade.getDiseases(retrievalVO));
+                        break;
+                    case 5:
+                        retrievalDTO.setDrugNames(drugConfigFacade.getMedicines(retrievalVO));
+                        break;
+                    case 6:
+                        retrievalDTO.setOperationNames(operationConfigFacade.getOperations(retrievalVO));
+                        break;
+                    case 7:
+                        retrievalDTO.setDeptNames(deptConfigFacade.getDepts(retrievalVO));
+                        break;
+                    case 8:
+                        retrievalDTO.setTransfusionNames(transfusionConfigFacade.getTransfusion(retrievalVO));
+                        break;
+                }
+            }
+        }
         return retrievalDTO;
     }
 }

+ 16 - 2
src/main/java/com/diagbot/facade/TransfusionConfigFacade.java

@@ -21,6 +21,7 @@ import com.diagbot.util.SysUserUtils;
 import com.diagbot.vo.ConceptVO;
 import com.diagbot.vo.IdListVO;
 import com.diagbot.vo.IdVO;
+import com.diagbot.vo.RetrievalVO;
 import com.diagbot.vo.TransfusionConfigListVO;
 import com.diagbot.vo.TransfusionConfigPageVO;
 import com.google.common.collect.Lists;
@@ -229,7 +230,7 @@ public class TransfusionConfigFacade {
         List<TransfusionConfig> transfusionConfigList = ExcelUtils.importExcel(file, 0, 1, TransfusionConfig.class);
         if (ListUtil.isNotEmpty(transfusionConfigList)) {
             importExcelRecords(transfusionConfigList);
-        }else {
+        } else {
             throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "校验失败,导入数据不能为空");
         }
     }
@@ -381,7 +382,7 @@ public class TransfusionConfigFacade {
      * @param uniqueNames
      * @return
      */
-    public Map<String,Map<String,Long>> getUniqueNameConfigMap(Long hospitalId, List<String> hisNames, List<String> uniqueNames) {
+    public Map<String, Map<String, Long>> getUniqueNameConfigMap(Long hospitalId, List<String> hisNames, List<String> uniqueNames) {
         Map<String, Map<String, Long>> retMap = new HashMap<>();
         QueryWrapper<TransfusionConfig> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
@@ -430,4 +431,17 @@ public class TransfusionConfigFacade {
         String fileName = "输血映射模板.xls";
         ExcelUtils.exportExcel(new ArrayList<>(), null, "sheet1", TransfusionConfig.class, fileName, response, 12.8f);
     }
+
+    /**
+     * 输血搜索
+     *
+     * @param retrievalVO
+     * @return
+     */
+    public List<String> getTransfusion(RetrievalVO retrievalVO) {
+        List<TransfusionConfig> records = transfusionConfigService.getTransfusionIndex(retrievalVO);
+        List<String> transfusionNames
+                = records.stream().map(r -> r.getHisName()).distinct().collect(Collectors.toList());
+        return transfusionNames;
+    }
 }

+ 12 - 0
src/main/java/com/diagbot/mapper/DeptConfigMapper.java

@@ -3,9 +3,13 @@ package com.diagbot.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.entity.DeptConfig;
+import com.diagbot.entity.DrugConfig;
 import com.diagbot.vo.DeptConfigPageVO;
+import com.diagbot.vo.RetrievalVO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 科室映射表 Mapper 接口
@@ -22,4 +26,12 @@ public interface DeptConfigMapper extends BaseMapper<DeptConfig> {
      * @return
      */
     IPage<DeptConfig> getPage(@Param("deptConfigPageVO") DeptConfigPageVO deptConfigPageVO);
+
+    /**
+     * 科室搜索
+     *
+     * @param retrievalVO
+     * @return
+     */
+    List<DeptConfig> getDeptsIndex (RetrievalVO retrievalVO);
 }

+ 12 - 0
src/main/java/com/diagbot/mapper/DiseaseConfigMapper.java

@@ -3,9 +3,13 @@ package com.diagbot.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.entity.DiseaseConfig;
+import com.diagbot.entity.PacsConfig;
 import com.diagbot.vo.DiseaseConfigPageVO;
+import com.diagbot.vo.RetrievalVO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 诊断映射表 Mapper 接口
@@ -23,4 +27,12 @@ public interface DiseaseConfigMapper extends BaseMapper<DiseaseConfig> {
      * @return
      */
     IPage<DiseaseConfig> getPage(@Param("diseaseConfigPageVO") DiseaseConfigPageVO diseaseConfigPageVO);
+
+    /**
+     * 疾病搜索
+     *
+     * @param retrievalVO
+     * @return
+     */
+    List<DiseaseConfig> getDiseasesIndex (RetrievalVO retrievalVO);
 }

+ 12 - 0
src/main/java/com/diagbot/mapper/DrugConfigMapper.java

@@ -2,10 +2,14 @@ package com.diagbot.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.entity.DiseaseConfig;
 import com.diagbot.entity.DrugConfig;
 import com.diagbot.vo.DrugConfigPageVO;
+import com.diagbot.vo.RetrievalVO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 药品映射表 Mapper 接口
@@ -22,4 +26,12 @@ public interface DrugConfigMapper extends BaseMapper<DrugConfig> {
      * @return
      */
     IPage<DrugConfig> getPage(@Param("drugConfigPageVO") DrugConfigPageVO drugConfigPageVO);
+
+    /**
+     * 药品搜索
+     *
+     * @param retrievalVO
+     * @return
+     */
+    List<DrugConfig> getMedicinesIndex (RetrievalVO retrievalVO);
 }

+ 19 - 0
src/main/java/com/diagbot/mapper/LisConfigMapper.java

@@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.entity.LisConfig;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.diagbot.vo.LisConfigPageVO;
+import com.diagbot.vo.RetrievalVO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 化验公表映射 Mapper 接口
@@ -23,4 +26,20 @@ public interface LisConfigMapper extends BaseMapper<LisConfig> {
      * @return
      */
     IPage<LisConfig> getPage(@Param("lisConfigPageVO") LisConfigPageVO lisConfigPageVO);
+
+    /**
+     * 化验大项
+     *
+     * @param retrievalVO
+     * @return
+     */
+    List<LisConfig> getLisPacksIndex (RetrievalVO retrievalVO);
+
+    /**
+     * 化验小项
+     *
+     * @param retrievalVO
+     * @return
+     */
+    List<LisConfig> getLisIndex (RetrievalVO retrievalVO);
 }

+ 16 - 0
src/main/java/com/diagbot/mapper/MrtestInfoMapper.java

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.MrtestInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 病历测试表 Mapper 接口
+ * </p>
+ *
+ * @author gaodm
+ * @since 2020-10-26
+ */
+public interface MrtestInfoMapper extends BaseMapper<MrtestInfo> {
+
+}

+ 11 - 0
src/main/java/com/diagbot/mapper/OperationConfigMapper.java

@@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.entity.OperationConfig;
 import com.diagbot.vo.OperationConfigPageVO;
+import com.diagbot.vo.RetrievalVO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 手术映射表 Mapper 接口
@@ -22,4 +25,12 @@ public interface OperationConfigMapper extends BaseMapper<OperationConfig> {
      * @return
      */
     IPage<OperationConfig> getPage(@Param("operationConfigPageVO") OperationConfigPageVO operationConfigPageVO);
+
+    /**
+     * 手术搜索
+     *
+     * @param retrievalVO
+     * @return
+     */
+    List<OperationConfig> getOperationsIndex(RetrievalVO retrievalVO);
 }

+ 11 - 0
src/main/java/com/diagbot/mapper/PacsConfigMapper.java

@@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.entity.PacsConfig;
 import com.diagbot.vo.PacsConfigPageVO;
+import com.diagbot.vo.RetrievalVO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 检查公表映射 Mapper 接口
@@ -22,4 +25,12 @@ public interface PacsConfigMapper extends BaseMapper<PacsConfig> {
      * @return
      */
     IPage<PacsConfig> getPage(@Param("pacsConfigPageVO") PacsConfigPageVO pacsConfigPageVO);
+
+    /**
+     * 辅检
+     *
+     * @param retrievalVO
+     * @return
+     */
+    List<PacsConfig> getPACSsIndex (RetrievalVO retrievalVO);
 }

+ 11 - 0
src/main/java/com/diagbot/mapper/TransfusionConfigMapper.java

@@ -3,9 +3,12 @@ package com.diagbot.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.entity.TransfusionConfig;
+import com.diagbot.vo.RetrievalVO;
 import com.diagbot.vo.TransfusionConfigPageVO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 输血映射表 Mapper 接口
@@ -22,4 +25,12 @@ public interface TransfusionConfigMapper extends BaseMapper<TransfusionConfig> {
      * @return
      */
     IPage<TransfusionConfig> getPage(@Param("transfusionConfigPageVO") TransfusionConfigPageVO transfusionConfigPageVO);
+
+    /**
+     * 输血搜索
+     *
+     * @param retrievalVO
+     * @return
+     */
+    List<TransfusionConfig> getTransfusionIndex(RetrievalVO retrievalVO);
 }

+ 11 - 0
src/main/java/com/diagbot/service/DeptConfigService.java

@@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.entity.DeptConfig;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.diagbot.vo.DeptConfigPageVO;
+import com.diagbot.vo.RetrievalVO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 科室映射表 服务类
@@ -22,4 +25,12 @@ public interface DeptConfigService extends IService<DeptConfig> {
      * @return
      */
     IPage<DeptConfig> getPage(@Param("deptConfigPageVO") DeptConfigPageVO deptConfigPageVO);
+
+    /**
+     * 科室搜索
+     *
+     * @param retrievalVO
+     * @return
+     */
+    List<DeptConfig> getDeptsIndex (RetrievalVO retrievalVO);
 }

+ 12 - 0
src/main/java/com/diagbot/service/DiseaseConfigService.java

@@ -3,9 +3,13 @@ package com.diagbot.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.entity.DiseaseConfig;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.entity.PacsConfig;
 import com.diagbot.vo.DiseaseConfigPageVO;
+import com.diagbot.vo.RetrievalVO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 诊断映射表 服务类
@@ -22,4 +26,12 @@ public interface DiseaseConfigService extends IService<DiseaseConfig> {
      * @return
      */
     IPage<DiseaseConfig> getPage(@Param("diseaseConfigPageVO") DiseaseConfigPageVO diseaseConfigPageVO);
+
+    /**
+     * 疾病搜索
+     *
+     * @param retrievalVO
+     * @return
+     */
+    List<DiseaseConfig> getDiseasesIndex (RetrievalVO retrievalVO);
 }

+ 11 - 0
src/main/java/com/diagbot/service/DrugConfigService.java

@@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.entity.DrugConfig;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.diagbot.vo.DrugConfigPageVO;
+import com.diagbot.vo.RetrievalVO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 药品映射表 服务类
@@ -22,4 +25,12 @@ public interface DrugConfigService extends IService<DrugConfig> {
      * @return
      */
     IPage<DrugConfig> getPage(@Param("drugConfigPageVO") DrugConfigPageVO drugConfigPageVO);
+
+    /**
+     * 药品搜索
+     *
+     * @param retrievalVO
+     * @return
+     */
+    List<DrugConfig> getMedicinesIndex (RetrievalVO retrievalVO);
 }

+ 17 - 0
src/main/java/com/diagbot/service/LisConfigService.java

@@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.diagbot.entity.LisConfig;
 import com.diagbot.vo.LisConfigPageVO;
+import com.diagbot.vo.RetrievalVO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 化验公表映射 服务类
@@ -23,4 +26,18 @@ public interface LisConfigService extends IService<LisConfig> {
      * @return
      */
     IPage<LisConfig> getPage(@Param("lisConfigPageVO") LisConfigPageVO lisConfigPageVO);
+
+    /**
+     * 化验大项
+     * @param retrievalVO
+     * @return
+     */
+    List<LisConfig> getLisPacksIndex (RetrievalVO retrievalVO);
+
+    /**
+     * 化验小项
+     * @param retrievalVO
+     * @return
+     */
+    List<LisConfig> getLisIndex (RetrievalVO retrievalVO);
 }

+ 16 - 0
src/main/java/com/diagbot/service/MrtestInfoService.java

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.MrtestInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 病历测试表 服务类
+ * </p>
+ *
+ * @author gaodm
+ * @since 2020-10-26
+ */
+public interface MrtestInfoService extends IService<MrtestInfo> {
+
+}

+ 11 - 0
src/main/java/com/diagbot/service/OperationConfigService.java

@@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.entity.OperationConfig;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.diagbot.vo.OperationConfigPageVO;
+import com.diagbot.vo.RetrievalVO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 手术映射表 服务类
@@ -22,4 +25,12 @@ public interface OperationConfigService extends IService<OperationConfig> {
      * @return
      */
     IPage<OperationConfig> getPage(@Param("operationConfigPageVO") OperationConfigPageVO operationConfigPageVO);
+
+    /**
+     * 手术搜索
+     *
+     * @param retrievalVO
+     * @return
+     */
+    List<OperationConfig> getOperationsIndex(RetrievalVO retrievalVO);
 }

+ 11 - 0
src/main/java/com/diagbot/service/PacsConfigService.java

@@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.entity.PacsConfig;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.diagbot.vo.PacsConfigPageVO;
+import com.diagbot.vo.RetrievalVO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 检查公表映射 服务类
@@ -22,4 +25,12 @@ public interface PacsConfigService extends IService<PacsConfig> {
      * @return
      */
     IPage<PacsConfig> getPage(@Param("pacsConfigPageVO") PacsConfigPageVO pacsConfigPageVO);
+
+    /**
+     * 辅检
+     *
+     * @param retrievalVO
+     * @return
+     */
+    List<PacsConfig> getPACSsIndex (RetrievalVO retrievalVO);
 }

+ 11 - 0
src/main/java/com/diagbot/service/TransfusionConfigService.java

@@ -3,9 +3,12 @@ package com.diagbot.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.diagbot.entity.TransfusionConfig;
+import com.diagbot.vo.RetrievalVO;
 import com.diagbot.vo.TransfusionConfigPageVO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 输血映射表 服务类
@@ -22,4 +25,12 @@ public interface TransfusionConfigService extends IService<TransfusionConfig> {
      * @return
      */
     IPage<TransfusionConfig> getPage(@Param("transfusionConfigPageVO") TransfusionConfigPageVO transfusionConfigPageVO);
+
+    /**
+     * 输血搜索
+     *
+     * @param retrievalVO
+     * @return
+     */
+    List<TransfusionConfig> getTransfusionIndex(RetrievalVO retrievalVO);
 }

+ 13 - 0
src/main/java/com/diagbot/service/impl/DeptConfigServiceImpl.java

@@ -6,9 +6,12 @@ import com.diagbot.entity.DeptConfig;
 import com.diagbot.mapper.DeptConfigMapper;
 import com.diagbot.service.DeptConfigService;
 import com.diagbot.vo.DeptConfigPageVO;
+import com.diagbot.vo.RetrievalVO;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 科室映射表 服务实现类
@@ -28,4 +31,14 @@ public class DeptConfigServiceImpl extends ServiceImpl<DeptConfigMapper, DeptCon
     public IPage<DeptConfig> getPage(@Param("deptConfigPageVO") DeptConfigPageVO deptConfigPageVO) {
         return baseMapper.getPage(deptConfigPageVO);
     }
+
+    /**
+     * 科室搜索
+     *
+     * @param retrievalVO
+     * @return
+     */
+    public List<DeptConfig> getDeptsIndex(RetrievalVO retrievalVO) {
+        return baseMapper.getDeptsIndex(retrievalVO);
+    }
 }

+ 13 - 0
src/main/java/com/diagbot/service/impl/DiseaseConfigServiceImpl.java

@@ -6,9 +6,12 @@ import com.diagbot.mapper.DiseaseConfigMapper;
 import com.diagbot.service.DiseaseConfigService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.diagbot.vo.DiseaseConfigPageVO;
+import com.diagbot.vo.RetrievalVO;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 诊断映射表 服务实现类
@@ -28,4 +31,14 @@ public class DiseaseConfigServiceImpl extends ServiceImpl<DiseaseConfigMapper, D
     public IPage<DiseaseConfig> getPage(@Param("diseaseConfigPageVO") DiseaseConfigPageVO diseaseConfigPageVO){
         return baseMapper.getPage(diseaseConfigPageVO);
     }
+
+    /**
+     * 疾病搜索
+     *
+     * @param retrievalVO
+     * @return
+     */
+    public List<DiseaseConfig> getDiseasesIndex (RetrievalVO retrievalVO){
+        return baseMapper.getDiseasesIndex(retrievalVO);
+    }
 }

+ 15 - 2
src/main/java/com/diagbot/service/impl/DrugConfigServiceImpl.java

@@ -1,14 +1,17 @@
 package com.diagbot.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.diagbot.entity.DrugConfig;
 import com.diagbot.mapper.DrugConfigMapper;
 import com.diagbot.service.DrugConfigService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.diagbot.vo.DrugConfigPageVO;
+import com.diagbot.vo.RetrievalVO;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 药品映射表 服务实现类
@@ -25,7 +28,17 @@ public class DrugConfigServiceImpl extends ServiceImpl<DrugConfigMapper, DrugCon
      * @param drugConfigPageVO
      * @return
      */
-    public IPage<DrugConfig> getPage(@Param("drugConfigPageVO") DrugConfigPageVO drugConfigPageVO){
+    public IPage<DrugConfig> getPage(@Param("drugConfigPageVO") DrugConfigPageVO drugConfigPageVO) {
         return baseMapper.getPage(drugConfigPageVO);
     }
+
+    /**
+     * 药品搜索
+     *
+     * @param retrievalVO
+     * @return
+     */
+    public List<DrugConfig> getMedicinesIndex(RetrievalVO retrievalVO) {
+        return baseMapper.getMedicinesIndex(retrievalVO);
+    }
 }

+ 23 - 0
src/main/java/com/diagbot/service/impl/LisConfigServiceImpl.java

@@ -6,9 +6,12 @@ import com.diagbot.entity.LisConfig;
 import com.diagbot.mapper.LisConfigMapper;
 import com.diagbot.service.LisConfigService;
 import com.diagbot.vo.LisConfigPageVO;
+import com.diagbot.vo.RetrievalVO;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 化验公表映射 服务实现类
@@ -28,4 +31,24 @@ public class LisConfigServiceImpl extends ServiceImpl<LisConfigMapper, LisConfig
     public IPage<LisConfig> getPage(@Param("lisConfigPageVO") LisConfigPageVO lisConfigPageVO) {
         return baseMapper.getPage(lisConfigPageVO);
     }
+
+    /**
+     * 化验大项
+     *
+     * @param retrievalVO
+     * @return
+     */
+    public List<LisConfig> getLisPacksIndex(RetrievalVO retrievalVO) {
+        return baseMapper.getLisPacksIndex(retrievalVO);
+    }
+
+    /**
+     * 化验小项
+     *
+     * @param retrievalVO
+     * @return
+     */
+    public List<LisConfig> getLisIndex(RetrievalVO retrievalVO) {
+        return baseMapper.getLisIndex(retrievalVO);
+    }
 }

+ 20 - 0
src/main/java/com/diagbot/service/impl/MrtestInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.MrtestInfo;
+import com.diagbot.mapper.MrtestInfoMapper;
+import com.diagbot.service.MrtestInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 病历测试表 服务实现类
+ * </p>
+ *
+ * @author gaodm
+ * @since 2020-10-26
+ */
+@Service
+public class MrtestInfoServiceImpl extends ServiceImpl<MrtestInfoMapper, MrtestInfo> implements MrtestInfoService {
+
+}

+ 15 - 2
src/main/java/com/diagbot/service/impl/OperationConfigServiceImpl.java

@@ -1,14 +1,17 @@
 package com.diagbot.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.diagbot.entity.OperationConfig;
 import com.diagbot.mapper.OperationConfigMapper;
 import com.diagbot.service.OperationConfigService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.diagbot.vo.OperationConfigPageVO;
+import com.diagbot.vo.RetrievalVO;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 手术映射表 服务实现类
@@ -25,7 +28,17 @@ public class OperationConfigServiceImpl extends ServiceImpl<OperationConfigMappe
      * @param operationConfigPageVO
      * @return
      */
-    public IPage<OperationConfig> getPage(@Param("operationConfigPageVO") OperationConfigPageVO operationConfigPageVO){
+    public IPage<OperationConfig> getPage(@Param("operationConfigPageVO") OperationConfigPageVO operationConfigPageVO) {
         return baseMapper.getPage(operationConfigPageVO);
     }
+
+    /**
+     * 手术搜索
+     *
+     * @param retrievalVO
+     * @return
+     */
+    public List<OperationConfig> getOperationsIndex(RetrievalVO retrievalVO) {
+        return baseMapper.getOperationsIndex(retrievalVO);
+    }
 }

+ 13 - 0
src/main/java/com/diagbot/service/impl/PacsConfigServiceImpl.java

@@ -6,9 +6,12 @@ import com.diagbot.mapper.PacsConfigMapper;
 import com.diagbot.service.PacsConfigService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.diagbot.vo.PacsConfigPageVO;
+import com.diagbot.vo.RetrievalVO;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 检查公表映射 服务实现类
@@ -28,4 +31,14 @@ public class PacsConfigServiceImpl extends ServiceImpl<PacsConfigMapper, PacsCon
     public IPage<PacsConfig> getPage(@Param("pacsConfigPageVO") PacsConfigPageVO pacsConfigPageVO) {
         return baseMapper.getPage(pacsConfigPageVO);
     }
+
+    /**
+     * 辅检
+     *
+     * @param retrievalVO
+     * @return
+     */
+    public List<PacsConfig> getPACSsIndex (RetrievalVO retrievalVO){
+        return baseMapper.getPACSsIndex(retrievalVO);
+    }
 }

+ 13 - 0
src/main/java/com/diagbot/service/impl/TransfusionConfigServiceImpl.java

@@ -5,10 +5,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.diagbot.entity.TransfusionConfig;
 import com.diagbot.mapper.TransfusionConfigMapper;
 import com.diagbot.service.TransfusionConfigService;
+import com.diagbot.vo.RetrievalVO;
 import com.diagbot.vo.TransfusionConfigPageVO;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 输血映射表 服务实现类
@@ -30,4 +33,14 @@ public class TransfusionConfigServiceImpl extends ServiceImpl<TransfusionConfigM
     public IPage<TransfusionConfig> getPage(@Param("transfusionConfigPageVO") TransfusionConfigPageVO transfusionConfigPageVO) {
         return baseMapper.getPage(transfusionConfigPageVO);
     }
+
+    /**
+     * 输血搜索
+     *
+     * @param retrievalVO
+     * @return
+     */
+    public List<TransfusionConfig> getTransfusionIndex(RetrievalVO retrievalVO) {
+        return baseMapper.getTransfusionIndex(retrievalVO);
+    }
 }

+ 19 - 0
src/main/java/com/diagbot/vo/MrtestInfoVO.java

@@ -0,0 +1,19 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/10/26 12:26
+ */
+@Getter
+@Setter
+public class MrtestInfoVO {
+    private Long hospitalId;
+    private List<Long> ids;
+    private Integer pass;
+}

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

@@ -19,6 +19,10 @@ public class RetrievalVO {
      * 检索内容
      */
     private String inputStr;
+    /**
+     * 医院ID
+     */
+    private Long hospitalId = -1L;
 //    /**
 //     * 性别:1-男、2-女、3-通用
 //     */

+ 1 - 1
src/main/java/com/diagbot/vo/StaticKnowledgeVO.java

@@ -22,7 +22,7 @@ public class StaticKnowledgeVO {
     /**
      * 术语类型
      */
-    @NotNull(message = "请输入术语类型")
+    @NotNull(message = "请输入术语类型:1-诊断、2-药品、3-检验套餐、4-检验细项、5-检查、6-检查子项、7-手术和操作")
     private Integer type;
     /**
      * 内容类型:1-化验、辅检、手术和操作、诊断、药品静态信息,2-注意事项,3-临床路径,4-治疗方案

+ 1 - 5
src/main/java/com/diagbot/vo/TemplateInfoPageVO.java

@@ -1,13 +1,9 @@
 package com.diagbot.vo;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
 
-import javax.validation.constraints.NotNull;
-import java.util.List;
-
 /**
  * @author wangfeng
  * @Description:
@@ -16,7 +12,7 @@ import java.util.List;
 @Getter
 @Setter
 public class TemplateInfoPageVO extends Page {
-    @ApiModelProperty(hidden = true)
+    //@ApiModelProperty(hidden = true)
     private Long hospitalId = -1L;//医院ID
     private String name;//模板名字
 }

+ 1 - 2
src/main/java/com/diagbot/vo/TemplateInfoRevampVO.java

@@ -1,6 +1,5 @@
 package com.diagbot.vo;
 
-import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -19,6 +18,6 @@ public class TemplateInfoRevampVO {
     private Long id;//模板id
     @NotBlank(message = "请输入模板名")
     private String modeName;//模板名
-    @ApiModelProperty(hidden = true)
+    //@ApiModelProperty(hidden = true)
     private Long hospitalId = -1L;//医院ID
 }

+ 1 - 2
src/main/java/com/diagbot/vo/TemplateInfosVO.java

@@ -1,6 +1,5 @@
 package com.diagbot.vo;
 
-import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -18,7 +17,7 @@ import java.util.Date;
 public class TemplateInfosVO {
     @NotBlank(message = "请输入模板名字")
     private String modeName;//模板名字
-    @ApiModelProperty(hidden = true)
+    //@ApiModelProperty(hidden = true)
     private Long hospitalId = -1L;//医院ID
     @NotNull(message = "请输入性别")
     private Integer sex;//性别

+ 14 - 5
src/main/java/com/diagbot/web/ConceptInfoController.java

@@ -67,7 +67,7 @@ public class ConceptInfoController {
     }
 
     @ApiOperation(value = "页面获取静态知识[zhaops]",
-            notes = "type: 类型:1-诊断、2-药品、3-检验套餐、4-检验细、5-检查、6-手术和操作 <br>" +
+            notes = "type: 类型:1-诊断、2-药品、3-检验套餐、4-检验细、5-检查、6-检查子项、7-手术和操作 <br>" +
                     "contentTypes: 内容类型(多选):1-静态信息、2-注意事项、3-临床路径、4-治疗方案<br>" +
                     "name: 标准术语名称<br>")
     @PostMapping("/getStaticKnowledge")
@@ -78,7 +78,7 @@ public class ConceptInfoController {
     }
 
     @ApiOperation(value = "对接获取静态知识[zhaops]",
-            notes = "type: 类型:1-诊断、2-药品、3-检验套餐、4-检验细、5-检查、6-手术和操作 <br>" +
+            notes = "type: 类型:1-诊断、2-药品、3-检验套餐、4-检验细、5-检查、6-检查子项、7-手术和操作 <br>" +
                     "contentTypes: 内容类型(多选):1-静态信息、2-注意事项、3-临床路径、4-治疗方案 <br>" +
                     "hisName: HIS大项名称<br>" +
                     "hisDetailName: HIS小项名称<br>")
@@ -90,7 +90,7 @@ public class ConceptInfoController {
     }
 
     @ApiOperation(value = "获取静态知识列表[zhaops]",
-            notes = "type: 类型:1-诊断、2-药品、3-检验套餐、4-检验细、5-检查、6-手术和操作 <br>" +
+            notes = "type: 类型:1-诊断、2-药品、3-检验套餐、4-检验细、5-检查、6-检查子项、7-手术和操作 <br>" +
                     "name: 术语名称<br>" +
                     "isDeleted: 启用状态:N-启用中、Y-已删除<br>")
     @PostMapping("/getPage")
@@ -103,7 +103,7 @@ public class ConceptInfoController {
     @ApiOperation(value = "保存静态知识-新增或修改[zhaops]",
             notes = "id: id <br>" +
                     "name: 术语名称 <br>" +
-                    "type: 类型:1-诊断、2-药品、3-检验套餐、4-检验细、5-检查、6-手术和操作 <br>" +
+                    "type: 类型:1-诊断、2-药品、3-检验套餐、4-检验细、5-检查、6-检查子项、7-手术和操作 <br>" +
                     "clinicalPathwayName: 临床路径名称<br>" +
                     "noticeName: 注意事项名称<br>" +
                     "details: 明细<br>")
@@ -128,7 +128,7 @@ public class ConceptInfoController {
 
     @ApiOperation(value = "静态知识是否存在[zhaops]",
             notes = "name: 术语名称 <br>" +
-                    "type: 类型:1-诊断、2-药品、3-检验套餐、4-检验细、5-检查、6-手术和操作 <br>")
+                    "type: 类型:1-诊断、2-药品、3-检验套餐、4-检验细、5-检查、6-检查子项、7-手术和操作 <br>")
     @PostMapping("/isExist")
     @SysLogger("isExist")
     public RespDTO<Boolean> isExist(@Valid @RequestBody ConceptInfoVO conceptInfoVO) {
@@ -144,4 +144,13 @@ public class ConceptInfoController {
         ConceptInfoDTO data = conceptInfoFacade.getRecordById(idVO);
         return RespDTO.onSuc(data);
     }
+
+    @ApiOperation(value = "批量更新静态知识标志[zhaops]",
+            notes = "")
+    @PostMapping("/updateHasInfoStatusBatch")
+    @SysLogger("updateHasInfoStatusBatch")
+    public RespDTO<Boolean> updateHasInfoStatusBatch() {
+        Boolean data = conceptInfoFacade.updateHasInfoStatusBatch();
+        return RespDTO.onSuc(data);
+    }
 }

+ 8 - 0
src/main/java/com/diagbot/web/HospitalInfoController.java

@@ -82,4 +82,12 @@ public class HospitalInfoController {
         List<HospitalInfoDTO> data = hospitalInfoFacade.getAllHospitalInfo();
         return RespDTO.onSuc(data);
     }
+
+    @ApiOperation(value = "获取所有启用的医院信息列表[by:gaodm]", notes = "")
+    @PostMapping("/getAllEnableHospitalInfo")
+    @SysLogger("getAllEnableHospitalInfo")
+    public RespDTO<List<HospitalInfoDTO>> getAllEnableHospitalInfo() {
+        List<HospitalInfoDTO> data = hospitalInfoFacade.getAllEnableHospitalInfo();
+        return RespDTO.onSuc(data);
+    }
 }

+ 76 - 0
src/main/java/com/diagbot/web/MrtestInfoController.java

@@ -0,0 +1,76 @@
+package com.diagbot.web;
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.MrtestInfoFacade;
+import com.diagbot.vo.MrtestInfoVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+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.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 病历测试表 前端控制器
+ * </p>
+ *
+ * @author gaodm
+ * @since 2020-10-26
+ */
+@RestController
+@RequestMapping("/demo/mrtestInfo")
+@Api(value = "病历测试API", tags = { "病历测试API" })
+@SuppressWarnings("unchecked")
+public class MrtestInfoController {
+    @Autowired
+    private MrtestInfoFacade mrtestInfoFacade;
+
+    /**
+     * 数据导入
+     *
+     * @param file
+     * @return
+     */
+    @ApiOperation(value = "数据导入[by:gaodm]",
+            notes = "")
+    @PostMapping("/importExcel")
+    @SysLogger("importExcel")
+    @Transactional
+    public void importExcel(@RequestParam("file") MultipartFile file) {
+        mrtestInfoFacade.importExcel(file);
+    }
+
+    /**
+     * 数据导出
+     *
+     * @return
+     */
+    @ApiOperation(value = "数据导出[by:gaodm]",
+            notes = "hospitalId:医院id(可不填);<br>" +
+                    "ids: ID列表(可不填)<br>" +
+                    "pass: 是否通过 0:未通过,1:未通过(可不填)<br>")
+    @PostMapping("/exportExcel")
+    @SysLogger("exportExcel")
+    public void exportExcel(HttpServletResponse response, @RequestBody MrtestInfoVO mrtestInfoVO) {
+        mrtestInfoFacade.exportExcel(response, mrtestInfoVO);
+    }
+
+    @ApiOperation(value = "执行病历测试[by:gaodm]",
+            notes = "hospitalId:医院id(可不填);<br>" +
+                    "ids: ID列表(可不填)<br>" +
+                    "pass: 是否通过 0:未通过,1:未通过(可不填)<br>")
+    @PostMapping("/mrTestProcess")
+    @SysLogger("mrTestProcess")
+    @Transactional
+    public RespDTO<Boolean> mrTestProcess(@RequestBody MrtestInfoVO mrtestInfoVO) {
+        return RespDTO.onSuc(mrtestInfoFacade.mrTestProcess(mrtestInfoVO));
+    }
+}

+ 45 - 0
src/main/resources/mapper/DeptConfigMapper.xml

@@ -40,4 +40,49 @@
         order by a.gmt_modified desc
     </select>
 
+    <select id="getDeptsIndex" resultType="com.diagbot.entity.DeptConfig"
+            parameterType="com.diagbot.vo.RetrievalVO">
+        SELECT DISTINCT u.his_name
+        FROM(
+        SELECT
+        DISTINCT his_name
+        FROM
+        `tran_dept_config`
+        WHERE
+        is_deleted = "N"
+        <if test="hospitalId!=null">
+            and hospital_id=#{hospitalId}
+        </if>
+        <if test="inputStr!=null and inputStr!=''">
+            and his_name = #{inputStr}
+        </if>
+        UNION
+        SELECT
+        DISTINCT his_name
+        FROM
+        `tran_dept_config`
+        WHERE
+        is_deleted = "N"
+        <if test="hospitalId!=null">
+            and hospital_id=#{hospitalId}
+        </if>
+        <if test="inputStr!=null and inputStr!=''">
+            and his_name like concat(#{inputStr},"%")
+        </if>
+        UNION
+        SELECT
+        DISTINCT his_name
+        FROM
+        `tran_dept_config`
+        WHERE
+        is_deleted = "N"
+        <if test="hospitalId!=null">
+            and hospital_id=#{hospitalId}
+        </if>
+        <if test="inputStr!=null and inputStr!=''">
+            and his_name like concat("%",#{inputStr},"%")
+        </if>
+        ) u LIMIT 100
+    </select>
+
 </mapper>

+ 45 - 0
src/main/resources/mapper/DiseaseConfigMapper.xml

@@ -36,4 +36,49 @@
         order by a.gmt_modified desc
     </select>
 
+    <select id="getDiseasesIndex" resultType="com.diagbot.entity.DiseaseConfig"
+            parameterType="com.diagbot.vo.RetrievalVO">
+        SELECT DISTINCT u.his_name
+        FROM(
+        SELECT
+        DISTINCT his_name
+        FROM
+        `tran_disease_config`
+        WHERE
+        is_deleted = "N"
+        <if test="hospitalId!=null">
+            and hospital_id=#{hospitalId}
+        </if>
+        <if test="inputStr!=null and inputStr!=''">
+            and his_name = #{inputStr}
+        </if>
+        UNION
+        SELECT
+        DISTINCT his_name
+        FROM
+        `tran_disease_config`
+        WHERE
+        is_deleted = "N"
+        <if test="hospitalId!=null">
+            and hospital_id=#{hospitalId}
+        </if>
+        <if test="inputStr!=null and inputStr!=''">
+            and his_name like concat(#{inputStr},"%")
+        </if>
+        UNION
+        SELECT
+        DISTINCT his_name
+        FROM
+        `tran_disease_config`
+        WHERE
+        is_deleted = "N"
+        <if test="hospitalId!=null">
+            and hospital_id=#{hospitalId}
+        </if>
+        <if test="inputStr!=null and inputStr!=''">
+            and his_name like concat("%",#{inputStr},"%")
+        </if>
+        ) u LIMIT 100
+    </select>
+
 </mapper>

+ 45 - 0
src/main/resources/mapper/DrugConfigMapper.xml

@@ -40,4 +40,49 @@
         order by a.gmt_modified desc
     </select>
 
+    <select id="getMedicinesIndex" resultType="com.diagbot.entity.DrugConfig"
+            parameterType="com.diagbot.vo.RetrievalVO">
+        SELECT DISTINCT u.his_name
+        FROM(
+        SELECT
+        DISTINCT his_name
+        FROM
+        `tran_drug_config`
+        WHERE
+        is_deleted = "N"
+        <if test="hospitalId!=null">
+            and hospital_id=#{hospitalId}
+        </if>
+        <if test="inputStr!=null and inputStr!=''">
+            and his_name = #{inputStr}
+        </if>
+        UNION
+        SELECT
+        DISTINCT his_name
+        FROM
+        `tran_drug_config`
+        WHERE
+        is_deleted = "N"
+        <if test="hospitalId!=null">
+            and hospital_id=#{hospitalId}
+        </if>
+        <if test="inputStr!=null and inputStr!=''">
+            and his_name like concat(#{inputStr},"%")
+        </if>
+        UNION
+        SELECT
+        DISTINCT his_name
+        FROM
+        `tran_drug_config`
+        WHERE
+        is_deleted = "N"
+        <if test="hospitalId!=null">
+            and hospital_id=#{hospitalId}
+        </if>
+        <if test="inputStr!=null and inputStr!=''">
+            and his_name like concat("%",#{inputStr},"%")
+        </if>
+        ) u LIMIT 100
+    </select>
+
 </mapper>

+ 106 - 12
src/main/resources/mapper/LisConfigMapper.xml

@@ -1,20 +1,21 @@
 <?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">
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.diagbot.mapper.LisConfigMapper">
 
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.diagbot.entity.LisConfig">
-        <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="hospital_id" property="hospitalId" />
-        <result column="his_name" property="hisName" />
-        <result column="his_detail_name" property="hisDetailName" />
-        <result column="unique_name" property="uniqueName" />
-        <result column="unique_code" property="uniqueCode" />
+        <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="hospital_id" property="hospitalId"/>
+        <result column="his_name" property="hisName"/>
+        <result column="his_detail_name" property="hisDetailName"/>
+        <result column="unique_name" property="uniqueName"/>
+        <result column="unique_code" property="uniqueCode"/>
     </resultMap>
 
     <!-- 分页查询 -->
@@ -39,4 +40,97 @@
         </if>
         order by a.gmt_modified desc
     </select>
+
+    <select id="getLisPacksIndex" resultType="com.diagbot.entity.LisConfig"
+            parameterType="com.diagbot.vo.RetrievalVO">
+        SELECT DISTINCT u.his_name
+        FROM(
+        SELECT
+        DISTINCT his_name
+        FROM
+            `tran_lis_config`
+        WHERE
+            is_deleted = "N"
+        AND his_detail_name IS NULL
+        <if test="hospitalId!=null">
+            and hospital_id=#{hospitalId}
+        </if>
+        <if test="inputStr!=null and inputStr!=''">
+            and his_name = #{inputStr}
+        </if>
+        UNION
+        SELECT
+        DISTINCT his_name
+        FROM
+            `tran_lis_config`
+        WHERE
+            is_deleted = "N"
+        AND his_detail_name IS NULL
+        <if test="hospitalId!=null">
+            and hospital_id=#{hospitalId}
+        </if>
+        <if test="inputStr!=null and inputStr!=''">
+            and his_name like concat(#{inputStr},"%")
+        </if>
+        UNION
+        SELECT
+        DISTINCT his_name
+        FROM
+            `tran_lis_config`
+        WHERE
+            is_deleted = "N"
+        AND his_detail_name IS NULL
+        <if test="hospitalId!=null">
+            and hospital_id=#{hospitalId}
+        </if>
+        <if test="inputStr!=null and inputStr!=''">
+            and his_name like concat("%",#{inputStr},"%")
+        </if>
+        ) u LIMIT 100
+    </select>
+
+    <select id="getLisIndex" resultType="com.diagbot.entity.LisConfig"
+            parameterType="com.diagbot.vo.RetrievalVO">
+        SELECT DISTINCT u.his_name,u.his_detail_name
+        FROM(
+        SELECT
+        DISTINCT his_name,his_detail_name
+        FROM
+        `tran_lis_config`
+        WHERE
+        is_deleted = "N"
+        <if test="hospitalId!=null">
+            and hospital_id=#{hospitalId}
+        </if>
+        <if test="inputStr!=null and inputStr!=''">
+            and his_detail_name = #{inputStr}
+        </if>
+        UNION
+        SELECT
+        DISTINCT his_name,his_detail_name
+        FROM
+        `tran_lis_config`
+        WHERE
+        is_deleted = "N"
+        <if test="hospitalId!=null">
+            and hospital_id=#{hospitalId}
+        </if>
+        <if test="inputStr!=null and inputStr!=''">
+            and his_detail_name like concat(#{inputStr},"%")
+        </if>
+        UNION
+        SELECT
+        DISTINCT his_name,his_detail_name
+        FROM
+        `tran_lis_config`
+        WHERE
+        is_deleted = "N"
+        <if test="hospitalId!=null">
+            and hospital_id=#{hospitalId}
+        </if>
+        <if test="inputStr!=null and inputStr!=''">
+            and his_detail_name like concat("%",#{inputStr},"%")
+        </if>
+        ) u LIMIT 100
+    </select>
 </mapper>

+ 28 - 0
src/main/resources/mapper/MrtestInfoMapper.xml

@@ -0,0 +1,28 @@
+<?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.MrtestInfoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.MrtestInfo">
+        <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="hospital_id" property="hospitalId" />
+        <result column="type" property="type" />
+        <result column="mr_code" property="mrCode" />
+        <result column="text_source" property="textSource" />
+        <result column="text" property="text" />
+        <result column="word" property="word" />
+        <result column="replace_text" property="replaceText" />
+        <result column="replace_word" property="replaceWord" />
+        <result column="bill_type" property="billType" />
+        <result column="bill_name" property="billName" />
+        <result column="result" property="result" />
+        <result column="pass" property="pass" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+</mapper>

+ 45 - 0
src/main/resources/mapper/OperationConfigMapper.xml

@@ -35,4 +35,49 @@
         </if>
         order by a.gmt_modified desc
     </select>
+
+    <select id="getOperationsIndex" resultType="com.diagbot.entity.OperationConfig"
+            parameterType="com.diagbot.vo.RetrievalVO">
+        SELECT DISTINCT u.his_name
+        FROM(
+        SELECT
+        DISTINCT his_name
+        FROM
+        `tran_operation_config`
+        WHERE
+        is_deleted = "N"
+        <if test="hospitalId!=null">
+            and hospital_id=#{hospitalId}
+        </if>
+        <if test="inputStr!=null and inputStr!=''">
+            and his_name = #{inputStr}
+        </if>
+        UNION
+        SELECT
+        DISTINCT his_name
+        FROM
+        `tran_operation_config`
+        WHERE
+        is_deleted = "N"
+        <if test="hospitalId!=null">
+            and hospital_id=#{hospitalId}
+        </if>
+        <if test="inputStr!=null and inputStr!=''">
+            and his_name like concat(#{inputStr},"%")
+        </if>
+        UNION
+        SELECT
+        DISTINCT his_name
+        FROM
+        `tran_operation_config`
+        WHERE
+        is_deleted = "N"
+        <if test="hospitalId!=null">
+            and hospital_id=#{hospitalId}
+        </if>
+        <if test="inputStr!=null and inputStr!=''">
+            and his_name like concat("%",#{inputStr},"%")
+        </if>
+        ) u LIMIT 100
+    </select>
 </mapper>

+ 45 - 0
src/main/resources/mapper/PacsConfigMapper.xml

@@ -35,4 +35,49 @@
         </if>
         order by a.gmt_modified desc
     </select>
+
+    <select id="getPACSsIndex" resultType="com.diagbot.entity.PacsConfig"
+            parameterType="com.diagbot.vo.RetrievalVO">
+        SELECT DISTINCT u.his_name
+        FROM(
+        SELECT
+        DISTINCT his_name
+        FROM
+        `tran_pacs_config`
+        WHERE
+        is_deleted = "N"
+        <if test="hospitalId!=null">
+            and hospital_id=#{hospitalId}
+        </if>
+        <if test="inputStr!=null and inputStr!=''">
+            and his_name = #{inputStr}
+        </if>
+        UNION
+        SELECT
+        DISTINCT his_name
+        FROM
+        `tran_pacs_config`
+        WHERE
+        is_deleted = "N"
+        <if test="hospitalId!=null">
+            and hospital_id=#{hospitalId}
+        </if>
+        <if test="inputStr!=null and inputStr!=''">
+            and his_name like concat(#{inputStr},"%")
+        </if>
+        UNION
+        SELECT
+        DISTINCT his_name
+        FROM
+        `tran_pacs_config`
+        WHERE
+        is_deleted = "N"
+        <if test="hospitalId!=null">
+            and hospital_id=#{hospitalId}
+        </if>
+        <if test="inputStr!=null and inputStr!=''">
+            and his_name like concat("%",#{inputStr},"%")
+        </if>
+        ) u LIMIT 100
+    </select>
 </mapper>

+ 45 - 0
src/main/resources/mapper/TransfusionConfigMapper.xml

@@ -35,4 +35,49 @@
         </if>
         order by a.gmt_modified desc
     </select>
+
+    <select id="getTransfusionIndex" resultType="com.diagbot.entity.TransfusionConfig"
+            parameterType="com.diagbot.vo.RetrievalVO">
+        SELECT DISTINCT u.his_name
+        FROM(
+        SELECT
+        DISTINCT his_name
+        FROM
+        `tran_transfusion_config`
+        WHERE
+        is_deleted = "N"
+        <if test="hospitalId!=null">
+            and hospital_id=#{hospitalId}
+        </if>
+        <if test="inputStr!=null and inputStr!=''">
+            and his_name = #{inputStr}
+        </if>
+        UNION
+        SELECT
+        DISTINCT his_name
+        FROM
+        `tran_transfusion_config`
+        WHERE
+        is_deleted = "N"
+        <if test="hospitalId!=null">
+            and hospital_id=#{hospitalId}
+        </if>
+        <if test="inputStr!=null and inputStr!=''">
+            and his_name like concat(#{inputStr},"%")
+        </if>
+        UNION
+        SELECT
+        DISTINCT his_name
+        FROM
+        `tran_transfusion_config`
+        WHERE
+        is_deleted = "N"
+        <if test="hospitalId!=null">
+            and hospital_id=#{hospitalId}
+        </if>
+        <if test="inputStr!=null and inputStr!=''">
+            and his_name like concat("%",#{inputStr},"%")
+        </if>
+        ) u LIMIT 100
+    </select>
 </mapper>

+ 1 - 1
src/test/java/com/diagbot/CodeGeneration.java

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