Skip to content

Commit

Permalink
前端更新,修复bug。
Browse files Browse the repository at this point in the history
  • Loading branch information
jiangjiahe committed Nov 20, 2018
1 parent a22c088 commit 8448a14
Show file tree
Hide file tree
Showing 53 changed files with 321 additions and 173 deletions.
4 changes: 2 additions & 2 deletions DataEcharts/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,8 +116,8 @@
# 'USER': 'root',
# 'PASSWORD': '123456',
# 测试环境
# 'NAME': 'DjangoEcharts_test',
'NAME': 'DjangoEcharts',
'NAME': 'DjangoEcharts_test',
# 'NAME': 'DjangoEcharts',
'USER': 'root',
'PASSWORD': '123456',
'HOST': 'localhost',
Expand Down
5 changes: 2 additions & 3 deletions report/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,7 @@ class StatisticsQuarterlyQuality(models.Model):

class Meta:
db_table = 'report_statistics_quarterly_quality'
unique_together = ('beginDate', 'endDate', 'city')

# unique_together = ('beginDate', 'endDate', 'city')

class StatisticsQuarterlySpecificDealtimeAmount(models.Model):
area = models.CharField(max_length=6, blank=True, null=True)
Expand Down Expand Up @@ -118,7 +117,7 @@ class StatisticsMonthlyQuality(models.Model):

class Meta:
# managed = False
unique_together = ('yearNum', 'monthNum', 'city')
# unique_together = ('yearNum', 'monthNum', 'city')
db_table = 'report_statistics_monthly_quality'


Expand Down
65 changes: 33 additions & 32 deletions report/statistics_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,38 +111,39 @@ def get(self, request, begin_date, end_date):
# print(begin_date, end_date)
st = datetime.datetime.now()
result_json = dict()
try:
qs = StatisticsQuarterlyQuality.objects.filter(beginDate=begin_date, endDate=end_date, area__isnull=False)
if qs:
result_json = dict(result=[])
for item in qs:
d = model_to_dict(item)
d.pop('id'),
d.pop('beginDate')
d.pop('endDate')
for key in d:
d[key] = str(d[key])
result_json['result'].append(d)
result_json['status'] = 'success'
else:
result_json = collect_deal_quality(5, 2018, 1, 1, 1, begin_date, end_date)
rs = result_json['result']
for r in rs:
StatisticsQuarterlyQuality.objects.get_or_create(beginDate=begin_date, endDate=end_date,
city=r.get('city', ''))
StatisticsQuarterlyQuality.objects.filter(beginDate=begin_date, endDate=end_date,
city=r.get('city', '')).update(area=r.get('area'),
IntimeRate=r.get('IntimeRate', ''),
SignRate=r.get('SignRate', ''),
Over48Rate=r.get('Over48Rate', ''),
AverageTime=r.get('AverageTime', ''))
result_json['process_time'] = str(datetime.datetime.now() - st)
return JsonResponse(data=result_json, safe=False)
# try:
qs = StatisticsQuarterlyQuality.objects.filter(beginDate=begin_date, endDate=end_date, area__isnull=False)
if qs:
result_json = dict(result=[])
for item in qs:
d = model_to_dict(item)
d.pop('id'),
d.pop('beginDate')
d.pop('endDate')
for key in d:
d[key] = str(d[key])
result_json['result'].append(d)
result_json['status'] = 'success'
else:
result_json = collect_deal_quality(5, 2018, 1, 1, 1, begin_date, end_date)
rs = result_json['result']
for r in rs:
StatisticsQuarterlyQuality.objects.get_or_create(beginDate=begin_date, endDate=end_date,
city=r.get('city', ''))
StatisticsQuarterlyQuality.objects.filter(beginDate=begin_date, endDate=end_date,
city=r.get('city', '')) \
.update(area=r.get('area'),
IntimeRate=float(r.get('IntimeRate', '')),
SignRate=float(r.get('SignRate', 0)),
Over48Rate=float(r.get('Over48Rate', '')),
AverageTime=float(r.get('AverageTime', '')))
result_json['process_time'] = str(datetime.datetime.now() - st)
return JsonResponse(data=result_json, safe=False)

except Exception as e:
result_json['status'] = 'fail'
result_json['msg'] = str(e)
return JsonResponse(data=result_json, safe=False)
# except Exception as e:
result_json['status'] = 'fail'
result_json['msg'] = str(e)
return JsonResponse(data=result_json, safe=False)


