/*
 * Author: wangjian
 * 生成mapper
 */
package com.tofly.xrtygis.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.tofly.xrtygis.entity.Costbgwater;
import org.apache.ibatis.annotations.Param;

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

/**
 * 预算水量填报信息表
 *
 * @author admin
 * @date Wed Mar 10 00:00:00 CST 2021
 */
public interface CostbgwaterMapper extends BaseMapper<Costbgwater> {
    /**
     * 下面是水量计划值查询
     *
     * @param startYear
     * @return
     */
    List<Map> selectPlanYearData(@Param("startYear") String startYear);
    Map sumPlanYearData(@Param("startYear") String startYear);

    List<Map> selectPlanMonthByYearData(@Param("year") String year);
    Map sumPlanMonthByYearData(@Param("year") String year);

    List<Map> selectPlanMonthData(@Param("month") String month, @Param("year") String yearDay);
    Map sumPlanMonthData(@Param("month") String month, @Param("year") String yearDay);

    /**
     * 下面是水量实际值查询
     *
     * @param startYear
     * @return
     */
    List<Map> selectRealityYearData(@Param("startYear") String startYear);
    Map sumRealityYearData(@Param("startYear") String startYear);

    List<Map> selectRealityMonthByYearData(@Param("year") String year);
    Map sumRealityMonthByYearData(@Param("year") String year);

    List<Map> selectRealityMonthData(@Param("month") String month, @Param("year") String yearDay);
    Map sumRealityMonthData(@Param("month") String month, @Param("year") String yearDay);

    /**
     * 计划单耗
     */
    List<Map> selectPlanUnitYearData(@Param("startYear") String startYear);
    Map sumPlanUnitYearData(@Param("startYear") String startYear);

    List<Map> selectPlanUnitMonthData(@Param("year") String year);
    Map sumPlanUnitMonthData(@Param("year") String year);

    List<Map> selectPlanUnitData(@Param("month") String month, @Param("year") String yearDay);
    Map sumPlanUnitData(@Param("month") String month, @Param("year") String yearDay);

    /**
     * 实际单耗
     */
    List<Map> selectRealUnitYearData(@Param("startYear") String startYear);
    Map sumRealUnitYearData(@Param("startYear") String startYear);

    List<Map> selectRealUnitMonthData(@Param("year") String year);
    Map sumRealUnitMonthData(@Param("year") String year);

    List<Map> selectRealUnitData(@Param("month") String month, @Param("year") String yearDay);
    Map sumRealUnitData(@Param("month") String month, @Param("year") String yearDay);

    /**
     * 下面是制水材料计划值
     *
     * @param startYear
     * @return
     */
    List<Map> selectPlanProduceYearData(@Param("startYear") String startYear);
    Map sumPlanProduceYearData(@Param("startYear") String startYear);

    List<Map> selectPlanProduceMonthByYear(@Param("year") String year);
    Map sumPlanProduceMonthByYear(@Param("year") String year);

    List<Map> selectPlanProduceMonthData(@Param("month") String month, @Param("year") String yearDay);
    Map sumPlanProduceMonthData(@Param("month") String month, @Param("year") String yearDay);

    /**
     * 下面是制水材料实际值，与上面的水量实际值同一张表
     *
     * @param startYear
     * @return
     */
    List<Map> selectRealityProduceYearData(@Param("startYear") String startYear);
    Map sumRealityProduceYearData(@Param("startYear") String startYear);

    List<Map> selectRealityProduceMonthByYear(@Param("year") String year);
    Map sumRealityProduceMonthByYear(@Param("year") String year);

    List<Map> selectRealityProduceMonthData(@Param("month") String month, @Param("year") String yearDay);
    Map sumRealityProduceMonthData(@Param("month") String month, @Param("year") String yearDay);

    /**
     * 下面是制水成本计划值
     *
     * @param startYear
     * @return
     */
    List<Map> selectPlanCostYearData(@Param("startYear") String startYear);
    Map sumPlanCostYearData(@Param("startYear") String startYear);

    List<Map> selectPlanCostMonthByYear(@Param("year") String year);
    Map sumPlanCostMonthByYear(@Param("year") String year);

    List<Map> selectPlanCostMonthData(@Param("month") String month, @Param("year") String yearDay);
    Map sumPlanCostMonthData(@Param("month") String month, @Param("year") String yearDay);

    /**
     * 下面是制水成本实际值
     *
     * @param startYear
     * @return
     */
    List<Map> selectRealityCostYearData(@Param("startYear") String startYear);
    Map sumRealityCostYearData(@Param("startYear") String startYear);

    List<Map> selectRealityCostMonthByYear(@Param("year") String year);
    Map sumRealityCostMonthByYear(@Param("year") String year);

    List<Map> selectRealityCostMonthData(@Param("month") String month, @Param("year") String yearDay);
    Map sumRealityCostMonthData(@Param("month") String month, @Param("year") String yearDay);

    /**
     * 下面是指标单价计划值
     *
     * @param startYear
     * @return
     */
    List<Map> selectPlanPriceYearData(@Param("startYear") String startYear);

    List<Map> selectPlanPriceMonthByYear(@Param("year") String year);

    List<Map> selectPlanPriceMonthData(@Param("month") String month, @Param("year") String yearDay);

    /**
     * 下面是指标单价实际值
     *
     * @param startYear
     * @return
     */
    List<Map> selectRealityPriceYearData(@Param("startYear") String startYear);

    List<Map> selectRealityPriceMonthByYear(@Param("year") String year);

    List<Map> selectRealityPriceMonthData(@Param("month") String month, @Param("year") String yearDay);

    /**
     * 下面是查询当月之前的最新计划单价数据
     *
     * @param fileterYear
     * @param monthStr
     * @return
     */
    List<Map> selectPriceMonthByYear(@Param("tableName") String tableName, @Param("fileterYear") List<String> fileterYear, @Param("monthStr") String monthStr);

    /**
     * 生产数据
     *
     * @param startYear
     * @return
     */
    List<Costbgwater> getProduceDataYearPlan(@Param("startYear") String startYear);

    List<Costbgwater> egtProduceDataMonthByYaerPlan(@Param("year") String year);

    List<Costbgwater> getProduceDataMonthPlan(@Param("month") String month, @Param("year") String yearDay);
}
