feat: credit note (#8)

* feat: add db table and structure

* chore: migration

* createCreditNote

* add check conditions quotationId before create credit note and add fn delete data

* feat: add query list of credit note

* feat: add get stats of credit ntoe

* update

* feat: add get by id

* add permission

* delete console log

* chore: cleanup

---------

Co-authored-by: Methapon2001 <61303214+Methapon2001@users.noreply.github.com>
Co-authored-by: Kanjana <taii.kanjana@gmail.com>
This commit is contained in:
Methapon Metanipat 2024-12-20 14:22:55 +07:00 committed by GitHub
parent b5cdb24228
commit f673f2c953
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 428 additions and 2 deletions

View file

@ -1283,7 +1283,9 @@ model Quotation {
updatedBy User? @relation(name: "QuotationUpdatedByUser", fields: [updatedByUserId], references: [id], onDelete: SetNull)
updatedByUserId String?
invoice Invoice[]
invoice Invoice[]
creditNote CreditNote[]
debitNote DebitNote[]
}
model QuotationPaySplit {
@ -1449,6 +1451,9 @@ model RequestWork {
attributes Json?
stepStatus RequestWorkStepStatus[]
creditNote CreditNote? @relation(fields: [creditNoteId], references: [id])
creditNoteId String?
}
model RequestWorkStepStatus {
@ -1555,3 +1560,22 @@ model UserTask {
user User @relation(fields: [userId], references: [id])
userId String
}
model CreditNote {
id String @id @default(cuid())
quotation Quotation @relation(fields: [quotationId], references: [id], onDelete: Cascade)
quotationId String
// NOTE: only status cancel
requestWork RequestWork[]
}
model DebitNote {
id String @id @default(cuid())
quotation Quotation @relation(fields: [quotationId], references: [id], onDelete: Cascade)
quotationId String
// NOTE: create quotation but with flag debit note?
}