summaryrefslogtreecommitdiff
path: root/lib/general-contracts/service.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/general-contracts/service.ts')
-rw-r--r--lib/general-contracts/service.ts23
1 files changed, 21 insertions, 2 deletions
diff --git a/lib/general-contracts/service.ts b/lib/general-contracts/service.ts
index b803d2d4..d0fa7b7a 100644
--- a/lib/general-contracts/service.ts
+++ b/lib/general-contracts/service.ts
@@ -7,7 +7,7 @@ import path from 'path'
import { promises as fs } from 'fs'
import { generalContracts, generalContractItems, generalContractAttachments } from '@/db/schema/generalContract'
import { contracts, contractItems, contractEnvelopes, contractSigners } from '@/db/schema/contract'
-import { basicContract, basicContractTemplates } from '@/db/schema/basicContractDocumnet'
+import { basicContract, basicContractTemplates, buyerSignatures } from '@/db/schema/basicContractDocumnet'
import { generalContractTemplates } from '@/db/schema'
import { vendors } from '@/db/schema/vendors'
import { users, roles, userRoles } from '@/db/schema/users'
@@ -21,6 +21,9 @@ import { v4 as uuidv4 } from 'uuid'
import { GetGeneralContractsSchema } from './validation'
import { sendEmail } from '../mail/sendEmail'
+const DEFAULT_SHI_ADDRESS = '경기도 성남시 분당구 판교로 227번길 23'
+const DEFAULT_SHI_CEO_NAME = '최성안'
+
export async function getGeneralContracts(input: GetGeneralContractsSchema) {
try {
const offset = (input.page - 1) * input.perPage
@@ -800,6 +803,16 @@ export async function getBasicInfo(contractId: number) {
}
const contract = result[0]
+ const [activeBuyerSignature] = await db
+ .select()
+ .from(buyerSignatures)
+ .where(eq(buyerSignatures.isActive, true))
+ .limit(1)
+
+ const shiAddress = activeBuyerSignature?.shiAddress || DEFAULT_SHI_ADDRESS
+ const shiCeoName = activeBuyerSignature?.shiCeoName || DEFAULT_SHI_CEO_NAME
+ const buyerSignatureName = activeBuyerSignature?.name || '삼성중공업'
+
return {
success: true,
enabled: true, // basic-info는 항상 활성화
@@ -844,7 +857,13 @@ export async function getBasicInfo(contractId: number) {
interlockingSystem: contract.interlockingSystem,
mandatoryDocuments: contract.mandatoryDocuments,
contractTerminationConditions: contract.contractTerminationConditions,
- externalYardEntry: contract.externalYardEntry || 'N'
+ externalYardEntry: contract.externalYardEntry || 'N',
+
+ // SHI 서명 정보
+ shiAddress,
+ shiCeoName,
+ buyerSignatureName,
+ buyerSignatureId: activeBuyerSignature?.id || null,
}
}
} catch (error) {