更新依赖

This commit is contained in:
ChenYi 2025-06-10 09:18:58 +08:00
parent 5b7ee5d1b5
commit 7f72358d99
15 changed files with 326 additions and 290 deletions

View File

@ -2,7 +2,7 @@
<!-- 定义项目加载属性 --> <!-- 定义项目加载属性 -->
<PropertyGroup> <PropertyGroup>
<!--JiShe.ServicePro版本--> <!--JiShe.ServicePro版本-->
<ServiceProVersion>1.0.5.16</ServiceProVersion> <ServiceProVersion>1.0.5.23</ServiceProVersion>
<!--Volo Abp 版本--> <!--Volo Abp 版本-->
<VoloAbpVersion>9.1.1</VoloAbpVersion> <VoloAbpVersion>9.1.1</VoloAbpVersion>

View File

@ -7,3 +7,6 @@ global using JiShe.ServicePro.FreeRedisProvider;
global using JiShe.ServicePro.Consts; global using JiShe.ServicePro.Consts;
global using JiShe.ServicePro.Core; global using JiShe.ServicePro.Core;
global using JiShe.ServicePro.ServerOptions; global using JiShe.ServicePro.ServerOptions;
global using JiShe.ServicePro.ApacheIoTDB.Provider.SessionPools;
global using JiShe.ServicePro.ApacheIoTDB.Provider.Options;
global using JiShe.ServicePro.ApacheIoTDB.Provider.TreeModels.SingleMeasuring;

View File

@ -6,9 +6,6 @@ using JiShe.CollectBus.Protocol.Dto;
using JiShe.ServicePro.Consts; using JiShe.ServicePro.Consts;
using JiShe.ServicePro.Core; using JiShe.ServicePro.Core;
using JiShe.ServicePro.Encrypt; using JiShe.ServicePro.Encrypt;
using JiShe.ServicePro.IoTDBManagement.Model;
using JiShe.ServicePro.IoTDBManagement.Options;
using JiShe.ServicePro.IoTDBManagement.SessionPools;
using JiShe.ServicePro.IoTDBManagement.TableModels; using JiShe.ServicePro.IoTDBManagement.TableModels;
using JiShe.ServicePro.IoTDBManagement.TreeModels; using JiShe.ServicePro.IoTDBManagement.TreeModels;
using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.Caching.Memory;

View File

@ -7,3 +7,7 @@ global using JiShe.ServicePro.FreeRedisProvider;
global using JiShe.ServicePro.Consts; global using JiShe.ServicePro.Consts;
global using JiShe.ServicePro.Core; global using JiShe.ServicePro.Core;
global using JiShe.ServicePro.ServerOptions; global using JiShe.ServicePro.ServerOptions;
global using JiShe.ServicePro.ApacheIoTDB.Provider.SessionPools;
global using JiShe.ServicePro.ApacheIoTDB.Provider.Options;
global using JiShe.ServicePro.ApacheIoTDB.Provider.TreeModels.SingleMeasuring;
global using JiShe.ServicePro.ApacheIoTDB.Provider.Model;

View File

@ -7,3 +7,6 @@ global using JiShe.ServicePro.FreeRedisProvider;
global using JiShe.ServicePro.Consts; global using JiShe.ServicePro.Consts;
global using JiShe.ServicePro.Core; global using JiShe.ServicePro.Core;
global using JiShe.ServicePro.ServerOptions; global using JiShe.ServicePro.ServerOptions;
global using JiShe.ServicePro.ApacheIoTDB.Provider.SessionPools;
global using JiShe.ServicePro.ApacheIoTDB.Provider.Options;
global using JiShe.ServicePro.ApacheIoTDB.Provider.TreeModels.SingleMeasuring;

View File

@ -7,3 +7,7 @@ global using JiShe.ServicePro.FreeRedisProvider;
global using JiShe.ServicePro.Consts; global using JiShe.ServicePro.Consts;
global using JiShe.ServicePro.Core; global using JiShe.ServicePro.Core;
global using JiShe.ServicePro.ServerOptions; global using JiShe.ServicePro.ServerOptions;
global using JiShe.ServicePro.ApacheIoTDB.Provider.SessionPools;
global using JiShe.ServicePro.ApacheIoTDB.Provider.Options;
global using JiShe.ServicePro.ApacheIoTDB.Provider.TreeModels.SingleMeasuring;
global using JiShe.ServicePro.ApacheIoTDB.Provider.Model;

View File

