

package com.lutao.cloud.oil.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lutao.cloud.common.data.datascope.CloudBaseMapper;
import com.lutao.cloud.oil.pojo.param.ProblemCheckPieParam;
import com.lutao.cloud.oil.pojo.vo.FourProblemCheckVO;
import com.lutao.cloud.oil.pojo.vo.ProblemRectifyStatusCheckVO;
import com.lutao.cloud.oil.pojo.vo.ProblemRectifyStatusVO;
import com.lutao.entity.ProblemRectificationDetail;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 问题隐患闭环管理信息
 *
 * @author guoyc
 * @date 2023-07-20 10:57:59
 */
@Mapper
public interface ProblemRectificationDetailMapper extends CloudBaseMapper<ProblemRectificationDetail> {


    /**
     * 问题隐患整改情况--深度评估
     *
     * @param page       页面
     * @param platformId 平台id
     * @return {@link List}<{@link ProblemRectifyStatusVO}>
     */
    IPage<ProblemRectifyStatusVO>  selectProblemRectifyStatus(Page page,
                                                              @Param("platformId") String platformId,
                                                              @Param("appId") String appId,
                                                              @Param("evaluationType") String evaluationType,
                                                              @Param("year") String year,
                                                              @Param("oilGasName")String oilGasName,
                                                              @Param("operatingCompany")String operatingCompany
    );

    /**
     * 问题隐患整改--分部检查
     *
     * @param page       页面
     * @param platformId 平台id
     * @param appId      应用程序id
     * @return {@link IPage}<{@link ProblemRectifyStatusCheckVO}>
     */
    IPage<ProblemRectifyStatusCheckVO> selectProblemRectifyStatusCheck(Page page,
                                                                       @Param("platformId") String platformId,
                                                                       @Param("appId") String appId,
                                                                       @Param("year") String year,
                                                                       @Param("oilGasName")String oilGasName,
                                                                       @Param("operatingCompany")String operatingCompany
    );

    /**
     * 深评整治未整治数量
     *
     * @param param param
     * @return {@link List }<{@link FourProblemCheckVO }>
     */
    List<FourProblemCheckVO> deepEvaluation(@Param("param") ProblemCheckPieParam param);

    /**
     * 自评整治未整治数量
     *
     * @param param param
     * @return {@link List }<{@link FourProblemCheckVO }>
     */
    List<FourProblemCheckVO> selfEvaluation(@Param("param") ProblemCheckPieParam param);

    /**
     * 分部整治未整治数量
     *
     * @param param param
     * @return {@link List }<{@link FourProblemCheckVO }>
     */
    List<FourProblemCheckVO> divisionEvaluation(@Param("param") ProblemCheckPieParam param);

    /**
     * 部级督导整治未整治数量
     *
     * @param param param
     * @return {@link List }<{@link FourProblemCheckVO }>
     */
    List<FourProblemCheckVO> ministerEvaluation(@Param("param") ProblemCheckPieParam param);
}
