feat: em/filter apps 修改设备字段信息
This commit is contained in:
parent
1010a6b86f
commit
9db524dfdb
|
@ -2,6 +2,7 @@ from django_filters import rest_framework as filters
|
|||
from apps.em.models import Equipment
|
||||
from datetime import datetime, timedelta
|
||||
from apps.utils.filters import MyJsonListFilter
|
||||
from django.db.models import F
|
||||
|
||||
|
||||
class EquipFilterSet(filters.FilterSet):
|
||||
|
@ -23,17 +24,17 @@ class EquipFilterSet(filters.FilterSet):
|
|||
"cate__code": ['exact', 'in', 'contains'],
|
||||
"cate__is_for_safe": ['exact'],
|
||||
"cate__is_for_enp": ['exact'],
|
||||
"cate__is_car": ['exact'],
|
||||
"is_deleted": ['exact']
|
||||
"cate__is_car": ['exact']
|
||||
}
|
||||
|
||||
def filter_tag(self, queryset, name, value):
|
||||
now = datetime.now()
|
||||
day7_after = now + timedelta(days=7)
|
||||
if value == 'near_check':
|
||||
queryset = queryset.filter(
|
||||
next_check_date__lt=datetime.date(day7_after), next_check_date__gte=datetime.date(now))
|
||||
next_check_date__lt=datetime.date(now + timedelta(days=F('remind_day_number'))), next_check_date__gte=datetime.date(now))
|
||||
elif value == 'out_check':
|
||||
queryset = queryset.filter(
|
||||
next_check_date__lte=datetime.date(now))
|
||||
next_check_date__lte=datetime.date(now))
|
||||
return queryset
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
# Generated by Django 3.2.12 on 2024-11-25 10:12
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('em', '0018_alter_equipment_mgroup'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='equipment',
|
||||
name='importance',
|
||||
field=models.PositiveSmallIntegerField(choices=[(10, 'A'), (20, 'B'), (30, 'C')], default=10, verbose_name='重要程度'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='equipment',
|
||||
name='power_kw',
|
||||
field=models.FloatField(blank=True, null=True, verbose_name='功率'),
|
||||
),
|
||||
]
|
|
@ -80,6 +80,7 @@ class Equipment(CommonBModel):
|
|||
model = models.CharField("规格型号", max_length=60, default="", blank=True)
|
||||
factory = models.CharField("生产厂", max_length=50, default="", blank=True)
|
||||
production_date = models.DateField("生产日期", null=True, blank=True)
|
||||
importance = models.PositiveSmallIntegerField("重要程度", default=10, choices=((10, "A"), (20, "B"), (30, "C")))
|
||||
buy_date = models.DateField("购置日期", null=True, blank=True)
|
||||
state = models.PositiveIntegerField("设备状态", choices=state_choices, default=EQUIP_STATE_OK)
|
||||
parameter = models.TextField("技术参数", default="", blank=True)
|
||||
|
@ -102,7 +103,7 @@ class Equipment(CommonBModel):
|
|||
cycle = models.PositiveSmallIntegerField("校准或检定周期(月)", null=True, blank=True)
|
||||
check_date = models.DateField("最近校准检查日期", blank=True, null=True)
|
||||
next_check_date = models.DateField("预计下次校准检查日期", blank=True, null=True)
|
||||
power_kw = models.PositiveSmallIntegerField("功率", null=True, blank=True)
|
||||
power_kw = models.FloatField("功率", null=True, blank=True)
|
||||
|
||||
coordinates = models.JSONField("坐标", default=dict, blank=True)
|
||||
|
||||
|
|
|
@ -848,7 +848,11 @@ def cal_enstat_pcoal_change(enstat: EnStat, new_pcoal_heat):
|
|||
next_enstat.save(update_fields=["cen_consume_unit"])
|
||||
|
||||
|
||||
enm_alarms_list = [["回转窑", "celec_consume_unit", "单位产品综合电耗"], ["回转窑", "coal_consume_unit", "单位产品标煤耗"], ["水泥磨", "elec_consume_unit", "单位产品分布电耗"]]
|
||||
enm_alarms_list = [
|
||||
["回转窑", "celec_consume_unit", "单位产品综合电耗"],
|
||||
["回转窑", "coal_consume_unit", "单位产品标煤耗"],
|
||||
["水泥磨", "elec_consume_unit", "单位产品分布电耗"]
|
||||
]
|
||||
|
||||
|
||||
@shared_task(base=CustomTask)
|
||||
|
@ -869,6 +873,7 @@ def enm_alarm(year_s: int, month_s: int, day_s: int):
|
|||
if enstat:
|
||||
mgroup_name = item[0]
|
||||
goal_cate_str = item[1]
|
||||
goal_cate_str_chin = item[2]
|
||||
real_val = getattr(enstat, goal_cate_str, None)
|
||||
goal = Goal.objects.filter(goal_cate__code=goal_cate_str, year=year_s, mgroup=mgroup).first()
|
||||
if goal:
|
||||
|
@ -882,6 +887,7 @@ def enm_alarm(year_s: int, month_s: int, day_s: int):
|
|||
"mgroup": mgroup.id,
|
||||
"mgroup_name": mgroup.name,
|
||||
"type": f"{goal_cate_str}.exceed",
|
||||
"type_chin": f"{goal_cate_str_chin}-超过设定目标值",
|
||||
"year_s": year_s,
|
||||
"month_s": month_s,
|
||||
"day_s": day_s,
|
||||
|
|
|
@ -41,10 +41,8 @@ class SfLog(CommonADModel):
|
|||
"""
|
||||
返回值班记录所属年月日
|
||||
"""
|
||||
end_time_local = localtime(self.end_time)
|
||||
if end_time_local.hour == 0 and end_time_local.minute == 0 and end_time_local.second == 0: # 如果结束时间为00:00:00
|
||||
end_time_local = localtime(self.start_time)
|
||||
return end_time_local.year, end_time_local.month, end_time_local.day
|
||||
start_time_local = localtime(self.start_time)
|
||||
return start_time_local.year, start_time_local.month, start_time_local.day
|
||||
|
||||
|
||||
class StLog(CommonADModel):
|
||||
|
|
Loading…
Reference in New Issue