package com.kcim.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.kcim.common.util.PageUtils;
import com.kcim.dao.model.CostShareLevel;
import com.kcim.dao.model.dto.CostShareLevelEditDto;
import com.kcim.dao.model.dto.CostShareLevelSaveDto;
import com.kcim.vo.CostShareLevelVO;

import java.util.ArrayList;
import java.util.List;

/**
 * 分摊层级对照表
 *
 * @author KCYG
 * @email KCYG@xinxicom
 * @date 2021-07-27 14:19:09
 */
public interface CostShareLevelService extends IService<CostShareLevel> {
    /**
     * 分页查询相关分摊层级信息
     * @param current
     * @param pageSize
     * @param name
     * @param hospId
     * @return
     */
    PageUtils queryList(Integer current, Integer pageSize, String name, Long hospId);

    /**
     * 保存
     * @param costShareLevelSaveDto
     */
    void addCostShareLevel(CostShareLevelSaveDto costShareLevelSaveDto);

    /**
     * 修改分摊层级数据
     * @param costShareLevelEditDto
     */
    void updateByCostShareLevel(CostShareLevelEditDto costShareLevelEditDto);

    /**
     * 获取所有的分摊层级数据
     * @param hospId
     * @return
     */
    List<CostShareLevelVO> getAll(Long hospId);

    /**
     * 通过分摊层级序号得到分摊层级列表
     * @param targetLevelList
     * @param hospId
     * @return
     */
    List<CostShareLevel> getListByLevelSort(ArrayList<String> targetLevelList, Long hospId);

    List<Long> getMaxId(Long hospId);

    /**
     * 删除分摊等级的数据
     * @param idList 分摊层级的id
     */
    void deleteByIds(List<Integer> idList);
}

