package com.energy.manage.service.mappers.analysis;

import com.energy.manage.common.mapper.MyMapper;
import com.energy.manage.common.po.analysis.AnalysisResultPo;
import com.energy.manage.service.domain.dto.analysis.AnalysisDto;
import com.energy.manage.service.domain.dto.analysis.AnalysisResultDto;
import com.energy.manage.service.domain.vo.analysis.AnalysisResultVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author chy
 * @date 2024/5/23 13:03
 * @desc
 */
@Repository
public interface AnalysisResultMapper extends MyMapper<AnalysisResultPo> {

    /**
     * 查询分析结果
     * @param analysisResultDto
     * @return
     */
    List<AnalysisResultVo> selectByCondition(AnalysisResultDto analysisResultDto);


    /**
     * 查询分析中的数据量
     * @return
     */
    int selectAlasisingCount();

    /**
     * 查询风场最新批次的分析结果
     * @param fieldCodes
     * @return
     */
    List<AnalysisResultVo> selectLastBatchResultByFieldCode(@Param("fieldCodes") List<String> fieldCodes);


    /**
     * 更新自动分析状态
     * @param batchCode
     * @return
     */
    int updateCallStatus(@Param("batchCode")String batchCode);

    /**
     * 是否开启自动分析
     * @param batchCode
     * @return
     */
    int updateOnOffCall(@Param("batchCode")String batchCode, @Param("onOffCall") Integer onOffCall);

    /**
     * 更新为排队中状态
     * @param batchCode
     * @return
     */
    int updateAnalysisState(@Param("batchCode") String batchCode);

    /**
     * 数据筛选更新
     * @param analysisDto
     * @return
     */
    int updateByBatchCode(AnalysisDto analysisDto);

}
