device.py 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. from django.db import models
  2. class MongoDevice(models.Model):
  3. # objects = models.DjongoManager()
  4. id = models.AutoField(primary_key=True) # 自增id
  5. device_id = models.CharField(u'设备本身id', max_length=50, unique=True) # 设备id
  6. dver_num = models.CharField(u'设备固件版本号', max_length=50, default='') # 设备固件版本号
  7. device_model = models.PositiveIntegerField(default=0) # 设备型号 1 2 3 型号特指性诱设备
  8. device_type_id = models.PositiveIntegerField(u'设备类型id', default=0) # 设备类型id
  9. device_name = models.CharField(u'设备名称', max_length=50, default='') # 设备名称
  10. owner_uid = models.PositiveIntegerField(u'负责人uid', default=0) # 负责人uid
  11. user_dealer = models.PositiveIntegerField(u'负责人uid', default=0) # 经销商id
  12. province = models.CharField(u'设备归属 省', max_length=50, default='') # 设备归属 省
  13. city = models.CharField(u'设备归属 市', max_length=50, default='') # 设备归属 市
  14. district = models.CharField(u'设备归属 县', max_length=50, default='') # 设备归属 县
  15. # 设备编码,用于区分性诱1型、2型设备类型、测报灯设备类型1(1.0转盘) 11(1.0高空) 4(4.0水稻) 5(5.0测报灯) 6(吸虫塔)
  16. device_code = models.PositiveIntegerField(u'设备编码 当设备为性诱设备的时候必须存在', default=0)
  17. device_status = models.PositiveIntegerField(u'设备状态 1在线 0离线', default=1) # 设备状态 1在线 0离线
  18. off_time = models.PositiveIntegerField(u'设备离线时间', default=0) # 设备离线时间
  19. ftp_push_addr = models.CharField(u'设备推送图片地址', max_length=50, default='') # 设备推送图片地址
  20. serverconf = models.TextField(u'服务器配置', default='') # 服务器配置
  21. lng = models.CharField(u'经度', max_length=50, default='') # 经度
  22. lat = models.CharField(u'纬度', max_length=50, default='') # 纬度
  23. gps = models.PositiveIntegerField(u'纬度', default=2) # 0-手动,1-GPS,2-基站
  24. addtime = models.IntegerField(default=0) # 设备添加时间
  25. uptime = models.IntegerField(default=0) # 设备修改时间
  26. glass_slide_time = models.IntegerField(default=0) # 载玻片更换时间
  27. cultivate_time = models.IntegerField(default=0) # 培养液更换时间
  28. add_position = models.PositiveIntegerField(u'是否手动添加位置', default=0) # 0未添加 1已添加
  29. simid = models.CharField(u'海康流量卡', max_length=50, default='') # 海康4G SIM卡,宁录性诱sim
  30. disable = models.PositiveIntegerField(u'禁用识别统计', default=0) # 0 禁用(不带识别) 1识别 2计数
  31. decoy = models.CharField(u'性诱设备诱芯', max_length=50, default='') # 性诱设备诱芯
  32. sim_dealer = models.CharField(u'SIM经销商', max_length=50, default=0) # 0为 以前的,1企鹏 2 宁录
  33. xy_uptime = models.IntegerField(default=0) # 诱芯更换时间
  34. networking = models.CharField(u'联网方式', max_length=10, default=0) # 联网方式 0GPRS 1宽带 2其他
  35. equipment = models.CharField(u'设备状态', max_length=10, default=0) # 设备状态 0生产 1发货 2安装、3返修、4更换设备号、5报废、6对接
  36. sale_uid = models.IntegerField('销售用户uid', default=0)
  37. salesman_task_number = models.CharField(u'销售用户#任务单号', max_length=20, default=0) # 任务单号
  38. whether_equipment_status = models.CharField(u'是否更新设备状态', max_length=10, default=0) # 设备状态 0未更新,1已更新
  39. device_expire_time = models.IntegerField(default=0) # 设备到期时间
  40. device_activation = models.IntegerField(default=0) # 设备激活时间
  41. device_expire = models.CharField(u'设备是否到期', max_length=10, default=0) # 设备状态 0未到期,1已到期,2即将到期
  42. device_expire_days = models.CharField(u'设备到期天数', max_length=10, default=0) # 设备到期天数
  43. water_pump_switch = models.CharField(u'水泵开关', max_length=10, default=0) # 此字段针对康亚杰定制灌溉设备
  44. device_notes = models.CharField(u'设备备注', max_length=20, blank=True, null=True, default=0) # 此字段针对康亚杰定制灌溉设备、水肥设备
  45. water_pump_times = models.CharField(u'水泵控制时间', max_length=10, default=0) # 此字段针对康亚杰定制灌溉设备
  46. water_pump_switch_times = models.CharField(u'下发水泵开关的时间', max_length=10, default=0) # 此字段针对康亚杰定制灌溉设备
  47. xy_expire_time = models.IntegerField(default=0) # 诱芯到期时间
  48. device_tag = models.IntegerField("标签", default=0)
  49. jk_live_img = models.TextField(u'监控封面图片',default='') # 监控封面图片
  50. class Meta:
  51. db_table = "sa_device"
  52. class MongoDeviceType(models.Model):
  53. id = models.AutoField(primary_key=True) # 设备类型id
  54. type_name = models.CharField(u'设备类型名称 ',max_length=50,default='') # 设备类型名称 2杀虫灯,3测报灯,4智能性诱,5气象站,6监控设备,7孢子仪,8性诱设备
  55. img_url = models.TextField(u'设备类型图片url地址', default="")
  56. addtime = models.IntegerField(default=0) # 设备类型添加时间
  57. uptime = models.IntegerField(default=0) # 设备类型修改时间
  58. class Meta:
  59. db_table = "sa_device_type"
  60. class MongoDeviceConfig(models.Model):
  61. id = models.AutoField(primary_key=True)
  62. d_id = models.PositiveIntegerField(u'设备自增id',default=0) # 设备id 设备自增id和cmd 复合索引
  63. device_config = models.TextField(u'设备配置',default='') # 设备配置
  64. cmd = models.CharField(u'配置属性',max_length=50) # 设备id
  65. addtime = models.IntegerField(default=0) # 新增时间
  66. uptime = models.IntegerField(default=0) # 修改时间
  67. class Meta:
  68. db_table = "sa_device_config"
  69. unique_together = (('d_id', 'cmd'),)
  70. class MongoSCDData(models.Model):
  71. #杀虫灯历史数据表
  72. id = models.AutoField(primary_key=True)
  73. device_id = models.CharField(u'设备自增id', max_length=32, default="") # 设备id
  74. device_data = models.TextField(u'具体历史状态数据',default='') # 具体历史状态数据
  75. addtime = models.IntegerField(default=0) # 新增时间
  76. device_status = models.CharField(u'四情数据区分',max_length=10,default=1) # data\status 1
  77. class Meta:
  78. db_table = "sa_device_scd_data"
  79. class MongoCBDData(models.Model):
  80. #测报灯
  81. id = models.AutoField(primary_key=True)
  82. device_id = models.CharField(u'设备自增id', max_length=32, default="") # 设备id
  83. device_data = models.TextField(u'具体历史状态数据',default='') # 具体历史状态数据
  84. addtime = models.IntegerField(default=0) # 新增时间
  85. class Meta:
  86. db_table = "sa_device_cbd_data"
  87. class MongoXYCBData(models.Model):
  88. #自己的性诱测报灯
  89. id = models.AutoField(primary_key=True)
  90. device_id = models.CharField(u'设备自增id', max_length=32, default="") # 设备id
  91. device_data = models.TextField(u'具体历史状态数据',default='') # 具体历史状态数据
  92. addtime = models.IntegerField(default=0) # 新增时间
  93. class Meta:
  94. db_table = "sa_device_xycb_data"
  95. class MongoSYCBData(models.Model):
  96. # 色诱测报灯
  97. id = models.AutoField(primary_key=True)
  98. device_id = models.CharField(u'设备自增id', max_length=32, default="") # 设备id
  99. device_data = models.TextField(u'具体历史状态数据',default='') # 具体历史状态数据
  100. addtime = models.IntegerField(default=0) # 新增时间
  101. class Meta:
  102. db_table = "sa_device_sycb_data"
  103. class MongoBZYData(models.Model):
  104. # 孢子仪
  105. id = models.AutoField(primary_key=True)
  106. device_id = models.CharField(u'设备自增id', max_length=32, default="") # 设备id
  107. device_data = models.TextField(u'具体历史状态数据',default='') # 具体历史状态数据
  108. addtime = models.IntegerField(default=0) # 新增时间
  109. class Meta:
  110. db_table = "sa_device_bzy_data"
  111. class MongoXCTData(models.Model):
  112. # 吸虫塔设备数据
  113. id = models.AutoField(primary_key=True)
  114. device_id = models.CharField(u'设备自增id', max_length=32, default="") # 设备id
  115. device_data = models.TextField(u'具体历史状态数据',default='') # 具体历史状态数据
  116. addtime = models.IntegerField(default=0) # 新增时间
  117. class Meta:
  118. db_table = "sa_device_xct_data"
  119. class MongoXYThreeData(models.Model):
  120. # 性诱3
  121. id = models.AutoField(primary_key=True)
  122. device_id = models.CharField(u'设备自增id', max_length=32, default="") # 设备id
  123. device_data = models.TextField(u'具体历史状态数据',default='') # 具体历史状态数据
  124. addtime = models.IntegerField(default=0) # 新增时间
  125. class Meta:
  126. db_table = "sa_device_xy_three_data"
  127. class MongoDevicePest(models.Model):
  128. # 设备图片害虫种类表
  129. id = models.AutoField(primary_key=True)
  130. user = models.CharField(verbose_name=u'害虫所属用户',max_length=50, blank=True, null=True)
  131. pest_add_time = models.IntegerField(default=0) #添加时间
  132. pest_name = models.CharField(u'害虫名称', max_length=50)
  133. class Meta:
  134. db_table = "sa_device_pest"
  135. # 设备照片描述
  136. class MongoDevice_Desc(models.Model):
  137. id = models.AutoField(primary_key=True)
  138. device_id = models.CharField(u'对应的设备id', max_length=50, blank=True, null=True)
  139. photo_id = models.CharField(blank=True, null=True, verbose_name=u'照片ID',max_length=50)
  140. desc_user = models.CharField(verbose_name=u'添加描述的用户', blank=True, null=True,max_length=50)
  141. add_time = models.IntegerField(default=0) #添加时间
  142. # 用户自定义添加:作物名称、病虫害阶段、病虫名称、雌雄、数量
  143. crop_name = models.CharField(u'作物名称', max_length=20,blank=True, null=True)
  144. pest_case = models.CharField(u'虫害情况', max_length=30,blank=True, null=True)
  145. pest_name = models.CharField( blank=True, null=True, verbose_name=u'害虫名称',max_length=50)
  146. # pest_sex = models.TextField(u'害虫雌雄', max_length=10, blank=True, null=True)
  147. pest_num = models.CharField(u'害虫数量', max_length=10, blank=True, null=True)
  148. photo_time = models.IntegerField(default=0) #对应的照片时间
  149. # def __str__(self):
  150. # return self.equip_name
  151. class Meta:
  152. db_table = "sa_device_desc"
  153. # 测报灯害虫预警表
  154. class DevicePestWarning(models.Model):
  155. id = models.AutoField(primary_key=True)
  156. device_id = models.CharField(u"设备id",max_length=50, default='')
  157. warning_content = models.TextField(u"预警内容",default='')
  158. warning_status = models.CharField(u"预警类型",max_length=10,default=0) # 1目标种类预警 2、指定害虫数量预警 3 害虫数量总和预警 4综合预警
  159. upltime = models.IntegerField(u"预警时间",default=0)
  160. status = models.IntegerField(u"是否已读",default=0) # 0未读 1已读
  161. class Meta:
  162. db_table = "sa_device_pest_warning"