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() {