فهرست منبع

化验公表映射优化

Zhaops 6 سال پیش
والد
کامیت
08d828c03a

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

@@ -14,6 +14,7 @@ import com.diagbot.vo.HospitalDeptInfoVO;
 import com.diagbot.vo.HospitalSetVO;
 import com.diagbot.vo.IndexDataSaveVO;
 import com.diagbot.vo.IndexDataiIds;
+import com.diagbot.vo.LisConfigVO;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -57,22 +58,13 @@ public interface TranServiceClient {
     RespDTO<GetTopPatientInfoDTO> getTopPatientInfo(@RequestBody GetTopPatientInfoVO getTopPatientInfoVO);
 
     /**
-     * 根据医院编码获取化验公表映射关系-itemName不为空
+     * 根据医院编码和套餐名称获取化验公表映射关系
      *
-     * @param hosCodeVO
-     * @return
-     */
-    @PostMapping("/tranLisConfig/getLisConfigByHosCode_NotEmptyItemName")
-    RespDTO<Map<String, Map<String, String>>> getLisConfigByHosCode_NotEmptyItemName(@RequestBody HosCodeVO hosCodeVO);
-
-    /**
-     * 根据医院编码获取化验公表映射关系-itemName为空
-     *
-     * @param hosCodeVO
+     * @param lisConfigVO
      * @return
      */
-    @PostMapping("/tranLisConfig/getLisConfigByHosCode_EmptyItemName")
-    RespDTO<Map<String, String>> getLisConfigByHosCode_EmptyItemName(@RequestBody HosCodeVO hosCodeVO);
+    @PostMapping("/tranLisConfig/getLisConfigByMealNameAndHosCode")
+    RespDTO<Map<String, Map<String, String>>> getLisConfigByMealNameAndHosCode(@RequestBody LisConfigVO lisConfigVO);
 
     /**
      * 根据医院编码获取辅检公表映射关系
@@ -113,11 +105,11 @@ public interface TranServiceClient {
     /**
      * 根据医院编码获取化验公表映射关系,公表项做key
      *
-     * @param hosCodeVO
+     * @param lisConfigVO
      * @return
      */
     @PostMapping("/tranLisConfig/getLisConfigByUniqueNameAndHosCode")
-    RespDTO<Map<String, List<String>>> getLisConfigByUniqueNameAndHosCode(@RequestBody HosCodeVO hosCodeVO);
+    RespDTO<Map<String, List<String>>> getLisConfigByUniqueNameAndHosCode(@RequestBody LisConfigVO lisConfigVO);
 
     /**
      * 根据医院编码查询辅检公表映射,公表项做key

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

@@ -14,6 +14,7 @@ import com.diagbot.vo.HospitalDeptInfoVO;
 import com.diagbot.vo.HospitalSetVO;
 import com.diagbot.vo.IndexDataSaveVO;
 import com.diagbot.vo.IndexDataiIds;
+import com.diagbot.vo.LisConfigVO;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -49,26 +50,14 @@ public class TranServiceHystrix implements TranServiceClient {
     }
 
     /**
-     * 根据医院编码获取化验公表映射关系-itemName不为空
+     * 根据医院编码和套餐名称获取化验公表映射关系
      *
-     * @param hosCodeVO
+     * @param lisConfigVO
      * @return
      */
     @Override
-    public RespDTO<Map<String, Map<String, String>>> getLisConfigByHosCode_NotEmptyItemName(@RequestBody HosCodeVO hosCodeVO) {
-        log.error("【hystrix】调用{}异常", "getLisConfigByHosCode_NotEmptyItemName");
-        return null;
-    }
-
-    /**
-     * 根据医院编码获取化验公表映射关系-itemName为空
-     *
-     * @param hosCodeVO
-     * @return
-     */
-    @Override
-    public RespDTO<Map<String, String>> getLisConfigByHosCode_EmptyItemName(@RequestBody HosCodeVO hosCodeVO) {
-        log.error("【hystrix】调用{}异常", "getLisConfigByHosCode_EmptyItemName");
+    public RespDTO<Map<String, Map<String, String>>> getLisConfigByMealNameAndHosCode(@RequestBody LisConfigVO lisConfigVO) {
+        log.error("【hystrix】调用{}异常", "getLisConfigByMealNameAndHosCode");
         return null;
     }
 
@@ -123,11 +112,11 @@ public class TranServiceHystrix implements TranServiceClient {
     /**
      * 根据医院编码获取化验公表映射关系,公表项做key
      *
-     * @param hosCodeVO
+     * @param lisConfigVO
      * @return
      */
     @Override
-    public RespDTO<Map<String, List<String>>> getLisConfigByUniqueNameAndHosCode(@RequestBody HosCodeVO hosCodeVO) {
+    public RespDTO<Map<String, List<String>>> getLisConfigByUniqueNameAndHosCode(@RequestBody LisConfigVO lisConfigVO) {
         log.error("【hystrix】调用{}异常", "getLisConfigByUniqueNameAndHosCode");
         return null;
     }

+ 16 - 17
aipt-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -29,6 +29,7 @@ import com.diagbot.util.RespDTOUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.vo.ConceptBaseVO;
 import com.diagbot.vo.HospitalSetVO;
+import com.diagbot.vo.LisConfigVO;
 import com.diagbot.vo.SearchVo;
 import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -379,32 +380,26 @@ public class PushFacade {
      * @return
      */
     public List<LisResult> addUniqueName(List<LisResult> lisResults, String hosCode) {
-        HosCodeVO hosCodeVO = new HosCodeVO();
-        hosCodeVO.setHosCode(hosCode);
+        List<String> mealNameList = lisResults.stream().map(lisResult -> lisResult.getName()).collect(Collectors.toList());
+        LisConfigVO lisConfigVO = new LisConfigVO();
+        lisConfigVO.setHosCode(hosCode);
+        lisConfigVO.setMealNameList(mealNameList);
         //化验项转公表内容,参数处理
         if (ListUtil.isNotEmpty(lisResults)) {
-            RespDTO<Map<String, Map<String, String>>> lisConfigRes = tranServiceClient.getLisConfigByHosCode_NotEmptyItemName(hosCodeVO);
-            RespDTO<Map<String, String>> lisConfigWithEmptyItemNameRes = tranServiceClient.getLisConfigByHosCode_EmptyItemName(hosCodeVO);
+            RespDTO<Map<String, Map<String, String>>> lisConfigRes = tranServiceClient.getLisConfigByMealNameAndHosCode(lisConfigVO);
             Map<String, Map<String, String>> lisConfigMap = new LinkedHashMap<>();
-            Map<String, String> lisConfigMap_emptyItemName = new LinkedHashMap<>();
             if (RespDTOUtil.respIsOK(lisConfigRes)) {
                 lisConfigMap = lisConfigRes.data;
             }
-            if (RespDTOUtil.respIsOK(lisConfigWithEmptyItemNameRes)) {
-                lisConfigMap_emptyItemName = lisConfigWithEmptyItemNameRes.data;
-            }
             for (LisResult lisResult : lisResults) {
                 if (!lisResult.getSource().equals(LisSourceEnum.Outer.getKey())) {
                     continue;
                 }
-                if (StringUtil.isNotBlank(lisResult.getName())) {
-                    if (StringUtil.isNotBlank(lisResult.getDetailName())) {
-                        if (lisConfigMap.get(lisResult.getName()) != null) {
-                            lisResult.setUniqueName(lisConfigMap.get(lisResult.getName()).get(lisResult.getDetailName()));
-                        }
-                    } else {
-                        lisResult.setUniqueName(lisConfigMap_emptyItemName.get(lisResult.getName()));
-                    }
+                if (lisResult.getDetailName() == null) {
+                    lisResult.setDetailName("");
+                }
+                if (lisConfigMap.get(lisResult.getName()) != null) {
+                    lisResult.setUniqueName(lisConfigMap.get(lisResult.getName()).get(lisResult.getDetailName()));
                 }
             }
         }
@@ -422,8 +417,12 @@ public class PushFacade {
     public List<ConceptPushDTO> addClientName(List<ConceptPushDTO> concepts, String hosCode, Integer type) {
         HosCodeVO hosCodeVO = new HosCodeVO();
         hosCodeVO.setHosCode(hosCode);
+        LisConfigVO lisConfigVO = new LisConfigVO();
+        lisConfigVO.setHosCode(hosCode);
+        List<String> uniqueNameList = concepts.stream().map(concept -> concept.getName()).collect(Collectors.toList());
+        lisConfigVO.setUniqueNameList(uniqueNameList);
         if (type.equals(ConceptTypeEnum.Lis.getKey())) {
-            RespDTO<Map<String, List<String>>> lisRes = tranServiceClient.getLisConfigByUniqueNameAndHosCode(hosCodeVO);
+            RespDTO<Map<String, List<String>>> lisRes = tranServiceClient.getLisConfigByUniqueNameAndHosCode(lisConfigVO);
             if (RespDTOUtil.respIsOK(lisRes)) {
                 Map<String, List<String>> lisMappingByUniqueName = lisRes.data;
                 for (ConceptPushDTO concept : concepts) {

+ 19 - 0
aipt-service/src/main/java/com/diagbot/vo/LisConfigVO.java

@@ -0,0 +1,19 @@
+package com.diagbot.vo;
+
+import com.diagbot.client.bean.HosCodeVO;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description: 化验公表映射检索入参
+ * @Author:zhaops
+ * @time: 2019/7/6 15:52
+ */
+@Getter
+@Setter
+public class LisConfigVO extends HosCodeVO {
+    List<String> mealNameList;
+    List<String> uniqueNameList;
+}

+ 17 - 43
icss-service/src/main/java/com/diagbot/client/TranServiceClient.java

@@ -1,14 +1,5 @@
 package com.diagbot.client;
 
-import java.util.List;
-import java.util.Map;
-
-import javax.validation.Valid;
-
-import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-
 import com.diagbot.client.hystrix.TranServiceHystrix;
 import com.diagbot.dto.DoctorInfoDTO;
 import com.diagbot.dto.GetExportInquirysDTO;
@@ -40,6 +31,13 @@ import com.diagbot.vo.PacsCheckItemVO;
 import com.diagbot.vo.PatientInfoVO;
 import com.diagbot.vo.SaveInquiryToHisVO;
 import com.diagbot.vo.TranFieldInfoVO;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import javax.validation.Valid;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @Description: 调用信息对接层服务
@@ -129,17 +127,19 @@ public interface TranServiceClient {
      */
     @PostMapping("/inquiryInfo/saveInquiryToHis")
     RespDTO<Boolean> saveInquiryToHis(@RequestBody SaveInquiryToHisVO saveInquiryToHisVO);
-    
+
     /**
      * 急诊-历史病历列表
+     *
      * @param hisInquirysForJzVO
      * @return
      */
     @PostMapping("/inquiryInfo/hisInquirysForJz")
     RespDTO<HisInquirysForJzDTO> hisInquirysForJz(@RequestBody HisInquirysForJzVO hisInquirysForJzVO);
-    
+
     /**
      * 急诊-添加二次诊断
+     *
      * @param addDiagnoseSecondVO
      * @return
      */
@@ -148,30 +148,13 @@ public interface TranServiceClient {
 
     /**
      * 急诊-获取需要导出的问诊数据
+     *
      * @param inquiryIds
      * @return
      */
     @PostMapping("/inquiryInfo/getExportInquirys")
     RespDTO<List<GetExportInquirysDTO>> getExportInquirys(@RequestBody List<Long> inquiryIds);
 
-    /**
-     * 根据医院编码获取化验公表映射关系-itemName不为空
-     *
-     * @param hosCodeVO
-     * @return
-     */
-    @PostMapping("/tranLisConfig/getLisConfigByHosCode_NotEmptyItemName")
-    RespDTO<Map<String, Map<String, String>>> getLisConfigByHosCode_NotEmptyItemName(@RequestBody HosCodeVO hosCodeVO);
-
-    /**
-     * 根据医院编码获取化验公表映射关系-itemName为空
-     *
-     * @param hosCodeVO
-     * @return
-     */
-    @PostMapping("/tranLisConfig/getLisConfigByHosCode_EmptyItemName")
-    RespDTO<Map<String, String>> getLisConfigByHosCode_EmptyItemName(@RequestBody HosCodeVO hosCodeVO);
-
     /**
      * 根据医院编码获取辅检公表映射关系
      *
@@ -199,15 +182,6 @@ public interface TranServiceClient {
     @PostMapping("/diseaseIcd/getDiseaseIcdByHosCode")
     RespDTO<Map<String, String>> getDiseaseIcdByHosCode(@RequestBody HosCodeVO hosCodeVO);
 
-    /**
-     * 根据医院编码获取化验公表映射关系,公表项做key
-     *
-     * @param hosCodeVO
-     * @return
-     */
-    @PostMapping("/tranLisConfig/getLisConfigByUniqueNameAndHosCode")
-    RespDTO<Map<String, List<String>>> getLisConfigByUniqueNameAndHosCode(@RequestBody HosCodeVO hosCodeVO);
-
     /**
      * 根据医院编码查询辅检公表映射,公表项做key
      *
@@ -216,19 +190,19 @@ public interface TranServiceClient {
      */
     @PostMapping("/pacsConfig/getPacsConfigByUniqueNameAndHosCode")
     RespDTO<Map<String, List<String>>> getPacsConfigByUniqueNameAndHosCode(@RequestBody HosCodeVO hosCodeVO);
-    
+
     @PostMapping("/lisDockingImports/lisDockingImports")
     public RespDTO<LisRetrieveListAllDTO> getLisDatas(@RequestBody @Valid LisArgumentsVO lisArgumentsVO);
 
     @PostMapping("/lisDockingImports/getByGroupNameLisData")
-	public RespDTO<LisDataDTO> getByGroupNameLisData(@RequestBody @Valid LisGroupNameVO lisGroupNameVO);
+    public RespDTO<LisDataDTO> getByGroupNameLisData(@RequestBody @Valid LisGroupNameVO lisGroupNameVO);
 
     @PostMapping("/lisDockingImports/pacsDockingImport")
-	RespDTO<PacsRetrieveListAllDTO> pacsDockingImports(@RequestBody @Valid PacsArgumentsVO pacsArgumentsVO);
+    RespDTO<PacsRetrieveListAllDTO> pacsDockingImports(@RequestBody @Valid PacsArgumentsVO pacsArgumentsVO);
 
     @PostMapping("/lisDockingImports/getByCheckItemPacsData")
-	RespDTO<PacsDataDTO> getByCheckItemPacsDatas(@RequestBody @Valid PacsCheckItemVO pacsGroupNameVO);
-    
+    RespDTO<PacsDataDTO> getByCheckItemPacsDatas(@RequestBody @Valid PacsCheckItemVO pacsGroupNameVO);
+
     @PostMapping("/sysSet/getSysSetInfoDatas")
     RespDTO<List<SysSetInfoDTO>> getSysSetInfoDatas(@Valid @RequestBody HospitalSetVO hospitalSetVO);
 }

+ 45 - 84
icss-service/src/main/java/com/diagbot/client/hystrix/TranServiceHystrix.java

@@ -1,13 +1,5 @@
 package com.diagbot.client.hystrix;
 
-import java.util.List;
-import java.util.Map;
-
-import javax.validation.Valid;
-
-import org.springframework.stereotype.Component;
-import org.springframework.web.bind.annotation.RequestBody;
-
 import com.diagbot.client.TranServiceClient;
 import com.diagbot.dto.DoctorInfoDTO;
 import com.diagbot.dto.GetExportInquirysDTO;
@@ -39,8 +31,13 @@ import com.diagbot.vo.PacsCheckItemVO;
 import com.diagbot.vo.PatientInfoVO;
 import com.diagbot.vo.SaveInquiryToHisVO;
 import com.diagbot.vo.TranFieldInfoVO;
-
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import javax.validation.Valid;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @Description: 调用信息对接层服务
@@ -103,46 +100,22 @@ public class TranServiceHystrix implements TranServiceClient {
         log.error("【hystrix】调用{}异常", "saveInquiryToHis");
         return null;
     }
-    
-    @Override
-	public RespDTO<HisInquirysForJzDTO> hisInquirysForJz(HisInquirysForJzVO hisInquirysForJzVO) {
-    	log.error("【hystrix】调用{}异常", "hisInquirysForJz");
-		return null;
-	}
-
-	@Override
-	public RespDTO<Boolean> addDiagnoseSecond(AddDiagnoseSecondVO addDiagnoseSecondVO) {
-    	log.error("【hystrix】调用{}异常", "addDiagnoseSecond");
-		return null;
-	}
-	
-	@Override
-	public RespDTO<List<GetExportInquirysDTO>> getExportInquirys(List<Long> inquiryIds) {
-		log.error("【hystrix】调用{}异常", "getExportInquirys");
-		return null;
-	}
-	
-	/**
-     * 根据医院编码获取化验公表映射关系-itemName不为空
-     *
-     * @param hosCodeVO
-     * @return
-     */
+
     @Override
-    public RespDTO<Map<String, Map<String, String>>> getLisConfigByHosCode_NotEmptyItemName(@RequestBody HosCodeVO hosCodeVO) {
-        log.error("【hystrix】调用{}异常", "getLisConfigByHosCode_NotEmptyItemName");
+    public RespDTO<HisInquirysForJzDTO> hisInquirysForJz(HisInquirysForJzVO hisInquirysForJzVO) {
+        log.error("【hystrix】调用{}异常", "hisInquirysForJz");
         return null;
     }
 
-    /**
-     * 根据医院编码获取化验公表映射关系-itemName为空
-     *
-     * @param hosCodeVO
-     * @return
-     */
     @Override
-    public RespDTO<Map<String, String>> getLisConfigByHosCode_EmptyItemName(@RequestBody HosCodeVO hosCodeVO) {
-        log.error("【hystrix】调用{}异常", "getLisConfigByHosCode_EmptyItemName");
+    public RespDTO<Boolean> addDiagnoseSecond(AddDiagnoseSecondVO addDiagnoseSecondVO) {
+        log.error("【hystrix】调用{}异常", "addDiagnoseSecond");
+        return null;
+    }
+
+    @Override
+    public RespDTO<List<GetExportInquirysDTO>> getExportInquirys(List<Long> inquiryIds) {
+        log.error("【hystrix】调用{}异常", "getExportInquirys");
         return null;
     }
 
@@ -183,56 +156,44 @@ public class TranServiceHystrix implements TranServiceClient {
     }
 
     /**
-     * 根据医院编码获取化验公表映射关系,公表项做key
+     * 根据医院编码查询辅检公表映射,公表项做key
      *
      * @param hosCodeVO
      * @return
      */
     @Override
-    public RespDTO<Map<String, List<String>>> getLisConfigByUniqueNameAndHosCode(@RequestBody HosCodeVO hosCodeVO) {
-        log.error("【hystrix】调用{}异常", "getLisConfigByUniqueNameAndHosCode");
+    public RespDTO<Map<String, List<String>>> getPacsConfigByUniqueNameAndHosCode(@RequestBody HosCodeVO hosCodeVO) {
+        log.error("【hystrix】调用{}异常", "getPacsConfigByUniqueNameAndHosCode");
         return null;
     }
 
-    /**
-     * 根据医院编码查询辅检公表映射,公表项做key
-     *
-     * @param hosCodeVO
-     * @return
-     */
     @Override
-    public RespDTO<Map<String, List<String>>> getPacsConfigByUniqueNameAndHosCode(@RequestBody HosCodeVO hosCodeVO) {
-        log.error("【hystrix】调用{}异常", "getPacsConfigByUniqueNameAndHosCode");
+    public RespDTO<LisRetrieveListAllDTO> getLisDatas(@RequestBody @Valid LisArgumentsVO lisArgumentsVO) {
+        log.error("【hystrix】调用{}异常", "getLisDatas");
         return null;
     }
 
-	@Override
-	public RespDTO<LisRetrieveListAllDTO> getLisDatas(@RequestBody @Valid LisArgumentsVO lisArgumentsVO) {
-		log.error("【hystrix】调用{}异常", "getLisDatas");
-		return null;
-	}
-
-	@Override
-	public RespDTO<LisDataDTO> getByGroupNameLisData(@RequestBody @Valid LisGroupNameVO lisGroupNameVO) {
-		log.error("【hystrix】调用{}异常", "getByGroupNameLisData");
-		return null;
-	}
-
-	@Override
-	public RespDTO<PacsRetrieveListAllDTO> pacsDockingImports(@RequestBody @Valid PacsArgumentsVO pacsArgumentsVO) {
-		log.error("【hystrix】调用{}异常", "pacsDockingImports");
-		return null;
-	}
-
-	@Override
-	public RespDTO<PacsDataDTO> getByCheckItemPacsDatas(@RequestBody @Valid PacsCheckItemVO pacsGroupNameVO) {
-		log.error("【hystrix】调用{}异常", "getByCheckItemPacsDatas");
-		return null;
-	}
-
-	@Override
-	public RespDTO<List<SysSetInfoDTO>> getSysSetInfoDatas(@Valid HospitalSetVO hospitalSetVO) {
-		log.error("【hystrix】调用{}异常", "getSysSetInfoDatas");
-		return null;
-	}
+    @Override
+    public RespDTO<LisDataDTO> getByGroupNameLisData(@RequestBody @Valid LisGroupNameVO lisGroupNameVO) {
+        log.error("【hystrix】调用{}异常", "getByGroupNameLisData");
+        return null;
+    }
+
+    @Override
+    public RespDTO<PacsRetrieveListAllDTO> pacsDockingImports(@RequestBody @Valid PacsArgumentsVO pacsArgumentsVO) {
+        log.error("【hystrix】调用{}异常", "pacsDockingImports");
+        return null;
+    }
+
+    @Override
+    public RespDTO<PacsDataDTO> getByCheckItemPacsDatas(@RequestBody @Valid PacsCheckItemVO pacsGroupNameVO) {
+        log.error("【hystrix】调用{}异常", "getByCheckItemPacsDatas");
+        return null;
+    }
+
+    @Override
+    public RespDTO<List<SysSetInfoDTO>> getSysSetInfoDatas(@Valid HospitalSetVO hospitalSetVO) {
+        log.error("【hystrix】调用{}异常", "getSysSetInfoDatas");
+        return null;
+    }
 }

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

@@ -30,7 +30,7 @@ public class LisMappingFacade extends LisMappingServiceImpl {
     public Map<String, Map<String, String>> getLisMappingByMealName(List<String> mealNameList) {
         Map<String, Map<String, String>> retMap = new LinkedHashMap<>();
         QueryWrapper<LisMapping> lisMappingQueryWrapper = new QueryWrapper<>();
-        lisMappingQueryWrapper.select("meal_name,ifnull(item_name,'') as item_name,unique_name").eq("is_deleted", IsDeleteEnum.N.getKey());//.isNotNull("item_name").ne("item_name", "");
+        lisMappingQueryWrapper.select("meal_name,ifnull(item_name,'') as item_name,unique_name").eq("is_deleted", IsDeleteEnum.N.getKey());
         if (ListUtil.isNotEmpty(mealNameList)) {
             lisMappingQueryWrapper.in("meal_name", mealNameList);
         }

+ 14 - 21
tran-service/src/main/java/com/diagbot/facade/TranLisConfigFacade.java

@@ -5,10 +5,10 @@ import com.diagbot.dto.LisConfigDTO;
 import com.diagbot.entity.TranLisConfig;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.impl.TranLisConfigServiceImpl;
-import com.diagbot.util.BeanUtil;
 import com.diagbot.util.EntityUtil;
+import com.diagbot.util.ListUtil;
+import com.diagbot.vo.LisConfigVO;
 import com.diagbot.vo.LisHospitalCodeVO;
-
 import org.springframework.stereotype.Component;
 
 import java.util.LinkedHashMap;
@@ -26,7 +26,7 @@ public class TranLisConfigFacade extends TranLisConfigServiceImpl{
 	/**
 	 * 根据医院编码查询公表映射配置
 	 *
-	 * @param hospitalCode
+	 * @param lisHospitalCodeVO
 	 * @return
 	 */
 	public List<LisConfigDTO> getLisConfigByhospitalIds(LisHospitalCodeVO lisHospitalCodeVO) {
@@ -47,11 +47,14 @@ public class TranLisConfigFacade extends TranLisConfigServiceImpl{
 	 *
 	 * @return
 	 */
-	public Map<String, Map<String, String>> getLisConfigByHosCode_NotEmptyItemName(String hosCode) {
+	public Map<String, Map<String, String>> getLisConfigByMealNameAndHosCode(LisConfigVO lisConfigVO) {
 		Map<String, Map<String, String>> retMap = new LinkedHashMap<>();
 		QueryWrapper<TranLisConfig> lisConfigQueryWrapper = new QueryWrapper<>();
-		lisConfigQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).eq("hospital_code",hosCode).
-				isNotNull("item_name").and(i->i.ne("item_name",""));
+		lisConfigQueryWrapper.select("hospital_code,meal_name,ifnull(item_name,'') as item_name,unique_name,unique_id").
+				eq("is_deleted", IsDeleteEnum.N.getKey()).eq("hospital_code", lisConfigVO.getHosCode());
+		if (ListUtil.isNotEmpty(lisConfigVO.getMealNameList())) {
+			lisConfigQueryWrapper.in("meal_name", lisConfigVO.getMealNameList());
+		}
 		List<TranLisConfig> lisConfigList = this.list(lisConfigQueryWrapper);
 		Map<String, List<TranLisConfig>> lisConfigMap = EntityUtil.makeEntityListMap(lisConfigList, "mealName");
 		for (Map.Entry<String, List<TranLisConfig>> entry : lisConfigMap.entrySet()) {
@@ -64,29 +67,19 @@ public class TranLisConfigFacade extends TranLisConfigServiceImpl{
 		return retMap;
 	}
 
-	/**
-	 * 根据医院编码获取化验公表映射关系-itemName为空 Map<mealName,uniqueName>
-	 *
-	 * @return
-	 */
-	public Map<String, String> getLisConfigByHosCode_EmptyItemName(String hosCode) {
-		QueryWrapper<TranLisConfig> lisConfigQueryWrapper = new QueryWrapper<>();
-		lisConfigQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).eq("hospital_code",hosCode).
-				isNull("item_name").or(i->i.eq("item_name",""));
-		List<TranLisConfig> lisConfigList = this.list(lisConfigQueryWrapper);
-		Map<String, String> retMap = EntityUtil.makeMapWithKeyValue(lisConfigList, "mealName", "uniqueName");
-		return retMap;
-	}
 
 	/**
 	 * 根据医院编码获取化验公表映射关系,公表项做key  Map<uniqueName,List<mealName>>
 	 *
 	 * @return
 	 */
-	public Map<String, List<String>> getLisConfigByUniqueNameAndHosCode(String hosCode) {
+	public Map<String, List<String>> getLisConfigByUniqueNameAndHosCode(LisConfigVO lisConfigVO) {
 		Map<String, List<String>> retMap = new LinkedHashMap<>();
 		QueryWrapper<TranLisConfig> tranLisConfigQueryWrapper = new QueryWrapper<>();
-		tranLisConfigQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).eq("hospital_code",hosCode);
+		tranLisConfigQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).eq("hospital_code",lisConfigVO.getHosCode());
+		if(ListUtil.isNotEmpty(lisConfigVO.getUniqueNameList())){
+			tranLisConfigQueryWrapper.in("unique_name",lisConfigVO.getUniqueNameList());
+		}
 		List<TranLisConfig> tranLisConfigList = this.list(tranLisConfigQueryWrapper);
 		Map<String, List<TranLisConfig>> lisConfigMap = EntityUtil.makeEntityListMap(tranLisConfigList, "uniqueName");
 		for (Map.Entry<String, List<TranLisConfig>> entry : lisConfigMap.entrySet()) {

+ 18 - 0
tran-service/src/main/java/com/diagbot/vo/LisConfigVO.java

@@ -0,0 +1,18 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description: 化验公表映射检索入参
+ * @Author:zhaops
+ * @time: 2019/7/6 15:52
+ */
+@Getter
+@Setter
+public class LisConfigVO extends HosCodeVO {
+    List<String> mealNameList;
+    List<String> uniqueNameList;
+}

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

@@ -1,23 +1,21 @@
 package com.diagbot.web;
 
-import java.util.List;
-import java.util.Map;
-
-import com.diagbot.vo.HosCodeVO;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.LisConfigDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.TranLisConfigFacade;
+import com.diagbot.vo.LisConfigVO;
 import com.diagbot.vo.LisHospitalCodeVO;
-
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * 
@@ -41,28 +39,19 @@ public class TranLisConfigController {
 		return RespDTO.onSuc(tranLisConfigFacade.getLisConfigByhospitalIds(lisHospitalCodeVO));
 	}
 
-	@ApiOperation(value = "根据医院编码获取化验公表映射关系-itemName不为空:[by:zhaops]",
+	@ApiOperation(value = "根据医院编码和套餐名称获取化验公表映射关系:[by:zhaops]",
 			notes = "hosCode: 医院编码,必填<br>")
-	@PostMapping("/getLisConfigByHosCode_NotEmptyItemName")
-	@SysLogger("getLisConfigByHosCode_NotEmptyItemName")
-	public RespDTO<Map<String, Map<String, String>>> getLisConfigByHosCode_NotEmptyItemName(@RequestBody HosCodeVO hosCodeVO) {
-		return RespDTO.onSuc(tranLisConfigFacade.getLisConfigByHosCode_NotEmptyItemName(hosCodeVO.getHosCode()));
-	}
-
-	@ApiOperation(value = "根据医院编码获取化验公表映射关系-itemName为空 :[by:zhaops]",
-			notes = "hosCode: 医院编码,必填<br>")
-	@PostMapping("/getLisConfigByHosCode_EmptyItemName")
-	@SysLogger("getLisConfigByHosCode_EmptyItemName")
-	public RespDTO<Map<String, String>> getLisConfigByHosCode_EmptyItemName(@RequestBody HosCodeVO hosCodeVO) {
-		return RespDTO.onSuc(tranLisConfigFacade.getLisConfigByHosCode_EmptyItemName(hosCodeVO.getHosCode()));
+	@PostMapping("/getLisConfigByMealNameAndHosCode")
+	@SysLogger("getLisConfigByMealNameAndHosCode")
+	public RespDTO<Map<String, Map<String, String>>> getLisConfigByMealNameAndHosCode(@RequestBody LisConfigVO lisConfigVO) {
+		return RespDTO.onSuc(tranLisConfigFacade.getLisConfigByMealNameAndHosCode(lisConfigVO));
 	}
 
 	@ApiOperation(value = "根据医院编码获取化验公表映射关系,公表项做key :[by:zhaops]",
 			notes = "hosCode: 医院编码,必填<br>")
 	@PostMapping("/getLisConfigByUniqueNameAndHosCode")
 	@SysLogger("getLisConfigByUniqueNameAndHosCode")
-	public RespDTO<Map<String, List<String>>> getLisConfigByUniqueNameAndHosCode(@RequestBody HosCodeVO hosCodeVO) {
-		return RespDTO.onSuc(tranLisConfigFacade.getLisConfigByUniqueNameAndHosCode(hosCodeVO.getHosCode()));
+	public RespDTO<Map<String, List<String>>> getLisConfigByUniqueNameAndHosCode(@RequestBody LisConfigVO lisConfigVO) {
+		return RespDTO.onSuc(tranLisConfigFacade.getLisConfigByUniqueNameAndHosCode(lisConfigVO));
 	}
-}
-
+}