@ -38,10 +38,22 @@ namespace JiShe.CollectBus.Protocol.Services
{ {
var protocols = await _freeRedisProvider.Instance.HGetAllAsync<ProtocolInfo>(RedisConst.ProtocolKey); var protocols = await _freeRedisProvider.Instance.HGetAllAsync<ProtocolInfo>(RedisConst.ProtocolKey);
var keyValuePair = protocols.FirstOrDefault(a => ContainsExactPartRegex(deviceCode, a.Value.RegularExpression)); var keyValuePair = protocols.FirstOrDefault(a => ContainsExactPartRegex(deviceCode, a.Value.RegularExpression));
if (!keyValuePair.Key.IsNullOrWhiteSpace() || keyValuePair.Value != null) return keyValuePair.Value; if (!keyValuePair.Key.IsNullOrWhiteSpace() || keyValuePair.Value != null)
if (isSpecial) throw new UserFriendlyException("The device protocol plugin does not exist!", ExceptionCode.NotFound); {
return keyValuePair.Value;
}
if (isSpecial)
{
throw new UserFriendlyException("The device protocol plugin does not exist!", ExceptionCode.NotFound);
}
//todo 默认协议插件应该根据表类型获取
var hasStandardProtocolPlugin = protocols.TryGetValue(_serverApplicationOptions.DefaultProtocolPlugin, out var protocolInfo); var hasStandardProtocolPlugin = protocols.TryGetValue(_serverApplicationOptions.DefaultProtocolPlugin, out var protocolInfo);
if (!hasStandardProtocolPlugin) throw new UserFriendlyException("Standard protocol plugin does not exist!", ExceptionCode.NotFound); if (!hasStandardProtocolPlugin)
{
throw new UserFriendlyException("Standard protocol plugin does not exist!", ExceptionCode.NotFound);
}
return protocolInfo; return protocolInfo;
} }

View File

@ -4,8 +4,10 @@ global using System.Text;
global using Volo.Abp.Modularity; global using Volo.Abp.Modularity;
global using JiShe.ServicePro.Enums; global using JiShe.ServicePro.Enums;
global using JiShe.ServicePro.FreeRedisProvider; global using JiShe.ServicePro.FreeRedisProvider;
global using JiShe.ServicePro.IoTDBManagement.Options; global using JiShe.ServicePro.ApacheIoTDB.Provider.SessionPools;
global using JiShe.ServicePro.IoTDBManagement.SessionPools; global using JiShe.ServicePro.ApacheIoTDB.Provider.Options;
global using JiShe.ServicePro.ApacheIoTDB.Provider.TreeModels.SingleMeasuring;
global using JiShe.ServicePro.ApacheIoTDB.Provider.Model;
global using JiShe.ServicePro.IoTDBManagement.TableModels; global using JiShe.ServicePro.IoTDBManagement.TableModels;
global using JiShe.ServicePro.Kafka.Consts; global using JiShe.ServicePro.Kafka.Consts;
global using JiShe.ServicePro.Kafka.Internal; global using JiShe.ServicePro.Kafka.Internal;

View File

@ -4,9 +4,9 @@ global using System.Text;
global using Volo.Abp.Modularity; global using Volo.Abp.Modularity;
global using JiShe.ServicePro.Enums; global using JiShe.ServicePro.Enums;
global using JiShe.ServicePro.FreeRedisProvider; global using JiShe.ServicePro.FreeRedisProvider;
global using JiShe.ServicePro.IoTDBManagement.Options;
global using JiShe.ServicePro.IoTDBManagement.SessionPools;
global using JiShe.ServicePro.IoTDBManagement.TableModels; global using JiShe.ServicePro.IoTDBManagement.TableModels;
global using JiShe.ServicePro.ApacheIoTDB.Provider.SessionPools;
global using JiShe.ServicePro.ApacheIoTDB.Provider.Options;
global using JiShe.ServicePro.Kafka.Consts; global using JiShe.ServicePro.Kafka.Consts;
global using JiShe.ServicePro.Kafka.Internal; global using JiShe.ServicePro.Kafka.Internal;
global using JiShe.ServicePro.Kafka.Attributes; global using JiShe.ServicePro.Kafka.Attributes;

View File

@ -6,8 +6,6 @@ using JiShe.CollectBus.IotSystems.Devices;
using JiShe.CollectBus.IotSystems.PrepayModel; using JiShe.CollectBus.IotSystems.PrepayModel;
using JiShe.CollectBus.Protocol.Interfaces; using JiShe.CollectBus.Protocol.Interfaces;
using JiShe.ServicePro.FreeSqlProvider; using JiShe.ServicePro.FreeSqlProvider;
using JiShe.ServicePro.IoTDBManagement.Options;
using JiShe.ServicePro.IoTDBManagement.SessionPools;
using JiShe.ServicePro.Kafka.Internal; using JiShe.ServicePro.Kafka.Internal;
using JiShe.ServicePro.Kafka.Producer; using JiShe.ServicePro.Kafka.Producer;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;

