package com.muchinfo.mtp3interface.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.muchinfo.mtp3pojos.entity.Dgfactoryitem;
import com.muchinfo.mtp3pojos.entity.Wrcategory;
import com.muchinfo.mtp3pojos.entity.Wroutinapply;
import com.muchinfo.mtp3pojos.vo.common.OrganSelectResult;
import com.muchinfo.mtp3pojos.vo.warehouse.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 仓单出入库申请表 Mapper 接口
 * </p>
 *
 * @author XKF
 * @since 2024-11-27
 */
@Mapper
public interface IWroutinapplyMapper extends BaseMapper<Wroutinapply> {

    IPage<WarehouseQueryResult> queryWROutInApplyPage(IPage<WarehouseQueryResult> page, @Param("vo") WarehouseQueryParam param);

    List<WarehouseQueryResult> queryWROutInApplyPage(@Param("vo") WarehouseQueryParam param);

    List<Wrcategory> loadWRCategoryGoodsTree(@Param("categoryid") Long categoryid);

    List<OrganSelectResult> queryUserList();

    List<WslistQueryResult> querywslist(@Param("userid") Long userid);

    List<WhlistQueryResult> querywhlist(@Param("userid") Long userid, @Param("wrstandardid") Long wrstandardid);

    List<WrHoldLBResult> queryWRHoldLB(@Param("vo") WrHoldLBParam param);

    IPage<WarehouseReceiptResult> receiptquery(IPage<WarehouseReceiptResult> page, @Param("vo") WarehouseReceiptParam param);

    IPage<WarehouseVarietyResult> queryWRStandardSet(IPage<WarehouseVarietyResult> page, @Param("vo") WarehouseVarietyParam param);

    List<WarehouseVarietyResult> queryWRStandardSet(@Param("vo") WarehouseVarietyParam param);

    List<Dgfactoryitem> queryDGFactoryItemList(@Param("wrstandardid")Long wrstandardid, @Param("deliverygoodsid")Long deliverygoodsid);
}
