diff --git a/apps/em/migrations/0018_alter_equipment_mgroup.py b/apps/em/migrations/0018_alter_equipment_mgroup.py new file mode 100644 index 00000000..8425af27 --- /dev/null +++ b/apps/em/migrations/0018_alter_equipment_mgroup.py @@ -0,0 +1,20 @@ +# Generated by Django 3.2.12 on 2024-04-29 02:13 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('mtm', '0027_auto_20240429_1013'), + ('em', '0017_auto_20240419_1301'), + ] + + operations = [ + migrations.AlterField( + model_name='equipment', + name='mgroup', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='equip_mgroup', to='mtm.mgroup'), + ), + ] diff --git a/apps/em/models.py b/apps/em/models.py index 13c85e84..62f451db 100644 --- a/apps/em/models.py +++ b/apps/em/models.py @@ -70,7 +70,7 @@ class Equipment(CommonBModel): port = models.PositiveSmallIntegerField("端口号", null=True, blank=True) login_name = models.CharField("登录名", max_length=100, null=True, blank=True) login_pwd = models.CharField("登录密码", max_length=100, null=True, blank=True) - mgroup = models.ForeignKey("mtm.mgroup", on_delete=models.SET_NULL, null=True, blank=True) + mgroup = models.ForeignKey("mtm.mgroup", on_delete=models.SET_NULL, null=True, blank=True, related_name="equip_mgroup") indicate_mgroup_running = models.PositiveSmallIntegerField("表明工段运行的方式", choices=IM_CHOICES, null=True, blank=True) type = models.PositiveSmallIntegerField("类型", choices=etype_choices, default=10) cate = models.ForeignKey(Ecate, verbose_name="设备分类", on_delete=models.SET_NULL, null=True, blank=True, related_name="cate") diff --git a/apps/em/tasks.py b/apps/em/tasks.py index 35aec540..ae93e8ce 100644 --- a/apps/em/tasks.py +++ b/apps/em/tasks.py @@ -5,14 +5,16 @@ from celery import shared_task from django.utils.timezone import localtime from apps.em.models import Equipment from apps.em.services import set_eq_rs, get_eq_rs +from apps.mtm.models import Mgroup @shared_task(base=CustomTask) def check_equipment_offline(seconds=30): - """监测设备是否掉线(根据测点采集) + """监测设备是否掉线(根据测点采集)及工段是否运行 监测设备是否掉线 """ + Mgroup.objects.filter(equip_mgroup__isnull=True).update(is_running=False) equips = Equipment.objects.filter(mp_ep_monitored__is_rep_ep_running_state=True, mp_ep_monitored__enabled=True) now = localtime() for equip in equips: diff --git a/apps/mtm/models.py b/apps/mtm/models.py index 3d0af08c..c2f0912e 100644 --- a/apps/mtm/models.py +++ b/apps/mtm/models.py @@ -115,7 +115,7 @@ class Mgroup(CommonBModel): '检测材料', default=list, blank=True, help_text='material的ID列表') sort = models.PositiveSmallIntegerField('排序', default=1) need_enm = models.BooleanField('是否进行能源监测', default=True) - is_runing = models.BooleanField('是否正常运行', default=True) + is_running = models.BooleanField('是否正常运行', default=False) class Meta: verbose_name = '测点集'