View File

@ -494,159 +494,167 @@ namespace JiShe.CollectBus.ScheduledMeterReading
/// <returns></returns> /// <returns></returns>
private async Task<List<MeterReadingTelemetryPacketInfo>> AmmerterCreatePublishTaskAction(int timeDensity, DeviceCacheInfo ammeterInfo, int groupIndex, DateTime timestamps) private async Task<List<MeterReadingTelemetryPacketInfo>> AmmerterCreatePublishTaskAction(int timeDensity, DeviceCacheInfo ammeterInfo, int groupIndex, DateTime timestamps)
{ {
var currentTime = DateTime.Now; try
{
var currentTime = DateTime.Now;
//根据电表型号获取协议插件 //根据电表型号获取协议插件
var protocolPlugin = await _protocolService.GetProtocolServiceAsync(ammeterInfo.BrandType); var protocolPlugin = await _protocolService.GetProtocolServiceAsync(ammeterInfo.BrandType);
if (protocolPlugin == null) if (protocolPlugin == null)
{
//_logger.LogError($"{nameof(AmmerterCreatePublishTaskAction)} 创建电表待发送的任务数据{currentTime}没有找到对应的协议组件,-105");
return null;
}
if (ammeterInfo.ItemCodes == null || ammeterInfo.ItemCodes.Count <=0)
{
//_logger.LogError($"{nameof(AmmerterCreatePublishTaskAction)} 集中器{ammeterInfo.FocusAddress}的电表{ammeterInfo.Name}数据采集指令生成失败,采集项为空,-101");
return null;
}
//载波的不处理
if (ammeterInfo.MeteringPort == (int)MeterLinkProtocolEnum.Carrierwave)
{
//_logger.LogError($"{nameof(AmmerterCreatePublishTaskAction)} 集中器{ammeterInfo.FocusAddress}的电表{ammeterInfo.Name}数据采集指令生成失败,载波不处理,-102");
return null;
}
if (ammeterInfo.State.Equals(2))
{
//_logger.LogWarning($"{nameof(AmmerterCreatePublishTaskAction)} {ammeterInfo.Name} 集中器{ammeterInfo.FocusAddress}的电表{ammeterInfo.Name}状态为禁用,不处理");
return null;
}
////排除1天未在线的集中器生成指令 或 排除集中器配置为自动上报的集中器
//if (!IsGennerateCmd(ammeter.LastTime, -1))
//{
// _logger.LogInformation($"{nameof(CreatePublishTask)} 集中器{ammeter.FocusAddress}的电表{ammeter.Name},采集时间:{ammeter.LastTime}已超过1天未在线不生成指令");
// continue;
//}
if (string.IsNullOrWhiteSpace(ammeterInfo.AreaCode))
{
//_logger.LogError($"{nameof(AmmerterCreatePublishTaskAction)} 表ID:{ammeterInfo.MeterId},集中器通信区号为空");
return null;
}
if (string.IsNullOrWhiteSpace(ammeterInfo.Address))
{
//_logger.LogError($"{nameof(AmmerterCreatePublishTaskAction)} 表ID:{ammeterInfo.MeterId},集中器通信地址为空");
return null;
}
if (Convert.ToInt32(ammeterInfo.Address) > 65535)
{
//_logger.LogError($"{nameof(AmmerterCreatePublishTaskAction)} 表ID:{ammeterInfo.MeterId},集中器通信地址无效,确保大于65535");
return null;
}
if (ammeterInfo.MeteringCode <= 0 || ammeterInfo.MeteringCode > 33)
{
//_logger.LogError($"{nameof(AmmerterCreatePublishTaskAction)} 表ID:{ammeterInfo.MeterId},非有效测量点号({ammeterInfo.MeteringCode})");
return null;
}
List<string> tempCodes = ammeterInfo.ItemCodes!;
//TODO:自动上报数据只主动采集1类数据。
if (ammeterInfo.AutomaticReport.Equals(1))
{
var tempSubCodes = new List<string>();
if (tempCodes.Contains("0C_49"))
{ {
tempSubCodes.Add("0C_49"); //_logger.LogError($"{nameof(AmmerterCreatePublishTaskAction)} 创建电表待发送的任务数据{currentTime}没有找到对应的协议组件,-105");
}
if (tempSubCodes.Contains("0C_149"))
{
tempSubCodes.Add("0C_149");
}
if (ammeterInfo.ItemCodes.Contains("10_97"))
{
tempSubCodes.Add("10_97");
}
if (tempSubCodes == null || tempSubCodes.Count <= 0)
{
//_logger.LogInformation($"{nameof(AmmerterCreatePublishTask)} 集中器{ammeterInfo.FocusAddress}的电表{ammeterInfo.Name}自动上报数据主动采集1类数据时数据类型为空");
return null; return null;
} }
else
{
tempCodes = tempSubCodes;
}
}
List<MeterReadingTelemetryPacketInfo> taskList = new List<MeterReadingTelemetryPacketInfo>(); if (ammeterInfo.ItemCodes == null || ammeterInfo.ItemCodes.Count <= 0)
foreach (var tempItem in tempCodes)
{
//排除已发送日冻结和月冻结采集项配置
if (DayFreezeCodes.Contains(tempItem))
{ {
continue; //_logger.LogError($"{nameof(AmmerterCreatePublishTaskAction)} 集中器{ammeterInfo.FocusAddress}的电表{ammeterInfo.Name}数据采集指令生成失败,采集项为空,-101");
return null;
} }
if (MonthFreezeCodes.Contains(tempItem)) //载波的不处理
if (ammeterInfo.MeteringPort == (int)MeterLinkProtocolEnum.Carrierwave)
{ {
continue; //_logger.LogError($"{nameof(AmmerterCreatePublishTaskAction)} 集中器{ammeterInfo.FocusAddress}的电表{ammeterInfo.Name}数据采集指令生成失败,载波不处理,-102");
return null;
} }
//var itemCodeArr = tempItem.Split('_'); if (ammeterInfo.State.Equals(2))
//var aFNStr = itemCodeArr[0];
//var aFN = (AFN)aFNStr.HexToDec();
//var fn = int.Parse(itemCodeArr[1]);
//特殊编码映射
var itemCodeInfo = T37612012PacketItemCodeConst.MappingItemCodeTo645SubCodeRelationship(tempItem);
//TODO:特殊表
ProtocolBuildResponse builderResponse = await protocolPlugin.BuildAsync(new ProtocolBuildRequest()
{ {
FocusAddress = ammeterInfo.FocusAddress, //_logger.LogWarning($"{nameof(AmmerterCreatePublishTaskAction)} {ammeterInfo.Name} 集中器{ammeterInfo.FocusAddress}的电表{ammeterInfo.Name}状态为禁用,不处理");
Pn = itemCodeInfo.Item1 == T37612012PacketItemCodeConst.AFN10HFN01H ? 0 : ammeterInfo.MeteringCode, return null;
ItemCode = itemCodeInfo.Item1, }
DataTimeMark = new Protocol.DataTimeMark()
////排除1天未在线的集中器生成指令 或 排除集中器配置为自动上报的集中器
//if (!IsGennerateCmd(ammeter.LastTime, -1))
//{
// _logger.LogInformation($"{nameof(CreatePublishTask)} 集中器{ammeter.FocusAddress}的电表{ammeter.Name},采集时间:{ammeter.LastTime}已超过1天未在线不生成指令");
// continue;
//}
if (string.IsNullOrWhiteSpace(ammeterInfo.AreaCode))
{
//_logger.LogError($"{nameof(AmmerterCreatePublishTaskAction)} 表ID:{ammeterInfo.MeterId},集中器通信区号为空");
return null;
}
if (string.IsNullOrWhiteSpace(ammeterInfo.Address))
{
//_logger.LogError($"{nameof(AmmerterCreatePublishTaskAction)} 表ID:{ammeterInfo.MeterId},集中器通信地址为空");
return null;
}
if (Convert.ToInt32(ammeterInfo.Address) > 65535)
{
//_logger.LogError($"{nameof(AmmerterCreatePublishTaskAction)} 表ID:{ammeterInfo.MeterId},集中器通信地址无效,确保大于65535");
return null;
}
if (ammeterInfo.MeteringCode <= 0 || ammeterInfo.MeteringCode > 33)
{
//_logger.LogError($"{nameof(AmmerterCreatePublishTaskAction)} 表ID:{ammeterInfo.MeterId},非有效测量点号({ammeterInfo.MeteringCode})");
return null;
}
List<string> tempCodes = ammeterInfo.ItemCodes!;
//TODO:自动上报数据只主动采集1类数据。
if (ammeterInfo.AutomaticReport.Equals(1))
{
var tempSubCodes = new List<string>();
if (tempCodes.Contains("0C_49"))
{ {
Density = ammeterInfo.TimeDensity.GetFocusDensity(),//转换成协议的值 tempSubCodes.Add("0C_49");
Point = 1, }
DataTime = timestamps,
}, if (tempSubCodes.Contains("0C_149"))
SubProtocolRequest = new SubProtocolBuildRequest() {
{ tempSubCodes.Add("0C_149");
MeterAddress = ammeterInfo.MeterAddress, }
Password = ammeterInfo.Password,
MeteringPort = ammeterInfo.MeteringPort, if (ammeterInfo.ItemCodes.Contains("10_97"))
Baudrate = ammeterInfo.Baudrate, {
ItemCode = itemCodeInfo.Item2, //10_97 => 11_02_80_00_02 tempSubCodes.Add("10_97");
}
if (tempSubCodes == null || tempSubCodes.Count <= 0)
{
//_logger.LogInformation($"{nameof(AmmerterCreatePublishTask)} 集中器{ammeterInfo.FocusAddress}的电表{ammeterInfo.Name}自动上报数据主动采集1类数据时数据类型为空");
return null;
}
else
{
tempCodes = tempSubCodes;
} }
});
if (builderResponse == null || builderResponse.Data.Length <= 0)
{
//_logger.LogWarning($"{nameof(AmmerterCreatePublishTask)} 集中器{ammeterInfo.FocusAddress}的电表{ammeterInfo.Name}采集项{tempItem}未能正确获取报文。");
continue;
} }
var meterReadingRecords = CreateAmmeterPacketInfo( List<MeterReadingTelemetryPacketInfo> taskList = new List<MeterReadingTelemetryPacketInfo>();
ammeterInfo: ammeterInfo,
timestamps: DateTimeOffset.Now.ToUnixTimeNanoseconds(),
builderResponse: builderResponse,
itemCode: itemCodeInfo.Item1,
subItemCode: itemCodeInfo.Item2,
pendingCopyReadTime: timestamps,
creationTime: currentTime,
packetType: (TelemetryPacketTypeEnum)timeDensity,
_guidGenerator);
taskList.Add(meterReadingRecords);
}
return taskList; foreach (var tempItem in tempCodes)
{
//排除已发送日冻结和月冻结采集项配置
if (DayFreezeCodes.Contains(tempItem))
{
continue;
}
if (MonthFreezeCodes.Contains(tempItem))
{
continue;
}
//var itemCodeArr = tempItem.Split('_');
//var aFNStr = itemCodeArr[0];
//var aFN = (AFN)aFNStr.HexToDec();
//var fn = int.Parse(itemCodeArr[1]);
//特殊编码映射
var itemCodeInfo = T37612012PacketItemCodeConst.MappingItemCodeTo645SubCodeRelationship(tempItem);
//TODO:特殊表
ProtocolBuildResponse builderResponse = await protocolPlugin.BuildAsync(new ProtocolBuildRequest()
{
FocusAddress = ammeterInfo.FocusAddress,
Pn = itemCodeInfo.Item1 == T37612012PacketItemCodeConst.AFN10HFN01H ? 0 : ammeterInfo.MeteringCode,
ItemCode = itemCodeInfo.Item1,
DataTimeMark = new Protocol.DataTimeMark()
{
Density = ammeterInfo.TimeDensity.GetFocusDensity(),//转换成协议的值
Point = 1,
DataTime = timestamps,
},
SubProtocolRequest = new SubProtocolBuildRequest()
{
MeterAddress = ammeterInfo.MeterAddress,
Password = ammeterInfo.Password,
MeteringPort = ammeterInfo.MeteringPort,
Baudrate = ammeterInfo.Baudrate,
ItemCode = itemCodeInfo.Item2, //10_97 => 11_02_80_00_02
}
});
if (builderResponse == null || builderResponse.Data.Length <= 0)
{
//_logger.LogWarning($"{nameof(AmmerterCreatePublishTask)} 集中器{ammeterInfo.FocusAddress}的电表{ammeterInfo.Name}采集项{tempItem}未能正确获取报文。");
continue;
}
var meterReadingRecords = CreateAmmeterPacketInfo(
ammeterInfo: ammeterInfo,
timestamps: DateTimeOffset.Now.ToUnixTimeNanoseconds(),
builderResponse: builderResponse,
itemCode: itemCodeInfo.Item1,
subItemCode: itemCodeInfo.Item2,
pendingCopyReadTime: timestamps,
creationTime: currentTime,
packetType: (TelemetryPacketTypeEnum)timeDensity,
_guidGenerator);
taskList.Add(meterReadingRecords);
}
return taskList;
}
catch (Exception ex)
{
throw;
}
} }
/// <summary> /// <summary>

