package cn.com.victorysoft.business.indicator.dao;

import cn.com.victorysoft.business.indicator.entity.LessSummary;
import cn.com.victorysoft.business.sys.param.UnitMonthParam;
import cn.com.victorysoft.business.sys.param.UnitMonthRangeParam;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface LessSummaryDao {
    int deleteByPrimaryKey(LessSummary key);

    int insert(LessSummary record);

    LessSummary selectByPrimaryKey(LessSummary key);

    int updateByPrimaryKeySelective(LessSummary record);

    int updateByPrimaryKey(LessSummary record);

    List<LessSummary> selectUnit(UnitMonthParam param);

    List<LessSummary> selectChildren(UnitMonthParam param);

    List<LessSummary> selectChildrenSum(LessSummary key);

    List<LessSummary> selectRange(UnitMonthRangeParam param);

    int deleteByMonth(String month);

    /**
     * 汇总站级数据-本月与上月
     */
    void summaryStation(@Param("month") String month, @Param("prevMonth") String prevMonth);

    /**
     * 汇总站级数据-新增
     */
    void summaryStationIncrease(@Param("month") String month, @Param("prevMonth") String prevMonth);

    /**
     * 汇总站级数据-治理
     */
    void summaryStationReduce(@Param("month") String month, @Param("prevMonth") String prevMonth);
    /**
     * 汇总区级数据
     */
    void summaryArea(String month);
    /**
     * 汇总厂级数据
     */
    void summaryCompany(String month);
    /**
     * 汇总局级数据
     */
    void summaryGroup(String month);
}