AreaAndDeviceController.cs 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  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.Busines.JiangSuWaterResource;
  7. using LeaRun.Util.WebControl;
  8. using LeaRun.Application.Entity.JiangSuWaterResource;
  9. using LeaRun.Util;
  10. using System.Data;
  11. using Newtonsoft.Json;
  12. using Newtonsoft.Json.Linq;
  13. namespace LeaRun.Application.Web.Areas.JiangSuWaterResource.Controllers
  14. {
  15. public class AreaAndDeviceController : MvcControllerBase
  16. {
  17. AreaAndDeviceBLL bll = new AreaAndDeviceBLL();
  18. /// <summary>
  19. /// 区域列表
  20. /// </summary>
  21. /// <returns></returns>
  22. public ActionResult AreaIndex()
  23. {
  24. return View();
  25. }
  26. /// <summary>
  27. /// 区域Form
  28. /// </summary>
  29. /// <returns></returns>
  30. public ActionResult AreaForm()
  31. {
  32. return View();
  33. }
  34. /// <summary>
  35. /// 百度地图
  36. /// </summary>
  37. /// <returns></returns>
  38. public ActionResult BaiDuMap()
  39. {
  40. return View();
  41. }
  42. /// <summary>
  43. /// 测点列表
  44. /// </summary>
  45. /// <returns></returns>
  46. public ActionResult MeterList()
  47. {
  48. return View();
  49. }
  50. /// <summary>,
  51. /// 获取Grid表格数据
  52. /// </summary>
  53. /// <param name="pagination"></param>
  54. /// <param name="keyWord"></param>
  55. /// <returns></returns>
  56. public ActionResult GetAreaGridData(Pagination pagination, string keyWord)
  57. {
  58. var areas = bll.GetAreaListByPage(pagination, keyWord);
  59. var watch = CommonHelper.TimerStart();
  60. var JsonData = new
  61. {
  62. rows = areas,
  63. total = pagination.total,
  64. page = pagination.page,
  65. records = pagination.records,
  66. costtime = CommonHelper.TimerEnd(watch)
  67. };
  68. return Content(JsonData.ToJson());
  69. }
  70. /// <summary>
  71. /// 区域列表
  72. /// </summary>
  73. /// <returns></returns>
  74. public ActionResult GetAreaTreeJson(bool showcheck = false, int checkstate = 0)
  75. {
  76. var areas = bll.GetAreaList();
  77. var treeList = new List<TreeEntity>();
  78. foreach (var item in areas)
  79. {
  80. var tree = new TreeEntity();
  81. tree.id = item.id.ToString();
  82. tree.text = item.名称;
  83. tree.isexpand = true;
  84. tree.complete = true;
  85. tree.hasChildren = areas.Count(t => t.上级id == item.id) == 0 ? false : true;
  86. tree.parentId = item.上级id.ToString();
  87. tree.value = item.id.ToString();
  88. tree.showcheck = showcheck;
  89. tree.checkstate = checkstate;
  90. tree.img = "fa fa-institution";
  91. tree.Attribute = "areaLevel";//自定义属性
  92. tree.AttributeValue = item.级别id.ToString();//自定义属性值
  93. treeList.Add(tree);
  94. }
  95. return Content(treeList.TreeToJson("0"));
  96. }
  97. /// <summary>
  98. /// 测点列表
  99. /// </summary>
  100. /// <returns></returns>
  101. public ActionResult GetMeterTreeJson(bool showcheck = false, int checkstate = 0)
  102. {
  103. var areas = bll.GetAreaList();
  104. var treeList = new List<TreeEntity>();
  105. foreach (var item in areas)
  106. {
  107. var tree = new TreeEntity();
  108. tree.id = "GL-" + item.id.ToString();
  109. tree.text = item.名称;
  110. tree.isexpand = true;
  111. tree.complete = true;
  112. tree.hasChildren = true;
  113. tree.parentId = "GL-" + item.上级id.ToString();
  114. tree.value = item.id.ToString();
  115. tree.showcheck = showcheck;
  116. tree.checkstate = checkstate;
  117. tree.img = "fa fa-institution";
  118. tree.Attribute = "areaLevel";//自定义属性
  119. tree.AttributeValue = item.级别id.ToString();//自定义属性值
  120. treeList.Add(tree);
  121. }
  122. DataTable dtResult = bll.GetMeterList();
  123. for (int row = 0; row < dtResult.Rows.Count; row++)
  124. {
  125. var tree = new TreeEntity();
  126. tree.id = "CD-" + dtResult.Rows[row]["ID"].ToString();
  127. tree.text = dtResult.Rows[row]["名称"].ToString();
  128. tree.isexpand = true;
  129. tree.complete = true;
  130. tree.hasChildren = false;
  131. tree.parentId = "GL-" + dtResult.Rows[row]["管理ID"].ToString();
  132. tree.value = "CD-" + dtResult.Rows[row]["ID"].ToString();
  133. tree.showcheck = showcheck;
  134. tree.checkstate = checkstate;
  135. tree.img = "fa fa-gear";
  136. tree.Attribute = "areaLevel";//自定义属性
  137. tree.AttributeValue = "4";//自定义属性值
  138. treeList.Add(tree);
  139. }
  140. return Content(treeList.TreeToJson("GL-0"));
  141. }
  142. /// <summary>
  143. /// 保存区域
  144. /// </summary>
  145. /// <returns></returns>
  146. public ActionResult SaveAreaForm(string keyWord, string areaJson, string lng, string lat)
  147. {
  148. Area area = areaJson.ToObject<Area>();
  149. //新增区域
  150. if (string.IsNullOrEmpty(keyWord))
  151. {
  152. bll.SaveArea(area, lng, lat);
  153. return Success("保存成功!");
  154. }
  155. //更新区域
  156. else
  157. {
  158. return Success("保存成功!");
  159. }
  160. }
  161. /// <summary>
  162. /// 测点列表
  163. /// </summary>
  164. /// <param name="pagination">分页参数</param>
  165. /// <param name="managerId">管理ID</param>
  166. /// <param name="meterName">测点名称</param>
  167. /// <param name="yingshou">营收账号</param>
  168. /// <returns></returns>
  169. public ActionResult GetGridMeterList(Pagination pagination, string managerId = "", string meterName = "", string yingshou = "")
  170. {
  171. var data = bll.GetGridMeterList(pagination, managerId, meterName, yingshou);
  172. var watch = CommonHelper.TimerStart();
  173. var JsonData = new
  174. {
  175. rows = data,
  176. total = pagination.total,
  177. page = pagination.page,
  178. records = pagination.records,
  179. costtime = CommonHelper.TimerEnd(watch)
  180. };
  181. return Content(JsonData.ToJson());
  182. }
  183. /// <summary>
  184. /// 添加测点
  185. /// </summary>
  186. /// <returns></returns>
  187. public ActionResult MeterForm()
  188. {
  189. return View();
  190. }
  191. /// <summary>
  192. /// 获取组网方式
  193. /// </summary>
  194. /// <returns></returns>
  195. public ActionResult GetNetworks()
  196. {
  197. string zuWangXmlPaht = Config.GetValue("JS_ZuWang");
  198. zuWangXmlPaht = System.Web.HttpContext.Current.Server.MapPath(zuWangXmlPaht);
  199. DataTable dtZuWang = XmlHelper.XmlAnalysisArray(zuWangXmlPaht);
  200. if (dtZuWang != null)
  201. {
  202. var treeList = new List<TreeEntity>();
  203. for (int row = 0; row < dtZuWang.Rows.Count; row++)
  204. {
  205. TreeEntity tree = new TreeEntity();
  206. bool hasChildren = false;
  207. tree.id = dtZuWang.Rows[row]["值"].ToString();
  208. tree.text = dtZuWang.Rows[row]["名称"].ToString();
  209. tree.value = dtZuWang.Rows[row]["值"].ToString();
  210. tree.isexpand = true;
  211. tree.complete = true;
  212. tree.parentId = "0";
  213. tree.hasChildren = hasChildren;
  214. treeList.Add(tree);
  215. }
  216. return Content(treeList.TreeToJson());
  217. }
  218. return Content("");
  219. }
  220. /// <summary>
  221. /// type 0 (用户站 终端类型) 1 (通讯设备 设备协议) 2(传输设备 传输协议) 其他 全部查询
  222. /// </summary>
  223. /// <param name="types"></param>
  224. /// <returns></returns>
  225. public ActionResult GetTerminalTypes(string types)
  226. {
  227. DataTable dtReuslt = bll.GetTerminalTypes(types);
  228. if (dtReuslt != null)
  229. {
  230. var treeList = new List<TreeEntity>();
  231. for (int row = 0; row < dtReuslt.Rows.Count; row++)
  232. {
  233. TreeEntity tree = new TreeEntity();
  234. bool hasChildren = false;
  235. tree.id = dtReuslt.Rows[row]["ID"].ToString();
  236. tree.text = dtReuslt.Rows[row]["模板名称"].ToString();
  237. tree.value = dtReuslt.Rows[row]["ID"].ToString();
  238. tree.isexpand = true;
  239. tree.complete = true;
  240. tree.parentId = "0";
  241. tree.hasChildren = hasChildren;
  242. treeList.Add(tree);
  243. }
  244. return Content(treeList.TreeToJson());
  245. }
  246. return Content("");
  247. }
  248. /// <summary>
  249. /// 获取数据通道
  250. /// </summary>
  251. /// <returns></returns>
  252. public ActionResult GetDataChannele(string chanlName)
  253. {
  254. DataTable dtReuslt = bll.GetDataChannele(chanlName);
  255. if (dtReuslt != null)
  256. {
  257. var treeList = new List<TreeEntity>();
  258. for (int row = 0; row < dtReuslt.Rows.Count; row++)
  259. {
  260. TreeEntity tree = new TreeEntity();
  261. bool hasChildren = false;
  262. tree.id = dtReuslt.Rows[row]["ID"].ToString();
  263. tree.text = dtReuslt.Rows[row]["通道参数"].ToString();
  264. tree.value = dtReuslt.Rows[row]["ID"].ToString();
  265. tree.isexpand = true;
  266. tree.complete = true;
  267. tree.parentId = "0";
  268. tree.hasChildren = hasChildren;
  269. treeList.Add(tree);
  270. }
  271. return Content(treeList.TreeToJson());
  272. }
  273. return Content("");
  274. }
  275. /// <summary>
  276. /// 通道服务
  277. /// </summary>
  278. /// <returns></returns>
  279. public ActionResult ChanneleForm()
  280. {
  281. return View();
  282. }
  283. }
  284. }