Commit 17ff845b authored by Kerwin_Cui's avatar Kerwin_Cui

统计报表

parent 3cd50e1b
......@@ -22,7 +22,8 @@ DATABASES = {
'NAME': 'event_analysis_new', # 数据库名 (默认与APP_ID相同)
'USER': 'root', # 你的数据库user
'PASSWORD': 'zorkdata.8888', # 你的数据库password
'HOST':'10.240.5.231', # 开发的时候,使用localhost
'HOST': '192.168.3.218',
# 'HOST':'10.240.5.231', # 开发的时候,使用localhost
'PORT': '3306', # 默认3306
}
}
......@@ -2201,22 +2201,22 @@ def create_alarm(request):
other_autoname = data['other_autoname']
monitor_name = data['monitor_name']
if_icube = data['if_icube']
time = alarm_time.replace('T', ' ')
time = time[0:-5]
time = datetime.datetime.strptime(time, "%Y-%m-%d %H:%M:%S")
time = (time + datetime.timedelta(hours=8)).strftime("%Y-%m-%d %H:%M:%S")
time = time.replace('-', '')
# time = alarm_time.replace('T', ' ')
# time = time[0:-5]
# time = datetime.datetime.strptime(time, "%Y-%m-%d %H:%M:%S")
# time = (time + datetime.timedelta(hours=8)).strftime("%Y-%m-%d %H:%M:%S")
time = alarm_time.replace('-', '')
time = time.replace(' ', '')
time = time.replace(':', '')
alarm_number = 'alarm_' + time
alarm_time = alarm_time.replace('T', ' ')
alarm_time = alarm_time[0:-5]
# alarm_time = alarm_time.replace('T', ' ')
# alarm_time = alarm_time[0:-5]
alarm_time = datetime.datetime.strptime(alarm_time, "%Y-%m-%d %H:%M:%S")
alarm_time = (alarm_time + datetime.timedelta(hours=8))
recover_time = recover_time.replace('T', ' ')
recover_time = recover_time[0:-5]
# alarm_time = (alarm_time + datetime.timedelta(hours=8))
# recover_time = recover_time.replace('T', ' ')
# recover_time = recover_time[0:-5]
recover_time = datetime.datetime.strptime(recover_time, "%Y-%m-%d %H:%M:%S")
recover_time = (recover_time + datetime.timedelta(hours=8))
# recover_time = (recover_time + datetime.timedelta(hours=8))
client = get_client_by_request(request)
bk_token = request.COOKIES.get('bk_token')
......@@ -2623,8 +2623,8 @@ def alarm_count_info(request):
def monitor_excel(request):
try:
# req = json.loads(request.body)
user_list = [u'叶飞']
req = json.loads(request.body)
user_list = req['list']
event_list = EventInfo.objects.all()
total = 0
......@@ -2635,19 +2635,29 @@ def monitor_excel(request):
event_total = event_list.filter(processing_person=i)
total += len(event_total)
event_number_list = []
if event_total:
for j in event_total:
event_number_list.append(j.event_number)
for number in event_number_list:
event_alarm = FailureAnalysis.objects.get(event_number=number)
if event_alarm.related_alarm_info == u'1' or event_alarm.related_alarm_info == u'7' or event_alarm.related_alarm_info == u'2':
event_alarm = FailureAnalysis.objects.filter(event_number=number)
if event_alarm:
if event_alarm[0].related_alarm_info == u'1' or event_alarm[0].related_alarm_info == u'7' or event_alarm[0].related_alarm_info == u'2':
have_alarm += 1
event_auto = UrgencyMeasure.objects.get(event_number=number)
if event_auto.urgency_auto_info == u'4' or event_auto.urgency_auto_info == u'8':
event_auto = UrgencyMeasure.objects.filter(event_number=number)
if event_auto:
if event_auto[0].urgency_auto_info == u'4' or event_auto[0].urgency_auto_info == u'8':
have_auto += 1
if total == 0:
alarmNumber = 0
autoNumber = 0
else:
alarmNumber = (float(have_alarm)/float(total))*100
autoNumber = (float(have_auto)/float(total))*100
alarmNumber = str(alarmNumber)+'%'
autoNumber = str(autoNumber)+'%'
workbook = xlwt.Workbook(encoding='utf-8')
data_sheet = workbook.add_sheet('demo')
......@@ -2655,7 +2665,7 @@ def monitor_excel(request):
for i in range(4):
data_sheet.write(0, i, row0[i], set_style(u'宋体', 220, True))
data_list = [u'组',str(total),u'50',u'30']
data_list = [req['group'],str(total),str(alarmNumber),str(autoNumber)]
for i in range(4):
data_sheet.write(1, i, data_list[i], set_style(u'宋体', 220, False))
......@@ -2663,9 +2673,9 @@ def monitor_excel(request):
return render_json(
{
"result": True,
"message": u"查询数据成功",
"code": 0,
"results": {},
"message": u"生成文件成功",
"data": 1
}
)
except Exception as e:
......
......@@ -99,8 +99,7 @@
</el-form-item>
<el-form-item label="是否为工作日:" class="normal" label-width="200px">
<el-radio-group style="margin-left: 5px;" @change="changeAuto"
v-model="formLine.if_workday">
<el-radio-group style="margin-left: 5px;" v-model="formLine.if_workday">
<el-radio :label="3"></el-radio>
<el-radio :label="4"></el-radio>
</el-radio-group>
......@@ -706,6 +705,7 @@
type: 'success',
message: res.message
});
window.location.href = "${SITE_URL}error_alarm"
//this.dellabelshow = false
//this.getLabel()
}else{
......@@ -716,9 +716,8 @@
this.dellabelshow = false
}
});
window.history.go(-1)
} else {
console.log('新建');
axios.post('${SITE_URL}create_alarm/', this.formLine).then(res => {
if(res.code==0){
this.$message({
......
......@@ -57,7 +57,7 @@
</el-col>
<el-col :span="20">
<el-form-item label="行政组" style="display:inline-block;" label-width="130px">
<el-select style="width:200px;" clearable v-model="group" >
<el-select style="width:200px;" clearable filterable v-model="group" >
<el-option v-for="item in GroupOp"
:key="item.value"
:label="item.label"
......@@ -390,12 +390,50 @@
methods: {
async monitorOut(){
if ()
if (!this.group){
vm.$message(
{
type: 'error',
message: "请选择行政组!"
}
)
} else {
await this.group_data();
vm.$message({
type: 'success',
message: '下载成功'
});
this.download_monitor();
this.group = ''
}
},
group_data(){
let finallist = [];
if(this.userGroup && this.group){
for (let temp of this.userGroup) {
if (temp.group_name == this.group) {
finallist = temp.group_user
}
}
}
return new Promise((resolve,reject)=>{
axios.post('${SITE_URL}monitor_excel/',{'list':finallist,"group":this.group}).then(res => {
if (res.data == 1) {
resolve('ok')
}
})
})
},
download_monitor(){
window.location.href = "${SITE_URL}download_monitor";
},
//查询
searchList() {
this.currentPage = 1;
this.count = 0
this.count = 0;
this.getTaskList()
},
getUserGroup() {
......
No preview for this file type
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment