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 =
|
||||
!!body.citizenId &&
|
||||
(await this.profileRepo.findOne({
|
||||
where: { id: Not(id), citizenId: body.citizenId },
|
||||
where: {
|
||||
id: Not(id),
|
||||
citizenId: body.citizenId,
|
||||
employeeClass: String(body.employeeClass)
|
||||
},
|
||||
}));
|
||||
|
||||
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