package com.zfire.mall.manager.commonmapper;

import com.baomidou.mybatisplus.annotation.SqlParser;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zfire.mall.manager.bean.admin.AdminUserVisitAccBean;
import com.zfire.mall.manager.bean.admin.respDto.AdminUserDto;
import com.zfire.mall.manager.bean.k3.StockPositionStock;
import com.zfire.mall.manager.bean.k3.StockPositionStockVO;
import com.zfire.mall.manager.bean.listV2.StockTollVO;
import com.zfire.mall.manager.bean.supplier.KingDeeStockVO;
import com.zfire.mall.manager.plus.entity.AdminCompany;
import com.zfire.mall.manager.plus.entity.KingDeeStock;
import com.zfire.mall.manager.zfire.bean.ZfireParamBean;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.cloud.openfeign.SpringQueryMap;

import java.util.Date;
import java.util.List;

/**
 * @author chang
 */
@Mapper
public interface StockK3Mapper {


    IPage<StockPositionStock> listStock(IPage page,
                                        @Param("name") String name,
                                        @Param("stockName")String stockName,
                                        @Param("id") String id);

    List<KingDeeStock> listPosition(@Param("correspondId") String correspondId,
                                    @Param("inquire")Integer inquire);


    /**
     * 到货通知列表
     */
    IPage<AdminUserVisitAccBean> visitAccList(IPage page,
                                              @Param("specification") String specification,
                                              @Param("visitTime") String visitTime,
                                              @Param("materialIds") List<String> materialIds,
                                              @Param("correspondIds") List<String> correspondIds);

    Integer visitAccCount(@Param("visitTime") String visitTime);



    /**
     * 仓库列表
     */
    @SqlParser(filter = true)
    IPage<KingDeeStockVO> listV2(Page page, @Param("ex") ZfireParamBean zfireParamBean);

    /**
     * 仓库对应仓位列表
     */
    @SqlParser(filter = true)
    IPage<StockPositionStockVO> listStockV2(Page page,@Param("ex")  ZfireParamBean zfireParamBean);

    /**
     * 仓储费规则设置
     */
    @SqlParser(filter = true)
    IPage<StockTollVO> listTollV2(Page page, @Param("ex")  ZfireParamBean zfireParamBean);
}
