This commit is contained in:
郭睿AMD7950X 2024-12-09 14:45:52 +08:00
commit 68b3caeafb
3 changed files with 41 additions and 49 deletions

View File

@ -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);
}
}

View File

@ -138,8 +138,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)
@ -366,7 +365,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);
@ -374,7 +374,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);
}
@ -390,53 +390,37 @@ namespace YunDa.ISAS.Application.GeneralInformation.ProtectionSettingInfo
return rst;
}
/// <summary>
/// 获取定值类型
/// </summary>
/// <returns></returns>
[ShowApi]
[AbpAllowAnonymous]
[HttpGet]
public async Task<RequestResult<List<ImDztype>>> GetDeviceSettingType()
private List<ImDeviceDzOutput> MapDzPutput(IEnumerable<ImDeviceDz> list)
{
RequestResult<List<ImDztype>> rst = new RequestResult<List<ImDztype>>();
try
return list.Select(t => new ImDeviceDzOutput
{
var repo = await _imDztypeRepository.GetAllAsync();
rst.ResultData = repo.ToList();
rst.Flag = true;
}
catch (Exception ex)
{
rst.Message = ex.Message;
}
return rst;
}
/// <summary>
/// 获取定值枚举
/// </summary>
/// <returns></returns>
[ShowApi]
[AbpAllowAnonymous]
[HttpGet]
public async Task<RequestResult<List<ImDeviceDzenumPu>>> GetDeviceSettingEnumPu()
{
RequestResult<List<ImDeviceDzenumPu>> rst = new RequestResult<List<ImDeviceDzenumPu>>();
try
{
var repo = await _imDeviceDzenumPuitory.GetAllAsync();
rst.ResultData = repo.ToList();
rst.Flag = true;
}
catch (Exception ex)
{
rst.Message = ex.Message;
}
return rst;
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();
}
}
}

View File

@ -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; }