package com.th.demo.mapping.ware;

import com.th.demo.model.ware.Store;
import com.th.demo.model.ware.InStore;

import com.th.demo.model.ware.StoreOfWareStack;
import com.th.demo.model.ware.TotalRecord;

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

public interface InStoreMapper {
    int deleteByPrimaryKey(String id);

    int insert(Store record);

    int insertSelective(Store record);

    InStore selectByPrimaryKey(String id);

    int updateByPrimaryKeySelective(Store record);

    int updateByPrimaryKey(Store record);

    String selectLayerByStackId(String stackId, String belongId);

    List<InStore> selectByWareIdStackId(String wareId, String stackId, String belongId);

    List<InStore> select(String wareName, String stackName, String userId, String belongId);

    List<InStore>  selectForUpDown(String wareName, String stackName, String userId, String belongId, int min, int max);

    InStore selectByOutId(String id, String noUserParam, String userId, String belongId);

    List<InStore> selectStore(String wareName, String areaName, String stackName, String plateNo, String ordNo, String userId, String belongId);

    int updateForUpDownByLayer(String wareName, String stackName, String userId, String belongId, int min, int max, int i);

    int updateForUpDownByStep(String wareName, String stackName, String userId, String belongId, int min, int max, int i);

    List<StoreOfWareStack> selectWareStackByDistributionStore(Map<String, Object> map);

    List<InStore> selectByWareIdStackIdInStoreId(Map<String, Object> mapParam);

    int updateDistributionById(Map<String, Object> map);

    List<InStore> selectForCustomer(String wareName, String stackName, String model, String materialName, String standard, String customerName, String plateNo, String beginDate,
                                  String endDate, String userId, String ordNo);

    List<TotalRecord> queryTotal(String wareName, String stackName, String model, String materialName, String standard, String customerName, String plateNo, String beginDate, String endDate, String userId, String ordNo);

    int selEffStore(String plateNo);

    void updateByOutId(String id, String noUserParam, String userId, String belongId);
}