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:

Primary Functions

Related Controllers

---

๐Ÿ—„๏ธ Database Tables

Primary Tables (Direct Operations)

Table NamePurposeKey Columns
`simplemanufacturesetting`Manufacturing configuration`id`, `storeid`, `reducestoreamount`, `productsproductionequation`, `orderclient`, `lowOutPriceAlert`, `taskOrderName`
### Related Tables (System Configuration)

Table NamePurposeKey Columns
`properties`System menu properties`propertyid`, `propertyname`, `propertyvalue`
`store`Available warehouses`storeid`, `storeName`
### Affected Manufacturing Tables (Precision Updates)

Table NamePurposePrecision 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:

โ”Œโ”€ Load Settings Form โ”€โ”
โ–ผ
โ–ผ

---

2. update() - Save Manufacturing Settings

Line: 131

Purpose: Updates manufacturing settings and applies database changes

Parameters:

Process Flow:

โ”Œโ”€ Update Settings โ”€โ”
โ–ผ
โ–ผ
โ–ผ
โ–ผ
โ–ผ

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:

โ”Œโ”€ Database Precision Update โ”€โ”
โ–ผ
โ–ผ
โ–ผ

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:

โ”Œโ”€ Menu Property Update โ”€โ”
โ–ผ
โ–ผ
โ–ผ
โ–ผ

---

๐Ÿ”„ Business Logic Flow

Manufacturing Configuration Workflow

โ”Œโ”€ System Setup โ”€โ”
โ–ผ
โ–ผ
โ”Œโ”€ Menu Customization โ”€โ”
โ€ข Set task order terminology
โ€ข Update user interface
โ€ข Apply language preferences
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ–ผ
โ–ผ
โ”Œโ”€ Database Optimization โ”€โ”
โ€ข Set quantity precision
โ€ข Optimize storage space
โ€ข Ensure calculation accuracy
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ–ผ
โ–ผ
โ”Œโ”€ Production Ready โ”€โ”
โ€ข All settings configured
โ€ข Database optimized
โ€ข User interface updated
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Configuration Dependencies

โ”‚ โ””โ”€โ”€ Inventory reduction policies
โ”‚ โ””โ”€โ”€ Price alert thresholds
โ”‚ โ””โ”€โ”€ Menu properties
โ””โ”€โ”€ Database Schema
โ””โ”€โ”€ Column specifications

---

โš ๏ธ Common Issues

1. Database Precision Changes Fail

Symptoms: ALTER TABLE statements fail during precision update

Causes:

Solutions:

2. Menu Cache Not Clearing

Symptoms: Menu terminology doesn't update after settings change

Causes:

Solutions:

3. Settings Not Saving

Symptoms: Configuration changes don't persist

Causes:

Solutions:

---

๐Ÿ”— Dependencies

Required Files

Required DAOs

File System Dependencies

Session Variables

---

โš™๏ธ Configuration Options

Manufacturing Settings

SettingPurposeValues
`storeid`Default production warehouseStore ID from stores table
`reducestoreamount`Allow negative inventory0=No, 1=Yes
`productsproductionequation`Enable production equations0=Disabled, 1=Enabled
`orderclient`Order client configurationClient handling mode
`lowOutPriceAlert`Low price alert thresholdNumeric threshold value
`taskOrderName`Task order terminology0=Work Order, 1=Order
### Database Precision Settings

FieldPurposeDefaultRange
`holePartNoOfDigits`Whole number digits81-15
`fractionPartNoOfDigits`Decimal digits20-8
### Precision Impact

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

Manufacturing System Integration

Database Schema Management

---

Manufacturing Concepts Covered: Manufacturing Configuration, System Settings Management, Database Precision Control, Menu Customization, Inventory Policy Configuration, Production Parameter Management, User Interface Customization, Schema Optimization