临时易耗品申请与审批
This commit is contained in:
@@ -1,57 +0,0 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE `易耗品临时申请` (
|
||||
`id` VARCHAR(191) NOT NULL,
|
||||
`applicantName` VARCHAR(191) NULL,
|
||||
`applicantPhone` VARCHAR(191) NOT NULL,
|
||||
`department` VARCHAR(191) NULL,
|
||||
`reason` VARCHAR(191) NULL,
|
||||
`neededAt` DATETIME(3) NULL,
|
||||
`status` ENUM('PENDING', 'APPROVED', 'REJECTED', 'CANCELLED', 'COMPLETED') NOT NULL DEFAULT 'PENDING',
|
||||
`approverId` VARCHAR(191) NULL,
|
||||
`approvedAt` DATETIME(3) NULL,
|
||||
`remark` VARCHAR(191) NULL,
|
||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`updatedAt` DATETIME(3) NOT NULL,
|
||||
|
||||
INDEX `易耗品临时申请_applicantPhone_createdAt_idx`(`applicantPhone`, `createdAt`),
|
||||
INDEX `易耗品临时申请_status_createdAt_idx`(`status`, `createdAt`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `v2_ConsumableTempRequestItem` (
|
||||
`id` VARCHAR(191) NOT NULL,
|
||||
`requestId` VARCHAR(191) NOT NULL,
|
||||
`name` VARCHAR(191) NOT NULL,
|
||||
`spec` VARCHAR(191) NULL,
|
||||
`quantity` INTEGER NOT NULL,
|
||||
`unit` VARCHAR(191) NULL,
|
||||
`estimatedUnitCost` DECIMAL(65, 30) NULL,
|
||||
`remark` VARCHAR(191) NULL,
|
||||
`catalogId` VARCHAR(191) NULL,
|
||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`updatedAt` DATETIME(3) NOT NULL,
|
||||
|
||||
INDEX `v2_ConsumableTempRequestItem_requestId_idx`(`requestId`),
|
||||
INDEX `v2_ConsumableTempRequestItem_name_idx`(`name`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `v2_ConsumableTempCatalog` (
|
||||
`id` VARCHAR(191) NOT NULL,
|
||||
`name` VARCHAR(191) NOT NULL,
|
||||
`spec` VARCHAR(191) NULL,
|
||||
`unit` VARCHAR(191) NULL,
|
||||
`isActive` BOOLEAN NOT NULL DEFAULT true,
|
||||
|
||||
INDEX `v2_ConsumableTempCatalog_isActive_idx`(`isActive`),
|
||||
UNIQUE INDEX `v2_ConsumableTempCatalog_name_spec_unit_key`(`name`, `spec`, `unit`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `v2_ConsumableTempRequestItem` ADD CONSTRAINT `v2_ConsumableTempRequestItem_requestId_fkey` FOREIGN KEY (`requestId`) REFERENCES `易耗品临时申请`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `v2_ConsumableTempRequestItem` ADD CONSTRAINT `v2_ConsumableTempRequestItem_catalogId_fkey` FOREIGN KEY (`catalogId`) REFERENCES `v2_ConsumableTempCatalog`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,3 +0,0 @@
|
||||
# Please do not edit this file manually
|
||||
# It should be added in your version-control system (e.g., Git)
|
||||
provider = "mysql"
|
||||
@@ -1,78 +0,0 @@
|
||||
|
||||
/// 申请单(“易耗品临时申请”)
|
||||
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? // 审批人(可选:员工ID/账号)
|
||||
approvedAt DateTime? // 审批时间(可选)
|
||||
remark String? // 备注(可选)
|
||||
|
||||
// 一对多:申请单包含多条物料明细
|
||||
items v2_ConsumableTempRequestItem[]
|
||||
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
@@index([applicantPhone, createdAt])
|
||||
@@index([status, createdAt])
|
||||
|
||||
// 如需将表名映射为中文(或你既有库的真实表名),取消下一行注释:
|
||||
@@map("易耗品临时申请")
|
||||
}
|
||||
|
||||
/// 申请明细(易耗品条目)
|
||||
model v2_ConsumableTempRequestItem {
|
||||
id String @id @default(cuid())
|
||||
|
||||
requestId String
|
||||
request v2_ConsumableTempRequest @relation(fields: [requestId], references: [id], onDelete: Cascade)
|
||||
|
||||
name String // 物料名称(如“打印纸”)
|
||||
spec String? // 规格/型号(如“A4 70g”)
|
||||
quantity Int // 数量
|
||||
unit String? // 单位(如“包/箱/个”)
|
||||
estimatedUnitCost Decimal? // 预估单价(可选)
|
||||
remark String? // 明细备注(可选)
|
||||
|
||||
// 如果你有物料目录表,可在此做可选关联(下面给了 Catalog 模型)
|
||||
catalogId String?
|
||||
catalog v2_ConsumableTempCatalog? @relation(fields: [catalogId], references: [id])
|
||||
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
@@index([requestId])
|
||||
@@index([name])
|
||||
// 如需把表名映射为既有库命名,取消注释并替换:
|
||||
// @@map("易耗品临时申请_明细")
|
||||
}
|
||||
|
||||
/// 可选:物料目录(如你已有标准物料清单,便于下拉选择)
|
||||
model v2_ConsumableTempCatalog {
|
||||
id String @id @default(cuid())
|
||||
name String
|
||||
spec String?
|
||||
unit String?
|
||||
isActive Boolean @default(true)
|
||||
|
||||
// 反向关系:哪些申请明细引用了该条目录
|
||||
requestItems v2_ConsumableTempRequestItem[]
|
||||
|
||||
@@unique([name, spec, unit])
|
||||
@@index([isActive])
|
||||
// @@map("易耗品目录")
|
||||
}
|
||||
|
||||
enum v2_ConsumableTempRequestStatus {
|
||||
PENDING // 待审批
|
||||
APPROVED // 通过
|
||||
REJECTED // 驳回
|
||||
CANCELLED // 取消
|
||||
COMPLETED // 已完成(已领用)
|
||||
}
|
||||
+77
-3211
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user