feat: add MOQ column to PricingView positioned after container columns

This commit is contained in:
Christian Vidal Wolf
2026-04-28 09:18:43 +02:00
parent d23f4e625a
commit 712a9dac16
2 changed files with 207 additions and 19 deletions
+42 -1
View File
@@ -20,6 +20,34 @@ import { HistoryView } from './components/HistoryView';
import { UndoToast } from './components/UndoToast';
import { PendingValidationView } from './components/PendingValidationView';
import { MissingDataView } from './components/MissingDataView';
const FORCED_ZERO_STOCK_SKUS = new Set([
'11631VC', '1237VC', '1238VC', '1652VC', '1653VC', '1684VC', '1688VC', '1717VC',
'1718VC', '180VC', '1832VC', '2025VC', '2027VC', '2180VC', '2181VC', '2210VC',
'2260VC', '2355VC', '2356VC', '2360VC', '2400VC', '2401VC', '2402VC', '2405VC',
'2406VC', '2414VC', '2415VC', '2425VC', '2447VC', '2450VC', '2510VC', '2517VC',
'2522VC', '2611VC', '2648VC', '2660VC', '2665VC', '2857VC', '2858VC', '2990VC',
'3011VC', '3012VC', '3013VC', '3015VC', '3018VC', '3019VC', '3020VC', '3021VC',
'3027VC', '3030VC', '3035VC', '3038VC', '3041VC', '3043VC', '3044VC', '3045VC',
'3046VC', '3048VC', '3052VC', '3053VC', '3054VC', '3055VC', '3062VC', '3063VC',
'3064VC', '3069VC', '3070VC', '3071VC', '3072VC', '3074VC', '3089VC', '3116VC',
'3117VC', '3118VC', '3119VC', '3120VC', '3121VC', '3123VC', '3125VC', '3126VC',
'3127VC', '3130VC', '3133VC', '3134VC', '3135VC', '3200VC', '3201VC', '3230VC',
'3311VC', '3314VC', '3315VC', '3354VC', '3372VC', '3380VC', '3391VC', '3392VC',
'3423VC', '3432VC', '3437VC', '3484VC', '3487VC', '3555VC', '3557VC', '3558VC',
'3559VC', '3712VC', '3824VC', '4107VC', '4108VC', '4110VC', '4115VC', '4125VC',
'4130VC', '4134VC', '4140VC', '4155VC', '4158VC', '4165VC', '4231VC', '4232VC',
'4255VC', '4259VC', '4261VC', '4263VC', '4264VC', '4265VC', '4285VC', '4288VC',
'4330VC', '4361VC', '4442VC', '4445VC', '4462VC', '4528VC', '4531VC', '4534VC',
'4558VC', '4657VC', '4721VC', '4722VC', '4727VC', '4735VC', '4737VC', '4745VC',
'4752VC', '4758VC', '4765VC', '4785VC', '4790VC', '4801VC', '4815VC', '4874VC',
'4882VC', '5032VC', '5113VC', '5382VC', '5383VC', '5440VC', '5442VC', '5456VC',
'5540VC', '5571VC', '5572VC', '5574VC', '5575VC', '5588VC', '5592VC', '5685VC',
'5712VC', '5721VC', '5807VC', '5823VC', '5825VC', '5835VC', '5852VC', '5871VC',
'5872VC', '5873VC', '5874VC', '5882VC', '5883VC', '5885VC', '5987VC', '5991VC',
'5995VC', '6001VC', '6007VC', '6040VC', '6151VC', '6252VC', '6255VC', '6270VC',
'6471VC', '5658VCI'
]);
export default function App() {
const [session, setSession] = useState<AuthSession | null>(() => getStoredSession());
@@ -231,6 +259,11 @@ const articleNoIdx = resolvedCols.ARTICLE_NO;
}
}
// Force stock 0 for specific SKUs (User request)
if (FORCED_ZERO_STOCK_SKUS.has(articleNo)) {
finalRow[COLUMNS.ITEM_AVAILABLE] = 0;
}
return finalRow.map((val: any, idx: number) => {
if (val === undefined || val === null || val === '') return val;
const header = (extendedHeaders[idx] || '').toLowerCase();
@@ -317,8 +350,9 @@ const articleNoIdx = resolvedCols.ARTICLE_NO;
const headers = data[0];
const rawRows = data.slice(1);
const resolvedCols = resolveColumnIndices(headers);
const processedRows = rawRows.map(row => {
return row.map((val, idx) => {
const finalRow = row.map((val, idx) => {
if (val === undefined || val === null || val === '') return val;
const header = (headers[idx] || '').toLowerCase();
@@ -356,6 +390,13 @@ const articleNoIdx = resolvedCols.ARTICLE_NO;
}
return val;
});
// Force stock 0 for specific SKUs (User request)
const articleNo = String(finalRow[resolvedCols.ARTICLE_NO] || '');
if (FORCED_ZERO_STOCK_SKUS.has(articleNo)) {
finalRow[resolvedCols.ITEM_AVAILABLE] = 0;
}
return finalRow;
});
setAppState({