package me.zhengjie.modules.dm.printingCount.service;

import me.zhengjie.modules.dm.device.service.dto.DmDeviceDto;
import me.zhengjie.modules.dm.device.service.dto.DmDeviceQueryCriteria;
import me.zhengjie.modules.dm.printingApproval.domain.DmPrintingApproval;
import me.zhengjie.modules.dm.printingApproval.service.dto.DmPrintingApprovalDto;
import me.zhengjie.modules.dm.printingCount.domain.DmPrintingCount;
import me.zhengjie.modules.dm.printingCount.repository.DmPrintingCountRrpository;
import me.zhengjie.modules.dm.printingCount.service.dto.DmPrintingCountDto;
import me.zhengjie.modules.dm.printingCount.service.dto.DmPrintingCountQueryCriteria;
import org.springframework.data.domain.Pageable;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Map;

public interface DmPrintingCountService {
    Map<String,Object> selectList(DmPrintingCountQueryCriteria criteria, Pageable pageable);

    /**
     * 导出数据
     *
     * @param all      待导出的数据
     * @param response /
     * @throws IOException /
     */
    void download(List<DmPrintingCountDto> all, HttpServletResponse response) throws IOException;

    /**
     * 查询数据分页
     *
     * @param criteria 条件
     * @param pageable 分页参数
     * @return Map<String , Object>
     */
    Map<String, Object> queryAll(DmPrintingCountQueryCriteria criteria, Pageable pageable);


    List<DmPrintingCountDto> queryAll(DmPrintingCountQueryCriteria criteria);

    /**
//     * 创建
//     * @param resources /
//     * @return DmPrintingApprovalDto
//     */
//    DmPrintingApprovalDto create(DmPrintingApproval resources);
//
//    /**
//     * 编辑
//     * @param resources /
//     */
//    void update(DmPrintingApproval resources);
//
//    /**
//     * 多选删除
//     * @param ids /
//     */
//    void deleteAll(Long[] ids);
}
