Merge branch 'develop' into dev
All checks were successful
Build & Deploy on Dev / build (push) Successful in 1m5s

This commit is contained in:
harid 2026-03-05 18:01:13 +07:00
commit e104bdc81a
4 changed files with 87 additions and 8 deletions

View file

@ -2999,6 +2999,9 @@ export class DevelopmentController extends Controller {
development.createdAt = new Date();
development.lastUpdatedAt = new Date();
development.isProfile = true;
development.no = item["ลำดับ"] !== undefined && item["ลำดับ"] !== null && item["ลำดับ"] !== "" && !isNaN(Number(item["ลำดับ"]))
? Number(item["ลำดับ"])
: null;
await this.developmentHistoryRepository.save(development, { data: request });
setLogDataDiff(request, { before, after: development });
})
@ -3032,6 +3035,9 @@ export class DevelopmentController extends Controller {
development.createdAt = new Date();
development.lastUpdatedAt = new Date();
development.isProfile = false;
development.no = item["ลำดับ"] !== undefined && item["ลำดับ"] !== null && item["ลำดับ"] !== "" && !isNaN(Number(item["ลำดับ"]))
? Number(item["ลำดับ"])
: null;
await this.developmentHistoryRepository.save(development, { data: request });
setLogDataDiff(request, { before, after: development });
});
@ -3062,6 +3068,9 @@ export class DevelopmentController extends Controller {
development.createdAt = new Date();
development.lastUpdatedAt = new Date();
development.isProfile = true;
development.no = item["ลำดับ"] !== undefined && item["ลำดับ"] !== null && item["ลำดับ"] !== "" && !isNaN(Number(item["ลำดับ"]))
? Number(item["ลำดับ"])
: null;
await this.developmentHistoryRepository.save(development, { data: request });
setLogDataDiff(request, { before, after: development });
})
@ -3095,6 +3104,9 @@ export class DevelopmentController extends Controller {
development.createdAt = new Date();
development.lastUpdatedAt = new Date();
development.isProfile = false;
development.no = item["ลำดับ"] !== undefined && item["ลำดับ"] !== null && item["ลำดับ"] !== "" && !isNaN(Number(item["ลำดับ"]))
? Number(item["ลำดับ"])
: null;
await this.developmentHistoryRepository.save(development, { data: request });
setLogDataDiff(request, { before, after: development });
});
@ -3130,6 +3142,9 @@ export class DevelopmentController extends Controller {
development.createdAt = new Date();
development.lastUpdatedAt = new Date();
development.isProfile = false;
development.no = item["ลำดับ"] !== undefined && item["ลำดับ"] !== null && item["ลำดับ"] !== "" && !isNaN(Number(item["ลำดับ"]))
? Number(item["ลำดับ"])
: null;
await this.developmentHistoryRepository.save(development, { data: request });
setLogDataDiff(request, { before, after: development });
}
@ -3184,6 +3199,9 @@ export class DevelopmentController extends Controller {
oldProfile.lastUpdateFullName = request.user.name;
oldProfile.createdAt = new Date();
oldProfile.lastUpdatedAt = new Date();
if(requestBody.no !== undefined && requestBody.no !== null && requestBody.no !== "" && !isNaN(Number(requestBody.no))) {
oldProfile.no = Number(requestBody.no);
}
// addLogSequence(request, {
// action: "database",
// status: "success",
@ -3220,6 +3238,9 @@ export class DevelopmentController extends Controller {
development.lastUpdateFullName = request.user.name;
development.createdAt = new Date();
development.lastUpdatedAt = new Date();
if(requestBody.no !== undefined && requestBody.no !== null && requestBody.no !== "" && !isNaN(Number(requestBody.no))) {
development.no = Number(requestBody.no);
}
// addLogSequence(request, {
// action: "database",
// status: "success",
@ -3262,6 +3283,9 @@ export class DevelopmentController extends Controller {
development.createdAt = new Date();
development.lastUpdatedAt = new Date();
development.isProfile = false;
if(requestBody.no !== undefined && requestBody.no !== null && requestBody.no !== "" && !isNaN(Number(requestBody.no))) {
development.no = Number(requestBody.no);
}
// addLogSequence(request, {
// action: "database",
// status: "success",

View file

@ -162,6 +162,8 @@ export class DevelopmentScholarshipController extends Controller {
@Query("scholarshipType") scholarshipType?: string,
@Query("sortBy") sortBy?: string,
@Query("descending") descending?: boolean,
@Query("citizenId") citizenId?: string,
@Query("guarantorCitizenId") guarantorCitizenId?: string,
) {
let _data = await new permission().PermissionOrgList(request, "SYS_DEV_SCHOLARSHIP");
await new CallAPI()
@ -198,11 +200,23 @@ export class DevelopmentScholarshipController extends Controller {
{ scholarshipYear: year },
)
.andWhere(
scholarshipType != null && scholarshipType != undefined
scholarshipType != null && scholarshipType != undefined && scholarshipType != "ALL"
? "developmentScholarship.scholarshipType = :scholarshipType"
: "1=1",
{ scholarshipType: scholarshipType },
)
.andWhere(
citizenId != null && citizenId != undefined && citizenId != ""
? "developmentScholarship.citizenId = :citizenId"
: "1=1",
{ citizenId: citizenId },
)
.andWhere(
guarantorCitizenId != null && guarantorCitizenId != undefined && guarantorCitizenId != ""
? "developmentScholarship.guarantorCitizenId = :guarantorCitizenId"
: "1=1",
{ guarantorCitizenId: guarantorCitizenId },
)
.andWhere(
new Brackets((qb) => {
qb.where(
@ -213,6 +227,14 @@ export class DevelopmentScholarshipController extends Controller {
keyword: `%${keyword}%`,
},
)
.orWhere(
keyword != null && keyword != ""
? `CONCAT(developmentScholarship.guarantorPrefix, developmentScholarship.guarantorFirstName," ",developmentScholarship.guarantorLastName) like '%${keyword}%'`
: "1=1",
{
keyword: `%${keyword}%`,
},
)
.orWhere(
keyword != null && keyword != ""
? "developmentScholarship.citizenId LIKE :keyword"
@ -268,29 +290,34 @@ export class DevelopmentScholarshipController extends Controller {
`posType.posTypeName`,
descending ? "DESC" : "ASC"
);
}else if(sortBy === "posLevel"){
}
else if(sortBy === "posLevel"){
query = query.orderBy(
`posLevel.posLevelName`,
descending ? "DESC" : "ASC"
);
}else if(sortBy === "year"){
}
else if(sortBy === "year"){
query = query.orderBy(
`developmentScholarship.scholarshipYear`,
descending ? "DESC" : "ASC"
);
}else if(sortBy === "fullName"){
}
else if(sortBy === "fullName"){
query = query
.orderBy(`developmentScholarship.prefix`,descending ? "DESC" : "ASC")
.addOrderBy(`developmentScholarship.firstName`,descending ? "DESC" : "ASC")
.addOrderBy(`developmentScholarship.lastName`,descending ? "DESC" : "ASC")
}else{
}
else{
query = query.orderBy(
`developmentScholarship.${sortBy}`,
descending ? "DESC" : "ASC"
);
}
}else{
query = query.orderBy("developmentScholarship.scholarshipYear", "DESC")
}
else{
query = query.orderBy("developmentScholarship.startDate", "ASC")
.addOrderBy("developmentScholarship.createdAt", "DESC")
}
@ -303,12 +330,17 @@ export class DevelopmentScholarshipController extends Controller {
id: item.id,
year: item.scholarshipYear,
citizenId: item.citizenId,
fullName: item.prefix + item.firstName + " " + item.lastName,
fullName: `${item.prefix ?? ""}${item.firstName ?? ""} ${item.lastName ?? ""}`,
position: item.position,
posType: item.posType ? item.posType.posTypeName : null,
posLevel: item.posLevel ? item.posLevel.posLevelName : null,
posExecutive: item.posExecutive,
status: item.status,
scholarshipType: item.scholarshipType,
startDate: item.startDate,
endDate: item.endDate,
fullNameGuarantor: `${item.guarantorPrefix ?? ""}${item.guarantorFirstName ?? ""} ${item.guarantorLastName ?? ""}` ,
guarantorCitizenId: item.guarantorCitizenId,
}));
return new HttpSuccess({ data: formattedData, total });

View file

@ -227,6 +227,13 @@ export class DevelopmentHistory extends EntityBase {
default: false,
})
isProfile: boolean;
@Column({
nullable: true,
comment: "ลำดับ",
default: null,
})
no: number | null;
}
export class CreateDevelopmentHistory {
@Column()
@ -325,4 +332,6 @@ export class CreateDevelopmentHistoryOBO {
dateStart: Date | null;
@Column()
dateEnd: Date | null;
@Column()
no?: string | null;
}

View file

@ -0,0 +1,14 @@
import { MigrationInterface, QueryRunner } from "typeorm";
export class UpdateDevelopmentHistoryAddFieldNo1772705709988 implements MigrationInterface {
name = 'UpdateDevelopmentHistoryAddFieldNo1772705709988'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE \`developmentHistory\` ADD \`no\` int NULL COMMENT 'ลำดับ'`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE \`developmentHistory\` DROP COLUMN \`no\``);
}
}