package com.prolog.rdc.tms.dao.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.prolog.framework.dao.mapper.BaseMapper;
import com.prolog.rdc.tms.model.entity.line.PrinterConfiguration;
import com.prolog.rdc.tms.model.vo.print.QuerySysPrinterConfigurationVO;

import cn.hutool.core.date.DateTime;

@Mapper
public interface PrinterConfigurationMapper extends BaseMapper<PrinterConfiguration> {

	// 通过打印机编码和名称查询打印机信息
	List<PrinterConfiguration> findByCodeAndName(@Param("printerCode") String printerCode, @Param("printerName") String printerName, @Param("id") Long id, @Param("enterpriseId") Long enterpriseId);

	// 通过ID查询打印机信息
	PrinterConfiguration findByNativeId(@Param("id") Long id, @Param("enterpriseId") Long enterpriseId);

	// 更新打印机信息
	void updateByNativeId(@Param("model") PrinterConfiguration model);

	List<PrinterConfiguration> findList(@Param("model") QuerySysPrinterConfigurationVO vo, @Param("enterpriseId") Long enterpriseId);

	void delete(@Param("ids") List<Long> ids, @Param("lastModifiedDate") DateTime date, @Param("userName") String userName);

	List<PrinterConfiguration> dropDownList(@Param("printerName") String printerName);

	List<PrinterConfiguration> findConfigurationByIds(@Param("printId") List<Long> printId);
}