diff --git a/prisma/migrations/20241029024727_add_issued_invoice_status_in_installments/migration.sql b/prisma/migrations/20241029024727_add_issued_invoice_status_in_installments/migration.sql new file mode 100644 index 0000000..0d0ba87 --- /dev/null +++ b/prisma/migrations/20241029024727_add_issued_invoice_status_in_installments/migration.sql @@ -0,0 +1,9 @@ +/* + Warnings: + + - You are about to drop the column `date` on the `QuotationPaySplit` table. All the data in the column will be lost. + +*/ +-- AlterTable +ALTER TABLE "QuotationPaySplit" DROP COLUMN "date", +ADD COLUMN "invoice" BOOLEAN NOT NULL DEFAULT false; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index dd961ec..b319715 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -1166,9 +1166,9 @@ model Quotation { model QuotationPaySplit { id String @id @default(cuid()) - no Int - date DateTime @db.Date - amount Float + no Int + amount Float + invoice Boolean @default(false) quotation Quotation? @relation(fields: [quotationId], references: [id], onDelete: Cascade) quotationId String? diff --git a/src/controllers/04-invoice-controller.ts b/src/controllers/04-invoice-controller.ts index 588cd4c..0dc21bb 100644 --- a/src/controllers/04-invoice-controller.ts +++ b/src/controllers/04-invoice-controller.ts @@ -137,7 +137,17 @@ export class InvoiceController extends Controller { return await prisma.$transaction(async (tx) => { await tx.quotation.update({ where: { id: body.quotationId }, - data: { quotationStatus: "PaymentInProcess" }, + data: { + quotationStatus: "PaymentInProcess", + paySplit: body.installmentNo + ? { + updateMany: { + where: { no: { in: body.installmentNo } }, + data: { invoice: true }, + }, + } + : undefined, + }, }); return await tx.invoice.create({ data: { diff --git a/src/controllers/05-quotation-controller.ts b/src/controllers/05-quotation-controller.ts index 6343f50..de7dd3f 100644 --- a/src/controllers/05-quotation-controller.ts +++ b/src/controllers/05-quotation-controller.ts @@ -98,7 +98,7 @@ type QuotationUpdate = { payCondition?: PayCondition; paySplitCount?: number; - paySplit?: { date: Date; amount: number }[]; + paySplit?: { amount: number }[]; payBillDate?: Date;