Merge branch 'develop' into adiDev
This commit is contained in:
commit
428df7d08a
63 changed files with 226 additions and 13741 deletions
|
|
@ -20,88 +20,88 @@ import * as fs from "fs";
|
|||
import * as path from "path";
|
||||
const { createConnection } = require("typeorm");
|
||||
import csvParser from "csv-parser";
|
||||
import { HR_PERSONAL_OFFICER_FAMILY } from "../entities/HR_PERSONAL_OFFICER_FAMILY";
|
||||
import { HR_PERSONAL_OFFICER_FAMILY } from "../entities/mis/HR_PERSONAL_OFFICER_FAMILY";
|
||||
|
||||
const BATCH_SIZE = 1000;
|
||||
// import { EducationMis } from "../entities/EducationMis";
|
||||
import { EducationMis } from "../entities/EducationMis";
|
||||
import { ProvinceImport } from "../entities/ProvinceImport";
|
||||
import { AmphurImport } from "../entities/AmphurImport";
|
||||
import { SubDistrictImport } from "../entities/SubDistrictImport";
|
||||
import { EducationMis } from "../entities/mis/EducationMis";
|
||||
import { ProvinceImport } from "../entities/mis/ProvinceImport";
|
||||
import { AmphurImport } from "../entities/mis/AmphurImport";
|
||||
import { SubDistrictImport } from "../entities/mis/SubDistrictImport";
|
||||
import { Province } from "../entities/Province";
|
||||
import { District } from "../entities/District";
|
||||
import { SubDistrict } from "../entities/SubDistrict";
|
||||
import { HR_EDUCATION } from "../entities/HR_EDUCATION";
|
||||
import { HR_PERSONAL_OFFICER_ADDRESS } from "../entities/HR_PERSONAL_OFFICER_ADDRESS";
|
||||
import { HR_EDUCATION_EMP } from "../entities/HR_EDUCATION_EMP";
|
||||
import { HR_PERSONAL_EMP_ADDRESS } from "../entities/HR_PERSONAL_EMP_ADDRESS";
|
||||
import { HR_PERSONAL_EMP_FAMILY } from "../entities/HR_PERSONAL_EMP_FAMILY";
|
||||
import { HR_EDUCATION } from "../entities/mis/HR_EDUCATION";
|
||||
import { HR_PERSONAL_OFFICER_ADDRESS } from "../entities/mis/HR_PERSONAL_OFFICER_ADDRESS";
|
||||
import { HR_EDUCATION_EMP } from "../entities/mis/HR_EDUCATION_EMP";
|
||||
import { HR_PERSONAL_EMP_ADDRESS } from "../entities/mis/HR_PERSONAL_EMP_ADDRESS";
|
||||
import { HR_PERSONAL_EMP_FAMILY } from "../entities/mis/HR_PERSONAL_EMP_FAMILY";
|
||||
import { OrgRoot } from "../entities/OrgRoot";
|
||||
import { OrgChild1 } from "../entities/OrgChild1";
|
||||
import { OrgChild2 } from "../entities/OrgChild2";
|
||||
import { OrgChild3 } from "../entities/OrgChild3";
|
||||
import { OrgChild4 } from "../entities/OrgChild4";
|
||||
import { IMPORT_ORG } from "../entities/IMPORT_ORG";
|
||||
import { IMPORT_ORG } from "../entities/mis/IMPORT_ORG";
|
||||
import { OrgRevision } from "../entities/OrgRevision";
|
||||
import { OFFICER } from "../entities/OFFICER";
|
||||
import { OFFICER } from "../entities/mis/OFFICER";
|
||||
import { Position } from "../entities/Position";
|
||||
import { PosMaster } from "../entities/PosMaster";
|
||||
import { positionOfficer } from "../entities/positionOfficer";
|
||||
import { PosExecutive } from "../entities/PosExecutive";
|
||||
import { EducationLevel } from "../entities/EducationLevel";
|
||||
import { HR_FUND_COURSE_CODE } from "../entities/HR_FUND_COURSE_CODE";
|
||||
import { HR_MAJOR_CODE } from "../entities/HR_MAJOR_CODE";
|
||||
import { HR_FUND_COURSE_CODE } from "../entities/mis/HR_FUND_COURSE_CODE";
|
||||
import { HR_MAJOR_CODE } from "../entities/mis/HR_MAJOR_CODE";
|
||||
// import { uuidv7 } from "uuidv7";
|
||||
import { ProfileSalaries } from "../entities/ProfileSalaries";
|
||||
import { HR_POSITION_OFFICER } from "../entities/HR_POSITION_OFFICER";
|
||||
import { EMPLOYEE } from "../entities/EMPLOYEE";
|
||||
import { ProfileSalaries } from "../entities/mis/ProfileSalaries";
|
||||
import { HR_POSITION_OFFICER } from "../entities/mis/HR_POSITION_OFFICER";
|
||||
import { EMPLOYEE } from "../entities/mis/EMPLOYEE";
|
||||
import { EmployeePosLevel } from "../entities/EmployeePosLevel";
|
||||
import { EmployeePosType } from "../entities/EmployeePosType";
|
||||
import { EmployeePosMaster } from "../entities/EmployeePosMaster";
|
||||
import { EmployeePosition } from "../entities/EmployeePosition";
|
||||
import { HR_POSITION_EMPLOYEE } from "../entities/HR_POSITION_EMPLOYEE";
|
||||
import { HR_POSITION_EMPLOYEE } from "../entities/mis/HR_POSITION_EMPLOYEE";
|
||||
import { ProfileDiscipline } from "../entities/ProfileDiscipline";
|
||||
import { ProfileInsignia } from "../entities/ProfileInsignia";
|
||||
import { HR_DISCIPLINE_EMP } from "../entities/HR_DISCIPLINE_EMP";
|
||||
import { HR_DISCIPLINE } from "../entities/HR_DISCIPLINE";
|
||||
import { HR_INSIGNIA } from "../entities/HR_INSIGNIA";
|
||||
import { HR_INSIGNIA_EMP } from "../entities/HR_INSIGNIA_EMP";
|
||||
import { HR_DISCIPLINE_EMP } from "../entities/mis/HR_DISCIPLINE_EMP";
|
||||
import { HR_DISCIPLINE } from "../entities/mis/HR_DISCIPLINE";
|
||||
import { HR_INSIGNIA } from "../entities/mis/HR_INSIGNIA";
|
||||
import { HR_INSIGNIA_EMP } from "../entities/mis/HR_INSIGNIA_EMP";
|
||||
import { Insignia } from "../entities/Insignia";
|
||||
import { ProfileChildren } from "../entities/ProfileChildren";
|
||||
import { ProfileChangeName } from "../entities/ProfileChangeName";
|
||||
import { HR_CHILDEN } from "../entities/HR_CHILDEN";
|
||||
import { HR_CHILDEN_EMP } from "../entities/HR_CHILDEN_EMP";
|
||||
import { HR_CHANGENAME } from "../entities/HR_CHANGENAME";
|
||||
import { HR_CHANGENAME_EMP } from "../entities/HR_CHANGENAME_EMP";
|
||||
import { HR_CHILDEN } from "../entities/mis/HR_CHILDEN";
|
||||
import { HR_CHILDEN_EMP } from "../entities/mis/HR_CHILDEN_EMP";
|
||||
import { HR_CHANGENAME } from "../entities/mis/HR_CHANGENAME";
|
||||
import { HR_CHANGENAME_EMP } from "../entities/mis/HR_CHANGENAME_EMP";
|
||||
import { ProfileHonor } from "../entities/ProfileHonor";
|
||||
import { ProfileAbility } from "../entities/ProfileAbility";
|
||||
import { ProfileDuty } from "../entities/ProfileDuty";
|
||||
import { ProfileNopaid } from "../entities/ProfileNopaid";
|
||||
import { ProfileOther } from "../entities/ProfileOther";
|
||||
import { ProfileCertificate } from "../entities/ProfileCertificate";
|
||||
import { ProfileAbilitys } from "../entities/ProfileAbilitys";
|
||||
import { ProfileCertificates } from "../entities/ProfileCertificates";
|
||||
import { ProfileDutys } from "../entities/ProfileDutys";
|
||||
import { ProfileHonors } from "../entities/ProfileHonors";
|
||||
import { ProfileNopaids } from "../entities/ProfileNopaids";
|
||||
import { ProfileOthers } from "../entities/ProfileOthers";
|
||||
import { ProfileDisciplines } from "../entities/ProfileDisciplines";
|
||||
import { ProfileChangeNames } from "../entities/ProfileChangeNames";
|
||||
import { ProfileChildrens } from "../entities/ProfileChildrens";
|
||||
import { ProfileEducations } from "../entities/ProfileEducations";
|
||||
import { ProfileInsignias } from "../entities/ProfileInsignias";
|
||||
import { ProfileAbilitys } from "../entities/mis/ProfileAbilitys";
|
||||
import { ProfileCertificates } from "../entities/mis/ProfileCertificates";
|
||||
import { ProfileDutys } from "../entities/mis/ProfileDutys";
|
||||
import { ProfileHonors } from "../entities/mis/ProfileHonors";
|
||||
import { ProfileNopaids } from "../entities/mis/ProfileNopaids";
|
||||
import { ProfileOthers } from "../entities/mis/ProfileOthers";
|
||||
import { ProfileDisciplines } from "../entities/mis/ProfileDisciplines";
|
||||
import { ProfileChangeNames } from "../entities/mis/ProfileChangeNames";
|
||||
import { ProfileChildrens } from "../entities/mis/ProfileChildrens";
|
||||
import { ProfileEducations } from "../entities/mis/ProfileEducations";
|
||||
import { ProfileInsignias } from "../entities/mis/ProfileInsignias";
|
||||
import { ProfileLeave } from "../entities/ProfileLeave";
|
||||
import { ProfileLeaves } from "../entities/ProfileLeaves";
|
||||
import { ProfileLeaves } from "../entities/mis/ProfileLeaves";
|
||||
import { ProfileSalaryTemp } from "../entities/ProfileSalaryTemp";
|
||||
import { ProfileTraining } from "../entities/ProfileTraining";
|
||||
import { ProfileTrainings } from "../entities/ProfileTrainings";
|
||||
import { EMPLOYEETEMP } from "../entities/EMPLOYEETEMP";
|
||||
import { HR_CHANGENAME_EMPTEMP } from "../entities/HR_CHANGENAME_EMPTEMP";
|
||||
import { HR_DISCIPLINE_EMPTEMP } from "../entities/HR_DISCIPLINE_EMPTEMP";
|
||||
import { HR_EDUCATION_EMPTEMP } from "../entities/HR_EDUCATION_EMPTEMP";
|
||||
import { HR_PERSONAL_EMPTEMP_ADDRESS } from "../entities/HR_PERSONAL_EMPTEMP_ADDRESS";
|
||||
import { HR_PERSONAL_EMPTEMP_FAMILY } from "../entities/HR_PERSONAL_EMPTEMP_FAMILY";
|
||||
import { HR_POSITION_EMPLOYEETEMP } from "../entities/HR_POSITION_EMPLOYEETEMP";
|
||||
import { ProfileTrainings } from "../entities/mis/ProfileTrainings";
|
||||
import { EMPLOYEETEMP } from "../entities/mis/EMPLOYEETEMP";
|
||||
import { HR_CHANGENAME_EMPTEMP } from "../entities/mis/HR_CHANGENAME_EMPTEMP";
|
||||
import { HR_DISCIPLINE_EMPTEMP } from "../entities/mis/HR_DISCIPLINE_EMPTEMP";
|
||||
import { HR_EDUCATION_EMPTEMP } from "../entities/mis/HR_EDUCATION_EMPTEMP";
|
||||
import { HR_PERSONAL_EMPTEMP_ADDRESS } from "../entities/mis/HR_PERSONAL_EMPTEMP_ADDRESS";
|
||||
import { HR_PERSONAL_EMPTEMP_FAMILY } from "../entities/mis/HR_PERSONAL_EMPTEMP_FAMILY";
|
||||
import { HR_POSITION_EMPLOYEETEMP } from "../entities/mis/HR_POSITION_EMPLOYEETEMP";
|
||||
import { positionOfficer } from "../entities/mis/positionOfficer";
|
||||
@Route("api/v1/org/upload")
|
||||
@Tags("UPLOAD")
|
||||
@Security("bearerAuth")
|
||||
|
|
|
|||
|
|
@ -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({
|
||||
|
|
|
|||
|
|
@ -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}")
|
||||
|
|
|
|||
|
|
@ -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" },
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue