Commit Graph

6 Commits

Author SHA1 Message Date
Misaka_Company
f3fc5b4cbd feat(clsBOMManager): add optional autoFallback param
Added the `autoFallback` optional parameter to `GetMaterialsByModel`.
This flag controls whether the search automatically descends to
subcategories when no matches are found in the target category.

- Defaults to True to maintain previous recursive behavior.
- When False, the search is restricted strictly to the specified category.
- Updated documentation with usage examples and logic explanations.
2026-01-20 16:24:49 +08:00
Misaka_Company
388ccc4e7a refactor: add subcategory fallback logic for material filtering
Refactored the material retrieval logic in GetMaterialsByModel to
automatically search within subcategories if no matches are found in the
specified parent category.

- Added FilterCategoryWithSubcategories helper function to handle recursive
  searching and fallback logic.
- Restructured main function to delegate filtering to the new helper.
- Enhanced code comments to clarify the step-by-step matching process.
2026-01-20 15:31:43 +08:00
Misaka_Company
7f89f37f35 docs: improve GetMaterialsByModel documentation
Enhanced the documentation for the GetMaterialsByModel method in clsBOMManager to clarify the core BOM logic. Replaced brief comments with a structured explanation covering the workflow (model parsing, condition extraction, material matching), detailed parameter descriptions, return value specifications (clsMaterialItem properties), and usage notes. This helps developers better understand the interaction between clsModelParser, clsConditionExtractor, and clsConditionMatcher.
2026-01-20 15:06:53 +08:00
Misaka_Company
a1347017e3 docs: expand AutoBOM architecture and implementation details
Refine project overview to include specific business context (Blaidy Company) and the main workbook file. Restructure the architecture section into a layered object-oriented design (Data, Processing, Application layers) and define the responsibilities of core VBA classes.

Add new technical documentation sections covering:
- Model number format parsing structure
- Condition expression language syntax
- Category hierarchy logic and picking strategies
- Material matching pipeline flow

Include VBA code examples for key methods such as CollectAllMaterials and GetMaterialsByCategoryAndModel to illustrate recursive traversal and material retrieval logic. Clarify the structure of key Excel configuration sheets.
2026-01-20 13:42:03 +08:00
Misaka_Company
bc5ea92c52 feat: add implementation plan for order material extraction functionality
- Introduced a comprehensive document detailing the project overview, goals, core functionalities, and technical architecture for the order material extraction feature.
- Defined the product model coding rules and extraction logic for selection conditions.
- Designed class structures for model parsing, condition evaluation, and order material list management.
- Outlined implementation steps, testing plans, and risk assessments for the development process.
2026-01-20 10:45:23 +08:00
Misaka_Company
05601ec1fc Add initial implementation of BOM management classes and data structure
- Created clsBOMManager for managing BOM data
- Added clsCategory and clsMaterialItem for category and material representation
- Implemented methods for loading and organizing BOM data from Excel
- Introduced .gitignore to exclude unnecessary files
- Added metadata JSON for module tracking
2026-01-20 08:53:01 +08:00