weather.py 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332
  1. from djongo import models
  2. # 气象站基础信息表
  3. class MongoQXZ_Base_Info(models.Model):
  4. id = models.AutoField(primary_key=True)
  5. device_id = models.CharField(max_length=50, default='') # 设备id
  6. volt = models.CharField(u'电压', max_length=20, blank=True, null=True)
  7. rssi = models.CharField(u'信号强度', max_length=20, blank=True, null=True)
  8. iccid = models.CharField(u'设备卡号', max_length=50, blank=True, null=True)
  9. lng = models.CharField(u'经度', max_length=50, blank=True, null=True)
  10. lat = models.CharField(u'纬度', max_length=50, blank=True, null=True)
  11. led = models.CharField(u'led点阵屏', max_length=10, blank=True, null=True)
  12. ledinfo = models.CharField(u'led屏幕内容', max_length=100, blank=True, null=True)
  13. dver = models.CharField(u'设备版本号', max_length=100, blank=True, null=True)
  14. uptime = models.IntegerField(default=0) # 修改时间
  15. class Meta:
  16. db_table = "sa_qxz_base_info"
  17. # 气象站基础信息表
  18. class MongoQXZ_Info_Record(models.Model):
  19. id = models.AutoField(primary_key=True)
  20. device_id = models.CharField(max_length=50, default='') # 设备id
  21. volt = models.CharField(u'电压', max_length=20, blank=True, null=True)
  22. rssi = models.CharField(u'信号强度', max_length=20, blank=True, null=True)
  23. uptime = models.IntegerField(default=0) # 修改时间
  24. class Meta:
  25. db_table = "sa_qxz_info_record"
  26. # 新气象站全部数据记录
  27. class QXZdata_New(models.Model):
  28. id = models.AutoField(primary_key=True)
  29. device_id = models.CharField(max_length=50, default='') # 设备id
  30. uptime = models.IntegerField(default=0) # 修改时间
  31. e1 = models.CharField(u'通道1', max_length=30, blank=True, null=True)
  32. e2 = models.CharField(u'通道2', max_length=30, blank=True, null=True)
  33. e3 = models.CharField(u'通道3', max_length=30, blank=True, null=True)
  34. e4 = models.CharField(u'通道4', max_length=30, blank=True, null=True)
  35. e5 = models.CharField(u'通道5', max_length=30, blank=True, null=True)
  36. e6 = models.CharField(u'通道6', max_length=30, blank=True, null=True)
  37. e7 = models.CharField(u'通道7', max_length=30, blank=True, null=True)
  38. e8 = models.CharField(u'通道8', max_length=30, blank=True, null=True)
  39. e9 = models.CharField(u'通道9', max_length=30, blank=True, null=True)
  40. e10 = models.CharField(u'通道10', max_length=30, blank=True, null=True)
  41. e11 = models.CharField(u'通道11', max_length=30, blank=True, null=True)
  42. e12 = models.CharField(u'通道12', max_length=30, blank=True, null=True)
  43. e13 = models.CharField(u'通道13', max_length=30, blank=True, null=True)
  44. e14 = models.CharField(u'通道14', max_length=30, blank=True, null=True)
  45. e15 = models.CharField(u'通道15', max_length=30, blank=True, null=True)
  46. e16 = models.CharField(u'通道16', max_length=30, blank=True, null=True)
  47. e17 = models.CharField(u'通道17', max_length=30, blank=True, null=True)
  48. e18 = models.CharField(u'通道18', max_length=30, blank=True, null=True)
  49. e19 = models.CharField(u'通道19', max_length=30, blank=True, null=True)
  50. e20 = models.CharField(u'通道20', max_length=30, blank=True, null=True)
  51. e21 = models.CharField(u'通道21', max_length=30, blank=True, null=True)
  52. e22 = models.CharField(u'通道22', max_length=30, blank=True, null=True)
  53. e23 = models.CharField(u'通道23', max_length=30, blank=True, null=True)
  54. e24 = models.CharField(u'通道24', max_length=30, blank=True, null=True)
  55. e25 = models.CharField(u'通道25', max_length=30, blank=True, null=True)
  56. e26 = models.CharField(u'通道26', max_length=30, blank=True, null=True)
  57. e27 = models.CharField(u'通道27', max_length=30, blank=True, null=True)
  58. e28 = models.CharField(u'通道28', max_length=30, blank=True, null=True)
  59. e29 = models.CharField(u'通道29', max_length=30, blank=True, null=True)
  60. e30 = models.CharField(u'通道30', max_length=30, blank=True, null=True)
  61. class Meta:
  62. db_table = "sa_qxz_data"
  63. # 值#enum#通道
  64. # 新气象站配置表
  65. class MongoQXZ_Conf(models.Model):
  66. id = models.AutoField(primary_key=True)
  67. device_id = models.CharField(max_length=50, default='') # 设备id
  68. e1 = models.CharField(u'通道1', max_length=30, blank=True, null=True)
  69. e2 = models.CharField(u'通道2', max_length=30, blank=True, null=True)
  70. e3 = models.CharField(u'通道3', max_length=30, blank=True, null=True)
  71. e4 = models.CharField(u'通道4', max_length=30, blank=True, null=True)
  72. e5 = models.CharField(u'通道5', max_length=30, blank=True, null=True)
  73. e6 = models.CharField(u'通道6', max_length=30, blank=True, null=True)
  74. e7 = models.CharField(u'通道7', max_length=30, blank=True, null=True)
  75. e8 = models.CharField(u'通道8', max_length=30, blank=True, null=True)
  76. e9 = models.CharField(u'通道9', max_length=30, blank=True, null=True)
  77. e10 = models.CharField(u'通道10', max_length=30, blank=True, null=True)
  78. e11 = models.CharField(u'通道11', max_length=30, blank=True, null=True)
  79. e12 = models.CharField(u'通道12', max_length=30, blank=True, null=True)
  80. e13 = models.CharField(u'通道13', max_length=30, blank=True, null=True)
  81. e14 = models.CharField(u'通道14', max_length=30, blank=True, null=True)
  82. e15 = models.CharField(u'通道15', max_length=30, blank=True, null=True)
  83. e16 = models.CharField(u'通道16', max_length=30, blank=True, null=True)
  84. e17 = models.CharField(u'通道17', max_length=30, blank=True, null=True)
  85. e18 = models.CharField(u'通道18', max_length=30, blank=True, null=True)
  86. e19 = models.CharField(u'通道19', max_length=30, blank=True, null=True)
  87. e20 = models.CharField(u'通道20', max_length=30, blank=True, null=True)
  88. e21 = models.CharField(u'通道21', max_length=30, blank=True, null=True)
  89. e22 = models.CharField(u'通道22', max_length=30, blank=True, null=True)
  90. e23 = models.CharField(u'通道23', max_length=30, blank=True, null=True)
  91. e24 = models.CharField(u'通道24', max_length=30, blank=True, null=True)
  92. e25 = models.CharField(u'通道25', max_length=30, blank=True, null=True)
  93. e26 = models.CharField(u'通道26', max_length=30, blank=True, null=True)
  94. e27 = models.CharField(u'通道27', max_length=30, blank=True, null=True)
  95. e28 = models.CharField(u'通道28', max_length=30, blank=True, null=True)
  96. e29 = models.CharField(u'通道29', max_length=30, blank=True, null=True)
  97. e30 = models.CharField(u'通道30', max_length=30, blank=True, null=True)
  98. uptime = models.IntegerField(default=0) # 修改时间
  99. class Meta:
  100. db_table = "sa_qxz_conf"
  101. # 气象站短信预警
  102. class MongoQXZ_Alarm(models.Model):
  103. id = models.AutoField(primary_key=True)
  104. device_id = models.CharField(max_length=50, default='') # 设备id
  105. conf = models.TextField(u'配置', blank=True, null=True)
  106. phone = models.CharField(u'手机号',max_length=20, blank=True)
  107. upl_time = models.IntegerField(u'上报时间',default=0)
  108. class Meta:
  109. db_table = "sa_qxz_alarm"
  110. # 气象站短信预警
  111. class MongoQXZ_Alarm_New(models.Model):
  112. id = models.AutoField(primary_key=True)
  113. user_id = models.CharField(u"用户id",max_length=50, default='')
  114. warning_id = models.CharField(u"预警设置id",max_length=50, default='')
  115. device_id = models.CharField(u'设备号',max_length=50, default='')
  116. conf = models.TextField(u'短信配置', blank=True, null=True)
  117. send_user_id = models.TextField(u'多个联系人id',default='')
  118. upl_time = models.IntegerField(u'上报时间',default=0)
  119. class Meta:
  120. db_table = "sa_qxz_alarm_new"
  121. # 气象站短信预警记录
  122. class MongoQXZ_Alarm_Log_New(models.Model):
  123. id = models.AutoField(primary_key=True)
  124. device_id = models.CharField(max_length=50, default='') # 设备id
  125. user_id = models.CharField(u"用户id", max_length=50, default='')
  126. warning_name = models.CharField(u"预警设置名称",max_length=50, default='') # 用作存储设备类型ID
  127. ekey = models.TextField(u'通道号', blank=True)
  128. warning_content = models.TextField(u"预警内容",default='')
  129. send_user = models.TextField(u"发送用户",default='')
  130. status = models.IntegerField(u"是否已读",default=0) # 0未读 1已读
  131. upl_time = models.IntegerField(u'上报时间', default=0)
  132. class Meta:
  133. db_table = "sa_qxz_alarm_log_new"
  134. # 气象站开关配置表
  135. class QXZ_Switch_Status(models.Model):
  136. id = models.AutoField(primary_key=True)
  137. device_id = models.CharField(max_length=50, default='') # 设备id
  138. upl_time = models.IntegerField(u'上报时间', default=0)
  139. qxz_switch = models.TextField(u'气象站开关', blank=True, null=True)
  140. class Meta:
  141. db_table = "sa_qxz_switch_status"
  142. # 气象站开关配置表
  143. class MongoQXZ_Switch(models.Model):
  144. id = models.AutoField(primary_key=True)
  145. device_id = models.CharField(max_length=50, default='') # 设备id
  146. upl_time = models.IntegerField(u'上报时间', default=0)
  147. qxz_switch_data = models.TextField(u'气象站开关名字',blank=True, null=True)
  148. class Meta:
  149. db_table = "sa_qxz_switch"
  150. # 气象站阈值表
  151. class MongoQXZ_Auto_Switch(models.Model):
  152. id = models.AutoField(primary_key=True)
  153. device_id = models.CharField(max_length=50, default='') # 设备id
  154. upl_time = models.IntegerField(u'上报时间', default=0)
  155. qxz_auto = models.TextField(u'气象站阈值', blank=True, null=True)
  156. class Meta:
  157. db_table = "sa_qxz_auto_switch"
  158. # 气象站开关定时表
  159. class MongoQXZ_Timing_Switch(models.Model):
  160. id = models.AutoField(primary_key=True)
  161. device_id = models.CharField(max_length=50, default='') # 设备id
  162. upl_time = models.IntegerField(u'上报时间', default=0)
  163. qxz_timing = models.TextField(u'气象站开关定时', blank=True, null=True)
  164. class Meta:
  165. db_table = "sa_qxz_timing_switch"
  166. class MongoND_qxz_status(models.Model):
  167. id = models.AutoField(primary_key=True)
  168. device_id = models.CharField(max_length=50, default='') # 设备id
  169. lat = models.CharField(u'纬度',max_length=50)
  170. lng = models.CharField(u'经度',max_length=50)
  171. topic = models.CharField(u'列标题',max_length=10,default='10')
  172. inidepth = models.CharField(u'初始深度',max_length=10,default='10')
  173. depth = models.CharField(u'层级深度',max_length=50,default='')
  174. csq = models.CharField(u'信号强度',max_length=10)
  175. temp = models.CharField(u'土壤温度',max_length=50)
  176. swc = models.CharField(u'土壤湿度',max_length=50)
  177. atm = models.CharField(u'大气压强',max_length=10)
  178. at = models.CharField(u'空气温度',max_length=10)
  179. ats = models.CharField(u'空气湿度',max_length=10)
  180. upl_time = models.IntegerField(u'上报时间', default=0)
  181. class Meta:
  182. db_table = "sa_nd_qxz_status"
  183. # 新气象站状态记录:
  184. class QXZstatus_New(models.Model):
  185. id = models.AutoField(primary_key=True)
  186. device_id = models.CharField(max_length=50, default='') # 设备id
  187. is_online = models.CharField(u'在线状态', max_length=5, blank=True,null=True)
  188. # off_time = models.DateTimeField(u'离线时间', blank=True,null=True)
  189. # upl_time = models.DateTimeField(u'数据上传时间', default=timezone.now)
  190. uptime = models.IntegerField(default=0) # 修改时间
  191. e1 = models.CharField(u'通道1', max_length=30, blank=True, null=True)
  192. e2 = models.CharField(u'通道2', max_length=30, blank=True, null=True)
  193. e3 = models.CharField(u'通道3', max_length=30, blank=True, null=True)
  194. e4 = models.CharField(u'通道4', max_length=30, blank=True, null=True)
  195. e5 = models.CharField(u'通道5', max_length=30, blank=True, null=True)
  196. e6 = models.CharField(u'通道6', max_length=30, blank=True, null=True)
  197. e7 = models.CharField(u'通道7', max_length=30, blank=True, null=True)
  198. e8 = models.CharField(u'通道8', max_length=30, blank=True, null=True)
  199. e9 = models.CharField(u'通道9', max_length=30, blank=True, null=True)
  200. e10 = models.CharField(u'通道10', max_length=30, blank=True, null=True)
  201. e11 = models.CharField(u'通道11', max_length=30, blank=True, null=True)
  202. e12 = models.CharField(u'通道12', max_length=30, blank=True, null=True)
  203. e13 = models.CharField(u'通道13', max_length=30, blank=True, null=True)
  204. e14 = models.CharField(u'通道14', max_length=30, blank=True, null=True)
  205. e15 = models.CharField(u'通道15', max_length=30, blank=True, null=True)
  206. e16 = models.CharField(u'通道16', max_length=30, blank=True, null=True)
  207. e17 = models.CharField(u'通道17', max_length=30, blank=True, null=True)
  208. e18 = models.CharField(u'通道18', max_length=30, blank=True, null=True)
  209. e19 = models.CharField(u'通道19', max_length=30, blank=True, null=True)
  210. e20 = models.CharField(u'通道20', max_length=30, blank=True, null=True)
  211. e21 = models.CharField(u'通道21', max_length=30, blank=True, null=True)
  212. e22 = models.CharField(u'通道22', max_length=30, blank=True, null=True)
  213. e23 = models.CharField(u'通道23', max_length=30, blank=True, null=True)
  214. e24 = models.CharField(u'通道24', max_length=30, blank=True, null=True)
  215. e25 = models.CharField(u'通道25', max_length=30, blank=True, null=True)
  216. e26 = models.CharField(u'通道26', max_length=30, blank=True, null=True)
  217. e27 = models.CharField(u'通道27', max_length=30, blank=True, null=True)
  218. e28 = models.CharField(u'通道28', max_length=30, blank=True, null=True)
  219. e29 = models.CharField(u'通道29', max_length=30, blank=True, null=True)
  220. e30 = models.CharField(u'通道30', max_length=30, blank=True, null=True)
  221. # lng = models.CharField(u'经度', max_length=50, blank=True)
  222. # lat = models.CharField(u'维度', max_length=50, blank=True)
  223. # qxz_picture = models.ImageField(u'气象站图片', upload_to="qxz_photo/", default="qxz_photo/default.png")
  224. interval = models.CharField(u'设备数据上传时间间隔', max_length=30, blank=True, null=True)
  225. class Meta:
  226. db_table = "sa_qxz_status"
  227. # verbose_name = u'气象站-状态表-新'
  228. # verbose_name_plural = verbose_name
  229. # ordering = ['-equip_id__equip_add_time']
  230. # get_latest_by = 'equip_id__equip_add_time'
  231. # 气象站预警表
  232. class QXZThresholdWarning(models.Model):
  233. id = models.AutoField(primary_key=True)
  234. device_id = models.CharField(u"设备id",max_length=50, default='')
  235. warning_content = models.TextField(u"预警内容",default='')
  236. ekey = models.CharField(u'通道号',max_length=20, blank=True)
  237. set_value = models.CharField(u'设置预警值',max_length=20, blank=True)
  238. current_value = models.CharField(u'当前预警值',max_length=20, blank=True)
  239. upltime = models.IntegerField(u"预警时间",default=0)
  240. status = models.IntegerField(u"是否已读",default=0) # 0未读 1已读
  241. class Meta:
  242. db_table = "sa_device_threshold_warning"
  243. # 新气象站默认配置表
  244. class QXZ_Default_Conf(models.Model):
  245. id = models.AutoField(primary_key=True)
  246. device_id = models.CharField(max_length=50, default='') # 设备id
  247. e1 = models.CharField(u'通道1', max_length=30, blank=True, null=True)
  248. e2 = models.CharField(u'通道2', max_length=30, blank=True, null=True)
  249. e3 = models.CharField(u'通道3', max_length=30, blank=True, null=True)
  250. e4 = models.CharField(u'通道4', max_length=30, blank=True, null=True)
  251. e5 = models.CharField(u'通道5', max_length=30, blank=True, null=True)
  252. e6 = models.CharField(u'通道6', max_length=30, blank=True, null=True)
  253. e7 = models.CharField(u'通道7', max_length=30, blank=True, null=True)
  254. e8 = models.CharField(u'通道8', max_length=30, blank=True, null=True)
  255. e9 = models.CharField(u'通道9', max_length=30, blank=True, null=True)
  256. e10 = models.CharField(u'通道10', max_length=30, blank=True, null=True)
  257. e11 = models.CharField(u'通道11', max_length=30, blank=True, null=True)
  258. e12 = models.CharField(u'通道12', max_length=30, blank=True, null=True)
  259. e13 = models.CharField(u'通道13', max_length=30, blank=True, null=True)
  260. e14 = models.CharField(u'通道14', max_length=30, blank=True, null=True)
  261. e15 = models.CharField(u'通道15', max_length=30, blank=True, null=True)
  262. e16 = models.CharField(u'通道16', max_length=30, blank=True, null=True)
  263. e17 = models.CharField(u'通道17', max_length=30, blank=True, null=True)
  264. e18 = models.CharField(u'通道18', max_length=30, blank=True, null=True)
  265. e19 = models.CharField(u'通道19', max_length=30, blank=True, null=True)
  266. e20 = models.CharField(u'通道20', max_length=30, blank=True, null=True)
  267. e21 = models.CharField(u'通道21', max_length=30, blank=True, null=True)
  268. e22 = models.CharField(u'通道22', max_length=30, blank=True, null=True)
  269. e23 = models.CharField(u'通道23', max_length=30, blank=True, null=True)
  270. e24 = models.CharField(u'通道24', max_length=30, blank=True, null=True)
  271. e25 = models.CharField(u'通道25', max_length=30, blank=True, null=True)
  272. e26 = models.CharField(u'通道26', max_length=30, blank=True, null=True)
  273. e27 = models.CharField(u'通道27', max_length=30, blank=True, null=True)
  274. e28 = models.CharField(u'通道28', max_length=30, blank=True, null=True)
  275. e29 = models.CharField(u'通道29', max_length=30, blank=True, null=True)
  276. e30 = models.CharField(u'通道30', max_length=30, blank=True, null=True)
  277. # upl_time = models.DateTimeField(u'数据上传时间', default=timezone.now)
  278. uptime = models.IntegerField(default=0) # 修改时间
  279. class Meta:
  280. db_table = "sa_qxz_default_conf"