定值信息解析
This commit is contained in:
parent
7b8a1a1ed2
commit
284ccebf74
@ -18,5 +18,12 @@ namespace YunDa.ISAS.Application.GeneralInformation.SecondaryCircuitInfo
|
||||
/// <param name="dzType"></param>
|
||||
/// <returns></returns>
|
||||
Task<RequestResult<List<ImDeviceDzOutput>>> FindDZDataByEquipmentInfoId(Guid? equipmentInfoId, string dzType);
|
||||
/// <summary>
|
||||
/// 根据装置获取定值
|
||||
/// </summary>
|
||||
/// <param name="deviceAddr"></param>
|
||||
/// <param name="cpuIndex"></param>
|
||||
/// <returns></returns>
|
||||
RequestResult<List<ImDeviceDzOutput>> GetDzByDeviceAddr(int deviceAddr, int cpuIndex);
|
||||
}
|
||||
}
|
@ -134,8 +134,7 @@ namespace YunDa.ISAS.Application.GeneralInformation.ProtectionSettingInfo
|
||||
{
|
||||
var data = _imDeviceDzRepository.GetAllIncluding(t => t.Device,t=>t.DzTypeNavigation).Where(t => t.Device.DeviceAddr == deviceAddr)
|
||||
.Where(t => t.CpuIndex == cpuIndex).OrderBy(t=>t.DzIndex);
|
||||
|
||||
rst.ResultData =ObjectMapper.Map<List<ImDeviceDzOutput>>(data);
|
||||
rst.ResultData = MapDzPutput(data);
|
||||
rst.Flag = true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
@ -362,7 +361,8 @@ namespace YunDa.ISAS.Application.GeneralInformation.ProtectionSettingInfo
|
||||
if (true)
|
||||
{
|
||||
var list = dz.Where(t => t.CpuIndex == 9).OrderBy(t=>t.DzIndex);
|
||||
List<ImDeviceDzOutput> imDeviceDzOutputs = ObjectMapper.Map<List<ImDeviceDzOutput>>(list);
|
||||
// 手动转换为 ImDeviceDzOutput 列表
|
||||
List<ImDeviceDzOutput> imDeviceDzOutputs = MapDzPutput(list);
|
||||
List<string> redisSystems = imDeviceDzOutputs.Select(t => t.Id).ToList();
|
||||
await _imDeviceDzRedis.HashSetUpdateManyAsync($"DZ_{dz.Key.ToString("X2")}_System", redisSystems, imDeviceDzOutputs);
|
||||
|
||||
@ -370,7 +370,7 @@ namespace YunDa.ISAS.Application.GeneralInformation.ProtectionSettingInfo
|
||||
if (true)
|
||||
{
|
||||
var list = dz.Where(t => t.CpuIndex == 1).OrderBy(t => t.DzIndex);
|
||||
List<ImDeviceDzOutput> imDeviceDzOutputs = ObjectMapper.Map<List<ImDeviceDzOutput>>(list);
|
||||
List<ImDeviceDzOutput> imDeviceDzOutputs = MapDzPutput(list);
|
||||
List<string> redisSystems = imDeviceDzOutputs.Select(t => t.Id).ToList();
|
||||
await _imDeviceDzRedis.HashSetUpdateManyAsync($"DZ_{dz.Key.ToString("X2")}_User", redisSystems, imDeviceDzOutputs);
|
||||
}
|
||||
@ -385,5 +385,38 @@ namespace YunDa.ISAS.Application.GeneralInformation.ProtectionSettingInfo
|
||||
}
|
||||
return rst;
|
||||
}
|
||||
|
||||
private List<ImDeviceDzOutput> MapDzPutput(IEnumerable<ImDeviceDz> list)
|
||||
{
|
||||
return list.Select(t => new ImDeviceDzOutput
|
||||
{
|
||||
Id = t.Id,
|
||||
DeviceId = t.DeviceId,
|
||||
CpuIndex = t.CpuIndex,
|
||||
DzIndex = t.DzIndex,
|
||||
DzName = t.DzName,
|
||||
DzComment = t.DzComment,
|
||||
DzRange = t.DzRange,
|
||||
DzMin = t.DzMin,
|
||||
DzMax = t.DzMax,
|
||||
DzUnit = t.DzUnit,
|
||||
DzCoeff = t.DzCoeff,
|
||||
DzPrecise = t.DzPrecise,
|
||||
DzUnit1 = t.DzUnit1,
|
||||
DzCoeff1 = t.DzCoeff1,
|
||||
DzPrecise1 = t.DzPrecise1,
|
||||
CtrlWordTypeId = t.CtrlWordTypeId,
|
||||
DzType = t.DzType,
|
||||
PUCtgyCode = t.Device.PuctgyCode, // 假设这个字段由某些条件决定
|
||||
EnumTypeId = t.EnumTypeId,
|
||||
DzUnitCvtCoeff = t.DzUnitCvtCoeff,
|
||||
RelatePtId = t.RelatePtId,
|
||||
RelateCtId = t.RelateCtId,
|
||||
ReadOnly = t.ReadOnly,
|
||||
Hidden = t.Hidden,
|
||||
DzTypeNavigation = new ImDztypeOutput { /* 映射 ImDztype 到 ImDztypeOutput 的属性 */ },
|
||||
Value = (new Random().Next(0, 10)).ToString() // 随机值
|
||||
}).ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ namespace YunDa.SOMS.DataTransferObject.GeneralInformation.ProtectionSettingDto
|
||||
public int? DzPrecise1 { get; set; }
|
||||
public int? CtrlWordTypeId { get; set; }
|
||||
public int DzType { get; set; }
|
||||
public int PUCtgyCode { get; set; }
|
||||
public int? EnumTypeId { get; set; }
|
||||
public double? DzUnitCvtCoeff { get; set; }
|
||||
public string? RelatePtId { get; set; }
|
||||
|
Loading…
x
Reference in New Issue
Block a user