package com.artfess.rescue.patrol.dao;

import com.artfess.rescue.patrol.model.BizInspectionResultDetail;
import com.artfess.rescue.patrol.vo.IssuePatrolVO;
import com.artfess.rescue.patrol.vo.ResultLedgerVO;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDate;
import java.util.List;

/**
 * 巡检任务结果记录表 Mapper 接口
 *
 * @company 阿特菲斯信息技术有限公司
 * @author 系统管理员
 * @since 2024-08-02
 */
public interface BizInspectionResultDetailDao extends BaseMapper<BizInspectionResultDetail> {

    List<BizInspectionResultDetail> findByResultId(@Param("resultId") String resultId);

    List<BizInspectionResultDetail> findByTaskId(@Param("taskId") String taskId);

    IPage<BizInspectionResultDetail> findByPage(IPage<BizInspectionResultDetail> convert2IPage,@Param(Constants.WRAPPER) QueryWrapper<BizInspectionResultDetail> convert2Wrapper);

    BizInspectionResultDetail findById(@Param("id") String id);

    List<BizInspectionResultDetail> findByList(@Param("taskId") String taskId);

    IssuePatrolVO issuePatrol(@Param("startTime") LocalDate startTime, @Param("endTime")LocalDate endTime, @Param("orgList")List<String> orgList);

    /**
     * @param convert2IPage
     * @param convert2Wrapper
     * @return
     */
    IPage<BizInspectionResultDetail> issuePatrolList(IPage<BizInspectionResultDetail> convert2IPage,@Param(Constants.WRAPPER) Wrapper<BizInspectionResultDetail> convert2Wrapper);

    List<ResultLedgerVO> getResultDetails(@Param("taskIds")List<String> taskIds);
}
