diff options
| author | joonhoekim <26rote@gmail.com> | 2025-09-15 01:23:00 +0000 |
|---|---|---|
| committer | joonhoekim <26rote@gmail.com> | 2025-09-15 01:23:00 +0000 |
| commit | e7818a457371849e29519497ebf046f385f05ab6 (patch) | |
| tree | 9bf08ba1b31a512c481dc521c9dd7c90091a75b8 /lib/projects | |
| parent | 3f293c90beb58ce206a66ff444d7acfc41b56429 (diff) | |
(김준회) AVL 기능 구현 1차 및 벤더풀 E/B 구분 개선
Diffstat (limited to 'lib/projects')
| -rw-r--r-- | lib/projects/service.ts | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/lib/projects/service.ts b/lib/projects/service.ts index fe1052f6..acf8b2f5 100644 --- a/lib/projects/service.ts +++ b/lib/projects/service.ts @@ -5,7 +5,7 @@ import db from "@/db/db"; import { unstable_cache } from "@/lib/unstable-cache"; import { filterColumns } from "@/lib/filter-columns"; import { tagTypeClassFormMappings } from "@/db/schema/vendorData"; -import { asc, desc, ilike, inArray, and, gte, lte, not, or } from "drizzle-orm"; +import { asc, desc, ilike, inArray, and, gte, lte, not, or, eq } from "drizzle-orm"; import { countProjectLists, selectProjectLists } from "./repository"; import { projects } from "@/db/schema"; import { GetProjectListsSchema } from "./validation"; @@ -84,4 +84,24 @@ export async function getProjectLists(input: GetProjectListsSchema) { tags: ["project-lists"], } )(); - }
\ No newline at end of file + } + +export async function getProjectInfoByProjectCode(projectCode: string) { + const projectInfo = await db.select().from(projects).where(eq(projects.code, projectCode)).limit(1); + + if (!projectInfo || projectInfo.length === 0) { + throw new Error(`프로젝트 코드 "${projectCode}"를 찾을 수 없습니다.`); + } + + const projectInfoForAvl = { + // 프로젝트코드 + projectCode: projectInfo[0].code, + // 프로젝트명 + projectName: projectInfo[0].name, + // 선종 + shipType: projectInfo[0].SKND || undefined, + // H/T 구분 + projectHtDivision: projectInfo[0].type || undefined, + }; + return projectInfoForAvl; +}
\ No newline at end of file |
