MeterBLL.cs 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using LeaRun.Application.Service.PipeNetworkManage;
  7. using LeaRun.Application.Entity.PipeNetworkManage;
  8. using LeaRun.Util.WebControl;
  9. namespace LeaRun.Application.Busines.PipeNetworkManage
  10. {
  11. public class MeterBLL
  12. {
  13. private MeterService meterService = new MeterService();
  14. /// <summary>
  15. /// 缓存key
  16. /// </summary>
  17. public string cacheKey = "MeterCache";
  18. /// <summary>
  19. /// 获取所有的 考核表 类型
  20. /// </summary>
  21. /// <returns></returns>
  22. public string GetMeterType()
  23. {
  24. return meterService.GetMeterType();
  25. }
  26. /// <summary>
  27. /// 获取指定的 表类型列表
  28. /// </summary>
  29. /// <param name="pagination">分页参数</param>
  30. /// <param name="queryJson">查询条件</param>
  31. /// <returns></returns>
  32. public IEnumerable<MeterTypeEntity> GetMeterType(Pagination pagination, string queryJson)
  33. {
  34. return meterService.GetMeterType(pagination, queryJson);
  35. }
  36. /// <summary>
  37. /// 获取类型列表
  38. /// </summary>
  39. /// <returns></returns>
  40. public IEnumerable<MeterTypeEntity> GetMeterTypeList()
  41. {
  42. return meterService.GetMeterTypeList();
  43. }
  44. /// <summary>
  45. /// 获取表具类型
  46. /// </summary>
  47. /// <param name="meterTypeId">类型ID</param>
  48. /// <returns></returns>
  49. public MeterTypeEntity GetMeterTypeEntity(int meterTypeId)
  50. {
  51. return meterService.GetMeterTypeEntity(meterTypeId);
  52. }
  53. /// <summary>
  54. /// 保存表具类型
  55. /// </summary>
  56. /// <param name="meterType">类型实体</param>
  57. /// <returns></returns>
  58. public bool SaveMeterType(MeterTypeEntity meterType)
  59. {
  60. return meterService.SaveMeterType(meterType);
  61. }
  62. /// <summary>
  63. /// 更新表具类型
  64. /// </summary>
  65. /// <param name="meterType">类型实体</param>
  66. /// <returns></returns>
  67. public bool UpdateMeterType(MeterTypeEntity meterType)
  68. {
  69. return meterService.UpdateMeterType(meterType);
  70. }
  71. /// <summary>
  72. /// 删除表具类型
  73. /// </summary>
  74. /// <param name="meterTypeId">类型ID</param>
  75. /// <returns></returns>
  76. public string DelteMeterType(int meterTypeId)
  77. {
  78. return meterService.DelteMemterType(meterTypeId);
  79. }
  80. /// <summary>
  81. /// 获取表设备信息列表
  82. /// </summary>
  83. /// <returns></returns>
  84. public string GetMeterList(Pagination pagination, string queryJson)
  85. {
  86. return meterService.GetMeterList(pagination, queryJson);
  87. }
  88. /// <summary>
  89. /// 获取表设备信息列表
  90. /// </summary>
  91. /// <returns></returns>
  92. public IEnumerable<MeterEntity> GetMeters()
  93. {
  94. return meterService.GetMeters();
  95. }
  96. /// <summary>
  97. /// 保存表设备信息
  98. /// </summary>
  99. /// <param name="meter">表设备实体</param>
  100. /// <returns></returns>
  101. public bool SaveMeter(MeterEntity meter)
  102. {
  103. return meterService.SaveMeter(meter);
  104. }
  105. /// <summary>
  106. /// 更新表设备信息
  107. /// </summary>
  108. /// <param name="meter">表设备实体</param>
  109. /// <returns></returns>
  110. public bool UpdateMeter(MeterEntity meter)
  111. {
  112. return meterService.UpdateMeter(meter);
  113. }
  114. /// <summary>
  115. /// 删除表设备信息
  116. /// </summary>
  117. /// <param name="MeterAssessmentId">设备信息ID</param>
  118. /// <returns></returns>
  119. public bool DeleteMeter(int meterAssessmentId)
  120. {
  121. return meterService.DeleteMeter(meterAssessmentId);
  122. }
  123. /// <summary>
  124. /// 获取表设备信息
  125. /// </summary>
  126. /// <param name="meterAssessmentId"></param>
  127. /// <returns></returns>
  128. public MeterEntity GetMeterEntity(int meterAssessmentId)
  129. {
  130. return meterService.GetMeterEntity(meterAssessmentId);
  131. }
  132. #region 水务宝 用到的方法
  133. /// <summary>
  134. /// 获取所属公司的表
  135. /// </summary>
  136. /// <param name="companyId">公司ID</param>
  137. /// <param name="isKaoHe">1.考核表 0.贸易表 2.无所谓</param>
  138. /// <returns></returns>
  139. public IEnumerable<MeterEntity> GetMeterEntityByCompanyId(string companyId, int isKaoHe = 2)
  140. {
  141. return meterService.GetMeterEntityByCompanyId(companyId, isKaoHe);
  142. }
  143. /// <summary>
  144. /// 特定时间段内,平均压力小于某个值的 设备
  145. /// </summary>
  146. /// <param name="pressValue"></param>
  147. /// <param name="startT"></param>
  148. /// <param name="endT"></param>
  149. /// <returns></returns>
  150. public IEnumerable<MeterEntity> GetMeterByPressLessValue(decimal pressValue, string startT, string endT, IEnumerable<MeterEntity> entities)
  151. {
  152. return meterService.GetMeterByPressLessValue(pressValue, startT, endT, entities);
  153. }
  154. /// <summary>
  155. /// 特定时间段内,电池电压小于某个值的 设备
  156. /// </summary>
  157. /// <param name="voltageValue"></param>
  158. /// <param name="startT"></param>
  159. /// <param name="endT"></param>
  160. /// <returns></returns>
  161. public IEnumerable<MeterEntity> GetMeterByBatteryVoltageValue(decimal voltageValue, IEnumerable<MeterEntity> entities)
  162. {
  163. return meterService.GetMeterByBatteryVoltageValue(voltageValue,entities);
  164. }
  165. /// <summary>
  166. /// 根据口径筛选设备
  167. /// </summary>
  168. /// <param name="entities"></param>
  169. /// <param name="caliberValue">口径值</param>
  170. /// <param name="chooseType">1.大于 2.等于 3小于</param>
  171. /// <returns></returns>
  172. public IEnumerable<MeterEntity> GetMeterEntityByCaliber(IEnumerable<MeterEntity> entities, int caliberValue, int chooseType)
  173. {
  174. return meterService.GetMeterEntityByCaliber(entities, caliberValue, chooseType);
  175. }
  176. /// <summary>
  177. /// 获取有故障的设备
  178. /// 瞬时流量 压力 净累计都为0 视为故障
  179. /// 最近更新时间大于一天的 视为故障
  180. /// </summary>
  181. /// <param name="entities"></param>
  182. /// <returns></returns>
  183. public IEnumerable<MeterEntity> GetFaultMeter(IEnumerable<MeterEntity> entities)
  184. {
  185. return meterService.GetFaultMeter(entities);
  186. }
  187. /// <summary>
  188. /// 计算漏失
  189. /// </summary>
  190. /// <param name="entity">表设备</param>
  191. /// <param name="start">开始时间</param>
  192. /// <param name="end">结束时间</param>
  193. /// <param name="continuous">连续用水量</param>
  194. /// <param name="minFlowRate">校核按钮所使用的值 最小</param>
  195. /// <param name="type">校核 状态0 初始化 1.点击校核按钮</param>
  196. /// <param name="leakRate">漏损倍率</param>
  197. /// <returns></returns>
  198. public CalcLeakEntity GetCalcLeakEntity(MeterEntity entity, string startT, string endT, string continuous, string minFlowRate, string type)
  199. {
  200. return meterService.GetCalcLeakEntity(entity, startT, endT, continuous, minFlowRate, type);
  201. }
  202. /// <summary>
  203. /// 计算设备漏失率低于某个值
  204. /// </summary>
  205. /// <param name="entities"></param>
  206. /// <param name="value"></param>
  207. /// <returns></returns>
  208. public IEnumerable<MeterEntity> GetDeviceLossMoreThanValue(IEnumerable<MeterEntity> entities, decimal value)
  209. {
  210. return meterService.GetDeviceLossMoreThanValue(entities,value);
  211. }
  212. /// <summary>
  213. /// 特定时间段内,最小流量小于某个值的 设备
  214. /// </summary>
  215. /// <param name="pressValue"></param>
  216. /// <param name="startT"></param>
  217. /// <param name="endT"></param>
  218. /// <returns></returns>
  219. public IEnumerable<MeterEntity> GetMeterByMinFlowLessValue(decimal flowValue, string startT, string endT, IEnumerable<MeterEntity> entities)
  220. {
  221. return meterService.GetMeterByMinFlowLessValue(flowValue, startT, endT, entities);
  222. }
  223. /// <summary>
  224. /// 更新贸易表的连续用水量
  225. /// </summary>
  226. /// <param name="continueUserWater"></param>
  227. /// <param name="meterAssessmentId"></param>
  228. /// <returns></returns>
  229. public bool UpdateMaoYiMeterContinueUserWater(string continueUserWater, string meterAssessmentId)
  230. {
  231. return meterService.UpdateMaoYiMeterContinueUserWater(continueUserWater,meterAssessmentId);
  232. }
  233. /// <summary>
  234. /// 设置考核表报警参数
  235. /// </summary>
  236. /// <param name="meterId">设备ID</param>
  237. /// <param name="continueUseWater">连续用水量</param>
  238. /// <param name="supplySaleDValue">产销差</param>
  239. /// <returns></returns>
  240. public bool SetMeterAlermParam(string meterId, string continueUseWater, string supplySaleDValue)
  241. {
  242. return meterService.SetMeterAlermParam(meterId,continueUseWater,supplySaleDValue);
  243. }
  244. /// <summary>
  245. /// 更新报警开关
  246. /// </summary>
  247. /// <param name="meterId">设备ID</param>
  248. /// <param name="alermType">报警类型 0-1-1|2|3|4 第一位 报警开关 第二位 大类型 第三位 小类型</param>
  249. /// <returns></returns>
  250. public bool SetMeterAlermState(string meterId, string alermType)
  251. {
  252. return meterService.SetMeterAlermState(meterId,alermType);
  253. }
  254. #endregion
  255. }
  256. }