package digital.laboratory.platform.inspection.service;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
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.common.aop.annotation.DlpResultProc;
import digital.laboratory.platform.inspection.dto.TestRecordArgumentDto;
import digital.laboratory.platform.inspection.entity.TestRecordMethod;
import digital.laboratory.platform.inspection.entity.TestRecordReagent;
import digital.laboratory.platform.inspection.vo.TestRecordReagentVO;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @author xy
 * @version 1.0
 * @title TestRecordReagentService
 * @description
 * @create 2023/12/20 11:12
 */

public interface TestRecordReagentService extends IService<TestRecordReagent> {

    /**
     * 根据id获取vo类
     * @param id
     * @return
     */
    TestRecordReagentVO getVOById(String id);

    /**
     * 根据wrapper获取vo类
     * @param queryWrapper
     * @return
     */
    List<TestRecordReagentVO> voListByWrapper(Wrapper<TestRecordReagent> queryWrapper);

    TestRecordReagent addTestRecordReagent(TestRecordReagent testRecordReagent);//添加实验使用方法

    TestRecordReagent updateTestRecordReagent(TestRecordReagent testRecordReagent);//修改实验使用方法

    Boolean deleteTestRecordReagent(String id);//删除实验使用方法

    IPage getTestRecordReagentPageList(Page page, String testId, String keywords, String category, Integer opCode);

    List<TestRecordReagent> getTestRecordReagentList(String testId, String category);

    Boolean checkExist(String id);

    boolean useTestRecordReagent(TestRecordArgumentDto testRecordArgumentDto);

    boolean useTestTemplateReagent(TestRecordArgumentDto testRecordArgumentDto);

    IPage getTestTemplateReagentPageList(Page page, String templateId, String keywords, String category, Integer opCode);
}
