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) {
|
async GetEmpLevelById(@Path() id: string) {
|
||||||
const getEmpPosLevel = await this.employeePosLevelRepository.findOne({
|
const getEmpPosLevel = await this.employeePosLevelRepository.findOne({
|
||||||
relations: ["posType"],
|
relations: ["posType"],
|
||||||
select: ["id", "posLevelName", "posLevelRank"],
|
select: ["id", "posLevelName", "posLevelRank", "posLevelAuthority"],
|
||||||
where: { id: id },
|
where: { id: id },
|
||||||
});
|
});
|
||||||
if (!getEmpPosLevel) {
|
if (!getEmpPosLevel) {
|
||||||
|
|
@ -176,8 +176,9 @@ export class EmployeePosLevelController extends Controller {
|
||||||
const mapEmpPosLevel = {
|
const mapEmpPosLevel = {
|
||||||
id: getEmpPosLevel.id,
|
id: getEmpPosLevel.id,
|
||||||
posLevelName: getEmpPosLevel.posLevelName,
|
posLevelName: getEmpPosLevel.posLevelName,
|
||||||
|
posTypeId: getEmpPosLevel.posType == null ? null : getEmpPosLevel.posType.id,
|
||||||
posTypeName: getEmpPosLevel.posType == null ? null : getEmpPosLevel.posType.posTypeName, //กลุ่มงาน
|
posTypeName: getEmpPosLevel.posType == null ? null : getEmpPosLevel.posType.posTypeName, //กลุ่มงาน
|
||||||
commander: null, //ผู้มีอำนาจสั่งบรรจุ
|
posLevelAuthority: getEmpPosLevel.posLevelAuthority, //ผู้มีอำนาจสั่งบรรจุ
|
||||||
};
|
};
|
||||||
return new HttpSuccess(mapEmpPosLevel);
|
return new HttpSuccess(mapEmpPosLevel);
|
||||||
}
|
}
|
||||||
|
|
@ -192,13 +193,14 @@ export class EmployeePosLevelController extends Controller {
|
||||||
async GetEmpPosLevel() {
|
async GetEmpPosLevel() {
|
||||||
const empPosLevel = await this.employeePosLevelRepository.find({
|
const empPosLevel = await this.employeePosLevelRepository.find({
|
||||||
relations: ["posType"],
|
relations: ["posType"],
|
||||||
select: ["id", "posLevelName", "posLevelRank"],
|
select: ["id", "posLevelName", "posLevelRank", "posLevelAuthority"],
|
||||||
});
|
});
|
||||||
const mapEmpPosLevel = empPosLevel.map((item) => ({
|
const mapEmpPosLevel = empPosLevel.map((item) => ({
|
||||||
id: item.id,
|
id: item.id,
|
||||||
posLevelName: item.posLevelName,
|
posLevelName: item.posLevelName,
|
||||||
|
posTypeId: item.posType == null ? null : item.posType.id,
|
||||||
posTypeName: item.posType == null ? null : item.posType.posTypeName, //กลุ่มงาน
|
posTypeName: item.posType == null ? null : item.posType.posTypeName, //กลุ่มงาน
|
||||||
commander: null, //ผู้มีอำนาจสั่งบรรจุ
|
posLevelAuthority: item.posLevelAuthority, //ผู้มีอำนาจสั่งบรรจุ
|
||||||
}));
|
}));
|
||||||
return new HttpSuccess(mapEmpPosLevel);
|
return new HttpSuccess(mapEmpPosLevel);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -154,7 +154,7 @@ export class EmployeePosTypeController extends Controller {
|
||||||
async GetEmpTypeById(@Path() id: string) {
|
async GetEmpTypeById(@Path() id: string) {
|
||||||
const getEmpPosType = await this.employeePosTypeRepository.findOne({
|
const getEmpPosType = await this.employeePosTypeRepository.findOne({
|
||||||
relations: ["posLevels"],
|
relations: ["posLevels"],
|
||||||
select: ["id", "posTypeName", "posTypeRank"],
|
select: ["id", "posTypeName", "posTypeRank", "posTypeShortName"],
|
||||||
where: { id: id },
|
where: { id: id },
|
||||||
});
|
});
|
||||||
if (!getEmpPosType) {
|
if (!getEmpPosType) {
|
||||||
|
|
@ -165,6 +165,7 @@ export class EmployeePosTypeController extends Controller {
|
||||||
id: getEmpPosType.id,
|
id: getEmpPosType.id,
|
||||||
posTypeName: getEmpPosType.posTypeName,
|
posTypeName: getEmpPosType.posTypeName,
|
||||||
posTypeRank: getEmpPosType.posTypeRank,
|
posTypeRank: getEmpPosType.posTypeRank,
|
||||||
|
posTypeShortName: getEmpPosType.posTypeShortName,
|
||||||
posLevels: getEmpPosType.posLevels.map((empPosLevel) => ({
|
posLevels: getEmpPosType.posLevels.map((empPosLevel) => ({
|
||||||
id: empPosLevel.id,
|
id: empPosLevel.id,
|
||||||
posLevelName: empPosLevel.posLevelName,
|
posLevelName: empPosLevel.posLevelName,
|
||||||
|
|
@ -185,13 +186,14 @@ export class EmployeePosTypeController extends Controller {
|
||||||
async GetEmpPosType() {
|
async GetEmpPosType() {
|
||||||
const empPosType = await this.employeePosTypeRepository.find({
|
const empPosType = await this.employeePosTypeRepository.find({
|
||||||
relations: ["posLevels"],
|
relations: ["posLevels"],
|
||||||
select: ["id", "posTypeName", "posTypeRank"],
|
select: ["id", "posTypeName", "posTypeRank", "posTypeShortName"],
|
||||||
});
|
});
|
||||||
|
|
||||||
const mapEmpPosType = empPosType.map((item) => ({
|
const mapEmpPosType = empPosType.map((item) => ({
|
||||||
id: item.id,
|
id: item.id,
|
||||||
posTypeName: item.posTypeName,
|
posTypeName: item.posTypeName,
|
||||||
posTypeRank: item.posTypeRank,
|
posTypeRank: item.posTypeRank,
|
||||||
|
posTypeShortName: item.posTypeShortName,
|
||||||
posLevels: item.posLevels.map((empPosLevel) => ({
|
posLevels: item.posLevels.map((empPosLevel) => ({
|
||||||
id: empPosLevel.id,
|
id: empPosLevel.id,
|
||||||
posLevelName: empPosLevel.posLevelName,
|
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 { InsigniaType, CreateInsigniaType, UpdateInsigniaType } from "../entities/InsigniaType";
|
||||||
import { Insignia, CreateInsignias, UpdateInsignias } from "../entities/Insignia";
|
import { Insignia, CreateInsignias, UpdateInsignias } from "../entities/Insignia";
|
||||||
|
|
||||||
@Route("api/v1/org/insignia/Insignias")
|
@Route("api/v1/org/insignia/insignia")
|
||||||
@Tags("Insignia")
|
@Tags("Insignia")
|
||||||
@Security("bearerAuth")
|
@Security("bearerAuth")
|
||||||
@Response(
|
@Response(
|
||||||
|
|
@ -180,10 +180,9 @@ export class InsigniaController extends Controller {
|
||||||
const insigniaAll = await this.insigniaRepository.find({
|
const insigniaAll = await this.insigniaRepository.find({
|
||||||
relations: ["insigniaType"],
|
relations: ["insigniaType"],
|
||||||
select: ["id", "name", "shortName", "createdAt", "lastUpdatedAt", "lastUpdateFullName", "isActive", "note"],
|
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) => ({
|
const mapInsigniaAll = insigniaAll.map((item) => ({
|
||||||
id: item.id,
|
id: item.id,
|
||||||
name: item.name,
|
name: item.name,
|
||||||
|
|
|
||||||
|
|
@ -132,6 +132,22 @@ export class InsigniaTypeController extends Controller {
|
||||||
return new HttpSuccess();
|
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 รายละเอียดข้อมูลลำดับชั้นเครื่องราชอิสริยาภรณ์
|
* API รายละเอียดข้อมูลลำดับชั้นเครื่องราชอิสริยาภรณ์
|
||||||
*
|
*
|
||||||
|
|
@ -142,6 +158,7 @@ export class InsigniaTypeController extends Controller {
|
||||||
@Get("{id}")
|
@Get("{id}")
|
||||||
async GetInsigniaTypeById(@Path() id: string) {
|
async GetInsigniaTypeById(@Path() id: string) {
|
||||||
const insigniaType = await this.insigniaTypeRepository.findOne({
|
const insigniaType = await this.insigniaTypeRepository.findOne({
|
||||||
|
relations: ["insignias"],
|
||||||
select: ["id", "name", "createdAt", "lastUpdatedAt", "lastUpdateFullName", "isActive"],
|
select: ["id", "name", "createdAt", "lastUpdatedAt", "lastUpdateFullName", "isActive"],
|
||||||
where: { id: id },
|
where: { id: id },
|
||||||
});
|
});
|
||||||
|
|
@ -159,13 +176,10 @@ export class InsigniaTypeController extends Controller {
|
||||||
*/
|
*/
|
||||||
@Get("")
|
@Get("")
|
||||||
async GetInsigniaType() {
|
async GetInsigniaType() {
|
||||||
|
|
||||||
const insigniaTypeAll = await this.insigniaTypeRepository.find({
|
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);
|
return new HttpSuccess(insigniaTypeAll);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,11 @@ import { EntityBase } from "./base/Base";
|
||||||
import { EmployeePosDict } from "./EmployeePosDict";
|
import { EmployeePosDict } from "./EmployeePosDict";
|
||||||
import { EmployeePosType } from "./EmployeePosType";
|
import { EmployeePosType } from "./EmployeePosType";
|
||||||
|
|
||||||
|
enum EmployeePosLevelAuthoritys {
|
||||||
|
HEAD = "HEAD",
|
||||||
|
DEPUTY = "DEPUTY",
|
||||||
|
GOVERNOR = "GOVERNOR",
|
||||||
|
}
|
||||||
@Entity("employeePosLevel")
|
@Entity("employeePosLevel")
|
||||||
export class EmployeePosLevel extends EntityBase {
|
export class EmployeePosLevel extends EntityBase {
|
||||||
@Column({
|
@Column({
|
||||||
|
|
@ -17,6 +22,16 @@ export class EmployeePosLevel extends EntityBase {
|
||||||
})
|
})
|
||||||
posLevelRank: number;
|
posLevelRank: number;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
nullable: true,
|
||||||
|
comment:
|
||||||
|
"ผู้มีอำนาจสั่งบรรจุของระดับนี้ head = หัวหน้าหน่วยงาน , deputy = ปลัด , governor = ผู้ว่าฯ",
|
||||||
|
type: "enum",
|
||||||
|
enum: EmployeePosLevelAuthoritys,
|
||||||
|
default: null,
|
||||||
|
})
|
||||||
|
posLevelAuthority: EmployeePosLevelAuthoritys;
|
||||||
|
|
||||||
@Column({
|
@Column({
|
||||||
length: 40,
|
length: 40,
|
||||||
comment: "คีย์นอก(FK)ของตาราง employeePosType",
|
comment: "คีย์นอก(FK)ของตาราง employeePosType",
|
||||||
|
|
@ -38,8 +53,11 @@ export class CreateEmployeePosLevel {
|
||||||
@Column()
|
@Column()
|
||||||
posLevelRank: number;
|
posLevelRank: number;
|
||||||
|
|
||||||
|
@Column()
|
||||||
|
posLevelAuthority: string;
|
||||||
|
|
||||||
@Column("uuid")
|
@Column("uuid")
|
||||||
posTypeId: string;
|
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