This commit is contained in:
cli 2025-03-14 14:28:04 +08:00
parent 3b2e1c6e9c
commit e0b055c612
33 changed files with 247 additions and 370 deletions

View File

@ -1,6 +1,6 @@
using System.Threading.Tasks;
using JiShe.CollectBus.Common.Models;
using JiShe.CollectBus.MessageReceiveds;
using JiShe.CollectBus.IotSystems.MessageReceiveds;
using Volo.Abp.Application.Services;
namespace JiShe.CollectBus.Subscribers

View File

@ -1,5 +1,5 @@
using JiShe.CollectBus.Ammeters;
using JiShe.CollectBus.Watermeter;
using JiShe.CollectBus.IotSystems.Watermeter;
using System;
using System.Collections.Generic;
using System.Linq;
@ -15,8 +15,6 @@ namespace JiShe.CollectBus.Workers
/// </summary>
public interface IScheduledMeterReadingService : IApplicationService
{
#region
/// <summary>
/// 获取电表信息
/// </summary>
@ -31,28 +29,6 @@ namespace JiShe.CollectBus.Workers
/// <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();
#endregion
#region
/// <summary>
/// 获取水表信息
/// </summary>
@ -68,24 +44,21 @@ namespace JiShe.CollectBus.Workers
Task InitWatermeterCacheData(string gatherCode = "");
/// <summary>
/// 1分钟采集表数据
/// 1分钟采集表数据
/// </summary>
/// <returns></returns>
Task WatermeterScheduledMeterOneMinuteReading();
Task ScheduledMeterOneMinuteReading();
/// <summary>
/// 5分钟采集表数据
/// 5分钟采集表数据
/// </summary>
/// <returns></returns>
Task WatermeterScheduledMeterFiveMinuteReading();
Task ScheduledMeterFiveMinuteReading();
/// <summary>
/// 15分钟采集表数据
/// 15分钟采集表数据
/// </summary>
/// <returns></returns>
Task WatermeterScheduledMeterFifteenMinuteReading();
#endregion
Task ScheduledMeterFifteenMinuteReading();
}
}

View File

@ -1,8 +1,8 @@
using System;
using System.Threading.Tasks;
using JiShe.CollectBus.Common.Enums;
using JiShe.CollectBus.MessageIssueds;
using JiShe.CollectBus.MessageReceiveds;
using JiShe.CollectBus.IotSystems.MessageIssueds;
using JiShe.CollectBus.IotSystems.MessageReceiveds;
using MassTransit;
using Microsoft.Extensions.Logging;
using TouchSocket.Sockets;

View File

@ -1,6 +1,6 @@
using System;
using System.Threading.Tasks;
using JiShe.CollectBus.MessageIssueds;
using JiShe.CollectBus.IotSystems.MessageIssueds;
using MassTransit;
namespace JiShe.CollectBus.Consumers

View File

@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using JiShe.CollectBus.MessageReceiveds;
using JiShe.CollectBus.IotSystems.MessageReceiveds;
using JiShe.CollectBus.Protocol.Contracts.Interfaces;
using MassTransit;
using Microsoft.Extensions.DependencyInjection;

View File

@ -1,6 +1,6 @@
using System;
using System.Threading.Tasks;
using JiShe.CollectBus.MessageReceiveds;
using JiShe.CollectBus.IotSystems.MessageReceiveds;
using MassTransit;
namespace JiShe.CollectBus.Consumers

View File

@ -4,7 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using JiShe.CollectBus.Common.Models;
using JiShe.CollectBus.MessageReceiveds;
using JiShe.CollectBus.IotSystems.MessageReceiveds;
using JiShe.CollectBus.Protocol.Contracts.Interfaces;
using MassTransit;
using Microsoft.Extensions.DependencyInjection;

View File

@ -4,7 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using JiShe.CollectBus.Common.Models;
using JiShe.CollectBus.MessageReceiveds;
using JiShe.CollectBus.IotSystems.MessageReceiveds;
using JiShe.CollectBus.Protocol.Contracts.Interfaces;
using MassTransit;
using Microsoft.Extensions.DependencyInjection;

View File

@ -12,9 +12,9 @@ using JiShe.CollectBus.Common.Extensions;
using JiShe.CollectBus.Common.Models;
using JiShe.CollectBus.EnergySystem.Dto;
using JiShe.CollectBus.FreeSql;
using JiShe.CollectBus.PrepayModel;
using JiShe.CollectBus.IotSystems.PrepayModel;
using JiShe.CollectBus.IotSystems.Records;
using JiShe.CollectBus.Protocol.Contracts;
using JiShe.CollectBus.Records;
using MassTransit;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;

View File

