SimpleManufactureSettings Documentation
Simple Manufacture Settings Controller Documentation
File: /controllers/simpleManufactureSettingsController.php
Purpose: Manages manufacturing configuration, system settings, and production parameters
Last Updated: December 19, 2024
Total Functions: 4
Lines of Code: ~217
---
๐ Overview
The Simple Manufacture Settings Controller manages core manufacturing configuration and system settings. It handles:
- โข Manufacturing system configuration
- โข Production warehouse settings
- โข Inventory reduction policies
- โข Manufacturing equation settings
- โข Order client configuration
- โข Pricing alert thresholds
- โข Task order naming conventions
- โข Database column precision for manufacturing quantities
- โข Menu property updates based on settings
- โข Production system parameters
Primary Functions
- โ Configure default manufacturing warehouse
- โ Set inventory reduction policies
- โ Enable/disable manufacturing equations
- โ Configure order client settings
- โ Set price alert thresholds
- โ Customize task order terminology
- โ Adjust database precision for quantities
- โ Update system menu properties
- โ Manage production parameters
Related Controllers
- โข productionExecutionController.php - Manufacturing execution
- โข productionOrderController.php - Production orders
- โข taskOrderController.php - Task order management
- โข storeController.php - Warehouse management
- โข productController.php - Product configuration
- โข programsettingsController.php - General system settings
- โข propertiesController.php - System properties management
---
๐๏ธ Database Tables
Primary Tables (Direct Operations)
| Table Name | Purpose | Key Columns |
|---|---|---|
| `simplemanufacturesetting` | Manufacturing configuration | `id`, `storeid`, `reducestoreamount`, `productsproductionequation`, `orderclient`, `lowOutPriceAlert`, `taskOrderName` |
| Table Name | Purpose | Key Columns | |
|---|---|---|---|
| `properties` | System menu properties | `propertyid`, `propertyname`, `propertyvalue` | |
| `store` | Available warehouses | `storeid`, `storeName` |
| Table Name | Purpose | Precision Fields | |
|---|---|---|---|
| `productionrateproduct` | BOM quantities | `quantity` | |
| `taskorder` | Task order quantities | `num` | |
| `taskorderproducts` | Task order materials | `quantity` | |
| `productionexecution` | Production quantities | `num` | |
| `productionexecutionoutput` | Output quantities | `num` | |
| `productionexecutionproduct` | Material consumption | `quantity`, `actualquantity` | |
| `productionexecutionwaste` | Waste quantities | `num` | |
| `storemovement` | Inventory transfers | `transferproductamount` | |
| `storedetail` | Inventory quantities | `productquantity` | |
| `sizecolorstoredetail` | Variant inventory | `quantity` | |
| `storereport` | Inventory history | `productquantity`, `productbefore`, `productafter` | |
| `restaurantrawdestruction` | Restaurant waste | `quantity` |
๐ง Key Functions
1. Default Display - Show Settings Form
Line: 116
Purpose: Displays the manufacturing settings configuration form
Process Flow:
---
2. update() - Save Manufacturing Settings
Line: 131
Purpose: Updates manufacturing settings and applies database changes
Parameters:
- โข
$_POST['storeid']- Default manufacturing warehouse - โข
$_POST['reducestoreamount']- Allow inventory reduction (0/1) - โข
$_POST['manufacturing']- Enable production equations (0/1) - โข
$_POST['orderclient']- Order client setting - โข
$_POST['lowOutPriceAlert']- Low price alert threshold - โข
$_POST['taskOrderName']- Task order terminology (1=Order, 0=Work Order) - โข
$_POST['holePartNoOfDigits']- Whole number digits for precision - โข
$_POST['fractionPartNoOfDigits']- Decimal digits for precision
Process Flow:
Code Example:
// Update task order terminology
if ($simplesetting->taskOrderName != $taskOrderName) {
$myProperities = $myProperitiesRecord->load(309);
switch ($taskOrderName) {
case 1:
$myProperities->propertyname = "ุทูุจูุฉ"; // Order
break;
default:
$myProperities->propertyname = "ุฃู
ุฑ ุดุบู"; // Work Order
break;
}
$myProperitiesRecord->update($myProperities);
// Clear cached header
$fh = fopen('../temp__cashedheader/cashedheader_' . $_SESSION['dbname'] . '_' . $_SESSION['userid'] . '.html', 'w');
fclose($fh);
}
---
3. Database Precision Update
Line: 172-198
Purpose: Updates database column precision for manufacturing quantities
Process Flow:
SQL Examples:
-- Example with 8 whole digits, 2 fraction digits = DECIMAL(10,2)
ALTER TABLE `productionrateproduct` CHANGE `quantity` `quantity` DECIMAL(10,2) NOT NULL;
ALTER TABLE `storedetail` CHANGE `productquantity` `productquantity` DECIMAL(10,2) NOT NULL;
ALTER TABLE `productionexecution` CHANGE `num` `num` DECIMAL(10,2) NOT NULL;
---
4. Menu Property Management
Line: 143-156
Purpose: Updates system menu properties based on manufacturing settings
Process Flow:
---
๐ Business Logic Flow
Manufacturing Configuration Workflow
Configuration Dependencies
---
โ ๏ธ Common Issues
1. Database Precision Changes Fail
Symptoms: ALTER TABLE statements fail during precision update
Causes:
- โข Existing data exceeds new precision limits
- โข Database permissions insufficient
- โข Concurrent transactions in progress
Solutions:
- โข Validate existing data before precision changes
- โข Ensure adequate database privileges
- โข Perform changes during maintenance windows
2. Menu Cache Not Clearing
Symptoms: Menu terminology doesn't update after settings change
Causes:
- โข Cache file permissions
- โข Web server write access issues
- โข Session-specific cache conflicts
Solutions:
- โข Verify cache directory permissions
- โข Clear all user cache files
- โข Restart web server if needed
3. Settings Not Saving
Symptoms: Configuration changes don't persist
Causes:
- โข Database connection issues
- โข Missing required fields
- โข Validation errors
Solutions:
- โข Check database connectivity
- โข Validate all required parameters
- โข Add error logging for diagnostics
---
๐ Dependencies
Required Files
- โข
../public/impOpreation.php- Core operations - โข
../public/config.php- Database configuration - โข
../public/include_dao.php- Data access objects
Required DAOs
- โข
SimplemanufacturesettingDAO- Settings data access - โข
PropertiesDAO- Menu properties management - โข
StoreDAO- Warehouse information
File System Dependencies
- โข Cache directory:
../temp__cashedheader/ - โข Cache file pattern:
cashedheader_{dbname}_{userid}.html - โข Write permissions required for cache management
Session Variables
- โข
$_SESSION['dbname']- Database name for cache file naming - โข
$_SESSION['userid']- User ID for personalized cache
---
โ๏ธ Configuration Options
Manufacturing Settings
| Setting | Purpose | Values | |
|---|---|---|---|
| `storeid` | Default production warehouse | Store ID from stores table | |
| `reducestoreamount` | Allow negative inventory | 0=No, 1=Yes | |
| `productsproductionequation` | Enable production equations | 0=Disabled, 1=Enabled | |
| `orderclient` | Order client configuration | Client handling mode | |
| `lowOutPriceAlert` | Low price alert threshold | Numeric threshold value | |
| `taskOrderName` | Task order terminology | 0=Work Order, 1=Order |
| Field | Purpose | Default | Range | |
|---|---|---|---|---|
| `holePartNoOfDigits` | Whole number digits | 8 | 1-15 | |
| `fractionPartNoOfDigits` | Decimal digits | 2 | 0-8 |
Precision Setting: 8,2 โ DECIMAL(10,2)
- Maximum value: 99999999.99
- Storage: 5 bytes per value
- Calculation accuracy: 2 decimal places
Precision Setting: 10,4 โ DECIMAL(14,4)
- Maximum value: 9999999999.9999
- Storage: 7 bytes per value
- Calculation accuracy: 4 decimal places
---
๐๏ธ System Integration Points
Menu System Integration
- โข Property ID 309: Task order menu text
- โข Dynamic menu generation based on settings
- โข Localized terminology support
- โข User-specific cache management
Manufacturing System Integration
- โข Default warehouse for production orders
- โข Inventory policy enforcement
- โข Production equation availability
- โข Quantity precision standardization
Database Schema Management
- โข Dynamic column specification updates
- โข Cross-table precision consistency
- โข Storage optimization based on business needs
- โข Backwards compatibility maintenance
---
Manufacturing Concepts Covered: Manufacturing Configuration, System Settings Management, Database Precision Control, Menu Customization, Inventory Policy Configuration, Production Parameter Management, User Interface Customization, Schema Optimization