Przeglądaj źródła

数据引擎推理接口

zhaops 5 lat temu
rodzic
commit
afed4e8015

+ 1 - 1
aipt-service/src/main/java/com/diagbot/client/TranServiceClient.java

@@ -66,7 +66,7 @@ public interface TranServiceClient {
      * @return
      */
     @PostMapping("/tranLisConfig/getLisConfigByMealNameAndHosCode")
-    RespDTO<Map<String, Map<String, String>>> getLisConfigByMealNameAndHosCode(@RequestBody LisConfigVO lisConfigVO);
+    RespDTO<Map<String, Map<String, List<String>>>> getLisConfigByMealNameAndHosCode(@RequestBody LisConfigVO lisConfigVO);
 
     /**
      * 根据医院编码获取辅检公表映射关系

+ 1 - 1
aipt-service/src/main/java/com/diagbot/client/hystrix/TranServiceHystrix.java

@@ -59,7 +59,7 @@ public class TranServiceHystrix implements TranServiceClient {
      * @return
      */
     @Override
-    public RespDTO<Map<String, Map<String, String>>> getLisConfigByMealNameAndHosCode(@RequestBody LisConfigVO lisConfigVO) {
+    public RespDTO<Map<String, Map<String, List<String>>>> getLisConfigByMealNameAndHosCode(@RequestBody LisConfigVO lisConfigVO) {
         log.error("【hystrix】调用{}异常", "getLisConfigByMealNameAndHosCode");
         return null;
     }

+ 57 - 42
aipt-service/src/main/java/com/diagbot/facade/ConceptDetailFacade.java

@@ -234,61 +234,76 @@ public class ConceptDetailFacade extends ConceptDetailServiceImpl {
         List<ConceptIntroduceVO> retList = Lists.newLinkedList();
         List<String> nameList = Lists.newLinkedList();
         nameList.add(connectIntroduceVO.getName());
+        if (!connectIntroduceVO.getSysType().equals(SysTypeEnum.LTAPI_SERVICE.getKey())) {
+            ConceptIntroduceVO conceptIntroduceVO = new ConceptIntroduceVO();
+            BeanUtil.copyProperties(connectIntroduceVO, conceptIntroduceVO);
+            conceptIntroduceVO.setLibType(ParamConvertUtil.conceptConvert2Lib(conceptIntroduceVO.getType()));
+            retList.add(conceptIntroduceVO);
+            return retList;
+        }
+
         //是否对接
         Boolean isConnect = transferFacade.isConnect(connectIntroduceVO.getHosCode(), connectIntroduceVO.getSysType());
-        if (isConnect && connectIntroduceVO.getSysType().equals(SysTypeEnum.LTAPI_SERVICE.getKey())) {
-            if (connectIntroduceVO.getType() != null) {
-                if (connectIntroduceVO.getType().equals(ConceptTypeEnum.Lis.getKey())) {
-                    Map<String, Map<String, String>> lisConfigMap = transferFacade.getLisConfigByMealNameAndHosCode(nameList, connectIntroduceVO.getHosCode());
-                    if (lisConfigMap.get(connectIntroduceVO.getName()) != null) {
-                        Map<String, String> itemMap = lisConfigMap.get(connectIntroduceVO.getName());
-                        if (StringUtil.isBlank(connectIntroduceVO.getDetailName())) {
-                            connectIntroduceVO.setDetailName("");
-                        }
-                        if (itemMap.get(connectIntroduceVO.getDetailName()) != null) {
+        if (isConnect) {
+            if (connectIntroduceVO.getType().equals(ConceptTypeEnum.Lis.getKey())) {
+                Map<String, Map<String, List<String>>> lisConfigMap
+                        = transferFacade.getLisConfigByMealNameAndHosCode(nameList, connectIntroduceVO.getHosCode());
+                if (lisConfigMap.get(connectIntroduceVO.getName()) != null) {
+                    Map<String, List<String>> itemMap = lisConfigMap.get(connectIntroduceVO.getName());
+                    if (StringUtil.isBlank(connectIntroduceVO.getDetailName())) {
+                        connectIntroduceVO.setDetailName("");
+                    }
+                    List<String> uniqueNameList = itemMap.get(connectIntroduceVO.getDetailName());
+                    if (ListUtil.isNotEmpty(uniqueNameList)) {
+                        for (String uniqueName : uniqueNameList) {
                             ConceptIntroduceVO conceptIntroduceVO = new ConceptIntroduceVO();
                             BeanUtil.copyProperties(connectIntroduceVO, conceptIntroduceVO);
-                            conceptIntroduceVO.setName(itemMap.get(connectIntroduceVO.getDetailName()));
+                            conceptIntroduceVO.setName(uniqueName);
                             conceptIntroduceVO.setType(ConceptTypeEnum.LIS_TABLES.getKey());
                             conceptIntroduceVO.setLibType(LexiconTypeEnum.LIS_TABLES.getKey());
                             retList.add(conceptIntroduceVO);
                         }
                     }
-                } else if (connectIntroduceVO.getType().equals(ConceptTypeEnum.Pacs.getKey())) {
-                    PacsConfigVO pacsConfigVO = new PacsConfigVO();
-                    pacsConfigVO.setHosCode(connectIntroduceVO.getHosCode());
-                    pacsConfigVO.setMealNameList(nameList);
-                    RespDTO<Map<String, List<String>>> pacsRespDTO = tranServiceClient.getPacsConfig(pacsConfigVO);
-                    if (RespDTOUtil.respIsOK(pacsRespDTO)) {
-                        Map<String, List<String>> pacsMap = pacsRespDTO.data;
-                        for (String pacsStr : pacsMap.get(connectIntroduceVO.getName())) {
-                            ConceptIntroduceVO conceptIntroduceVO = new ConceptIntroduceVO();
-                            BeanUtil.copyProperties(connectIntroduceVO, conceptIntroduceVO);
-                            conceptIntroduceVO.setName(pacsStr);
-                            conceptIntroduceVO.setType(ConceptTypeEnum.Pacs.getKey());
-                            conceptIntroduceVO.setLibType(LexiconTypeEnum.PACS_ITEMS.getKey());
-                            retList.add(conceptIntroduceVO);
-                        }
+                }
+            } else if (connectIntroduceVO.getType().equals(ConceptTypeEnum.Pacs.getKey())) {
+                PacsConfigVO pacsConfigVO = new PacsConfigVO();
+                pacsConfigVO.setHosCode(connectIntroduceVO.getHosCode());
+                pacsConfigVO.setMealNameList(nameList);
+                RespDTO<Map<String, List<String>>> pacsRespDTO = tranServiceClient.getPacsConfig(pacsConfigVO);
+                if (RespDTOUtil.respIsOK(pacsRespDTO)) {
+                    Map<String, List<String>> pacsMap = pacsRespDTO.data;
+                    for (String pacsStr : pacsMap.get(connectIntroduceVO.getName())) {
+                        ConceptIntroduceVO conceptIntroduceVO = new ConceptIntroduceVO();
+                        BeanUtil.copyProperties(connectIntroduceVO, conceptIntroduceVO);
+                        conceptIntroduceVO.setName(pacsStr);
+                        conceptIntroduceVO.setType(ConceptTypeEnum.Pacs.getKey());
+                        conceptIntroduceVO.setLibType(LexiconTypeEnum.PACS_ITEMS.getKey());
+                        retList.add(conceptIntroduceVO);
                     }
-                } else if (connectIntroduceVO.getType().equals(ConceptTypeEnum.Disease.getKey())) {
-                    DiseaseIcdVO diseaseIcdVO = new DiseaseIcdVO();
-                    diseaseIcdVO.setHosCode(connectIntroduceVO.getHosCode());
-                    diseaseIcdVO.setDiseaseNameList(nameList);
+                }
+            } else if (connectIntroduceVO.getType().equals(ConceptTypeEnum.Disease.getKey())) {
+                DiseaseIcdVO diseaseIcdVO = new DiseaseIcdVO();
+                diseaseIcdVO.setHosCode(connectIntroduceVO.getHosCode());
+                diseaseIcdVO.setDiseaseNameList(nameList);
 
-                    Map<String, String> disMap = new LinkedHashMap<>();
-                    RespDTO<Map<String, String>> disRespDTO = tranServiceClient.getDiseaseIcdMap(diseaseIcdVO);
-                    if (RespDTOUtil.respIsOK(disRespDTO)) {
-                        disMap = disRespDTO.data;
-                        if (disMap.get(connectIntroduceVO.getName()) != null) {
-                            ConceptIntroduceVO conceptIntroduceVO = new ConceptIntroduceVO();
-                            BeanUtil.copyProperties(connectIntroduceVO, conceptIntroduceVO);
-                            conceptIntroduceVO.setName(disMap.get(connectIntroduceVO.getName()));
-                            conceptIntroduceVO.setType(ConceptTypeEnum.Disease.getKey());
-                            conceptIntroduceVO.setLibType(LexiconTypeEnum.DIAGNOSIS.getKey());
-                            retList.add(conceptIntroduceVO);
-                        }
+                Map<String, String> disMap = new LinkedHashMap<>();
+                RespDTO<Map<String, String>> disRespDTO = tranServiceClient.getDiseaseIcdMap(diseaseIcdVO);
+                if (RespDTOUtil.respIsOK(disRespDTO)) {
+                    disMap = disRespDTO.data;
+                    if (disMap.get(connectIntroduceVO.getName()) != null) {
+                        ConceptIntroduceVO conceptIntroduceVO = new ConceptIntroduceVO();
+                        BeanUtil.copyProperties(connectIntroduceVO, conceptIntroduceVO);
+                        conceptIntroduceVO.setName(disMap.get(connectIntroduceVO.getName()));
+                        conceptIntroduceVO.setType(ConceptTypeEnum.Disease.getKey());
+                        conceptIntroduceVO.setLibType(LexiconTypeEnum.DIAGNOSIS.getKey());
+                        retList.add(conceptIntroduceVO);
                     }
                 }
+            } else {
+                ConceptIntroduceVO conceptIntroduceVO = new ConceptIntroduceVO();
+                BeanUtil.copyProperties(connectIntroduceVO, conceptIntroduceVO);
+                conceptIntroduceVO.setLibType(ParamConvertUtil.conceptConvert2Lib(conceptIntroduceVO.getType()));
+                retList.add(conceptIntroduceVO);
             }
         }
         return retList;

+ 0 - 1
aipt-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -1,7 +1,6 @@
 package com.diagbot.facade;
 
 import com.alibaba.fastjson.JSONObject;
-import com.diagbot.client.TranServiceClient;
 import com.diagbot.client.bean.ResponseData;
 import com.diagbot.dto.LisResult;
 import com.diagbot.dto.PacsResult;

+ 76 - 8
aipt-service/src/main/java/com/diagbot/facade/TransferFacade.java

@@ -83,6 +83,7 @@ public class TransferFacade {
      * @return
      */
     public List<LisResult> addLisUniqueName(List<LisResult> lisResults, String hosCode) {
+        List<LisResult> retLisResults = Lists.newLinkedList();
         //化验项转公表内容,参数处理
         if (ListUtil.isNotEmpty(lisResults)) {
             List<String> mealNameList = lisResults
@@ -91,25 +92,38 @@ public class TransferFacade {
             LisConfigVO lisConfigVO = new LisConfigVO();
             lisConfigVO.setHosCode(hosCode);
             lisConfigVO.setMealNameList(mealNameList);
-            RespDTO<Map<String, Map<String, String>>> lisConfigRes
+            RespDTO<Map<String, Map<String, List<String>>>> lisConfigRes
                     = tranServiceClient.getLisConfigByMealNameAndHosCode(lisConfigVO);
-            Map<String, Map<String, String>> lisConfigMap = new LinkedHashMap<>();
+            Map<String, Map<String, List<String>>> lisConfigMap = new LinkedHashMap<>();
             if (RespDTOUtil.respIsOK(lisConfigRes)) {
                 lisConfigMap = lisConfigRes.data;
             }
             for (LisResult lisResult : lisResults) {
                 if (!lisResult.getSource().equals(LisSourceEnum.Outer.getKey())) {
+                    retLisResults.add(lisResult);
                     continue;
                 }
                 if (lisResult.getDetailName() == null) {
                     lisResult.setDetailName("");
                 }
-                if (lisConfigMap.get(lisResult.getName()) != null) {
-                    lisResult.setUniqueName(lisConfigMap.get(lisResult.getName()).get(lisResult.getDetailName()));
+                Map<String, List<String>> itemMap = lisConfigMap.get(lisResult.getName());
+                if (itemMap != null) {
+                    List<String> uniqueNameList = itemMap.get(lisResult.getDetailName());
+                    if (ListUtil.isNotEmpty(uniqueNameList)) {
+                        //化验公表映射出多项时,拆分成多个公表项数据,指标值保持一致
+                        for (String uniqueName : uniqueNameList) {
+                            LisResult lisResult_new = new LisResult();
+                            BeanUtil.copyProperties(lisResult, lisResult_new);
+                            lisResult_new.setUniqueName(uniqueName);
+                            retLisResults.add(lisResult_new);
+                        }
+                    } else {
+                        retLisResults.add(lisResult);
+                    }
                 }
             }
         }
-        return lisResults;
+        return retLisResults;
     }
 
     /**
@@ -119,13 +133,13 @@ public class TransferFacade {
      * @param hosCode
      * @return
      */
-    public Map<String, Map<String, String>> getLisConfigByMealNameAndHosCode(List<String> nameList, String hosCode) {
-        Map<String, Map<String, String>> lisConfigMap = new LinkedHashMap<>();
+    public Map<String, Map<String, List<String>>> getLisConfigByMealNameAndHosCode(List<String> nameList, String hosCode) {
+        Map<String, Map<String, List<String>>> lisConfigMap = new LinkedHashMap<>();
         if (ListUtil.isNotEmpty(nameList) && StringUtil.isNotBlank(hosCode)) {
             LisConfigVO lisConfigVO = new LisConfigVO();
             lisConfigVO.setHosCode(hosCode);
             lisConfigVO.setMealNameList(nameList);
-            RespDTO<Map<String, Map<String, String>>> lisConfigRes
+            RespDTO<Map<String, Map<String, List<String>>>> lisConfigRes
                     = tranServiceClient.getLisConfigByMealNameAndHosCode(lisConfigVO);
             if (RespDTOUtil.respIsOK(lisConfigRes)) {
                 lisConfigMap = lisConfigRes.data;
@@ -170,6 +184,60 @@ public class TransferFacade {
         return convertPacsArr;
     }
 
+    /**
+     * 化验字符串映射转换,仅限套餐
+     *
+     * @param lisStr
+     * @param hosCode
+     * @return
+     */
+    public String lisStrConvert(String lisStr, String hosCode) {
+        String retLisStr = "";
+        if (StringUtil.isBlank(lisStr)) {
+            return retLisStr;
+        }
+        String[] lisArr = lisStr.replace(" ", "").split(",|,|;|;");
+        List<String> lisList = Arrays.asList(lisArr);
+        Map<String, Map<String, List<String>>> map = getLisConfigByMealNameAndHosCode(lisList, hosCode);
+        if (map != null) {
+            for (String lis : lisList) {
+                Map<String, List<String>> itemMap = map.get(lis);
+                if (itemMap != null && itemMap.get("") != null) {
+                    retLisStr += String.join(",", itemMap.get("")) + ",";
+                }
+            }
+        }
+        return retLisStr;
+    }
+
+    /**
+     * 辅检字符串映射转换
+     *
+     * @param pacsStr
+     * @param hosCode
+     * @return
+     */
+    public String pacsStrConvert(String pacsStr, String hosCode) {
+        String retPacsStr = "";
+        if (StringUtil.isBlank(pacsStr)) {
+            return retPacsStr;
+        }
+        String[] pacsArr = pacsStr.replace(" ", "").split(",|,|;|;");
+        PacsConfigVO pacsConfigVO = new PacsConfigVO();
+        pacsConfigVO.setHosCode(hosCode);
+        pacsConfigVO.setMealNameList(Arrays.asList(pacsArr));
+        RespDTO<Map<String, List<String>>> pacsRespDTO = tranServiceClient.getPacsConfig(pacsConfigVO);
+        if (RespDTOUtil.respIsOK(pacsRespDTO)) {
+            Map<String, List<String>> pacsMap = pacsRespDTO.data;
+            for (Map.Entry<String, List<String>> entry : pacsMap.entrySet()) {
+                if (ListUtil.isNotEmpty(entry.getValue())) {
+                    retPacsStr += String.join(",", entry.getValue()) + ",";
+                }
+            }
+        }
+        return retPacsStr;
+    }
+
     /**
      * 诊断名称映射转换
      *

+ 3 - 1
aipt-service/src/main/java/com/diagbot/vo/ConnectIntroduceVO.java

@@ -5,6 +5,7 @@ import lombok.Getter;
 import lombok.Setter;
 
 import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 import java.util.List;
 
 /**
@@ -18,6 +19,7 @@ public class ConnectIntroduceVO {
     @NotBlank(message = "请输入术语名称")
     private String name;
     private String detailName;
+    @NotNull(message = "请输入术语类型")
     private Integer type;
     @NotBlank(message = "请输入医院编码")
     private String hosCode;
@@ -31,4 +33,4 @@ public class ConnectIntroduceVO {
     private Integer libType;
     @ApiModelProperty(hidden = true)
     private Integer sysType;
-}
+}

+ 1 - 1
aipt-service/src/main/java/com/diagbot/web/ConceptDetailController.java

@@ -64,7 +64,7 @@ public class ConceptDetailController {
                     "hosCode: 医院编码,必填<br>" +
                     "detailName: 明细名称,仅针对化验明细项<br>" +
                     "titles: 标题,数组选填<br>" +
-                    "type:标签类型(5-化验,6-辅检,7-诊断),单选必填<br>" +
+                    "type:标签类型(5-化验,6-辅检,7-诊断,8-药品),单选必填<br>" +
                     "position:1-摘要,2-全文,5-药品说明书,6-不良反应,单选选填")
     @PostMapping("/getConnectConceptDetails")
     @SysLogger("getConnectConceptDetails")

+ 5 - 0
ltapi-service/src/main/java/com/diagbot/client/bean/SearchData.java

@@ -26,6 +26,7 @@ public class SearchData {
     private String lis;
     private List<LisResult> lisArr;
     private String pacs;
+    private List<PacsResult> pacsArr;
     private String diag;
     private String diseaseName; //指定诊断,例如取治疗方案
     private String scaleName;   //量表名称
@@ -36,4 +37,8 @@ public class SearchData {
     private String hosCode;
     @ApiModelProperty(hidden = true)
     private Integer sysType;  //系统类型
+
+    private String lisOrder;
+    private String pacsOrder;
+    private String otherOrder;
 }

+ 4 - 0
ltapi-service/src/main/java/com/diagbot/facade/AssembleFacade.java

@@ -30,6 +30,7 @@ public class AssembleFacade {
         searchData.setSymptom(pushVO.getSymptom());
         searchData.setVital(pushVO.getVital());
         searchData.setPacs(pushVO.getPacs());
+        searchData.setPacsArr(pushVO.getPacsArr());
         searchData.setPast(pushVO.getPast());
         searchData.setOther(pushVO.getOther());
         searchData.setDiag(pushVO.getDiag());
@@ -43,6 +44,9 @@ public class AssembleFacade {
         searchData.setLength(10);
         searchData.setSysType(SysTypeEnum.LTAPI_SERVICE.getKey());
         searchData.setHosCode(pushVO.getHosCode());
+        searchData.setLisOrder(pushVO.getLisOrder());
+        searchData.setPacsOrder(pushVO.getPacsOrder());
+        searchData.setOtherOrder(pushVO.getOtherOrder());
 
         switch (pushVO.getSex()) {
             case 1:

+ 3 - 1
ltapi-service/src/main/java/com/diagbot/web/ConceptDetailController.java

@@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import springfox.documentation.annotations.ApiIgnore;
 
 import javax.validation.Valid;
 import java.util.List;
@@ -37,6 +38,7 @@ public class ConceptDetailController {
                     "position:1-摘要,2-全文,5-药品说明书,6-不良反应,单选选填")
     @PostMapping("/getConceptDetail")
     @SysLogger("getConceptDetail")
+    @ApiIgnore
     public RespDTO<ConceptIntroduceDTO> getConceptDetail(@Valid @RequestBody ConceptIntroduceVO conceptIntroduceVO) {
         ConceptIntroduceDTO data = conceptDetailFacade.getConceptDetail(conceptIntroduceVO);
         return RespDTO.onSuc(data);
@@ -47,7 +49,7 @@ public class ConceptDetailController {
                     "hosCode: 医院编码,必填<br>" +
                     "detailName: 明细名称,仅针对化验明细项<br>" +
                     "titles: 标题,数组选填<br>" +
-                    "type:标签类型(5-化验,6-辅检,7-诊断),单选必填<br>" +
+                    "type:标签类型(5-化验,6-辅检,7-诊断,8-药品),单选必填<br>" +
                     "position:1-摘要,2-全文,5-药品说明书,6-不良反应,单选选填")
     @PostMapping("/getConnectConceptDetails")
     @SysLogger("getConnectConceptDetails")

+ 9 - 8
tran-service/src/main/java/com/diagbot/entity/PacsConfig.java

@@ -1,10 +1,11 @@
 package com.diagbot.entity;
 
-import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableName;
+
 import java.io.Serializable;
+import java.util.Date;
 
 /**
  * <p>
@@ -33,12 +34,12 @@ public class PacsConfig implements Serializable {
     /**
      * 记录创建时间
      */
-    private LocalDateTime gmtCreate;
+    private Date gmtCreate;
 
     /**
      * 记录修改时间,如果时间是1970年则表示纪录未修改
      */
-    private LocalDateTime gmtModified;
+    private Date gmtModified;
 
     /**
      * 创建人,0表示无创建人值
@@ -81,19 +82,19 @@ public class PacsConfig implements Serializable {
         this.isDeleted = isDeleted;
     }
 
-    public LocalDateTime getGmtCreate() {
+    public Date getGmtCreate() {
         return gmtCreate;
     }
 
-    public void setGmtCreate(LocalDateTime gmtCreate) {
+    public void setGmtCreate(Date gmtCreate) {
         this.gmtCreate = gmtCreate;
     }
 
-    public LocalDateTime getGmtModified() {
+    public Date getGmtModified() {
         return gmtModified;
     }
 
-    public void setGmtModified(LocalDateTime gmtModified) {
+    public void setGmtModified(Date gmtModified) {
         this.gmtModified = gmtModified;
     }
 

+ 18 - 5
tran-service/src/main/java/com/diagbot/facade/TranLisConfigFacade.java

@@ -14,6 +14,8 @@ import org.springframework.stereotype.Component;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
+
 /**
  * 
  * @author wangfeng
@@ -43,12 +45,12 @@ public class TranLisConfigFacade extends TranLisConfigServiceImpl{
 	}
 
 	/**
-	 * 根据医院编码获取化验公表映射关系-itemName不为空 Map<mealName,Map<itemName,uniqueName>>
+	 * 根据医院编码获取化验公表映射关系 Map<mealName,Map<itemName,List<uniqueName>>>
 	 *
 	 * @return
 	 */
-	public Map<String, Map<String, String>> getLisConfigByMealNameAndHosCode(LisConfigVO lisConfigVO) {
-		Map<String, Map<String, String>> retMap = new LinkedHashMap<>();
+	public Map<String, Map<String, List<String>>> getLisConfigByMealNameAndHosCode(LisConfigVO lisConfigVO) {
+		Map<String, Map<String, List<String>>> retMap = new LinkedHashMap<>();
 		QueryWrapper<TranLisConfig> lisConfigQueryWrapper = new QueryWrapper<>();
 		lisConfigQueryWrapper
 				.select("hospital_code,meal_name,ifnull(item_name,'') as item_name,unique_name,unique_id")
@@ -62,8 +64,19 @@ public class TranLisConfigFacade extends TranLisConfigServiceImpl{
 				= EntityUtil.makeEntityListMap(lisConfigList, "mealName");
 		for (Map.Entry<String, List<TranLisConfig>> entry : lisConfigMap.entrySet()) {
 			if (entry.getValue().size() > 0) {
-				retMap.put(entry.getKey(),
-						EntityUtil.makeMapWithKeyValue(entry.getValue(), "itemName", "uniqueName"));
+				Map<String, List<TranLisConfig>> itemMap
+						= EntityUtil.makeEntityListMap(entry.getValue(), "itemName");
+				Map<String, List<String>> itemNameMap = new LinkedHashMap<>();
+				for (Map.Entry<String, List<TranLisConfig>> itemEntry : itemMap.entrySet()) {
+					if (ListUtil.isNotEmpty(itemEntry.getValue())) {
+						itemNameMap.put(itemEntry.getKey(), itemEntry
+								.getValue()
+								.stream()
+								.map(lisConfig -> lisConfig.getUniqueName())
+								.collect(Collectors.toList()));
+					}
+				}
+				retMap.put(entry.getKey(), itemNameMap);
 			} else {
 				retMap.put(entry.getKey(), null);
 			}

+ 1 - 1
tran-service/src/main/java/com/diagbot/web/TranLisConfigController.java

@@ -43,7 +43,7 @@ public class TranLisConfigController {
 			notes = "hosCode: 医院编码,必填<br>")
 	@PostMapping("/getLisConfigByMealNameAndHosCode")
 	@SysLogger("getLisConfigByMealNameAndHosCode")
-	public RespDTO<Map<String, Map<String, String>>> getLisConfigByMealNameAndHosCode(@RequestBody LisConfigVO lisConfigVO) {
+	public RespDTO<Map<String, Map<String, List<String>>>> getLisConfigByMealNameAndHosCode(@RequestBody LisConfigVO lisConfigVO) {
 		return RespDTO.onSuc(tranLisConfigFacade.getLisConfigByMealNameAndHosCode(lisConfigVO));
 	}