package cn.iocoder.lyzsys.module.tjt.service.outputsplit;

import cn.iocoder.lyzsys.module.tjt.controller.admin.outputsplit.vo.ProjectOutputSplitRespVO;
import cn.iocoder.lyzsys.module.tjt.controller.admin.outputsplit.vo.ProjectOutputSplitSaveReqVO;
import cn.iocoder.lyzsys.module.tjt.dal.dataobject.outputsplit.ProjectOutputSplitDO;

import java.math.BigDecimal;
import java.util.Collection;
import java.util.Map;

/**
 * 页面4拆分比例 Service 接口
 *
 * @author Codex
 */
public interface ProjectOutputSplitService {

    ProjectOutputSplitRespVO getProjectOutputSplit(Long planningId);

    Long saveProjectOutputSplit(ProjectOutputSplitSaveReqVO reqVO);

    ProjectOutputSplitDO getOrCreateProjectOutputSplit(Long planningId);

    Map<Long, ProjectOutputSplitDO> getProjectOutputSplitMap(Collection<Long> planningIds);

    BigDecimal getSpecialtyAmount(ProjectOutputSplitDO outputSplit, BigDecimal assessmentOutputValue, String specialtyCode);

    void deleteByPlanningId(Long planningId);

    void deleteByPlanningIds(Collection<Long> planningIds);

}
