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":