package cn.iocoder.yudao.module.system.dal.mysql.biz;

import java.util.*;

import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.system.controller.admin.biz.vo.DailyExpensesPageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.biz.vo.DailyMedicalExpensesReqVO;
import cn.iocoder.yudao.module.system.controller.admin.biz.vo.ElderlyHomeService;
import cn.iocoder.yudao.module.system.dal.dataobject.biz.DailyExpensesDO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;


/**
 * 日常费用 Mapper
 *
 * @author 管理员
 */
@Mapper
public interface DailyExpensesMapper extends BaseMapperX<DailyExpensesDO> {
    List<DailyExpensesDO> getDailyExpensesPage(Page<DailyExpensesDO> page,@Param("params") DailyExpensesPageReqVO pageReqVO);
    List<DailyExpensesDO> getMedicalDailyExpenses(@Param("params") DailyMedicalExpensesReqVO reqVO);

    List<ElderlyHomeService> selectServiceList(@Param("tenantId") Long tenantId, @Param("chargeCategoryId") Long chargeCategoryId);

//    default PageResult<DailyExpensesDO> selectPage(DailyExpensesPageReqVO reqVO) {
//        return selectPage(reqVO, new LambdaQueryWrapperX<DailyExpensesDO>()
//                .eqIfPresent(DailyExpensesDO::getElderId, reqVO.getElderId())
//                .eqIfPresent(DailyExpensesDO::getExpenseBillCode, reqVO.getExpenseBillCode())
//                .eqIfPresent(DailyExpensesDO::getItemId, reqVO.getItemId())
//                .eqIfPresent(DailyExpensesDO::getItemCategory, reqVO.getItemCategory())
//                .likeIfPresent(DailyExpensesDO::getItemName, reqVO.getItemName())
//                .eqIfPresent(DailyExpensesDO::getType, reqVO.getType())
//                .eqIfPresent(DailyExpensesDO::getPrice, reqVO.getPrice())
//                .eqIfPresent(DailyExpensesDO::getAmount, reqVO.getAmount())
//                .eqIfPresent(DailyExpensesDO::getStatus, reqVO.getStatus())
//                .eqIfPresent(DailyExpensesDO::getRemark, reqVO.getRemark())
//                .eqIfPresent(DailyExpensesDO::getCreatedBy, reqVO.getCreatedBy())
//                .betweenIfPresent(DailyExpensesDO::getCreatedTime, reqVO.getCreatedTime())
//                .betweenIfPresent(DailyExpensesDO::getAccountingTime, reqVO.getAccountingTime())
//                .eqIfPresent(DailyExpensesDO::getCount, reqVO.getCount())
//                .orderByDesc(DailyExpensesDO::getId));
//    }

}