@ -4,10 +4,10 @@ using DotNetCore.CAP;
using JiShe.CollectBus.Ammeters;
using JiShe.CollectBus.Common.Enums;
using JiShe.CollectBus.Common.Extensions;
using JiShe.CollectBus.Devices;
using JiShe.CollectBus.Enums;
using JiShe.CollectBus.Interceptors;
using JiShe.CollectBus.MessageReceiveds;
using JiShe.CollectBus.IotSystems.Devices;
using JiShe.CollectBus.IotSystems.MessageReceiveds;
using JiShe.CollectBus.Protocol.Contracts;
using MassTransit;
using Microsoft.Extensions.Logging;

View File

@ -1,7 +1,7 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using JiShe.CollectBus.FreeSql;
using JiShe.CollectBus.PrepayModel;
using JiShe.CollectBus.IotSystems.PrepayModel;
using Microsoft.AspNetCore.Authorization;
namespace JiShe.CollectBus.Samples;

View File

@ -3,8 +3,8 @@ using System.Threading.Tasks;
using DotNetCore.CAP;
using JiShe.CollectBus.Common.Enums;
using JiShe.CollectBus.Common.Models;
using JiShe.CollectBus.Devices;
using JiShe.CollectBus.MessageReceiveds;
using JiShe.CollectBus.IotSystems.Devices;
using JiShe.CollectBus.IotSystems.MessageReceiveds;
using JiShe.CollectBus.Protocol.Contracts;
using JiShe.CollectBus.Protocol.Contracts.Interfaces;
using Microsoft.Extensions.DependencyInjection;

View File

