|
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.diagbot.client.CdssCoreClient;
|
|
import com.diagbot.client.CdssCoreClient;
|
|
import com.diagbot.dto.HosRelationNumDTO;
|
|
import com.diagbot.dto.HosRelationNumDTO;
|
|
import com.diagbot.dto.RespDTO;
|
|
import com.diagbot.dto.RespDTO;
|
|
|
|
+import com.diagbot.entity.DrugConfig;
|
|
import com.diagbot.entity.LisConfig;
|
|
import com.diagbot.entity.LisConfig;
|
|
import com.diagbot.enums.ConceptTypeEnum;
|
|
import com.diagbot.enums.ConceptTypeEnum;
|
|
import com.diagbot.enums.IsDeleteEnum;
|
|
import com.diagbot.enums.IsDeleteEnum;
|
|
@@ -493,8 +494,31 @@ public class LisConfigFacade{
|
|
public void precDataMatch(MultipartFile file,HttpServletResponse response) {
|
|
public void precDataMatch(MultipartFile file,HttpServletResponse response) {
|
|
List<LisConfig> retList = Lists.newLinkedList();
|
|
List<LisConfig> retList = Lists.newLinkedList();
|
|
List<LisConfig> originList = ExcelUtils.importExcel(file, 0, 1, LisConfig.class);
|
|
List<LisConfig> originList = ExcelUtils.importExcel(file, 0, 1, LisConfig.class);
|
|
-
|
|
|
|
Map<String,Map<String, List<LisConfig>>> allMap = getAll();
|
|
Map<String,Map<String, List<LisConfig>>> allMap = getAll();
|
|
|
|
+
|
|
|
|
+ //标准术语校验
|
|
|
|
+ List<String> precUniqueName = Lists.newArrayList();
|
|
|
|
+ if (allMap != null) {
|
|
|
|
+ for (Map.Entry<String, Map<String, List<LisConfig>>> entry : allMap.entrySet()) {
|
|
|
|
+ for (Map.Entry<String, List<LisConfig>> subEntry : entry.getValue().entrySet()) {
|
|
|
|
+ if (ListUtil.isNotEmpty(subEntry.getValue())) {
|
|
|
|
+ precUniqueName.addAll(subEntry.getValue().stream().map(i -> i.getUniqueName()).collect(Collectors.toList()));
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ ConceptVO conceptVO = new ConceptVO();
|
|
|
|
+ conceptVO.setNames(precUniqueName);
|
|
|
|
+ conceptVO.setType(ConceptTypeEnum.LisPack.getKey());
|
|
|
|
+ RespDTO<List<String>> respLisPackDTO = cdssCoreClient.getConceptNames(conceptVO);
|
|
|
|
+ RespDTOUtil.respNGDealCover(respLisPackDTO, "标准术语校验失败");
|
|
|
|
+ List<String> lisPackNames = respLisPackDTO.data;
|
|
|
|
+ conceptVO.setType(ConceptTypeEnum.Lis.getKey());
|
|
|
|
+ RespDTO<List<String>> respLisDTO = cdssCoreClient.getConceptNames(conceptVO);
|
|
|
|
+ RespDTOUtil.respNGDealCover(respLisDTO, "标准术语校验失败");
|
|
|
|
+ List<String> lisNames = respLisDTO.data;
|
|
|
|
+
|
|
if (ListUtil.isNotEmpty(originList)) {
|
|
if (ListUtil.isNotEmpty(originList)) {
|
|
for (LisConfig originItem : originList) {
|
|
for (LisConfig originItem : originList) {
|
|
if (StringUtils.isBlank(originItem.getHisDetailName())) {
|
|
if (StringUtils.isBlank(originItem.getHisDetailName())) {
|
|
@@ -502,7 +526,18 @@ public class LisConfigFacade{
|
|
}
|
|
}
|
|
if (allMap.containsKey(originItem.getHisName())
|
|
if (allMap.containsKey(originItem.getHisName())
|
|
&& allMap.get(originItem.getHisName()).containsKey(originItem.getHisDetailName())) {
|
|
&& allMap.get(originItem.getHisName()).containsKey(originItem.getHisDetailName())) {
|
|
- retList.addAll(allMap.get(originItem.getHisName()).get(originItem.getHisDetailName()));
|
|
|
|
|
|
+ List<LisConfig> items=allMap.get(originItem.getHisName()).get(originItem.getHisDetailName());
|
|
|
|
+ boolean flag = false;
|
|
|
|
+ for (LisConfig item : items) {
|
|
|
|
+ if (lisPackNames.contains(item.getUniqueName())
|
|
|
|
+ || lisNames.contains(item.getUniqueName())) {
|
|
|
|
+ retList.add(item);
|
|
|
|
+ flag = true;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (!flag) {
|
|
|
|
+ retList.add(originItem);
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
retList.add(originItem);
|
|
retList.add(originItem);
|
|
}
|
|
}
|