Initial commit, 90% there
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
#!/usr/bin/env python3
|
||||
import json
|
||||
|
||||
with open('/home/mdares/.node-red/flows.json', 'r') as f:
|
||||
flows = json.load(f)
|
||||
|
||||
# Fix 1: Update Progress Check Handler to query scrap_parts
|
||||
for node in flows:
|
||||
if node.get('name') == 'Progress Check Handler':
|
||||
func = node['func']
|
||||
|
||||
# Update to get scrap_parts from DB
|
||||
func = func.replace(
|
||||
'const cycleCount = dbRow ? (Number(dbRow.cycle_count) || 0) : 0;\n const goodParts = dbRow ? (Number(dbRow.good_parts) || 0) : 0;',
|
||||
'const cycleCount = dbRow ? (Number(dbRow.cycle_count) || 0) : 0;\n const goodParts = dbRow ? (Number(dbRow.good_parts) || 0) : 0;\n const scrapParts = dbRow ? (Number(dbRow.scrap_parts) || 0) : 0;'
|
||||
)
|
||||
|
||||
# Update the order object to include scrap_parts
|
||||
func = func.replace(
|
||||
'order: {...order, cycle_count: cycleCount, good_parts: goodParts}',
|
||||
'order: {...order, cycle_count: cycleCount, good_parts: goodParts, scrap: scrapParts}'
|
||||
)
|
||||
|
||||
node['func'] = func
|
||||
print("✓ Updated Progress Check Handler to include scrap_parts")
|
||||
break
|
||||
|
||||
# Fix 2: Update start-work-order to query scrap_parts
|
||||
for node in flows:
|
||||
if node.get('name') == 'Work Order buttons':
|
||||
func = node['func']
|
||||
|
||||
# Update the SELECT query to include scrap_parts
|
||||
func = func.replace(
|
||||
'msg.topic = "SELECT cycle_count, good_parts, progress_percent, target_qty FROM work_orders WHERE work_order_id = ? LIMIT 1";',
|
||||
'msg.topic = "SELECT cycle_count, good_parts, scrap_parts, progress_percent, target_qty FROM work_orders WHERE work_order_id = ? LIMIT 1";'
|
||||
)
|
||||
|
||||
# Update resume-work-order to set scrap
|
||||
old_resume = ''' // Load existing values into global state (will be set from DB query result)
|
||||
global.set("activeWorkOrder", order);
|
||||
global.set("cycleCount", Number(order.cycle_count) || 0);
|
||||
flow.set("lastMachineState", 0);
|
||||
global.set("scrapPromptIssuedFor", null);
|
||||
|
||||
node.warn(`[RESUME-WO] Set cycleCount to ${order.cycle_count}`);'''
|
||||
|
||||
new_resume = ''' // Load existing values into global state
|
||||
// IMPORTANT: Also set scrap so good_parts calculation is correct
|
||||
order.scrap = Number(order.scrap) || 0;
|
||||
order.good = Number(order.good_parts) || 0;
|
||||
|
||||
global.set("activeWorkOrder", order);
|
||||
global.set("cycleCount", Number(order.cycle_count) || 0);
|
||||
flow.set("lastMachineState", 0);
|
||||
global.set("scrapPromptIssuedFor", null);
|
||||
|
||||
node.warn(`[RESUME-WO] Set cycleCount=${order.cycle_count}, scrap=${order.scrap}, good=${order.good}`);'''
|
||||
|
||||
func = func.replace(old_resume, new_resume)
|
||||
|
||||
node['func'] = func
|
||||
print("✓ Updated Work Order buttons to load scrap_parts")
|
||||
break
|
||||
|
||||
# Write back
|
||||
with open('/home/mdares/.node-red/flows.json', 'w') as f:
|
||||
json.dump(flows, f, indent=4)
|
||||
|
||||
print("✓ flows.json updated successfully")
|
||||
Reference in New Issue
Block a user