From 3a76ebfa18df15096ac21d10bf46f85b4d1e45e2 Mon Sep 17 00:00:00 2001 From: joonhoekim <26rote@gmail.com> Date: Mon, 1 Dec 2025 19:13:02 +0900 Subject: (대표님) VDI 작업사항 반영 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tags-plant/service.ts | 17 +++++++++++++++-- lib/tags-plant/table/add-tag-dialog.tsx | 2 +- 2 files changed, 16 insertions(+), 3 deletions(-) (limited to 'lib/tags-plant') diff --git a/lib/tags-plant/service.ts b/lib/tags-plant/service.ts index 02bd33be..9e9d9ebf 100644 --- a/lib/tags-plant/service.ts +++ b/lib/tags-plant/service.ts @@ -15,6 +15,7 @@ import { contractItems, contracts } from "@/db/schema/contract"; import { getCodeListsByID } from "../sedp/sync-object-class"; import { projects, vendors } from "@/db/schema"; import { randomBytes } from 'crypto'; +import { getSEDPToken } from "../sedp/sedp-token"; // 폼 결과를 위한 인터페이스 정의 interface CreatedOrExistingForm { @@ -105,12 +106,15 @@ export async function createTag( projectCode: string, packageCode: string, ) { + + if (!projectCode) { return { error: "No selectedPackageId provided" } } // Validate formData const validated = createTagSchema.safeParse(formData) + if (!validated.success) { return { error: validated.error.flatten().formErrors.join(", ") } } @@ -121,6 +125,7 @@ export async function createTag( try { // 하나의 트랜잭션에서 모든 작업 수행 return await db.transaction(async (tx) => { + const project = await db.query.projects.findFirst({ where: eq(projects.code, projectCode), columns: { @@ -130,6 +135,7 @@ export async function createTag( const projectId = project.id + // 2) 해당 계약 내에서 같은 tagNo를 가진 태그가 있는지 확인 const duplicateCheck = await tx .select({ count: sql`count(*)` }) @@ -153,10 +159,12 @@ export async function createTag( projectId, // projectId 전달 validated.data.class ) + // ep가 "IMEP"인 것만 필터링 const formMappings = allFormMappings?.filter(mapping => mapping.ep === "IMEP") || [] + console.log(formMappings,"formMappings") // 폼 매핑이 없으면 로그만 남기고 진행 if (!formMappings || formMappings.length === 0) { @@ -244,7 +252,6 @@ export async function createTag( .values(insertValues) .returning({ id: formsPlant.id, formCode: formsPlant.formCode, formName: formsPlant.formName }) - console.log("insertResult:", insertResult) formId = insertResult[0].id createdOrExistingForms.push({ id: formId, @@ -282,7 +289,7 @@ export async function createTag( for (const form of createdOrExistingForms) { try { // 기존 formEntry 가져오기 - const existingEntry = await tx.query.formEntries.findFirst({ + const existingEntry = await tx.query.formEntriesPlant.findFirst({ where: and( eq(formEntriesPlant.formCode, form.formCode), eq(formEntriesPlant.projectCode, projectCode), @@ -348,6 +355,7 @@ export async function createTag( console.log(`[CREATE TAG] Created new formEntry with tag ${validated.data.tagNo} and tagIdx ${generatedTagIdx} for form ${form.formCode}`); } } catch (formEntryError) { + console.log(formEntryError) console.error(`[CREATE TAG] Error updating formEntry for form ${form.formCode}:`, formEntryError); // 개별 formEntry 에러는 로그만 남기고 전체 트랜잭션은 계속 진행 } @@ -1612,6 +1620,9 @@ export async function getEngineeringForms( projectCode: string, packageCode: string ): Promise { + console.log("eng 폼 조회 시작") + console.log(projectCode,packageCode) + try { // 1. DB에서 eng=true인 폼 조회 const existingForms = await db @@ -1628,6 +1639,8 @@ export async function getEngineeringForms( ) ) + console.log("existingForms",existingForms) + // DB에 데이터가 있으면 반환 if (existingForms.length > 0) { return existingForms diff --git a/lib/tags-plant/table/add-tag-dialog.tsx b/lib/tags-plant/table/add-tag-dialog.tsx index 41731f63..de5d2bf8 100644 --- a/lib/tags-plant/table/add-tag-dialog.tsx +++ b/lib/tags-plant/table/add-tag-dialog.tsx @@ -345,7 +345,7 @@ export function AddTagDialog({ projectCode, packageCode }: AddTagDialogProps) { try { const res = await createTag(tagData, projectCode, packageCode); if ("error" in res) { - console.log(res.error) + console.log(res) failedTags.push({ tag: row.tagNo, error: res.error }); } else { successfulTags.push(row.tagNo); -- cgit v1.2.3