feat: pop-card-list 업그레이드 — cart-outbound 삭제 + 프리셋 + 검사 연동 + UI 수정

- pop-cart-outbound 컴포넌트 완전 삭제 (4개 화면 pop-card-list로 교체 완료)
- 레지스트리/팔레트/타입에서 cart-outbound 참조 제거
- PopRenderer 뷰모드 label prop 제거 (컴포넌트 라벨 노출 버그 수정)
- dataFetcher SUM/AVG varchar CAST 처리 (Dashboard 500 수정)
- PopCardListConfig 장바구니 목록모드 섹션 프리셋 사용 시 숨김
- types.ts에 CardListPresetMode, CardListInspectionConfig 타입 추가
This commit is contained in:
SeongHyun Kim
2026-03-27 18:11:08 +09:00
parent eacfe60f89
commit 6fe7bfbefc
10 changed files with 21 additions and 1323 deletions

View File

@@ -148,12 +148,17 @@ export function buildAggregationSQL(config: DataSourceConfig): string {
: "";
// COUNT는 컬럼 없으면 COUNT(*), 나머지는 컬럼 필수
// SUM/AVG 등 숫자 집계 시 varchar 컬럼 대응: CAST AS NUMERIC 적용
const needsCast = ["SUM", "AVG"].includes(aggType);
if (!aggCol) {
selectClause = aggType === "COUNT"
? "COUNT(*) as value"
: `${aggType}(${tableName}.*) as value`;
} else {
selectClause = `${aggType}(${aggCol}) as value`;
const colExpr = needsCast
? `CAST(NULLIF(${aggCol}, '') AS NUMERIC)`
: aggCol;
selectClause = `${aggType}(${colExpr}) as value`;
}
// GROUP BY가 있으면 해당 컬럼도 SELECT에 포함