From 7baebf2cbc6d3b0bd24ed3527b58f986687ec63f Mon Sep 17 00:00:00 2001 From: bicochan Date: Tue, 25 Aug 2026 10:31:40 +0900 Subject: [PATCH] =?UTF-8?q?[as]=20feat:=20=EB=B6=80=EB=8F=99=EC=86=8C?= =?UTF-8?q?=EC=88=98=EC=A0=90=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib/biz-cst-matrix-utils.ts | 10 +++++---- .../sewer-bsc-plan/lib/fnrs-cst-form-utils.ts | 12 +++++------ .../ui/sections/fnrs-cst-form-section.tsx | 3 +-- apps/as/src/widgets/pbadms-sprt/index.ts | 2 +- .../lib/business-cost-form-utils.ts | 8 ++++++- .../lib/business-scale-form-utils.ts | 10 +++++++-- .../pbadms-sprt/lib/fnrs-shar-form-utils.ts | 21 ++++++++++++------- .../widgets/pbadms-sprt/lib/format-utils.ts | 7 +++++++ 8 files changed, 50 insertions(+), 23 deletions(-) diff --git a/apps/as/src/pages/sewer-bsc-plan/lib/biz-cst-matrix-utils.ts b/apps/as/src/pages/sewer-bsc-plan/lib/biz-cst-matrix-utils.ts index 41ff8e9da..74867acd6 100644 --- a/apps/as/src/pages/sewer-bsc-plan/lib/biz-cst-matrix-utils.ts +++ b/apps/as/src/pages/sewer-bsc-plan/lib/biz-cst-matrix-utils.ts @@ -1,4 +1,4 @@ -import type { CostItemDef } from "@/widgets/pbadms-sprt/lib/business-cost-form-utils"; +import { type CostItemDef, roundAmount } from "@/widgets/pbadms-sprt"; export interface BizCstMatrixItem { planStpNo: number; @@ -45,9 +45,11 @@ function recalculateBizCstMatrix( if (!item.readonly || !item.children) continue; for (const planStpNo of PLAN_STEPS) { - const childSum = item.children.reduce( - (sum, childCode) => sum + getAmt(next, childCode, planStpNo), - 0, + const childSum = roundAmount( + item.children.reduce( + (sum, childCode) => sum + getAmt(next, childCode, planStpNo), + 0, + ), ); const current = getAmt(next, item.code, planStpNo); if (current !== childSum) { diff --git a/apps/as/src/pages/sewer-bsc-plan/lib/fnrs-cst-form-utils.ts b/apps/as/src/pages/sewer-bsc-plan/lib/fnrs-cst-form-utils.ts index a6ed6b94b..57de61985 100644 --- a/apps/as/src/pages/sewer-bsc-plan/lib/fnrs-cst-form-utils.ts +++ b/apps/as/src/pages/sewer-bsc-plan/lib/fnrs-cst-form-utils.ts @@ -1,4 +1,4 @@ -import type { CostItemDef } from "@/widgets/pbadms-sprt/lib/business-cost-form-utils"; +import { type CostItemDef, roundAmount } from "@/widgets/pbadms-sprt"; import { type BizCstMatrixItem,getAmt, PLAN_STEPS } from "./biz-cst-matrix-utils"; @@ -31,11 +31,11 @@ function getBizCstStepTotal( } function sumFnrsCstLeaf(item: FnrsCstItem): number { - return ( + return roundAmount( (item.gvexpAmt ?? 0) + - (item.lcexpAmt ?? 0) + - (item.orgprBdchgAmt ?? 0) + - (item.etcAmt ?? 0) + (item.lcexpAmt ?? 0) + + (item.orgprBdchgAmt ?? 0) + + (item.etcAmt ?? 0), ); } @@ -55,7 +55,7 @@ function calcFnrsCstRemaining( const bizTotal = getBizCstStepTotal(bizCstList, costItems, planStpNo); const fnrsItem = fnrsCstList.find((item) => item.planStpNo === planStpNo); const sharTotal = fnrsItem ? sumFnrsCstLeaf(fnrsItem) : 0; - return { planStpNo, remaining: bizTotal - sharTotal }; + return { planStpNo, remaining: roundAmount(bizTotal - sharTotal) }; }); } diff --git a/apps/as/src/pages/sewer-bsc-plan/ui/sections/fnrs-cst-form-section.tsx b/apps/as/src/pages/sewer-bsc-plan/ui/sections/fnrs-cst-form-section.tsx index c27e2d34b..3779c4c22 100644 --- a/apps/as/src/pages/sewer-bsc-plan/ui/sections/fnrs-cst-form-section.tsx +++ b/apps/as/src/pages/sewer-bsc-plan/ui/sections/fnrs-cst-form-section.tsx @@ -154,8 +154,7 @@ function FnrsCstFormSection() {