yuxc
2023-05-19 029b101d319812460441d3d706c0654d8b0dcda6
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodePhaseAttrServiceImpl.java
@@ -16,13 +16,21 @@
 */
package com.vci.ubcs.code.service.impl;
import com.alibaba.nacos.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.constant.MdmBtmTypeConstant;
import com.vci.ubcs.code.entity.CodePhaseAttr;
import com.vci.ubcs.code.mapper.CodePhaseAttrMapper;
import com.vci.ubcs.code.service.ICodePhaseAttrService;
import com.vci.ubcs.code.vo.pagemodel.CodePhaseAttrVO;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.*;
import java.util.stream.Collectors;
/**
 * 编码库定义-模板阶段-属性 服务实现类
@@ -38,5 +46,26 @@
      return page.setRecords(baseMapper.selectCodePhaseattrPage(page, codePhaseAttr));
   }
   /**
    * 使用模板主键和阶段编号获取包含的属性
    *
    * @param templateOid 模板的编号
    * @param phaseId     阶段的编号
    * @return 属性的英文名称
    */
   @Override
   public List<String> listAttrByTemplateOidAndPhaseId(String templateOid, String phaseId) {
      if(StringUtils.isBlank(templateOid)|| StringUtils.isBlank(phaseId)){
         return new ArrayList<>();
      }
      QueryWrapper<CodePhaseAttr> wrapper = new QueryWrapper();
      wrapper.inSql("codephaseoid","select oid from pl_code_tempphase where codeClassifyTemplateOid ='" + templateOid + "' and lower(name) ='" + phaseId.trim().toLowerCase(Locale.ROOT) + "'");
//      Map<String,String> conditionMap = new HashMap<>();
//      conditionMap.put("codephaseoid", QueryOptionConstant.IN + "(select oid from pl_code_tempphase where codeClassifyTemplateOid ='" + templateOid + "' and lower(name) ='" + phaseId.trim().toLowerCase(Locale.ROOT) + "')");
//      PageHelper pageHelper = new PageHelper(-1);
      List<CodePhaseAttr> attrDOS = baseMapper.selectList(wrapper);
      return CollectionUtils.isEmpty(attrDOS)?new ArrayList<>():attrDOS.stream().map(CodePhaseAttr::getId).collect(Collectors.toList());
   }
}