refactor: remove Excel migration pipeline; keep Access-only sync
Drop the Excel (.xlsm) production-execution-card pipeline now that the project only synchronizes Access databases to SQL Server. - Delete excel_sync_to_sql.py, migration.py, config/field_mappings.py - Remove Excel-only config symbols (EXCEL_CONFIGS, MIGRATION_TASKS, EXECUTION_CARD_FIELDS, CONTRACT_DATA_*, CACHE_DIR, TEMP_DIR, EXCEL_SYNC_* settings) from the config package - Drop now-unused deps from requirements.txt: pandas, sqlalchemy, openpyxl - Update .env.example, CLAUDE.md, and the uptime_kuma_utils docstring - Fix the tube-bending workshop Access table mapping in SYNC_MAPPING (source table renamed; old name no longer exists) The three Excel-sourced tables in warehouseOutbound (executionCardData, contractData, customerProductType) and their data are left untouched. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -36,96 +36,6 @@ UPTIME_KUMA_CONFIG = {
|
||||
'heartbeat_interval': 59 # 心跳间隔(秒),需要与 Uptime Kuma 设置一致
|
||||
}
|
||||
|
||||
# Excel 同步服务心跳
|
||||
EXCEL_SYNC_UPTIME_KUMA_CONFIG = {
|
||||
'enabled': True,
|
||||
'push_url': os.environ.get('EXCEL_SYNC_UPTIME_KUMA_PUSH_URL', ''),
|
||||
'heartbeat_interval': 59 # 心跳间隔(秒),需要与 Uptime Kuma 设置一致
|
||||
}
|
||||
|
||||
# ================= 运行参数 =================
|
||||
# 合并原 config.py 和 update_config.py 的配置
|
||||
POLL_INTERVAL = 30 # 轮询间隔(秒)
|
||||
EXCEL_SYNC_INTERVAL = 600 # Excel 同步周期(秒),默认 10 分钟
|
||||
BATCH_SIZE = 10000 # 批量处理大小
|
||||
CACHE_DIR = os.path.join(os.getcwd(), "temp") # Excel 缓存目录
|
||||
TEMP_DIR = os.path.join(os.getcwd(), "temp") # 临时目录(兼容 migration.py)
|
||||
|
||||
# ================= 字段配置 =================
|
||||
# 从原 update_config.py (sync_excel_to_sql.py) 抽取
|
||||
EXECUTION_CARD_FIELDS = {
|
||||
"合同年份": ("str", 10),
|
||||
"总排号": ("str", 50),
|
||||
"序号": ("int", None),
|
||||
"订单号": ("str", 150),
|
||||
"车间号": ("str", 20),
|
||||
"销售内部号": ("str", 50),
|
||||
"经办人": ("str", 20),
|
||||
"签订日期": ("date", None),
|
||||
"交货日期": ("date", None),
|
||||
"客户名称": ("str", 200),
|
||||
"产品名称": ("str", 200),
|
||||
"客户型号": ("str", 200),
|
||||
"选型型号": ("str", 200),
|
||||
"量程": ("str", 150),
|
||||
"数量": ("int", None),
|
||||
"备注2": ("str", 500),
|
||||
"备注1": ("str", 500),
|
||||
"位号": ("str", 500),
|
||||
"技术参数": ("str", 1000),
|
||||
"车间": ("str", 200),
|
||||
"工令号": ("str", 200),
|
||||
"接单日期": ("date", None),
|
||||
"新参数": ("str", 1000),
|
||||
"基本型号": ("str", 200),
|
||||
"公称外径": ("str", 200),
|
||||
"安装代码": ("str", 200),
|
||||
"设计形式": ("str", 200),
|
||||
"技术安装代码": ("str", 200),
|
||||
"隔膜类型": ("str", 200),
|
||||
"标准": ("str", 100),
|
||||
"隔膜大小": ("str", 200),
|
||||
"隔膜材质": ("str", 200),
|
||||
"膜片": ("str", 200),
|
||||
"膜片材质": ("str", 200),
|
||||
"CRM明细ID号": ("str", 200),
|
||||
"成品物料编码": ("str", 200),
|
||||
"工单号": ("str", 200),
|
||||
"盘号": ("str", 200),
|
||||
"编码": ("str", 200),
|
||||
"型批名称": ("str", 200),
|
||||
"型批型号": ("str", 200),
|
||||
"开票名称": ("str", 200),
|
||||
"开票型号": ("str", 200),
|
||||
"上数据时间": ("date", None),
|
||||
"生产代码1": ("str", 50),
|
||||
"生产代码2": ("str", 50)
|
||||
}
|
||||
|
||||
CONTRACT_DATA_FIELDS = {
|
||||
"合同年份": ("str", 10),
|
||||
"车间号": ("str", 20),
|
||||
"工令号": ("str", 200),
|
||||
"订单号": ("str", 150),
|
||||
"客户名称": ("str", 200),
|
||||
"产品型号": ("str", 200),
|
||||
"量程": ("str", 150),
|
||||
"数量": ("int", None),
|
||||
"单价": ("int", None),
|
||||
"ID": ("int", None),
|
||||
"位号": ("str", 500)
|
||||
}
|
||||
|
||||
CONTRACT_DATA_MAPPING = {
|
||||
"合同年份": "合同年份",
|
||||
"车间号": "车间号",
|
||||
"工令号": "工令号",
|
||||
"订单号": "订单号",
|
||||
"客户名称": "客户名称",
|
||||
"产品型号": "选型型号",
|
||||
"量程": "量程",
|
||||
"数量": "数量",
|
||||
"单价": None,
|
||||
"ID": None,
|
||||
"位号": "位号"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user