diff --git a/src/YunDa.Application/YunDa.ISAS.Application/GeneralInformation/ProtectionSettingInfo/IProtectionSettingAppService.cs b/src/YunDa.Application/YunDa.ISAS.Application/GeneralInformation/ProtectionSettingInfo/IProtectionSettingAppService.cs
index 4e44d62..bae8989 100644
--- a/src/YunDa.Application/YunDa.ISAS.Application/GeneralInformation/ProtectionSettingInfo/IProtectionSettingAppService.cs
+++ b/src/YunDa.Application/YunDa.ISAS.Application/GeneralInformation/ProtectionSettingInfo/IProtectionSettingAppService.cs
@@ -18,5 +18,12 @@ namespace YunDa.ISAS.Application.GeneralInformation.SecondaryCircuitInfo
///
///
Task>> FindDZDataByEquipmentInfoId(Guid? equipmentInfoId, string dzType);
+ ///
+ /// 根据装置获取定值
+ ///
+ ///
+ ///
+ ///
+ RequestResult> GetDzByDeviceAddr(int deviceAddr, int cpuIndex);
}
}
\ No newline at end of file
diff --git a/src/YunDa.Application/YunDa.ISAS.Application/GeneralInformation/ProtectionSettingInfo/ProtectionSettingAppService.cs b/src/YunDa.Application/YunDa.ISAS.Application/GeneralInformation/ProtectionSettingInfo/ProtectionSettingAppService.cs
index 69b4180..eeee083 100644
--- a/src/YunDa.Application/YunDa.ISAS.Application/GeneralInformation/ProtectionSettingInfo/ProtectionSettingAppService.cs
+++ b/src/YunDa.Application/YunDa.ISAS.Application/GeneralInformation/ProtectionSettingInfo/ProtectionSettingAppService.cs
@@ -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>(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 imDeviceDzOutputs = ObjectMapper.Map>(list);
+ // 手动转换为 ImDeviceDzOutput 列表
+ List imDeviceDzOutputs = MapDzPutput(list);
List 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 imDeviceDzOutputs = ObjectMapper.Map>(list);
+ List imDeviceDzOutputs = MapDzPutput(list);
List 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;
}
- ///
- /// 获取定值类型
- ///
- ///
- [ShowApi]
- [AbpAllowAnonymous]
- [HttpGet]
- public async Task>> GetDeviceSettingType()
+ private List MapDzPutput(IEnumerable list)
{
- RequestResult> rst = new RequestResult>();
-
- 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;
- }
- ///
- /// 获取定值枚举
- ///
- ///
- [ShowApi]
- [AbpAllowAnonymous]
- [HttpGet]
- public async Task>> GetDeviceSettingEnumPu()
- {
- RequestResult> rst = new RequestResult>();
-
- 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();
}
}
}
diff --git a/src/YunDa.Application/YunDa.ISAS.DataTransferObject/GeneralInformation/ProtectionSettingDto/ImDeviceDzOutput.cs b/src/YunDa.Application/YunDa.ISAS.DataTransferObject/GeneralInformation/ProtectionSettingDto/ImDeviceDzOutput.cs
index c2f24c6..1530287 100644
--- a/src/YunDa.Application/YunDa.ISAS.DataTransferObject/GeneralInformation/ProtectionSettingDto/ImDeviceDzOutput.cs
+++ b/src/YunDa.Application/YunDa.ISAS.DataTransferObject/GeneralInformation/ProtectionSettingDto/ImDeviceDzOutput.cs
@@ -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; }