yuxc
2023-10-11 66d2ab8434203b8141e4a76e1cb663054299afd6
1、相似项后台接口编写。
已修改2个文件
已添加1个文件
437 ■■■■■ 文件已修改
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeResembleRuleController.java 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeResembleRuleService.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java 250 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeResembleRuleController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,114 @@
package com.vci.ubcs.code.controller;
import com.vci.ubcs.code.dto.CodeResembleRuleDTO;
import com.vci.ubcs.code.service.ICodeResembleRuleService;
import com.vci.ubcs.code.vo.pagemodel.CodeResembleRuleVO;
import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
import com.vci.ubcs.starter.web.pagemodel.DataGrid;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import org.springblade.core.tool.api.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Collection;
/**
 * ç›¸ä¼¼æŸ¥è¯¢è§„则控制器
 *
 * @author weidy
 * @date 2022-04-10
 */
@RestController
@RequestMapping("/resembleRuleController")
public class CodeResembleRuleController {
    /**
     * ç›¸ä¼¼æŸ¥è¯¢è§„则 æœåŠ¡
     */
    @Resource
    private ICodeResembleRuleService codeResembleRuleService;
    /**
     * ç›¸ä¼¼æŸ¥è¯¢è§„则列表
     * @param baseQueryObject åŸºç¡€æŸ¥è¯¢å¯¹è±¡ï¼ŒåŒ…含查询条件,分页,排序等
     * @return ç›¸ä¼¼æŸ¥è¯¢è§„则显示对象列表
     */
    @GetMapping("/gridCodeResembleRule")
    public DataGrid<CodeResembleRuleVO> gridCodeResembleRule(BaseQueryObject baseQueryObject){
        if(baseQueryObject == null){
            baseQueryObject = new BaseQueryObject();
        }
        return codeResembleRuleService.gridCodeResembleRule(baseQueryObject.getConditionMap(),baseQueryObject.getPageHelper());
    }
    /**
     * å¢žåŠ  ç›¸ä¼¼æŸ¥è¯¢è§„则
     * @param codeResembleRuleDTO ç›¸ä¼¼æŸ¥è¯¢è§„则数据传输对象
     * @return æ‰§è¡Œç»“果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象
     */
    @PostMapping( "/addSave")
    public R<CodeResembleRuleVO> addSave(@RequestBody CodeResembleRuleDTO codeResembleRuleDTO){
        CodeResembleRuleVO codeResembleRuleVO = codeResembleRuleService.addSave(codeResembleRuleDTO);
        return R.data(codeResembleRuleVO);
    }
    /**
     * ä¿®æ”¹ ç›¸ä¼¼æŸ¥è¯¢è§„则
     * @param codeResembleRuleDTO ç›¸ä¼¼æŸ¥è¯¢è§„则数据传输对象
     * @return æ‰§è¡Œç»“果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象
     */
    @PutMapping("/editSave")
    public R<CodeResembleRuleVO> editSave(@RequestBody CodeResembleRuleDTO codeResembleRuleDTO){
        CodeResembleRuleVO codeResembleRuleVO = codeResembleRuleService.editSave(codeResembleRuleDTO);
        return R.data(codeResembleRuleVO);
    }
    /**
     * åˆ é™¤ç›¸ä¼¼æŸ¥è¯¢è§„则
     * @param codeResembleRuleDTO ç›¸ä¼¼æŸ¥è¯¢è§„则数据传输对象,oid和ts需要传输
     * @return åˆ é™¤ç»“果反馈::success:成功,fail:失败
     */
    @DeleteMapping( "/deleteData")
    public R delCodeResembleRule( CodeResembleRuleDTO codeResembleRuleDTO) {
        return codeResembleRuleService.deleteCodeResembleRule(codeResembleRuleDTO);
    }
    /**
     * ä¸»é”®èŽ·å–ç›¸ä¼¼æŸ¥è¯¢è§„åˆ™
     * @param oid ä¸»é”®
     * @return ç›¸ä¼¼æŸ¥è¯¢è§„则显示对象
     */
    @GetMapping("/getObjectByOid")
    public R<CodeResembleRuleVO> getObjectByOid(String oid){
        CodeResembleRuleVO codeResembleRuleVO = codeResembleRuleService.getObjectByOid(oid);
        return R.data(codeResembleRuleVO);
    }
    /**
     * ä¸»é”®æ‰¹é‡èŽ·å–ç›¸ä¼¼æŸ¥è¯¢è§„åˆ™
     * @param oids ä¸»é”®ï¼Œå¤šä¸ªä»¥é€—号分隔,但是受性能影响,建议一次查询不超过10000个
     * @return ç›¸ä¼¼æŸ¥è¯¢è§„则显示对象
     */
    @GetMapping("/listDataByOids")
    public R<CodeResembleRuleVO> listCodeResembleRuleByOids(String oids){
        Collection<CodeResembleRuleVO> voCollection =  codeResembleRuleService.listCodeResembleRuleByOids(VciBaseUtil.str2List(oids));
        R baseResult = R.success("查询成功!");
        baseResult.setData(voCollection);
        return  baseResult;
    }
    /**
     * å‚照相似查询规则列表
     * @param baseQueryObject åŸºç¡€æŸ¥è¯¢å¯¹è±¡ï¼ŒåŒ…含查询条件,分页,排序等
     * @return ç›¸ä¼¼æŸ¥è¯¢è§„则显示对象列表,生效的内容
     */
    @GetMapping("/refDataGrid")
    public DataGrid<CodeResembleRuleVO> refDataGridCodeResembleRule(BaseQueryObject baseQueryObject){
        if(baseQueryObject == null){
            baseQueryObject = new BaseQueryObject();
        }
        return codeResembleRuleService.refDataGridCodeResembleRule(baseQueryObject.getConditionMap(),baseQueryObject.getPageHelper());
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeResembleRuleService.java
@@ -1,10 +1,18 @@
package com.vci.ubcs.code.service;
import com.github.yulichang.base.MPJBaseService;
import com.vci.ubcs.code.dto.CodeResembleRuleDTO;
import com.vci.ubcs.code.entity.CodeReferConfig;
import com.vci.ubcs.code.entity.CodeResembleRule;
import com.vci.ubcs.code.vo.pagemodel.CodeResembleRuleVO;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.web.pagemodel.DataGrid;
import com.vci.ubcs.starter.web.pagemodel.PageHelper;
import org.springblade.core.tool.api.R;
import java.util.Collection;
import java.util.List;
import java.util.Map;
public interface ICodeResembleRuleService  extends MPJBaseService<CodeResembleRule>  {
    CodeResembleRuleVO getObjectByOid(String codeResembleRuleOid);
@@ -17,4 +25,67 @@
     */
    CodeResembleRuleVO codeResembleRuleDO2VO(CodeResembleRule codeResembleRuleDO) throws VciBaseException;
    }
    /**
     * æŸ¥è¯¢æ‰€æœ‰çš„相似查询规则
     * @param conditionMap æŸ¥è¯¢æ¡ä»¶
     * @param pageHelper åˆ†é¡µå’ŒæŽ’序
     * @return æ‰§è¡Œç»“æžœ
     * @throws VciBaseException æŸ¥è¯¢æ¡ä»¶å’Œåˆ†é¡µå‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    DataGrid<CodeResembleRuleVO> gridCodeResembleRule(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException;
    /**
     * æ‰¹é‡æ•°æ®å¯¹è±¡è½¬æ¢ä¸ºæ˜¾ç¤ºå¯¹è±¡
     * @param codeResembleRuleDOs æ•°æ®å¯¹è±¡åˆ—表
     * @return æ˜¾ç¤ºå¯¹è±¡
     * @throws VciBaseException å‚数为空或者不存在的时候会抛出异常
     */
    List<CodeResembleRuleVO> codeResembleRuleDO2VOs(Collection<CodeResembleRule> codeResembleRuleDOs) throws VciBaseException;
    /**
     * å¢žåŠ ç›¸ä¼¼æŸ¥è¯¢è§„åˆ™
     * @param codeResembleRuleDTO ç›¸ä¼¼æŸ¥è¯¢è§„则数据传输对象
     * @return æ‰§è¡Œç»“æžœ
     * @throws VciBaseException å‚数为空,唯一项,必输项不通过时会抛出异常
     */
    CodeResembleRuleVO addSave(CodeResembleRuleDTO codeResembleRuleDTO) throws VciBaseException;
    /**
     * ä¿®æ”¹ç›¸ä¼¼æŸ¥è¯¢è§„则
     * @param codeResembleRuleDTO ç›¸ä¼¼æŸ¥è¯¢è§„则数据传输对象
     * @return æ‰§è¡Œç»“æžœ
     * @throws VciBaseException å‚数为空,唯一项,必输项不通过时会抛出异常
     */
    CodeResembleRuleVO editSave(CodeResembleRuleDTO codeResembleRuleDTO) throws VciBaseException;
    /**
     * åˆ é™¤ç›¸ä¼¼æŸ¥è¯¢è§„则
     * @param codeResembleRuleDTO ç›¸ä¼¼æŸ¥è¯¢è§„则数据传输对象,oid和ts需要传输
     * @return åˆ é™¤ç»“果反馈::success:成功,fail:失败
     * @throws VciBaseException å‚数为空,被引用时抛出异常
     */
    R deleteCodeResembleRule(CodeResembleRuleDTO codeResembleRuleDTO) throws VciBaseException;
    /**
     * ä¸»é”®æ‰¹é‡èŽ·å–ç›¸ä¼¼æŸ¥è¯¢è§„åˆ™
     * @param oidCollections ä¸»é”®é›†åˆï¼Œä½†æ˜¯å—性能影响,建议一次查询不超过10000个
     * @return ç›¸ä¼¼æŸ¥è¯¢è§„则显示对象
     * @throws VciBaseException æŸ¥è¯¢å‡ºçŽ°å¼‚å¸¸æ—¶ä¼šæŠ›å‡º
     */
    Collection<CodeResembleRuleVO> listCodeResembleRuleByOids(Collection<String> oidCollections) throws VciBaseException;
    /**
     * å‚照相似查询规则列表
     * @param conditionMap æŸ¥è¯¢æ¡ä»¶
     * @param pageHelper åˆ†é¡µå’ŒæŽ’序
     * @return ç›¸ä¼¼æŸ¥è¯¢è§„则显示对象列表,生效的内容
     * @throws VciBaseException æŸ¥è¯¢æ¡ä»¶å’Œåˆ†é¡µå‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    DataGrid<CodeResembleRuleVO> refDataGridCodeResembleRule(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException;
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java
@@ -1,6 +1,10 @@
package com.vci.ubcs.code.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.vci.ubcs.code.dto.CodeResembleRuleDTO;
import com.vci.ubcs.code.entity.CodeReferConfig;
import com.vci.ubcs.code.entity.CodeResembleRule;
import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus;
@@ -8,13 +12,27 @@
import com.vci.ubcs.code.mapper.CodeResembleRuleMapper;
import com.vci.ubcs.code.service.ICodeResembleRuleService;
import com.vci.ubcs.code.vo.pagemodel.CodeResembleRuleVO;
import com.vci.ubcs.omd.entity.BtmType;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
import com.vci.ubcs.starter.web.pagemodel.DataGrid;
import com.vci.ubcs.starter.web.pagemodel.PageHelper;
import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.DATA_OID_NOT_EXIST;
import java.util.*;
import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.*;
/**
 * ç›¸ä¼¼æŸ¥è¯¢è§„则服务
@@ -23,6 +41,14 @@
 */
@Service
public class CodeResembleRuleServiceImpl extends MPJBaseServiceImpl<CodeResembleRuleMapper, CodeResembleRule> implements ICodeResembleRuleService {
    /**
     * å¯¹è±¡çš„æ“ä½œ
     */
    @Autowired
    private RevisionModelUtil revisionModelUtil;
    @Override
    public CodeResembleRuleVO getObjectByOid(String oid) {
        return codeResembleRuleDO2VO(selectByOid(oid));
@@ -62,4 +88,226 @@
        }
        return vo;
    }
    /**
     * æŸ¥è¯¢æ‰€æœ‰çš„相似查询规则
     * @param conditionMap æŸ¥è¯¢æ¡ä»¶
     * @param pageHelper åˆ†é¡µå’ŒæŽ’序
     * @return æ‰§è¡Œç»“æžœ
     * @throws VciBaseException æŸ¥è¯¢æ¡ä»¶å’Œåˆ†é¡µå‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    @Override
    public DataGrid<CodeResembleRuleVO> gridCodeResembleRule(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{
        if (pageHelper == null) {
            pageHelper = new PageHelper(-1);
        }
        Query query = new Query();
        query.setSize(pageHelper.getLimit());
        query.setCurrent(pageHelper.getPage());
        query.setDescs("createTime");
        Map<String, Object> condition = new HashMap<>(conditionMap);
        List<CodeResembleRule> doList = baseMapper.selectPage(Condition.getPage(query),Condition.getQueryWrapper(condition, CodeResembleRule.class)).getRecords();
        DataGrid<CodeResembleRuleVO> dataGrid=new DataGrid<CodeResembleRuleVO>();
        if (!CollectionUtils.isEmpty(doList)) {
            dataGrid.setData(codeResembleRuleDO2VOs(doList));
            dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(baseMapper.selectCount(Condition.getQueryWrapper(condition, CodeResembleRule.class)))));
        }
        return dataGrid;
    }
    /**
     * æ‰¹é‡æ•°æ®å¯¹è±¡è½¬æ¢ä¸ºæ˜¾ç¤ºå¯¹è±¡
     * @param codeResembleRuleDOs æ•°æ®å¯¹è±¡åˆ—表
     * @return æ˜¾ç¤ºå¯¹è±¡
     * @throws VciBaseException å‚数为空或者不存在的时候会抛出异常
     */
    @Override
    public List<CodeResembleRuleVO> codeResembleRuleDO2VOs(Collection<CodeResembleRule> codeResembleRuleDOs) throws VciBaseException{
        List<CodeResembleRuleVO> voList = new ArrayList<CodeResembleRuleVO>();
        if(!CollectionUtils.isEmpty(codeResembleRuleDOs)){
            for(CodeResembleRule s: codeResembleRuleDOs){
                CodeResembleRuleVO vo =  codeResembleRuleDO2VO(s);
                if(vo != null){
                    voList.add(vo);
                }
            }
        }
        return voList;
    }
//    /**
//     * æ•°æ®å¯¹è±¡è½¬æ¢ä¸ºæ˜¾ç¤ºå¯¹è±¡
//     * @param  codeResembleRuleDO æ•°æ®å¯¹è±¡
//     * @return æ˜¾ç¤ºå¯¹è±¡
//     * @throws VciBaseException æ‹·è´å±žæ€§å‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
//     */
//    @Override
//    public  CodeResembleRuleVO codeResembleRuleDO2VO(CodeResembleRule codeResembleRuleDO) throws VciBaseException{
//        CodeResembleRuleVO vo = new CodeResembleRuleVO();
//        if(codeResembleRuleDO != null){
//            BeanUtilForVCI.copyPropertiesIgnoreCase(codeResembleRuleDO,vo);
//            //如果有lcstatus的类的话
//            vo.setLcStatusText(FrameworkDataLCStatus.getTextByValue(vo.getLcStatus()));
//
//        }
//        return vo;
//    }
    /**
     * å¢žåŠ ç›¸ä¼¼æŸ¥è¯¢è§„åˆ™
     * @param codeResembleRuleDTO ç›¸ä¼¼æŸ¥è¯¢è§„则数据传输对象
     * @return æ‰§è¡Œç»“æžœ
     * @throws VciBaseException å‚数为空,唯一项,必输项不通过时会抛出异常
     */
    @Override
    public CodeResembleRuleVO addSave(CodeResembleRuleDTO codeResembleRuleDTO) throws VciBaseException{
        VciBaseUtil.alertNotNull(codeResembleRuleDTO,"需要添加的数据对象");
        //将DTO转换为DO
        CodeResembleRule codeResembleRuleDO = new CodeResembleRule();
        BeanUtilForVCI.copyPropertiesIgnoreCase(codeResembleRuleDTO,codeResembleRuleDO);
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeResembleRuleDO, MdmBtmTypeConstant.CODE_RESEMBLE_RULE);
        codeResembleRuleDO.setTenantId(AuthUtil.getTenantId());
        codeResembleRuleDO.setLctid("frameworkDataLc");
        codeResembleRuleDO.setLcStatus("Enabled");
        codeResembleRuleDO.setOwner(AuthUtil.getUser().getUserName());
        codeResembleRuleDO.setLastModifier(AuthUtil.getUser().getUserName());
        baseMapper.insert(codeResembleRuleDO);
        return codeResembleRuleDO2VO(codeResembleRuleDO);
    }
    /**
     * ä¿®æ”¹ç›¸ä¼¼æŸ¥è¯¢è§„则
     * @param codeResembleRuleDTO ç›¸ä¼¼æŸ¥è¯¢è§„则数据传输对象
     * @return æ‰§è¡Œç»“æžœ
     * @throws VciBaseException å‚数为空,唯一项,必输项不通过时会抛出异常
     */
    @Override
    public CodeResembleRuleVO editSave(CodeResembleRuleDTO codeResembleRuleDTO) throws VciBaseException{
        VciBaseUtil.alertNotNull(codeResembleRuleDTO,"数据对象",codeResembleRuleDTO.getOid(),"相似查询规则主键");
        //将DTO转换为DO
        CodeResembleRule codeResembleRuleDO = selectByOid(codeResembleRuleDTO.getOid());
        revisionModelUtil.copyFromDTOIgnore(codeResembleRuleDTO,codeResembleRuleDO);
        codeResembleRuleDO.setLastModifier(AuthUtil.getUser().getUserName());
        codeResembleRuleDO.setLastModifyTime(new Date());
        codeResembleRuleDO.setTs(new Date());
        baseMapper.updateById(codeResembleRuleDO);
        return codeResembleRuleDO2VO(codeResembleRuleDO);
    }
    /**
     * æ ¡éªŒæ˜¯å¦å¯ä»¥åˆ é™¤ï¼Œå¦‚果存在下级,并且下级有数据引用则不能删除
     * @param codeResembleRuleDTO æ•°æ®ä¼ è¾“对象
     * @param codeResembleRuleDO æ•°æ®åº“中的数据对象
     * @return success为true为可以删除,false表示有数据引用,obj为true表示有下级
     */
    private R checkIsCanDeleteForDO(CodeResembleRuleDTO codeResembleRuleDTO, CodeResembleRule codeResembleRuleDO) {
        CodeResembleRule tsDO = new CodeResembleRule();
        BeanUtilForVCI.copyPropertiesIgnoreCase(codeResembleRuleDTO,tsDO);
//        boService.checkTs(tsDO);
//        QueryWrapper<CodeResembleRule> wrapper = new QueryWrapper<>();
//        wrapper.eq("oid",tsDO.getOid());
//        wrapper.eq("ts",tsDO.getTs());
        if(!checkIsLinked(codeResembleRuleDO.getOid())) {
            return R.success("可以删除!");
        }else{
            return R.fail(DATA_LINKED_NOT_DELETE);
        }
    }
    /**
     * æ ¡éªŒæ˜¯å¦è¢«å¼•用
     * @param oid ä¸»é”®
     * @throws VciBaseException è¢«å¼•用的时候会抛出异常
     */
    private boolean checkIsLinked(String oid) throws VciBaseException{
        //TODO æ·»åŠ éœ€è¦æ ¡éªŒå¼•ç”¨çš„åœ°æ–¹
        return false;
    }
    /**
     * åˆ é™¤ç›¸ä¼¼æŸ¥è¯¢è§„则
     * @param codeResembleRuleDTO ç›¸ä¼¼æŸ¥è¯¢è§„则数据传输对象,oid和ts需要传输
     * @return åˆ é™¤ç»“果反馈::success:成功,fail:失败
     * @throws VciBaseException å‚数为空,被引用时抛出异常
     */
    @Override
    public R deleteCodeResembleRule(CodeResembleRuleDTO codeResembleRuleDTO) throws VciBaseException{
        VciBaseUtil.alertNotNull(codeResembleRuleDTO,"相似查询规则数据对象",codeResembleRuleDTO.getOid(),"相似查询规则的主键");
        CodeResembleRule codeResembleRuleDO = selectByOid(codeResembleRuleDTO.getOid());
        R baseResult = checkIsCanDeleteForDO(codeResembleRuleDTO,codeResembleRuleDO);
        if(baseResult.isSuccess()) {
        }else{
            return baseResult;
        }
        //执行删除操作
//        BatchCBO batchCBO = codeResembleRuleMapper.deleteByPrimaryKey(codeResembleRuleDO.getOid());
        int i = baseMapper.deleteById(codeResembleRuleDO.getOid());
        return (i > 0)?R.success(DELETE_SUCCESS):R.fail(DELETE_FAIL);
    }
//    /**
//     * ä¸»é”®æŸ¥è¯¢æ•°æ®å¯¹è±¡
//     * @param oid ä¸»é”®
//     * @return  æ•°æ®å¯¹è±¡
//     * @throws VciBaseException å‚数为空,并且数据不存在的时候会抛出异常
//     */
//    private CodeResembleRule selectByOid(String oid) throws VciBaseException{
//        VciBaseUtil.alertNotNull(oid,"主键");
//        CodeResembleRule codeResembleRuleDO = codeResembleRuleMapper.selectByPrimaryKey(oid.trim());
//        if(codeResembleRuleDO == null || StringUtils.isBlank(codeResembleRuleDO.getOid())){
//            throw new VciBaseException(DATA_OID_NOT_EXIST);
//        }
//        return codeResembleRuleDO;
//    }
    /**
     * ä¸»é”®æ‰¹é‡èŽ·å–ç›¸ä¼¼æŸ¥è¯¢è§„åˆ™
     * @param oidCollections ä¸»é”®é›†åˆï¼Œä½†æ˜¯å—性能影响,建议一次查询不超过10000个
     * @return ç›¸ä¼¼æŸ¥è¯¢è§„则显示对象
     * @throws VciBaseException æŸ¥è¯¢å‡ºçŽ°å¼‚å¸¸æ—¶ä¼šæŠ›å‡º
     */
    @Override
    public Collection<CodeResembleRuleVO> listCodeResembleRuleByOids(Collection<String> oidCollections) throws VciBaseException{
        VciBaseUtil.alertNotNull(oidCollections,"数据对象主键集合");
        List<CodeResembleRule> codeResembleRuleDOList = listCodeResembleRuleDOByOidCollections(oidCollections);
        return codeResembleRuleDO2VOs(codeResembleRuleDOList);
    }
    /**
     * ä½¿ç”¨ä¸»é”®é›†åˆæŸ¥è¯¢æ•°æ®å¯¹è±¡
     * @param oidCollections ä¸»é”®çš„集合
     * @return æ•°æ®å¯¹è±¡åˆ—表
     */
    private List<CodeResembleRule> listCodeResembleRuleDOByOidCollections(Collection<String> oidCollections){
        List<CodeResembleRule> codeResembleRuleDOList = new ArrayList<CodeResembleRule>();
        if(!CollectionUtils.isEmpty(oidCollections)){
            Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections);
            for(Collection<String> oids: oidCollectionsList){
                List<CodeResembleRule> tempDOList =  baseMapper.selectBatchIds(oids);
                if(!CollectionUtils.isEmpty(tempDOList)){
                    codeResembleRuleDOList.addAll(tempDOList);
                }
            }
        }
        return  codeResembleRuleDOList;
    }
    /**
     * å‚照相似查询规则列表
     * @param conditionMap æŸ¥è¯¢æ¡ä»¶
     * @param pageHelper åˆ†é¡µå’ŒæŽ’序
     * @return ç›¸ä¼¼æŸ¥è¯¢è§„则显示对象列表,生效的内容
     * @throws VciBaseException æŸ¥è¯¢æ¡ä»¶å’Œåˆ†é¡µå‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    @Override
    public DataGrid<CodeResembleRuleVO> refDataGridCodeResembleRule(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{
        if(conditionMap == null){
            conditionMap = new HashMap<String, String>();
        }
        return gridCodeResembleRule(conditionMap,pageHelper);
    }
}