using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using JiShe.CollectBus.Ammeters;
using JiShe.CollectBus.GatherItem;
using JiShe.CollectBus.IotSystems.Ammeters;
using JiShe.CollectBus.IotSystems.Watermeter;
using Volo.Abp.Application.Services;
namespace JiShe.CollectBus.ScheduledMeterReading
{
///
/// 定时任务基础约束
///
public interface IScheduledMeterReadingService : IApplicationService
{
///
/// 获取采集项列表
///
///
Task> GetGatherItemByDataTypes();
///
/// 构建待处理的下发指令任务处理
///
///
Task CreateToBeIssueTasks();
#region 电表采集处理
///
/// 获取电表信息
///
/// 采集端Code
///
Task> GetAmmeterInfoList(string gatherCode = "");
///
/// 初始化电表缓存数据
///
/// 采集端Code
///
Task InitAmmeterCacheData(string gatherCode = "");
///
/// 1分钟采集电表数据,只获取任务数据下发,不构建任务
///
///
Task AmmeterScheduledMeterOneMinuteReading();
///
/// 5分钟采集电表数据,只获取任务数据下发,不构建任务
///
///
Task AmmeterScheduledMeterFiveMinuteReading();
///
/// 15分钟采集电表数据,只获取任务数据下发,不构建任务
///
///
Task AmmeterScheduledMeterFifteenMinuteReading();
///
/// 获取电表阀控配置
///
/// 阀控的时间
///
Task> GetAmmeterAutoValveControlSetting(string currentTime);
///
/// 电表自动阀控
///
///
Task AmmeterScheduledAutoValveControl();
///
/// 电表自动校时
///
/// 采集频率
///
Task AmmeterScheduledAutomaticVerificationTime(int timeDensity, AmmeterInfo ammeterInfo, int groupIndex, DateTime timestamps);
#endregion
#region 水表采集处理
///
/// 获取水表信息
///
/// 采集端Code
///
Task> GetWatermeterInfoList(string gatherCode = "");
///
/// 初始化水表缓存数据,只获取任务数据下发,不构建任务
///
/// 采集端Code
///
Task InitWatermeterCacheData(string gatherCode = "");
///
/// 水表数据采集
///
///
Task WatermeterScheduledMeterAutoReading();
#endregion
}
}