package com.kcim.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.kcim.common.util.PageUtils;
import com.kcim.common.util.Result;
import com.kcim.dao.model.CostIncomeGroup;
import com.kcim.dao.model.User;
import com.kcim.vo.CommonDepartVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 收入归集
 *
 * @author KCYG
 * @email KCYG@xinxicom
 * @date 2021-08-03 16:15:20
 */
public interface CostIncomeGroupService extends IService<CostIncomeGroup> {
    /**
     * 分页查询收入归集前的数据
     *
     * @param current            当前页
     * @param pageSize           当前页大小
     * @param dateTime           年月
     * @param responsibilityCode 责任中心代码
     * @param accountCode        会计科目的Code
     * @param hospId             医院Id
     * @param type
     * @param filter
     * @param s
     * @return
     */
    PageUtils queryList(Integer current, Integer pageSize, String dateTime, String responsibilityCode, String accountCode, Long hospId, Integer type, String filter, String s);

    /**
     * 批量导入收入数据
     *
     * @param read
     * @param file
     * @return
     */
    Result importIncomeGroup(List<List<Object>> read, MultipartFile file, String dateTime, Integer fileType);

    /**
     * 导入收入数据
     * @param read 读取到的初始数据
     * @param user 当前登录用户
     * @param file 导入的文件
     * @param year 年
     * @param month 月
     * @return {@link Result}
     */
    Result importDataByIncomeData(List<List<Object>> read, User user, MultipartFile file, Integer year, Integer month);

    /**
     * 删除收入归集的数据
     * @param asList
     */
    void deleteByIds(List<Long> asList);

    List<CommonDepartVo> getDepartment(Integer type, String computeDate, String departmentName);

    void removeIncome(String computeDate);
}

