package com.imed.costaccount.service; import cn.hutool.poi.excel.ExcelWriter; import com.baomidou.mybatisplus.extension.service.IService; import com.imed.costaccount.common.util.PageUtils; import com.imed.costaccount.model.Allocation; import com.imed.costaccount.model.dto.StartDTO; import com.imed.costaccount.model.vo.AfterAllocationFormVO; import com.imed.costaccount.model.vo.CollectDataFormVO; import org.apache.poi.ss.usermodel.Sheet; import java.util.List; /** * 成本分摊后表 * * @author huangrui * @email * @date 2021-08-24 16:05:16 */ public interface AllocationService extends IService { /** * 分摊成本数据 * @param startDTO {@link StartDTO} * @param hospId 医院id */ void startAllocation(StartDTO startDTO, Long hospId); /** * 分摊后查询列表 * @param year 年月 (yyyy-MM-dd) * @param responsibilityCode 责任中心代码 * @param current 当前页 * @param pageSize 当前页展示的数据大小 * @param hospId 医院id * @return PageUtils */ PageUtils queryAfterAllocation(String year, String responsibilityCode, Integer current, Integer pageSize, Long hospId); /** * 分摊后报表 * @param year 年月(yyyy-MM-dd) * @param responsibilityCode 责任中心代码 * @param hospId * @return List */ CollectDataFormVO queryAfterAllocationForm(String year, String responsibilityCode, Long hospId); /** * 分摊报表导出 * @param writer {@link ExcelWriter} * @param levelSort 分摊层级 就是第几次分摊 * @param sheet 报表 * @param year 年 * @param month 月 * @param shareLevelId * @return */ ExcelWriter getShareReportTemplate(ExcelWriter writer, Integer levelSort, Sheet sheet, Integer year, Integer month, Long shareLevelId); /** * 分摊后报表输出 * @param date yyyy-MM-dd * @param hospId 医院id * @return List */ List afterAllocationFormList(String date, Long hospId); /** * 按时间计算分摊数据 * @param year 年月 * @param month 月 * @param hospId * @return */ List getByDate(int year, int month, Long hospId); }