device.py 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  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. class Meta:
  50. db_table = "sa_device"
  51. class MongoDeviceType(models.Model):
  52. id = models.AutoField(primary_key=True) # 设备类型id
  53. type_name = models.CharField(u'设备类型名称 ',max_length=50,default='') # 设备类型名称 2杀虫灯,3测报灯,4智能性诱,5气象站,6监控设备,7孢子仪,8性诱设备
  54. img_url = models.TextField(u'设备类型图片url地址', default="")
  55. addtime = models.IntegerField(default=0) # 设备类型添加时间
  56. uptime = models.IntegerField(default=0) # 设备类型修改时间
  57. class Meta:
  58. db_table = "sa_device_type"
  59. class MongoDeviceConfig(models.Model):
  60. id = models.AutoField(primary_key=True)
  61. d_id = models.PositiveIntegerField(u'设备自增id',default=0) # 设备id 设备自增id和cmd 复合索引
  62. device_config = models.TextField(u'设备配置',default='') # 设备配置
  63. cmd = models.CharField(u'配置属性',max_length=50) # 设备id
  64. addtime = models.IntegerField(default=0) # 新增时间
  65. uptime = models.IntegerField(default=0) # 修改时间
  66. class Meta:
  67. db_table = "sa_device_config"
  68. unique_together = (('d_id', 'cmd'),)
  69. class MongoSCDData(models.Model):
  70. #杀虫灯历史数据表
  71. id = models.AutoField(primary_key=True)
  72. device_id = models.CharField(u'设备自增id', max_length=32, default="") # 设备id
  73. device_data = models.TextField(u'具体历史状态数据',default='') # 具体历史状态数据
  74. addtime = models.IntegerField(default=0) # 新增时间
  75. device_status = models.CharField(u'四情数据区分',max_length=10,default=1) # data\status 1
  76. class Meta:
  77. db_table = "sa_device_scd_data"
  78. class MongoCBDData(models.Model):
  79. #测报灯
  80. id = models.AutoField(primary_key=True)
  81. device_id = models.CharField(u'设备自增id', max_length=32, default="") # 设备id
  82. device_data = models.TextField(u'具体历史状态数据',default='') # 具体历史状态数据
  83. addtime = models.IntegerField(default=0) # 新增时间
  84. class Meta:
  85. db_table = "sa_device_cbd_data"
  86. class MongoXYCBData(models.Model):
  87. #自己的性诱测报灯
  88. id = models.AutoField(primary_key=True)
  89. device_id = models.CharField(u'设备自增id', max_length=32, default="") # 设备id
  90. device_data = models.TextField(u'具体历史状态数据',default='') # 具体历史状态数据
  91. addtime = models.IntegerField(default=0) # 新增时间
  92. class Meta:
  93. db_table = "sa_device_xycb_data"
  94. class MongoSYCBData(models.Model):
  95. # 色诱测报灯
  96. id = models.AutoField(primary_key=True)
  97. device_id = models.CharField(u'设备自增id', max_length=32, default="") # 设备id
  98. device_data = models.TextField(u'具体历史状态数据',default='') # 具体历史状态数据
  99. addtime = models.IntegerField(default=0) # 新增时间
  100. class Meta:
  101. db_table = "sa_device_sycb_data"
  102. class MongoBZYData(models.Model):
  103. # 孢子仪
  104. id = models.AutoField(primary_key=True)
  105. device_id = models.CharField(u'设备自增id', max_length=32, default="") # 设备id
  106. device_data = models.TextField(u'具体历史状态数据',default='') # 具体历史状态数据
  107. addtime = models.IntegerField(default=0) # 新增时间
  108. class Meta:
  109. db_table = "sa_device_bzy_data"
  110. class MongoXCTData(models.Model):
  111. # 吸虫塔设备数据
  112. id = models.AutoField(primary_key=True)
  113. device_id = models.CharField(u'设备自增id', max_length=32, default="") # 设备id
  114. device_data = models.TextField(u'具体历史状态数据',default='') # 具体历史状态数据
  115. addtime = models.IntegerField(default=0) # 新增时间
  116. class Meta:
  117. db_table = "sa_device_xct_data"
  118. class MongoXYThreeData(models.Model):
  119. # 性诱3
  120. id = models.AutoField(primary_key=True)
  121. device_id = models.CharField(u'设备自增id', max_length=32, default="") # 设备id
  122. device_data = models.TextField(u'具体历史状态数据',default='') # 具体历史状态数据
  123. addtime = models.IntegerField(default=0) # 新增时间
  124. class Meta:
  125. db_table = "sa_device_xy_three_data"
  126. class MongoDevicePest(models.Model):
  127. # 设备图片害虫种类表
  128. id = models.AutoField(primary_key=True)
  129. user = models.CharField(verbose_name=u'害虫所属用户',max_length=50, blank=True, null=True)
  130. pest_add_time = models.IntegerField(default=0) #添加时间
  131. pest_name = models.CharField(u'害虫名称', max_length=50)
  132. class Meta:
  133. db_table = "sa_device_pest"
  134. # 设备照片描述
  135. class MongoDevice_Desc(models.Model):
  136. id = models.AutoField(primary_key=True)
  137. device_id = models.CharField(u'对应的设备id', max_length=50, blank=True, null=True)
  138. photo_id = models.CharField(blank=True, null=True, verbose_name=u'照片ID',max_length=50)
  139. desc_user = models.CharField(verbose_name=u'添加描述的用户', blank=True, null=True,max_length=50)
  140. add_time = models.IntegerField(default=0) #添加时间
  141. # 用户自定义添加:作物名称、病虫害阶段、病虫名称、雌雄、数量
  142. crop_name = models.CharField(u'作物名称', max_length=20,blank=True, null=True)
  143. pest_case = models.CharField(u'虫害情况', max_length=30,blank=True, null=True)
  144. pest_name = models.CharField( blank=True, null=True, verbose_name=u'害虫名称',max_length=50)
  145. # pest_sex = models.TextField(u'害虫雌雄', max_length=10, blank=True, null=True)
  146. pest_num = models.CharField(u'害虫数量', max_length=10, blank=True, null=True)
  147. photo_time = models.IntegerField(default=0) #对应的照片时间
  148. # def __str__(self):
  149. # return self.equip_name
  150. class Meta:
  151. db_table = "sa_device_desc"
  152. # 测报灯害虫预警表
  153. class DevicePestWarning(models.Model):
  154. id = models.AutoField(primary_key=True)
  155. device_id = models.CharField(u"设备id",max_length=50, default='')
  156. warning_content = models.TextField(u"预警内容",default='')
  157. warning_status = models.CharField(u"预警类型",max_length=10,default=0) # 1目标种类预警 2、指定害虫数量预警 3 害虫数量总和预警 4综合预警
  158. upltime = models.IntegerField(u"预警时间",default=0)
  159. status = models.IntegerField(u"是否已读",default=0) # 0未读 1已读
  160. class Meta:
  161. db_table = "sa_device_pest_warning"