class SpecificDealtimeAmountView(View):
Expand Down Expand Up @@ -422,7 +423,7 @@ def get(self, request, year, month):
try:
rs_list = []
sorted_list = []
qs = StatisticsMonthlyQuality.objects.filter(yearNum=year, monthNum=month)
qs = StatisticsMonthlyQuality.objects.filter(yearNum=year, monthNum=int(month))
cities = City.objects.all()
for q in qs:
d = dict()
Expand Down
2 changes: 1 addition & 1 deletion report/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
path('intimerate/<str:begin_date>/<str:end_date>/', cache_page(60 * 60 * 24)(IntimeRateView.as_view())),
path('dealtime/<str:begin_date>/<str:end_date>/', cache_page(60 * 60 * 24)(DealtimeView.as_view())),
path('over48rate/<str:begin_date>/<str:end_date>/', cache_page(60 * 60 * 24)(Over48RateView.as_view())),
path('quality/<str:begin_date>/<str:end_date>/', cache_page(60 * 60 * 24)(DealQualityView.as_view())),
path('quality/<str:begin_date>/<str:end_date>/', DealQualityView.as_view()),
path('specific/<str:begin_date>/<str:end_date>/', cache_page(60 * 60 * 24)(SpecificDealtimeAmountView.as_view())),
path('top10ne/<int:year>/<int:month>', Top10NeView.as_view()),
path('amountcompare/<int:year>/<int:month>', cache_page(60 * 60 * 24)(SumAmountComparedView.as_view())),
Expand Down
14 changes: 14 additions & 0 deletions templates/report.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8>
<meta name=viewport content="width=device-width,initial-scale=1">
<title>datavisual</title>
<link href={{ STATIC_URL }}css/app.d457bb2d504c1188e4938035fe0d1018.css rel=stylesheet>
</head>
<body>
<div id=app></div>
<script type=text/javascript src={{ STATIC_URL }}js/manifest.478016749db4aab8ae6f.js></script>
<script type=text/javascript src={{ STATIC_URL }}js/app.766933d9e4c1458838bd.js></script>
</body>
</html>
36 changes: 6 additions & 30 deletions utils/data_collect.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,6 @@ def collect_order_amount_table(statistics_type, year, quarter=1, month=1, day=1,
# 构建list
order_amount_list = []
try:
if statistics_type != 5:
msg = collect_order_amount(statistics_type, year, quarter=quarter, month=month, day=day)
if msg:
return {'msg': msg, 'status': 'fail'}
# 珠1地区 Pearl River Delta 1
prd_1_amount = get_district_order_amount(statistics_type=statistics_type, year=year, quarter=quarter, month=month, day=day,
begin_datetime=begin_datetime, end_datetime=end_datetime)
Expand Down Expand Up @@ -106,22 +102,7 @@ def get_district_order_amount(statistics_type, year, quarter, month, day, begin_
amount_item = dict()
amount_item['area'] = area
amount_item['city'] = i
if result_list and statistics_type != 5:
city_result_list = result_list.filter(city=i)
transmission = city_result_list.filter(profession="传输")[0].result if city_result_list.filter(profession="传输") else 0
dynamics = city_result_list.filter(profession="动力")[0].result if city_result_list.filter(profession="动力") else 0
exchange = city_result_list.filter(profession="交换")[0].result if city_result_list.filter(profession="交换") else 0
AN = city_result_list.filter(profession="接入网")[0].result if city_result_list.filter(profession="接入网") else 0
wireless = city_result_list.filter(profession="无线")[0].result if city_result_list.filter(profession="无线") else 0
sum_amount = transmission + dynamics + exchange + AN + wireless
amount_item['transmission'] = transmission
amount_item['dynamics'] = dynamics
amount_item['exchange'] = exchange
amount_item['AN'] = AN
amount_item['wireless'] = wireless
amount_item['sum'] = sum_amount
order_amount.append(amount_item)
elif result_list and statistics_type == 5:
if result_list:
city_result_list = result_list.filter(city=i)
transmission = city_result_list.get(profession="传输").get('result', 0)
dynamics = city_result_list.get(profession="动力").get('result', 0)
Expand All @@ -139,29 +120,24 @@ def get_district_order_amount(statistics_type, year, quarter, month, day, begin_
else:
raise Exception("数据库中无相关数据,时间区间:%s-%s ;类型:%s,;"
"%s-%s-%s 季度:%s" % (begin_datetime, end_datetime, statistics_type, year, month, day, quarter))
district_order_amount = sorted(order_amount, key=operator.itemgetter('sum'), reverse=True)
# district_order_amount = sorted(order_amount, key=operator.itemgetter('sum'), reverse=True)
ls = ['transmission', 'dynamics', 'exchange', 'AN', 'wireless', 'sum']
for i in district_order_amount:
for i in order_amount:
for p in ls:
i[p] = str(i.get(p))
order_amount_list += district_order_amount
order_amount_list += order_amount
return order_amount_list


# 根据地区id获取城市列表
def get_cities_by_district_id(district_id):
district_city = DistrictCity.objects.filter(district=district_id)
city_ids = []
for i in district_city:
city_ids.append(i.city_id)
cities = []
for i in City.objects.filter(id__in=city_ids):
for i in City.objects.filter(districtcity__district=district_id):
cities.append(i.city)
return cities

# 按年度,季度进行工单处理及时率汇总,返回已排序的{区域:[{城市:工单处理及时率}]}字典


# 按年度,季度进行工单处理及时率汇总,返回已排序的{区域:[{城市:工单处理及时率}]}字典
def collect_deal_in_time_rate(statistics_type, year, quarter=1, month=1, day=1, begin_datetime="", end_datetime=""):
# 构建dict
deal_in_time_rate_dict = {}
Expand Down
1 change: 1 addition & 0 deletions utils/data_collect_AN.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ def get_top10_ne(begin_datetime, end_datetime, profession):
malfunctionSource='集中告警系统报故障',
type='处理',
ne__isnull=False) \
.exclude(ne='') \
.values('city', 'ne') \
.annotate(distributeAmount=Count('ne')) \
.order_by('distributeAmount') \
Expand Down
15 changes: 0 additions & 15 deletions vue-dist/report.html

This file was deleted.

4 changes: 0 additions & 4 deletions vue-dist/static/css/app.48a039a69f08fb41c6bcdd499574c375.css

This file was deleted.

This file was deleted.

4 changes: 0 additions & 4 deletions vue-dist/static/css/app.64e8068eb0767b278867cfe966f3c869.css

This file was deleted.

This file was deleted.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

File renamed without changes.
87 changes: 87 additions & 0 deletions vue-dist/static/js/0.7483aa4543cebf0625c5.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions vue-dist/static/js/0.7483aa4543cebf0625c5.js.map

Large diffs are not rendered by default.

Loading

0 comments on commit 8448a14

Please sign in to comment.