package com.ssm.manage.mapper;

import com.ssm.core.mapper.BaseMapper;
import com.ssm.manage.entity.CashList;
import com.ssm.manage.extendEntity.StaffProgress;
import com.ssm.manage.extendEntity.StoreDaily;
import com.ssm.manage.query.AccountTradeRecordRequest;
import com.ssm.manage.query.CashListRequest;
import com.ssm.manage.query.StoreDailyRequest;
import com.ssm.manage.response.CashDayVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.math.BigDecimal;
import java.util.List;
@Component
public interface CashListMapper extends BaseMapper<CashList> {

    List<CashList> selectPage(CashListRequest cashListRequest);

    List<CashList> selectPage2(CashListRequest cashListRequest);
    List<CashList> selectPage3(CashListRequest cashListRequest);

    List<CashList> selectCashList(CashListRequest cashListRequest);
    List<CashList> selectCashListGroup(CashListRequest cashListRequest);
    List<CashList> selectCashListGroupNew(CashListRequest cashListRequest);
    List<CashList> selectCashListGroups(CashListRequest cashListRequest);

    List<CashList> selectByNum(CashListRequest cashListRequest);

    void createTable(@Param("tab") String date);

    List<CashList> getDocNum(CashListRequest cashListRequest);

    int addCash(CashList cashList);

    int cancel(CashList cashList);

    int doCash(CashList cashList);

    CashList one(CashListRequest cashListRequest);

    int updateStaff(CashList cashList);

    int updateFeedback(CashList cashList);

    List<CashList> selectProgress(CashListRequest cashListRequest);

    List<StaffProgress> selectStaffProgress(StaffProgress staffProgress);

    List<StoreDaily> selectDayRecord(StoreDailyRequest storeDailyRequest);
    List<StoreDaily> selectDayRecordManAndWoman(StoreDailyRequest storeDailyRequest);
    //查询所有ID，统计收银类型（支付宝，微信，银行卡..）
    List<StoreDaily> selectDayRecord1(StoreDailyRequest storeDailyRequest);

    List<StoreDaily> selectDayRecordRec(StoreDailyRequest storeDailyRequest);
    List<StoreDaily> selectDayRecordCou(StoreDailyRequest storeDailyRequest);
    List<CashList> selectByRecharge(AccountTradeRecordRequest accountTradeRecordRequest);

    List<CashList> selectListSalem(CashList cashList);
    int updatechia(CashList cashList);

    List<CashList> getAllCashList(CashListRequest cashListRequest);

    List<CashDayVo> selectByDay(StoreDailyRequest storeDailyRequest);

    List<CashList> selectAbnormalOrder(CashListRequest cashListRequest);

    List<StoreDaily> selectByDayGroupByDateAndStoreId(StoreDailyRequest storeDailyRequest);

    List<CashList> selectListByMonthly(CashListRequest cashListRequest);

    List<StoreDaily> selectDayRecordCouByDate(StoreDailyRequest storeDailyRequest);

    List<StoreDaily> selectDayRecordRecByDate(StoreDailyRequest storeDailyRequest);

    BigDecimal selectFKJByRefundCashGifMoney(StoreDailyRequest storeDailyRequest);
}