定值信息解析
This commit is contained in:
parent
7b8a1a1ed2
commit
284ccebf74
@ -18,5 +18,12 @@ namespace YunDa.ISAS.Application.GeneralInformation.SecondaryCircuitInfo
|
|||||||
/// <param name="dzType"></param>
|
/// <param name="dzType"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<RequestResult<List<ImDeviceDzOutput>>> FindDZDataByEquipmentInfoId(Guid? equipmentInfoId, string dzType);
|
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)
|
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);
|
.Where(t => t.CpuIndex == cpuIndex).OrderBy(t=>t.DzIndex);
|
||||||
|
rst.ResultData = MapDzPutput(data);
|
||||||
rst.ResultData =ObjectMapper.Map<List<ImDeviceDzOutput>>(data);
|
|
||||||
rst.Flag = true;
|
rst.Flag = true;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
@ -362,7 +361,8 @@ namespace YunDa.ISAS.Application.GeneralInformation.ProtectionSettingInfo
|
|||||||
if (true)
|
if (true)
|
||||||
{
|
{
|
||||||
var list = dz.Where(t => t.CpuIndex == 9).OrderBy(t=>t.DzIndex);
|
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();
|
List<string> redisSystems = imDeviceDzOutputs.Select(t => t.Id).ToList();
|
||||||
await _imDeviceDzRedis.HashSetUpdateManyAsync($"DZ_{dz.Key.ToString("X2")}_System", redisSystems, imDeviceDzOutputs);
|
await _imDeviceDzRedis.HashSetUpdateManyAsync($"DZ_{dz.Key.ToString("X2")}_System", redisSystems, imDeviceDzOutputs);
|
||||||
|
|
||||||
@ -370,7 +370,7 @@ namespace YunDa.ISAS.Application.GeneralInformation.ProtectionSettingInfo
|
|||||||
if (true)
|
if (true)
|
||||||
{
|
{
|
||||||
var list = dz.Where(t => t.CpuIndex == 1).OrderBy(t => t.DzIndex);
|
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();
|
List<string> redisSystems = imDeviceDzOutputs.Select(t => t.Id).ToList();
|
||||||
await _imDeviceDzRedis.HashSetUpdateManyAsync($"DZ_{dz.Key.ToString("X2")}_User", redisSystems, imDeviceDzOutputs);
|
await _imDeviceDzRedis.HashSetUpdateManyAsync($"DZ_{dz.Key.ToString("X2")}_User", redisSystems, imDeviceDzOutputs);
|
||||||
}
|
}
|
||||||
@ -385,5 +385,38 @@ namespace YunDa.ISAS.Application.GeneralInformation.ProtectionSettingInfo
|
|||||||
}
|
}
|
||||||
return rst;
|
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? DzPrecise1 { get; set; }
|
||||||
public int? CtrlWordTypeId { get; set; }
|
public int? CtrlWordTypeId { get; set; }
|
||||||
public int DzType { get; set; }
|
public int DzType { get; set; }
|
||||||
|
public int PUCtgyCode { get; set; }
|
||||||
public int? EnumTypeId { get; set; }
|
public int? EnumTypeId { get; set; }
|
||||||
public double? DzUnitCvtCoeff { get; set; }
|
public double? DzUnitCvtCoeff { get; set; }
|
||||||
public string? RelatePtId { get; set; }
|
public string? RelatePtId { get; set; }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user