summaryrefslogtreecommitdiff
path: root/lib/site-visit/service.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/site-visit/service.ts')
-rw-r--r--lib/site-visit/service.ts42
1 files changed, 20 insertions, 22 deletions
diff --git a/lib/site-visit/service.ts b/lib/site-visit/service.ts
index b525fabe..8db05ce4 100644
--- a/lib/site-visit/service.ts
+++ b/lib/site-visit/service.ts
@@ -148,7 +148,7 @@ export async function createSiteVisitRequestAction(input: {
const senderResult = await db
.select()
.from(users)
- .where(eq(users.id, siteVisitRequest.requesterId))
+ .where(eq(users.id, siteVisitRequest.requesterId!))
.limit(1);
const sender = senderResult[0];
@@ -160,7 +160,7 @@ export async function createSiteVisitRequestAction(input: {
const deadlineDate = format(new Date(), 'yyyy.MM.dd');
// SHI 참석자 정보 파싱 (새로운 구조에 맞게)
- const shiAttendees = input.shiAttendees as Record<string, { checked: boolean; count: number; details?: string }>;
+ const shiAttendees = input.shiAttendees as any;
// 메일 제목
const subject = `[SHI Audit] 방문실사 시행 안내 및 실사 관련 추가정보 요청 _ ${vendor.vendorName} (${vendor.vendorCode}, 사업자번호: ${vendor.taxId})`;
@@ -176,7 +176,7 @@ export async function createSiteVisitRequestAction(input: {
// 실사 정보
investigationMethod: investigation.investigationMethod,
- investigationMethodDescription: investigation.investigationMethodDescription,
+ // investigationMethodDescription: investigation.investigationMethodDescription,
requestedStartDate: format(siteVisitRequest.requestedStartDate!, 'yyyy.MM.dd'),
requestedEndDate: format(siteVisitRequest.requestedEndDate!, 'yyyy.MM.dd'),
inspectionDuration: siteVisitRequest.inspectionDuration,
@@ -203,22 +203,17 @@ export async function createSiteVisitRequestAction(input: {
}),
shiAttendeeDetails: input.shiAttendeeDetails || null,
- // 협력업체 요청 정보
- vendorRequests: Object.keys(siteVisitRequest.vendorRequests as Record<string, boolean>)
- .filter(key => (siteVisitRequest.vendorRequests as Record<string, boolean>)[key])
- .map(key => {
- const requestLabels = {
- 'factoryName': '○ 실사공장명',
- 'factoryLocation': '○ 실사공장 주소',
- 'factoryDirections': '○ 실사공장 가는 방법',
- 'factoryPicName': '○ 실사공장 Contact Point',
- 'factoryPicPhone': '○ 실사공장 연락처',
- 'factoryPicEmail': '○ 실사공장 이메일',
- 'attendees': '○ 실사 참석 예정인력',
- 'accessProcedure': '○ 공장 출입절차 및 준비물'
- };
- return requestLabels[key as keyof typeof requestLabels] || key;
- }),
+ // 협력업체 요청 정보 (default 값으로 고정)
+ vendorRequests: [
+ ' 실사공장명',
+ ' 실사공장 주소',
+ ' 실사공장 가는 방법',
+ ' 실사공장 Contact Point',
+ ' 실사공장 연락처',
+ ' 실사공장 이메일',
+ ' 실사 참석 예정인력',
+ ' 공장 출입절차 및 준비물'
+ ],
otherVendorRequests: input.otherVendorRequests,
// 추가 요청사항
@@ -233,11 +228,12 @@ export async function createSiteVisitRequestAction(input: {
// 메일 발송 (벤더 이메일로 직접 발송)
await sendEmail({
- to: vendor.email,
+ to: vendor.email || '',
+ cc: sender.email,
subject,
template: 'site-visit-request' as string,
context,
- cc: vendor.email !== sender.email ? sender.email : undefined
+ // cc: vendor.email !== sender.email ? sender.email : undefined
});
console.log('방문실사 요청 메일 발송 완료:', {
@@ -260,6 +256,7 @@ export async function createSiteVisitRequestAction(input: {
}
revalidatePath("/evcp/pq_new");
+ revalidatePath("/partners/site-visit");
return {
success: true,
@@ -513,7 +510,7 @@ export async function getSiteVisitRequestAction(investigationId: number) {
hasAttachments: input.hasAttachments,
otherInfo: input.otherInfo,
- submittedBy: session.user.id,
+ submittedBy: Number(session.user.id),
});
}
@@ -585,6 +582,7 @@ export async function getSiteVisitRequestAction(investigationId: number) {
})
.where(eq(siteVisitRequests.id, input.siteVisitRequestId));
+ revalidatePath("/evcp/pq_new");
revalidatePath("/partners/site-visit");
return {