package com.th.demo.mapping.ware;

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

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

public interface StoreMapper {
    int deleteByPrimaryKey(String id);

    int insert(Store record);

    int insertSelective(Store record);

    Store selectByPrimaryKey(String id);

    int updateByPrimaryKeySelective(Store record);

    int updateByPrimaryKey(Store record);

    String selectLayerByStackId(String stackId, String belongId);

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

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

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

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

    List<Store> selectStore(String wareName, String stackName, String model, String materialName, String standard,
                            String customerName, String fromDate,   String toDate, String userId,
                            String belongId,String plateNo,String fkcustmerName,String ordNo,List<String> plateNos,
                            String contractNo);

    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<Store> selectByWareIdStackIdInStoreId(Map<String,Object> mapParam);

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

    List<Store> 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);
}