package com.dsk.cscec.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.cscec.domain.CbSummary;
import com.dsk.cscec.domain.bo.CbSummaryActualBo;
import com.dsk.cscec.domain.bo.CbSummaryActualListBo;
import com.dsk.cscec.domain.bo.CbSummaryBo;
import com.dsk.cscec.domain.vo.CbSummaryActualListVo;

import java.util.List;
import java.util.Map;


/**
 * 成本汇总(CbSummary)表服务接口
 *
 * @author cyf
 * @since 2024-02-06
 */
public interface CbSummaryService extends IService<CbSummary> {

    //项目汇总导入 todo
    void importCbProject(Long projectId, Integer cbStage);

    /**
     * 获取一级名称/成本科目列表
     *
     * @param bo
     * @return
     */
    List<Map<String, Object>> getCbNameList(CbSummaryBo bo);

    /**
     * 根据父级id获取子级数据
     *
     * @param bo
     * @return
     */
    List<CbSummaryActualListVo> getActualList(CbSummaryActualListBo bo);

    /**
     * 获取已添加成本月份
     *
     * @param bo
     * @return
     */
    List<String> getExpenseDateList(CbSummaryBo bo);

    /**
     * 新增/更新每月费用
     *
     * @param boList
     * @return
     */
    boolean insertOrUpdateActual(List<CbSummaryActualBo> boList);
}
