코드 할당 요청 시 폼 데이터 추가: numberingRuleController에서 코드 할당 요청 시 폼 데이터를 포함하도록 수정하였습니다. 이를 통해 날짜 컬럼 기준 생성 시 필요한 정보를 전달할 수 있도록 개선하였습니다.
This commit is contained in:
@@ -146,10 +146,34 @@ export class AutoGenerationUtils {
|
||||
}
|
||||
|
||||
/**
|
||||
* 자동생성 값 생성 메인 함수
|
||||
* 채번 규칙 API 호출하여 코드 생성
|
||||
*/
|
||||
static generateValue(config: AutoGenerationConfig, columnName?: string): string | null {
|
||||
console.log("🔧 AutoGenerationUtils.generateValue 호출:", {
|
||||
static async generateNumberingRuleCode(ruleId: string, formData?: Record<string, any>): Promise<string | null> {
|
||||
try {
|
||||
const { apiClient } = await import("@/lib/api/client");
|
||||
const response = await apiClient.post(`/numbering-rules/${ruleId}/allocate`, {
|
||||
formData: formData || {},
|
||||
});
|
||||
|
||||
if (response.data.success && response.data.data) {
|
||||
// API 응답에서 생성된 코드 추출
|
||||
const generatedCode = response.data.data.generatedCode || response.data.data;
|
||||
console.log("채번 규칙 코드 생성 성공:", generatedCode);
|
||||
return generatedCode;
|
||||
}
|
||||
console.error("채번 규칙 코드 생성 실패:", response.data.message);
|
||||
return null;
|
||||
} catch (error) {
|
||||
console.error("채번 규칙 API 호출 실패:", error);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 자동생성 값 생성 메인 함수 (비동기)
|
||||
*/
|
||||
static async generateValue(config: AutoGenerationConfig, columnName?: string, formData?: Record<string, any>): Promise<string | null> {
|
||||
console.log("AutoGenerationUtils.generateValue 호출:", {
|
||||
config,
|
||||
columnName,
|
||||
enabled: config.enabled,
|
||||
@@ -157,7 +181,7 @@ export class AutoGenerationUtils {
|
||||
});
|
||||
|
||||
if (!config.enabled || config.type === "none") {
|
||||
console.log("⚠️ AutoGenerationUtils.generateValue 스킵:", {
|
||||
console.log("AutoGenerationUtils.generateValue 스킵:", {
|
||||
enabled: config.enabled,
|
||||
type: config.type,
|
||||
});
|
||||
@@ -174,17 +198,25 @@ export class AutoGenerationUtils {
|
||||
return this.getCurrentUserId();
|
||||
|
||||
case "current_time":
|
||||
console.log("🕒 AutoGenerationUtils.generateCurrentTime 호출:", {
|
||||
console.log("AutoGenerationUtils.generateCurrentTime 호출:", {
|
||||
format: options.format,
|
||||
options,
|
||||
});
|
||||
const timeValue = this.generateCurrentTime(options.format);
|
||||
console.log("🕒 AutoGenerationUtils.generateCurrentTime 결과:", timeValue);
|
||||
console.log("AutoGenerationUtils.generateCurrentTime 결과:", timeValue);
|
||||
return timeValue;
|
||||
|
||||
case "sequence":
|
||||
return this.generateSequence(columnName || "default", options.startValue || 1, options.prefix, options.suffix);
|
||||
|
||||
case "numbering_rule":
|
||||
// 채번 규칙 ID가 있으면 API 호출
|
||||
if (options.numberingRuleId) {
|
||||
return await this.generateNumberingRuleCode(options.numberingRuleId, formData);
|
||||
}
|
||||
console.warn("numbering_rule 타입인데 numberingRuleId가 없습니다");
|
||||
return null;
|
||||
|
||||
case "random_string":
|
||||
return this.generateRandomString(options.length || 8, options.prefix, options.suffix);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user