feat: enm models初步设计

This commit is contained in:
caoqianming 2023-06-07 13:48:00 +08:00
parent d10b68c2b2
commit 9d9e670240
2 changed files with 45 additions and 4 deletions

View File

@ -1,9 +1,11 @@
from apps.utils.serializers import CustomModelSerializer
from apps.em.models import Equipment
from apps.system.models import Dept
from apps.utils.constants import EXCLUDE_FIELDS, EXCLUDE_FIELDS_BASE
from rest_framework import serializers
class EquipmentSerializer(CustomModelSerializer):
belong_dept = serializers.PrimaryKeyRelatedField(label='责任部门', queryset = Dept.objects.all())
keeper_name = serializers.CharField(source='keeper.name')
belong_dept_name = serializers.CharField(source='belong_dept.name')
class Meta:

View File

@ -1,11 +1,50 @@
from django.db import models
from apps.utils.models import CommonBDModel
from apps.utils.models import CommonBDModel, BaseModel
class Mgroup(CommonBDModel):
"""测点集
"""
name = models.CharField('名称', max_length=50)
class Team(CommonBDModel):
"""班组
"""
name = models.CharField('名称', max_length=50)
members = models.ManyToManyField('system.user', verbose_name='关联成员', through='enm.teammember')
class TeamMember(BaseModel):
"""班组成员
"""
team = models.ForeignKey('enm.team', verbose_name='关联班组', on_delete=models.CASCADE)
is_main = models.BooleanField('是否班长', default=False)
member = models.ForeignKey('system.user', verbose_name='关联用户', on_delete=models.CASCADE)
# Create your models here.
class Mpoint(CommonBDModel):
"""测点
"""
equipment = models.ForeignKey('em.equipment', verbose_name='关联设备', on_delete=models.SET_NULL, null=True, blank=True)
name = models.CharField('测点名称', max_length=50)
code = models.CharField('测点编号', max_length=50)
unit = 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(BaseModel):
"""值班记录
"""
team = models.ForeignKey(Team, verbose_name='班组', on_delete=models.CASCADE)