package com.ruoyi.oa.mapper;

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

/**
 * cmc核算单价Mapper接口
 * 
 * @author cmc
 * @date 2025-05-14
 */
public interface CmcCheckPriceMapper 
{
    /**
     * 查询cmc核算单价
     * 
     * @param id cmc核算单价主键
     * @return cmc核算单价
     */
    public CmcCheckPrice selectCmcCheckPriceById(Long id);

    /**
     * 查询cmc核算单价列表
     * 
     * @param cmcCheckPrice cmc核算单价
     * @return cmc核算单价集合
     */
    public List<CmcCheckPrice> selectCmcCheckPriceList(CmcCheckPrice cmcCheckPrice);

    /**
     * 根据工作类别查询单价表
     *
     * @param workType 工作类别
     * @return 单价表
     */
    public List<CmcCheckPrice> selectCmcCheckPriceByWorkType(String workType);

    /**
     * 根据工作内容查询单价表
     *
     * @param workItem 工作内容目
     * @return 单价表
     */
    public List<CmcCheckPrice> selectCmcCheckPriceByWorkItem(String workItem);

    /**
     * 根据比例等级查询出单位、一般地类、复杂地类
     *
     * @param workItem 工作内容
     * @param subItem 内容细项
     * @param scaleGrade 比例等级
     * @return 单价表
     */
    public List<CmcCheckPrice> selectCmcCheckPriceByScaleGrade(String workItem, String subItem, String scaleGrade);

    /**
     * 新增cmc核算单价
     * 
     * @param cmcCheckPrice cmc核算单价
     * @return 结果
     */
    public int insertCmcCheckPrice(CmcCheckPrice cmcCheckPrice);

    /**
     * 修改cmc核算单价
     * 
     * @param cmcCheckPrice cmc核算单价
     * @return 结果
     */
    public int updateCmcCheckPrice(CmcCheckPrice cmcCheckPrice);

    /**
     * 删除cmc核算单价
     * 
     * @param id cmc核算单价主键
     * @return 结果
     */
    public int deleteCmcCheckPriceById(Long id);

    /**
     * 批量删除cmc核算单价
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCmcCheckPriceByIds(Long[] ids);
}
