no message

This commit is contained in:
Kittapath 2024-04-17 17:31:07 +07:00
parent 5f5942089a
commit d9c98f4f25
7 changed files with 169 additions and 56 deletions

View file

@ -1469,7 +1469,7 @@ export class DevelopmentController extends Controller {
? item.employeePosLevel.posLevelName
: null,
posExecutive: item.posExecutive,
org: item.root,
org: item.org,
trainingDays: item.trainingDays,
commandNumber: item.order,
commandDate: item.dateOrder,

View file

@ -35,6 +35,34 @@ export class DevelopmentEmployeeHistoryController extends Controller {
private posTypeRepository = AppDataSource.getRepository(EmployeePosType);
private posLevelRepository = AppDataSource.getRepository(EmployeePosLevel);
/**
* API list
*
* @summary DEV_00 - list #
*
*/
@Get("org/{year}")
async GetOrgDevelopemt(@Path() year: number) {
const type = "EMPLOYEE";
const getOrg = await this.developmentHistoryRepository
.createQueryBuilder("developmentHistory")
.leftJoinAndSelect("developmentHistory.development", "development")
.andWhere("developmentHistory.root IS NOT NULL")
.andWhere(year > 0 ? "development.year LIKE :year" : "1=1", {
year: `${year.toString()}`,
})
.andWhere("developmentHistory.type LIKE :type", {
type: `${type}`,
})
.select("developmentHistory.root")
.groupBy("developmentHistory.root")
.getRawMany();
if (getOrg.length > 0) {
return new HttpSuccess(getOrg.map((x) => x.developmentHistory_root));
}
return new HttpSuccess(getOrg);
}
/**
* API /
*
@ -187,12 +215,16 @@ export class DevelopmentEmployeeHistoryController extends Controller {
* @summary DEV_009 - / #9
*
*/
@Get()
@Post("filter")
async GetDevelopmentHistoryLists(
@Query("page") page: number = 1,
@Query("pageSize") pageSize: number = 10,
@Query("keyword") keyword?: string,
@Query("year") year?: number,
@Body()
body: {
page: number;
pageSize: number;
keyword?: string;
year?: number;
root: string | null;
},
) {
const type = "EMPLOYEE";
const [development, total] = await AppDataSource.getRepository(DevelopmentHistory)
@ -201,77 +233,84 @@ export class DevelopmentEmployeeHistoryController extends Controller {
.leftJoinAndSelect("developmentHistory.employeePosLevel", "employeePosLevel")
.leftJoinAndSelect("developmentHistory.employeePosType", "employeePosType")
.andWhere(
year != 0 && year != null && year != undefined ? "development.year = :year" : "1=1",
{ year: year },
body.year != 0 && body.year != null && body.year != undefined
? "development.year = :year"
: "1=1",
{ year: body.year },
)
.andWhere(body.root != null ? "developmentHistory.root = :root" : "1=1", { root: body.root })
.andWhere("developmentHistory.type = :type", { type: type })
.andWhere(
new Brackets((qb) => {
qb.where(
keyword != null && keyword != "" ? "developmentHistory.prefix LIKE :keyword" : "1=1",
body.keyword != null && body.keyword != ""
? "developmentHistory.prefix LIKE :keyword"
: "1=1",
{
keyword: `%${keyword}%`,
keyword: `%${body.keyword}%`,
},
)
.orWhere(
keyword != null && keyword != ""
body.keyword != null && body.keyword != ""
? "developmentHistory.firstName LIKE :keyword"
: "1=1",
{
keyword: `%${keyword}%`,
keyword: `%${body.keyword}%`,
},
)
.orWhere(
keyword != null && keyword != ""
body.keyword != null && body.keyword != ""
? "developmentHistory.lastName LIKE :keyword"
: "1=1",
{
keyword: `%${keyword}%`,
keyword: `%${body.keyword}%`,
},
)
.orWhere(
keyword != null && keyword != ""
body.keyword != null && body.keyword != ""
? "developmentHistory.position LIKE :keyword"
: "1=1",
{
keyword: `%${keyword}%`,
keyword: `%${body.keyword}%`,
},
)
.orWhere(
keyword != null && keyword != ""
body.keyword != null && body.keyword != ""
? "developmentHistory.position LIKE :keyword"
: "1=1",
{
keyword: `%${keyword}%`,
keyword: `%${body.keyword}%`,
},
)
.orWhere(
keyword != null && keyword != "" ? "development.projectName LIKE :keyword" : "1=1",
body.keyword != null && body.keyword != ""
? "development.projectName LIKE :keyword"
: "1=1",
{
keyword: `%${keyword}%`,
keyword: `%${body.keyword}%`,
},
)
.orWhere(
keyword != null && keyword != ""
body.keyword != null && body.keyword != ""
? "employeePosType.posTypeName LIKE :keyword"
: "1=1",
{
keyword: `%${keyword}%`,
keyword: `%${body.keyword}%`,
},
)
.orWhere(
keyword != null && keyword != ""
body.keyword != null && body.keyword != ""
? "employeePosLevel.posLevelName LIKE :keyword"
: "1=1",
{
keyword: `%${keyword}%`,
keyword: `%${body.keyword}%`,
},
);
}),
)
.orderBy("developmentHistory.createdAt", "DESC")
.skip((page - 1) * pageSize)
.take(pageSize)
.skip((body.page - 1) * body.pageSize)
.take(body.pageSize)
.getManyAndCount();
const formattedData = development.map((item) => ({

View file

@ -35,6 +35,34 @@ export class DevelopmentOfficerHistoryController extends Controller {
private posTypeRepository = AppDataSource.getRepository(PosType);
private posLevelRepository = AppDataSource.getRepository(PosLevel);
/**
* API list
*
* @summary DEV_00 - list #
*
*/
@Get("org/{year}")
async GetOrgDevelopemt(@Path() year: number) {
const type = "OFFICER";
const getOrg = await this.developmentHistoryRepository
.createQueryBuilder("developmentHistory")
.leftJoinAndSelect("developmentHistory.development", "development")
.andWhere("developmentHistory.root IS NOT NULL")
.andWhere(year > 0 ? "development.year LIKE :year" : "1=1", {
year: `${year.toString()}`,
})
.andWhere("developmentHistory.type LIKE :type", {
type: `${type}`,
})
.select("developmentHistory.root")
.groupBy("developmentHistory.root")
.getRawMany();
if (getOrg.length > 0) {
return new HttpSuccess(getOrg.map((x) => x.developmentHistory_root));
}
return new HttpSuccess(getOrg);
}
/**
* API /
*
@ -179,13 +207,16 @@ export class DevelopmentOfficerHistoryController extends Controller {
* @summary DEV_009 - / #9
*
*/
@Get()
@Post("filter")
async GetDevelopmentHistoryLists(
@Query("page") page: number = 1,
@Query("pageSize") pageSize: number = 10,
@Query("keyword") keyword?: string,
@Query("year") year?: number,
@Query("root") root?: number,
@Body()
body: {
page: number;
pageSize: number;
keyword?: string;
year?: number;
root: string | null;
},
) {
const type = "OFFICER";
const [development, total] = await AppDataSource.getRepository(DevelopmentHistory)
@ -194,76 +225,87 @@ export class DevelopmentOfficerHistoryController extends Controller {
.leftJoinAndSelect("developmentHistory.posLevel", "posLevel")
.leftJoinAndSelect("developmentHistory.posType", "posType")
.andWhere(
year != 0 && year != null && year != undefined ? "development.year = :year" : "1=1",
{ year: year },
body.year != 0 && body.year != null && body.year != undefined
? "development.year = :year"
: "1=1",
{ year: body.year },
)
.andWhere(root != null && root != undefined ? "development.root = :root" : "1=1", {
root: root,
.andWhere(body.root != null && body.root != undefined ? "development.root = :root" : "1=1", {
root: body.root,
})
.andWhere(body.root != null ? "developmentHistory.root = :root" : "1=1", { root: body.root })
.andWhere("developmentHistory.type = :type", { type: type })
.andWhere(
new Brackets((qb) => {
qb.where(
keyword != null && keyword != "" ? "developmentHistory.prefix LIKE :keyword" : "1=1",
body.keyword != null && body.keyword != ""
? "developmentHistory.prefix LIKE :keyword"
: "1=1",
{
keyword: `%${keyword}%`,
keyword: `%${body.keyword}%`,
},
)
.orWhere(
keyword != null && keyword != ""
body.keyword != null && body.keyword != ""
? "developmentHistory.firstName LIKE :keyword"
: "1=1",
{
keyword: `%${keyword}%`,
keyword: `%${body.keyword}%`,
},
)
.orWhere(
keyword != null && keyword != ""
body.keyword != null && body.keyword != ""
? "developmentHistory.lastName LIKE :keyword"
: "1=1",
{
keyword: `%${keyword}%`,
keyword: `%${body.keyword}%`,
},
)
.orWhere(
keyword != null && keyword != ""
body.keyword != null && body.keyword != ""
? "developmentHistory.position LIKE :keyword"
: "1=1",
{
keyword: `%${keyword}%`,
keyword: `%${body.keyword}%`,
},
)
.orWhere(
keyword != null && keyword != ""
body.keyword != null && body.keyword != ""
? "developmentHistory.position LIKE :keyword"
: "1=1",
{
keyword: `%${keyword}%`,
keyword: `%${body.keyword}%`,
},
)
.orWhere(
keyword != null && keyword != "" ? "development.projectName LIKE :keyword" : "1=1",
body.keyword != null && body.keyword != ""
? "development.projectName LIKE :keyword"
: "1=1",
{
keyword: `%${keyword}%`,
keyword: `%${body.keyword}%`,
},
)
.orWhere(
keyword != null && keyword != "" ? "posType.posTypeName LIKE :keyword" : "1=1",
body.keyword != null && body.keyword != ""
? "posType.posTypeName LIKE :keyword"
: "1=1",
{
keyword: `%${keyword}%`,
keyword: `%${body.keyword}%`,
},
)
.orWhere(
keyword != null && keyword != "" ? "posLevel.posLevelName LIKE :keyword" : "1=1",
body.keyword != null && body.keyword != ""
? "posLevel.posLevelName LIKE :keyword"
: "1=1",
{
keyword: `%${keyword}%`,
keyword: `%${body.keyword}%`,
},
);
}),
)
.orderBy("developmentHistory.createdAt", "DESC")
.skip((page - 1) * pageSize)
.take(pageSize)
.skip((body.page - 1) * body.pageSize)
.take(body.pageSize)
.getManyAndCount();
const formattedData = development.map((item) => ({
id: item.id,

View file

@ -238,7 +238,7 @@ export class DevelopmentScholarshipController extends Controller {
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลทุนการศึกษา/ฝึกอบรมนี้");
}
const formattedData = {
root: getDevelopment.root ? getDevelopment.root : null,
org: getDevelopment.org ? getDevelopment.org : null,
rank: getDevelopment.rank ? getDevelopment.rank : null,
prefix: getDevelopment.prefix ? getDevelopment.prefix : null,
firstName: getDevelopment.firstName ? getDevelopment.firstName : null,
@ -367,7 +367,7 @@ export class DevelopmentScholarshipController extends Controller {
"isGraduated",
"graduatedDate",
"graduatedReason",
"root",
"org",
],
});
if (!getDevelopment) {

View file

@ -22,6 +22,13 @@ export class DevelopmentHistory extends EntityBase {
})
root: string;
@Column({
nullable: true,
comment: "ชื่อหน่วยงานที่สังกัด",
default: null,
})
org: string;
@Column({
nullable: true,
comment: "ชื่อย่อหน่วยงาน",

View file

@ -19,6 +19,13 @@ export class DevelopmentScholarship extends EntityBase {
})
root: string;
@Column({
nullable: true,
comment: "ชื่อหน่วยงานที่สังกัด",
default: null,
})
org: string;
@Column({
nullable: true,
comment: "ชื่อย่อหน่วยงาน",
@ -529,6 +536,7 @@ export class DevelopmentScholarship extends EntityBase {
export class CreateDevelopmentScholarship {
rootId: string | null;
root: string | null;
org: string | null;
orgRootShortName: string | null;
orgRevisionId: string | null;
profileId: string | null;
@ -588,6 +596,7 @@ export class CreateDevelopmentScholarship {
export class UpdateDevelopmentScholarship {
rootId: string | null;
root: string | null;
org: string | null;
orgRootShortName: string | null;
orgRevisionId: string | null;
profileId: string | null;

View file

@ -0,0 +1,16 @@
import { MigrationInterface, QueryRunner } from "typeorm";
export class UpdateTableDevhisAddOrg1713347839774 implements MigrationInterface {
name = 'UpdateTableDevhisAddOrg1713347839774'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE \`developmentHistory\` ADD \`org\` varchar(255) NULL COMMENT 'ชื่อหน่วยงานที่สังกัด'`);
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` ADD \`org\` varchar(255) NULL COMMENT 'ชื่อหน่วยงานที่สังกัด'`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE \`developmentScholarship\` DROP COLUMN \`org\``);
await queryRunner.query(`ALTER TABLE \`developmentHistory\` DROP COLUMN \`org\``);
}
}