[st] chore: 검증항목관리 그리드 컬럼 수정
This commit is contained in:
@@ -4,8 +4,6 @@ import { useEffect, useState } from "react";
|
||||
import { Controller, useForm } from "react-hook-form";
|
||||
|
||||
import { zodResolver } from "@hookform/resolvers/zod";
|
||||
import { Search } from "lucide-react";
|
||||
import { Tooltip, TooltipContent, TooltipTrigger } from "@common/components";
|
||||
|
||||
import { CodeSelect } from "@/entities/code/ui/code-select";
|
||||
import { verificationTargetManagementApi } from "@/entities/statistics/api/verification-target-management-service";
|
||||
@@ -17,6 +15,14 @@ import {
|
||||
type VerificationTargetManagementFormData,
|
||||
verificationTargetManagementSchema,
|
||||
} from "@/entities/statistics/model/verification-target-management-schema";
|
||||
import {
|
||||
Label,
|
||||
RadioGroup,
|
||||
RadioGroupItem,
|
||||
Tooltip,
|
||||
TooltipContent,
|
||||
TooltipTrigger,
|
||||
} from "@common/components";
|
||||
import {
|
||||
Button,
|
||||
Dialog,
|
||||
@@ -321,16 +327,27 @@ export function VerificationTargetDialog({
|
||||
{tabValue !== "IMR" && (
|
||||
<TableRow>
|
||||
<TableHead className="bg-muted font-medium">
|
||||
|
||||
<Tooltip>
|
||||
<TooltipTrigger asChild>
|
||||
<span className="inline-flex cursor-help items-center gap-1">
|
||||
중요도 계수(μ)
|
||||
<i className="diveicon di-info-circle text-muted-foreground" />
|
||||
</span>
|
||||
<span className="inline-flex cursor-help items-center gap-1">
|
||||
중요도 계수(μ)
|
||||
<i className="diveicon di-info-circle text-muted-foreground" />
|
||||
</span>
|
||||
</TooltipTrigger>
|
||||
<TooltipContent>
|
||||
<p>통계청(Statistics Canada) 등에서 기업 단위의 주기적 조사 데이터(수익, 매출, 생산량 등)에서 이상치(Outlier)를 탐지할 때, 데이터의 크기(규모)에 따라 이상치 판별 기준을 다르게 적용하기 위해 도입된 가중치 요인</p>
|
||||
<p>
|
||||
통계청(Statistics
|
||||
Canada) 등에서 기업
|
||||
단위의 주기적 조사
|
||||
데이터(수익, 매출,
|
||||
생산량 등)에서
|
||||
이상치(Outlier)를 탐지할
|
||||
때, 데이터의
|
||||
크기(규모)에 따라 이상치
|
||||
판별 기준을 다르게
|
||||
적용하기 위해 도입된
|
||||
가중치 요인
|
||||
</p>
|
||||
</TooltipContent>
|
||||
</Tooltip>
|
||||
</TableHead>
|
||||
@@ -370,13 +387,19 @@ export function VerificationTargetDialog({
|
||||
<TableHead className="bg-muted font-medium">
|
||||
<Tooltip>
|
||||
<TooltipTrigger asChild>
|
||||
<span className="inline-flex cursor-help items-center gap-1">
|
||||
백분위수 기준값(pct)
|
||||
<i className="diveicon di-info-circle text-muted-foreground" />
|
||||
</span>
|
||||
<span className="inline-flex cursor-help items-center gap-1">
|
||||
백분위수 기준값(pct)
|
||||
<i className="diveicon di-info-circle text-muted-foreground" />
|
||||
</span>
|
||||
</TooltipTrigger>
|
||||
<TooltipContent>
|
||||
<p>데이터가 정규분포를 따르지 않아도, 데이터의 하위/상위 몇 % 위치를 기준으로 이상치 범위를 정할지 결정</p>
|
||||
<p>
|
||||
데이터가 정규분포를
|
||||
따르지 않아도, 데이터의
|
||||
하위/상위 몇 % 위치를
|
||||
기준으로 이상치 범위를
|
||||
정할지 결정
|
||||
</p>
|
||||
</TooltipContent>
|
||||
</Tooltip>
|
||||
</TableHead>
|
||||
@@ -419,16 +442,23 @@ export function VerificationTargetDialog({
|
||||
{tabValue !== "IMR" && (
|
||||
<TableRow>
|
||||
<TableHead className="bg-muted font-medium">
|
||||
|
||||
<Tooltip>
|
||||
<TooltipTrigger asChild>
|
||||
<span className="inline-flex cursor-help items-center gap-1">
|
||||
스케일 조정 계수(A)
|
||||
<i className="diveicon di-info-circle text-muted-foreground" />
|
||||
</span>
|
||||
<span className="inline-flex cursor-help items-center gap-1">
|
||||
스케일 조정 계수(A)
|
||||
<i className="diveicon di-info-circle text-muted-foreground" />
|
||||
</span>
|
||||
</TooltipTrigger>
|
||||
<TooltipContent>
|
||||
<p>데이터의 크기가 다른 경우, 특히 규모가 작은 업체가 이상치로 잘못 탐지되는 것을 막기 위해 변환된 비율(Symmetric Ratios)에 규모(size)의 영향을 보정하는 역할</p>
|
||||
<p>
|
||||
데이터의 크기가 다른
|
||||
경우, 특히 규모가 작은
|
||||
업체가 이상치로 잘못
|
||||
탐지되는 것을 막기 위해
|
||||
변환된 비율(Symmetric
|
||||
Ratios)에 규모(size)의
|
||||
영향을 보정하는 역할
|
||||
</p>
|
||||
</TooltipContent>
|
||||
</Tooltip>
|
||||
</TableHead>
|
||||
@@ -465,16 +495,22 @@ export function VerificationTargetDialog({
|
||||
)}
|
||||
/>
|
||||
</TableCell>
|
||||
<TableHead className="bg-muted font-medium" >
|
||||
<TableHead className="bg-muted font-medium">
|
||||
<Tooltip>
|
||||
<TooltipTrigger asChild>
|
||||
<span className="inline-flex cursor-help items-center gap-1">
|
||||
임계 계수(c)
|
||||
<i className="diveicon di-info-circle text-muted-foreground" />
|
||||
</span>
|
||||
<span className="inline-flex cursor-help items-center gap-1">
|
||||
임계 계수(c)
|
||||
<i className="diveicon di-info-circle text-muted-foreground" />
|
||||
</span>
|
||||
</TooltipTrigger>
|
||||
<TooltipContent>
|
||||
<p>데이터의 분포가 중앙값(median)을 중심으로 얼마나 흩어져 있는지를 바탕으로 이상치 범위를 결정</p>
|
||||
<p>
|
||||
데이터의 분포가
|
||||
중앙값(median)을
|
||||
중심으로 얼마나 흩어져
|
||||
있는지를 바탕으로 이상치
|
||||
범위를 결정
|
||||
</p>
|
||||
</TooltipContent>
|
||||
</Tooltip>
|
||||
</TableHead>
|
||||
@@ -513,6 +549,48 @@ export function VerificationTargetDialog({
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
)}
|
||||
|
||||
<TableRow>
|
||||
<TableHead className="bg-muted font-medium">
|
||||
사용 여부
|
||||
</TableHead>
|
||||
<TableCell colSpan={3}>
|
||||
<Controller
|
||||
name="useYn"
|
||||
control={control}
|
||||
render={({ field }) => (
|
||||
<div className="space-y-1">
|
||||
<RadioGroup
|
||||
className="flex items-center"
|
||||
{...field}
|
||||
onValueChange={
|
||||
field.onChange
|
||||
}
|
||||
>
|
||||
<div className="flex items-center gap-1">
|
||||
<RadioGroupItem
|
||||
value="Y"
|
||||
id="useY"
|
||||
/>
|
||||
<Label htmlFor="useY">
|
||||
예
|
||||
</Label>
|
||||
</div>
|
||||
<div className="flex items-center gap-1">
|
||||
<RadioGroupItem
|
||||
value="N"
|
||||
id="useN"
|
||||
/>
|
||||
<Label htmlFor="useN">
|
||||
아니오
|
||||
</Label>
|
||||
</div>
|
||||
</RadioGroup>
|
||||
</div>
|
||||
)}
|
||||
/>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
</TableBody>
|
||||
</Table>
|
||||
|
||||
@@ -612,4 +690,3 @@ export function VerificationTargetDialog({
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
+24
@@ -67,6 +67,13 @@ export const hbArticleColumnInfo: ColumnInfo = {
|
||||
valueType: ValueType.NUMBER,
|
||||
dataFormat: "#,##0.###",
|
||||
},
|
||||
{
|
||||
name: "useYn",
|
||||
fieldName: "useYn",
|
||||
header: { text: "사용 여부" },
|
||||
editable: false,
|
||||
sortdisable: false,
|
||||
},
|
||||
{
|
||||
name: "rgtrNm",
|
||||
fieldName: "rgtrNm",
|
||||
@@ -91,6 +98,7 @@ export const hbArticleColumnInfo: ColumnInfo = {
|
||||
"pctlCrtrVl",
|
||||
"scopCntCntVl",
|
||||
"thrsCntVl",
|
||||
"useYn",
|
||||
"rgtrNm",
|
||||
"regDt",
|
||||
],
|
||||
@@ -126,6 +134,13 @@ export const imrArticleColumnInfo: ColumnInfo = {
|
||||
editable: false,
|
||||
sortdisable: false,
|
||||
},
|
||||
{
|
||||
name: "useYn",
|
||||
fieldName: "useYn",
|
||||
header: { text: "사용 여부" },
|
||||
editable: false,
|
||||
sortdisable: false,
|
||||
},
|
||||
{
|
||||
name: "rgtrNm",
|
||||
fieldName: "rgtrNm",
|
||||
@@ -146,6 +161,7 @@ export const imrArticleColumnInfo: ColumnInfo = {
|
||||
"vrfcTrgtNm",
|
||||
"tblNm",
|
||||
"colNm",
|
||||
"useYn",
|
||||
"rgtrNm",
|
||||
"regDt",
|
||||
],
|
||||
@@ -181,6 +197,13 @@ export const validationArticleColumnInfo: ColumnInfo = {
|
||||
editable: false,
|
||||
sortdisable: false,
|
||||
},
|
||||
{
|
||||
name: "useYn",
|
||||
fieldName: "useYn",
|
||||
header: { text: "사용 여부" },
|
||||
editable: false,
|
||||
sortdisable: false,
|
||||
},
|
||||
{
|
||||
name: "rgtrNm",
|
||||
fieldName: "rgtrNm",
|
||||
@@ -201,6 +224,7 @@ export const validationArticleColumnInfo: ColumnInfo = {
|
||||
"vrfcTrgtNm",
|
||||
"tblNm",
|
||||
"colNm",
|
||||
"useYn",
|
||||
"rgtrNm",
|
||||
"regDt",
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user