entity ย้ายสับเปลี่ยนตำแหน่ง
This commit is contained in:
parent
8e73b3317d
commit
c1be9bc235
4 changed files with 292 additions and 1 deletions
50
src/controllers/ChangePositionController.ts
Normal file
50
src/controllers/ChangePositionController.ts
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
import {
|
||||||
|
Controller,
|
||||||
|
Get,
|
||||||
|
Post,
|
||||||
|
Put,
|
||||||
|
Delete,
|
||||||
|
Patch,
|
||||||
|
Route,
|
||||||
|
Security,
|
||||||
|
Tags,
|
||||||
|
Body,
|
||||||
|
Path,
|
||||||
|
Request,
|
||||||
|
Example,
|
||||||
|
SuccessResponse,
|
||||||
|
Response,
|
||||||
|
Query,
|
||||||
|
} from "tsoa";
|
||||||
|
import { AppDataSource } from "../database/data-source";
|
||||||
|
import HttpSuccess from "../interfaces/http-success";
|
||||||
|
import HttpStatusCode from "../interfaces/http-status";
|
||||||
|
import { Equal, ILike, In, IsNull, Like, Not, Brackets, MoreThan } from "typeorm";
|
||||||
|
import { ChangePosition } from "../entities/ChangePosition";
|
||||||
|
|
||||||
|
@Route("api/v1/placement/change-position")
|
||||||
|
@Tags("Switch")
|
||||||
|
@Security("bearerAuth")
|
||||||
|
@Response(
|
||||||
|
HttpStatusCode.INTERNAL_SERVER_ERROR,
|
||||||
|
"เกิดข้อผิดพลาด ไม่สามารถแสดงรายการได้ กรุณาลองใหม่ในภายหลัง",
|
||||||
|
)
|
||||||
|
@SuccessResponse(HttpStatusCode.OK, "สำเร็จ")
|
||||||
|
export class ChangePositionController extends Controller {
|
||||||
|
private ChangePositionRepository = AppDataSource.getRepository(ChangePosition);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* API รายการออกคำสั่งย้ายสับเปลี่ยนตำแหน่ง
|
||||||
|
*
|
||||||
|
* @summary API รายการออกคำสั่งย้ายสับเปลี่ยนตำแหน่ง
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Get("")
|
||||||
|
async GetChangePositionLists() {
|
||||||
|
|
||||||
|
const data = await this.ChangePositionRepository.find();
|
||||||
|
return new HttpSuccess(data);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -556,7 +556,11 @@ export class ProfileEmployeeController extends Controller {
|
||||||
const exists =
|
const exists =
|
||||||
!!body.citizenId &&
|
!!body.citizenId &&
|
||||||
(await this.profileRepo.findOne({
|
(await this.profileRepo.findOne({
|
||||||
where: { id: Not(id), citizenId: body.citizenId },
|
where: {
|
||||||
|
id: Not(id),
|
||||||
|
citizenId: body.citizenId,
|
||||||
|
employeeClass: String(body.employeeClass)
|
||||||
|
},
|
||||||
}));
|
}));
|
||||||
|
|
||||||
if (exists) {
|
if (exists) {
|
||||||
|
|
|
||||||
37
src/entities/ChangePosition.ts
Normal file
37
src/entities/ChangePosition.ts
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
import { Entity, Column, ManyToOne, JoinColumn, OneToMany } from "typeorm";
|
||||||
|
import { EntityBase } from "./base/Base";
|
||||||
|
import { ProfileChangePosition } from "./ProfileChangePosition";
|
||||||
|
|
||||||
|
@Entity("changePosition")
|
||||||
|
export class ChangePosition extends EntityBase {
|
||||||
|
@Column({
|
||||||
|
nullable: true,
|
||||||
|
comment: "ชื่อรอบการย้ายสับเปลี่ยนตำแหน่ง",
|
||||||
|
type: "text",
|
||||||
|
default: null,
|
||||||
|
})
|
||||||
|
name: string;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: true,
|
||||||
|
type: "datetime",
|
||||||
|
comment: "วันที่ดำเนินการ",
|
||||||
|
default: null,
|
||||||
|
})
|
||||||
|
date: Date;
|
||||||
|
|
||||||
|
@OneToMany(() => ProfileChangePosition, (x) => x.profile)
|
||||||
|
profileChangePosition: ProfileChangePosition[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export class CreateChangePosition {
|
||||||
|
name: string;
|
||||||
|
date?: Date;
|
||||||
|
status?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export type UpdateChangePosition = {
|
||||||
|
name: string;
|
||||||
|
date?: Date;
|
||||||
|
status?: string;
|
||||||
|
};
|
||||||
200
src/entities/ProfileChangePosition.ts
Normal file
200
src/entities/ProfileChangePosition.ts
Normal file
|
|
@ -0,0 +1,200 @@
|
||||||
|
import { Entity, Column, ManyToOne, JoinColumn } from "typeorm";
|
||||||
|
import { EntityBase } from "./base/Base";
|
||||||
|
import { ChangePosition } from "./ChangePosition";
|
||||||
|
|
||||||
|
@Entity("profileChangePosition")
|
||||||
|
export class ProfileChangePosition extends EntityBase {
|
||||||
|
@Column({ nullable: true, comment: "เหตุผลที่รับโอนราชการ", type: "text", default: null })
|
||||||
|
reason: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "วุฒิ/สาขาเดิม", default: null })
|
||||||
|
educationOld: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "สังกัดเดิม", default: null })
|
||||||
|
organizationPositionOld: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "สังกัดเดิม", default: null })
|
||||||
|
organizationOld: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ตำแหน่งเดิม", default: null })
|
||||||
|
positionOld: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ข้อมูลหน่วยงานเดิม ตำแหน่งประเภท", default: null })
|
||||||
|
positionTypeOld: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ข้อมูลหน่วยงานเดิม ระดับ", default: null })
|
||||||
|
positionLevelOld: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ข้อมูลหน่วยงานเดิม เลขที่", default: null })
|
||||||
|
positionNumberOld: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ข้อมูลหน่วยงานเดิม เงินเดือน", type: "double", default: null })
|
||||||
|
amountOld: number;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "profile Id", default: null })
|
||||||
|
profileId: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "คำนำหน้า", default: null })
|
||||||
|
prefix: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อ", default: null })
|
||||||
|
firstName: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "นามสกุล", default: null })
|
||||||
|
lastName: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "เลขบัตรประชาชน", default: null })
|
||||||
|
citizenId: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อหน่วยงาน root", default: null })
|
||||||
|
root: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "id หน่วยงาน root", default: null })
|
||||||
|
rootId: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อย่อหน่วยงาน root", default: null })
|
||||||
|
rootShortName: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อหน่วยงาน child1", default: null })
|
||||||
|
child1: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "id หน่วยงาน child1", default: null })
|
||||||
|
child1Id: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อย่อหน่วยงาน child1", default: null })
|
||||||
|
child1ShortName: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อหน่วยงาน child2", default: null })
|
||||||
|
child2: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "id หน่วยงาน child2", default: null })
|
||||||
|
child2Id: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อย่อหน่วยงาน child2", default: null })
|
||||||
|
child2ShortName: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อหน่วยงาน child3", default: null })
|
||||||
|
child3: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "id หน่วยงาน child3", default: null })
|
||||||
|
child3Id: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อย่อหน่วยงาน child3", default: null })
|
||||||
|
child3ShortName: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อหน่วยงาน child4", default: null })
|
||||||
|
child4: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "id หน่วยงาน child4", default: null })
|
||||||
|
child4Id: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อย่อหน่วยงาน child4", default: null })
|
||||||
|
child4ShortName: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ระดับโครงสร้าง", type: "int", default: null })
|
||||||
|
node: number;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "id โครงสร้าง", type: "uuid", default: null })
|
||||||
|
nodeId: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "id อัตรากำลัง", default: null })
|
||||||
|
posmasterId: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "id revision", default: null })
|
||||||
|
orgRevisionId: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "id ตำแหน่ง", default: null })
|
||||||
|
positionId: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "สายงาน", default: null })
|
||||||
|
positionField: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "เลขที่ตำแหน่ง", type: "int", default: null })
|
||||||
|
posMasterNo: number;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อตำแหน่งในสายงาน", default: null })
|
||||||
|
position: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "id ประเภทตำแหน่ง", default: null })
|
||||||
|
posTypeId: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อประเภทตำแหน่ง", default: null })
|
||||||
|
posTypeName: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "id ระดับตำแหน่ง", default: null })
|
||||||
|
posLevelId: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อระดับตำแหน่ง", default: null })
|
||||||
|
posLevelName: string;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อหน่วยงาน root old", default: null })
|
||||||
|
rootOld: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "id หน่วยงาน root old", default: null })
|
||||||
|
rootOldId: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อย่อหน่วยงาน root old", default: null })
|
||||||
|
rootShortNameOld: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อหน่วยงาน child1 old", default: null })
|
||||||
|
child1Old: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "id หน่วยงาน child1 old", default: null })
|
||||||
|
child1OldId: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อย่อหน่วยงาน child1 old", default: null })
|
||||||
|
child1ShortNameOld: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อหน่วยงาน child2 old", default: null })
|
||||||
|
child2Old: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "id หน่วยงาน child2 old", default: null })
|
||||||
|
child2OldId: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อย่อหน่วยงาน child2 old", default: null })
|
||||||
|
child2ShortNameOld: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อหน่วยงาน child3 old", default: null })
|
||||||
|
child3Old: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "id หน่วยงาน child3 old", default: null })
|
||||||
|
child3OldId: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อย่อหน่วยงาน child3 old", default: null })
|
||||||
|
child3ShortNameOld: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อหน่วยงาน child4 old", default: null })
|
||||||
|
child4Old: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "id หน่วยงาน child4 old", default: null })
|
||||||
|
child4OldId: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อย่อหน่วยงาน child4 old", default: null })
|
||||||
|
child4ShortNameOld: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "เลขที่ตำแหน่ง old", type: "int", default: null })
|
||||||
|
posMasterNoOld: number;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "id ประเภทตำแหน่ง old", default: null })
|
||||||
|
posTypeOldId: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อประเภทตำแหน่ง old", default: null })
|
||||||
|
posTypeNameOld: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "id ระดับตำแหน่ง old", default: null })
|
||||||
|
posLevelOldId: string;
|
||||||
|
|
||||||
|
@Column({ nullable: true, comment: "ชื่อระดับตำแหน่ง old", default: null })
|
||||||
|
posLevelNameOld: string;
|
||||||
|
|
||||||
|
@Column({nullable: true, length: 40, comment: "คีย์นอก(FK)ของตาราง ChangePosition", default: null })
|
||||||
|
changePositionId: string;
|
||||||
|
|
||||||
|
@ManyToOne(() => ChangePosition, (v) => v.profileChangePosition)
|
||||||
|
@JoinColumn({ name: "changePositionId" })
|
||||||
|
profile: ChangePosition;
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue