临时易耗品申请与审批

This commit is contained in:
2025-10-05 21:22:58 +08:00
parent bf4c6a0528
commit 7ffedfbaf0
20 changed files with 1048 additions and 7208 deletions
@@ -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
-3
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff