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