from django.db import models class MongoDevice(models.Model): # objects = models.DjongoManager() id = models.AutoField(primary_key=True) # 自增id device_id = models.CharField(u'设备本身id', max_length=50, unique=True) # 设备id dver_num = models.CharField(u'设备固件版本号', max_length=50, default='') # 设备固件版本号 device_model = models.PositiveIntegerField(default=0) # 设备型号 1 2 3 型号特指性诱设备 device_type_id = models.PositiveIntegerField(u'设备类型id', default=0) # 设备类型id device_name = models.CharField(u'设备名称', max_length=50, default='') # 设备名称 owner_uid = models.PositiveIntegerField(u'负责人uid', default=0) # 负责人uid user_dealer = models.PositiveIntegerField(u'负责人uid', default=0) # 经销商id province = models.CharField(u'设备归属 省', max_length=50, default='') # 设备归属 省 city = models.CharField(u'设备归属 市', max_length=50, default='') # 设备归属 市 district = models.CharField(u'设备归属 县', max_length=50, default='') # 设备归属 县 # 设备编码,用于区分性诱1型、2型设备类型、测报灯设备类型1(1.0转盘) 11(1.0高空) 4(4.0水稻) 5(5.0测报灯) 6(吸虫塔) device_code = models.PositiveIntegerField(u'设备编码 当设备为性诱设备的时候必须存在', default=0) device_status = models.PositiveIntegerField(u'设备状态 1在线 0离线', default=1) # 设备状态 1在线 0离线 off_time = models.PositiveIntegerField(u'设备离线时间', default=0) # 设备离线时间 ftp_push_addr = models.CharField(u'设备推送图片地址', max_length=50, default='') # 设备推送图片地址 serverconf = models.TextField(u'服务器配置', default='') # 服务器配置 lng = models.CharField(u'经度', max_length=50, default='') # 经度 lat = models.CharField(u'纬度', max_length=50, default='') # 纬度 gps = models.PositiveIntegerField(u'纬度', default=2) # 0-手动,1-GPS,2-基站 addtime = models.IntegerField(default=0) # 设备添加时间 uptime = models.IntegerField(default=0) # 设备修改时间 glass_slide_time = models.IntegerField(default=0) # 载玻片更换时间 cultivate_time = models.IntegerField(default=0) # 培养液更换时间 add_position = models.PositiveIntegerField(u'是否手动添加位置', default=0) # 0未添加 1已添加 simid = models.CharField(u'海康流量卡', max_length=50, default='') # 海康4G SIM卡,宁录性诱sim disable = models.PositiveIntegerField(u'禁用识别统计', default=0) # 0 禁用(不带识别) 1识别 2计数 decoy = models.CharField(u'性诱设备诱芯', max_length=50, default='') # 性诱设备诱芯 sim_dealer = models.CharField(u'SIM经销商', max_length=50, default=0) # 0为 以前的,1企鹏 2 宁录 xy_uptime = models.IntegerField(default=0) # 诱芯更换时间 networking = models.CharField(u'联网方式', max_length=10, default=0) # 联网方式 0GPRS 1宽带 2其他 equipment = models.CharField(u'设备状态', max_length=10, default=0) # 设备状态 0生产 1发货 2安装、3返修、4更换设备号、5报废、6对接 sale_uid = models.IntegerField('销售用户uid', default=0) salesman_task_number = models.CharField(u'销售用户#任务单号', max_length=20, default=0) # 任务单号 whether_equipment_status = models.CharField(u'是否更新设备状态', max_length=10, default=0) # 设备状态 0未更新,1已更新 device_expire_time = models.IntegerField(default=0) # 设备到期时间 device_activation = models.IntegerField(default=0) # 设备激活时间 device_expire = models.CharField(u'设备是否到期', max_length=10, default=0) # 设备状态 0未到期,1已到期,2即将到期 device_expire_days = models.CharField(u'设备到期天数', max_length=10, default=0) # 设备到期天数 water_pump_switch = models.CharField(u'水泵开关', max_length=10, default=0) # 此字段针对康亚杰定制灌溉设备 device_notes = models.CharField(u'设备备注', max_length=20, blank=True, null=True, default=0) # 此字段针对康亚杰定制灌溉设备、水肥设备 water_pump_times = models.CharField(u'水泵控制时间', max_length=10, default=0) # 此字段针对康亚杰定制灌溉设备 water_pump_switch_times = models.CharField(u'下发水泵开关的时间', max_length=10, default=0) # 此字段针对康亚杰定制灌溉设备 xy_expire_time = models.IntegerField(default=0) # 诱芯到期时间 device_tag = models.IntegerField("标签", default=0) jk_live_img = models.TextField(u'监控封面图片',default='') # 监控封面图片 class Meta: db_table = "sa_device" class MongoDeviceType(models.Model): id = models.AutoField(primary_key=True) # 设备类型id type_name = models.CharField(u'设备类型名称 ',max_length=50,default='') # 设备类型名称 2杀虫灯,3测报灯,4智能性诱,5气象站,6监控设备,7孢子仪,8性诱设备 img_url = models.TextField(u'设备类型图片url地址', default="") addtime = models.IntegerField(default=0) # 设备类型添加时间 uptime = models.IntegerField(default=0) # 设备类型修改时间 class Meta: db_table = "sa_device_type" class MongoDeviceConfig(models.Model): id = models.AutoField(primary_key=True) d_id = models.PositiveIntegerField(u'设备自增id',default=0) # 设备id 设备自增id和cmd 复合索引 device_config = models.TextField(u'设备配置',default='') # 设备配置 cmd = models.CharField(u'配置属性',max_length=50) # 设备id addtime = models.IntegerField(default=0) # 新增时间 uptime = models.IntegerField(default=0) # 修改时间 class Meta: db_table = "sa_device_config" unique_together = (('d_id', 'cmd'),) class MongoSCDData(models.Model): #杀虫灯历史数据表 id = models.AutoField(primary_key=True) device_id = models.CharField(u'设备自增id', max_length=32, default="") # 设备id device_data = models.TextField(u'具体历史状态数据',default='') # 具体历史状态数据 addtime = models.IntegerField(default=0) # 新增时间 device_status = models.CharField(u'四情数据区分',max_length=10,default=1) # data\status 1 class Meta: db_table = "sa_device_scd_data" class MongoCBDData(models.Model): #测报灯 id = models.AutoField(primary_key=True) device_id = models.CharField(u'设备自增id', max_length=32, default="") # 设备id device_data = models.TextField(u'具体历史状态数据',default='') # 具体历史状态数据 addtime = models.IntegerField(default=0) # 新增时间 class Meta: db_table = "sa_device_cbd_data" class MongoXYCBData(models.Model): #自己的性诱测报灯 id = models.AutoField(primary_key=True) device_id = models.CharField(u'设备自增id', max_length=32, default="") # 设备id device_data = models.TextField(u'具体历史状态数据',default='') # 具体历史状态数据 addtime = models.IntegerField(default=0) # 新增时间 class Meta: db_table = "sa_device_xycb_data" class MongoSYCBData(models.Model): # 色诱测报灯 id = models.AutoField(primary_key=True) device_id = models.CharField(u'设备自增id', max_length=32, default="") # 设备id device_data = models.TextField(u'具体历史状态数据',default='') # 具体历史状态数据 addtime = models.IntegerField(default=0) # 新增时间 class Meta: db_table = "sa_device_sycb_data" class MongoBZYData(models.Model): # 孢子仪 id = models.AutoField(primary_key=True) device_id = models.CharField(u'设备自增id', max_length=32, default="") # 设备id device_data = models.TextField(u'具体历史状态数据',default='') # 具体历史状态数据 addtime = models.IntegerField(default=0) # 新增时间 class Meta: db_table = "sa_device_bzy_data" class MongoXCTData(models.Model): # 吸虫塔设备数据 id = models.AutoField(primary_key=True) device_id = models.CharField(u'设备自增id', max_length=32, default="") # 设备id device_data = models.TextField(u'具体历史状态数据',default='') # 具体历史状态数据 addtime = models.IntegerField(default=0) # 新增时间 class Meta: db_table = "sa_device_xct_data" class MongoXYThreeData(models.Model): # 性诱3 id = models.AutoField(primary_key=True) device_id = models.CharField(u'设备自增id', max_length=32, default="") # 设备id device_data = models.TextField(u'具体历史状态数据',default='') # 具体历史状态数据 addtime = models.IntegerField(default=0) # 新增时间 class Meta: db_table = "sa_device_xy_three_data" class MongoDevicePest(models.Model): # 设备图片害虫种类表 id = models.AutoField(primary_key=True) user = models.CharField(verbose_name=u'害虫所属用户',max_length=50, blank=True, null=True) pest_add_time = models.IntegerField(default=0) #添加时间 pest_name = models.CharField(u'害虫名称', max_length=50) class Meta: db_table = "sa_device_pest" # 设备照片描述 class MongoDevice_Desc(models.Model): id = models.AutoField(primary_key=True) device_id = models.CharField(u'对应的设备id', max_length=50, blank=True, null=True) photo_id = models.CharField(blank=True, null=True, verbose_name=u'照片ID',max_length=50) desc_user = models.CharField(verbose_name=u'添加描述的用户', blank=True, null=True,max_length=50) add_time = models.IntegerField(default=0) #添加时间 # 用户自定义添加:作物名称、病虫害阶段、病虫名称、雌雄、数量 crop_name = models.CharField(u'作物名称', max_length=20,blank=True, null=True) pest_case = models.CharField(u'虫害情况', max_length=30,blank=True, null=True) pest_name = models.CharField( blank=True, null=True, verbose_name=u'害虫名称',max_length=50) # pest_sex = models.TextField(u'害虫雌雄', max_length=10, blank=True, null=True) pest_num = models.CharField(u'害虫数量', max_length=10, blank=True, null=True) photo_time = models.IntegerField(default=0) #对应的照片时间 # def __str__(self): # return self.equip_name class Meta: db_table = "sa_device_desc" # 测报灯害虫预警表 class DevicePestWarning(models.Model): id = models.AutoField(primary_key=True) device_id = models.CharField(u"设备id",max_length=50, default='') warning_content = models.TextField(u"预警内容",default='') warning_status = models.CharField(u"预警类型",max_length=10,default=0) # 1目标种类预警 2、指定害虫数量预警 3 害虫数量总和预警 4综合预警 upltime = models.IntegerField(u"预警时间",default=0) status = models.IntegerField(u"是否已读",default=0) # 0未读 1已读 class Meta: db_table = "sa_device_pest_warning"