View File

@ -87,149 +87,149 @@ namespace JiShe.CollectBus.ScheduledMeterReading
//[Route($"ammeter/list")] //[Route($"ammeter/list")]
public override async Task<List<DeviceCacheInfo>> GetAmmeterInfoList(string gatherCode = "V4-Gather-8890") public override async Task<List<DeviceCacheInfo>> GetAmmeterInfoList(string gatherCode = "V4-Gather-8890")
{ {
#if DEBUG //#if DEBUG
var redisCacheDeviceCacheInfoHashKeyTemp = $"CollectBus:Energy:JiSheCollectBus109:DeviceCacheInfo"; // var redisCacheDeviceCacheInfoHashKeyTemp = $"CollectBus:Energy:JiSheCollectBus109:DeviceCacheInfo";
List<DeviceCacheInfo> ammeterInfos = FreeRedisProvider.Instance.Get<List<DeviceCacheInfo>>(redisCacheDeviceCacheInfoHashKeyTemp);//542400504 // List<DeviceCacheInfo> ammeterInfos = FreeRedisProvider.Instance.Get<List<DeviceCacheInfo>>(redisCacheDeviceCacheInfoHashKeyTemp);//542400504
if (ammeterInfos == null || ammeterInfos.Count <= 0) // if (ammeterInfos == null || ammeterInfos.Count <= 0)
{ // {
ammeterInfos = new List<DeviceCacheInfo>(); // ammeterInfos = new List<DeviceCacheInfo>();
//ammeterInfos.Add(new DeviceCacheInfo() // //ammeterInfos.Add(new DeviceCacheInfo()
//{ // //{
// Baudrate = 2400, // // Baudrate = 2400,
// FocusAddress = "442400040", // // FocusAddress = "442400040",
// Name = "保利单箱电表1", // // Name = "保利单箱电表1",
// FocusId = 95780, // // FocusId = 95780,
// DatabaseBusiID = 1, // // DatabaseBusiID = 1,
// MeteringCode = 0, // // MeteringCode = 0,
// MeterAddress = "442405000040", // // MeterAddress = "442405000040",
// MeterId = 127035, // // MeterId = 127035,
// TypeName = 1, // // TypeName = 1,
// DataTypes = "581,589,592,597,601", // // DataTypes = "581,589,592,597,601",
// TimeDensity = 15, // // TimeDensity = 15,
// BrandType = "DTS1980", // // BrandType = "DTS1980",
// MeterType = MeterTypeEnum.Ammeter, // // MeterType = MeterTypeEnum.Ammeter,
// ProjectID = 1, // // ProjectID = 1,
// MeteringPort = MeteringPortConst.MeteringPortTwo, // // MeteringPort = MeteringPortConst.MeteringPortTwo,
// Password = "000000", // // Password = "000000",
//}); // //});
//ammeterInfos.Add(new DeviceCacheInfo() // //ammeterInfos.Add(new DeviceCacheInfo()
//{ // //{
// Baudrate = 2400, // // Baudrate = 2400,
// FocusAddress = "442400039", // // FocusAddress = "442400039",
// Name = "保利单箱电表2", // // Name = "保利单箱电表2",
// FocusId = 69280, // // FocusId = 69280,
// DatabaseBusiID = 1, // // DatabaseBusiID = 1,
// MeteringCode = 0, // // MeteringCode = 0,
// MeterAddress = "442405000039", // // MeterAddress = "442405000039",
// MeterId = 95594, // // MeterId = 95594,
// TypeName = 1, // // TypeName = 1,
// DataTypes = "581,589,592,597,601", // // DataTypes = "581,589,592,597,601",
// TimeDensity = 15, // // TimeDensity = 15,
// BrandType = "DTS1980", // // BrandType = "DTS1980",
// MeterType = MeterTypeEnum.Ammeter, // // MeterType = MeterTypeEnum.Ammeter,
// ProjectID = 1, // // ProjectID = 1,
// MeteringPort = MeteringPortConst.MeteringPortTwo, // // MeteringPort = MeteringPortConst.MeteringPortTwo,
// Password = "000000", // // Password = "000000",
//}); // //});
//ammeterInfos.Add(new DeviceCacheInfo() // //ammeterInfos.Add(new DeviceCacheInfo()
//{ // //{
// Baudrate = 2400, // // Baudrate = 2400,
// FocusAddress = "402440506", // // FocusAddress = "402440506",
// Name = "中环半导体9#冷却泵-220KW(三相电表)", // // Name = "中环半导体9#冷却泵-220KW(三相电表)",
// FocusId = 106857, // // FocusId = 106857,
// DatabaseBusiID = 1, // // DatabaseBusiID = 1,
// MeteringCode = 0, // // MeteringCode = 0,
// MeterAddress = "402410040506", // // MeterAddress = "402410040506",
// MeterId = 139059, // // MeterId = 139059,
// TypeName = 3, // // TypeName = 3,
// DataTypes = "449,503,581,582,583,584,585,586,587,588,589,590,591,592,593,594,597,598,599,600,601,602,603,604,605,606,607,608,661,663,677,679", // // DataTypes = "449,503,581,582,583,584,585,586,587,588,589,590,591,592,593,594,597,598,599,600,601,602,603,604,605,606,607,608,661,663,677,679",
// TimeDensity = 15, // // TimeDensity = 15,
// BrandType = "DTS1980", // // BrandType = "DTS1980",
// Password = "000000", // // Password = "000000",
// ProjectID = 1, // // ProjectID = 1,
// MeterType = MeterTypeEnum.Ammeter, // // MeterType = MeterTypeEnum.Ammeter,
// MeteringPort = MeteringPortConst.MeteringPortTwo, // // MeteringPort = MeteringPortConst.MeteringPortTwo,
//}); // //});
//ammeterInfos.Add(new DeviceCacheInfo() // //ammeterInfos.Add(new DeviceCacheInfo()
//{ // //{
// Baudrate = 2400, // // Baudrate = 2400,
// FocusAddress = "942411321", // // FocusAddress = "942411321",
// Name = "DDS1980-T4(5-60) ML307A 长稳 942408011321", // // Name = "DDS1980-T4(5-60) ML307A 长稳 942408011321",
// FocusId = 57682, // // FocusId = 57682,
// DatabaseBusiID = 1, // // DatabaseBusiID = 1,
// MeteringCode = 0, // // MeteringCode = 0,
// MeterAddress = "942408011321", // // MeterAddress = "942408011321",
// MeterId = 78970, // // MeterId = 78970,
// TypeName = 3, // // TypeName = 3,
// DataTypes = "449,503,581,582,583,584,585,586,587,588,589,590,591,592,593,594,597,598,599,600,601,602,603,604,605,606,607,608,661,663,677,679", // // DataTypes = "449,503,581,582,583,584,585,586,587,588,589,590,591,592,593,594,597,598,599,600,601,602,603,604,605,606,607,608,661,663,677,679",
// TimeDensity = 15, // // TimeDensity = 15,
// BrandType = "DTS1980", // // BrandType = "DTS1980",
// Password = "000000", // // Password = "000000",
// ProjectID = 1, // // ProjectID = 1,
// MeterType = MeterTypeEnum.Ammeter, // // MeterType = MeterTypeEnum.Ammeter,
// MeteringPort = MeteringPortConst.MeteringPortTwo, // // MeteringPort = MeteringPortConst.MeteringPortTwo,
//}); // //});
//ammeterInfos.Add(new DeviceCacheInfo() // //ammeterInfos.Add(new DeviceCacheInfo()
//{ // //{
// Baudrate = 2400, // // Baudrate = 2400,
// FocusAddress = "942411319", // // FocusAddress = "942411319",
// Name = "DDS1980-T4(5-60) ML307A 长稳 942408011319", // // Name = "DDS1980-T4(5-60) ML307A 长稳 942408011319",
// FocusId = 57685, // // FocusId = 57685,
// DatabaseBusiID = 1, // // DatabaseBusiID = 1,
// MeteringCode = 0, // // MeteringCode = 0,
// MeterAddress = "942408011319", // // MeterAddress = "942408011319",
// MeterId = 78973, // // MeterId = 78973,
// TypeName = 3, // // TypeName = 3,
// DataTypes = "449,503,581,582,583,584,585,586,587,588,589,590,591,592,593,594,597,598,599,600,601,602,603,604,605,606,607,608,661,663,677,679", // // DataTypes = "449,503,581,582,583,584,585,586,587,588,589,590,591,592,593,594,597,598,599,600,601,602,603,604,605,606,607,608,661,663,677,679",
// TimeDensity = 15, // // TimeDensity = 15,
// BrandType = "DTS1980", // // BrandType = "DTS1980",
// Password = "000000", // // Password = "000000",
// ProjectID = 1, // // ProjectID = 1,
// MeterType = MeterTypeEnum.Ammeter, // // MeterType = MeterTypeEnum.Ammeter,
// MeteringPort = MeteringPortConst.MeteringPortTwo, // // MeteringPort = MeteringPortConst.MeteringPortTwo,
//}); // //});
ammeterInfos.Add(new DeviceCacheInfo() // ammeterInfos.Add(new DeviceCacheInfo()
{ // {
Baudrate = 2400, // Baudrate = 2400,
FocusAddress = "322011149", // FocusAddress = "322011149",
Name = "DDS1980-T4(5-60) ML307A 长稳 322011149", // Name = "DDS1980-T4(5-60) ML307A 长稳 322011149",
FocusId = 57685, // FocusId = 57685,
DatabaseBusiID = 1, // DatabaseBusiID = 1,
MeteringCode = 0, // MeteringCode = 0,
MeterAddress = "31240010270", // MeterAddress = "31240010270",
MeterId = 78973, // MeterId = 78973,
TypeName = 3, // TypeName = 3,
DataTypes = "449,503,581,582,583,584,585,586,587,588,589,590,591,592,593,594,597,598,599,600,601,602,603,604,605,606,607,608,661,663,677,679", // DataTypes = "449,503,581,582,583,584,585,586,587,588,589,590,591,592,593,594,597,598,599,600,601,602,603,604,605,606,607,608,661,663,677,679",
TimeDensity = 15, // TimeDensity = 15,
BrandType = "DTS1980", // BrandType = "DTS1980",
Password = "000000", // Password = "000000",
MeterType = MeterTypeEnum.Ammeter, // MeterType = MeterTypeEnum.Ammeter,
MeteringPort = MeteringPortConst.MeteringPortTwo, // MeteringPort = MeteringPortConst.MeteringPortTwo,
SystemName = SystemType, // SystemName = SystemType,
IoTDataType = IOTDBDataTypeConst.Data, // IoTDataType = IOTDBDataTypeConst.Data,
ProjectId = "1", // ProjectId = "1",
DeviceType = JiShe.ServicePro.Enums.MeterTypeEnum.Ammeter.ToString(), // DeviceType = JiShe.ServicePro.Enums.MeterTypeEnum.Ammeter.ToString(),
DeviceId = "78973", // DeviceId = "78973",
}); // });
FreeRedisProvider.Instance.Set(redisCacheDeviceCacheInfoHashKeyTemp, ammeterInfos); // FreeRedisProvider.Instance.Set(redisCacheDeviceCacheInfoHashKeyTemp, ammeterInfos);
} // }
return ammeterInfos; // return ammeterInfos;
#else //#else
#endif //#endif
try try
@ -272,7 +272,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
#if DEBUG #if DEBUG
// sql = $@"{sql} and c.Address in('542410000504','442405000040','442405000039','402410040506')"; // sql = $@"{sql} and c.Address in('542410000504','442405000040','442405000039','402410040506')";
sql = $@"{sql} and c.Address in('402410040506')"; //sql = $@"{sql} and c.Address in('402410040506')";
#endif #endif
if (!string.IsNullOrWhiteSpace(gatherCode)) if (!string.IsNullOrWhiteSpace(gatherCode))

View File

@ -7,7 +7,7 @@ using JiShe.CollectBus.Data;
using Serilog; using Serilog;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.Data; using Volo.Abp.Data;
using JiShe.ServicePro.IoTDBManagement.SessionPools; using JiShe.ServicePro.ApacheIoTDB.Provider.SessionPools;
namespace JiShe.CollectBus.DbMigrator; namespace JiShe.CollectBus.DbMigrator;

View File

@ -4,5 +4,10 @@
"Default": "Warning", "Default": "Warning",
"Microsoft.AspNetCore": "Warning" "Microsoft.AspNetCore": "Warning"
} }
},
"ConnectionStrings": {
"Default": "",
"PrepayDB": "server=rm-m5el3d1u1k0wzk70n2o.sqlserver.rds.aliyuncs.com,3433;database=jishe.sysdb;uid=v3sa;pwd=JiShe123;Encrypt=False;Trust Server Certificate=False",
"EnergyDB": "server=rm-wz9hw529i3j1e3b5fbo.sqlserver.rds.aliyuncs.com,3433;database=db_energy;uid=yjdb;pwd=Kdjdhf+9*7ad222LL;Encrypt=False;Trust Server Certificate=False"
} }
} }

