package com.goer.project.model.modelVersion.service;

import java.util.List;
import com.goer.project.model.modelVersion.domain.ModelVersion;
import com.goer.project.model.modelVersion.domain.VersionScript;

/**
 * 模型对象版本号Service接口
 * 
 * @author goer
 * @date 2022-01-17
 */
public interface IModelVersionService 
{
    /**
     * 查询模型对象版本号
     * 
     * @param id 模型对象版本号主键
     * @return 模型对象版本号
     */
    public ModelVersion selectModelVersionById(Long id);

    /**
     * 查询模型对象版本号列表
     * 
     * @param modelVersion 模型对象版本号
     * @return 模型对象版本号集合
     */
    public List<ModelVersion> selectModelVersionList(ModelVersion modelVersion);

    /**
     * 新增模型对象版本号
     * 
     * @param modelVersion 模型对象版本号
     * @return 结果
     */
    public int insertModelVersion(ModelVersion modelVersion);

    /**
     * 修改模型对象版本号
     * 
     * @param modelVersion 模型对象版本号
     * @return 结果
     */
    public int updateModelVersion(ModelVersion modelVersion);

    /**
     * 批量删除模型对象版本号
     * 
     * @param ids 需要删除的模型对象版本号主键集合
     * @return 结果
     */
    public int deleteModelVersionByIds(String ids);

    /**
     * 删除模型对象版本号信息
     * 
     * @param id 模型对象版本号主键
     * @return 结果
     */
    public int deleteModelVersionById(Long id);

    /**
     * 查询模型对象版本号列表(带变更明细)
     *
     * @param modelVersion 模型对象版本号
     * @return 模型对象版本号集合
     */
    public List<ModelVersion> selectModelVersionWithDetailList(ModelVersion modelVersion);

    /**
     * 根据版本好创建对应的sql脚本
     *
     * @param modelVersion
     * @return
     */
    public ModelVersion buildVersionScript(ModelVersion modelVersion);
}
