2025-04-30 12:36:54 +08:00

158 lines
6.0 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.MeterReadingRecords;
using JiShe.CollectBus.IotSystems.Watermeter;
using Volo.Abp.Application.Services;
namespace JiShe.CollectBus.ScheduledMeterReading
{
/// <summary>
/// 定时任务基础约束
/// </summary>
public interface IScheduledMeterReadingService : IApplicationService
{
/// <summary>
/// 获取采集项列表
/// </summary>
/// <returns></returns>
Task<List<GatherItemInfo>> GetGatherItemByDataTypes();
/// <summary>
/// 构建待处理的下发指令任务处理
/// </summary>
/// <returns></returns>
Task CreateToBeIssueTasks();
#region
/// <summary>
/// 获取电表信息
/// </summary>
/// <param name="gatherCode">采集端Code</param>
/// <returns></returns>
Task<List<AmmeterInfo>> GetAmmeterInfoList(string gatherCode = "");
/// <summary>
/// 初始化电表缓存数据
/// </summary>
/// <param name="gatherCode">采集端Code</param>
/// <returns></returns>
Task InitAmmeterCacheData(string gatherCode = "");
/// <summary>
/// 1分钟采集电表数据只获取任务数据下发不构建任务
/// </summary>
/// <returns></returns>
Task AmmeterScheduledMeterOneMinuteReading();
/// <summary>
/// 5分钟采集电表数据只获取任务数据下发不构建任务
/// </summary>
/// <returns></returns>
Task AmmeterScheduledMeterFiveMinuteReading();
/// <summary>
/// 15分钟采集电表数据只获取任务数据下发不构建任务
/// </summary>
/// <returns></returns>
Task AmmeterScheduledMeterFifteenMinuteReading();
/// <summary>
/// 获取电表阀控配置
/// </summary>
/// <param name="currentTime">阀控的时间</param>
/// <returns></returns>
Task<List<AmmeterAutoValveControlSetting>> GetAmmeterAutoValveControlSetting(string currentTime);
/// <summary>
/// 电表自动阀控
/// </summary>
/// <returns></returns>
Task<List<MeterReadingTelemetryPacketInfo>> AmmeterScheduledAutoValveControl();
/// <summary>
/// 电表自动校时
/// </summary>
/// <param name="timeDensity">采集频率</param>
/// <param name="ammeterInfo">电表信息</param>
/// <param name="groupIndex">集中器所在分组</param>
/// <param name="timestamps">采集频率对应的时间戳</param>
/// <returns></returns>
Task<List<MeterReadingTelemetryPacketInfo>> AmmeterScheduledAutomaticVerificationTime(int timeDensity, AmmeterInfo ammeterInfo, int groupIndex, DateTime timestamps);
/// <summary>
/// 日冻结抄读
/// </summary>
/// <param name="timeDensity">采集频率</param>
/// <param name="ammeterInfo">电表信息</param>
/// <param name="groupIndex">集中器所在分组</param>
/// <param name="timestamps">采集频率对应的时间戳</param>
/// <returns></returns>
Task<List<MeterReadingTelemetryPacketInfo>> AmmeterScheduledGetAutomaticDayFreezeData(int timeDensity, AmmeterInfo ammeterInfo, int groupIndex, DateTime timestamps);
/// <summary>
/// 月冻结数据抄读
/// </summary>
/// <param name="timeDensity">采集频率</param>
/// <param name="ammeterInfo">电表信息</param>
/// <param name="groupIndex">集中器所在分组</param>
/// <param name="timestamps">采集频率对应的时间戳</param>
/// <returns></returns>
Task<List<MeterReadingTelemetryPacketInfo>> AmmeterScheduledGetAutomaticMonthFreezeData(int timeDensity, AmmeterInfo ammeterInfo, int groupIndex, DateTime timestamps);
#endregion
#region
/// <summary>
/// 获取水表信息
/// </summary>
/// <param name="gatherCode">采集端Code</param>
/// <returns></returns>
Task<List<WatermeterInfo>> GetWatermeterInfoList(string gatherCode = "");
/// <summary>
/// 初始化水表缓存数据,只获取任务数据下发,不构建任务
/// </summary>
/// <param name="gatherCode">采集端Code</param>
/// <returns></returns>
Task InitWatermeterCacheData(string gatherCode = "");
/// <summary>
/// 水表数据采集
/// </summary>
/// <returns></returns>
Task WatermeterScheduledMeterAutoReadding();
#endregion
#region
/// <summary>
/// 自动获取终端版
/// </summary>
/// <param name="timeDensity">采集频率</param>
/// <param name="ammeterInfo">电表信息</param>
/// <param name="groupIndex">集中器所在分组</param>
/// <param name="timestamps">采集频率对应的时间戳</param>
/// <returns></returns>
Task<List<MeterReadingTelemetryPacketInfo>> ConcentratorScheduledAutomaticGetTerminalVersion(int timeDensity, AmmeterInfo ammeterInfo, int groupIndex, DateTime timestamps);
/// <summary>
/// 自动获取远程通信模块(SIM)版本信息
/// </summary>
/// <param name="timeDensity">采集频率</param>
/// <param name="ammeterInfo">电表信息</param>
/// <param name="groupIndex">集中器所在分组</param>
/// <param name="timestamps">采集频率对应的时间戳</param>
/// <returns></returns>
Task<List<MeterReadingTelemetryPacketInfo>> ConcentratorScheduledAutomaticGetTelematicsModule(int timeDensity, AmmeterInfo ammeterInfo, int groupIndex, DateTime timestamps);
#endregion
}
}