package com.kcim.dao.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kcim.dao.model.ComputeProjectCost;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kcim.vo.ComputeProjectCostPageDto;
import com.kcim.vo.ProjectCostVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 完全成本法项目成本计算表
 * 
 * @author Wang.YS
 * @date 2024-01-15 20:23:56
 */
@Mapper
public interface ComputeProjectCostMapper extends BaseMapper<ComputeProjectCost> {

    List<ComputeProjectCostPageDto> getByPage(Page<ComputeProjectCostPageDto> page,
                                              @Param("computeDate") String computeDate,
                                              @Param("itemType")String itemType,
                                              @Param("responsibility") String responsibility,
                                              @Param("itemFilter") String itemFilter,
                                              @Param("hospId") Long hospId);

    List<ComputeProjectCostPageDto> getSingleByPage(Page<ComputeProjectCostPageDto> page,
                                                    @Param("computeDate") String computeDate,
                                                    @Param("itemType")String itemType,
                                                    @Param("responsibility") String responsibility,
                                                    @Param("itemFilter") String itemFilter,
                                                    @Param("hospId") Long hospId);

    List<ComputeProjectCostPageDto> getColumnList(Page<ComputeProjectCostPageDto> page,
                                                  @Param("computeDate") String computeDate,
                                                  @Param("itemType")String itemType,
                                                  @Param("responsibility") String responsibility,
                                                  @Param("itemFilter") String itemFilter,
                                                  @Param("hospId") Long hospId);

    List<ProjectCostVo> getProjectCost(@Param("computeDate") String computeDate, @Param("hospId") Long hospId);
}
