from django.db import models from apps.utils.models import CommonBDModel, BaseModel, CommonADModel, CommonAModel, CommonBModel class Product(CommonAModel): """ 产品 """ name = models.CharField('名称', max_length=50) code = models.CharField('编号', max_length=50, null=True, blank=True) class Meta: verbose_name = '产品' class Shift(CommonAModel): """班次 """ name = models.CharField('名称', max_length=50) start_time_o = models.TimeField('开始时间') end_time_o = models.TimeField('结束时间') class Meta: verbose_name = '班次' class Mgroup(CommonBDModel): """测点集 """ name = models.CharField('名称', max_length=50) class Meta: verbose_name = '测点集' class Team(CommonBModel): """班组 """ name = models.CharField('名称', max_length=50) leader = models.ForeignKey('system.user', verbose_name='班长', on_delete=models.CASCADE) class Mpoint(CommonBDModel): """测点 """ name = models.CharField('测点名称', max_length=50) code = models.CharField('测点编号', max_length=50) unit = models.CharField('单位', max_length=50) ep_monitored = models.ForeignKey('em.equipment', verbose_name='监测哪个设备', related_name='mp_ep_monitored', on_delete=models.SET_NULL, null=True, blank=True) ep_belong = models.ForeignKey('em.equipment', verbose_name='属于哪个设备', related_name='mp_ep_belong', on_delete=models.SET_NULL, null=True, blank=True) mgroup = models.ForeignKey('enm.mgroup', verbose_name='所在集合', on_delete=models.SET_NULL, null=True, blank=True) class Mrecord(BaseModel): """测点原始记录 """ mpoint = models.ForeignKey(Mpoint, verbose_name='关联测点', on_delete=models.SET_NULL, null=True, blank=True) tag_id = models.BigIntegerField('记录ID') tag_code = models.CharField('测点编号', max_length=50) tag_update = models.DateTimeField('更新时间') tag_val = models.FloatField('当前值') class Drecord(CommonADModel): """值班记录 """ team = models.ForeignKey(Team, verbose_name='班组', on_delete=models.CASCADE) shit = models.ForeignKey(Shift, verbose_name='当班班次', on_delete=models.CASCADE) leader = models.ForeignKey('system.user', verbose_name='班长', on_delete=models.CASCADE) start_time = models.DateTimeField('值班开始') end_time = models.DateTimeField('值班结束')