update issue #1642
This commit is contained in:
parent
f77c8467d6
commit
e40c9eb001
3 changed files with 89 additions and 40 deletions
|
|
@ -1149,7 +1149,7 @@ export class ProfileController extends Controller {
|
||||||
where: {
|
where: {
|
||||||
profileId: id,
|
profileId: id,
|
||||||
commandCode: In(["5", "6"]),
|
commandCode: In(["5", "6"]),
|
||||||
isEntry: false,
|
// isEntry: false,
|
||||||
},
|
},
|
||||||
order: { order: "ASC" },
|
order: { order: "ASC" },
|
||||||
});
|
});
|
||||||
|
|
@ -1317,15 +1317,11 @@ export class ProfileController extends Controller {
|
||||||
.createQueryBuilder("profileLeave")
|
.createQueryBuilder("profileLeave")
|
||||||
.leftJoinAndSelect("profileLeave.leaveType", "leaveType")
|
.leftJoinAndSelect("profileLeave.leaveType", "leaveType")
|
||||||
.select([
|
.select([
|
||||||
"profileLeave.leaveTypeId",
|
"profileLeave.dateLeaveStart AS dateLeaveStart",
|
||||||
"profileLeave.dateLeaveStart",
|
"profileLeave.dateLeaveEnd AS dateLeaveEnd",
|
||||||
"profileLeave.dateLeaveEnd",
|
"profileLeave.leaveDays AS leaveDays",
|
||||||
"leaveType.name as name",
|
"profileLeave.reason AS reason",
|
||||||
"leaveType.code as code",
|
"leaveType.name as name"
|
||||||
"profileLeave.status",
|
|
||||||
"profileLeave.profileId",
|
|
||||||
"profileLeave.leaveDays",
|
|
||||||
"profileLeave.reason",
|
|
||||||
])
|
])
|
||||||
.where("profileLeave.profileId = :profileId", { profileId: id })
|
.where("profileLeave.profileId = :profileId", { profileId: id })
|
||||||
.andWhere("leaveType.code IN (:...codes)", { codes: ["LV-008", "LV-009", "LV-010"] })
|
.andWhere("leaveType.code IN (:...codes)", { codes: ["LV-008", "LV-009", "LV-010"] })
|
||||||
|
|
@ -1335,13 +1331,12 @@ export class ProfileController extends Controller {
|
||||||
const leaves2 =
|
const leaves2 =
|
||||||
leave2_raw.length > 0
|
leave2_raw.length > 0
|
||||||
? leave2_raw.map((item) => ({
|
? leave2_raw.map((item) => ({
|
||||||
date: item.dateLeaveStart
|
date: item.dateLeaveStart && item.dateLeaveEnd
|
||||||
? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.dateLeaveStart))
|
? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.dateLeaveStart)) + " - "
|
||||||
: item.dateLeaveEnd
|
+ Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.dateLeaveEnd))
|
||||||
? " - " + Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.dateLeaveEnd))
|
: "-",
|
||||||
: "",
|
|
||||||
type: item.name || "-",
|
type: item.name || "-",
|
||||||
leaveDays: item.leaveDays ? Extension.ToThaiNumber(item.leaveDays) : "-",
|
leaveDays: item.leaveDays ? Extension.ToThaiNumber(item.leaveDays.toString()) : "-",
|
||||||
reason: item.reason || "-",
|
reason: item.reason || "-",
|
||||||
}))
|
}))
|
||||||
: [
|
: [
|
||||||
|
|
@ -1611,7 +1606,7 @@ export class ProfileController extends Controller {
|
||||||
where: {
|
where: {
|
||||||
profileId: id,
|
profileId: id,
|
||||||
commandCode: "7",
|
commandCode: "7",
|
||||||
isEntry: false,
|
// isEntry: false,
|
||||||
},
|
},
|
||||||
order: { order: "ASC" },
|
order: { order: "ASC" },
|
||||||
});
|
});
|
||||||
|
|
@ -1688,6 +1683,17 @@ export class ProfileController extends Controller {
|
||||||
(profiles.currentZipCode ? " " + profiles.currentZipCode : ""),
|
(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 = {
|
const data = {
|
||||||
fullName: `${profiles?.prefix}${profiles?.firstName} ${profiles?.lastName}`,
|
fullName: `${profiles?.prefix}${profiles?.firstName} ${profiles?.lastName}`,
|
||||||
prefix: profiles?.prefix != null ? profiles.prefix : "",
|
prefix: profiles?.prefix != null ? profiles.prefix : "",
|
||||||
|
|
@ -1841,6 +1847,7 @@ export class ProfileController extends Controller {
|
||||||
assessments,
|
assessments,
|
||||||
profileAbility,
|
profileAbility,
|
||||||
otherIncome,
|
otherIncome,
|
||||||
|
portfolio
|
||||||
};
|
};
|
||||||
|
|
||||||
return new HttpSuccess({
|
return new HttpSuccess({
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import {
|
||||||
Route,
|
Route,
|
||||||
Security,
|
Security,
|
||||||
Tags,
|
Tags,
|
||||||
|
Query
|
||||||
} from "tsoa";
|
} from "tsoa";
|
||||||
import { AppDataSource } from "../database/data-source";
|
import { AppDataSource } from "../database/data-source";
|
||||||
import HttpSuccess from "../interfaces/http-success";
|
import HttpSuccess from "../interfaces/http-success";
|
||||||
|
|
@ -25,6 +26,7 @@ import {
|
||||||
} from "../entities/ProfileDevelopment";
|
} from "../entities/ProfileDevelopment";
|
||||||
import permission from "../interfaces/permission";
|
import permission from "../interfaces/permission";
|
||||||
import { DevelopmentProject } from "../entities/DevelopmentProject";
|
import { DevelopmentProject } from "../entities/DevelopmentProject";
|
||||||
|
import { In, Brackets } from "typeorm";
|
||||||
@Route("api/v1/org/profile-employee/development")
|
@Route("api/v1/org/profile-employee/development")
|
||||||
@Tags("ProfileDevelopment")
|
@Tags("ProfileDevelopment")
|
||||||
@Security("bearerAuth")
|
@Security("bearerAuth")
|
||||||
|
|
@ -48,15 +50,60 @@ export class ProfileDevelopmentEmployeeController extends Controller {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Get("{profileId}")
|
@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");
|
let _workflow = await new permission().Workflow(req, profileId, "SYS_REGISTRY_EMP");
|
||||||
if (_workflow == false)
|
if (_workflow == false)
|
||||||
await new permission().PermissionOrgUserGet(req, "SYS_REGISTRY_EMP", profileId);
|
await new permission().PermissionOrgUserGet(req, "SYS_REGISTRY_EMP", profileId);
|
||||||
const lists = await this.developmentRepository.find({
|
const [profileDevelopment, total] = await AppDataSource.getRepository(ProfileDevelopment)
|
||||||
where: { profileEmployeeId: profileId },
|
.createQueryBuilder("profileDevelopment")
|
||||||
order: { createdAt: "ASC" },
|
.where({ profileEmployeeId: profileId })
|
||||||
});
|
.andWhere(
|
||||||
return new HttpSuccess(lists);
|
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}")
|
@Get("history/{developmentId}")
|
||||||
|
|
|
||||||
|
|
@ -1144,7 +1144,7 @@ export class ProfileEmployeeController extends Controller {
|
||||||
where: {
|
where: {
|
||||||
profileEmployeeId: id,
|
profileEmployeeId: id,
|
||||||
commandCode: In(["5", "6"]),
|
commandCode: In(["5", "6"]),
|
||||||
isEntry: false,
|
// isEntry: false,
|
||||||
},
|
},
|
||||||
order: { order: "ASC" },
|
order: { order: "ASC" },
|
||||||
});
|
});
|
||||||
|
|
@ -1310,15 +1310,11 @@ export class ProfileEmployeeController extends Controller {
|
||||||
.createQueryBuilder("profileLeave")
|
.createQueryBuilder("profileLeave")
|
||||||
.leftJoinAndSelect("profileLeave.leaveType", "leaveType")
|
.leftJoinAndSelect("profileLeave.leaveType", "leaveType")
|
||||||
.select([
|
.select([
|
||||||
"profileLeave.leaveTypeId",
|
"profileLeave.dateLeaveStart AS dateLeaveStart",
|
||||||
"profileLeave.dateLeaveStart",
|
"profileLeave.dateLeaveEnd AS dateLeaveEnd",
|
||||||
"profileLeave.dateLeaveEnd",
|
"profileLeave.leaveDays AS leaveDays",
|
||||||
"leaveType.name as name",
|
"profileLeave.reason AS reason",
|
||||||
"leaveType.code as code",
|
"leaveType.name as name"
|
||||||
"profileLeave.status",
|
|
||||||
"profileLeave.profileEmployeeId",
|
|
||||||
"profileLeave.leaveDays",
|
|
||||||
"profileLeave.reason",
|
|
||||||
])
|
])
|
||||||
.where("profileLeave.profileEmployeeId = :profileId", { profileId: id })
|
.where("profileLeave.profileEmployeeId = :profileId", { profileId: id })
|
||||||
.andWhere("leaveType.code IN (:...codes)", { codes: ["LV-008", "LV-009", "LV-010"] })
|
.andWhere("leaveType.code IN (:...codes)", { codes: ["LV-008", "LV-009", "LV-010"] })
|
||||||
|
|
@ -1328,13 +1324,12 @@ export class ProfileEmployeeController extends Controller {
|
||||||
const leaves2 =
|
const leaves2 =
|
||||||
leave2_raw.length > 0
|
leave2_raw.length > 0
|
||||||
? leave2_raw.map((item) => ({
|
? leave2_raw.map((item) => ({
|
||||||
date: item.dateLeaveStart
|
date: item.dateLeaveStart && item.dateLeaveEnd
|
||||||
? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.dateLeaveStart))
|
? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.dateLeaveStart)) + " - "
|
||||||
: item.dateLeaveEnd
|
+ Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.dateLeaveEnd))
|
||||||
? " - " + Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.dateLeaveEnd))
|
: "-",
|
||||||
: "",
|
|
||||||
type: item.name || "-",
|
type: item.name || "-",
|
||||||
leaveDays: item.leaveDays ? Extension.ToThaiNumber(item.leaveDays) : "-",
|
leaveDays: item.leaveDays ? Extension.ToThaiNumber(item.leaveDays.toString()) : "-",
|
||||||
reason: item.reason || "-",
|
reason: item.reason || "-",
|
||||||
}))
|
}))
|
||||||
: [
|
: [
|
||||||
|
|
@ -1601,7 +1596,7 @@ export class ProfileEmployeeController extends Controller {
|
||||||
where: {
|
where: {
|
||||||
profileEmployeeId: id,
|
profileEmployeeId: id,
|
||||||
commandCode: "7",
|
commandCode: "7",
|
||||||
isEntry: false,
|
// isEntry: false,
|
||||||
},
|
},
|
||||||
order: { order: "ASC" },
|
order: { order: "ASC" },
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue