package digital.laboratory.platform.inspection.service;
/*
 *@title TestRecordInstrumentService
 *@description
 *@author xy
 *@version 1.0
 *@create 2023/12/19 14:40
 */

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import digital.laboratory.platform.inspection.dto.TestRecordArgumentDto;
import digital.laboratory.platform.inspection.entity.TestRecordInstrument;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

public interface TestRecordInstrumentService extends IService<TestRecordInstrument> {
    TestRecordInstrument addTestRecordInstrument(TestRecordInstrument testRecordInstrument);//添加实验使用仪器信息
    TestRecordInstrument updateTestRecordInstrument(TestRecordInstrument testRecordInstrument);//修改实验使用仪器信息
    Boolean deleteTestRecordInstrument(String id);//删除实验使用仪器信息
    IPage getTestRecordInstrumentPageList(Page page, String testId, String keywords, Integer opCode);

    IPage getTemplateInstrumentPageList(Page page, String templateId, String keywords, Integer opCode);

    List<TestRecordInstrument> getTestRecordInstrumentList(TestRecordInstrument testRecordInstrument);
    Boolean checkExist(String id);

    boolean useTestRecordInstrument(TestRecordArgumentDto testRecordArgumentDto);

    @Transactional(rollbackFor = Exception.class)
    boolean useTemplateInstrument(TestRecordArgumentDto testRecordArgumentDto);
}
