Spaces:
Sleeping
Sleeping
| import asyncio | |
| from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession | |
| from sqlalchemy.orm import sessionmaker | |
| import os | |
| import json | |
| from dotenv import load_dotenv | |
| load_dotenv() | |
| DATABASE_URL = os.getenv("DATABASE_URL") | |
| engine = create_async_engine(DATABASE_URL) | |
| async_session = sessionmaker(engine, class_=AsyncSession, expire_on_commit=False) | |
| async def check_analysis(): | |
| from app.services.stock_ledger_service import StockLedgerService | |
| async with async_session() as session: | |
| print("Fetching Lot Analysis...") | |
| analysis = await StockLedgerService.get_lot_analysis(session) | |
| print(f"\nTotal items in analysis: {len(analysis)}") | |
| # Sort by mirchi_name and lot_number for easier reading | |
| analysis.sort(key=lambda x: (x['mirchi_name'], x['lot_number'])) | |
| print("\n--- Regular Transactions Analysis (is_patti=False) ---") | |
| regular = [item for item in analysis if not item.get('is_patti')] | |
| for item in regular[:20]: # Show first 20 | |
| print(f"Mirchi: {item['mirchi_name']:10} | Lot: {str(item['lot_number']):15} | Farmer: {item['farmer_name']:20} | In: {item['buy_qty']:8.2f} | Out: {item['sell_qty']:8.2f} | Bal: {item['buy_qty'] - item['sell_qty']:8.2f}") | |
| print("\n--- Patti Transactions Analysis (is_patti=True) ---") | |
| patti = [item for item in analysis if item.get('is_patti')] | |
| for item in patti[:20]: # Show first 20 | |
| print(f"Mirchi: {item['mirchi_name']:10} | Lot: {str(item['lot_number']):15} | Farmer: {item['farmer_name']:20} | In: {item['buy_qty']:8.2f} | Out: {item['sell_qty']:8.2f} | Bal: {item['buy_qty'] - item['sell_qty']:8.2f}") | |
| if __name__ == "__main__": | |
| asyncio.run(check_analysis()) | |