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

import cn.com.victorysoft.business.calc.entity.SysInjectTechnology;
import cn.com.victorysoft.business.indicator.entity.WellSectionMonth;
import cn.com.victorysoft.business.sys.entity.DateRange;
import cn.com.victorysoft.business.sys.entity.WellSectionDaily;
import cn.com.victorysoft.business.sys.param.UnitDateParam;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

@Mapper
public interface DataSyncDao {
    /**
     * 同步水井基础数据
     */
    void syncWaterWell();
    /**
     * 同步单注井层段日数据
     */
    void syncSingleWellDaily(@Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("injectCodes") List<String> injectCodes);
    /**
     * 同步分注井层段日数据
     */
    void syncWellSectionDaily(@Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("injectCodes") List<String> injectCodes);

    /**
     * 水井层段月数据-基础数据
     */
    List<WellSectionMonth> selectWellSectionMonthBasic(String unitcode, DateRange dateRange);

    /**
     * 水井层段月数据-按照井统计
     */
    List<WellSectionMonth> summaryByWell(String unitcode, DateRange dateRange);

    /**
     * 水井层段月数据-按照注水工艺、配注变化统计
     * 注水工艺有变化，按照变化后的数据统计
     * 改配注井按照时长判断，不按照整月判断
     */
    List<WellSectionMonth> summaryWellSectionMonth(String unitcode, DateRange dateRange);

    /**
     * 查询注水工艺
     */
    List<SysInjectTechnology> selectInjectTechnology();

}