package com.njcn.csdevice.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.csdevice.param.WlRecordPageParam;
import com.njcn.csdevice.pojo.po.WlRecord;
import com.njcn.csdevice.pojo.vo.CsLedgerVO;
import com.njcn.csdevice.pojo.vo.RecordAllDevTreeVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;

/**
 * <p>
 * 方案、测试项表 Mapper 接口
 * </p>
 *
 * @author xuyang
 * @since 2024-04-01
 */
public interface WlRecordMapper extends BaseMapper<WlRecord> {

    /**
     * 添加测试项中的设备基础数据
     */
    void saveDataRecord(@Param("testRecordId") String testRecordId,@Param("dataRecordId") String dataRecordId);

    /**
     * 删除测试项中的设备基础数据
     */
    void deleteDataRecord(@Param("testRecordId") String testRecordId,@Param("dataRecordId") String dataRecordId);

    /**
     * 根据测试项ID获取设备基础数据集合
     */
    List<String> getDataRecordBytestId(@Param("testRecordId") String testRecordId);

    /**
     * 组装测试项表的tree
     */
    List<RecordAllDevTreeVo> getRecordAll(@Param("wlRecordPageParam")WlRecordPageParam wlRecordPageParam);
    List<RecordAllDevTreeVo.RecordAllLineTreeVo> getRecordAllLine(@Param("wlRecordPageParam")WlRecordPageParam wlRecordPageParam);
    List<RecordAllDevTreeVo.RecordAllTimeTreeVo> getRecordAllTime(@Param("wlRecordPageParam")WlRecordPageParam wlRecordPageParam);

    /**
     * 根据测试项ID或方案ID获取其下关联的所有设备基础数据信息
     */
    List<WlRecord> getDataRecordByTestId(@Param("testRecordId") String testRecordId,@Param("flag") Integer flag);

    List<CsLedgerVO> getAll();

    List<CsLedgerVO> getAllLine(@Param("devId") String devId);

    List<WlRecord> getWlAssByWlId(@Param("wlId") String wlId);
}
