package com.jwipc.order.logic;

import com.jwipc.order.dto.LabelBarBaseDTO;
import com.jwipc.order.dto.LabelBarImportDTO;
import com.jwipc.order.dto.LabelPrintSettingBaseDTO;
import com.jwipc.order.entity.LabelPrintSetting;
import com.jwipc.order.model.query.LabelPrintSettingQuery;
import com.jwipc.order.model.query.LabelQuery;
import com.jwipc.page.PageView;

import javax.servlet.http.HttpServletResponse;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;

/**
 * <p> </p>
 *
 * @author BOGON
 * @version 1.0
 * @since JDK 1.8
 */
public interface LabelPrintSettingLogic {
    PageView list(LabelPrintSettingQuery query);

    List<LabelBarBaseDTO> print(LabelPrintSettingBaseDTO printSettingBaseDTO,Long userId);

    List<LabelBarBaseDTO> print_new(LabelPrintSettingBaseDTO printSettingBaseDTO,Long userId);

    List<LabelBarBaseDTO> getLabelBars(Long id, Integer isPrint);

    List<LabelPrintSetting> getLabelPrintSettingByIds(Collection<? extends Serializable> idList);

    String rePush(Long id);

    PageView labelList(LabelQuery query);

    List<LabelBarBaseDTO> getExportData(LabelQuery query);

    List<LabelBarBaseDTO> getLabelBars(String ids,Integer isPrint);

    void importLabel(List<LabelBarImportDTO> data);

    void remove(String ids);

    void removeByBatch(Long id);

    String rePushByBatch(Long id);

    void exportPDF(String data, HttpServletResponse response);

    List<LabelBarBaseDTO> getLabelBarsBySettingIds(String ids);

    boolean originIsRequired(String materialCode);

    void updatePrintSize(Long id);
}