102 lines
3.4 KiB
Plaintext
102 lines
3.4 KiB
Plaintext
generator client {
|
|
provider = "prisma-client-js"
|
|
output = "../generated/prisma"
|
|
}
|
|
|
|
datasource db {
|
|
provider = "mysql"
|
|
url = env("DATABASE_URL")
|
|
}
|
|
|
|
/// 申请单(“易耗品临时申请”)
|
|
model v2_ConsumableTempRequest {
|
|
id String @id @default(cuid())
|
|
applicantName String?
|
|
applicantPhone String
|
|
department String?
|
|
reason String?
|
|
neededAt DateTime?
|
|
status v2_ConsumableTempRequestStatus @default(PENDING)
|
|
approverId String?
|
|
approvedAt DateTime?
|
|
remark String?
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
items v2_ConsumableTempRequestItem[]
|
|
|
|
@@index([applicantPhone, createdAt])
|
|
@@index([status, createdAt])
|
|
@@map("易耗品临时申请")
|
|
}
|
|
|
|
/// 申请明细(易耗品条目)
|
|
model v2_ConsumableTempRequestItem {
|
|
id String @id @default(cuid())
|
|
requestId String
|
|
name String
|
|
spec String?
|
|
quantity Int
|
|
unit String?
|
|
estimatedUnitCost Decimal?
|
|
remark String?
|
|
catalogId String?
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
request v2_ConsumableTempRequest @relation(fields: [requestId], references: [id], onDelete: Cascade)
|
|
|
|
@@index([requestId])
|
|
@@index([name])
|
|
@@index([catalogId], map: "易耗品临时申请_易耗品条目_catalogId_fkey")
|
|
@@map("易耗品临时申请_易耗品条目")
|
|
}
|
|
|
|
model tb_consumable_goods {
|
|
id BigInt @id @default(autoincrement())
|
|
goods_name String @db.VarChar(100)
|
|
category_id BigInt?
|
|
brand String? @db.VarChar(50)
|
|
status Int? @default(0) @db.TinyInt
|
|
create_time DateTime? @default(now()) @db.Timestamp(0)
|
|
update_time DateTime? @default(now()) @db.Timestamp(0)
|
|
delete_flag Boolean? @default(false)
|
|
hosp_id String? @db.VarChar(32)
|
|
|
|
// 关联 SKU
|
|
tb_consumable_sku tb_consumable_sku[]
|
|
|
|
@@index([category_id], map: "idx_goods_category")
|
|
}
|
|
|
|
model tb_consumable_sku {
|
|
id BigInt @id @default(autoincrement())
|
|
goods_id BigInt
|
|
sku_code String? @unique(map: "uk_sku_code") @db.VarChar(50)
|
|
specification String? @db.VarChar(200)
|
|
barcode String @unique(map: "uk_sku_barcode") @db.VarChar(50)
|
|
supplier_id BigInt?
|
|
purchase_price Decimal? @db.Decimal(10, 2)
|
|
selling_price Decimal? @db.Decimal(10, 2)
|
|
unit String? @db.VarChar(20)
|
|
min_stock Int? @default(0)
|
|
max_stock Int?
|
|
status Int? @default(0) @db.TinyInt
|
|
create_time DateTime? @default(now()) @db.Timestamp(0)
|
|
update_time DateTime? @default(now()) @db.Timestamp(0)
|
|
delete_flag Boolean? @default(false)
|
|
hosp_id String? @db.VarChar(32)
|
|
|
|
// 关联商品
|
|
tb_consumable_goods tb_consumable_goods @relation(fields: [goods_id], references: [id])
|
|
|
|
@@index([goods_id], map: "idx_sku_goods")
|
|
@@index([supplier_id], map: "idx_sku_supplier")
|
|
}
|
|
|
|
enum v2_ConsumableTempRequestStatus {
|
|
PENDING
|
|
APPROVED
|
|
REJECTED
|
|
CANCELLED
|
|
COMPLETED
|
|
}
|