safesite/enp/views.py

782 lines
32 KiB
Python

from django.shortcuts import render
from rest_framework.views import APIView
from rest_framework.authentication import BaseAuthentication
from safesite.models import User
from rest_framework.exceptions import AuthenticationFailed
from .models import DWasteHandleRecord, DWasteKeepRecord, DWasteMakeList, DWasteMakeRecord, Drain, GasEmit, NormalWasteRecord, Waste, Facilities,Prevention,abnormal,Detection,Fuel,Waterequipment
from safesite.views import transjson, fenye, MyEncoder
from django.http import HttpResponse, JsonResponse
import json
# Create your views here.
def myAuthentication(BaseAuthentication):
def authenticate(self, request):
user = User.objects.get(userid=request.session['userid'])
if user:
return (user, None)
raise AuthenticationFailed()
def HtmlWaste(request):
return render(request, 'waste.html')
def HtmlDangerousWaste(request):
return render(request, 'dangerousWaste.html')
def HtmlWgas(request):
return render(request, 'wgas.html')
def HtmlWwater(request):
return render(request, 'wwater.html')
def HtmlGasPredict(request):
return render(request, 'gaspredict.html')
def HtmlFacilities(request):
return render(request, 'facilities.html')
def HtmlWprevention(request):
return render(request, 'wprevention.html')
def HtmlAbnormal(request):
return render(request, 'abnormal.html')
def HtmlDetection(request):
return render(request, 'detection.html')
def HtmlFuel(request):
return render(request, 'fuel.html')
def HtmlWaterequipment(request):
return render(request, 'waterequipment.html')
def HtmlGprevention(request):
return render(request, 'gprevention.html')
def ApiWaste(request, action):
user = User.objects.get(userid=request.session['userid'])
if action == 'list':
objs = Waste.objects.filter(usecomp=user.usecomp, is_deleted=False)
objs = objs.filter(type=request.GET.get('type', 1))
total = objs.count()
startnum, endnum = fenye(request)
objs = objs.order_by('id')[startnum:endnum].values('id', 'number', 'name', 'type')
return HttpResponse(transjson(total, objs), content_type="application/json")
elif action == 'combobox':
objs = Waste.objects.filter(usecomp=user.usecomp, is_deleted=False)
objs = objs.filter(type=request.GET.get('type', 1)).order_by('id')
data = objs.values('id', 'number', 'name')
return JsonResponse(list(data), safe=False)
elif action == 'create':
data = json.loads(request.body.decode('utf-8'))
obj= Waste()
obj.number = data['number']
obj.name = data['name']
obj.type = data['type']
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 = Waste.objects.get(id=data['id'])
obj.delete()
return JsonResponse({"code":1})
elif action == 'update':
data = json.loads(request.body.decode('utf-8'))
obj = Waste.objects.get(id=data['id'])
obj.number = data['number']
obj.name = data['name']
obj.update_by=user
obj.save()
return JsonResponse({"code":1})
def ApiNormalWasteRecord(request, action):
user = User.objects.get(userid=request.session['userid'])
if action == 'list':
objs = NormalWasteRecord.objects.filter(usecomp=user.usecomp, is_deleted=False)
if request.GET.get('waste', None):
objs = objs.filter(waste=request.GET.get('waste'))
total = objs.count()
startnum, endnum = fenye(request)
objs = objs.order_by('-create_time')[startnum:endnum].values('id', 'gen_date', 'dis_date', 'gen_count', 'dis_count', 'operator__name', 'waste__name', 'waste', 'operator', 'inv_count')
return HttpResponse(transjson(total, objs), content_type="application/json")
elif action == 'create':
data = json.loads(request.body.decode('utf-8'))
obj = NormalWasteRecord()
obj.waste = Waste.objects.get(id=data['waste'])
obj.operator = User.objects.get(userid=data['operator'])
obj.create_by = user
obj.update_by = user
obj.usecomp = user.usecomp
obj.gen_date = data['gen_date']
obj.dis_date = data['dis_date']
obj.gen_count = data['gen_count']
obj.dis_count = data['dis_count']
obj.inv_count = data['inv_count']
obj.save()
return JsonResponse({"code":1})
elif action == 'delete':
data = json.loads(request.body.decode('utf-8'))
obj = NormalWasteRecord.objects.get(id=data['id'])
obj.delete()
return JsonResponse({"code":1})
#生产设施
def ApiFacilities(request, action):
user = User.objects.get(userid=request.session['userid'])
if action == 'list':
objs = Facilities.objects.filter(usecomp=user.usecomp, is_deleted=False)
total = objs.count()
startnum, endnum = fenye(request)
objs = objs.order_by('-create_time')[startnum:endnum].values('id', 'name', 'number', 'type', 'cs_name', 'desig_nnumber',
'actual_number', 'em_unit', 'ability', 'al_unit','start_time', 'end_time', 'pdc_Load', 'zj_product', 'zj_unit', 'zz_product',
'zz_unit', 'material_name', 'material_type', 'material_unit','material_count', 'material_composition', 'material_account',
'material_address')
return HttpResponse(transjson(total, objs), content_type="application/json")
elif action == 'create':
data = json.loads(request.body.decode('utf-8'))
obj = Facilities()
obj.create_by = user
obj.update_by = user
obj.usecomp = user.usecomp
obj.name = data['name']
obj.number = data['number']
obj.type = data['type']
obj.cs_name = data['cs_name']
obj.desig_nnumber = data['desig_nnumber']
obj.actual_number = data['actual_number']
obj.em_unit = data['em_unit']
obj.ability = data['ability']
obj.al_unit = data['al_unit']
obj.start_time = data['start_time']
obj.end_time = data['end_time']
obj.pdc_Load = data['pdc_Load']
obj.zj_product = data['zj_product']
obj.zj_unit = data['zj_unit']
obj.zz_product = data['zz_product']
obj.zz_unit = data['zz_unit']
obj.material_name = data['material_name']
obj.material_type = data['material_type']
obj.material_unit = data['material_unit']
obj.material_count = data['material_count']
obj.material_composition = data['material_composition']
obj.material_account = data['material_account']
obj.material_address = data['material_address']
obj.save()
return JsonResponse({"code":1})
elif action == 'update':
data = json.loads(request.body.decode('utf-8'))
obj = Facilities.objects.get(id=data['id'])
obj.update_by = user
obj.usecomp = user.usecomp
obj.name = data['name']
obj.number = data['number']
obj.type = data['type']
obj.cs_name = data['cs_name']
obj.desig_nnumber = data['desig_nnumber']
obj.actual_number = data['actual_number']
obj.em_unit = data['em_unit']
obj.ability = data['ability']
obj.al_unit = data['al_unit']
obj.start_time = data['start_time']
obj.end_time = data['end_time']
obj.pdc_Load = data['pdc_Load']
obj.zj_product = data['zj_product']
obj.zj_unit = data['zj_unit']
obj.zz_product = data['zz_product']
obj.zz_unit = data['zz_unit']
obj.material_name = data['material_name']
obj.material_type = data['material_type']
obj.material_unit = data['material_unit']
obj.material_count = data['material_count']
obj.material_composition = data['material_composition']
obj.material_account = data['material_account']
obj.material_address = data['material_address']
obj.save()
return JsonResponse({"code":1})
elif action == 'delete':
data = json.loads(request.body.decode('utf-8'))
obj = Facilities.objects.get(id=data['id'])
obj.delete()
return JsonResponse({"code":1})
#废气防治设施
def ApiGprevention(request, action):
user = User.objects.get(userid=request.session['userid'])
if action == 'list':
objs = Prevention.objects.filter(usecomp=user.usecomp, is_deleted=False,preventiontype=2)
total = objs.count()
startnum, endnum = fenye(request)
objs = objs.order_by('-create_time')[startnum:endnum].values('id', 'name', 'number', 'type', 'preventiontype', 'cs_name',
'desig_nnumber', 'em_unit', 'start_time', 'end_time', 'state', 'pfyql', 'wryz', 'zlxl',
'sjly', 'pqtgd', 'pkwd', 'yl','pfsj', 'hdl', 'fcpname', 'fcwcl','yjname', 'tjtime', 'tjl' )
return HttpResponse(transjson(total, objs), content_type="application/json")
elif action == 'create':
data = json.loads(request.body.decode('utf-8'))
obj = Prevention()
obj.create_by = user
obj.update_by = user
obj.usecomp = user.usecomp
obj.name = data['name']
obj.number = data['number']
obj.preventiontype=2
obj.type = data['type']
obj.cs_name = data['cs_name']
obj.desig_nnumber = data['desig_nnumber']
obj.em_unit = data['em_unit']
obj.start_time = data['start_time']
obj.end_time = data['end_time']
obj.state = data['state']
obj.pfyql = data['pfyql']
obj.wryz = data['wryz']
obj.zlxl = data['zlxl']
obj.sjly = data['sjly']
obj.pqtgd = data['pqtgd']
obj.pkwd = data['pkwd']
obj.yl = data['yl']
obj.pfsj = data['pfsj']
obj.hdl = data['hdl']
obj.fcpname = data['fcpname']
obj.fcwcl = data['fcwcl']
obj.yjname = data['yjname']
obj.tjtime = data['tjtime']
obj.tjl = data['tjl']
obj.save()
return JsonResponse({"code":1})
elif action == 'update':
data = json.loads(request.body.decode('utf-8'))
obj = Prevention.objects.get(id=data['id'])
obj.create_by = user
obj.update_by = user
obj.usecomp = user.usecomp
obj.name = data['name']
obj.number = data['number']
obj.preventiontype=2
obj.type = data['type']
obj.cs_name = data['cs_name']
obj.desig_nnumber = data['desig_nnumber']
obj.em_unit = data['em_unit']
obj.start_time = data['start_time']
obj.end_time = data['end_time']
obj.state = data['state']
obj.pfyql = data['pfyql']
obj.wryz = data['wryz']
obj.zlxl = data['zlxl']
obj.sjly = data['sjly']
obj.pqtgd = data['pqtgd']
obj.pkwd = data['pkwd']
obj.yl = data['yl']
obj.pfsj = data['pfsj']
obj.hdl = data['hdl']
obj.fcpname = data['fcpname']
obj.fcwcl = data['fcwcl']
obj.yjname = data['yjname']
obj.tjtime = data['tjtime']
obj.tjl = data['tjl']
obj.save()
return JsonResponse({"code":1})
elif action == 'delete':
data = json.loads(request.body.decode('utf-8'))
obj = Prevention.objects.get(id=data['id'])
obj.delete()
return JsonResponse({"code":1})
#废水防治设施
def ApiWprevention(request, action):
user = User.objects.get(userid=request.session['userid'])
if action == 'list':
objs = Prevention.objects.filter(usecomp=user.usecomp, is_deleted=False,preventiontype=1)
total = objs.count()
startnum, endnum = fenye(request)
objs = objs.order_by('-create_time')[startnum:endnum].values('id', 'name', 'number', 'type', 'preventiontype', 'cs_name',
'desig_nnumber', 'em_unit', 'start_time', 'end_time', 'state', 'ckll', 'wryz', 'zlxl',
'sjly', 'pqfx', 'wncsl', 'clfs','hdl','yjname', 'tjtime', 'tjl')
return HttpResponse(transjson(total, objs), content_type="application/json")
elif action == 'create':
data = json.loads(request.body.decode('utf-8'))
obj = Prevention()
obj.create_by = user
obj.update_by = user
obj.usecomp = user.usecomp
obj.name = data['name']
obj.number = data['number']
obj.preventiontype=1
obj.type = data['type']
obj.cs_name = data['cs_name']
obj.desig_nnumber = data['desig_nnumber']
obj.em_unit = data['em_unit']
obj.start_time = data['start_time']
obj.end_time = data['end_time']
obj.state = data['state']
obj.ckll = data['ckll']
obj.wryz = data['wryz']
obj.zlxl = data['zlxl']
obj.sjly = data['sjly']
obj.pqfx = data['pqfx']
obj.wncsl = data['wncsl']
obj.clfs = data['clfs']
obj.hdl = data['hdl']
obj.yjname = data['yjname']
obj.tjtime = data['tjtime']
obj.tjl = data['tjl']
obj.save()
return JsonResponse({"code":1})
elif action == 'update':
data = json.loads(request.body.decode('utf-8'))
obj = Prevention.objects.get(id=data['id'])
obj.create_by = user
obj.update_by = user
obj.usecomp = user.usecomp
obj.name = data['name']
obj.number = data['number']
obj.preventiontype=1
obj.type = data['type']
obj.cs_name = data['cs_name']
obj.desig_nnumber = data['desig_nnumber']
obj.em_unit = data['em_unit']
obj.start_time = data['start_time']
obj.end_time = data['end_time']
obj.state = data['state']
obj.ckll = data['ckll']
obj.wryz = data['wryz']
obj.zlxl = data['zlxl']
obj.sjly = data['sjly']
obj.pqfx = data['pqfx']
obj.wncsl = data['wncsl']
obj.clfs = data['clfs']
obj.hdl = data['hdl']
obj.yjname = data['yjname']
obj.tjtime = data['tjtime']
obj.tjl = data['tjl']
obj.save()
return JsonResponse({"code":1})
elif action == 'delete':
data = json.loads(request.body.decode('utf-8'))
obj = Prevention.objects.get(id=data['id'])
obj.delete()
return JsonResponse({"code":1})
#防治设施异常
def ApiAbnormal(request, action):
user = User.objects.get(userid=request.session['userid'])
if action == 'list':
objs = abnormal.objects.filter(usecomp=user.usecomp, is_deleted=False)
total = objs.count()
startnum, endnum = fenye(request)
objs = objs.order_by('-create_time')[startnum:endnum].values('id', 'name', 'number', 'start_time', 'end_time', 'type',
'pfnd', 'pffx', 'sjyy', 'sfbg', 'ydcs')
return HttpResponse(transjson(total, objs), content_type="application/json")
elif action == 'create':
data = json.loads(request.body.decode('utf-8'))
obj = abnormal()
obj.create_by = user
obj.update_by = user
obj.usecomp = user.usecomp
obj.name = data['name']
obj.number = data['number']
obj.start_time = data['start_time']
obj.end_time = data['end_time']
obj.type = data['type']
obj.pfnd = data['pfnd']
obj.pffx = data['pffx']
obj.sjyy = data['sjyy']
obj.sfbg = data['sfbg']
obj.ydcs = data['ydcs']
obj.save()
return JsonResponse({"code":1})
elif action == 'update':
data = json.loads(request.body.decode('utf-8'))
obj = abnormal.objects.get(id=data['id'])
obj.create_by = user
obj.update_by = user
obj.usecomp = user.usecomp
obj.name = data['name']
obj.number = data['number']
obj.start_time = data['start_time']
obj.end_time = data['end_time']
obj.type = data['type']
obj.pfnd = data['pfnd']
obj.pffx = data['pffx']
obj.sjyy = data['sjyy']
obj.sfbg = data['sfbg']
obj.ydcs = data['ydcs']
obj.save()
return JsonResponse({"code":1})
elif action == 'delete':
data = json.loads(request.body.decode('utf-8'))
obj = abnormal.objects.get(id=data['id'])
obj.delete()
return JsonResponse({"code":1})
#废水污染物检测
def ApiDetection(request, action):
user = User.objects.get(userid=request.session['userid'])
if action == 'list':
objs = Detection.objects.filter(usecomp=user.usecomp, is_deleted=False)
total = objs.count()
startnum, endnum = fenye(request)
objs = objs.order_by('-create_time')[startnum:endnum].values('id', 'number', 'jcDate', 'jctime', 'ckhxxyl', 'ckshxll',
'ckad', 'ckxfw', 'jkhxxyl', 'jkshxll', 'jkad', 'jkxfw')
return HttpResponse(transjson(total, objs), content_type="application/json")
elif action == 'create':
data = json.loads(request.body.decode('utf-8'))
obj = Detection()
obj.create_by = user
obj.update_by = user
obj.usecomp = user.usecomp
obj.number = data['number']
obj.jcDate = data['jcDate']
obj.jctime = data['jctime']
obj.ckhxxyl = data['ckhxxyl']
obj.ckshxll = data['ckshxll']
obj.ckad = data['ckad']
obj.ckxfw = data['ckxfw']
obj.jkhxxyl = data['jkhxxyl']
obj.jkshxll = data['jkshxll']
obj.jkad = data['jkad']
obj.jkxfw = data['jkxfw']
obj.save()
return JsonResponse({"code":1})
elif action == 'update':
data = json.loads(request.body.decode('utf-8'))
obj = Detection.objects.get(id=data['id'])
obj.create_by = user
obj.update_by = user
obj.usecomp = user.usecomp
obj.number = data['number']
obj.jcDate = data['jcDate']
obj.jctime = data['jctime']
obj.ckhxxyl = data['ckhxxyl']
obj.ckshxll = data['ckshxll']
obj.ckad = data['ckad']
obj.ckxfw = data['ckxfw']
obj.jkhxxyl = data['jkhxxyl']
obj.jkshxll = data['jkshxll']
obj.jkad = data['jkad']
obj.jkxfw = data['jkxfw']
obj.save()
return JsonResponse({"code":1})
elif action == 'delete':
data = json.loads(request.body.decode('utf-8'))
obj = Detection.objects.get(id=data['id'])
obj.delete()
return JsonResponse({"code":1})
#燃料信息表
def ApiFuel(request, action):
user = User.objects.get(userid=request.session['userid'])
if action == 'list':
objs = Fuel.objects.filter(usecomp=user.usecomp, is_deleted=False)
total = objs.count()
startnum, endnum = fenye(request)
objs = objs.order_by('-create_time')[startnum:endnum].values('id', 'name', 'count', 'dwcount', 'unit', 'rmhll',
'rmhff', 'rmqt', 'ryhll', 'ryqt', 'rqlhqhl', 'rqqt', 'qtrlxgwzhl')
return HttpResponse(transjson(total, objs), content_type="application/json")
elif action == 'create':
data = json.loads(request.body.decode('utf-8'))
obj = Fuel()
obj.create_by = user
obj.update_by = user
obj.usecomp = user.usecomp
obj.name = data['name']
obj.count = data['count']
obj.dwcount = data['dwcount']
obj.unit = data['unit']
obj.rmhll = data['rmhll']
obj.rmhff = data['rmhff']
obj.rmqt = data['rmqt']
obj.ryhll = data['ryhll']
obj.ryqt = data['ryqt']
obj.rqlhqhl = data['rqlhqhl']
obj.rqqt = data['rqqt']
obj.qtrlxgwzhl = data['qtrlxgwzhl']
obj.save()
return JsonResponse({"code":1})
elif action == 'update':
data = json.loads(request.body.decode('utf-8'))
obj = Fuel.objects.get(id=data['id'])
obj.create_by = user
obj.update_by = user
obj.usecomp = user.usecomp
obj.name = data['name']
obj.count = data['count']
obj.dwcount = data['dwcount']
obj.unit = data['unit']
obj.rmhll = data['rmhll']
obj.rmhff = data['rmhff']
obj.rmqt = data['rmqt']
obj.ryhll = data['ryhll']
obj.ryqt = data['ryqt']
obj.rqlhqhl = data['rqlhqhl']
obj.rqqt = data['rqqt']
obj.rqqt = data['qtrlxgwzhl']
obj.save()
return JsonResponse({"code":1})
elif action == 'delete':
data = json.loads(request.body.decode('utf-8'))
obj = Fuel.objects.get(id=data['id'])
obj.delete()
return JsonResponse({"code":1})
#废水监测仪器信息表
def ApiWaterequipment(request, action):
user = User.objects.get(userid=request.session['userid'])
if action == 'list':
objs = Waterequipment.objects.filter(usecomp=user.usecomp, is_deleted=False)
total = objs.count()
startnum, endnum = fenye(request)
objs = objs.order_by('-create_time')[startnum:endnum].values('id', 'number', 'type', 'methods', 'count', 'identification',
'jcyqmodel', 'note')
return HttpResponse(transjson(total, objs), content_type="application/json")
elif action == 'create':
data = json.loads(request.body.decode('utf-8'))
obj = Waterequipment()
obj.create_by = user
obj.update_by = user
obj.usecomp = user.usecomp
obj.number = data['number']
obj.type = data['type']
obj.methods = data['methods']
obj.count = data['count']
obj.identification = data['identification']
obj.jcyqmodel = data['jcyqmodel']
obj.note = data['note']
obj.save()
return JsonResponse({"code":1})
elif action == 'update':
data = json.loads(request.body.decode('utf-8'))
obj = Waterequipment.objects.get(id=data['id'])
obj.create_by = user
obj.update_by = user
obj.usecomp = user.usecomp
obj.number = data['number']
obj.type = data['type']
obj.methods = data['methods']
obj.count = data['count']
obj.identification = data['identification']
obj.jcyqmodel = data['jcyqmodel']
obj.note = data['note']
obj.save()
return JsonResponse({"code":1})
elif action == 'delete':
data = json.loads(request.body.decode('utf-8'))
obj = Waterequipment.objects.get(id=data['id'])
obj.delete()
return JsonResponse({"code":1})
def ApiDWasteMakeList(request,action):
user = User.objects.get(userid=request.session['userid'])
if action == 'list':
objs = DWasteMakeList.objects.filter(usecomp=user.usecomp, is_deleted=False)
if request.GET.get('waste', None):
objs = objs.filter(waste=request.GET.get('waste'))
total = objs.count()
startnum, endnum = fenye(request)
objs = objs.order_by('-create_time')[startnum:endnum].values('id', 'waste', 'process', 'source', 'goto', 'companyname', 'gen_count', 'license', 'waste__name', 'waste__number', 'create_time')
return HttpResponse(transjson(total, objs), content_type="application/json")
elif action == 'create':
data = json.loads(request.body.decode('utf-8'))
obj = DWasteMakeList()
obj.waste = Waste.objects.get(id=data['waste'])
obj.create_by = user
obj.update_by = user
obj.usecomp = user.usecomp
obj.process = data['process']
obj.source = data['source']
obj.goto = data['goto']
obj.companyname = data['companyname']
obj.gen_count = data['gen_count']
obj.license = data['license']
obj.save()
return JsonResponse({"code":1})
elif action == 'delete':
data = json.loads(request.body.decode('utf-8'))
obj = DWasteMakeList.objects.get(id=data['id'])
obj.delete()
return JsonResponse({"code":1})
def ApiDWasteMakeRecord(request,action):
user = User.objects.get(userid=request.session['userid'])
if action == 'list':
objs = DWasteMakeRecord.objects.filter(usecomp=user.usecomp, is_deleted=False)
if request.GET.get('waste', None):
objs = objs.filter(waste=request.GET.get('waste'))
total = objs.count()
startnum, endnum = fenye(request)
objs = objs.order_by('-create_time')[startnum:endnum].values('id', 'waste', 'gen_time', 'gen_count', 'container', 'container_count', 'trans_time', 'trans_count', 'waste__name', 'waste__number', 'goto')
return HttpResponse(transjson(total, objs), content_type="application/json")
elif action == 'create':
data = json.loads(request.body.decode('utf-8'))
obj = DWasteMakeRecord()
obj.waste = Waste.objects.get(id=data['waste'])
obj.create_by = user
obj.update_by = user
obj.usecomp = user.usecomp
obj.gen_time = data['gen_time']
obj.gen_count = data['gen_count']
obj.goto = data['goto']
obj.container = data['container']
obj.container_count = data['container_count']
obj.trans_time = data['trans_time']
obj.trans_count = data['trans_count']
obj.save()
return JsonResponse({"code":1})
elif action == 'delete':
data = json.loads(request.body.decode('utf-8'))
obj = DWasteMakeRecord.objects.get(id=data['id'])
obj.delete()
return JsonResponse({"code":1})
def ApiDWasteKeepRecord(request,action):
user = User.objects.get(userid=request.session['userid'])
if action == 'list':
objs = DWasteKeepRecord.objects.filter(usecomp=user.usecomp, is_deleted=False)
if request.GET.get('waste', None):
objs = objs.filter(waste=request.GET.get('waste'))
total = objs.count()
startnum, endnum = fenye(request)
objs = objs.order_by('-create_time')[startnum:endnum].values('id', 'waste', 'in_time', 'in_count', 'source', 'container', 'container_count', 'place', 'out_time', 'out_count', 'waste__name', 'waste__number', 'goto')
return HttpResponse(transjson(total, objs), content_type="application/json")
elif action == 'create':
data = json.loads(request.body.decode('utf-8'))
obj = DWasteKeepRecord()
obj.waste = Waste.objects.get(id=data['waste'])
obj.create_by = user
obj.update_by = user
obj.usecomp = user.usecomp
obj.in_time = data['in_time']
obj.in_count = data['in_count']
obj.source = data['source']
obj.place = data['place']
obj.goto = data['goto']
obj.container = data['container']
obj.container_count = data['container_count']
obj.out_time = data['out_time']
obj.out_count = data['out_count']
obj.save()
return JsonResponse({"code":1})
elif action == 'delete':
data = json.loads(request.body.decode('utf-8'))
obj = DWasteKeepRecord.objects.get(id=data['id'])
obj.delete()
return JsonResponse({"code":1})
def ApiDWasteHandleRecord(request,action):
user = User.objects.get(userid=request.session['userid'])
if action == 'list':
objs = DWasteHandleRecord.objects.filter(usecomp=user.usecomp, is_deleted=False)
if request.GET.get('waste', None):
objs = objs.filter(waste=request.GET.get('waste'))
total = objs.count()
startnum, endnum = fenye(request)
objs = objs.order_by('-create_time')[startnum:endnum].values('id', 'waste', 'accept_time', 'accept_count', 'source', 'container', 'container_count', 'handle_time', 'handle_method', 'waste__name', 'waste__number')
return HttpResponse(transjson(total, objs), content_type="application/json")
elif action == 'create':
data = json.loads(request.body.decode('utf-8'))
obj = DWasteHandleRecord()
obj.waste = Waste.objects.get(id=data['waste'])
obj.create_by = user
obj.update_by = user
obj.usecomp = user.usecomp
obj.accept_time = data['accept_time']
obj.accept_count = data['accept_count']
obj.source = data['source']
obj.container = data['container']
obj.container_count = data['container_count']
obj.handle_time = data['handle_time']
obj.handle_method = data['handle_method']
obj.save()
return JsonResponse({"code":1})
elif action == 'delete':
data = json.loads(request.body.decode('utf-8'))
obj = DWasteHandleRecord.objects.get(id=data['id'])
obj.delete()
return JsonResponse({"code":1})
def ApiDrain(request, action):
user = User.objects.get(userid=request.session['userid'])
if action == 'list':
objs = Drain.objects.filter(usecomp=user.usecomp, is_deleted=False)
total = objs.count()
startnum, endnum = fenye(request)
objs = objs.order_by('id')[startnum:endnum].values('id', 'number', 'name')
return HttpResponse(transjson(total, objs), content_type="application/json")
elif action == 'combobox':
objs = Drain.objects.filter(usecomp=user.usecomp, is_deleted=False).order_by('id')
data = objs.values('id', 'number', 'name')
return JsonResponse(list(data), safe=False)
elif action == 'create':
data = json.loads(request.body.decode('utf-8'))
obj= Drain()
obj.number = data['number']
obj.name = data['name']
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 = Drain.objects.get(id=data['id'])
obj.delete()
return JsonResponse({"code":1})
elif action == 'update':
data = json.loads(request.body.decode('utf-8'))
obj = Drain.objects.get(id=data['id'])
obj.number = data['number']
obj.name = data['name']
obj.update_by=user
obj.save()
return JsonResponse({"code":1})
def ApiGasEmit(request,action):
user = User.objects.get(userid=request.session['userid'])
if action == 'list':
objs = GasEmit.objects.filter(usecomp=user.usecomp, is_deleted=False)
if request.GET.get('drain', None):
objs = objs.filter(drain=request.GET.get('drain'))
total = objs.count()
startnum, endnum = fenye(request)
objs = objs.order_by('-create_time')[startnum:endnum].values('id', 'drain', 'watch_time', 'out_smoke', 'out_o2', 'out_so2', 'out_so2_s', 'out_particle', 'out_particle_s', 'drain__name', 'drain__number'
, 'out_nox', 'out_nox_s', 'in_smoke', 'in_o2', 'in_so2', 'in_so2_s', 'in_particle', 'in_particle_s'
, 'in_nox', 'in_nox_s')
return HttpResponse(transjson(total, objs), content_type="application/json")
elif action == 'create':
data = json.loads(request.body.decode('utf-8'))
obj = GasEmit()
obj.drain = Drain.objects.get(id=data['drain'])
obj.create_by = user
obj.update_by = user
obj.usecomp = user.usecomp
obj.watch_time = data['watch_time']
obj.out_smoke = data['out_smoke']
obj.out_o2 = data['out_o2']
obj.out_so2 = data['out_so2']
obj.out_so2_s = data['out_so2_s']
obj.out_particle = data['out_particle']
obj.out_particle_s = data['out_particle_s']
obj.out_nox = data['out_nox']
obj.out_nox_s = data['out_nox_s']
obj.in_smoke = data['in_smoke']
obj.in_o2 = data['in_o2']
obj.in_so2 = data['in_so2']
obj.in_so2_s = data['in_so2_s']
obj.in_particle = data['in_particle']
obj.in_particle_s = data['in_particle_s']
obj.in_nox = data['in_nox']
obj.in_nox_s = data['in_nox_s']
obj.save()
return JsonResponse({"code":1})
elif action == 'delete':
data = json.loads(request.body.decode('utf-8'))
obj = GasEmit.objects.get(id=data['id'])
obj.delete()
return JsonResponse({"code":1})
import numpy as np
from .predict import GM11
def ApiGasPredict(request, element, drainId):
element_list = list(GasEmit.objects.filter(is_deleted=False, drain__id=drainId)\
.order_by('-create_time')[0:5].values_list(element, flat=True))
element_list.reverse()
if len(element_list)>=3:
result = GM11(np.array(element_list), 3)
element_list.extend(result['predict']['value'])
ret = {"code":1, "data":[round(i,2) for i in element_list]}
return JsonResponse(ret)
else:
return JsonResponse({"code":0, "msg":'至少需要三条记录'})