package com.ruoyi.doubledefense.mapper;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.doubledefense.domain.CheckTaskInventory;
import com.ruoyi.doubledefense.dto.res.CheckTasRiskUnitkListDTOForApp;
import com.ruoyi.doubledefense.dto.res.CheckTaskListDTOForApp;
import org.apache.ibatis.annotations.Param;

/**
 * 隐患排查任务清单Mapper接口
 *
 * @author ruoyi
 * @date 2023-08-03
 */
public interface CheckTaskInventoryMapper extends BaseMapper<CheckTaskInventory> {
    /**
     * 废弃改为查询记录表2023年9月6日15:04:28
     * 查询岗位对应的排查任务清单数量（区域纬度）
     *
     * @param postIdList
     * @return
     */
//    public List<CheckTaskListDTOForApp> selectCheckTaskInventoryGroupByPostId(List<Long> postIdList);

    /**
     * 废弃改为查询记录表2023年9月6日15:04:313
     * 查询岗位对应的已完成的排查任务清单数量（区域纬度）
     *
     * @param postIdList
     * @return
     */
//    public List<CheckTaskListDTOForApp> selectCheckTaskInventoryCheckGroupByPostId(List<Long> postIdList);

    /**
     * 查询隐患排查任务清单
     *
     * @param id 隐患排查任务清单主键
     * @return 隐患排查任务清单
     */
    public CheckTaskInventory selectCheckTaskInventoryById(String id);

    /**
     * 查询隐患排查任务清单列表
     *
     * @param checkTaskInventory 隐患排查任务清单
     * @return 隐患排查任务清单集合
     */
    public List<CheckTaskInventory> selectCheckTaskInventoryList(CheckTaskInventory checkTaskInventory);

    /**
     * 新增隐患排查任务清单
     *
     * @param checkTaskInventory 隐患排查任务清单
     * @return 结果
     */
    public int insertCheckTaskInventory(CheckTaskInventory checkTaskInventory);

    /**
     * 修改隐患排查任务清单
     *
     * @param checkTaskInventory 隐患排查任务清单
     * @return 结果
     */
    public int updateCheckTaskInventory(CheckTaskInventory checkTaskInventory);

    /**
     * 删除隐患排查任务清单
     *
     * @param id 隐患排查任务清单主键
     * @return 结果
     */
    public int deleteCheckTaskInventoryById(String id);

    /**
     * 批量删除隐患排查任务清单
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCheckTaskInventoryByIds(String[] ids);


    /**
     * 查询分析单元下排查任务清单列表
     *
     * @param riskUnitId 所属风险单元UUID
     * @return 隐患排查任务清单集合
     */
    List<CheckTaskInventory> selectCheckTaskInventoryListByRistUnitId(@Param("riskUnitId") String riskUnitId);

    int batchInsertCheckTaskInventory(List<CheckTaskInventory> checkTaskInventoryList);
}
