from django.db import models from apps.utils.models import CommonBModel, BaseModel from apps.mtm.models import Mgroup from apps.em.models import Equipment # Create your models here. class Drain(CommonBModel): DR_TYPE_CHOICES = ( (10, '排放口'), (20, '污染源'), ) DR_LEVLE_CHOICES = ( (10, '主要排放口'), (20, '次要排放口') ) DR_CATE_MTRAN = 'mtrans' DR_CATE_PRODUCT = 'product' DR_CATE_MSTORE = 'mstore' DR_CATE_CHOICES = ( (DR_CATE_PRODUCT, '生产工艺'), (DR_CATE_MTRAN, '物料输送'), (DR_CATE_MSTORE, '物料储存'), ) type = models.PositiveSmallIntegerField( '类型', choices=DR_TYPE_CHOICES, help_text=str(DR_TYPE_CHOICES)) number = models.CharField('编号', max_length=20) name = models.CharField('名称', max_length=20) level = models.PositiveSmallIntegerField( '排口等级', default=20, choices=DR_LEVLE_CHOICES, help_text=str(DR_LEVLE_CHOICES)) cate = models.CharField('分类', max_length=10, choices=DR_CATE_CHOICES, null=True, blank=True) height = models.PositiveSmallIntegerField('排气筒高度', default=0) treatment_capacity = models.CharField('处理量', max_length=20, default='') pm_limit = models.FloatField('PM超低排放限值', default=10, help_text='单位:mg/m³') measure = models.CharField('治理措施', max_length=20, default='') # {"x": 1.0, "y": 2.0, "z": 3.0} coordinates = models.JSONField('坐标', default=dict, null=True) mgroup = models.ForeignKey( Mgroup, verbose_name='所属工段', on_delete=models.CASCADE) class DrainEquip(BaseModel): """ 排口/设备关系表 """ drain = models.ForeignKey( Drain, verbose_name='排口', on_delete=models.CASCADE) equipment = models.ForeignKey( Equipment, verbose_name='关联设备', on_delete=models.CASCADE) params_list = models.JSONField('监测参数列表', default=list, null=True)