From bec660008951fd666743af953971cfd82f5aba6b Mon Sep 17 00:00:00 2001 From: zty Date: Tue, 21 Jan 2025 09:24:58 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20enm/model=20=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=A2=B3=E6=8E=92=E6=94=BE=E5=BC=BA=E5=BA=A6=20=E5=92=8C=20?= =?UTF-8?q?=E7=A2=B3=E6=8E=92=E6=94=BE=E9=87=8F=E5=AD=97=E6=AE=B5=E4=B8=8E?= =?UTF-8?q?=20task=20=E8=AE=A1=E7=AE=97=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../enm/migrations/0055_auto_20250120_1318.py | 23 +++++++++++++++++++ apps/enm/models.py | 2 ++ apps/enm/tasks.py | 6 +++++ 3 files changed, 31 insertions(+) create mode 100644 apps/enm/migrations/0055_auto_20250120_1318.py diff --git a/apps/enm/migrations/0055_auto_20250120_1318.py b/apps/enm/migrations/0055_auto_20250120_1318.py new file mode 100644 index 00000000..0186a374 --- /dev/null +++ b/apps/enm/migrations/0055_auto_20250120_1318.py @@ -0,0 +1,23 @@ +# Generated by Django 3.2.12 on 2025-01-20 05:18 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('enm', '0054_mpoint_up_down'), + ] + + operations = [ + migrations.AddField( + model_name='enstat', + name='carbon_emission', + field=models.FloatField(default=0, help_text='t', verbose_name='碳排放'), + ), + migrations.AddField( + model_name='enstat', + name='carbon_emission_unit', + field=models.FloatField(default=0, help_text='t/t', verbose_name='碳排放强度'), + ), + ] diff --git a/apps/enm/models.py b/apps/enm/models.py index d091df5f..ddc58346 100644 --- a/apps/enm/models.py +++ b/apps/enm/models.py @@ -165,6 +165,8 @@ class EnStat(BaseModel): shut_sec = models.PositiveIntegerField("停机时长", default=0, help_text="s") run_rate = models.FloatField("运转率", default=0, help_text="%") ammonia_consume = models.FloatField("氨水消耗", default=0, help_text="t") + carbon_emission = models.FloatField("碳排放", default=0, help_text="t") + carbon_emission_unit = models.FloatField("碳排放强度", default=0, help_text="t/t") note = models.TextField("备注", default="", blank=True) diff --git a/apps/enm/tasks.py b/apps/enm/tasks.py index d1ab7eae..1634ebfb 100644 --- a/apps/enm/tasks.py +++ b/apps/enm/tasks.py @@ -564,6 +564,12 @@ def cal_enstat(type, sflogId, mgroupId, year, month, day, hour, year_s, month_s, enstat.elec_consume_unit = enstat.elec_consume / enstat.total_production except ZeroDivisionError: enstat.elec_consume_unit = 0 + elif material.code == "carbon": + enstat.carbon_emission = amount_consume + try: + enstat.carbon_emission_unit = enstat.carbon_emission / enstat.total_production + except ZeroDivisionError: + enstat.carbon_emission_unit = 0 elif material.code == "water": enstat.water_consume = amount_consume elif material.code == "pcoal":