package com.zg.project.inventory.AutoInventory.mapper;

import com.zg.project.inventory.domain.dto.MatchScanPageDTO;
import com.zg.project.inventory.domain.entity.InventoryMatchScan;
import com.zg.project.inventory.domain.entity.Sod;
import com.zg.project.inventory.domain.vo.InventoryMatchScanSimpleVO;
import com.zg.project.inventory.domain.vo.InventoryMatchScanVO;
import com.zg.project.inventory.domain.vo.RkInfoMatchVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface InventoryMatchScanMapper {

    int insertBatch(@Param("list") List<InventoryMatchScan> list);


    List<InventoryMatchScan> getAll();

    List<Sod> getAllSod();


    List<InventoryMatchScanSimpleVO> getGroupedHistoryList(@Param("dto") MatchScanPageDTO dto,
                                                           @Param("offset") int offset,
                                                           @Param("limit") int limit);

    int countGroupedHistory(@Param("dto") MatchScanPageDTO dto);

    List<InventoryMatchScanVO> getByTaskName(MatchScanPageDTO dto);

    List<InventoryMatchScan> selectInventoryMatchScanList(InventoryMatchScan matchScan);

    List<RkInfoMatchVO> selectOnlyFromMatchScan(InventoryMatchScan param);

    List<RkInfoMatchVO> selectJoinRkInfo(InventoryMatchScan param);
}
