diff --git a/app/core/excel/__pycache__/converter.cpython-39.pyc b/app/core/excel/__pycache__/converter.cpython-39.pyc index 16a9c48..e562d0c 100644 Binary files a/app/core/excel/__pycache__/converter.cpython-39.pyc and b/app/core/excel/__pycache__/converter.cpython-39.pyc differ diff --git a/app/core/excel/__pycache__/merger.cpython-39.pyc b/app/core/excel/__pycache__/merger.cpython-39.pyc index dda2ab0..c2627ee 100644 Binary files a/app/core/excel/__pycache__/merger.cpython-39.pyc and b/app/core/excel/__pycache__/merger.cpython-39.pyc differ diff --git a/app/core/excel/__pycache__/processor.cpython-39.pyc b/app/core/excel/__pycache__/processor.cpython-39.pyc index 04515c2..2aa6a98 100644 Binary files a/app/core/excel/__pycache__/processor.cpython-39.pyc and b/app/core/excel/__pycache__/processor.cpython-39.pyc differ diff --git a/app/core/excel/converter.py b/app/core/excel/converter.py index 1440ff5..410cc41 100644 --- a/app/core/excel/converter.py +++ b/app/core/excel/converter.py @@ -32,6 +32,13 @@ class UnitConverter: 'multiplier': 30, # 数量乘以30 'target_unit': '瓶', # 目标单位 'description': 'NFC产品特殊处理:每箱30瓶' + }, + '6901826888138': { + 'multiplier': 30, # 数量乘以30 + 'target_unit': '瓶', # 目标单位 + 'fixed_price': 112/30, # 固定单价为112/30 + 'specification': '1*30', # 固定规格 + 'description': '特殊处理: 规格1*30,数量*30,单价=112/30' } # 可以添加更多特殊条码的配置 } @@ -253,6 +260,8 @@ class UnitConverter: spec = re.sub(r'\s+', '', spec) # 移除所有空白 spec = re.sub(r'[xX×]', '*', spec) # 统一分隔符为* + logger.debug(f"解析规格: {spec}") + # 处理三级包装,如1*5*12 three_level_match = re.match(r'(\d+)[*](\d+)[*](\d+)', spec) if three_level_match: @@ -334,6 +343,20 @@ class UnitConverter: # 如果有单价,单价除以倍数 new_price = price / multiplier if price else 0 + # 如果有固定单价,优先使用 + if 'fixed_price' in special_config: + new_price = special_config['fixed_price'] + logger.info(f"特殊条码({barcode})使用固定单价: {new_price}") + + # 如果有固定规格,设置规格 + if 'specification' in special_config: + result['specification'] = special_config['specification'] + # 解析规格以获取包装数量 + package_quantity = self.parse_specification(special_config['specification']) + if package_quantity: + result['package_quantity'] = package_quantity + logger.info(f"特殊条码({barcode})使用固定规格: {special_config['specification']}, 包装数量={package_quantity}") + logger.info(f"特殊条码处理: {barcode}, 数量: {quantity} -> {new_quantity}, 单价: {price} -> {new_price}, 单位: {unit} -> {target_unit}") result['quantity'] = new_quantity diff --git a/app/core/excel/merger.py b/app/core/excel/merger.py index fcc4838..ca35f9f 100644 --- a/app/core/excel/merger.py +++ b/app/core/excel/merger.py @@ -125,20 +125,23 @@ class PurchaseOrderMerger: # 打印列名,用于调试 logger.debug(f"Excel文件的列名: {df.columns.tolist()}") - # 检查是否有特殊表头结构(如在第3行) - special_header = False - if len(df) > 3: # 确保有足够的行 - row3 = df.iloc[3].astype(str) - header_keywords = ['行号', '条形码', '条码', '商品名称', '规格', '单价', '数量', '金额', '单位'] - # 计算匹配的关键词数量 - matches = sum(1 for keyword in header_keywords if any(keyword in str(val) for val in row3.values)) - # 如果匹配了至少3个关键词,认为第3行是表头 - if matches >= 3: - logger.info(f"检测到特殊表头结构,使用第3行作为列名") - # 创建新的数据帧,使用第3行作为列名,数据从第4行开始 - header_row = df.iloc[3] - data_rows = df.iloc[4:].reset_index(drop=True) - # 为每一列分配一个名称(避免重复的列名) + # 处理特殊情况:检查是否需要读取指定行作为标题行 + for header_row_idx in range(5): # 检查前5行 + if len(df) <= header_row_idx: + continue + + potential_header = df.iloc[header_row_idx].astype(str) + header_keywords = ['条码', '条形码', '商品条码', '商品名称', '规格', '单价', '数量', '金额', '单位', '必填'] + matches = sum(1 for keyword in header_keywords if any(keyword in str(val) for val in potential_header.values)) + + if matches >= 3: # 如果至少匹配3个关键词,认为是表头 + logger.info(f"检测到表头在第 {header_row_idx+1} 行") + + # 使用此行作为列名,数据从下一行开始 + header_row = potential_header + data_rows = df.iloc[header_row_idx+1:].reset_index(drop=True) + + # 为每一列分配名称(避免重复的列名) new_columns = [] for i, col in enumerate(header_row): col_str = str(col) @@ -146,45 +149,77 @@ class PurchaseOrderMerger: new_columns.append(f"Col_{i}") else: new_columns.append(col_str) + # 使用新列名创建新的DataFrame data_rows.columns = new_columns df = data_rows - special_header = True logger.debug(f"重新构建的数据帧列名: {df.columns.tolist()}") + break # 定义可能的列名映射 column_mapping = { '条码': ['条码', '条形码', '商品条码', 'barcode', '商品条形码', '条形码', '商品条码', '商品编码', '商品编号', '条形码', '条码(必填)'], - '采购量': ['数量', '采购数量', '购买数量', '采购数量', '订单数量', '采购数量', '采购量(必填)'], - '采购单价': ['单价', '价格', '采购单价', '销售价', '采购单价(必填)'], + '采购量': ['数量', '采购数量', '购买数量', '采购数量', '订单数量', '采购数量', '采购量(必填)', '采购量', '数量(必填)'], + '采购单价': ['单价', '价格', '采购单价', '销售价', '采购单价(必填)', '单价(必填)', '价格(必填)'], '赠送量': ['赠送量', '赠品数量', '赠送数量', '赠品'] } + # 显示所有列名,用于调试 + all_columns = df.columns.tolist() + logger.info(f"列名: {all_columns}") + # 映射实际的列名 mapped_columns = {} for target_col, possible_names in column_mapping.items(): - for col in df.columns: - # 移除列名中的空白字符和括号内容以进行比较 - clean_col = re.sub(r'\s+', '', str(col)) - clean_col = re.sub(r'(.*?)', '', clean_col) # 移除括号内容 + for col in all_columns: + # 清理列名以进行匹配 + col_str = str(col).strip() + + # 直接匹配整个列名 + if col_str in possible_names: + mapped_columns[target_col] = col + logger.info(f"直接匹配列名: {col_str} -> {target_col}") + break + + # 移除列名中的空白字符进行比较 + clean_col = re.sub(r'\s+', '', col_str) for name in possible_names: clean_name = re.sub(r'\s+', '', name) - clean_name = re.sub(r'(.*?)', '', clean_name) # 移除括号内容 + # 完全匹配 if clean_col == clean_name: mapped_columns[target_col] = col + logger.info(f"清理后匹配列名: {col_str} -> {target_col}") break + # 部分匹配(列名包含关键词) + elif clean_name in clean_col: + mapped_columns[target_col] = col + logger.info(f"部分匹配列名: {col_str} -> {target_col}") + break + if target_col in mapped_columns: break + + # 如果没有找到匹配,尝试模糊匹配 + if target_col not in mapped_columns: + for col in all_columns: + col_str = str(col).strip().lower() + for name in possible_names: + name_lower = name.lower() + if name_lower in col_str: + mapped_columns[target_col] = col + logger.info(f"模糊匹配列名: {col} -> {target_col}") + break + if target_col in mapped_columns: + break # 如果找到了必要的列,重命名列 if mapped_columns: - # 如果没有找到条码列,无法继续处理 - if '条码' not in mapped_columns: - logger.error(f"未找到条码列: {file_path}") - return None - - df = df.rename(columns=mapped_columns) - logger.info(f"列名映射结果: {mapped_columns}") + rename_dict = {mapped_columns[key]: key for key in mapped_columns} + logger.info(f"列名重命名映射: {rename_dict}") + df = df.rename(columns=rename_dict) + logger.info(f"重命名后的列名: {df.columns.tolist()}") + else: + logger.warning(f"未找到可映射的列名: {file_path}") return df @@ -233,21 +268,31 @@ class PurchaseOrderMerger: # 处理赠送量列不存在的情况 if '赠送量' not in df.columns: - df['赠送量'] = pd.NA + df['赠送量'] = 0 - # 选择需要的列 - selected_df = df[['条码', '采购量', '采购单价', '赠送量']].copy() + # 选择并清理需要的列 + cleaned_df = pd.DataFrame() - # 清理和转换数据 - selected_df['条码'] = selected_df['条码'].apply(lambda x: format_barcode(x) if pd.notna(x) else x) - selected_df['采购量'] = pd.to_numeric(selected_df['采购量'], errors='coerce') - selected_df['采购单价'] = pd.to_numeric(selected_df['采购单价'], errors='coerce') - selected_df['赠送量'] = pd.to_numeric(selected_df['赠送量'], errors='coerce') + # 清理条码 - 确保是字符串且无小数点 + cleaned_df['条码'] = df['条码'].apply(lambda x: format_barcode(x) if pd.notna(x) else '') - # 过滤无效行 - valid_df = selected_df.dropna(subset=['条码', '采购量']) + # 清理采购量 - 确保是数字 + cleaned_df['采购量'] = pd.to_numeric(df['采购量'], errors='coerce').fillna(0) - processed_dfs.append(valid_df) + # 清理单价 - 确保是数字并保留4位小数 + cleaned_df['采购单价'] = pd.to_numeric(df['采购单价'], errors='coerce').fillna(0).round(4) + + # 清理赠送量 - 确保是数字 + cleaned_df['赠送量'] = pd.to_numeric(df['赠送量'], errors='coerce').fillna(0) + + # 过滤无效行 - 条码为空或采购量为0的行跳过 + valid_df = cleaned_df[(cleaned_df['条码'] != '') & (cleaned_df['采购量'] > 0)] + + if len(valid_df) > 0: + processed_dfs.append(valid_df) + logger.info(f"处理文件 {i+1}: 有效记录 {len(valid_df)} 行") + else: + logger.warning(f"处理文件 {i+1}: 没有有效记录") if not processed_dfs: logger.warning("没有有效的数据帧用于合并") @@ -257,26 +302,27 @@ class PurchaseOrderMerger: merged_df = pd.concat(processed_dfs, ignore_index=True) # 按条码和单价分组,合并相同商品 - merged_df['采购单价'] = merged_df['采购单价'].round(4) # 四舍五入到4位小数,避免浮点误差 + # 四舍五入到4位小数,避免浮点误差导致相同价格被当作不同价格 + merged_df['采购单价'] = merged_df['采购单价'].round(4) # 对于同一条码和单价的商品,合并数量和赠送量 - grouped = merged_df.groupby(['条码', '采购单价'], as_index=False).agg({ + result = merged_df.groupby(['条码', '采购单价'], as_index=False).agg({ '采购量': 'sum', - '赠送量': lambda x: sum(x.dropna()) if len(x.dropna()) > 0 else pd.NA + '赠送量': 'sum' }) - # 计算其他信息 - grouped['采购金额'] = grouped['采购量'] * grouped['采购单价'] - # 排序,按条码升序 - result = grouped.sort_values('条码').reset_index(drop=True) + result = result.sort_values('条码').reset_index(drop=True) + + # 设置为0的赠送量设为空 + result.loc[result['赠送量'] == 0, '赠送量'] = pd.NA logger.info(f"合并完成,共 {len(result)} 条商品记录") return result def create_merged_purchase_order(self, df: pd.DataFrame) -> Optional[str]: """ - 创建合并的采购单文件 + 创建合并的采购单文件,完全按照银豹格式要求 Args: df: 合并后的数据帧 @@ -289,39 +335,55 @@ class PurchaseOrderMerger: template_workbook = xlrd.open_workbook(self.template_path, formatting_info=True) template_sheet = template_workbook.sheet_by_index(0) + # 首先分析模板结构,确定关键列的位置 + logger.info(f"分析模板结构") + for i in range(min(5, template_sheet.nrows)): + row_values = [str(cell.value).strip() for cell in template_sheet.row(i)] + logger.debug(f"模板第{i+1}行: {row_values}") + + # 银豹模板的标准列位置: + # 条码列(商品条码): B列(索引1) + barcode_col = 1 + # 采购量列: C列(索引2) + quantity_col = 2 + # 赠送量列: D列(索引3) + gift_col = 3 + # 采购单价列: E列(索引4) + price_col = 4 + + # 找到数据开始行 - 通常是第二行(索引1) + data_start_row = 1 + # 创建可写的副本 output_workbook = xlcopy(template_workbook) output_sheet = output_workbook.get_sheet(0) - # 填充商品信息 - start_row = 4 # 从第5行开始填充数据(索引从0开始) + # 设置单价的格式样式(保留4位小数) + price_style = xlwt.XFStyle() + price_style.num_format_str = '0.0000' + # 数量格式 + quantity_style = xlwt.XFStyle() + quantity_style.num_format_str = '0' + + # 遍历数据并填充到Excel for i, (_, row) in enumerate(df.iterrows()): - r = start_row + i + r = data_start_row + i - # 序号 - output_sheet.write(r, 0, i + 1) - # 商品编码(条码) - output_sheet.write(r, 1, row['条码']) - # 商品名称(合并单没有名称信息,留空) - output_sheet.write(r, 2, "") - # 规格(合并单没有规格信息,留空) - output_sheet.write(r, 3, "") - # 单位(合并单没有单位信息,留空) - output_sheet.write(r, 4, "") - # 单价 - output_sheet.write(r, 5, row['采购单价']) - # 采购数量 - output_sheet.write(r, 6, row['采购量']) - # 采购金额 - output_sheet.write(r, 7, row['采购金额']) - # 税率 - output_sheet.write(r, 8, 0) - # 赠送量 - if pd.notna(row['赠送量']): - output_sheet.write(r, 9, row['赠送量']) - else: - output_sheet.write(r, 9, "") + # 只填充银豹采购单格式要求的4个列:条码、采购量、赠送量、采购单价 + + # 条码(必填)- B列(1) + output_sheet.write(r, barcode_col, row['条码']) + + # 采购量(必填)- C列(2) + output_sheet.write(r, quantity_col, float(row['采购量']), quantity_style) + + # 赠送量 - D列(3) + if pd.notna(row['赠送量']) and float(row['赠送量']) > 0: + output_sheet.write(r, gift_col, float(row['赠送量']), quantity_style) + + # 采购单价(必填)- E列(4) + output_sheet.write(r, price_col, float(row['采购单价']), price_style) # 生成输出文件名 timestamp = datetime.now().strftime("%Y%m%d%H%M%S") @@ -329,7 +391,7 @@ class PurchaseOrderMerger: # 保存文件 output_workbook.save(output_file) - logger.info(f"合并采购单已保存到: {output_file}") + logger.info(f"合并采购单已保存到: {output_file},共{len(df)}条记录") return output_file except Exception as e: diff --git a/app/core/excel/processor.py b/app/core/excel/processor.py index 00902d0..3609d3a 100644 --- a/app/core/excel/processor.py +++ b/app/core/excel/processor.py @@ -255,12 +255,22 @@ class ExcelProcessor: 'barcode': barcode, 'name': str(row[column_mapping['name']]) if column_mapping.get('name') else '', 'quantity': quantity_value, - 'price': float(row[column_mapping['price']]) if column_mapping.get('price') and not pd.isna(row[column_mapping['price']]) else 0, + 'price': 0, 'unit': str(row[column_mapping['unit']]) if column_mapping.get('unit') and not pd.isna(row[column_mapping['unit']]) else '', 'specification': '', 'package_quantity': None } + # 处理价格字段 - 清理可能的换行符和空格 + if column_mapping.get('price') and not pd.isna(row[column_mapping['price']]): + price_str = str(row[column_mapping['price']]) + # 清理换行符、空格并替换逗号 + price_str = price_str.replace('\n', '').replace(' ', '').replace(',', '.') + try: + product['price'] = float(price_str) + except ValueError: + logger.warning(f"价格转换失败,原始值: '{price_str}',使用默认值0") + # 清理单位 if product['unit'] == 'nan' or product['unit'] == 'None': product['unit'] = '' diff --git a/logs/__main__.log b/logs/__main__.log index 5d1d9ac..b882748 100644 --- a/logs/__main__.log +++ b/logs/__main__.log @@ -198,3 +198,71 @@ 2025-05-02 22:40:56,996 - __main__ - INFO - 发现 1 个采购单文件 2025-05-02 22:40:56,996 - __main__ - WARNING - 只有1个采购单文件 D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250502214456.xls,无需合并 2025-05-02 22:40:56,996 - __main__ - INFO - === 完整流程处理成功(只有一个文件,跳过合并)=== +2025-05-03 12:54:57,235 - __main__ - INFO - === 流程步骤 1: OCR识别 === +2025-05-03 12:54:57,236 - __main__ - INFO - 批量处理所有图片 +2025-05-03 12:55:00,228 - __main__ - INFO - OCR处理完成,总计: 1,成功: 1 +2025-05-03 12:55:00,228 - __main__ - INFO - === 流程步骤 2: Excel处理 === +2025-05-03 12:55:00,229 - __main__ - INFO - 处理最新的Excel文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250502214456.xlsx +2025-05-03 12:55:14,451 - __main__ - INFO - Excel处理成功,输出文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250502214456.xls +2025-05-03 12:55:14,451 - __main__ - INFO - === 流程步骤 3: 订单合并 === +2025-05-03 12:55:14,452 - __main__ - INFO - 发现 1 个采购单文件 +2025-05-03 12:55:14,452 - __main__ - WARNING - 只有1个采购单文件 D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250502214456.xls,无需合并 +2025-05-03 12:55:14,452 - __main__ - INFO - === 完整流程处理成功(只有一个文件,跳过合并)=== +2025-05-03 14:44:17,320 - __main__ - INFO - === 流程步骤 1: OCR识别 === +2025-05-03 14:44:17,320 - __main__ - INFO - 批量处理所有图片 +2025-05-03 14:44:19,916 - __main__ - INFO - OCR处理完成,总计: 1,成功: 1 +2025-05-03 14:44:19,917 - __main__ - INFO - === 流程步骤 2: Excel处理 === +2025-05-03 14:44:19,921 - __main__ - INFO - 处理最新的Excel文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250503144404.xlsx +2025-05-03 14:44:26,125 - __main__ - INFO - Excel处理成功,输出文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250503144404.xls +2025-05-03 14:44:26,125 - __main__ - INFO - === 流程步骤 3: 订单合并 === +2025-05-03 14:44:26,125 - __main__ - INFO - 发现 2 个采购单文件 +2025-05-03 14:44:26,126 - __main__ - INFO - 合并所有采购单文件: 2 个 +2025-05-03 14:44:30,400 - __main__ - ERROR - 订单合并失败 +2025-05-03 14:45:44,522 - __main__ - INFO - 批量处理模式 +2025-05-03 14:45:47,101 - __main__ - INFO - 批量处理完成,总计: 1,成功: 1 +2025-05-03 14:45:58,809 - __main__ - INFO - 处理Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250503144404.xlsx +2025-05-03 14:46:03,478 - __main__ - INFO - Excel处理成功,输出文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250503144404.xls +2025-05-03 14:53:52,353 - __main__ - INFO - === 流程步骤 1: OCR识别 === +2025-05-03 14:53:52,354 - __main__ - INFO - 批量处理所有图片 +2025-05-03 14:53:54,304 - __main__ - INFO - OCR处理完成,总计: 1,成功: 1 +2025-05-03 14:53:54,304 - __main__ - INFO - === 流程步骤 2: Excel处理 === +2025-05-03 14:53:54,305 - __main__ - INFO - 处理最新的Excel文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250503145328.xlsx +2025-05-03 14:53:55,098 - __main__ - ERROR - Excel处理失败 +2025-05-03 15:43:36,733 - __main__ - INFO - 处理Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250503145328.xlsx +2025-05-03 15:43:37,414 - __main__ - ERROR - Excel处理失败 +2025-05-05 18:55:02,303 - __main__ - INFO - === 流程步骤 1: OCR识别 === +2025-05-05 18:55:02,304 - __main__ - INFO - 批量处理所有图片 +2025-05-05 18:55:04,011 - __main__ - INFO - OCR处理完成,总计: 1,成功: 1 +2025-05-05 18:55:04,012 - __main__ - INFO - === 流程步骤 2: Excel处理 === +2025-05-05 18:55:04,014 - __main__ - INFO - 处理最新的Excel文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250505185454.xlsx +2025-05-05 18:55:13,152 - __main__ - INFO - Excel处理成功,输出文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185454.xls +2025-05-05 18:55:13,152 - __main__ - INFO - === 流程步骤 3: 订单合并 === +2025-05-05 18:55:13,153 - __main__ - INFO - 发现 1 个采购单文件 +2025-05-05 18:55:13,153 - __main__ - WARNING - 只有1个采购单文件 D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185454.xls,无需合并 +2025-05-05 18:55:13,153 - __main__ - INFO - === 完整流程处理成功(只有一个文件,跳过合并)=== +2025-05-05 18:59:17,853 - __main__ - INFO - 批量处理模式 +2025-05-05 18:59:23,223 - __main__ - INFO - 批量处理完成,总计: 2,成功: 2 +2025-05-05 19:00:26,075 - __main__ - INFO - 处理Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250505185842.xlsx +2025-05-05 19:00:44,019 - __main__ - INFO - Excel处理成功,输出文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185842.xls +2025-05-05 19:02:32,169 - __main__ - INFO - 处理Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250505185908.xlsx +2025-05-05 19:02:44,931 - __main__ - INFO - Excel处理成功,输出文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185908.xls +2025-05-05 19:02:54,875 - __main__ - INFO - 合并所有采购单文件: 2 个 +2025-05-05 19:02:54,901 - __main__ - ERROR - 订单合并失败 +2025-05-05 19:15:12,554 - __main__ - INFO - 处理Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250505185908.xlsx +2025-05-05 19:15:22,303 - __main__ - INFO - Excel处理成功,输出文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185908.xls +2025-05-05 19:18:54,542 - __main__ - INFO - 合并所有采购单文件: 2 个 +2025-05-05 19:18:54,840 - __main__ - INFO - 订单合并成功,输出文件: D:\My Documents\python\orc-order-v2\data\output\合并采购单_20250505191854.xls +2025-05-05 19:19:59,315 - __main__ - INFO - 处理Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250505185908.xlsx +2025-05-05 19:20:09,861 - __main__ - INFO - Excel处理成功,输出文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185908.xls +2025-05-05 19:22:18,533 - __main__ - INFO - 处理Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250505185908.xlsx +2025-05-05 19:22:28,611 - __main__ - INFO - Excel处理成功,输出文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185908.xls +2025-05-05 19:22:37,226 - __main__ - INFO - 合并所有采购单文件: 2 个 +2025-05-05 19:22:37,407 - __main__ - INFO - 订单合并成功,输出文件: D:\My Documents\python\orc-order-v2\data\output\合并采购单_20250505192237.xls +2025-05-05 19:28:36,770 - __main__ - INFO - 合并所有采购单文件: 2 个 +2025-05-05 19:28:36,856 - __main__ - INFO - 订单合并成功,输出文件: D:\My Documents\python\orc-order-v2\data\output\合并采购单_20250505192836.xls +2025-05-05 19:29:16,917 - __main__ - INFO - 合并所有采购单文件: 2 个 +2025-05-05 19:29:17,073 - __main__ - INFO - 订单合并成功,输出文件: D:\My Documents\python\orc-order-v2\data\output\合并采购单_20250505192917.xls +2025-05-05 19:30:06,156 - __main__ - INFO - 合并所有采购单文件: 2 个 +2025-05-05 19:30:06,305 - __main__ - INFO - 订单合并成功,输出文件: D:\My Documents\python\orc-order-v2\data\output\合并采购单_20250505193006.xls +2025-05-05 19:30:28,309 - __main__ - INFO - 合并所有采购单文件: 2 个 +2025-05-05 19:30:28,426 - __main__ - INFO - 订单合并成功,输出文件: D:\My Documents\python\orc-order-v2\data\output\合并采购单_20250505193028.xls diff --git a/logs/app.core.excel.converter.log b/logs/app.core.excel.converter.log index 1abe662..b3d5efd 100644 --- a/logs/app.core.excel.converter.log +++ b/logs/app.core.excel.converter.log @@ -653,3 +653,335 @@ 2025-05-02 22:40:53,274 - app.core.excel.converter - INFO - 从名称推断规格(容量): 12.9L桶装水 -> 12.9L*1 2025-05-02 22:40:53,274 - app.core.excel.converter - INFO - 解析容量规格: 12.9L*1 -> 12.9L*1 2025-05-02 22:40:53,274 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 1.0, 单价: 0.0, 单位: 桶 +2025-05-03 12:55:01,092 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 3箱 -> 数量=3.0, 单位=箱 +2025-05-03 12:55:01,093 - app.core.excel.converter - INFO - 从名称推断规格(入白膜): 550纯净水24入白膜 -> 1*24 +2025-05-03 12:55:01,094 - app.core.excel.converter - INFO - 解析二级规格: 1*24 -> 1*24 +2025-05-03 12:55:01,094 - app.core.excel.converter - INFO - 箱单位处理: 数量: 3.0 -> 72.0, 单价: 0.0 -> 0, 单位: 箱 -> 瓶 +2025-05-03 12:55:01,094 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 1箱 -> 数量=1.0, 单位=箱 +2025-05-03 12:55:01,095 - app.core.excel.converter - INFO - 从名称推断规格(入纸箱): 450果园30%橙子15入纸箱 -> 1*15 +2025-05-03 12:55:01,095 - app.core.excel.converter - INFO - 解析二级规格: 1*15 -> 1*15 +2025-05-03 12:55:01,095 - app.core.excel.converter - INFO - 箱单位处理: 数量: 1.0 -> 15.0, 单价: 0.0 -> 0, 单位: 箱 -> 瓶 +2025-05-03 12:55:01,095 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 2箱 -> 数量=2.0, 单位=箱 +2025-05-03 12:55:01,096 - app.core.excel.converter - INFO - 从名称推断规格(入纸箱): 445水溶C血橙15入纸箱 -> 1*15 +2025-05-03 12:55:01,096 - app.core.excel.converter - INFO - 解析二级规格: 1*15 -> 1*15 +2025-05-03 12:55:01,096 - app.core.excel.converter - INFO - 箱单位处理: 数量: 2.0 -> 30.0, 单价: 56.0 -> 3.7333333333333334, 单位: 箱 -> 瓶 +2025-05-03 12:55:01,264 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 2箱 -> 数量=2.0, 单位=箱 +2025-05-03 12:55:01,265 - app.core.excel.converter - INFO - 从名称推断规格(纸箱): 445水溶C柠檬15纸箱 -> 1*15 +2025-05-03 12:55:01,265 - app.core.excel.converter - INFO - 解析二级规格: 1*15 -> 1*15 +2025-05-03 12:55:01,266 - app.core.excel.converter - INFO - 箱单位处理: 数量: 2.0 -> 30.0, 单价: 56.0 -> 3.7333333333333334, 单位: 箱 -> 瓶 +2025-05-03 12:55:01,266 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 3箱 -> 数量=3.0, 单位=箱 +2025-05-03 12:55:01,266 - app.core.excel.converter - INFO - 从名称推断规格(纸箱): 445水溶C青皮桔15纸箱 -> 1*15 +2025-05-03 12:55:01,267 - app.core.excel.converter - INFO - 解析二级规格: 1*15 -> 1*15 +2025-05-03 12:55:01,267 - app.core.excel.converter - INFO - 箱单位处理: 数量: 3.0 -> 45.0, 单价: 56.0 -> 3.7333333333333334, 单位: 箱 -> 瓶 +2025-05-03 12:55:01,268 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 1箱 -> 数量=1.0, 单位=箱 +2025-05-03 12:55:01,269 - app.core.excel.converter - INFO - 从名称推断规格(纸箱): 445水溶C西柚15纸箱 -> 1*15 +2025-05-03 12:55:01,269 - app.core.excel.converter - INFO - 解析二级规格: 1*15 -> 1*15 +2025-05-03 12:55:01,269 - app.core.excel.converter - INFO - 箱单位处理: 数量: 1.0 -> 15.0, 单价: 56.0 -> 3.7333333333333334, 单位: 箱 -> 瓶 +2025-05-03 12:55:01,270 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 3箱 -> 数量=3.0, 单位=箱 +2025-05-03 12:55:01,270 - app.core.excel.converter - INFO - 从名称推断规格(纸箱): 500树叶茉莉花茶15纸箱 -> 1*15 +2025-05-03 12:55:01,271 - app.core.excel.converter - INFO - 解析二级规格: 1*15 -> 1*15 +2025-05-03 12:55:01,271 - app.core.excel.converter - INFO - 箱单位处理: 数量: 3.0 -> 45.0, 单价: 55.0 -> 3.6666666666666665, 单位: 箱 -> 瓶 +2025-05-03 12:55:01,271 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 1箱 -> 数量=1.0, 单位=箱 +2025-05-03 12:55:06,817 - app.core.excel.converter - INFO - 从名称推断规格(纸箱): 500树叶乌龙茶15纸箱 -> 1*15 +2025-05-03 12:55:06,817 - app.core.excel.converter - INFO - 解析二级规格: 1*15 -> 1*15 +2025-05-03 12:55:06,818 - app.core.excel.converter - INFO - 箱单位处理: 数量: 1.0 -> 15.0, 单价: 55.0 -> 3.6666666666666665, 单位: 箱 -> 瓶 +2025-05-03 12:55:06,818 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 2箱 -> 数量=2.0, 单位=箱 +2025-05-03 12:55:06,818 - app.core.excel.converter - INFO - 从名称推断规格(纸箱): 500树叶绿茶15纸箱 -> 1*15 +2025-05-03 12:55:06,819 - app.core.excel.converter - INFO - 解析二级规格: 1*15 -> 1*15 +2025-05-03 12:55:06,819 - app.core.excel.converter - INFO - 箱单位处理: 数量: 2.0 -> 30.0, 单价: 55.0 -> 3.6666666666666665, 单位: 箱 -> 瓶 +2025-05-03 12:55:06,819 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 1箱 -> 数量=1.0, 单位=箱 +2025-05-03 12:55:06,820 - app.core.excel.converter - INFO - 从名称推断规格(入纸箱): 900树叶青柑普洱12入纸箱 -> 1*12 +2025-05-03 12:55:06,820 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-03 12:55:06,820 - app.core.excel.converter - INFO - 箱单位处理: 数量: 1.0 -> 12.0, 单价: 62.0 -> 5.166666666666667, 单位: 箱 -> 瓶 +2025-05-03 12:55:06,821 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 1箱 -> 数量=1.0, 单位=箱 +2025-05-03 12:55:06,821 - app.core.excel.converter - INFO - 从名称推断规格(纸箱): 410苏打天然水柠檬15纸箱 -> 1*15 +2025-05-03 12:55:06,821 - app.core.excel.converter - INFO - 解析二级规格: 1*15 -> 1*15 +2025-05-03 12:55:06,821 - app.core.excel.converter - INFO - 箱单位处理: 数量: 1.0 -> 15.0, 单价: 43.0 -> 2.8666666666666667, 单位: 箱 -> 瓶 +2025-05-03 12:55:06,822 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 5桶 -> 数量=5.0, 单位=桶 +2025-05-03 12:55:06,823 - app.core.excel.converter - INFO - 从名称推断规格(容量): 12.9L桶装水 -> 12.9L*1 +2025-05-03 12:55:10,474 - app.core.excel.converter - INFO - 解析容量规格: 12.9L*1 -> 12.9L*1 +2025-05-03 12:55:10,474 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 5.0, 单价: 16.0, 单位: 桶 +2025-05-03 12:55:10,474 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 1桶 -> 数量=1.0, 单位=桶 +2025-05-03 12:55:10,475 - app.core.excel.converter - INFO - 从名称推断规格(容量): 12.9L桶装水 -> 12.9L*1 +2025-05-03 12:55:10,475 - app.core.excel.converter - INFO - 解析容量规格: 12.9L*1 -> 12.9L*1 +2025-05-03 12:55:10,475 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 1.0, 单价: 0.0, 单位: 桶 +2025-05-03 14:44:20,723 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 1箱 -> 数量=1.0, 单位=箱 +2025-05-03 14:44:20,726 - app.core.excel.converter - INFO - 从名称推断规格(白膜): 550水24白膜 -> 1*24 +2025-05-03 14:44:20,728 - app.core.excel.converter - INFO - 解析二级规格: 1*24 -> 1*24 +2025-05-03 14:44:20,728 - app.core.excel.converter - INFO - 箱单位处理: 数量: 1.0 -> 24.0, 单价: 0.0 -> 0, 单位: 箱 -> 瓶 +2025-05-03 14:44:20,729 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 2箱 -> 数量=2.0, 单位=箱 +2025-05-03 14:44:20,729 - app.core.excel.converter - INFO - 从名称推断规格(入纸箱): 1.5树叶茉莉花茶6入纸箱装 -> 1*6 +2025-05-03 14:44:20,729 - app.core.excel.converter - INFO - 解析二级规格: 1*6 -> 1*6 +2025-05-03 14:44:20,730 - app.core.excel.converter - INFO - 箱单位处理: 数量: 2.0 -> 12.0, 单价: 50.0 -> 8.333333333333334, 单位: 箱 -> 瓶 +2025-05-03 14:44:20,730 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 1箱 -> 数量=1.0, 单位=箱 +2025-05-03 14:44:20,730 - app.core.excel.converter - INFO - 从名称推断规格(入纸箱): 1.5树叶乌龙茶6入纸箱装 -> 1*6 +2025-05-03 14:44:20,731 - app.core.excel.converter - INFO - 解析二级规格: 1*6 -> 1*6 +2025-05-03 14:44:20,731 - app.core.excel.converter - INFO - 箱单位处理: 数量: 1.0 -> 6.0, 单价: 50.0 -> 8.333333333333334, 单位: 箱 -> 瓶 +2025-05-03 14:44:20,939 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 1箱 -> 数量=1.0, 单位=箱 +2025-05-03 14:44:20,939 - app.core.excel.converter - INFO - 从名称推断规格(入纸箱): 1.5树叶青柑普洱茶6入纸箱装 -> 1*6 +2025-05-03 14:44:20,939 - app.core.excel.converter - INFO - 解析二级规格: 1*6 -> 1*6 +2025-05-03 14:44:20,940 - app.core.excel.converter - INFO - 箱单位处理: 数量: 1.0 -> 6.0, 单价: 50.0 -> 8.333333333333334, 单位: 箱 -> 瓶 +2025-05-03 14:44:20,940 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 1箱 -> 数量=1.0, 单位=箱 +2025-05-03 14:44:20,941 - app.core.excel.converter - INFO - 从名称推断规格(直接格式): 410-农夫山泉-原味1*15-纸箱装 -> 1*15 +2025-05-03 14:44:20,941 - app.core.excel.converter - INFO - 解析二级规格: 1*15 -> 1*15 +2025-05-03 14:44:20,941 - app.core.excel.converter - INFO - 箱单位处理: 数量: 1.0 -> 15.0, 单价: 43.0 -> 2.8666666666666667, 单位: 箱 -> 瓶 +2025-05-03 14:44:20,942 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 5箱 -> 数量=5.0, 单位=箱 +2025-05-03 14:44:20,942 - app.core.excel.converter - INFO - 从名称推断规格(入白膜): 5L水4入白膜 -> 1*4 +2025-05-03 14:44:20,943 - app.core.excel.converter - INFO - 解析二级规格: 1*4 -> 1*4 +2025-05-03 14:44:20,943 - app.core.excel.converter - INFO - 箱单位处理: 数量: 5.0 -> 20.0, 单价: 29.0 -> 7.25, 单位: 箱 -> 瓶 +2025-05-03 14:44:20,944 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 1箱 -> 数量=1.0, 单位=箱 +2025-05-03 14:44:20,944 - app.core.excel.converter - INFO - 从名称推断规格(入白膜): 5L水4入白膜 -> 1*4 +2025-05-03 14:44:20,944 - app.core.excel.converter - INFO - 解析二级规格: 1*4 -> 1*4 +2025-05-03 14:44:20,944 - app.core.excel.converter - INFO - 箱单位处理: 数量: 1.0 -> 4.0, 单价: 0.0 -> 0, 单位: 箱 -> 瓶 +2025-05-03 14:45:59,495 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 1箱 -> 数量=1.0, 单位=箱 +2025-05-03 14:45:59,496 - app.core.excel.converter - INFO - 从名称推断规格(白膜): 550水24白膜 -> 1*24 +2025-05-03 14:45:59,498 - app.core.excel.converter - INFO - 解析二级规格: 1*24 -> 1*24 +2025-05-03 14:45:59,499 - app.core.excel.converter - INFO - 箱单位处理: 数量: 1.0 -> 24.0, 单价: 0.0 -> 0, 单位: 箱 -> 瓶 +2025-05-03 14:45:59,499 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 2箱 -> 数量=2.0, 单位=箱 +2025-05-03 14:45:59,500 - app.core.excel.converter - INFO - 从名称推断规格(入纸箱): 1.5树叶茉莉花茶6入纸箱装 -> 1*6 +2025-05-03 14:45:59,500 - app.core.excel.converter - INFO - 解析二级规格: 1*6 -> 1*6 +2025-05-03 14:45:59,500 - app.core.excel.converter - INFO - 箱单位处理: 数量: 2.0 -> 12.0, 单价: 50.0 -> 8.333333333333334, 单位: 箱 -> 瓶 +2025-05-03 14:45:59,501 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 1箱 -> 数量=1.0, 单位=箱 +2025-05-03 14:45:59,502 - app.core.excel.converter - INFO - 从名称推断规格(入纸箱): 1.5树叶乌龙茶6入纸箱装 -> 1*6 +2025-05-03 14:45:59,502 - app.core.excel.converter - INFO - 解析二级规格: 1*6 -> 1*6 +2025-05-03 14:45:59,503 - app.core.excel.converter - INFO - 箱单位处理: 数量: 1.0 -> 6.0, 单价: 50.0 -> 8.333333333333334, 单位: 箱 -> 瓶 +2025-05-03 14:45:59,535 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 1箱 -> 数量=1.0, 单位=箱 +2025-05-03 14:45:59,535 - app.core.excel.converter - INFO - 从名称推断规格(入纸箱): 1.5树叶青柑普洱茶6入纸箱装 -> 1*6 +2025-05-03 14:45:59,535 - app.core.excel.converter - INFO - 解析二级规格: 1*6 -> 1*6 +2025-05-03 14:45:59,535 - app.core.excel.converter - INFO - 箱单位处理: 数量: 1.0 -> 6.0, 单价: 50.0 -> 8.333333333333334, 单位: 箱 -> 瓶 +2025-05-03 14:45:59,536 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 1箱 -> 数量=1.0, 单位=箱 +2025-05-03 14:45:59,536 - app.core.excel.converter - INFO - 从名称推断规格(直接格式): 410-农夫山泉-原味1*15-纸箱装 -> 1*15 +2025-05-03 14:45:59,536 - app.core.excel.converter - INFO - 解析二级规格: 1*15 -> 1*15 +2025-05-03 14:45:59,536 - app.core.excel.converter - INFO - 箱单位处理: 数量: 1.0 -> 15.0, 单价: 43.0 -> 2.8666666666666667, 单位: 箱 -> 瓶 +2025-05-03 14:45:59,537 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 5箱 -> 数量=5.0, 单位=箱 +2025-05-03 14:45:59,537 - app.core.excel.converter - INFO - 从名称推断规格(入白膜): 5L水4入白膜 -> 1*4 +2025-05-03 14:45:59,537 - app.core.excel.converter - INFO - 解析二级规格: 1*4 -> 1*4 +2025-05-03 14:45:59,537 - app.core.excel.converter - INFO - 箱单位处理: 数量: 5.0 -> 20.0, 单价: 29.0 -> 7.25, 单位: 箱 -> 瓶 +2025-05-03 14:45:59,537 - app.core.excel.converter - INFO - 从数量提取单位(基本格式): 1箱 -> 数量=1.0, 单位=箱 +2025-05-03 14:45:59,538 - app.core.excel.converter - INFO - 从名称推断规格(入白膜): 5L水4入白膜 -> 1*4 +2025-05-03 14:45:59,538 - app.core.excel.converter - INFO - 解析二级规格: 1*4 -> 1*4 +2025-05-03 14:45:59,538 - app.core.excel.converter - INFO - 箱单位处理: 数量: 1.0 -> 4.0, 单价: 0.0 -> 0, 单位: 箱 -> 瓶 +2025-05-05 18:55:05,289 - app.core.excel.converter - INFO - 解析二级规格: 1*24 -> 1*24 +2025-05-05 18:55:05,289 - app.core.excel.converter - INFO - 件单位处理: 数量: 1.0 -> 24.0, 单价: 40.0 -> 1.6666666666666667, 单位: 件 -> 瓶 +2025-05-05 18:55:05,290 - app.core.excel.converter - INFO - 解析二级规格: 1*15 -> 1*15 +2025-05-05 18:55:05,291 - app.core.excel.converter - INFO - 件单位处理: 数量: 1.0 -> 15.0, 单价: 50.0 -> 3.3333333333333335, 单位: 件 -> 瓶 +2025-05-05 18:55:05,291 - app.core.excel.converter - INFO - 解析二级规格: 1*15 -> 1*15 +2025-05-05 18:55:05,291 - app.core.excel.converter - INFO - 件单位处理: 数量: 1.0 -> 15.0, 单价: 50.0 -> 3.3333333333333335, 单位: 件 -> 瓶 +2025-05-05 18:55:05,293 - app.core.excel.converter - INFO - 解析二级规格: 1*15 -> 1*15 +2025-05-05 18:55:05,293 - app.core.excel.converter - INFO - 件单位处理: 数量: 1.0 -> 15.0, 单价: 50.0 -> 3.3333333333333335, 单位: 件 -> 瓶 +2025-05-05 18:55:05,293 - app.core.excel.converter - INFO - 解析二级规格: 1*15 -> 1*15 +2025-05-05 18:55:05,294 - app.core.excel.converter - INFO - 件单位处理: 数量: 3.0 -> 45.0, 单价: 43.0 -> 2.8666666666666667, 单位: 件 -> 瓶 +2025-05-05 18:55:05,501 - app.core.excel.converter - INFO - 解析二级规格: 1*24 -> 1*24 +2025-05-05 18:55:05,501 - app.core.excel.converter - INFO - 件单位处理: 数量: 5.0 -> 120.0, 单价: 22.0 -> 0.9166666666666666, 单位: 件 -> 瓶 +2025-05-05 18:55:05,502 - app.core.excel.converter - INFO - 解析二级规格: 1*24 -> 1*24 +2025-05-05 18:55:05,502 - app.core.excel.converter - INFO - 件单位处理: 数量: 3.0 -> 72.0, 单价: 43.0 -> 1.7916666666666667, 单位: 件 -> 瓶 +2025-05-05 19:00:26,699 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-05 19:00:26,700 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 12.0, 单位: 包 +2025-05-05 19:00:26,704 - app.core.excel.converter - INFO - 解析二级规格: 1*24 -> 1*24 +2025-05-05 19:00:26,704 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 5.0, 单位: 包 +2025-05-05 19:00:26,705 - app.core.excel.converter - INFO - 解析二级规格: 1*96 -> 1*96 +2025-05-05 19:00:26,705 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 12.0, 单价: 2.4, 单位: 包 +2025-05-05 19:00:26,706 - app.core.excel.converter - INFO - 解析二级规格: 1*16 -> 1*16 +2025-05-05 19:00:26,706 - app.core.excel.converter - INFO - 提/盒单位(二级规格)处理: 保持原样 数量: 6.0, 单价: 8.5, 单位: 提 +2025-05-05 19:00:26,706 - app.core.excel.converter - INFO - 解析二级规格: 1*16 -> 1*16 +2025-05-05 19:00:26,706 - app.core.excel.converter - INFO - 提/盒单位(二级规格)处理: 保持原样 数量: 3.0, 单价: 10.5, 单位: 提 +2025-05-05 19:00:26,706 - app.core.excel.converter - INFO - 解析二级规格: 1*20 -> 1*20 +2025-05-05 19:00:26,735 - app.core.excel.converter - INFO - 提/盒单位(二级规格)处理: 保持原样 数量: 2.0, 单价: 6.5, 单位: 提 +2025-05-05 19:00:26,736 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-05 19:00:26,736 - app.core.excel.converter - INFO - 提/盒单位(二级规格)处理: 保持原样 数量: 3.0, 单价: 12.5, 单位: 提 +2025-05-05 19:00:26,737 - app.core.excel.converter - INFO - 解析二级规格: 1*18 -> 1*18 +2025-05-05 19:00:26,737 - app.core.excel.converter - INFO - 提/盒单位(二级规格)处理: 保持原样 数量: 3.0, 单价: 8.5, 单位: 提 +2025-05-05 19:00:26,738 - app.core.excel.converter - INFO - 解析二级规格: 1*20 -> 1*20 +2025-05-05 19:00:26,738 - app.core.excel.converter - INFO - 提/盒单位(二级规格)处理: 保持原样 数量: 2.0, 单价: 8.5, 单位: 提 +2025-05-05 19:00:26,742 - app.core.excel.converter - INFO - 解析二级规格: 1*48 -> 1*48 +2025-05-05 19:00:26,742 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 6.2, 单位: 包 +2025-05-05 19:00:26,743 - app.core.excel.converter - INFO - 解析二级规格: 1*24 -> 1*24 +2025-05-05 19:00:26,743 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 7.5, 单位: 包 +2025-05-05 19:00:26,744 - app.core.excel.converter - INFO - 解析二级规格: 1*24 -> 1*24 +2025-05-05 19:00:26,744 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 6.5, 单位: 包 +2025-05-05 19:00:26,745 - app.core.excel.converter - INFO - 解析二级规格: 1*30 -> 1*30 +2025-05-05 19:00:26,745 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 6.6, 单位: 包 +2025-05-05 19:00:30,734 - app.core.excel.converter - INFO - 解析二级规格: 1*48 -> 1*48 +2025-05-05 19:00:30,735 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 3.6, 单位: 包 +2025-05-05 19:00:30,735 - app.core.excel.converter - INFO - 解析二级规格: 1*24 -> 1*24 +2025-05-05 19:00:30,736 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 5.0, 单位: 包 +2025-05-05 19:00:30,736 - app.core.excel.converter - INFO - 解析二级规格: 1*48 -> 1*48 +2025-05-05 19:00:30,736 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 4.2, 单位: 包 +2025-05-05 19:00:30,737 - app.core.excel.converter - INFO - 解析二级规格: 1*36 -> 1*36 +2025-05-05 19:00:30,737 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 2.8, 单位: 包 +2025-05-05 19:00:30,738 - app.core.excel.converter - INFO - 解析二级规格: 1*48 -> 1*48 +2025-05-05 19:00:30,738 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 5.0, 单价: 6.2, 单位: 包 +2025-05-05 19:00:30,739 - app.core.excel.converter - INFO - 解析二级规格: 1*24 -> 1*24 +2025-05-05 19:00:30,739 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 6.0, 单位: 包 +2025-05-05 19:00:30,741 - app.core.excel.converter - INFO - 解析二级规格: 1*60 -> 1*60 +2025-05-05 19:00:30,741 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 5.0, 单价: 2.3, 单位: 包 +2025-05-05 19:00:30,741 - app.core.excel.converter - INFO - 解析二级规格: 1*24 -> 1*24 +2025-05-05 19:00:30,742 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 4.6, 单位: 包 +2025-05-05 19:00:34,622 - app.core.excel.converter - INFO - 解析二级规格: 1*16 -> 1*16 +2025-05-05 19:00:34,622 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 5.0, 单价: 6.2, 单位: 包 +2025-05-05 19:00:34,623 - app.core.excel.converter - INFO - 解析二级规格: 1*36 -> 1*36 +2025-05-05 19:00:34,623 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 5.6, 单位: 包 +2025-05-05 19:00:34,624 - app.core.excel.converter - INFO - 解析二级规格: 1*72 -> 1*72 +2025-05-05 19:00:34,624 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 1.2, 单位: 个 +2025-05-05 19:00:34,625 - app.core.excel.converter - WARNING - 无法解析规格: 380g,使用默认值1*1 +2025-05-05 19:00:34,625 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 2.0, 单价: 19.0, 单位: 瓶 +2025-05-05 19:00:34,625 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-05 19:00:34,626 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 14.5, 单位: 瓶 +2025-05-05 19:00:34,626 - app.core.excel.converter - INFO - 解析二级规格: 1*1 -> 1*1 +2025-05-05 19:00:34,626 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 2.0, 单价: 16.5, 单位: 瓶 +2025-05-05 19:02:32,865 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-05 19:02:32,865 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 2.0, 单价: 24.0, 单位: 瓶 +2025-05-05 19:02:32,865 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-05 19:02:32,866 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 2.0, 单价: 24.0, 单位: 瓶 +2025-05-05 19:02:32,866 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-05 19:02:32,866 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 2.0, 单价: 19.0, 单位: 瓶 +2025-05-05 19:02:32,866 - app.core.excel.converter - INFO - 解析二级规格: 1*4 -> 1*4 +2025-05-05 19:02:32,866 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 2.0, 单价: 32.5, 单位: 瓶 +2025-05-05 19:02:32,867 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-05 19:02:32,867 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 2.0, 单价: 12.5, 单位: 袋 +2025-05-05 19:02:32,926 - app.core.excel.converter - INFO - 解析二级规格: 1*100 -> 1*100 +2025-05-05 19:02:32,926 - app.core.excel.converter - INFO - 提/盒单位(二级规格)处理: 保持原样 数量: 2.0, 单价: 14.0, 单位: 盒 +2025-05-05 19:02:32,927 - app.core.excel.converter - INFO - 解析二级规格: 1*100 -> 1*100 +2025-05-05 19:02:32,927 - app.core.excel.converter - INFO - 提/盒单位(二级规格)处理: 保持原样 数量: 2.0, 单价: 14.0, 单位: 盒 +2025-05-05 19:02:32,927 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-05 19:02:32,927 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 12.0, 单价: 6.0, 单位: 双 +2025-05-05 19:02:32,934 - app.core.excel.converter - INFO - 解析二级规格: 1*48 -> 1*48 +2025-05-05 19:02:32,934 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 5.0, 单价: 11.5, 单位: 瓶 +2025-05-05 19:02:32,935 - app.core.excel.converter - INFO - 解析二级规格: 1*48 -> 1*48 +2025-05-05 19:02:32,935 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 11.5, 单位: 瓶 +2025-05-05 19:02:32,935 - app.core.excel.converter - INFO - 解析二级规格: 1*40 -> 1*40 +2025-05-05 19:02:32,935 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 5.0, 单价: 15.18, 单位: 套 +2025-05-05 19:02:32,935 - app.core.excel.converter - INFO - 解析二级规格: 1*20 -> 1*20 +2025-05-05 19:02:32,936 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 5.0, 单价: 22.1, 单位: 套 +2025-05-05 19:02:32,936 - app.core.excel.converter - INFO - 解析二级规格: 1*80 -> 1*80 +2025-05-05 19:02:36,892 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 5.0, 单价: 10.37, 单位: 瓶 +2025-05-05 19:02:36,893 - app.core.excel.converter - INFO - 解析二级规格: 1*60 -> 1*60 +2025-05-05 19:02:36,893 - app.core.excel.converter - INFO - 提/盒单位(二级规格)处理: 保持原样 数量: 1.0, 单价: 112.0, 单位: 盒 +2025-05-05 19:02:36,894 - app.core.excel.converter - INFO - 解析二级规格: 1*96 -> 1*96 +2025-05-05 19:02:36,894 - app.core.excel.converter - INFO - 提/盒单位(二级规格)处理: 保持原样 数量: 3.0, 单价: 15.5, 单位: 盒 +2025-05-05 19:02:36,894 - app.core.excel.converter - INFO - 解析二级规格: 1*5 -> 1*5 +2025-05-05 19:02:36,894 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 1.0, 单价: 10.0, 单位: 板 +2025-05-05 19:02:36,895 - app.core.excel.converter - INFO - 解析二级规格: 1*48 -> 1*48 +2025-05-05 19:02:36,895 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 4.5, 单位: 个 +2025-05-05 19:02:36,896 - app.core.excel.converter - INFO - 解析二级规格: 1*40 -> 1*40 +2025-05-05 19:02:36,896 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 3.6, 单位: 个 +2025-05-05 19:15:13,224 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-05 19:15:13,225 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 2.0, 单价: 24.0, 单位: 瓶 +2025-05-05 19:15:13,225 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-05 19:15:13,226 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 2.0, 单价: 24.0, 单位: 瓶 +2025-05-05 19:15:13,226 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-05 19:15:13,227 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 2.0, 单价: 19.0, 单位: 瓶 +2025-05-05 19:15:13,229 - app.core.excel.converter - INFO - 解析二级规格: 1*4 -> 1*4 +2025-05-05 19:15:13,229 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 2.0, 单价: 32.5, 单位: 瓶 +2025-05-05 19:15:13,229 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-05 19:15:13,230 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 2.0, 单价: 12.5, 单位: 袋 +2025-05-05 19:15:13,232 - app.core.excel.converter - INFO - 解析二级规格: 1*100 -> 1*100 +2025-05-05 19:15:13,232 - app.core.excel.converter - INFO - 提/盒单位(二级规格)处理: 保持原样 数量: 2.0, 单价: 14.0, 单位: 盒 +2025-05-05 19:15:13,233 - app.core.excel.converter - INFO - 解析二级规格: 1*100 -> 1*100 +2025-05-05 19:15:13,233 - app.core.excel.converter - INFO - 提/盒单位(二级规格)处理: 保持原样 数量: 2.0, 单价: 14.0, 单位: 盒 +2025-05-05 19:15:13,234 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-05 19:15:13,234 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 12.0, 单价: 6.0, 单位: 双 +2025-05-05 19:15:13,242 - app.core.excel.converter - INFO - 解析二级规格: 1*48 -> 1*48 +2025-05-05 19:15:13,242 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 5.0, 单价: 11.5, 单位: 瓶 +2025-05-05 19:15:13,243 - app.core.excel.converter - INFO - 解析二级规格: 1*48 -> 1*48 +2025-05-05 19:15:13,243 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 11.5, 单位: 瓶 +2025-05-05 19:15:13,244 - app.core.excel.converter - INFO - 解析二级规格: 1*40 -> 1*40 +2025-05-05 19:15:13,245 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 5.0, 单价: 15.18, 单位: 套 +2025-05-05 19:15:13,246 - app.core.excel.converter - INFO - 解析二级规格: 1*20 -> 1*20 +2025-05-05 19:15:13,246 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 5.0, 单价: 22.1, 单位: 套 +2025-05-05 19:15:16,010 - app.core.excel.converter - INFO - 解析二级规格: 1*80 -> 1*80 +2025-05-05 19:15:16,011 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 5.0, 单价: 10.37, 单位: 瓶 +2025-05-05 19:15:16,013 - app.core.excel.converter - INFO - 特殊条码(6901826888138)使用固定单价: 3.7333333333333334 +2025-05-05 19:15:16,013 - app.core.excel.converter - INFO - 解析二级规格: 1*30 -> 1*30 +2025-05-05 19:15:16,013 - app.core.excel.converter - INFO - 特殊条码(6901826888138)使用固定规格: 1*30, 包装数量=(1, 30, None) +2025-05-05 19:15:16,013 - app.core.excel.converter - INFO - 特殊条码处理: 6901826888138, 数量: 1.0 -> 30.0, 单价: 112.0 -> 3.7333333333333334, 单位: 盒 -> 瓶 +2025-05-05 19:15:16,014 - app.core.excel.converter - INFO - 解析二级规格: 1*96 -> 1*96 +2025-05-05 19:15:16,014 - app.core.excel.converter - INFO - 提/盒单位(二级规格)处理: 保持原样 数量: 3.0, 单价: 15.5, 单位: 盒 +2025-05-05 19:15:16,015 - app.core.excel.converter - INFO - 解析二级规格: 1*5 -> 1*5 +2025-05-05 19:15:16,015 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 1.0, 单价: 10.0, 单位: 板 +2025-05-05 19:15:16,015 - app.core.excel.converter - INFO - 解析二级规格: 1*48 -> 1*48 +2025-05-05 19:15:16,015 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 4.5, 单位: 个 +2025-05-05 19:15:16,016 - app.core.excel.converter - INFO - 解析二级规格: 1*40 -> 1*40 +2025-05-05 19:15:16,016 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 3.6, 单位: 个 +2025-05-05 19:20:00,079 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-05 19:20:00,081 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 2.0, 单价: 24.0, 单位: 瓶 +2025-05-05 19:20:00,082 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-05 19:20:00,082 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 2.0, 单价: 24.0, 单位: 瓶 +2025-05-05 19:20:00,082 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-05 19:20:00,113 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 2.0, 单价: 19.0, 单位: 瓶 +2025-05-05 19:20:00,118 - app.core.excel.converter - INFO - 解析二级规格: 1*4 -> 1*4 +2025-05-05 19:20:00,118 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 2.0, 单价: 32.5, 单位: 瓶 +2025-05-05 19:20:00,119 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-05 19:20:00,119 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 2.0, 单价: 12.5, 单位: 袋 +2025-05-05 19:20:00,121 - app.core.excel.converter - INFO - 解析二级规格: 1*100 -> 1*100 +2025-05-05 19:20:00,121 - app.core.excel.converter - INFO - 提/盒单位(二级规格)处理: 保持原样 数量: 2.0, 单价: 14.0, 单位: 盒 +2025-05-05 19:20:00,122 - app.core.excel.converter - INFO - 解析二级规格: 1*100 -> 1*100 +2025-05-05 19:20:00,122 - app.core.excel.converter - INFO - 提/盒单位(二级规格)处理: 保持原样 数量: 2.0, 单价: 14.0, 单位: 盒 +2025-05-05 19:20:00,123 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-05 19:20:00,123 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 12.0, 单价: 6.0, 单位: 双 +2025-05-05 19:20:00,139 - app.core.excel.converter - INFO - 解析二级规格: 1*48 -> 1*48 +2025-05-05 19:20:00,139 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 5.0, 单价: 11.5, 单位: 瓶 +2025-05-05 19:20:00,141 - app.core.excel.converter - INFO - 解析二级规格: 1*48 -> 1*48 +2025-05-05 19:20:00,141 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 11.5, 单位: 瓶 +2025-05-05 19:20:01,512 - app.core.excel.converter - INFO - 解析二级规格: 1*40 -> 1*40 +2025-05-05 19:20:01,512 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 5.0, 单价: 15.18, 单位: 套 +2025-05-05 19:20:01,513 - app.core.excel.converter - INFO - 解析二级规格: 1*20 -> 1*20 +2025-05-05 19:20:01,513 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 5.0, 单价: 22.1, 单位: 套 +2025-05-05 19:20:01,514 - app.core.excel.converter - INFO - 解析二级规格: 1*80 -> 1*80 +2025-05-05 19:20:01,514 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 5.0, 单价: 10.37, 单位: 瓶 +2025-05-05 19:20:01,515 - app.core.excel.converter - INFO - 解析二级规格: 1*10 -> 1*10 +2025-05-05 19:20:01,515 - app.core.excel.converter - INFO - 提/盒单位(二级规格)处理: 保持原样 数量: 1.0, 单价: 296.0, 单位: 盒 +2025-05-05 19:20:01,515 - app.core.excel.converter - INFO - 特殊条码(6901826888138)使用固定单价: 3.7333333333333334 +2025-05-05 19:20:01,516 - app.core.excel.converter - INFO - 解析二级规格: 1*30 -> 1*30 +2025-05-05 19:20:01,516 - app.core.excel.converter - INFO - 特殊条码(6901826888138)使用固定规格: 1*30, 包装数量=(1, 30, None) +2025-05-05 19:20:01,516 - app.core.excel.converter - INFO - 特殊条码处理: 6901826888138, 数量: 1.0 -> 30.0, 单价: 112.0 -> 3.7333333333333334, 单位: 盒 -> 瓶 +2025-05-05 19:20:01,517 - app.core.excel.converter - INFO - 解析二级规格: 1*96 -> 1*96 +2025-05-05 19:20:01,517 - app.core.excel.converter - INFO - 提/盒单位(二级规格)处理: 保持原样 数量: 3.0, 单价: 15.5, 单位: 盒 +2025-05-05 19:20:01,517 - app.core.excel.converter - INFO - 解析二级规格: 1*5 -> 1*5 +2025-05-05 19:20:01,518 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 1.0, 单价: 10.0, 单位: 板 +2025-05-05 19:20:01,519 - app.core.excel.converter - INFO - 解析二级规格: 1*48 -> 1*48 +2025-05-05 19:20:01,519 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 4.5, 单位: 个 +2025-05-05 19:20:01,519 - app.core.excel.converter - INFO - 解析二级规格: 1*40 -> 1*40 +2025-05-05 19:20:04,679 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 3.6, 单位: 个 +2025-05-05 19:22:19,763 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-05 19:22:19,763 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 2.0, 单价: 24.0, 单位: 瓶 +2025-05-05 19:22:19,765 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-05 19:22:19,765 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 2.0, 单价: 24.0, 单位: 瓶 +2025-05-05 19:22:19,770 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-05 19:22:19,770 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 2.0, 单价: 19.0, 单位: 瓶 +2025-05-05 19:22:19,772 - app.core.excel.converter - INFO - 解析二级规格: 1*4 -> 1*4 +2025-05-05 19:22:19,773 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 2.0, 单价: 32.5, 单位: 瓶 +2025-05-05 19:22:19,774 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-05 19:22:19,774 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 2.0, 单价: 12.5, 单位: 袋 +2025-05-05 19:22:19,776 - app.core.excel.converter - INFO - 解析二级规格: 1*100 -> 1*100 +2025-05-05 19:22:19,777 - app.core.excel.converter - INFO - 提/盒单位(二级规格)处理: 保持原样 数量: 2.0, 单价: 14.0, 单位: 盒 +2025-05-05 19:22:19,778 - app.core.excel.converter - INFO - 解析二级规格: 1*100 -> 1*100 +2025-05-05 19:22:19,778 - app.core.excel.converter - INFO - 提/盒单位(二级规格)处理: 保持原样 数量: 2.0, 单价: 14.0, 单位: 盒 +2025-05-05 19:22:19,823 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-05 19:22:19,823 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 12.0, 单价: 6.0, 单位: 双 +2025-05-05 19:22:19,824 - app.core.excel.converter - INFO - 解析二级规格: 1*12 -> 1*12 +2025-05-05 19:22:19,824 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 12.0, 单价: 6.0, 单位: 双 +2025-05-05 19:22:19,825 - app.core.excel.converter - INFO - 解析二级规格: 1*48 -> 1*48 +2025-05-05 19:22:19,825 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 5.0, 单价: 11.5, 单位: 瓶 +2025-05-05 19:22:19,826 - app.core.excel.converter - INFO - 解析二级规格: 1*48 -> 1*48 +2025-05-05 19:22:19,826 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 11.5, 单位: 瓶 +2025-05-05 19:22:19,827 - app.core.excel.converter - INFO - 解析二级规格: 1*40 -> 1*40 +2025-05-05 19:22:19,827 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 5.0, 单价: 15.18, 单位: 套 +2025-05-05 19:22:19,829 - app.core.excel.converter - INFO - 解析二级规格: 1*20 -> 1*20 +2025-05-05 19:22:19,829 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 5.0, 单价: 22.1, 单位: 套 +2025-05-05 19:22:19,831 - app.core.excel.converter - INFO - 解析二级规格: 1*80 -> 1*80 +2025-05-05 19:22:19,831 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 5.0, 单价: 10.37, 单位: 瓶 +2025-05-05 19:22:19,831 - app.core.excel.converter - INFO - 解析二级规格: 1*10 -> 1*10 +2025-05-05 19:22:19,831 - app.core.excel.converter - INFO - 提/盒单位(二级规格)处理: 保持原样 数量: 1.0, 单价: 296.0, 单位: 盒 +2025-05-05 19:22:19,833 - app.core.excel.converter - INFO - 特殊条码(6901826888138)使用固定单价: 3.7333333333333334 +2025-05-05 19:22:19,833 - app.core.excel.converter - INFO - 解析二级规格: 1*30 -> 1*30 +2025-05-05 19:22:22,721 - app.core.excel.converter - INFO - 特殊条码(6901826888138)使用固定规格: 1*30, 包装数量=(1, 30, None) +2025-05-05 19:22:22,721 - app.core.excel.converter - INFO - 特殊条码处理: 6901826888138, 数量: 1.0 -> 30.0, 单价: 112.0 -> 3.7333333333333334, 单位: 盒 -> 瓶 +2025-05-05 19:22:22,721 - app.core.excel.converter - INFO - 解析二级规格: 1*96 -> 1*96 +2025-05-05 19:22:22,723 - app.core.excel.converter - INFO - 提/盒单位(二级规格)处理: 保持原样 数量: 3.0, 单价: 15.5, 单位: 盒 +2025-05-05 19:22:22,723 - app.core.excel.converter - INFO - 解析二级规格: 1*5 -> 1*5 +2025-05-05 19:22:22,723 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 1.0, 单价: 10.0, 单位: 板 +2025-05-05 19:22:22,723 - app.core.excel.converter - INFO - 解析二级规格: 1*48 -> 1*48 +2025-05-05 19:22:22,724 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 4.5, 单位: 个 +2025-05-05 19:22:22,724 - app.core.excel.converter - INFO - 解析二级规格: 1*40 -> 1*40 +2025-05-05 19:22:22,724 - app.core.excel.converter - INFO - 其他单位处理: 保持原样 数量: 3.0, 单价: 3.6, 单位: 个 diff --git a/logs/app.core.excel.merger.log b/logs/app.core.excel.merger.log index 35a0c9e..6daf103 100644 --- a/logs/app.core.excel.merger.log +++ b/logs/app.core.excel.merger.log @@ -182,3 +182,222 @@ 2025-05-02 22:40:41,147 - app.core.excel.merger - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls 2025-05-02 22:40:56,995 - app.core.excel.merger - INFO - 搜索目录 D:\My Documents\python\orc-order-v2\data\output 中的采购单Excel文件 2025-05-02 22:40:56,996 - app.core.excel.merger - INFO - 找到 1 个采购单Excel文件 +2025-05-03 12:54:57,233 - app.core.excel.merger - INFO - 初始化PurchaseOrderMerger +2025-05-03 12:54:57,235 - app.core.excel.merger - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-03 12:55:14,451 - app.core.excel.merger - INFO - 搜索目录 D:\My Documents\python\orc-order-v2\data\output 中的采购单Excel文件 +2025-05-03 12:55:14,452 - app.core.excel.merger - INFO - 找到 1 个采购单Excel文件 +2025-05-03 14:44:17,319 - app.core.excel.merger - INFO - 初始化PurchaseOrderMerger +2025-05-03 14:44:17,319 - app.core.excel.merger - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-03 14:44:26,125 - app.core.excel.merger - INFO - 搜索目录 D:\My Documents\python\orc-order-v2\data\output 中的采购单Excel文件 +2025-05-03 14:44:26,125 - app.core.excel.merger - INFO - 找到 2 个采购单Excel文件 +2025-05-03 14:44:26,126 - app.core.excel.merger - INFO - 搜索目录 D:\My Documents\python\orc-order-v2\data\output 中的采购单Excel文件 +2025-05-03 14:44:26,126 - app.core.excel.merger - INFO - 找到 2 个采购单Excel文件 +2025-05-03 14:44:26,131 - app.core.excel.merger - INFO - 成功读取采购单文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250503144404.xls +2025-05-03 14:44:26,133 - app.core.excel.merger - INFO - 列名映射结果: {'条码': '条码(必填)', '采购量': '采购量(必填)', '采购单价': '采购单价(必填)', '赠送量': '赠送量'} +2025-05-03 14:44:30,398 - app.core.excel.merger - INFO - 成功读取采购单文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250502214456.xls +2025-05-03 14:44:30,399 - app.core.excel.merger - INFO - 列名映射结果: {'条码': '条码(必填)', '采购量': '采购量(必填)', '采购单价': '采购单价(必填)', '赠送量': '赠送量'} +2025-05-03 14:44:30,399 - app.core.excel.merger - INFO - 开始合并 2 个采购单文件 +2025-05-03 14:44:30,399 - app.core.excel.merger - WARNING - 数据帧 0 缺少必要的列: ['条码', '采购量', '采购单价'] +2025-05-03 14:44:30,399 - app.core.excel.merger - WARNING - 数据帧 1 缺少必要的列: ['条码', '采购量', '采购单价'] +2025-05-03 14:44:30,399 - app.core.excel.merger - WARNING - 没有有效的数据帧用于合并 +2025-05-03 14:44:30,400 - app.core.excel.merger - ERROR - 合并采购单失败 +2025-05-03 14:45:44,521 - app.core.excel.merger - INFO - 初始化PurchaseOrderMerger +2025-05-03 14:45:44,521 - app.core.excel.merger - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-03 14:45:58,808 - app.core.excel.merger - INFO - 初始化PurchaseOrderMerger +2025-05-03 14:45:58,809 - app.core.excel.merger - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-03 14:53:52,352 - app.core.excel.merger - INFO - 初始化PurchaseOrderMerger +2025-05-03 14:53:52,353 - app.core.excel.merger - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-03 15:43:36,732 - app.core.excel.merger - INFO - 初始化PurchaseOrderMerger +2025-05-03 15:43:36,733 - app.core.excel.merger - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 18:55:02,301 - app.core.excel.merger - INFO - 初始化PurchaseOrderMerger +2025-05-05 18:55:02,303 - app.core.excel.merger - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 18:55:13,152 - app.core.excel.merger - INFO - 搜索目录 D:\My Documents\python\orc-order-v2\data\output 中的采购单Excel文件 +2025-05-05 18:55:13,153 - app.core.excel.merger - INFO - 找到 1 个采购单Excel文件 +2025-05-05 18:59:17,851 - app.core.excel.merger - INFO - 初始化PurchaseOrderMerger +2025-05-05 18:59:17,851 - app.core.excel.merger - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:00:26,074 - app.core.excel.merger - INFO - 初始化PurchaseOrderMerger +2025-05-05 19:00:26,075 - app.core.excel.merger - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:02:32,167 - app.core.excel.merger - INFO - 初始化PurchaseOrderMerger +2025-05-05 19:02:32,168 - app.core.excel.merger - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:02:54,873 - app.core.excel.merger - INFO - 初始化PurchaseOrderMerger +2025-05-05 19:02:54,873 - app.core.excel.merger - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:02:54,874 - app.core.excel.merger - INFO - 搜索目录 D:\My Documents\python\orc-order-v2\data\output 中的采购单Excel文件 +2025-05-05 19:02:54,874 - app.core.excel.merger - INFO - 找到 2 个采购单Excel文件 +2025-05-05 19:02:54,875 - app.core.excel.merger - INFO - 搜索目录 D:\My Documents\python\orc-order-v2\data\output 中的采购单Excel文件 +2025-05-05 19:02:54,878 - app.core.excel.merger - INFO - 找到 2 个采购单Excel文件 +2025-05-05 19:02:54,888 - app.core.excel.merger - INFO - 成功读取采购单文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185908.xls +2025-05-05 19:02:54,894 - app.core.excel.merger - INFO - 列名映射结果: {'条码': '条码(必填)', '采购量': '采购量(必填)', '采购单价': '采购单价(必填)', '赠送量': '赠送量'} +2025-05-05 19:02:54,899 - app.core.excel.merger - INFO - 成功读取采购单文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185842.xls +2025-05-05 19:02:54,900 - app.core.excel.merger - INFO - 列名映射结果: {'条码': '条码(必填)', '采购量': '采购量(必填)', '采购单价': '采购单价(必填)', '赠送量': '赠送量'} +2025-05-05 19:02:54,900 - app.core.excel.merger - INFO - 开始合并 2 个采购单文件 +2025-05-05 19:02:54,901 - app.core.excel.merger - WARNING - 数据帧 0 缺少必要的列: ['条码', '采购量', '采购单价'] +2025-05-05 19:02:54,901 - app.core.excel.merger - WARNING - 数据帧 1 缺少必要的列: ['条码', '采购量', '采购单价'] +2025-05-05 19:02:54,901 - app.core.excel.merger - WARNING - 没有有效的数据帧用于合并 +2025-05-05 19:02:54,901 - app.core.excel.merger - ERROR - 合并采购单失败 +2025-05-05 19:15:12,553 - app.core.excel.merger - INFO - 初始化PurchaseOrderMerger +2025-05-05 19:15:12,554 - app.core.excel.merger - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:18:54,516 - app.core.excel.merger - INFO - 初始化PurchaseOrderMerger +2025-05-05 19:18:54,519 - app.core.excel.merger - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:18:54,538 - app.core.excel.merger - INFO - 搜索目录 D:\My Documents\python\orc-order-v2\data\output 中的采购单Excel文件 +2025-05-05 19:18:54,540 - app.core.excel.merger - INFO - 找到 2 个采购单Excel文件 +2025-05-05 19:18:54,548 - app.core.excel.merger - INFO - 搜索目录 D:\My Documents\python\orc-order-v2\data\output 中的采购单Excel文件 +2025-05-05 19:18:54,551 - app.core.excel.merger - INFO - 找到 2 个采购单Excel文件 +2025-05-05 19:18:54,617 - app.core.excel.merger - INFO - 成功读取采购单文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185908.xls +2025-05-05 19:18:54,620 - app.core.excel.merger - INFO - 列名: ['商品名称', '条码(必填)', '采购量(必填)', '赠送量', '采购单价(必填)'] +2025-05-05 19:18:54,620 - app.core.excel.merger - INFO - 直接匹配列名: 条码(必填) -> 条码 +2025-05-05 19:18:54,625 - app.core.excel.merger - INFO - 直接匹配列名: 采购量(必填) -> 采购量 +2025-05-05 19:18:54,631 - app.core.excel.merger - INFO - 直接匹配列名: 采购单价(必填) -> 采购单价 +2025-05-05 19:18:54,635 - app.core.excel.merger - INFO - 直接匹配列名: 赠送量 -> 赠送量 +2025-05-05 19:18:54,635 - app.core.excel.merger - INFO - 列名重命名映射: {'条码(必填)': '条码', '采购量(必填)': '采购量', '采购单价(必填)': '采购单价', '赠送量': '赠送量'} +2025-05-05 19:18:54,638 - app.core.excel.merger - INFO - 重命名后的列名: ['商品名称', '条码', '采购量', '赠送量', '采购单价'] +2025-05-05 19:18:54,650 - app.core.excel.merger - INFO - 成功读取采购单文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185842.xls +2025-05-05 19:18:54,655 - app.core.excel.merger - INFO - 列名: ['商品名称', '条码(必填)', '采购量(必填)', '赠送量', '采购单价(必填)'] +2025-05-05 19:18:54,655 - app.core.excel.merger - INFO - 直接匹配列名: 条码(必填) -> 条码 +2025-05-05 19:18:54,656 - app.core.excel.merger - INFO - 直接匹配列名: 采购量(必填) -> 采购量 +2025-05-05 19:18:54,658 - app.core.excel.merger - INFO - 直接匹配列名: 采购单价(必填) -> 采购单价 +2025-05-05 19:18:54,668 - app.core.excel.merger - INFO - 直接匹配列名: 赠送量 -> 赠送量 +2025-05-05 19:18:54,669 - app.core.excel.merger - INFO - 列名重命名映射: {'条码(必填)': '条码', '采购量(必填)': '采购量', '采购单价(必填)': '采购单价', '赠送量': '赠送量'} +2025-05-05 19:18:54,679 - app.core.excel.merger - INFO - 重命名后的列名: ['商品名称', '条码', '采购量', '赠送量', '采购单价'] +2025-05-05 19:18:54,681 - app.core.excel.merger - INFO - 开始合并 2 个采购单文件 +2025-05-05 19:18:54,758 - app.core.excel.merger - INFO - 合并完成,共 46 条商品记录 +2025-05-05 19:18:54,835 - app.core.excel.merger - INFO - 合并采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\合并采购单_20250505191854.xls +2025-05-05 19:19:59,314 - app.core.excel.merger - INFO - 初始化PurchaseOrderMerger +2025-05-05 19:19:59,314 - app.core.excel.merger - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:22:18,527 - app.core.excel.merger - INFO - 初始化PurchaseOrderMerger +2025-05-05 19:22:18,530 - app.core.excel.merger - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:22:37,220 - app.core.excel.merger - INFO - 初始化PurchaseOrderMerger +2025-05-05 19:22:37,221 - app.core.excel.merger - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:22:37,223 - app.core.excel.merger - INFO - 搜索目录 D:\My Documents\python\orc-order-v2\data\output 中的采购单Excel文件 +2025-05-05 19:22:37,226 - app.core.excel.merger - INFO - 找到 2 个采购单Excel文件 +2025-05-05 19:22:37,227 - app.core.excel.merger - INFO - 搜索目录 D:\My Documents\python\orc-order-v2\data\output 中的采购单Excel文件 +2025-05-05 19:22:37,234 - app.core.excel.merger - INFO - 找到 2 个采购单Excel文件 +2025-05-05 19:22:37,242 - app.core.excel.merger - INFO - 成功读取采购单文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185908.xls +2025-05-05 19:22:37,249 - app.core.excel.merger - INFO - 列名: ['商品名称', '条码(必填)', '采购量(必填)', '赠送量', '采购单价(必填)'] +2025-05-05 19:22:37,250 - app.core.excel.merger - INFO - 直接匹配列名: 条码(必填) -> 条码 +2025-05-05 19:22:37,250 - app.core.excel.merger - INFO - 直接匹配列名: 采购量(必填) -> 采购量 +2025-05-05 19:22:37,251 - app.core.excel.merger - INFO - 直接匹配列名: 采购单价(必填) -> 采购单价 +2025-05-05 19:22:37,251 - app.core.excel.merger - INFO - 直接匹配列名: 赠送量 -> 赠送量 +2025-05-05 19:22:37,251 - app.core.excel.merger - INFO - 列名重命名映射: {'条码(必填)': '条码', '采购量(必填)': '采购量', '采购单价(必填)': '采购单价', '赠送量': '赠送量'} +2025-05-05 19:22:37,253 - app.core.excel.merger - INFO - 重命名后的列名: ['商品名称', '条码', '采购量', '赠送量', '采购单价'] +2025-05-05 19:22:37,272 - app.core.excel.merger - INFO - 成功读取采购单文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185842.xls +2025-05-05 19:22:37,284 - app.core.excel.merger - INFO - 列名: ['商品名称', '条码(必填)', '采购量(必填)', '赠送量', '采购单价(必填)'] +2025-05-05 19:22:37,284 - app.core.excel.merger - INFO - 直接匹配列名: 条码(必填) -> 条码 +2025-05-05 19:22:37,284 - app.core.excel.merger - INFO - 直接匹配列名: 采购量(必填) -> 采购量 +2025-05-05 19:22:37,285 - app.core.excel.merger - INFO - 直接匹配列名: 采购单价(必填) -> 采购单价 +2025-05-05 19:22:37,285 - app.core.excel.merger - INFO - 直接匹配列名: 赠送量 -> 赠送量 +2025-05-05 19:22:37,286 - app.core.excel.merger - INFO - 列名重命名映射: {'条码(必填)': '条码', '采购量(必填)': '采购量', '采购单价(必填)': '采购单价', '赠送量': '赠送量'} +2025-05-05 19:22:37,287 - app.core.excel.merger - INFO - 重命名后的列名: ['商品名称', '条码', '采购量', '赠送量', '采购单价'] +2025-05-05 19:22:37,287 - app.core.excel.merger - INFO - 开始合并 2 个采购单文件 +2025-05-05 19:22:37,338 - app.core.excel.merger - INFO - 合并完成,共 47 条商品记录 +2025-05-05 19:22:37,403 - app.core.excel.merger - INFO - 合并采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\合并采购单_20250505192237.xls +2025-05-05 19:28:36,767 - app.core.excel.merger - INFO - 初始化PurchaseOrderMerger +2025-05-05 19:28:36,768 - app.core.excel.merger - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:28:36,769 - app.core.excel.merger - INFO - 搜索目录 D:\My Documents\python\orc-order-v2\data\output 中的采购单Excel文件 +2025-05-05 19:28:36,770 - app.core.excel.merger - INFO - 找到 2 个采购单Excel文件 +2025-05-05 19:28:36,771 - app.core.excel.merger - INFO - 搜索目录 D:\My Documents\python\orc-order-v2\data\output 中的采购单Excel文件 +2025-05-05 19:28:36,773 - app.core.excel.merger - INFO - 找到 2 个采购单Excel文件 +2025-05-05 19:28:36,781 - app.core.excel.merger - INFO - 成功读取采购单文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185908.xls +2025-05-05 19:28:36,783 - app.core.excel.merger - INFO - 列名: ['商品名称', '条码(必填)', '采购量(必填)', '赠送量', '采购单价(必填)'] +2025-05-05 19:28:36,784 - app.core.excel.merger - INFO - 直接匹配列名: 条码(必填) -> 条码 +2025-05-05 19:28:36,785 - app.core.excel.merger - INFO - 直接匹配列名: 采购量(必填) -> 采购量 +2025-05-05 19:28:36,785 - app.core.excel.merger - INFO - 直接匹配列名: 采购单价(必填) -> 采购单价 +2025-05-05 19:28:36,786 - app.core.excel.merger - INFO - 直接匹配列名: 赠送量 -> 赠送量 +2025-05-05 19:28:36,786 - app.core.excel.merger - INFO - 列名重命名映射: {'条码(必填)': '条码', '采购量(必填)': '采购量', '采购单价(必填)': '采购单价', '赠送量': '赠送量'} +2025-05-05 19:28:36,787 - app.core.excel.merger - INFO - 重命名后的列名: ['商品名称', '条码', '采购量', '赠送量', '采购单价'] +2025-05-05 19:28:36,795 - app.core.excel.merger - INFO - 成功读取采购单文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185842.xls +2025-05-05 19:28:36,797 - app.core.excel.merger - INFO - 列名: ['商品名称', '条码(必填)', '采购量(必填)', '赠送量', '采购单价(必填)'] +2025-05-05 19:28:36,797 - app.core.excel.merger - INFO - 直接匹配列名: 条码(必填) -> 条码 +2025-05-05 19:28:36,797 - app.core.excel.merger - INFO - 直接匹配列名: 采购量(必填) -> 采购量 +2025-05-05 19:28:36,798 - app.core.excel.merger - INFO - 直接匹配列名: 采购单价(必填) -> 采购单价 +2025-05-05 19:28:36,798 - app.core.excel.merger - INFO - 直接匹配列名: 赠送量 -> 赠送量 +2025-05-05 19:28:36,798 - app.core.excel.merger - INFO - 列名重命名映射: {'条码(必填)': '条码', '采购量(必填)': '采购量', '采购单价(必填)': '采购单价', '赠送量': '赠送量'} +2025-05-05 19:28:36,799 - app.core.excel.merger - INFO - 重命名后的列名: ['商品名称', '条码', '采购量', '赠送量', '采购单价'] +2025-05-05 19:28:36,800 - app.core.excel.merger - INFO - 开始合并 2 个采购单文件 +2025-05-05 19:28:36,807 - app.core.excel.merger - INFO - 处理文件 1: 有效记录 20 行 +2025-05-05 19:28:36,817 - app.core.excel.merger - INFO - 处理文件 2: 有效记录 27 行 +2025-05-05 19:28:36,830 - app.core.excel.merger - INFO - 合并完成,共 47 条商品记录 +2025-05-05 19:28:36,853 - app.core.excel.merger - INFO - 合并采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\合并采购单_20250505192836.xls +2025-05-05 19:29:16,909 - app.core.excel.merger - INFO - 初始化PurchaseOrderMerger +2025-05-05 19:29:16,912 - app.core.excel.merger - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:29:16,913 - app.core.excel.merger - INFO - 搜索目录 D:\My Documents\python\orc-order-v2\data\output 中的采购单Excel文件 +2025-05-05 19:29:16,916 - app.core.excel.merger - INFO - 找到 2 个采购单Excel文件 +2025-05-05 19:29:16,918 - app.core.excel.merger - INFO - 搜索目录 D:\My Documents\python\orc-order-v2\data\output 中的采购单Excel文件 +2025-05-05 19:29:16,922 - app.core.excel.merger - INFO - 找到 2 个采购单Excel文件 +2025-05-05 19:29:16,941 - app.core.excel.merger - INFO - 成功读取采购单文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185908.xls +2025-05-05 19:29:16,946 - app.core.excel.merger - INFO - 列名: ['商品名称', '条码(必填)', '采购量(必填)', '赠送量', '采购单价(必填)'] +2025-05-05 19:29:16,946 - app.core.excel.merger - INFO - 直接匹配列名: 条码(必填) -> 条码 +2025-05-05 19:29:16,947 - app.core.excel.merger - INFO - 直接匹配列名: 采购量(必填) -> 采购量 +2025-05-05 19:29:16,947 - app.core.excel.merger - INFO - 直接匹配列名: 采购单价(必填) -> 采购单价 +2025-05-05 19:29:16,948 - app.core.excel.merger - INFO - 直接匹配列名: 赠送量 -> 赠送量 +2025-05-05 19:29:16,948 - app.core.excel.merger - INFO - 列名重命名映射: {'条码(必填)': '条码', '采购量(必填)': '采购量', '采购单价(必填)': '采购单价', '赠送量': '赠送量'} +2025-05-05 19:29:16,950 - app.core.excel.merger - INFO - 重命名后的列名: ['商品名称', '条码', '采购量', '赠送量', '采购单价'] +2025-05-05 19:29:16,957 - app.core.excel.merger - INFO - 成功读取采购单文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185842.xls +2025-05-05 19:29:16,961 - app.core.excel.merger - INFO - 列名: ['商品名称', '条码(必填)', '采购量(必填)', '赠送量', '采购单价(必填)'] +2025-05-05 19:29:16,962 - app.core.excel.merger - INFO - 直接匹配列名: 条码(必填) -> 条码 +2025-05-05 19:29:16,963 - app.core.excel.merger - INFO - 直接匹配列名: 采购量(必填) -> 采购量 +2025-05-05 19:29:16,964 - app.core.excel.merger - INFO - 直接匹配列名: 采购单价(必填) -> 采购单价 +2025-05-05 19:29:16,964 - app.core.excel.merger - INFO - 直接匹配列名: 赠送量 -> 赠送量 +2025-05-05 19:29:16,971 - app.core.excel.merger - INFO - 列名重命名映射: {'条码(必填)': '条码', '采购量(必填)': '采购量', '采购单价(必填)': '采购单价', '赠送量': '赠送量'} +2025-05-05 19:29:16,975 - app.core.excel.merger - INFO - 重命名后的列名: ['商品名称', '条码', '采购量', '赠送量', '采购单价'] +2025-05-05 19:29:16,976 - app.core.excel.merger - INFO - 开始合并 2 个采购单文件 +2025-05-05 19:29:16,988 - app.core.excel.merger - INFO - 处理文件 1: 有效记录 20 行 +2025-05-05 19:29:17,003 - app.core.excel.merger - INFO - 处理文件 2: 有效记录 27 行 +2025-05-05 19:29:17,020 - app.core.excel.merger - INFO - 合并完成,共 47 条商品记录 +2025-05-05 19:29:17,034 - app.core.excel.merger - INFO - 分析模板结构 +2025-05-05 19:29:17,068 - app.core.excel.merger - INFO - 合并采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\合并采购单_20250505192917.xls,共47条记录 +2025-05-05 19:30:06,154 - app.core.excel.merger - INFO - 初始化PurchaseOrderMerger +2025-05-05 19:30:06,154 - app.core.excel.merger - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:30:06,155 - app.core.excel.merger - INFO - 搜索目录 D:\My Documents\python\orc-order-v2\data\output 中的采购单Excel文件 +2025-05-05 19:30:06,156 - app.core.excel.merger - INFO - 找到 2 个采购单Excel文件 +2025-05-05 19:30:06,156 - app.core.excel.merger - INFO - 搜索目录 D:\My Documents\python\orc-order-v2\data\output 中的采购单Excel文件 +2025-05-05 19:30:06,157 - app.core.excel.merger - INFO - 找到 2 个采购单Excel文件 +2025-05-05 19:30:06,166 - app.core.excel.merger - INFO - 成功读取采购单文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185908.xls +2025-05-05 19:30:06,173 - app.core.excel.merger - INFO - 列名: ['商品名称', '条码(必填)', '采购量(必填)', '赠送量', '采购单价(必填)'] +2025-05-05 19:30:06,178 - app.core.excel.merger - INFO - 直接匹配列名: 条码(必填) -> 条码 +2025-05-05 19:30:06,179 - app.core.excel.merger - INFO - 直接匹配列名: 采购量(必填) -> 采购量 +2025-05-05 19:30:06,180 - app.core.excel.merger - INFO - 直接匹配列名: 采购单价(必填) -> 采购单价 +2025-05-05 19:30:06,180 - app.core.excel.merger - INFO - 直接匹配列名: 赠送量 -> 赠送量 +2025-05-05 19:30:06,182 - app.core.excel.merger - INFO - 列名重命名映射: {'条码(必填)': '条码', '采购量(必填)': '采购量', '采购单价(必填)': '采购单价', '赠送量': '赠送量'} +2025-05-05 19:30:06,183 - app.core.excel.merger - INFO - 重命名后的列名: ['商品名称', '条码', '采购量', '赠送量', '采购单价'] +2025-05-05 19:30:06,198 - app.core.excel.merger - INFO - 成功读取采购单文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185842.xls +2025-05-05 19:30:06,200 - app.core.excel.merger - INFO - 列名: ['商品名称', '条码(必填)', '采购量(必填)', '赠送量', '采购单价(必填)'] +2025-05-05 19:30:06,202 - app.core.excel.merger - INFO - 直接匹配列名: 条码(必填) -> 条码 +2025-05-05 19:30:06,202 - app.core.excel.merger - INFO - 直接匹配列名: 采购量(必填) -> 采购量 +2025-05-05 19:30:06,202 - app.core.excel.merger - INFO - 直接匹配列名: 采购单价(必填) -> 采购单价 +2025-05-05 19:30:06,203 - app.core.excel.merger - INFO - 直接匹配列名: 赠送量 -> 赠送量 +2025-05-05 19:30:06,204 - app.core.excel.merger - INFO - 列名重命名映射: {'条码(必填)': '条码', '采购量(必填)': '采购量', '采购单价(必填)': '采购单价', '赠送量': '赠送量'} +2025-05-05 19:30:06,205 - app.core.excel.merger - INFO - 重命名后的列名: ['商品名称', '条码', '采购量', '赠送量', '采购单价'] +2025-05-05 19:30:06,205 - app.core.excel.merger - INFO - 开始合并 2 个采购单文件 +2025-05-05 19:30:06,222 - app.core.excel.merger - INFO - 处理文件 1: 有效记录 20 行 +2025-05-05 19:30:06,236 - app.core.excel.merger - INFO - 处理文件 2: 有效记录 27 行 +2025-05-05 19:30:06,252 - app.core.excel.merger - INFO - 合并完成,共 47 条商品记录 +2025-05-05 19:30:06,268 - app.core.excel.merger - INFO - 分析模板结构 +2025-05-05 19:30:06,303 - app.core.excel.merger - INFO - 合并采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\合并采购单_20250505193006.xls,共47条记录 +2025-05-05 19:30:28,307 - app.core.excel.merger - INFO - 初始化PurchaseOrderMerger +2025-05-05 19:30:28,308 - app.core.excel.merger - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:30:28,308 - app.core.excel.merger - INFO - 搜索目录 D:\My Documents\python\orc-order-v2\data\output 中的采购单Excel文件 +2025-05-05 19:30:28,308 - app.core.excel.merger - INFO - 找到 2 个采购单Excel文件 +2025-05-05 19:30:28,309 - app.core.excel.merger - INFO - 搜索目录 D:\My Documents\python\orc-order-v2\data\output 中的采购单Excel文件 +2025-05-05 19:30:28,311 - app.core.excel.merger - INFO - 找到 2 个采购单Excel文件 +2025-05-05 19:30:28,320 - app.core.excel.merger - INFO - 成功读取采购单文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185908.xls +2025-05-05 19:30:28,321 - app.core.excel.merger - INFO - 列名: ['商品名称', '条码(必填)', '采购量(必填)', '赠送量', '采购单价(必填)'] +2025-05-05 19:30:28,323 - app.core.excel.merger - INFO - 直接匹配列名: 条码(必填) -> 条码 +2025-05-05 19:30:28,323 - app.core.excel.merger - INFO - 直接匹配列名: 采购量(必填) -> 采购量 +2025-05-05 19:30:28,323 - app.core.excel.merger - INFO - 直接匹配列名: 采购单价(必填) -> 采购单价 +2025-05-05 19:30:28,323 - app.core.excel.merger - INFO - 直接匹配列名: 赠送量 -> 赠送量 +2025-05-05 19:30:28,323 - app.core.excel.merger - INFO - 列名重命名映射: {'条码(必填)': '条码', '采购量(必填)': '采购量', '采购单价(必填)': '采购单价', '赠送量': '赠送量'} +2025-05-05 19:30:28,324 - app.core.excel.merger - INFO - 重命名后的列名: ['商品名称', '条码', '采购量', '赠送量', '采购单价'] +2025-05-05 19:30:28,334 - app.core.excel.merger - INFO - 成功读取采购单文件: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185842.xls +2025-05-05 19:30:28,335 - app.core.excel.merger - INFO - 列名: ['商品名称', '条码(必填)', '采购量(必填)', '赠送量', '采购单价(必填)'] +2025-05-05 19:30:28,335 - app.core.excel.merger - INFO - 直接匹配列名: 条码(必填) -> 条码 +2025-05-05 19:30:28,335 - app.core.excel.merger - INFO - 直接匹配列名: 采购量(必填) -> 采购量 +2025-05-05 19:30:28,335 - app.core.excel.merger - INFO - 直接匹配列名: 采购单价(必填) -> 采购单价 +2025-05-05 19:30:28,336 - app.core.excel.merger - INFO - 直接匹配列名: 赠送量 -> 赠送量 +2025-05-05 19:30:28,336 - app.core.excel.merger - INFO - 列名重命名映射: {'条码(必填)': '条码', '采购量(必填)': '采购量', '采购单价(必填)': '采购单价', '赠送量': '赠送量'} +2025-05-05 19:30:28,337 - app.core.excel.merger - INFO - 重命名后的列名: ['商品名称', '条码', '采购量', '赠送量', '采购单价'] +2025-05-05 19:30:28,337 - app.core.excel.merger - INFO - 开始合并 2 个采购单文件 +2025-05-05 19:30:28,351 - app.core.excel.merger - INFO - 处理文件 1: 有效记录 20 行 +2025-05-05 19:30:28,358 - app.core.excel.merger - INFO - 处理文件 2: 有效记录 27 行 +2025-05-05 19:30:28,383 - app.core.excel.merger - INFO - 合并完成,共 47 条商品记录 +2025-05-05 19:30:28,391 - app.core.excel.merger - INFO - 分析模板结构 +2025-05-05 19:30:28,421 - app.core.excel.merger - INFO - 合并采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\合并采购单_20250505193028.xls,共47条记录 diff --git a/logs/app.core.excel.processor.log b/logs/app.core.excel.processor.log index 2d3c33f..e9fc06c 100644 --- a/logs/app.core.excel.processor.log +++ b/logs/app.core.excel.processor.log @@ -1799,3 +1799,1023 @@ ValueError: could not convert string to float: '1件' 2025-05-02 22:40:56,990 - app.core.excel.processor - INFO - 条码 6921168594054 填充:采购量=5.0,赠品数量1.0 2025-05-02 22:40:56,993 - app.core.excel.processor - INFO - 采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250502214456.xls 2025-05-02 22:40:56,995 - app.core.excel.processor - INFO - 采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250502214456.xls +2025-05-03 12:54:57,232 - app.core.excel.processor - INFO - 初始化ExcelProcessor +2025-05-03 12:54:57,233 - app.core.excel.processor - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-03 12:55:00,228 - app.core.excel.processor - INFO - 搜索目录 D:\My Documents\python\orc-order-v2\data\output 中的Excel文件 +2025-05-03 12:55:00,229 - app.core.excel.processor - INFO - 找到最新的Excel文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250502214456.xlsx +2025-05-03 12:55:00,230 - app.core.excel.processor - INFO - 开始处理Excel文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250502214456.xlsx +2025-05-03 12:55:01,063 - app.core.excel.processor - INFO - 成功读取Excel文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250502214456.xlsx, 共 15 行 +2025-05-03 12:55:01,070 - app.core.excel.processor - INFO - 找到可能的表头行: 第1行,评分: 35 +2025-05-03 12:55:01,071 - app.core.excel.processor - INFO - 识别到表头在第 1 行 +2025-05-03 12:55:01,088 - app.core.excel.processor - INFO - 使用表头行重新读取数据,共 14 行有效数据 +2025-05-03 12:55:01,088 - app.core.excel.processor - INFO - 找到精确匹配的条码列: 条形码 +2025-05-03 12:55:01,088 - app.core.excel.processor - INFO - 使用条码列: 条形码 +2025-05-03 12:55:01,088 - app.core.excel.processor - INFO - 找到name列: 商品名称 +2025-05-03 12:55:01,088 - app.core.excel.processor - INFO - 找到quantity列: 订单数量 +2025-05-03 12:55:01,088 - app.core.excel.processor - INFO - 找到price列: 销售价 +2025-05-03 12:55:01,088 - app.core.excel.processor - INFO - 列名映射结果: {'barcode': '条形码', 'name': '商品名称', 'quantity': '订单数量', 'price': '销售价'} +2025-05-03 12:55:01,091 - app.core.excel.processor - INFO - 是否存在规格列: False +2025-05-03 12:55:01,091 - app.core.excel.processor - INFO - 第1行: 提取商品信息 条码=6921168560509, 名称=550纯净水24入白膜, 规格=, 数量=3.0, 单位=, 单价=0.0 +2025-05-03 12:55:01,092 - app.core.excel.processor - INFO - 从数量提取单位: 3箱 -> 箱 +2025-05-03 12:55:01,093 - app.core.excel.processor - INFO - 从商品名称推断规格: 550纯净水24入白膜 -> 1*24, 包装数量=24 +2025-05-03 12:55:01,093 - app.core.excel.processor - INFO - 从商品名称推断规格: 550纯净水24入白膜 -> 1*24, 包装数量=24 +2025-05-03 12:55:01,094 - app.core.excel.processor - INFO - 第2行: 提取商品信息 条码=6921168532001, 名称=450果园30%橙子15入纸箱, 规格=, 数量=1.0, 单位=, 单价=0.0 +2025-05-03 12:55:01,094 - app.core.excel.processor - INFO - 从数量提取单位: 1箱 -> 箱 +2025-05-03 12:55:01,095 - app.core.excel.processor - INFO - 从商品名称推断规格: 450果园30%橙子15入纸箱 -> 1*15, 包装数量=15 +2025-05-03 12:55:01,095 - app.core.excel.processor - INFO - 从商品名称推断规格: 450果园30%橙子15入纸箱 -> 1*15, 包装数量=15 +2025-05-03 12:55:01,095 - app.core.excel.processor - INFO - 第3行: 提取商品信息 条码=6921168560189, 名称=445水溶C血橙15入纸箱, 规格=, 数量=2.0, 单位=, 单价=56.0 +2025-05-03 12:55:01,096 - app.core.excel.processor - INFO - 从数量提取单位: 2箱 -> 箱 +2025-05-03 12:55:01,096 - app.core.excel.processor - INFO - 从商品名称推断规格: 445水溶C血橙15入纸箱 -> 1*15, 包装数量=15 +2025-05-03 12:55:01,096 - app.core.excel.processor - INFO - 从商品名称推断规格: 445水溶C血橙15入纸箱 -> 1*15, 包装数量=15 +2025-05-03 12:55:01,264 - app.core.excel.processor - INFO - 第4行: 提取商品信息 条码=6921168500956, 名称=445水溶C柠檬15纸箱, 规格=, 数量=2.0, 单位=, 单价=56.0 +2025-05-03 12:55:01,264 - app.core.excel.processor - INFO - 从数量提取单位: 2箱 -> 箱 +2025-05-03 12:55:01,265 - app.core.excel.processor - INFO - 从商品名称推断规格: 445水溶C柠檬15纸箱 -> 1*15, 包装数量=15 +2025-05-03 12:55:01,265 - app.core.excel.processor - INFO - 从商品名称推断规格: 445水溶C柠檬15纸箱 -> 1*15, 包装数量=15 +2025-05-03 12:55:01,266 - app.core.excel.processor - INFO - 第5行: 提取商品信息 条码=6921168559244, 名称=445水溶C青皮桔15纸箱, 规格=, 数量=3.0, 单位=, 单价=56.0 +2025-05-03 12:55:01,266 - app.core.excel.processor - INFO - 从数量提取单位: 3箱 -> 箱 +2025-05-03 12:55:01,267 - app.core.excel.processor - INFO - 从商品名称推断规格: 445水溶C青皮桔15纸箱 -> 1*15, 包装数量=15 +2025-05-03 12:55:01,267 - app.core.excel.processor - INFO - 从商品名称推断规格: 445水溶C青皮桔15纸箱 -> 1*15, 包装数量=15 +2025-05-03 12:55:01,268 - app.core.excel.processor - INFO - 第6行: 提取商品信息 条码=6921168500970, 名称=445水溶C西柚15纸箱, 规格=, 数量=1.0, 单位=, 单价=56.0 +2025-05-03 12:55:01,268 - app.core.excel.processor - INFO - 从数量提取单位: 1箱 -> 箱 +2025-05-03 12:55:01,269 - app.core.excel.processor - INFO - 从商品名称推断规格: 445水溶C西柚15纸箱 -> 1*15, 包装数量=15 +2025-05-03 12:55:01,269 - app.core.excel.processor - INFO - 从商品名称推断规格: 445水溶C西柚15纸箱 -> 1*15, 包装数量=15 +2025-05-03 12:55:01,270 - app.core.excel.processor - INFO - 第7行: 提取商品信息 条码=6921168558049, 名称=500树叶茉莉花茶15纸箱, 规格=, 数量=3.0, 单位=, 单价=55.0 +2025-05-03 12:55:01,270 - app.core.excel.processor - INFO - 从数量提取单位: 3箱 -> 箱 +2025-05-03 12:55:01,270 - app.core.excel.processor - INFO - 从商品名称推断规格: 500树叶茉莉花茶15纸箱 -> 1*15, 包装数量=15 +2025-05-03 12:55:01,270 - app.core.excel.processor - INFO - 从商品名称推断规格: 500树叶茉莉花茶15纸箱 -> 1*15, 包装数量=15 +2025-05-03 12:55:01,271 - app.core.excel.processor - INFO - 第8行: 提取商品信息 条码=6921168558032, 名称=500树叶乌龙茶15纸箱, 规格=, 数量=1.0, 单位=, 单价=55.0 +2025-05-03 12:55:01,271 - app.core.excel.processor - INFO - 从数量提取单位: 1箱 -> 箱 +2025-05-03 12:55:06,817 - app.core.excel.processor - INFO - 从商品名称推断规格: 500树叶乌龙茶15纸箱 -> 1*15, 包装数量=15 +2025-05-03 12:55:06,817 - app.core.excel.processor - INFO - 从商品名称推断规格: 500树叶乌龙茶15纸箱 -> 1*15, 包装数量=15 +2025-05-03 12:55:06,818 - app.core.excel.processor - INFO - 第9行: 提取商品信息 条码=6921168558018, 名称=500树叶绿茶15纸箱, 规格=, 数量=2.0, 单位=, 单价=55.0 +2025-05-03 12:55:06,818 - app.core.excel.processor - INFO - 从数量提取单位: 2箱 -> 箱 +2025-05-03 12:55:06,819 - app.core.excel.processor - INFO - 从商品名称推断规格: 500树叶绿茶15纸箱 -> 1*15, 包装数量=15 +2025-05-03 12:55:06,819 - app.core.excel.processor - INFO - 从商品名称推断规格: 500树叶绿茶15纸箱 -> 1*15, 包装数量=15 +2025-05-03 12:55:06,819 - app.core.excel.processor - INFO - 第10行: 提取商品信息 条码=6921168598649, 名称=900树叶青柑普洱12入纸箱, 规格=, 数量=1.0, 单位=, 单价=62.0 +2025-05-03 12:55:06,820 - app.core.excel.processor - INFO - 从数量提取单位: 1箱 -> 箱 +2025-05-03 12:55:06,820 - app.core.excel.processor - INFO - 从商品名称推断规格: 900树叶青柑普洱12入纸箱 -> 1*12, 包装数量=12 +2025-05-03 12:55:06,820 - app.core.excel.processor - INFO - 从商品名称推断规格: 900树叶青柑普洱12入纸箱 -> 1*12, 包装数量=12 +2025-05-03 12:55:06,821 - app.core.excel.processor - INFO - 第11行: 提取商品信息 条码=6921168595006, 名称=410苏打天然水柠檬15纸箱, 规格=, 数量=1.0, 单位=, 单价=43.0 +2025-05-03 12:55:06,821 - app.core.excel.processor - INFO - 从数量提取单位: 1箱 -> 箱 +2025-05-03 12:55:06,821 - app.core.excel.processor - INFO - 从商品名称推断规格: 410苏打天然水柠檬15纸箱 -> 1*15, 包装数量=15 +2025-05-03 12:55:06,821 - app.core.excel.processor - INFO - 从商品名称推断规格: 410苏打天然水柠檬15纸箱 -> 1*15, 包装数量=15 +2025-05-03 12:55:06,822 - app.core.excel.processor - INFO - 第12行: 提取商品信息 条码=6921168594054, 名称=12.9L桶装水, 规格=, 数量=5.0, 单位=, 单价=16.0 +2025-05-03 12:55:06,822 - app.core.excel.processor - INFO - 从数量提取单位: 5桶 -> 桶 +2025-05-03 12:55:06,824 - app.core.excel.processor - INFO - 从商品名称推断规格: 12.9L桶装水 -> 12.9L*1, 包装数量=1 +2025-05-03 12:55:06,824 - app.core.excel.processor - INFO - 从商品名称推断规格: 12.9L桶装水 -> 12.9L*1, 包装数量=1 +2025-05-03 12:55:10,474 - app.core.excel.processor - INFO - 第13行: 提取商品信息 条码=6921168594054, 名称=12.9L桶装水, 规格=, 数量=1.0, 单位=, 单价=0.0 +2025-05-03 12:55:10,475 - app.core.excel.processor - INFO - 从数量提取单位: 1桶 -> 桶 +2025-05-03 12:55:10,475 - app.core.excel.processor - INFO - 从商品名称推断规格: 12.9L桶装水 -> 12.9L*1, 包装数量=1 +2025-05-03 12:55:10,475 - app.core.excel.processor - INFO - 从商品名称推断规格: 12.9L桶装水 -> 12.9L*1, 包装数量=1 +2025-05-03 12:55:10,476 - app.core.excel.processor - INFO - 提取到 13 个商品信息 +2025-05-03 12:55:10,487 - app.core.excel.processor - INFO - 开始处理13 个产品信息 +2025-05-03 12:55:10,487 - app.core.excel.processor - INFO - 处理商品: 条码=6921168560509, 数量=72.0, 单价=0, 是否赠品=True +2025-05-03 12:55:10,487 - app.core.excel.processor - INFO - 发现赠品:条码6921168560509, 数量=72.0 +2025-05-03 12:55:10,487 - app.core.excel.processor - INFO - 处理商品: 条码=6921168532001, 数量=15.0, 单价=0, 是否赠品=True +2025-05-03 12:55:10,488 - app.core.excel.processor - INFO - 发现赠品:条码6921168532001, 数量=15.0 +2025-05-03 12:55:10,488 - app.core.excel.processor - INFO - 处理商品: 条码=6921168560189, 数量=30.0, 单价=3.7333333333333334, 是否赠品=False +2025-05-03 12:55:10,488 - app.core.excel.processor - INFO - 发现正常商品:条码6921168560189, 数量=30.0, 单价=3.7333333333333334 +2025-05-03 12:55:10,488 - app.core.excel.processor - INFO - 处理商品: 条码=6921168500956, 数量=30.0, 单价=3.7333333333333334, 是否赠品=False +2025-05-03 12:55:10,488 - app.core.excel.processor - INFO - 发现正常商品:条码6921168500956, 数量=30.0, 单价=3.7333333333333334 +2025-05-03 12:55:10,488 - app.core.excel.processor - INFO - 处理商品: 条码=6921168559244, 数量=45.0, 单价=3.7333333333333334, 是否赠品=False +2025-05-03 12:55:10,488 - app.core.excel.processor - INFO - 发现正常商品:条码6921168559244, 数量=45.0, 单价=3.7333333333333334 +2025-05-03 12:55:10,488 - app.core.excel.processor - INFO - 处理商品: 条码=6921168500970, 数量=15.0, 单价=3.7333333333333334, 是否赠品=False +2025-05-03 12:55:10,488 - app.core.excel.processor - INFO - 发现正常商品:条码6921168500970, 数量=15.0, 单价=3.7333333333333334 +2025-05-03 12:55:10,488 - app.core.excel.processor - INFO - 处理商品: 条码=6921168558049, 数量=45.0, 单价=3.6666666666666665, 是否赠品=False +2025-05-03 12:55:10,489 - app.core.excel.processor - INFO - 发现正常商品:条码6921168558049, 数量=45.0, 单价=3.6666666666666665 +2025-05-03 12:55:10,489 - app.core.excel.processor - INFO - 处理商品: 条码=6921168558032, 数量=15.0, 单价=3.6666666666666665, 是否赠品=False +2025-05-03 12:55:10,489 - app.core.excel.processor - INFO - 发现正常商品:条码6921168558032, 数量=15.0, 单价=3.6666666666666665 +2025-05-03 12:55:10,489 - app.core.excel.processor - INFO - 处理商品: 条码=6921168558018, 数量=30.0, 单价=3.6666666666666665, 是否赠品=False +2025-05-03 12:55:10,489 - app.core.excel.processor - INFO - 发现正常商品:条码6921168558018, 数量=30.0, 单价=3.6666666666666665 +2025-05-03 12:55:10,489 - app.core.excel.processor - INFO - 处理商品: 条码=6921168598649, 数量=12.0, 单价=5.166666666666667, 是否赠品=False +2025-05-03 12:55:10,489 - app.core.excel.processor - INFO - 发现正常商品:条码6921168598649, 数量=12.0, 单价=5.166666666666667 +2025-05-03 12:55:10,489 - app.core.excel.processor - INFO - 处理商品: 条码=6921168595006, 数量=15.0, 单价=2.8666666666666667, 是否赠品=False +2025-05-03 12:55:10,489 - app.core.excel.processor - INFO - 发现正常商品:条码6921168595006, 数量=15.0, 单价=2.8666666666666667 +2025-05-03 12:55:14,444 - app.core.excel.processor - INFO - 处理商品: 条码=6921168594054, 数量=5.0, 单价=16.0, 是否赠品=False +2025-05-03 12:55:14,444 - app.core.excel.processor - INFO - 发现正常商品:条码6921168594054, 数量=5.0, 单价=16.0 +2025-05-03 12:55:14,444 - app.core.excel.processor - INFO - 处理商品: 条码=6921168594054, 数量=1.0, 单价=0.0, 是否赠品=True +2025-05-03 12:55:14,444 - app.core.excel.processor - INFO - 发现赠品:条码6921168594054, 数量=1.0 +2025-05-03 12:55:14,445 - app.core.excel.processor - INFO - 分组后共12 个不同条码的商品 +2025-05-03 12:55:14,445 - app.core.excel.processor - INFO - 条码 6921168560509 处理结果:只有赠品,数量=72.0 +2025-05-03 12:55:14,445 - app.core.excel.processor - INFO - 条码 6921168532001 处理结果:只有赠品,数量=15.0 +2025-05-03 12:55:14,445 - app.core.excel.processor - INFO - 条码 6921168560189 处理结果:正常商品数量30.0,单价3.7333333333333334,赠品数量0 +2025-05-03 12:55:14,445 - app.core.excel.processor - INFO - 条码 6921168500956 处理结果:正常商品数量30.0,单价3.7333333333333334,赠品数量0 +2025-05-03 12:55:14,445 - app.core.excel.processor - INFO - 条码 6921168559244 处理结果:正常商品数量45.0,单价3.7333333333333334,赠品数量0 +2025-05-03 12:55:14,445 - app.core.excel.processor - INFO - 条码 6921168500970 处理结果:正常商品数量15.0,单价3.7333333333333334,赠品数量0 +2025-05-03 12:55:14,445 - app.core.excel.processor - INFO - 条码 6921168558049 处理结果:正常商品数量45.0,单价3.6666666666666665,赠品数量0 +2025-05-03 12:55:14,445 - app.core.excel.processor - INFO - 条码 6921168558032 处理结果:正常商品数量15.0,单价3.6666666666666665,赠品数量0 +2025-05-03 12:55:14,445 - app.core.excel.processor - INFO - 条码 6921168558018 处理结果:正常商品数量30.0,单价3.6666666666666665,赠品数量0 +2025-05-03 12:55:14,445 - app.core.excel.processor - INFO - 条码 6921168598649 处理结果:正常商品数量12.0,单价5.166666666666667,赠品数量0 +2025-05-03 12:55:14,445 - app.core.excel.processor - INFO - 条码 6921168595006 处理结果:正常商品数量15.0,单价2.8666666666666667,赠品数量0 +2025-05-03 12:55:14,446 - app.core.excel.processor - INFO - 条码 6921168594054 处理结果:正常商品数量5.0,单价16.0,赠品数量1.0 +2025-05-03 12:55:14,446 - app.core.excel.processor - INFO - 条码 6921168560509 填充:仅有赠品,采购量=0,赠品数量=72.0 +2025-05-03 12:55:14,446 - app.core.excel.processor - INFO - 条码 6921168532001 填充:仅有赠品,采购量=0,赠品数量=15.0 +2025-05-03 12:55:14,446 - app.core.excel.processor - INFO - 条码 6921168594054 填充:采购量=5.0,赠品数量1.0 +2025-05-03 12:55:14,449 - app.core.excel.processor - INFO - 采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250502214456.xls +2025-05-03 12:55:14,450 - app.core.excel.processor - INFO - 采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250502214456.xls +2025-05-03 14:44:17,318 - app.core.excel.processor - INFO - 初始化ExcelProcessor +2025-05-03 14:44:17,319 - app.core.excel.processor - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-03 14:44:19,917 - app.core.excel.processor - INFO - 搜索目录 D:\My Documents\python\orc-order-v2\data\output 中的Excel文件 +2025-05-03 14:44:19,921 - app.core.excel.processor - INFO - 找到最新的Excel文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250503144404.xlsx +2025-05-03 14:44:19,923 - app.core.excel.processor - INFO - 开始处理Excel文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250503144404.xlsx +2025-05-03 14:44:20,690 - app.core.excel.processor - INFO - 成功读取Excel文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250503144404.xlsx, 共 9 行 +2025-05-03 14:44:20,693 - app.core.excel.processor - INFO - 找到可能的表头行: 第1行,评分: 35 +2025-05-03 14:44:20,693 - app.core.excel.processor - INFO - 识别到表头在第 1 行 +2025-05-03 14:44:20,717 - app.core.excel.processor - INFO - 使用表头行重新读取数据,共 8 行有效数据 +2025-05-03 14:44:20,717 - app.core.excel.processor - INFO - 找到精确匹配的条码列: 条形码 +2025-05-03 14:44:20,717 - app.core.excel.processor - INFO - 使用条码列: 条形码 +2025-05-03 14:44:20,718 - app.core.excel.processor - INFO - 找到name列: 商品名称 +2025-05-03 14:44:20,718 - app.core.excel.processor - INFO - 找到quantity列: 订单数量 +2025-05-03 14:44:20,718 - app.core.excel.processor - INFO - 找到price列: 销售价 +2025-05-03 14:44:20,718 - app.core.excel.processor - INFO - 列名映射结果: {'barcode': '条形码', 'name': '商品名称', 'quantity': '订单数量', 'price': '销售价'} +2025-05-03 14:44:20,721 - app.core.excel.processor - INFO - 是否存在规格列: False +2025-05-03 14:44:20,722 - app.core.excel.processor - INFO - 第1行: 提取商品信息 条码=6921168509256, 名称=550水24白膜, 规格=, 数量=1.0, 单位=, 单价=0.0 +2025-05-03 14:44:20,725 - app.core.excel.processor - INFO - 从数量提取单位: 1箱 -> 箱 +2025-05-03 14:44:20,727 - app.core.excel.processor - INFO - 从商品名称推断规格: 550水24白膜 -> 1*24, 包装数量=24 +2025-05-03 14:44:20,727 - app.core.excel.processor - INFO - 从商品名称推断规格: 550水24白膜 -> 1*24, 包装数量=24 +2025-05-03 14:44:20,729 - app.core.excel.processor - INFO - 第2行: 提取商品信息 条码=6921168561445, 名称=1.5树叶茉莉花茶6入纸箱装, 规格=, 数量=2.0, 单位=, 单价=50.0 +2025-05-03 14:44:20,729 - app.core.excel.processor - INFO - 从数量提取单位: 2箱 -> 箱 +2025-05-03 14:44:20,729 - app.core.excel.processor - INFO - 从商品名称推断规格: 1.5树叶茉莉花茶6入纸箱装 -> 1*6, 包装数量=6 +2025-05-03 14:44:20,729 - app.core.excel.processor - INFO - 从商品名称推断规格: 1.5树叶茉莉花茶6入纸箱装 -> 1*6, 包装数量=6 +2025-05-03 14:44:20,730 - app.core.excel.processor - INFO - 第3行: 提取商品信息 条码=6921168561452, 名称=1.5树叶乌龙茶6入纸箱装, 规格=, 数量=1.0, 单位=, 单价=50.0 +2025-05-03 14:44:20,730 - app.core.excel.processor - INFO - 从数量提取单位: 1箱 -> 箱 +2025-05-03 14:44:20,731 - app.core.excel.processor - INFO - 从商品名称推断规格: 1.5树叶乌龙茶6入纸箱装 -> 1*6, 包装数量=6 +2025-05-03 14:44:20,731 - app.core.excel.processor - INFO - 从商品名称推断规格: 1.5树叶乌龙茶6入纸箱装 -> 1*6, 包装数量=6 +2025-05-03 14:44:20,938 - app.core.excel.processor - INFO - 第4行: 提取商品信息 条码=6921168561469, 名称=1.5树叶青柑普洱茶6入纸箱装, 规格=, 数量=1.0, 单位=, 单价=50.0 +2025-05-03 14:44:20,939 - app.core.excel.processor - INFO - 从数量提取单位: 1箱 -> 箱 +2025-05-03 14:44:20,939 - app.core.excel.processor - INFO - 从商品名称推断规格: 1.5树叶青柑普洱茶6入纸箱装 -> 1*6, 包装数量=6 +2025-05-03 14:44:20,939 - app.core.excel.processor - INFO - 从商品名称推断规格: 1.5树叶青柑普洱茶6入纸箱装 -> 1*6, 包装数量=6 +2025-05-03 14:44:20,940 - app.core.excel.processor - INFO - 第5行: 提取商品信息 条码=6921168562473, 名称=410-农夫山泉-原味1*15-纸箱装, 规格=, 数量=1.0, 单位=, 单价=43.0 +2025-05-03 14:44:20,940 - app.core.excel.processor - INFO - 从数量提取单位: 1箱 -> 箱 +2025-05-03 14:44:20,941 - app.core.excel.processor - INFO - 从商品名称推断规格: 410-农夫山泉-原味1*15-纸箱装 -> 1*15, 包装数量=15 +2025-05-03 14:44:20,941 - app.core.excel.processor - INFO - 从商品名称推断规格: 410-农夫山泉-原味1*15-纸箱装 -> 1*15, 包装数量=15 +2025-05-03 14:44:20,942 - app.core.excel.processor - INFO - 第6行: 提取商品信息 条码=6921168593545, 名称=5L水4入白膜, 规格=, 数量=5.0, 单位=, 单价=29.0 +2025-05-03 14:44:20,942 - app.core.excel.processor - INFO - 从数量提取单位: 5箱 -> 箱 +2025-05-03 14:44:20,942 - app.core.excel.processor - INFO - 从商品名称推断规格: 5L水4入白膜 -> 1*4, 包装数量=4 +2025-05-03 14:44:20,943 - app.core.excel.processor - INFO - 从商品名称推断规格: 5L水4入白膜 -> 1*4, 包装数量=4 +2025-05-03 14:44:20,943 - app.core.excel.processor - INFO - 第7行: 提取商品信息 条码=6921168593545, 名称=5L水4入白膜, 规格=, 数量=1.0, 单位=, 单价=0.0 +2025-05-03 14:44:20,944 - app.core.excel.processor - INFO - 从数量提取单位: 1箱 -> 箱 +2025-05-03 14:44:20,944 - app.core.excel.processor - INFO - 从商品名称推断规格: 5L水4入白膜 -> 1*4, 包装数量=4 +2025-05-03 14:44:20,944 - app.core.excel.processor - INFO - 从商品名称推断规格: 5L水4入白膜 -> 1*4, 包装数量=4 +2025-05-03 14:44:20,945 - app.core.excel.processor - INFO - 提取到 7 个商品信息 +2025-05-03 14:44:20,958 - app.core.excel.processor - INFO - 开始处理7 个产品信息 +2025-05-03 14:44:20,958 - app.core.excel.processor - INFO - 处理商品: 条码=6921168509256, 数量=24.0, 单价=0, 是否赠品=True +2025-05-03 14:44:20,958 - app.core.excel.processor - INFO - 发现赠品:条码6921168509256, 数量=24.0 +2025-05-03 14:44:26,116 - app.core.excel.processor - INFO - 处理商品: 条码=6921168561445, 数量=12.0, 单价=8.333333333333334, 是否赠品=False +2025-05-03 14:44:26,117 - app.core.excel.processor - INFO - 发现正常商品:条码6921168561445, 数量=12.0, 单价=8.333333333333334 +2025-05-03 14:44:26,117 - app.core.excel.processor - INFO - 处理商品: 条码=6921168561452, 数量=6.0, 单价=8.333333333333334, 是否赠品=False +2025-05-03 14:44:26,117 - app.core.excel.processor - INFO - 发现正常商品:条码6921168561452, 数量=6.0, 单价=8.333333333333334 +2025-05-03 14:44:26,117 - app.core.excel.processor - INFO - 处理商品: 条码=6921168561469, 数量=6.0, 单价=8.333333333333334, 是否赠品=False +2025-05-03 14:44:26,117 - app.core.excel.processor - INFO - 发现正常商品:条码6921168561469, 数量=6.0, 单价=8.333333333333334 +2025-05-03 14:44:26,117 - app.core.excel.processor - INFO - 处理商品: 条码=6921168562473, 数量=15.0, 单价=2.8666666666666667, 是否赠品=False +2025-05-03 14:44:26,117 - app.core.excel.processor - INFO - 发现正常商品:条码6921168562473, 数量=15.0, 单价=2.8666666666666667 +2025-05-03 14:44:26,118 - app.core.excel.processor - INFO - 处理商品: 条码=6921168593545, 数量=20.0, 单价=7.25, 是否赠品=False +2025-05-03 14:44:26,118 - app.core.excel.processor - INFO - 发现正常商品:条码6921168593545, 数量=20.0, 单价=7.25 +2025-05-03 14:44:26,118 - app.core.excel.processor - INFO - 处理商品: 条码=6921168593545, 数量=4.0, 单价=0, 是否赠品=True +2025-05-03 14:44:26,118 - app.core.excel.processor - INFO - 发现赠品:条码6921168593545, 数量=4.0 +2025-05-03 14:44:26,118 - app.core.excel.processor - INFO - 分组后共6 个不同条码的商品 +2025-05-03 14:44:26,118 - app.core.excel.processor - INFO - 条码 6921168509256 处理结果:只有赠品,数量=24.0 +2025-05-03 14:44:26,118 - app.core.excel.processor - INFO - 条码 6921168561445 处理结果:正常商品数量12.0,单价8.333333333333334,赠品数量0 +2025-05-03 14:44:26,118 - app.core.excel.processor - INFO - 条码 6921168561452 处理结果:正常商品数量6.0,单价8.333333333333334,赠品数量0 +2025-05-03 14:44:26,118 - app.core.excel.processor - INFO - 条码 6921168561469 处理结果:正常商品数量6.0,单价8.333333333333334,赠品数量0 +2025-05-03 14:44:26,119 - app.core.excel.processor - INFO - 条码 6921168562473 处理结果:正常商品数量15.0,单价2.8666666666666667,赠品数量0 +2025-05-03 14:44:26,119 - app.core.excel.processor - INFO - 条码 6921168593545 处理结果:正常商品数量20.0,单价7.25,赠品数量4.0 +2025-05-03 14:44:26,119 - app.core.excel.processor - INFO - 条码 6921168509256 填充:仅有赠品,采购量=0,赠品数量=24.0 +2025-05-03 14:44:26,119 - app.core.excel.processor - INFO - 条码 6921168593545 填充:采购量=20.0,赠品数量4.0 +2025-05-03 14:44:26,122 - app.core.excel.processor - INFO - 采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250503144404.xls +2025-05-03 14:44:26,124 - app.core.excel.processor - INFO - 采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250503144404.xls +2025-05-03 14:45:44,520 - app.core.excel.processor - INFO - 初始化ExcelProcessor +2025-05-03 14:45:44,521 - app.core.excel.processor - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-03 14:45:58,807 - app.core.excel.processor - INFO - 初始化ExcelProcessor +2025-05-03 14:45:58,808 - app.core.excel.processor - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-03 14:45:58,809 - app.core.excel.processor - INFO - 开始处理Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250503144404.xlsx +2025-05-03 14:45:59,464 - app.core.excel.processor - INFO - 成功读取Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250503144404.xlsx, 共 9 行 +2025-05-03 14:45:59,478 - app.core.excel.processor - INFO - 找到可能的表头行: 第1行,评分: 35 +2025-05-03 14:45:59,479 - app.core.excel.processor - INFO - 识别到表头在第 1 行 +2025-05-03 14:45:59,493 - app.core.excel.processor - INFO - 使用表头行重新读取数据,共 8 行有效数据 +2025-05-03 14:45:59,493 - app.core.excel.processor - INFO - 找到精确匹配的条码列: 条形码 +2025-05-03 14:45:59,494 - app.core.excel.processor - INFO - 使用条码列: 条形码 +2025-05-03 14:45:59,494 - app.core.excel.processor - INFO - 找到name列: 商品名称 +2025-05-03 14:45:59,494 - app.core.excel.processor - INFO - 找到quantity列: 订单数量 +2025-05-03 14:45:59,494 - app.core.excel.processor - INFO - 找到price列: 销售价 +2025-05-03 14:45:59,494 - app.core.excel.processor - INFO - 列名映射结果: {'barcode': '条形码', 'name': '商品名称', 'quantity': '订单数量', 'price': '销售价'} +2025-05-03 14:45:59,494 - app.core.excel.processor - INFO - 是否存在规格列: False +2025-05-03 14:45:59,495 - app.core.excel.processor - INFO - 第1行: 提取商品信息 条码=6921168509256, 名称=550水24白膜, 规格=, 数量=1.0, 单位=, 单价=0.0 +2025-05-03 14:45:59,496 - app.core.excel.processor - INFO - 从数量提取单位: 1箱 -> 箱 +2025-05-03 14:45:59,497 - app.core.excel.processor - INFO - 从商品名称推断规格: 550水24白膜 -> 1*24, 包装数量=24 +2025-05-03 14:45:59,497 - app.core.excel.processor - INFO - 从商品名称推断规格: 550水24白膜 -> 1*24, 包装数量=24 +2025-05-03 14:45:59,499 - app.core.excel.processor - INFO - 第2行: 提取商品信息 条码=6921168561445, 名称=1.5树叶茉莉花茶6入纸箱装, 规格=, 数量=2.0, 单位=, 单价=50.0 +2025-05-03 14:45:59,500 - app.core.excel.processor - INFO - 从数量提取单位: 2箱 -> 箱 +2025-05-03 14:45:59,500 - app.core.excel.processor - INFO - 从商品名称推断规格: 1.5树叶茉莉花茶6入纸箱装 -> 1*6, 包装数量=6 +2025-05-03 14:45:59,500 - app.core.excel.processor - INFO - 从商品名称推断规格: 1.5树叶茉莉花茶6入纸箱装 -> 1*6, 包装数量=6 +2025-05-03 14:45:59,500 - app.core.excel.processor - INFO - 第3行: 提取商品信息 条码=6921168561452, 名称=1.5树叶乌龙茶6入纸箱装, 规格=, 数量=1.0, 单位=, 单价=50.0 +2025-05-03 14:45:59,501 - app.core.excel.processor - INFO - 从数量提取单位: 1箱 -> 箱 +2025-05-03 14:45:59,502 - app.core.excel.processor - INFO - 从商品名称推断规格: 1.5树叶乌龙茶6入纸箱装 -> 1*6, 包装数量=6 +2025-05-03 14:45:59,502 - app.core.excel.processor - INFO - 从商品名称推断规格: 1.5树叶乌龙茶6入纸箱装 -> 1*6, 包装数量=6 +2025-05-03 14:45:59,535 - app.core.excel.processor - INFO - 第4行: 提取商品信息 条码=6921168561469, 名称=1.5树叶青柑普洱茶6入纸箱装, 规格=, 数量=1.0, 单位=, 单价=50.0 +2025-05-03 14:45:59,535 - app.core.excel.processor - INFO - 从数量提取单位: 1箱 -> 箱 +2025-05-03 14:45:59,535 - app.core.excel.processor - INFO - 从商品名称推断规格: 1.5树叶青柑普洱茶6入纸箱装 -> 1*6, 包装数量=6 +2025-05-03 14:45:59,535 - app.core.excel.processor - INFO - 从商品名称推断规格: 1.5树叶青柑普洱茶6入纸箱装 -> 1*6, 包装数量=6 +2025-05-03 14:45:59,536 - app.core.excel.processor - INFO - 第5行: 提取商品信息 条码=6921168562473, 名称=410-农夫山泉-原味1*15-纸箱装, 规格=, 数量=1.0, 单位=, 单价=43.0 +2025-05-03 14:45:59,536 - app.core.excel.processor - INFO - 从数量提取单位: 1箱 -> 箱 +2025-05-03 14:45:59,536 - app.core.excel.processor - INFO - 从商品名称推断规格: 410-农夫山泉-原味1*15-纸箱装 -> 1*15, 包装数量=15 +2025-05-03 14:45:59,536 - app.core.excel.processor - INFO - 从商品名称推断规格: 410-农夫山泉-原味1*15-纸箱装 -> 1*15, 包装数量=15 +2025-05-03 14:45:59,537 - app.core.excel.processor - INFO - 第6行: 提取商品信息 条码=6921168593545, 名称=5L水4入白膜, 规格=, 数量=5.0, 单位=, 单价=29.0 +2025-05-03 14:45:59,537 - app.core.excel.processor - INFO - 从数量提取单位: 5箱 -> 箱 +2025-05-03 14:45:59,537 - app.core.excel.processor - INFO - 从商品名称推断规格: 5L水4入白膜 -> 1*4, 包装数量=4 +2025-05-03 14:45:59,537 - app.core.excel.processor - INFO - 从商品名称推断规格: 5L水4入白膜 -> 1*4, 包装数量=4 +2025-05-03 14:45:59,537 - app.core.excel.processor - INFO - 第7行: 提取商品信息 条码=6921168593545, 名称=5L水4入白膜, 规格=, 数量=1.0, 单位=, 单价=0.0 +2025-05-03 14:45:59,537 - app.core.excel.processor - INFO - 从数量提取单位: 1箱 -> 箱 +2025-05-03 14:45:59,538 - app.core.excel.processor - INFO - 从商品名称推断规格: 5L水4入白膜 -> 1*4, 包装数量=4 +2025-05-03 14:45:59,538 - app.core.excel.processor - INFO - 从商品名称推断规格: 5L水4入白膜 -> 1*4, 包装数量=4 +2025-05-03 14:45:59,538 - app.core.excel.processor - INFO - 提取到 7 个商品信息 +2025-05-03 14:45:59,547 - app.core.excel.processor - INFO - 开始处理7 个产品信息 +2025-05-03 14:45:59,547 - app.core.excel.processor - INFO - 处理商品: 条码=6921168509256, 数量=24.0, 单价=0, 是否赠品=True +2025-05-03 14:45:59,548 - app.core.excel.processor - INFO - 发现赠品:条码6921168509256, 数量=24.0 +2025-05-03 14:46:03,470 - app.core.excel.processor - INFO - 处理商品: 条码=6921168561445, 数量=12.0, 单价=8.333333333333334, 是否赠品=False +2025-05-03 14:46:03,470 - app.core.excel.processor - INFO - 发现正常商品:条码6921168561445, 数量=12.0, 单价=8.333333333333334 +2025-05-03 14:46:03,470 - app.core.excel.processor - INFO - 处理商品: 条码=6921168561452, 数量=6.0, 单价=8.333333333333334, 是否赠品=False +2025-05-03 14:46:03,470 - app.core.excel.processor - INFO - 发现正常商品:条码6921168561452, 数量=6.0, 单价=8.333333333333334 +2025-05-03 14:46:03,470 - app.core.excel.processor - INFO - 处理商品: 条码=6921168561469, 数量=6.0, 单价=8.333333333333334, 是否赠品=False +2025-05-03 14:46:03,470 - app.core.excel.processor - INFO - 发现正常商品:条码6921168561469, 数量=6.0, 单价=8.333333333333334 +2025-05-03 14:46:03,470 - app.core.excel.processor - INFO - 处理商品: 条码=6921168562473, 数量=15.0, 单价=2.8666666666666667, 是否赠品=False +2025-05-03 14:46:03,470 - app.core.excel.processor - INFO - 发现正常商品:条码6921168562473, 数量=15.0, 单价=2.8666666666666667 +2025-05-03 14:46:03,470 - app.core.excel.processor - INFO - 处理商品: 条码=6921168593545, 数量=20.0, 单价=7.25, 是否赠品=False +2025-05-03 14:46:03,471 - app.core.excel.processor - INFO - 发现正常商品:条码6921168593545, 数量=20.0, 单价=7.25 +2025-05-03 14:46:03,471 - app.core.excel.processor - INFO - 处理商品: 条码=6921168593545, 数量=4.0, 单价=0, 是否赠品=True +2025-05-03 14:46:03,471 - app.core.excel.processor - INFO - 发现赠品:条码6921168593545, 数量=4.0 +2025-05-03 14:46:03,471 - app.core.excel.processor - INFO - 分组后共6 个不同条码的商品 +2025-05-03 14:46:03,471 - app.core.excel.processor - INFO - 条码 6921168509256 处理结果:只有赠品,数量=24.0 +2025-05-03 14:46:03,471 - app.core.excel.processor - INFO - 条码 6921168561445 处理结果:正常商品数量12.0,单价8.333333333333334,赠品数量0 +2025-05-03 14:46:03,471 - app.core.excel.processor - INFO - 条码 6921168561452 处理结果:正常商品数量6.0,单价8.333333333333334,赠品数量0 +2025-05-03 14:46:03,471 - app.core.excel.processor - INFO - 条码 6921168561469 处理结果:正常商品数量6.0,单价8.333333333333334,赠品数量0 +2025-05-03 14:46:03,471 - app.core.excel.processor - INFO - 条码 6921168562473 处理结果:正常商品数量15.0,单价2.8666666666666667,赠品数量0 +2025-05-03 14:46:03,471 - app.core.excel.processor - INFO - 条码 6921168593545 处理结果:正常商品数量20.0,单价7.25,赠品数量4.0 +2025-05-03 14:46:03,471 - app.core.excel.processor - INFO - 条码 6921168509256 填充:仅有赠品,采购量=0,赠品数量=24.0 +2025-05-03 14:46:03,472 - app.core.excel.processor - INFO - 条码 6921168593545 填充:采购量=20.0,赠品数量4.0 +2025-05-03 14:46:03,475 - app.core.excel.processor - INFO - 采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250503144404.xls +2025-05-03 14:46:03,478 - app.core.excel.processor - INFO - 采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250503144404.xls +2025-05-03 14:53:52,351 - app.core.excel.processor - INFO - 初始化ExcelProcessor +2025-05-03 14:53:52,352 - app.core.excel.processor - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-03 14:53:54,304 - app.core.excel.processor - INFO - 搜索目录 D:\My Documents\python\orc-order-v2\data\output 中的Excel文件 +2025-05-03 14:53:54,305 - app.core.excel.processor - INFO - 找到最新的Excel文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250503145328.xlsx +2025-05-03 14:53:54,305 - app.core.excel.processor - INFO - 开始处理Excel文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250503145328.xlsx +2025-05-03 14:53:55,082 - app.core.excel.processor - INFO - 成功读取Excel文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250503145328.xlsx, 共 6 行 +2025-05-03 14:53:55,083 - app.core.excel.processor - INFO - 找到可能的表头行: 第1行,评分: 40 +2025-05-03 14:53:55,084 - app.core.excel.processor - INFO - 识别到表头在第 1 行 +2025-05-03 14:53:55,093 - app.core.excel.processor - INFO - 使用表头行重新读取数据,共 5 行有效数据 +2025-05-03 14:53:55,096 - app.core.excel.processor - ERROR - 未找到条码列,无法处理 +2025-05-03 14:53:55,096 - app.core.excel.processor - INFO - 列名映射结果: {} +2025-05-03 14:53:55,096 - app.core.excel.processor - INFO - 是否存在规格列: True +2025-05-03 14:53:55,097 - app.core.excel.processor - INFO - 提取到 0 个商品信息 +2025-05-03 14:53:55,097 - app.core.excel.processor - WARNING - 未提取到有效商品信息 +2025-05-03 15:43:36,731 - app.core.excel.processor - INFO - 初始化ExcelProcessor +2025-05-03 15:43:36,732 - app.core.excel.processor - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-03 15:43:36,734 - app.core.excel.processor - INFO - 开始处理Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250503145328.xlsx +2025-05-03 15:43:37,374 - app.core.excel.processor - INFO - 成功读取Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250503145328.xlsx, 共 6 行 +2025-05-03 15:43:37,376 - app.core.excel.processor - INFO - 找到可能的表头行: 第1行,评分: 45 +2025-05-03 15:43:37,376 - app.core.excel.processor - INFO - 识别到表头在第 1 行 +2025-05-03 15:43:37,410 - app.core.excel.processor - INFO - 使用表头行重新读取数据,共 5 行有效数据 +2025-05-03 15:43:37,413 - app.core.excel.processor - ERROR - 未找到条码列,无法处理 +2025-05-03 15:43:37,413 - app.core.excel.processor - INFO - 列名映射结果: {} +2025-05-03 15:43:37,413 - app.core.excel.processor - INFO - 是否存在规格列: True +2025-05-03 15:43:37,413 - app.core.excel.processor - INFO - 提取到 0 个商品信息 +2025-05-03 15:43:37,414 - app.core.excel.processor - WARNING - 未提取到有效商品信息 +2025-05-05 18:55:02,299 - app.core.excel.processor - INFO - 初始化ExcelProcessor +2025-05-05 18:55:02,301 - app.core.excel.processor - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 18:55:04,013 - app.core.excel.processor - INFO - 搜索目录 D:\My Documents\python\orc-order-v2\data\output 中的Excel文件 +2025-05-05 18:55:04,014 - app.core.excel.processor - INFO - 找到最新的Excel文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250505185454.xlsx +2025-05-05 18:55:04,016 - app.core.excel.processor - INFO - 开始处理Excel文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250505185454.xlsx +2025-05-05 18:55:05,256 - app.core.excel.processor - INFO - 成功读取Excel文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250505185454.xlsx, 共 9 行 +2025-05-05 18:55:05,264 - app.core.excel.processor - INFO - 找到可能的表头行: 第1行,评分: 40 +2025-05-05 18:55:05,264 - app.core.excel.processor - INFO - 识别到表头在第 1 行 +2025-05-05 18:55:05,282 - app.core.excel.processor - INFO - 使用表头行重新读取数据,共 8 行有效数据 +2025-05-05 18:55:05,282 - app.core.excel.processor - INFO - 找到精确匹配的条码列: 条形码 +2025-05-05 18:55:05,282 - app.core.excel.processor - INFO - 使用条码列: 条形码 +2025-05-05 18:55:05,282 - app.core.excel.processor - INFO - 找到name列: 商品名称 +2025-05-05 18:55:05,283 - app.core.excel.processor - INFO - 找到quantity列: 数量 +2025-05-05 18:55:05,283 - app.core.excel.processor - INFO - 找到unit列: 单位 +2025-05-05 18:55:05,283 - app.core.excel.processor - INFO - 找到price列: 销售价 +2025-05-05 18:55:05,283 - app.core.excel.processor - INFO - 列名映射结果: {'barcode': '条形码', 'name': '商品名称', 'quantity': '数量', 'unit': '单位', 'price': '销售价'} +2025-05-05 18:55:05,286 - app.core.excel.processor - INFO - 是否存在规格列: False +2025-05-05 18:55:05,287 - app.core.excel.processor - INFO - 第1行: 提取商品信息 条码=6902083890636, 名称=娃哈哈大爽歪歪200g*24, 规格=, 数量=1.0, 单位=件, 单价=40.0 +2025-05-05 18:55:05,288 - app.core.excel.processor - INFO - 从商品名称提取重量/容量规格: 娃哈哈大爽歪歪200g*24 -> 1*24, 包装数量=24 +2025-05-05 18:55:05,290 - app.core.excel.processor - INFO - 第2行: 提取商品信息 条码=6902083922658, 名称=娃哈哈瓶装大AD450ml*15, 规格=, 数量=1.0, 单位=件, 单价=50.0 +2025-05-05 18:55:05,290 - app.core.excel.processor - INFO - 从商品名称提取重量/容量规格: 娃哈哈瓶装大AD450ml*15 -> 1*15, 包装数量=15 +2025-05-05 18:55:05,291 - app.core.excel.processor - INFO - 第3行: 提取商品信息 条码=6902083814052, 名称=娃哈哈瓶装大AD草莓味450ml*15, 规格=, 数量=1.0, 单位=件, 单价=50.0 +2025-05-05 18:55:05,291 - app.core.excel.processor - INFO - 从商品名称提取重量/容量规格: 娃哈哈瓶装大AD草莓味450ml*15 -> 1*15, 包装数量=15 +2025-05-05 18:55:05,292 - app.core.excel.processor - INFO - 第4行: 提取商品信息 条码=6902083814045, 名称=娃哈哈瓶装大AD水蜜桃450ml*15, 规格=, 数量=1.0, 单位=件, 单价=50.0 +2025-05-05 18:55:05,293 - app.core.excel.processor - INFO - 从商品名称提取重量/容量规格: 娃哈哈瓶装大AD水蜜桃450ml*15 -> 1*15, 包装数量=15 +2025-05-05 18:55:05,293 - app.core.excel.processor - INFO - 第5行: 提取商品信息 条码=6902083911027, 名称=娃哈哈大苏打水甜味500ml*15, 规格=, 数量=3.0, 单位=件, 单价=43.0 +2025-05-05 18:55:05,293 - app.core.excel.processor - INFO - 从商品名称提取重量/容量规格: 娃哈哈大苏打水甜味500ml*15 -> 1*15, 包装数量=15 +2025-05-05 18:55:05,294 - app.core.excel.processor - INFO - 第6行: 提取商品信息 条码=6902083881405, 名称=娃哈哈纯净水(红标)596ml*24, 规格=, 数量=5.0, 单位=件, 单价=22.0 +2025-05-05 18:55:05,501 - app.core.excel.processor - INFO - 从商品名称提取重量/容量规格: 娃哈哈纯净水(红标)596ml*24 -> 1*24, 包装数量=24 +2025-05-05 18:55:05,501 - app.core.excel.processor - INFO - 第7行: 提取商品信息 条码=6902083894443, 名称=娃哈哈苏打水甜味350ml*24, 规格=, 数量=3.0, 单位=件, 单价=43.0 +2025-05-05 18:55:05,502 - app.core.excel.processor - INFO - 从商品名称提取重量/容量规格: 娃哈哈苏打水甜味350ml*24 -> 1*24, 包装数量=24 +2025-05-05 18:55:05,503 - app.core.excel.processor - INFO - 提取到 7 个商品信息 +2025-05-05 18:55:05,515 - app.core.excel.processor - INFO - 开始处理7 个产品信息 +2025-05-05 18:55:05,516 - app.core.excel.processor - INFO - 处理商品: 条码=6902083890636, 数量=24.0, 单价=1.6666666666666667, 是否赠品=False +2025-05-05 18:55:05,516 - app.core.excel.processor - INFO - 发现正常商品:条码6902083890636, 数量=24.0, 单价=1.6666666666666667 +2025-05-05 18:55:05,516 - app.core.excel.processor - INFO - 处理商品: 条码=6902083922658, 数量=15.0, 单价=3.3333333333333335, 是否赠品=False +2025-05-05 18:55:05,516 - app.core.excel.processor - INFO - 发现正常商品:条码6902083922658, 数量=15.0, 单价=3.3333333333333335 +2025-05-05 18:55:05,516 - app.core.excel.processor - INFO - 处理商品: 条码=6902083814052, 数量=15.0, 单价=3.3333333333333335, 是否赠品=False +2025-05-05 18:55:05,516 - app.core.excel.processor - INFO - 发现正常商品:条码6902083814052, 数量=15.0, 单价=3.3333333333333335 +2025-05-05 18:55:05,516 - app.core.excel.processor - INFO - 处理商品: 条码=6902083814045, 数量=15.0, 单价=3.3333333333333335, 是否赠品=False +2025-05-05 18:55:05,516 - app.core.excel.processor - INFO - 发现正常商品:条码6902083814045, 数量=15.0, 单价=3.3333333333333335 +2025-05-05 18:55:05,516 - app.core.excel.processor - INFO - 处理商品: 条码=6902083911027, 数量=45.0, 单价=2.8666666666666667, 是否赠品=False +2025-05-05 18:55:05,518 - app.core.excel.processor - INFO - 发现正常商品:条码6902083911027, 数量=45.0, 单价=2.8666666666666667 +2025-05-05 18:55:05,518 - app.core.excel.processor - INFO - 处理商品: 条码=6902083881405, 数量=120.0, 单价=0.9166666666666666, 是否赠品=False +2025-05-05 18:55:05,518 - app.core.excel.processor - INFO - 发现正常商品:条码6902083881405, 数量=120.0, 单价=0.9166666666666666 +2025-05-05 18:55:05,518 - app.core.excel.processor - INFO - 处理商品: 条码=6902083894443, 数量=72.0, 单价=1.7916666666666667, 是否赠品=False +2025-05-05 18:55:05,519 - app.core.excel.processor - INFO - 发现正常商品:条码6902083894443, 数量=72.0, 单价=1.7916666666666667 +2025-05-05 18:55:05,519 - app.core.excel.processor - INFO - 分组后共7 个不同条码的商品 +2025-05-05 18:55:05,519 - app.core.excel.processor - INFO - 条码 6902083890636 处理结果:正常商品数量24.0,单价1.6666666666666667,赠品数量0 +2025-05-05 18:55:05,519 - app.core.excel.processor - INFO - 条码 6902083922658 处理结果:正常商品数量15.0,单价3.3333333333333335,赠品数量0 +2025-05-05 18:55:05,519 - app.core.excel.processor - INFO - 条码 6902083814052 处理结果:正常商品数量15.0,单价3.3333333333333335,赠品数量0 +2025-05-05 18:55:05,519 - app.core.excel.processor - INFO - 条码 6902083814045 处理结果:正常商品数量15.0,单价3.3333333333333335,赠品数量0 +2025-05-05 18:55:05,519 - app.core.excel.processor - INFO - 条码 6902083911027 处理结果:正常商品数量45.0,单价2.8666666666666667,赠品数量0 +2025-05-05 18:55:05,519 - app.core.excel.processor - INFO - 条码 6902083881405 处理结果:正常商品数量120.0,单价0.9166666666666666,赠品数量0 +2025-05-05 18:55:05,519 - app.core.excel.processor - INFO - 条码 6902083894443 处理结果:正常商品数量72.0,单价1.7916666666666667,赠品数量0 +2025-05-05 18:55:05,533 - app.core.excel.processor - INFO - 采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185454.xls +2025-05-05 18:55:13,151 - app.core.excel.processor - INFO - 采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185454.xls +2025-05-05 18:59:17,851 - app.core.excel.processor - INFO - 初始化ExcelProcessor +2025-05-05 18:59:17,851 - app.core.excel.processor - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:00:26,073 - app.core.excel.processor - INFO - 初始化ExcelProcessor +2025-05-05 19:00:26,074 - app.core.excel.processor - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:00:26,076 - app.core.excel.processor - INFO - 开始处理Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250505185842.xlsx +2025-05-05 19:00:26,671 - app.core.excel.processor - INFO - 成功读取Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250505185842.xlsx, 共 32 行 +2025-05-05 19:00:26,673 - app.core.excel.processor - INFO - 找到可能的表头行: 第1行,评分: 35 +2025-05-05 19:00:26,673 - app.core.excel.processor - INFO - 识别到表头在第 1 行 +2025-05-05 19:00:26,695 - app.core.excel.processor - INFO - 使用表头行重新读取数据,共 31 行有效数据 +2025-05-05 19:00:26,695 - app.core.excel.processor - INFO - 找到精确匹配的条码列: 条码 +2025-05-05 19:00:26,695 - app.core.excel.processor - INFO - 使用条码列: 条码 +2025-05-05 19:00:26,695 - app.core.excel.processor - INFO - 找到name列(部分匹配): 商品全名 +2025-05-05 19:00:26,696 - app.core.excel.processor - INFO - 找到specification列: 规格 +2025-05-05 19:00:26,696 - app.core.excel.processor - INFO - 找到quantity列: 数量 +2025-05-05 19:00:26,696 - app.core.excel.processor - INFO - 找到unit列: 单位 +2025-05-05 19:00:26,696 - app.core.excel.processor - INFO - 找到price列: 单价 +2025-05-05 19:00:26,696 - app.core.excel.processor - INFO - 列名映射结果: {'barcode': '条码', 'name': '商品全名', 'specification': '规格', 'quantity': '数量', 'unit': '单位', 'price': '单价'} +2025-05-05 19:00:26,696 - app.core.excel.processor - INFO - 是否存在规格列: True +2025-05-05 19:00:26,697 - app.core.excel.processor - INFO - 第1行: 提取商品信息 条码=6922868285266, 名称=心相印80片杀菌湿巾XCA080, 规格=, 数量=3.0, 单位=包, 单价=12.0 +2025-05-05 19:00:26,698 - app.core.excel.processor - INFO - 解析规格: 1*12 -> 包装数量=12 +2025-05-05 19:00:26,700 - app.core.excel.processor - INFO - 第2行: 提取商品信息 条码=6914068023359, 名称=洁柔30片湿巾纸, 规格=, 数量=3.0, 单位=包, 单价=5.0 +2025-05-05 19:00:26,704 - app.core.excel.processor - INFO - 解析规格: 1*24 -> 包装数量=24 +2025-05-05 19:00:26,705 - app.core.excel.processor - INFO - 第3行: 提取商品信息 条码=6922868284283, 名称=心相印10片湿巾纸杀菌, 规格=, 数量=12.0, 单位=包, 单价=2.4 +2025-05-05 19:00:26,705 - app.core.excel.processor - INFO - 解析规格: 1*96 -> 包装数量=96 +2025-05-05 19:00:26,705 - app.core.excel.processor - INFO - 第4行: 提取商品信息 条码=6914068012261, 名称=洁柔百花135软抽JR069, 规格=, 数量=6.0, 单位=提, 单价=8.5 +2025-05-05 19:00:26,706 - app.core.excel.processor - INFO - 解析规格: 1*16 -> 包装数量=16 +2025-05-05 19:00:26,706 - app.core.excel.processor - INFO - 第5行: 提取商品信息 条码=6914068012957, 名称=洁柔古龙150软抽JR060, 规格=, 数量=3.0, 单位=提, 单价=10.5 +2025-05-05 19:00:26,706 - app.core.excel.processor - INFO - 解析规格: 1*16 -> 包装数量=16 +2025-05-05 19:00:26,706 - app.core.excel.processor - INFO - 第6行: 提取商品信息 条码=6943836502161, 名称=千唯200欧典小软抽, 规格=, 数量=2.0, 单位=提, 单价=6.5 +2025-05-05 19:00:26,706 - app.core.excel.processor - INFO - 解析规格: 1*20 -> 包装数量=20 +2025-05-05 19:00:26,736 - app.core.excel.processor - INFO - 第7行: 提取商品信息 条码=6903244675208, 名称=DT15130心相印茶语6个装, 规格=, 数量=3.0, 单位=提, 单价=12.5 +2025-05-05 19:00:26,736 - app.core.excel.processor - INFO - 解析规格: 1*12 -> 包装数量=12 +2025-05-05 19:00:26,737 - app.core.excel.processor - INFO - 第8行: 提取商品信息 条码=6949288699398, 名称=9939家洁丝125*180六装抽纸, 规格=, 数量=3.0, 单位=提, 单价=8.5 +2025-05-05 19:00:26,737 - app.core.excel.processor - INFO - 解析规格: 1*18 -> 包装数量=18 +2025-05-05 19:00:26,738 - app.core.excel.processor - INFO - 第9行: 提取商品信息 条码=6949288677884, 名称=7884家洁丝三装抽纸, 规格=, 数量=2.0, 单位=提, 单价=8.5 +2025-05-05 19:00:26,738 - app.core.excel.processor - INFO - 解析规格: 1*20 -> 包装数量=20 +2025-05-05 19:00:26,738 - app.core.excel.processor - ERROR - 提取第11行商品信息时出错: could not convert string to float: '单价' +Traceback (most recent call last): + File "D:\My Documents\python\orc-order-v2\app\core\excel\processor.py", line 258, in extract_product_info + 'price': float(row[column_mapping['price']]) if column_mapping.get('price') and not pd.isna(row[column_mapping['price']]) else 0, +ValueError: could not convert string to float: '单价' +2025-05-05 19:00:26,742 - app.core.excel.processor - INFO - 第12行: 提取商品信息 条码=6926052512725, 名称=8704自由点430舒睡超薄夜棉, 规格=, 数量=3.0, 单位=包, 单价=6.2 +2025-05-05 19:00:26,742 - app.core.excel.processor - INFO - 解析规格: 1*48 -> 包装数量=48 +2025-05-05 19:00:26,743 - app.core.excel.processor - INFO - 第13行: 提取商品信息 条码=6926052515276, 名称=自由点益生菌8片日用卫生巾, 规格=, 数量=3.0, 单位=包, 单价=7.5 +2025-05-05 19:00:26,743 - app.core.excel.processor - INFO - 解析规格: 1*24 -> 包装数量=24 +2025-05-05 19:00:26,744 - app.core.excel.processor - INFO - 第14行: 提取商品信息 条码=6926052501620, 名称=自由点无感七口棉柔8片口用, 规格=, 数量=3.0, 单位=包, 单价=6.5 +2025-05-05 19:00:26,744 - app.core.excel.processor - INFO - 解析规格: 1*24 -> 包装数量=24 +2025-05-05 19:00:26,744 - app.core.excel.processor - INFO - 第15行: 提取商品信息 条码=6903244370776, 名称=8808七度空间8片丝柔夜用超长, 规格=, 数量=3.0, 单位=包, 单价=6.6 +2025-05-05 19:00:26,745 - app.core.excel.processor - INFO - 解析规格: 1*30 -> 包装数量=30 +2025-05-05 19:00:26,745 - app.core.excel.processor - INFO - 第16行: 提取商品信息 条码=6903244370967, 名称=6205七度空间5片夜用棉柔, 规格=, 数量=3.0, 单位=包, 单价=3.6 +2025-05-05 19:00:26,745 - app.core.excel.processor - INFO - 解析规格: 1*48 -> 包装数量=48 +2025-05-05 19:00:30,735 - app.core.excel.processor - INFO - 第17行: 提取商品信息 条码=6934660522258, 名称=苏菲10片弹力贴身日用棉柔, 规格=, 数量=3.0, 单位=包, 单价=5.0 +2025-05-05 19:00:30,735 - app.core.excel.processor - INFO - 解析规格: 1*24 -> 包装数量=24 +2025-05-05 19:00:30,736 - app.core.excel.processor - INFO - 第18行: 提取商品信息 条码=6934660528618, 名称=苏菲350超熟睡棉柔4片, 规格=, 数量=3.0, 单位=包, 单价=4.2 +2025-05-05 19:00:30,736 - app.core.excel.processor - INFO - 解析规格: 1*48 -> 包装数量=48 +2025-05-05 19:00:30,737 - app.core.excel.processor - INFO - 第19行: 提取商品信息 条码=6934660539157, 名称=苏菲9片小翅膀护垫, 规格=, 数量=3.0, 单位=包, 单价=2.8 +2025-05-05 19:00:30,737 - app.core.excel.processor - INFO - 解析规格: 1*36 -> 包装数量=36 +2025-05-05 19:00:30,738 - app.core.excel.processor - INFO - 第20行: 提取商品信息 条码=6922731882509, 名称=ABC亲柔立围8片夜用k82, 规格=, 数量=5.0, 单位=包, 单价=6.2 +2025-05-05 19:00:30,738 - app.core.excel.processor - INFO - 解析规格: 1*48 -> 包装数量=48 +2025-05-05 19:00:30,739 - app.core.excel.processor - ERROR - 提取第22行商品信息时出错: could not convert string to float: '单价' +Traceback (most recent call last): + File "D:\My Documents\python\orc-order-v2\app\core\excel\processor.py", line 258, in extract_product_info + 'price': float(row[column_mapping['price']]) if column_mapping.get('price') and not pd.isna(row[column_mapping['price']]) else 0, +ValueError: could not convert string to float: '单价' +2025-05-05 19:00:30,739 - app.core.excel.processor - INFO - 第23行: 提取商品信息 条码=6923589462400, 名称=62400高洁丝10片日棉, 规格=, 数量=3.0, 单位=包, 单价=6.0 +2025-05-05 19:00:30,739 - app.core.excel.processor - INFO - 解析规格: 1*24 -> 包装数量=24 +2025-05-05 19:00:30,741 - app.core.excel.processor - INFO - 第24行: 提取商品信息 条码=6923589469195, 名称=6919高洁丝10片迷你190日用, 规格=, 数量=5.0, 单位=包, 单价=2.3 +2025-05-05 19:00:30,741 - app.core.excel.processor - INFO - 解析规格: 1*60 -> 包装数量=60 +2025-05-05 19:00:30,741 - app.core.excel.processor - INFO - 第25行: 提取商品信息 条码=6923589467009, 名称=高洁丝迷你卫生巾臻选, 规格=, 数量=3.0, 单位=包, 单价=4.6 +2025-05-05 19:00:30,741 - app.core.excel.processor - INFO - 解析规格: 1*24 -> 包装数量=24 +2025-05-05 19:00:30,742 - app.core.excel.processor - INFO - 第26行: 提取商品信息 条码=6923589466156, 名称=6615高洁丝8片日用极薄棉柔, 规格=, 数量=5.0, 单位=包, 单价=6.2 +2025-05-05 19:00:30,742 - app.core.excel.processor - INFO - 解析规格: 1*16 -> 包装数量=16 +2025-05-05 19:00:34,623 - app.core.excel.processor - INFO - 第27行: 提取商品信息 条码=6934660521510, 名称=苏菲安心裤F码, 规格=, 数量=3.0, 单位=包, 单价=5.6 +2025-05-05 19:00:34,623 - app.core.excel.processor - INFO - 解析规格: 1*36 -> 包装数量=36 +2025-05-05 19:00:34,623 - app.core.excel.processor - INFO - 第28行: 提取商品信息 条码=6901404300854, 名称=85g上海硫磺皂, 规格=, 数量=3.0, 单位=个, 单价=1.2 +2025-05-05 19:00:34,623 - app.core.excel.processor - INFO - 解析规格: 1*72 -> 包装数量=72 +2025-05-05 19:00:34,624 - app.core.excel.processor - INFO - 第29行: 提取商品信息 条码=4897031010292, 名称=380g蔻斯汀花瓣沐浴露茉莉, 规格=, 数量=2.0, 单位=瓶, 单价=19.0 +2025-05-05 19:00:34,625 - app.core.excel.processor - INFO - 第30行: 提取商品信息 条码=6903148171813, 名称=200g潘婷洗发水烫染修护, 规格=, 数量=3.0, 单位=瓶, 单价=14.5 +2025-05-05 19:00:34,625 - app.core.excel.processor - INFO - 解析规格: 1*12 -> 包装数量=12 +2025-05-05 19:00:34,626 - app.core.excel.processor - INFO - 第31行: 提取商品信息 条码=6902088951875, 名称=175g清扬洗发水男士防脱发, 规格=, 数量=2.0, 单位=瓶, 单价=16.5 +2025-05-05 19:00:34,626 - app.core.excel.processor - INFO - 解析规格: 1*1 -> 包装数量=1 +2025-05-05 19:00:34,626 - app.core.excel.processor - INFO - 提取到 27 个商品信息 +2025-05-05 19:00:34,636 - app.core.excel.processor - INFO - 开始处理27 个产品信息 +2025-05-05 19:00:34,636 - app.core.excel.processor - INFO - 处理商品: 条码=6922868285266, 数量=3.0, 单价=12.0, 是否赠品=False +2025-05-05 19:00:34,636 - app.core.excel.processor - INFO - 发现正常商品:条码6922868285266, 数量=3.0, 单价=12.0 +2025-05-05 19:00:34,636 - app.core.excel.processor - INFO - 处理商品: 条码=6914068023359, 数量=3.0, 单价=5.0, 是否赠品=False +2025-05-05 19:00:34,636 - app.core.excel.processor - INFO - 发现正常商品:条码6914068023359, 数量=3.0, 单价=5.0 +2025-05-05 19:00:34,636 - app.core.excel.processor - INFO - 处理商品: 条码=6922868284283, 数量=12.0, 单价=2.4, 是否赠品=False +2025-05-05 19:00:34,636 - app.core.excel.processor - INFO - 发现正常商品:条码6922868284283, 数量=12.0, 单价=2.4 +2025-05-05 19:00:34,636 - app.core.excel.processor - INFO - 处理商品: 条码=6914068012261, 数量=6.0, 单价=8.5, 是否赠品=False +2025-05-05 19:00:34,636 - app.core.excel.processor - INFO - 发现正常商品:条码6914068012261, 数量=6.0, 单价=8.5 +2025-05-05 19:00:34,636 - app.core.excel.processor - INFO - 处理商品: 条码=6914068012957, 数量=3.0, 单价=10.5, 是否赠品=False +2025-05-05 19:00:34,636 - app.core.excel.processor - INFO - 发现正常商品:条码6914068012957, 数量=3.0, 单价=10.5 +2025-05-05 19:00:34,637 - app.core.excel.processor - INFO - 处理商品: 条码=6943836502161, 数量=2.0, 单价=6.5, 是否赠品=False +2025-05-05 19:00:34,637 - app.core.excel.processor - INFO - 发现正常商品:条码6943836502161, 数量=2.0, 单价=6.5 +2025-05-05 19:00:34,637 - app.core.excel.processor - INFO - 处理商品: 条码=6903244675208, 数量=3.0, 单价=12.5, 是否赠品=False +2025-05-05 19:00:38,803 - app.core.excel.processor - INFO - 发现正常商品:条码6903244675208, 数量=3.0, 单价=12.5 +2025-05-05 19:00:38,803 - app.core.excel.processor - INFO - 处理商品: 条码=6949288699398, 数量=3.0, 单价=8.5, 是否赠品=False +2025-05-05 19:00:38,803 - app.core.excel.processor - INFO - 发现正常商品:条码6949288699398, 数量=3.0, 单价=8.5 +2025-05-05 19:00:38,803 - app.core.excel.processor - INFO - 处理商品: 条码=6949288677884, 数量=2.0, 单价=8.5, 是否赠品=False +2025-05-05 19:00:38,803 - app.core.excel.processor - INFO - 发现正常商品:条码6949288677884, 数量=2.0, 单价=8.5 +2025-05-05 19:00:38,803 - app.core.excel.processor - INFO - 处理商品: 条码=6926052512725, 数量=3.0, 单价=6.2, 是否赠品=False +2025-05-05 19:00:38,803 - app.core.excel.processor - INFO - 发现正常商品:条码6926052512725, 数量=3.0, 单价=6.2 +2025-05-05 19:00:38,803 - app.core.excel.processor - INFO - 处理商品: 条码=6926052515276, 数量=3.0, 单价=7.5, 是否赠品=False +2025-05-05 19:00:38,803 - app.core.excel.processor - INFO - 发现正常商品:条码6926052515276, 数量=3.0, 单价=7.5 +2025-05-05 19:00:38,803 - app.core.excel.processor - INFO - 处理商品: 条码=6926052501620, 数量=3.0, 单价=6.5, 是否赠品=False +2025-05-05 19:00:38,803 - app.core.excel.processor - INFO - 发现正常商品:条码6926052501620, 数量=3.0, 单价=6.5 +2025-05-05 19:00:38,804 - app.core.excel.processor - INFO - 处理商品: 条码=6903244370776, 数量=3.0, 单价=6.6, 是否赠品=False +2025-05-05 19:00:38,804 - app.core.excel.processor - INFO - 发现正常商品:条码6903244370776, 数量=3.0, 单价=6.6 +2025-05-05 19:00:38,804 - app.core.excel.processor - INFO - 处理商品: 条码=6903244370967, 数量=3.0, 单价=3.6, 是否赠品=False +2025-05-05 19:00:38,804 - app.core.excel.processor - INFO - 发现正常商品:条码6903244370967, 数量=3.0, 单价=3.6 +2025-05-05 19:00:38,804 - app.core.excel.processor - INFO - 处理商品: 条码=6934660522258, 数量=3.0, 单价=5.0, 是否赠品=False +2025-05-05 19:00:38,805 - app.core.excel.processor - INFO - 发现正常商品:条码6934660522258, 数量=3.0, 单价=5.0 +2025-05-05 19:00:38,805 - app.core.excel.processor - INFO - 处理商品: 条码=6934660528618, 数量=3.0, 单价=4.2, 是否赠品=False +2025-05-05 19:00:38,805 - app.core.excel.processor - INFO - 发现正常商品:条码6934660528618, 数量=3.0, 单价=4.2 +2025-05-05 19:00:38,805 - app.core.excel.processor - INFO - 处理商品: 条码=6934660539157, 数量=3.0, 单价=2.8, 是否赠品=False +2025-05-05 19:00:38,805 - app.core.excel.processor - INFO - 发现正常商品:条码6934660539157, 数量=3.0, 单价=2.8 +2025-05-05 19:00:38,805 - app.core.excel.processor - INFO - 处理商品: 条码=6922731882509, 数量=5.0, 单价=6.2, 是否赠品=False +2025-05-05 19:00:38,805 - app.core.excel.processor - INFO - 发现正常商品:条码6922731882509, 数量=5.0, 单价=6.2 +2025-05-05 19:00:38,805 - app.core.excel.processor - INFO - 处理商品: 条码=6923589462400, 数量=3.0, 单价=6.0, 是否赠品=False +2025-05-05 19:00:38,805 - app.core.excel.processor - INFO - 发现正常商品:条码6923589462400, 数量=3.0, 单价=6.0 +2025-05-05 19:00:38,805 - app.core.excel.processor - INFO - 处理商品: 条码=6923589469195, 数量=5.0, 单价=2.3, 是否赠品=False +2025-05-05 19:00:38,805 - app.core.excel.processor - INFO - 发现正常商品:条码6923589469195, 数量=5.0, 单价=2.3 +2025-05-05 19:00:38,806 - app.core.excel.processor - INFO - 处理商品: 条码=6923589467009, 数量=3.0, 单价=4.6, 是否赠品=False +2025-05-05 19:00:38,806 - app.core.excel.processor - INFO - 发现正常商品:条码6923589467009, 数量=3.0, 单价=4.6 +2025-05-05 19:00:38,806 - app.core.excel.processor - INFO - 处理商品: 条码=6923589466156, 数量=5.0, 单价=6.2, 是否赠品=False +2025-05-05 19:00:38,806 - app.core.excel.processor - INFO - 发现正常商品:条码6923589466156, 数量=5.0, 单价=6.2 +2025-05-05 19:00:38,806 - app.core.excel.processor - INFO - 处理商品: 条码=6934660521510, 数量=3.0, 单价=5.6, 是否赠品=False +2025-05-05 19:00:38,806 - app.core.excel.processor - INFO - 发现正常商品:条码6934660521510, 数量=3.0, 单价=5.6 +2025-05-05 19:00:38,806 - app.core.excel.processor - INFO - 处理商品: 条码=6901404300854, 数量=3.0, 单价=1.2, 是否赠品=False +2025-05-05 19:00:38,806 - app.core.excel.processor - INFO - 发现正常商品:条码6901404300854, 数量=3.0, 单价=1.2 +2025-05-05 19:00:42,487 - app.core.excel.processor - INFO - 处理商品: 条码=4897031010292, 数量=2.0, 单价=19.0, 是否赠品=False +2025-05-05 19:00:42,488 - app.core.excel.processor - INFO - 发现正常商品:条码4897031010292, 数量=2.0, 单价=19.0 +2025-05-05 19:00:42,488 - app.core.excel.processor - INFO - 处理商品: 条码=6903148171813, 数量=3.0, 单价=14.5, 是否赠品=False +2025-05-05 19:00:42,488 - app.core.excel.processor - INFO - 发现正常商品:条码6903148171813, 数量=3.0, 单价=14.5 +2025-05-05 19:00:42,488 - app.core.excel.processor - INFO - 处理商品: 条码=6902088951875, 数量=2.0, 单价=16.5, 是否赠品=False +2025-05-05 19:00:42,488 - app.core.excel.processor - INFO - 发现正常商品:条码6902088951875, 数量=2.0, 单价=16.5 +2025-05-05 19:00:42,488 - app.core.excel.processor - INFO - 分组后共27 个不同条码的商品 +2025-05-05 19:00:42,488 - app.core.excel.processor - INFO - 条码 6922868285266 处理结果:正常商品数量3.0,单价12.0,赠品数量0 +2025-05-05 19:00:42,488 - app.core.excel.processor - INFO - 条码 6914068023359 处理结果:正常商品数量3.0,单价5.0,赠品数量0 +2025-05-05 19:00:42,488 - app.core.excel.processor - INFO - 条码 6922868284283 处理结果:正常商品数量12.0,单价2.4,赠品数量0 +2025-05-05 19:00:42,489 - app.core.excel.processor - INFO - 条码 6914068012261 处理结果:正常商品数量6.0,单价8.5,赠品数量0 +2025-05-05 19:00:42,489 - app.core.excel.processor - INFO - 条码 6914068012957 处理结果:正常商品数量3.0,单价10.5,赠品数量0 +2025-05-05 19:00:42,489 - app.core.excel.processor - INFO - 条码 6943836502161 处理结果:正常商品数量2.0,单价6.5,赠品数量0 +2025-05-05 19:00:42,489 - app.core.excel.processor - INFO - 条码 6903244675208 处理结果:正常商品数量3.0,单价12.5,赠品数量0 +2025-05-05 19:00:42,489 - app.core.excel.processor - INFO - 条码 6949288699398 处理结果:正常商品数量3.0,单价8.5,赠品数量0 +2025-05-05 19:00:42,489 - app.core.excel.processor - INFO - 条码 6949288677884 处理结果:正常商品数量2.0,单价8.5,赠品数量0 +2025-05-05 19:00:42,489 - app.core.excel.processor - INFO - 条码 6926052512725 处理结果:正常商品数量3.0,单价6.2,赠品数量0 +2025-05-05 19:00:42,489 - app.core.excel.processor - INFO - 条码 6926052515276 处理结果:正常商品数量3.0,单价7.5,赠品数量0 +2025-05-05 19:00:42,489 - app.core.excel.processor - INFO - 条码 6926052501620 处理结果:正常商品数量3.0,单价6.5,赠品数量0 +2025-05-05 19:00:42,489 - app.core.excel.processor - INFO - 条码 6903244370776 处理结果:正常商品数量3.0,单价6.6,赠品数量0 +2025-05-05 19:00:42,489 - app.core.excel.processor - INFO - 条码 6903244370967 处理结果:正常商品数量3.0,单价3.6,赠品数量0 +2025-05-05 19:00:42,489 - app.core.excel.processor - INFO - 条码 6934660522258 处理结果:正常商品数量3.0,单价5.0,赠品数量0 +2025-05-05 19:00:42,489 - app.core.excel.processor - INFO - 条码 6934660528618 处理结果:正常商品数量3.0,单价4.2,赠品数量0 +2025-05-05 19:00:42,489 - app.core.excel.processor - INFO - 条码 6934660539157 处理结果:正常商品数量3.0,单价2.8,赠品数量0 +2025-05-05 19:00:42,489 - app.core.excel.processor - INFO - 条码 6922731882509 处理结果:正常商品数量5.0,单价6.2,赠品数量0 +2025-05-05 19:00:42,489 - app.core.excel.processor - INFO - 条码 6923589462400 处理结果:正常商品数量3.0,单价6.0,赠品数量0 +2025-05-05 19:00:42,490 - app.core.excel.processor - INFO - 条码 6923589469195 处理结果:正常商品数量5.0,单价2.3,赠品数量0 +2025-05-05 19:00:42,490 - app.core.excel.processor - INFO - 条码 6923589467009 处理结果:正常商品数量3.0,单价4.6,赠品数量0 +2025-05-05 19:00:42,490 - app.core.excel.processor - INFO - 条码 6923589466156 处理结果:正常商品数量5.0,单价6.2,赠品数量0 +2025-05-05 19:00:42,490 - app.core.excel.processor - INFO - 条码 6934660521510 处理结果:正常商品数量3.0,单价5.6,赠品数量0 +2025-05-05 19:00:42,490 - app.core.excel.processor - INFO - 条码 6901404300854 处理结果:正常商品数量3.0,单价1.2,赠品数量0 +2025-05-05 19:00:42,490 - app.core.excel.processor - INFO - 条码 4897031010292 处理结果:正常商品数量2.0,单价19.0,赠品数量0 +2025-05-05 19:00:42,490 - app.core.excel.processor - INFO - 条码 6903148171813 处理结果:正常商品数量3.0,单价14.5,赠品数量0 +2025-05-05 19:00:42,490 - app.core.excel.processor - INFO - 条码 6902088951875 处理结果:正常商品数量2.0,单价16.5,赠品数量0 +2025-05-05 19:00:44,017 - app.core.excel.processor - INFO - 采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185842.xls +2025-05-05 19:00:44,019 - app.core.excel.processor - INFO - 采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185842.xls +2025-05-05 19:02:32,165 - app.core.excel.processor - INFO - 初始化ExcelProcessor +2025-05-05 19:02:32,167 - app.core.excel.processor - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:02:32,169 - app.core.excel.processor - INFO - 开始处理Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250505185908.xlsx +2025-05-05 19:02:32,845 - app.core.excel.processor - INFO - 成功读取Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250505185908.xlsx, 共 26 行 +2025-05-05 19:02:32,847 - app.core.excel.processor - INFO - 找到可能的表头行: 第1行,评分: 35 +2025-05-05 19:02:32,847 - app.core.excel.processor - INFO - 识别到表头在第 1 行 +2025-05-05 19:02:32,862 - app.core.excel.processor - INFO - 使用表头行重新读取数据,共 25 行有效数据 +2025-05-05 19:02:32,862 - app.core.excel.processor - INFO - 找到精确匹配的条码列: 条码 +2025-05-05 19:02:32,862 - app.core.excel.processor - INFO - 使用条码列: 条码 +2025-05-05 19:02:32,862 - app.core.excel.processor - INFO - 找到name列(部分匹配): 商品全名 +2025-05-05 19:02:32,862 - app.core.excel.processor - INFO - 找到specification列: 规格 +2025-05-05 19:02:32,862 - app.core.excel.processor - INFO - 找到quantity列: 数量 +2025-05-05 19:02:32,863 - app.core.excel.processor - INFO - 找到unit列: 单位 +2025-05-05 19:02:32,863 - app.core.excel.processor - INFO - 找到price列: 单价 +2025-05-05 19:02:32,863 - app.core.excel.processor - INFO - 列名映射结果: {'barcode': '条码', 'name': '商品全名', 'specification': '规格', 'quantity': '数量', 'unit': '单位', 'price': '单价'} +2025-05-05 19:02:32,863 - app.core.excel.processor - INFO - 是否存在规格列: True +2025-05-05 19:02:32,864 - app.core.excel.processor - INFO - 第1行: 提取商品信息 条码=6902088127225, 名称=720g力士沐浴露樱花柔润, 规格=, 数量=2.0, 单位=瓶, 单价=24.0 +2025-05-05 19:02:32,864 - app.core.excel.processor - INFO - 解析规格: 1*12 -> 包装数量=12 +2025-05-05 19:02:32,865 - app.core.excel.processor - INFO - 第2行: 提取商品信息 条码=6902088310801, 名称=720g力士沐浴露幽莲魅肤, 规格=, 数量=2.0, 单位=瓶, 单价=24.0 +2025-05-05 19:02:32,865 - app.core.excel.processor - INFO - 解析规格: 1*12 -> 包装数量=12 +2025-05-05 19:02:32,866 - app.core.excel.processor - INFO - 第3行: 提取商品信息 条码=6902088421200, 名称=400g多芬沐浴露樱花甜香, 规格=, 数量=2.0, 单位=瓶, 单价=19.0 +2025-05-05 19:02:32,866 - app.core.excel.processor - INFO - 解析规格: 1*12 -> 包装数量=12 +2025-05-05 19:02:32,866 - app.core.excel.processor - INFO - 第4行: 提取商品信息 条码=6902022135316, 名称=3kg蓝刀亮深层洁净自然清香, 规格=, 数量=2.0, 单位=瓶, 单价=32.5 +2025-05-05 19:02:32,866 - app.core.excel.processor - INFO - 解析规格: 1*4 -> 包装数量=4 +2025-05-05 19:02:32,867 - app.core.excel.processor - INFO - 第5行: 提取商品信息 条码=6902022138256, 名称=1kg袋装蓝月亮深洁清香, 规格=, 数量=2.0, 单位=袋, 单价=12.5 +2025-05-05 19:02:32,867 - app.core.excel.processor - INFO - 解析规格: 1*12 -> 包装数量=12 +2025-05-05 19:02:32,867 - app.core.excel.processor - INFO - 第6行: 提取商品信息 条码=6970731334498, 名称=L号倍丝柔女士一次性内裤4条装, 规格=, 数量=2.0, 单位=盒, 单价=14.0 +2025-05-05 19:02:32,867 - app.core.excel.processor - INFO - 解析规格: 1*100 -> 包装数量=100 +2025-05-05 19:02:32,926 - app.core.excel.processor - INFO - 第7行: 提取商品信息 条码=6970731334504, 名称=x1倍丝柔女士一次性内裤4条装, 规格=, 数量=2.0, 单位=盒, 单价=14.0 +2025-05-05 19:02:32,926 - app.core.excel.processor - INFO - 解析规格: 1*100 -> 包装数量=100 +2025-05-05 19:02:32,927 - app.core.excel.processor - INFO - 第8行: 提取商品信息 条码=6934925983107, 名称=3706洁丽雅女士新款隐形袜, 规格=, 数量=12.0, 单位=双, 单价=6.0 +2025-05-05 19:02:32,927 - app.core.excel.processor - INFO - 解析规格: 1*12 -> 包装数量=12 +2025-05-05 19:02:32,927 - app.core.excel.processor - INFO - 第9行: 提取商品信息 条码=6942203405654, 名称=3040洁丽雅男士新款隐形袜, 规格=, 数量=12.0, 单位=双, 单价=6.0 +2025-05-05 19:02:32,931 - app.core.excel.processor - WARNING - 无法从商品名'3040洁丽雅男士新款隐形袜' 推断规格 +2025-05-05 19:02:32,933 - app.core.excel.processor - ERROR - 提取第11行商品信息时出错: could not convert string to float: '单价' +Traceback (most recent call last): + File "D:\My Documents\python\orc-order-v2\app\core\excel\processor.py", line 258, in extract_product_info + 'price': float(row[column_mapping['price']]) if column_mapping.get('price') and not pd.isna(row[column_mapping['price']]) else 0, +ValueError: could not convert string to float: '单价' +2025-05-05 19:02:32,934 - app.core.excel.processor - INFO - 第12行: 提取商品信息 条码=6901294179592, 名称=80ML六神驱蚊喷雾花露水, 规格=, 数量=5.0, 单位=瓶, 单价=11.5 +2025-05-05 19:02:32,934 - app.core.excel.processor - INFO - 解析规格: 1*48 -> 包装数量=48 +2025-05-05 19:02:32,934 - app.core.excel.processor - INFO - 第13行: 提取商品信息 条码=6901294175341, 名称=80ml六神止痒花露水, 规格=, 数量=3.0, 单位=瓶, 单价=11.5 +2025-05-05 19:02:32,934 - app.core.excel.processor - INFO - 解析规格: 1*48 -> 包装数量=48 +2025-05-05 19:02:32,935 - app.core.excel.processor - INFO - 第14行: 提取商品信息 条码=6907861191417, 名称=5155彩虹蚊香液1+1器无味, 规格=, 数量=5.0, 单位=套, 单价=15.18 +2025-05-05 19:02:32,935 - app.core.excel.processor - INFO - 解析规格: 1*40 -> 包装数量=40 +2025-05-05 19:02:32,935 - app.core.excel.processor - INFO - 第15行: 提取商品信息 条码=6907861191127, 名称=5113彩虹双瓶乖乖无味蚊香液, 规格=, 数量=5.0, 单位=套, 单价=22.1 +2025-05-05 19:02:32,935 - app.core.excel.processor - INFO - 解析规格: 1*20 -> 包装数量=20 +2025-05-05 19:02:32,936 - app.core.excel.processor - INFO - 第16行: 提取商品信息 条码=6907861050196, 名称=彩虹单瓶Q5105蚊香液无味36ml, 规格=, 数量=5.0, 单位=瓶, 单价=10.37 +2025-05-05 19:02:32,936 - app.core.excel.processor - INFO - 解析规格: 1*80 -> 包装数量=80 +2025-05-05 19:02:36,892 - app.core.excel.processor - ERROR - 提取第17行商品信息时出错: could not convert string to float: '2\n96' +Traceback (most recent call last): + File "D:\My Documents\python\orc-order-v2\app\core\excel\processor.py", line 258, in extract_product_info + 'price': float(row[column_mapping['price']]) if column_mapping.get('price') and not pd.isna(row[column_mapping['price']]) else 0, +ValueError: could not convert string to float: '2\n96' +2025-05-05 19:02:36,893 - app.core.excel.processor - INFO - 第18行: 提取商品信息 条码=6901826888138, 名称=南孚5号电池两粒装, 规格=, 数量=1.0, 单位=盒, 单价=112.0 +2025-05-05 19:02:36,893 - app.core.excel.processor - INFO - 解析规格: 1*60 -> 包装数量=60 +2025-05-05 19:02:36,893 - app.core.excel.processor - INFO - 第19行: 提取商品信息 条码=6923146100370, 名称=杜蕾斯玻尿酸避孕套3只装, 规格=, 数量=3.0, 单位=盒, 单价=15.5 +2025-05-05 19:02:36,893 - app.core.excel.processor - INFO - 解析规格: 1*96 -> 包装数量=96 +2025-05-05 19:02:36,894 - app.core.excel.processor - INFO - 第20行: 提取商品信息 条码=6973043880493, 名称=南孚纽扣电池CR2032, 规格=, 数量=1.0, 单位=板, 单价=10.0 +2025-05-05 19:02:36,894 - app.core.excel.processor - INFO - 解析规格: 1*5 -> 包装数量=5 +2025-05-05 19:02:36,894 - app.core.excel.processor - INFO - 第23行: 提取商品信息 条码=6972118660114, 名称=家丽欣6011一次性胶杯, 规格=, 数量=3.0, 单位=个, 单价=4.5 +2025-05-05 19:02:36,895 - app.core.excel.processor - INFO - 解析规格: 1*48 -> 包装数量=48 +2025-05-05 19:02:36,895 - app.core.excel.processor - INFO - 第24行: 提取商品信息 条码=6956934838605, 名称=83860云蕾双排纸杯50只, 规格=, 数量=3.0, 单位=个, 单价=3.6 +2025-05-05 19:02:36,896 - app.core.excel.processor - INFO - 解析规格: 1×40 -> 包装数量=40 +2025-05-05 19:02:36,896 - app.core.excel.processor - INFO - 提取到 19 个商品信息 +2025-05-05 19:02:36,904 - app.core.excel.processor - INFO - 开始处理19 个产品信息 +2025-05-05 19:02:36,904 - app.core.excel.processor - INFO - 处理商品: 条码=6902088127225, 数量=2.0, 单价=24.0, 是否赠品=False +2025-05-05 19:02:36,904 - app.core.excel.processor - INFO - 发现正常商品:条码6902088127225, 数量=2.0, 单价=24.0 +2025-05-05 19:02:36,904 - app.core.excel.processor - INFO - 处理商品: 条码=6902088310801, 数量=2.0, 单价=24.0, 是否赠品=False +2025-05-05 19:02:36,905 - app.core.excel.processor - INFO - 发现正常商品:条码6902088310801, 数量=2.0, 单价=24.0 +2025-05-05 19:02:36,905 - app.core.excel.processor - INFO - 处理商品: 条码=6902088421200, 数量=2.0, 单价=19.0, 是否赠品=False +2025-05-05 19:02:36,905 - app.core.excel.processor - INFO - 发现正常商品:条码6902088421200, 数量=2.0, 单价=19.0 +2025-05-05 19:02:36,905 - app.core.excel.processor - INFO - 处理商品: 条码=6902022135316, 数量=2.0, 单价=32.5, 是否赠品=False +2025-05-05 19:02:36,905 - app.core.excel.processor - INFO - 发现正常商品:条码6902022135316, 数量=2.0, 单价=32.5 +2025-05-05 19:02:36,905 - app.core.excel.processor - INFO - 处理商品: 条码=6902022138256, 数量=2.0, 单价=12.5, 是否赠品=False +2025-05-05 19:02:40,770 - app.core.excel.processor - INFO - 发现正常商品:条码6902022138256, 数量=2.0, 单价=12.5 +2025-05-05 19:02:40,770 - app.core.excel.processor - INFO - 处理商品: 条码=6970731334498, 数量=2.0, 单价=14.0, 是否赠品=False +2025-05-05 19:02:40,770 - app.core.excel.processor - INFO - 发现正常商品:条码6970731334498, 数量=2.0, 单价=14.0 +2025-05-05 19:02:40,770 - app.core.excel.processor - INFO - 处理商品: 条码=6970731334504, 数量=2.0, 单价=14.0, 是否赠品=False +2025-05-05 19:02:40,770 - app.core.excel.processor - INFO - 发现正常商品:条码6970731334504, 数量=2.0, 单价=14.0 +2025-05-05 19:02:40,770 - app.core.excel.processor - INFO - 处理商品: 条码=6934925983107, 数量=12.0, 单价=6.0, 是否赠品=False +2025-05-05 19:02:40,770 - app.core.excel.processor - INFO - 发现正常商品:条码6934925983107, 数量=12.0, 单价=6.0 +2025-05-05 19:02:40,770 - app.core.excel.processor - INFO - 处理商品: 条码=6942203405654, 数量=12.0, 单价=6.0, 是否赠品=False +2025-05-05 19:02:40,771 - app.core.excel.processor - INFO - 发现正常商品:条码6942203405654, 数量=12.0, 单价=6.0 +2025-05-05 19:02:40,771 - app.core.excel.processor - INFO - 处理商品: 条码=6901294179592, 数量=5.0, 单价=11.5, 是否赠品=False +2025-05-05 19:02:40,771 - app.core.excel.processor - INFO - 发现正常商品:条码6901294179592, 数量=5.0, 单价=11.5 +2025-05-05 19:02:40,771 - app.core.excel.processor - INFO - 处理商品: 条码=6901294175341, 数量=3.0, 单价=11.5, 是否赠品=False +2025-05-05 19:02:40,771 - app.core.excel.processor - INFO - 发现正常商品:条码6901294175341, 数量=3.0, 单价=11.5 +2025-05-05 19:02:40,771 - app.core.excel.processor - INFO - 处理商品: 条码=6907861191417, 数量=5.0, 单价=15.18, 是否赠品=False +2025-05-05 19:02:40,772 - app.core.excel.processor - INFO - 发现正常商品:条码6907861191417, 数量=5.0, 单价=15.18 +2025-05-05 19:02:40,772 - app.core.excel.processor - INFO - 处理商品: 条码=6907861191127, 数量=5.0, 单价=22.1, 是否赠品=False +2025-05-05 19:02:40,772 - app.core.excel.processor - INFO - 发现正常商品:条码6907861191127, 数量=5.0, 单价=22.1 +2025-05-05 19:02:40,772 - app.core.excel.processor - INFO - 处理商品: 条码=6907861050196, 数量=5.0, 单价=10.37, 是否赠品=False +2025-05-05 19:02:40,772 - app.core.excel.processor - INFO - 发现正常商品:条码6907861050196, 数量=5.0, 单价=10.37 +2025-05-05 19:02:40,772 - app.core.excel.processor - INFO - 处理商品: 条码=6901826888138, 数量=1.0, 单价=112.0, 是否赠品=False +2025-05-05 19:02:40,772 - app.core.excel.processor - INFO - 发现正常商品:条码6901826888138, 数量=1.0, 单价=112.0 +2025-05-05 19:02:40,772 - app.core.excel.processor - INFO - 处理商品: 条码=6923146100370, 数量=3.0, 单价=15.5, 是否赠品=False +2025-05-05 19:02:40,772 - app.core.excel.processor - INFO - 发现正常商品:条码6923146100370, 数量=3.0, 单价=15.5 +2025-05-05 19:02:40,772 - app.core.excel.processor - INFO - 处理商品: 条码=6973043880493, 数量=1.0, 单价=10.0, 是否赠品=False +2025-05-05 19:02:40,772 - app.core.excel.processor - INFO - 发现正常商品:条码6973043880493, 数量=1.0, 单价=10.0 +2025-05-05 19:02:40,774 - app.core.excel.processor - INFO - 处理商品: 条码=6972118660114, 数量=3.0, 单价=4.5, 是否赠品=False +2025-05-05 19:02:40,774 - app.core.excel.processor - INFO - 发现正常商品:条码6972118660114, 数量=3.0, 单价=4.5 +2025-05-05 19:02:40,774 - app.core.excel.processor - INFO - 处理商品: 条码=6956934838605, 数量=3.0, 单价=3.6, 是否赠品=False +2025-05-05 19:02:40,774 - app.core.excel.processor - INFO - 发现正常商品:条码6956934838605, 数量=3.0, 单价=3.6 +2025-05-05 19:02:40,774 - app.core.excel.processor - INFO - 分组后共19 个不同条码的商品 +2025-05-05 19:02:40,774 - app.core.excel.processor - INFO - 条码 6902088127225 处理结果:正常商品数量2.0,单价24.0,赠品数量0 +2025-05-05 19:02:40,774 - app.core.excel.processor - INFO - 条码 6902088310801 处理结果:正常商品数量2.0,单价24.0,赠品数量0 +2025-05-05 19:02:40,774 - app.core.excel.processor - INFO - 条码 6902088421200 处理结果:正常商品数量2.0,单价19.0,赠品数量0 +2025-05-05 19:02:40,774 - app.core.excel.processor - INFO - 条码 6902022135316 处理结果:正常商品数量2.0,单价32.5,赠品数量0 +2025-05-05 19:02:40,774 - app.core.excel.processor - INFO - 条码 6902022138256 处理结果:正常商品数量2.0,单价12.5,赠品数量0 +2025-05-05 19:02:44,925 - app.core.excel.processor - INFO - 条码 6970731334498 处理结果:正常商品数量2.0,单价14.0,赠品数量0 +2025-05-05 19:02:44,925 - app.core.excel.processor - INFO - 条码 6970731334504 处理结果:正常商品数量2.0,单价14.0,赠品数量0 +2025-05-05 19:02:44,925 - app.core.excel.processor - INFO - 条码 6934925983107 处理结果:正常商品数量12.0,单价6.0,赠品数量0 +2025-05-05 19:02:44,925 - app.core.excel.processor - INFO - 条码 6942203405654 处理结果:正常商品数量12.0,单价6.0,赠品数量0 +2025-05-05 19:02:44,925 - app.core.excel.processor - INFO - 条码 6901294179592 处理结果:正常商品数量5.0,单价11.5,赠品数量0 +2025-05-05 19:02:44,925 - app.core.excel.processor - INFO - 条码 6901294175341 处理结果:正常商品数量3.0,单价11.5,赠品数量0 +2025-05-05 19:02:44,925 - app.core.excel.processor - INFO - 条码 6907861191417 处理结果:正常商品数量5.0,单价15.18,赠品数量0 +2025-05-05 19:02:44,925 - app.core.excel.processor - INFO - 条码 6907861191127 处理结果:正常商品数量5.0,单价22.1,赠品数量0 +2025-05-05 19:02:44,925 - app.core.excel.processor - INFO - 条码 6907861050196 处理结果:正常商品数量5.0,单价10.37,赠品数量0 +2025-05-05 19:02:44,925 - app.core.excel.processor - INFO - 条码 6901826888138 处理结果:正常商品数量1.0,单价112.0,赠品数量0 +2025-05-05 19:02:44,925 - app.core.excel.processor - INFO - 条码 6923146100370 处理结果:正常商品数量3.0,单价15.5,赠品数量0 +2025-05-05 19:02:44,926 - app.core.excel.processor - INFO - 条码 6973043880493 处理结果:正常商品数量1.0,单价10.0,赠品数量0 +2025-05-05 19:02:44,926 - app.core.excel.processor - INFO - 条码 6972118660114 处理结果:正常商品数量3.0,单价4.5,赠品数量0 +2025-05-05 19:02:44,926 - app.core.excel.processor - INFO - 条码 6956934838605 处理结果:正常商品数量3.0,单价3.6,赠品数量0 +2025-05-05 19:02:44,929 - app.core.excel.processor - INFO - 采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185908.xls +2025-05-05 19:02:44,931 - app.core.excel.processor - INFO - 采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185908.xls +2025-05-05 19:02:54,872 - app.core.excel.processor - INFO - 初始化ExcelProcessor +2025-05-05 19:02:54,873 - app.core.excel.processor - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:15:12,553 - app.core.excel.processor - INFO - 初始化ExcelProcessor +2025-05-05 19:15:12,553 - app.core.excel.processor - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:15:12,554 - app.core.excel.processor - INFO - 开始处理Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250505185908.xlsx +2025-05-05 19:15:13,196 - app.core.excel.processor - INFO - 成功读取Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250505185908.xlsx, 共 26 行 +2025-05-05 19:15:13,202 - app.core.excel.processor - INFO - 找到可能的表头行: 第1行,评分: 35 +2025-05-05 19:15:13,202 - app.core.excel.processor - INFO - 识别到表头在第 1 行 +2025-05-05 19:15:13,220 - app.core.excel.processor - INFO - 使用表头行重新读取数据,共 25 行有效数据 +2025-05-05 19:15:13,220 - app.core.excel.processor - INFO - 找到精确匹配的条码列: 条码 +2025-05-05 19:15:13,220 - app.core.excel.processor - INFO - 使用条码列: 条码 +2025-05-05 19:15:13,220 - app.core.excel.processor - INFO - 找到name列(部分匹配): 商品全名 +2025-05-05 19:15:13,220 - app.core.excel.processor - INFO - 找到specification列: 规格 +2025-05-05 19:15:13,220 - app.core.excel.processor - INFO - 找到quantity列: 数量 +2025-05-05 19:15:13,220 - app.core.excel.processor - INFO - 找到unit列: 单位 +2025-05-05 19:15:13,221 - app.core.excel.processor - INFO - 找到price列: 单价 +2025-05-05 19:15:13,221 - app.core.excel.processor - INFO - 列名映射结果: {'barcode': '条码', 'name': '商品全名', 'specification': '规格', 'quantity': '数量', 'unit': '单位', 'price': '单价'} +2025-05-05 19:15:13,222 - app.core.excel.processor - INFO - 是否存在规格列: True +2025-05-05 19:15:13,223 - app.core.excel.processor - INFO - 第1行: 提取商品信息 条码=6902088127225, 名称=720g力士沐浴露樱花柔润, 规格=, 数量=2.0, 单位=瓶, 单价=24.0 +2025-05-05 19:15:13,224 - app.core.excel.processor - INFO - 解析规格: 1*12 -> 包装数量=12 +2025-05-05 19:15:13,225 - app.core.excel.processor - INFO - 第2行: 提取商品信息 条码=6902088310801, 名称=720g力士沐浴露幽莲魅肤, 规格=, 数量=2.0, 单位=瓶, 单价=24.0 +2025-05-05 19:15:13,225 - app.core.excel.processor - INFO - 解析规格: 1*12 -> 包装数量=12 +2025-05-05 19:15:13,226 - app.core.excel.processor - INFO - 第3行: 提取商品信息 条码=6902088421200, 名称=400g多芬沐浴露樱花甜香, 规格=, 数量=2.0, 单位=瓶, 单价=19.0 +2025-05-05 19:15:13,226 - app.core.excel.processor - INFO - 解析规格: 1*12 -> 包装数量=12 +2025-05-05 19:15:13,228 - app.core.excel.processor - INFO - 第4行: 提取商品信息 条码=6902022135316, 名称=3kg蓝刀亮深层洁净自然清香, 规格=, 数量=2.0, 单位=瓶, 单价=32.5 +2025-05-05 19:15:13,229 - app.core.excel.processor - INFO - 解析规格: 1*4 -> 包装数量=4 +2025-05-05 19:15:13,229 - app.core.excel.processor - INFO - 第5行: 提取商品信息 条码=6902022138256, 名称=1kg袋装蓝月亮深洁清香, 规格=, 数量=2.0, 单位=袋, 单价=12.5 +2025-05-05 19:15:13,229 - app.core.excel.processor - INFO - 解析规格: 1*12 -> 包装数量=12 +2025-05-05 19:15:13,231 - app.core.excel.processor - INFO - 第6行: 提取商品信息 条码=6970731334498, 名称=L号倍丝柔女士一次性内裤4条装, 规格=, 数量=2.0, 单位=盒, 单价=14.0 +2025-05-05 19:15:13,232 - app.core.excel.processor - INFO - 解析规格: 1*100 -> 包装数量=100 +2025-05-05 19:15:13,233 - app.core.excel.processor - INFO - 第7行: 提取商品信息 条码=6970731334504, 名称=x1倍丝柔女士一次性内裤4条装, 规格=, 数量=2.0, 单位=盒, 单价=14.0 +2025-05-05 19:15:13,233 - app.core.excel.processor - INFO - 解析规格: 1*100 -> 包装数量=100 +2025-05-05 19:15:13,234 - app.core.excel.processor - INFO - 第8行: 提取商品信息 条码=6934925983107, 名称=3706洁丽雅女士新款隐形袜, 规格=, 数量=12.0, 单位=双, 单价=6.0 +2025-05-05 19:15:13,234 - app.core.excel.processor - INFO - 解析规格: 1*12 -> 包装数量=12 +2025-05-05 19:15:13,235 - app.core.excel.processor - INFO - 第9行: 提取商品信息 条码=6942203405654, 名称=3040洁丽雅男士新款隐形袜, 规格=, 数量=12.0, 单位=双, 单价=6.0 +2025-05-05 19:15:13,239 - app.core.excel.processor - WARNING - 无法从商品名'3040洁丽雅男士新款隐形袜' 推断规格 +2025-05-05 19:15:13,239 - app.core.excel.processor - ERROR - 提取第11行商品信息时出错: could not convert string to float: '单价' +Traceback (most recent call last): + File "D:\My Documents\python\orc-order-v2\app\core\excel\processor.py", line 258, in extract_product_info + 'price': float(row[column_mapping['price']]) if column_mapping.get('price') and not pd.isna(row[column_mapping['price']]) else 0, +ValueError: could not convert string to float: '单价' +2025-05-05 19:15:13,241 - app.core.excel.processor - INFO - 第12行: 提取商品信息 条码=6901294179592, 名称=80ML六神驱蚊喷雾花露水, 规格=, 数量=5.0, 单位=瓶, 单价=11.5 +2025-05-05 19:15:13,242 - app.core.excel.processor - INFO - 解析规格: 1*48 -> 包装数量=48 +2025-05-05 19:15:13,243 - app.core.excel.processor - INFO - 第13行: 提取商品信息 条码=6901294175341, 名称=80ml六神止痒花露水, 规格=, 数量=3.0, 单位=瓶, 单价=11.5 +2025-05-05 19:15:13,243 - app.core.excel.processor - INFO - 解析规格: 1*48 -> 包装数量=48 +2025-05-05 19:15:13,243 - app.core.excel.processor - INFO - 第14行: 提取商品信息 条码=6907861191417, 名称=5155彩虹蚊香液1+1器无味, 规格=, 数量=5.0, 单位=套, 单价=15.18 +2025-05-05 19:15:13,244 - app.core.excel.processor - INFO - 解析规格: 1*40 -> 包装数量=40 +2025-05-05 19:15:13,245 - app.core.excel.processor - INFO - 第15行: 提取商品信息 条码=6907861191127, 名称=5113彩虹双瓶乖乖无味蚊香液, 规格=, 数量=5.0, 单位=套, 单价=22.1 +2025-05-05 19:15:13,245 - app.core.excel.processor - INFO - 解析规格: 1*20 -> 包装数量=20 +2025-05-05 19:15:13,247 - app.core.excel.processor - INFO - 第16行: 提取商品信息 条码=6907861050196, 名称=彩虹单瓶Q5105蚊香液无味36ml, 规格=, 数量=5.0, 单位=瓶, 单价=10.37 +2025-05-05 19:15:13,247 - app.core.excel.processor - INFO - 解析规格: 1*80 -> 包装数量=80 +2025-05-05 19:15:16,011 - app.core.excel.processor - ERROR - 提取第17行商品信息时出错: could not convert string to float: '2\n96' +Traceback (most recent call last): + File "D:\My Documents\python\orc-order-v2\app\core\excel\processor.py", line 258, in extract_product_info + 'price': float(row[column_mapping['price']]) if column_mapping.get('price') and not pd.isna(row[column_mapping['price']]) else 0, +ValueError: could not convert string to float: '2\n96' +2025-05-05 19:15:16,013 - app.core.excel.processor - INFO - 第18行: 提取商品信息 条码=6901826888138, 名称=南孚5号电池两粒装, 规格=, 数量=1.0, 单位=盒, 单价=112.0 +2025-05-05 19:15:16,013 - app.core.excel.processor - INFO - 解析规格: 1*60 -> 包装数量=60 +2025-05-05 19:15:16,014 - app.core.excel.processor - INFO - 第19行: 提取商品信息 条码=6923146100370, 名称=杜蕾斯玻尿酸避孕套3只装, 规格=, 数量=3.0, 单位=盒, 单价=15.5 +2025-05-05 19:15:16,014 - app.core.excel.processor - INFO - 解析规格: 1*96 -> 包装数量=96 +2025-05-05 19:15:16,014 - app.core.excel.processor - INFO - 第20行: 提取商品信息 条码=6973043880493, 名称=南孚纽扣电池CR2032, 规格=, 数量=1.0, 单位=板, 单价=10.0 +2025-05-05 19:15:16,014 - app.core.excel.processor - INFO - 解析规格: 1*5 -> 包装数量=5 +2025-05-05 19:15:16,015 - app.core.excel.processor - INFO - 第23行: 提取商品信息 条码=6972118660114, 名称=家丽欣6011一次性胶杯, 规格=, 数量=3.0, 单位=个, 单价=4.5 +2025-05-05 19:15:16,015 - app.core.excel.processor - INFO - 解析规格: 1*48 -> 包装数量=48 +2025-05-05 19:15:16,016 - app.core.excel.processor - INFO - 第24行: 提取商品信息 条码=6956934838605, 名称=83860云蕾双排纸杯50只, 规格=, 数量=3.0, 单位=个, 单价=3.6 +2025-05-05 19:15:16,016 - app.core.excel.processor - INFO - 解析规格: 1×40 -> 包装数量=40 +2025-05-05 19:15:16,016 - app.core.excel.processor - INFO - 提取到 19 个商品信息 +2025-05-05 19:15:16,023 - app.core.excel.processor - INFO - 开始处理19 个产品信息 +2025-05-05 19:15:16,023 - app.core.excel.processor - INFO - 处理商品: 条码=6902088127225, 数量=2.0, 单价=24.0, 是否赠品=False +2025-05-05 19:15:16,023 - app.core.excel.processor - INFO - 发现正常商品:条码6902088127225, 数量=2.0, 单价=24.0 +2025-05-05 19:15:16,023 - app.core.excel.processor - INFO - 处理商品: 条码=6902088310801, 数量=2.0, 单价=24.0, 是否赠品=False +2025-05-05 19:15:16,023 - app.core.excel.processor - INFO - 发现正常商品:条码6902088310801, 数量=2.0, 单价=24.0 +2025-05-05 19:15:16,024 - app.core.excel.processor - INFO - 处理商品: 条码=6902088421200, 数量=2.0, 单价=19.0, 是否赠品=False +2025-05-05 19:15:16,024 - app.core.excel.processor - INFO - 发现正常商品:条码6902088421200, 数量=2.0, 单价=19.0 +2025-05-05 19:15:19,149 - app.core.excel.processor - INFO - 处理商品: 条码=6902022135316, 数量=2.0, 单价=32.5, 是否赠品=False +2025-05-05 19:15:19,150 - app.core.excel.processor - INFO - 发现正常商品:条码6902022135316, 数量=2.0, 单价=32.5 +2025-05-05 19:15:19,150 - app.core.excel.processor - INFO - 处理商品: 条码=6902022138256, 数量=2.0, 单价=12.5, 是否赠品=False +2025-05-05 19:15:19,150 - app.core.excel.processor - INFO - 发现正常商品:条码6902022138256, 数量=2.0, 单价=12.5 +2025-05-05 19:15:19,150 - app.core.excel.processor - INFO - 处理商品: 条码=6970731334498, 数量=2.0, 单价=14.0, 是否赠品=False +2025-05-05 19:15:19,151 - app.core.excel.processor - INFO - 发现正常商品:条码6970731334498, 数量=2.0, 单价=14.0 +2025-05-05 19:15:19,151 - app.core.excel.processor - INFO - 处理商品: 条码=6970731334504, 数量=2.0, 单价=14.0, 是否赠品=False +2025-05-05 19:15:19,151 - app.core.excel.processor - INFO - 发现正常商品:条码6970731334504, 数量=2.0, 单价=14.0 +2025-05-05 19:15:19,151 - app.core.excel.processor - INFO - 处理商品: 条码=6934925983107, 数量=12.0, 单价=6.0, 是否赠品=False +2025-05-05 19:15:19,151 - app.core.excel.processor - INFO - 发现正常商品:条码6934925983107, 数量=12.0, 单价=6.0 +2025-05-05 19:15:19,151 - app.core.excel.processor - INFO - 处理商品: 条码=6942203405654, 数量=12.0, 单价=6.0, 是否赠品=False +2025-05-05 19:15:19,151 - app.core.excel.processor - INFO - 发现正常商品:条码6942203405654, 数量=12.0, 单价=6.0 +2025-05-05 19:15:19,151 - app.core.excel.processor - INFO - 处理商品: 条码=6901294179592, 数量=5.0, 单价=11.5, 是否赠品=False +2025-05-05 19:15:19,151 - app.core.excel.processor - INFO - 发现正常商品:条码6901294179592, 数量=5.0, 单价=11.5 +2025-05-05 19:15:19,151 - app.core.excel.processor - INFO - 处理商品: 条码=6901294175341, 数量=3.0, 单价=11.5, 是否赠品=False +2025-05-05 19:15:19,152 - app.core.excel.processor - INFO - 发现正常商品:条码6901294175341, 数量=3.0, 单价=11.5 +2025-05-05 19:15:19,152 - app.core.excel.processor - INFO - 处理商品: 条码=6907861191417, 数量=5.0, 单价=15.18, 是否赠品=False +2025-05-05 19:15:19,152 - app.core.excel.processor - INFO - 发现正常商品:条码6907861191417, 数量=5.0, 单价=15.18 +2025-05-05 19:15:19,152 - app.core.excel.processor - INFO - 处理商品: 条码=6907861191127, 数量=5.0, 单价=22.1, 是否赠品=False +2025-05-05 19:15:19,152 - app.core.excel.processor - INFO - 发现正常商品:条码6907861191127, 数量=5.0, 单价=22.1 +2025-05-05 19:15:19,152 - app.core.excel.processor - INFO - 处理商品: 条码=6907861050196, 数量=5.0, 单价=10.37, 是否赠品=False +2025-05-05 19:15:19,152 - app.core.excel.processor - INFO - 发现正常商品:条码6907861050196, 数量=5.0, 单价=10.37 +2025-05-05 19:15:19,153 - app.core.excel.processor - INFO - 处理商品: 条码=6901826888138, 数量=30.0, 单价=3.7333333333333334, 是否赠品=False +2025-05-05 19:15:19,153 - app.core.excel.processor - INFO - 发现正常商品:条码6901826888138, 数量=30.0, 单价=3.7333333333333334 +2025-05-05 19:15:19,153 - app.core.excel.processor - INFO - 处理商品: 条码=6923146100370, 数量=3.0, 单价=15.5, 是否赠品=False +2025-05-05 19:15:19,153 - app.core.excel.processor - INFO - 发现正常商品:条码6923146100370, 数量=3.0, 单价=15.5 +2025-05-05 19:15:19,153 - app.core.excel.processor - INFO - 处理商品: 条码=6973043880493, 数量=1.0, 单价=10.0, 是否赠品=False +2025-05-05 19:15:19,153 - app.core.excel.processor - INFO - 发现正常商品:条码6973043880493, 数量=1.0, 单价=10.0 +2025-05-05 19:15:19,153 - app.core.excel.processor - INFO - 处理商品: 条码=6972118660114, 数量=3.0, 单价=4.5, 是否赠品=False +2025-05-05 19:15:19,154 - app.core.excel.processor - INFO - 发现正常商品:条码6972118660114, 数量=3.0, 单价=4.5 +2025-05-05 19:15:19,154 - app.core.excel.processor - INFO - 处理商品: 条码=6956934838605, 数量=3.0, 单价=3.6, 是否赠品=False +2025-05-05 19:15:19,154 - app.core.excel.processor - INFO - 发现正常商品:条码6956934838605, 数量=3.0, 单价=3.6 +2025-05-05 19:15:19,154 - app.core.excel.processor - INFO - 分组后共19 个不同条码的商品 +2025-05-05 19:15:19,154 - app.core.excel.processor - INFO - 条码 6902088127225 处理结果:正常商品数量2.0,单价24.0,赠品数量0 +2025-05-05 19:15:22,295 - app.core.excel.processor - INFO - 条码 6902088310801 处理结果:正常商品数量2.0,单价24.0,赠品数量0 +2025-05-05 19:15:22,296 - app.core.excel.processor - INFO - 条码 6902088421200 处理结果:正常商品数量2.0,单价19.0,赠品数量0 +2025-05-05 19:15:22,296 - app.core.excel.processor - INFO - 条码 6902022135316 处理结果:正常商品数量2.0,单价32.5,赠品数量0 +2025-05-05 19:15:22,296 - app.core.excel.processor - INFO - 条码 6902022138256 处理结果:正常商品数量2.0,单价12.5,赠品数量0 +2025-05-05 19:15:22,296 - app.core.excel.processor - INFO - 条码 6970731334498 处理结果:正常商品数量2.0,单价14.0,赠品数量0 +2025-05-05 19:15:22,296 - app.core.excel.processor - INFO - 条码 6970731334504 处理结果:正常商品数量2.0,单价14.0,赠品数量0 +2025-05-05 19:15:22,296 - app.core.excel.processor - INFO - 条码 6934925983107 处理结果:正常商品数量12.0,单价6.0,赠品数量0 +2025-05-05 19:15:22,296 - app.core.excel.processor - INFO - 条码 6942203405654 处理结果:正常商品数量12.0,单价6.0,赠品数量0 +2025-05-05 19:15:22,296 - app.core.excel.processor - INFO - 条码 6901294179592 处理结果:正常商品数量5.0,单价11.5,赠品数量0 +2025-05-05 19:15:22,296 - app.core.excel.processor - INFO - 条码 6901294175341 处理结果:正常商品数量3.0,单价11.5,赠品数量0 +2025-05-05 19:15:22,297 - app.core.excel.processor - INFO - 条码 6907861191417 处理结果:正常商品数量5.0,单价15.18,赠品数量0 +2025-05-05 19:15:22,297 - app.core.excel.processor - INFO - 条码 6907861191127 处理结果:正常商品数量5.0,单价22.1,赠品数量0 +2025-05-05 19:15:22,297 - app.core.excel.processor - INFO - 条码 6907861050196 处理结果:正常商品数量5.0,单价10.37,赠品数量0 +2025-05-05 19:15:22,297 - app.core.excel.processor - INFO - 条码 6901826888138 处理结果:正常商品数量30.0,单价3.7333333333333334,赠品数量0 +2025-05-05 19:15:22,297 - app.core.excel.processor - INFO - 条码 6923146100370 处理结果:正常商品数量3.0,单价15.5,赠品数量0 +2025-05-05 19:15:22,297 - app.core.excel.processor - INFO - 条码 6973043880493 处理结果:正常商品数量1.0,单价10.0,赠品数量0 +2025-05-05 19:15:22,297 - app.core.excel.processor - INFO - 条码 6972118660114 处理结果:正常商品数量3.0,单价4.5,赠品数量0 +2025-05-05 19:15:22,298 - app.core.excel.processor - INFO - 条码 6956934838605 处理结果:正常商品数量3.0,单价3.6,赠品数量0 +2025-05-05 19:15:22,301 - app.core.excel.processor - INFO - 采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185908.xls +2025-05-05 19:15:22,303 - app.core.excel.processor - INFO - 采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185908.xls +2025-05-05 19:18:54,502 - app.core.excel.processor - INFO - 初始化ExcelProcessor +2025-05-05 19:18:54,507 - app.core.excel.processor - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:19:59,313 - app.core.excel.processor - INFO - 初始化ExcelProcessor +2025-05-05 19:19:59,313 - app.core.excel.processor - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:19:59,315 - app.core.excel.processor - INFO - 开始处理Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250505185908.xlsx +2025-05-05 19:19:59,995 - app.core.excel.processor - INFO - 成功读取Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250505185908.xlsx, 共 26 行 +2025-05-05 19:20:00,006 - app.core.excel.processor - INFO - 找到可能的表头行: 第1行,评分: 35 +2025-05-05 19:20:00,007 - app.core.excel.processor - INFO - 识别到表头在第 1 行 +2025-05-05 19:20:00,068 - app.core.excel.processor - INFO - 使用表头行重新读取数据,共 25 行有效数据 +2025-05-05 19:20:00,068 - app.core.excel.processor - INFO - 找到精确匹配的条码列: 条码 +2025-05-05 19:20:00,069 - app.core.excel.processor - INFO - 使用条码列: 条码 +2025-05-05 19:20:00,069 - app.core.excel.processor - INFO - 找到name列(部分匹配): 商品全名 +2025-05-05 19:20:00,076 - app.core.excel.processor - INFO - 找到specification列: 规格 +2025-05-05 19:20:00,077 - app.core.excel.processor - INFO - 找到quantity列: 数量 +2025-05-05 19:20:00,077 - app.core.excel.processor - INFO - 找到unit列: 单位 +2025-05-05 19:20:00,077 - app.core.excel.processor - INFO - 找到price列: 单价 +2025-05-05 19:20:00,077 - app.core.excel.processor - INFO - 列名映射结果: {'barcode': '条码', 'name': '商品全名', 'specification': '规格', 'quantity': '数量', 'unit': '单位', 'price': '单价'} +2025-05-05 19:20:00,077 - app.core.excel.processor - INFO - 是否存在规格列: True +2025-05-05 19:20:00,078 - app.core.excel.processor - INFO - 第1行: 提取商品信息 条码=6902088127225, 名称=720g力士沐浴露樱花柔润, 规格=, 数量=2.0, 单位=瓶, 单价=24.0 +2025-05-05 19:20:00,079 - app.core.excel.processor - INFO - 解析规格: 1*12 -> 包装数量=12 +2025-05-05 19:20:00,081 - app.core.excel.processor - INFO - 第2行: 提取商品信息 条码=6902088310801, 名称=720g力士沐浴露幽莲魅肤, 规格=, 数量=2.0, 单位=瓶, 单价=24.0 +2025-05-05 19:20:00,081 - app.core.excel.processor - INFO - 解析规格: 1*12 -> 包装数量=12 +2025-05-05 19:20:00,082 - app.core.excel.processor - INFO - 第3行: 提取商品信息 条码=6902088421200, 名称=400g多芬沐浴露樱花甜香, 规格=, 数量=2.0, 单位=瓶, 单价=19.0 +2025-05-05 19:20:00,082 - app.core.excel.processor - INFO - 解析规格: 1*12 -> 包装数量=12 +2025-05-05 19:20:00,117 - app.core.excel.processor - INFO - 第4行: 提取商品信息 条码=6902022135316, 名称=3kg蓝刀亮深层洁净自然清香, 规格=, 数量=2.0, 单位=瓶, 单价=32.5 +2025-05-05 19:20:00,118 - app.core.excel.processor - INFO - 解析规格: 1*4 -> 包装数量=4 +2025-05-05 19:20:00,118 - app.core.excel.processor - INFO - 第5行: 提取商品信息 条码=6902022138256, 名称=1kg袋装蓝月亮深洁清香, 规格=, 数量=2.0, 单位=袋, 单价=12.5 +2025-05-05 19:20:00,119 - app.core.excel.processor - INFO - 解析规格: 1*12 -> 包装数量=12 +2025-05-05 19:20:00,119 - app.core.excel.processor - INFO - 第6行: 提取商品信息 条码=6970731334498, 名称=L号倍丝柔女士一次性内裤4条装, 规格=, 数量=2.0, 单位=盒, 单价=14.0 +2025-05-05 19:20:00,119 - app.core.excel.processor - INFO - 解析规格: 1*100 -> 包装数量=100 +2025-05-05 19:20:00,121 - app.core.excel.processor - INFO - 第7行: 提取商品信息 条码=6970731334504, 名称=x1倍丝柔女士一次性内裤4条装, 规格=, 数量=2.0, 单位=盒, 单价=14.0 +2025-05-05 19:20:00,121 - app.core.excel.processor - INFO - 解析规格: 1*100 -> 包装数量=100 +2025-05-05 19:20:00,122 - app.core.excel.processor - INFO - 第8行: 提取商品信息 条码=6934925983107, 名称=3706洁丽雅女士新款隐形袜, 规格=, 数量=12.0, 单位=双, 单价=6.0 +2025-05-05 19:20:00,123 - app.core.excel.processor - INFO - 解析规格: 1*12 -> 包装数量=12 +2025-05-05 19:20:00,124 - app.core.excel.processor - INFO - 第9行: 提取商品信息 条码=6942203405654, 名称=3040洁丽雅男士新款隐形袜, 规格=, 数量=12.0, 单位=双, 单价=6.0 +2025-05-05 19:20:00,135 - app.core.excel.processor - WARNING - 无法从商品名'3040洁丽雅男士新款隐形袜' 推断规格 +2025-05-05 19:20:00,136 - app.core.excel.processor - WARNING - 价格转换失败,原始值: '单价',使用默认值0 +2025-05-05 19:20:00,137 - app.core.excel.processor - INFO - 第11行: 提取商品信息 条码=条码, 名称=商品全名, 规格=, 数量=0, 单位=单位, 单价=0 +2025-05-05 19:20:00,139 - app.core.excel.processor - INFO - 第12行: 提取商品信息 条码=6901294179592, 名称=80ML六神驱蚊喷雾花露水, 规格=, 数量=5.0, 单位=瓶, 单价=11.5 +2025-05-05 19:20:00,139 - app.core.excel.processor - INFO - 解析规格: 1*48 -> 包装数量=48 +2025-05-05 19:20:00,141 - app.core.excel.processor - INFO - 第13行: 提取商品信息 条码=6901294175341, 名称=80ml六神止痒花露水, 规格=, 数量=3.0, 单位=瓶, 单价=11.5 +2025-05-05 19:20:00,141 - app.core.excel.processor - INFO - 解析规格: 1*48 -> 包装数量=48 +2025-05-05 19:20:00,141 - app.core.excel.processor - INFO - 第14行: 提取商品信息 条码=6907861191417, 名称=5155彩虹蚊香液1+1器无味, 规格=, 数量=5.0, 单位=套, 单价=15.18 +2025-05-05 19:20:01,511 - app.core.excel.processor - INFO - 解析规格: 1*40 -> 包装数量=40 +2025-05-05 19:20:01,512 - app.core.excel.processor - INFO - 第15行: 提取商品信息 条码=6907861191127, 名称=5113彩虹双瓶乖乖无味蚊香液, 规格=, 数量=5.0, 单位=套, 单价=22.1 +2025-05-05 19:20:01,513 - app.core.excel.processor - INFO - 解析规格: 1*20 -> 包装数量=20 +2025-05-05 19:20:01,513 - app.core.excel.processor - INFO - 第16行: 提取商品信息 条码=6907861050196, 名称=彩虹单瓶Q5105蚊香液无味36ml, 规格=, 数量=5.0, 单位=瓶, 单价=10.37 +2025-05-05 19:20:01,513 - app.core.excel.processor - INFO - 解析规格: 1*80 -> 包装数量=80 +2025-05-05 19:20:01,514 - app.core.excel.processor - INFO - 第17行: 提取商品信息 条码=6901826817237, 名称=南孚电池5号5粒装, 规格=, 数量=1.0, 单位=盒, 单价=296.0 +2025-05-05 19:20:01,514 - app.core.excel.processor - INFO - 解析规格: 1*10 -> 包装数量=10 +2025-05-05 19:20:01,515 - app.core.excel.processor - INFO - 第18行: 提取商品信息 条码=6901826888138, 名称=南孚5号电池两粒装, 规格=, 数量=1.0, 单位=盒, 单价=112.0 +2025-05-05 19:20:01,515 - app.core.excel.processor - INFO - 解析规格: 1*60 -> 包装数量=60 +2025-05-05 19:20:01,516 - app.core.excel.processor - INFO - 第19行: 提取商品信息 条码=6923146100370, 名称=杜蕾斯玻尿酸避孕套3只装, 规格=, 数量=3.0, 单位=盒, 单价=15.5 +2025-05-05 19:20:01,516 - app.core.excel.processor - INFO - 解析规格: 1*96 -> 包装数量=96 +2025-05-05 19:20:01,517 - app.core.excel.processor - INFO - 第20行: 提取商品信息 条码=6973043880493, 名称=南孚纽扣电池CR2032, 规格=, 数量=1.0, 单位=板, 单价=10.0 +2025-05-05 19:20:01,517 - app.core.excel.processor - INFO - 解析规格: 1*5 -> 包装数量=5 +2025-05-05 19:20:01,518 - app.core.excel.processor - INFO - 第23行: 提取商品信息 条码=6972118660114, 名称=家丽欣6011一次性胶杯, 规格=, 数量=3.0, 单位=个, 单价=4.5 +2025-05-05 19:20:01,518 - app.core.excel.processor - INFO - 解析规格: 1*48 -> 包装数量=48 +2025-05-05 19:20:01,519 - app.core.excel.processor - INFO - 第24行: 提取商品信息 条码=6956934838605, 名称=83860云蕾双排纸杯50只, 规格=, 数量=3.0, 单位=个, 单价=3.6 +2025-05-05 19:20:01,519 - app.core.excel.processor - INFO - 解析规格: 1×40 -> 包装数量=40 +2025-05-05 19:20:04,680 - app.core.excel.processor - INFO - 提取到 21 个商品信息 +2025-05-05 19:20:04,689 - app.core.excel.processor - INFO - 开始处理21 个产品信息 +2025-05-05 19:20:04,690 - app.core.excel.processor - INFO - 处理商品: 条码=6902088127225, 数量=2.0, 单价=24.0, 是否赠品=False +2025-05-05 19:20:04,690 - app.core.excel.processor - INFO - 发现正常商品:条码6902088127225, 数量=2.0, 单价=24.0 +2025-05-05 19:20:04,690 - app.core.excel.processor - INFO - 处理商品: 条码=6902088310801, 数量=2.0, 单价=24.0, 是否赠品=False +2025-05-05 19:20:04,690 - app.core.excel.processor - INFO - 发现正常商品:条码6902088310801, 数量=2.0, 单价=24.0 +2025-05-05 19:20:04,690 - app.core.excel.processor - INFO - 处理商品: 条码=6902088421200, 数量=2.0, 单价=19.0, 是否赠品=False +2025-05-05 19:20:04,690 - app.core.excel.processor - INFO - 发现正常商品:条码6902088421200, 数量=2.0, 单价=19.0 +2025-05-05 19:20:04,690 - app.core.excel.processor - INFO - 处理商品: 条码=6902022135316, 数量=2.0, 单价=32.5, 是否赠品=False +2025-05-05 19:20:04,690 - app.core.excel.processor - INFO - 发现正常商品:条码6902022135316, 数量=2.0, 单价=32.5 +2025-05-05 19:20:04,691 - app.core.excel.processor - INFO - 处理商品: 条码=6902022138256, 数量=2.0, 单价=12.5, 是否赠品=False +2025-05-05 19:20:04,691 - app.core.excel.processor - INFO - 发现正常商品:条码6902022138256, 数量=2.0, 单价=12.5 +2025-05-05 19:20:04,691 - app.core.excel.processor - INFO - 处理商品: 条码=6970731334498, 数量=2.0, 单价=14.0, 是否赠品=False +2025-05-05 19:20:04,691 - app.core.excel.processor - INFO - 发现正常商品:条码6970731334498, 数量=2.0, 单价=14.0 +2025-05-05 19:20:04,691 - app.core.excel.processor - INFO - 处理商品: 条码=6970731334504, 数量=2.0, 单价=14.0, 是否赠品=False +2025-05-05 19:20:04,691 - app.core.excel.processor - INFO - 发现正常商品:条码6970731334504, 数量=2.0, 单价=14.0 +2025-05-05 19:20:04,691 - app.core.excel.processor - INFO - 处理商品: 条码=6934925983107, 数量=12.0, 单价=6.0, 是否赠品=False +2025-05-05 19:20:04,691 - app.core.excel.processor - INFO - 发现正常商品:条码6934925983107, 数量=12.0, 单价=6.0 +2025-05-05 19:20:04,691 - app.core.excel.processor - INFO - 处理商品: 条码=6942203405654, 数量=12.0, 单价=6.0, 是否赠品=False +2025-05-05 19:20:04,692 - app.core.excel.processor - INFO - 发现正常商品:条码6942203405654, 数量=12.0, 单价=6.0 +2025-05-05 19:20:04,692 - app.core.excel.processor - INFO - 处理商品: 条码=条码, 数量=0, 单价=0, 是否赠品=True +2025-05-05 19:20:04,692 - app.core.excel.processor - INFO - 发现赠品:条码条码, 数量=0 +2025-05-05 19:20:04,692 - app.core.excel.processor - INFO - 处理商品: 条码=6901294179592, 数量=5.0, 单价=11.5, 是否赠品=False +2025-05-05 19:20:04,692 - app.core.excel.processor - INFO - 发现正常商品:条码6901294179592, 数量=5.0, 单价=11.5 +2025-05-05 19:20:04,692 - app.core.excel.processor - INFO - 处理商品: 条码=6901294175341, 数量=3.0, 单价=11.5, 是否赠品=False +2025-05-05 19:20:04,692 - app.core.excel.processor - INFO - 发现正常商品:条码6901294175341, 数量=3.0, 单价=11.5 +2025-05-05 19:20:04,692 - app.core.excel.processor - INFO - 处理商品: 条码=6907861191417, 数量=5.0, 单价=15.18, 是否赠品=False +2025-05-05 19:20:04,692 - app.core.excel.processor - INFO - 发现正常商品:条码6907861191417, 数量=5.0, 单价=15.18 +2025-05-05 19:20:04,692 - app.core.excel.processor - INFO - 处理商品: 条码=6907861191127, 数量=5.0, 单价=22.1, 是否赠品=False +2025-05-05 19:20:04,692 - app.core.excel.processor - INFO - 发现正常商品:条码6907861191127, 数量=5.0, 单价=22.1 +2025-05-05 19:20:04,693 - app.core.excel.processor - INFO - 处理商品: 条码=6907861050196, 数量=5.0, 单价=10.37, 是否赠品=False +2025-05-05 19:20:04,693 - app.core.excel.processor - INFO - 发现正常商品:条码6907861050196, 数量=5.0, 单价=10.37 +2025-05-05 19:20:04,693 - app.core.excel.processor - INFO - 处理商品: 条码=6901826817237, 数量=1.0, 单价=296.0, 是否赠品=False +2025-05-05 19:20:04,693 - app.core.excel.processor - INFO - 发现正常商品:条码6901826817237, 数量=1.0, 单价=296.0 +2025-05-05 19:20:08,081 - app.core.excel.processor - INFO - 处理商品: 条码=6901826888138, 数量=30.0, 单价=3.7333333333333334, 是否赠品=False +2025-05-05 19:20:08,081 - app.core.excel.processor - INFO - 发现正常商品:条码6901826888138, 数量=30.0, 单价=3.7333333333333334 +2025-05-05 19:20:08,081 - app.core.excel.processor - INFO - 处理商品: 条码=6923146100370, 数量=3.0, 单价=15.5, 是否赠品=False +2025-05-05 19:20:08,083 - app.core.excel.processor - INFO - 发现正常商品:条码6923146100370, 数量=3.0, 单价=15.5 +2025-05-05 19:20:08,083 - app.core.excel.processor - INFO - 处理商品: 条码=6973043880493, 数量=1.0, 单价=10.0, 是否赠品=False +2025-05-05 19:20:08,083 - app.core.excel.processor - INFO - 发现正常商品:条码6973043880493, 数量=1.0, 单价=10.0 +2025-05-05 19:20:08,083 - app.core.excel.processor - INFO - 处理商品: 条码=6972118660114, 数量=3.0, 单价=4.5, 是否赠品=False +2025-05-05 19:20:08,083 - app.core.excel.processor - INFO - 发现正常商品:条码6972118660114, 数量=3.0, 单价=4.5 +2025-05-05 19:20:08,083 - app.core.excel.processor - INFO - 处理商品: 条码=6956934838605, 数量=3.0, 单价=3.6, 是否赠品=False +2025-05-05 19:20:08,083 - app.core.excel.processor - INFO - 发现正常商品:条码6956934838605, 数量=3.0, 单价=3.6 +2025-05-05 19:20:08,083 - app.core.excel.processor - INFO - 分组后共21 个不同条码的商品 +2025-05-05 19:20:08,083 - app.core.excel.processor - INFO - 条码 6902088127225 处理结果:正常商品数量2.0,单价24.0,赠品数量0 +2025-05-05 19:20:08,083 - app.core.excel.processor - INFO - 条码 6902088310801 处理结果:正常商品数量2.0,单价24.0,赠品数量0 +2025-05-05 19:20:08,083 - app.core.excel.processor - INFO - 条码 6902088421200 处理结果:正常商品数量2.0,单价19.0,赠品数量0 +2025-05-05 19:20:08,083 - app.core.excel.processor - INFO - 条码 6902022135316 处理结果:正常商品数量2.0,单价32.5,赠品数量0 +2025-05-05 19:20:08,083 - app.core.excel.processor - INFO - 条码 6902022138256 处理结果:正常商品数量2.0,单价12.5,赠品数量0 +2025-05-05 19:20:08,083 - app.core.excel.processor - INFO - 条码 6970731334498 处理结果:正常商品数量2.0,单价14.0,赠品数量0 +2025-05-05 19:20:08,083 - app.core.excel.processor - INFO - 条码 6970731334504 处理结果:正常商品数量2.0,单价14.0,赠品数量0 +2025-05-05 19:20:08,084 - app.core.excel.processor - INFO - 条码 6934925983107 处理结果:正常商品数量12.0,单价6.0,赠品数量0 +2025-05-05 19:20:08,084 - app.core.excel.processor - INFO - 条码 6942203405654 处理结果:正常商品数量12.0,单价6.0,赠品数量0 +2025-05-05 19:20:08,084 - app.core.excel.processor - INFO - 条码 条码 处理结果:只有赠品,数量=0 +2025-05-05 19:20:08,084 - app.core.excel.processor - INFO - 条码 6901294179592 处理结果:正常商品数量5.0,单价11.5,赠品数量0 +2025-05-05 19:20:08,084 - app.core.excel.processor - INFO - 条码 6901294175341 处理结果:正常商品数量3.0,单价11.5,赠品数量0 +2025-05-05 19:20:08,084 - app.core.excel.processor - INFO - 条码 6907861191417 处理结果:正常商品数量5.0,单价15.18,赠品数量0 +2025-05-05 19:20:08,084 - app.core.excel.processor - INFO - 条码 6907861191127 处理结果:正常商品数量5.0,单价22.1,赠品数量0 +2025-05-05 19:20:08,084 - app.core.excel.processor - INFO - 条码 6907861050196 处理结果:正常商品数量5.0,单价10.37,赠品数量0 +2025-05-05 19:20:08,084 - app.core.excel.processor - INFO - 条码 6901826817237 处理结果:正常商品数量1.0,单价296.0,赠品数量0 +2025-05-05 19:20:08,084 - app.core.excel.processor - INFO - 条码 6901826888138 处理结果:正常商品数量30.0,单价3.7333333333333334,赠品数量0 +2025-05-05 19:20:08,084 - app.core.excel.processor - INFO - 条码 6923146100370 处理结果:正常商品数量3.0,单价15.5,赠品数量0 +2025-05-05 19:20:08,084 - app.core.excel.processor - INFO - 条码 6973043880493 处理结果:正常商品数量1.0,单价10.0,赠品数量0 +2025-05-05 19:20:08,084 - app.core.excel.processor - INFO - 条码 6972118660114 处理结果:正常商品数量3.0,单价4.5,赠品数量0 +2025-05-05 19:20:08,084 - app.core.excel.processor - INFO - 条码 6956934838605 处理结果:正常商品数量3.0,单价3.6,赠品数量0 +2025-05-05 19:20:08,085 - app.core.excel.processor - INFO - 条码 条码 填充:仅有赠品,采购量=0,赠品数量=0 +2025-05-05 19:20:08,088 - app.core.excel.processor - INFO - 采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185908.xls +2025-05-05 19:20:09,861 - app.core.excel.processor - INFO - 采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185908.xls +2025-05-05 19:22:18,526 - app.core.excel.processor - INFO - 初始化ExcelProcessor +2025-05-05 19:22:18,527 - app.core.excel.processor - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:22:18,533 - app.core.excel.processor - INFO - 开始处理Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250505185908.xlsx +2025-05-05 19:22:19,563 - app.core.excel.processor - INFO - 成功读取Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250505185908.xlsx, 共 22 行 +2025-05-05 19:22:19,575 - app.core.excel.processor - INFO - 找到可能的表头行: 第1行,评分: 35 +2025-05-05 19:22:19,575 - app.core.excel.processor - INFO - 识别到表头在第 1 行 +2025-05-05 19:22:19,749 - app.core.excel.processor - INFO - 使用表头行重新读取数据,共 21 行有效数据 +2025-05-05 19:22:19,749 - app.core.excel.processor - INFO - 找到精确匹配的条码列: 条码 +2025-05-05 19:22:19,749 - app.core.excel.processor - INFO - 使用条码列: 条码 +2025-05-05 19:22:19,749 - app.core.excel.processor - INFO - 找到name列(部分匹配): 商品全名 +2025-05-05 19:22:19,749 - app.core.excel.processor - INFO - 找到specification列: 规格 +2025-05-05 19:22:19,750 - app.core.excel.processor - INFO - 找到quantity列: 数量 +2025-05-05 19:22:19,750 - app.core.excel.processor - INFO - 找到unit列: 单位 +2025-05-05 19:22:19,750 - app.core.excel.processor - INFO - 找到price列: 单价 +2025-05-05 19:22:19,750 - app.core.excel.processor - INFO - 列名映射结果: {'barcode': '条码', 'name': '商品全名', 'specification': '规格', 'quantity': '数量', 'unit': '单位', 'price': '单价'} +2025-05-05 19:22:19,750 - app.core.excel.processor - INFO - 是否存在规格列: True +2025-05-05 19:22:19,753 - app.core.excel.processor - INFO - 第1行: 提取商品信息 条码=6902088127225, 名称=720g力士沐浴露樱花柔润, 规格=, 数量=2.0, 单位=瓶, 单价=24.0 +2025-05-05 19:22:19,755 - app.core.excel.processor - INFO - 解析规格: 1*12 -> 包装数量=12 +2025-05-05 19:22:19,765 - app.core.excel.processor - INFO - 第2行: 提取商品信息 条码=6902088310801, 名称=720g力士沐浴露幽莲魅肤, 规格=, 数量=2.0, 单位=瓶, 单价=24.0 +2025-05-05 19:22:19,765 - app.core.excel.processor - INFO - 解析规格: 1*12 -> 包装数量=12 +2025-05-05 19:22:19,766 - app.core.excel.processor - INFO - 第3行: 提取商品信息 条码=6902088421200, 名称=400g多芬沐浴露樱花甜香, 规格=, 数量=2.0, 单位=瓶, 单价=19.0 +2025-05-05 19:22:19,769 - app.core.excel.processor - INFO - 解析规格: 1*12 -> 包装数量=12 +2025-05-05 19:22:19,772 - app.core.excel.processor - INFO - 第4行: 提取商品信息 条码=6902022135316, 名称=3kg蓝刀亮深层洁净自然清香, 规格=, 数量=2.0, 单位=瓶, 单价=32.5 +2025-05-05 19:22:19,772 - app.core.excel.processor - INFO - 解析规格: 1*4 -> 包装数量=4 +2025-05-05 19:22:19,773 - app.core.excel.processor - INFO - 第5行: 提取商品信息 条码=6902022138256, 名称=1kg袋装蓝月亮深洁清香, 规格=, 数量=2.0, 单位=袋, 单价=12.5 +2025-05-05 19:22:19,773 - app.core.excel.processor - INFO - 解析规格: 1*12 -> 包装数量=12 +2025-05-05 19:22:19,774 - app.core.excel.processor - INFO - 第6行: 提取商品信息 条码=6970731334498, 名称=L号倍丝柔女士一次性内裤4条装, 规格=, 数量=2.0, 单位=盒, 单价=14.0 +2025-05-05 19:22:19,774 - app.core.excel.processor - INFO - 解析规格: 1*100 -> 包装数量=100 +2025-05-05 19:22:19,777 - app.core.excel.processor - INFO - 第7行: 提取商品信息 条码=6970731334504, 名称=x1倍丝柔女士一次性内裤4条装, 规格=, 数量=2.0, 单位=盒, 单价=14.0 +2025-05-05 19:22:19,777 - app.core.excel.processor - INFO - 解析规格: 1*100 -> 包装数量=100 +2025-05-05 19:22:19,822 - app.core.excel.processor - INFO - 第8行: 提取商品信息 条码=6934925983107, 名称=3706洁丽雅女士新款隐形袜, 规格=, 数量=12.0, 单位=双, 单价=6.0 +2025-05-05 19:22:19,823 - app.core.excel.processor - INFO - 解析规格: 1*12 -> 包装数量=12 +2025-05-05 19:22:19,823 - app.core.excel.processor - INFO - 第9行: 提取商品信息 条码=6942203405654, 名称=3040洁丽雅男士新款隐形袜, 规格=, 数量=12.0, 单位=双, 单价=6.0 +2025-05-05 19:22:19,824 - app.core.excel.processor - INFO - 解析规格: 1*12 -> 包装数量=12 +2025-05-05 19:22:19,824 - app.core.excel.processor - INFO - 第10行: 提取商品信息 条码=6901294179592, 名称=80ML六神驱蚊喷雾花露水, 规格=, 数量=5.0, 单位=瓶, 单价=11.5 +2025-05-05 19:22:19,824 - app.core.excel.processor - INFO - 解析规格: 1*48 -> 包装数量=48 +2025-05-05 19:22:19,825 - app.core.excel.processor - INFO - 第11行: 提取商品信息 条码=6901294175341, 名称=80ml六神止痒花露水, 规格=, 数量=3.0, 单位=瓶, 单价=11.5 +2025-05-05 19:22:19,825 - app.core.excel.processor - INFO - 解析规格: 1*48 -> 包装数量=48 +2025-05-05 19:22:19,827 - app.core.excel.processor - INFO - 第12行: 提取商品信息 条码=6907861191417, 名称=5155彩虹蚊香液1+1器无味, 规格=, 数量=5.0, 单位=套, 单价=15.18 +2025-05-05 19:22:19,827 - app.core.excel.processor - INFO - 解析规格: 1*40 -> 包装数量=40 +2025-05-05 19:22:19,828 - app.core.excel.processor - INFO - 第13行: 提取商品信息 条码=6907861191127, 名称=5113彩虹双瓶乖乖无味蚊香液, 规格=, 数量=5.0, 单位=套, 单价=22.1 +2025-05-05 19:22:19,828 - app.core.excel.processor - INFO - 解析规格: 1*20 -> 包装数量=20 +2025-05-05 19:22:19,830 - app.core.excel.processor - INFO - 第14行: 提取商品信息 条码=6907861050196, 名称=彩虹单瓶Q5105蚊香液无味36ml, 规格=, 数量=5.0, 单位=瓶, 单价=10.37 +2025-05-05 19:22:19,830 - app.core.excel.processor - INFO - 解析规格: 1*80 -> 包装数量=80 +2025-05-05 19:22:19,831 - app.core.excel.processor - INFO - 第15行: 提取商品信息 条码=6901826817237, 名称=南孚电池5号5粒装, 规格=, 数量=1.0, 单位=盒, 单价=296.0 +2025-05-05 19:22:19,831 - app.core.excel.processor - INFO - 解析规格: 1*10 -> 包装数量=10 +2025-05-05 19:22:19,832 - app.core.excel.processor - INFO - 第16行: 提取商品信息 条码=6901826888138, 名称=南孚5号电池两粒装, 规格=, 数量=1.0, 单位=盒, 单价=112.0 +2025-05-05 19:22:19,833 - app.core.excel.processor - INFO - 解析规格: 1*60 -> 包装数量=60 +2025-05-05 19:22:22,721 - app.core.excel.processor - INFO - 第17行: 提取商品信息 条码=6923146100370, 名称=杜蕾斯玻尿酸避孕套3只装, 规格=, 数量=3.0, 单位=盒, 单价=15.5 +2025-05-05 19:22:22,721 - app.core.excel.processor - INFO - 解析规格: 1*96 -> 包装数量=96 +2025-05-05 19:22:22,723 - app.core.excel.processor - INFO - 第18行: 提取商品信息 条码=6973043880493, 名称=南孚纽扣电池CR2032, 规格=, 数量=1.0, 单位=板, 单价=10.0 +2025-05-05 19:22:22,723 - app.core.excel.processor - INFO - 解析规格: 1*5 -> 包装数量=5 +2025-05-05 19:22:22,723 - app.core.excel.processor - INFO - 第19行: 提取商品信息 条码=6972118660114, 名称=家丽欣6011一次性胶杯, 规格=, 数量=3.0, 单位=个, 单价=4.5 +2025-05-05 19:22:22,723 - app.core.excel.processor - INFO - 解析规格: 1*48 -> 包装数量=48 +2025-05-05 19:22:22,724 - app.core.excel.processor - INFO - 第20行: 提取商品信息 条码=6956934838605, 名称=83860云蕾双排纸杯50只, 规格=, 数量=3.0, 单位=个, 单价=3.6 +2025-05-05 19:22:22,724 - app.core.excel.processor - INFO - 解析规格: 1×40 -> 包装数量=40 +2025-05-05 19:22:22,724 - app.core.excel.processor - INFO - 提取到 20 个商品信息 +2025-05-05 19:22:22,734 - app.core.excel.processor - INFO - 开始处理20 个产品信息 +2025-05-05 19:22:22,735 - app.core.excel.processor - INFO - 处理商品: 条码=6902088127225, 数量=2.0, 单价=24.0, 是否赠品=False +2025-05-05 19:22:22,735 - app.core.excel.processor - INFO - 发现正常商品:条码6902088127225, 数量=2.0, 单价=24.0 +2025-05-05 19:22:22,735 - app.core.excel.processor - INFO - 处理商品: 条码=6902088310801, 数量=2.0, 单价=24.0, 是否赠品=False +2025-05-05 19:22:22,735 - app.core.excel.processor - INFO - 发现正常商品:条码6902088310801, 数量=2.0, 单价=24.0 +2025-05-05 19:22:22,735 - app.core.excel.processor - INFO - 处理商品: 条码=6902088421200, 数量=2.0, 单价=19.0, 是否赠品=False +2025-05-05 19:22:22,735 - app.core.excel.processor - INFO - 发现正常商品:条码6902088421200, 数量=2.0, 单价=19.0 +2025-05-05 19:22:22,735 - app.core.excel.processor - INFO - 处理商品: 条码=6902022135316, 数量=2.0, 单价=32.5, 是否赠品=False +2025-05-05 19:22:22,735 - app.core.excel.processor - INFO - 发现正常商品:条码6902022135316, 数量=2.0, 单价=32.5 +2025-05-05 19:22:22,735 - app.core.excel.processor - INFO - 处理商品: 条码=6902022138256, 数量=2.0, 单价=12.5, 是否赠品=False +2025-05-05 19:22:22,735 - app.core.excel.processor - INFO - 发现正常商品:条码6902022138256, 数量=2.0, 单价=12.5 +2025-05-05 19:22:22,735 - app.core.excel.processor - INFO - 处理商品: 条码=6970731334498, 数量=2.0, 单价=14.0, 是否赠品=False +2025-05-05 19:22:22,735 - app.core.excel.processor - INFO - 发现正常商品:条码6970731334498, 数量=2.0, 单价=14.0 +2025-05-05 19:22:22,735 - app.core.excel.processor - INFO - 处理商品: 条码=6970731334504, 数量=2.0, 单价=14.0, 是否赠品=False +2025-05-05 19:22:22,735 - app.core.excel.processor - INFO - 发现正常商品:条码6970731334504, 数量=2.0, 单价=14.0 +2025-05-05 19:22:22,735 - app.core.excel.processor - INFO - 处理商品: 条码=6934925983107, 数量=12.0, 单价=6.0, 是否赠品=False +2025-05-05 19:22:25,771 - app.core.excel.processor - INFO - 发现正常商品:条码6934925983107, 数量=12.0, 单价=6.0 +2025-05-05 19:22:25,772 - app.core.excel.processor - INFO - 处理商品: 条码=6942203405654, 数量=12.0, 单价=6.0, 是否赠品=False +2025-05-05 19:22:25,772 - app.core.excel.processor - INFO - 发现正常商品:条码6942203405654, 数量=12.0, 单价=6.0 +2025-05-05 19:22:25,772 - app.core.excel.processor - INFO - 处理商品: 条码=6901294179592, 数量=5.0, 单价=11.5, 是否赠品=False +2025-05-05 19:22:25,772 - app.core.excel.processor - INFO - 发现正常商品:条码6901294179592, 数量=5.0, 单价=11.5 +2025-05-05 19:22:25,772 - app.core.excel.processor - INFO - 处理商品: 条码=6901294175341, 数量=3.0, 单价=11.5, 是否赠品=False +2025-05-05 19:22:25,772 - app.core.excel.processor - INFO - 发现正常商品:条码6901294175341, 数量=3.0, 单价=11.5 +2025-05-05 19:22:25,772 - app.core.excel.processor - INFO - 处理商品: 条码=6907861191417, 数量=5.0, 单价=15.18, 是否赠品=False +2025-05-05 19:22:25,772 - app.core.excel.processor - INFO - 发现正常商品:条码6907861191417, 数量=5.0, 单价=15.18 +2025-05-05 19:22:25,773 - app.core.excel.processor - INFO - 处理商品: 条码=6907861191127, 数量=5.0, 单价=22.1, 是否赠品=False +2025-05-05 19:22:25,773 - app.core.excel.processor - INFO - 发现正常商品:条码6907861191127, 数量=5.0, 单价=22.1 +2025-05-05 19:22:25,773 - app.core.excel.processor - INFO - 处理商品: 条码=6907861050196, 数量=5.0, 单价=10.37, 是否赠品=False +2025-05-05 19:22:25,773 - app.core.excel.processor - INFO - 发现正常商品:条码6907861050196, 数量=5.0, 单价=10.37 +2025-05-05 19:22:25,773 - app.core.excel.processor - INFO - 处理商品: 条码=6901826817237, 数量=1.0, 单价=296.0, 是否赠品=False +2025-05-05 19:22:25,773 - app.core.excel.processor - INFO - 发现正常商品:条码6901826817237, 数量=1.0, 单价=296.0 +2025-05-05 19:22:25,773 - app.core.excel.processor - INFO - 处理商品: 条码=6901826888138, 数量=30.0, 单价=3.7333333333333334, 是否赠品=False +2025-05-05 19:22:25,773 - app.core.excel.processor - INFO - 发现正常商品:条码6901826888138, 数量=30.0, 单价=3.7333333333333334 +2025-05-05 19:22:25,773 - app.core.excel.processor - INFO - 处理商品: 条码=6923146100370, 数量=3.0, 单价=15.5, 是否赠品=False +2025-05-05 19:22:25,773 - app.core.excel.processor - INFO - 发现正常商品:条码6923146100370, 数量=3.0, 单价=15.5 +2025-05-05 19:22:25,774 - app.core.excel.processor - INFO - 处理商品: 条码=6973043880493, 数量=1.0, 单价=10.0, 是否赠品=False +2025-05-05 19:22:25,774 - app.core.excel.processor - INFO - 发现正常商品:条码6973043880493, 数量=1.0, 单价=10.0 +2025-05-05 19:22:25,774 - app.core.excel.processor - INFO - 处理商品: 条码=6972118660114, 数量=3.0, 单价=4.5, 是否赠品=False +2025-05-05 19:22:25,774 - app.core.excel.processor - INFO - 发现正常商品:条码6972118660114, 数量=3.0, 单价=4.5 +2025-05-05 19:22:25,774 - app.core.excel.processor - INFO - 处理商品: 条码=6956934838605, 数量=3.0, 单价=3.6, 是否赠品=False +2025-05-05 19:22:25,774 - app.core.excel.processor - INFO - 发现正常商品:条码6956934838605, 数量=3.0, 单价=3.6 +2025-05-05 19:22:25,774 - app.core.excel.processor - INFO - 分组后共20 个不同条码的商品 +2025-05-05 19:22:25,774 - app.core.excel.processor - INFO - 条码 6902088127225 处理结果:正常商品数量2.0,单价24.0,赠品数量0 +2025-05-05 19:22:25,774 - app.core.excel.processor - INFO - 条码 6902088310801 处理结果:正常商品数量2.0,单价24.0,赠品数量0 +2025-05-05 19:22:25,775 - app.core.excel.processor - INFO - 条码 6902088421200 处理结果:正常商品数量2.0,单价19.0,赠品数量0 +2025-05-05 19:22:25,775 - app.core.excel.processor - INFO - 条码 6902022135316 处理结果:正常商品数量2.0,单价32.5,赠品数量0 +2025-05-05 19:22:25,775 - app.core.excel.processor - INFO - 条码 6902022138256 处理结果:正常商品数量2.0,单价12.5,赠品数量0 +2025-05-05 19:22:25,775 - app.core.excel.processor - INFO - 条码 6970731334498 处理结果:正常商品数量2.0,单价14.0,赠品数量0 +2025-05-05 19:22:25,775 - app.core.excel.processor - INFO - 条码 6970731334504 处理结果:正常商品数量2.0,单价14.0,赠品数量0 +2025-05-05 19:22:25,775 - app.core.excel.processor - INFO - 条码 6934925983107 处理结果:正常商品数量12.0,单价6.0,赠品数量0 +2025-05-05 19:22:28,604 - app.core.excel.processor - INFO - 条码 6942203405654 处理结果:正常商品数量12.0,单价6.0,赠品数量0 +2025-05-05 19:22:28,604 - app.core.excel.processor - INFO - 条码 6901294179592 处理结果:正常商品数量5.0,单价11.5,赠品数量0 +2025-05-05 19:22:28,604 - app.core.excel.processor - INFO - 条码 6901294175341 处理结果:正常商品数量3.0,单价11.5,赠品数量0 +2025-05-05 19:22:28,604 - app.core.excel.processor - INFO - 条码 6907861191417 处理结果:正常商品数量5.0,单价15.18,赠品数量0 +2025-05-05 19:22:28,604 - app.core.excel.processor - INFO - 条码 6907861191127 处理结果:正常商品数量5.0,单价22.1,赠品数量0 +2025-05-05 19:22:28,604 - app.core.excel.processor - INFO - 条码 6907861050196 处理结果:正常商品数量5.0,单价10.37,赠品数量0 +2025-05-05 19:22:28,604 - app.core.excel.processor - INFO - 条码 6901826817237 处理结果:正常商品数量1.0,单价296.0,赠品数量0 +2025-05-05 19:22:28,604 - app.core.excel.processor - INFO - 条码 6901826888138 处理结果:正常商品数量30.0,单价3.7333333333333334,赠品数量0 +2025-05-05 19:22:28,604 - app.core.excel.processor - INFO - 条码 6923146100370 处理结果:正常商品数量3.0,单价15.5,赠品数量0 +2025-05-05 19:22:28,604 - app.core.excel.processor - INFO - 条码 6973043880493 处理结果:正常商品数量1.0,单价10.0,赠品数量0 +2025-05-05 19:22:28,604 - app.core.excel.processor - INFO - 条码 6972118660114 处理结果:正常商品数量3.0,单价4.5,赠品数量0 +2025-05-05 19:22:28,605 - app.core.excel.processor - INFO - 条码 6956934838605 处理结果:正常商品数量3.0,单价3.6,赠品数量0 +2025-05-05 19:22:28,609 - app.core.excel.processor - INFO - 采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185908.xls +2025-05-05 19:22:28,611 - app.core.excel.processor - INFO - 采购单已保存到: D:\My Documents\python\orc-order-v2\data\output\采购单_微信图片_20250505185908.xls +2025-05-05 19:22:37,218 - app.core.excel.processor - INFO - 初始化ExcelProcessor +2025-05-05 19:22:37,219 - app.core.excel.processor - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:28:36,765 - app.core.excel.processor - INFO - 初始化ExcelProcessor +2025-05-05 19:28:36,766 - app.core.excel.processor - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:29:16,906 - app.core.excel.processor - INFO - 初始化ExcelProcessor +2025-05-05 19:29:16,908 - app.core.excel.processor - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:30:06,153 - app.core.excel.processor - INFO - 初始化ExcelProcessor +2025-05-05 19:30:06,154 - app.core.excel.processor - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls +2025-05-05 19:30:28,306 - app.core.excel.processor - INFO - 初始化ExcelProcessor +2025-05-05 19:30:28,307 - app.core.excel.processor - INFO - 初始化完成,模板文件: templates\银豹-采购单模板.xls diff --git a/logs/app.core.ocr.baidu_ocr.log b/logs/app.core.ocr.baidu_ocr.log index 1976ee7..d6b5d0a 100644 --- a/logs/app.core.ocr.baidu_ocr.log +++ b/logs/app.core.ocr.baidu_ocr.log @@ -45,3 +45,10 @@ 2025-05-02 22:26:49,226 - app.core.ocr.baidu_ocr - ERROR - 无法获取访问令牌,无法进行表格识别 2025-05-02 22:29:11,192 - app.core.ocr.baidu_ocr - INFO - 成功获取访问令牌 2025-05-02 22:40:41,390 - app.core.ocr.baidu_ocr - INFO - 成功获取访问令牌 +2025-05-03 12:54:57,596 - app.core.ocr.baidu_ocr - INFO - 成功获取访问令牌 +2025-05-03 14:44:17,623 - app.core.ocr.baidu_ocr - INFO - 成功获取访问令牌 +2025-05-03 14:45:44,807 - app.core.ocr.baidu_ocr - INFO - 成功获取访问令牌 +2025-05-03 14:53:52,624 - app.core.ocr.baidu_ocr - INFO - 成功获取访问令牌 +2025-05-05 18:55:02,724 - app.core.ocr.baidu_ocr - INFO - 成功获取访问令牌 +2025-05-05 18:59:18,198 - app.core.ocr.baidu_ocr - INFO - 成功获取访问令牌 +2025-05-05 18:59:18,237 - app.core.ocr.baidu_ocr - INFO - 成功获取访问令牌 diff --git a/logs/app.core.ocr.table_ocr.log b/logs/app.core.ocr.table_ocr.log index fec7ae5..ad9063f 100644 --- a/logs/app.core.ocr.table_ocr.log +++ b/logs/app.core.ocr.table_ocr.log @@ -311,3 +311,121 @@ 2025-05-02 22:40:43,841 - app.core.ocr.table_ocr - INFO - 图片处理成功: D:\My Documents\python\orc-order-v2\data\input\微信图片_20250502214456.jpg, 输出文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250502214456.xlsx 2025-05-02 22:40:43,845 - app.core.ocr.table_ocr - INFO - 批次处理完成, 成功: 1/1 2025-05-02 22:40:43,845 - app.core.ocr.table_ocr - INFO - 所有图片处理完成, 总计: 1, 成功: 1 +2025-05-03 12:54:57,229 - app.core.ocr.table_ocr - INFO - 使用输入目录: D:\My Documents\python\orc-order-v2\data\input +2025-05-03 12:54:57,230 - app.core.ocr.table_ocr - INFO - 使用输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-03 12:54:57,230 - app.core.ocr.table_ocr - INFO - 使用临时目录: D:\My Documents\python\orc-order-v2\data\temp +2025-05-03 12:54:57,231 - app.core.ocr.table_ocr - INFO - OCR处理器初始化完成,输入目录: D:\My Documents\python\orc-order-v2\data\input, 输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-03 12:54:57,236 - app.core.ocr.table_ocr - INFO - 找到 1 个图片文件,其中 1 个未处理 +2025-05-03 12:54:57,237 - app.core.ocr.table_ocr - INFO - 处理批次 1/1, 大小: 1 +2025-05-03 12:54:57,239 - app.core.ocr.table_ocr - INFO - 开始处理图片: D:\My Documents\python\orc-order-v2\data\input\微信图片_20250502214456.jpg +2025-05-03 12:55:00,226 - app.core.ocr.table_ocr - INFO - 图片处理成功: D:\My Documents\python\orc-order-v2\data\input\微信图片_20250502214456.jpg, 输出文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250502214456.xlsx +2025-05-03 12:55:00,228 - app.core.ocr.table_ocr - INFO - 批次处理完成, 成功: 1/1 +2025-05-03 12:55:00,228 - app.core.ocr.table_ocr - INFO - 所有图片处理完成, 总计: 1, 成功: 1 +2025-05-03 14:44:17,316 - app.core.ocr.table_ocr - INFO - 使用输入目录: D:\My Documents\python\orc-order-v2\data\input +2025-05-03 14:44:17,316 - app.core.ocr.table_ocr - INFO - 使用输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-03 14:44:17,317 - app.core.ocr.table_ocr - INFO - 使用临时目录: D:\My Documents\python\orc-order-v2\data\temp +2025-05-03 14:44:17,317 - app.core.ocr.table_ocr - INFO - OCR处理器初始化完成,输入目录: D:\My Documents\python\orc-order-v2\data\input, 输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-03 14:44:17,320 - app.core.ocr.table_ocr - INFO - 找到 2 个图片文件,其中 1 个未处理 +2025-05-03 14:44:17,321 - app.core.ocr.table_ocr - INFO - 处理批次 1/1, 大小: 1 +2025-05-03 14:44:17,323 - app.core.ocr.table_ocr - INFO - 开始处理图片: D:\My Documents\python\orc-order-v2\data\input\微信图片_20250503144404.jpg +2025-05-03 14:44:19,906 - app.core.ocr.table_ocr - INFO - 图片处理成功: D:\My Documents\python\orc-order-v2\data\input\微信图片_20250503144404.jpg, 输出文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250503144404.xlsx +2025-05-03 14:44:19,914 - app.core.ocr.table_ocr - INFO - 批次处理完成, 成功: 1/1 +2025-05-03 14:44:19,916 - app.core.ocr.table_ocr - INFO - 所有图片处理完成, 总计: 1, 成功: 1 +2025-05-03 14:45:44,518 - app.core.ocr.table_ocr - INFO - 使用输入目录: D:\My Documents\python\orc-order-v2\data\input +2025-05-03 14:45:44,519 - app.core.ocr.table_ocr - INFO - 使用输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-03 14:45:44,519 - app.core.ocr.table_ocr - INFO - 使用临时目录: D:\My Documents\python\orc-order-v2\data\temp +2025-05-03 14:45:44,520 - app.core.ocr.table_ocr - INFO - OCR处理器初始化完成,输入目录: D:\My Documents\python\orc-order-v2\data\input, 输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-03 14:45:44,523 - app.core.ocr.table_ocr - INFO - 找到 1 个图片文件,其中 1 个未处理 +2025-05-03 14:45:44,523 - app.core.ocr.table_ocr - INFO - 处理批次 1/1, 大小: 1 +2025-05-03 14:45:44,525 - app.core.ocr.table_ocr - INFO - 开始处理图片: D:\My Documents\python\orc-order-v2\data\input\微信图片_20250503144404.jpg +2025-05-03 14:45:47,099 - app.core.ocr.table_ocr - INFO - 图片处理成功: D:\My Documents\python\orc-order-v2\data\input\微信图片_20250503144404.jpg, 输出文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250503144404.xlsx +2025-05-03 14:45:47,100 - app.core.ocr.table_ocr - INFO - 批次处理完成, 成功: 1/1 +2025-05-03 14:45:47,101 - app.core.ocr.table_ocr - INFO - 所有图片处理完成, 总计: 1, 成功: 1 +2025-05-03 14:45:58,805 - app.core.ocr.table_ocr - INFO - 使用输入目录: D:\My Documents\python\orc-order-v2\data\input +2025-05-03 14:45:58,805 - app.core.ocr.table_ocr - INFO - 使用输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-03 14:45:58,805 - app.core.ocr.table_ocr - INFO - 使用临时目录: D:\My Documents\python\orc-order-v2\data\temp +2025-05-03 14:45:58,806 - app.core.ocr.table_ocr - INFO - OCR处理器初始化完成,输入目录: D:\My Documents\python\orc-order-v2\data\input, 输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-03 14:53:52,350 - app.core.ocr.table_ocr - INFO - 使用输入目录: D:\My Documents\python\orc-order-v2\data\input +2025-05-03 14:53:52,350 - app.core.ocr.table_ocr - INFO - 使用输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-03 14:53:52,350 - app.core.ocr.table_ocr - INFO - 使用临时目录: D:\My Documents\python\orc-order-v2\data\temp +2025-05-03 14:53:52,351 - app.core.ocr.table_ocr - INFO - OCR处理器初始化完成,输入目录: D:\My Documents\python\orc-order-v2\data\input, 输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-03 14:53:52,354 - app.core.ocr.table_ocr - INFO - 找到 1 个图片文件,其中 1 个未处理 +2025-05-03 14:53:52,354 - app.core.ocr.table_ocr - INFO - 处理批次 1/1, 大小: 1 +2025-05-03 14:53:52,355 - app.core.ocr.table_ocr - INFO - 开始处理图片: D:\My Documents\python\orc-order-v2\data\input\微信图片_20250503145328.jpg +2025-05-03 14:53:54,302 - app.core.ocr.table_ocr - INFO - 图片处理成功: D:\My Documents\python\orc-order-v2\data\input\微信图片_20250503145328.jpg, 输出文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250503145328.xlsx +2025-05-03 14:53:54,304 - app.core.ocr.table_ocr - INFO - 批次处理完成, 成功: 1/1 +2025-05-03 14:53:54,304 - app.core.ocr.table_ocr - INFO - 所有图片处理完成, 总计: 1, 成功: 1 +2025-05-03 15:43:36,730 - app.core.ocr.table_ocr - INFO - 使用输入目录: D:\My Documents\python\orc-order-v2\data\input +2025-05-03 15:43:36,730 - app.core.ocr.table_ocr - INFO - 使用输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-03 15:43:36,730 - app.core.ocr.table_ocr - INFO - 使用临时目录: D:\My Documents\python\orc-order-v2\data\temp +2025-05-03 15:43:36,731 - app.core.ocr.table_ocr - INFO - OCR处理器初始化完成,输入目录: D:\My Documents\python\orc-order-v2\data\input, 输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 18:55:02,297 - app.core.ocr.table_ocr - INFO - 使用输入目录: D:\My Documents\python\orc-order-v2\data\input +2025-05-05 18:55:02,298 - app.core.ocr.table_ocr - INFO - 使用输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 18:55:02,298 - app.core.ocr.table_ocr - INFO - 使用临时目录: D:\My Documents\python\orc-order-v2\data\temp +2025-05-05 18:55:02,298 - app.core.ocr.table_ocr - INFO - OCR处理器初始化完成,输入目录: D:\My Documents\python\orc-order-v2\data\input, 输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 18:55:02,305 - app.core.ocr.table_ocr - INFO - 找到 1 个图片文件,其中 1 个未处理 +2025-05-05 18:55:02,305 - app.core.ocr.table_ocr - INFO - 处理批次 1/1, 大小: 1 +2025-05-05 18:55:02,313 - app.core.ocr.table_ocr - INFO - 开始处理图片: D:\My Documents\python\orc-order-v2\data\input\微信图片_20250505185454.jpg +2025-05-05 18:55:04,006 - app.core.ocr.table_ocr - INFO - 图片处理成功: D:\My Documents\python\orc-order-v2\data\input\微信图片_20250505185454.jpg, 输出文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250505185454.xlsx +2025-05-05 18:55:04,011 - app.core.ocr.table_ocr - INFO - 批次处理完成, 成功: 1/1 +2025-05-05 18:55:04,011 - app.core.ocr.table_ocr - INFO - 所有图片处理完成, 总计: 1, 成功: 1 +2025-05-05 18:59:17,849 - app.core.ocr.table_ocr - INFO - 使用输入目录: D:\My Documents\python\orc-order-v2\data\input +2025-05-05 18:59:17,849 - app.core.ocr.table_ocr - INFO - 使用输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 18:59:17,850 - app.core.ocr.table_ocr - INFO - 使用临时目录: D:\My Documents\python\orc-order-v2\data\temp +2025-05-05 18:59:17,850 - app.core.ocr.table_ocr - INFO - OCR处理器初始化完成,输入目录: D:\My Documents\python\orc-order-v2\data\input, 输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 18:59:17,854 - app.core.ocr.table_ocr - INFO - 找到 2 个图片文件,其中 2 个未处理 +2025-05-05 18:59:17,854 - app.core.ocr.table_ocr - INFO - 处理批次 1/1, 大小: 2 +2025-05-05 18:59:17,856 - app.core.ocr.table_ocr - INFO - 开始处理图片: D:\My Documents\python\orc-order-v2\data\input\微信图片_20250505185842.jpg +2025-05-05 18:59:17,856 - app.core.ocr.table_ocr - INFO - 开始处理图片: D:\My Documents\python\orc-order-v2\data\input\微信图片_20250505185908.jpg +2025-05-05 18:59:21,953 - app.core.ocr.table_ocr - INFO - 图片处理成功: D:\My Documents\python\orc-order-v2\data\input\微信图片_20250505185908.jpg, 输出文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250505185908.xlsx +2025-05-05 18:59:23,220 - app.core.ocr.table_ocr - INFO - 图片处理成功: D:\My Documents\python\orc-order-v2\data\input\微信图片_20250505185842.jpg, 输出文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250505185842.xlsx +2025-05-05 18:59:23,222 - app.core.ocr.table_ocr - INFO - 批次处理完成, 成功: 2/2 +2025-05-05 18:59:23,222 - app.core.ocr.table_ocr - INFO - 所有图片处理完成, 总计: 2, 成功: 2 +2025-05-05 19:00:26,072 - app.core.ocr.table_ocr - INFO - 使用输入目录: D:\My Documents\python\orc-order-v2\data\input +2025-05-05 19:00:26,072 - app.core.ocr.table_ocr - INFO - 使用输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 19:00:26,072 - app.core.ocr.table_ocr - INFO - 使用临时目录: D:\My Documents\python\orc-order-v2\data\temp +2025-05-05 19:00:26,073 - app.core.ocr.table_ocr - INFO - OCR处理器初始化完成,输入目录: D:\My Documents\python\orc-order-v2\data\input, 输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 19:02:32,159 - app.core.ocr.table_ocr - INFO - 使用输入目录: D:\My Documents\python\orc-order-v2\data\input +2025-05-05 19:02:32,160 - app.core.ocr.table_ocr - INFO - 使用输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 19:02:32,160 - app.core.ocr.table_ocr - INFO - 使用临时目录: D:\My Documents\python\orc-order-v2\data\temp +2025-05-05 19:02:32,163 - app.core.ocr.table_ocr - INFO - OCR处理器初始化完成,输入目录: D:\My Documents\python\orc-order-v2\data\input, 输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 19:02:54,871 - app.core.ocr.table_ocr - INFO - 使用输入目录: D:\My Documents\python\orc-order-v2\data\input +2025-05-05 19:02:54,871 - app.core.ocr.table_ocr - INFO - 使用输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 19:02:54,871 - app.core.ocr.table_ocr - INFO - 使用临时目录: D:\My Documents\python\orc-order-v2\data\temp +2025-05-05 19:02:54,871 - app.core.ocr.table_ocr - INFO - OCR处理器初始化完成,输入目录: D:\My Documents\python\orc-order-v2\data\input, 输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 19:15:12,551 - app.core.ocr.table_ocr - INFO - 使用输入目录: D:\My Documents\python\orc-order-v2\data\input +2025-05-05 19:15:12,551 - app.core.ocr.table_ocr - INFO - 使用输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 19:15:12,551 - app.core.ocr.table_ocr - INFO - 使用临时目录: D:\My Documents\python\orc-order-v2\data\temp +2025-05-05 19:15:12,551 - app.core.ocr.table_ocr - INFO - OCR处理器初始化完成,输入目录: D:\My Documents\python\orc-order-v2\data\input, 输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 19:18:54,491 - app.core.ocr.table_ocr - INFO - 使用输入目录: D:\My Documents\python\orc-order-v2\data\input +2025-05-05 19:18:54,493 - app.core.ocr.table_ocr - INFO - 使用输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 19:18:54,495 - app.core.ocr.table_ocr - INFO - 使用临时目录: D:\My Documents\python\orc-order-v2\data\temp +2025-05-05 19:18:54,497 - app.core.ocr.table_ocr - INFO - OCR处理器初始化完成,输入目录: D:\My Documents\python\orc-order-v2\data\input, 输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 19:19:59,311 - app.core.ocr.table_ocr - INFO - 使用输入目录: D:\My Documents\python\orc-order-v2\data\input +2025-05-05 19:19:59,311 - app.core.ocr.table_ocr - INFO - 使用输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 19:19:59,311 - app.core.ocr.table_ocr - INFO - 使用临时目录: D:\My Documents\python\orc-order-v2\data\temp +2025-05-05 19:19:59,312 - app.core.ocr.table_ocr - INFO - OCR处理器初始化完成,输入目录: D:\My Documents\python\orc-order-v2\data\input, 输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 19:22:18,524 - app.core.ocr.table_ocr - INFO - 使用输入目录: D:\My Documents\python\orc-order-v2\data\input +2025-05-05 19:22:18,524 - app.core.ocr.table_ocr - INFO - 使用输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 19:22:18,525 - app.core.ocr.table_ocr - INFO - 使用临时目录: D:\My Documents\python\orc-order-v2\data\temp +2025-05-05 19:22:18,525 - app.core.ocr.table_ocr - INFO - OCR处理器初始化完成,输入目录: D:\My Documents\python\orc-order-v2\data\input, 输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 19:22:37,216 - app.core.ocr.table_ocr - INFO - 使用输入目录: D:\My Documents\python\orc-order-v2\data\input +2025-05-05 19:22:37,217 - app.core.ocr.table_ocr - INFO - 使用输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 19:22:37,217 - app.core.ocr.table_ocr - INFO - 使用临时目录: D:\My Documents\python\orc-order-v2\data\temp +2025-05-05 19:22:37,217 - app.core.ocr.table_ocr - INFO - OCR处理器初始化完成,输入目录: D:\My Documents\python\orc-order-v2\data\input, 输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 19:28:36,763 - app.core.ocr.table_ocr - INFO - 使用输入目录: D:\My Documents\python\orc-order-v2\data\input +2025-05-05 19:28:36,763 - app.core.ocr.table_ocr - INFO - 使用输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 19:28:36,764 - app.core.ocr.table_ocr - INFO - 使用临时目录: D:\My Documents\python\orc-order-v2\data\temp +2025-05-05 19:28:36,764 - app.core.ocr.table_ocr - INFO - OCR处理器初始化完成,输入目录: D:\My Documents\python\orc-order-v2\data\input, 输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 19:29:16,901 - app.core.ocr.table_ocr - INFO - 使用输入目录: D:\My Documents\python\orc-order-v2\data\input +2025-05-05 19:29:16,902 - app.core.ocr.table_ocr - INFO - 使用输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 19:29:16,903 - app.core.ocr.table_ocr - INFO - 使用临时目录: D:\My Documents\python\orc-order-v2\data\temp +2025-05-05 19:29:16,903 - app.core.ocr.table_ocr - INFO - OCR处理器初始化完成,输入目录: D:\My Documents\python\orc-order-v2\data\input, 输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 19:30:06,151 - app.core.ocr.table_ocr - INFO - 使用输入目录: D:\My Documents\python\orc-order-v2\data\input +2025-05-05 19:30:06,152 - app.core.ocr.table_ocr - INFO - 使用输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 19:30:06,152 - app.core.ocr.table_ocr - INFO - 使用临时目录: D:\My Documents\python\orc-order-v2\data\temp +2025-05-05 19:30:06,152 - app.core.ocr.table_ocr - INFO - OCR处理器初始化完成,输入目录: D:\My Documents\python\orc-order-v2\data\input, 输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 19:30:28,305 - app.core.ocr.table_ocr - INFO - 使用输入目录: D:\My Documents\python\orc-order-v2\data\input +2025-05-05 19:30:28,305 - app.core.ocr.table_ocr - INFO - 使用输出目录: D:\My Documents\python\orc-order-v2\data\output +2025-05-05 19:30:28,305 - app.core.ocr.table_ocr - INFO - 使用临时目录: D:\My Documents\python\orc-order-v2\data\temp +2025-05-05 19:30:28,306 - app.core.ocr.table_ocr - INFO - OCR处理器初始化完成,输入目录: D:\My Documents\python\orc-order-v2\data\input, 输出目录: D:\My Documents\python\orc-order-v2\data\output diff --git a/logs/app.services.ocr_service.log b/logs/app.services.ocr_service.log index 2753bb7..68725fd 100644 --- a/logs/app.services.ocr_service.log +++ b/logs/app.services.ocr_service.log @@ -131,3 +131,49 @@ 2025-05-02 22:40:41,142 - app.services.ocr_service - INFO - 初始化OCRService 2025-05-02 22:40:41,144 - app.services.ocr_service - INFO - OCRService初始化完成 2025-05-02 22:40:41,147 - app.services.ocr_service - INFO - OCRService开始批量处理图片, batch_size=None, max_workers=None +2025-05-03 12:54:57,227 - app.services.ocr_service - INFO - 初始化OCRService +2025-05-03 12:54:57,231 - app.services.ocr_service - INFO - OCRService初始化完成 +2025-05-03 12:54:57,236 - app.services.ocr_service - INFO - OCRService开始批量处理图片, batch_size=None, max_workers=None +2025-05-03 14:44:17,313 - app.services.ocr_service - INFO - 初始化OCRService +2025-05-03 14:44:17,318 - app.services.ocr_service - INFO - OCRService初始化完成 +2025-05-03 14:44:17,320 - app.services.ocr_service - INFO - OCRService开始批量处理图片, batch_size=None, max_workers=None +2025-05-03 14:45:44,517 - app.services.ocr_service - INFO - 初始化OCRService +2025-05-03 14:45:44,520 - app.services.ocr_service - INFO - OCRService初始化完成 +2025-05-03 14:45:44,522 - app.services.ocr_service - INFO - OCRService开始批量处理图片, batch_size=None, max_workers=None +2025-05-03 14:45:58,804 - app.services.ocr_service - INFO - 初始化OCRService +2025-05-03 14:45:58,806 - app.services.ocr_service - INFO - OCRService初始化完成 +2025-05-03 14:53:52,349 - app.services.ocr_service - INFO - 初始化OCRService +2025-05-03 14:53:52,351 - app.services.ocr_service - INFO - OCRService初始化完成 +2025-05-03 14:53:52,354 - app.services.ocr_service - INFO - OCRService开始批量处理图片, batch_size=None, max_workers=None +2025-05-03 15:43:36,728 - app.services.ocr_service - INFO - 初始化OCRService +2025-05-03 15:43:36,731 - app.services.ocr_service - INFO - OCRService初始化完成 +2025-05-05 18:55:02,295 - app.services.ocr_service - INFO - 初始化OCRService +2025-05-05 18:55:02,298 - app.services.ocr_service - INFO - OCRService初始化完成 +2025-05-05 18:55:02,304 - app.services.ocr_service - INFO - OCRService开始批量处理图片, batch_size=None, max_workers=None +2025-05-05 18:59:17,848 - app.services.ocr_service - INFO - 初始化OCRService +2025-05-05 18:59:17,850 - app.services.ocr_service - INFO - OCRService初始化完成 +2025-05-05 18:59:17,853 - app.services.ocr_service - INFO - OCRService开始批量处理图片, batch_size=None, max_workers=None +2025-05-05 19:00:26,070 - app.services.ocr_service - INFO - 初始化OCRService +2025-05-05 19:00:26,073 - app.services.ocr_service - INFO - OCRService初始化完成 +2025-05-05 19:02:32,157 - app.services.ocr_service - INFO - 初始化OCRService +2025-05-05 19:02:32,165 - app.services.ocr_service - INFO - OCRService初始化完成 +2025-05-05 19:02:54,869 - app.services.ocr_service - INFO - 初始化OCRService +2025-05-05 19:02:54,871 - app.services.ocr_service - INFO - OCRService初始化完成 +2025-05-05 19:15:12,549 - app.services.ocr_service - INFO - 初始化OCRService +2025-05-05 19:15:12,551 - app.services.ocr_service - INFO - OCRService初始化完成 +2025-05-05 19:18:54,489 - app.services.ocr_service - INFO - 初始化OCRService +2025-05-05 19:18:54,499 - app.services.ocr_service - INFO - OCRService初始化完成 +2025-05-05 19:19:59,311 - app.services.ocr_service - INFO - 初始化OCRService +2025-05-05 19:19:59,312 - app.services.ocr_service - INFO - OCRService初始化完成 +2025-05-05 19:22:18,523 - app.services.ocr_service - INFO - 初始化OCRService +2025-05-05 19:22:18,525 - app.services.ocr_service - INFO - OCRService初始化完成 +2025-05-05 19:22:37,215 - app.services.ocr_service - INFO - 初始化OCRService +2025-05-05 19:22:37,218 - app.services.ocr_service - INFO - OCRService初始化完成 +2025-05-05 19:28:36,762 - app.services.ocr_service - INFO - 初始化OCRService +2025-05-05 19:28:36,765 - app.services.ocr_service - INFO - OCRService初始化完成 +2025-05-05 19:29:16,899 - app.services.ocr_service - INFO - 初始化OCRService +2025-05-05 19:29:16,904 - app.services.ocr_service - INFO - OCRService初始化完成 +2025-05-05 19:30:06,149 - app.services.ocr_service - INFO - 初始化OCRService +2025-05-05 19:30:06,152 - app.services.ocr_service - INFO - OCRService初始化完成 +2025-05-05 19:30:28,304 - app.services.ocr_service - INFO - 初始化OCRService +2025-05-05 19:30:28,306 - app.services.ocr_service - INFO - OCRService初始化完成 diff --git a/logs/app.services.order_service.log b/logs/app.services.order_service.log index 785474b..9a4908d 100644 --- a/logs/app.services.order_service.log +++ b/logs/app.services.order_service.log @@ -140,3 +140,62 @@ 2025-05-02 22:40:41,144 - app.services.order_service - INFO - 初始化OrderService 2025-05-02 22:40:41,147 - app.services.order_service - INFO - OrderService初始化完成 2025-05-02 22:40:43,849 - app.services.order_service - INFO - OrderService开始处理指定Excel文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250502214456.xlsx +2025-05-03 12:54:57,231 - app.services.order_service - INFO - 初始化OrderService +2025-05-03 12:54:57,235 - app.services.order_service - INFO - OrderService初始化完成 +2025-05-03 12:55:00,229 - app.services.order_service - INFO - OrderService开始处理指定Excel文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250502214456.xlsx +2025-05-03 14:44:17,318 - app.services.order_service - INFO - 初始化OrderService +2025-05-03 14:44:17,319 - app.services.order_service - INFO - OrderService初始化完成 +2025-05-03 14:44:19,922 - app.services.order_service - INFO - OrderService开始处理指定Excel文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250503144404.xlsx +2025-05-03 14:44:26,126 - app.services.order_service - INFO - OrderService开始合并所有采购单 +2025-05-03 14:45:44,520 - app.services.order_service - INFO - 初始化OrderService +2025-05-03 14:45:44,522 - app.services.order_service - INFO - OrderService初始化完成 +2025-05-03 14:45:58,806 - app.services.order_service - INFO - 初始化OrderService +2025-05-03 14:45:58,809 - app.services.order_service - INFO - OrderService初始化完成 +2025-05-03 14:45:58,809 - app.services.order_service - INFO - OrderService开始处理指定Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250503144404.xlsx +2025-05-03 14:53:52,351 - app.services.order_service - INFO - 初始化OrderService +2025-05-03 14:53:52,353 - app.services.order_service - INFO - OrderService初始化完成 +2025-05-03 14:53:54,305 - app.services.order_service - INFO - OrderService开始处理指定Excel文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250503145328.xlsx +2025-05-03 15:43:36,731 - app.services.order_service - INFO - 初始化OrderService +2025-05-03 15:43:36,733 - app.services.order_service - INFO - OrderService初始化完成 +2025-05-03 15:43:36,733 - app.services.order_service - INFO - OrderService开始处理指定Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250503145328.xlsx +2025-05-05 18:55:02,299 - app.services.order_service - INFO - 初始化OrderService +2025-05-05 18:55:02,303 - app.services.order_service - INFO - OrderService初始化完成 +2025-05-05 18:55:04,016 - app.services.order_service - INFO - OrderService开始处理指定Excel文件: D:\My Documents\python\orc-order-v2\data\output\微信图片_20250505185454.xlsx +2025-05-05 18:59:17,850 - app.services.order_service - INFO - 初始化OrderService +2025-05-05 18:59:17,853 - app.services.order_service - INFO - OrderService初始化完成 +2025-05-05 19:00:26,073 - app.services.order_service - INFO - 初始化OrderService +2025-05-05 19:00:26,075 - app.services.order_service - INFO - OrderService初始化完成 +2025-05-05 19:00:26,076 - app.services.order_service - INFO - OrderService开始处理指定Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250505185842.xlsx +2025-05-05 19:02:32,165 - app.services.order_service - INFO - 初始化OrderService +2025-05-05 19:02:32,169 - app.services.order_service - INFO - OrderService初始化完成 +2025-05-05 19:02:32,169 - app.services.order_service - INFO - OrderService开始处理指定Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250505185908.xlsx +2025-05-05 19:02:54,871 - app.services.order_service - INFO - 初始化OrderService +2025-05-05 19:02:54,874 - app.services.order_service - INFO - OrderService初始化完成 +2025-05-05 19:02:54,875 - app.services.order_service - INFO - OrderService开始合并所有采购单 +2025-05-05 19:15:12,551 - app.services.order_service - INFO - 初始化OrderService +2025-05-05 19:15:12,554 - app.services.order_service - INFO - OrderService初始化完成 +2025-05-05 19:15:12,554 - app.services.order_service - INFO - OrderService开始处理指定Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250505185908.xlsx +2025-05-05 19:18:54,500 - app.services.order_service - INFO - 初始化OrderService +2025-05-05 19:18:54,536 - app.services.order_service - INFO - OrderService初始化完成 +2025-05-05 19:18:54,546 - app.services.order_service - INFO - OrderService开始合并所有采购单 +2025-05-05 19:19:59,313 - app.services.order_service - INFO - 初始化OrderService +2025-05-05 19:19:59,314 - app.services.order_service - INFO - OrderService初始化完成 +2025-05-05 19:19:59,315 - app.services.order_service - INFO - OrderService开始处理指定Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250505185908.xlsx +2025-05-05 19:22:18,525 - app.services.order_service - INFO - 初始化OrderService +2025-05-05 19:22:18,532 - app.services.order_service - INFO - OrderService初始化完成 +2025-05-05 19:22:18,533 - app.services.order_service - INFO - OrderService开始处理指定Excel文件: D:/My Documents/python/orc-order-v2/data/output/微信图片_20250505185908.xlsx +2025-05-05 19:22:37,218 - app.services.order_service - INFO - 初始化OrderService +2025-05-05 19:22:37,221 - app.services.order_service - INFO - OrderService初始化完成 +2025-05-05 19:22:37,227 - app.services.order_service - INFO - OrderService开始合并所有采购单 +2025-05-05 19:28:36,765 - app.services.order_service - INFO - 初始化OrderService +2025-05-05 19:28:36,768 - app.services.order_service - INFO - OrderService初始化完成 +2025-05-05 19:28:36,770 - app.services.order_service - INFO - OrderService开始合并所有采购单 +2025-05-05 19:29:16,905 - app.services.order_service - INFO - 初始化OrderService +2025-05-05 19:29:16,912 - app.services.order_service - INFO - OrderService初始化完成 +2025-05-05 19:29:16,918 - app.services.order_service - INFO - OrderService开始合并所有采购单 +2025-05-05 19:30:06,152 - app.services.order_service - INFO - 初始化OrderService +2025-05-05 19:30:06,155 - app.services.order_service - INFO - OrderService初始化完成 +2025-05-05 19:30:06,156 - app.services.order_service - INFO - OrderService开始合并所有采购单 +2025-05-05 19:30:28,306 - app.services.order_service - INFO - 初始化OrderService +2025-05-05 19:30:28,308 - app.services.order_service - INFO - OrderService初始化完成 +2025-05-05 19:30:28,309 - app.services.order_service - INFO - OrderService开始合并所有采购单