Merge branch 'develop' into adiDev
This commit is contained in:
commit
6dc30ecf14
6 changed files with 65 additions and 16 deletions
|
|
@ -167,7 +167,7 @@ export class EmployeePosLevelController extends Controller {
|
|||
async GetEmpLevelById(@Path() id: string) {
|
||||
const getEmpPosLevel = await this.employeePosLevelRepository.findOne({
|
||||
relations: ["posType"],
|
||||
select: ["id", "posLevelName", "posLevelRank"],
|
||||
select: ["id", "posLevelName", "posLevelRank", "posLevelAuthority"],
|
||||
where: { id: id },
|
||||
});
|
||||
if (!getEmpPosLevel) {
|
||||
|
|
@ -176,8 +176,9 @@ export class EmployeePosLevelController extends Controller {
|
|||
const mapEmpPosLevel = {
|
||||
id: getEmpPosLevel.id,
|
||||
posLevelName: getEmpPosLevel.posLevelName,
|
||||
posTypeId: getEmpPosLevel.posType == null ? null : getEmpPosLevel.posType.id,
|
||||
posTypeName: getEmpPosLevel.posType == null ? null : getEmpPosLevel.posType.posTypeName, //กลุ่มงาน
|
||||
commander: null, //ผู้มีอำนาจสั่งบรรจุ
|
||||
posLevelAuthority: getEmpPosLevel.posLevelAuthority, //ผู้มีอำนาจสั่งบรรจุ
|
||||
};
|
||||
return new HttpSuccess(mapEmpPosLevel);
|
||||
}
|
||||
|
|
@ -192,13 +193,14 @@ export class EmployeePosLevelController extends Controller {
|
|||
async GetEmpPosLevel() {
|
||||
const empPosLevel = await this.employeePosLevelRepository.find({
|
||||
relations: ["posType"],
|
||||
select: ["id", "posLevelName", "posLevelRank"],
|
||||
select: ["id", "posLevelName", "posLevelRank", "posLevelAuthority"],
|
||||
});
|
||||
const mapEmpPosLevel = empPosLevel.map((item) => ({
|
||||
id: item.id,
|
||||
posLevelName: item.posLevelName,
|
||||
posTypeId: item.posType == null ? null : item.posType.id,
|
||||
posTypeName: item.posType == null ? null : item.posType.posTypeName, //กลุ่มงาน
|
||||
commander: null, //ผู้มีอำนาจสั่งบรรจุ
|
||||
posLevelAuthority: item.posLevelAuthority, //ผู้มีอำนาจสั่งบรรจุ
|
||||
}));
|
||||
return new HttpSuccess(mapEmpPosLevel);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ export class EmployeePosTypeController extends Controller {
|
|||
async GetEmpTypeById(@Path() id: string) {
|
||||
const getEmpPosType = await this.employeePosTypeRepository.findOne({
|
||||
relations: ["posLevels"],
|
||||
select: ["id", "posTypeName", "posTypeRank"],
|
||||
select: ["id", "posTypeName", "posTypeRank", "posTypeShortName"],
|
||||
where: { id: id },
|
||||
});
|
||||
if (!getEmpPosType) {
|
||||
|
|
@ -165,6 +165,7 @@ export class EmployeePosTypeController extends Controller {
|
|||
id: getEmpPosType.id,
|
||||
posTypeName: getEmpPosType.posTypeName,
|
||||
posTypeRank: getEmpPosType.posTypeRank,
|
||||
posTypeShortName: getEmpPosType.posTypeShortName,
|
||||
posLevels: getEmpPosType.posLevels.map((empPosLevel) => ({
|
||||
id: empPosLevel.id,
|
||||
posLevelName: empPosLevel.posLevelName,
|
||||
|
|
@ -185,13 +186,14 @@ export class EmployeePosTypeController extends Controller {
|
|||
async GetEmpPosType() {
|
||||
const empPosType = await this.employeePosTypeRepository.find({
|
||||
relations: ["posLevels"],
|
||||
select: ["id", "posTypeName", "posTypeRank"],
|
||||
select: ["id", "posTypeName", "posTypeRank", "posTypeShortName"],
|
||||
});
|
||||
|
||||
const mapEmpPosType = empPosType.map((item) => ({
|
||||
id: item.id,
|
||||
posTypeName: item.posTypeName,
|
||||
posTypeRank: item.posTypeRank,
|
||||
posTypeShortName: item.posTypeShortName,
|
||||
posLevels: item.posLevels.map((empPosLevel) => ({
|
||||
id: empPosLevel.id,
|
||||
posLevelName: empPosLevel.posLevelName,
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import { Equal, ILike, In, IsNull, Like, Not, Brackets, Between } from "typeorm"
|
|||
import { InsigniaType, CreateInsigniaType, UpdateInsigniaType } from "../entities/InsigniaType";
|
||||
import { Insignia, CreateInsignias, UpdateInsignias } from "../entities/Insignia";
|
||||
|
||||
@Route("api/v1/org/insignia/Insignias")
|
||||
@Route("api/v1/org/insignia/insignia")
|
||||
@Tags("Insignia")
|
||||
@Security("bearerAuth")
|
||||
@Response(
|
||||
|
|
@ -180,10 +180,9 @@ export class InsigniaController extends Controller {
|
|||
const insigniaAll = await this.insigniaRepository.find({
|
||||
relations: ["insigniaType"],
|
||||
select: ["id", "name", "shortName", "createdAt", "lastUpdatedAt", "lastUpdateFullName", "isActive", "note"],
|
||||
order: { "level": "ASC" }
|
||||
});
|
||||
if (!insigniaAll) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลเครื่องราชอิสริยาภรณ์นี้");
|
||||
}
|
||||
|
||||
const mapInsigniaAll = insigniaAll.map((item) => ({
|
||||
id: item.id,
|
||||
name: item.name,
|
||||
|
|
|
|||
|
|
@ -132,6 +132,22 @@ export class InsigniaTypeController extends Controller {
|
|||
return new HttpSuccess();
|
||||
}
|
||||
|
||||
/**
|
||||
* API รายการลำดับชั้นเครื่องราชอิสริยาภรณ์ Active
|
||||
*
|
||||
* @summary ORG_ - รายการลำดับชั้นเครื่องราชอิสริยาภรณ์ Active (ADMIN) #
|
||||
*
|
||||
*/
|
||||
@Get("active")
|
||||
async GetInsigniaType_Active() {
|
||||
const insigniaType_Active = await this.insigniaTypeRepository.find({
|
||||
select: ["id", "name", "createdAt", "lastUpdatedAt", "lastUpdateFullName", "isActive"],
|
||||
where: { isActive: true },
|
||||
order: { "name": "ASC" }
|
||||
});
|
||||
return new HttpSuccess(insigniaType_Active);
|
||||
}
|
||||
|
||||
/**
|
||||
* API รายละเอียดข้อมูลลำดับชั้นเครื่องราชอิสริยาภรณ์
|
||||
*
|
||||
|
|
@ -142,6 +158,7 @@ export class InsigniaTypeController extends Controller {
|
|||
@Get("{id}")
|
||||
async GetInsigniaTypeById(@Path() id: string) {
|
||||
const insigniaType = await this.insigniaTypeRepository.findOne({
|
||||
relations: ["insignias"],
|
||||
select: ["id", "name", "createdAt", "lastUpdatedAt", "lastUpdateFullName", "isActive"],
|
||||
where: { id: id },
|
||||
});
|
||||
|
|
@ -159,13 +176,10 @@ export class InsigniaTypeController extends Controller {
|
|||
*/
|
||||
@Get("")
|
||||
async GetInsigniaType() {
|
||||
|
||||
const insigniaTypeAll = await this.insigniaTypeRepository.find({
|
||||
select: ["id", "name", "createdAt", "lastUpdatedAt", "lastUpdateFullName", "isActive"]
|
||||
select: ["id", "name", "createdAt", "lastUpdatedAt", "lastUpdateFullName", "isActive"],
|
||||
order: { "name": "ASC" }
|
||||
});
|
||||
if (!insigniaTypeAll) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลลำดับชั้นเครื่องราชอิสริยาภรณ์ นี้");
|
||||
}
|
||||
return new HttpSuccess(insigniaTypeAll);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,11 @@ import { EntityBase } from "./base/Base";
|
|||
import { EmployeePosDict } from "./EmployeePosDict";
|
||||
import { EmployeePosType } from "./EmployeePosType";
|
||||
|
||||
enum EmployeePosLevelAuthoritys {
|
||||
HEAD = "HEAD",
|
||||
DEPUTY = "DEPUTY",
|
||||
GOVERNOR = "GOVERNOR",
|
||||
}
|
||||
@Entity("employeePosLevel")
|
||||
export class EmployeePosLevel extends EntityBase {
|
||||
@Column({
|
||||
|
|
@ -17,6 +22,16 @@ export class EmployeePosLevel extends EntityBase {
|
|||
})
|
||||
posLevelRank: number;
|
||||
|
||||
@Column({
|
||||
nullable: true,
|
||||
comment:
|
||||
"ผู้มีอำนาจสั่งบรรจุของระดับนี้ head = หัวหน้าหน่วยงาน , deputy = ปลัด , governor = ผู้ว่าฯ",
|
||||
type: "enum",
|
||||
enum: EmployeePosLevelAuthoritys,
|
||||
default: null,
|
||||
})
|
||||
posLevelAuthority: EmployeePosLevelAuthoritys;
|
||||
|
||||
@Column({
|
||||
length: 40,
|
||||
comment: "คีย์นอก(FK)ของตาราง employeePosType",
|
||||
|
|
@ -38,8 +53,11 @@ export class CreateEmployeePosLevel {
|
|||
@Column()
|
||||
posLevelRank: number;
|
||||
|
||||
@Column()
|
||||
posLevelAuthority: string;
|
||||
|
||||
@Column("uuid")
|
||||
posTypeId: string;
|
||||
}
|
||||
|
||||
export type UpdateEmployeePosLevel = Partial<CreateEmployeePosLevel>;
|
||||
export type UpdateEmployeePosLevel = Partial<CreateEmployeePosLevel> & { posLevelAuthority: EmployeePosLevelAuthoritys };
|
||||
|
|
|
|||
|
|
@ -0,0 +1,14 @@
|
|||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class AddColumnEmployeePosLevelPosLevelAuthority1710399617760 implements MigrationInterface {
|
||||
name = 'AddColumnEmployeePosLevelPosLevelAuthority1710399617760'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`employeePosLevel\` ADD \`posLevelAuthority\` enum ('HEAD', 'DEPUTY', 'GOVERNOR') NULL COMMENT 'ผู้มีอำนาจสั่งบรรจุของระดับนี้ head = หัวหน้าหน่วยงาน , deputy = ปลัด , governor = ผู้ว่าฯ'`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`employeePosLevel\` DROP COLUMN \`posLevelAuthority\``);
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue