Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSynonymServiceImpl.java
@@ -17,6 +17,7 @@
package com.vci.ubcs.code.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -41,8 +42,10 @@
import org.springblade.core.tool.utils.Func;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
 * 近义词维护 服务实现类
@@ -138,10 +141,39 @@
         .selectAs(CodeClassifyTemplate::getName,CodeClassifyTemplateAttr::getClassifyTemplateOidName)
         .leftJoin(CodeClassifyTemplate.class,CodeTableNameEnum.PL_CODE_CLSTEMPLATE.getText(),CodeClassifyTemplate::getOid,CodeClassifyTemplateAttr::getClassifyTemplateOid)
         .like(CodeClassifyTemplateAttr::getSysonymRuleOids, oid);
      List<CodeClassifyTemplateAttr> voList = codeClassifyTemplateAttrService.selectByWrapper(
         mpjLambdaWrapper
      );
      List<CodeClassifyTemplateAttr> voList = codeClassifyTemplateAttrService.selectByWrapper(mpjLambdaWrapper);
      return CodeClassifyTemplateAttrWrapper.build().listVO(voList);
   }
   @Override
   public String selectNameByWrapper(LambdaQueryWrapper<CodeSynonym> wrappers) {
      List<CodeSynonym> codeSynonymsList = codeSynonymMapper.selectList(wrappers);
      if(codeSynonymsList.isEmpty()){
         return "";
      }
      StringBuilder res = new StringBuilder();
      codeSynonymsList.stream().forEach(item->{
         res.append(item.getName()).append("(").append(item.getId()).append(")").append(",");
      });
      return res.toString().replaceAll(",$", "");
   }
   /**
    * 获取近义词查询规则
    * @return
    */
   @Override
   public Map<String, List<CodeSynonym>> getCodeSynonymByOids(Map<String, CodeClassifyTemplateAttrVO> sysonymAttrMap) {
      if(sysonymAttrMap.isEmpty()){
         return new HashMap<>();
      }
      Map<String, List<CodeSynonym>> resMap = new HashMap<>();
      for (String key : sysonymAttrMap.keySet()) {
         List<String> oids = Func.toStrList(sysonymAttrMap.get(key).getSysonymRuleOids());
         List<CodeSynonym> codeSynonyms = codeSynonymMapper.selectBatchIds(oids);
         resMap.put(key,codeSynonyms);
      }
      return resMap;
   }
}