From b83a3d22ce8bb7d0f8c73efdb2c65eb7f23a5336 Mon Sep 17 00:00:00 2001 From: M_Kececi Date: Tue, 18 Aug 2026 22:07:33 +0300 Subject: [PATCH] Fix product performance grouped JSON build --- .../ProductionProductCostingHasCostDetail.vue | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/ui/src/pages/ProductionProductCostingHasCostDetail.vue b/ui/src/pages/ProductionProductCostingHasCostDetail.vue index d58a904..362ec77 100644 --- a/ui/src/pages/ProductionProductCostingHasCostDetail.vue +++ b/ui/src/pages/ProductionProductCostingHasCostDetail.vue @@ -2711,6 +2711,8 @@ function normalizeDetailRows (items, groupName = '') { inputPrice: x?.inputPrice ?? normalizeInputPrice(x?.fiyat_girilen), inputPricePrBr: originalCurrency, maliyeteDahil: normalizeBooleanFlag(x?.maliyeteDahil ?? x?.maliyete_dahil ?? x?.Maliyete_dahil), + __lastValidTRYAmount: parseMoneyInput(x?.lTutar ?? x?.lTutarTL), + __lastValidUSDAmount: parseMoneyInput(x?.usdTutar ?? x?.lTutarUSD), cmPriceTypeId: normalizeCMPriceTypeId(x?.cmPriceTypeId ?? x?.cm_price_type_id, groupName || x?.sAciklama3), draftChanged: Boolean(x?.draftChanged), priceUpdateState: String(x?.priceUpdateState || '').trim() @@ -2812,6 +2814,13 @@ function recalculateDetailRow (row, options = {}) { row.lTutarGBP = row.gbpTutar row.lTutarTL = row.lTutar + if (row.lTutar !== 0 || options.markChanged) { + row.__lastValidTRYAmount = row.lTutar + } + if (row.usdTutar !== 0 || options.markChanged) { + row.__lastValidUSDAmount = row.usdTutar + } + if (!options.preserveInputs) { row.miktarInput = normalizeQuantityInput(quantity) row.inputPrice = normalizeInputPrice(inputPrice) @@ -2917,12 +2926,16 @@ function resolveGroupRawTRYTutar (grp) { function resolveGroupRowTRYAmount (row) { const storedAmount = parseMoneyInput(row?.lTutar) - return storedAmount !== 0 ? storedAmount : resolveRowTRYTutar(row) + if (storedAmount !== 0) return storedAmount + const lastValidAmount = parseMoneyInput(row?.__lastValidTRYAmount) + return lastValidAmount !== 0 ? lastValidAmount : resolveRowTRYTutar(row) } function resolveGroupRowUSDAmount (row) { const storedAmount = parseMoneyInput(row?.usdTutar ?? row?.lTutarUSD) - return storedAmount !== 0 ? storedAmount : resolveRowUSDTutar(row) + if (storedAmount !== 0) return storedAmount + const lastValidAmount = parseMoneyInput(row?.__lastValidUSDAmount) + return lastValidAmount !== 0 ? lastValidAmount : resolveRowUSDTutar(row) } function resolveGroupTRYTutar (grp, _revision) {