Merge branch 'develop' into adiDev
This commit is contained in:
commit
bee26f07a9
26 changed files with 2236 additions and 281 deletions
466
package-lock.json
generated
466
package-lock.json
generated
|
|
@ -9,12 +9,14 @@
|
|||
"version": "1.0.0",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@nestjs/platform-express": "^10.3.7",
|
||||
"@tsoa/runtime": "^6.0.0",
|
||||
"axios": "^1.6.8",
|
||||
"cors": "^2.8.5",
|
||||
"dotenv": "^16.3.1",
|
||||
"express": "^4.18.2",
|
||||
"fast-jwt": "^3.3.2",
|
||||
"multer": "^1.4.5-lts.1",
|
||||
"mysql2": "^3.9.1",
|
||||
"node-cron": "^3.0.3",
|
||||
"promise.any": "^2.0.6",
|
||||
|
|
@ -22,7 +24,8 @@
|
|||
"swagger-ui-express": "^5.0.0",
|
||||
"tsoa": "^6.0.1",
|
||||
"typeorm": "^0.3.19",
|
||||
"typeorm-cli": "^1.0.7"
|
||||
"typeorm-cli": "^1.0.7",
|
||||
"xlsx": "^0.18.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/cors": "^2.8.17",
|
||||
|
|
@ -89,6 +92,15 @@
|
|||
"@jridgewell/sourcemap-codec": "^1.4.10"
|
||||
}
|
||||
},
|
||||
"node_modules/@lukeed/csprng": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz",
|
||||
"integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/@lukeed/ms": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@lukeed/ms/-/ms-2.0.2.tgz",
|
||||
|
|
@ -97,6 +109,145 @@
|
|||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/@nestjs/common": {
|
||||
"version": "10.3.7",
|
||||
"resolved": "https://registry.npmjs.org/@nestjs/common/-/common-10.3.7.tgz",
|
||||
"integrity": "sha512-gKFtFzcJznrwsRYjtNZoPAvSOPYdNgxbTYoAyLTpoy393cIKgLmJTHu6ReH8/qIB9AaZLdGaFLkx98W/tFWFUw==",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"iterare": "1.2.1",
|
||||
"tslib": "2.6.2",
|
||||
"uid": "2.0.2"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/nest"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"class-transformer": "*",
|
||||
"class-validator": "*",
|
||||
"reflect-metadata": "^0.1.12 || ^0.2.0",
|
||||
"rxjs": "^7.1.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"class-transformer": {
|
||||
"optional": true
|
||||
},
|
||||
"class-validator": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@nestjs/core": {
|
||||
"version": "10.3.7",
|
||||
"resolved": "https://registry.npmjs.org/@nestjs/core/-/core-10.3.7.tgz",
|
||||
"integrity": "sha512-hsdlnfiQ3kgqHL5k7js3CU0PV7hBJVi+LfFMgCkoagRxNMf67z0GFGeOV2jk5d65ssB19qdYsDa1MGVuEaoUpg==",
|
||||
"hasInstallScript": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@nuxtjs/opencollective": "0.3.2",
|
||||
"fast-safe-stringify": "2.1.1",
|
||||
"iterare": "1.2.1",
|
||||
"path-to-regexp": "3.2.0",
|
||||
"tslib": "2.6.2",
|
||||
"uid": "2.0.2"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/nest"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@nestjs/common": "^10.0.0",
|
||||
"@nestjs/microservices": "^10.0.0",
|
||||
"@nestjs/platform-express": "^10.0.0",
|
||||
"@nestjs/websockets": "^10.0.0",
|
||||
"reflect-metadata": "^0.1.12 || ^0.2.0",
|
||||
"rxjs": "^7.1.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@nestjs/microservices": {
|
||||
"optional": true
|
||||
},
|
||||
"@nestjs/platform-express": {
|
||||
"optional": true
|
||||
},
|
||||
"@nestjs/websockets": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@nestjs/core/node_modules/path-to-regexp": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz",
|
||||
"integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@nestjs/platform-express": {
|
||||
"version": "10.3.7",
|
||||
"resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-10.3.7.tgz",
|
||||
"integrity": "sha512-noNJ+PyIxQJLCKfuXz0tcQtlVAynfLIuKy62g70lEZ86UrIqSrZFqvWs/rFUgkbT6J8H7Rmv11hASOnX+7M2rA==",
|
||||
"dependencies": {
|
||||
"body-parser": "1.20.2",
|
||||
"cors": "2.8.5",
|
||||
"express": "4.19.2",
|
||||
"multer": "1.4.4-lts.1",
|
||||
"tslib": "2.6.2"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/nest"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@nestjs/common": "^10.0.0",
|
||||
"@nestjs/core": "^10.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@nestjs/platform-express/node_modules/mkdirp": {
|
||||
"version": "0.5.6",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
|
||||
"integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
|
||||
"dependencies": {
|
||||
"minimist": "^1.2.6"
|
||||
},
|
||||
"bin": {
|
||||
"mkdirp": "bin/cmd.js"
|
||||
}
|
||||
},
|
||||
"node_modules/@nestjs/platform-express/node_modules/multer": {
|
||||
"version": "1.4.4-lts.1",
|
||||
"resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4-lts.1.tgz",
|
||||
"integrity": "sha512-WeSGziVj6+Z2/MwQo3GvqzgR+9Uc+qt8SwHKh3gvNPiISKfsMfG4SvCOFYlxxgkXt7yIV2i1yczehm0EOKIxIg==",
|
||||
"dependencies": {
|
||||
"append-field": "^1.0.0",
|
||||
"busboy": "^1.0.0",
|
||||
"concat-stream": "^1.5.2",
|
||||
"mkdirp": "^0.5.4",
|
||||
"object-assign": "^4.1.1",
|
||||
"type-is": "^1.6.4",
|
||||
"xtend": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@nuxtjs/opencollective": {
|
||||
"version": "0.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz",
|
||||
"integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"chalk": "^4.1.0",
|
||||
"consola": "^2.15.0",
|
||||
"node-fetch": "^2.6.1"
|
||||
},
|
||||
"bin": {
|
||||
"opencollective": "bin/opencollective.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.0.0",
|
||||
"npm": ">=5.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@one-ini/wasm": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz",
|
||||
|
|
@ -365,6 +516,14 @@
|
|||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/adler-32": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.3.1.tgz",
|
||||
"integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==",
|
||||
"engines": {
|
||||
"node": ">=0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/align-text": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
|
||||
|
|
@ -437,6 +596,11 @@
|
|||
"node": ">= 6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/append-field": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz",
|
||||
"integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw=="
|
||||
},
|
||||
"node_modules/arg": {
|
||||
"version": "4.1.3",
|
||||
"resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
|
||||
|
|
@ -594,12 +758,12 @@
|
|||
"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
|
||||
},
|
||||
"node_modules/body-parser": {
|
||||
"version": "1.20.1",
|
||||
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
|
||||
"integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
|
||||
"version": "1.20.2",
|
||||
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
|
||||
"integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
|
||||
"dependencies": {
|
||||
"bytes": "3.1.2",
|
||||
"content-type": "~1.0.4",
|
||||
"content-type": "~1.0.5",
|
||||
"debug": "2.6.9",
|
||||
"depd": "2.0.0",
|
||||
"destroy": "1.2.0",
|
||||
|
|
@ -607,7 +771,7 @@
|
|||
"iconv-lite": "0.4.24",
|
||||
"on-finished": "2.4.1",
|
||||
"qs": "6.11.0",
|
||||
"raw-body": "2.5.1",
|
||||
"raw-body": "2.5.2",
|
||||
"type-is": "~1.6.18",
|
||||
"unpipe": "1.0.0"
|
||||
},
|
||||
|
|
@ -665,6 +829,17 @@
|
|||
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
|
||||
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
|
||||
},
|
||||
"node_modules/busboy": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
|
||||
"integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
|
||||
"dependencies": {
|
||||
"streamsearch": "^1.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.16.0"
|
||||
}
|
||||
},
|
||||
"node_modules/bytes": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
|
||||
|
|
@ -706,6 +881,18 @@
|
|||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/cfb": {
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.2.tgz",
|
||||
"integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==",
|
||||
"dependencies": {
|
||||
"adler-32": "~1.3.0",
|
||||
"crc-32": "~1.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/chalk": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
|
||||
|
|
@ -962,6 +1149,14 @@
|
|||
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/codepage": {
|
||||
"version": "1.15.0",
|
||||
"resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz",
|
||||
"integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==",
|
||||
"engines": {
|
||||
"node": ">=0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/color-convert": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||
|
|
@ -1004,6 +1199,20 @@
|
|||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
|
||||
},
|
||||
"node_modules/concat-stream": {
|
||||
"version": "1.6.2",
|
||||
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
|
||||
"integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
|
||||
"engines": [
|
||||
"node >= 0.8"
|
||||
],
|
||||
"dependencies": {
|
||||
"buffer-from": "^1.0.0",
|
||||
"inherits": "^2.0.3",
|
||||
"readable-stream": "^2.2.2",
|
||||
"typedarray": "^0.0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/config-chain": {
|
||||
"version": "1.1.13",
|
||||
"resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz",
|
||||
|
|
@ -1013,6 +1222,12 @@
|
|||
"proto-list": "~1.2.1"
|
||||
}
|
||||
},
|
||||
"node_modules/consola": {
|
||||
"version": "2.15.3",
|
||||
"resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz",
|
||||
"integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/content-disposition": {
|
||||
"version": "0.5.4",
|
||||
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
|
||||
|
|
@ -1033,9 +1248,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/cookie": {
|
||||
"version": "0.5.0",
|
||||
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
|
||||
"integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
|
||||
"version": "0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
|
||||
"integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
|
|
@ -1062,6 +1277,17 @@
|
|||
"node": ">= 0.10"
|
||||
}
|
||||
},
|
||||
"node_modules/crc-32": {
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz",
|
||||
"integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==",
|
||||
"bin": {
|
||||
"crc32": "bin/crc32.njs"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/create-require": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
|
||||
|
|
@ -1425,16 +1651,16 @@
|
|||
}
|
||||
},
|
||||
"node_modules/express": {
|
||||
"version": "4.18.2",
|
||||
"resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
|
||||
"integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
|
||||
"version": "4.19.2",
|
||||
"resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz",
|
||||
"integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==",
|
||||
"dependencies": {
|
||||
"accepts": "~1.3.8",
|
||||
"array-flatten": "1.1.1",
|
||||
"body-parser": "1.20.1",
|
||||
"body-parser": "1.20.2",
|
||||
"content-disposition": "0.5.4",
|
||||
"content-type": "~1.0.4",
|
||||
"cookie": "0.5.0",
|
||||
"cookie": "0.6.0",
|
||||
"cookie-signature": "1.0.6",
|
||||
"debug": "2.6.9",
|
||||
"depd": "2.0.0",
|
||||
|
|
@ -1492,6 +1718,12 @@
|
|||
"node": ">=16 <22"
|
||||
}
|
||||
},
|
||||
"node_modules/fast-safe-stringify": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
|
||||
"integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/figures": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
|
||||
|
|
@ -1595,6 +1827,14 @@
|
|||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/frac": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz",
|
||||
"integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==",
|
||||
"engines": {
|
||||
"node": ">=0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/fresh": {
|
||||
"version": "0.5.2",
|
||||
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
|
||||
|
|
@ -2046,6 +2286,17 @@
|
|||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/inquirer/node_modules/rxjs": {
|
||||
"version": "6.6.7",
|
||||
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
|
||||
"integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
|
||||
"dependencies": {
|
||||
"tslib": "^1.9.0"
|
||||
},
|
||||
"engines": {
|
||||
"npm": ">=2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/inquirer/node_modules/string-width": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
|
||||
|
|
@ -2088,6 +2339,11 @@
|
|||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/inquirer/node_modules/tslib": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
|
||||
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
|
||||
},
|
||||
"node_modules/internal-slot": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz",
|
||||
|
|
@ -2389,6 +2645,15 @@
|
|||
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
||||
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
|
||||
},
|
||||
"node_modules/iterare": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz",
|
||||
"integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/iterate-iterator": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.2.tgz",
|
||||
|
|
@ -2692,6 +2957,34 @@
|
|||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
|
||||
},
|
||||
"node_modules/multer": {
|
||||
"version": "1.4.5-lts.1",
|
||||
"resolved": "https://registry.npmjs.org/multer/-/multer-1.4.5-lts.1.tgz",
|
||||
"integrity": "sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==",
|
||||
"dependencies": {
|
||||
"append-field": "^1.0.0",
|
||||
"busboy": "^1.0.0",
|
||||
"concat-stream": "^1.5.2",
|
||||
"mkdirp": "^0.5.4",
|
||||
"object-assign": "^4.1.1",
|
||||
"type-is": "^1.6.4",
|
||||
"xtend": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/multer/node_modules/mkdirp": {
|
||||
"version": "0.5.6",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
|
||||
"integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
|
||||
"dependencies": {
|
||||
"minimist": "^1.2.6"
|
||||
},
|
||||
"bin": {
|
||||
"mkdirp": "bin/cmd.js"
|
||||
}
|
||||
},
|
||||
"node_modules/mute-stream": {
|
||||
"version": "0.0.7",
|
||||
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
|
||||
|
|
@ -2814,6 +3107,26 @@
|
|||
"uuid": "dist/bin/uuid"
|
||||
}
|
||||
},
|
||||
"node_modules/node-fetch": {
|
||||
"version": "2.7.0",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
|
||||
"integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"whatwg-url": "^5.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "4.x || >=6.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"encoding": "^0.1.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"encoding": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/nodemon": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.0.3.tgz",
|
||||
|
|
@ -3168,9 +3481,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/raw-body": {
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
|
||||
"integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
|
||||
"version": "2.5.2",
|
||||
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
|
||||
"integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
|
||||
"dependencies": {
|
||||
"bytes": "3.1.2",
|
||||
"http-errors": "2.0.0",
|
||||
|
|
@ -3291,21 +3604,14 @@
|
|||
}
|
||||
},
|
||||
"node_modules/rxjs": {
|
||||
"version": "6.6.7",
|
||||
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
|
||||
"integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
|
||||
"version": "7.8.1",
|
||||
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
|
||||
"integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"tslib": "^1.9.0"
|
||||
},
|
||||
"engines": {
|
||||
"npm": ">=2.0.0"
|
||||
"tslib": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/rxjs/node_modules/tslib": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
|
||||
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
|
||||
},
|
||||
"node_modules/safe-array-concat": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz",
|
||||
|
|
@ -3570,6 +3876,17 @@
|
|||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/ssf": {
|
||||
"version": "0.11.2",
|
||||
"resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz",
|
||||
"integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==",
|
||||
"dependencies": {
|
||||
"frac": "~1.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/statuses": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
|
||||
|
|
@ -3589,6 +3906,14 @@
|
|||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/streamsearch": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
|
||||
"integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/string_decoder": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
||||
|
|
@ -3899,6 +4224,12 @@
|
|||
"nodetouch": "bin/nodetouch.js"
|
||||
}
|
||||
},
|
||||
"node_modules/tr46": {
|
||||
"version": "0.0.3",
|
||||
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
|
||||
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/ts-node": {
|
||||
"version": "10.9.2",
|
||||
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
|
||||
|
|
@ -4036,6 +4367,11 @@
|
|||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/typedarray": {
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
|
||||
"integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
|
||||
},
|
||||
"node_modules/typeorm": {
|
||||
"version": "0.3.19",
|
||||
"resolved": "https://registry.npmjs.org/typeorm/-/typeorm-0.3.19.tgz",
|
||||
|
|
@ -4490,6 +4826,18 @@
|
|||
"resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
|
||||
"integrity": "sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q=="
|
||||
},
|
||||
"node_modules/uid": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz",
|
||||
"integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@lukeed/csprng": "^1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/unbox-primitive": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
|
||||
|
|
@ -4586,6 +4934,22 @@
|
|||
"loose-envify": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/webidl-conversions": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
|
||||
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/whatwg-url": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
|
||||
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"tr46": "~0.0.3",
|
||||
"webidl-conversions": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/which": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
||||
|
|
@ -4641,6 +5005,22 @@
|
|||
"node": ">= 0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/wmf": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz",
|
||||
"integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==",
|
||||
"engines": {
|
||||
"node": ">=0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/word": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz",
|
||||
"integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==",
|
||||
"engines": {
|
||||
"node": ">=0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/wordwrap": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
|
||||
|
|
@ -4732,6 +5112,26 @@
|
|||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
|
||||
},
|
||||
"node_modules/xlsx": {
|
||||
"version": "0.18.5",
|
||||
"resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.18.5.tgz",
|
||||
"integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==",
|
||||
"dependencies": {
|
||||
"adler-32": "~1.3.0",
|
||||
"cfb": "~1.2.1",
|
||||
"codepage": "~1.15.0",
|
||||
"crc-32": "~1.2.1",
|
||||
"ssf": "~0.11.2",
|
||||
"wmf": "~1.0.1",
|
||||
"word": "~0.3.0"
|
||||
},
|
||||
"bin": {
|
||||
"xlsx": "bin/xlsx.njs"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/xml2js": {
|
||||
"version": "0.4.23",
|
||||
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
|
||||
|
|
@ -4752,6 +5152,14 @@
|
|||
"node": ">=4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/xtend": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
||||
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
|
||||
"engines": {
|
||||
"node": ">=0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/y18n": {
|
||||
"version": "5.0.8",
|
||||
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
|
||||
|
|
|
|||
|
|
@ -27,12 +27,14 @@
|
|||
"typescript": "^5.3.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"@nestjs/platform-express": "^10.3.7",
|
||||
"@tsoa/runtime": "^6.0.0",
|
||||
"axios": "^1.6.8",
|
||||
"cors": "^2.8.5",
|
||||
"dotenv": "^16.3.1",
|
||||
"express": "^4.18.2",
|
||||
"fast-jwt": "^3.3.2",
|
||||
"multer": "^1.4.5-lts.1",
|
||||
"mysql2": "^3.9.1",
|
||||
"node-cron": "^3.0.3",
|
||||
"promise.any": "^2.0.6",
|
||||
|
|
@ -40,6 +42,7 @@
|
|||
"swagger-ui-express": "^5.0.0",
|
||||
"tsoa": "^6.0.1",
|
||||
"typeorm": "^0.3.19",
|
||||
"typeorm-cli": "^1.0.7"
|
||||
"typeorm-cli": "^1.0.7",
|
||||
"xlsx": "^0.18.5"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -185,6 +185,7 @@ export class DevelopmentOfficerHistoryController extends Controller {
|
|||
@Query("pageSize") pageSize: number = 10,
|
||||
@Query("keyword") keyword?: string,
|
||||
@Query("year") year?: number,
|
||||
@Query("root") root?: number,
|
||||
) {
|
||||
const type = "OFFICER";
|
||||
const [development, total] = await AppDataSource.getRepository(DevelopmentHistory)
|
||||
|
|
@ -192,14 +193,18 @@ export class DevelopmentOfficerHistoryController extends Controller {
|
|||
.leftJoinAndSelect("developmentHistory.development", "development")
|
||||
.leftJoinAndSelect("developmentHistory.posLevel", "posLevel")
|
||||
.leftJoinAndSelect("developmentHistory.posType", "posType")
|
||||
.andWhere(year != 0 && year != null && year != undefined ? "development.year = :year" : "1=1", { year: year })
|
||||
.andWhere(
|
||||
year != 0 && year != null && year != undefined ? "development.year = :year" : "1=1",
|
||||
{ year: year },
|
||||
)
|
||||
.andWhere(root != null && root != undefined ? "development.root = :root" : "1=1", {
|
||||
root: root,
|
||||
})
|
||||
.andWhere("developmentHistory.type = :type", { type: type })
|
||||
.andWhere(
|
||||
new Brackets((qb) => {
|
||||
qb.where(
|
||||
keyword != null && keyword != ""
|
||||
? "developmentHistory.prefix LIKE :keyword"
|
||||
: "1=1",
|
||||
keyword != null && keyword != "" ? "developmentHistory.prefix LIKE :keyword" : "1=1",
|
||||
{
|
||||
keyword: `%${keyword}%`,
|
||||
},
|
||||
|
|
@ -237,25 +242,19 @@ export class DevelopmentOfficerHistoryController extends Controller {
|
|||
},
|
||||
)
|
||||
.orWhere(
|
||||
keyword != null && keyword != ""
|
||||
? "development.projectName LIKE :keyword"
|
||||
: "1=1",
|
||||
keyword != null && keyword != "" ? "development.projectName LIKE :keyword" : "1=1",
|
||||
{
|
||||
keyword: `%${keyword}%`,
|
||||
},
|
||||
)
|
||||
.orWhere(
|
||||
keyword != null && keyword != ""
|
||||
? "posType.posTypeName LIKE :keyword"
|
||||
: "1=1",
|
||||
keyword != null && keyword != "" ? "posType.posTypeName LIKE :keyword" : "1=1",
|
||||
{
|
||||
keyword: `%${keyword}%`,
|
||||
},
|
||||
)
|
||||
.orWhere(
|
||||
keyword != null && keyword != ""
|
||||
? "posLevel.posLevelName LIKE :keyword"
|
||||
: "1=1",
|
||||
keyword != null && keyword != "" ? "posLevel.posLevelName LIKE :keyword" : "1=1",
|
||||
{
|
||||
keyword: `%${keyword}%`,
|
||||
},
|
||||
|
|
@ -266,10 +265,10 @@ export class DevelopmentOfficerHistoryController extends Controller {
|
|||
.skip((page - 1) * pageSize)
|
||||
.take(pageSize)
|
||||
.getManyAndCount();
|
||||
const formattedData = development.map(item => ({
|
||||
const formattedData = development.map((item) => ({
|
||||
id: item.id,
|
||||
citizenId: item.citizenId,
|
||||
fullName: item.prefix+item.firstName+" "+item.lastName,
|
||||
fullName: item.prefix + item.firstName + " " + item.lastName,
|
||||
position: item.position,
|
||||
posType: item.posType ? item.posType.posTypeName : null,
|
||||
posLevel: item.posLevel ? item.posLevel.posLevelName : null,
|
||||
|
|
@ -287,11 +286,11 @@ export class DevelopmentOfficerHistoryController extends Controller {
|
|||
*
|
||||
* @param {string} id Id โครงการ
|
||||
*/
|
||||
@Get("{id}")
|
||||
@Get("{id}")
|
||||
async GetDevelopemtHistoryById(@Path() id: string) {
|
||||
const type = "OFFICER";
|
||||
const getDevelopment = await this.developmentHistoryRepository.findOne({
|
||||
relations: ["development","posLevel","posType"],
|
||||
relations: ["development", "posLevel", "posType"],
|
||||
where: { id: id, type: type },
|
||||
});
|
||||
if (!getDevelopment) {
|
||||
|
|
@ -306,7 +305,9 @@ export class DevelopmentOfficerHistoryController extends Controller {
|
|||
citizenId: getDevelopment.citizenId ? getDevelopment.citizenId : null,
|
||||
position: getDevelopment.position ? getDevelopment.position : null,
|
||||
posLevelId: getDevelopment.posLevelId ? getDevelopment.posLevelId : null,
|
||||
posLevelName: getDevelopment.posLevel.posLevelName ? getDevelopment.posLevel.posLevelName : null,
|
||||
posLevelName: getDevelopment.posLevel.posLevelName
|
||||
? getDevelopment.posLevel.posLevelName
|
||||
: null,
|
||||
posTypeId: getDevelopment.posTypeId ? getDevelopment.posTypeId : null,
|
||||
posTypeName: getDevelopment.posType.posTypeName ? getDevelopment.posType.posTypeName : null,
|
||||
posExecutive: getDevelopment.posExecutive ? getDevelopment.posExecutive : null,
|
||||
|
|
@ -314,17 +315,27 @@ export class DevelopmentOfficerHistoryController extends Controller {
|
|||
order: getDevelopment.order ? getDevelopment.order : null,
|
||||
dateOrder: getDevelopment.dateOrder ? getDevelopment.dateOrder : null,
|
||||
year: getDevelopment.development.year ? getDevelopment.development.year : null,
|
||||
projectName: getDevelopment.development.projectName ? getDevelopment.development.projectName : null,
|
||||
projectName: getDevelopment.development.projectName
|
||||
? getDevelopment.development.projectName
|
||||
: null,
|
||||
dateStart: getDevelopment.development.dateStart ? getDevelopment.development.dateStart : null,
|
||||
dateEnd: getDevelopment.development.dateEnd ? getDevelopment.development.dateEnd : null,
|
||||
totalDate: getDevelopment.development.totalDate ? getDevelopment.development.totalDate : null,
|
||||
addressAcademic: getDevelopment.development.addressAcademic ? getDevelopment.development.addressAcademic : null,
|
||||
topicAcademic: getDevelopment.development.topicAcademic ? getDevelopment.development.topicAcademic : null,
|
||||
dateStudyStart: getDevelopment.development.dateStudyStart ? getDevelopment.development.dateStudyStart : null,
|
||||
dateStudyEnd: getDevelopment.development.dateStudyEnd ? getDevelopment.development.dateStudyEnd : null,
|
||||
addressAcademic: getDevelopment.development.addressAcademic
|
||||
? getDevelopment.development.addressAcademic
|
||||
: null,
|
||||
topicAcademic: getDevelopment.development.topicAcademic
|
||||
? getDevelopment.development.topicAcademic
|
||||
: null,
|
||||
dateStudyStart: getDevelopment.development.dateStudyStart
|
||||
? getDevelopment.development.dateStudyStart
|
||||
: null,
|
||||
dateStudyEnd: getDevelopment.development.dateStudyEnd
|
||||
? getDevelopment.development.dateStudyEnd
|
||||
: null,
|
||||
org: null,
|
||||
};
|
||||
|
||||
|
||||
return new HttpSuccess(formattedData);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ import {
|
|||
CreateDevelopmentScholarship,
|
||||
DevelopmentScholarship,
|
||||
UpdateDevelopmentScholarship,
|
||||
UpdateDevelopmentScholarshipUser,
|
||||
} from "../entities/DevelopmentScholarship";
|
||||
import { PosType } from "../entities/PosType";
|
||||
import { PosLevel } from "../entities/PosLevel";
|
||||
|
|
@ -237,6 +238,7 @@ export class DevelopmentScholarshipController extends Controller {
|
|||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลทุนการศึกษา/ฝึกอบรมนี้");
|
||||
}
|
||||
const formattedData = {
|
||||
root: getDevelopment.root ? getDevelopment.root : null,
|
||||
rank: getDevelopment.rank ? getDevelopment.rank : null,
|
||||
prefix: getDevelopment.prefix ? getDevelopment.prefix : null,
|
||||
firstName: getDevelopment.firstName ? getDevelopment.firstName : null,
|
||||
|
|
@ -314,10 +316,92 @@ export class DevelopmentScholarshipController extends Controller {
|
|||
totalPeriod: getDevelopment.totalPeriod ? getDevelopment.totalPeriod : null,
|
||||
status: getDevelopment.status ? getDevelopment.status : null,
|
||||
profileId: getDevelopment.profileId ? getDevelopment.profileId : null,
|
||||
planType: getDevelopment.planType ? getDevelopment.planType : null,
|
||||
isNoUseBudget: getDevelopment.isNoUseBudget ? getDevelopment.isNoUseBudget : null,
|
||||
};
|
||||
return new HttpSuccess(formattedData);
|
||||
}
|
||||
|
||||
/**
|
||||
* API รายการทุนของ user
|
||||
*
|
||||
* @summary DEV_0 - รายการทุนของ user #
|
||||
*
|
||||
* @param {string} profileId profileId ข้าราชการฯที่ได้รับทุนการศึกษา
|
||||
*/
|
||||
@Get("user/{profileId}")
|
||||
async GetDevelopemtScholarshipUserById(@Path() profileId: string) {
|
||||
const getDevelopment = await this.developmentScholarshipRepository.find({
|
||||
where: { profileId: profileId },
|
||||
});
|
||||
const formattedData = getDevelopment.map((item) => ({
|
||||
id: item.id,
|
||||
scholarshipYear: item.scholarshipYear,
|
||||
scholarshipType: item.scholarshipType,
|
||||
fundType: item.fundType,
|
||||
}));
|
||||
|
||||
return new HttpSuccess(formattedData);
|
||||
}
|
||||
|
||||
/**
|
||||
* API รายละเอียดทุนของ user
|
||||
*
|
||||
* @summary DEV_0 - รายละเอียดทุนของ user #
|
||||
*
|
||||
* @param {string} id id รายการ
|
||||
*/
|
||||
@Get("user/detail/{id}")
|
||||
async GetDevelopemtScholarshipUserDetailById(@Path() id: string) {
|
||||
const getDevelopment = await this.developmentScholarshipRepository.findOne({
|
||||
where: { id: id },
|
||||
select: [
|
||||
"id",
|
||||
"scholarshipYear",
|
||||
"scholarshipType",
|
||||
"fundType",
|
||||
"governmentDate",
|
||||
"isGraduated",
|
||||
"graduatedDate",
|
||||
"isNoGraduated",
|
||||
"graduatedReason",
|
||||
"root",
|
||||
],
|
||||
});
|
||||
if (!getDevelopment) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลทุนการศึกษา/ฝึกอบรมนี้");
|
||||
}
|
||||
|
||||
return new HttpSuccess(getDevelopment);
|
||||
}
|
||||
|
||||
/**
|
||||
* API แก้ไขรายการทุนของ user
|
||||
*
|
||||
* @summary DEV_015 - แก้ไขรายการทุนของ user #15
|
||||
*
|
||||
* @param {string} id รายการ
|
||||
*/
|
||||
@Put("user/detail/{id}")
|
||||
async UpdateDevelopemtScholarshipUserById(
|
||||
@Path() id: string,
|
||||
@Body() requestBody: UpdateDevelopmentScholarshipUser,
|
||||
@Request() request: { user: Record<string, any> },
|
||||
) {
|
||||
const getDevelopment = await this.developmentScholarshipRepository.findOne({
|
||||
where: { id: id },
|
||||
});
|
||||
if (!getDevelopment) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลทุนการศึกษา/ฝึกอบรมนี้");
|
||||
}
|
||||
Object.assign(getDevelopment, requestBody);
|
||||
getDevelopment.lastUpdateUserId = request.user.sub;
|
||||
getDevelopment.lastUpdateFullName = request.user.name;
|
||||
await this.developmentScholarshipRepository.save(getDevelopment);
|
||||
|
||||
return new HttpSuccess(getDevelopment.id);
|
||||
}
|
||||
|
||||
/**
|
||||
* API เปลี่ยนสถานะ
|
||||
*
|
||||
|
|
@ -340,6 +424,8 @@ export class DevelopmentScholarshipController extends Controller {
|
|||
}
|
||||
const _status = status.trim().toUpperCase();
|
||||
getDevelopment.status = _status;
|
||||
getDevelopment.lastUpdateUserId = request.user.sub;
|
||||
getDevelopment.lastUpdateFullName = request.user.name;
|
||||
if (_status == "GRADUATE") {
|
||||
if (getDevelopment.scholarshipType != null) {
|
||||
switch (getDevelopment.scholarshipType.trim().toUpperCase()) {
|
||||
|
|
|
|||
|
|
@ -25,7 +25,8 @@ import {
|
|||
} from "../entities/DevelopmentHistory";
|
||||
import { PosType } from "../entities/PosType";
|
||||
import { PosLevel } from "../entities/PosLevel";
|
||||
|
||||
import Extension from "../interfaces/extension";
|
||||
import { DevelopmentScholarship } from "../entities/DevelopmentScholarship";
|
||||
@Route("api/v1/development/report")
|
||||
@Tags("Report")
|
||||
@Security("bearerAuth")
|
||||
|
|
@ -34,6 +35,7 @@ export class ReportController extends Controller {
|
|||
private developmentRepository = AppDataSource.getRepository(Development);
|
||||
private posTypeRepository = AppDataSource.getRepository(PosType);
|
||||
private posLevelRepository = AppDataSource.getRepository(PosLevel);
|
||||
private developmentScholarshipRepository = AppDataSource.getRepository(DevelopmentScholarship);
|
||||
|
||||
/**
|
||||
* API Report รายการโครงการ/หลักสูตรการฝึกอบรมที่หน่วยงานของกรุงเทพมหานครเป็นผู้จัด
|
||||
|
|
@ -63,18 +65,58 @@ export class ReportController extends Controller {
|
|||
*
|
||||
* @summary DEV_0xx - Report รายการประวัติการฝึกอบรม/ดูงานของข้าราชการกรุงเทพมหานครสามัญ #xx
|
||||
*
|
||||
* @param {string} type type ประเภท report
|
||||
*/
|
||||
@Get("history-officer/{type}")
|
||||
async GetReportDevelopemtHistoryOfficer(@Path() type: string) {
|
||||
const _type = type.trim().toUpperCase();
|
||||
const formattedData = {
|
||||
org: _type,
|
||||
};
|
||||
@Post("history-officer")
|
||||
async PostReportDevelopemtHistoryOfficer(
|
||||
@Body()
|
||||
body: {
|
||||
year: number;
|
||||
root: string;
|
||||
},
|
||||
) {
|
||||
const development = await AppDataSource.getRepository(DevelopmentHistory)
|
||||
.createQueryBuilder("developmentHistory")
|
||||
.leftJoinAndSelect("developmentHistory.posLevel", "posLevel")
|
||||
.leftJoinAndSelect("developmentHistory.posType", "posType")
|
||||
.leftJoinAndSelect("developmentHistory.development", "development")
|
||||
.andWhere(body.year != 0 && body.year != null ? "development.year = :year" : "1=1", {
|
||||
year: body.year,
|
||||
})
|
||||
.andWhere(body.root != null ? "development.root = :root" : "1=1", {
|
||||
root: body.root,
|
||||
})
|
||||
.andWhere("developmentHistory.type = :type", { type: "OFFICER" })
|
||||
.select([
|
||||
"developmentHistory.citizenId",
|
||||
"developmentHistory.rank",
|
||||
"developmentHistory.position",
|
||||
"developmentHistory.posExecutive",
|
||||
"developmentHistory.developmentId",
|
||||
"developmentHistory.prefix",
|
||||
"developmentHistory.firstName",
|
||||
"developmentHistory.lastName",
|
||||
"posLevel.posLevelName",
|
||||
"posType.posTypeName",
|
||||
"development.projectName",
|
||||
"development.root",
|
||||
])
|
||||
.getMany();
|
||||
|
||||
const formattedData = development.map((item) => ({
|
||||
id: item.id,
|
||||
citizenId: Extension.ToThaiNumber(item.citizenId.toString()),
|
||||
fullName: item.prefix + item.firstName + " " + item.lastName,
|
||||
position: item.position,
|
||||
posType: item.posType ? item.posType.posTypeName : null,
|
||||
posLevel: item.posLevel ? item.posLevel.posLevelName : null,
|
||||
posExecutive: item.posExecutive,
|
||||
projectName: item.development ? item.development.projectName : null,
|
||||
root: item.root,
|
||||
}));
|
||||
|
||||
return new HttpSuccess({
|
||||
template: "development",
|
||||
reportName: "development",
|
||||
template: "developmentHistoryOfficer",
|
||||
reportName: "developmentHistoryOfficer",
|
||||
data: {
|
||||
data: formattedData,
|
||||
},
|
||||
|
|
@ -86,18 +128,60 @@ export class ReportController extends Controller {
|
|||
*
|
||||
* @summary DEV_0xx - Report รายการประวัติฝึกอบรม/ดูงานลูกจ้าง #xx
|
||||
*
|
||||
* @param {string} type type ประเภท report
|
||||
* @param {number} year year ปี report
|
||||
*/
|
||||
@Get("history-employee/{type}")
|
||||
async GetReportDevelopemtHistoryEmployee(@Path() type: string) {
|
||||
const _type = type.trim().toUpperCase();
|
||||
const formattedData = {
|
||||
org: _type,
|
||||
};
|
||||
@Post("history-employee")
|
||||
async PostReportDevelopemtHistoryEmployee(
|
||||
@Body()
|
||||
body: {
|
||||
year: number;
|
||||
root: string;
|
||||
},
|
||||
) {
|
||||
const development = await AppDataSource.getRepository(DevelopmentHistory)
|
||||
.createQueryBuilder("developmentHistory")
|
||||
.leftJoinAndSelect("developmentHistory.employeePosLevel", "employeePosLevel")
|
||||
.leftJoinAndSelect("developmentHistory.employeePosType", "employeePosType")
|
||||
.leftJoinAndSelect("developmentHistory.development", "development")
|
||||
.andWhere(body.year != 0 && body.year != null ? "development.year = :year" : "1=1", {
|
||||
year: body.year,
|
||||
})
|
||||
.andWhere(body.root != null ? "development.root = :root" : "1=1", {
|
||||
root: body.root,
|
||||
})
|
||||
.andWhere("developmentHistory.type = :type", { type: "EMPLOYEE" })
|
||||
.select([
|
||||
"developmentHistory.citizenId",
|
||||
"developmentHistory.position",
|
||||
"developmentHistory.developmentId",
|
||||
"developmentHistory.prefix",
|
||||
"developmentHistory.firstName",
|
||||
"developmentHistory.lastName",
|
||||
"employeePosLevel.posLevelName",
|
||||
"employeePosType.posTypeName",
|
||||
"employeePosType.posTypeShortName",
|
||||
"development.projectName",
|
||||
"development.root",
|
||||
])
|
||||
.getMany();
|
||||
|
||||
const formattedData = development.map((item) => ({
|
||||
id: item.id,
|
||||
citizenId: Extension.ToThaiNumber(item.citizenId.toString()),
|
||||
fullName: item.prefix + item.firstName + " " + item.lastName,
|
||||
position: item.position,
|
||||
employeePosType: item.employeePosType ? item.employeePosType.posTypeName : null,
|
||||
employeePosLevel:
|
||||
item.employeePosType.posTypeShortName +
|
||||
" " +
|
||||
Extension.ToThaiNumber(item.employeePosLevel.posLevelName.toString()),
|
||||
projectName: item.development ? item.development.projectName : null,
|
||||
root: item.root,
|
||||
}));
|
||||
|
||||
return new HttpSuccess({
|
||||
template: "development",
|
||||
reportName: "development",
|
||||
template: "developmentHistoryEmployee",
|
||||
reportName: "developmentHistoryEmployee",
|
||||
data: {
|
||||
data: formattedData,
|
||||
},
|
||||
|
|
@ -124,4 +208,86 @@ export class ReportController extends Controller {
|
|||
},
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* API Report ข้าราชการฯที่ได้รับทุนการศึกษา/ฝึกอบรมใน detail
|
||||
*
|
||||
* @summary DEV_0xx - Report ข้าราชการฯที่ได้รับทุนการศึกษา/ฝึกอบรมใน detail #xx
|
||||
*
|
||||
* @param {string} id Id scholarship
|
||||
*/
|
||||
@Get("scholarship/{id}")
|
||||
async GetReportDevelopemtScholarshipDetail(@Path() id: string) {
|
||||
const getDevelopment = await this.developmentScholarshipRepository.findOne({
|
||||
where: { id: id },
|
||||
});
|
||||
if (!getDevelopment) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลทุนการศึกษา/ฝึกอบรมนี้");
|
||||
}
|
||||
if (getDevelopment.scholarshipType != null) {
|
||||
switch (getDevelopment.scholarshipType.trim().toUpperCase()) {
|
||||
case "DOMESTICE":
|
||||
getDevelopment.scholarshipType = "การศึกษาในประเทศ";
|
||||
break;
|
||||
case "NOABROAD":
|
||||
getDevelopment.scholarshipType =
|
||||
"ฝึกอบรมในประเทศที่ส่งไปพัฒนากับหน่วยวงานภายนอก (หลักสูตรที่ไม่มีการไปต่างประเทศ)";
|
||||
break;
|
||||
case "ABROAD":
|
||||
getDevelopment.scholarshipType =
|
||||
"ฝึกอบรมในประเทศที่ส่งไปพัฒนากับหน่วยวงานภายนอก (หลักสูตรที่มีการไปต่างประเทศ)";
|
||||
break;
|
||||
case "EXECUTIVE":
|
||||
getDevelopment.scholarshipType =
|
||||
"ฝึกอบรมในประเทศที่ส่งไปพัฒนากับหน่วยวงานภายนอก (หลักสูตรประเภทนักบริหาร)";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
const formattedData = {
|
||||
id: getDevelopment.id,
|
||||
firstName: getDevelopment.firstName,
|
||||
lastName: getDevelopment.lastName,
|
||||
position: getDevelopment.position,
|
||||
root: getDevelopment.root,
|
||||
degreeLevel: getDevelopment.degreeLevel,
|
||||
course: getDevelopment.course,
|
||||
field: getDevelopment.field,
|
||||
studyPlace: getDevelopment.studyPlace,
|
||||
scholarshipType: getDevelopment.scholarshipType,
|
||||
startDate:
|
||||
getDevelopment.startDate == null
|
||||
? ""
|
||||
: Extension.ToThaiNumber(Extension.ToThaiFullDate(getDevelopment.startDate)),
|
||||
endDate:
|
||||
getDevelopment.endDate == null
|
||||
? ""
|
||||
: Extension.ToThaiNumber(Extension.ToThaiFullDate(getDevelopment.endDate)),
|
||||
reportBackNo:
|
||||
getDevelopment.reportBackNo == null
|
||||
? ""
|
||||
: Extension.ToThaiNumber(getDevelopment.reportBackNo),
|
||||
reportBackNoDate:
|
||||
getDevelopment.reportBackNoDate == null
|
||||
? ""
|
||||
: Extension.ToThaiNumber(Extension.ToThaiFullDate(getDevelopment.reportBackNoDate)),
|
||||
governmentDate:
|
||||
getDevelopment.governmentDate == null
|
||||
? ""
|
||||
: Extension.ToThaiNumber(Extension.ToThaiFullDate(getDevelopment.governmentDate)),
|
||||
graduatedDate:
|
||||
getDevelopment.graduatedDate == null
|
||||
? ""
|
||||
: Extension.ToThaiNumber(Extension.ToThaiFullDate(getDevelopment.graduatedDate)),
|
||||
graduatedReason: getDevelopment.graduatedReason,
|
||||
};
|
||||
|
||||
return new HttpSuccess({
|
||||
template: "repatriation",
|
||||
reportName: "repatriation",
|
||||
data: formattedData,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,12 +7,46 @@ import { ActualGoal, CreateActualGoal } from "./ActualGoal";
|
|||
import { CreatePlannedGoal, PlannedGoal } from "./PlannedGoal";
|
||||
import { DevelopmentHistory } from "./DevelopmentHistory";
|
||||
import { DevelopmentProjectType } from "./DevelopmentProjectType";
|
||||
import { DevelopmentProjectTechnique } from "./DevelopmentProjectTechnique";
|
||||
import { DevelopmentProjectTechniquePlanned } from "./DevelopmentProjectTechniquePlanned";
|
||||
import { CreateDevelopmentEvaluation, DevelopmentEvaluation } from "./DevelopmentEvaluation";
|
||||
import { CreateDevelopmentAddress, DevelopmentAddress } from "./DevelopmentAddress";
|
||||
import { DevelopmentProjectTechniqueActual } from "./DevelopmentProjectTechniqueActual";
|
||||
import { StrategyChild5 } from "./StrategyChild5";
|
||||
import { StrategyChild4 } from "./StrategyChild4";
|
||||
import { StrategyChild3 } from "./StrategyChild3";
|
||||
import { StrategyChild2 } from "./StrategyChild2";
|
||||
import { StrategyChild1 } from "./StrategyChild1";
|
||||
|
||||
@Entity("development")
|
||||
export class Development extends EntityBase {
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "id หน่วยงาน",
|
||||
default: null,
|
||||
})
|
||||
rootId: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "ชื่อหน่วยงาน",
|
||||
default: null,
|
||||
})
|
||||
root: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "ชื่อย่อหน่วยงาน",
|
||||
default: null,
|
||||
})
|
||||
orgRootShortName: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "id revision",
|
||||
default: null,
|
||||
})
|
||||
orgRevisionId: string;
|
||||
|
||||
@Column({
|
||||
// กำลังดำเนินการ (ONGOING)
|
||||
// เสร็จสิ้น (FINISH)
|
||||
|
|
@ -141,11 +175,18 @@ export class Development extends EntityBase {
|
|||
projectNigthHoldActual: number;
|
||||
|
||||
@OneToMany(
|
||||
() => DevelopmentProjectTechnique,
|
||||
(developmentProjectTechnique: DevelopmentProjectTechnique) =>
|
||||
developmentProjectTechnique.development,
|
||||
() => DevelopmentProjectTechniquePlanned,
|
||||
(developmentProjectTechniquePlanned: DevelopmentProjectTechniquePlanned) =>
|
||||
developmentProjectTechniquePlanned.development,
|
||||
)
|
||||
developmentProjectTechniques: DevelopmentProjectTechnique[];
|
||||
developmentProjectTechniquePlanneds: DevelopmentProjectTechniquePlanned[];
|
||||
|
||||
@OneToMany(
|
||||
() => DevelopmentProjectTechniqueActual,
|
||||
(developmentProjectTechniqueActual: DevelopmentProjectTechniqueActual) =>
|
||||
developmentProjectTechniqueActual.development,
|
||||
)
|
||||
developmentProjectTechniqueActuals: DevelopmentProjectTechniqueActual[];
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
|
|
@ -366,12 +407,138 @@ export class Development extends EntityBase {
|
|||
(developmentHistory: DevelopmentHistory) => developmentHistory.development,
|
||||
)
|
||||
developmentHistorys: DevelopmentHistory[];
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
length: 40,
|
||||
comment: "คีย์นอก(FK)ของตาราง strategyChild1 เป้าหมายตามแผน",
|
||||
default: null,
|
||||
})
|
||||
strategyChild1PlannedId: string;
|
||||
@ManyToOne(() => StrategyChild1, (strategyChild1) => strategyChild1.developmentPlanneds)
|
||||
@JoinColumn({ name: "strategyChild1PlannedId" })
|
||||
strategyChild1Planned: StrategyChild1;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
length: 40,
|
||||
comment: "คีย์นอก(FK)ของตาราง strategyChild2 เป้าหมายตามแผน",
|
||||
default: null,
|
||||
})
|
||||
strategyChild2PlannedId: string;
|
||||
@ManyToOne(() => StrategyChild2, (strategyChild2) => strategyChild2.developmentPlanneds)
|
||||
@JoinColumn({ name: "strategyChild2PlannedId" })
|
||||
strategyChild2Planned: StrategyChild2;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
length: 40,
|
||||
comment: "คีย์นอก(FK)ของตาราง strategyChild3 เป้าหมายตามแผน",
|
||||
default: null,
|
||||
})
|
||||
strategyChild3PlannedId: string;
|
||||
@ManyToOne(() => StrategyChild3, (strategyChild3) => strategyChild3.developmentPlanneds)
|
||||
@JoinColumn({ name: "strategyChild3PlannedId" })
|
||||
strategyChild3Planned: StrategyChild3;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
length: 40,
|
||||
comment: "คีย์นอก(FK)ของตาราง strategyChild4 เป้าหมายตามแผน",
|
||||
default: null,
|
||||
})
|
||||
strategyChild4PlannedId: string;
|
||||
@ManyToOne(() => StrategyChild4, (strategyChild4) => strategyChild4.developmentPlanneds)
|
||||
@JoinColumn({ name: "strategyChild4PlannedId" })
|
||||
strategyChild4Planned: StrategyChild4;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
length: 40,
|
||||
comment: "คีย์นอก(FK)ของตาราง strategyChild5 เป้าหมายตามแผน",
|
||||
default: null,
|
||||
})
|
||||
strategyChild5PlannedId: string;
|
||||
@ManyToOne(() => StrategyChild5, (strategyChild5) => strategyChild5.developmentPlanneds)
|
||||
@JoinColumn({ name: "strategyChild5PlannedId" })
|
||||
strategyChild5Planned: StrategyChild5;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
length: 40,
|
||||
comment: "คีย์นอก(FK)ของตาราง strategyChild1 เป้าหมายตามจริง",
|
||||
default: null,
|
||||
})
|
||||
strategyChild1ActualId: string;
|
||||
@ManyToOne(() => StrategyChild1, (strategyChild1) => strategyChild1.developmentActuals)
|
||||
@JoinColumn({ name: "strategyChild1ActualId" })
|
||||
strategyChild1Actual: StrategyChild1;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
length: 40,
|
||||
comment: "คีย์นอก(FK)ของตาราง strategyChild2 เป้าหมายตามจริง",
|
||||
default: null,
|
||||
})
|
||||
strategyChild2ActualId: string;
|
||||
@ManyToOne(() => StrategyChild2, (strategyChild2) => strategyChild2.developmentActuals)
|
||||
@JoinColumn({ name: "strategyChild2ActualId" })
|
||||
strategyChild2Actual: StrategyChild2;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
length: 40,
|
||||
comment: "คีย์นอก(FK)ของตาราง strategyChild3 เป้าหมายตามจริง",
|
||||
default: null,
|
||||
})
|
||||
strategyChild3ActualId: string;
|
||||
@ManyToOne(() => StrategyChild3, (strategyChild3) => strategyChild3.developmentActuals)
|
||||
@JoinColumn({ name: "strategyChild3ActualId" })
|
||||
strategyChild3Actual: StrategyChild3;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
length: 40,
|
||||
comment: "คีย์นอก(FK)ของตาราง strategyChild4 เป้าหมายตามจริง",
|
||||
default: null,
|
||||
})
|
||||
strategyChild4ActualId: string;
|
||||
@ManyToOne(() => StrategyChild4, (strategyChild4) => strategyChild4.developmentActuals)
|
||||
@JoinColumn({ name: "strategyChild4ActualId" })
|
||||
strategyChild4Actual: StrategyChild4;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
length: 40,
|
||||
comment: "คีย์นอก(FK)ของตาราง strategyChild5 เป้าหมายตามจริง",
|
||||
default: null,
|
||||
})
|
||||
strategyChild5ActualId: string;
|
||||
@ManyToOne(() => StrategyChild5, (strategyChild5) => strategyChild5.developmentActuals)
|
||||
@JoinColumn({ name: "strategyChild5ActualId" })
|
||||
strategyChild5Actual: StrategyChild5;
|
||||
}
|
||||
export class CreateDevelopment {
|
||||
@Column()
|
||||
year: number;
|
||||
@Column()
|
||||
projectName: string;
|
||||
@Column()
|
||||
root: string;
|
||||
@Column()
|
||||
rootId: string;
|
||||
@Column()
|
||||
orgRootShortName: string;
|
||||
@Column()
|
||||
orgRevisionId: string;
|
||||
@Column()
|
||||
strategyChildPlannedId: string;
|
||||
@Column()
|
||||
strategyChildPlannedNode: number;
|
||||
@Column()
|
||||
strategyChildActualId: string;
|
||||
@Column()
|
||||
strategyChildActualNode: number;
|
||||
}
|
||||
|
||||
export class UpdateDevelopment1 {
|
||||
|
|
@ -383,6 +550,22 @@ export class UpdateDevelopment1 {
|
|||
reason: string | null;
|
||||
@Column()
|
||||
objective: string | null;
|
||||
@Column()
|
||||
root: string;
|
||||
@Column()
|
||||
rootId: string;
|
||||
@Column()
|
||||
orgRootShortName: string;
|
||||
@Column()
|
||||
orgRevisionId: string;
|
||||
@Column()
|
||||
strategyChildPlannedId: string;
|
||||
@Column()
|
||||
strategyChildPlannedNode: number;
|
||||
@Column()
|
||||
strategyChildActualId: string;
|
||||
@Column()
|
||||
strategyChildActualNode: number;
|
||||
}
|
||||
export class UpdateDevelopment2_1 {
|
||||
@Column()
|
||||
|
|
@ -400,6 +583,8 @@ export class UpdateDevelopment3 {
|
|||
@Column()
|
||||
developmentProjectTypes?: string[];
|
||||
@Column()
|
||||
projectModal?: number | null;
|
||||
@Column()
|
||||
isBackPlanned?: boolean | null;
|
||||
@Column()
|
||||
isHoldPlanned?: boolean | null;
|
||||
|
|
@ -410,6 +595,8 @@ export class UpdateDevelopment3 {
|
|||
@Column()
|
||||
projectNigthHoldPlanned?: number | null;
|
||||
@Column()
|
||||
developmentProjectTechniquePlanneds?: string[];
|
||||
@Column()
|
||||
isBackActual?: boolean | null;
|
||||
@Column()
|
||||
isHoldActual?: boolean | null;
|
||||
|
|
@ -420,13 +607,11 @@ export class UpdateDevelopment3 {
|
|||
@Column()
|
||||
projectNigthHoldActual?: number | null;
|
||||
@Column()
|
||||
developmentProjectTechniques?: string[];
|
||||
@Column()
|
||||
projectModal?: number | null;
|
||||
developmentProjectTechniqueActuals?: string[];
|
||||
}
|
||||
export class UpdateDevelopment4 {
|
||||
@Column()
|
||||
developmentEvaluations: CreateDevelopmentEvaluation[];
|
||||
// @Column()
|
||||
// developmentEvaluations: CreateDevelopmentEvaluation[];
|
||||
@Column()
|
||||
project: string | null;
|
||||
@Column()
|
||||
|
|
@ -479,8 +664,4 @@ export class UpdateDevelopment5 {
|
|||
addressAcademic: string | null;
|
||||
@Column()
|
||||
provinceActualId: string | null;
|
||||
@Column()
|
||||
dateStudyStart: Date | null;
|
||||
@Column()
|
||||
dateStudyEnd: Date | null;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,42 @@ import { EmployeePosLevel } from "./EmployeePosLevel";
|
|||
|
||||
@Entity("developmentHistory")
|
||||
export class DevelopmentHistory extends EntityBase {
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "id หน่วยงาน",
|
||||
default: null,
|
||||
})
|
||||
rootId: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "ชื่อหน่วยงาน",
|
||||
default: null,
|
||||
})
|
||||
root: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "ชื่อย่อหน่วยงาน",
|
||||
default: null,
|
||||
})
|
||||
orgRootShortName: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "id revision",
|
||||
default: null,
|
||||
})
|
||||
orgRevisionId: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "id profile",
|
||||
length: 40,
|
||||
default: null,
|
||||
})
|
||||
profileId: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "ประเภทราชการ",
|
||||
|
|
@ -127,6 +163,14 @@ export class DevelopmentHistory extends EntityBase {
|
|||
@JoinColumn({ name: "developmentId" })
|
||||
development: Development;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "จำนวนวันที่อบรม",
|
||||
default: null,
|
||||
length: 255,
|
||||
})
|
||||
trainingDays: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "เลขที่คำสั่ง/เลขที่หนังสืออนุมัติ",
|
||||
|
|
@ -142,6 +186,12 @@ export class DevelopmentHistory extends EntityBase {
|
|||
default: null,
|
||||
})
|
||||
dateOrder: Date;
|
||||
|
||||
@Column({
|
||||
comment: "บันทึกลงทะเบียนประวัติ",
|
||||
default: false,
|
||||
})
|
||||
isDone: boolean;
|
||||
}
|
||||
export class CreateDevelopmentHistory {
|
||||
@Column()
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ import { Entity, Column, ManyToOne, JoinColumn } from "typeorm";
|
|||
import { EntityBase } from "./base/Base";
|
||||
import { Development } from "./Development";
|
||||
|
||||
@Entity("developmentProjectTechnique")
|
||||
export class DevelopmentProjectTechnique extends EntityBase {
|
||||
@Entity("developmentProjectTechniqueActual")
|
||||
export class DevelopmentProjectTechniqueActual extends EntityBase {
|
||||
@Column({
|
||||
// TRAINING = การอบรม
|
||||
// MEETING = การประชุม
|
||||
|
|
@ -28,12 +28,12 @@ export class DevelopmentProjectTechnique extends EntityBase {
|
|||
|
||||
@ManyToOne(
|
||||
() => Development,
|
||||
(development: Development) => development.developmentProjectTechniques,
|
||||
(development: Development) => development.developmentProjectTechniqueActuals,
|
||||
)
|
||||
@JoinColumn({ name: "developmentId" })
|
||||
development: Development;
|
||||
}
|
||||
export class CreateDevelopmentProjectTechnique {
|
||||
export class CreateDevelopmentProjectTechniqueActual {
|
||||
@Column()
|
||||
name: number;
|
||||
}
|
||||
39
src/entities/DevelopmentProjectTechniquePlanned.ts
Normal file
39
src/entities/DevelopmentProjectTechniquePlanned.ts
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
import { Entity, Column, ManyToOne, JoinColumn } from "typeorm";
|
||||
import { EntityBase } from "./base/Base";
|
||||
import { Development } from "./Development";
|
||||
|
||||
@Entity("developmentProjectTechniquePlanned")
|
||||
export class DevelopmentProjectTechniquePlanned extends EntityBase {
|
||||
@Column({
|
||||
// TRAINING = การอบรม
|
||||
// MEETING = การประชุม
|
||||
// SEMINAR = การสัมมนา
|
||||
// STUDY_TOUR = การศึกษาดูงาน
|
||||
// ACADEMIC_SEMINAR = การสัมมนาทางวิชาการ
|
||||
// WORKSHOP = การสัมมนาเชิงปฏิบัติการ
|
||||
// SPECIAL_LECTURE = การบรรยายพิเศษ
|
||||
// STUDY_TRAINING = การฝึกศึกษา
|
||||
nullable: true,
|
||||
comment: "เทคนิควิธีการที่ใช้ในการพัฒนา",
|
||||
default: null,
|
||||
})
|
||||
name: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "โครงการ/หลักสูตรการฝึกอบรม",
|
||||
default: null,
|
||||
})
|
||||
developmentId: string;
|
||||
|
||||
@ManyToOne(
|
||||
() => Development,
|
||||
(development: Development) => development.developmentProjectTechniquePlanneds,
|
||||
)
|
||||
@JoinColumn({ name: "developmentId" })
|
||||
development: Development;
|
||||
}
|
||||
export class CreateDevelopmentProjectTechniquePlanned {
|
||||
@Column()
|
||||
name: number;
|
||||
}
|
||||
|
|
@ -5,6 +5,34 @@ import { PosType } from "./PosType";
|
|||
|
||||
@Entity("developmentScholarship")
|
||||
export class DevelopmentScholarship extends EntityBase {
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "id หน่วยงาน",
|
||||
default: null,
|
||||
})
|
||||
rootId: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "ชื่อหน่วยงาน",
|
||||
default: null,
|
||||
})
|
||||
root: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "ชื่อย่อหน่วยงาน",
|
||||
default: null,
|
||||
})
|
||||
orgRootShortName: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "id revision",
|
||||
default: null,
|
||||
})
|
||||
orgRevisionId: string;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "id profile",
|
||||
|
|
@ -213,7 +241,7 @@ export class DevelopmentScholarship extends EntityBase {
|
|||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "date",
|
||||
type: "datetime",
|
||||
comment: "ลงวันที่(หนังสือ)",
|
||||
default: null,
|
||||
})
|
||||
|
|
@ -221,7 +249,7 @@ export class DevelopmentScholarship extends EntityBase {
|
|||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "date",
|
||||
type: "datetime",
|
||||
comment: "หนังสืออนุมัติเมื่อวันที่",
|
||||
default: null,
|
||||
})
|
||||
|
|
@ -272,7 +300,7 @@ export class DevelopmentScholarship extends EntityBase {
|
|||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "date",
|
||||
type: "datetime",
|
||||
comment: "ลงวันที่(เลขที่สัญญา)",
|
||||
default: null,
|
||||
})
|
||||
|
|
@ -288,7 +316,7 @@ export class DevelopmentScholarship extends EntityBase {
|
|||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "date",
|
||||
type: "datetime",
|
||||
comment: "ลงวันที่(เลขที่หนังสือรายงานตัวกลับ)",
|
||||
default: null,
|
||||
})
|
||||
|
|
@ -296,7 +324,7 @@ export class DevelopmentScholarship extends EntityBase {
|
|||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "date",
|
||||
type: "datetime",
|
||||
comment: "รายงานตัวกลับวันที่",
|
||||
default: null,
|
||||
})
|
||||
|
|
@ -429,8 +457,63 @@ export class DevelopmentScholarship extends EntityBase {
|
|||
default: null,
|
||||
})
|
||||
totalPeriod: string;
|
||||
|
||||
@Column({
|
||||
// ในแผนฯ (INPLAN)
|
||||
// นอกแผนฯ (OUTPLAN)
|
||||
nullable: true,
|
||||
comment: "ในแผนฯ",
|
||||
length: 40,
|
||||
default: null,
|
||||
})
|
||||
planType: string;
|
||||
|
||||
@Column({
|
||||
comment: "ไม่ใช้งบประมาณ",
|
||||
default: false,
|
||||
})
|
||||
isNoUseBudget: boolean;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "datetime",
|
||||
comment: "กลับเข้ารับราชการตั้งแต่",
|
||||
default: null,
|
||||
})
|
||||
governmentDate: Date;
|
||||
|
||||
@Column({
|
||||
comment: "สำเร็จการศึกษาตามที่หลักสูตรกำหนด",
|
||||
default: false,
|
||||
})
|
||||
isGraduated: boolean;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
type: "datetime",
|
||||
comment: "ตั้งแต่",
|
||||
default: null,
|
||||
})
|
||||
graduatedDate: Date;
|
||||
|
||||
@Column({
|
||||
comment: "เสร็จสิ้นการศึกษาตามที่หลักสูตรกำหนดแล้วแต่ยังไม่สำเร็จการศึกษา",
|
||||
default: false,
|
||||
})
|
||||
isNoGraduated: boolean;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment: "เนื่องจาก",
|
||||
default: null,
|
||||
})
|
||||
graduatedReason: string;
|
||||
}
|
||||
export class CreateDevelopmentScholarship {
|
||||
rootId: string | null;
|
||||
root: string | null;
|
||||
orgRootShortName: string | null;
|
||||
orgRevisionId: string | null;
|
||||
profileId: string | null;
|
||||
rank?: string | null;
|
||||
prefix: string | null;
|
||||
|
|
@ -481,9 +564,15 @@ export class CreateDevelopmentScholarship {
|
|||
studyAbroadStartDate: Date | null;
|
||||
studyAbroadEndDate: Date | null;
|
||||
totalPeriod: string | null;
|
||||
planType: string | null;
|
||||
isNoUseBudget: boolean | null;
|
||||
}
|
||||
|
||||
export class UpdateDevelopmentScholarship {
|
||||
rootId: string | null;
|
||||
root: string | null;
|
||||
orgRootShortName: string | null;
|
||||
orgRevisionId: string | null;
|
||||
profileId: string | null;
|
||||
rank?: string | null;
|
||||
prefix: string | null;
|
||||
|
|
@ -534,4 +623,14 @@ export class UpdateDevelopmentScholarship {
|
|||
studyAbroadStartDate: Date | null;
|
||||
studyAbroadEndDate: Date | null;
|
||||
totalPeriod: string | null;
|
||||
planType: string | null;
|
||||
isNoUseBudget: boolean | null;
|
||||
}
|
||||
|
||||
export class UpdateDevelopmentScholarshipUser {
|
||||
governmentDate: Date | null;
|
||||
isGraduated: boolean | null;
|
||||
graduatedDate: Date | null;
|
||||
isNoGraduated: boolean | null;
|
||||
graduatedReason: string | null;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { StrategyChild2 } from "./StrategyChild2";
|
|||
import { StrategyChild3 } from "./StrategyChild3";
|
||||
import { StrategyChild4 } from "./StrategyChild4";
|
||||
import { StrategyChild5 } from "./StrategyChild5";
|
||||
|
||||
import { Development } from "./Development";
|
||||
|
||||
@Entity("strategyChild1")
|
||||
export class StrategyChild1 extends EntityBase {
|
||||
|
|
@ -28,6 +28,10 @@ export class StrategyChild1 extends EntityBase {
|
|||
@OneToMany(() => StrategyChild5, (strategyChild5) => strategyChild5.strategyChild1)
|
||||
strategyChild5s: StrategyChild5[];
|
||||
|
||||
@OneToMany(() => Development, (development) => development.strategyChild1Planned)
|
||||
developmentPlanneds: Development[];
|
||||
@OneToMany(() => Development, (development) => development.strategyChild1Actual)
|
||||
developmentActuals: Development[];
|
||||
}
|
||||
|
||||
export class CreateStrategyChild1 {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { StrategyChild1 } from "./StrategyChild1";
|
|||
import { StrategyChild3 } from "./StrategyChild3";
|
||||
import { StrategyChild4 } from "./StrategyChild4";
|
||||
import { StrategyChild5 } from "./StrategyChild5";
|
||||
|
||||
import { Development } from "./Development";
|
||||
|
||||
@Entity("strategyChild2")
|
||||
export class StrategyChild2 extends EntityBase {
|
||||
|
|
@ -21,7 +21,7 @@ export class StrategyChild2 extends EntityBase {
|
|||
comment: "คีย์นอก(FK)ของตาราง strategyChild1",
|
||||
})
|
||||
strategyChild1Id: string;
|
||||
|
||||
|
||||
@ManyToOne(() => StrategyChild1, (strategyChild1) => strategyChild1.strategyChild2s)
|
||||
@JoinColumn({ name: "strategyChild1Id" })
|
||||
strategyChild1: StrategyChild1;
|
||||
|
|
@ -35,9 +35,11 @@ export class StrategyChild2 extends EntityBase {
|
|||
@OneToMany(() => StrategyChild5, (strategyChild5) => strategyChild5.strategyChild2)
|
||||
strategyChild5s: StrategyChild5[];
|
||||
|
||||
|
||||
|
||||
}
|
||||
@OneToMany(() => Development, (development) => development.strategyChild2Planned)
|
||||
developmentPlanneds: Development[];
|
||||
@OneToMany(() => Development, (development) => development.strategyChild2Actual)
|
||||
developmentActuals: Development[];
|
||||
}
|
||||
|
||||
export class CreateStrategyChild2 {
|
||||
@Column()
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { StrategyChild1 } from "./StrategyChild1";
|
|||
import { StrategyChild2 } from "./StrategyChild2";
|
||||
import { StrategyChild4 } from "./StrategyChild4";
|
||||
import { StrategyChild5 } from "./StrategyChild5";
|
||||
|
||||
import { Development } from "./Development";
|
||||
|
||||
@Entity("strategyChild3")
|
||||
export class StrategyChild3 extends EntityBase {
|
||||
|
|
@ -42,12 +42,16 @@ export class StrategyChild3 extends EntityBase {
|
|||
@OneToMany(() => StrategyChild5, (strategyChild5) => strategyChild5.strategyChild3)
|
||||
strategyChild5s: StrategyChild5[];
|
||||
|
||||
}
|
||||
@OneToMany(() => Development, (development) => development.strategyChild3Planned)
|
||||
developmentPlanneds: Development[];
|
||||
@OneToMany(() => Development, (development) => development.strategyChild3Actual)
|
||||
developmentActuals: Development[];
|
||||
}
|
||||
|
||||
export class CreateStrategyChild3 {
|
||||
@Column()
|
||||
strategyChild3Name: string;
|
||||
|
||||
|
||||
@Column("uuid")
|
||||
strategyChild2Id: string;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { StrategyChild1 } from "./StrategyChild1";
|
|||
import { StrategyChild2 } from "./StrategyChild2";
|
||||
import { StrategyChild3 } from "./StrategyChild3";
|
||||
import { StrategyChild5 } from "./StrategyChild5";
|
||||
|
||||
import { Development } from "./Development";
|
||||
|
||||
@Entity("strategyChild4")
|
||||
export class StrategyChild4 extends EntityBase {
|
||||
|
|
@ -48,8 +48,12 @@ export class StrategyChild4 extends EntityBase {
|
|||
|
||||
@OneToMany(() => StrategyChild5, (strategyChild5) => strategyChild5.strategyChild4)
|
||||
strategyChild5s: StrategyChild5[];
|
||||
}
|
||||
|
||||
@OneToMany(() => Development, (development) => development.strategyChild4Planned)
|
||||
developmentPlanneds: Development[];
|
||||
@OneToMany(() => Development, (development) => development.strategyChild4Actual)
|
||||
developmentActuals: Development[];
|
||||
}
|
||||
|
||||
export class CreateStrategyChild4 {
|
||||
@Column()
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { StrategyChild1 } from "./StrategyChild1";
|
|||
import { StrategyChild2 } from "./StrategyChild2";
|
||||
import { StrategyChild3 } from "./StrategyChild3";
|
||||
import { StrategyChild4 } from "./StrategyChild4";
|
||||
|
||||
import { Development } from "./Development";
|
||||
|
||||
@Entity("strategyChild5")
|
||||
export class StrategyChild5 extends EntityBase {
|
||||
|
|
@ -56,8 +56,11 @@ export class StrategyChild5 extends EntityBase {
|
|||
@JoinColumn({ name: "strategyChild4Id" })
|
||||
strategyChild4: StrategyChild4;
|
||||
|
||||
}
|
||||
|
||||
@OneToMany(() => Development, (development) => development.strategyChild5Planned)
|
||||
developmentPlanneds: Development[];
|
||||
@OneToMany(() => Development, (development) => development.strategyChild5Actual)
|
||||
developmentActuals: Development[];
|
||||
}
|
||||
|
||||
export class CreateStrategyChild5 {
|
||||
@Column()
|
||||
|
|
|
|||
20
src/migration/1712815316667-add_table_starty1.ts
Normal file
20
src/migration/1712815316667-add_table_starty1.ts
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class AddTableStarty11712815316667 implements MigrationInterface {
|
||||
name = 'AddTableStarty11712815316667'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`CREATE TABLE \`developmentProjectTechniquePlanned\` (\`id\` varchar(36) NOT NULL, \`createdAt\` datetime(6) NOT NULL COMMENT 'สร้างข้อมูลเมื่อ' DEFAULT CURRENT_TIMESTAMP(6), \`createdUserId\` varchar(40) NOT NULL COMMENT 'User Id ที่สร้างข้อมูล' DEFAULT '00000000-0000-0000-0000-000000000000', \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), \`lastUpdateUserId\` varchar(40) NOT NULL COMMENT 'User Id ที่แก้ไขข้อมูล' DEFAULT '00000000-0000-0000-0000-000000000000', \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'string', \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'string', \`name\` varchar(255) NULL COMMENT 'เทคนิควิธีการที่ใช้ในการพัฒนา', \`developmentId\` varchar(255) NULL COMMENT 'โครงการ/หลักสูตรการฝึกอบรม', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
|
||||
await queryRunner.query(`CREATE TABLE \`developmentProjectTechniqueActual\` (\`id\` varchar(36) NOT NULL, \`createdAt\` datetime(6) NOT NULL COMMENT 'สร้างข้อมูลเมื่อ' DEFAULT CURRENT_TIMESTAMP(6), \`createdUserId\` varchar(40) NOT NULL COMMENT 'User Id ที่สร้างข้อมูล' DEFAULT '00000000-0000-0000-0000-000000000000', \`lastUpdatedAt\` datetime(6) NOT NULL COMMENT 'แก้ไขข้อมูลล่าสุดเมื่อ' DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), \`lastUpdateUserId\` varchar(40) NOT NULL COMMENT 'User Id ที่แก้ไขข้อมูล' DEFAULT '00000000-0000-0000-0000-000000000000', \`createdFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่สร้างข้อมูล' DEFAULT 'string', \`lastUpdateFullName\` varchar(200) NOT NULL COMMENT 'ชื่อ User ที่แก้ไขข้อมูลล่าสุด' DEFAULT 'string', \`name\` varchar(255) NULL COMMENT 'เทคนิควิธีการที่ใช้ในการพัฒนา', \`developmentId\` varchar(255) NULL COMMENT 'โครงการ/หลักสูตรการฝึกอบรม', PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentProjectTechniquePlanned\` ADD CONSTRAINT \`FK_7166cc94112552ea072a2cc6134\` FOREIGN KEY (\`developmentId\`) REFERENCES \`development\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentProjectTechniqueActual\` ADD CONSTRAINT \`FK_aaaee1c5fb44bef093ed78a0c32\` FOREIGN KEY (\`developmentId\`) REFERENCES \`development\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`developmentProjectTechniqueActual\` DROP FOREIGN KEY \`FK_aaaee1c5fb44bef093ed78a0c32\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentProjectTechniquePlanned\` DROP FOREIGN KEY \`FK_7166cc94112552ea072a2cc6134\``);
|
||||
await queryRunner.query(`DROP TABLE \`developmentProjectTechniqueActual\``);
|
||||
await queryRunner.query(`DROP TABLE \`developmentProjectTechniquePlanned\``);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class UpdateTableDevelopmentScholarshipAddPlanType1712824449740 implements MigrationInterface {
|
||||
name = 'UpdateTableDevelopmentScholarshipAddPlanType1712824449740'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`planType\` varchar(40) NULL COMMENT 'ในแผนฯ'`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`isNoUseBudget\` tinyint NOT NULL COMMENT 'ไม่ใช้งบประมาณ' DEFAULT 0`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`governmentDate\` datetime NULL COMMENT 'กลับเข้ารับราชการตั้งแต่'`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`isGraduated\` tinyint NOT NULL COMMENT 'สำเร็จการศึกษาตามที่หลักสูตรกำหนด' DEFAULT 0`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`graduatedDate\` datetime NULL COMMENT 'ตั้งแต่'`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`isNoGraduated\` tinyint NOT NULL COMMENT 'เสร็จสิ้นการศึกษาตามที่หลักสูตรกำหนดแล้วแต่ยังไม่สำเร็จการศึกษา' DEFAULT 0`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`graduatedReason\` varchar(255) NULL COMMENT 'เนื่องจาก'`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`graduatedReason\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`isNoGraduated\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`graduatedDate\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`isGraduated\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`governmentDate\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`isNoUseBudget\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`planType\``);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class UpdateTableDevelopmentAddRoot1712904313381 implements MigrationInterface {
|
||||
name = 'UpdateTableDevelopmentAddRoot1712904313381'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`development\` ADD \`rootId\` varchar(255) NULL COMMENT 'id หน่วยงาน'`);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` ADD \`root\` varchar(255) NULL COMMENT 'ชื่อหน่วยงาน'`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`development\` DROP COLUMN \`root\``);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` DROP COLUMN \`rootId\``);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class UpdateTableDevelopmentAddRootshortname1712904744359 implements MigrationInterface {
|
||||
name = 'UpdateTableDevelopmentAddRootshortname1712904744359'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`development\` ADD \`orgRootShortName\` varchar(255) NULL COMMENT 'ชื่อย่ิหน่วยงาน'`);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` ADD \`orgRevisionId\` varchar(255) NULL COMMENT 'id revision'`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`development\` DROP COLUMN \`orgRevisionId\``);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` DROP COLUMN \`orgRootShortName\``);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class UpdateTableDevelopmentAddStrategyChild1712927871127 implements MigrationInterface {
|
||||
name = 'UpdateTableDevelopmentAddStrategyChild1712927871127'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`development\` ADD \`strategyChild1PlannedId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง strategyChild1 เป้าหมายตามแผน'`);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` ADD \`strategyChild2PlannedId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง strategyChild2 เป้าหมายตามแผน'`);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` ADD \`strategyChild3PlannedId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง strategyChild3 เป้าหมายตามแผน'`);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` ADD \`strategyChild4PlannedId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง strategyChild4 เป้าหมายตามแผน'`);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` ADD \`strategyChild5PlannedId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง strategyChild5 เป้าหมายตามแผน'`);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` ADD \`strategyChild1ActualId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง strategyChild1 เป้าหมายตามจริง'`);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` ADD \`strategyChild2ActualId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง strategyChild2 เป้าหมายตามจริง'`);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` ADD \`strategyChild3ActualId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง strategyChild3 เป้าหมายตามจริง'`);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` ADD \`strategyChild4ActualId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง strategyChild4 เป้าหมายตามจริง'`);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` ADD \`strategyChild5ActualId\` varchar(40) NULL COMMENT 'คีย์นอก(FK)ของตาราง strategyChild5 เป้าหมายตามจริง'`);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` ADD CONSTRAINT \`FK_10ff41d23b977cf8dce92e9b167\` FOREIGN KEY (\`strategyChild1PlannedId\`) REFERENCES \`strategyChild1\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` ADD CONSTRAINT \`FK_593bc4c0cda43a2bee2928bda49\` FOREIGN KEY (\`strategyChild2PlannedId\`) REFERENCES \`strategyChild2\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` ADD CONSTRAINT \`FK_231ce173640401d258c977aae79\` FOREIGN KEY (\`strategyChild3PlannedId\`) REFERENCES \`strategyChild3\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` ADD CONSTRAINT \`FK_44fb0c37a11d7ad9b8ca98aaa08\` FOREIGN KEY (\`strategyChild4PlannedId\`) REFERENCES \`strategyChild4\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` ADD CONSTRAINT \`FK_4cd86d57223a295e6de3c42cb61\` FOREIGN KEY (\`strategyChild5PlannedId\`) REFERENCES \`strategyChild5\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` ADD CONSTRAINT \`FK_a54d96cd5fda35d92815f7f65eb\` FOREIGN KEY (\`strategyChild1ActualId\`) REFERENCES \`strategyChild1\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` ADD CONSTRAINT \`FK_8a8b6b92dfd3f78d012300524df\` FOREIGN KEY (\`strategyChild2ActualId\`) REFERENCES \`strategyChild2\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` ADD CONSTRAINT \`FK_9ee4f1c6a2f2c86760da928f01a\` FOREIGN KEY (\`strategyChild3ActualId\`) REFERENCES \`strategyChild3\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` ADD CONSTRAINT \`FK_adf3d238b02f5806c9ed1e9b90b\` FOREIGN KEY (\`strategyChild4ActualId\`) REFERENCES \`strategyChild4\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` ADD CONSTRAINT \`FK_f078e198298457e517c8d90e337\` FOREIGN KEY (\`strategyChild5ActualId\`) REFERENCES \`strategyChild5\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`development\` DROP FOREIGN KEY \`FK_f078e198298457e517c8d90e337\``);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` DROP FOREIGN KEY \`FK_adf3d238b02f5806c9ed1e9b90b\``);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` DROP FOREIGN KEY \`FK_9ee4f1c6a2f2c86760da928f01a\``);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` DROP FOREIGN KEY \`FK_8a8b6b92dfd3f78d012300524df\``);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` DROP FOREIGN KEY \`FK_a54d96cd5fda35d92815f7f65eb\``);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` DROP FOREIGN KEY \`FK_4cd86d57223a295e6de3c42cb61\``);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` DROP FOREIGN KEY \`FK_44fb0c37a11d7ad9b8ca98aaa08\``);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` DROP FOREIGN KEY \`FK_231ce173640401d258c977aae79\``);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` DROP FOREIGN KEY \`FK_593bc4c0cda43a2bee2928bda49\``);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` DROP FOREIGN KEY \`FK_10ff41d23b977cf8dce92e9b167\``);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` DROP COLUMN \`strategyChild5ActualId\``);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` DROP COLUMN \`strategyChild4ActualId\``);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` DROP COLUMN \`strategyChild3ActualId\``);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` DROP COLUMN \`strategyChild2ActualId\``);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` DROP COLUMN \`strategyChild1ActualId\``);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` DROP COLUMN \`strategyChild5PlannedId\``);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` DROP COLUMN \`strategyChild4PlannedId\``);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` DROP COLUMN \`strategyChild3PlannedId\``);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` DROP COLUMN \`strategyChild2PlannedId\``);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` DROP COLUMN \`strategyChild1PlannedId\``);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class UpdateTableDevelopmentAddStrategyChild11712930900458 implements MigrationInterface {
|
||||
name = 'UpdateTableDevelopmentAddStrategyChild11712930900458'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`developmentHistory\` ADD \`rootId\` varchar(255) NULL COMMENT 'id หน่วยงาน'`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentHistory\` ADD \`root\` varchar(255) NULL COMMENT 'ชื่อหน่วยงาน'`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentHistory\` ADD \`orgRootShortName\` varchar(255) NULL COMMENT 'ชื่อย่ิหน่วยงาน'`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentHistory\` ADD \`orgRevisionId\` varchar(255) NULL COMMENT 'id revision'`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentHistory\` ADD \`isDone\` tinyint NOT NULL COMMENT 'บันทึกลงทะเบียนประวัติ' DEFAULT 0`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`developmentHistory\` DROP COLUMN \`isDone\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentHistory\` DROP COLUMN \`orgRevisionId\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentHistory\` DROP COLUMN \`orgRootShortName\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentHistory\` DROP COLUMN \`root\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentHistory\` DROP COLUMN \`rootId\``);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class UpdateTableDevelopmentscholarAddRootid1713012352435 implements MigrationInterface {
|
||||
name = 'UpdateTableDevelopmentscholarAddRootid1713012352435'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`rootId\` varchar(255) NULL COMMENT 'id หน่วยงาน'`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`root\` varchar(255) NULL COMMENT 'ชื่อหน่วยงาน'`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`orgRootShortName\` varchar(255) NULL COMMENT 'ชื่อย่อหน่วยงาน'`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`orgRevisionId\` varchar(255) NULL COMMENT 'id revision'`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`orgRevisionId\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`orgRootShortName\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`root\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`rootId\``);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class UpdateTableDevelopmentscholarDateToDatetime1713014657464 implements MigrationInterface {
|
||||
name = 'UpdateTableDevelopmentscholarDateToDatetime1713014657464'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`bookNoDate\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`bookNoDate\` datetime NULL COMMENT 'ลงวันที่(หนังสือ)'`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`bookApproveDate\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`bookApproveDate\` datetime NULL COMMENT 'หนังสืออนุมัติเมื่อวันที่'`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`contractDate\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`contractDate\` datetime NULL COMMENT 'ลงวันที่(เลขที่สัญญา)'`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`reportBackNoDate\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`reportBackNoDate\` datetime NULL COMMENT 'ลงวันที่(เลขที่หนังสือรายงานตัวกลับ)'`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`reportBackDate\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`reportBackDate\` datetime NULL COMMENT 'รายงานตัวกลับวันที่'`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`reportBackDate\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`reportBackDate\` date NULL COMMENT 'รายงานตัวกลับวันที่'`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`reportBackNoDate\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`reportBackNoDate\` date NULL COMMENT 'ลงวันที่(เลขที่หนังสือรายงานตัวกลับ)'`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`contractDate\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`contractDate\` date NULL COMMENT 'ลงวันที่(เลขที่สัญญา)'`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`bookApproveDate\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`bookApproveDate\` date NULL COMMENT 'หนังสืออนุมัติเมื่อวันที่'`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`bookNoDate\``);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`bookNoDate\` date NULL COMMENT 'ลงวันที่(หนังสือ)'`);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class UpdateTableDevelopmentHistoryAddProfileId1713163199894 implements MigrationInterface {
|
||||
name = 'UpdateTableDevelopmentHistoryAddProfileId1713163199894'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`developmentHistory\` ADD \`profileId\` varchar(40) NULL COMMENT 'id profile'`);
|
||||
await queryRunner.query(`ALTER TABLE \`development\` CHANGE \`orgRootShortName\` \`orgRootShortName\` varchar(255) NULL COMMENT 'ชื่อย่อหน่วยงาน'`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`development\` CHANGE \`orgRootShortName\` \`orgRootShortName\` varchar(255) NULL COMMENT 'ชื่อย่ิหน่วยงาน'`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentHistory\` DROP COLUMN \`profileId\``);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class UpdateTableDevelopmentHistoryAddTrainingDays1713179439957 implements MigrationInterface {
|
||||
name = 'UpdateTableDevelopmentHistoryAddTrainingDays1713179439957'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`developmentHistory\` ADD \`trainingDays\` varchar(255) NULL COMMENT 'จำนวนวันที่อบรม'`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentHistory\` CHANGE \`orgRootShortName\` \`orgRootShortName\` varchar(255) NULL COMMENT 'ชื่อย่อหน่วยงาน'`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`developmentHistory\` CHANGE \`orgRootShortName\` \`orgRootShortName\` varchar(255) NULL COMMENT 'ชื่อย่ิหน่วยงาน'`);
|
||||
await queryRunner.query(`ALTER TABLE \`developmentHistory\` DROP COLUMN \`trainingDays\``);
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue