父类故障的添加
from django.shortcuts import render, redirect
from django.views import View
from django import http
import re
import json
import pymysql
from .models import FaultInfo, ChildFaultInfo
from . import utils
from django.core import serializers
class FaultsView(View):
def get(self, request):
return render(request, 'index.html')
class FaultsTypeView(View):
def get(self, request):
faults = FaultInfo.objects.filter()
for i in faults:
print(i.id)
count = ChildFaultInfo.objects.filter(pid=i.id).count()
if count >= 1:
i.text = '查看子故障类型'
else:
i.text = '添加子故障类型'
return render(request, 'faults_type.html', {'faults': faults})
class AddFaultsView(View):
def get(self, request):
return render(request, 'faults_type_add.html')
def post(self, request):
name = request.POST.get('fault_name')
desc = request.POST.get('fault_desc')
print(name, desc)
default = FaultInfo(name=name,
desc=desc)
default.save()
return http.JsonResponse({'state': 'success'})
class DelFaults(View):
def get(self, request):
params = request.GET.get('select').encode('utf-8', 'ignore').decode('utf-8')
print(type(params))
params = re.findall(r'\d+', params)
print(params)
params = [int(i) for i in params]
for i in params:
print(i)
FaultInfo.objects.filter(id=i).delete()
ChildFaultInfo.objects.filter(pid=i).delete()
return render(request, 'index.html')
class NameCountView(View):
def get(self, request, fault_name):
count = FaultInfo.objects.filter(name=fault_name).count()
return http.JsonResponse({'code': 200, 'errmsg': 'OK', 'count': count})
class ModFaultsView(View):
def get(self, request):
return render(request, 'faults_type_mod.html')
def post(self, request):
str = request.path
list = str.split('/')
fault_name = list[-2]
name = request.POST.get('fault_name')
desc = request.POST.get('fault_desc')
fault_data = FaultInfo.objects.get(name=fault_name)
fault_data.name = name
fault_data.desc = desc
fault_data.save()
return http.JsonResponse({'state': 'success'})
class ChildNameCountView(View):
def get(self, request, fault_name):
count = ChildFaultInfo.objects.filter(name=fault_name).count()
return http.JsonResponse({'code': 200, 'errmsg': 'OK', 'count': count})
class GetItemView(View):
def get(self, request):
host_id = request.GET.get('host_id')
conn = pymysql.connect(host='192.168.72.132', port=3306, user='root', passwd='111111', db='cmc', charset='utf8')
sql = "select * from main_citem where hostId= %s"
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
cursor.execute(sql, host_id)
item = cursor.fetchall()
cursor.close()
conn.close()
return http.JsonResponse({'code': 200, 'errmsg': 'OK', 'item': item})
class GetTriggerView(View):
def get(self, request):
item_id = request.GET.get('item_id')
conn = pymysql.connect(host='192.168.72.132', port=3306, user='root', passwd='111111', db='cmc', charset='utf8')
sql = "select * from main_ctrigger where itemId= %s"
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
cursor.execute(sql, item_id)
trigger = cursor.fetchall()
cursor.close()
conn.close()
return http.JsonResponse({'code': 200, 'errmsg': 'OK', 'trigger': trigger})
class GetScriptsView(View):
def get(self, request):
file_list = utils.all_path(r"scripts")
print(file_list)
return http.JsonResponse({'code': 200, 'errmsg': 'OK', 'file_list': file_list})
子类故障
from django.shortcuts import render, redirect
from django.views import View
from django import http
import re
import json
import pymysql
from .models import FaultInfo, ChildFaultInfo
from . import utils
from django.core import serializers
class ChildDelFaults(View):
def get(self, request):
params = request.GET.get('select').encode('utf-8', 'ignore').decode('utf-8')
print(type(params))
params = re.findall(r'\d+', params)
print(params)
params = [int(i) for i in params]
for i in params:
print(i)
ChildFaultInfo.objects.filter(cid=i).delete()
return render(request, 'index.html')
class ChildModFaultsView(View):
def get(self, request):
return render(request, 'child_faults_type_mod.html')
def post(self, request):
str = request.path
list = str.split('/')
fault_name = list[-2]
name = request.POST.get('fault_name')
desc = request.POST.get('fault_desc')
fault_data = ChildFaultInfo.objects.get(name=fault_name)
fault_data.name = name
fault_data.desc = desc
fault_data.save()
return http.JsonResponse({'state': 'success'})
class ChildFaultView(View):
def get(self, request):
str = request.path
list = str.split('/')
fault_name = list[-2]
faults = ChildFaultInfo.objects.filter(pid=fault_name)
p_faults = FaultInfo.objects.filter(id=fault_name)
p_faults = json.loads(serializers.serialize('json', p_faults))
for i in faults:
i.p_name = p_faults[0]['fields']['name']
print(faults)
return render(request, 'child_faults_type.html', {'faults': faults})
class AddChildFaultView(View):
def get(self, request):
return render(request, 'child_faults_add.html')
def post(self, request):
str = request.path
list = str.split('/')
fault_name = list[-3]
pid = fault_name
name = request.POST.get('fault_name')
desc = request.POST.get('fault_desc')
print(name, desc)
default = ChildFaultInfo(pid=pid, name=name,
desc=desc)
default.save()
return http.JsonResponse({'state': 'success'})
class ChildNameCountView(View):
def get(self, request, fault_name):
count = ChildFaultInfo.objects.filter(name=fault_name).count()
return http.JsonResponse({'code': 200, 'errmsg': 'OK', 'count': count})