package com.dsk.cscec.service;

import cn.hutool.core.lang.tree.Tree;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.cscec.domain.CbCostMeasure;
import com.dsk.cscec.domain.bo.CbCostMeasureActualBo;
import com.dsk.cscec.domain.bo.CbCostMeasureActualPushBo;
import com.dsk.cscec.domain.bo.CbCostMeasureActualSaveBo;
import com.dsk.cscec.domain.vo.CbCostMeasureActualVo;
import com.dsk.cscec.domain.vo.CbProjectExpenseSummaryVo;

import java.io.InputStream;
import java.util.List;
import java.util.Map;

/**
 * 成本-工料汇总基本表(CbQuantitySummary)表服务接口
 *
 * @author lcl
 * @since 2024-02-05 11:06:56
 */
public interface ICbCostMeasureService extends IService<CbCostMeasure> {

    void importExcelData(InputStream inputStream, String fileName,Long fileId, Long projectId);

    List<Map<String, Object>> listByLevel(Long projectId, int i);

    List<Tree<Long>> selectDataList(CbCostMeasureActualBo cbCostMeasure);

    void saveBatchCostMeasureActual(List<CbCostMeasureActualSaveBo> boList);

    void pushCostMeasureActual(CbCostMeasureActualPushBo pushBo);

    List<String> importExcelSummaryData(InputStream inputStream, Long projectId,Long fileId, Integer dataType);

    void parseCbCostMeasureFile(Long projectId);

    boolean reparseCbCostMeasureFile(Long projectId,Long projectFileId);

    String lastProjectVolume(Long measuresId);

    List<String> actualMonthList(CbCostMeasureActualBo cbCostMeasureBo);

    List<CbProjectExpenseSummaryVo> getSummaryData(Long projectId, Integer dataType,String month);
}

