entity 수정
This commit is contained in:
parent
28bd0d55cd
commit
c3cb1a0033
|
|
@ -79,7 +79,23 @@ export const WebTypeInput: React.FC<WebTypeInputProps> = ({
|
||||||
const loadEntityData = useCallback(async () => {
|
const loadEntityData = useCallback(async () => {
|
||||||
try {
|
try {
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
const data = await EntityReferenceAPI.getEntityReferenceData(tableName!, column.columnName, { limit: 100 });
|
// tableName이 없으면 referenceTable에서 추론 (dept_code -> dept_info)
|
||||||
|
const effectiveTableName =
|
||||||
|
tableName ||
|
||||||
|
(() => {
|
||||||
|
if (column.columnName?.endsWith("_code")) {
|
||||||
|
return column.columnName.replace("_code", "_info");
|
||||||
|
}
|
||||||
|
if (column.columnName?.endsWith("_id")) {
|
||||||
|
return column.columnName.replace("_id", "_info");
|
||||||
|
}
|
||||||
|
return "unknown_table";
|
||||||
|
})();
|
||||||
|
|
||||||
|
console.log(`🔍 Entity API 호출: ${effectiveTableName}.${column.columnName}`);
|
||||||
|
const data = await EntityReferenceAPI.getEntityReferenceData(effectiveTableName, column.columnName, {
|
||||||
|
limit: 100,
|
||||||
|
});
|
||||||
setEntityOptions(data.options);
|
setEntityOptions(data.options);
|
||||||
} catch {
|
} catch {
|
||||||
setEntityOptions([]);
|
setEntityOptions([]);
|
||||||
|
|
@ -105,9 +121,25 @@ export const WebTypeInput: React.FC<WebTypeInputProps> = ({
|
||||||
|
|
||||||
// Entity 타입일 때 참조 데이터 로드
|
// Entity 타입일 때 참조 데이터 로드
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
// 디버깅: dept_code 필드의 정보 확인
|
||||||
|
if (column.columnName === "dept_code") {
|
||||||
|
console.log("🔍 dept_code 필드 디버깅:", {
|
||||||
|
columnName: column.columnName,
|
||||||
|
webType: webType,
|
||||||
|
referenceTable: column.referenceTable,
|
||||||
|
tableName: tableName,
|
||||||
|
shouldLoadEntity: (webType === "entity" || column.referenceTable) && tableName && column.columnName,
|
||||||
|
fullColumn: column,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// webType이 entity이거나, referenceTable이 있으면 entity로 처리
|
// webType이 entity이거나, referenceTable이 있으면 entity로 처리
|
||||||
if ((webType === "entity" || column.referenceTable) && tableName && column.columnName) {
|
if ((webType === "entity" || column.referenceTable) && column.columnName) {
|
||||||
loadEntityData();
|
// tableName이 없으면 referenceTable에서 추론
|
||||||
|
const effectiveTableName = tableName || (column.referenceTable ? "unknown" : null);
|
||||||
|
if (effectiveTableName) {
|
||||||
|
loadEntityData();
|
||||||
|
}
|
||||||
} else if (webType === "code" && (column.codeCategory || detailSettings.codeCategory || fallbackCodeCategory)) {
|
} else if (webType === "code" && (column.codeCategory || detailSettings.codeCategory || fallbackCodeCategory)) {
|
||||||
loadCodeData();
|
loadCodeData();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -310,6 +310,7 @@ export const ColumnTableSection: React.FC<ColumnTableSectionProps> = ({
|
||||||
onChange={(value) => onDefaultValueChange(column.columnName, value)}
|
onChange={(value) => onDefaultValueChange(column.columnName, value)}
|
||||||
className="h-6 border-gray-200 text-xs focus:border-green-400 focus:ring-0"
|
className="h-6 border-gray-200 text-xs focus:border-green-400 focus:ring-0"
|
||||||
placeholder="기본값 입력..."
|
placeholder="기본값 입력..."
|
||||||
|
tableName={tableName}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue