From bf4c6a05285724f4aea574cea953dedf73941a9b Mon Sep 17 00:00:00 2001 From: feie9454 Date: Sun, 5 Oct 2025 16:46:48 +0800 Subject: [PATCH] init --- .gitignore | 44 + README.md | 15 + bun.lock | 287 ++ index.ts | 313 ++ migrate/add_consumable_request.sql | 0 package.json | 24 + prisma.config.ts | 7 + .../migration.sql | 57 + prisma/migrations/20251005_init/migration.sql | 3592 +++++++++++++++++ prisma/migrations/migration_lock.toml | 3 + prisma/models/consumable_temp_request.prisma | 78 + prisma/schema.prisma | 3221 +++++++++++++++ tsconfig.json | 29 + 13 files changed, 7670 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 bun.lock create mode 100644 index.ts create mode 100644 migrate/add_consumable_request.sql create mode 100644 package.json create mode 100644 prisma.config.ts create mode 100644 prisma/migrations/20251005081024_add_consumable_request/migration.sql create mode 100644 prisma/migrations/20251005_init/migration.sql create mode 100644 prisma/migrations/migration_lock.toml create mode 100644 prisma/models/consumable_temp_request.prisma create mode 100644 prisma/schema.prisma create mode 100644 tsconfig.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4ffb96c --- /dev/null +++ b/.gitignore @@ -0,0 +1,44 @@ +# dependencies (bun install) +node_modules + +# output +out +dist +*.tgz + +# code coverage +coverage +*.lcov + +# logs +logs +_.log +report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# caches +.eslintcache +.cache +*.tsbuildinfo + +# IntelliJ based IDEs +.idea + +# Finder (MacOS) folder config +.DS_Store + +# Prisma +# 1. 提交 prisma/schema.prisma 与 prisma/migrations 目录以确保数据库结构在团队/环境间保持一致 +# 2. 忽略生成的客户端代码(可使用 `npx prisma generate` 或 `bunx prisma generate` 重新生成),避免提交二进制/平台相关文件 +# 3. 如果你的部署环境(例如 serverless/CI) 无法在构建时执行 generate,或你需要锁定生成产物,可注释/删除下一行 +/generated/prisma/ + +# 显式确保不会被上面更宽的规则不小心忽略(当前不是必须,但写清意图) +!prisma/schema.prisma +!prisma/migrations/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..4597545 --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +# sm-server + +To install dependencies: + +```bash +bun install +``` + +To run: + +```bash +bun run index.ts +``` + +This project was created using `bun init` in bun v1.2.21. [Bun](https://bun.com) is a fast all-in-one JavaScript runtime. diff --git a/bun.lock b/bun.lock new file mode 100644 index 0000000..221db0c --- /dev/null +++ b/bun.lock @@ -0,0 +1,287 @@ +{ + "lockfileVersion": 1, + "workspaces": { + "": { + "name": "sm-server", + "dependencies": { + "@asteasolutions/zod-to-openapi": "^8.1.0", + "@prisma/client": "^6.16.3", + "cors": "^2.8.5", + "dotenv": "^17.2.3", + "express": "^5.1.0", + "prisma": "^6.16.3", + "swagger-ui-express": "^5.0.1", + "zod": "^4.1.11", + }, + "devDependencies": { + "@types/bun": "latest", + "@types/cors": "^2.8.19", + "@types/express": "^5.0.3", + }, + "peerDependencies": { + "typescript": "^5", + }, + }, + }, + "packages": { + "@asteasolutions/zod-to-openapi": ["@asteasolutions/zod-to-openapi@8.1.0", "https://registry.npmmirror.com/@asteasolutions/zod-to-openapi/-/zod-to-openapi-8.1.0.tgz", { "dependencies": { "openapi3-ts": "^4.1.2" }, "peerDependencies": { "zod": "^4.0.0" } }, "sha512-tQFxVs05J/6QXXqIzj6rTRk3nj1HFs4pe+uThwE95jL5II2JfpVXkK+CqkO7aT0Do5AYqO6LDrKpleLUFXgY+g=="], + + "@prisma/client": ["@prisma/client@6.16.3", "https://registry.npmmirror.com/@prisma/client/-/client-6.16.3.tgz", { "peerDependencies": { "prisma": "*", "typescript": ">=5.1.0" }, "optionalPeers": ["prisma", "typescript"] }, "sha512-JfNfAtXG+/lIopsvoZlZiH2k5yNx87mcTS4t9/S5oufM1nKdXYxOvpDC1XoTCFBa5cQh7uXnbMPsmZrwZY80xw=="], + + "@prisma/config": ["@prisma/config@6.16.3", "https://registry.npmmirror.com/@prisma/config/-/config-6.16.3.tgz", { "dependencies": { "c12": "3.1.0", "deepmerge-ts": "7.1.5", "effect": "3.16.12", "empathic": "2.0.0" } }, "sha512-VlsLnG4oOuKGGMToEeVaRhoTBZu5H3q51jTQXb/diRags3WV0+BQK5MolJTtP6G7COlzoXmWeS11rNBtvg+qFQ=="], + + "@prisma/debug": ["@prisma/debug@6.16.3", "https://registry.npmmirror.com/@prisma/debug/-/debug-6.16.3.tgz", {}, "sha512-89DdqWtdKd7qoc9/qJCKLTazj3W3zPEiz0hc7HfZdpjzm21c7orOUB5oHWJsG+4KbV4cWU5pefq3CuDVYF9vgA=="], + + "@prisma/engines": ["@prisma/engines@6.16.3", "https://registry.npmmirror.com/@prisma/engines/-/engines-6.16.3.tgz", { "dependencies": { "@prisma/debug": "6.16.3", "@prisma/engines-version": "6.16.1-1.bb420e667c1820a8c05a38023385f6cc7ef8e83a", "@prisma/fetch-engine": "6.16.3", "@prisma/get-platform": "6.16.3" } }, "sha512-b+Rl4nzQDcoqe6RIpSHv8f5lLnwdDGvXhHjGDiokObguAAv/O1KaX1Oc69mBW/GFWKQpCkOraobLjU6s1h8HGg=="], + + "@prisma/engines-version": ["@prisma/engines-version@6.16.1-1.bb420e667c1820a8c05a38023385f6cc7ef8e83a", "https://registry.npmmirror.com/@prisma/engines-version/-/engines-version-6.16.1-1.bb420e667c1820a8c05a38023385f6cc7ef8e83a.tgz", {}, "sha512-fftRmosBex48Ph1v2ll1FrPpirwtPZpNkE5CDCY1Lw2SD2ctyrLlVlHiuxDAAlALwWBOkPbAll4+EaqdGuMhJw=="], + + "@prisma/fetch-engine": ["@prisma/fetch-engine@6.16.3", "https://registry.npmmirror.com/@prisma/fetch-engine/-/fetch-engine-6.16.3.tgz", { "dependencies": { "@prisma/debug": "6.16.3", "@prisma/engines-version": "6.16.1-1.bb420e667c1820a8c05a38023385f6cc7ef8e83a", "@prisma/get-platform": "6.16.3" } }, "sha512-bUoRIkVaI+CCaVGrSfcKev0/Mk4ateubqWqGZvQ9uCqFv2ENwWIR3OeNuGin96nZn5+SkebcD7RGgKr/+mJelw=="], + + "@prisma/get-platform": ["@prisma/get-platform@6.16.3", "https://registry.npmmirror.com/@prisma/get-platform/-/get-platform-6.16.3.tgz", { "dependencies": { "@prisma/debug": "6.16.3" } }, "sha512-X1LxiFXinJ4iQehrodGp0f66Dv6cDL0GbRlcCoLtSu6f4Wi+hgo7eND/afIs5029GQLgNWKZ46vn8hjyXTsHLA=="], + + "@scarf/scarf": ["@scarf/scarf@1.4.0", "https://registry.npmmirror.com/@scarf/scarf/-/scarf-1.4.0.tgz", {}, "sha512-xxeapPiUXdZAE3che6f3xogoJPeZgig6omHEy1rIY5WVsB3H2BHNnZH+gHG6x91SCWyQCzWGsuL2Hh3ClO5/qQ=="], + + "@standard-schema/spec": ["@standard-schema/spec@1.0.0", "https://registry.npmmirror.com/@standard-schema/spec/-/spec-1.0.0.tgz", {}, "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA=="], + + "@types/body-parser": ["@types/body-parser@1.19.6", "https://registry.npmmirror.com/@types/body-parser/-/body-parser-1.19.6.tgz", { "dependencies": { "@types/connect": "*", "@types/node": "*" } }, "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g=="], + + "@types/bun": ["@types/bun@1.2.23", "https://registry.npmmirror.com/@types/bun/-/bun-1.2.23.tgz", { "dependencies": { "bun-types": "1.2.23" } }, "sha512-le8ueOY5b6VKYf19xT3McVbXqLqmxzPXHsQT/q9JHgikJ2X22wyTW3g3ohz2ZMnp7dod6aduIiq8A14Xyimm0A=="], + + "@types/connect": ["@types/connect@3.4.38", "https://registry.npmmirror.com/@types/connect/-/connect-3.4.38.tgz", { "dependencies": { "@types/node": "*" } }, "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug=="], + + "@types/cors": ["@types/cors@2.8.19", "https://registry.npmmirror.com/@types/cors/-/cors-2.8.19.tgz", { "dependencies": { "@types/node": "*" } }, "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg=="], + + "@types/express": ["@types/express@5.0.3", "https://registry.npmmirror.com/@types/express/-/express-5.0.3.tgz", { "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^5.0.0", "@types/serve-static": "*" } }, "sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw=="], + + "@types/express-serve-static-core": ["@types/express-serve-static-core@5.0.7", "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-5.0.7.tgz", { "dependencies": { "@types/node": "*", "@types/qs": "*", "@types/range-parser": "*", "@types/send": "*" } }, "sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ=="], + + "@types/http-errors": ["@types/http-errors@2.0.5", "https://registry.npmmirror.com/@types/http-errors/-/http-errors-2.0.5.tgz", {}, "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg=="], + + "@types/mime": ["@types/mime@1.3.5", "https://registry.npmmirror.com/@types/mime/-/mime-1.3.5.tgz", {}, "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w=="], + + "@types/node": ["@types/node@24.6.2", "https://registry.npmmirror.com/@types/node/-/node-24.6.2.tgz", { "dependencies": { "undici-types": "~7.13.0" } }, "sha512-d2L25Y4j+W3ZlNAeMKcy7yDsK425ibcAOO2t7aPTz6gNMH0z2GThtwENCDc0d/Pw9wgyRqE5Px1wkV7naz8ang=="], + + "@types/qs": ["@types/qs@6.14.0", "https://registry.npmmirror.com/@types/qs/-/qs-6.14.0.tgz", {}, "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ=="], + + "@types/range-parser": ["@types/range-parser@1.2.7", "https://registry.npmmirror.com/@types/range-parser/-/range-parser-1.2.7.tgz", {}, "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ=="], + + "@types/react": ["@types/react@19.2.0", "https://registry.npmmirror.com/@types/react/-/react-19.2.0.tgz", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-1LOH8xovvsKsCBq1wnT4ntDUdCJKmnEakhsuoUSy6ExlHCkGP2hqnatagYTgFk6oeL0VU31u7SNjunPN+GchtA=="], + + "@types/send": ["@types/send@0.17.5", "https://registry.npmmirror.com/@types/send/-/send-0.17.5.tgz", { "dependencies": { "@types/mime": "^1", "@types/node": "*" } }, "sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w=="], + + "@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=="], + + "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=="], + + "bun-types": ["bun-types@1.2.23", "https://registry.npmmirror.com/bun-types/-/bun-types-1.2.23.tgz", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-R9f0hKAZXgFU3mlrA0YpE/fiDvwV0FT9rORApt2aQVWSuJDzZOyB5QLc0N/4HF57CS8IXJ6+L5E4W1bW6NS2Aw=="], + + "bytes": ["bytes@3.1.2", "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", {}, "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="], + + "c12": ["c12@3.1.0", "https://registry.npmmirror.com/c12/-/c12-3.1.0.tgz", { "dependencies": { "chokidar": "^4.0.3", "confbox": "^0.2.2", "defu": "^6.1.4", "dotenv": "^16.6.1", "exsolve": "^1.0.7", "giget": "^2.0.0", "jiti": "^2.4.2", "ohash": "^2.0.11", "pathe": "^2.0.3", "perfect-debounce": "^1.0.0", "pkg-types": "^2.2.0", "rc9": "^2.1.2" }, "peerDependencies": { "magicast": "^0.3.5" }, "optionalPeers": ["magicast"] }, "sha512-uWoS8OU1MEIsOv8p/5a82c3H31LsWVR5qiyXVfBNOzfffjUWtPnhAb4BYI2uG2HfGmZmFjCtui5XNWaps+iFuw=="], + + "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="], + + "call-bound": ["call-bound@1.0.4", "https://registry.npmmirror.com/call-bound/-/call-bound-1.0.4.tgz", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="], + + "chokidar": ["chokidar@4.0.3", "https://registry.npmmirror.com/chokidar/-/chokidar-4.0.3.tgz", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], + + "citty": ["citty@0.1.6", "https://registry.npmmirror.com/citty/-/citty-0.1.6.tgz", { "dependencies": { "consola": "^3.2.3" } }, "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ=="], + + "confbox": ["confbox@0.2.2", "https://registry.npmmirror.com/confbox/-/confbox-0.2.2.tgz", {}, "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ=="], + + "consola": ["consola@3.4.2", "https://registry.npmmirror.com/consola/-/consola-3.4.2.tgz", {}, "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA=="], + + "content-disposition": ["content-disposition@1.0.0", "https://registry.npmmirror.com/content-disposition/-/content-disposition-1.0.0.tgz", { "dependencies": { "safe-buffer": "5.2.1" } }, "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg=="], + + "content-type": ["content-type@1.0.5", "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz", {}, "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA=="], + + "cookie": ["cookie@0.7.2", "https://registry.npmmirror.com/cookie/-/cookie-0.7.2.tgz", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="], + + "cookie-signature": ["cookie-signature@1.2.2", "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.2.2.tgz", {}, "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg=="], + + "cors": ["cors@2.8.5", "https://registry.npmmirror.com/cors/-/cors-2.8.5.tgz", { "dependencies": { "object-assign": "^4", "vary": "^1" } }, "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g=="], + + "csstype": ["csstype@3.1.3", "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="], + + "debug": ["debug@4.4.3", "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], + + "deepmerge-ts": ["deepmerge-ts@7.1.5", "https://registry.npmmirror.com/deepmerge-ts/-/deepmerge-ts-7.1.5.tgz", {}, "sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw=="], + + "defu": ["defu@6.1.4", "https://registry.npmmirror.com/defu/-/defu-6.1.4.tgz", {}, "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg=="], + + "depd": ["depd@2.0.0", "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz", {}, "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="], + + "destr": ["destr@2.0.5", "https://registry.npmmirror.com/destr/-/destr-2.0.5.tgz", {}, "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA=="], + + "dotenv": ["dotenv@17.2.3", "https://registry.npmmirror.com/dotenv/-/dotenv-17.2.3.tgz", {}, "sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w=="], + + "dunder-proto": ["dunder-proto@1.0.1", "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], + + "ee-first": ["ee-first@1.1.1", "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", {}, "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="], + + "effect": ["effect@3.16.12", "https://registry.npmmirror.com/effect/-/effect-3.16.12.tgz", { "dependencies": { "@standard-schema/spec": "^1.0.0", "fast-check": "^3.23.1" } }, "sha512-N39iBk0K71F9nb442TLbTkjl24FLUzuvx2i1I2RsEAQsdAdUTuUoW0vlfUXgkMTUOnYqKnWcFfqw4hK4Pw27hg=="], + + "empathic": ["empathic@2.0.0", "https://registry.npmmirror.com/empathic/-/empathic-2.0.0.tgz", {}, "sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA=="], + + "encodeurl": ["encodeurl@2.0.0", "https://registry.npmmirror.com/encodeurl/-/encodeurl-2.0.0.tgz", {}, "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg=="], + + "es-define-property": ["es-define-property@1.0.1", "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="], + + "es-errors": ["es-errors@1.3.0", "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="], + + "es-object-atoms": ["es-object-atoms@1.1.1", "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="], + + "escape-html": ["escape-html@1.0.3", "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", {}, "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="], + + "etag": ["etag@1.8.1", "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz", {}, "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="], + + "express": ["express@5.1.0", "https://registry.npmmirror.com/express/-/express-5.1.0.tgz", { "dependencies": { "accepts": "^2.0.0", "body-parser": "^2.2.0", "content-disposition": "^1.0.0", "content-type": "^1.0.5", "cookie": "^0.7.1", "cookie-signature": "^1.2.1", "debug": "^4.4.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", "finalhandler": "^2.1.0", "fresh": "^2.0.0", "http-errors": "^2.0.0", "merge-descriptors": "^2.0.0", "mime-types": "^3.0.0", "on-finished": "^2.4.1", "once": "^1.4.0", "parseurl": "^1.3.3", "proxy-addr": "^2.0.7", "qs": "^6.14.0", "range-parser": "^1.2.1", "router": "^2.2.0", "send": "^1.1.0", "serve-static": "^2.2.0", "statuses": "^2.0.1", "type-is": "^2.0.1", "vary": "^1.1.2" } }, "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA=="], + + "exsolve": ["exsolve@1.0.7", "https://registry.npmmirror.com/exsolve/-/exsolve-1.0.7.tgz", {}, "sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw=="], + + "fast-check": ["fast-check@3.23.2", "https://registry.npmmirror.com/fast-check/-/fast-check-3.23.2.tgz", { "dependencies": { "pure-rand": "^6.1.0" } }, "sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A=="], + + "finalhandler": ["finalhandler@2.1.0", "https://registry.npmmirror.com/finalhandler/-/finalhandler-2.1.0.tgz", { "dependencies": { "debug": "^4.4.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "on-finished": "^2.4.1", "parseurl": "^1.3.3", "statuses": "^2.0.1" } }, "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q=="], + + "forwarded": ["forwarded@0.2.0", "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz", {}, "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="], + + "fresh": ["fresh@2.0.0", "https://registry.npmmirror.com/fresh/-/fresh-2.0.0.tgz", {}, "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A=="], + + "function-bind": ["function-bind@1.1.2", "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="], + + "get-intrinsic": ["get-intrinsic@1.3.0", "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="], + + "get-proto": ["get-proto@1.0.1", "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="], + + "giget": ["giget@2.0.0", "https://registry.npmmirror.com/giget/-/giget-2.0.0.tgz", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.0", "defu": "^6.1.4", "node-fetch-native": "^1.6.6", "nypm": "^0.6.0", "pathe": "^2.0.3" }, "bin": { "giget": "dist/cli.mjs" } }, "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA=="], + + "gopd": ["gopd@1.2.0", "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], + + "has-symbols": ["has-symbols@1.1.0", "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="], + + "hasown": ["hasown@2.0.2", "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="], + + "http-errors": ["http-errors@2.0.0", "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz", { "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", "statuses": "2.0.1", "toidentifier": "1.0.1" } }, "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ=="], + + "iconv-lite": ["iconv-lite@0.6.3", "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="], + + "inherits": ["inherits@2.0.4", "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], + + "ipaddr.js": ["ipaddr.js@1.9.1", "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz", {}, "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="], + + "is-promise": ["is-promise@4.0.0", "https://registry.npmmirror.com/is-promise/-/is-promise-4.0.0.tgz", {}, "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ=="], + + "jiti": ["jiti@2.6.1", "https://registry.npmmirror.com/jiti/-/jiti-2.6.1.tgz", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="], + + "math-intrinsics": ["math-intrinsics@1.1.0", "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], + + "media-typer": ["media-typer@1.1.0", "https://registry.npmmirror.com/media-typer/-/media-typer-1.1.0.tgz", {}, "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw=="], + + "merge-descriptors": ["merge-descriptors@2.0.0", "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-2.0.0.tgz", {}, "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g=="], + + "mime-db": ["mime-db@1.54.0", "https://registry.npmmirror.com/mime-db/-/mime-db-1.54.0.tgz", {}, "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ=="], + + "mime-types": ["mime-types@3.0.1", "https://registry.npmmirror.com/mime-types/-/mime-types-3.0.1.tgz", { "dependencies": { "mime-db": "^1.54.0" } }, "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA=="], + + "ms": ["ms@2.1.3", "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "negotiator": ["negotiator@1.0.0", "https://registry.npmmirror.com/negotiator/-/negotiator-1.0.0.tgz", {}, "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg=="], + + "node-fetch-native": ["node-fetch-native@1.6.7", "https://registry.npmmirror.com/node-fetch-native/-/node-fetch-native-1.6.7.tgz", {}, "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q=="], + + "nypm": ["nypm@0.6.2", "https://registry.npmmirror.com/nypm/-/nypm-0.6.2.tgz", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.2", "pathe": "^2.0.3", "pkg-types": "^2.3.0", "tinyexec": "^1.0.1" }, "bin": { "nypm": "dist/cli.mjs" } }, "sha512-7eM+hpOtrKrBDCh7Ypu2lJ9Z7PNZBdi/8AT3AX8xoCj43BBVHD0hPSTEvMtkMpfs8FCqBGhxB+uToIQimA111g=="], + + "object-assign": ["object-assign@4.1.1", "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="], + + "object-inspect": ["object-inspect@1.13.4", "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.4.tgz", {}, "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew=="], + + "ohash": ["ohash@2.0.11", "https://registry.npmmirror.com/ohash/-/ohash-2.0.11.tgz", {}, "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ=="], + + "on-finished": ["on-finished@2.4.1", "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg=="], + + "once": ["once@1.4.0", "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="], + + "openapi3-ts": ["openapi3-ts@4.5.0", "https://registry.npmmirror.com/openapi3-ts/-/openapi3-ts-4.5.0.tgz", { "dependencies": { "yaml": "^2.8.0" } }, "sha512-jaL+HgTq2Gj5jRcfdutgRGLosCy/hT8sQf6VOy+P+g36cZOjI1iukdPnijC+4CmeRzg/jEllJUboEic2FhxhtQ=="], + + "parseurl": ["parseurl@1.3.3", "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz", {}, "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="], + + "path-to-regexp": ["path-to-regexp@8.3.0", "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-8.3.0.tgz", {}, "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA=="], + + "pathe": ["pathe@2.0.3", "https://registry.npmmirror.com/pathe/-/pathe-2.0.3.tgz", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], + + "perfect-debounce": ["perfect-debounce@1.0.0", "https://registry.npmmirror.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz", {}, "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA=="], + + "pkg-types": ["pkg-types@2.3.0", "https://registry.npmmirror.com/pkg-types/-/pkg-types-2.3.0.tgz", { "dependencies": { "confbox": "^0.2.2", "exsolve": "^1.0.7", "pathe": "^2.0.3" } }, "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig=="], + + "prisma": ["prisma@6.16.3", "https://registry.npmmirror.com/prisma/-/prisma-6.16.3.tgz", { "dependencies": { "@prisma/config": "6.16.3", "@prisma/engines": "6.16.3" }, "peerDependencies": { "typescript": ">=5.1.0" }, "optionalPeers": ["typescript"], "bin": { "prisma": "build/index.js" } }, "sha512-4tJq3KB9WRshH5+QmzOLV54YMkNlKOtLKaSdvraI5kC/axF47HuOw6zDM8xrxJ6s9o2WodY654On4XKkrobQdQ=="], + + "proxy-addr": ["proxy-addr@2.0.7", "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz", { "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg=="], + + "pure-rand": ["pure-rand@6.1.0", "https://registry.npmmirror.com/pure-rand/-/pure-rand-6.1.0.tgz", {}, "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA=="], + + "qs": ["qs@6.14.0", "https://registry.npmmirror.com/qs/-/qs-6.14.0.tgz", { "dependencies": { "side-channel": "^1.1.0" } }, "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w=="], + + "range-parser": ["range-parser@1.2.1", "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz", {}, "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="], + + "raw-body": ["raw-body@3.0.1", "https://registry.npmmirror.com/raw-body/-/raw-body-3.0.1.tgz", { "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", "iconv-lite": "0.7.0", "unpipe": "1.0.0" } }, "sha512-9G8cA+tuMS75+6G/TzW8OtLzmBDMo8p1JRxN5AZ+LAp8uxGA8V8GZm4GQ4/N5QNQEnLmg6SS7wyuSmbKepiKqA=="], + + "rc9": ["rc9@2.1.2", "https://registry.npmmirror.com/rc9/-/rc9-2.1.2.tgz", { "dependencies": { "defu": "^6.1.4", "destr": "^2.0.3" } }, "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg=="], + + "readdirp": ["readdirp@4.1.2", "https://registry.npmmirror.com/readdirp/-/readdirp-4.1.2.tgz", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], + + "router": ["router@2.2.0", "https://registry.npmmirror.com/router/-/router-2.2.0.tgz", { "dependencies": { "debug": "^4.4.0", "depd": "^2.0.0", "is-promise": "^4.0.0", "parseurl": "^1.3.3", "path-to-regexp": "^8.0.0" } }, "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ=="], + + "safe-buffer": ["safe-buffer@5.2.1", "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="], + + "safer-buffer": ["safer-buffer@2.1.2", "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="], + + "send": ["send@1.2.0", "https://registry.npmmirror.com/send/-/send-1.2.0.tgz", { "dependencies": { "debug": "^4.3.5", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", "fresh": "^2.0.0", "http-errors": "^2.0.0", "mime-types": "^3.0.1", "ms": "^2.1.3", "on-finished": "^2.4.1", "range-parser": "^1.2.1", "statuses": "^2.0.1" } }, "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw=="], + + "serve-static": ["serve-static@2.2.0", "https://registry.npmmirror.com/serve-static/-/serve-static-2.2.0.tgz", { "dependencies": { "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "parseurl": "^1.3.3", "send": "^1.2.0" } }, "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ=="], + + "setprototypeof": ["setprototypeof@1.2.0", "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz", {}, "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="], + + "side-channel": ["side-channel@1.1.0", "https://registry.npmmirror.com/side-channel/-/side-channel-1.1.0.tgz", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3", "side-channel-list": "^1.0.0", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" } }, "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw=="], + + "side-channel-list": ["side-channel-list@1.0.0", "https://registry.npmmirror.com/side-channel-list/-/side-channel-list-1.0.0.tgz", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3" } }, "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA=="], + + "side-channel-map": ["side-channel-map@1.0.1", "https://registry.npmmirror.com/side-channel-map/-/side-channel-map-1.0.1.tgz", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3" } }, "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA=="], + + "side-channel-weakmap": ["side-channel-weakmap@1.0.2", "https://registry.npmmirror.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3", "side-channel-map": "^1.0.1" } }, "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A=="], + + "statuses": ["statuses@2.0.2", "https://registry.npmmirror.com/statuses/-/statuses-2.0.2.tgz", {}, "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw=="], + + "swagger-ui-dist": ["swagger-ui-dist@5.29.3", "https://registry.npmmirror.com/swagger-ui-dist/-/swagger-ui-dist-5.29.3.tgz", { "dependencies": { "@scarf/scarf": "=1.4.0" } }, "sha512-U99f/2YocRA2Mxqx3eUBRhQonWVtE5dIvMs0Zlsn4a4ip8awMq0JxXhU+Sidtna2WlZrHbK2Rro3RZvYUymRbA=="], + + "swagger-ui-express": ["swagger-ui-express@5.0.1", "https://registry.npmmirror.com/swagger-ui-express/-/swagger-ui-express-5.0.1.tgz", { "dependencies": { "swagger-ui-dist": ">=5.0.0" }, "peerDependencies": { "express": ">=4.0.0 || >=5.0.0-beta" } }, "sha512-SrNU3RiBGTLLmFU8GIJdOdanJTl4TOmT27tt3bWWHppqYmAZ6IDuEuBvMU6nZq0zLEe6b/1rACXCgLZqO6ZfrA=="], + + "tinyexec": ["tinyexec@1.0.1", "https://registry.npmmirror.com/tinyexec/-/tinyexec-1.0.1.tgz", {}, "sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw=="], + + "toidentifier": ["toidentifier@1.0.1", "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz", {}, "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="], + + "type-is": ["type-is@2.0.1", "https://registry.npmmirror.com/type-is/-/type-is-2.0.1.tgz", { "dependencies": { "content-type": "^1.0.5", "media-typer": "^1.1.0", "mime-types": "^3.0.0" } }, "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw=="], + + "typescript": ["typescript@5.9.3", "https://registry.npmmirror.com/typescript/-/typescript-5.9.3.tgz", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + + "undici-types": ["undici-types@7.13.0", "https://registry.npmmirror.com/undici-types/-/undici-types-7.13.0.tgz", {}, "sha512-Ov2Rr9Sx+fRgagJ5AX0qvItZG/JKKoBRAVITs1zk7IqZGTJUwgUr7qoYBpWwakpWilTZFM98rG/AFRocu10iIQ=="], + + "unpipe": ["unpipe@1.0.0", "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="], + + "vary": ["vary@1.1.2", "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz", {}, "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="], + + "wrappy": ["wrappy@1.0.2", "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], + + "yaml": ["yaml@2.8.1", "https://registry.npmmirror.com/yaml/-/yaml-2.8.1.tgz", { "bin": { "yaml": "bin.mjs" } }, "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw=="], + + "zod": ["zod@4.1.11", "https://registry.npmmirror.com/zod/-/zod-4.1.11.tgz", {}, "sha512-WPsqwxITS2tzx1bzhIKsEs19ABD5vmCVa4xBo2tq/SrV4RNZtfws1EnCWQXM6yh8bD08a1idvkB5MZSBiZsjwg=="], + + "c12/dotenv": ["dotenv@16.6.1", "https://registry.npmmirror.com/dotenv/-/dotenv-16.6.1.tgz", {}, "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow=="], + + "http-errors/statuses": ["statuses@2.0.1", "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz", {}, "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="], + + "raw-body/iconv-lite": ["iconv-lite@0.7.0", "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.7.0.tgz", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ=="], + } +} diff --git a/index.ts b/index.ts new file mode 100644 index 0000000..b62ecfb --- /dev/null +++ b/index.ts @@ -0,0 +1,313 @@ +import 'dotenv/config'; +import express from 'express'; +import type { Request, 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(); + +// ---------- 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 ---------- +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 }); +})); + +// 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)); + } + 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(); +})); + +// ---------- Error Handler ---------- +// eslint-disable-next-line @typescript-eslint/no-unused-vars +app.use((err: any, _req: Request, res: Response, _next: NextFunction) => { + if (err instanceof z.ZodError) { + return res.status(400).json({ error: 'VALIDATION_ERROR', details: err.flatten() }); + } + if (err.message === 'NOT_FOUND') return res.status(404).json({ error: 'Not Found' }); + console.error('Unhandled Error:', err); + res.status(500).json({ error: 'INTERNAL_ERROR' }); +}); + +// ---------- Start Server ---------- +const PORT = Number(process.env.PORT) || 3000; +app.listen(PORT, () => { + console.log(`Consumable Temp Request API listening on :${PORT}`); +}); + +// 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 diff --git a/migrate/add_consumable_request.sql b/migrate/add_consumable_request.sql new file mode 100644 index 0000000..e69de29 diff --git a/package.json b/package.json new file mode 100644 index 0000000..5d0bcdb --- /dev/null +++ b/package.json @@ -0,0 +1,24 @@ +{ + "name": "sm-server", + "module": "index.ts", + "type": "module", + "private": true, + "devDependencies": { + "@types/bun": "latest", + "@types/cors": "^2.8.19", + "@types/express": "^5.0.3" + }, + "peerDependencies": { + "typescript": "^5" + }, + "dependencies": { + "@asteasolutions/zod-to-openapi": "^8.1.0", + "@prisma/client": "^6.16.3", + "cors": "^2.8.5", + "dotenv": "^17.2.3", + "express": "^5.1.0", + "prisma": "^6.16.3", + "swagger-ui-express": "^5.0.1", + "zod": "^4.1.11" + } +} diff --git a/prisma.config.ts b/prisma.config.ts new file mode 100644 index 0000000..746f582 --- /dev/null +++ b/prisma.config.ts @@ -0,0 +1,7 @@ +import path from 'node:path'; +import 'dotenv/config' +import type { PrismaConfig } from 'prisma'; + +export default { + schema: path.join('prisma'), +} satisfies PrismaConfig; \ No newline at end of file diff --git a/prisma/migrations/20251005081024_add_consumable_request/migration.sql b/prisma/migrations/20251005081024_add_consumable_request/migration.sql new file mode 100644 index 0000000..d6a81e9 --- /dev/null +++ b/prisma/migrations/20251005081024_add_consumable_request/migration.sql @@ -0,0 +1,57 @@ +-- 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 new file mode 100644 index 0000000..5602a77 --- /dev/null +++ b/prisma/migrations/20251005_init/migration.sql @@ -0,0 +1,3592 @@ +-- 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, + `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, + + 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, + + 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; + +-- 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; + diff --git a/prisma/migrations/migration_lock.toml b/prisma/migrations/migration_lock.toml new file mode 100644 index 0000000..592fc0b --- /dev/null +++ b/prisma/migrations/migration_lock.toml @@ -0,0 +1,3 @@ +# 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 new file mode 100644 index 0000000..14d2666 --- /dev/null +++ b/prisma/models/consumable_temp_request.prisma @@ -0,0 +1,78 @@ + +/// 申请单(“易耗品临时申请”) +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 new file mode 100644 index 0000000..5710977 --- /dev/null +++ b/prisma/schema.prisma @@ -0,0 +1,3221 @@ +generator client { + provider = "prisma-client-js" + output = "../generated/prisma" +} + +datasource db { + provider = "mysql" + 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) +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..bfa0fea --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,29 @@ +{ + "compilerOptions": { + // Environment setup & latest features + "lib": ["ESNext"], + "target": "ESNext", + "module": "Preserve", + "moduleDetection": "force", + "jsx": "react-jsx", + "allowJs": true, + + // Bundler mode + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "noEmit": true, + + // Best practices + "strict": true, + "skipLibCheck": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedIndexedAccess": true, + "noImplicitOverride": true, + + // Some stricter flags (disabled by default) + "noUnusedLocals": false, + "noUnusedParameters": false, + "noPropertyAccessFromIndexSignature": false + } +}