package cn.iocoder.yudao.module.system.service.biz;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.system.controller.admin.sys.vo.ElderOverheadChargeRespVO;
import cn.iocoder.yudao.module.system.controller.admin.sys.vo.OverheadChargeImportExcelVO;
import cn.iocoder.yudao.module.system.controller.admin.sys.vo.SysOverheadChargePageReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.biz.OverheadChargeDO;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;
import java.util.Map;

public interface SysOverheadChargeService {

    Map<String, Object> importOverheadChargeBySheet(MultipartFile file, Boolean updateSupport) throws IOException;



    void add(OverheadChargeDO overheadChargeDO);

    OverheadChargeDO getInfoById(Long id);

    PageResult<OverheadChargeDO> queryPage(SysOverheadChargePageReqVO pageVO);

    void edit(OverheadChargeDO overheadChargeDO);

    void delete(Long id);

    void move(OverheadChargeDO overheadChargeDO);

    List<OverheadChargeDO> getListByType(String type, Long startTenantId);

    List<ElderOverheadChargeRespVO> getListByElderlyId(Long elderlyId);

    List<OverheadChargeDO> getListByChargeCategoryId(Long chargeCategoryId);

    Map<String,Object> importOverheadCharge(List<OverheadChargeImportExcelVO> dataList);
}
