package com.njcn.gather.detection.service;

import com.njcn.gather.detection.pojo.param.ContrastDetectionParam;
import com.njcn.gather.detection.pojo.param.FormalProgressParam;
import com.njcn.gather.detection.pojo.param.PreDetectionParam;
import com.njcn.gather.detection.pojo.param.SimulateDetectionParam;
import com.njcn.gather.detection.pojo.vo.FormalProgressVO;

import java.util.List;
import java.util.Map;


/**
 * @author wr
 * @description 预检测流程
 * @date 2024/12/10 13:44
 */
public interface PreDetectionService {

    /**
     * 源通讯校验socket入参拼接
     *
     * @param param
     * @Author: wr
     * @Date: 2024/12/11 13:26
     */
    void sourceCommunicationCheck(PreDetectionParam param);


    void coefficientCheck(PreDetectionParam param);


    boolean temStopTest(String userPageId, boolean waitCurrentItem);


    boolean restartTemTest(PreDetectionParam param);

    void saveFormalProgress(FormalProgressParam param);

    FormalProgressVO formalProgress(FormalProgressParam param);

    /**
     * 模拟测试-源通讯校验
     *
     * @param param
     */
    void ytxCheckSimulate(SimulateDetectionParam param);

    /**
     * 模拟测试-向源发送脚本
     *
     * @param param
     */
    void sendScript(SimulateDetectionParam param);

    /**
     * 模拟测试-停止
     *
     * @param param
     */
    void closeTestSimulate(SimulateDetectionParam param);

    /**
     *
     * @param param
     */
    void startContrastTest(ContrastDetectionParam param);

    /**
     * 导出实时数据对齐过程中的数据
     */
    void exportAlignData();

    boolean getCanCoefficient();

    void startCoefficient();
}
