summaryrefslogtreecommitdiff
path: root/lib/bidding-projects/service.ts
diff options
context:
space:
mode:
authorjoonhoekim <26rote@gmail.com>2025-09-15 18:59:41 +0900
committerjoonhoekim <26rote@gmail.com>2025-09-15 18:59:41 +0900
commitd5f26d34c4ac6f3eaac16fbc6069de2c2341a6ff (patch)
treead4ecb476a6fd3b754e741e795bd7a3adbbe03ea /lib/bidding-projects/service.ts
parent25b916d040a512cd5248dff319d727ae144d0652 (diff)
parent2b490956c9752c1b756780a3461bc1c37b6fe0a7 (diff)
[Merge] AVL 및 Vendor-Pool 기능 1차 구현
Diffstat (limited to 'lib/bidding-projects/service.ts')
-rw-r--r--lib/bidding-projects/service.ts40
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/bidding-projects/service.ts b/lib/bidding-projects/service.ts
index 569bd18f..c56b49cf 100644
--- a/lib/bidding-projects/service.ts
+++ b/lib/bidding-projects/service.ts
@@ -115,3 +115,43 @@ export async function getProjectSeriesForProject(pspid: string) {
return []
}
}
+
+
+/**
+ * 프로젝트 코드 기준으로 프로젝트 정보 반환
+ * 사용처:
+ * - 프로젝트 AVL 등록시 프로젝트 정보 가져오기
+ */
+export async function getProjectInfoByProjectCode(projectCode: string) {
+ const projectInfo = await db.select().from(biddingProjects).where(eq(biddingProjects.pspid, projectCode)).limit(1);
+
+ // 프로젝트가 존재하지 않으면 null 반환
+ if (projectInfo.length === 0) {
+ return null;
+ }
+
+ //projectInfo[0].pjtType SHIP/HULL/TOP
+ //TODO evcp는 공통이라는 걸 받지 않는걸로 보임. 여긴 한번 확인..
+
+ let projectHtDivision = null;
+ if (projectInfo[0].pjtType === 'SHIP') {
+ projectHtDivision = 'H';
+ } else if (projectInfo[0].pjtType === 'HULL') {
+ projectHtDivision = 'H';
+ } else if (projectInfo[0].pjtType === 'TOP') {
+ projectHtDivision = 'T';
+ }
+
+ const projectInfoForAvl = {
+ // 프로젝트코드
+ projectCode: projectInfo[0].pspid,
+ // 프로젝트명
+ projectName: projectInfo[0].projNm,
+ // 선종
+ projectMsrm: projectInfo[0].ptypeNm,
+ // H/T 구분
+ projectHtDivision,
+ };
+
+ return projectInfoForAvl;
+} \ No newline at end of file