package com.tofly.watermeter.custom.service.meterBusiness;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tofly.watermeter.custom.entity.meterBusiness.dto.WareHousingDto;
import com.tofly.watermeter.custom.entity.meterBusiness.dto.WareHousingEntity;

import javax.servlet.http.HttpServletResponse;
import java.util.Map;

public interface WareHousingService {

    /**
     * 第一层：统计各个厂家入库、库存总数
     * @param response response
     * @param dto 条件
     * @return page
     */
    Page count(HttpServletResponse response,Page page,WareHousingDto dto);

    /**
     * 第二层：查询厂家下各个口径水表信息
     * @param response  response
     * @param page page
     * @param dto 条件
     * @return page
     */
    Page countByVendor(HttpServletResponse response,Page page,WareHousingDto dto);

    /**
     * 水表入库
     * @param dto 数据
     * @return boolean
     */
    String wareHousing(WareHousingEntity dto);

    /**
     * 第三层：查看厂家下某个口径某个类型的水表详情
     * @param response  response
     * @param page page
     * @param dto 条件
     * @return page
     */
    Page countByCaliber(HttpServletResponse response,Page page,WareHousingDto dto);

    /**
     * 删除已入库水表
     * @param ids id，多个,分割
     * @return boolean
     */
    boolean deleteTable(String ids);

    /**
     * 查询所以信息
     * @param dto dto
     * @return page
     */
    Page getAllInfo(Page page,WareHousingDto dto);

    /**
     * 根据批次号统计水表信息
     * @param response response
     * @param dto dto
     * @return list
     */
    Page<Map> countBatchNo(HttpServletResponse response,Page page,WareHousingDto dto);

    Page<Map> batchNoInfo(HttpServletResponse response,Page page,WareHousingDto dto);

}
