package com.ruoyi.oa.service;

import java.util.List;
import com.ruoyi.oa.domain.CmcProject;

/**
 * cmc项目Service接口
 * 
 * @author cmc
 * @date 2024-01-30
 */
public interface ICmcProjectService 
{
    /**
     * 查询cmc项目
     * 
     * @param projectId cmc项目主键
     * @return cmc项目
     */
    public CmcProject selectCmcProjectByProjectId(String projectId);

    /**
     * 查询cmc项目
     *
     * @param cmcProject cmc项目
     * @return cmc项目列表
     */
    public List<CmcProject> selectCmcProjectByProjectNumbers(CmcProject cmcProject);

    /**
     * 查询cmc项目
     *
     * @param cmcProject cmc项目
     * @return cmc项目列表
     */
    public List<CmcProject> selectListByPaticipates(CmcProject cmcProject);

    /**
     * 查询cmc测绘项目列表
     * 
     * @param cmcProject cmc项目
     * @return cmc项目集合
     */
    public List<CmcProject> selectCmcProjectList(CmcProject cmcProject);

    /**
     * 模糊查询cmc测绘项目列表
     *
     * @param cmcProject cmc项目
     * @return cmc项目集合
     */
    public List<CmcProject> selectCmcProjectListFuzzy(CmcProject cmcProject);

    /**
     * 查询cmc勘察项目列表
     *
     * @param cmcProject cmc项目
     * @return cmc项目集合
     */
    public List<CmcProject> selectCmcInvestProjectList(CmcProject cmcProject);

    /**
     * 查询cmc所有项目列表
     *
     * @param cmcProject cmc项目
     * @return cmc项目集合
     */
    public List<CmcProject> selectCmcAllProjectList(CmcProject cmcProject);

    /**
     * 按时间范围查询cmc项目列表
     *
     * @param cmcProject cmc项目
     * @return cmc项目集合
     */
    public List<CmcProject> selectCmcProjectListByRange(CmcProject cmcProject);

    /**
     * 新增cmc项目
     * 
     * @param cmcProject cmc项目
     * @return 结果
     */
    public int insertCmcProject(CmcProject cmcProject);

    /**
     * 修改cmc项目
     * 
     * @param cmcProject cmc项目
     * @return 结果
     */
    public int updateCmcProject(CmcProject cmcProject);

    /**
     * 批量删除cmc项目
     * 
     * @param projectIds 需要删除的cmc项目主键集合
     * @return 结果
     */
    public int deleteCmcProjectByProjectIds(String[] projectIds);

    /**
     * 删除cmc项目信息
     * 
     * @param projectId cmc项目主键
     * @return 结果
     */
    public int deleteCmcProjectByProjectId(String projectId);
}
