diff --git a/enp/migrations/0011_facilities.py b/enp/migrations/0011_facilities.py new file mode 100644 index 00000000..b45966d3 --- /dev/null +++ b/enp/migrations/0011_facilities.py @@ -0,0 +1,54 @@ +# Generated by Django 2.2.8 on 2022-03-07 10:52 + +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone + + +class Migration(migrations.Migration): + + dependencies = [ + ('safesite', '0396_auto_20220304_1648'), + ('enp', '0010_gasemit'), + ] + + operations = [ + migrations.CreateModel( + name='Facilities', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')), + ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), + ('name', models.CharField(max_length=100, verbose_name='生产设施设备名称')), + ('number', models.CharField(max_length=100, verbose_name='编码')), + ('type', models.CharField(max_length=100, verbose_name='生产设施型号')), + ('cs_name', models.CharField(max_length=100, verbose_name='设备参数名')), + ('desig_nnumber', models.FloatField(max_length=100, verbose_name='设备设计值')), + ('actual_number', models.FloatField(blank=True, max_length=100, null=True, verbose_name='设备实际值')), + ('em_unit', models.CharField(max_length=50, verbose_name='设备单位')), + ('ability', models.CharField(max_length=200, verbose_name='生产能力')), + ('al_unit', models.CharField(max_length=50, verbose_name='生产能力单位')), + ('start_time', models.DateTimeField(verbose_name='运行开始时间')), + ('end_time', models.DateTimeField(verbose_name='运行结束时间')), + ('pdc_Load', models.CharField(max_length=200, verbose_name='生产负荷')), + ('zj_product', models.CharField(blank=True, max_length=200, null=True, verbose_name='中间产品')), + ('zj_unit', models.CharField(blank=True, max_length=50, null=True, verbose_name='中间产品单位')), + ('zz_product', models.CharField(max_length=200, verbose_name='最终产品')), + ('zz_unit', models.CharField(max_length=50, verbose_name='最终产品单位')), + ('material_name', models.CharField(max_length=200, verbose_name='原辅料名称')), + ('material_type', models.CharField(max_length=200, verbose_name='原辅料种类')), + ('material_unit', models.CharField(max_length=50, verbose_name='原辅料单位')), + ('material_count', models.CharField(max_length=200, verbose_name='原辅料用量')), + ('material_composition', models.CharField(max_length=50, verbose_name='有害有毒元素成分')), + ('material_account', models.CharField(max_length=200, verbose_name='有害有毒元素占比')), + ('material_address', models.CharField(max_length=50, verbose_name='原料来源地')), + ('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='facilities_create_by', to='safesite.User', verbose_name='创建人')), + ('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='facilities_update_by', to='safesite.User', verbose_name='最后编辑人')), + ('usecomp', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='safesite.Partment', verbose_name='所属公司')), + ], + options={ + 'abstract': False, + }, + ), + ] diff --git a/enp/migrations/0012_abnormal_detection_fuel_prevention_waterequipment.py b/enp/migrations/0012_abnormal_detection_fuel_prevention_waterequipment.py new file mode 100644 index 00000000..590225f0 --- /dev/null +++ b/enp/migrations/0012_abnormal_detection_fuel_prevention_waterequipment.py @@ -0,0 +1,158 @@ +# Generated by Django 2.2.8 on 2022-05-12 10:24 + +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone + + +class Migration(migrations.Migration): + + dependencies = [ + ('safesite', '0396_auto_20220304_1648'), + ('enp', '0011_facilities'), + ] + + operations = [ + migrations.CreateModel( + name='Waterequipment', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')), + ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), + ('number', models.CharField(max_length=100, verbose_name='排放口编号')), + ('type', models.CharField(max_length=100, verbose_name='污染物种类')), + ('methods', models.CharField(max_length=300, verbose_name='监测采样方法及个数')), + ('count', models.IntegerField(max_length=100, verbose_name='监测次数')), + ('identification', models.CharField(max_length=200, verbose_name='鉴定方法')), + ('jcyqmodel', models.CharField(max_length=100, verbose_name='监测仪器型号')), + ('note', models.CharField(max_length=500, verbose_name='备注')), + ('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='waterequipment_create_by', to='safesite.User', verbose_name='创建人')), + ('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='waterequipment_update_by', to='safesite.User', verbose_name='最后编辑人')), + ('usecomp', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='safesite.Partment', verbose_name='所属公司')), + ], + options={ + 'abstract': False, + }, + ), + migrations.CreateModel( + name='Prevention', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')), + ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), + ('name', models.CharField(max_length=100, verbose_name='防治设施名称')), + ('number', models.CharField(max_length=100, verbose_name='编码')), + ('type', models.CharField(max_length=100, verbose_name='防治设施型号')), + ('cs_name', models.CharField(max_length=100, verbose_name='参数名')), + ('desig_nnumber', models.FloatField(max_length=100, verbose_name='设计值')), + ('em_unit', models.CharField(max_length=50, verbose_name='单位')), + ('start_time', models.DateTimeField(verbose_name='运行开始时间')), + ('end_time', models.DateTimeField(verbose_name='运行结束时间')), + ('state', models.CharField(max_length=100, verbose_name='运行状态')), + ('pfyql', models.FloatField(max_length=200, verbose_name='排放烟气量(m3/h)')), + ('wryz', models.CharField(max_length=100, verbose_name='污染因子')), + ('zlxl', models.FloatField(max_length=200, verbose_name='治理效率')), + ('sjly', models.CharField(max_length=100, verbose_name='数据来源')), + ('pqtgd', models.FloatField(max_length=200, verbose_name='排气筒高度m')), + ('pkwd', models.FloatField(max_length=200, verbose_name='排口温度℃')), + ('yl', models.FloatField(max_length=100, verbose_name='压力kPa')), + ('pfsj', models.FloatField(max_length=100, verbose_name='排放时间h')), + ('hdl', models.FloatField(max_length=100, verbose_name='耗电率kWh')), + ('fcpname', models.CharField(max_length=100, verbose_name='副产品名称')), + ('fcwcl', models.FloatField(max_length=100, verbose_name='副产物产生量t')), + ('yjname', models.CharField(max_length=100, verbose_name='药剂名称')), + ('tjtime', models.DateTimeField(verbose_name='添加时间')), + ('tjl', models.FloatField(max_length=100, verbose_name='添加量')), + ('ckll', models.FloatField(max_length=100, verbose_name='出口流量')), + ('pqfx', models.CharField(max_length=50, verbose_name='排放去向')), + ('wncsl', models.CharField(max_length=50, verbose_name='污泥产生量')), + ('clfs', models.CharField(max_length=100, verbose_name='处理方式')), + ('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='prevention_create_by', to='safesite.User', verbose_name='创建人')), + ('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='prevention_update_by', to='safesite.User', verbose_name='最后编辑人')), + ('usecomp', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='safesite.Partment', verbose_name='所属公司')), + ], + options={ + 'abstract': False, + }, + ), + migrations.CreateModel( + name='Fuel', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')), + ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), + ('name', models.CharField(max_length=100, verbose_name='燃料名称')), + ('count', models.CharField(max_length=100, verbose_name='用量')), + ('dwcount', models.CharField(max_length=100, verbose_name='低位热值')), + ('unit', models.FloatField(max_length=200, verbose_name='单位')), + ('rmhll', models.FloatField(max_length=200, verbose_name='燃煤含硫量(%)')), + ('rmhff', models.FloatField(max_length=200, verbose_name='燃煤挥发分(%)')), + ('rmqt', models.CharField(max_length=100, verbose_name='燃煤其他')), + ('ryhll', models.FloatField(max_length=200, verbose_name='燃油含硫量(%)')), + ('ryqt', models.CharField(max_length=100, verbose_name='燃油其他')), + ('rqlhqhl', models.FloatField(max_length=200, verbose_name='燃气硫化氢含量(%)')), + ('rqqt', models.CharField(max_length=100, verbose_name='燃气其他')), + ('qtrlxgwzhl', models.CharField(max_length=400, verbose_name='其他燃料相关物质含量')), + ('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='fuel_create_by', to='safesite.User', verbose_name='创建人')), + ('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='fuel_update_by', to='safesite.User', verbose_name='最后编辑人')), + ('usecomp', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='safesite.Partment', verbose_name='所属公司')), + ], + options={ + 'abstract': False, + }, + ), + migrations.CreateModel( + name='Detection', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')), + ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), + ('number', models.CharField(max_length=100, verbose_name='排放口编号')), + ('jcDate', models.DateTimeField(verbose_name='监测日期')), + ('jctime', models.DateTimeField(verbose_name='监测时间')), + ('ckhxxyl', models.FloatField(max_length=200, verbose_name='出口化学需氧量(mg/L)')), + ('ckshxll', models.FloatField(max_length=200, verbose_name='出口生化需氧量(mg/L)')), + ('ckad', models.FloatField(max_length=200, verbose_name='出口氨氮(mg/L)')), + ('ckxfw', models.FloatField(max_length=200, verbose_name='出口悬浮物(mg/L)')), + ('jkhxxyl', models.FloatField(max_length=200, verbose_name='进口化学需氧量(mg/L)')), + ('jkshxll', models.FloatField(max_length=200, verbose_name='进口生化需氧量(mg/L)')), + ('jkad', models.FloatField(max_length=200, verbose_name='进口氨氮(mg/L)')), + ('jkxfw', models.FloatField(max_length=200, verbose_name='进口悬浮物(mg/L)')), + ('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='detection_create_by', to='safesite.User', verbose_name='创建人')), + ('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='detection_update_by', to='safesite.User', verbose_name='最后编辑人')), + ('usecomp', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='safesite.Partment', verbose_name='所属公司')), + ], + options={ + 'abstract': False, + }, + ), + migrations.CreateModel( + name='abnormal', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')), + ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), + ('name', models.CharField(max_length=100, verbose_name='防治设施名称')), + ('number', models.CharField(max_length=100, verbose_name='编码')), + ('start_time', models.DateTimeField(verbose_name='异常情况起始时刻')), + ('end_time', models.DateTimeField(verbose_name='异常情况终止时刻')), + ('type', models.CharField(max_length=100, verbose_name='污染物种类')), + ('pfnd', models.CharField(max_length=100, verbose_name='排放浓度')), + ('pffx', models.FloatField(max_length=200, verbose_name='排放方向')), + ('sjyy', models.CharField(max_length=100, verbose_name='事件原因')), + ('sfbg', models.FloatField(max_length=200, verbose_name='是否报告')), + ('ydcs', models.FloatField(max_length=200, verbose_name='应对措施')), + ('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='abnormal_create_by', to='safesite.User', verbose_name='创建人')), + ('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='abnormal_update_by', to='safesite.User', verbose_name='最后编辑人')), + ('usecomp', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='safesite.Partment', verbose_name='所属公司')), + ], + options={ + 'abstract': False, + }, + ), + ] diff --git a/enp/migrations/0013_prevention_preventiontype.py b/enp/migrations/0013_prevention_preventiontype.py new file mode 100644 index 00000000..1dd811e9 --- /dev/null +++ b/enp/migrations/0013_prevention_preventiontype.py @@ -0,0 +1,18 @@ +# Generated by Django 2.2.8 on 2022-05-12 14:12 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('enp', '0012_abnormal_detection_fuel_prevention_waterequipment'), + ] + + operations = [ + migrations.AddField( + model_name='prevention', + name='preventiontype', + field=models.IntegerField(choices=[(1, '废水'), (2, '废气')], default=1, verbose_name='防治类型'), + ), + ] diff --git a/enp/migrations/0014_auto_20220512_1557.py b/enp/migrations/0014_auto_20220512_1557.py new file mode 100644 index 00000000..52bb7f78 --- /dev/null +++ b/enp/migrations/0014_auto_20220512_1557.py @@ -0,0 +1,18 @@ +# Generated by Django 2.2.8 on 2022-05-12 15:57 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('enp', '0013_prevention_preventiontype'), + ] + + operations = [ + migrations.AlterField( + model_name='prevention', + name='zlxl', + field=models.CharField(max_length=200, verbose_name='治理效率'), + ), + ] diff --git a/enp/migrations/0015_auto_20220513_0922.py b/enp/migrations/0015_auto_20220513_0922.py new file mode 100644 index 00000000..ba4441b4 --- /dev/null +++ b/enp/migrations/0015_auto_20220513_0922.py @@ -0,0 +1,308 @@ +# Generated by Django 2.2.8 on 2022-05-13 09:22 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('enp', '0014_auto_20220512_1557'), + ] + + operations = [ + migrations.AlterField( + model_name='abnormal', + name='end_time', + field=models.DateTimeField(blank=True, null=True, verbose_name='异常情况终止时刻'), + ), + migrations.AlterField( + model_name='abnormal', + name='pffx', + field=models.FloatField(blank=True, max_length=200, null=True, verbose_name='排放方向'), + ), + migrations.AlterField( + model_name='abnormal', + name='pfnd', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='排放浓度'), + ), + migrations.AlterField( + model_name='abnormal', + name='sfbg', + field=models.FloatField(blank=True, max_length=200, null=True, verbose_name='是否报告'), + ), + migrations.AlterField( + model_name='abnormal', + name='sjyy', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='事件原因'), + ), + migrations.AlterField( + model_name='abnormal', + name='start_time', + field=models.DateTimeField(blank=True, null=True, verbose_name='异常情况起始时刻'), + ), + migrations.AlterField( + model_name='abnormal', + name='type', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='污染物种类'), + ), + migrations.AlterField( + model_name='abnormal', + name='ydcs', + field=models.FloatField(blank=True, max_length=200, null=True, verbose_name='应对措施'), + ), + migrations.AlterField( + model_name='detection', + name='ckad', + field=models.FloatField(blank=True, max_length=200, null=True, verbose_name='出口氨氮(mg/L)'), + ), + migrations.AlterField( + model_name='detection', + name='ckhxxyl', + field=models.FloatField(blank=True, max_length=200, null=True, verbose_name='出口化学需氧量(mg/L)'), + ), + migrations.AlterField( + model_name='detection', + name='ckshxll', + field=models.FloatField(blank=True, max_length=200, null=True, verbose_name='出口生化需氧量(mg/L)'), + ), + migrations.AlterField( + model_name='detection', + name='ckxfw', + field=models.FloatField(blank=True, max_length=200, null=True, verbose_name='出口悬浮物(mg/L)'), + ), + migrations.AlterField( + model_name='detection', + name='jcDate', + field=models.DateTimeField(blank=True, null=True, verbose_name='监测日期'), + ), + migrations.AlterField( + model_name='detection', + name='jctime', + field=models.DateTimeField(blank=True, null=True, verbose_name='监测时间'), + ), + migrations.AlterField( + model_name='detection', + name='jkad', + field=models.FloatField(blank=True, max_length=200, null=True, verbose_name='进口氨氮(mg/L)'), + ), + migrations.AlterField( + model_name='detection', + name='jkhxxyl', + field=models.FloatField(blank=True, max_length=200, null=True, verbose_name='进口化学需氧量(mg/L)'), + ), + migrations.AlterField( + model_name='detection', + name='jkshxll', + field=models.FloatField(blank=True, max_length=200, null=True, verbose_name='进口生化需氧量(mg/L)'), + ), + migrations.AlterField( + model_name='detection', + name='jkxfw', + field=models.FloatField(blank=True, max_length=200, null=True, verbose_name='进口悬浮物(mg/L)'), + ), + migrations.AlterField( + model_name='fuel', + name='count', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='用量'), + ), + migrations.AlterField( + model_name='fuel', + name='dwcount', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='低位热值'), + ), + migrations.AlterField( + model_name='fuel', + name='qtrlxgwzhl', + field=models.CharField(blank=True, max_length=400, null=True, verbose_name='其他燃料相关物质含量'), + ), + migrations.AlterField( + model_name='fuel', + name='rmhff', + field=models.FloatField(blank=True, max_length=200, null=True, verbose_name='燃煤挥发分(%)'), + ), + migrations.AlterField( + model_name='fuel', + name='rmhll', + field=models.FloatField(blank=True, max_length=200, null=True, verbose_name='燃煤含硫量(%)'), + ), + migrations.AlterField( + model_name='fuel', + name='rmqt', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='燃煤其他'), + ), + migrations.AlterField( + model_name='fuel', + name='rqlhqhl', + field=models.FloatField(blank=True, max_length=200, null=True, verbose_name='燃气硫化氢含量(%)'), + ), + migrations.AlterField( + model_name='fuel', + name='rqqt', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='燃气其他'), + ), + migrations.AlterField( + model_name='fuel', + name='ryhll', + field=models.FloatField(blank=True, max_length=200, null=True, verbose_name='燃油含硫量(%)'), + ), + migrations.AlterField( + model_name='fuel', + name='ryqt', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='燃油其他'), + ), + migrations.AlterField( + model_name='fuel', + name='unit', + field=models.FloatField(blank=True, max_length=200, null=True, verbose_name='单位'), + ), + migrations.AlterField( + model_name='prevention', + name='ckll', + field=models.FloatField(blank=True, max_length=100, null=True, verbose_name='出口流量'), + ), + migrations.AlterField( + model_name='prevention', + name='clfs', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='处理方式'), + ), + migrations.AlterField( + model_name='prevention', + name='cs_name', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='参数名'), + ), + migrations.AlterField( + model_name='prevention', + name='desig_nnumber', + field=models.FloatField(blank=True, max_length=100, null=True, verbose_name='设计值'), + ), + migrations.AlterField( + model_name='prevention', + name='em_unit', + field=models.CharField(blank=True, max_length=50, null=True, verbose_name='单位'), + ), + migrations.AlterField( + model_name='prevention', + name='end_time', + field=models.DateTimeField(blank=True, null=True, verbose_name='运行结束时间'), + ), + migrations.AlterField( + model_name='prevention', + name='fcpname', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='副产品名称'), + ), + migrations.AlterField( + model_name='prevention', + name='fcwcl', + field=models.FloatField(blank=True, max_length=100, null=True, verbose_name='副产物产生量t'), + ), + migrations.AlterField( + model_name='prevention', + name='pfsj', + field=models.FloatField(blank=True, max_length=100, null=True, verbose_name='排放时间h'), + ), + migrations.AlterField( + model_name='prevention', + name='pfyql', + field=models.FloatField(blank=True, max_length=200, null=True, verbose_name='排放烟气量(m3/h)'), + ), + migrations.AlterField( + model_name='prevention', + name='pkwd', + field=models.FloatField(blank=True, max_length=200, null=True, verbose_name='排口温度℃'), + ), + migrations.AlterField( + model_name='prevention', + name='pqfx', + field=models.CharField(blank=True, max_length=50, null=True, verbose_name='排放去向'), + ), + migrations.AlterField( + model_name='prevention', + name='pqtgd', + field=models.FloatField(blank=True, max_length=200, null=True, verbose_name='排气筒高度m'), + ), + migrations.AlterField( + model_name='prevention', + name='preventiontype', + field=models.IntegerField(blank=True, choices=[(1, '废水'), (2, '废气')], default=1, null=True, verbose_name='防治类型'), + ), + migrations.AlterField( + model_name='prevention', + name='sjly', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='数据来源'), + ), + migrations.AlterField( + model_name='prevention', + name='start_time', + field=models.DateTimeField(blank=True, null=True, verbose_name='运行开始时间'), + ), + migrations.AlterField( + model_name='prevention', + name='state', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='运行状态'), + ), + migrations.AlterField( + model_name='prevention', + name='tjl', + field=models.FloatField(blank=True, max_length=100, null=True, verbose_name='添加量'), + ), + migrations.AlterField( + model_name='prevention', + name='tjtime', + field=models.DateTimeField(blank=True, null=True, verbose_name='添加时间'), + ), + migrations.AlterField( + model_name='prevention', + name='wncsl', + field=models.CharField(blank=True, max_length=50, null=True, verbose_name='污泥产生量'), + ), + migrations.AlterField( + model_name='prevention', + name='wryz', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='污染因子'), + ), + migrations.AlterField( + model_name='prevention', + name='yjname', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='药剂名称'), + ), + migrations.AlterField( + model_name='prevention', + name='yl', + field=models.FloatField(blank=True, max_length=100, null=True, verbose_name='压力kPa'), + ), + migrations.AlterField( + model_name='prevention', + name='zlxl', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='治理效率'), + ), + migrations.AlterField( + model_name='waterequipment', + name='count', + field=models.IntegerField(blank=True, max_length=100, null=True, verbose_name='监测次数'), + ), + migrations.AlterField( + model_name='waterequipment', + name='identification', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='鉴定方法'), + ), + migrations.AlterField( + model_name='waterequipment', + name='jcyqmodel', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='监测仪器型号'), + ), + migrations.AlterField( + model_name='waterequipment', + name='methods', + field=models.CharField(blank=True, max_length=300, null=True, verbose_name='监测采样方法及个数'), + ), + migrations.AlterField( + model_name='waterequipment', + name='note', + field=models.CharField(blank=True, max_length=500, null=True, verbose_name='备注'), + ), + migrations.AlterField( + model_name='waterequipment', + name='type', + field=models.CharField(blank=True, max_length=100, null=True, verbose_name='污染物种类'), + ), + ] diff --git a/enp/migrations/0016_auto_20220513_1157.py b/enp/migrations/0016_auto_20220513_1157.py new file mode 100644 index 00000000..4ea31980 --- /dev/null +++ b/enp/migrations/0016_auto_20220513_1157.py @@ -0,0 +1,28 @@ +# Generated by Django 2.2.8 on 2022-05-13 11:57 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('enp', '0015_auto_20220513_0922'), + ] + + operations = [ + migrations.AlterField( + model_name='abnormal', + name='pffx', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='排放方向'), + ), + migrations.AlterField( + model_name='abnormal', + name='sfbg', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='是否报告'), + ), + migrations.AlterField( + model_name='abnormal', + name='ydcs', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='应对措施'), + ), + ] diff --git a/enp/migrations/0017_auto_20220516_0858.py b/enp/migrations/0017_auto_20220516_0858.py new file mode 100644 index 00000000..89993fa8 --- /dev/null +++ b/enp/migrations/0017_auto_20220516_0858.py @@ -0,0 +1,28 @@ +# Generated by Django 2.2.8 on 2022-05-16 08:58 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('enp', '0016_auto_20220513_1157'), + ] + + operations = [ + migrations.AlterField( + model_name='fuel', + name='count', + field=models.FloatField(blank=True, max_length=100, null=True, verbose_name='用量'), + ), + migrations.AlterField( + model_name='fuel', + name='dwcount', + field=models.FloatField(blank=True, max_length=100, null=True, verbose_name='低位热值'), + ), + migrations.AlterField( + model_name='fuel', + name='unit', + field=models.CharField(blank=True, max_length=200, null=True, verbose_name='单位'), + ), + ] diff --git a/enp/models.py b/enp/models.py index 14a490e4..1ee756a3 100644 --- a/enp/models.py +++ b/enp/models.py @@ -116,4 +116,129 @@ class GasEmit(CommonModel): in_particle_s = models.FloatField("颗粒物s") in_nox = models.FloatField("氮氧化物") in_nox_s = models.FloatField("氮氧化物s") - usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name='所属公司') \ No newline at end of file + usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name='所属公司') +class Facilities(CommonModel): + """ + 生产设施信息表 + """ + name = models.CharField('生产设施设备名称', max_length=100) + number = models.CharField('编码', max_length=100) + type = models.CharField('生产设施型号', max_length=100) + cs_name = models.CharField('设备参数名', max_length=100) + desig_nnumber = models.FloatField('设备设计值', max_length=100) + actual_number = models.FloatField('设备实际值',null=True, blank=True, max_length=100) + em_unit = models.CharField('设备单位', max_length=50) + ability = models.CharField('生产能力', max_length=200) + al_unit = models.CharField('生产能力单位', max_length=50) + start_time = models.DateTimeField('运行开始时间') + end_time = models.DateTimeField('运行结束时间') + pdc_Load = models.CharField('生产负荷', max_length=200) + zj_product = models.CharField('中间产品',null=True, blank=True, max_length=200) + zj_unit = models.CharField('中间产品单位',null=True, blank=True, max_length=50) + zz_product = models.CharField('最终产品', max_length=200) + zz_unit = models.CharField('最终产品单位', max_length=50) + material_name = models.CharField('原辅料名称', max_length=200) + material_type = models.CharField('原辅料种类', max_length=200) + material_unit = models.CharField('原辅料单位', max_length=50) + material_count = models.CharField('原辅料用量', max_length=200) + material_composition = models.CharField('有害有毒元素成分', max_length=50) + material_account = models.CharField('有害有毒元素占比', max_length=200) + material_address = models.CharField('原料来源地', max_length=50) + usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name='所属公司') +class Prevention(CommonModel): + """ + 废气,废水防治设施 + """ + type_choices = ( + (1, '废水'), + (2, '废气') + ) + name = models.CharField('防治设施名称', max_length=100) + number = models.CharField('编码', max_length=100) + type = models.CharField('防治设施型号', max_length=100) + preventiontype = models.IntegerField('防治类型', choices=type_choices, default=1, null=True, blank=True) + cs_name = models.CharField('参数名', max_length=100, null=True, blank=True) + desig_nnumber = models.FloatField('设计值', max_length=100, null=True, blank=True) + em_unit = models.CharField('单位', max_length=50, null=True, blank=True) + start_time = models.DateTimeField('运行开始时间', null=True, blank=True) + end_time = models.DateTimeField('运行结束时间', null=True, blank=True) + state = models.CharField('运行状态', max_length=100, null=True, blank=True) + pfyql = models.FloatField('排放烟气量(m3/h)', max_length=200, null=True, blank=True) + wryz = models.CharField('污染因子', max_length=100, null=True, blank=True) + zlxl = models.CharField('治理效率', max_length=200, null=True, blank=True) + sjly = models.CharField('数据来源', max_length=100, null=True, blank=True) + pqtgd = models.FloatField('排气筒高度m', max_length=200, null=True, blank=True) + pkwd = models.FloatField('排口温度℃', max_length=200, null=True, blank=True) + yl = models.FloatField('压力kPa', max_length=100, null=True, blank=True) + pfsj = models.FloatField('排放时间h', max_length=100, null=True, blank=True) + hdl = models.FloatField('耗电率kWh', max_length=100) + fcpname = models.CharField('副产品名称', max_length=100, null=True, blank=True) + fcwcl = models.FloatField('副产物产生量t', max_length=100, null=True, blank=True) + yjname = models.CharField('药剂名称', max_length=100, null=True, blank=True) + tjtime = models.DateTimeField('添加时间', null=True, blank=True) + tjl = models.FloatField('添加量', max_length=100, null=True, blank=True) + ckll = models.FloatField('出口流量', max_length=100, null=True, blank=True) + pqfx = models.CharField('排放去向', max_length=50, null=True, blank=True) + wncsl = models.CharField('污泥产生量', max_length=50, null=True, blank=True) + clfs = models.CharField('处理方式', max_length=100, null=True, blank=True) + usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name='所属公司') +class abnormal(CommonModel): + """ + 防治设施异常情况信息表 + """ + name = models.CharField('防治设施名称', max_length=100) + number = models.CharField('编码', max_length=100) + start_time = models.DateTimeField('异常情况起始时刻', null=True, blank=True) + end_time = models.DateTimeField('异常情况终止时刻', null=True, blank=True) + type = models.CharField('污染物种类', max_length=100, null=True, blank=True) + pfnd = models.CharField('排放浓度', max_length=100, null=True, blank=True) + pffx = models.CharField('排放方向', max_length=200, null=True, blank=True) + sjyy = models.CharField('事件原因', max_length=100, null=True, blank=True) + sfbg = models.CharField('是否报告', max_length=200, null=True, blank=True) + ydcs = models.CharField('应对措施', max_length=200, null=True, blank=True) + usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name='所属公司') +class Detection(CommonModel): + """ + 废水污染物检测结果表 + """ + number = models.CharField('排放口编号', max_length=100) + jcDate = models.DateTimeField('监测日期', null=True, blank=True) + jctime = models.DateTimeField('监测时间', null=True, blank=True) + ckhxxyl = models.FloatField('出口化学需氧量(mg/L)', max_length=200, null=True, blank=True) + ckshxll = models.FloatField('出口生化需氧量(mg/L)', max_length=200, null=True, blank=True) + ckad = models.FloatField('出口氨氮(mg/L)', max_length=200, null=True, blank=True) + ckxfw = models.FloatField('出口悬浮物(mg/L)', max_length=200, null=True, blank=True) + jkhxxyl = models.FloatField('进口化学需氧量(mg/L)', max_length=200, null=True, blank=True) + jkshxll = models.FloatField('进口生化需氧量(mg/L)', max_length=200, null=True, blank=True) + jkad = models.FloatField('进口氨氮(mg/L)', max_length=200, null=True, blank=True) + jkxfw = models.FloatField('进口悬浮物(mg/L)', max_length=200, null=True, blank=True) + usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name='所属公司') +class Fuel(CommonModel): + """ + 燃料信息表 + """ + name = models.CharField('燃料名称', max_length=100) + count = models.FloatField('用量', max_length=100, null=True, blank=True) + dwcount = models.FloatField('低位热值', max_length=100, null=True, blank=True) + unit = models.CharField('单位', max_length=200, null=True, blank=True) + rmhll = models.FloatField('燃煤含硫量(%)', max_length=200, null=True, blank=True) + rmhff = models.FloatField('燃煤挥发分(%)', max_length=200, null=True, blank=True) + rmqt = models.CharField('燃煤其他', max_length=100, null=True, blank=True) + ryhll = models.FloatField('燃油含硫量(%)', max_length=200, null=True, blank=True) + ryqt = models.CharField('燃油其他', max_length=100, null=True, blank=True) + rqlhqhl = models.FloatField('燃气硫化氢含量(%)', max_length=200, null=True, blank=True) + rqqt = models.CharField('燃气其他', max_length=100, null=True, blank=True) + qtrlxgwzhl = models.CharField('其他燃料相关物质含量', max_length=400, null=True, blank=True) + usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name='所属公司') +class Waterequipment(CommonModel): + """ + 废水监测仪器信息表 + """ + number = models.CharField('排放口编号', max_length=100) + type = models.CharField('污染物种类', max_length=100, null=True, blank=True) + methods = models.CharField('监测采样方法及个数', max_length=300, null=True, blank=True) + count = models.IntegerField('监测次数', max_length=100, null=True, blank=True) + identification = models.CharField('鉴定方法', max_length=200, null=True, blank=True) + jcyqmodel = models.CharField('监测仪器型号', max_length=100, null=True, blank=True) + note = models.CharField('备注', max_length=500, null=True, blank=True) + usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name='所属公司') diff --git a/enp/templates/abnormal.html b/enp/templates/abnormal.html new file mode 100644 index 00000000..fa7057c3 --- /dev/null +++ b/enp/templates/abnormal.html @@ -0,0 +1,146 @@ +
+ +