添加 计算用水量

main
xiaoguo 2 years ago
parent f9df8fedac
commit e40d6172cb

@ -59,5 +59,11 @@ namespace GuideScreen.Common.Repositories
/// </summary>
/// <returns></returns>
IDictionary<string, decimal> WaterMonthTotal();
/// <summary>
/// 获取总用水量
/// </summary>
/// <returns></returns>
decimal WaterTotal();
}
}

@ -312,5 +312,19 @@ namespace GuideScreen.Common.Repositories.Impl
return retValues;
}
/// <summary>
/// 获取总用水量
/// </summary>
/// <returns></returns>
public decimal WaterTotal()
{
using (var context = GSDBContext.GetDbContext())
{
var val = context.PLCDeviceRecordDayEntities.Where(f => f.PointName == PLCPointNameByEnergyMonitoring.WaterConsumption).Sum(f=>f.RecordValue);
return val;
}
}
}
}

@ -92,5 +92,11 @@ namespace GuideScreen.Common.Services
/// </summary>
/// <returns></returns>
IDictionary<string, decimal> WaterMonthTotal();
/// <summary>
/// 获取总用水量
/// </summary>
/// <returns></returns>
decimal WaterTotal();
}
}

@ -224,5 +224,16 @@ namespace GuideScreen.Common.Services.Impl
return ret;
}
/// <summary>
/// 获取总用水量
/// </summary>
/// <returns></returns>
public decimal WaterTotal()
{
var ret = this.deviceRecordRepository.WaterTotal();
return ret;
}
}
}

@ -56,7 +56,7 @@ namespace GuideScreen.UI
option.YAxis.Scale = true;
option.XAxis.Name = "月份";
//option.XAxis.AxisLabel.Angle = 60;//(0° ~ 90°)
option.YAxis.Name = "使用次数";
//option.YAxis.Name = "使用次数";
//数据显示小数位数
series.DecimalPlaces = 0;
@ -92,7 +92,7 @@ namespace GuideScreen.UI
option.YAxis.Scale = true;
option.XAxis.Name = "月份";
//option.XAxis.AxisLabel.Angle = 60;//(0° ~ 90°)
option.YAxis.Name = "使用次数";
//option.YAxis.Name = "使用次数";
//数据显示小数位数
series.DecimalPlaces = 0;
@ -128,7 +128,7 @@ namespace GuideScreen.UI
option.YAxis.Scale = true;
option.XAxis.Name = "月份";
//option.XAxis.AxisLabel.Angle = 60;//(0° ~ 90°)
option.YAxis.Name = "使用次数";
//option.YAxis.Name = "使用次数";
//数据显示小数位数
series.DecimalPlaces = 0;

@ -175,7 +175,7 @@ namespace GuideScreen.Common.Services.Impl
/// <summary>
/// 添加点位记录
/// </summary>
private void AdddeviceRecord(PLCPoint e)
public void AdddeviceRecord(PLCPoint e)
{
switch (e.Device)
{
@ -243,5 +243,14 @@ namespace GuideScreen.Common.Services.Impl
return 0;
}
/// <summary>
/// 获取总用水量
/// </summary>
/// <returns></returns>
public decimal GetWaterTotal()
{
var value = deviceRecordService.WaterTotal();
return value;
}
}
}

@ -161,6 +161,9 @@ namespace GuideScreen.UI
//获取天气信息
await GetWeather();
//总用水量
lblWaterMeter.Text = plcController.GetWaterTotal().ToString();
}
catch (Exception ex)
{
@ -325,7 +328,8 @@ namespace GuideScreen.UI
// ToileUseChartTotal();
//SetDayWarterAndelEctricity();
//计算用水量
SetDayWarterAndelEctricity();
}
#endregion 厕所是否有人
@ -517,12 +521,12 @@ namespace GuideScreen.UI
case PLCPointNameByEnergyMonitoring.WaterConsumption:
//总用水量
var waterValue = e.GetValue<float>();//* 0.001f;
lblWaterMeter.Text = Convert.ToInt32(waterValue).ToString();
//var waterValue = e.GetValue<float>();//* 0.001f;
//lblWaterMeter.Text = Convert.ToInt32(waterValue).ToString();
//今日用水量
var str1 = Convert.ToInt32(plcController.GetTodayWarterConsumption(waterValue)).ToString();
//str1 = str1.Aggregate(string.Empty, (c, i) => c + i + " ");
lblDayWarter.Text = $"今日用水量 {str1} 吨 ";
//var str1 = Convert.ToInt32(plcController.GetTodayWarterConsumption(waterValue)).ToString();
////str1 = str1.Aggregate(string.Empty, (c, i) => c + i + " ");
//lblDayWarter.Text = $"今日用水量 {str1} 吨 ";
break;
#endregion 能耗监控
@ -794,22 +798,27 @@ namespace GuideScreen.UI
#endregion 图表相关
/// <summary>
/// 模拟今日用水量
/// 计算用水量
/// </summary>
//private void SetDayWarterAndelEctricity()
//{
// var count = toilets.Values.Sum();
// var value1 = count;
// if (value1 == 0)
// {
// value1 = 1;
// }
// //模拟计算
// var dayStr = Math.Round(value1 * 0.0085, 2).ToString().Aggregate(string.Empty, (c, i) => c + i + " ");
// lblDayWarter.Text = $"今日用水量 {dayStr} 吨 ";
// var dayStr1 = Math.Round(value1 * 0.0038, 2).ToString().Aggregate(string.Empty, (c, i) => c + i + " ");
// lblElectricQuantity.Text = $"今日耗电量 {dayStr1} 千瓦时 ";
//}
private void SetDayWarterAndelEctricity()
{
var count = toilets.Values.Sum();
//每用次1.6升水
var value = Math.Round(count * 0.0016, 2);
var dayStr = value.ToString().Aggregate(string.Empty, (c, i) => c + i + " ");
lblDayWarter.Text = $"今日用水量 {dayStr} 吨 ";
plcController.AdddeviceRecord(new PLCPoint
{
Device = PLCDeviceNames.EnergyMonitoring,
Name = PLCPointNameByEnergyMonitoring.WaterConsumption,
Note = "用水量",
DataType = typeof(float),
ObjectValue = value,
});
//总用水量
lblWaterMeter.Text = plcController.GetWaterTotal().ToString();
}
#region Timer
@ -827,17 +836,6 @@ namespace GuideScreen.UI
lblTime.Text = dateTime.ToString("yyyy-MM-dd HH:mm:ss");
//星期
lblweek.Text = DateTime.Today.ToString("dddd", new System.Globalization.CultureInfo("zh-CN"));
//每一分钟,环境监控 NH3H2S 模拟改变(加随机数)
//if (dateTime.Second == 59)
//{
// var enviHydrogenSulfide = 0.09 + (rd.Next(6, 8) / 100f); //e.GetValue<float>();
// lblEnviHydrogenSulfide.Text = Math.Round(enviHydrogenSulfide, 2).ToString() + " PPM";
// processEnviHydrogenSulfide.Value = Convert.ToInt32(enviHydrogenSulfide * 100);
// var ammoniaGas = 0.01 + (rd.Next(1, 3) / 100f);//e.GetValue<float>();
// lblEnviAmmoniaGas.Text = Math.Round(ammoniaGas, 2).ToString() + " PPM";
// processEnviAmmoniaGas.Value = Convert.ToInt32(ammoniaGas * 100);
//}
//零点以后更新的数据
if (dateTime.ToString("HH:mm:ss") == zeroTime)
{

Loading…
Cancel
Save