package com.ssm.manage.mapper;

import com.ssm.core.mapper.BaseMapper;
import com.ssm.manage.entity.CourseList;
import com.ssm.manage.entity.CourseListMemberInit;
import com.ssm.manage.extendEntity.StoreDaily;
import com.ssm.manage.query.CourseListRequest;
import com.ssm.manage.query.StoreDailyRequest;
import com.ssm.manage.response.CourseDayVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public interface CourseListMemberInitMapper extends BaseMapper<CourseListMemberInit> {

    List<CourseList> selectPage(CourseListRequest courseListRequest);
    List<CourseList> selectPageNew(CourseListRequest courseListRequest);
    List<CourseList> selectPages(CourseListRequest courseListRequest);
    List<CourseList> selectCourseOne(CourseListRequest courseListRequest);

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

    List<CourseList> getDocNum(CourseListRequest courseListRequest);

    int addCourse(CourseList courseList);

    int cancel(CourseList courseList);

    int updateStaff(CourseList courseList);

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

    //加价转疗程
    StoreDaily selectOutcourse(StoreDailyRequest storeDailyRequest);
    //加价转疗程ids
    List<StoreDaily> selectOutcourse1(StoreDailyRequest storeDailyRequest);

    StoreDaily NegativeKazin(StoreDailyRequest storeDailyRequest);
    List<CourseList> selectListSalem(CourseList courseList);
    CourseList selectOneS(CourseList courseList);
    List<CourseList> selectList(CourseList courseList);

    List<CourseList> selectList2(CourseList courseList);
    int updateOne(CourseList courseList);

    List<CourseDayVo> selectByDay(StoreDailyRequest storeDailyRequest);

    List<CourseDayVo> selectCourseCoopation(StoreDailyRequest storeDailyRequest);

    List<CourseList> selectCourseByProjectAndDocId(CourseList courseList);

    List<StoreDaily> selectByDayGroupByDateAndStoreId(StoreDailyRequest storeDailyRequest);

    List<CourseList> selectByDate(CourseListRequest courseListRequest);

    List<CourseList> selectGroupCourse(CourseListRequest courseListRequest);

    StoreDaily NegativeKazinByDate(StoreDailyRequest storeDailyRequest);

    int updateProjectAchi(CourseListMemberInit courseListMemberInit);
}