diff --git a/enp/migrations/0030_gastestequipment.py b/enp/migrations/0030_gastestequipment.py
new file mode 100644
index 00000000..afbf2865
--- /dev/null
+++ b/enp/migrations/0030_gastestequipment.py
@@ -0,0 +1,36 @@
+# Generated by Django 2.2.8 on 2022-11-01 12:51
+
+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', '0029_auto_20221031_1707'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='GasTestEquipment',
+ 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='删除标记')),
+ ('contaminant', models.CharField(max_length=100, verbose_name='污染物')),
+ ('model', models.CharField(max_length=100, verbose_name='仪器型号')),
+ ('state', models.CharField(default='正常', max_length=100, verbose_name='设备状态')),
+ ('remark', models.CharField(max_length=200, verbose_name='备注')),
+ ('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='gastestequipment_create_by', to='safesite.User', verbose_name='创建人')),
+ ('drain', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='enp.Drain', verbose_name='关联排放口')),
+ ('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='gastestequipment_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/models.py b/enp/models.py
index db4ec28a..c03e4a30 100644
--- a/enp/models.py
+++ b/enp/models.py
@@ -266,6 +266,18 @@ class Waterequipment(CommonModel):
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='所属公司')
+
+class GasTestEquipment(CommonModel):
+ """
+ 废气检测仪器
+ """
+ drain = models.ForeignKey(Drain, verbose_name='关联排放口', on_delete=models.CASCADE)
+ contaminant = models.CharField('污染物', max_length=100)
+ model = models.CharField('仪器型号', max_length=100)
+ state = models.CharField('设备状态', default='正常', max_length=100)
+ remark = models.CharField('备注', max_length=200)
+ usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name='所属公司')
+
class Archives(CommonModel):
"""
档案管理
diff --git a/enp/templates/gastestequipment.html b/enp/templates/gastestequipment.html
new file mode 100644
index 00000000..c067a1f1
--- /dev/null
+++ b/enp/templates/gastestequipment.html
@@ -0,0 +1,143 @@
+
+
+
+
\ No newline at end of file
diff --git a/enp/urls.py b/enp/urls.py
index e8a6f7c2..865c8cf6 100644
--- a/enp/urls.py
+++ b/enp/urls.py
@@ -13,6 +13,7 @@ urlpatterns = [
path('detection/', views.HtmlDetection),
path('fuel/', views.HtmlFuel),
path('waterequipment/', views.HtmlWaterequipment),
+ path('gastestequipment/', views.HtmlGasTestEquipment),
path('archives/', views.HtmlArchives),
path('zprevention/', views.HtmlZprevention),
diff --git a/enp/urls_api.py b/enp/urls_api.py
index a9bed6be..d1f30fdc 100644
--- a/enp/urls_api.py
+++ b/enp/urls_api.py
@@ -21,11 +21,7 @@ urlpatterns = [
path('detection//', views.ApiDetection),#废水污染物检测
path('fuel//', views.ApiFuel),#燃料信息表
path('waterequipment//', views.ApiWaterequipment),#废水监测仪器信息表
+ path('gastestequipment//', views.ApiGasTestEquipment),#废气监测仪器信息表
path('archives//', views.ApiArchives),#档案管理表
path('zprevention//', views.ApiZprevention),#噪声防治设施
-
-
-
-
-
]
\ No newline at end of file
diff --git a/enp/views.py b/enp/views.py
index 359d8acf..982a3b0a 100644
--- a/enp/views.py
+++ b/enp/views.py
@@ -5,7 +5,7 @@ from rest_framework.views import APIView
from rest_framework.authentication import BaseAuthentication
from safesite.models import User,Dickey,Partment
from rest_framework.exceptions import AuthenticationFailed
-from .models import DWasteHandleRecord, DWasteKeepRecord, DWasteMakeList, DWasteMakeRecord, Drain, GasEmit, NormalWasteRecord, Waste, Facilities,Prevention,abnormal,Detection,Fuel,Waterequipment,Archives
+from .models import DWasteHandleRecord, DWasteKeepRecord, DWasteMakeList, DWasteMakeRecord, Drain, GasEmit, GasTestEquipment, NormalWasteRecord, Waste, Facilities,Prevention,abnormal,Detection,Fuel,Waterequipment,Archives
from safesite.views import transjson, fenye, MyEncoder
from django.http import HttpResponse, JsonResponse
import json
@@ -44,6 +44,8 @@ def HtmlFuel(request):
return render(request, 'fuel.html')
def HtmlWaterequipment(request):
return render(request, 'waterequipment.html')
+def HtmlGasTestEquipment(request):
+ return render(request, 'gastestequipment.html')
def HtmlGprevention(request):
return render(request, 'gprevention.html')
def HtmlArchives(request):
@@ -975,4 +977,41 @@ def ApiGasPredict(request, element, drainId):
return JsonResponse(ret)
else:
return JsonResponse({"code":0, "msg":'至少需要三条记录'})
-
\ No newline at end of file
+
+
+def ApiGasTestEquipment(request, action):
+ user = User.objects.get(userid=request.session['userid'])
+ if action == 'list':
+ objs = GasTestEquipment.objects.filter(usecomp=user.usecomp, is_deleted=False)
+ total = objs.count()
+ startnum, endnum = fenye(request)
+ objs = objs.order_by('id')[startnum:endnum].values('id', 'drain', 'drain__name', 'contaminant', 'model', 'state', 'remark')
+ return HttpResponse(transjson(total, objs), content_type="application/json")
+ elif action == 'create':
+ data = json.loads(request.body.decode('utf-8'))
+ obj= GasTestEquipment()
+ obj.drain = Drain.objects.get(id=data['drain'])
+ obj.contaminant = data['contaminant']
+ obj.model = data['model']
+ obj.state = data['state']
+ obj.remark = data['remark']
+ obj.create_by = user
+ obj.update_by = user
+ obj.usecomp = user.usecomp
+ obj.save()
+ return JsonResponse({"code":1})
+ elif action == 'delete':
+ data = json.loads(request.body.decode('utf-8'))
+ obj = GasTestEquipment.objects.get(id=data['id'])
+ obj.delete()
+ return JsonResponse({"code":1})
+ elif action == 'update':
+ data = json.loads(request.body.decode('utf-8'))
+ obj = GasTestEquipment.objects.get(id=data['id'])
+ obj.contaminant = data['contaminant']
+ obj.model = data['model']
+ obj.state = data['state']
+ obj.remark = data['remark']
+ obj.update_by=user
+ obj.save()
+ return JsonResponse({"code":1})
\ No newline at end of file