package com.kcim.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.kcim.common.util.PageUtils;
import com.kcim.dao.model.CostIncomeGroupSet;
import com.kcim.dao.model.dto.CostIncomeGroupSetEditDto;
import com.kcim.dao.model.dto.CostIncomeGroupSetSaveDto;
import com.kcim.dao.model.dto.IncomeAccountDto;
import com.kcim.vo.AccountIncomeSetVO;
import com.kcim.vo.CostIncomeGroupSetVO;

import java.util.List;

/**
 * 收入归集设置
 *
 * @author KCYG
 * @email KCYG@xinxicom
 * @date 2021-08-03 08:41:20
 */
public interface CostIncomeGroupSetService extends IService<CostIncomeGroupSet> {
    /**
     * 分页查询
     * @param current
     * @param pageSize
     * @param hospId
     * @return
     */
    PageUtils queryList(Integer current, Integer pageSize, Long hospId);

    /**
     *  根据Id获取对应的收入归集设置的数据
     * @param id
     * @return
     */
    CostIncomeGroupSetVO getByIncomeGroupId(Long id,Long hospId);

    /**
     * 保存收入归集设置的数据
     * @param costIncomeGroupSetSaveDto
     */
    void addCostIncomeGroupSet(CostIncomeGroupSetSaveDto costIncomeGroupSetSaveDto,Long hospId);

    /**
     * 修改收入归集设置的数据
     * @param costIncomeGroupSetEditDto
     * @param hospId
     */
    void updateByIncomeGroup(CostIncomeGroupSetEditDto costIncomeGroupSetEditDto, Long hospId);

    /**
     * 查询当前收入归集设置里面对应的会计科目的Id集合
     * @param incomeGroutSetId
     * @return
     */
    List<String> selectIsSelect(Integer incomeGroutSetId);

    /**
     * 设置对应的排除成本科目
     * @param incomeAccountDto
     */
    void updateAccountCode(IncomeAccountDto incomeAccountDto);

    /**
     *  所有的会计科目里面与当前收入归集设置有关联的数据
     * @param id  当前收入归集设置的Id
     * @param hospId 当前医院的Id
     * @return
     */
    List<AccountIncomeSetVO> getIncomeAccountStatus(Long id, Long hospId);
}

