Refactor configuration management and remove deprecated files

- Consolidated database, file source, and field mapping configurations into dedicated modules under the `config` directory.
- Removed hardcoded database connection details from `migration.py` and replaced them with imports from the new configuration structure.
- Updated `ntfy_utils.py` and `run_incremental_sync.py` to utilize the new configuration imports for cleaner code and better maintainability.
- Deleted `update_config.py` as its contents have been integrated into the new configuration files.
- Added a new `settings.local.json` for managing permissions related to script execution.
- Enhanced the structure of the migration tasks and Excel configurations for better organization and clarity.
This commit is contained in:
Misaka_Company
2026-01-12 12:49:51 +08:00
parent ee14de0435
commit 83c90f0161
13 changed files with 501 additions and 365 deletions

450
config/file_sources.py Normal file
View File

@@ -0,0 +1,450 @@
# config/file_sources.py
# 文件路径配置 - 从原 config.py 和 update_config.py 抽离
# ================= Access 同步映射配置 =================
# 从原 config.py 抽取
# 结构: { "Access文件绝对路径": { "Access表名": { SQL目标配置 } } }
SYNC_MAPPING = {
# 第一个 Access 文件
r"\\192.168.110.114\生产进度表\2025年数据\生产合同数据.accdb": {
"26年压力表合同数据": {
"target_schema": "productionContractData",
"target_table": "26年压力表合同数据",
"pk_col": "ID"
},
"26年温度计合同数据": {
"target_schema": "productionContractData",
"target_table": "26年温度计合同数据",
"pk_col": "ID"
},
"25年压力表合同数据": {
"target_schema": "productionContractData",
"target_table": "25年压力表合同数据",
"pk_col": "ID"
},
"25年温度计合同数据": {
"target_schema": "productionContractData",
"target_table": "25年温度计合同数据",
"pk_col": "ID"
}
},
r"\\192.168.110.114\生产进度表\2026年数据\成品入库.accdb": {
"成品交检记录": {
"target_schema": "productWarehousing",
"target_table": "成品交检记录_YEAR2026",
"pk_col": "ID"
},
"成品入库记录": {
"target_schema": "productWarehousing",
"target_table": "成品入库记录_YEAR2026",
"pk_col": "ID"
}
},
r"\\192.168.110.114\生产进度表\2026年数据\一车间.accdb": {
"一车间记录": {
"target_schema": "workshopOne",
"target_table": "一车间记录_YEAR2026",
"pk_col": "ID"
}
},
r"\\192.168.110.114\生产进度表\2026年数据\二车间.accdb": {
"二车间记录": {
"target_schema": "workshopTwo",
"target_table": "二车间记录_YEAR2026",
"pk_col": "ID"
}
},
r"\\192.168.110.114\生产进度表\2026年数据\三车间.accdb": {
"三车间记录": {
"target_schema": "workshopThree",
"target_table": "三车间记录_YEAR2026",
"pk_col": "ID"
},
"温度计调校记录": {
"target_schema": "workshopThree",
"target_table": "温度计调校记录_YEAR2026",
"pk_col": "ID"
}
},
r"\\192.168.110.114\生产进度表\2026年数据\机加工.accdb": {
"隔膜机加接收": {
"target_schema": "machining",
"target_table": "隔膜机加接收_YEAR2026",
"pk_col": "ID"
},
"膜片焊接": {
"target_schema": "machining",
"target_table": "膜片焊接_YEAR2026",
"pk_col": "ID"
},
"膜片接收": {
"target_schema": "machining",
"target_table": "膜片接收_YEAR2026",
"pk_col": "ID"
},
"喷涂寄出": {
"target_schema": "machining",
"target_table": "喷涂寄出_YEAR2026",
"pk_col": "ID"
}
},
r"\\192.168.110.114\生产进度表\2026年数据\计划.accdb": {
"报警器接单记录": {
"target_schema": "contractPlanning",
"target_table": "报警器接单记录_YEAR2026",
"pk_col": "ID"
},
"二车间接单记录": {
"target_schema": "contractPlanning",
"target_table": "二车间接单记录_YEAR2026",
"pk_col": "ID"
},
"隔膜接单记录": {
"target_schema": "contractPlanning",
"target_table": "隔膜接单记录_YEAR2026",
"pk_col": "ID"
},
"过压保护器接单记录": {
"target_schema": "contractPlanning",
"target_table": "过压保护器接单记录_YEAR2026",
"pk_col": "ID"
},
"精密表部件接收记录": {
"target_schema": "contractPlanning",
"target_table": "精密表部件接收记录_YEAR2026",
"pk_col": "ID"
},
"精密表接单记录": {
"target_schema": "contractPlanning",
"target_table": "精密表接单记录_YEAR2026",
"pk_col": "ID"
},
"库房接单记录": {
"target_schema": "contractPlanning",
"target_table": "库房接单记录_YEAR2026",
"pk_col": "ID"
},
"软管接单记录": {
"target_schema": "contractPlanning",
"target_table": "软管接单记录_YEAR2026",
"pk_col": "ID"
},
"氩弧焊接单记录": {
"target_schema": "contractPlanning",
"target_table": "氩弧焊接单记录_YEAR2026",
"pk_col": "ID"
},
"一车间接单记录": {
"target_schema": "contractPlanning",
"target_table": "一车间接单记录_YEAR2026",
"pk_col": "ID"
},
"阻尼器接单记录": {
"target_schema": "contractPlanning",
"target_table": "阻尼器接单记录_YEAR2026",
"pk_col": "ID"
}
},
r"\\192.168.110.114\生产进度表\2026年数据\检验记录数据库.accdb": {
"检验合格记录表": {
"target_schema": "inspectionRecords",
"target_table": "检验合格记录表_YEAR2026",
"pk_col": "ID"
}
},
r"\\192.168.110.114\生产进度表\2026年数据\零件库.accdb": {
"表盘缺件记录": {
"target_schema": "partsWarehouse",
"target_table": "表盘缺件记录_YEAR2026",
"pk_col": "ID"
},
"表盘入库记录": {
"target_schema": "partsWarehouse",
"target_table": "表盘入库记录_YEAR2026",
"pk_col": "ID"
},
"部件发放记录": {
"target_schema": "partsWarehouse",
"target_table": "部件发放记录_YEAR2026",
"pk_col": "ID"
},
"出库单发出记录": {
"target_schema": "partsWarehouse",
"target_table": "出库单发出记录_YEAR2026",
"pk_col": "ID"
},
"出库单记录": {
"target_schema": "partsWarehouse",
"target_table": "出库单记录_YEAR2026",
"pk_col": "ID"
},
"法兰缺件记录": {
"target_schema": "partsWarehouse",
"target_table": "法兰缺件记录_YEAR2026",
"pk_col": "ID"
},
"法兰入库记录": {
"target_schema": "partsWarehouse",
"target_table": "法兰入库记录_YEAR2026",
"pk_col": "ID"
},
"卡到库房记录": {
"target_schema": "partsWarehouse",
"target_table": "卡到库房记录_YEAR2026",
"pk_col": "ID"
},
"喷涂到厂": {
"target_schema": "partsWarehouse",
"target_table": "喷涂到厂_YEAR2026",
"pk_col": "ID"
},
"缺件记录": {
"target_schema": "partsWarehouse",
"target_table": "缺件记录_YEAR2026",
"pk_col": "ID"
},
"温度计法兰缺件记录": {
"target_schema": "partsWarehouse",
"target_table": "温度计法兰缺件记录_YEAR2026",
"pk_col": "ID"
},
"温度计法兰入库记录": {
"target_schema": "partsWarehouse",
"target_table": "温度计法兰入库记录_YEAR2026",
"pk_col": "ID"
}
},
r"\\192.168.110.114\生产进度表\2026年数据\温度计记录.accdb": {
"采 技 机记录": {
"target_schema": "thermometerRecord",
"target_table": "采 技 机记录_YEAR2026",
"pk_col": "ID"
},
"温度计调校记录": {
"target_schema": "thermometerRecord",
"target_table": "温度计调校记录_YEAR2026",
"pk_col": "ID"
},
"温度计检验记录": {
"target_schema": "thermometerRecord",
"target_table": "温度计检验记录_YEAR2026",
"pk_col": "ID"
},
"温度计组装记录": {
"target_schema": "thermometerRecord",
"target_table": "温度计组装记录_YEAR2026",
"pk_col": "ID"
}
},
r"\\192.168.110.114\生产进度表\2026年数据\锡焊数据.accdb": {
"操作者1完成记录": {
"target_schema": "solderingData",
"target_table": "操作者1完成记录_YEAR2026",
"pk_col": "ID"
},
"操作者2完成记录": {
"target_schema": "solderingData",
"target_table": "操作者2完成记录_YEAR2026",
"pk_col": "ID"
},
"零件到车间记录": {
"target_schema": "solderingData",
"target_table": "零件到车间记录_YEAR2026",
"pk_col": "ID"
}
},
r"\\192.168.110.114\生产进度表\2026年数据\氩弧焊.accdb": {
"表壳焊接记录": {
"target_schema": "TIGWelding",
"target_table": "表壳焊接记录_YEAR2026",
"pk_col": "ID"
},
"超压": {
"target_schema": "TIGWelding",
"target_table": "超压_YEAR2026",
"pk_col": "ID"
},
"氦测": {
"target_schema": "TIGWelding",
"target_table": "氦测_YEAR2026",
"pk_col": "ID"
},
"接收": {
"target_schema": "TIGWelding",
"target_table": "接收_YEAR2026",
"pk_col": "ID"
},
"退火": {
"target_schema": "TIGWelding",
"target_table": "退火_YEAR2026",
"pk_col": "ID"
},
"氩弧焊记录": {
"target_schema": "TIGWelding",
"target_table": "氩弧焊记录_YEAR2026",
"pk_col": "ID"
},
"氩弧焊领料": {
"target_schema": "TIGWelding",
"target_table": "氩弧焊领料_YEAR2026",
"pk_col": "ID"
}
},
r"\\192.168.110.114\生产进度表\2026年数据\执行卡下发记录.accdb": {
"执行卡下发记录": {
"target_schema": "executionCardIssuanceRecord",
"target_table": "执行卡下发记录_YEAR2026",
"pk_col": "ID"
}
}
}
# ================= Excel 文件配置 =================
# 从原 update_config.py 抽取
EXCEL_CONFIGS = [
{
"file_path": r"\\192.168.110.113\生产执行卡\往年生产执行卡\生产执行卡2022.xlsm",
"sheet_names": ["Sheet1"],
"contract_year": "2022",
"field_mapping": {
"产品型号": "选型型号",
"备注": "备注1",
"下单日期": "接单日期"
}
},
{
"file_path": r"\\192.168.110.113\生产执行卡\往年生产执行卡\生产执行卡20231-5月.xlsm",
"sheet_names": ["Sheet1"],
"contract_year": "2023",
"field_mapping": {
"产品型号": "选型型号",
"备注": "备注1",
"下单日期": "接单日期"
}
},
{
"file_path": r"\\192.168.110.113\生产执行卡\往年生产执行卡\生产执行卡2023(6月-.xlsm",
"sheet_names": ["Sheet1"],
"contract_year": "2023",
"field_mapping": {
"产品型号": "选型型号",
"备注": "备注1",
"下单日期": "接单日期"
}
},
{
"file_path": r"\\192.168.110.113\生产执行卡\往年生产执行卡\生产执行卡2024 6月.xlsm",
"sheet_names": ["重庆数据","北京数据"],
"contract_year": "2024",
"field_mapping": {
"产品型号": "选型型号",
"备注": "备注1",
"下单日期": "接单日期"
}
},
{
"file_path": r"\\192.168.110.113\生产执行卡\往年生产执行卡\生产执行卡2024.xlsm",
"sheet_names": ["重庆数据","北京数据"],
"contract_year": "2024",
"field_mapping": {
"产品型号": "选型型号",
"备注": "备注1",
"下单日期": "接单日期"
}
},
{
"file_path": r"\\192.168.110.113\生产执行卡\生产执行卡2025年.xlsm",
"sheet_names": ["重庆数据","北京数据"],
"contract_year": "2025",
"field_mapping": {
"产品型号": "选型型号",
"备注": "备注1",
"下单日期": "接单日期"
}
},
{
"file_path": r"\\192.168.110.113\生产执行卡\生产执行卡2026年.xlsm",
"sheet_names": ["重庆数据","北京数据"],
"contract_year": "2026",
"field_mapping": {
"产品型号": "选型型号",
"备注": "备注1",
"下单日期": "接单日期"
}
}
]
# ================= 迁移任务配置 =================
# 从原 migration.py 抽取
MIGRATION_TASKS = [
{
"file_path": r"\\192.168.110.113\生产执行卡\往年生产执行卡\生产执行卡2022.xlsm",
"year": 2022,
"sheet_names": ["Sheet1"],
"mapping": {
"车间号": "车间号",
"工令号": "工令号",
"客户型号": "客户型号"
}
},
{
"file_path": r"\\192.168.110.113\生产执行卡\往年生产执行卡\生产执行卡20231-5月.xlsm",
"year": 2023,
"sheet_names": ["Sheet1"],
"mapping": {
"车间号": "车间号",
"工令号": "工令号",
"客户型号": "客户型号"
}
},
{
"file_path": r"\\192.168.110.113\生产执行卡\往年生产执行卡\生产执行卡2023(6月-.xlsm",
"year": 2023,
"sheet_names": ["Sheet1"],
"mapping": {
"车间号": "车间号",
"工令号": "工令号",
"客户型号": "客户型号"
}
},
{
"file_path": r"\\192.168.110.113\生产执行卡\往年生产执行卡\生产执行卡2024 6月.xlsm",
"year": 2024,
"sheet_names": ["重庆数据","北京数据"],
"mapping": {
"车间号": "车间号",
"工令号": "工令号",
"客户型号": "客户型号"
}
},
{
"file_path": r"\\192.168.110.113\生产执行卡\往年生产执行卡\生产执行卡2024.xlsm",
"year": 2024,
"sheet_names": ["重庆数据","北京数据"],
"mapping": {
"车间号": "车间号",
"工令号": "工令号",
"客户型号": "客户型号"
}
},
{
"file_path": r"\\192.168.110.113\生产执行卡\生产执行卡2025年.xlsm",
"year": 2025,
"sheet_names": ["重庆数据","北京数据"],
"mapping": {
"车间号": "车间号",
"工令号": "工令号",
"客户型号": "客户型号"
}
},
{
"file_path": r"\\192.168.110.113\生产执行卡\生产执行卡2026年.xlsm",
"year": 2026,
"sheet_names": ["重庆数据","北京数据"],
"mapping": {
"车间号": "车间号",
"工令号": "工令号",
"客户型号": "客户型号"
}
}
]