채번 자동생성기능
This commit is contained in:
@@ -21,6 +21,25 @@ export async function getNumberingRules(): Promise<ApiResponse<NumberingRuleConf
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 메뉴별 사용 가능한 채번 규칙 조회
|
||||
* @param menuObjid 현재 메뉴의 objid (선택)
|
||||
* @returns 사용 가능한 채번 규칙 목록
|
||||
*/
|
||||
export async function getAvailableNumberingRules(
|
||||
menuObjid?: number
|
||||
): Promise<ApiResponse<NumberingRuleConfig[]>> {
|
||||
try {
|
||||
const url = menuObjid
|
||||
? `/numbering-rules/available/${menuObjid}`
|
||||
: "/numbering-rules/available";
|
||||
const response = await apiClient.get(url);
|
||||
return response.data;
|
||||
} catch (error: any) {
|
||||
return { success: false, error: error.message || "사용 가능한 규칙 조회 실패" };
|
||||
}
|
||||
}
|
||||
|
||||
export async function getNumberingRuleById(ruleId: string): Promise<ApiResponse<NumberingRuleConfig>> {
|
||||
try {
|
||||
const response = await apiClient.get(`/numbering-rules/${ruleId}`);
|
||||
@@ -62,15 +81,49 @@ export async function deleteNumberingRule(ruleId: string): Promise<ApiResponse<v
|
||||
}
|
||||
}
|
||||
|
||||
export async function generateCode(ruleId: string): Promise<ApiResponse<{ code: string }>> {
|
||||
/**
|
||||
* 코드 미리보기 (순번 증가 없음)
|
||||
* 화면 표시용으로 사용
|
||||
*/
|
||||
export async function previewNumberingCode(
|
||||
ruleId: string
|
||||
): Promise<ApiResponse<{ generatedCode: string }>> {
|
||||
try {
|
||||
const response = await apiClient.post(`/numbering-rules/${ruleId}/generate`);
|
||||
const response = await apiClient.post(`/numbering-rules/${ruleId}/preview`);
|
||||
return response.data;
|
||||
} catch (error: any) {
|
||||
return { success: false, error: error.message || "코드 생성 실패" };
|
||||
return { success: false, error: error.message || "코드 미리보기 실패" };
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 코드 할당 (저장 시점에 실제 순번 증가)
|
||||
* 실제 저장할 때만 호출
|
||||
*/
|
||||
export async function allocateNumberingCode(
|
||||
ruleId: string
|
||||
): Promise<ApiResponse<{ generatedCode: string }>> {
|
||||
try {
|
||||
const response = await apiClient.post(`/numbering-rules/${ruleId}/allocate`);
|
||||
return response.data;
|
||||
} catch (error: any) {
|
||||
return { success: false, error: error.message || "코드 할당 실패" };
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated 기존 generateNumberingCode는 previewNumberingCode를 사용하세요
|
||||
*/
|
||||
export async function generateNumberingCode(
|
||||
ruleId: string
|
||||
): Promise<ApiResponse<{ generatedCode: string }>> {
|
||||
console.warn("generateNumberingCode는 deprecated. previewNumberingCode 사용 권장");
|
||||
return previewNumberingCode(ruleId);
|
||||
}
|
||||
|
||||
// 하위 호환성을 위한 별칭
|
||||
export const generateCode = generateNumberingCode;
|
||||
|
||||
export async function resetSequence(ruleId: string): Promise<ApiResponse<void>> {
|
||||
try {
|
||||
const response = await apiClient.post(`/numbering-rules/${ruleId}/reset`);
|
||||
@@ -79,3 +132,4 @@ export async function resetSequence(ruleId: string): Promise<ApiResponse<void>>
|
||||
return { success: false, error: error.message || "시퀀스 초기화 실패" };
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user