Merge branch 'main' of https://www.onasys.co.kr:3000/ONAANDALL/frontend into iipbs/st/dev

This commit is contained in:
2026-03-30 16:40:14 +09:00
20 changed files with 2340 additions and 2344 deletions
+1 -1
View File
@@ -25,7 +25,7 @@
},
"devDependencies": {
"eslint": "^9.0.0",
"eslint-config-next": "15.4.0",
"eslint-config-next": "15.3.8",
"postcss": "^8.4.49",
"prettier": "^3.4.2",
"prettier-plugin-tailwindcss": "^0.6.11",
+1 -1
View File
@@ -52,7 +52,7 @@
"@types/node": "^22.13.1",
"@types/webpack": "^5.28.5",
"eslint": "^9.0.0",
"eslint-config-next": "15.4.0",
"eslint-config-next": "15.3.8",
"postcss": "^8.4.49",
"prettier": "^3.4.2",
"prettier-plugin-tailwindcss": "^0.6.11",
+1 -1
View File
@@ -46,7 +46,7 @@
"@types/node": "^22.13.1",
"@types/webpack": "^5.28.5",
"eslint": "^9",
"eslint-config-next": "15.1.7",
"eslint-config-next": "15.3.8",
"postcss": "^8",
"prettier": "^3.4.2",
"prettier-plugin-tailwindcss": "^0.6.11",
+1 -1
View File
@@ -52,7 +52,7 @@
"@types/node": "^22.13.1",
"@types/webpack": "^5.28.5",
"eslint": "^9.0.0",
"eslint-config-next": "15.4.0",
"eslint-config-next": "15.3.8",
"postcss": "^8.4.49",
"prettier": "^3.4.2",
"prettier-plugin-tailwindcss": "^0.6.11",
+1 -1
View File
@@ -41,7 +41,7 @@
"@types/node": "^22.17.0",
"@types/webpack": "^5.28.5",
"eslint": "^9.0.0",
"eslint-config-next": "15.4.0",
"eslint-config-next": "15.3.8",
"postcss": "^8.4.49",
"prettier": "^3.4.2",
"prettier-plugin-tailwindcss": "^0.6.11",
+1 -1
View File
@@ -29,7 +29,7 @@
"@eslint/eslintrc": "^3",
"@types/webpack": "^5.28.5",
"eslint": "^9",
"eslint-config-next": "15.1.7",
"eslint-config-next": "15.3.8",
"postcss": "^8",
"tailwindcss": "^3.4.1",
"typescript": "^5"
+2 -2
View File
@@ -29,8 +29,8 @@
"@eslint/eslintrc": "^3",
"@types/webpack": "^5.28.5",
"eslint": "^9",
"eslint-config-next": "15.1.7",
"postcss": "^8",
"eslint-config-next": "15.3.8",
"postcss": "^8",
"tailwindcss": "^3.4.1",
"typescript": "^5"
}
+1
View File
@@ -17,3 +17,4 @@ NEXT_PUBLIC_DC_URL = http://apigateway.iipbs-was.svc.cluster.local:8000/dc-s
NEXT_PUBLIC_SEWERAGE_API_URL = http://apigateway.iipbs-was.svc.cluster.local:8000/sewerage-service
NEXT_PUBLIC_NGII_URL = http://172.29.143.87/poiact
NEXT_PUBLIC_NGII_PARAM = BDE2BEF39DAFEC293AB6730150F222AC&service=WMTS&request=GetTile&version=1.0.0&format=image/png&layer=korean_map&style=korean&tilematrixset=korean&tilematrix={z}&tilecol={y}&tilerow={x}
NEXT_PUBLIC_CM_LOGIN_PAGE_URL = http://dev.onasys.co.kr:3000/auth/login
+1 -1
View File
@@ -37,7 +37,7 @@
"devDependencies": {
"@eslint/eslintrc": "^3",
"eslint": "^9",
"eslint-config-next": "15.1.7",
"eslint-config-next": "15.3.8",
"postcss": "^8",
"tailwindcss": "^3.4.17",
"typescript": "^5.6.3"
+1 -1
View File
@@ -15,4 +15,4 @@ NEXT_PUBLIC_NGII_URL = http://172.29.143.87/poiact
NEXT_PUBLIC_NGII_PARAM = BDE2BEF39DAFEC293AB6730150F222AC&service=WMTS&request=GetTile&version=1.0.0&format=image/png&layer=korean_map&style=korean&tilematrixset=korean&tilematrix={z}&tilecol={y}&tilerow={x}
NEXT_PUBLIC_SEWERAGE_API_URL = http://apigateway.iipbs-was.svc.cluster.local:8000
NEXT_PUBLIC_DC_URL = http://apigateway.iipbs-was.svc.cluster.local:8000
NEXT_PUBLIC_CM_LOGIN_PAGE_URL = http://dev.onasys.co.kr:3000/auth/login
+1 -1
View File
@@ -48,7 +48,7 @@
"@types/node": "^22.13.1",
"@types/webpack": "^5.28.5",
"eslint": "^9",
"eslint-config-next": "15.1.7",
"eslint-config-next": "15.3.8",
"postcss": "^8",
"prettier": "^3.4.2",
"prettier-plugin-tailwindcss": "^0.6.11",
+1 -1
View File
@@ -62,7 +62,7 @@
"@types/node": "^22.13.1",
"@types/webpack": "^5.28.5",
"eslint": "^9",
"eslint-config-next": "15.1.7",
"eslint-config-next": "15.3.8",
"eslint-plugin-react-hooks": "^5.0.0",
"postcss": "^8",
"prettier": "^3.4.2",
@@ -179,7 +179,7 @@ const ImrVerificationHistory = () => {
stAnlsRsltApi.getImrResultList(selectedHistory!.anlsSn, {
page: 0,
size: 100,
sort: "rsltSn,asc",
sort: "admdstCd,asc",
}),
enabled: !!selectedHistory,
});
@@ -89,7 +89,7 @@ const HbVerificationDetail: React.FC<HbVerificationDetailProps> = ({
검증 결과 상세
</h3>
<div className="flex">
<div className="flex-[0.5] p-4">
<div className="flex-1 p-4">
<RegionalGrid
anlsSn={anlsSn}
vrfcTrgtSn={selectedVrfcTrgtSn}
@@ -102,7 +102,7 @@ const HbVerificationDetail: React.FC<HbVerificationDetailProps> = ({
appliedFilter={appliedFilter}
/>
</div>
<div className="flex flex-[0.5] flex-col gap-4 p-4 pt-[4.8rem]">
<div className="flex flex-col gap-4 p-4 pt-[4.8rem]">
<Indicators
anlsSn={anlsSn}
vrfcTrgtSn={selectedVrfcTrgtSn}
@@ -52,6 +52,32 @@ interface DataPoint extends LinePoint {
item: StAnlsRsltResponse;
}
/** 모든 점의 x·y를 합쳐 두 축이 같은 [min, max] 구간을 쓰도록 할 때 사용 */
function getUnifiedLinearRange(data: ChartData<"scatter">): {
min: number;
max: number;
} | null {
const values: number[] = [];
for (const ds of data.datasets) {
for (const pt of ds.data) {
if (pt && typeof pt === "object" && "x" in pt && "y" in pt) {
const p = pt as LinePoint;
if (Number.isFinite(p.x)) values.push(p.x);
if (Number.isFinite(p.y)) values.push(p.y);
}
}
}
if (values.length === 0) return null;
const min = Math.min(...values);
const max = Math.max(...values);
if (min === max) {
const pad = Math.abs(min) * 0.05 || 1;
return { min: min - pad, max: max + pad };
}
const padding = (max - min) * 0.02;
return { min: min - padding, max: max + padding };
}
function matchesAdmdstFilter(
admdstCd: string,
sidoCd: string | null | undefined,
@@ -172,6 +198,8 @@ const ScatterChart: React.FC<ScatterChartProps> = ({
],
};
const axisRange = getUnifiedLinearRange(data);
const options: ChartOptions<"scatter"> = {
responsive: true,
maintainAspectRatio: false,
@@ -230,6 +258,8 @@ const ScatterChart: React.FC<ScatterChartProps> = ({
x: {
type: "linear",
position: "bottom",
min: axisRange?.min,
max: axisRange?.max,
title: {
display: true,
text: "이전년도 값",
@@ -237,6 +267,8 @@ const ScatterChart: React.FC<ScatterChartProps> = ({
},
y: {
type: "linear",
min: axisRange?.min,
max: axisRange?.max,
title: {
display: true,
text: "당해년도 값",
@@ -267,7 +299,7 @@ const ScatterChart: React.FC<ScatterChartProps> = ({
</div>
</div>
) : chartConfig ? (
<div className="h-[48rem] w-full">
<div className="size-[52rem]">
<Scatter
data={chartConfig.data}
options={chartConfig.options}
@@ -2,8 +2,13 @@ import { ValueType } from "realgrid";
import type { ColumnInfo } from "@/components/type/DataGrid.type";
/** 공통: 시도·구군·행정구역 */
const IMR_VISIBLE_REGION_COLUMNS = ["sido", "gugun", "adstDong"] as const;
/** 공통: 시도·구군·행정구역·당해년도 */
const IMR_VISIBLE_REGION_COLUMNS = [
"sido",
"gugun",
"adstDong",
"cryrVl",
] as const;
/** ST00020003, ST00020005: 시도·구군·행정구역·관종구분 */
const IMR_VISIBLE_REGION_AND_PIPE_SE_COLUMNS = [
+2 -1
View File
@@ -20,4 +20,5 @@ NEXT_PUBLIC_NGII_PARAM = BDE2BEF39DAFEC293AB6730150F222AC&service=WMTS&request=G
NEXT_PUBLIC_HASUDOINFO = https://www.hasudoinfo.or.kr
NEXT_PUBLIC_HASUDOINFO_IN = http://10.101.163.102:8889
NEXT_PUBLIC_FINDADRESS_URL=https://business.juso.go.kr/addrlink/addrLinkApi.do
NEXT_PRIVATE_WR_ADDRESS_KEY = U01TXOFVVEgyMDI1MDgyODE0MTAxNzExNjEyMjA=
NEXT_PRIVATE_WR_ADDRESS_KEY = U01TXOFVVEgyMDI1MDgyODE0MTAxNzExNjEyMjA=
NEXT_PUBLIC_CM_LOGIN_PAGE_URL = http://dev.onasys.co.kr:3000/auth/login
+1 -1
View File
@@ -51,7 +51,7 @@
"@eslint/eslintrc": "^3",
"@types/webpack": "^5.28.5",
"eslint": "^9",
"eslint-config-next": "15.1.7",
"eslint-config-next": "15.3.8",
"postcss": "^8",
"tailwindcss": "^3.4.1",
"typescript": "^5"
+23 -22
View File
@@ -8,28 +8,28 @@
"apps/*",
"packages/*"
],
"scripts": {
"build": "turbo run build",
"build:common": "turbo run build --filter=@common/*",
"dev": "turbo run dev",
"build:cm": "turbo run build --filter=cm",
"build:cs": "turbo run build --filter=cs",
"build:sn": "turbo run build --filter=sn",
"build:wr": "turbo run build --filter=wr",
"build:fo": "turbo run build --filter=fo",
"build:dm": "turbo run build --filter=dm",
"build:dm_new": "turbo run build --filter=dm_new",
"dev:cm": "turbo run dev --filter=cm",
"dev:cs": "turbo run dev --filter=cs",
"dev:sn": "turbo run dev --filter=sn",
"dev:wr": "turbo run dev --filter=wr",
"dev:fo": "turbo run dev --filter=fo",
"dev:dm": "turbo run dev --filter=dm",
"dev:dm_new": "turbo run dev --filter=dm_new",
"preview:components": "turbo run storybook --filter=@common/components",
"preinstall": "npx only-allow pnpm",
"prepare": "husky"
},
"scripts": {
"build": "turbo run build",
"build:common": "turbo run build --filter=@common/*",
"dev": "turbo run dev",
"build:cm": "turbo run build --filter=cm",
"build:cs": "turbo run build --filter=cs",
"build:sn": "turbo run build --filter=sn",
"build:wr": "turbo run build --filter=wr",
"build:fo": "turbo run build --filter=fo",
"build:dm": "turbo run build --filter=dm",
"build:dm_new": "turbo run build --filter=dm_new",
"dev:cm": "turbo run dev --filter=cm",
"dev:cs": "turbo run dev --filter=cs",
"dev:sn": "turbo run dev --filter=sn",
"dev:wr": "turbo run dev --filter=wr",
"dev:fo": "turbo run dev --filter=fo",
"dev:dm": "turbo run dev --filter=dm",
"dev:dm_new": "turbo run dev --filter=dm_new",
"preview:components": "turbo run storybook --filter=@common/components",
"preinstall": "npx only-allow pnpm",
"prepare": "husky"
},
"dependencies": {
"chart.js": "^4.4.8",
"react": "^19.2.1",
@@ -39,6 +39,7 @@
},
"devDependencies": {
"@eslint/eslintrc": "^3",
"@next/eslint-plugin-next": "^15.3.8",
"@types/node": "^22.13.1",
"@types/react": "^19.2.7",
"@types/react-dom": "^19.2.3",
+2258 -2302
View File
File diff suppressed because it is too large Load Diff