diff --git a/bun.lock b/bun.lock index 221db0c..a79e7d9 100644 --- a/bun.lock +++ b/bun.lock @@ -17,6 +17,7 @@ "@types/bun": "latest", "@types/cors": "^2.8.19", "@types/express": "^5.0.3", + "@types/swagger-ui-express": "^4.1.8", }, "peerDependencies": { "typescript": "^5", @@ -72,6 +73,8 @@ "@types/serve-static": ["@types/serve-static@1.15.9", "https://registry.npmmirror.com/@types/serve-static/-/serve-static-1.15.9.tgz", { "dependencies": { "@types/http-errors": "*", "@types/node": "*", "@types/send": "<1" } }, "sha512-dOTIuqpWLyl3BBXU3maNQsS4A3zuuoYRNIvYSxxhebPfXg2mzWQEPne/nlJ37yOse6uGgR386uTpdsx4D0QZWA=="], + "@types/swagger-ui-express": ["@types/swagger-ui-express@4.1.8", "", { "dependencies": { "@types/express": "*", "@types/serve-static": "*" } }, "sha512-AhZV8/EIreHFmBV5wAs0gzJUNq9JbbSXgJLQubCC0jtIo6prnI9MIRRxnU4MZX9RB9yXxF1V4R7jtLl/Wcj31g=="], + "accepts": ["accepts@2.0.0", "https://registry.npmmirror.com/accepts/-/accepts-2.0.0.tgz", { "dependencies": { "mime-types": "^3.0.0", "negotiator": "^1.0.0" } }, "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng=="], "body-parser": ["body-parser@2.2.0", "https://registry.npmmirror.com/body-parser/-/body-parser-2.2.0.tgz", { "dependencies": { "bytes": "^3.1.2", "content-type": "^1.0.5", "debug": "^4.4.0", "http-errors": "^2.0.0", "iconv-lite": "^0.6.3", "on-finished": "^2.4.1", "qs": "^6.14.0", "raw-body": "^3.0.0", "type-is": "^2.0.0" } }, "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg=="], diff --git a/index.ts b/index.ts index b62ecfb..085e5f1 100644 --- a/index.ts +++ b/index.ts @@ -1,299 +1,48 @@ import 'dotenv/config'; import express from 'express'; -import type { Request, Response, NextFunction } from 'express'; +import type { Response, NextFunction } from 'express'; import cors from 'cors'; import { z } from 'zod'; -import { PrismaClient, v2_ConsumableTempRequestStatus, Prisma } from './generated/prisma/index.js'; - -// ---------- Prisma ---------- -const prisma = new PrismaClient(); +import swaggerUi from 'swagger-ui-express'; +import { prisma } from './src/utils/prisma.js'; +import { createOpenAPIDocument } from './src/openapi/registry.js'; +import requestsRouter from './src/routes/requests.routes.js'; +import itemsRouter from './src/routes/items.routes.js'; +import catalogRouter from './src/routes/catalog.routes.js'; // ---------- App ---------- const app = express(); app.use(cors()); app.use(express.json()); -// ---------- Helpers ---------- -const asyncHandler = (fn: T): T => { - // @ts-ignore - return (async (req: Request, res: Response, next: NextFunction) => { - try { await fn(req, res, next); } catch (e) { next(e); } - }) as T; -}; - -const paginateParamsSchema = z.object({ - page: z.coerce.number().int().positive().default(1), - pageSize: z.coerce.number().int().positive().max(100).default(20) -}); - -// ---------- Zod Schemas ---------- -const requestItemInputSchema = z.object({ - name: z.string().min(1), - spec: z.string().optional(), - quantity: z.number().int().positive(), - unit: z.string().optional(), - estimatedUnitCost: z.number().positive().optional(), - remark: z.string().optional(), - catalogId: z.string().optional() -}); - -const createRequestSchema = z.object({ - applicantName: z.string().optional(), - applicantPhone: z.string().min(3), - department: z.string().optional(), - reason: z.string().optional(), - neededAt: z.coerce.date().optional(), - items: z.array(requestItemInputSchema).min(1, '必须至少包含一条物料明细') -}); - -const updateRequestSchema = createRequestSchema.partial().extend({ - items: z.array(requestItemInputSchema.extend({ id: z.string().optional() })).optional() -}); - -const updateStatusSchema = z.object({ - status: z.nativeEnum(v2_ConsumableTempRequestStatus), - approverId: z.string().optional(), - remark: z.string().optional() -}); - -const catalogCreateSchema = z.object({ - name: z.string().min(1), - spec: z.string().optional(), - unit: z.string().optional(), - isActive: z.boolean().optional().default(true) -}); -const catalogUpdateSchema = catalogCreateSchema.partial(); - -// ---------- Routes ---------- +// ---------- Health Check ---------- app.get('/health', (_req, res) => res.json({ ok: true, time: new Date().toISOString() })); -// Create request with items -app.post('/api/consumable-temp-requests', asyncHandler(async (req, res) => { - const parsed = createRequestSchema.parse(req.body); - const result = await prisma.v2_ConsumableTempRequest.create({ - data: { - applicantName: parsed.applicantName, - applicantPhone: parsed.applicantPhone, - department: parsed.department, - reason: parsed.reason, - neededAt: parsed.neededAt, - items: { create: parsed.items.map(i => ({ - name: i.name, - spec: i.spec, - quantity: i.quantity, - unit: i.unit, - estimatedUnitCost: i.estimatedUnitCost !== undefined ? new Prisma.Decimal(i.estimatedUnitCost) : undefined, - remark: i.remark, - catalogId: i.catalogId ?? null - })) } - }, - include: { items: true } - }); - res.status(201).json({ data: result }); -})); +// ---------- Routes ---------- +app.use('/api/consumable-temp-requests', requestsRouter); +app.use('/api/consumable-temp-items', itemsRouter); +app.use('/api/consumable-temp-catalog', catalogRouter); -// List requests with filters & pagination -app.get('/api/consumable-temp-requests', asyncHandler(async (req, res) => { - const { page, pageSize } = paginateParamsSchema.parse({ page: req.query.page, pageSize: req.query.pageSize }); - const where: any = {}; - if (req.query.status) where.status = req.query.status; - if (req.query.applicantPhone) where.applicantPhone = req.query.applicantPhone; - if (req.query.from || req.query.to) { - where.createdAt = {}; - if (req.query.from) where.createdAt.gte = new Date(String(req.query.from)); - if (req.query.to) where.createdAt.lte = new Date(String(req.query.to)); +// ---------- OpenAPI Documentation ---------- +const openApiDocument = createOpenAPIDocument(); + +app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(openApiDocument, { + customSiteTitle: '智能配送 API 文档', + customCss: '.swagger-ui .topbar { display: none }', + swaggerOptions: { + persistAuthorization: true, + displayRequestDuration: true } - const [total, items] = await Promise.all([ - prisma.v2_ConsumableTempRequest.count({ where }), - prisma.v2_ConsumableTempRequest.findMany({ - where, - orderBy: { createdAt: 'desc' }, - skip: (page - 1) * pageSize, - take: pageSize, - include: { items: true } - }) - ]); - res.json({ data: items, meta: { total, page, pageSize } }); })); -// Get detail -app.get('/api/consumable-temp-requests/:id', asyncHandler(async (req, res) => { - const data = await prisma.v2_ConsumableTempRequest.findUnique({ - where: { id: req.params.id }, - include: { items: true } - }); - if (!data) return res.status(404).json({ error: 'Not Found' }); - res.json({ data }); -})); - -// Full update (basic fields + replace items if provided via upsert logic) -app.put('/api/consumable-temp-requests/:id', asyncHandler(async (req, res) => { - const parsed = updateRequestSchema.parse(req.body); - // We will handle items manually in a transaction: update existing, create new, delete removed - const result = await prisma.$transaction(async (tx) => { - const existing = await tx.v2_ConsumableTempRequest.findUnique({ where: { id: req.params.id }, include: { items: true } }); - if (!existing) throw new Error('NOT_FOUND'); - // Update base - await tx.v2_ConsumableTempRequest.update({ - where: { id: existing.id }, - data: { - applicantName: parsed.applicantName ?? existing.applicantName, - applicantPhone: parsed.applicantPhone ?? existing.applicantPhone, - department: parsed.department ?? existing.department, - reason: parsed.reason ?? existing.reason, - neededAt: parsed.neededAt ?? existing.neededAt - } - }); - if (parsed.items) { - const incoming = parsed.items; - const incomingIds = new Set(incoming.filter(i => i.id).map(i => i.id!)); - // Delete removed - const toDelete = existing.items.filter(i => !incomingIds.has(i.id)).map(i => i.id); - if (toDelete.length) { - await tx.v2_ConsumableTempRequestItem.deleteMany({ where: { id: { in: toDelete } } }); - } - // Upsert each incoming - for (const item of incoming) { - if (item.id) { - await tx.v2_ConsumableTempRequestItem.update({ - where: { id: item.id }, - data: { - name: item.name ?? undefined, - spec: item.spec, - quantity: item.quantity ?? undefined, - unit: item.unit, - estimatedUnitCost: item.estimatedUnitCost !== undefined ? new Prisma.Decimal(item.estimatedUnitCost) : undefined, - remark: item.remark, - catalogId: item.catalogId - } - }); - } else { - await tx.v2_ConsumableTempRequestItem.create({ data: { - requestId: existing.id, - name: item.name, - spec: item.spec, - quantity: item.quantity, - unit: item.unit, - estimatedUnitCost: item.estimatedUnitCost !== undefined ? new Prisma.Decimal(item.estimatedUnitCost) : undefined, - remark: item.remark, - catalogId: item.catalogId - }}); - } - } - } - return tx.v2_ConsumableTempRequest.findUnique({ where: { id: existing.id }, include: { items: true } }); - }); - res.json({ data: result }); -})); - -// Update status -app.patch('/api/consumable-temp-requests/:id/status', asyncHandler(async (req, res) => { - const parsed = updateStatusSchema.parse(req.body); - const data = await prisma.v2_ConsumableTempRequest.update({ - where: { id: req.params.id }, - data: { - status: parsed.status, - approverId: parsed.approverId, - approvedAt: (parsed.status === v2_ConsumableTempRequestStatus.APPROVED || parsed.status === v2_ConsumableTempRequestStatus.REJECTED) ? new Date() : undefined, - remark: parsed.remark - }, - include: { items: true } - }).catch(e => { if ((e as any).code === 'P2025') return null; throw e; }); - if (!data) return res.status(404).json({ error: 'Not Found' }); - res.json({ data }); -})); - -// Delete request (cascade deletes items) -app.delete('/api/consumable-temp-requests/:id', asyncHandler(async (req, res) => { - await prisma.v2_ConsumableTempRequest.delete({ where: { id: req.params.id } }).catch(e => { if ((e as any).code === 'P2025') return null; throw e; }); - res.status(204).end(); -})); - -// Add item to request -app.post('/api/consumable-temp-requests/:id/items', asyncHandler(async (req, res) => { - const parsed = requestItemInputSchema.parse(req.body); - // Ensure request exists - const exists = await prisma.v2_ConsumableTempRequest.count({ where: { id: req.params.id } }); - if (!exists) return res.status(404).json({ error: 'Request Not Found' }); - const item = await prisma.v2_ConsumableTempRequestItem.create({ data: { - requestId: req.params.id as string, - name: parsed.name, - spec: parsed.spec, - quantity: parsed.quantity, - unit: parsed.unit, - estimatedUnitCost: parsed.estimatedUnitCost !== undefined ? new Prisma.Decimal(parsed.estimatedUnitCost) : undefined, - remark: parsed.remark, - catalogId: parsed.catalogId ?? null - }}); - res.status(201).json({ data: item }); -})); - -// Update single item -app.put('/api/consumable-temp-items/:itemId', asyncHandler(async (req, res) => { - const parsed = requestItemInputSchema.partial().parse(req.body); - const item = await prisma.v2_ConsumableTempRequestItem.update({ - where: { id: req.params.itemId }, - data: { - name: parsed.name, - spec: parsed.spec, - quantity: parsed.quantity, - unit: parsed.unit, - estimatedUnitCost: parsed.estimatedUnitCost !== undefined ? new Prisma.Decimal(parsed.estimatedUnitCost) : undefined, - remark: parsed.remark, - catalogId: parsed.catalogId - } - }).catch(e => { if ((e as any).code === 'P2025') return null; throw e; }); - if (!item) return res.status(404).json({ error: 'Not Found' }); - res.json({ data: item }); -})); - -// Delete item -app.delete('/api/consumable-temp-items/:itemId', asyncHandler(async (req, res) => { - await prisma.v2_ConsumableTempRequestItem.delete({ where: { id: req.params.itemId } }).catch(e => { if ((e as any).code === 'P2025') return null; throw e; }); - res.status(204).end(); -})); - -// Catalog CRUD -app.post('/api/consumable-temp-catalog', asyncHandler(async (req, res) => { - const parsed = catalogCreateSchema.parse(req.body); - const data = await prisma.v2_ConsumableTempCatalog.create({ data: parsed }); - res.status(201).json({ data }); -})); - -app.get('/api/consumable-temp-catalog', asyncHandler(async (req, res) => { - const { page, pageSize } = paginateParamsSchema.parse({ page: req.query.page, pageSize: req.query.pageSize }); - const where: any = {}; - if (req.query.isActive !== undefined) where.isActive = req.query.isActive === 'true'; - if (req.query.q) where.name = { contains: String(req.query.q) }; - const [total, rows] = await Promise.all([ - prisma.v2_ConsumableTempCatalog.count({ where }), - prisma.v2_ConsumableTempCatalog.findMany({ where, orderBy: { name: 'asc' }, skip: (page - 1) * pageSize, take: pageSize }) - ]); - res.json({ data: rows, meta: { total, page, pageSize } }); -})); - -app.get('/api/consumable-temp-catalog/:id', asyncHandler(async (req, res) => { - const data = await prisma.v2_ConsumableTempCatalog.findUnique({ where: { id: req.params.id } }); - if (!data) return res.status(404).json({ error: 'Not Found' }); - res.json({ data }); -})); - -app.put('/api/consumable-temp-catalog/:id', asyncHandler(async (req, res) => { - const parsed = catalogUpdateSchema.parse(req.body); - const data = await prisma.v2_ConsumableTempCatalog.update({ where: { id: req.params.id }, data: parsed }).catch(e => { if ((e as any).code === 'P2025') return null; throw e; }); - if (!data) return res.status(404).json({ error: 'Not Found' }); - res.json({ data }); -})); - -// Deactivate instead of delete -app.delete('/api/consumable-temp-catalog/:id', asyncHandler(async (req, res) => { - await prisma.v2_ConsumableTempCatalog.update({ where: { id: req.params.id }, data: { isActive: false } }).catch(e => { if ((e as any).code === 'P2025') return null; throw e; }); - res.status(204).end(); -})); +app.get('/openapi.json', (_req, res) => { + res.setHeader('Content-Type', 'application/json'); + res.send(JSON.stringify(openApiDocument, null, 2)); +}); // ---------- Error Handler ---------- // eslint-disable-next-line @typescript-eslint/no-unused-vars -app.use((err: any, _req: Request, res: Response, _next: NextFunction) => { +app.use((err: any, _req: any, res: Response, _next: NextFunction) => { if (err instanceof z.ZodError) { return res.status(400).json({ error: 'VALIDATION_ERROR', details: err.flatten() }); } @@ -308,6 +57,6 @@ app.listen(PORT, () => { console.log(`Consumable Temp Request API listening on :${PORT}`); }); -// Graceful shutdown +// ---------- Graceful Shutdown ---------- process.on('SIGINT', async () => { await prisma.$disconnect(); process.exit(0); }); -process.on('SIGTERM', async () => { await prisma.$disconnect(); process.exit(0); }); \ No newline at end of file +process.on('SIGTERM', async () => { await prisma.$disconnect(); process.exit(0); }); diff --git a/package.json b/package.json index 5d0bcdb..76f54ac 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "devDependencies": { "@types/bun": "latest", "@types/cors": "^2.8.19", - "@types/express": "^5.0.3" + "@types/express": "^5.0.3", + "@types/swagger-ui-express": "^4.1.8" }, "peerDependencies": { "typescript": "^5" diff --git a/prisma/migrations/20251005081024_add_consumable_request/migration.sql b/prisma/migrations/20251005081024_add_consumable_request/migration.sql deleted file mode 100644 index d6a81e9..0000000 --- a/prisma/migrations/20251005081024_add_consumable_request/migration.sql +++ /dev/null @@ -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; diff --git a/prisma/migrations/20251005_init/migration.sql b/prisma/migrations/20251005_init/migration.sql index 5602a77..0394265 100644 --- a/prisma/migrations/20251005_init/migration.sql +++ b/prisma/migrations/20251005_init/migration.sql @@ -1,3592 +1,58 @@ -- CreateTable -CREATE TABLE `db_accessoryclass_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_askleave_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_asset_category` ( - `category_id` INTEGER NOT NULL AUTO_INCREMENT, - `category_name` VARCHAR(100) NOT NULL, - `parent_id` INTEGER NULL DEFAULT 0, - `level` INTEGER NOT NULL, - `sort_order` INTEGER NULL DEFAULT 0, - `description` VARCHAR(500) NULL, - `create_time` DATETIME(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - - INDEX `idx_parent_id`(`parent_id`), - PRIMARY KEY (`category_id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_assetclass68_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_assetclass_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_assetfinancialclass_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_assetsource_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_assetsubclass_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_classattr_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_county` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `id_f` VARCHAR(32) NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_credible` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_deviceinspectionitem_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_devicemaintain_period_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_devicemaintain_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_devicemaintainresponsibleunit_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_district` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `id_f` VARCHAR(32) NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_emergencyclass_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_extern_service_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_grid_placeclass_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_holiday_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_inspection_conclusion_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_inspection_period_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_inspectionmode` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_job_state` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_marriage_state` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_medicalinstrumentsclass_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_nation` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_notice_receivertype` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_notice_sendtype` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_notice_status` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_notice_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_province` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_restaurantcertificate_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_sex` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_skillcertificate_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_specialclass_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_staff_adminis_position` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_staff_degree` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_staff_education_positon` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_staff_technical_position` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_staff_tutor_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_tasksheet_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_tasksheetcarryingtools_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_tasksheetdecchannel_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_tasksheetdecsource_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_tasksheeteval_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_tasksheetfinishtime_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_tasksheetreponsetime_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_tasksheetspecimen_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_tasksheetstate_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_tasksheettrackstate_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_tasksheeturgencydegree_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_technicalwork_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_use_status_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_workpost_type` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `db_workstate` ( - `id` VARCHAR(32) NOT NULL, - `name` VARCHAR(50) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_ask_leave` ( - `id` VARCHAR(32) NOT NULL, - `exteam_id` VARCHAR(32) NULL, - `exstaff_id` VARCHAR(32) NOT NULL, - `ask_date` DATE NULL, - `begin_date` DATE NOT NULL, - `begin_time` TIME(0) NOT NULL, - `leave_days` INTEGER NULL DEFAULT 1, - `end_date` DATE NOT NULL, - `end_time` TIME(0) NOT NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_askleaveplan` ( - `id` VARCHAR(32) NOT NULL, - `exstaff_id` VARCHAR(32) NOT NULL, - `user_name` VARCHAR(20) NOT NULL DEFAULT '', - `user_mobile` VARCHAR(15) NULL, - `ask_date` DATE NULL, - `askleavetype_id` VARCHAR(32) NULL, - `holidaytype_id` VARCHAR(32) NULL, - `exteam_id` VARCHAR(32) NULL, - `service_id` VARCHAR(32) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_asset_borrow` ( - `borrow_id` INTEGER NOT NULL AUTO_INCREMENT, - `asset_id` INTEGER NOT NULL, - `asset_name` VARCHAR(50) NULL, - `borrow_date` DATE NULL, - `return_date` DATE NULL, - `actual_return_date` DATE NULL, - `borrower_id` VARCHAR(32) NULL, - `borrow_department_id` VARCHAR(50) NULL, - `location` VARCHAR(21) NULL, - `lender_id` VARCHAR(32) NULL, - `approver_id` VARCHAR(32) NULL, - `registrant_id` VARCHAR(32) NULL, - `registrant_date` DATE NULL, - `note` VARCHAR(200) NULL, - `is_return` INTEGER NOT NULL DEFAULT 0, - `delete_flag` INTEGER NOT NULL DEFAULT 0, - `hosp_id` VARCHAR(32) NULL, - - PRIMARY KEY (`borrow_id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_asset_change` ( - `asset_change_id` INTEGER NOT NULL AUTO_INCREMENT, - `asset_id` INTEGER NOT NULL, - `asset_name` VARCHAR(50) NULL, - `old_header_id` VARCHAR(32) NULL, - `now_header_id` VARCHAR(32) NULL, - `old_location` VARCHAR(50) NULL, - `new_location` VARCHAR(50) NULL, - `old_use_man_id` VARCHAR(50) NULL, - `now_use_man_id` VARCHAR(50) NULL, - `chang_date` DATE NULL, - `registrant_id` VARCHAR(32) NULL, - `registrant_date` DATE NULL, - `note` VARCHAR(50) NULL, - `hosp_id` VARCHAR(32) NULL, - - PRIMARY KEY (`asset_change_id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_asset_disposal` ( - `assert_disposal_id` INTEGER NOT NULL AUTO_INCREMENT, - `asset_id` INTEGER NOT NULL, - `asset_name` VARCHAR(50) NULL, - `disposal_method` VARCHAR(500) NULL, - `disposal_amount` DOUBLE NULL, - `disposal_date` DATE NULL, - `place_to_go` VARCHAR(50) NULL, - `registrant_id` VARCHAR(32) NULL, - `registrant_date` DATE NULL, - `note` VARCHAR(200) NULL, - `disposal_man_id` VARCHAR(32) NULL, - `hosp_id` VARCHAR(32) NULL, - - PRIMARY KEY (`assert_disposal_id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_asset_information` ( - `asset_id` INTEGER NOT NULL AUTO_INCREMENT, - `asset_name` VARCHAR(50) NOT NULL, - `asset_category_id` INTEGER NOT NULL, - `asset_sn` VARCHAR(50) NULL, - `specifications` VARCHAR(50) NULL, - `model` VARCHAR(50) NULL, - `asset_brand` VARCHAR(50) NULL, - `manufacturer` VARCHAR(50) NULL, - `purchase_date` DATE NULL, - `purchase_price` DOUBLE NULL, - `purchase_quantity` INTEGER NULL DEFAULT 1, - `unit` VARCHAR(30) NULL, - `purchase_man_id` VARCHAR(32) NULL, - `location` VARCHAR(21) NULL, - `status` TINYINT NULL, - `value` DOUBLE NULL, - `depreciation_rate` FLOAT NULL, - `use_man_id` VARCHAR(32) NULL, - `department_id` VARCHAR(51) NULL, - `usefullife` FLOAT NULL, - `header_id` VARCHAR(32) NULL, - `disposaldate` DATE NULL, - `is_disposal` TINYINT NOT NULL DEFAULT 0, - `warranty_date` DATE NULL, - `asset_pic` VARCHAR(200) NULL, - `note` VARCHAR(20) NULL, - `registrant_id` VARCHAR(32) NULL, - `registrant_date` DATE NULL, - `delete_flag` INTEGER NOT NULL DEFAULT 0, - `is_maintenance` INTEGER NOT NULL DEFAULT 0, - `hosp_id` VARCHAR(32) NULL, - `image` MEDIUMTEXT NULL, - - PRIMARY KEY (`asset_id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_asset_inventory` ( - `inventory_id` INTEGER NOT NULL AUTO_INCREMENT, - `inventory_plan_id` INTEGER NOT NULL, - `asset_id` INTEGER NOT NULL, - `asset_name` VARCHAR(50) NULL, - `inventory_date` DATE NULL, - `inventory_result` TINYINT NULL, - `inventory_pic` VARCHAR(200) NULL, - `inventory_man_id` VARCHAR(32) NULL, - `note` VARCHAR(200) NULL, - `hosp_id` VARCHAR(32) NULL, - `image` MEDIUMTEXT NULL, - - PRIMARY KEY (`inventory_id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_asset_inventory_plan` ( - `inventory_plan_id` INTEGER NOT NULL AUTO_INCREMENT, - `inventory_start_date` DATE NULL, - `inventory_end_date` DATE NULL, - `inventory_man_id` VARCHAR(32) NULL, - `note` VARCHAR(200) NULL, - `hosp_id` VARCHAR(32) NULL, - `image` MEDIUMTEXT NULL, - `inventory_man_name` VARCHAR(20) NULL DEFAULT '', - - PRIMARY KEY (`inventory_plan_id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_asset_maintenance` ( - `maintenance_id` INTEGER NOT NULL AUTO_INCREMENT, - `asset_id` BIGINT NOT NULL, - `asset_name` VARCHAR(50) NULL, - `maintenance_date` DATE NULL, - `maintenance_cost` DOUBLE NULL, - `maintenance_dapartment` VARCHAR(50) NULL, - `maintenance_man` VARCHAR(51) NULL, - `maintenance_phone` VARCHAR(52) NULL, - `registrant_id` VARCHAR(32) NULL, - `registrant_date` DATE NULL, - `note` VARCHAR(200) NULL, - `is_finish` INTEGER NULL DEFAULT 0, - `hosp_id` VARCHAR(32) NULL, - - PRIMARY KEY (`maintenance_id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_call_info` ( - `id` VARCHAR(32) NOT NULL, - `cdr_id` VARCHAR(50) NULL, - `starttime` DATETIME(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `callnumber` VARCHAR(30) NULL, - `isconnected` BOOLEAN NULL DEFAULT false, - `istransfered` BOOLEAN NULL DEFAULT false, - `transfertel` VARCHAR(30) NULL, - `iscallback` BOOLEAN NULL DEFAULT false, - `duration` INTEGER NULL DEFAULT 0, - `recordingurl` VARCHAR(255) NULL, - `tasksheet_type` VARCHAR(32) NULL, - `tasksheet_id` VARCHAR(32) NULL, - `sheet_code` VARCHAR(20) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_cleaning_tasksheet` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NULL DEFAULT '02', - `sheet_code` VARCHAR(20) NOT NULL, - `dec_tel` VARCHAR(15) NULL, - `dec_dept` VARCHAR(32) NULL, - `declarer` VARCHAR(32) NULL, - `declarer_post` VARCHAR(32) NULL, - `dec_time` DATETIME(0) NULL, - `dec_source` VARCHAR(32) NULL, - `dec_channel` VARCHAR(32) NULL, - `urgent_degree` VARCHAR(32) NULL, - `service_place` VARCHAR(32) NULL, - `service_dept` VARCHAR(32) NULL, - `ask_pic` VARCHAR(400) NULL, - `ask_wav` VARCHAR(400) NULL, - `ask_word` VARCHAR(400) NULL, - `is_ordered` BOOLEAN NULL DEFAULT false, - `ordered_datetime` DATETIME(0) NULL, - `needcontact_dept` VARCHAR(32) NULL, - `needcontact` VARCHAR(20) NULL, - `needcontact_tel` VARCHAR(15) NULL, - `isreworksheet` BOOLEAN NULL DEFAULT false, - `reponse_rank` VARCHAR(400) NULL, - `exteam_id` VARCHAR(32) NULL, - `excompany_id` VARCHAR(32) NULL, - `finish_time` DATETIME(0) NULL, - `finish_pic` VARCHAR(400) NULL, - `finish_wav` VARCHAR(400) NULL, - `finish_word` VARCHAR(400) NULL, - `satisfaction_evaluation` VARCHAR(32) NULL, - `satisfaction_content` VARCHAR(200) NULL, - `issuperviset` BOOLEAN NULL DEFAULT false, - `supervisor_id` VARCHAR(32) NULL, - `superviset_time` DATETIME(0) NULL, - `isconfirm` BOOLEAN NULL DEFAULT false, - `confirmingperson_id` VARCHAR(32) NULL, - `confirm_time` DATETIME(0) NULL, - `confirm_content` VARCHAR(400) NULL, - `confirm_wav` VARCHAR(400) NULL, - `iscomplaint` BOOLEAN NULL DEFAULT false, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `tasksheet_state` VARCHAR(32) NULL, - `isautodispatching` BOOLEAN NULL DEFAULT false, - `user_type` INTEGER NULL DEFAULT 2, - `finish_rank` VARCHAR(32) NULL, - `undertake_person` VARCHAR(32) NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_cleaning_tasksheet_serviceitem` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `service_item` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_cleaning_tasksheet_statetrack` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `acceptance_person` VARCHAR(32) NULL, - `tasksheet_state` VARCHAR(32) NULL DEFAULT '01', - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_cleaning_tasksheet_undertake` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_statetrack_id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `undertake_person` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_cleaninginspection_item` ( - `id` VARCHAR(32) NOT NULL, - `template_id` VARCHAR(32) NOT NULL, - `item_name` VARCHAR(50) NOT NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_cleaninginspection_itemcontent` ( - `id` VARCHAR(32) NOT NULL, - `item_id` VARCHAR(32) NOT NULL, - `content` VARCHAR(400) NOT NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_cleaninginspection_person` ( - `id` VARCHAR(32) NOT NULL, - `exstaff_id` VARCHAR(32) NOT NULL, - `isleader` BOOLEAN NULL DEFAULT false, - `isactive` BOOLEAN NULL DEFAULT true, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_cleaninginspection_plan` ( - `id` VARCHAR(32) NOT NULL, - `plan_name` VARCHAR(50) NOT NULL, - `grid_placeclass_id` VARCHAR(32) NULL, - `template_id` VARCHAR(32) NOT NULL, - `inspection_period` VARCHAR(32) NOT NULL, - `start_month` INTEGER NULL, - `start_day` INTEGER NULL, - `workdaycount` INTEGER NULL, - `start_date` DATE NULL, - `start_time` TIME(0) NULL, - `end_time` TIME(0) NULL, - `frequency` INTEGER NULL, - `minimuminterval` INTEGER NULL, - `isactive` BOOLEAN NULL DEFAULT true, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `ispatrol` BOOLEAN NULL DEFAULT true, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_cleaninginspection_plan_grid` ( - `id` VARCHAR(32) NOT NULL, - `plan_id` VARCHAR(32) NOT NULL, - `grid_id` VARCHAR(32) NOT NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_cleaninginspection_tasksheet` ( - `id` VARCHAR(32) NOT NULL, - `sheet_code` VARCHAR(20) NOT NULL, - `grid_id` VARCHAR(32) NOT NULL, - `grid_name` VARCHAR(200) NOT NULL, - `grid_placeclass_id` VARCHAR(32) NULL, - `template_id` VARCHAR(32) NOT NULL, - `plan_id` VARCHAR(32) NOT NULL, - `start_time` DATETIME(0) NULL, - `end_time` DATETIME(0) NULL, - `finish_time` DATETIME(0) NULL, - `finish_pic` VARCHAR(400) NULL, - `finish_wav` VARCHAR(400) NULL, - `finish_word` VARCHAR(400) NULL, - `ispatrol` BOOLEAN NULL DEFAULT true, - `finish_conclusion` VARCHAR(32) NULL, - `credible` VARCHAR(32) NULL, - `iscreatesheet` BOOLEAN NULL DEFAULT false, - `tasksheet_id` VARCHAR(32) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `tasksheet_state` VARCHAR(32) NULL, - `undertake_person` VARCHAR(32) NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_cleaninginspection_tasksheet_itemconclusion` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `item_id` VARCHAR(32) NULL, - `itemfinish_pic` VARCHAR(400) NULL, - `itemfinish_wav` VARCHAR(400) NULL, - `itemfinish_word` VARCHAR(400) NULL, - `itemfinish_conclusion` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_cleaninginspection_tasksheet_serviceitem` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `service_item` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_cleaninginspection_tasksheet_statetrack` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `acceptance_person` VARCHAR(32) NULL, - `tasksheet_state` VARCHAR(32) NULL DEFAULT '01', - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_cleaninginspection_tasksheet_undertake` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_statetrack_id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `undertake_person` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_cleaninginspection_template` ( - `id` VARCHAR(32) NOT NULL, - `templatename` VARCHAR(50) NOT NULL, - `grid_placeclass_id` VARCHAR(32) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `ispatrol` BOOLEAN NULL DEFAULT true, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_complaint_tasksheet` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NULL DEFAULT '07', - `sheet_code` VARCHAR(20) NOT NULL, - `dec_tel` VARCHAR(15) NULL, - `dec_dept` VARCHAR(32) NULL, - `declarer` VARCHAR(32) NULL, - `declarer_post` VARCHAR(32) NULL, - `dec_time` DATETIME(0) NULL, - `dec_channel` VARCHAR(32) NULL, - `complaint_subject` VARCHAR(100) NULL, - `service_place` VARCHAR(32) NULL, - `ask_word` VARCHAR(400) NULL, - `ask_pic` VARCHAR(400) NULL, - `ask_wav` VARCHAR(400) NULL, - `is_anonymous` BOOLEAN NULL DEFAULT false, - `isrework` BOOLEAN NULL DEFAULT false, - `becomplained_tasksheet_id` VARCHAR(32) NULL, - `becomplained_tasksheet_type` VARCHAR(32) NULL, - `becomplained_sheet_code` VARCHAR(20) NULL, - `new_tasksheet_id` VARCHAR(32) NULL, - `exteam_id` VARCHAR(32) NULL, - `excompany_id` VARCHAR(32) NULL, - `exstaff_id` VARCHAR(32) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `tasksheet_state` VARCHAR(32) NULL, - `user_type` INTEGER NULL DEFAULT 2, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_comprerepair_tasksheet` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NULL DEFAULT '01', - `sheet_code` VARCHAR(20) NOT NULL, - `dec_tel` VARCHAR(15) NULL, - `dec_dept` VARCHAR(32) NULL, - `declarer` VARCHAR(32) NULL, - `declarer_post` VARCHAR(32) NULL, - `dec_time` DATETIME(0) NULL, - `dec_source` VARCHAR(32) NULL, - `dec_channel` VARCHAR(32) NULL, - `urgent_degree` VARCHAR(32) NULL, - `service_place` VARCHAR(32) NULL, - `service_dept` VARCHAR(32) NULL, - `ask_pic` VARCHAR(400) NULL, - `ask_wav` VARCHAR(400) NULL, - `ask_word` VARCHAR(400) NULL, - `is_ordered` BOOLEAN NULL DEFAULT false, - `ordered_datetime` DATETIME(0) NULL, - `needcontact_dept` VARCHAR(32) NULL, - `needcontact` VARCHAR(20) NULL, - `needcontact_tel` VARCHAR(15) NULL, - `isreworksheet` BOOLEAN NULL DEFAULT false, - `reponse_rank` VARCHAR(400) NULL, - `exteam_id` VARCHAR(32) NULL, - `excompany_id` VARCHAR(32) NULL, - `finish_time` DATETIME(0) NULL, - `finish_pic` VARCHAR(400) NULL, - `finish_wav` VARCHAR(400) NULL, - `finish_word` VARCHAR(400) NULL, - `satisfaction_evaluation` VARCHAR(32) NULL, - `satisfaction_content` VARCHAR(200) NULL, - `issuperviset` BOOLEAN NULL DEFAULT false, - `supervisor_id` VARCHAR(32) NULL, - `superviset_time` DATETIME(0) NULL, - `isconfirm` BOOLEAN NULL DEFAULT false, - `confirmingperson_id` VARCHAR(32) NULL, - `confirm_time` DATETIME(0) NULL, - `confirm_content` VARCHAR(400) NULL, - `confirm_wav` VARCHAR(400) NULL, - `iscomplaint` BOOLEAN NULL DEFAULT false, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `tasksheet_state` VARCHAR(32) NULL, - `isautodispatching` BOOLEAN NULL DEFAULT false, - `user_type` INTEGER NULL DEFAULT 2, - `finish_rank` VARCHAR(32) NULL, - `undertake_person` VARCHAR(32) NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_comprerepair_tasksheet_serviceitem` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `service_item` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_comprerepair_tasksheet_statetrack` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `acceptance_person` VARCHAR(32) NULL, - `tasksheet_state` VARCHAR(32) NULL DEFAULT '01', - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_comprerepair_tasksheet_undertake` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_statetrack_id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `undertake_person` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_consumable_category` ( - `id` BIGINT NOT NULL AUTO_INCREMENT, - `category_name` VARCHAR(50) NOT NULL, - `parent_id` BIGINT NULL DEFAULT 0, - `sort` INTEGER NULL DEFAULT 0, - `create_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `update_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `delete_flag` BOOLEAN NULL DEFAULT false, - `hosp_id` VARCHAR(32) NULL, - - UNIQUE INDEX `uk_category_name`(`category_name`), - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_consumable_check_item` ( - `id` BIGINT NOT NULL AUTO_INCREMENT, - `check_plan_id` BIGINT NOT NULL, - `inventory_id` BIGINT NOT NULL, +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 `易耗品临时申请_易耗品条目` ( + `id` VARCHAR(191) NOT NULL, + `requestId` VARCHAR(191) NOT NULL, + `name` VARCHAR(191) NOT NULL, + `spec` VARCHAR(191) NULL, `quantity` INTEGER NOT NULL, - `check_result` TINYINT NULL, - `check_pic` VARCHAR(200) NULL, - `check_date` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` TEXT NULL, - `create_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `update_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `check_man_id` VARCHAR(32) NOT NULL, - `hosp_id` VARCHAR(32) 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 `易耗品临时申请_易耗品条目_requestId_idx`(`requestId`), + INDEX `易耗品临时申请_易耗品条目_name_idx`(`name`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable -CREATE TABLE `tb_consumable_check_plan` ( - `id` BIGINT NOT NULL AUTO_INCREMENT, - `check_start_date` DATE NULL, - `check_end_date` DATE NULL, - `create_by` VARCHAR(32) NULL, - `remark` TEXT NULL, - `create_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `update_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `delete_flag` BOOLEAN NULL DEFAULT false, - `hosp_id` VARCHAR(32) NULL, +CREATE TABLE `易耗品目录` ( + `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 `易耗品目录_isActive_idx`(`isActive`), + UNIQUE INDEX `易耗品目录_name_spec_unit_key`(`name`, `spec`, `unit`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; --- CreateTable -CREATE TABLE `tb_consumable_distribution_application` ( - `id` BIGINT NOT NULL AUTO_INCREMENT, - `user_id` VARCHAR(32) NOT NULL, - `is_distribution` TINYINT NULL, - `distribution_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `is_agree` BOOLEAN NULL DEFAULT false, - `user_mobile` VARCHAR(15) NULL, - `sku_id` BIGINT NOT NULL, - `agree_id` VARCHAR(20) NOT NULL DEFAULT '', - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_consumable_distribution_item` ( - `id` BIGINT NOT NULL AUTO_INCREMENT, - `plan_id` BIGINT NOT NULL, - `group_id` BIGINT NOT NULL, - `sku_id` BIGINT NOT NULL, - `location_id` BIGINT NOT NULL, - `recipient_id` VARCHAR(32) NULL, - `actual_quantity` INTEGER NOT NULL DEFAULT 0, - `notes` VARCHAR(200) NULL, - `created_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `is_distributed` TINYINT NOT NULL DEFAULT 0, - `hosp_id` VARCHAR(32) NULL, - `get_time` TIMESTAMP(0) NULL, - - INDEX `idx_dist_item_goods`(`sku_id`), - INDEX `idx_dist_item_group`(`group_id`), - INDEX `idx_dist_item_plan`(`plan_id`), - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_consumable_distribution_plan` ( - `id` BIGINT NOT NULL AUTO_INCREMENT, - `plan_title` VARCHAR(100) NOT NULL, - `hosp_id` VARCHAR(32) NOT NULL, - `warehouse_id` BIGINT NOT NULL, - `period_type` VARCHAR(20) NOT NULL, - `quantity_per_period` DECIMAL(10, 2) NOT NULL, - `last_distribution_date` DATE NULL, - `next_distribution_date` DATE NULL, - `is_active` TINYINT NULL DEFAULT 1, - `created_by_id` VARCHAR(50) NULL, - `created_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `updated_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `delete_flag` BOOLEAN NULL DEFAULT false, - `distribution_flag` BOOLEAN NULL DEFAULT false, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_consumable_goods` ( - `id` BIGINT NOT NULL AUTO_INCREMENT, - `goods_name` VARCHAR(100) NOT NULL, - `category_id` BIGINT NULL, - `brand` VARCHAR(50) NULL, - `status` TINYINT NULL DEFAULT 0, - `create_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `update_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `delete_flag` BOOLEAN NULL DEFAULT false, - `hosp_id` VARCHAR(32) NULL, - - INDEX `idx_goods_category`(`category_id`), - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_consumable_groups` ( - `id` BIGINT NOT NULL AUTO_INCREMENT, - `hosp_id` VARCHAR(32) NOT NULL, - `group_name` VARCHAR(50) NOT NULL, - `group_person_count` INTEGER NOT NULL, - `group_head_id` VARCHAR(32) NOT NULL, - `group_comment` VARCHAR(200) NULL, - `create_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `update_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `delete_flag` BOOLEAN NULL DEFAULT false, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_consumable_inbound_item` ( - `id` BIGINT NOT NULL AUTO_INCREMENT, - `inbound_id` BIGINT NOT NULL, - `sku_id` BIGINT NOT NULL, - `quantity` INTEGER NOT NULL, - `actual_quantity` INTEGER NULL, - `unit_price` DECIMAL(10, 2) NULL, - `location_id` BIGINT NULL, - `hosp_id` VARCHAR(32) NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_consumable_inbound_order` ( - `id` BIGINT NOT NULL AUTO_INCREMENT, - `inbound_no` VARCHAR(50) NOT NULL, - `warehouse_id` BIGINT NOT NULL, - `supplier_id` BIGINT NULL, - `inbound_type` VARCHAR(20) NULL, - `operator_id` VARCHAR(32) NULL, - `status` VARCHAR(20) NULL, - `inbound_date` DATE NOT NULL, - `remark` TEXT NULL, - `create_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `update_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `delete_flag` BOOLEAN NULL DEFAULT false, - `hosp_id` VARCHAR(32) NULL, - - UNIQUE INDEX `uk_inbound_no`(`inbound_no`), - INDEX `idx_inbound_supplier`(`supplier_id`), - INDEX `idx_inbound_warehouse`(`warehouse_id`), - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_consumable_inventory` ( - `id` BIGINT NOT NULL AUTO_INCREMENT, - `sku_id` BIGINT NOT NULL, - `warehouse_id` BIGINT NOT NULL, - `location_id` BIGINT NULL, - `quantity` INTEGER NOT NULL DEFAULT 0, - `locked_quantity` INTEGER NULL DEFAULT 0, - `last_update_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `delete_flag` BOOLEAN NULL DEFAULT false, - `hosp_id` VARCHAR(32) NULL, - - INDEX `idx_inventory_sku`(`sku_id`), - INDEX `idx_inventory_warehouse`(`warehouse_id`), - UNIQUE INDEX `uk_sku_warehouse_location`(`sku_id`, `warehouse_id`, `location_id`), - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_consumable_outbound_item` ( - `id` BIGINT NOT NULL AUTO_INCREMENT, - `outbound_id` BIGINT NOT NULL, - `sku_id` BIGINT NOT NULL, - `quantity` INTEGER NOT NULL, - `actual_quantity` INTEGER NULL, - `location_id` BIGINT NULL, - `hosp_id` VARCHAR(32) NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_consumable_outbound_order` ( - `id` BIGINT NOT NULL AUTO_INCREMENT, - `outbound_no` VARCHAR(50) NOT NULL, - `warehouse_id` BIGINT NOT NULL, - `customer_id` VARCHAR(32) NULL, - `outbound_type` VARCHAR(20) NOT NULL, - `operator_id` VARBINARY(32) NULL, - `status` VARCHAR(20) NOT NULL, - `outbound_date` DATE NOT NULL, - `remark` TEXT NULL, - `create_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `update_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `delete_flag` BOOLEAN NULL DEFAULT false, - `hosp_id` VARCHAR(32) NULL, - - UNIQUE INDEX `uk_outbound_no`(`outbound_no`), - INDEX `idx_outbound_warehouse`(`warehouse_id`), - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_consumable_sku` ( - `id` BIGINT NOT NULL AUTO_INCREMENT, - `goods_id` BIGINT NOT NULL, - `sku_code` VARCHAR(50) NULL, - `specification` VARCHAR(200) NULL, - `barcode` VARCHAR(50) NOT NULL, - `supplier_id` BIGINT NULL, - `purchase_price` DECIMAL(10, 2) NULL, - `selling_price` DECIMAL(10, 2) NULL, - `unit` VARCHAR(20) NULL, - `min_stock` INTEGER NULL DEFAULT 0, - `max_stock` INTEGER NULL, - `status` TINYINT NULL DEFAULT 0, - `create_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `update_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `delete_flag` BOOLEAN NULL DEFAULT false, - `hosp_id` VARCHAR(32) NULL, - - UNIQUE INDEX `uk_sku_code`(`sku_code`), - UNIQUE INDEX `uk_sku_barcode`(`barcode`), - INDEX `idx_sku_goods`(`goods_id`), - INDEX `idx_sku_supplier`(`supplier_id`), - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_consumable_supplier` ( - `id` BIGINT NOT NULL AUTO_INCREMENT, - `supplier_name` VARCHAR(100) NOT NULL, - `contact_person` VARCHAR(50) NULL, - `phone` VARCHAR(20) NULL, - `address` VARCHAR(200) NULL, - `status` TINYINT NULL DEFAULT 1, - `create_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `update_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `hosp_id` VARCHAR(32) NULL, - - UNIQUE INDEX `uk_supplier_name`(`supplier_name`), - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_consumable_warehouse` ( - `id` BIGINT NOT NULL AUTO_INCREMENT, - `warehouse_code` VARCHAR(32) NOT NULL, - `warehouse_name` VARCHAR(100) NOT NULL, - `address` VARCHAR(200) NULL, - `manager_id` VARCHAR(32) NULL, - `area` DECIMAL(10, 2) NULL, - `status` TINYINT NULL DEFAULT 0, - `parent_id` BIGINT NULL DEFAULT 0, - `create_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `update_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `delete_flag` BOOLEAN NULL DEFAULT false, - `hosp_id` VARCHAR(32) NULL, - - UNIQUE INDEX `uk_warehouse_code`(`warehouse_code`), - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_consumable_warehouse_location` ( - `id` BIGINT NOT NULL AUTO_INCREMENT, - `warehouse_id` BIGINT NOT NULL, - `location_code` VARCHAR(50) NOT NULL, - `location_type` VARCHAR(20) NULL, - `status` TINYINT NULL DEFAULT 0, - `create_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `update_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `delete_flag` BOOLEAN NULL DEFAULT false, - `hosp_id` VARCHAR(32) NULL, - - UNIQUE INDEX `uk_warehouse_location_code`(`warehouse_id`, `location_code`), - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_department` ( - `id` VARCHAR(32) NOT NULL, - `dept_code` VARCHAR(50) NULL, - `dept_name` VARCHAR(50) NOT NULL, - `superior_id` VARCHAR(32) NULL, - `dept_selfcode` VARCHAR(20) NOT NULL, - `dept_level` INTEGER NULL, - `dept_tel` VARCHAR(100) NULL, - `dept_leader_name` VARCHAR(20) NULL, - `dept_leader_tel` VARCHAR(15) NULL, - `dept_leader_ID` VARCHAR(32) NULL, - `dept_fullname` VARCHAR(255) NULL, - `abbre` VARCHAR(200) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_device_use_dept` ( - `id` VARCHAR(32) NOT NULL, - `device_id` VARCHAR(32) NOT NULL, - `dept_id` VARCHAR(32) NOT NULL, - `rmv_value_rate` DOUBLE NULL DEFAULT 0.0000, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_devicebill` ( - `id` VARCHAR(32) NOT NULL, - `device_code` VARCHAR(20) NULL, - `assetcode` VARCHAR(50) NULL, - `assetname` VARCHAR(100) NULL, - `code68` VARCHAR(50) NULL, - `financialcode` VARCHAR(50) NULL, - `modelspec` VARCHAR(50) NULL, - `factorycode` VARCHAR(50) NULL, - `grid_id` VARCHAR(32) NULL, - `dposition` VARCHAR(100) NULL, - `administrators` VARCHAR(32) NULL, - `Contractcode` VARCHAR(30) NULL, - `repair_expire` DATETIME(0) NULL, - `measurementunit` VARCHAR(10) NULL, - `registrationcode` VARCHAR(50) NULL, - `installdate` DATETIME(0) NULL, - `acceptdate` DATETIME(0) NULL, - `indate` DATETIME(0) NULL, - `outdate` DATETIME(0) NULL, - `enabledate` DATETIME(0) NULL, - `assetsource` VARCHAR(32) NULL, - `iscostaccounting` BOOLEAN NULL DEFAULT false, - `isimported` BOOLEAN NULL DEFAULT false, - `ismedicaluse` BOOLEAN NULL DEFAULT false, - `isusing` BOOLEAN NULL DEFAULT true, - `use_status` VARCHAR(32) NULL, - `assetclass` VARCHAR(32) NULL, - `assetsubclass` VARCHAR(32) NULL, - `devicecategory` VARCHAR(32) NULL, - `financialclass` VARCHAR(32) NULL, - `class68` VARCHAR(32) NULL, - `medicalinstrumentsclass` VARCHAR(32) NULL, - `classattr` VARCHAR(32) NULL, - `isaccessory` BOOLEAN NULL DEFAULT false, - `accessoryclass` VARCHAR(32) NULL, - `isspecial` BOOLEAN NULL DEFAULT false, - `specialclass` VARCHAR(32) NULL, - `isemergency` BOOLEAN NULL DEFAULT false, - `emergencyclass` VARCHAR(32) NULL, - `supplier` VARCHAR(100) NULL, - `suppliercontract` VARCHAR(50) NULL, - `suppliertel` VARCHAR(15) NULL, - `manufacturer` VARCHAR(100) NULL, - `brand` VARCHAR(50) NULL, - `productionplace` VARCHAR(100) NULL, - `aftersaletel` VARCHAR(15) NULL, - `aftersaleengineer` VARCHAR(50) NULL, - `dateproduction` DATE NULL, - `service_life` INTEGER NULL, - `equipment_value` DOUBLE NULL, - `financial_value` DOUBLE NULL, - `teaching_value` DOUBLE NULL, - `research_value` DOUBLE NULL, - `selfraised_value` DOUBLE NULL, - `othe_value` DOUBLE NULL, - `depreciationmethod` VARCHAR(32) NULL, - `rmv_value_rate` DOUBLE NULL, - `configuration` VARCHAR(200) NULL, - `devicepic` VARCHAR(400) NULL, - `task_owner` VARCHAR(32) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_devicecategory` ( - `id` VARCHAR(32) NOT NULL, - `category_code` VARCHAR(20) NULL, - `category_name` VARCHAR(50) NOT NULL, - `superior_id` VARCHAR(32) NULL, - `devicecategory_level` INTEGER NULL, - `sortorder` INTEGER NULL DEFAULT 0, - `isusing` BOOLEAN NULL DEFAULT true, - `manage_affiliation` VARCHAR(32) NULL, - `respon_affiliation` VARCHAR(32) NULL, - `category_fullname` VARCHAR(200) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_deviceinspection_item` ( - `id` VARCHAR(32) NOT NULL, - `template_id` VARCHAR(32) NOT NULL, - `item_name` VARCHAR(50) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_deviceinspection_itemcontent` ( - `id` VARCHAR(32) NOT NULL, - `item_id` VARCHAR(32) NOT NULL, - `content` VARCHAR(400) NULL, - `deviceinspection_type` VARCHAR(32) NULL, - `maxvalue1` DOUBLE NULL, - `minvalue` DOUBLE NULL, - `uint` VARCHAR(20) NULL, - `itemradioitem_id` VARCHAR(32) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_deviceinspection_itemradioitem` ( - `id` VARCHAR(32) NOT NULL, - `itemcontent_id` VARCHAR(32) NOT NULL, - `prompt` VARCHAR(100) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_deviceinspection_plan` ( - `id` VARCHAR(32) NOT NULL, - `plan_name` VARCHAR(50) NOT NULL, - `devicecategory_id` VARCHAR(32) NOT NULL, - `template_id` VARCHAR(32) NOT NULL, - `inspection_period` VARCHAR(32) NOT NULL, - `start_month` INTEGER NULL, - `start_day` INTEGER NULL, - `workdaycount` INTEGER NULL, - `start_date` DATE NULL, - `start_time` TIME(0) NULL, - `end_time` TIME(0) NULL, - `frequency` INTEGER NULL, - `minimuminterval` INTEGER NULL, - `isactive` BOOLEAN NULL DEFAULT true, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `ispatrol` BOOLEAN NULL DEFAULT true, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_deviceinspection_plan_device` ( - `id` VARCHAR(32) NOT NULL, - `plan_id` VARCHAR(32) NOT NULL, - `device_id` VARCHAR(32) NOT NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_deviceinspection_tasksheet` ( - `id` VARCHAR(32) NOT NULL, - `sheet_code` VARCHAR(20) NOT NULL, - `device_id` VARCHAR(32) NOT NULL, - `device_name` VARCHAR(200) NOT NULL, - `inspectiontype` VARCHAR(32) NULL, - `template_id` VARCHAR(32) NULL, - `plan_id` VARCHAR(32) NOT NULL, - `start_time` DATETIME(0) NULL, - `end_time` DATETIME(0) NULL, - `finish_time` DATETIME(0) NULL, - `finish_pic` VARCHAR(400) NULL, - `finish_wav` VARCHAR(400) NULL, - `finish_word` VARCHAR(400) NULL, - `finish_conclusion` VARCHAR(32) NULL, - `credible` VARCHAR(32) NULL, - `iscreatesheet` BOOLEAN NULL DEFAULT false, - `tasksheet_id` VARCHAR(32) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `ispatrol` BOOLEAN NULL DEFAULT true, - `tasksheet_state` VARCHAR(32) NULL, - `undertake_person` VARCHAR(32) NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_deviceinspection_tasksheet_itemcontentconclusion` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `item_id` VARCHAR(32) NULL, - `itemcontent_id` VARCHAR(32) NULL, - `inspection_type` VARCHAR(32) NULL, - `maxvalue` DOUBLE NULL, - `minvalue` DOUBLE NULL, - `uint` VARCHAR(20) NULL, - `currentvalue` DOUBLE NULL, - `itemradioitem_id` VARCHAR(32) NULL, - `current_result` VARCHAR(100) NULL, - `itemfinish_conclusion` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_deviceinspection_tasksheet_serviceitem` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `service_item` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_deviceinspection_tasksheet_statetrack` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `acceptance_person` VARCHAR(32) NULL, - `tasksheet_state` VARCHAR(32) NULL DEFAULT '01', - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_deviceinspection_tasksheet_undertake` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_statetrack_id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `undertake_person` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_deviceinspection_template` ( - `id` VARCHAR(32) NOT NULL, - `templatename` VARCHAR(50) NOT NULL, - `devicecategory_id` VARCHAR(32) NOT NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `ispatrol` BOOLEAN NULL DEFAULT true, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_equipmentmaintenance_item` ( - `id` VARCHAR(32) NOT NULL, - `template_id` VARCHAR(32) NOT NULL, - `item_name` VARCHAR(50) NULL, - `content` VARCHAR(400) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_equipmentmaintenance_plan` ( - `id` VARCHAR(32) NOT NULL, - `plan_name` VARCHAR(50) NOT NULL, - `maintenancetype` VARCHAR(32) NULL, - `template_id` VARCHAR(32) NULL, - `planstarttime` DATE NULL, - `planendtime` DATE NULL, - `responsibleunittype` VARCHAR(32) NULL, - `responsibleunitname` VARCHAR(100) NULL, - `responsibleunitperson` VARCHAR(20) NULL, - `responsibleunittel` VARCHAR(15) NULL, - `maintain_period_id` VARCHAR(32) NULL, - `start_month` INTEGER NULL, - `start_day` INTEGER NULL, - `start_day2` INTEGER NULL, - `workdaycount` INTEGER NULL, - `start_date` DATE NULL, - `isactive` BOOLEAN NULL DEFAULT true, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_equipmentmaintenance_plan_device` ( - `id` VARCHAR(32) NOT NULL, - `plan_id` VARCHAR(32) NOT NULL, - `device_id` VARCHAR(32) NOT NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_equipmentmaintenance_tasksheet` ( - `id` VARCHAR(32) NOT NULL, - `sheet_code` VARCHAR(20) NOT NULL, - `device_id` VARCHAR(32) NOT NULL, - `assetcode` VARCHAR(50) NULL, - `assetname` VARCHAR(100) NULL, - `plan_id` VARCHAR(32) NULL, - `maintenancetype` VARCHAR(32) NULL, - `template_id` VARCHAR(32) NULL, - `devicecategory_id` VARCHAR(32) NULL, - `start_time` DATETIME(0) NULL, - `end_time` DATETIME(0) NULL, - `finish_time` DATETIME(0) NULL, - `finish_pic` VARCHAR(400) NULL, - `finish_wav` VARCHAR(400) NULL, - `finish_word` VARCHAR(400) NULL, - `finish_conclusion` VARCHAR(32) NULL, - `credible` VARCHAR(32) NULL, - `iscreatesheet` BOOLEAN NULL DEFAULT false, - `tasksheet_id` VARCHAR(32) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `tasksheet_state` VARCHAR(32) NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_equipmentmaintenance_tasksheet_itemcontentconclusion` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `item_id` VARCHAR(32) NULL, - `itemfinish_word` VARCHAR(200) NULL, - `itemfinish_conclusion` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_equipmentmaintenance_tasksheet_serviceitem` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `service_item` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_equipmentmaintenance_tasksheet_statetrack` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `acceptance_person` VARCHAR(32) NULL, - `tasksheet_state` VARCHAR(32) NULL DEFAULT '01', - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - INDEX `index_tasksheet_id`(`tasksheet_id`), - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_equipmentmaintenance_tasksheet_undertake` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_statetrack_id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `undertake_person` VARCHAR(32) NULL, - `undertakeunittype` VARCHAR(32) NULL, - `undertakeunitname` VARCHAR(100) NULL, - `undertakeunitperson` VARCHAR(20) NULL, - `undertakeunittel` VARCHAR(15) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_equipmentmaintenance_template` ( - `id` VARCHAR(32) NOT NULL, - `templatename` VARCHAR(50) NOT NULL, - `devicecategory_id` VARCHAR(32) NOT NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_equipmentrepair_tasksheet` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NULL DEFAULT '02', - `sheet_code` VARCHAR(20) NULL, - `dec_tel` VARCHAR(15) NULL, - `dec_dept` VARCHAR(32) NULL, - `declarer` VARCHAR(32) NULL, - `declarer_post` VARCHAR(32) NULL, - `dec_time` DATETIME(0) NULL, - `dec_source` VARCHAR(32) NULL, - `dec_channel` VARCHAR(32) NULL, - `urgent_degree` VARCHAR(32) NULL, - `device_id` VARCHAR(32) NULL, - `grid_id` VARCHAR(32) NULL, - `position` VARCHAR(100) NULL, - `devicecategory` VARCHAR(32) NULL, - `task_owner` VARCHAR(32) NULL, - `ask_pic` VARCHAR(400) NULL, - `ask_wav` VARCHAR(400) NULL, - `ask_word` VARCHAR(400) NULL, - `is_ordered` BOOLEAN NULL DEFAULT false, - `ordered_datetime` DATETIME(0) NULL, - `needcontact_dept` VARCHAR(32) NULL, - `needcontact` VARCHAR(20) NULL, - `needcontact_tel` VARCHAR(15) NULL, - `isreworksheet` BOOLEAN NULL DEFAULT false, - `reponse_rank` VARCHAR(400) NULL, - `exteam_id` VARCHAR(32) NULL, - `excompany_id` VARCHAR(32) NULL, - `finish_time` DATETIME(0) NULL, - `finish_pic` VARCHAR(400) NULL, - `finish_wav` VARCHAR(400) NULL, - `finish_word` VARCHAR(400) NULL, - `satisfaction_evaluation` VARCHAR(32) NULL, - `satisfaction_content` VARCHAR(200) NULL, - `issuperviset` BOOLEAN NULL DEFAULT false, - `supervisor_id` VARCHAR(32) NULL, - `superviset_time` DATETIME(0) NULL, - `isconfirm` BOOLEAN NULL DEFAULT false, - `confirmingperson_id` VARCHAR(32) NULL, - `confirm_time` DATETIME(0) NULL, - `iscomplaint` BOOLEAN NULL DEFAULT false, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `tasksheet_state` VARCHAR(32) NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_equipmentrepair_tasksheet_serviceitem` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `service_item` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_equipmentrepair_tasksheet_statetrack` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `acceptance_person` VARCHAR(32) NULL, - `tasksheet_state` VARCHAR(32) NULL DEFAULT '01', - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_equipmentrepair_tasksheet_undertake` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_statetrack_id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `undertake_person` VARCHAR(32) NULL, - `undertakeunittype` VARCHAR(32) NULL, - `undertakeunitname` VARCHAR(100) NULL, - `undertakeunitperson` VARCHAR(20) NULL, - `undertakeunittel` VARCHAR(15) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_excompany` ( - `id` VARCHAR(32) NOT NULL, - `excompany_name` VARCHAR(100) NOT NULL, - `excompany_legal` VARCHAR(50) NULL, - `excompany_leader_name` VARCHAR(50) NULL, - `excompany_leader_tel` VARCHAR(15) NULL, - `excompany_leader_ID` VARCHAR(32) NULL, - `excompany_staff_amount` INTEGER NULL, - `excompany_service_startdate` DATE NULL, - `excompany_service_enddate` DATE NULL, - `excompany_certificate` VARCHAR(400) NULL, - `excompany_complaint_tel` VARCHAR(15) NULL, - `services_remark` VARCHAR(400) NULL, - `excompany_address` VARCHAR(200) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_excompany_services` ( - `id` VARCHAR(32) NOT NULL, - `exservice_name` VARCHAR(32) NOT NULL, - `excompany_id` VARCHAR(32) NULL, - `service_id` VARCHAR(32) NULL, - `leader_name` VARCHAR(20) NULL, - `leader_tel` VARCHAR(15) NULL, - `leader_ID` VARCHAR(32) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_exstaff_restaurantcertificate` ( - `id` VARCHAR(32) NOT NULL, - `exstaff_id` VARCHAR(32) NOT NULL, - `restaurantcertificate_id` VARCHAR(32) NULL, - `restaurantcertificate_pic` VARCHAR(400) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_exstaff_skillcertificate` ( - `id` VARCHAR(32) NOT NULL, - `exstaff_id` VARCHAR(32) NOT NULL, - `skillcertificate_id` VARCHAR(32) NULL, - `skillcertificate_pic` VARCHAR(400) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_exteam` ( - `id` VARCHAR(32) NOT NULL, - `exteam_name` VARCHAR(100) NOT NULL, - `exteam_code` VARCHAR(20) NOT NULL, - `exservices_id` VARCHAR(32) NOT NULL, - `excompany_id` VARCHAR(32) NOT NULL, - `service_id` VARCHAR(32) NULL, - `exteam_leader_name` VARCHAR(20) NULL, - `exteam_leader_mobile` VARCHAR(15) NULL, - `exteam_tel` VARCHAR(15) NULL, - `exteam_leader_id` VARCHAR(32) NULL, - `exteam_staff_amount` INTEGER NULL, - `super_id` VARCHAR(32) NULL, - `exteam_level` INTEGER NULL, - `exteam_fullname` VARCHAR(400) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_exteam_grid` ( - `id` VARCHAR(32) NOT NULL, - `team_id` VARCHAR(32) NOT NULL, - `grid_id` VARCHAR(32) NOT NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `grid_code` VARCHAR(30) NOT NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_grid` ( - `id` VARCHAR(32) NOT NULL, - `grid_code` VARCHAR(30) NOT NULL, - `grid_name` VARCHAR(100) NOT NULL, - `superior_grid_id` VARCHAR(32) NULL, - `dept_id` VARCHAR(32) NULL, - `grid_level` INTEGER NULL, - `grid_area` DOUBLE NULL, - `grid_placeclass_id` VARCHAR(32) NULL, - `grid_picture` VARCHAR(400) NULL, - `grid_fullname` VARCHAR(400) NULL, - `grid_centerX` DOUBLE NULL, - `grid_centerY` DOUBLE NULL, - `grid_radius` INTEGER NULL DEFAULT 50, - `grid_leader_ID` VARCHAR(32) NULL, - `grid_leader_name` VARCHAR(20) NULL, - `grid_leader_tel` VARCHAR(15) NULL, - `grid_tel` VARCHAR(100) NULL, - `abbre` VARCHAR(200) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_grid_tel` ( - `id` VARCHAR(32) NOT NULL, - `grid_id` VARCHAR(32) NOT NULL, - `grid_tel` VARCHAR(15) NOT NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_hosp_functionlist` ( - `id` VARCHAR(32) NOT NULL, - `hosp_id` VARCHAR(32) NOT NULL, - `function_id` VARCHAR(32) NOT NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +-- AddForeignKey +ALTER TABLE `易耗品临时申请_易耗品条目` ADD CONSTRAINT `易耗品临时申请_易耗品条目_requestId_fkey` FOREIGN KEY (`requestId`) REFERENCES `易耗品临时申请`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; --- CreateTable -CREATE TABLE `tb_hosp_params` ( - `id` VARCHAR(32) NOT NULL, - `clearinspectionmode` VARCHAR(32) NULL, - `isCenterdispatchedworker` BOOLEAN NULL DEFAULT false, - `isCenterdispatchedworkerForDevice` BOOLEAN NULL DEFAULT false, - `isCenterdispatchedworkerForClearinspection` BOOLEAN NULL DEFAULT false, - `isCenterdispatchedworkerForSecurityinspection` BOOLEAN NULL DEFAULT false, - `dispatchedworkerinterval` INTEGER NULL DEFAULT 30, - `evaluateinterval` INTEGER NULL DEFAULT 48, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_hospfunctions` ( - `id` VARCHAR(32) NOT NULL, - `functionname` VARCHAR(50) NOT NULL, - `functionurl` VARCHAR(255) NULL, - `functiondesc` VARCHAR(255) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_hospital_basic_information` ( - `id` VARCHAR(32) NOT NULL, - `hosp_code` VARCHAR(20) NOT NULL, - `hosp_name` VARCHAR(100) NOT NULL, - `hosp_certificate_number` VARCHAR(30) NULL, - `hosp_build_date` DATE NULL, - `hosp_authorized_strength` INTEGER NULL, - `hosp_build_area` DOUBLE NULL, - `hosp_emergency_area` DOUBLE NULL, - `hosp_bed_amount` INTEGER NULL, - `hosp_outpatient_volume` INTEGER NULL, - `pid` VARCHAR(32) NULL, - `cid` VARCHAR(32) NULL, - `county_id` VARCHAR(32) NULL, - `hosp_detail_address` VARCHAR(255) NULL, - `hosp_parking_amount` INTEGER NULL, - `hosp_police_amount` INTEGER NULL, - `hosp_security_amount` INTEGER NULL, - `hosp_security_company_id` VARCHAR(32) NULL, - `hosp_president` VARCHAR(255) NULL, - `hosp_representative` VARCHAR(255) NULL, - `hosp_legal_name` VARCHAR(20) NULL, - `hosp_main_leadership_team` VARCHAR(255) NULL, - `hosp_affair_chief` VARCHAR(20) NULL, - `hosp_affair_chief_mobile` VARCHAR(15) NULL, - `hosp_affair_chief_tel` VARCHAR(15) NULL, - `hosp_affair_chief_email` VARCHAR(100) NULL, - `hosp_security_chief` VARCHAR(20) NULL, - `hosp_security_chief_mobile` VARCHAR(15) NULL, - `hosp_badge` VARCHAR(400) NULL, - `hosp_logo` VARCHAR(400) NULL, - `hosp_app_logo` VARCHAR(400) NULL, - `hosp_picture` VARCHAR(400) NULL, - `hosp_serve_center_tel` VARCHAR(15) NULL, - `hosp_staff_audit_tel` VARCHAR(15) NULL, - `hosp_introduction` VARCHAR(500) NULL, - `hosp_centerX` DOUBLE NULL, - `hosp_centerY` DOUBLE NULL, - `hosp_radius` INTEGER NULL DEFAULT 50, - `hosp_url` VARCHAR(20) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `hosp_president_tel` VARCHAR(15) NULL, - `hosp_president_ID` VARCHAR(32) NULL, - `excompany_logo` VARCHAR(200) NULL, - `excompany_name` VARCHAR(50) NULL, - `hosp_QRcodefile` VARCHAR(400) NULL, - `excompany_tel` VARCHAR(15) NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_ibeacon` ( - `id` VARCHAR(32) NOT NULL, - `ibeacon_name` VARCHAR(32) NULL, - `ibeacon_UUID` VARCHAR(36) NULL, - `ibeacon_Marj` VARCHAR(50) NULL, - `ibeacon_Minj` VARCHAR(50) NULL, - `ibeacon_RSSI` VARCHAR(10) NULL, - `hosp_ID` VARCHAR(32) NULL, - `grid_id` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `isusing` BOOLEAN NULL DEFAULT true, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_material_tasktype` ( - `id` VARCHAR(32) NOT NULL, - `material_id` VARCHAR(32) NOT NULL, - `tasktype_id` VARCHAR(32) NOT NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_materialbill` ( - `id` VARCHAR(32) NOT NULL, - `material_name` VARCHAR(50) NOT NULL, - `material_spec` VARCHAR(50) NULL, - `material_price` DOUBLE NULL, - `material_stock` INTEGER NULL, - `category_id` VARCHAR(32) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `tasktype_id` VARCHAR(32) NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_materialcategory` ( - `id` VARCHAR(32) NOT NULL, - `materialcategory_name` VARCHAR(50) NOT NULL, - `materialcategory_code` VARCHAR(20) NOT NULL, - `superior_id` VARCHAR(32) NULL, - `materialcategory_level` INTEGER NULL, - `materialcategory_fullname` VARCHAR(200) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `tasktype_id` VARCHAR(32) NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_materialconsumerecord` ( - `id` VARCHAR(32) NOT NULL, - `material_id` VARCHAR(32) NOT NULL, - `tasksheettype_id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `material_price` DOUBLE NULL, - `consumecount` INTEGER NULL DEFAULT 0, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `useuserid` VARCHAR(32) NULL, - `hosp_ID` VARCHAR(32) NULL, - `category_id` VARCHAR(32) NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_materialstoragerecord` ( - `id` VARCHAR(32) NOT NULL, - `category_id` VARCHAR(32) NULL, - `material_id` VARCHAR(32) NOT NULL, - `storagecount` INTEGER NULL DEFAULT 0, - `useuserid` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `hosp_ID` VARCHAR(32) NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_month_schedule` ( - `id` VARCHAR(32) NOT NULL, - `exteam_id` VARCHAR(32) NOT NULL, - `post_id` VARCHAR(32) NOT NULL, - `exstaff_id` VARCHAR(32) NOT NULL, - `exstaff_name` VARCHAR(20) NULL, - `exstaff_phone` VARCHAR(15) NULL, - `start_date` DATE NULL, - `dates` VARCHAR(100) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_notice` ( - `id` VARCHAR(32) NOT NULL, - `title` VARCHAR(200) NOT NULL, - `keywords` VARCHAR(100) NOT NULL, - `notice_type` VARCHAR(32) NOT NULL, - `notice_status` VARCHAR(32) NOT NULL, - `notice_content` VARCHAR(200) NOT NULL, - `receivertype` VARCHAR(32) NOT NULL, - `sendtype` VARCHAR(32) NOT NULL, - `staff_name` VARCHAR(50) NOT NULL, - `staff_id` VARCHAR(32) NOT NULL, - `publish_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_notice_receiver` ( - `id` VARCHAR(32) NOT NULL, - `noticeid` VARCHAR(32) NULL, - `noticereceiverid` VARCHAR(32) NULL, - `receivertype` VARCHAR(32) NOT NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_page` ( - `id` VARCHAR(32) NOT NULL, - `page_url` VARCHAR(255) NULL, - `page_name` VARCHAR(255) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_role` ( - `id` VARCHAR(32) NOT NULL, - `role_name` VARCHAR(20) NOT NULL, - `role_dec` VARCHAR(100) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_role_page` ( - `id` VARCHAR(32) NOT NULL, - `role_id` VARCHAR(32) NOT NULL, - `page_id` VARCHAR(32) NOT NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_scheduleplan` ( - `id` VARCHAR(32) NOT NULL, - `exstaff_id` VARCHAR(32) NOT NULL, - `user_name` VARCHAR(20) NOT NULL DEFAULT '', - `user_mobile` VARCHAR(15) NULL, - `post_id` VARCHAR(32) NULL, - `start_date` DATE NULL, - `work_time` VARCHAR(400) NULL, - `exteam_id` VARCHAR(32) NULL, - `service_id` VARCHAR(32) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_schedulework` ( - `id` VARCHAR(32) NOT NULL, - `workscheduling_id` VARCHAR(32) NOT NULL, - `classes` VARCHAR(20) NULL, - `sche_date` DATE NOT NULL, - `week` INTEGER NULL, - `exstaff_id` VARCHAR(32) NOT NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_securitypatrol_item` ( - `id` VARCHAR(32) NOT NULL, - `template_id` VARCHAR(32) NOT NULL, - `item_name` VARCHAR(50) NOT NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_securitypatrol_itemcontent` ( - `id` VARCHAR(32) NOT NULL, - `item_id` VARCHAR(32) NOT NULL, - `content` VARCHAR(400) NOT NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_securitypatrol_person` ( - `id` VARCHAR(32) NOT NULL, - `exstaff_id` VARCHAR(32) NOT NULL, - `isleader` BOOLEAN NULL DEFAULT false, - `isactive` BOOLEAN NULL DEFAULT true, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_securitypatrol_plan` ( - `id` VARCHAR(32) NOT NULL, - `plan_name` VARCHAR(50) NOT NULL, - `grid_placeclass_id` VARCHAR(32) NULL, - `template_id` VARCHAR(32) NOT NULL, - `inspection_period` VARCHAR(32) NOT NULL, - `start_month` INTEGER NULL, - `start_day` INTEGER NULL, - `workdaycount` INTEGER NULL, - `start_date` DATE NULL, - `start_time` TIME(0) NULL, - `end_time` TIME(0) NULL, - `frequency` INTEGER NULL, - `minimuminterval` INTEGER NULL, - `isactive` BOOLEAN NULL DEFAULT true, - `ispatrol` TINYINT NULL DEFAULT 2, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_securitypatrol_plan_grid` ( - `id` VARCHAR(32) NOT NULL, - `plan_id` VARCHAR(32) NOT NULL, - `grid_id` VARCHAR(32) NOT NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_securitypatrol_tasksheet` ( - `id` VARCHAR(32) NOT NULL, - `sheet_code` VARCHAR(20) NOT NULL, - `grid_id` VARCHAR(32) NOT NULL, - `grid_name` VARCHAR(200) NOT NULL, - `grid_placeclass_id` VARCHAR(32) NULL, - `template_id` VARCHAR(32) NOT NULL, - `plan_id` VARCHAR(32) NOT NULL, - `start_time` DATETIME(0) NULL, - `end_time` DATETIME(0) NULL, - `ispatrol` TINYINT NULL DEFAULT 2, - `finish_time` DATETIME(0) NULL, - `finish_pic` VARCHAR(400) NULL, - `finish_wav` VARCHAR(400) NULL, - `finish_word` VARCHAR(400) NULL, - `finish_conclusion` VARCHAR(32) NULL, - `credible` VARCHAR(32) NULL, - `iscreatesheet` BOOLEAN NULL DEFAULT false, - `tasksheet_id` VARCHAR(32) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `tasksheet_state` VARCHAR(32) NULL, - `undertake_person` VARCHAR(32) NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_securitypatrol_tasksheet_itemconclusion` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `item_id` VARCHAR(32) NULL, - `itemfinish_pic` VARCHAR(400) NULL, - `itemfinish_wav` VARCHAR(400) NULL, - `itemfinish_word` VARCHAR(400) NULL, - `itemfinish_conclusion` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_securitypatrol_tasksheet_serviceitem` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `service_item` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_securitypatrol_tasksheet_statetrack` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `acceptance_person` VARCHAR(32) NULL, - `tasksheet_state` VARCHAR(32) NULL DEFAULT '01', - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_securitypatrol_tasksheet_undertake` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_statetrack_id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `undertake_person` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_securitypatrol_template` ( - `id` VARCHAR(32) NOT NULL, - `templatename` VARCHAR(50) NOT NULL, - `grid_placeclass_id` VARCHAR(32) NULL, - `ispatrol` TINYINT NULL DEFAULT 2, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_serialnumber` ( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `Name` VARCHAR(50) NOT NULL, - `IDValue` INTEGER NOT NULL DEFAULT 1, - `StrLen` INTEGER NOT NULL DEFAULT 4, - `Reset_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `Resetflagperday` BOOLEAN NULL DEFAULT false, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_servicebill` ( - `id` VARCHAR(32) NOT NULL, - `serviceitem_name` VARCHAR(50) NOT NULL, - `category_id` VARCHAR(32) NULL, - `service_type_id` VARCHAR(32) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_serviceitemcategory` ( - `id` VARCHAR(32) NOT NULL, - `serviceitemcategory_name` VARCHAR(50) NOT NULL, - `serviceitemcategory_code` VARCHAR(20) NOT NULL, - `superior_id` VARCHAR(32) NULL, - `service_type_id` VARCHAR(32) NULL, - `serviceitemcategory_level` INTEGER NULL, - `serviceitemcategory_fullname` VARCHAR(200) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_today_schedule` ( - `id` VARCHAR(32) NOT NULL, - `exteam_id` VARCHAR(32) NULL, - `exstaff_id` VARCHAR(32) NOT NULL, - `exstaff_name` VARCHAR(20) NULL, - `exstaff_phone` VARCHAR(15) NULL, - `workscheduling_id` VARCHAR(32) NULL, - `start_date` DATE NULL, - `work_time` TIME(0) NULL, - `end_date` DATE NULL, - `nowork_time` TIME(0) NULL, - `leave_time` DATETIME(0) NULL, - `back_time` DATETIME(0) NULL, - `lea` DATETIME(0) NULL, - `leave_period` VARCHAR(200) NULL, - `service_location` VARCHAR(400) NULL, - `current_state` VARCHAR(32) NULL, - `orders_received` INTEGER NULL, - `orders_completed` INTEGER NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `grid_code` VARCHAR(30) NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_transport_tasksheet` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NULL DEFAULT '03', - `sheet_code` VARCHAR(20) NOT NULL, - `dec_tel` VARCHAR(15) NULL, - `dec_dept` VARCHAR(32) NULL, - `declarer` VARCHAR(32) NULL, - `declarer_post` VARCHAR(32) NULL, - `dec_time` DATETIME(0) NULL, - `dec_source` VARCHAR(32) NULL, - `dec_channel` VARCHAR(32) NULL, - `urgent_degree` VARCHAR(32) NULL, - `service_place` VARCHAR(32) NULL, - `service_dept` VARCHAR(32) NULL, - `ask_pic` VARCHAR(400) NULL, - `ask_wav` VARCHAR(400) NULL, - `ask_word` VARCHAR(400) NULL, - `is_ordered` BOOLEAN NULL DEFAULT false, - `ordered_datetime` DATETIME(0) NULL, - `needcontact_dept` VARCHAR(32) NULL, - `needcontact` VARCHAR(20) NULL, - `needcontact_tel` VARCHAR(15) NULL, - `isreworksheet` BOOLEAN NULL DEFAULT false, - `reponse_rank` VARCHAR(400) NULL, - `exteam_id` VARCHAR(32) NULL, - `excompany_id` VARCHAR(32) NULL, - `finish_time` DATETIME(0) NULL, - `finish_pic` VARCHAR(400) NULL, - `finish_wav` VARCHAR(400) NULL, - `finish_word` VARCHAR(400) NULL, - `satisfaction_evaluation` VARCHAR(32) NULL, - `satisfaction_content` VARCHAR(200) NULL, - `issuperviset` BOOLEAN NULL DEFAULT false, - `supervisor_id` VARCHAR(32) NULL, - `superviset_time` DATETIME(0) NULL, - `isconfirm` BOOLEAN NULL DEFAULT false, - `confirmingperson_id` VARCHAR(32) NULL, - `confirm_time` DATETIME(0) NULL, - `confirm_content` VARCHAR(400) NULL, - `confirm_wav` VARCHAR(400) NULL, - `iscomplaint` BOOLEAN NULL DEFAULT false, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `tasksheet_state` VARCHAR(32) NULL, - `isautodispatching` BOOLEAN NULL DEFAULT false, - `user_type` INTEGER NULL DEFAULT 2, - `finish_rank` VARCHAR(32) NULL, - `undertake_person` VARCHAR(32) NULL, - `org_id` BIGINT NULL DEFAULT 0, - `campus_id` BIGINT NULL DEFAULT 0, - `dec_name` VARCHAR(100) NULL, - `service_dept_name` VARCHAR(100) NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_transport_tasksheet_additionalinfo` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `outnumber` INTEGER NULL DEFAULT 1, - `endservice_place` VARCHAR(32) NULL, - `endservice_dept` VARCHAR(32) NULL, - `content` VARCHAR(200) NULL, - `confirm_img` VARCHAR(400) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_transport_tasksheet_carryingtools` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `carryingtools` VARCHAR(32) NULL, - `carryingtools_count` INTEGER NULL DEFAULT 1, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_transport_tasksheet_drugdto` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `dto_id` MEDIUMTEXT NULL, - `org_id` MEDIUMTEXT NULL, - `campus_id` MEDIUMTEXT NULL, - `area_id` MEDIUMTEXT NULL, - `area_name` VARCHAR(200) NULL, - `doctor_order_id` MEDIUMTEXT NULL, - `item_id` MEDIUMTEXT NULL, - `item_name` VARCHAR(100) NULL, - `doctor_order_name` VARCHAR(100) NULL, - `management_category_code` VARCHAR(100) NULL, - `doctor_order_flag` VARCHAR(100) NULL, - `once_dosage` DECIMAL(10, 0) NULL, - `once_dosage_unit` VARCHAR(20) NULL, - `once_dosage_unit_type` INTEGER NULL, - `patient_id` MEDIUMTEXT NULL, - `patient_name` VARCHAR(20) NULL, - `medical_record_no` VARCHAR(50) NULL, - `healthcare_type` VARCHAR(50) NULL, - `healthcare_record_id` MEDIUMTEXT NULL, - `order_id` MEDIUMTEXT NULL, - `specifications` VARCHAR(100) NULL, - `frequency_id` MEDIUMTEXT NULL, - `frequency_name` VARCHAR(50) NULL, - `executive_status` VARCHAR(20) NULL, - `medication_status` VARCHAR(20) NULL, - `execute_operator_id` MEDIUMTEXT NULL, - `execute_operator_name` VARCHAR(20) NULL, - `is_long_term` INTEGER NULL, - `usage_id` MEDIUMTEXT NULL, - `usage_name` VARCHAR(50) NULL, - `usage_type` VARCHAR(50) NULL, - `plan_time` DATETIME(0) NULL, - `real_start_time` DATETIME(0) NULL, - `real_end_time` DATETIME(0) NULL, - `result_description` VARCHAR(100) NULL, - `barcode` VARCHAR(100) NULL, - `execute_dept_id` MEDIUMTEXT NULL, - `execute_dept_name` VARCHAR(100) NULL, - `cancel_time` DATETIME(0) NULL, - `dto_create_time` DATETIME(0) NULL, - `dtoremark` VARCHAR(100) NULL, - `operate_dept_id` MEDIUMTEXT NULL, - `operate_dept_name` VARCHAR(200) NULL, - `search_status` VARCHAR(50) NULL, - `print_status` BOOLEAN NULL DEFAULT false, - `execute_source_type` VARCHAR(50) NULL, - `extistflag` BOOLEAN NULL DEFAULT false, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_transport_tasksheet_serviceitem` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `service_item` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_transport_tasksheet_serviceitemcontent` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `service_content` VARCHAR(32) NULL, - `service_number` INTEGER NULL DEFAULT 0, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_transport_tasksheet_specimendto` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `dto_id` MEDIUMTEXT NULL, - `org_id` MEDIUMTEXT NULL, - `campus_id` MEDIUMTEXT NULL, - `area_id` MEDIUMTEXT NULL, - `area_name` VARCHAR(200) NULL, - `item_id` MEDIUMTEXT NULL, - `item_name` VARCHAR(100) NULL, - `barcode` VARCHAR(100) NULL, - `dto_create_time` DATETIME(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - `dtoremark` VARCHAR(100) NULL, - `operate_dept_id` MEDIUMTEXT NULL, - `operate_dept_name` VARCHAR(200) NULL, - `dec_dept` VARCHAR(32) NULL, - `service_place` VARCHAR(32) NULL, - `urgent_degree` VARCHAR(32) NULL, - `urgent_degree_name` VARCHAR(50) NULL, - `ask_pic` VARCHAR(400) NULL, - `finish_pic` VARCHAR(400) NULL, - `dec_name` VARCHAR(100) NULL, - `service_dept_name` VARCHAR(100) NULL, - `tasksheet_state` VARCHAR(32) NULL DEFAULT '01', - `undertake_person` VARCHAR(32) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_transport_tasksheet_statetrack` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `acceptance_person` VARCHAR(32) NULL, - `tasksheet_state` VARCHAR(32) NULL DEFAULT '01', - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_transport_tasksheet_undertake` ( - `id` VARCHAR(32) NOT NULL, - `tasksheet_statetrack_id` VARCHAR(32) NOT NULL, - `tasksheet_id` VARCHAR(32) NOT NULL, - `tasksheet_type` VARCHAR(32) NOT NULL, - `undertake_person` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_user` ( - `id` VARCHAR(32) NOT NULL, - `openid` VARCHAR(120) NULL, - `user_name` VARCHAR(20) NOT NULL DEFAULT '', - `user_sex` VARCHAR(32) NULL, - `user_mobile` VARCHAR(15) NULL, - `user_login_name` VARCHAR(20) NOT NULL DEFAULT '', - `user_login_nickname` VARCHAR(20) NULL, - `user_password` VARCHAR(32) NULL, - `user_pic_path` VARCHAR(400) NULL, - `is_initial` BOOLEAN NULL DEFAULT true, - `user_activestate` BOOLEAN NULL DEFAULT true, - `user_type` INTEGER NULL DEFAULT 1, - `staff_identification` VARCHAR(20) NULL, - `staff_code` VARCHAR(20) NULL, - `dept_id` VARCHAR(32) NULL, - `isuse_medicalhelp` BOOLEAN NULL DEFAULT true, - `staff_picture` VARCHAR(400) NULL, - `staff_tel` VARCHAR(15) NULL, - `staff_birthday` DATE NULL, - `staff_email` VARCHAR(50) NULL, - `staff_adminis_position` VARCHAR(32) NULL, - `staff_technical_position` VARCHAR(32) NULL, - `staff_education_position` VARCHAR(32) NULL, - `staff_tutor_type` VARCHAR(32) NULL, - `staff_degree` VARCHAR(32) NULL, - `staff_weixin` VARCHAR(50) NULL, - `staff_qq` VARCHAR(20) NULL, - `exstaff_jobNo` VARCHAR(20) NULL, - `exstaff_jobstate` VARCHAR(32) NULL, - `excompany_id` VARCHAR(32) NULL, - `exteam_id` VARCHAR(32) NULL, - `exstaff_employstartdate` DATETIME(0) NULL, - `exstaff_employenddate` DATETIME(0) NULL, - `exstaff_pic` VARCHAR(400) NULL, - `exstaff_technicalwork` VARCHAR(32) NULL, - `exstaff_expertise` VARCHAR(400) NULL, - `exstaff_leadname` VARCHAR(50) NULL, - `exstaff_stature` DOUBLE NULL, - `exstaff_weight` DOUBLE NULL, - `exstaff_shoesize` DOUBLE NULL, - `exstaff_emercontactname` VARCHAR(20) NULL, - `exstaff_emercontacttel` VARCHAR(15) NULL, - `exstaff_emercontactrelationship` VARCHAR(100) NULL, - `exstaff_birthday` DATETIME(0) NULL, - `exstaff_tel` VARCHAR(15) NULL, - `exstaff_email` VARCHAR(200) NULL, - `exstaff_nation` VARCHAR(32) NULL, - `exstaff_native_place` VARCHAR(100) NULL, - `exstaff_marriage_state` VARCHAR(32) NULL, - `exstaff_identify_id` VARCHAR(20) NULL, - `exstaff_degree` VARCHAR(32) NULL, - `exstaff_weixin_id` VARCHAR(100) NULL, - `exstaff_qq_id` VARCHAR(20) NULL, - `exstaff_address` VARCHAR(255) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(500) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `assets_role` TINYINT NULL DEFAULT 1, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_user_grid` ( - `id` VARCHAR(32) NOT NULL, - `user_id` VARCHAR(32) NOT NULL, - `grid_id` VARCHAR(32) NOT NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_user_hosp` ( - `id` VARCHAR(32) NOT NULL, - `user_id` VARCHAR(32) NOT NULL, - `hosp_id` VARCHAR(32) NOT NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_user_pos` ( - `id` VARCHAR(32) NOT NULL, - `user_id` VARCHAR(32) NOT NULL, - `grid_id` VARCHAR(32) NOT NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `isexistibeacon` BOOLEAN NULL DEFAULT false, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_user_role` ( - `id` VARCHAR(32) NOT NULL, - `user_id` VARCHAR(32) NOT NULL, - `role_id` VARCHAR(32) NOT NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_work_history` ( - `id` VARCHAR(32) NOT NULL, - `exteam_id` VARCHAR(32) NOT NULL, - `exstaff_id` VARCHAR(32) NOT NULL, - `exstaff_name` VARCHAR(20) NULL, - `exstaff_phone` VARCHAR(15) NULL, - `workscheduling_id` VARCHAR(32) NULL, - `start_date` DATE NULL, - `work_time` TIME(0) NULL, - `end_date` DATE NULL, - `nowork_time` TIME(0) NULL, - `leave_time` DATETIME(0) NULL, - `back_time` DATETIME(0) NULL, - `lea` DATETIME(0) NULL, - `leave_period` VARCHAR(200) NULL, - `service_location` VARCHAR(400) NULL, - `current_state` VARCHAR(32) NULL, - `orders_received` INTEGER NULL, - `orders_completed` INTEGER NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_workpost` ( - `id` VARCHAR(32) NOT NULL, - `post_name` VARCHAR(50) NOT NULL, - `workposttype_id` VARCHAR(32) NULL, - `firsthalfwork_time` TIME(0) NULL, - `firsthalfnowork_time` TIME(0) NULL, - `lasthalfwork_time` TIME(0) NULL, - `lasthalfnowork_time` TIME(0) NULL, - `exteam_id` VARCHAR(32) NULL, - `service_id` VARCHAR(32) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_workpost_grid` ( - `id` VARCHAR(32) NOT NULL, - `post_id` VARCHAR(32) NOT NULL, - `grid_id` VARCHAR(32) NOT NULL, - `exteam_id` VARCHAR(32) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `grid_code` VARCHAR(30) NULL, - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_workscheduling` ( - `id` VARCHAR(32) NOT NULL, - `start_date` DATE NOT NULL, - `end_date` DATE NOT NULL, - `classes` VARCHAR(20) NOT NULL, - `startwork_time` TIME(0) NOT NULL, - `endtime_time` TIME(0) NOT NULL, - `exteam_id` VARCHAR(32) NULL, - `hosp_ID` VARCHAR(32) NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- CreateTable -CREATE TABLE `tb_workscheduling_grid` ( - `id` VARCHAR(32) NOT NULL, - `workscheduling_id` VARCHAR(32) NOT NULL, - `grid_id` VARCHAR(32) NOT NULL, - `create_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `create_by` VARCHAR(32) NULL, - `remark` VARCHAR(200) NULL, - `delete_flag` BOOLEAN NULL DEFAULT false, - `update_time` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - - PRIMARY KEY (`id`) -) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +-- AddForeignKey +ALTER TABLE `易耗品临时申请_易耗品条目` ADD CONSTRAINT `易耗品临时申请_易耗品条目_catalogId_fkey` FOREIGN KEY (`catalogId`) REFERENCES `易耗品目录`(`id`) ON DELETE SET NULL ON UPDATE CASCADE; diff --git a/prisma/migrations/migration_lock.toml b/prisma/migrations/migration_lock.toml deleted file mode 100644 index 592fc0b..0000000 --- a/prisma/migrations/migration_lock.toml +++ /dev/null @@ -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" diff --git a/prisma/models/consumable_temp_request.prisma b/prisma/models/consumable_temp_request.prisma deleted file mode 100644 index 14d2666..0000000 --- a/prisma/models/consumable_temp_request.prisma +++ /dev/null @@ -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 // 已完成(已领用) -} \ No newline at end of file diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 5710977..b00a341 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -8,3214 +8,80 @@ datasource db { url = env("DATABASE_URL") } -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_accessoryclass_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_askleave_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_asset_category { - category_id Int @id @default(autoincrement()) - category_name String @db.VarChar(100) - parent_id Int? @default(0) - level Int - sort_order Int? @default(0) - description String? @db.VarChar(500) - create_time DateTime? @default(now()) @db.DateTime(0) - - @@index([parent_id], map: "idx_parent_id") -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_assetclass68_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_assetclass_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_assetfinancialclass_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_assetsource_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_assetsubclass_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_classattr_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_county { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - id_f String? @db.VarChar(32) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_credible { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_deviceinspectionitem_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_devicemaintain_period_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_devicemaintain_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_devicemaintainresponsibleunit_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_district { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - id_f String? @db.VarChar(32) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_emergencyclass_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_extern_service_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_grid_placeclass_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_holiday_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_inspection_conclusion_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_inspection_period_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_inspectionmode { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_job_state { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_marriage_state { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_medicalinstrumentsclass_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_nation { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_notice_receivertype { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_notice_sendtype { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_notice_status { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_notice_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_province { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_restaurantcertificate_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_sex { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_skillcertificate_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_specialclass_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_staff_adminis_position { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_staff_degree { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_staff_education_positon { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_staff_technical_position { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_staff_tutor_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_tasksheet_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_tasksheetcarryingtools_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_tasksheetdecchannel_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_tasksheetdecsource_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_tasksheeteval_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_tasksheetfinishtime_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_tasksheetreponsetime_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_tasksheetspecimen_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime? @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_tasksheetstate_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_tasksheettrackstate_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_tasksheeturgencydegree_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_technicalwork_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_use_status_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_workpost_type { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model db_workstate { - id String @id @db.VarChar(32) - name String? @db.VarChar(50) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_ask_leave { - id String @id @db.VarChar(32) - exteam_id String? @db.VarChar(32) - exstaff_id String @db.VarChar(32) - ask_date DateTime? @db.Date - begin_date DateTime @db.Date - begin_time DateTime @db.Time(0) - leave_days Int? @default(1) - end_date DateTime @db.Date - end_time DateTime @db.Time(0) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_askleaveplan { - id String @id @db.VarChar(32) - exstaff_id String @db.VarChar(32) - user_name String @default("") @db.VarChar(20) - user_mobile String? @db.VarChar(15) - ask_date DateTime? @db.Date - askleavetype_id String? @db.VarChar(32) - holidaytype_id String? @db.VarChar(32) - exteam_id String? @db.VarChar(32) - service_id String? @db.VarChar(32) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_asset_borrow { - borrow_id Int @id @default(autoincrement()) - asset_id Int - asset_name String? @db.VarChar(50) - borrow_date DateTime? @db.Date - return_date DateTime? @db.Date - actual_return_date DateTime? @db.Date - borrower_id String? @db.VarChar(32) - borrow_department_id String? @db.VarChar(50) - location String? @db.VarChar(21) - lender_id String? @db.VarChar(32) - approver_id String? @db.VarChar(32) - registrant_id String? @db.VarChar(32) - registrant_date DateTime? @db.Date - note String? @db.VarChar(200) - is_return Int @default(0) - delete_flag Int @default(0) - hosp_id String? @db.VarChar(32) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_asset_change { - asset_change_id Int @id @default(autoincrement()) - asset_id Int - asset_name String? @db.VarChar(50) - old_header_id String? @db.VarChar(32) - now_header_id String? @db.VarChar(32) - old_location String? @db.VarChar(50) - new_location String? @db.VarChar(50) - old_use_man_id String? @db.VarChar(50) - now_use_man_id String? @db.VarChar(50) - chang_date DateTime? @db.Date - registrant_id String? @db.VarChar(32) - registrant_date DateTime? @db.Date - note String? @db.VarChar(50) - hosp_id String? @db.VarChar(32) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_asset_disposal { - assert_disposal_id Int @id @default(autoincrement()) - asset_id Int - asset_name String? @db.VarChar(50) - disposal_method String? @db.VarChar(500) - disposal_amount Float? - disposal_date DateTime? @db.Date - place_to_go String? @db.VarChar(50) - registrant_id String? @db.VarChar(32) - registrant_date DateTime? @db.Date - note String? @db.VarChar(200) - disposal_man_id String? @db.VarChar(32) - hosp_id String? @db.VarChar(32) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_asset_information { - asset_id Int @id @default(autoincrement()) - asset_name String @db.VarChar(50) - asset_category_id Int - asset_sn String? @db.VarChar(50) - specifications String? @db.VarChar(50) - model String? @db.VarChar(50) - asset_brand String? @db.VarChar(50) - manufacturer String? @db.VarChar(50) - purchase_date DateTime? @db.Date - purchase_price Float? - purchase_quantity Int? @default(1) - unit String? @db.VarChar(30) - purchase_man_id String? @db.VarChar(32) - location String? @db.VarChar(21) - status Int? @db.TinyInt - value Float? - depreciation_rate Float? @db.Float - use_man_id String? @db.VarChar(32) - department_id String? @db.VarChar(51) - usefullife Float? @db.Float - header_id String? @db.VarChar(32) - disposaldate DateTime? @db.Date - is_disposal Int @default(0) @db.TinyInt - warranty_date DateTime? @db.Date - asset_pic String? @db.VarChar(200) - note String? @db.VarChar(20) - registrant_id String? @db.VarChar(32) - registrant_date DateTime? @db.Date - delete_flag Int @default(0) - is_maintenance Int @default(0) - hosp_id String? @db.VarChar(32) - image String? @db.MediumText -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_asset_inventory { - inventory_id Int @id @default(autoincrement()) - inventory_plan_id Int - asset_id Int - asset_name String? @db.VarChar(50) - inventory_date DateTime? @db.Date - inventory_result Int? @db.TinyInt - inventory_pic String? @db.VarChar(200) - inventory_man_id String? @db.VarChar(32) - note String? @db.VarChar(200) - hosp_id String? @db.VarChar(32) - image String? @db.MediumText -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_asset_inventory_plan { - inventory_plan_id Int @id @default(autoincrement()) - inventory_start_date DateTime? @db.Date - inventory_end_date DateTime? @db.Date - inventory_man_id String? @db.VarChar(32) - note String? @db.VarChar(200) - hosp_id String? @db.VarChar(32) - image String? @db.MediumText - inventory_man_name String? @default("") @db.VarChar(20) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_asset_maintenance { - maintenance_id Int @id @default(autoincrement()) - asset_id BigInt - asset_name String? @db.VarChar(50) - maintenance_date DateTime? @db.Date - maintenance_cost Float? - maintenance_dapartment String? @db.VarChar(50) - maintenance_man String? @db.VarChar(51) - maintenance_phone String? @db.VarChar(52) - registrant_id String? @db.VarChar(32) - registrant_date DateTime? @db.Date - note String? @db.VarChar(200) - is_finish Int? @default(0) - hosp_id String? @db.VarChar(32) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_call_info { - id String @id @db.VarChar(32) - cdr_id String? @db.VarChar(50) - starttime DateTime @default(now()) @db.DateTime(0) - callnumber String? @db.VarChar(30) - isconnected Boolean? @default(false) - istransfered Boolean? @default(false) - transfertel String? @db.VarChar(30) - iscallback Boolean? @default(false) - duration Int? @default(0) - recordingurl String? @db.VarChar(255) - tasksheet_type String? @db.VarChar(32) - tasksheet_id String? @db.VarChar(32) - sheet_code String? @db.VarChar(20) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_cleaning_tasksheet { - id String @id @db.VarChar(32) - tasksheet_type String? @default("02") @db.VarChar(32) - sheet_code String @db.VarChar(20) - dec_tel String? @db.VarChar(15) - dec_dept String? @db.VarChar(32) - declarer String? @db.VarChar(32) - declarer_post String? @db.VarChar(32) - dec_time DateTime? @db.DateTime(0) - dec_source String? @db.VarChar(32) - dec_channel String? @db.VarChar(32) - urgent_degree String? @db.VarChar(32) - service_place String? @db.VarChar(32) - service_dept String? @db.VarChar(32) - ask_pic String? @db.VarChar(400) - ask_wav String? @db.VarChar(400) - ask_word String? @db.VarChar(400) - is_ordered Boolean? @default(false) - ordered_datetime DateTime? @db.DateTime(0) - needcontact_dept String? @db.VarChar(32) - needcontact String? @db.VarChar(20) - needcontact_tel String? @db.VarChar(15) - isreworksheet Boolean? @default(false) - reponse_rank String? @db.VarChar(400) - exteam_id String? @db.VarChar(32) - excompany_id String? @db.VarChar(32) - finish_time DateTime? @db.DateTime(0) - finish_pic String? @db.VarChar(400) - finish_wav String? @db.VarChar(400) - finish_word String? @db.VarChar(400) - satisfaction_evaluation String? @db.VarChar(32) - satisfaction_content String? @db.VarChar(200) - issuperviset Boolean? @default(false) - supervisor_id String? @db.VarChar(32) - superviset_time DateTime? @db.DateTime(0) - isconfirm Boolean? @default(false) - confirmingperson_id String? @db.VarChar(32) - confirm_time DateTime? @db.DateTime(0) - confirm_content String? @db.VarChar(400) - confirm_wav String? @db.VarChar(400) - iscomplaint Boolean? @default(false) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - tasksheet_state String? @db.VarChar(32) - isautodispatching Boolean? @default(false) - user_type Int? @default(2) - finish_rank String? @db.VarChar(32) - undertake_person String? @db.VarChar(32) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_cleaning_tasksheet_serviceitem { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - service_item String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_cleaning_tasksheet_statetrack { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - acceptance_person String? @db.VarChar(32) - tasksheet_state String? @default("01") @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_cleaning_tasksheet_undertake { - id String @id @db.VarChar(32) - tasksheet_statetrack_id String @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - undertake_person String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_cleaninginspection_item { - id String @id @db.VarChar(32) - template_id String @db.VarChar(32) - item_name String @db.VarChar(50) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_cleaninginspection_itemcontent { - id String @id @db.VarChar(32) - item_id String @db.VarChar(32) - content String @db.VarChar(400) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_cleaninginspection_person { - id String @id @db.VarChar(32) - exstaff_id String @db.VarChar(32) - isleader Boolean? @default(false) - isactive Boolean? @default(true) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_cleaninginspection_plan { - id String @id @db.VarChar(32) - plan_name String @db.VarChar(50) - grid_placeclass_id String? @db.VarChar(32) - template_id String @db.VarChar(32) - inspection_period String @db.VarChar(32) - start_month Int? - start_day Int? - workdaycount Int? - start_date DateTime? @db.Date - start_time DateTime? @db.Time(0) - end_time DateTime? @db.Time(0) - frequency Int? - minimuminterval Int? - isactive Boolean? @default(true) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - ispatrol Boolean? @default(true) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_cleaninginspection_plan_grid { - id String @id @db.VarChar(32) - plan_id String @db.VarChar(32) - grid_id String @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_cleaninginspection_tasksheet { - id String @id @db.VarChar(32) - sheet_code String @db.VarChar(20) - grid_id String @db.VarChar(32) - grid_name String @db.VarChar(200) - grid_placeclass_id String? @db.VarChar(32) - template_id String @db.VarChar(32) - plan_id String @db.VarChar(32) - start_time DateTime? @db.DateTime(0) - end_time DateTime? @db.DateTime(0) - finish_time DateTime? @db.DateTime(0) - finish_pic String? @db.VarChar(400) - finish_wav String? @db.VarChar(400) - finish_word String? @db.VarChar(400) - ispatrol Boolean? @default(true) - finish_conclusion String? @db.VarChar(32) - credible String? @db.VarChar(32) - iscreatesheet Boolean? @default(false) - tasksheet_id String? @db.VarChar(32) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - tasksheet_state String? @db.VarChar(32) - undertake_person String? @db.VarChar(32) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_cleaninginspection_tasksheet_itemconclusion { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - item_id String? @db.VarChar(32) - itemfinish_pic String? @db.VarChar(400) - itemfinish_wav String? @db.VarChar(400) - itemfinish_word String? @db.VarChar(400) - itemfinish_conclusion String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_cleaninginspection_tasksheet_serviceitem { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - service_item String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_cleaninginspection_tasksheet_statetrack { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - acceptance_person String? @db.VarChar(32) - tasksheet_state String? @default("01") @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_cleaninginspection_tasksheet_undertake { - id String @id @db.VarChar(32) - tasksheet_statetrack_id String @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - undertake_person String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_cleaninginspection_template { - id String @id @db.VarChar(32) - templatename String @db.VarChar(50) - grid_placeclass_id String? @db.VarChar(32) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - ispatrol Boolean? @default(true) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_complaint_tasksheet { - id String @id @db.VarChar(32) - tasksheet_type String? @default("07") @db.VarChar(32) - sheet_code String @db.VarChar(20) - dec_tel String? @db.VarChar(15) - dec_dept String? @db.VarChar(32) - declarer String? @db.VarChar(32) - declarer_post String? @db.VarChar(32) - dec_time DateTime? @db.DateTime(0) - dec_channel String? @db.VarChar(32) - complaint_subject String? @db.VarChar(100) - service_place String? @db.VarChar(32) - ask_word String? @db.VarChar(400) - ask_pic String? @db.VarChar(400) - ask_wav String? @db.VarChar(400) - is_anonymous Boolean? @default(false) - isrework Boolean? @default(false) - becomplained_tasksheet_id String? @db.VarChar(32) - becomplained_tasksheet_type String? @db.VarChar(32) - becomplained_sheet_code String? @db.VarChar(20) - new_tasksheet_id String? @db.VarChar(32) - exteam_id String? @db.VarChar(32) - excompany_id String? @db.VarChar(32) - exstaff_id String? @db.VarChar(32) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - tasksheet_state String? @db.VarChar(32) - user_type Int? @default(2) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_comprerepair_tasksheet { - id String @id @db.VarChar(32) - tasksheet_type String? @default("01") @db.VarChar(32) - sheet_code String @db.VarChar(20) - dec_tel String? @db.VarChar(15) - dec_dept String? @db.VarChar(32) - declarer String? @db.VarChar(32) - declarer_post String? @db.VarChar(32) - dec_time DateTime? @db.DateTime(0) - dec_source String? @db.VarChar(32) - dec_channel String? @db.VarChar(32) - urgent_degree String? @db.VarChar(32) - service_place String? @db.VarChar(32) - service_dept String? @db.VarChar(32) - ask_pic String? @db.VarChar(400) - ask_wav String? @db.VarChar(400) - ask_word String? @db.VarChar(400) - is_ordered Boolean? @default(false) - ordered_datetime DateTime? @db.DateTime(0) - needcontact_dept String? @db.VarChar(32) - needcontact String? @db.VarChar(20) - needcontact_tel String? @db.VarChar(15) - isreworksheet Boolean? @default(false) - reponse_rank String? @db.VarChar(400) - exteam_id String? @db.VarChar(32) - excompany_id String? @db.VarChar(32) - finish_time DateTime? @db.DateTime(0) - finish_pic String? @db.VarChar(400) - finish_wav String? @db.VarChar(400) - finish_word String? @db.VarChar(400) - satisfaction_evaluation String? @db.VarChar(32) - satisfaction_content String? @db.VarChar(200) - issuperviset Boolean? @default(false) - supervisor_id String? @db.VarChar(32) - superviset_time DateTime? @db.DateTime(0) - isconfirm Boolean? @default(false) - confirmingperson_id String? @db.VarChar(32) - confirm_time DateTime? @db.DateTime(0) - confirm_content String? @db.VarChar(400) - confirm_wav String? @db.VarChar(400) - iscomplaint Boolean? @default(false) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - tasksheet_state String? @db.VarChar(32) - isautodispatching Boolean? @default(false) - user_type Int? @default(2) - finish_rank String? @db.VarChar(32) - undertake_person String? @db.VarChar(32) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_comprerepair_tasksheet_serviceitem { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - service_item String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_comprerepair_tasksheet_statetrack { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - acceptance_person String? @db.VarChar(32) - tasksheet_state String? @default("01") @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_comprerepair_tasksheet_undertake { - id String @id @db.VarChar(32) - tasksheet_statetrack_id String @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - undertake_person String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_consumable_category { - id BigInt @id @default(autoincrement()) - category_name String @unique(map: "uk_category_name") @db.VarChar(50) - parent_id BigInt? @default(0) - sort Int? @default(0) - 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) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_consumable_check_item { - id BigInt @id @default(autoincrement()) - check_plan_id BigInt - inventory_id BigInt - quantity Int - check_result Int? @db.TinyInt - check_pic String? @db.VarChar(200) - check_date DateTime? @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.Text - create_time DateTime? @default(now()) @db.Timestamp(0) - update_time DateTime? @default(now()) @db.Timestamp(0) - check_man_id String @db.VarChar(32) - hosp_id String? @db.VarChar(32) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_consumable_check_plan { - id BigInt @id @default(autoincrement()) - check_start_date DateTime? @db.Date - check_end_date DateTime? @db.Date - create_by String? @db.VarChar(32) - remark String? @db.Text - 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) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_consumable_distribution_application { - id BigInt @id @default(autoincrement()) - user_id String @db.VarChar(32) - is_distribution Int? @db.TinyInt - distribution_time DateTime? @default(now()) @db.Timestamp(0) - is_agree Boolean? @default(false) - user_mobile String? @db.VarChar(15) - sku_id BigInt - agree_id String @default("") @db.VarChar(20) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_consumable_distribution_item { - id BigInt @id @default(autoincrement()) - plan_id BigInt - group_id BigInt - sku_id BigInt - location_id BigInt - recipient_id String? @db.VarChar(32) - actual_quantity Int @default(0) - notes String? @db.VarChar(200) - created_time DateTime? @default(now()) @db.Timestamp(0) - is_distributed Int @default(0) @db.TinyInt - hosp_id String? @db.VarChar(32) - get_time DateTime? @db.Timestamp(0) - - @@index([sku_id], map: "idx_dist_item_goods") - @@index([group_id], map: "idx_dist_item_group") - @@index([plan_id], map: "idx_dist_item_plan") -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_consumable_distribution_plan { - id BigInt @id @default(autoincrement()) - plan_title String @db.VarChar(100) - hosp_id String @db.VarChar(32) - warehouse_id BigInt - period_type String @db.VarChar(20) - quantity_per_period Decimal @db.Decimal(10, 2) - last_distribution_date DateTime? @db.Date - next_distribution_date DateTime? @db.Date - is_active Int? @default(1) @db.TinyInt - created_by_id String? @db.VarChar(50) - created_time DateTime? @default(now()) @db.Timestamp(0) - updated_time DateTime? @default(now()) @db.Timestamp(0) - delete_flag Boolean? @default(false) - distribution_flag Boolean? @default(false) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -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) - - @@index([category_id], map: "idx_goods_category") -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_consumable_groups { - id BigInt @id @default(autoincrement()) - hosp_id String @db.VarChar(32) - group_name String @db.VarChar(50) - group_person_count Int - group_head_id String @db.VarChar(32) - group_comment String? @db.VarChar(200) - create_time DateTime? @default(now()) @db.Timestamp(0) - update_time DateTime? @default(now()) @db.Timestamp(0) - delete_flag Boolean? @default(false) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_consumable_inbound_item { - id BigInt @id @default(autoincrement()) - inbound_id BigInt - sku_id BigInt - quantity Int - actual_quantity Int? - unit_price Decimal? @db.Decimal(10, 2) - location_id BigInt? - hosp_id String? @db.VarChar(32) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_consumable_inbound_order { - id BigInt @id @default(autoincrement()) - inbound_no String @unique(map: "uk_inbound_no") @db.VarChar(50) - warehouse_id BigInt - supplier_id BigInt? - inbound_type String? @db.VarChar(20) - operator_id String? @db.VarChar(32) - status String? @db.VarChar(20) - inbound_date DateTime @db.Date - remark String? @db.Text - 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) - - @@index([supplier_id], map: "idx_inbound_supplier") - @@index([warehouse_id], map: "idx_inbound_warehouse") -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_consumable_inventory { - id BigInt @id @default(autoincrement()) - sku_id BigInt - warehouse_id BigInt - location_id BigInt? - quantity Int @default(0) - locked_quantity Int? @default(0) - last_update_time DateTime? @default(now()) @db.Timestamp(0) - delete_flag Boolean? @default(false) - hosp_id String? @db.VarChar(32) - - @@unique([sku_id, warehouse_id, location_id], map: "uk_sku_warehouse_location") - @@index([sku_id], map: "idx_inventory_sku") - @@index([warehouse_id], map: "idx_inventory_warehouse") -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_consumable_outbound_item { - id BigInt @id @default(autoincrement()) - outbound_id BigInt - sku_id BigInt - quantity Int - actual_quantity Int? - location_id BigInt? - hosp_id String? @db.VarChar(32) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_consumable_outbound_order { - id BigInt @id @default(autoincrement()) - outbound_no String @unique(map: "uk_outbound_no") @db.VarChar(50) - warehouse_id BigInt - customer_id String? @db.VarChar(32) - outbound_type String @db.VarChar(20) - operator_id Bytes? @db.VarBinary(32) - status String @db.VarChar(20) - outbound_date DateTime @db.Date - remark String? @db.Text - 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) - - @@index([warehouse_id], map: "idx_outbound_warehouse") -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -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) - - @@index([goods_id], map: "idx_sku_goods") - @@index([supplier_id], map: "idx_sku_supplier") -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_consumable_supplier { - id BigInt @id @default(autoincrement()) - supplier_name String @unique(map: "uk_supplier_name") @db.VarChar(100) - contact_person String? @db.VarChar(50) - phone String? @db.VarChar(20) - address String? @db.VarChar(200) - status Int? @default(1) @db.TinyInt - create_time DateTime? @default(now()) @db.Timestamp(0) - update_time DateTime? @default(now()) @db.Timestamp(0) - hosp_id String? @db.VarChar(32) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_consumable_warehouse { - id BigInt @id @default(autoincrement()) - warehouse_code String @unique(map: "uk_warehouse_code") @db.VarChar(32) - warehouse_name String @db.VarChar(100) - address String? @db.VarChar(200) - manager_id String? @db.VarChar(32) - area Decimal? @db.Decimal(10, 2) - status Int? @default(0) @db.TinyInt - parent_id BigInt? @default(0) - 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) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_consumable_warehouse_location { - id BigInt @id @default(autoincrement()) - warehouse_id BigInt - location_code String @db.VarChar(50) - location_type String? @db.VarChar(20) - 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) - - @@unique([warehouse_id, location_code], map: "uk_warehouse_location_code") -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_department { - id String @id @db.VarChar(32) - dept_code String? @db.VarChar(50) - dept_name String @db.VarChar(50) - superior_id String? @db.VarChar(32) - dept_selfcode String @db.VarChar(20) - dept_level Int? - dept_tel String? @db.VarChar(100) - dept_leader_name String? @db.VarChar(20) - dept_leader_tel String? @db.VarChar(15) - dept_leader_ID String? @db.VarChar(32) - dept_fullname String? @db.VarChar(255) - abbre String? @db.VarChar(200) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_device_use_dept { - id String @id @db.VarChar(32) - device_id String @db.VarChar(32) - dept_id String @db.VarChar(32) - rmv_value_rate Float? @default(0.0000) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_devicebill { - id String @id @db.VarChar(32) - device_code String? @db.VarChar(20) - assetcode String? @db.VarChar(50) - assetname String? @db.VarChar(100) - code68 String? @db.VarChar(50) - financialcode String? @db.VarChar(50) - modelspec String? @db.VarChar(50) - factorycode String? @db.VarChar(50) - grid_id String? @db.VarChar(32) - dposition String? @db.VarChar(100) - administrators String? @db.VarChar(32) - Contractcode String? @db.VarChar(30) - repair_expire DateTime? @db.DateTime(0) - measurementunit String? @db.VarChar(10) - registrationcode String? @db.VarChar(50) - installdate DateTime? @db.DateTime(0) - acceptdate DateTime? @db.DateTime(0) - indate DateTime? @db.DateTime(0) - outdate DateTime? @db.DateTime(0) - enabledate DateTime? @db.DateTime(0) - assetsource String? @db.VarChar(32) - iscostaccounting Boolean? @default(false) - isimported Boolean? @default(false) - ismedicaluse Boolean? @default(false) - isusing Boolean? @default(true) - use_status String? @db.VarChar(32) - assetclass String? @db.VarChar(32) - assetsubclass String? @db.VarChar(32) - devicecategory String? @db.VarChar(32) - financialclass String? @db.VarChar(32) - class68 String? @db.VarChar(32) - medicalinstrumentsclass String? @db.VarChar(32) - classattr String? @db.VarChar(32) - isaccessory Boolean? @default(false) - accessoryclass String? @db.VarChar(32) - isspecial Boolean? @default(false) - specialclass String? @db.VarChar(32) - isemergency Boolean? @default(false) - emergencyclass String? @db.VarChar(32) - supplier String? @db.VarChar(100) - suppliercontract String? @db.VarChar(50) - suppliertel String? @db.VarChar(15) - manufacturer String? @db.VarChar(100) - brand String? @db.VarChar(50) - productionplace String? @db.VarChar(100) - aftersaletel String? @db.VarChar(15) - aftersaleengineer String? @db.VarChar(50) - dateproduction DateTime? @db.Date - service_life Int? - equipment_value Float? - financial_value Float? - teaching_value Float? - research_value Float? - selfraised_value Float? - othe_value Float? - depreciationmethod String? @db.VarChar(32) - rmv_value_rate Float? - configuration String? @db.VarChar(200) - devicepic String? @db.VarChar(400) - task_owner String? @db.VarChar(32) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_devicecategory { - id String @id @db.VarChar(32) - category_code String? @db.VarChar(20) - category_name String @db.VarChar(50) - superior_id String? @db.VarChar(32) - devicecategory_level Int? - sortorder Int? @default(0) - isusing Boolean? @default(true) - manage_affiliation String? @db.VarChar(32) - respon_affiliation String? @db.VarChar(32) - category_fullname String? @db.VarChar(200) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_deviceinspection_item { - id String @id @db.VarChar(32) - template_id String @db.VarChar(32) - item_name String? @db.VarChar(50) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_deviceinspection_itemcontent { - id String @id @db.VarChar(32) - item_id String @db.VarChar(32) - content String? @db.VarChar(400) - deviceinspection_type String? @db.VarChar(32) - maxvalue1 Float? - minvalue Float? - uint String? @db.VarChar(20) - itemradioitem_id String? @db.VarChar(32) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_deviceinspection_itemradioitem { - id String @id @db.VarChar(32) - itemcontent_id String @db.VarChar(32) - prompt String? @db.VarChar(100) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_deviceinspection_plan { - id String @id @db.VarChar(32) - plan_name String @db.VarChar(50) - devicecategory_id String @db.VarChar(32) - template_id String @db.VarChar(32) - inspection_period String @db.VarChar(32) - start_month Int? - start_day Int? - workdaycount Int? - start_date DateTime? @db.Date - start_time DateTime? @db.Time(0) - end_time DateTime? @db.Time(0) - frequency Int? - minimuminterval Int? - isactive Boolean? @default(true) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - ispatrol Boolean? @default(true) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_deviceinspection_plan_device { - id String @id @db.VarChar(32) - plan_id String @db.VarChar(32) - device_id String @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_deviceinspection_tasksheet { - id String @id @db.VarChar(32) - sheet_code String @db.VarChar(20) - device_id String @db.VarChar(32) - device_name String @db.VarChar(200) - inspectiontype String? @db.VarChar(32) - template_id String? @db.VarChar(32) - plan_id String @db.VarChar(32) - start_time DateTime? @db.DateTime(0) - end_time DateTime? @db.DateTime(0) - finish_time DateTime? @db.DateTime(0) - finish_pic String? @db.VarChar(400) - finish_wav String? @db.VarChar(400) - finish_word String? @db.VarChar(400) - finish_conclusion String? @db.VarChar(32) - credible String? @db.VarChar(32) - iscreatesheet Boolean? @default(false) - tasksheet_id String? @db.VarChar(32) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - ispatrol Boolean? @default(true) - tasksheet_state String? @db.VarChar(32) - undertake_person String? @db.VarChar(32) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_deviceinspection_tasksheet_itemcontentconclusion { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - item_id String? @db.VarChar(32) - itemcontent_id String? @db.VarChar(32) - inspection_type String? @db.VarChar(32) - maxvalue Float? - minvalue Float? - uint String? @db.VarChar(20) - currentvalue Float? - itemradioitem_id String? @db.VarChar(32) - current_result String? @db.VarChar(100) - itemfinish_conclusion String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_deviceinspection_tasksheet_serviceitem { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - service_item String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_deviceinspection_tasksheet_statetrack { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - acceptance_person String? @db.VarChar(32) - tasksheet_state String? @default("01") @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_deviceinspection_tasksheet_undertake { - id String @id @db.VarChar(32) - tasksheet_statetrack_id String @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - undertake_person String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_deviceinspection_template { - id String @id @db.VarChar(32) - templatename String @db.VarChar(50) - devicecategory_id String @db.VarChar(32) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - ispatrol Boolean? @default(true) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_equipmentmaintenance_item { - id String @id @db.VarChar(32) - template_id String @db.VarChar(32) - item_name String? @db.VarChar(50) - content String? @db.VarChar(400) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_equipmentmaintenance_plan { - id String @id @db.VarChar(32) - plan_name String @db.VarChar(50) - maintenancetype String? @db.VarChar(32) - template_id String? @db.VarChar(32) - planstarttime DateTime? @db.Date - planendtime DateTime? @db.Date - responsibleunittype String? @db.VarChar(32) - responsibleunitname String? @db.VarChar(100) - responsibleunitperson String? @db.VarChar(20) - responsibleunittel String? @db.VarChar(15) - maintain_period_id String? @db.VarChar(32) - start_month Int? - start_day Int? - start_day2 Int? - workdaycount Int? - start_date DateTime? @db.Date - isactive Boolean? @default(true) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_equipmentmaintenance_plan_device { - id String @id @db.VarChar(32) - plan_id String @db.VarChar(32) - device_id String @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_equipmentmaintenance_tasksheet { - id String @id @db.VarChar(32) - sheet_code String @db.VarChar(20) - device_id String @db.VarChar(32) - assetcode String? @db.VarChar(50) - assetname String? @db.VarChar(100) - plan_id String? @db.VarChar(32) - maintenancetype String? @db.VarChar(32) - template_id String? @db.VarChar(32) - devicecategory_id String? @db.VarChar(32) - start_time DateTime? @db.DateTime(0) - end_time DateTime? @db.DateTime(0) - finish_time DateTime? @db.DateTime(0) - finish_pic String? @db.VarChar(400) - finish_wav String? @db.VarChar(400) - finish_word String? @db.VarChar(400) - finish_conclusion String? @db.VarChar(32) - credible String? @db.VarChar(32) - iscreatesheet Boolean? @default(false) - tasksheet_id String? @db.VarChar(32) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - tasksheet_state String? @db.VarChar(32) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_equipmentmaintenance_tasksheet_itemcontentconclusion { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - item_id String? @db.VarChar(32) - itemfinish_word String? @db.VarChar(200) - itemfinish_conclusion String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_equipmentmaintenance_tasksheet_serviceitem { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - service_item String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_equipmentmaintenance_tasksheet_statetrack { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - acceptance_person String? @db.VarChar(32) - tasksheet_state String? @default("01") @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - - @@index([tasksheet_id], map: "index_tasksheet_id") -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_equipmentmaintenance_tasksheet_undertake { - id String @id @db.VarChar(32) - tasksheet_statetrack_id String @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - undertake_person String? @db.VarChar(32) - undertakeunittype String? @db.VarChar(32) - undertakeunitname String? @db.VarChar(100) - undertakeunitperson String? @db.VarChar(20) - undertakeunittel String? @db.VarChar(15) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_equipmentmaintenance_template { - id String @id @db.VarChar(32) - templatename String @db.VarChar(50) - devicecategory_id String @db.VarChar(32) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_equipmentrepair_tasksheet { - id String @id @db.VarChar(32) - tasksheet_type String? @default("02") @db.VarChar(32) - sheet_code String? @db.VarChar(20) - dec_tel String? @db.VarChar(15) - dec_dept String? @db.VarChar(32) - declarer String? @db.VarChar(32) - declarer_post String? @db.VarChar(32) - dec_time DateTime? @db.DateTime(0) - dec_source String? @db.VarChar(32) - dec_channel String? @db.VarChar(32) - urgent_degree String? @db.VarChar(32) - device_id String? @db.VarChar(32) - grid_id String? @db.VarChar(32) - position String? @db.VarChar(100) - devicecategory String? @db.VarChar(32) - task_owner String? @db.VarChar(32) - ask_pic String? @db.VarChar(400) - ask_wav String? @db.VarChar(400) - ask_word String? @db.VarChar(400) - is_ordered Boolean? @default(false) - ordered_datetime DateTime? @db.DateTime(0) - needcontact_dept String? @db.VarChar(32) - needcontact String? @db.VarChar(20) - needcontact_tel String? @db.VarChar(15) - isreworksheet Boolean? @default(false) - reponse_rank String? @db.VarChar(400) - exteam_id String? @db.VarChar(32) - excompany_id String? @db.VarChar(32) - finish_time DateTime? @db.DateTime(0) - finish_pic String? @db.VarChar(400) - finish_wav String? @db.VarChar(400) - finish_word String? @db.VarChar(400) - satisfaction_evaluation String? @db.VarChar(32) - satisfaction_content String? @db.VarChar(200) - issuperviset Boolean? @default(false) - supervisor_id String? @db.VarChar(32) - superviset_time DateTime? @db.DateTime(0) - isconfirm Boolean? @default(false) - confirmingperson_id String? @db.VarChar(32) - confirm_time DateTime? @db.DateTime(0) - iscomplaint Boolean? @default(false) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - tasksheet_state String? @db.VarChar(32) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_equipmentrepair_tasksheet_serviceitem { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - service_item String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_equipmentrepair_tasksheet_statetrack { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - acceptance_person String? @db.VarChar(32) - tasksheet_state String? @default("01") @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_equipmentrepair_tasksheet_undertake { - id String @id @db.VarChar(32) - tasksheet_statetrack_id String @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - undertake_person String? @db.VarChar(32) - undertakeunittype String? @db.VarChar(32) - undertakeunitname String? @db.VarChar(100) - undertakeunitperson String? @db.VarChar(20) - undertakeunittel String? @db.VarChar(15) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_excompany { - id String @id @db.VarChar(32) - excompany_name String @db.VarChar(100) - excompany_legal String? @db.VarChar(50) - excompany_leader_name String? @db.VarChar(50) - excompany_leader_tel String? @db.VarChar(15) - excompany_leader_ID String? @db.VarChar(32) - excompany_staff_amount Int? - excompany_service_startdate DateTime? @db.Date - excompany_service_enddate DateTime? @db.Date - excompany_certificate String? @db.VarChar(400) - excompany_complaint_tel String? @db.VarChar(15) - services_remark String? @db.VarChar(400) - excompany_address String? @db.VarChar(200) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_excompany_services { - id String @id @db.VarChar(32) - exservice_name String @db.VarChar(32) - excompany_id String? @db.VarChar(32) - service_id String? @db.VarChar(32) - leader_name String? @db.VarChar(20) - leader_tel String? @db.VarChar(15) - leader_ID String? @db.VarChar(32) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_exstaff_restaurantcertificate { - id String @id @db.VarChar(32) - exstaff_id String @db.VarChar(32) - restaurantcertificate_id String? @db.VarChar(32) - restaurantcertificate_pic String? @db.VarChar(400) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_exstaff_skillcertificate { - id String @id @db.VarChar(32) - exstaff_id String @db.VarChar(32) - skillcertificate_id String? @db.VarChar(32) - skillcertificate_pic String? @db.VarChar(400) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_exteam { - id String @id @db.VarChar(32) - exteam_name String @db.VarChar(100) - exteam_code String @db.VarChar(20) - exservices_id String @db.VarChar(32) - excompany_id String @db.VarChar(32) - service_id String? @db.VarChar(32) - exteam_leader_name String? @db.VarChar(20) - exteam_leader_mobile String? @db.VarChar(15) - exteam_tel String? @db.VarChar(15) - exteam_leader_id String? @db.VarChar(32) - exteam_staff_amount Int? - super_id String? @db.VarChar(32) - exteam_level Int? - exteam_fullname String? @db.VarChar(400) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_exteam_grid { - id String @id @db.VarChar(32) - team_id String @db.VarChar(32) - grid_id String @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - grid_code String @db.VarChar(30) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_grid { - id String @id @db.VarChar(32) - grid_code String @db.VarChar(30) - grid_name String @db.VarChar(100) - superior_grid_id String? @db.VarChar(32) - dept_id String? @db.VarChar(32) - grid_level Int? - grid_area Float? - grid_placeclass_id String? @db.VarChar(32) - grid_picture String? @db.VarChar(400) - grid_fullname String? @db.VarChar(400) - grid_centerX Float? - grid_centerY Float? - grid_radius Int? @default(50) - grid_leader_ID String? @db.VarChar(32) - grid_leader_name String? @db.VarChar(20) - grid_leader_tel String? @db.VarChar(15) - grid_tel String? @db.VarChar(100) - abbre String? @db.VarChar(200) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_grid_tel { - id String @id @db.VarChar(32) - grid_id String @db.VarChar(32) - grid_tel String @db.VarChar(15) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_hosp_functionlist { - id String @id @db.VarChar(32) - hosp_id String @db.VarChar(32) - function_id String @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_hosp_params { - id String @id @db.VarChar(32) - clearinspectionmode String? @db.VarChar(32) - isCenterdispatchedworker Boolean? @default(false) - isCenterdispatchedworkerForDevice Boolean? @default(false) - isCenterdispatchedworkerForClearinspection Boolean? @default(false) - isCenterdispatchedworkerForSecurityinspection Boolean? @default(false) - dispatchedworkerinterval Int? @default(30) - evaluateinterval Int? @default(48) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_hospfunctions { - id String @id @db.VarChar(32) - functionname String @db.VarChar(50) - functionurl String? @db.VarChar(255) - functiondesc String? @db.VarChar(255) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_hospital_basic_information { - id String @id @db.VarChar(32) - hosp_code String @db.VarChar(20) - hosp_name String @db.VarChar(100) - hosp_certificate_number String? @db.VarChar(30) - hosp_build_date DateTime? @db.Date - hosp_authorized_strength Int? - hosp_build_area Float? - hosp_emergency_area Float? - hosp_bed_amount Int? - hosp_outpatient_volume Int? - pid String? @db.VarChar(32) - cid String? @db.VarChar(32) - county_id String? @db.VarChar(32) - hosp_detail_address String? @db.VarChar(255) - hosp_parking_amount Int? - hosp_police_amount Int? - hosp_security_amount Int? - hosp_security_company_id String? @db.VarChar(32) - hosp_president String? @db.VarChar(255) - hosp_representative String? @db.VarChar(255) - hosp_legal_name String? @db.VarChar(20) - hosp_main_leadership_team String? @db.VarChar(255) - hosp_affair_chief String? @db.VarChar(20) - hosp_affair_chief_mobile String? @db.VarChar(15) - hosp_affair_chief_tel String? @db.VarChar(15) - hosp_affair_chief_email String? @db.VarChar(100) - hosp_security_chief String? @db.VarChar(20) - hosp_security_chief_mobile String? @db.VarChar(15) - hosp_badge String? @db.VarChar(400) - hosp_logo String? @db.VarChar(400) - hosp_app_logo String? @db.VarChar(400) - hosp_picture String? @db.VarChar(400) - hosp_serve_center_tel String? @db.VarChar(15) - hosp_staff_audit_tel String? @db.VarChar(15) - hosp_introduction String? @db.VarChar(500) - hosp_centerX Float? - hosp_centerY Float? - hosp_radius Int? @default(50) - hosp_url String? @db.VarChar(20) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - hosp_president_tel String? @db.VarChar(15) - hosp_president_ID String? @db.VarChar(32) - excompany_logo String? @db.VarChar(200) - excompany_name String? @db.VarChar(50) - hosp_QRcodefile String? @db.VarChar(400) - excompany_tel String? @db.VarChar(15) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_ibeacon { - id String @id @db.VarChar(32) - ibeacon_name String? @db.VarChar(32) - ibeacon_UUID String? @db.VarChar(36) - ibeacon_Marj String? @db.VarChar(50) - ibeacon_Minj String? @db.VarChar(50) - ibeacon_RSSI String? @db.VarChar(10) - hosp_ID String? @db.VarChar(32) - grid_id String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - isusing Boolean? @default(true) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_material_tasktype { - id String @id @db.VarChar(32) - material_id String @db.VarChar(32) - tasktype_id String @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_materialbill { - id String @id @db.VarChar(32) - material_name String @db.VarChar(50) - material_spec String? @db.VarChar(50) - material_price Float? - material_stock Int? - category_id String? @db.VarChar(32) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - tasktype_id String? @db.VarChar(32) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_materialcategory { - id String @id @db.VarChar(32) - materialcategory_name String @db.VarChar(50) - materialcategory_code String @db.VarChar(20) - superior_id String? @db.VarChar(32) - materialcategory_level Int? - materialcategory_fullname String? @db.VarChar(200) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - tasktype_id String? @db.VarChar(32) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_materialconsumerecord { - id String @id @db.VarChar(32) - material_id String @db.VarChar(32) - tasksheettype_id String @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - material_price Float? - consumecount Int? @default(0) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - useuserid String? @db.VarChar(32) - hosp_ID String? @db.VarChar(32) - category_id String? @db.VarChar(32) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_materialstoragerecord { - id String @id @db.VarChar(32) - category_id String? @db.VarChar(32) - material_id String @db.VarChar(32) - storagecount Int? @default(0) - useuserid String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - hosp_ID String? @db.VarChar(32) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_month_schedule { - id String @id @db.VarChar(32) - exteam_id String @db.VarChar(32) - post_id String @db.VarChar(32) - exstaff_id String @db.VarChar(32) - exstaff_name String? @db.VarChar(20) - exstaff_phone String? @db.VarChar(15) - start_date DateTime? @db.Date - dates String? @db.VarChar(100) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_notice { - id String @id @db.VarChar(32) - title String @db.VarChar(200) - keywords String @db.VarChar(100) - notice_type String @db.VarChar(32) - notice_status String @db.VarChar(32) - notice_content String @db.VarChar(200) - receivertype String @db.VarChar(32) - sendtype String @db.VarChar(32) - staff_name String @db.VarChar(50) - staff_id String @db.VarChar(32) - publish_time DateTime @default(now()) @db.Timestamp(0) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_notice_receiver { - id String @id @db.VarChar(32) - noticeid String? @db.VarChar(32) - noticereceiverid String? @db.VarChar(32) - receivertype String @db.VarChar(32) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_page { - id String @id @db.VarChar(32) - page_url String? @db.VarChar(255) - page_name String? @db.VarChar(255) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_role { - id String @id @db.VarChar(32) - role_name String @db.VarChar(20) - role_dec String? @db.VarChar(100) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_role_page { - id String @id @db.VarChar(32) - role_id String @db.VarChar(32) - page_id String @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_scheduleplan { - id String @id @db.VarChar(32) - exstaff_id String @db.VarChar(32) - user_name String @default("") @db.VarChar(20) - user_mobile String? @db.VarChar(15) - post_id String? @db.VarChar(32) - start_date DateTime? @db.Date - work_time String? @db.VarChar(400) - exteam_id String? @db.VarChar(32) - service_id String? @db.VarChar(32) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_schedulework { - id String @id @db.VarChar(32) - workscheduling_id String @db.VarChar(32) - classes String? @db.VarChar(20) - sche_date DateTime @db.Date - week Int? - exstaff_id String @db.VarChar(32) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_securitypatrol_item { - id String @id @db.VarChar(32) - template_id String @db.VarChar(32) - item_name String @db.VarChar(50) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_securitypatrol_itemcontent { - id String @id @db.VarChar(32) - item_id String @db.VarChar(32) - content String @db.VarChar(400) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_securitypatrol_person { - id String @id @db.VarChar(32) - exstaff_id String @db.VarChar(32) - isleader Boolean? @default(false) - isactive Boolean? @default(true) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_securitypatrol_plan { - id String @id @db.VarChar(32) - plan_name String @db.VarChar(50) - grid_placeclass_id String? @db.VarChar(32) - template_id String @db.VarChar(32) - inspection_period String @db.VarChar(32) - start_month Int? - start_day Int? - workdaycount Int? - start_date DateTime? @db.Date - start_time DateTime? @db.Time(0) - end_time DateTime? @db.Time(0) - frequency Int? - minimuminterval Int? - isactive Boolean? @default(true) - ispatrol Int? @default(2) @db.TinyInt - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_securitypatrol_plan_grid { - id String @id @db.VarChar(32) - plan_id String @db.VarChar(32) - grid_id String @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_securitypatrol_tasksheet { - id String @id @db.VarChar(32) - sheet_code String @db.VarChar(20) - grid_id String @db.VarChar(32) - grid_name String @db.VarChar(200) - grid_placeclass_id String? @db.VarChar(32) - template_id String @db.VarChar(32) - plan_id String @db.VarChar(32) - start_time DateTime? @db.DateTime(0) - end_time DateTime? @db.DateTime(0) - ispatrol Int? @default(2) @db.TinyInt - finish_time DateTime? @db.DateTime(0) - finish_pic String? @db.VarChar(400) - finish_wav String? @db.VarChar(400) - finish_word String? @db.VarChar(400) - finish_conclusion String? @db.VarChar(32) - credible String? @db.VarChar(32) - iscreatesheet Boolean? @default(false) - tasksheet_id String? @db.VarChar(32) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - tasksheet_state String? @db.VarChar(32) - undertake_person String? @db.VarChar(32) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_securitypatrol_tasksheet_itemconclusion { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - item_id String? @db.VarChar(32) - itemfinish_pic String? @db.VarChar(400) - itemfinish_wav String? @db.VarChar(400) - itemfinish_word String? @db.VarChar(400) - itemfinish_conclusion String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_securitypatrol_tasksheet_serviceitem { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - service_item String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_securitypatrol_tasksheet_statetrack { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - acceptance_person String? @db.VarChar(32) - tasksheet_state String? @default("01") @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_securitypatrol_tasksheet_undertake { - id String @id @db.VarChar(32) - tasksheet_statetrack_id String @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - undertake_person String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_securitypatrol_template { - id String @id @db.VarChar(32) - templatename String @db.VarChar(50) - grid_placeclass_id String? @db.VarChar(32) - ispatrol Int? @default(2) @db.TinyInt - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_serialnumber { - id Int @id @default(autoincrement()) - Name String @db.VarChar(50) - IDValue Int @default(1) - StrLen Int @default(4) - Reset_time DateTime @default(now()) @db.Timestamp(0) - Resetflagperday Boolean? @default(false) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_servicebill { - id String @id @db.VarChar(32) - serviceitem_name String @db.VarChar(50) - category_id String? @db.VarChar(32) - service_type_id String? @db.VarChar(32) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_serviceitemcategory { - id String @id @db.VarChar(32) - serviceitemcategory_name String @db.VarChar(50) - serviceitemcategory_code String @db.VarChar(20) - superior_id String? @db.VarChar(32) - service_type_id String? @db.VarChar(32) - serviceitemcategory_level Int? - serviceitemcategory_fullname String? @db.VarChar(200) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_today_schedule { - id String @id @db.VarChar(32) - exteam_id String? @db.VarChar(32) - exstaff_id String @db.VarChar(32) - exstaff_name String? @db.VarChar(20) - exstaff_phone String? @db.VarChar(15) - workscheduling_id String? @db.VarChar(32) - start_date DateTime? @db.Date - work_time DateTime? @db.Time(0) - end_date DateTime? @db.Date - nowork_time DateTime? @db.Time(0) - leave_time DateTime? @db.DateTime(0) - back_time DateTime? @db.DateTime(0) - lea DateTime? @db.DateTime(0) - leave_period String? @db.VarChar(200) - service_location String? @db.VarChar(400) - current_state String? @db.VarChar(32) - orders_received Int? - orders_completed Int? - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - grid_code String? @db.VarChar(30) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_transport_tasksheet { - id String @id @db.VarChar(32) - tasksheet_type String? @default("03") @db.VarChar(32) - sheet_code String @db.VarChar(20) - dec_tel String? @db.VarChar(15) - dec_dept String? @db.VarChar(32) - declarer String? @db.VarChar(32) - declarer_post String? @db.VarChar(32) - dec_time DateTime? @db.DateTime(0) - dec_source String? @db.VarChar(32) - dec_channel String? @db.VarChar(32) - urgent_degree String? @db.VarChar(32) - service_place String? @db.VarChar(32) - service_dept String? @db.VarChar(32) - ask_pic String? @db.VarChar(400) - ask_wav String? @db.VarChar(400) - ask_word String? @db.VarChar(400) - is_ordered Boolean? @default(false) - ordered_datetime DateTime? @db.DateTime(0) - needcontact_dept String? @db.VarChar(32) - needcontact String? @db.VarChar(20) - needcontact_tel String? @db.VarChar(15) - isreworksheet Boolean? @default(false) - reponse_rank String? @db.VarChar(400) - exteam_id String? @db.VarChar(32) - excompany_id String? @db.VarChar(32) - finish_time DateTime? @db.DateTime(0) - finish_pic String? @db.VarChar(400) - finish_wav String? @db.VarChar(400) - finish_word String? @db.VarChar(400) - satisfaction_evaluation String? @db.VarChar(32) - satisfaction_content String? @db.VarChar(200) - issuperviset Boolean? @default(false) - supervisor_id String? @db.VarChar(32) - superviset_time DateTime? @db.DateTime(0) - isconfirm Boolean? @default(false) - confirmingperson_id String? @db.VarChar(32) - confirm_time DateTime? @db.DateTime(0) - confirm_content String? @db.VarChar(400) - confirm_wav String? @db.VarChar(400) - iscomplaint Boolean? @default(false) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - tasksheet_state String? @db.VarChar(32) - isautodispatching Boolean? @default(false) - user_type Int? @default(2) - finish_rank String? @db.VarChar(32) - undertake_person String? @db.VarChar(32) - org_id BigInt? @default(0) - campus_id BigInt? @default(0) - dec_name String? @db.VarChar(100) - service_dept_name String? @db.VarChar(100) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_transport_tasksheet_additionalinfo { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - outnumber Int? @default(1) - endservice_place String? @db.VarChar(32) - endservice_dept String? @db.VarChar(32) - content String? @db.VarChar(200) - confirm_img String? @db.VarChar(400) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime? @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_transport_tasksheet_carryingtools { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - carryingtools String? @db.VarChar(32) - carryingtools_count Int? @default(1) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_transport_tasksheet_drugdto { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - dto_id String? @db.MediumText - org_id String? @db.MediumText - campus_id String? @db.MediumText - area_id String? @db.MediumText - area_name String? @db.VarChar(200) - doctor_order_id String? @db.MediumText - item_id String? @db.MediumText - item_name String? @db.VarChar(100) - doctor_order_name String? @db.VarChar(100) - management_category_code String? @db.VarChar(100) - doctor_order_flag String? @db.VarChar(100) - once_dosage Decimal? @db.Decimal(10, 0) - once_dosage_unit String? @db.VarChar(20) - once_dosage_unit_type Int? - patient_id String? @db.MediumText - patient_name String? @db.VarChar(20) - medical_record_no String? @db.VarChar(50) - healthcare_type String? @db.VarChar(50) - healthcare_record_id String? @db.MediumText - order_id String? @db.MediumText - specifications String? @db.VarChar(100) - frequency_id String? @db.MediumText - frequency_name String? @db.VarChar(50) - executive_status String? @db.VarChar(20) - medication_status String? @db.VarChar(20) - execute_operator_id String? @db.MediumText - execute_operator_name String? @db.VarChar(20) - is_long_term Int? - usage_id String? @db.MediumText - usage_name String? @db.VarChar(50) - usage_type String? @db.VarChar(50) - plan_time DateTime? @db.DateTime(0) - real_start_time DateTime? @db.DateTime(0) - real_end_time DateTime? @db.DateTime(0) - result_description String? @db.VarChar(100) - barcode String? @db.VarChar(100) - execute_dept_id String? @db.MediumText - execute_dept_name String? @db.VarChar(100) - cancel_time DateTime? @db.DateTime(0) - dto_create_time DateTime? @db.DateTime(0) - dtoremark String? @db.VarChar(100) - operate_dept_id String? @db.MediumText - operate_dept_name String? @db.VarChar(200) - search_status String? @db.VarChar(50) - print_status Boolean? @default(false) - execute_source_type String? @db.VarChar(50) - extistflag Boolean? @default(false) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime? @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_transport_tasksheet_serviceitem { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - service_item String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_transport_tasksheet_serviceitemcontent { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - service_content String? @db.VarChar(32) - service_number Int? @default(0) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime? @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_transport_tasksheet_specimendto { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - dto_id String? @db.MediumText - org_id String? @db.MediumText - campus_id String? @db.MediumText - area_id String? @db.MediumText - area_name String? @db.VarChar(200) - item_id String? @db.MediumText - item_name String? @db.VarChar(100) - barcode String? @db.VarChar(100) - dto_create_time DateTime? @default(now()) @db.DateTime(0) - dtoremark String? @db.VarChar(100) - operate_dept_id String? @db.MediumText - operate_dept_name String? @db.VarChar(200) - dec_dept String? @db.VarChar(32) - service_place String? @db.VarChar(32) - urgent_degree String? @db.VarChar(32) - urgent_degree_name String? @db.VarChar(50) - ask_pic String? @db.VarChar(400) - finish_pic String? @db.VarChar(400) - dec_name String? @db.VarChar(100) - service_dept_name String? @db.VarChar(100) - tasksheet_state String? @default("01") @db.VarChar(32) - undertake_person String? @db.VarChar(32) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime? @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_transport_tasksheet_statetrack { - id String @id @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - acceptance_person String? @db.VarChar(32) - tasksheet_state String? @default("01") @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_transport_tasksheet_undertake { - id String @id @db.VarChar(32) - tasksheet_statetrack_id String @db.VarChar(32) - tasksheet_id String @db.VarChar(32) - tasksheet_type String @db.VarChar(32) - undertake_person String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_user { - id String @id @db.VarChar(32) - openid String? @db.VarChar(120) - user_name String @default("") @db.VarChar(20) - user_sex String? @db.VarChar(32) - user_mobile String? @db.VarChar(15) - user_login_name String @default("") @db.VarChar(20) - user_login_nickname String? @db.VarChar(20) - user_password String? @db.VarChar(32) - user_pic_path String? @db.VarChar(400) - is_initial Boolean? @default(true) - user_activestate Boolean? @default(true) - user_type Int? @default(1) - staff_identification String? @db.VarChar(20) - staff_code String? @db.VarChar(20) - dept_id String? @db.VarChar(32) - isuse_medicalhelp Boolean? @default(true) - staff_picture String? @db.VarChar(400) - staff_tel String? @db.VarChar(15) - staff_birthday DateTime? @db.Date - staff_email String? @db.VarChar(50) - staff_adminis_position String? @db.VarChar(32) - staff_technical_position String? @db.VarChar(32) - staff_education_position String? @db.VarChar(32) - staff_tutor_type String? @db.VarChar(32) - staff_degree String? @db.VarChar(32) - staff_weixin String? @db.VarChar(50) - staff_qq String? @db.VarChar(20) - exstaff_jobNo String? @db.VarChar(20) - exstaff_jobstate String? @db.VarChar(32) - excompany_id String? @db.VarChar(32) - exteam_id String? @db.VarChar(32) - exstaff_employstartdate DateTime? @db.DateTime(0) - exstaff_employenddate DateTime? @db.DateTime(0) - exstaff_pic String? @db.VarChar(400) - exstaff_technicalwork String? @db.VarChar(32) - exstaff_expertise String? @db.VarChar(400) - exstaff_leadname String? @db.VarChar(50) - exstaff_stature Float? - exstaff_weight Float? - exstaff_shoesize Float? - exstaff_emercontactname String? @db.VarChar(20) - exstaff_emercontacttel String? @db.VarChar(15) - exstaff_emercontactrelationship String? @db.VarChar(100) - exstaff_birthday DateTime? @db.DateTime(0) - exstaff_tel String? @db.VarChar(15) - exstaff_email String? @db.VarChar(200) - exstaff_nation String? @db.VarChar(32) - exstaff_native_place String? @db.VarChar(100) - exstaff_marriage_state String? @db.VarChar(32) - exstaff_identify_id String? @db.VarChar(20) - exstaff_degree String? @db.VarChar(32) - exstaff_weixin_id String? @db.VarChar(100) - exstaff_qq_id String? @db.VarChar(20) - exstaff_address String? @db.VarChar(255) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(500) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - assets_role Int? @default(1) @db.TinyInt -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_user_grid { - id String @id @db.VarChar(32) - user_id String @db.VarChar(32) - grid_id String @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_user_hosp { - id String @id @db.VarChar(32) - user_id String @db.VarChar(32) - hosp_id String @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_user_pos { - id String @id @db.VarChar(32) - user_id String @db.VarChar(32) - grid_id String @db.VarChar(32) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - isexistibeacon Boolean? @default(false) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_user_role { - id String @id @db.VarChar(32) - user_id String @db.VarChar(32) - role_id String @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_work_history { - id String @id @db.VarChar(32) - exteam_id String @db.VarChar(32) - exstaff_id String @db.VarChar(32) - exstaff_name String? @db.VarChar(20) - exstaff_phone String? @db.VarChar(15) - workscheduling_id String? @db.VarChar(32) - start_date DateTime? @db.Date - work_time DateTime? @db.Time(0) - end_date DateTime? @db.Date - nowork_time DateTime? @db.Time(0) - leave_time DateTime? @db.DateTime(0) - back_time DateTime? @db.DateTime(0) - lea DateTime? @db.DateTime(0) - leave_period String? @db.VarChar(200) - service_location String? @db.VarChar(400) - current_state String? @db.VarChar(32) - orders_received Int? - orders_completed Int? - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_workpost { - id String @id @db.VarChar(32) - post_name String @db.VarChar(50) - workposttype_id String? @db.VarChar(32) - firsthalfwork_time DateTime? @db.Time(0) - firsthalfnowork_time DateTime? @db.Time(0) - lasthalfwork_time DateTime? @db.Time(0) - lasthalfnowork_time DateTime? @db.Time(0) - exteam_id String? @db.VarChar(32) - service_id String? @db.VarChar(32) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_workpost_grid { - id String @id @db.VarChar(32) - post_id String @db.VarChar(32) - grid_id String @db.VarChar(32) - exteam_id String? @db.VarChar(32) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) - grid_code String? @db.VarChar(30) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_workscheduling { - id String @id @db.VarChar(32) - start_date DateTime @db.Date - end_date DateTime @db.Date - classes String @db.VarChar(20) - startwork_time DateTime @db.Time(0) - endtime_time DateTime @db.Time(0) - exteam_id String? @db.VarChar(32) - hosp_ID String? @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(0) -} - -/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments -model tb_workscheduling_grid { - id String @id @db.VarChar(32) - workscheduling_id String @db.VarChar(32) - grid_id String @db.VarChar(32) - create_time DateTime @default(now()) @db.Timestamp(0) - create_by String? @db.VarChar(32) - remark String? @db.VarChar(200) - delete_flag Boolean? @default(false) - update_time DateTime @default(now()) @db.Timestamp(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 // 已完成(已领用) +} \ No newline at end of file diff --git a/src/openapi/catalog.openapi.ts b/src/openapi/catalog.openapi.ts new file mode 100644 index 0000000..58d3102 --- /dev/null +++ b/src/openapi/catalog.openapi.ts @@ -0,0 +1,146 @@ +import { OpenAPIRegistry } from '@asteasolutions/zod-to-openapi'; +import { z } from 'zod'; +import { catalogCreateSchema, catalogUpdateSchema, catalogResponseSchema } from '../schemas/catalog.schemas.js'; +import { errorResponseSchema, paginatedResponseSchema } from '../schemas/common.js'; + +export function registerCatalogPaths(registry: OpenAPIRegistry) { + // POST /api/consumable-temp-catalog + registry.registerPath({ + method: 'post', + path: '/api/consumable-temp-catalog', + tags: ['Consumable Catalog'], + summary: '创建耗材目录', + request: { + body: { + content: { + 'application/json': { + schema: catalogCreateSchema + } + } + } + }, + responses: { + 201: { + description: '创建成功', + content: { + 'application/json': { + schema: z.object({ data: catalogResponseSchema }) + } + } + } + } + }); + + // GET /api/consumable-temp-catalog + registry.registerPath({ + method: 'get', + path: '/api/consumable-temp-catalog', + tags: ['Consumable Catalog'], + summary: '查询耗材目录列表', + request: { + query: z.object({ + page: z.string().optional().openapi({ description: '页码' }), + pageSize: z.string().optional().openapi({ description: '每页数量' }), + isActive: z.string().optional().openapi({ description: '是否激活' }), + q: z.string().optional().openapi({ description: '搜索关键词' }) + }) + }, + responses: { + 200: { + description: '查询成功', + content: { + 'application/json': { + schema: paginatedResponseSchema(catalogResponseSchema) + } + } + } + } + }); + + // GET /api/consumable-temp-catalog/:id + registry.registerPath({ + method: 'get', + path: '/api/consumable-temp-catalog/{id}', + tags: ['Consumable Catalog'], + summary: '获取耗材目录详情', + request: { + params: z.object({ + id: z.string().openapi({ description: '目录ID' }) + }) + }, + responses: { + 200: { + description: '查询成功', + content: { + 'application/json': { + schema: z.object({ data: catalogResponseSchema }) + } + } + }, + 404: { + description: '未找到', + content: { + 'application/json': { + schema: errorResponseSchema + } + } + } + } + }); + + // PUT /api/consumable-temp-catalog/:id + registry.registerPath({ + method: 'put', + path: '/api/consumable-temp-catalog/{id}', + tags: ['Consumable Catalog'], + summary: '更新耗材目录', + request: { + params: z.object({ + id: z.string().openapi({ description: '目录ID' }) + }), + body: { + content: { + 'application/json': { + schema: catalogUpdateSchema + } + } + } + }, + responses: { + 200: { + description: '更新成功', + content: { + 'application/json': { + schema: z.object({ data: catalogResponseSchema }) + } + } + }, + 404: { + description: '未找到', + content: { + 'application/json': { + schema: errorResponseSchema + } + } + } + } + }); + + // DELETE /api/consumable-temp-catalog/:id + registry.registerPath({ + method: 'delete', + path: '/api/consumable-temp-catalog/{id}', + tags: ['Consumable Catalog'], + summary: '停用耗材目录', + request: { + params: z.object({ + id: z.string().openapi({ description: '目录ID' }) + }) + }, + responses: { + 204: { + description: '停用成功' + } + } + }); +} diff --git a/src/openapi/item.openapi.ts b/src/openapi/item.openapi.ts new file mode 100644 index 0000000..78afd41 --- /dev/null +++ b/src/openapi/item.openapi.ts @@ -0,0 +1,62 @@ +import { OpenAPIRegistry } from '@asteasolutions/zod-to-openapi'; +import { z } from 'zod'; +import { requestItemInputSchema, requestItemResponseSchema } from '../schemas/request.schemas.js'; +import { errorResponseSchema } from '../schemas/common.js'; + +export function registerItemPaths(registry: OpenAPIRegistry) { + // PUT /api/consumable-temp-items/:itemId + registry.registerPath({ + method: 'put', + path: '/api/consumable-temp-items/{itemId}', + tags: ['Consumable Request Items'], + summary: '更新物料明细', + request: { + params: z.object({ + itemId: z.string().openapi({ description: '物料明细ID' }) + }), + body: { + content: { + 'application/json': { + schema: requestItemInputSchema.partial() + } + } + } + }, + responses: { + 200: { + description: '更新成功', + content: { + 'application/json': { + schema: z.object({ data: requestItemResponseSchema }) + } + } + }, + 404: { + description: '未找到', + content: { + 'application/json': { + schema: errorResponseSchema + } + } + } + } + }); + + // DELETE /api/consumable-temp-items/:itemId + registry.registerPath({ + method: 'delete', + path: '/api/consumable-temp-items/{itemId}', + tags: ['Consumable Request Items'], + summary: '删除物料明细', + request: { + params: z.object({ + itemId: z.string().openapi({ description: '物料明细ID' }) + }) + }, + responses: { + 204: { + description: '删除成功' + } + } + }); +} diff --git a/src/openapi/registry.ts b/src/openapi/registry.ts new file mode 100644 index 0000000..ca6fb32 --- /dev/null +++ b/src/openapi/registry.ts @@ -0,0 +1,58 @@ +import { OpenAPIRegistry, OpenApiGeneratorV3 } from '@asteasolutions/zod-to-openapi'; +import { + createRequestSchema, + updateRequestSchema, + updateStatusSchema, + requestItemInputSchema, + requestItemResponseSchema, + requestResponseSchema +} from '../schemas/request.schemas.js'; +import { + catalogCreateSchema, + catalogUpdateSchema, + catalogResponseSchema +} from '../schemas/catalog.schemas.js'; +import { errorResponseSchema } from '../schemas/common.js'; +import { registerRequestPaths } from './request.openapi.js'; +import { registerItemPaths } from './item.openapi.js'; +import { registerCatalogPaths } from './catalog.openapi.js'; + +export function createOpenAPIDocument() { + const registry = new OpenAPIRegistry(); + + // 注册 schemas + registry.register('RequestItem', requestItemInputSchema); + registry.register('CreateRequest', createRequestSchema); + registry.register('UpdateRequest', updateRequestSchema); + registry.register('UpdateStatus', updateStatusSchema); + registry.register('CatalogCreate', catalogCreateSchema); + registry.register('CatalogUpdate', catalogUpdateSchema); + registry.register('RequestItemResponse', requestItemResponseSchema); + registry.register('RequestResponse', requestResponseSchema); + registry.register('CatalogResponse', catalogResponseSchema); + registry.register('ErrorResponse', errorResponseSchema); + + // 注册路由 + registerRequestPaths(registry); + registerItemPaths(registry); + registerCatalogPaths(registry); + + // 生成文档 + const generator = new OpenApiGeneratorV3(registry.definitions); + const document = generator.generateDocument({ + openapi: '3.0.0', + info: { + title: '智能配送耗材临时申请 API', + version: '1.0.0', + description: '智能配送系统的耗材临时申请管理 API,支持申请创建、审批、物料明细管理和目录管理' + }, + servers: [ + { + url: process.env.API_BASE_URL || 'http://localhost:3000', + description: '开发服务器' + } + ] + }); + + return document; +} diff --git a/src/openapi/request.openapi.ts b/src/openapi/request.openapi.ts new file mode 100644 index 0000000..42c6cfc --- /dev/null +++ b/src/openapi/request.openapi.ts @@ -0,0 +1,244 @@ +import { OpenAPIRegistry } from '@asteasolutions/zod-to-openapi'; +import { z } from 'zod'; +import { + createRequestSchema, + updateRequestSchema, + updateStatusSchema, + requestItemInputSchema, + requestItemResponseSchema, + requestResponseSchema +} from '../schemas/request.schemas.js'; +import { + catalogCreateSchema, + catalogUpdateSchema, + catalogResponseSchema +} from '../schemas/catalog.schemas.js'; +import { errorResponseSchema, paginatedResponseSchema } from '../schemas/common.js'; + +export function registerRequestPaths(registry: OpenAPIRegistry) { + // POST /api/consumable-temp-requests + registry.registerPath({ + method: 'post', + path: '/api/consumable-temp-requests', + tags: ['Consumable Requests'], + summary: '创建耗材临时申请', + request: { + body: { + content: { + 'application/json': { + schema: createRequestSchema + } + } + } + }, + responses: { + 201: { + description: '创建成功', + content: { + 'application/json': { + schema: z.object({ data: requestResponseSchema }) + } + } + }, + 400: { + description: '验证错误', + content: { + 'application/json': { + schema: errorResponseSchema + } + } + } + } + }); + + // GET /api/consumable-temp-requests + registry.registerPath({ + method: 'get', + path: '/api/consumable-temp-requests', + tags: ['Consumable Requests'], + summary: '查询耗材临时申请列表', + request: { + query: z.object({ + page: z.string().optional().openapi({ description: '页码' }), + pageSize: z.string().optional().openapi({ description: '每页数量' }), + status: z.string().optional().openapi({ description: '状态筛选' }), + applicantPhone: z.string().optional().openapi({ description: '申请人电话筛选' }), + from: z.string().optional().openapi({ description: '开始时间' }), + to: z.string().optional().openapi({ description: '结束时间' }) + }) + }, + responses: { + 200: { + description: '查询成功', + content: { + 'application/json': { + schema: paginatedResponseSchema(requestResponseSchema) + } + } + } + } + }); + + // GET /api/consumable-temp-requests/:id + registry.registerPath({ + method: 'get', + path: '/api/consumable-temp-requests/{id}', + tags: ['Consumable Requests'], + summary: '获取耗材临时申请详情', + request: { + params: z.object({ + id: z.string().openapi({ description: '请求ID' }) + }) + }, + responses: { + 200: { + description: '查询成功', + content: { + 'application/json': { + schema: z.object({ data: requestResponseSchema }) + } + } + }, + 404: { + description: '未找到', + content: { + 'application/json': { + schema: errorResponseSchema + } + } + } + } + }); + + // PUT /api/consumable-temp-requests/:id + registry.registerPath({ + method: 'put', + path: '/api/consumable-temp-requests/{id}', + tags: ['Consumable Requests'], + summary: '更新耗材临时申请', + request: { + params: z.object({ + id: z.string().openapi({ description: '请求ID' }) + }), + body: { + content: { + 'application/json': { + schema: updateRequestSchema + } + } + } + }, + responses: { + 200: { + description: '更新成功', + content: { + 'application/json': { + schema: z.object({ data: requestResponseSchema }) + } + } + }, + 404: { + description: '未找到', + content: { + 'application/json': { + schema: errorResponseSchema + } + } + } + } + }); + + // PATCH /api/consumable-temp-requests/:id/status + registry.registerPath({ + method: 'patch', + path: '/api/consumable-temp-requests/{id}/status', + tags: ['Consumable Requests'], + summary: '更新耗材临时申请状态', + request: { + params: z.object({ + id: z.string().openapi({ description: '请求ID' }) + }), + body: { + content: { + 'application/json': { + schema: updateStatusSchema + } + } + } + }, + responses: { + 200: { + description: '更新成功', + content: { + 'application/json': { + schema: z.object({ data: requestResponseSchema }) + } + } + }, + 404: { + description: '未找到', + content: { + 'application/json': { + schema: errorResponseSchema + } + } + } + } + }); + + // DELETE /api/consumable-temp-requests/:id + registry.registerPath({ + method: 'delete', + path: '/api/consumable-temp-requests/{id}', + tags: ['Consumable Requests'], + summary: '删除耗材临时申请', + request: { + params: z.object({ + id: z.string().openapi({ description: '请求ID' }) + }) + }, + responses: { + 204: { + description: '删除成功' + } + } + }); + + // POST /api/consumable-temp-requests/:id/items + registry.registerPath({ + method: 'post', + path: '/api/consumable-temp-requests/{id}/items', + tags: ['Consumable Request Items'], + summary: '添加物料明细到请求', + request: { + params: z.object({ + id: z.string().openapi({ description: '请求ID' }) + }), + body: { + content: { + 'application/json': { + schema: requestItemInputSchema + } + } + } + }, + responses: { + 201: { + description: '创建成功', + content: { + 'application/json': { + schema: z.object({ data: requestItemResponseSchema }) + } + } + }, + 404: { + description: '请求未找到', + content: { + 'application/json': { + schema: errorResponseSchema + } + } + } + } + }); +} diff --git a/src/routes/catalog.routes.ts b/src/routes/catalog.routes.ts new file mode 100644 index 0000000..69df46d --- /dev/null +++ b/src/routes/catalog.routes.ts @@ -0,0 +1,50 @@ +import { Router } from 'express'; +import { asyncHandler } from '../utils/asyncHandler.js'; +import { prisma } from '../utils/prisma.js'; +import { paginateParamsSchema } from '../schemas/common.js'; +import { catalogCreateSchema, catalogUpdateSchema } from '../schemas/catalog.schemas.js'; + +const router = Router(); + +// Create catalog +router.post('/', asyncHandler(async (req, res) => { + const parsed = catalogCreateSchema.parse(req.body); + const data = await prisma.v2_ConsumableTempCatalog.create({ data: parsed }); + res.status(201).json({ data }); +})); + +// List catalogs +router.get('/', asyncHandler(async (req, res) => { + const { page, pageSize } = paginateParamsSchema.parse({ page: req.query.page, pageSize: req.query.pageSize }); + const where: any = {}; + if (req.query.isActive !== undefined) where.isActive = req.query.isActive === 'true'; + if (req.query.q) where.name = { contains: String(req.query.q) }; + const [total, rows] = await Promise.all([ + prisma.v2_ConsumableTempCatalog.count({ where }), + prisma.v2_ConsumableTempCatalog.findMany({ where, orderBy: { name: 'asc' }, skip: (page - 1) * pageSize, take: pageSize }) + ]); + res.json({ data: rows, meta: { total, page, pageSize } }); +})); + +// Get catalog detail +router.get('/:id', asyncHandler(async (req, res) => { + const data = await prisma.v2_ConsumableTempCatalog.findUnique({ where: { id: req.params.id } }); + if (!data) return res.status(404).json({ error: 'Not Found' }); + res.json({ data }); +})); + +// Update catalog +router.put('/:id', asyncHandler(async (req, res) => { + const parsed = catalogUpdateSchema.parse(req.body); + const data = await prisma.v2_ConsumableTempCatalog.update({ where: { id: req.params.id }, data: parsed }).catch(e => { if ((e as any).code === 'P2025') return null; throw e; }); + if (!data) return res.status(404).json({ error: 'Not Found' }); + res.json({ data }); +})); + +// Deactivate instead of delete +router.delete('/:id', asyncHandler(async (req, res) => { + await prisma.v2_ConsumableTempCatalog.update({ where: { id: req.params.id }, data: { isActive: false } }).catch(e => { if ((e as any).code === 'P2025') return null; throw e; }); + res.status(204).end(); +})); + +export default router; diff --git a/src/routes/items.routes.ts b/src/routes/items.routes.ts new file mode 100644 index 0000000..eda0aeb --- /dev/null +++ b/src/routes/items.routes.ts @@ -0,0 +1,34 @@ +import { Router } from 'express'; +import { Prisma } from '../../generated/prisma/index.js'; +import { asyncHandler } from '../utils/asyncHandler.js'; +import { prisma } from '../utils/prisma.js'; +import { requestItemInputSchema } from '../schemas/request.schemas.js'; + +const router = Router(); + +// Update single item +router.put('/:itemId', asyncHandler(async (req, res) => { + const parsed = requestItemInputSchema.partial().parse(req.body); + const item = await prisma.v2_ConsumableTempRequestItem.update({ + where: { id: req.params.itemId }, + data: { + name: parsed.name, + spec: parsed.spec, + quantity: parsed.quantity, + unit: parsed.unit, + estimatedUnitCost: parsed.estimatedUnitCost !== undefined ? new Prisma.Decimal(parsed.estimatedUnitCost) : undefined, + remark: parsed.remark, + catalogId: parsed.catalogId + } + }).catch(e => { if ((e as any).code === 'P2025') return null; throw e; }); + if (!item) return res.status(404).json({ error: 'Not Found' }); + res.json({ data: item }); +})); + +// Delete item +router.delete('/:itemId', asyncHandler(async (req, res) => { + await prisma.v2_ConsumableTempRequestItem.delete({ where: { id: req.params.itemId } }).catch(e => { if ((e as any).code === 'P2025') return null; throw e; }); + res.status(204).end(); +})); + +export default router; diff --git a/src/routes/requests.routes.ts b/src/routes/requests.routes.ts new file mode 100644 index 0000000..a94b540 --- /dev/null +++ b/src/routes/requests.routes.ts @@ -0,0 +1,177 @@ +import { Router } from 'express'; +import { Prisma } from '../../generated/prisma/index.js'; +import { asyncHandler } from '../utils/asyncHandler.js'; +import { prisma } from '../utils/prisma.js'; +import { paginateParamsSchema } from '../schemas/common.js'; +import { + createRequestSchema, + updateRequestSchema, + updateStatusSchema, + requestItemInputSchema +} from '../schemas/request.schemas.js'; +import { v2_ConsumableTempRequestStatus } from '../../generated/prisma/index.js'; + +const router = Router(); + +// Create request with items +router.post('/', asyncHandler(async (req, res) => { + const parsed = createRequestSchema.parse(req.body); + const result = await prisma.v2_ConsumableTempRequest.create({ + data: { + applicantName: parsed.applicantName, + applicantPhone: parsed.applicantPhone, + department: parsed.department, + reason: parsed.reason, + neededAt: parsed.neededAt, + items: { create: parsed.items.map(i => ({ + name: i.name, + spec: i.spec, + quantity: i.quantity, + unit: i.unit, + estimatedUnitCost: i.estimatedUnitCost !== undefined ? new Prisma.Decimal(i.estimatedUnitCost) : undefined, + remark: i.remark, + catalogId: i.catalogId ?? null + })) } + }, + include: { items: true } + }); + res.status(201).json({ data: result }); +})); + +// List requests with filters & pagination +router.get('/', asyncHandler(async (req, res) => { + const { page, pageSize } = paginateParamsSchema.parse({ page: req.query.page, pageSize: req.query.pageSize }); + const where: any = {}; + if (req.query.status) where.status = req.query.status; + if (req.query.applicantPhone) where.applicantPhone = req.query.applicantPhone; + if (req.query.from || req.query.to) { + where.createdAt = {}; + if (req.query.from) where.createdAt.gte = new Date(String(req.query.from)); + if (req.query.to) where.createdAt.lte = new Date(String(req.query.to)); + } + const [total, items] = await Promise.all([ + prisma.v2_ConsumableTempRequest.count({ where }), + prisma.v2_ConsumableTempRequest.findMany({ + where, + orderBy: { createdAt: 'desc' }, + skip: (page - 1) * pageSize, + take: pageSize, + include: { items: true } + }) + ]); + res.json({ data: items, meta: { total, page, pageSize } }); +})); + +// Get detail +router.get('/:id', asyncHandler(async (req, res) => { + const data = await prisma.v2_ConsumableTempRequest.findUnique({ + where: { id: req.params.id }, + include: { items: true } + }); + if (!data) return res.status(404).json({ error: 'Not Found' }); + res.json({ data }); +})); + +// Full update (basic fields + replace items if provided via upsert logic) +router.put('/:id', asyncHandler(async (req, res) => { + const parsed = updateRequestSchema.parse(req.body); + // We will handle items manually in a transaction: update existing, create new, delete removed + const result = await prisma.$transaction(async (tx) => { + const existing = await tx.v2_ConsumableTempRequest.findUnique({ where: { id: req.params.id }, include: { items: true } }); + if (!existing) throw new Error('NOT_FOUND'); + // Update base + await tx.v2_ConsumableTempRequest.update({ + where: { id: existing.id }, + data: { + applicantName: parsed.applicantName ?? existing.applicantName, + applicantPhone: parsed.applicantPhone ?? existing.applicantPhone, + department: parsed.department ?? existing.department, + reason: parsed.reason ?? existing.reason, + neededAt: parsed.neededAt ?? existing.neededAt + } + }); + if (parsed.items) { + const incoming = parsed.items; + const incomingIds = new Set(incoming.filter(i => i.id).map(i => i.id!)); + // Delete removed + const toDelete = existing.items.filter(i => !incomingIds.has(i.id)).map(i => i.id); + if (toDelete.length) { + await tx.v2_ConsumableTempRequestItem.deleteMany({ where: { id: { in: toDelete } } }); + } + // Upsert each incoming + for (const item of incoming) { + if (item.id) { + await tx.v2_ConsumableTempRequestItem.update({ + where: { id: item.id }, + data: { + name: item.name ?? undefined, + spec: item.spec, + quantity: item.quantity ?? undefined, + unit: item.unit, + estimatedUnitCost: item.estimatedUnitCost !== undefined ? new Prisma.Decimal(item.estimatedUnitCost) : undefined, + remark: item.remark, + catalogId: item.catalogId + } + }); + } else { + await tx.v2_ConsumableTempRequestItem.create({ data: { + requestId: existing.id, + name: item.name, + spec: item.spec, + quantity: item.quantity, + unit: item.unit, + estimatedUnitCost: item.estimatedUnitCost !== undefined ? new Prisma.Decimal(item.estimatedUnitCost) : undefined, + remark: item.remark, + catalogId: item.catalogId + }}); + } + } + } + return tx.v2_ConsumableTempRequest.findUnique({ where: { id: existing.id }, include: { items: true } }); + }); + res.json({ data: result }); +})); + +// Update status +router.patch('/:id/status', asyncHandler(async (req, res) => { + const parsed = updateStatusSchema.parse(req.body); + const data = await prisma.v2_ConsumableTempRequest.update({ + where: { id: req.params.id }, + data: { + status: parsed.status, + approverId: parsed.approverId, + approvedAt: (parsed.status === v2_ConsumableTempRequestStatus.APPROVED || parsed.status === v2_ConsumableTempRequestStatus.REJECTED) ? new Date() : undefined, + remark: parsed.remark + }, + include: { items: true } + }).catch(e => { if ((e as any).code === 'P2025') return null; throw e; }); + if (!data) return res.status(404).json({ error: 'Not Found' }); + res.json({ data }); +})); + +// Delete request (cascade deletes items) +router.delete('/:id', asyncHandler(async (req, res) => { + await prisma.v2_ConsumableTempRequest.delete({ where: { id: req.params.id } }).catch(e => { if ((e as any).code === 'P2025') return null; throw e; }); + res.status(204).end(); +})); + +// Add item to request +router.post('/:id/items', asyncHandler(async (req, res) => { + const parsed = requestItemInputSchema.parse(req.body); + // Ensure request exists + const exists = await prisma.v2_ConsumableTempRequest.count({ where: { id: req.params.id } }); + if (!exists) return res.status(404).json({ error: 'Request Not Found' }); + const item = await prisma.v2_ConsumableTempRequestItem.create({ data: { + requestId: req.params.id as string, + name: parsed.name, + spec: parsed.spec, + quantity: parsed.quantity, + unit: parsed.unit, + estimatedUnitCost: parsed.estimatedUnitCost !== undefined ? new Prisma.Decimal(parsed.estimatedUnitCost) : undefined, + remark: parsed.remark, + catalogId: parsed.catalogId ?? null + }}); + res.status(201).json({ data: item }); +})); + +export default router; diff --git a/src/schemas/catalog.schemas.ts b/src/schemas/catalog.schemas.ts new file mode 100644 index 0000000..804197d --- /dev/null +++ b/src/schemas/catalog.schemas.ts @@ -0,0 +1,25 @@ +import { z } from 'zod'; +import { extendZodWithOpenApi } from '@asteasolutions/zod-to-openapi'; + +extendZodWithOpenApi(z); + +// ---------- Input Schemas ---------- +export const catalogCreateSchema = z.object({ + name: z.string().min(1).openapi({ example: '办公用品', description: '目录名称' }), + spec: z.string().optional().openapi({ example: '标准', description: '规格' }), + unit: z.string().optional().openapi({ example: '个', description: '单位' }), + isActive: z.boolean().optional().default(true).openapi({ description: '是否激活' }) +}); + +export const catalogUpdateSchema = catalogCreateSchema.partial(); + +// ---------- Response Schemas ---------- +export const catalogResponseSchema = z.object({ + id: z.string().openapi({ description: '目录ID' }), + name: z.string().openapi({ description: '目录名称' }), + spec: z.string().nullable().openapi({ description: '规格' }), + unit: z.string().nullable().openapi({ description: '单位' }), + isActive: z.boolean().openapi({ description: '是否激活' }), + createdAt: z.string().openapi({ description: '创建时间' }), + updatedAt: z.string().openapi({ description: '更新时间' }) +}); diff --git a/src/schemas/common.ts b/src/schemas/common.ts new file mode 100644 index 0000000..c9b5ee3 --- /dev/null +++ b/src/schemas/common.ts @@ -0,0 +1,23 @@ +import { z } from 'zod'; +import { extendZodWithOpenApi } from '@asteasolutions/zod-to-openapi'; + +extendZodWithOpenApi(z); + +export const paginateParamsSchema = z.object({ + page: z.coerce.number().int().positive().default(1).openapi({ example: 1, description: '页码' }), + pageSize: z.coerce.number().int().positive().max(100).default(20).openapi({ example: 20, description: '每页数量' }) +}); + +export const errorResponseSchema = z.object({ + error: z.string().openapi({ description: '错误信息' }), + details: z.any().optional().openapi({ description: '详细错误信息' }) +}); + +export const paginatedResponseSchema = (dataSchema: T) => z.object({ + data: z.array(dataSchema), + meta: z.object({ + total: z.number().int().openapi({ description: '总数' }), + page: z.number().int().openapi({ description: '当前页码' }), + pageSize: z.number().int().openapi({ description: '每页数量' }) + }) +}); diff --git a/src/schemas/request.schemas.ts b/src/schemas/request.schemas.ts new file mode 100644 index 0000000..c7b09de --- /dev/null +++ b/src/schemas/request.schemas.ts @@ -0,0 +1,59 @@ +import { z } from 'zod'; +import { extendZodWithOpenApi } from '@asteasolutions/zod-to-openapi'; +import { v2_ConsumableTempRequestStatus } from '../../generated/prisma/index.js'; + +extendZodWithOpenApi(z); + +// ---------- Input Schemas ---------- +export const requestItemInputSchema = z.object({ + name: z.string().min(1).openapi({ example: '打印纸', description: '物料名称' }), + spec: z.string().optional().openapi({ example: 'A4', description: '规格' }), + quantity: z.number().int().positive().openapi({ example: 10, description: '数量' }), + unit: z.string().optional().openapi({ example: '箱', description: '单位' }), + estimatedUnitCost: z.number().positive().optional().openapi({ example: 25.5, description: '预估单价' }), + remark: z.string().optional().openapi({ description: '备注' }), + catalogId: z.string().optional().openapi({ description: '关联的目录ID' }) +}); + +export const createRequestSchema = z.object({ + applicantName: z.string().optional().openapi({ example: '张三', description: '申请人姓名' }), + applicantPhone: z.string().min(3).openapi({ example: '13800138000', description: '申请人电话' }), + department: z.string().optional().openapi({ example: '技术部', description: '部门' }), + reason: z.string().optional().openapi({ example: '日常办公', description: '申请原因' }), + neededAt: z.coerce.date().optional().openapi({ example: '2025-10-10T00:00:00Z', description: '需要时间' }), + items: z.array(requestItemInputSchema).min(1, '必须至少包含一条物料明细').openapi({ description: '物料明细列表' }) +}); + +export const updateRequestSchema = createRequestSchema.partial().extend({ + items: z.array(requestItemInputSchema.extend({ id: z.string().optional() })).optional() +}); + +export const updateStatusSchema = z.object({ + status: z.nativeEnum(v2_ConsumableTempRequestStatus).openapi({ description: '状态', example: 'APPROVED' }), + approverId: z.string().optional().openapi({ description: '审批人ID' }), + remark: z.string().optional().openapi({ description: '备注' }) +}); + +// ---------- Response Schemas ---------- +export const requestItemResponseSchema = requestItemInputSchema.extend({ + id: z.string().openapi({ description: '物料明细ID' }), + requestId: z.string().openapi({ description: '关联的请求ID' }), + createdAt: z.string().openapi({ description: '创建时间' }), + updatedAt: z.string().openapi({ description: '更新时间' }) +}); + +export const requestResponseSchema = z.object({ + id: z.string().openapi({ description: '请求ID' }), + applicantName: z.string().nullable().openapi({ description: '申请人姓名' }), + applicantPhone: z.string().openapi({ description: '申请人电话' }), + department: z.string().nullable().openapi({ description: '部门' }), + reason: z.string().nullable().openapi({ description: '申请原因' }), + status: z.nativeEnum(v2_ConsumableTempRequestStatus).openapi({ description: '状态' }), + approverId: z.string().nullable().openapi({ description: '审批人ID' }), + approvedAt: z.string().nullable().openapi({ description: '审批时间' }), + neededAt: z.string().nullable().openapi({ description: '需要时间' }), + remark: z.string().nullable().openapi({ description: '备注' }), + createdAt: z.string().openapi({ description: '创建时间' }), + updatedAt: z.string().openapi({ description: '更新时间' }), + items: z.array(requestItemResponseSchema).openapi({ description: '物料明细列表' }) +}); diff --git a/src/utils/asyncHandler.ts b/src/utils/asyncHandler.ts new file mode 100644 index 0000000..8ff5b78 --- /dev/null +++ b/src/utils/asyncHandler.ts @@ -0,0 +1,12 @@ +import type { Request, Response, NextFunction, RequestHandler } from 'express'; + +export const asyncHandler = (fn: T): T => { + // @ts-ignore + return (async (req: Request, res: Response, next: NextFunction) => { + try { + await fn(req, res, next); + } catch (e) { + next(e); + } + }) as T; +}; diff --git a/src/utils/prisma.ts b/src/utils/prisma.ts new file mode 100644 index 0000000..5980b4b --- /dev/null +++ b/src/utils/prisma.ts @@ -0,0 +1,3 @@ +import { PrismaClient } from '../../generated/prisma/index.js'; + +export const prisma = new PrismaClient();