package com.fjhx.applet.mapper;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fjhx.base.BaseEntity;
import org.apache.ibatis.annotations.Param;
import org.springblade.core.tenant.annotation.TenantIgnore;

import java.util.List;
import java.util.Map;

public interface FabricStatisticsMapper extends BaseMapper<BaseEntity> {

    @TenantIgnore
    List<Map<String, Object>> selectFabricDetails();

    @TenantIgnore
    List<Map<String, Object>> selectFabricTypeDetails(@Param("ew") QueryWrapper<Object> wrapper);

    @TenantIgnore
    List<Map<String, Object>> selectFabricWDetails(@Param("ew") QueryWrapper<Object> wrapper);

    @TenantIgnore
    List<Map<String, Object>> selectFabricWTypeDetails(@Param("ew") QueryWrapper<Object> wrapper);

    @TenantIgnore
    List<Map<String, Object>> getInOutBill(@Param("ew") QueryWrapper<Object> wrapper);

    @TenantIgnore
    List<Map<String, Object>> getWaterStatistics(@Param("ew") QueryWrapper<Object> wrapper);

    @TenantIgnore
    List<Map<String, Object>> getReturnMaterial(@Param("ew") QueryWrapper<Object> wrapper);

    @TenantIgnore
    List<Map<String, Object>> selectFabricStatistics(@Param("ew") QueryWrapper<Object> wrapper);

    @TenantIgnore
    List<Map<String, Object>> selectPickingQuantitySum(@Param("ew") QueryWrapper<Object> wrapper);

    @TenantIgnore
    List<Map<String, Object>> selectFabricEW(@Param("ew") QueryWrapper<Object> wrapper);

    @TenantIgnore
    List<Map<String, Object>> selectFabricW(@Param("ew") QueryWrapper<Object> wrapper);

    @TenantIgnore
    List<Map<String, Object>> flowNum(@Param("ew") QueryWrapper<?> wrapper);

    @TenantIgnore
    Page<Map<String, Object>> flowPage(@Param("page") Page<Map<String, Object>> page, @Param("ew") QueryWrapper<?> wrapper);

    @TenantIgnore
    Integer getApproveType(@Param("sql") String sql);

}
