package com.kcim.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.kcim.common.util.PageUtils;
import com.kcim.dao.model.CostNumberBedSet;
import com.kcim.dao.model.dto.CostNumberBedSetEditDto;
import com.kcim.dao.model.dto.CostNumberBedSetSaveDto;
import com.kcim.vo.CheckShareParamStatusVO;
import com.kcim.vo.CostNumberBedSetVO;
import com.kcim.vo.ReportFormVO;

import java.util.List;

/**
 * 诊次/床日设置
 *
 * @author KCYG
 * @email KCYG@xinxicom
 * @date 2021-08-09 11:11:06
 */
public interface CostNumberBedSetService extends IService<CostNumberBedSet> {
    /**
     * 分页查询诊次/床日设置
     * @param current
     * @param pageSize
     * @param name
     * @param hospId
     * @return
     */
    PageUtils queryList(Integer current, Integer pageSize, String name, Long hospId);

    /**
     * 根据Id获取诊次/床日设置的数据
     * @param id
     * @return
     */
    CostNumberBedSetVO getByNumberBedId(Long id);

    /**
     * 添加诊次/床日设置的数据
     * @param costNumberBedSetSaveDto
     * @param hospId
     */
    void addNumberBedSet(CostNumberBedSetSaveDto costNumberBedSetSaveDto, Long hospId);

    /**
     * 修改诊次/床日的设置数据
     * @param costNumberBedSetEditDto
     * @param hospId
     */
    void updateNumberBedById(CostNumberBedSetEditDto costNumberBedSetEditDto, Long hospId);

    /**
     * 获取当前诊次/床日设置里面关联的成本分摊参数
     * @param id
     * @param hospId
     * @return
     */
    List<CheckShareParamStatusVO> checkStatus(Long id, Long hospId);

    /**
     * 获取报表  显示报表被选中的状态
     * @param reportType 报表类型
     * @param hospId 医院Id
     * @param id
     * @return
     */
    List<ReportFormVO> getReportNumberBedStatus(Integer reportType, Long hospId, Integer id);

    /**
     * 删除诊次/床日成本设置
     * @param idList idList
     */
    void deleteByIds(List<Long> idList);
}