@ -1,9 +1,7 @@
using DotNetCore.CAP;
using FreeRedis;
using FreeRedis;
using JiShe.CollectBus.Ammeters;
using JiShe.CollectBus.Common.Consts;
using JiShe.CollectBus.Common.Helpers;
using JiShe.CollectBus.Watermeter;
using JiShe.CollectBus.IotSystems.Watermeter;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
@ -21,10 +19,8 @@ namespace JiShe.CollectBus.Workers
public abstract class BasicScheduledMeterReadingService : CollectBusAppService, IScheduledMeterReadingService
{
private readonly ILogger<BasicScheduledMeterReadingService> _logger;
private readonly ICapPublisher _capBus;
public BasicScheduledMeterReadingService(ILogger<BasicScheduledMeterReadingService> logger, ICapPublisher capBus)
public BasicScheduledMeterReadingService(ILogger<BasicScheduledMeterReadingService> logger)
{
_capBus = capBus;
_logger = logger;
}
@ -96,19 +92,46 @@ namespace JiShe.CollectBus.Workers
var oneMinutekeyList = await FreeRedisProvider.FreeRedis.KeysAsync(redisKeyList);
if (oneMinutekeyList == null || oneMinutekeyList.Length <=0)
{
_logger.LogError($"{nameof(AmmeterScheduledMeterOneMinuteReading)} 1分钟采集电表数据处理时没有获取到缓存信息,-101");
_logger.LogError($"{nameof(WatermeterScheduledMeterOneMinuteReading)} 1分钟采集电表数据处理时没有获取到缓存信息,-102");
return;
}
//通过lua脚本一次性获取所有缓存内容
var luaScript = @"
local results = {}
for i, key in ipairs(KEYS) do
local data = redis.call('HGETALL', key)
results[i] = {key, data}
end
return results";
var oneMinuteAmmerterResult = FreeRedisProvider.FreeRedis.Eval(luaScript, oneMinutekeyList); // 传递 KEYS
if (oneMinuteAmmerterResult == null)
{
_logger.LogError($"{nameof(WatermeterScheduledMeterOneMinuteReading)} 1分钟采集电表数据处理时没有获取到缓存信息,-102");
return;
}
// 解析结果(结果为嵌套数组)
List<AmmeterInfo> meterInfos = await GetMeterCacheData<AmmeterInfo>(oneMinutekeyList);
if (meterInfos == null || meterInfos.Count <= 0)
var parsedResults = new Dictionary<string, Dictionary<string, string>>();
if (oneMinuteAmmerterResult is object[] arr)
{
_logger.LogError($"{nameof(AmmeterScheduledMeterOneMinuteReading)} 1分钟采集电表数据处理时没有获取到缓存信息,-102");
return;
foreach (object[] item in arr)
{
string key = (string)item[0];
object[] fieldsAndValues = (object[])item[1];
var dict = new Dictionary<string, string>();
for (int i = 0; i < fieldsAndValues.Length; i += 2)
{
string field = (string)fieldsAndValues[i];
string value = (string)fieldsAndValues[i + 1];
dict[field] = value;
}
parsedResults[key] = dict;
}
}
_logger.LogInformation($"{nameof(AmmeterScheduledMeterOneMinuteReading)} 1分钟采集电表数据处理完成");
_logger.LogInformation($"{nameof(WatermeterScheduledMeterOneMinuteReading)} 1分钟采集电表数据处理完成");
}
@ -116,52 +139,18 @@ namespace JiShe.CollectBus.Workers
/// 5分钟采集电表数据
/// </summary>
/// <returns></returns>
public virtual async Task AmmeterScheduledMeterFiveMinuteReading()
public virtual Task AmmeterScheduledMeterFiveMinuteReading()
{
//获取缓存中的电表信息
var redisKeyList = $"{string.Format(FreeRedisConst.CacheAmmeterInfoKey, SystemTypeConst.Energy, 5)}*";
var oneMinutekeyList = await FreeRedisProvider.FreeRedis.KeysAsync(redisKeyList);
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
{
_logger.LogError($"{nameof(AmmeterScheduledMeterFiveMinuteReading)} 5分钟采集电表数据处理时没有获取到缓存信息,-101");
return;
}
// 解析结果(结果为嵌套数组)
List<AmmeterInfo> meterInfos = await GetMeterCacheData<AmmeterInfo>(oneMinutekeyList);
if (meterInfos == null || meterInfos.Count <= 0)
{
_logger.LogError($"{nameof(AmmeterScheduledMeterFiveMinuteReading)} 5分钟采集电表数据处理时没有获取到缓存信息,-102");
return;
}
_logger.LogInformation($"{nameof(AmmeterScheduledMeterFiveMinuteReading)} 5分钟采集电表数据处理完成");
throw new NotImplementedException($"{nameof(AmmeterScheduledMeterFiveMinuteReading)}请根据不同系统类型进行实现");
}
/// <summary>
/// 15分钟采集电表数据
/// </summary>
/// <returns></returns>
public virtual async Task AmmeterScheduledMeterFifteenMinuteReading()
public virtual Task AmmeterScheduledMeterFifteenMinuteReading()
{
//获取缓存中的电表信息
var redisKeyList = $"{string.Format(FreeRedisConst.CacheAmmeterInfoKey, SystemTypeConst.Energy, 15)}*";
var oneMinutekeyList = await FreeRedisProvider.FreeRedis.KeysAsync(redisKeyList);
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
{
_logger.LogError($"{nameof(AmmeterScheduledMeterFifteenMinuteReading)} 15分钟采集电表数据处理时没有获取到缓存信息,-101");
return;
}
// 解析结果(结果为嵌套数组)
List<AmmeterInfo> meterInfos = await GetMeterCacheData<AmmeterInfo>(oneMinutekeyList);
if (meterInfos == null || meterInfos.Count <= 0)
{
_logger.LogError($"{nameof(AmmeterScheduledMeterFifteenMinuteReading)} 15分钟采集电表数据处理时没有获取到缓存信息,-102");
return;
}
_logger.LogInformation($"{nameof(AmmeterScheduledMeterFifteenMinuteReading)} 15分钟采集电表数据处理完成");
throw new NotImplementedException($"{nameof(AmmeterScheduledMeterFifteenMinuteReading)}请根据不同系统类型进行实现");
}
#endregion
@ -222,22 +211,9 @@ namespace JiShe.CollectBus.Workers
/// <returns></returns>
public virtual async Task WatermeterScheduledMeterOneMinuteReading()
{
//获取缓存中的水表信息
var redisKeyList = $"{string.Format(FreeRedisConst.CacheWatermeterInfoKey, SystemTypeConst.Energy, 1)}*";
var oneMinutekeyList = await FreeRedisProvider.FreeRedis.KeysAsync(redisKeyList);
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
{
_logger.LogError($"{nameof(WatermeterScheduledMeterOneMinuteReading)} 1分钟采集水表据处理时没有获取到缓存信息,-101");
return;
}
// 解析结果(结果为嵌套数组)
List<WatermeterInfo> meterInfos = await GetMeterCacheData<WatermeterInfo>(oneMinutekeyList);
if (meterInfos == null || meterInfos.Count <= 0)
{
_logger.LogError($"{nameof(WatermeterScheduledMeterOneMinuteReading)} 1分钟采集水表数据处理时没有获取到缓存信息,-102");
return;
}
//获取缓存中的电表信息
var redisKeyList = $"{string.Format(FreeRedisConst.CacheAmmeterInfoKey, SystemTypeConst.Energy, 1)}*";
var oneMinuteList = await FreeRedisProvider.FreeRedis.KeysAsync(redisKeyList);
_logger.LogInformation($"{nameof(WatermeterScheduledMeterOneMinuteReading)} 1分钟采集水表数据处理完成");
}
@ -246,113 +222,21 @@ namespace JiShe.CollectBus.Workers
/// 5分钟采集电表数据
/// </summary>
/// <returns></returns>
public virtual async Task WatermeterScheduledMeterFiveMinuteReading()
public virtual Task WatermeterScheduledMeterFiveMinuteReading()
{
//获取缓存中的水表信息
var redisKeyList = $"{string.Format(FreeRedisConst.CacheWatermeterInfoKey, SystemTypeConst.Energy, 5)}*";
var oneMinutekeyList = await FreeRedisProvider.FreeRedis.KeysAsync(redisKeyList);
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
{
_logger.LogError($"{nameof(WatermeterScheduledMeterFiveMinuteReading)} 5分钟采集水表据处理时没有获取到缓存信息,-101");
return;
}
// 解析结果(结果为嵌套数组)
List<WatermeterInfo> meterInfos = await GetMeterCacheData<WatermeterInfo>(oneMinutekeyList);
if (meterInfos == null || meterInfos.Count <= 0)
{
_logger.LogError($"{nameof(WatermeterScheduledMeterFiveMinuteReading)} 5分钟采集水表数据处理时没有获取到缓存信息,-102");
return;
}
_logger.LogInformation($"{nameof(WatermeterScheduledMeterFiveMinuteReading)} 5分钟采集水表数据处理完成");
throw new NotImplementedException($"{nameof(WatermeterScheduledMeterFiveMinuteReading)}请根据不同系统类型进行实现");
}
/// <summary>
/// 15分钟采集电表数据
/// </summary>
/// <returns></returns>
public virtual async Task WatermeterScheduledMeterFifteenMinuteReading()
public virtual Task WatermeterScheduledMeterFifteenMinuteReading()
{
//获取缓存中的水表信息
var redisKeyList = $"{string.Format(FreeRedisConst.CacheWatermeterInfoKey, SystemTypeConst.Energy, 15)}*";
var oneMinutekeyList = await FreeRedisProvider.FreeRedis.KeysAsync(redisKeyList);
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
{
_logger.LogError($"{nameof(WatermeterScheduledMeterFifteenMinuteReading)} 15分钟采集水表据处理时没有获取到缓存信息,-101");
return;
}
// 解析结果(结果为嵌套数组)
List<WatermeterInfo> meterInfos = await GetMeterCacheData<WatermeterInfo>(oneMinutekeyList);
if (meterInfos == null || meterInfos.Count <= 0)
{
_logger.LogError($"{nameof(WatermeterScheduledMeterFifteenMinuteReading)} 15分钟采集水表数据处理时没有获取到缓存信息,-102");
return;
}
_logger.LogInformation($"{nameof(WatermeterScheduledMeterFifteenMinuteReading)} 15分钟采集水表数据处理完成");
throw new NotImplementedException($"{nameof(WatermeterScheduledMeterFifteenMinuteReading)}请根据不同系统类型进行实现");
}
#endregion
#region
/// <summary>
/// 批量获取缓存的表计信息
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="redisKeys"></param>
/// <returns></returns>
private async Task<List<T>> GetMeterCacheData<T>(string[] redisKeys)
{
//通过lua脚本一次性获取所有缓存内容
var luaScript = @"
local results = {}
for i, key in ipairs(KEYS) do
local data = redis.call('HGETALL', key)
results[i] = {key, data}
end
return results";
var oneMinuteAmmerterResult = await FreeRedisProvider.FreeRedis.EvalAsync(luaScript, redisKeys); //传递 KEYS
if (oneMinuteAmmerterResult == null)
{
_logger.LogError($"{nameof(WatermeterScheduledMeterOneMinuteReading)} 1分钟采集电表数据处理时没有获取到缓存信息,-102");
return null;
}
// 解析结果(结果为嵌套数组)
List<T> meterInfos = new List<T>();
if (oneMinuteAmmerterResult is object[] arr)
{
foreach (object[] item in arr)
{
string key = (string)item[0];
object[] fieldsAndValues = (object[])item[1];
for (int i = 0; i < fieldsAndValues.Length; i += 2)
{
string field = (string)fieldsAndValues[i];
string valueStr = (string)fieldsAndValues[i + 1];
T value = default;
if (!string.IsNullOrWhiteSpace(valueStr))
{
value = valueStr.Deserialize<T>()!;
}
if (value != null)
{
meterInfos.Add(value);
}
else
{
_logger.LogInformation($"{nameof(WatermeterScheduledMeterOneMinuteReading)} 1分钟采集电表{key}数据{field}处理异常");
}
}
}
}
return meterInfos;
}
#endregion
}
}

