From e28007f5b07deb5dae33613ba385d4a7a29cf946 Mon Sep 17 00:00:00 2001 From: Voge1imkafig <2390349500@qq.com> Date: Tue, 8 Jul 2025 18:17:02 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E4=BA=86=E9=83=A8=E4=BB=B6/?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E7=9A=84=E7=BB=93=E6=9E=84=E5=8C=96=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Generate_Report.py | 338 ++++++++---------- muban/xiangmugaikuo.docx | Bin 16308 -> 13923 bytes ...雷一期012号2025年07月08日版3.docx | Bin 0 -> 78360 bytes tools/Get_Json.py | 11 +- tools/__pycache__/API.cpython-313.pyc | Bin 457 -> 457 bytes tools/__pycache__/Get_Json.cpython-313.pyc | Bin 4591 -> 5000 bytes .../__pycache__/dataproccess.cpython-313.pyc | Bin 0 -> 4968 bytes tools/__pycache__/defines.cpython-313.pyc | Bin 4911 -> 6855 bytes .../__pycache__/get_pictures.cpython-313.pyc | Bin 10736 -> 11859 bytes tools/dataproccess.py | 106 ++++++ tools/defines.py | 70 ++-- tools/get_pictures.py | 4 +- 12 files changed, 316 insertions(+), 213 deletions(-) create mode 100644 output/三峡能源阿城万兴风电场防雷通道检测项目项目叶片外观、内部、防雷一期012号2025年07月08日版3.docx create mode 100644 tools/__pycache__/dataproccess.cpython-313.pyc create mode 100644 tools/dataproccess.py diff --git a/Generate_Report.py b/Generate_Report.py index fd42563..692aea6 100644 --- a/Generate_Report.py +++ b/Generate_Report.py @@ -16,10 +16,16 @@ from tools.get_pictures import ( process_picture_data ) -from tools.Get_Json import (get_project_info,get_jizu_info, - get_jizu_shigong_info,get_weather, - get_picture) +from tools.Get_Json import ( + get_project_info,get_jizu_info, + get_jizu_shigong_info,get_weather, + get_part_picture +) +from tools.dataproccess import ( + caculate_work_days,add_dynamic_table, + get_year_month,merge_info, +) import asyncio @@ -29,91 +35,6 @@ from tools.defines import * import os, re, datetime from pathlib import Path -async def add_dynamic_table(output_doc, output_dir, table_num, TABLES, JIANCHA_XIANGQING_DIR, PICTURES, row, col, i, FLAG, xuhao): - """创建动态表 - - Args: - output_doc (Document): 文档对象 - output_dir (str): 输出目录 - table_num (int): 表格序号 - TABLES (list): 表格数据 - JIANCHA_XIANGQING_DIR (str): 检查详情表目录 - PICTURES (dict): 图片数据字典,键为表索引,值为图片路径列表 - row (int): 行数 - col (int): 列数 - i (int): 表格序号 - FLAG: 其他标志 - - Returns: - tuple: (i, table_num) 更新后的表格序号和表格数量 - """ - for table_idx, Table in enumerate(TABLES): - print(Table) - output_doc, message = await add_table_to_document(output_dir, JIANCHA_XIANGQING_DIR, row, col, i, Table, FLAG) - print(message) - - # 获取当前表格对应的图片 - current_table_pictures = PICTURES.get(table_idx, []) - print(f"开始处理图片列表: {current_table_pictures}") - - for picturedir in current_table_pictures: - try: - print(f"添加 {picturedir} {type(picturedir)}到表格{table_idx}") - resize_and_reduce_quality(picturedir, picturedir) - await add_picture_to_table(output_doc, output_dir, 4, 0, picturedir, i, 4.7232) - except Exception as e: - print(f"添加图片失败:{e}") - - print(await search_and_replace(output_dir, 'tupian_xuhao', f'{xuhao}')) - table_num += 1 - i += 1 - xuhao += 1 - return i, table_num, xuhao - -def get_year_month(date): - """根据格式化date字符串获取年月 'date': '二〇二一年十二月十日 9:00' - - Args: date (str): 日期字符串 - - Returns: 年月字符串 '二〇二一年十二月' - """ - unit_map = {'1' : '一', '2' : '二', '3' : '三', '4' : '四', '5' : '五', '6' : '六', '7' : '七', '8' : '八', '9' : '九', '0' : '〇'} - unit_map_month = {1 : '一', 2 : '二', 3 : '三', 4 : '四', 5 : '五', 6 : '六', 7 : '七', 8 : '八', 9 : '九', 10 : '十', 11 : '十一', 12 : '十二'} - year = date.split('年')[0] - month = date.split('年')[1].split('月')[0] - year = ''.join([unit_map[i] for i in year]) - month = unit_map_month[int(month)] - return f"{year}年{month}月" - -def merge_info(frontend_info, default_info): - """ - 合并前端传入的 info 和默认 info - 规则:如果前端传入的值为空(None 或空字符串),则使用默认值 - - Args: - frontend_info: 前端传入的字典 - default_info: 默认的完整字典 - Returns: - 合并后的完整字典 - """ - if not isinstance(frontend_info, dict) or frontend_info is None: - return default_info.copy() - - merged_info = {} - - for key, default_value in default_info.items(): - # 获取前端传入的值 - frontend_value = frontend_info.get(key) - - # 判断前端值是否为空(None 或空字符串) - if frontend_value is None or frontend_value == "": - merged_info[key] = default_value - else: - merged_info[key] = frontend_value - - return merged_info - - async def generate_report(base_info, baogao_info): #获取模板编号、模板名称 num_to_chinese = {1 : '一', 2 : '二', 3 : '三', 4 : '四', 5 : '五', 6 : '六', 7 : '七', 8 : '八', 9 : '九', 10 : '十', 11 : '十一', 12 : '十二'} @@ -130,6 +51,7 @@ async def generate_report(base_info, baogao_info): jizu_data = get_jizu_info(turbine_id) project_data = get_project_info(jizu_data['projectId']) shigong_data = get_jizu_shigong_info(turbine_id) + try: fengchang_name = project_data['farmName'] Yi_company = project_data['inspectionUnit'] @@ -141,13 +63,18 @@ async def generate_report(base_info, baogao_info): jia_phone = project_data['clientPhone'] jizu_num = project_data['scale'] jizu_xinghao = project_data['turbineModel'] + project_name = project_data['projectName'] + jizu_bianhao = jizu_data["turbineName"] + start_date = project_data['startDate'] + end_date = project_data['endDate'] + gongqi = caculate_work_days(start_date, end_date) except Exception as e: print(f"数据库的项目-机组基本信息获取失败:{e}") return try: baogao_date = datetime.datetime.now().strftime("%Y年%m月%d日 %H:%M") #现在的时间 - + date_year_month = get_year_month(baogao_date) #前端信息 baogao_info = merge_info(baogao_info, DEFAULT_BAOGAO_INFO) @@ -160,14 +87,6 @@ async def generate_report(base_info, baogao_info): if_waibu = baogao_info["if_waibu"] if_neibu = baogao_info["if_neibu"] if_fanglei = baogao_info["if_fanglei"] - image_source_to_find = [] - #获取对应枚举字段 - if if_waibu: - image_source_to_find.append(baogao_info['waibu_enum']) - if if_neibu: - image_source_to_find.append(baogao_info['neibu_enum']) - if if_fanglei: - image_source_to_find.append(baogao_info['fanglei_enum']) quexian_type = baogao_info['quexian_enum'] @@ -176,58 +95,100 @@ async def generate_report(base_info, baogao_info): #数据库拉取信息 Jiancha_date = shigong_data["startTime"].replace("T", " ") #检查日期 - image_count = shigong_data['imageCount'] #从施工方案获取的图片数量,待定 + image_count = shigong_data['imageCount'] #从施工方案获取的图片数量,待定!!! temperature = shigong_data['temperature'] #温度 wind_speed = shigong_data['windSpeed'] #风速 - weather = get_weather(shigong_data["weatherCode"]) #天气 - #拉取图片数据 - picture_data = get_picture(turbine_id) + weather = get_weather(shigong_data["weatherCode"]) #天气 不从此接口获取,待定!!! + + #拉取部件、图片数据 + part_data, picture_data = get_part_picture(turbine_id) + + #获取叶片信息 + print(part_data) + Yepians = [] + yepian_to_find = ["叶片1","叶片2","叶片3"] + #依次获取叶片1,2,3的信息(未考虑多个同叶片的信息情况,正常情况下不会发生) + for name in yepian_to_find: + # 找到第一个匹配的部件并添加到列表中 + for part in part_data: + if part['partName'] == name: + Yepians.append(part) + print(Yepians) + print(f"找到叶片号{[yepian["partCode"] for yepian in Yepians]}") + Y_Code = [yepian["partCode"] for yepian in Yepians] + + image_source_to_find = [] + baogao_label = [] + renyuan_peizhi = [] + gongzuo_neirong = [] + shigong_fangan = [] + shebei_peizhi = [] + beizhu = [] + jiancha = [] + neirong = [] + #获取对应枚举字段 + if if_waibu: + baogao_label.append("外观") + image_source_to_find.append(baogao_info['waibu_enum']) + if baogao_info["shigong_fangan"] == "None": + print("未传入施工方案,使用已有枚举") + renyuan_peizhi.append(SHIGONG_FANGAN_ENUM.WAIBU.RENYUAN_PEIZHI) + gongzuo_neirong.append(SHIGONG_FANGAN_ENUM.WAIBU.GONGZUO_NEIRONG) + shebei_peizhi.append(SHIGONG_FANGAN_ENUM.WAIBU.SHEBEI_PEIZHI) + shigong_fangan.append(SHIGONG_FANGAN_ENUM.WAIBU.SHIGONG_FANGAN) + else: + pass #待添加如果从平台传入枚举,但目前没必要,如果这种枚举标准信息库有更好的优化则可以实现 + jiancha.append("无人机近距离外观检查") + neirong.append(f"、".join(Y_Code) + "三支叶片的前缘、后缘、迎风面、背风面。") + if if_neibu: + baogao_label.append("内部") + image_source_to_find.append(baogao_info['neibu_enum']) + if baogao_info["shigong_fangan"] == "None": + renyuan_peizhi.append(SHIGONG_FANGAN_ENUM.NEIBU.RENYUAN_PEIZHI) + gongzuo_neirong.append(SHIGONG_FANGAN_ENUM.NEIBU.GONGZUO_NEIRONG) + shebei_peizhi.append(SHIGONG_FANGAN_ENUM.NEIBU.SHEBEI_PEIZHI) + shigong_fangan.append(SHIGONG_FANGAN_ENUM.NEIBU.SHIGONG_FANGAN) + else: + pass + jiancha.append("人工内部拍摄") + neirong.append(f"、".join(Y_Code) + "三支叶片的内部导雷卡、腹板、透光、人孔盖版、叶根盖板...") + if if_fanglei: + baogao_label.append("防雷") + image_source_to_find.append(baogao_info['fanglei_enum']) + if baogao_info["shigong_fangan"] == "None": + renyuan_peizhi.append(SHIGONG_FANGAN_ENUM.FANGLEI.YEPIAN.RENYUAN_PEIZHI) + gongzuo_neirong.append(SHIGONG_FANGAN_ENUM.FANGLEI.YEPIAN.GONGZUO_NEIRONG) + shebei_peizhi.append(SHIGONG_FANGAN_ENUM.FANGLEI.YEPIAN.SHEBEI_PEIZHI) + shigong_fangan.append(SHIGONG_FANGAN_ENUM.FANGLEI.YEPIAN.SHIGONG_FANGAN) + else: + pass + jiancha.append("人工防雷") + neirong.append(f"轮毂至塔基导通、内部导线线阻、外部导线线阻...") + #获取缺陷图列表和典型图列表 - defect_pictures, typical_pictures = process_picture_data(picture_data, image_source_to_find) - #处理图片数据 + defect_pictures, typical_pictures = process_picture_data(picture_data, image_source_to_find, quexian_type, dianxing_type) + print(f"\n\n\n缺陷图片列表:{defect_pictures}\n\n\n典型图片列表:{typical_pictures}\n\n\n") + + #处理图片数据待完成,图片绑定施工后 + defect_pictures_id = [pic for pic in defect_pictures] - date_year_month = get_year_month(baogao_date) - - project_number = baogao_info['jizu_type'] - baogao_type = baogao_info['baogao_type'] - Jiancha_renyuan = baogao_info['jiancha_renyuan'] - shebei_peizhi = baogao_info['shebei_peizhi'] - shigong_fangan = baogao_info['shigong_fangan'] - renyuan_peizhi = baogao_info['renyuan_peizhi'] - gongzuo_neirong = baogao_info['gongzuo_neirong'] - beizhu = baogao_info['beizhu'] - - Jiancha_location = baogao_info['jiancha_location'] - Jiancha_fangshi = baogao_info['jiancha_fangshi'] - Changjia = baogao_info['yepian_changjia'] - - yezhu_renyuan = baogao_info['yezhu_renyuan'] - changjia_renyuan = baogao_info['changjia_renyuan'] - data_process = baogao_info['date_process'] - baogao_bianzhi = baogao_info['baogao_bianzhi'] - baogao_shenghe = baogao_info['baogao_shenghe'] - shenghe_date = baogao_info['shenghe_date'] - - Y1_jiancha = baogao_info['Y1_jiancha_neirong'] - Y2_jiancha = baogao_info['Y2_jiancha_neirong'] - Y3_jiancha = baogao_info['Y3_jiancha_neirong'] + baogao_bianzhi = baogao_info["userName"] + baogao_shenghe = baogao_info["baogaoCheck"] except Exception as e: print(f"报告基本信息获取失败:{e}") return normal_picture_num = 0 - Y1 = "t" - Y2 = "t" - Y3 = "t" output_doc = None head_num = 1 ###封面创建### cover_dirs = [os.path.join(muban_dir,"fengmian1.docx"),os.path.join(muban_dir,"fengmian.jpg"),os.path.join(muban_dir,"fengmian2.docx")] #输出目录 - output_dir = os.path.normpath(f"{shengcheng_dir}/{fengchang_name}项目{baogao_type}{project_number}{baogao_date.split(' ')[0]}版.docx") + baogao_name = "叶片" + "、".join(baogao_label) + output_dir = os.path.normpath(f"{shengcheng_dir}/{project_name}项目{baogao_name}{jizu_bianhao}{baogao_date.split(' ')[0]}版.docx") version = 1 while os.path.exists(output_dir): @@ -237,19 +198,7 @@ async def generate_report(base_info, baogao_info): output_dir = output_dir.replace("版",f"版{version}") version += 1 - ifwaibu = baogao_info['waibu_jiancha'] - ifneibu = baogao_info['neibu_jiancha'] - iffanglei = baogao_info['fanglei_jiancha'] - parts = [] - if ifwaibu: - parts.append("叶片外观") - if ifneibu: - parts.append("叶片内部") - if iffanglei: - parts.append("叶片防雷") - if not parts: - print("前端未指定检查内容") - mianzhe_shengming = f"本报告仅涵盖{'、'.join(parts)}检测内容" + mianzhe_shengming = f"本报告仅涵盖{'、'.join(baogao_label)}检测内容" #创建文档、添加封面 print(await create_document(output_dir)) @@ -259,12 +208,12 @@ async def generate_report(base_info, baogao_info): print("封面创建成功") #更改文档信息 - print(await search_and_replace(output_dir, TITLE_OF_REPORT, project_number)) - print(await search_and_replace(output_dir, baogao_name1, baogao_type)) - print(await search_and_replace(output_dir, baogao_name2, baogao_type)) + print(await search_and_replace(output_dir, TITLE_OF_REPORT, jizu_bianhao)) + print(await search_and_replace(output_dir, baogao_name1, baogao_name)) + print(await search_and_replace(output_dir, baogao_name2, baogao_name)) print(await search_and_replace(output_dir, company_name_yi, Yi_company)) print(await search_and_replace(output_dir, cover_project, fengchang_name)) - print(await search_and_replace(output_dir, cover_encode, project_number)) + print(await search_and_replace(output_dir, cover_encode, jizu_bianhao)) print(await search_and_replace(output_dir, cover_date, date_year_month)) print(await search_and_replace(output_dir, 'bianzhi', baogao_bianzhi)) print(await search_and_replace(output_dir, 'shenghe', baogao_shenghe)) @@ -279,20 +228,22 @@ async def generate_report(base_info, baogao_info): company_name_jia = Jia_company fuzeren = yi_fuzeren phone_fuzeren = yi_phone - jizu_bianhao = project_number xiangmuguige = jizu_num Yi_company = Yi_company - XIANGMU_GAIKUO = list(list("" for i in range(5)) for j in range(5)) + XIANGMU_GAIKUO = list(list("" for i in range(6)) for j in range(5)) XIANGMU_GAIKUO[0][1] = fengchang_name #XIANGMU_GAIKUO[0][3]=XIANGMU_GAIKUO[0][4] = "盐城市滨海县" - XIANGMU_GAIKUO[0][3] = project_location + XIANGMU_GAIKUO[0][4] = project_location #XIANGMU_GAIKUO[1][1]=XIANGMU_GAIKUO[2,1]=XIANGMU_GAIKUO[3,1] = "国家电投集团滨海风力发电有限公司" XIANGMU_GAIKUO[1][1] = company_name_jia - XIANGMU_GAIKUO[1][3] = Yi_company - XIANGMU_GAIKUO[2][3] = fuzeren - XIANGMU_GAIKUO[3][4] = phone_fuzeren + XIANGMU_GAIKUO[1][4] = Yi_company + XIANGMU_GAIKUO[2][1] = jia_fuzeren + XIANGMU_GAIKUO[2][4] = fuzeren + XIANGMU_GAIKUO[3][2] = jia_phone + XIANGMU_GAIKUO[3][5] = phone_fuzeren XIANGMU_GAIKUO[4][1] = jizu_xinghao - XIANGMU_GAIKUO[4][4] = xiangmuguige + XIANGMU_GAIKUO[4][3] = xiangmuguige + XIANGMU_GAIKUO[4][5] = gongqi print("建立表结构完毕,开始插入模板") #添加项目概况表 print(f"输出路径:{output_dir},模板路径:{XIANG_MU_GAI_KUANG},插入数据:{XIANGMU_GAIKUO}") @@ -306,10 +257,10 @@ async def generate_report(base_info, baogao_info): #检查方案描述 FANGAN_JIANCHA_DIR = os.path.join(muban_dir,"checkmethod.docx") list_to_replace = { - 'renyuan_peizhi' : renyuan_peizhi, - 'shebei_peizhi' : shebei_peizhi, - 'shigong_fangan' : shigong_fangan, - 'gongzuo_neirong' : gongzuo_neirong, + 'renyuan_peizhi' : "\n".join(renyuan_peizhi), + 'shebei_peizhi' : "\n".join(shebei_peizhi), + 'shigong_fangan' : "\n".join(shigong_fangan), + 'gongzuo_neirong' : "\n".join(gongzuo_neirong), 'beizhu' : beizhu, 'num' : num_to_chinese[head_num], } @@ -318,30 +269,19 @@ async def generate_report(base_info, baogao_info): total_table_num += 1 head_num += 1 - jiancha = [] - neirong = [] - if ifwaibu: - jiancha.append("无人机外部高精度飞行") - neirong.append(f"{Y1}、{Y2}、{Y3}三支叶片的前缘、后缘、迎风面、背风面。") - if ifneibu: - jiancha.append("人工内部拍摄") - neirong.append(f"{Y1}、{Y2}、{Y3}三支叶片的内部导雷卡、腹板、透光、人孔盖版、叶根盖板...") - if iffanglei: - jiancha.append("人工防雷") - neirong.append(f"轮毂至塔基导通、内部导线线阻、外部导线线阻...") JIANCHA_XINGXI_DIR = os.path.join(muban_dir,"checkinfo.docx") JIANCHA_XINGXI = list(list("" for i in range(4)) for j in range(9)) - JIANCHA_XINGXI[0][1] = Jiancha_renyuan + JIANCHA_XINGXI[0][1] = "" JIANCHA_XINGXI[1][1] = Jiancha_date.split(' ')[0] - JIANCHA_XINGXI[1][3] = project_number - JIANCHA_XINGXI[2][1] = Jiancha_location - JIANCHA_XINGXI[2][3] = Jiancha_fangshi - JIANCHA_XINGXI[3][2] = Changjia - JIANCHA_XINGXI[4][1] = '机组编号:' + project_number + '机组' - JIANCHA_XINGXI[5][1] = Y1 - JIANCHA_XINGXI[6][1] = Y2 - JIANCHA_XINGXI[7][1] = Y3 + JIANCHA_XINGXI[1][3] = jizu_bianhao + JIANCHA_XINGXI[2][1] = "风力发电机组" + baogao_name + JIANCHA_XINGXI[2][3] = "、".join(jiancha) + JIANCHA_XINGXI[3][2] = ""#需要使用查看叶片详情接口获取,待完成 + JIANCHA_XINGXI[4][1] = '机组编号:' + jizu_bianhao+ '机组' + JIANCHA_XINGXI[5][1] = Y_Code[0] + JIANCHA_XINGXI[6][1] = Y_Code[1] if len(Y_Code) > 1 else "" + JIANCHA_XINGXI[7][1] = Y_Code[2] if len(Y_Code) > 2 else "" JIANCHA_XINGXI[8][0] = "本次" + "、".join(_ for _ in jiancha) + f"检查,采集叶片图片{normal_picture_num}张,内容覆盖" + ";".join(_ for _ in neirong) # if total_picture_dir == "": # Thumbnail_Picture = await make_Thumbnail(Picture_dir, Picture_dir)#添加图片 @@ -540,6 +480,44 @@ def main(): json_data2 = { 'shengcheng_dir': r".\output", 'muban_dir': r".\muban", + # "shigong_fangan_enum" : { #可能放入标准信息库?但不论如何,修改了这个枚举的话,报告生成逻辑也要修改,待优化! + # "SHIGONG_FANGAN_ENUM": { + # "WAIBU": { + # "GONGZUO_NEIRONG": "无人机叶片外观巡检", + # "RENYUAN_PEIZHI": "1人;主检飞手1人", + # "SHEBEI_PEIZHI": "1、大疆无人机1台(M350rtk,M300rtk,M30T,M30,精灵4PRO)2、大疆精灵4PRO+索尼A7R2机身+索尼200-600mm镜头/适马150-600mm镜头", + # "SHIGONG_FANGAN": None + # }, + # "NEIBU": { + # "GONGZUO_NEIRONG": "叶片内部检查", + # "RENYUAN_PEIZHI": "2人;轮毂作业检查2人", + # "SHEBEI_PEIZHI": "1、人工检查:照明设备2套,视频记录手机2台,含氧量监测仪1台,电动扳手2套,卷尺1个。2、爬壁机器人检查:无人作业校车+视频图传1套,照明设备2套,含氧量监测仪1台,电动扳手2套,卷尺1个。", + # "SHIGONG_FANGAN": None + # }, + # "FANGLEI": { + # "YEPIAN": { + # "GONGZUO_NEIRONG": "无人机叶片防雷导通测试", + # "RENYUAN_PEIZHI": "2人;主检飞手1人,副检抄表1人", + # "SHEBEI_PEIZHI": "1四轴电阻无人机1套,电子微欧计1台,视频记录手机1台", + # "SHIGONG_FANGAN": None + # }, + # "DIAOLAN": { + # "GONGZUO_NEIRONG": "无人吊篮叶片导通测试(含机舱设备、)", + # "RENYUAN_PEIZHI": "3人,轮毂机舱作业1人,揽风绳作业1人,无人设备操作员及抄表1人", + # "SHEBEI_PEIZHI": "无人吊篮系统1套(爬绳器+接触平台)、电子微欧计1套,视频记录手机1台,对讲机2台", + # "SHIGONG_FANGAN": None + # }, + # "SHESHI": { + # "GONGZUO_NEIRONG": "风机基础、办公楼、变电站防雷接地检测及浪涌保护器测试", + # "RENYUAN_PEIZHI": "1人;抄表人员1人,检测人员1人,监护1人。", + # "SHEBEI_PEIZHI": "接地电阻测试仪1套、SPD测试仪1套、对讲机2个、", + # "SHIGONG_FANGAN": None + # }, + # "FEISHOURENYUAN_PEIZHI": "1人;主检飞手1人", + # "LUNGUZUOYERENYUAN_PEIZHI": "2人;轮毂作业检查2人" + # } + # } + # }, } asyncio.run(generate_report(json_data1,json_data2)) print('文档生成完毕') diff --git a/muban/xiangmugaikuo.docx b/muban/xiangmugaikuo.docx index ee39cf2cdef409c68fef23f7231b171160f4c48f..5662b94f64f1a51270c6b80cc8ae6179db2b3b81 100644 GIT binary patch literal 13923 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 I{|ofL0Ihf3!~g&Q literal 16308 zcmeIZWpo`$)+Kty%*@QplEr9&#mvkM7Fo>9%uE(o%*<@DEJll&c~sS1UDfV-Z`RD8 z`SEq$mAO{j$bB+z-W`$W#Mwtq3Ir4t01kiz002Y)$u?knYajrC5*z?P0YCz43ftN^ z8QVDND!JJiJ8ILrT3Zq3fdW(J0D#}m|L^uc_zBb{j9Tm`f3#p-b_;Wi zJU%AYVI3uTX%NRk@7YX9nG5gx{+bz^AdPqt@y1um(r{ZXIW4YcYKhd$My{TNFd-?k zo5XYk8KH=}t7#+aLewSvdszpO6|9gqS@|dDK@ei7M}S!dHxfIe_gUmtx*LV~Cay-X z=X2zI3kq=gVd&<@b2zVDUJA~>AwuM53eagXzeldN6hm7_`nV6p-4Ei)bkF+7y$5Bp zRB*>cIeeW5?6KtxSqNocO9b$Se?D>ZzrGK%w>J=g+`o-d{8;S9vv=yry!XPqk5XL+ zV=G4n`rnTK9i9J!hvZ*=dU;&;`{;xfIP-t;pK6z1>c-5MVKDr@jQIlsQd8m+%JQPc z!s`pq;v%s2f&RzQ>6!TN?v5E^pEnY;&#{w~;lkRX<{xx=HJ{pC0f~Wag-ovVc3ZIN zKW|N5Mo1*6M*PFo(ZVLN!DH`3QpUSbcBw^fcZ*@niK!-M4M}VBv+R`@?ozy1a#ES* z<}JiEzd)4nigpCywM<}nL7VVbC$rGSME9)KX!j`{#y2rXT2S54Vp}mXkY&UgltW{m zw@n?o=XVzOhX&F@0Gb!W_qT70E^b`Co6;e;w6@j0 zb%<7Ep0rJ*F3C*8MB@kS~|{T zRVC5|^`#K@Zk$)+sa)$BEEo=JZg-UDUxIBiTsc>c{57>Y_k!4++w5u<-Zr{cVxQVc z>xBj{?e|Y_qE`#vPEQEl_A?(U{ZG_4g3O}@0)|g{YVICqSR}E#wHm9@~sMi1%s_+R>krEf;ECN0H7?u;O9 z6xPU7{PxKXx0%R|bHHA&aECn$7MRA1G29u_&Zuy0=&JoXMbE(i$k1)mA00bZ3nswF zg+7uH4*0l=JPB@N76b zFOONc7`_ZlOm8@~J?6b=iyP?tG5uaM1+V1@vK`*d)h)vFr>k%zpvE9k%0A-357e`x zw5(8&Fr$8&Y|@4H-D&Uz03Rtp-bv-bISeeL1ygq_RJFPzpP%&#mKJ0%d5R);4w6tXP1`xsVpBU7c$@8*lX=MFt=LPe(-q?f zfNf+ox8O48%N>i6m23^93uoW26<=lt zuWjRFry#ipud!oI%{Xcdj_8TVs(_5m2umjmNGl7JMndD*XGsMLT8&VDu8Wb=Fb5heK1QZ zxN93`ZO8fWDIq|`$!9&h{h7VSYML5!0lS!9-Vaq+>VnsTiZZl+ydBG$(lTj_Z}dJ^ z8Xs5VRcGC0(40J+h0P$oBt~wi?-tTUro;XDa(P{za6xife@k8YhZ82bF>w%!!5cx7 zy;?%IF+yB$AYdd=B%jQfIbql%T)BjH49>raY!Lr1A=Z54Jnj9}_f;%A9E1zQ(?Fe2y@!V^6&qSc^TPrM=Fo}tRtv8}>I=BKr%tQ~TwvQu08)~~%rpbkSv+p-@WEWDmhyCQ|h7+mtv zt?#0!4CZHleHq7yfY~xu=M6BM>8Dcev(;W-v`V{XFhv|B_NTk{1HqY!5S%?rG0!KLNiWaK>xW_6 ztPIbG&*RIcGMVbHz{J&j^+3d-HC^UG)U%;|2P5B6L9L~U&8Y#{C;E7?UarJYbc?-O zXW)w@sRFE`o{P=7bS}cOoqP|^@;Jm(dhI~OM1(|0hmn+YC2}#bVh8o`u`xvAkj^44 z=)}J4$GL_raNi)(GJ1w%uxono3ql}MnAfXKzy1(rP%mq;7z%7I^T+$(d6Wo=C zptBj%XqnD?DNBroQgu*V>L6OSg-601Zi8NIn?K(xyjh${e7s z%ItG-)OcSSVtKFQ3d2;fYg+s(VU5=?6{71x)dL_CucU`(sqfp;R@0Z5M?;wz!5}d-LGi{LLQR&L!edwkdg>%h%T{T(q%%Zm zE5aoZ%YvTM<~k-eI2JalIv%#>I3{)Yyw?V-t;{AUQ(9;*T69d25IIRn;sg7lL^;w$ zJ#cQ{yM_>?*AN9>C#DRV@*;!0Q9Qe*# z*0@M0XoTUYB0ZHuS)2s7)-JoBoxeR5jX@K!ibkCfEBn(beA1Jwn{g6p*%WD+e<6|% zZd+SPZF>~x+zR2o^{6^--Wii&M8zkbRSSivF$f9i>?tW@xnE|j6>jMk7A*iO*Cbe! zLHB(A@q=F{!}E4h)%&dtE|$HX$*iO%CnS>18q_IjfhJp0=TpHc-h(A+oD<)deKILD zRk-FuMPg>Zz&t_@z6x#LVa;ttV!Uudm7QfXIO&75{<@8+vn|WZvC`+JlR(H(Ldct0cA)71eq7A3z!O34Kqe}}TW3g07 z6wqgBlf>>^y)!tKmY*lT+L@6RRhSj$$vtE2N{@27eJkvQOU5LBZ`Uk=S3iusq;MoG zVs=1I0#ONRL@ZOIWeBI_`8m%WU-kqlUxi*no|w3wO2FD`7l7mt1URaCW0M?{(J;>! z3*0Palf1Olr*}3%Xb!a#%4|@`FpDFzMhu5^Tt;^$ZE!hp;@44iEE?P4$(32^hqaevP^9O`+OrxW=+)#nuGP#HT?zhJpgeyJD!l%>)Cm<{U2j`^jfozA zElMu{Mu;<7yb4RU&o{d6H#`xnTzib>K@ zljQ3z;vVEeUR$SVsV}=3jdKk`DvU@ZXONdXL&D;Sx2^Z#c9`CMMp61maosPL21-8> z<8mN*>NvqT#~d$4V=fAbCaxz|{D<#vVr%PUW9ww>_?z=TmNf3L#E3X}mU+PK>O@fkhj|EP zq#(}SY#etBgsQG5T^=241Z%51oXuKf-!e^TkZ(9zCaGscZrSh_)jxN_e` zf*T%i`2zj?dSh4vn#CSML5Y%4-W6(Q*ZBIl+YsU+gh>xOm1S&)hk;xrU=a~PG|Nc_ zdw?TWjjVAz28RwCwi;ys43mqD`RJ>=CPBtHwPe#I`0T@4Vt>yWkwmGaRt+*iC=<)P zv&iK4mB{fPj{Ygf4s^&J6Wnw5+Cm95Q73z@29Le}#EIlViBuSv>v;nU95(V90 ztouRVBNRR9rn3VDs_+0`8LyFe`>umQH!{|vB#VVi(!obKaQRpE9^$VSP*!PL(rN!m%~35v-V%*y>?R;N3isq<#|DJ#G8KNPaNYkWu2G)SUGj&Gsk5Z5FlY_tdpxB3~F!cp=-dWM=v%|DTehmCc z+tl3!J`L!>C+soO>$SxkO#`x5&5aUV>iAgz@< zL+r0muq@&t;*cqSh3;Zt$`toBiPj@a=I~=`f6pvhTa#u5V*stZC1)aB%X=av8C7EW z1T%`@PK)w7O+DPo&6T~k{StJgQySHU%67OK*TwXt86RZcG+RsuDLuXpQkqm@2omf# zM(VqS9DRZcPx$IeK3;^$UHbl$Fyx5*(-xDBll)u8tXDDFB+bUtojfZ2&y(*-$8uSz zuVe8zOA|%u!S1~jyYw2wR;%^l%!hvX6CTBO2$RiMSi53?rjEdhf@wA{CB-rgxmON8 z-D?6E8_LO1m#)z#wR;R9BwF^F2Ojr(Z(;kX!ss4{+nfdOckcdYWLvRY_E7%LZpU|a z|0}XJwlVq(xtAT%84-idxMy7SoX#K_`2s>S%})yATVAM!ei6a<+7j z>p3XuV#Zv1FKM69udEWN|HKQKRys$6wDH(LiV_ui@B;ICbI+jlEr#2I8UdxCu_MM_ zsp|A4-w5 zHwhJsf)|Q6hMtD(e8@MUJMEh=Aic|`2_TT%smY(3oXToxP-#Mlpi%oQn2FK+n!&_C z71yxLgv)=@EVs{Ai~i&C+$!kHE>x3uI_0UtTAU%*>BN#FFL-$?14&iLxP*ouIWm<| z0I>7W?j9-Sg2dNI1CBc*2!Bd7@O4`PK`x7R?tw`9!|eE_s=6IFFpsxo4}5x)e{oxu zqb~AyZfB2Z*NH5;TVfc`_VYyigWHb(;I{u?xV=EHdx`%$w=v$iEq3&+|#r&1~@|1*5%C}dt)4X8C;HaUmixtst^z=)XD$$4m`Ww*v#Y@_`u!#sXygQ$_#}Q=T-0utTYdJ71 zufN@6IFdtne7f6#mP1im+-#!dUyN`|(Fg`KT2-&a;KFV2+Gt`j(vxdAOS~-hkB{~j zBL3v6!D{Y!OdTBu3)&8g%kO?w_-?ONJg;-83K(0kZ+EYn|4Mg51vvMto(TxAtkt>5 z;9>`nOaotCb#K&|KgW8RWAj)}?8MgbjVr1RI=gG14Z@O}c3L>MDgJSA_=rYnK0kkc zqtJRZ%hm=Qh}pl*<}_TP+}>}K9D~%YDdsx!`SE51H!CkJbzgGFFbl&HiIcF70Wi|+ zlfSrC3xx}$yP@;;+<&zGR@Wep7}k{TlfuZPQI_ynSa#3gjW?$N4~Bzi6cA68T>&TY z0sV?9?L5g-+N_=>MwLMqpWog7dB1UcFglvxg<1EDwhc_5pvvhx}aqi7z)q1Dr zWhB;QjjOe#80UhS=hO2|_+C|(*Uisj3UJqSzZY5$AL5~Mob#a;QQ~UBUSPZIj_f`{ zP)eGqC=hT1LSxu{d<3@ZNUW|dpCf_QD3_8Ubn=b4179&$h62SX*sde}0w5R2ZaksL zFD>*7BO3bH5I_45Si@Vvx^m5}ZTm;t4@3fZnM<#QN~Tu&dv*zZn0AsfNDLw23|x?= zk6ZjbBr&n@a@k84t$U0n?+uXloMLn?TULj2T&KsfRF4iA*gCEKIHHk{Q6 z9+8Wsu!saG)C=F#6*Nb}EnQ3_%v#YXB5H#5yU-ULA=s!cM4_WwQ*xeEGj>@CT^Lc7 zAAaP^S|IM_BVMprbxPKTcC-c>L#N$7JLf-AD@e1jLP!LzSl2O+h-Q|Hw;0p5(4GwG z5{ao1DpLET(aoPm=UQ-p>B^0=Q@1~hvAwmAVxcfY5DKx7s7 zcXs3EF3AxZHD+A{;HL(4XPmlO*8;b&nFJUl)57C^dh1T_WbTCv{mhGLrZgHO-jf?D zs1J7s)VYr3*NHSwdWb=8^YZoDrI(fkht~2RhYQZh3ypsK6feiRH)`JG13cG2xtUFZ ze;TMqoJ92%4VYaOkI_;ng)(FIn|xzN*Nj;(Z2Xji+l7)MBp@p)yvLG>zKk_1V*c=8 zyS31L4rbPH9t?=;iI0>y{D8C!9Qmey1B!HZVj@6vrYnzVZm&j;z_BW1bQt)ux#@^B zLZm4)249k&>=NcItGW0pqSUt4U{OcWffq;Cl9YL~D1InFpOQX$Zjr^JrO*&0-g36&3Iicmx zUw5-K=|6KPLiAAbM2y(fIO}@+7_5C5{leC93(T*Pu$1h9j22qvA1E$iQyc= zVXYzN+t`an;d(hccfC;U(kVuUO|iV0d%aAq=GEb<*McL?_$$cr2PM5??VAjZD*2K` z-l~mR$vCfk^%Cwx$>q{U9Nyv=JsZpFtNy*7wy=etfA8**nIi+qfdK%n?~(Jr+&xEQ zCns|o)8Av6I@NXCWlmTx{*Bk*uE}I_XWU}AB>0ETa=az$l-A{1E1K%c8Y6LsX{V;Q z7s}zV8CIMn{M+e~=OI~CQH8PAI|Q;5t8Xy@wV`|2H|_8ySd&nivTe35qo>UavC!4H z@)PHM%lZfHozGX%F3Z(@lD=uj0I>LN=5*IUg}J7Mcy(VX(n;4qEFT(r$$|~V@-Jk_ zcc16RUDb(16@)^UZv4FXFR`)tE-bnS;6xiqQ#azO64=E97c9`rmGWejX}QIk*4e787L|gH{LukaGoZGd)Qte-_;3{xds&mz)+Vu z#(Z<$KF6B!I%8RE<;u$icI>oO3C=>${fNjz62km^{vqlrC?6szn1|FGPquE4$Xf4Z z-+BTUaY$>o|En4>#zIzuC^VY*X{|WR)&dvX%FM|KyI5QYsU@wGu!3(u#W1ZNlD|8l zKclEh(1BK|dj%p5c|kL9slsJ!qm`Am2%G1*f<5DaQo#BL@nD$2xV;I+JloQu4kJoa zC-@GPKK7Q#lhx#zx%7j%?R+9?F|#%_3+Fc7EUDvu1T>*dSQ;?>fz`Xp{OvC7@hPwRba-*=^SXqJV!^iiOSv=4%z`QF*E zia@@PIYVHGGV27@Y3W1#*E3Spz;@_NTnuWeHv}BG)AxsTR`fiEu zs(#Q-Zkhut3hL;zF69i5k$;x4=_48@T=-_sD9;ToXh=;I?K*N9Z3hh;!5+JI+Fga) z_37*xD{XMKvPUX{FpLrDIct0@la8v?2C5EVKkl$k)M?F9qoEIkgII7*mjH|8VYy}X zG<~*&!FTkM<*>T0m`%Z+pJZ&4DyWfwfLJ2)!?)#nA6leBDRC)? zlmzN=7D$G0^%+glc{ zed2op^7+JCu)LIDJE|IOH6>;(?*eG7%>HDGC`EH>ir3Rwi`*&JWIIs zys{dy^vajek2fTnmMmbpT+ca71P33?zIEyO_K!h~T@EQT+&TcX*{P6fp;m^{B68=X7!JSq?OEZhaGXG!84I_ z_%Oci?rqyI&Iau`4TJu8i}+`C!Cb0RbEnu+Wnv1gCtN6k=b(t75F1@kQ9Q`BPw2DB zEnhRK>uZ!S{YE1+6<(E;-^P>*`8r>3nWXX|G!i2AKKh@iYWj!#WRg|$a$&u9eX`lU zA*7~>qafYo;>G5fayUQX;D4Q3xZ*IrNtk9v_G$Bo@Bip8p)9>_Ws`IfU{c`GU(AX@ zGuSpHPUeN~l8!}nYC02{VydW6jU=UhQ`cNu|Cy07B@ZSrdXTor){SS>Oo!@e+^@)Q z=*pp|$XGhvC3oB{_7e>LObu%0gu?hJgB@Z)Cz^T^|?{AjthIU#xt{X;~IN+ zI*iD^$|&%HMNE9DUg;U_mrgdwnSO@$xmqNYDH;Q}62&kzsljBPj^g2O$TU&lnhvT4 zn}gx$eiuRok@?-Kx~YM}Y1NKNq^ynXV-&Qx+2pKmYSTu|&#f-h*W-RElMWYmr<=YC zOmy+JgDEn`#7LHo#1PjS*aZ$pSemC=sc$twsrFWN*>c3S=5;T)xoOct$Kv7Bht@2P zx8-LRG_z68x)vY5Fx2P2Bri>MOP%bW7dl@*7CIL&z76A5^B{$4S|hlClpJwJnTa^! zb_f0BG=Lhn4}ebF4gqBy+}t;d>W!Yl4NfQKM2pteG2?ow>|I`NK8i;2TDb`ZW?77>noIHE~>R=_hmG8@w{Q`w0kE(2a9t@I++Z^}EK!z$;m6_7i;45n!OcFIy z@A-~kG`ipiEI>X>Iv3(yQNPHG&KVK4_)GL&V)-mFU(~>{jmq~LmtON%0Y$z-Bnjkh z7)V+(HX2-#t?d~wycxfrOmGK_n>kdY<_VKE@__Y>xK=&dGz#C~DspfMXqaH~S_@+T z05H45h(55hbygX_-C!w|TLK!WP#F_*Ns#Kw-li0Tn<_ZeB5(5?#uplpzyn=OwX{HN zVqq9og&=gZE?BznP3CW~Y&P$WmERgz8gKTk#>!<1ZM;W|r(UP0th<+a0%y*!KeT1~ zKy%(U2QpY9ZNvpnp_wy9F3TNQ=1*Ci`6+nZ!fb?bXV44euH1Kti}My}vu_B#qiK|E zXq*EFF8EYu5;>C<4LkTb;}>ONO^7KQey3I_&cTawDx#=+$&XZe;kCj7oTH0%k0cD<=}(_O%p{=a(YBsRyARGJ zOqwG{ah5|@dXB?C;E_ob$MBC9p(rpb(^L?)5F8#YL*>yhpRDGlCw$|HurbBK(lLOvXqu(w<`cB>%44Bow0}u3W6{jt5=T?iID9anM%=fohQo#x7=x zGz*kC)SP@&J;tzP>m`FPl9MWqu`b>3klU3SJA{+;hm!0E;J&1xaK~70;ISaoGmHYg z%Qm@^oEA9XS{aKY9@>nn+W;)}z9E(Sb_c~2*U~Zw z->O{zJF8s?-EriMQtJ39I)vTT`jK__$$gWPq*SBCLZwXrhelWOd3D)W`}W#+@P4>E zG*io=@&SX{H5Ej7^R2v8`zGgAq?h~rsaxnF)i3a}cC`@+FS?(UbA@O?DCm+42J2KH zUX?Zd(hpVEH^!8zodifG#$rjjd+>4!KIyUNBNOM~#^f@%jk4?HpsDY*n zOFphB1L8wt1J4HK=-iiu`P9-uMt6=)ax$jObJpCzd|4Y!c?N`HQugA5?%fWVVqS(H zs|8^}@%=x%a2&tY&)3i|s*cT{eKQ|JIHZtG8>=+yF;QQYyJzh0wsA4souV1|auk`& z5{fqZ5|w0^4RJ)5T)Trd+WT9hid&k;gO#D8@D zG_CZcxxx!{*^wsVGLo@A-o$6y>Cj#JB&>~Lu$7R^YO!LDLky) zCzI(@O^IgN6ani;7ElwV$Mwx^)=*(>?d-CRblv5SRdi2FNgIq!3rSAOTJs!*A-zb9 zHc~7}7Y)5_beft!?Lw9v>Wm>jHqo(Y2HE*6UsfA85e)A?y;%vUWNv|?iSB;f{xp zo9R_SIHBpm*QB(9TLdMJcl(tZ4wCO}jluzCsS1VdGP1_mCW}%D3$6ND(t2+P zXOy;rfA$orl-ke5Y5v~x4zq~ER;6Q;SiSN&?z@-z!-UQIISTQAn)v^<|A!T>KQ8|J zC8iS@^?`JN*v7==MK{+lTx3QhL?1gd&JA_G#}y;6hW0q$AkU4CKaA{Ek!pHs%3A4$ zGR4~pG~%mDUgPM&$yvJ+iHmr4OR^I)>z*(ZR4Q1H?^;5QI~d?jX|*eRV-!+Wk3Uva zG=6C3-^$iq8ZKjWZPV}kzMg!wlb{n z(pvnZ|0>AMQ2g_SK6z)SmuCtGEx<}N#Cbd?9K{j)+S>tx_rwI(R}9-loZZ9NPg51AerI=g#Z zcNVws-WDGo(wxjU9->Pnt(VPcRwOfILB1GV39+j_3$WpxX*ib{4tQc+y0<3!EL421 ztBK=ktqA0fLR|Qj{z7wi(d&7S!!_1I z!-HeT1Mx#+oXPp<>n|jkw}EMToIvScBd7S6GX=dRdR88`un$**a#b4jZt#q)qKLjk zN{BVp;CBqb8Wy7%obuRnGX*FpEt^*=m@p3@YI#=bw9J-`POTj z=ly)rxc+v-FfOA!>0(vI{A2M%*#?6d1fys#s$^>Ys_x00FJYF=;?pV;yT$9msuuat z8wdrzmBXd?%i*0F1;_4@_v&!#t=1>J?7Qb|@8=r?@7K(d*;r4G@QnEH^}J_{B(|A^ z^Yn9^hThGk`6QiPzB(_?+EQr;EW(=U`YCA*k-HE;J5H}koHA6p{*`{-)oM=OrpA{Y z$KEfh596JGD-J$`rjn6)@9_cw08sx3>RgNs6#ufUmNBDi*~5qkIKS)e5FTzV8bPH} z(T5$>8PHpX2sxMwB5RHd|9U!ewp8kPZ*Uj)cDGGWbhSJ2V+REo>$({ePBGSJK@GEW zxc_O{f)NEubQi{WN|^puz@WLQJ(WWpoaO_^t8>+F$3cPL1JQB)HdZ)A?(a!BE2$;^CfU#$$4l@jv~wF0~(q-9pt>Roo6ZtE^EXP0XF zsr?2`F7%0EtVNkea;}hK;%CS)LbcY%u-n|b?IFj zoai-%(GD6U8IcxB;OiedOjh%C4eXCPU9&mUE}NUxu+g_-(snm^L|sel)jE09pfHs7A4oZmFiF;J;$#GY2|our|1P(LbvGfC<^#qj z4UV-1T8O+j^6fx#vv5x{n8J7=nvn?KG*O)k&`pO(D0fZ5?ot)8!UmB3SsDjQOnkis zgFHLY-gMA&0w-EFr*2_p_9$`kq~}m0_m$v8QUq@go8v+0OP^xE z9=<2C^|ZuFw!5Sd=m&G7YEMBN9}_d^Bo?$7x3y~m?_{7DYc$0ng<6^rP_A=V``a^x z%2KnSr=pezhD51$3~Ka^U}Jkryl-bA`P>H}#lLbs;gmK+-X%>kKjGlLO}*Z`Jw3b* zCTj=phlPKA=(G>eLi@%*fEFmvYCd9HL1|XJ|N4Zd_Smb!<#$AeA0U~s_Ss3H!)Ul6 zXvqBDl6#j6?sIR1*WXSIWt)SMf$u#>@8m>!7oxqZ&*U6z?Hm~lZ5@8+<$G<-f7NI2 zGiE@X)NksupgZvuqD#K|cs?IWX)=Lw0iis|zKO+|c~*Pc<(OM=T6G6-QgqxhdqNX~`_As01SFGc)LhbzP={dWnY`h=E7czD~$tQQpHyg=$s#hGCsX*Up>= z7M{0{_5%I+3F7|s@Up0-jKSyt4J4s2LsVrEH4gJk2qSfGkV3D4zA-dB72Lux(~57s zqm!>~{OC&{>+bY9S$VjY<8}~tYA+{dQDDs}mgRv=_Y@V|?MVC4Cjh^;i_F6^9RzDz z$fYVN1=>{6#r&2#%SKi$d0C{@2bY)Hs{=4eA!K+@=JVcsDlAcdeUTyIW-U`MiWF;% zdsX}W;O>L~dB%NecHnyc)w9&+zg?+}l#{Txd*|-(J9iQP%3XasyWghN|5Eq;vAu5@ z3er-2jEL=i?K%;}=eNC;lt&NsMm<~X0?V~qM=?qn+F!#Et%?#QoPuaMO` z@5sOOBG%V_ZKEFH5q>XNY|!3)dNi?*HD!YO8eosE`haBE@vb;HN6i?FVI7DdwbI(v zmV6DXrsO^rr7f{8ooV_WF2Yzh#uk~>^!f68zVvZ9Z8GdSibkNtCPlZ0Qk%Qf8=A5V z{OgvZ=XJqg?!X#OYz#kae32aeO&2-3MRGvt=ji8*eW{{^6ApKemfktuP_jJAvzZ;CG4kop#8+aRqQ&e-5KVMC5hU%7q_Q%o4;^+|py%p{nxY1FIGgK6Hud+Y0Y{YZ8$9|BWaQ2ugU3Mda zU{Ge$b(#0Yt1cOOGtwvCNWv#g5zIER4nKUFSRX*#xVmSdy2vZIN?qjm_(fJX=+AT} z5HQ`loAvkg#sBzE{yhFowXvMkzZ>}X(#Joc06@{ZKlhhH$X|iK)`a~D9e5WV{YQn^ zuke3YDgOz6m*OG*6aN39S^m}1uL9LSZS}mnL%-k1zsXg9#s4Y+{1cz^E}Qxt|5ria zukc@GR)503VEz;StLW-i6TfDq|1=T(o=5rp4*r^>{uTafR^?APJlP-cf8|(y1^?>3 z{|Vk^{wMesU;bAMzxtnlS}y f@FuRm!2daK%SnN~vl9S-d;bW$6I_Sqx7PmxDRN*+ diff --git a/output/三峡能源阿城万兴风电场防雷通道检测项目项目叶片外观、内部、防雷一期012号2025年07月08日版3.docx b/output/三峡能源阿城万兴风电场防雷通道检测项目项目叶片外观、内部、防雷一期012号2025年07月08日版3.docx new file mode 100644 index 0000000000000000000000000000000000000000..eb657f27aa9b0eb19d7c322c84da92890ac33bd7 GIT binary patch literal 78360 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 dict: "turbineId" : turbineId } result = get_data(parturl, params = params) - result = [item["partId"] for item in result] print(f"获取到部件{result}") - return result + return result, [item["partId"] for item in result] -def get_picture(turbineId : str) -> list[dict]: +def get_part_picture(turbineId : str) -> tuple[list[dict], list[dict]]: """获取对应机组所有图片 Args: turbineId (str): 机组ID Return: + list: 包含所有对应机组的部件信息的列表 + list: 包含所有图片信息的列表(按部件分list) [ { @@ -90,7 +91,7 @@ def get_picture(turbineId : str) -> list[dict]: ] """ picturerul = DTURL + GETPICTURELIST - part_list = get_part_list(turbineId) + part_data, part_list = get_part_list(turbineId) result = [] for part_id in part_list: params = { @@ -99,7 +100,7 @@ def get_picture(turbineId : str) -> list[dict]: for images in get_data(picturerul, params = params): result.append(images) print(f"图片数据获取成功:{result}") - return result + return part_data, result def find_defect_record(defect_pictures : list[dict]): """查找缺陷图片的缺陷记录 diff --git a/tools/__pycache__/API.cpython-313.pyc b/tools/__pycache__/API.cpython-313.pyc index 275947e3f56185b363d206ac25251986aa7d2867..23f7340ea3cd02cc0d56bf6294f0d0d76152870e 100644 GIT binary patch delta 22 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 literal 0 HcmV?d00001 diff --git a/tools/__pycache__/defines.cpython-313.pyc b/tools/__pycache__/defines.cpython-313.pyc index 3bbad019e10dff13f6dd1bf5ab734b4ca0169722..f98d6dc4b68b23596c696007fb9458983686b873 100644 GIT binary patch delta 3230 zcmb_eZEPE565h3U*B_1TCMI>9&n9itx+HGkNGUC)ano($k~+CgEl5GPGKuS$CTsfI zD?TJ}MWM7Rr;~2g0|Z=K_4qvLDyYO&p#t#>@eheVtNjI{aT48+OB5h~Z)VqV>k`^S zu(lt~&O7hyJTvpo`f}%&y~QP;&&%QU(|;x>ro$ZfJ>9HaYsR|#j_i)extqKoqupY4;c*G9afVdGhA$G!M#4Qj(+zNLic0o5{6t*Guz&(if zTD$&W;eF7Hn(c5u;tqHKaVP9j_#(1-(Bj0yZg>b8@URE^qF$MJHY2-ORAeGbd!ZH9 zLqF^Txop2b>e+U)m4sFUmepRg8-zF=t#UjHe^cs3)jk3hA*z zHm7!z&0$kajZbA&&4bA=z4hVDzb=+8T-AbjH+yZmtMupdU2~US?3#P&qps3N7fm6N zQ`4G+t25UwT)%pzE)p>P`H8fe86!}}vrNC>Y%10q*V4~qQ>v0ywJFp4bSnFVR+iOt zMXouTQZtk3ti9sS9#t$ulO)T`^rBQYGTmA}%@V1pw7KSqR4$Xs^-rY7j+vfg>1T=M zc%CB3W^x!tk@loiGw>wFFgB4=SXzBnL(%Rq8-?=C(iRlXagTG1$EL+ZGpE&n4s1YY zr2z#Hn3xeGl38;g9!vBO#uPb`JUG7zH&?mE?&pf+dZ_`S+Alb;U!CYjh=^w0&3>Yf z#NvCC^PRXwYegu%cH#Q;bm^_>nScCk{^a}f|9pM+XHY}1+RaPs-8o`z7q^?#hODA9f#YzE1ODCbu zRnbY{X0D7U;x&UX7#|o;3@H0!iGf%#VHbDntzl4c=~^OY)nTmE7W+g3k-0!(?u;wq zHp5k}ZO`R$-;G|hCWIU1{>vw`XI|;Xs?WXm;>^DwfcPCr4l4;ceh5X=e@IS@CSwU@M2;UBjGI0f zl=sTdN2m94q?Vh<;$mi) zDOzq>FD{Ym3db(uxZUQc2vr<+pj{QmO7}jBE7fgN{H^T^9_9uw^JLaUYRsnUnps^O zrIsF&%Bch}72oA^j?dVf$*WVV~#ktGpw5_@>bUU>;r=OD^ zzGK2A+X>r^PRLPy9RhY$W; zx8t=h9vdD)V!P0*MnUPHi`zww%Bg=LJSu9(N%~GYen)n$vMUzD9prAMp&Abnz5HoE z9-8owql#fa+WmhF2buF12hnXShi4xXFyDty(h>;zPhvvUc9PU6?i4jjvJS32cO)p; zo|udq`tVmN-;=~IN#z@@A~%3WEJ|=cf&EhPt~SCL22tb~WrNW!vwpuEhr!|GErYCK zD47^Y;;0*yt5;T=VWz8mJ{XauGm@uZ=%pmMnin~QW$z8CxFRlixwai&OHD?5-#1dL z-H8WqW0`<^RRY$$r18Kk)73_5gjNaY<&&p(sTGRYh@ps$%WYmnTlCh7G5!aR(0)Aa zx-{$&^by}TysB^XzbqwD#U9Zw`}_EDeZl|OT3bQd=LufW9}7%66A`!mRiM>tznsa9 zJ{#yM-Z~2158D4S9%6q*6Ph0R9(?UAIC-95boh8-p@R#BjoRS1>)MR^79)t?W~08x zsI8}OFl5v=7$c_sMFTDOVJO>xy4VVLrcJf7@Y$0Sv+uz*& zgznLN#ma)BW#>8MjH+A2@-7?clx7<#qo%ZV6;q04EL-lG3)7=RgAZRW+x@?RJlPNw(LWvADDsvqV$}D_Gt|-u!m&#z(u?ul@PKSEa4@ zN_W1r@Pt*~Z%>@kED28>2g1$my+3o9=X~SX|5&<${Kn2%&pI+RC(y>~ zxoIYX^s&NPxNapvm=R~Ri5=lKL4*j}>Im!PwimMnh4pdWk3(WAGUj9h+z(T%Ev&O7 uMJMc#Ae-F&tJ+Cx+KW}eVz{Olj23Gfi_yknLmPj!9W_0NessQtNAn+@MSjx& diff --git a/tools/__pycache__/get_pictures.cpython-313.pyc b/tools/__pycache__/get_pictures.cpython-313.pyc index 1fe9702e7221307b2402d0ed8b677e82bc8c06c5..ab09f33b09519b99b1d49536c685b6a0b0952411 100644 GIT binary patch delta 1256 zcmaJ%)w&6?csejis@Zp;F;9K84+dxe`@cr)Z`|~^JJLi6?eaXSE zWoEJnR(#BNb0r_4pPG|enMty?hZ^8dQU?dFdZ?U%g`%@|ql0y1=pk)40ZSunza!0_ z4Q6m~saWb;LTeQzto=YPYGR};4<+PIulF7cMKfBwE;%TPPIrUc5H)$58$6;D2ZEAI zbjkr|qu1|_X50#jt=eHW(OH*zlJWmo{()+k+G-@E*5YWc}qWp40y?~Ky-JT}^?yjX}mdXR{- zY=z{(Wvm(2=BG9DJ};JUxZ$k(Q33{mwhDo}u!5t0m0z`GNG1g{{^dcSBVx|@;;1V%THA+Ta zx(}%pF#H&x1Fhzvyuu}8{kUb=I@KO2J{P`F7b&hAvW{CiLbkB6{`;Y0OPp=Q(r=x- z6DcU4y&Ea0?6ZzoBAhK!-?WC%Md}g_EPSmtEVW1c_f&+ebTz#S^G{XNUohl=YgLfR zAgI4YZ~W0Clat!`!Pz$cB+~dObkxOFn3$&qfL9z}k;A+*0L*h0M+}Rs0Z^)jB7qWU z?*|ytcwF<0gG0RUIJueB0RgE<1M&uYEX@IT&?lae9zqNh2%D(Ed||P69c57_l{Z0O zlg#9mH>`>@{NMvYU!dwWq8iZglWJO$7L`uPv)1XhPkEp4q7W{vjGVUp IB}sDfKZ9(EkN^Mx delta 144 zcmcZ{^C4K{GcPX}0}z}o%*hZ`Vqka-;=lkml=1ll!$b{TM&XHJ>5L*1_ZhLIGir)% zHeu{j7cB|^s?lWBWXjya$iVROC5R_9d67E2;-_ Xfhrk_k1$NO&^^fYl|hJ61gsJO7fB#> diff --git a/tools/dataproccess.py b/tools/dataproccess.py new file mode 100644 index 0000000..cb37f1f --- /dev/null +++ b/tools/dataproccess.py @@ -0,0 +1,106 @@ +from tools.content_tools import add_picture_to_table +from tools.document_tools import add_table_to_document,search_and_replace +from tools.get_pictures import resize_and_reduce_quality + +def caculate_work_days(start_date : str, end_date : str) -> str: + """根据起止日期计算工期 + + Args: + start_date (str): 格式: yyyy-mm-ddThh:mm:ss + end_date (str): 格式: yyyy-mm-ddThh:mm:ss + + Returns: + str: 计算出来的总工期,单位为天 + """ + import datetime + if start_date == None or end_date == None: + return f"开始时间{start_date} ---- 结束时间{end_date} 日期格式错误" + + start_date = datetime.datetime.strptime(start_date, '%Y-%m-%dT%H:%M:%S') + end_date = datetime.datetime.strptime(end_date, '%Y-%m-%dT%H:%M:%S') + + return (end_date - start_date).days + +async def add_dynamic_table(output_doc, output_dir, table_num, TABLES, JIANCHA_XIANGQING_DIR, PICTURES, row, col, i, FLAG, xuhao): + """创建动态表 + + Args: + output_doc (Document): 文档对象 + output_dir (str): 输出目录 + table_num (int): 表格序号 + TABLES (list): 表格数据 + JIANCHA_XIANGQING_DIR (str): 检查详情表目录 + PICTURES (dict): 图片数据字典,键为表索引,值为图片路径列表 + row (int): 行数 + col (int): 列数 + i (int): 表格序号 + FLAG: 其他标志 + + Returns: + tuple: (i, table_num) 更新后的表格序号和表格数量 + """ + for table_idx, Table in enumerate(TABLES): + print(Table) + output_doc, message = await add_table_to_document(output_dir, JIANCHA_XIANGQING_DIR, row, col, i, Table, FLAG) + print(message) + + # 获取当前表格对应的图片 + current_table_pictures = PICTURES.get(table_idx, []) + print(f"开始处理图片列表: {current_table_pictures}") + + for picturedir in current_table_pictures: + try: + print(f"添加 {picturedir} {type(picturedir)}到表格{table_idx}") + resize_and_reduce_quality(picturedir, picturedir) + await add_picture_to_table(output_doc, output_dir, 4, 0, picturedir, i, 4.7232) + except Exception as e: + print(f"添加图片失败:{e}") + + print(await search_and_replace(output_dir, 'tupian_xuhao', f'{xuhao}')) + table_num += 1 + i += 1 + xuhao += 1 + return i, table_num, xuhao + +def get_year_month(date): + """根据格式化date字符串获取年月 'date': '二〇二一年十二月十日 9:00' + + Args: date (str): 日期字符串 + + Returns: 年月字符串 '二〇二一年十二月' + """ + unit_map = {'1' : '一', '2' : '二', '3' : '三', '4' : '四', '5' : '五', '6' : '六', '7' : '七', '8' : '八', '9' : '九', '0' : '〇'} + unit_map_month = {1 : '一', 2 : '二', 3 : '三', 4 : '四', 5 : '五', 6 : '六', 7 : '七', 8 : '八', 9 : '九', 10 : '十', 11 : '十一', 12 : '十二'} + year = date.split('年')[0] + month = date.split('年')[1].split('月')[0] + year = ''.join([unit_map[i] for i in year]) + month = unit_map_month[int(month)] + return f"{year}年{month}月" + +def merge_info(frontend_info, default_info): + """ + 合并前端传入的 info 和默认 info + 规则:如果前端传入的值为空(None 或空字符串),则使用默认值 + + Args: + frontend_info: 前端传入的字典 + default_info: 默认的完整字典 + Returns: + 合并后的完整字典 + """ + if not isinstance(frontend_info, dict) or frontend_info is None: + return default_info.copy() + + merged_info = {} + + for key, default_value in default_info.items(): + # 获取前端传入的值 + frontend_value = frontend_info.get(key) + + # 判断前端值是否为空(None 或空字符串) + if frontend_value is None or frontend_value == "": + merged_info[key] = default_value + else: + merged_info[key] = frontend_value + + return merged_info \ No newline at end of file diff --git a/tools/defines.py b/tools/defines.py index ae59823..a8303ea 100644 --- a/tools/defines.py +++ b/tools/defines.py @@ -26,30 +26,49 @@ DEFAULT_BAOGAO_INFO = { "if_waibu" : True, "if_neibu" : True, "if_fanglei" : True, - + "userName" : "admin", + "baogaoCheck" : "未审核", 'key_words': '缺,损,裂,脱,污', #关键字,用于汇总图的名字包含缺陷时标红,匹配逻辑为正则匹配单个字则为红 后续可优化 - #检查方案 - 'beizhu': '无', - 'renyuan_peizhi': '''2人;主检飞手1人,副检抄表1人 -3人,轮毂机舱作业1人,揽风绳作业1人,无人设备操作员及抄表1人 -1人;抄表人员1人,检测人员1人,监护1人。 -1人;主检飞手1人 -2人;轮毂作业检查2人''', - 'gongzuo_neirong': '''无人机叶片防雷导通测 -无人吊篮叶片导通测试(含机舱设备、) -风机基础、办公楼、变电站防雷接地检测及浪涌保护器测试 -无人机叶片外观巡检 -叶片内部检查''', - 'shigong_fangan': '无', - 'shebei_peizhi': '''1四轴电阻无人机1套,电子微欧计1台,视频记录手机1台 -无人吊篮系统1套(爬绳器+接触平台)、电子微欧计1套,视频记录手机1台,对讲机2台 -接地电阻测试仪1套、SPD测试仪1套、对讲机2个、 -1、大疆无人机1台(M350rtk,M300rtk,M30T,M30,精灵4PRO)2、大疆精灵4PRO+索尼A7R2机身+索尼200-600mm镜头/适马150-600mm镜头 -1、人工检查:照明设备2套,视频记录手机2台,含氧量监测仪1台,电动扳手2套,卷尺1个。2、爬壁机器人检查:无人作业校车+视频图传1套,照明设备2套,含氧量监测仪1台,电动扳手2套,卷尺1个。''', + "shigong_fangan" : "None", 'jiancha_renyuan': '张三', } - + +class JIANCHA_ENUM : + class WAIBU: + PART = "无人机外部高精度飞行" + #NEIRONG = + +class SHIGONG_FANGAN_ENUM : + class WAIBU: + GONGZUO_NEIRONG = "无人机叶片外观巡检" + RENYUAN_PEIZHI = "1人;主检飞手1人" + SHEBEI_PEIZHI = "1、大疆无人机1台(M350rtk,M300rtk,M30T,M30,精灵4PRO)2、大疆精灵4PRO+索尼A7R2机身+索尼200-600mm镜头/适马150-600mm镜头" + SHIGONG_FANGAN = "" + class NEIBU: + GONGZUO_NEIRONG = "叶片内部检查" + RENYUAN_PEIZHI = "2人;轮毂作业检查2人" + SHEBEI_PEIZHI = "1、人工检查:照明设备2套,视频记录手机2台,含氧量监测仪1台,电动扳手2套,卷尺1个。2、爬壁机器人检查:无人作业校车+视频图传1套,照明设备2套,含氧量监测仪1台,电动扳手2套,卷尺1个。" + SHIGONG_FANGAN = "" + class FANGLEI: + class YEPIAN: + GONGZUO_NEIRONG = "无人机叶片防雷导通测试" + RENYUAN_PEIZHI = "2人;主检飞手1人,副检抄表1人" + SHEBEI_PEIZHI = "1四轴电阻无人机1套,电子微欧计1台,视频记录手机1台" + SHIGONG_FANGAN = "" + class DIAOLAN: + GONGZUO_NEIRONG = "无人吊篮叶片导通测试(含机舱设备、)" + RENYUAN_PEIZHI = "3人,轮毂机舱作业1人,揽风绳作业1人,无人设备操作员及抄表1人" + SHEBEI_PEIZHI = "无人吊篮系统1套(爬绳器+接触平台)、电子微欧计1套,视频记录手机1台,对讲机2台" + SHIGONG_FANGAN = "" + class SHESHI: + GONGZUO_NEIRONG = "风机基础、办公楼、变电站防雷接地检测及浪涌保护器测试" + RENYUAN_PEIZHI = "1人;抄表人员1人,检测人员1人,监护1人。" + SHEBEI_PEIZHI = "接地电阻测试仪1套、SPD测试仪1套、对讲机2个、" + SHIGONG_FANGAN = "" + FEISHOURENYUAN_PEIZHI = "1人;主检飞手1人" + LUNGUZUOYERENYUAN_PEIZHI = "2人;轮毂作业检查2人" + DEFAULT_BASE_INFO = { #项目基本信息 #项目概况 'jituan_jianxie': '甲方集团', @@ -83,15 +102,15 @@ oneproject = { "auditorId": "ca37c4337df8673a5c045b6c25acf74a", "qualityOfficerId": "862e027910c2562d2b67d88ec33d77ba", "projectManagerId": "fbaa9e0aecf2ce287138c38a4b654085", - "constructionTeamLeaderId": None, + "constructionTeamLeaderId": "", "status": 0, - "startDate": None, - "endDate": None, - "constructorName": None, + "startDate": "", + "endDate": "", + "constructorName": "", "auditorName": "李四", "qualityOfficerName": "辛奇", "projectManagerName": "张三", - "constructionTeamLeaderName": None, + "constructionTeamLeaderName": "", "statusLabel": "待施工" }, "msg": "", @@ -147,4 +166,3 @@ yepian = { "code": 200, "success": True } - diff --git a/tools/get_pictures.py b/tools/get_pictures.py index d77594b..5497237 100644 --- a/tools/get_pictures.py +++ b/tools/get_pictures.py @@ -246,8 +246,8 @@ def process_picture_data(picture_data : list[dict], dianxing_type (str): 典型类型枚举值 Returns: tuple( - defct_pictures, 缺陷图列表 - dianxing_pictures 典型图列表 + defct_pictures, 缺陷图列表 + dianxing_pictures 典型图列表 ) """ #过滤目标来源的图片数据