feat: 품목 수정 시 발생하는 타입 캐스팅 에러 해결
- ModalRepeaterTableComponent에 납기일 자동 일괄 적용 로직 구현 - 첫 납기일 선택 시 빈 행에 자동으로 동일 날짜 적용 - isDeliveryDateApplied 플래그로 중복 실행 방지 - ScreenModal 환경에서 onFormDataChange 경로 지원 - updateFormDataPartial에서 WHERE 조건의 PK 타입 동적 감지 - integer, numeric, uuid 등 다양한 타입에 대응 - ::text 하드코딩 제거하여 타입 불일치 에러 해결
This commit is contained in:
parent
c387221043
commit
c0c81f20fc
|
|
@ -857,10 +857,22 @@ export class DynamicFormService {
|
|||
const values: any[] = Object.values(changedFields);
|
||||
values.push(id); // WHERE 조건용 ID 추가
|
||||
|
||||
// 🔑 Primary Key 타입에 맞게 캐스팅
|
||||
const pkDataType = columnTypes[primaryKeyColumn];
|
||||
let pkCast = '';
|
||||
if (pkDataType === 'integer' || pkDataType === 'bigint' || pkDataType === 'smallint') {
|
||||
pkCast = '::integer';
|
||||
} else if (pkDataType === 'numeric' || pkDataType === 'decimal') {
|
||||
pkCast = '::numeric';
|
||||
} else if (pkDataType === 'uuid') {
|
||||
pkCast = '::uuid';
|
||||
}
|
||||
// text, varchar 등은 캐스팅 불필요
|
||||
|
||||
const updateQuery = `
|
||||
UPDATE ${tableName}
|
||||
SET ${setClause}
|
||||
WHERE ${primaryKeyColumn} = $${values.length}::text
|
||||
WHERE ${primaryKeyColumn} = $${values.length}${pkCast}
|
||||
RETURNING *
|
||||
`;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue