package com.persagy.dmp.codetable.service;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.persagy.dmp.codetable.entity.CodeTableData;

import java.util.List;

/**
 * 码表数据 service
 * @author Charlie Yu
 * @date 2021-07-27
 */
public interface ICodeTableDataService {

    /**
     * 新增
     * @param vo
     * @return
     */
    CodeTableData insert(CodeTableData vo);

    /**
     * 修改
     * @param vo
     * @return
     */
    CodeTableData update(CodeTableData vo);

    /**
     * 删除
     * @param id
     */
    void delete(String id);

    /**
     * 通过ID查询
     * @param id 主键
     * @return
     */
    CodeTableData load(String id);

    /**
     * 按条件查询
     * @param queryWrapper 查询条件
     * @return 列表
     */
    List<CodeTableData> queryByCondition(Wrapper<CodeTableData> queryWrapper);

    /**
     * 通过类型查询所有码表数据
     * @param projectId 项目ID
     * @param typeCode 码表类型编码
     * @return 码表数据。如果为树型，则返回树型结果
     */
    List<CodeTableData> queryAllByTypeCode(String projectId, String typeCode);
}
