summaryrefslogtreecommitdiff
path: root/lib/sedp/sync-form.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sedp/sync-form.ts')
-rw-r--r--lib/sedp/sync-form.ts12
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/sedp/sync-form.ts b/lib/sedp/sync-form.ts
index 0606f4a9..87de4645 100644
--- a/lib/sedp/sync-form.ts
+++ b/lib/sedp/sync-form.ts
@@ -891,12 +891,12 @@ async function getContractItemsByItemCodes(itemCodes: string[], projectId: numbe
for (const item of itemRecords) {
// itemCode가 null이 아닌 경우에만 처리
- if (item.itemCode) {
+ if (item.packageCode) {
const matchedContractItems = contractItemRecords.filter(ci => ci.itemId === item.id);
if (matchedContractItems.length > 0) {
// 일치하는 모든 contractItem을 배열로 저장
const contractItemIds = matchedContractItems.map(ci => ci.id);
- itemCodeToContractItemIds.set(item.itemCode, contractItemIds);
+ itemCodeToContractItemIds.set(item.packageCode, contractItemIds);
}
}
}
@@ -1062,17 +1062,17 @@ export async function saveFormMappingsAndMetas(
await tx.delete(formMetas).where(eq(formMetas.projectId, projectId));
if (contractItemIdsWithForms.size) await tx.delete(forms).where(inArray(forms.contractItemId, [...contractItemIdsWithForms]));
- const savedMappings = mappingsToSave.length ? await tx.insert(tagTypeClassFormMappings).values(mappingsToSave).returning({ id: tagTypeClassFormMappings.id, formCode: tagTypeClassFormMappings.formCode }) : [];
+ const savedMappings = mappingsToSave.length ? await tx.insert(tagTypeClassFormMappings).values(mappingsToSave).onConflictDoNothing().returning({ id: tagTypeClassFormMappings.id, formCode: tagTypeClassFormMappings.formCode }) : [];
totalSaved += mappingsToSave.length;
if (savedMappings.length) {
const rows: any[] = [];
savedMappings.forEach(m => (templateDataByFormCode.get(m.formCode) || []).forEach(t => rows.push({ formMappingId: m.id, tmplId: t.TMPL_ID, name: t.NAME, tmplType: t.TMPL_TYPE, sprLstSetup: t.SPR_LST_SETUP, grdLstSetup: t.GRD_LST_SETUP, sprItmLstSetup: t.SPR_ITM_LST_SETUP, description: `Template for form ${m.formCode}`, isActive: true, createdAt: new Date(), updatedAt: new Date() })));
- if (rows.length) { await tx.insert(templateItems).values(rows); totalSaved += rows.length; }
+ if (rows.length) { await tx.insert(templateItems).values(rows).onConflictDoNothing(); totalSaved += rows.length; }
}
- if (formMetasToSave.length) { await tx.insert(formMetas).values(formMetasToSave); totalSaved += formMetasToSave.length; }
- if (formsToSave.length) { await tx.insert(forms).values(formsToSave); totalSaved += formsToSave.length; }
+ if (formMetasToSave.length) { await tx.insert(formMetas).values(formMetasToSave).onConflictDoNothing(); totalSaved += formMetasToSave.length; }
+ if (formsToSave.length) { await tx.insert(forms).values(formsToSave).onConflictDoNothing(); totalSaved += formsToSave.length; }
});
return totalSaved;