Forráskód Böngészése

Fixing generate summary bug.

vtugulan 1 hónapja
szülő
commit
b181b7130d
2 módosított fájl, 25 hozzáadás és 6 törlés
  1. 13 3
      app/actions/imports.ts
  2. 12 3
      app/lib/excel-import/cintas-import-processor.ts

+ 13 - 3
app/actions/imports.ts

@@ -353,10 +353,20 @@ export async function generateImportSummary(importId: number) {
       };
     }
 
+    // Remove accidental header rows that can break stored procedure casts
+    await prisma.cintasInstallCalendar.deleteMany({
+      where: {
+        importId,
+        OR: [
+          { installDate: { equals: 'Date of Install', mode: 'insensitive' } },
+          { opportunityStatus: { equals: 'Opportunity Status', mode: 'insensitive' } },
+          { trr: { equals: 'TRR', mode: 'insensitive' } },
+        ]
+      }
+    });
+
     // Generate new summary using stored procedure
-    await prisma.$executeRawUnsafe(
-      `CALL cintas_calculate_summary(${importId})`
-    );
+    await prisma.$executeRaw`CALL cintas_calculate_summary(${importId})`;
 
     // Fetch the newly generated summary
     const cintasSummaries = await prisma.cintasSummary.findMany({

+ 12 - 3
app/lib/excel-import/cintas-import-processor.ts

@@ -151,9 +151,18 @@ export class CintasImportProcessor {
       // Run the stored procedure to calculate summary
       console.log(`[${new Date().toISOString()}] [CintasImport] Running summary calculation procedure...`);
       try {
-        await this.prisma.$executeRawUnsafe(
-          `CALL cintas_calculate_summary(${importId})`
-        );
+        await this.prisma.cintasInstallCalendar.deleteMany({
+          where: {
+            importId,
+            OR: [
+              { installDate: { equals: 'Date of Install', mode: 'insensitive' } },
+              { opportunityStatus: { equals: 'Opportunity Status', mode: 'insensitive' } },
+              { trr: { equals: 'TRR', mode: 'insensitive' } },
+            ]
+          }
+        });
+
+        await this.prisma.$executeRaw`CALL cintas_calculate_summary(${importId})`;
         console.log(`[${new Date().toISOString()}] [CintasImport] Summary calculation completed successfully`);
       } catch (error) {
         console.error(`[${new Date().toISOString()}] [CintasImport] ERROR: Summary calculation failed: ${error instanceof Error ? error.message : 'Unknown error'}`);