init: 管理会计OS初始代码
包含前后端完整代码: - 前端:Vue3+Vite+ElementPlus - 后端:FastAPI+SQLAlchemy - 模块:驾驶舱/KPI/战略地图/预警/预算/成本/预测/改善行动 - 当前版本:v1.0.0
This commit is contained in:
Executable
+72
@@ -0,0 +1,72 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
管理会计OS — 每日自动同步入口
|
||||
|
||||
由 cron 每天 01:00 调用:
|
||||
0 1 * * * cd /root/cma-management/backend && python3 scripts/daily_sync.py >> /var/log/cma-daily-sync.log 2>&1
|
||||
|
||||
手动执行:
|
||||
python3 scripts/daily_sync.py
|
||||
"""
|
||||
|
||||
import sys
|
||||
import os
|
||||
|
||||
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
|
||||
import logging
|
||||
|
||||
logging.basicConfig(
|
||||
level=logging.INFO,
|
||||
format="%(asctime)s [%(levelname)s] %(name)s: %(message)s",
|
||||
datefmt="%Y-%m-%d %H:%M:%S",
|
||||
)
|
||||
|
||||
from app.database import get_session_local
|
||||
|
||||
if __name__ == "__main__":
|
||||
db = get_session_local()()
|
||||
|
||||
# 1. ERP数据同步
|
||||
print("=" * 50)
|
||||
print("1/3 ERP数据同步")
|
||||
try:
|
||||
from scripts.erp_sync import run_sync
|
||||
run_sync(dry_run=False, use_api=True)
|
||||
print(" ✅ ERP同步完成")
|
||||
except Exception as e:
|
||||
print(f" ❌ ERP同步异常: {e}")
|
||||
|
||||
# 2. 预警生成
|
||||
print("\n" + "=" * 50)
|
||||
print("2/3 预警检查")
|
||||
try:
|
||||
from scripts.alert_generator import run_alert_check
|
||||
new_count = run_alert_check(db)
|
||||
print(f" ✅ 预警检查完成: 新增 {new_count} 条")
|
||||
except Exception as e:
|
||||
print(f" ❌ 预警生成异常: {e}")
|
||||
|
||||
# 3. 预警推送
|
||||
print("\n" + "=" * 50)
|
||||
print("3/3 预警推送")
|
||||
try:
|
||||
from app.utils.notifier import push_pending_alerts
|
||||
pushed = push_pending_alerts(db)
|
||||
print(f" ✅ 预警推送完成: {pushed} 条")
|
||||
except Exception as e:
|
||||
print(f" ❌ 预警推送异常: {e}")
|
||||
|
||||
# 4. 差异预警(实际vs预算)
|
||||
print("\n" + "=" * 50)
|
||||
print("4/4 差异预警检查")
|
||||
try:
|
||||
from app.utils.deviation_engine import run_deviation_check
|
||||
new_alerts = run_deviation_check(db)
|
||||
print(f" ✅ 差异预警检查完成: 新增 {new_alerts} 条")
|
||||
except Exception as e:
|
||||
print(f" ❌ 差异预警异常: {e}")
|
||||
|
||||
db.close()
|
||||
print("\n" + "=" * 50)
|
||||
print("✅ 全部完成")
|
||||
Reference in New Issue
Block a user