|
@@ -438,28 +438,41 @@ class ReportPush(object):
|
|
|
mails = ['1285211525@qq.com', 'lijm@elab-plus.com', 'xuanxc@elab-plus.com']
|
|
|
|
|
|
def report_push(self, task_key):
|
|
|
- report_data = self.report_data_query(task_key)
|
|
|
- time_rang = self.get_time_range(task_key)
|
|
|
- xu = XlwtUtil()
|
|
|
- send_info = xu.create_excel(report_data, time_rang, task_key)
|
|
|
- email_util = EmailUtil()
|
|
|
- title, content = self.get_title(task_key, time_rang)
|
|
|
- logs = []
|
|
|
- for value in send_info:
|
|
|
- try:
|
|
|
- email_util.send_mail(title, content, self.mails, value[2])
|
|
|
- log_data = [value[0], value[1], value[2], 1]
|
|
|
- except Exception as e:
|
|
|
- log_data = [value[0], value[1], value[2], -1]
|
|
|
- print(str(e))
|
|
|
- logs.append(log_data)
|
|
|
- self.db.add_some(self.sql_6, logs)
|
|
|
- self.db.close()
|
|
|
- email_util.quit_mail()
|
|
|
- FileUtil.remove_files(7, xu.save_path)
|
|
|
- return 'success!!'
|
|
|
+ message = {}
|
|
|
+ try:
|
|
|
+ report_data = self.report_data_query(task_key)
|
|
|
+ message[1] = '数据查询成功'
|
|
|
+ time_rang = self.get_time_range(task_key)
|
|
|
+ xu = XlwtUtil()
|
|
|
+ send_info = xu.create_excel(report_data, time_rang, task_key)
|
|
|
+ message[2] = '报表文件生成成功'
|
|
|
+ email_util = EmailUtil()
|
|
|
+ title, content = self.get_title_content(task_key, time_rang)
|
|
|
+ logs = []
|
|
|
+ for value in send_info:
|
|
|
+ log_data = []
|
|
|
+ try:
|
|
|
+ if value[2]:
|
|
|
+ email_util.send_mail(title, content, self.mails, value[2])
|
|
|
+ log_data = [value[0], value[1], value[2], 1]
|
|
|
+ except Exception as e:
|
|
|
+ log_data = [value[0], value[1], value[2], -1]
|
|
|
+ print(str(e))
|
|
|
+ logs.append(log_data)
|
|
|
+ message[3] = '邮件发送成功'
|
|
|
+ message['data'] = send_info
|
|
|
+ self.db.add_some(self.sql_6, logs)
|
|
|
+ self.db.close()
|
|
|
+ email_util.quit_mail()
|
|
|
+ FileUtil.remove_files(7, xu.save_path)
|
|
|
+ except Exception as e:
|
|
|
+ print(str(e))
|
|
|
+ message['error'] = str(e)
|
|
|
+ pass
|
|
|
+ finally:
|
|
|
+ return message
|
|
|
|
|
|
- def get_title(self, task_key, time_range):
|
|
|
+ def get_title_content(self, task_key, time_range):
|
|
|
if task_key == 1:
|
|
|
return '移动案场订阅日报[{}]'.format(time_range[0]), '本期间内【{}】至【{}】的数据报告已经准备完成。请点击附件查阅。'.format(time_range[0], time_range[1])
|
|
|
elif task_key in (2, 3):
|