using DataServer.api; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Text; using System.Web.Http; namespace JinanCementFactoryAPI.Controllers.api { /// /// 年用水量 /// public class GetAnnualConsumptionController : ApiController { DataServer.BLL.water_meter bll = new DataServer.BLL.water_meter(); // GET api/ public HttpResponseMessage Get() { var res = new get_daily_consumption(); try { #region 添加 var blist = bll.GetModelList(""); Random rand = new Random(); var now = DateTime.Now; var start_time = now.ToString("yyyy-MM-dd") + " 00:00:00"; var end_time = now.AddDays(1).ToString("yyyy-MM-dd") + " 00:00:00"; var alarm_model = bll.GetModelList("CreateTime>='" + start_time + "' and CreateTime<'" + end_time + "'").FirstOrDefault(); if (alarm_model == null) { foreach (var item in blist) { var amodel = new DataServer.Model.water_meter(); amodel = item; amodel.WaterMeterId = Guid.NewGuid().ToString(); double randomValue = 0.4 + (0.8 - 0.4) * rand.NextDouble(); double roundedValue = Math.Round(randomValue, 3); // 保留三位小数 amodel.OutletPressure = Convert.ToDecimal(roundedValue); int randomValue1 = 280 + rand.Next(41); // 生成280到320之间的随机数 amodel.TonWater = randomValue1; amodel.CreateTime = DateTime.Now; bll.Add(amodel); } } #endregion var list = bll.GetModelList(""); var alist = new List(); for (int i = 0; i < 6; i++) { decimal? num = 0; var model = new daily_consumptionData(); model.time = DateTime.Now.AddYears(-i).ToString("yyyy"); foreach (var item in list) { num += item.WaterConsumption; } model.value = num; alist.Add(model); } res.code = 200; res.msg = "成功"; res.data = alist; } catch (Exception ex) { res.code = 500; res.msg = ex.Message; } HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(JsonConvert.SerializeObject(res), Encoding.GetEncoding("UTF-8"), "application/json") }; return result; } } }