package com.kcim.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.kcim.common.util.PageUtils;
import com.kcim.dao.model.IncomeCollection;
import com.kcim.dao.model.dto.CollectDTO;
import com.kcim.vo.CollectDataFormVO;

import java.util.List;

/**
 * 归集后列表
 *
 * @author huangrui
 * @email 
 * @date 2021-08-09 15:26:28
 */
public interface IncomeCollectionService extends IService<IncomeCollection> {

    /**
     * 获取收入归集分页列表
     *
     * @param current 当前页
     * @param pageSize 页码数据大小
     * @param date 日期 yyyy-MM-dd
     * @param hospId 医院id
     * @return {@link PageUtils} 分页对象
     */
    PageUtils getCollections(Integer current, Integer pageSize, String date, Long hospId);

    /**
     * 按年月归集数据
     *
     * @param year 年 数字类型
     * @param month 月 数字
     * @param hospId 医院id
     */
    void collect(Integer year, Integer month, Long hospId);

    /**
     * 按年月撤销归集
     *
     * @param year 年 数字类型
     * @param month 月 数字
     * @param hospId 医院id
     */
    void cancelCollect(Integer year, Integer month, Long hospId);

    /**
     * 归集后数据分页列表
     *
     * @param collectDTO {@link CollectDTO} 查询相关参数
     * @return {@link PageUtils}
     */
    PageUtils collectList(CollectDTO collectDTO);

    /**
     *
     * @param collectDTO
     * @return
     */
    CollectDataFormVO collectDataForm(CollectDTO collectDTO);

    /**
     * 获取某个时间的手机数据
     * @param year 年
     * @param month 月
     * @param hospId 医院id
     * @return 收入数据
     */
    List<IncomeCollection> getCollectionsByDate(int year, int month, Long hospId);

    List<IncomeCollection> getCollectionsByDateAndResp(int year, int month, Long hospId, String responsibilityCode);

    List<IncomeCollection> getResponsibilitiesAccounts(int year, int month, Long hospId);
}

