DeviceController.cs 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.Mvc;
  6. using LeaRun.Application.Entity.SecondaryWaterSupply;
  7. using LeaRun.Util.Extension;
  8. using LeaRun.Util.WebControl;
  9. using LeaRun.Util;
  10. using LeaRun.Application.Busines.SecondaryWaterSupply;
  11. using System.Collections;
  12. using System.Text;
  13. namespace LeaRun.Application.Web.Areas.SecondaryWaterSupply.Controllers
  14. {
  15. public class DeviceController : MvcControllerBase
  16. {
  17. DeviceBLL deviceBll = new DeviceBLL();
  18. /// <summary>
  19. /// 设备总览
  20. /// </summary>
  21. /// <returns></returns>
  22. public ActionResult Index()
  23. {
  24. return View();
  25. }
  26. /// <summary>
  27. /// 实施数据
  28. /// </summary>
  29. /// <returns></returns>
  30. public ActionResult RealtimeDevice()
  31. {
  32. return View();
  33. }
  34. /// <summary>
  35. /// 设备列表
  36. /// </summary>
  37. /// <returns></returns>
  38. public ActionResult DeviceList()
  39. {
  40. return View();
  41. }
  42. /// <summary>
  43. /// 添加设备
  44. /// </summary>
  45. /// <returns></returns>
  46. public ActionResult DeviceForm()
  47. {
  48. return View();
  49. }
  50. /// <summary>
  51. /// 百度地图
  52. /// </summary>
  53. /// <returns></returns>
  54. public ActionResult BaiduMap()
  55. {
  56. return View();
  57. }
  58. /// <summary>
  59. /// 获取设备列表
  60. /// </summary>
  61. /// <param name="pagination">分页信息</param>
  62. /// <param name="keyWord">查询关键词</param>
  63. /// <returns></returns>
  64. public ActionResult GetDeviceList(Pagination pagination, string keyWord)
  65. {
  66. IEnumerable<DeviceEntity> list = deviceBll.GetDeviceList(pagination,keyWord);
  67. var watch = CommonHelper.TimerStart();
  68. var JsonData = new
  69. {
  70. rows = list,
  71. total = pagination.total,
  72. page = pagination.page,
  73. records = pagination.records,
  74. costtime = CommonHelper.TimerEnd(watch)
  75. };
  76. return Content(JsonData.ToJson());
  77. }
  78. /// <summary>
  79. /// 保存表具类型表单(新增、修改)
  80. /// </summary>
  81. /// <param name="keyValue">主键值</param>
  82. /// <param name="strDevice">表具类型实体</param>
  83. /// <returns></returns>
  84. [HttpPost]
  85. [ValidateAntiForgeryToken]
  86. [AjaxOnly]
  87. public ActionResult SaveDevice(string keyValue, string strDevice)
  88. {
  89. DeviceEntity deviceEntiey = strDevice.ToObject<DeviceEntity>();
  90. //新增
  91. if (string.IsNullOrEmpty(keyValue))
  92. {
  93. if (deviceBll.SaveDevice(deviceEntiey))
  94. {
  95. return Success("保存成功。");
  96. }
  97. return Error("保存失败。");
  98. }
  99. //更新
  100. if (deviceBll.UpdateDevice(deviceEntiey))
  101. {
  102. return Success("保存成功。");
  103. }
  104. return Error("保存失败。");
  105. }
  106. /// <summary>
  107. /// 获取表设备信息
  108. /// </summary>
  109. /// <param name="deviceId"></param>
  110. /// <returns></returns>
  111. public ActionResult GetDeviceById(string deviceId)
  112. {
  113. var device = deviceBll.GetDeviceById(deviceId);
  114. if (device == null)
  115. {
  116. return Content("[]");
  117. }
  118. return Content(device.ToJson());
  119. }
  120. /// <summary>
  121. /// 删除设备信息
  122. /// </summary>
  123. /// <param name="deviceId"></param>
  124. /// <returns></returns>
  125. public ActionResult DelteDevice(string deviceId)
  126. {
  127. if (deviceBll.DeleteDevice(deviceId))
  128. {
  129. return Content("success");
  130. }
  131. return Content("false");
  132. }
  133. /// <summary>
  134. /// 设备列表
  135. /// </summary>
  136. /// <param name="showcheck">复选框</param>
  137. /// <param name="checkstate">复选框状态</param>
  138. /// <returns></returns>
  139. public ActionResult GetDeviceTree(bool showcheck = false, int checkstate = 0)
  140. {
  141. var meters = deviceBll.GetAllDevice();
  142. var treeList = new List<TreeEntity>();
  143. foreach (var item in meters)
  144. {
  145. var tree = new TreeEntity();
  146. tree.id = item.SecondaryWaterSupplyId.ToString();
  147. tree.text = item.PumpHouseName;
  148. tree.isexpand = true;
  149. tree.complete = true;
  150. tree.hasChildren = false;
  151. tree.parentId = "0";
  152. tree.value = item.SecondaryWaterSupplyId.ToString();
  153. tree.showcheck = showcheck;
  154. tree.checkstate = checkstate;
  155. tree.img = "fa fa-institution";
  156. treeList.Add(tree);
  157. }
  158. return Content(LeaRun.Util.Json.ToJson(treeList));
  159. }
  160. /// <summary>
  161. /// 获取所有设备最新信息
  162. /// </summary>
  163. /// <returns></returns>
  164. public string GetAllDeviceData()
  165. {
  166. IEnumerable<DeviceEntity> deviceData = deviceBll.GetAllDeviceData();
  167. StringBuilder sbHtml = new StringBuilder();
  168. if (deviceData != null)
  169. {
  170. foreach (var item in deviceData)
  171. {
  172. sbHtml.Append("<div class='col-xs-3 subblock'>");
  173. sbHtml.Append("<div class='content'>");
  174. sbHtml.Append("<div class='title'>");
  175. sbHtml.Append(item.PumpHouseName);
  176. sbHtml.Append("</div>");
  177. sbHtml.Append("<div style='padding:18px 25px;'>");
  178. sbHtml.Append("<div class='row rowStyle backColor'>");
  179. sbHtml.Append("<a href='#' class='col-md-4'>进水压力:</a>");
  180. sbHtml.Append("<label class='col-md-offset-1'>" + item.InletPressure.ToString("0.00") + "MPA</label>");
  181. sbHtml.Append(" </div>");
  182. sbHtml.Append("<div class='row rowStyle'>");
  183. sbHtml.Append("<a href='#' class='col-md-4'>出水压力:</a>");
  184. sbHtml.Append("<label class='col-md-offset-1'>" + item.OutletPressure.ToString("0.00") + "MPA</label>");
  185. sbHtml.Append("</div>");
  186. sbHtml.Append("<div class='row rowStyle backColor'>");
  187. sbHtml.Append("<a href='#' class='col-md-4'>更新时间:</a>");
  188. sbHtml.Append("<label class='col-md-offset-1'>" + item.GetDateTime.ToString("") + "</label>");
  189. sbHtml.Append("</div>");
  190. sbHtml.Append("</div>");
  191. sbHtml.Append("</div>");
  192. sbHtml.Append("</div>");
  193. }
  194. }
  195. return sbHtml.ToString();
  196. }
  197. public ActionResult GetAllDeviceRealTimeData(string ids, Pagination pagination)
  198. {
  199. IEnumerable<DeviceEntity> deviceData = deviceBll.GetAllDeviceRealTimeData(ids,pagination);
  200. return Content(LeaRun.Util.Json.ToJson(deviceData));
  201. }
  202. }
  203. }