Files
cangku/CLAUDE.md
2025-12-23 00:30:36 +08:00

3.9 KiB

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Project Overview

This is a standalone Python desktop application for fabric and garment management in the textile/clothing industry. The application is built using PyQt5 and SQLite, providing a comprehensive system for managing fabric inventory, garment specifications, and production calculations.

Running the Application

python main.py

The application will:

  1. Create a SQLite database (fabric_library.db) in the same directory if it doesn't exist
  2. Show a login dialog with default passwords (123456 for both admin and user modes)
  3. Launch the main application window

Dependencies

The application requires these Python packages:

  • PyQt5 (GUI framework)
  • sqlite3 (database, built-in)
  • PIL/Pillow (image processing)
  • datetime, os, sys (built-in modules)

Install dependencies:

pip install PyQt5 Pillow

Architecture Overview

Database Schema

The application uses SQLite with these main tables:

  • fabrics - Raw material library (fabric types, suppliers, pricing)
  • garments - Garment style definitions with images
  • garment_materials - Material usage per garment style
  • fabric_stock_in - Inventory purchase records
  • fabric_consumption - Production consumption tracking
  • admin_settings - User passwords and settings

Main Components

  1. LoginDialog (fabric_manager_pro.py:28-142)

    • Handles user authentication (admin vs regular user modes)
    • Password management functionality
  2. FabricManager (Main Window) (fabric_manager_pro.py:1205-1653)

    • Central application controller
    • Batch calculation interface for production planning
    • Unit conversion calculator
  3. RawMaterialLibraryDialog (fabric_manager_pro.py:239-758)

    • Fabric/material database management
    • Multi-level categorization (major/sub categories)
    • Supplier and pricing management
    • Stock tracking integration
  4. GarmentLibraryDialog (fabric_manager_pro.py:760-871)

    • Garment style catalog management
    • Image upload and preview functionality
  5. GarmentEditDialog (fabric_manager_pro.py:873-1111)

    • Detailed garment specification editor
    • Material usage definition per garment
    • Integration with fabric library for material selection
  6. StockInDialog (fabric_manager_pro.py:144-237)

    • Inventory management for fabric purchases
    • Stock level tracking and reporting
  7. PurchaseOrderDialog (fabric_manager_pro.py:1113-1203)

    • Automated purchase order generation
    • Export functionality (clipboard/file)

Key Features

  • Multi-user System: Admin and regular user modes with different permissions
  • Inventory Tracking: Complete fabric stock management with purchase/consumption tracking
  • Production Planning: Calculate material requirements for batch production
  • Unit Conversion: Built-in calculator for meters/yards/kilograms conversion
  • Image Management: Garment style images with automatic resizing and storage
  • Data Export: Purchase order generation with multiple export options

File Structure

  • main.py - Main application entry point
  • database.py - Database connection and initialization
  • login_dialog.py - User login and password management
  • stock_dialog.py - Inventory management dialogs
  • raw_material_dialog.py - Raw material library management
  • garment_dialogs.py - Garment style management
  • purchase_order_dialog.py - Purchase order generation
  • fabric_library.db - SQLite database (auto-created)
  • images/ - Directory for garment style images (auto-created)

Development Notes

  • The application uses method binding in __init__ to avoid AttributeError issues
  • Database connections use context managers for proper resource cleanup
  • Image processing includes automatic thumbnail generation and format conversion
  • All database operations include proper error handling and user feedback