#!/usr/bin/env python
"""
自动同步新增订单到待采购订单
每5分钟执行一次
"""
import asyncio
import logging
from datetime import datetime
from app.services.procurement_order_service_v2 import ProcurementOrderServiceV2
from app.core.database import get_db

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

async def sync_new_orders():
    service = ProcurementOrderServiceV2()
    async for db in get_db():
        try:
            logger.info(f"开始同步新增订单 - {datetime.now()}")
            result = await service.generate_procurement_orders(db, force_rebuild=False)
            
            if result['created_orders'] > 0:
                logger.info(f"成功创建 {result['created_orders']} 个待采购订单")
            else:
                logger.info("没有新订单需要处理")
                
            return result
        except Exception as e:
            logger.error(f"同步失败: {e}")
        finally:
            break

async def main():
    while True:
        await sync_new_orders()
        # 每5分钟执行一次
        await asyncio.sleep(300)

if __name__ == "__main__":
    asyncio.run(main())
