update issue #1642

This commit is contained in:
Bright 2025-08-06 11:15:08 +07:00
parent f77c8467d6
commit e40c9eb001
3 changed files with 89 additions and 40 deletions

View file

@ -1149,7 +1149,7 @@ export class ProfileController extends Controller {
where: {
profileId: id,
commandCode: In(["5", "6"]),
isEntry: false,
// isEntry: false,
},
order: { order: "ASC" },
});
@ -1317,15 +1317,11 @@ export class ProfileController extends Controller {
.createQueryBuilder("profileLeave")
.leftJoinAndSelect("profileLeave.leaveType", "leaveType")
.select([
"profileLeave.leaveTypeId",
"profileLeave.dateLeaveStart",
"profileLeave.dateLeaveEnd",
"leaveType.name as name",
"leaveType.code as code",
"profileLeave.status",
"profileLeave.profileId",
"profileLeave.leaveDays",
"profileLeave.reason",
"profileLeave.dateLeaveStart AS dateLeaveStart",
"profileLeave.dateLeaveEnd AS dateLeaveEnd",
"profileLeave.leaveDays AS leaveDays",
"profileLeave.reason AS reason",
"leaveType.name as name"
])
.where("profileLeave.profileId = :profileId", { profileId: id })
.andWhere("leaveType.code IN (:...codes)", { codes: ["LV-008", "LV-009", "LV-010"] })
@ -1335,13 +1331,12 @@ export class ProfileController extends Controller {
const leaves2 =
leave2_raw.length > 0
? leave2_raw.map((item) => ({
date: item.dateLeaveStart
? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.dateLeaveStart))
: item.dateLeaveEnd
? " - " + Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.dateLeaveEnd))
: "",
date: item.dateLeaveStart && item.dateLeaveEnd
? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.dateLeaveStart)) + " - "
+ Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.dateLeaveEnd))
: "-",
type: item.name || "-",
leaveDays: item.leaveDays ? Extension.ToThaiNumber(item.leaveDays) : "-",
leaveDays: item.leaveDays ? Extension.ToThaiNumber(item.leaveDays.toString()) : "-",
reason: item.reason || "-",
}))
: [
@ -1611,7 +1606,7 @@ export class ProfileController extends Controller {
where: {
profileId: id,
commandCode: "7",
isEntry: false,
// isEntry: false,
},
order: { order: "ASC" },
});
@ -1688,6 +1683,17 @@ export class ProfileController extends Controller {
(profiles.currentZipCode ? " " + profiles.currentZipCode : ""),
)
: "";
let portfolio:any
await new CallAPI()
.GetData(req, `/development/portfolio/kk1/${profiles?.keycloak}`)
.then((x) => {
portfolio = x.result;
})
.catch(() => {});
if (!portfolio)
portfolio = [{name: "-", year: "-"}]
const data = {
fullName: `${profiles?.prefix}${profiles?.firstName} ${profiles?.lastName}`,
prefix: profiles?.prefix != null ? profiles.prefix : "",
@ -1841,6 +1847,7 @@ export class ProfileController extends Controller {
assessments,
profileAbility,
otherIncome,
portfolio
};
return new HttpSuccess({

View file

@ -10,6 +10,7 @@ import {
Route,
Security,
Tags,
Query
} from "tsoa";
import { AppDataSource } from "../database/data-source";
import HttpSuccess from "../interfaces/http-success";
@ -25,6 +26,7 @@ import {
} from "../entities/ProfileDevelopment";
import permission from "../interfaces/permission";
import { DevelopmentProject } from "../entities/DevelopmentProject";
import { In, Brackets } from "typeorm";
@Route("api/v1/org/profile-employee/development")
@Tags("ProfileDevelopment")
@Security("bearerAuth")
@ -48,15 +50,60 @@ export class ProfileDevelopmentEmployeeController extends Controller {
}
@Get("{profileId}")
public async getDevelopment(@Path() profileId: string, @Request() req: RequestWithUser) {
public async getDevelopment(
@Path() profileId: string,
@Request() req: RequestWithUser,
@Query("page") page: number = 1,
@Query("pageSize") pageSize: number = 10,
@Query() searchKeyword: string = "",
) {
let _workflow = await new permission().Workflow(req, profileId, "SYS_REGISTRY_EMP");
if (_workflow == false)
await new permission().PermissionOrgUserGet(req, "SYS_REGISTRY_EMP", profileId);
const lists = await this.developmentRepository.find({
where: { profileEmployeeId: profileId },
order: { createdAt: "ASC" },
});
return new HttpSuccess(lists);
const [profileDevelopment, total] = await AppDataSource.getRepository(ProfileDevelopment)
.createQueryBuilder("profileDevelopment")
.where({ profileEmployeeId: profileId })
.andWhere(
new Brackets((qb) => {
qb.where(
searchKeyword != undefined && searchKeyword != null && searchKeyword != ""
? "profileDevelopment.name LIKE :keyword"
: "1=1",
{
keyword: `%${searchKeyword}%`,
},
)
.orWhere(
searchKeyword != undefined && searchKeyword != null && searchKeyword != ""
? "profileDevelopment.developmentTarget LIKE :keyword"
: "1=1",
{
keyword: `%${searchKeyword}%`,
},
)
.orWhere(
searchKeyword != undefined && searchKeyword != null && searchKeyword != ""
? "profileDevelopment.developmentResults LIKE :keyword"
: "1=1",
{
keyword: `%${searchKeyword}%`,
},
)
.orWhere(
searchKeyword != undefined && searchKeyword != null && searchKeyword != ""
? "profileDevelopment.developmentReport LIKE :keyword"
: "1=1",
{
keyword: `%${searchKeyword}%`,
},
);
}),
)
.orderBy("profileDevelopment.createdAt", "ASC")
.skip((page - 1) * pageSize)
.take(pageSize)
.getManyAndCount();
return new HttpSuccess({ data: profileDevelopment, total });
}
@Get("history/{developmentId}")

View file

@ -1144,7 +1144,7 @@ export class ProfileEmployeeController extends Controller {
where: {
profileEmployeeId: id,
commandCode: In(["5", "6"]),
isEntry: false,
// isEntry: false,
},
order: { order: "ASC" },
});
@ -1310,15 +1310,11 @@ export class ProfileEmployeeController extends Controller {
.createQueryBuilder("profileLeave")
.leftJoinAndSelect("profileLeave.leaveType", "leaveType")
.select([
"profileLeave.leaveTypeId",
"profileLeave.dateLeaveStart",
"profileLeave.dateLeaveEnd",
"leaveType.name as name",
"leaveType.code as code",
"profileLeave.status",
"profileLeave.profileEmployeeId",
"profileLeave.leaveDays",
"profileLeave.reason",
"profileLeave.dateLeaveStart AS dateLeaveStart",
"profileLeave.dateLeaveEnd AS dateLeaveEnd",
"profileLeave.leaveDays AS leaveDays",
"profileLeave.reason AS reason",
"leaveType.name as name"
])
.where("profileLeave.profileEmployeeId = :profileId", { profileId: id })
.andWhere("leaveType.code IN (:...codes)", { codes: ["LV-008", "LV-009", "LV-010"] })
@ -1328,13 +1324,12 @@ export class ProfileEmployeeController extends Controller {
const leaves2 =
leave2_raw.length > 0
? leave2_raw.map((item) => ({
date: item.dateLeaveStart
? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.dateLeaveStart))
: item.dateLeaveEnd
? " - " + Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.dateLeaveEnd))
: "",
date: item.dateLeaveStart && item.dateLeaveEnd
? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.dateLeaveStart)) + " - "
+ Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.dateLeaveEnd))
: "-",
type: item.name || "-",
leaveDays: item.leaveDays ? Extension.ToThaiNumber(item.leaveDays) : "-",
leaveDays: item.leaveDays ? Extension.ToThaiNumber(item.leaveDays.toString()) : "-",
reason: item.reason || "-",
}))
: [
@ -1601,7 +1596,7 @@ export class ProfileEmployeeController extends Controller {
where: {
profileEmployeeId: id,
commandCode: "7",
isEntry: false,
// isEntry: false,
},
order: { order: "ASC" },
});