package com.artfess.rescue.patrol.manager;

import com.artfess.base.query.PageList;
import com.artfess.base.query.QueryFilter;
import com.artfess.rescue.event.dto.InspectionInfoDto;
import com.artfess.rescue.patrol.dto.GzPushDataDTO;
import com.artfess.rescue.patrol.model.BizInspectionResult;
import com.artfess.rescue.patrol.model.BizInspectionResultDetail;
import com.artfess.base.manager.BaseManager;
import com.artfess.rescue.patrol.vo.ResultLedgerVO;

import java.util.List;

/**
 * 巡检任务结果记录表 服务类
 *
 * @company 阿特菲斯信息技术有限公司
 * @author 系统管理员
 * @since 2024-08-02
 */
public interface BizInspectionResultDetailManager extends BaseManager<BizInspectionResultDetail> {

    List<BizInspectionResultDetail> findByResultId(String resultId);

    PageList<BizInspectionResultDetail> findByPage(QueryFilter<BizInspectionResultDetail> queryFilter);

    BizInspectionResultDetail findById(String id);

    List<BizInspectionResultDetail> findByList(String taskId);

    /**
     * 接单操作
     * @param t
     * @return
     */
    boolean accept(InspectionInfoDto t);

    /**
     * 完结操作
     * @param t
     * @return
     */
    boolean end(InspectionInfoDto t);

    /**
     * 新增操作
     * @param entity
     * @return
     */
    boolean saveInfo(BizInspectionResultDetail entity);

    /**
     * 异常点位列表
     * @param queryFilter
     * @return
     */
    PageList<BizInspectionResultDetail> issuePatrolList(QueryFilter<BizInspectionResultDetail> queryFilter);

    /**
     * 台账-》根据任务查询相应的详情数据
     * @param taskIds
     * @return
     */
    List<ResultLedgerVO> getResultDetails(List<String> taskIds);

    GzPushDataDTO addGzData(BizInspectionResult result);

}
