Merge branch 'main' into jskim-node

This commit is contained in:
2026-04-08 01:42:08 +00:00
9 changed files with 195 additions and 38 deletions

View File

@@ -477,8 +477,21 @@ export async function getItems(req: AuthenticatedRequest, res: Response) {
export async function generateNumber(req: AuthenticatedRequest, res: Response) {
try {
const companyCode = req.user!.companyCode;
const pool = getPool();
const ruleId = (req.query.ruleId as string) || (req.query.rule_id as string);
// 1순위: POP 화면설정에서 선택한 채번규칙 사용
if (ruleId && ruleId !== "__none__") {
try {
const { numberingRuleService } = await import("../services/numberingRuleService");
const newNumber = await numberingRuleService.allocateCode(ruleId, companyCode);
return res.json({ success: true, data: newNumber });
} catch (e: any) {
logger.warn("선택한 채번규칙 사용 실패, 기본 채번으로 폴백", { ruleId, error: e.message });
}
}
// 2순위: 기본 하드코딩 채번 (OUT-YYYY-XXXX)
const pool = getPool();
const today = new Date();
const yyyy = today.getFullYear();
const prefix = `OUT-${yyyy}-`;

View File

@@ -881,8 +881,22 @@ export async function getItems(req: AuthenticatedRequest, res: Response) {
export async function generateNumber(req: AuthenticatedRequest, res: Response) {
try {
const companyCode = req.user!.companyCode;
const pool = getPool();
const ruleId = (req.query.ruleId as string) || (req.query.rule_id as string);
// 1순위: POP 화면설정에서 선택한 채번규칙 사용
if (ruleId && ruleId !== "__none__") {
try {
const { numberingRuleService } = await import("../services/numberingRuleService");
const newNumber = await numberingRuleService.allocateCode(ruleId, companyCode);
return res.json({ success: true, data: newNumber });
} catch (e: any) {
logger.warn("선택한 채번규칙 사용 실패, 기본 채번으로 폴백", { ruleId, error: e.message });
// 폴백
}
}
// 2순위: 기본 하드코딩 채번 (RCV-YYYY-XXXX)
const pool = getPool();
const today = new Date();
const yyyy = today.getFullYear();
const prefix = `RCV-${yyyy}-`;