package com.yanzhu.jh.project.service;

import java.util.List;
import java.util.Map;

import com.yanzhu.jh.project.domain.SurProjectCheckDetection;

/**
 * 材料送检Service接口
 * 
 * @author JiangYuQi
 * @date 2023-08-31
 */
public interface ISurProjectCheckDetectionService 
{
    /**
     * 查询材料送检
     * 
     * @param id 材料送检主键
     * @return 材料送检
     */
    public SurProjectCheckDetection selectSurProjectCheckDetectionById(Long id);

    /**
     * 查询材料送检列表
     * 
     * @param surProjectCheckDetection 材料送检
     * @return 材料送检集合
     */
    public List<SurProjectCheckDetection> selectSurProjectCheckDetectionList(SurProjectCheckDetection surProjectCheckDetection);

    /**
     * 新增材料送检
     * 
     * @param surProjectCheckDetection 材料送检
     * @return 结果
     */
    public int insertSurProjectCheckDetection(SurProjectCheckDetection surProjectCheckDetection);

    /**
     * 修改材料送检
     * 
     * @param surProjectCheckDetection 材料送检
     * @return 结果
     */
    public int updateSurProjectCheckDetection(SurProjectCheckDetection surProjectCheckDetection);

    /**
     * 批量删除材料送检
     * 
     * @param ids 需要删除的材料送检主键集合
     * @return 结果
     */
    public int deleteSurProjectCheckDetectionByIds(Long[] ids);

    /**
     * 删除材料送检信息
     * 
     * @param id 材料送检主键
     * @return 结果
     */
    public int deleteSurProjectCheckDetectionById(Long id);

    /**
     * 分组查询检测统计
     *
     * @param where 材料送检
     * @return 结果
     */
    public List<SurProjectCheckDetection> groupByCheckType(SurProjectCheckDetection where);

    /**
     * 查询材料送检统计
     *
     * @param surProjectCheckDetection 材料送检
     * @return 材料送检集合
     */
    public Map<String,Object> findGroupCountByApprove(SurProjectCheckDetection surProjectCheckDetection);

    /**
     * 根据项目统计材料送检
     *
     * @param projectId 项目主键
     * @return 结果
     */
    public List<Map<String,Object>> findGroupCountByProjectId(Long projectId);

    public List<SurProjectCheckDetection> getList(SurProjectCheckDetection where);
}
