package com.kcim.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.kcim.common.util.PageUtils;
import com.kcim.dao.model.HospProfitAndLoss;

/**
 * 全院损益表
 *
 * @author huangrui
 * @email
 * @date 2021-08-27 14:20:53
 */
public interface HospProfitAndLossService extends IService<HospProfitAndLoss> {

    /**
     * 计算全院损益
     *
     * @param date   yyyy-MM-dd 时间
     * @param hospId 医院id
     */
    void calc(String date, Long hospId);

    /**
     * 计算全院损益
     *
     * @param date   yyyy-MM-dd 时间
     * @param hospId 医院id
     * @param reportType 报表类型
     */
    void calcHospProfit(String date, Long hospId, Integer reportType);

    /**
     * 全院损益列表
     *
     * @param current 当前页
     * @param pageSize 每页展示数据大小
     * @param date 日期
     * @param hospId 医院id
     * @return PageUtils
     */
    PageUtils getHospProfits(Integer current, Integer pageSize, String date, Long hospId);

    /**
     * 导出全院损益计算
     * @param date yyyy-MM-dd
     * @param hospId
     */
    void hospProfitReport(String date, Long hospId) ;

    /**
     *
     * @param date
     * @param hospId
     */
    void calcByResponsibility(String date, Long hospId);

    PageUtils hospProfitReports(Integer current, Integer pageSize, Long hospId, String date);

    Object getHospProfitResponsibilities(String responsibilityName);

    Object getHospProfitList(String computeDate, Long hospId, String reportType);

    Object getBatchHospProfitList(String beginComputeDate, String endComputeDate, Long hospId, Integer reportType);
}

