# -*- coding: utf-8 -*- # @Author: Owl # @Date: 2026/5/11 15:19 # @Description: 导出文件的公共函数部分 import hashlib from datetime import datetime def gen_report_file_name(cross_name, date_list, tp_info, parts, gen_report_date): """生成报告文件名""" date_str = ','.join(date_list) parts_str = ','.join(parts) tp_info_str = str(tp_info) md5_boj = hashlib.md5() md5_boj.update((date_str + tp_info_str + parts_str + gen_report_date).encode('utf-8')) suffix = md5_boj.hexdigest() return f'{cross_name}_{suffix}' def gen_date_range_str(date_list): if len(date_list) == 1: return datetime.strptime(date_list[0], '%Y%m%d').strftime('%Y年%m月%d日') min_date = min(date_list) max_date = max(date_list) min_date_str = datetime.strptime(min_date, '%Y%m%d').strftime('%Y年%m月%d日') max_date_str = datetime.strptime(max_date, '%Y%m%d').strftime('%Y年%m月%d日') return f'{min_date_str}-{max_date_str}' def compare_service_level(obj1, obj2): priority_map = {'A': 0, 'B': 1, 'C': 2, 'D': 3, 'E': 4, 'F': 5} if obj1 == '-' or obj2 == '-': return None val1 = priority_map.get(obj1) # d 3 val2 = priority_map.get(obj2) # c 2 if val1 is None or val2 is None: return None return val1 - val2