View File

@ -1,9 +1,9 @@
{ {
"ConnectionStrings": { //"ConnectionStrings": {
"Default": "", // "Default": "",
"PrepayDB": "server=118.190.144.92;database=jishe.sysdb;uid=sa;pwd=admin@2023;Encrypt=False;Trust Server Certificate=False", // "PrepayDB": "server=118.190.144.92;database=jishe.sysdb;uid=sa;pwd=admin@2023;Encrypt=False;Trust Server Certificate=False",
"EnergyDB": "server=118.190.144.92;database=db_energy;uid=sa;pwd=admin@2023;Encrypt=False;Trust Server Certificate=False" // "EnergyDB": "server=118.190.144.92;database=db_energy;uid=sa;pwd=admin@2023;Encrypt=False;Trust Server Certificate=False"
}, //},
"FreeRedisOptions": { "FreeRedisOptions": {
"ConnectionString": "47.110.53.196:6379,password=1q3J@BGf!yhTaD46nS#,syncTimeout=30000,abortConnect=false,connectTimeout=30000,allowAdmin=true,maxPoolSize=50,defaultdatabase=14", "ConnectionString": "47.110.53.196:6379,password=1q3J@BGf!yhTaD46nS#,syncTimeout=30000,abortConnect=false,connectTimeout=30000,allowAdmin=true,maxPoolSize=50,defaultdatabase=14",
"UseDistributedCache": false "UseDistributedCache": false