Add Operations - WO Shortages page with MTS/MTO shortage tracking

Automates the production manager's manual workflow of checking xTuple WO
Schedule + Kit Material Shortage for FA department work orders. Two tabs:
WO Shortages (detail per WO + shortage line with customer name, YYYY-MM-DD
dates) and Critical Parts (aggregated parts blocking near-term shipments
with QOH from MPE warehouse). Nav button added to all pages.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-03 13:47:58 -04:00
parent 9fc5f608d4
commit b5e74cebb7
178 changed files with 4158 additions and 1286 deletions

View File

@@ -8,9 +8,7 @@
"disabledWhenInvalid": false,
"dynamicBindingPathList": [],
"dynamicTriggerPathList": [
{
"key": "onClick"
}
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
@@ -42,4 +40,4 @@
"version": 1,
"widgetId": "eh1btn1cap",
"widgetName": "Button1"
}
}

View File

@@ -8,9 +8,7 @@
"disabledWhenInvalid": false,
"dynamicBindingPathList": [],
"dynamicTriggerPathList": [
{
"key": "onClick"
}
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
@@ -42,4 +40,4 @@
"version": 1,
"widgetId": "eh1btn1shp",
"widgetName": "Button1Copy"
}
}

View File

@@ -8,9 +8,7 @@
"disabledWhenInvalid": false,
"dynamicBindingPathList": [],
"dynamicTriggerPathList": [
{
"key": "onClick"
}
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
@@ -42,4 +40,4 @@
"version": 1,
"widgetId": "eh1btn1ord",
"widgetName": "Button1Copy2"
}
}

View File

@@ -8,9 +8,7 @@
"disabledWhenInvalid": false,
"dynamicBindingPathList": [],
"dynamicTriggerPathList": [
{
"key": "onClick"
}
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
@@ -42,4 +40,4 @@
"version": 1,
"widgetId": "eh1btn2pos",
"widgetName": "Button2All"
}
}

View File

@@ -8,9 +8,7 @@
"disabledWhenInvalid": false,
"dynamicBindingPathList": [],
"dynamicTriggerPathList": [
{
"key": "onClick"
}
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
@@ -42,4 +40,4 @@
"version": 1,
"widgetId": "eh1btn2rev",
"widgetName": "Button2Copy"
}
}

View File

@@ -8,9 +8,7 @@
"disabledWhenInvalid": false,
"dynamicBindingPathList": [],
"dynamicTriggerPathList": [
{
"key": "onClick"
}
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
@@ -42,4 +40,4 @@
"version": 1,
"widgetId": "eh1btn2xgn",
"widgetName": "Button2Copy2"
}
}

View File

@@ -8,9 +8,7 @@
"disabledWhenInvalid": false,
"dynamicBindingPathList": [],
"dynamicTriggerPathList": [
{
"key": "onClick"
}
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
@@ -42,4 +40,4 @@
"version": 1,
"widgetId": "eh1btn3jds",
"widgetName": "Button3"
}
}

View File

@@ -7,14 +7,10 @@
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [
{
"key": "buttonColor"
}
{"key": "buttonColor"}
],
"dynamicTriggerPathList": [
{
"key": "onClick"
}
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
@@ -46,4 +42,4 @@
"version": 1,
"widgetId": "eh1btn3enh",
"widgetName": "Button3Copy"
}
}

View File

@@ -2,7 +2,6 @@
"animateLoading": true,
"borderRadius": "0.375rem",
"bottomRow": 52,
"boxShadow": "none",
"buttonColor": "#ffffff",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
@@ -43,5 +42,6 @@
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "eh1btn3ui",
"widgetName": "Button3Copy2"
}
"widgetName": "Button3Copy2",
"boxShadow": "none"
}

View File

@@ -0,0 +1,45 @@
{
"animateLoading": true,
"borderRadius": "0.375rem",
"bottomRow": 56,
"boxShadow": "none",
"buttonColor": "#ffffff",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [],
"dynamicTriggerPathList": [
{
"key": "onClick"
}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "eh1btnwosk",
"leftColumn": 0,
"minWidth": 120,
"mobileBottomRow": 56,
"mobileLeftColumn": 0,
"mobileRightColumn": 16,
"mobileTopRow": 52,
"needsErrorInfo": false,
"onClick": "{{navigateTo('Operations - WO Shortages', {}, 'SAME_WINDOW');}}",
"originalBottomRow": 56,
"originalTopRow": 52,
"parentColumnSpace": 3.841796875,
"parentId": "eh1canvas01",
"parentRowSpace": 10,
"placement": "START",
"recaptchaType": "V3",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 64,
"text": "WO Shortages",
"topRow": 52,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "eh1btnwos",
"widgetName": "Button3Copy3"
}

View File

@@ -15,12 +15,8 @@
"containerStyle": "none",
"detachFromLayout": true,
"dynamicBindingPathList": [
{
"key": "borderRadius"
},
{
"key": "boxShadow"
}
{"key": "borderRadius"},
{"key": "boxShadow"}
],
"dynamicHeight": "AUTO_HEIGHT",
"flexLayers": [],
@@ -52,9 +48,7 @@
],
"containerStyle": "card",
"dynamicBindingPathList": [
{
"key": "boxShadow"
}
{"key": "boxShadow"}
],
"dynamicHeight": "FIXED",
"dynamicTriggerPathList": [],

View File

@@ -3,15 +3,9 @@
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 4,
"dynamicBindingPathList": [
{
"key": "truncateButtonColor"
},
{
"key": "fontFamily"
},
{
"key": "borderRadius"
}
{"key": "truncateButtonColor"},
{"key": "fontFamily"},
{"key": "borderRadius"}
],
"dynamicHeight": "AUTO_HEIGHT",
"dynamicTriggerPathList": [],
@@ -49,4 +43,4 @@
"version": 1,
"widgetId": "eh1txt1sal",
"widgetName": "Text1"
}
}

View File

@@ -3,15 +3,9 @@
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 22,
"dynamicBindingPathList": [
{
"key": "truncateButtonColor"
},
{
"key": "fontFamily"
},
{
"key": "borderRadius"
}
{"key": "truncateButtonColor"},
{"key": "fontFamily"},
{"key": "borderRadius"}
],
"dynamicHeight": "AUTO_HEIGHT",
"dynamicTriggerPathList": [],
@@ -49,4 +43,4 @@
"version": 1,
"widgetId": "eh1txt2eng",
"widgetName": "Text2"
}
}

View File

@@ -3,15 +3,9 @@
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 40,
"dynamicBindingPathList": [
{
"key": "truncateButtonColor"
},
{
"key": "fontFamily"
},
{
"key": "borderRadius"
}
{"key": "truncateButtonColor"},
{"key": "fontFamily"},
{"key": "borderRadius"}
],
"dynamicHeight": "AUTO_HEIGHT",
"dynamicTriggerPathList": [],
@@ -49,4 +43,4 @@
"version": 1,
"widgetId": "eh1txt3ops",
"widgetName": "Text3"
}
}

View File

@@ -3,15 +3,9 @@
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 5,
"dynamicBindingPathList": [
{
"key": "truncateButtonColor"
},
{
"key": "fontFamily"
},
{
"key": "borderRadius"
}
{"key": "truncateButtonColor"},
{"key": "fontFamily"},
{"key": "borderRadius"}
],
"dynamicHeight": "AUTO_HEIGHT",
"dynamicTriggerPathList": [],