View File

@ -2,10 +2,9 @@
using FreeRedis;
using JiShe.CollectBus.Ammeters;
using JiShe.CollectBus.Common.Consts;
using JiShe.CollectBus.Devices;
using JiShe.CollectBus.FreeRedisProvider;
using JiShe.CollectBus.FreeSql;
using JiShe.CollectBus.Watermeter;
using JiShe.CollectBus.IotSystems.Watermeter;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;

View File

@ -4,7 +4,7 @@ using DeviceDetectorNET.Parser.Device;
using DotNetCore.CAP;
using JiShe.CollectBus.Common.Enums;
using JiShe.CollectBus.Common.Models;
using JiShe.CollectBus.Devices;
using JiShe.CollectBus.IotSystems.Devices;
using JiShe.CollectBus.MessageReceiveds;
using JiShe.CollectBus.Protocol.Contracts;
using JiShe.CollectBus.Protocol.Contracts.Interfaces;

View File

@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace JiShe.CollectBus.EnergySystems.TableViews
{
public class V_FocusAmmeter
{
}
}

View File

@ -6,7 +6,7 @@ using System.Threading.Tasks;
using JiShe.CollectBus.Enums;
using Volo.Abp.Domain.Entities;
namespace JiShe.CollectBus.Devices
namespace JiShe.CollectBus.IotSystems.Devices
{
public class Device : AggregateRoot<Guid>
{

View File

@ -5,7 +5,7 @@ using System.Text;
using System.Threading.Tasks;
using JiShe.CollectBus.Common.Enums;
namespace JiShe.CollectBus.MessageIssueds
namespace JiShe.CollectBus.IotSystems.MessageIssueds
{
public class MessageIssued
{

View File

@ -1,4 +1,4 @@
namespace JiShe.CollectBus.MessageReceiveds
namespace JiShe.CollectBus.IotSystems.MessageReceiveds
{
public interface IReceived
{

View File

@ -1,7 +1,7 @@
using System;
using Volo.Abp.Domain.Entities;
namespace JiShe.CollectBus.MessageReceiveds
namespace JiShe.CollectBus.IotSystems.MessageReceiveds
{
public class MessageReceived: AggregateRoot<Guid>,IReceived
{

View File

@ -0,0 +1,129 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace JiShe.CollectBus.IotSystems.PrepayModel
{
/// <summary>
/// 预付费电表视图模型
/// </summary>
public partial class Vi_BaseAmmeterInfo
{
public int ID { get; set; }
public string BarCode { get; set; }
public string Address { get; set; }
public string BaudRate { get; set; }
public string Password { get; set; }
public string Explan { get; set; }
public DateTime AddTime { get; set; }
public bool State { get; set; }
public int TB_EquipmentTypeID { get; set; }
public int BaseID { get; set; }
public string Code { get; set; }
public int? MeterCode { get; set; }
public int? PortNumber { get; set; }
public int CT { get; set; }
public bool SoftTripsLock { get; set; }
public bool HardwareTripsLock { get; set; }
public bool ValveState { get; set; }
public bool ArchivesState { get; set; }
public int? SortNumber { get; set; }
public decimal Balance { get; set; }
public bool IsAlarm { get; set; }
public string sysExplan { get; set; }
public DateTime sysAddTime { get; set; }
public bool sysState { get; set; }
public int? TB_sysConcentratorID { get; set; }
public int? TB_sysChargingSchemeID { get; set; }
public int? TB_sysChargingSchemeID1 { get; set; }
public int TB_CustomerID { get; set; }
public int? TB_sysAlarmPlanID { get; set; }
public int? TB_sysCollectorID { get; set; }
public int? TB_sysRoomID { get; set; }
public string SpecialNoCode { get; set; }
public decimal? RatedCurrent { get; set; }
public int? TripDelayTime { get; set; }
public int? ClosingTime { get; set; }
public int? Remainder { get; set; }
public decimal? RatedPower { get; set; }
public bool? ParentAmmState { get; set; }
public int? ParentAmmID { get; set; }
public DateTime? LastUpdateTime { get; set; }
public bool? IsAuthentication { get; set; }
public bool? IsShowBalance { get; set; }
public string Number { get; set; }
public DateTime? LastAuthTime { get; set; }
public bool? IsAuthenticationFunction { get; set; }
public bool? IsShowBalanceFunction { get; set; }
public int TB_ProtocolID { get; set; }
public string Operator { get; set; }
public bool? IsTimingPowerSetting { get; set; }
public string CommSchemeCode { get; set; }
public string RoomAllName { get; set; }
public bool? IsLadderPrice { get; set; }
public int? LadderNum { get; set; }
public decimal? RoomBalance { get; set; }
public decimal? OtherBalance { get; set; }
public int? LastValveEventType { get; set; }
public decimal? ReadKwh4 { get; set; }
public decimal? ReadKwh3 { get; set; }
public decimal? ReadKwh2 { get; set; }
public decimal? ReadKwh1 { get; set; }
public decimal? ReadKwh { get; set; }
public DateTime? LastEventTime { get; set; }
public DateTime? LastReadTime { get; set; }
public string RoomNumber { get; set; }
public string EquipmentName { get; set; }
public int? EquipmentId { get; set; }
public bool? IsMalignantLoad { get; set; }
public string BrandName { get; set; }
public decimal? MalignantPower { get; set; }
public bool? MalignantPowerState { get; set; }
public bool? RatedPowerState { get; set; }
public string SolveStatus { get; set; }
public int? PowerDownStatus { get; set; }
public DateTime? SolveStatusTime { get; set; }
public decimal DisableKwh { get; set; }
public int? IsDeliver { get; set; }
public int? HandleUser { get; set; }
public string HandleUserName { get; set; }
public string Solutions { get; set; }
public decimal DisableKwh1 { get; set; }
public decimal DisableKwh2 { get; set; }
public decimal DisableKwh3 { get; set; }
public decimal DisableKwh4 { get; set; }
public bool DelaySwitchOff { get; set; }
public string MeterSolveStatus { get; set; }
public DateTime? DeliverTime { get; set; }
public bool EnableState { get; set; }
public string DxNbiotDeviceId { get; set; }
public int MeterStatus { get; set; }
public string AllowTripTime { get; set; }
public int? LastCostMilliSecond { get; set; }
public string DxNbiotIMEI { get; set; }
public decimal? ReadKwh5 { get; set; }
public decimal? ReadKwh6 { get; set; }
public decimal? ReadKwh7 { get; set; }
public decimal? ReadKwh8 { get; set; }
public decimal? DisableKwh5 { get; set; }
public decimal? DisableKwh6 { get; set; }
public decimal? DisableKwh7 { get; set; }
public decimal? DisableKwh8 { get; set; }
public bool? IsLadder { get; set; }
public int? TimeSpanSetNum { get; set; }
public string ExecutePeriod { get; set; }
public string FreqInterval { get; set; }
public int? Tb_sysUseValueAlarmID { get; set; }
public bool? IsMaxDemandKwh { get; set; }
public DateTime? OnLineTime { get; set; }
public int? OperatorId { get; set; }
public int PowerCT { get; set; }
public string CommunicationsModule { get; set; }
public bool? CanBlueTooth { get; set; }
public bool? CanRemote { get; set; }
public bool? IsDownPrice { get; set; }
public int? BuyCount { get; set; }
}
}

View File

@ -2,7 +2,7 @@
using JiShe.CollectBus.Interfaces;
using Volo.Abp.Domain.Entities;
namespace JiShe.CollectBus.Protocols
namespace JiShe.CollectBus.IotSystems.Protocols
{
public class ProtocolInfo : AggregateRoot<Guid>, IProtocolInfo
{

View File

@ -5,7 +5,7 @@ using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities;
namespace JiShe.CollectBus.Records
namespace JiShe.CollectBus.IotSystems.Records
{
/// <summary>
/// 集中器在线记录

View File

@ -5,7 +5,7 @@ using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities;
namespace JiShe.CollectBus.Records
namespace JiShe.CollectBus.IotSystems.Records
{
/// <summary>
/// 信号强度

View File

@ -6,7 +6,7 @@ using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities;
namespace JiShe.CollectBus.Records
namespace JiShe.CollectBus.IotSystems.Records
{
/// <summary>
/// 集中器上下线、心跳记录

View File

@ -5,7 +5,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace JiShe.CollectBus.Watermeter
namespace JiShe.CollectBus.IotSystems.Watermeter
{
/// <summary>
/// 水表信息

View File

@ -8,6 +8,12 @@
<RootNamespace>JiShe.CollectBus</RootNamespace>
</PropertyGroup>
<ItemGroup>
<Compile Remove="PrepaymentSystems\新文件夹\**" />
<EmbeddedResource Remove="PrepaymentSystems\新文件夹\**" />
<None Remove="PrepaymentSystems\新文件夹\**" />
</ItemGroup>
<ItemGroup>
<None Remove="FodyWeavers.xml" />
<None Remove="FodyWeavers.xsd" />
@ -27,7 +33,9 @@
</ItemGroup>
<ItemGroup>
<Folder Include="Loggers\" />
<Folder Include="EnergySystems\Entitys\" />
<Folder Include="PrepaymentSystems\Entitys\" />
<Folder Include="PrepaymentSystems\TableViews\" />
</ItemGroup>
</Project>

View File

@ -1,129 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace JiShe.CollectBus.PrepayModel
{
/// <summary>
/// 预付费电表视图模型
/// </summary>
public partial class Vi_BaseAmmeterInfo
{
public int ID { get; set; }
public string BarCode { get; set; }
public string Address { get; set; }
public string BaudRate { get; set; }
public string Password { get; set; }
public string Explan { get; set; }
public System.DateTime AddTime { get; set; }
public bool State { get; set; }
public int TB_EquipmentTypeID { get; set; }
public int BaseID { get; set; }
public string Code { get; set; }
public Nullable<int> MeterCode { get; set; }
public Nullable<int> PortNumber { get; set; }
public int CT { get; set; }
public bool SoftTripsLock { get; set; }
public bool HardwareTripsLock { get; set; }
public bool ValveState { get; set; }
public bool ArchivesState { get; set; }
public Nullable<int> SortNumber { get; set; }
public decimal Balance { get; set; }
public bool IsAlarm { get; set; }
public string sysExplan { get; set; }
public System.DateTime sysAddTime { get; set; }
public bool sysState { get; set; }
public Nullable<int> TB_sysConcentratorID { get; set; }
public Nullable<int> TB_sysChargingSchemeID { get; set; }
public Nullable<int> TB_sysChargingSchemeID1 { get; set; }
public int TB_CustomerID { get; set; }
public Nullable<int> TB_sysAlarmPlanID { get; set; }
public Nullable<int> TB_sysCollectorID { get; set; }
public Nullable<int> TB_sysRoomID { get; set; }
public string SpecialNoCode { get; set; }
public Nullable<decimal> RatedCurrent { get; set; }
public Nullable<int> TripDelayTime { get; set; }
public Nullable<int> ClosingTime { get; set; }
public Nullable<int> Remainder { get; set; }
public Nullable<decimal> RatedPower { get; set; }
public Nullable<bool> ParentAmmState { get; set; }
public Nullable<int> ParentAmmID { get; set; }
public Nullable<System.DateTime> LastUpdateTime { get; set; }
public Nullable<bool> IsAuthentication { get; set; }
public Nullable<bool> IsShowBalance { get; set; }
public string Number { get; set; }
public Nullable<System.DateTime> LastAuthTime { get; set; }
public Nullable<bool> IsAuthenticationFunction { get; set; }
public Nullable<bool> IsShowBalanceFunction { get; set; }
public int TB_ProtocolID { get; set; }
public string Operator { get; set; }
public Nullable<bool> IsTimingPowerSetting { get; set; }
public string CommSchemeCode { get; set; }
public string RoomAllName { get; set; }
public Nullable<bool> IsLadderPrice { get; set; }
public Nullable<int> LadderNum { get; set; }
public Nullable<decimal> RoomBalance { get; set; }
public Nullable<decimal> OtherBalance { get; set; }
public Nullable<int> LastValveEventType { get; set; }
public Nullable<decimal> ReadKwh4 { get; set; }
public Nullable<decimal> ReadKwh3 { get; set; }
public Nullable<decimal> ReadKwh2 { get; set; }
public Nullable<decimal> ReadKwh1 { get; set; }
public Nullable<decimal> ReadKwh { get; set; }
public Nullable<System.DateTime> LastEventTime { get; set; }
public Nullable<System.DateTime> LastReadTime { get; set; }
public string RoomNumber { get; set; }
public string EquipmentName { get; set; }
public Nullable<int> EquipmentId { get; set; }
public Nullable<bool> IsMalignantLoad { get; set; }
public string BrandName { get; set; }
public Nullable<decimal> MalignantPower { get; set; }
public Nullable<bool> MalignantPowerState { get; set; }
public Nullable<bool> RatedPowerState { get; set; }
public string SolveStatus { get; set; }
public Nullable<int> PowerDownStatus { get; set; }
public Nullable<System.DateTime> SolveStatusTime { get; set; }
public decimal DisableKwh { get; set; }
public Nullable<int> IsDeliver { get; set; }
public Nullable<int> HandleUser { get; set; }
public string HandleUserName { get; set; }
public string Solutions { get; set; }
public decimal DisableKwh1 { get; set; }
public decimal DisableKwh2 { get; set; }
public decimal DisableKwh3 { get; set; }
public decimal DisableKwh4 { get; set; }
public bool DelaySwitchOff { get; set; }
public string MeterSolveStatus { get; set; }
public Nullable<System.DateTime> DeliverTime { get; set; }
public bool EnableState { get; set; }
public string DxNbiotDeviceId { get; set; }
public int MeterStatus { get; set; }
public string AllowTripTime { get; set; }
public Nullable<int> LastCostMilliSecond { get; set; }
public string DxNbiotIMEI { get; set; }
public Nullable<decimal> ReadKwh5 { get; set; }
public Nullable<decimal> ReadKwh6 { get; set; }
public Nullable<decimal> ReadKwh7 { get; set; }
public Nullable<decimal> ReadKwh8 { get; set; }
public Nullable<decimal> DisableKwh5 { get; set; }
public Nullable<decimal> DisableKwh6 { get; set; }
public Nullable<decimal> DisableKwh7 { get; set; }
public Nullable<decimal> DisableKwh8 { get; set; }
public Nullable<bool> IsLadder { get; set; }
public Nullable<int> TimeSpanSetNum { get; set; }
public string ExecutePeriod { get; set; }
public string FreqInterval { get; set; }
public Nullable<int> Tb_sysUseValueAlarmID { get; set; }
public Nullable<bool> IsMaxDemandKwh { get; set; }
public Nullable<System.DateTime> OnLineTime { get; set; }
public Nullable<int> OperatorId { get; set; }
public int PowerCT { get; set; }
public string CommunicationsModule { get; set; }
public Nullable<bool> CanBlueTooth { get; set; }
public Nullable<bool> CanRemote { get; set; }
public Nullable<bool> IsDownPrice { get; set; }
public Nullable<int> BuyCount { get; set; }
}
}

View File

@ -18,8 +18,8 @@ using TouchSocket.Core;
using TouchSocket.Sockets;
using JiShe.CollectBus.Plugins;
using JiShe.CollectBus.Consumers;
using JiShe.CollectBus.MessageReceiveds;
using JiShe.CollectBus.Protocol.Contracts;
using JiShe.CollectBus.IotSystems.MessageReceiveds;
namespace JiShe.CollectBus.Host

View File

@ -1,6 +1,6 @@
using JiShe.CollectBus.Devices;
using JiShe.CollectBus.MessageReceiveds;
using JiShe.CollectBus.Protocols;
using JiShe.CollectBus.IotSystems.Devices;
using JiShe.CollectBus.IotSystems.MessageReceiveds;
using JiShe.CollectBus.IotSystems.Protocols;
using MongoDB.Driver;
using Volo.Abp.Data;
using Volo.Abp.MongoDB;

View File

@ -3,15 +3,15 @@ using DotNetCore.CAP;
using JiShe.CollectBus.Common.Enums;
using JiShe.CollectBus.Common.Extensions;
using JiShe.CollectBus.Common.Models;
using JiShe.CollectBus.MessageReceiveds;
using JiShe.CollectBus.Protocol.Contracts.Interfaces;
using JiShe.CollectBus.Protocols;
using Microsoft.Extensions.Logging;
using JiShe.CollectBus.Protocol.Contracts.Models;
using Volo.Abp.Domain.Repositories;
using JiShe.CollectBus.Common.BuildSendDatas;
using JiShe.CollectBus.Protocol.Contracts.AnalysisData;
using Microsoft.Extensions.DependencyInjection;
using JiShe.CollectBus.IotSystems.MessageReceiveds;
using JiShe.CollectBus.IotSystems.Protocols;
namespace JiShe.CollectBus.Protocol.Contracts.Abstracts
{

View File

@ -1,9 +1,9 @@
using System;
using System.Threading.Tasks;
using JiShe.CollectBus.Common.Models;
using JiShe.CollectBus.MessageReceiveds;
using JiShe.CollectBus.IotSystems.MessageReceiveds;
using JiShe.CollectBus.IotSystems.Protocols;
using JiShe.CollectBus.Protocol.Contracts.Models;
using JiShe.CollectBus.Protocols;
using TouchSocket.Sockets;
namespace JiShe.CollectBus.Protocol.Contracts.Interfaces

View File

@ -1,10 +1,10 @@
using JiShe.CollectBus.Common.Enums;
using JiShe.CollectBus.Common.Extensions;
using JiShe.CollectBus.Common.Models;
using JiShe.CollectBus.MessageReceiveds;
using JiShe.CollectBus.IotSystems.MessageReceiveds;
using JiShe.CollectBus.IotSystems.Protocols;
using JiShe.CollectBus.Protocol.Contracts.Abstracts;
using JiShe.CollectBus.Protocol.Contracts.Models;
using JiShe.CollectBus.Protocols;
using Newtonsoft.Json.Linq;
namespace JiShe.CollectBus.Protocol