addition expense claims
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
CREATE TABLE "expense_claims" (
|
||||
"id" TEXT NOT NULL,
|
||||
"employeeId" TEXT NOT NULL,
|
||||
"claimNumber" TEXT NOT NULL,
|
||||
"expenseDate" DATE,
|
||||
"amount" DECIMAL(12,2),
|
||||
"description" TEXT,
|
||||
"projectOrTender" TEXT,
|
||||
"status" TEXT NOT NULL DEFAULT 'PENDING',
|
||||
"approvedBy" TEXT,
|
||||
"approvedAt" TIMESTAMP(3),
|
||||
"rejectedReason" TEXT,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "expense_claims_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX "expense_claims_claimNumber_key" ON "expense_claims"("claimNumber");
|
||||
CREATE INDEX "expense_claims_employeeId_idx" ON "expense_claims"("employeeId");
|
||||
CREATE INDEX "expense_claims_status_idx" ON "expense_claims"("status");
|
||||
|
||||
ALTER TABLE "expense_claims"
|
||||
ADD CONSTRAINT "expense_claims_employeeId_fkey"
|
||||
FOREIGN KEY ("employeeId") REFERENCES "employees"("id")
|
||||
ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
@@ -0,0 +1,9 @@
|
||||
ALTER TABLE "expense_claims"
|
||||
ADD COLUMN "items" JSONB;
|
||||
|
||||
ALTER TABLE "expense_claims"
|
||||
ADD COLUMN "totalAmount" DECIMAL(12,2);
|
||||
|
||||
UPDATE "expense_claims"
|
||||
SET "totalAmount" = "amount"
|
||||
WHERE "totalAmount" IS NULL AND "amount" IS NOT NULL;
|
||||
@@ -200,6 +200,7 @@ model Employee {
|
||||
commissions Commission[]
|
||||
loans Loan[]
|
||||
purchaseRequests PurchaseRequest[]
|
||||
expenseClaims ExpenseClaim[]
|
||||
leaveEntitlements LeaveEntitlement[]
|
||||
employeeContracts EmployeeContract[]
|
||||
tenderDirectivesAssigned TenderDirective[]
|
||||
@@ -503,6 +504,34 @@ model PurchaseRequest {
|
||||
@@map("purchase_requests")
|
||||
}
|
||||
|
||||
model ExpenseClaim {
|
||||
id String @id @default(uuid())
|
||||
employeeId String
|
||||
employee Employee @relation(fields: [employeeId], references: [id])
|
||||
|
||||
claimNumber String @unique
|
||||
|
||||
items Json?
|
||||
totalAmount Decimal? @db.Decimal(12, 2)
|
||||
|
||||
expenseDate DateTime? @db.Date
|
||||
amount Decimal? @db.Decimal(12, 2)
|
||||
description String?
|
||||
projectOrTender String?
|
||||
|
||||
status String @default("PENDING")
|
||||
approvedBy String?
|
||||
approvedAt DateTime?
|
||||
rejectedReason String?
|
||||
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
@@index([employeeId])
|
||||
@@index([status])
|
||||
@@map("expense_claims")
|
||||
}
|
||||
|
||||
model LeaveEntitlement {
|
||||
id String @id @default(uuid())
|
||||
employeeId String
|
||||
|
||||
Reference in New Issue
Block a user