From e305ea7a8898f54f0fc6a4ed36ede28fc8ab53ee Mon Sep 17 00:00:00 2001 From: kittapath Date: Fri, 21 Feb 2025 19:10:27 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A=E0=B8=AD?= =?UTF-8?q?=E0=B8=AD=E0=B8=81=E0=B8=84=E0=B8=B3=E0=B8=AA=E0=B8=B1=E0=B9=88?= =?UTF-8?q?=E0=B8=87=E0=B8=A5=E0=B8=87=E0=B8=95=E0=B8=B3=E0=B9=81=E0=B8=AB?= =?UTF-8?q?=E0=B8=99=E0=B9=88=E0=B8=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/CommandController.ts | 526 ++++++++-------- src/controllers/DPISController.ts | 4 +- src/controllers/ImportDataController.ts | 350 +++++------ .../OrganizationDotnetController.ts | 18 +- .../OrganizationUnauthorizeController.ts | 107 ++-- src/controllers/ProfileController.ts | 566 +++++++++--------- src/controllers/ProfileEmployeeController.ts | 61 +- .../ProfileEmployeeTempController.ts | 72 ++- src/controllers/ProfileSalaryController.ts | 3 - .../ProfileSalaryEmployeeController.ts | 3 - .../ProfileSalaryEmployeeTempController.ts | 2 - src/controllers/ReportController.ts | 60 +- src/entities/CommandType.ts | 4 +- src/entities/ProfileSalary.ts | 281 +++++---- src/entities/ProfileSalaryHistory.ts | 213 ++++--- ...POSITION_OFFICER.ts => positionOfficer.ts} | 110 ++-- src/interfaces/functionMain.ts | 1 - src/interfaces/utils.ts | 2 +- ...1740139573883-updateprofilesalaryaddmis.ts | 108 ++++ src/services/rabbitmq.ts | 9 +- 20 files changed, 1317 insertions(+), 1183 deletions(-) rename src/entities/{HR_POSITION_OFFICER.ts => positionOfficer.ts} (71%) create mode 100644 src/migration/1740139573883-updateprofilesalaryaddmis.ts diff --git a/src/controllers/CommandController.ts b/src/controllers/CommandController.ts index 7163b44a..74be9cb5 100644 --- a/src/controllers/CommandController.ts +++ b/src/controllers/CommandController.ts @@ -230,17 +230,17 @@ export class CommandController extends Controller { const regex = /\/(\d{4})$/; const match = keyword.match(regex); if (match) { - baseKeyword = keyword.substring(0, keyword.lastIndexOf('/')).trim(); + baseKeyword = keyword.substring(0, keyword.lastIndexOf("/")).trim(); yearKeyword = match[1].trim(); } - let yearInBC = yearKeyword ? (parseInt(yearKeyword) - 543) : null; + let yearInBC = yearKeyword ? parseInt(yearKeyword) - 543 : null; // - + // console.log("k>>",keyword); // console.log("bk>>",baseKeyword); // console.log("yk>>",yearKeyword); // console.log("yi>>",yearInBC); - + const [commands, total] = await this.commandRepository .createQueryBuilder("command") .andWhere( @@ -292,9 +292,12 @@ export class CommandController extends Controller { ) .andWhere( new Brackets((qb) => { - qb.where(keyword != null && keyword != "" ? "command.commandNo LIKE :baseKeyword" : "1=1", { - baseKeyword: `%${baseKeyword}%`, - }) + qb.where( + keyword != null && keyword != "" ? "command.commandNo LIKE :baseKeyword" : "1=1", + { + baseKeyword: `%${baseKeyword}%`, + }, + ) .orWhere(keyword != null && keyword != "" ? "command.issue LIKE :keyword" : "1=1", { keyword: `%${keyword}%`, }) @@ -2513,20 +2516,13 @@ export class CommandController extends Controller { body: { data: { profileId: string; - date?: Date | null; amount?: Double | null; amountSpecial?: Double | null; positionSalaryAmount?: Double | null; mouthSalaryAmount?: Double | null; - posNo: string | null; - position: string | null; - positionLine: string | null; - positionPathSide: string | null; positionExecutive: string | null; positionType: string | null; positionLevel: string | null; - refCommandNo: string | null; - templateDoc: string | null; posmasterId: string; positionId: string; commandId?: string | null; @@ -2535,9 +2531,16 @@ export class CommandController extends Controller { orgChild2?: string | null; orgChild3?: string | null; orgChild4?: string | null; - mpCee?: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + commandNo: string | null; + commandYear: number | null; + posNo: string | null; + posNoAbb: string | null; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; + positionName: string | null; + commandCode?: string | null; + commandName?: string | null; + remark: string | null; }[]; }, ) { @@ -2563,7 +2566,6 @@ export class CommandController extends Controller { lastUpdateFullName: req.user.name, createdAt: new Date(), lastUpdatedAt: new Date(), - refCommandDate: new Date(), }; Object.assign(data, { ...item, ...meta }); @@ -2647,17 +2649,12 @@ export class CommandController extends Controller { body: { data: { profileId: string; - date?: Date | null; amount?: Double | null; amountSpecial?: Double | null; positionSalaryAmount?: Double | null; mouthSalaryAmount?: Double | null; - posNo: string | null; - position: string | null; positionType: string | null; positionLevel: string | null; - refCommandNo: string | null; - templateDoc: string | null; posmasterId: string; positionId: string; commandId?: string | null; @@ -2666,9 +2663,16 @@ export class CommandController extends Controller { orgChild2?: string | null; orgChild3?: string | null; orgChild4?: string | null; - mpCee?: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + commandNo: string | null; + commandYear: number | null; + posNo: string | null; + posNoAbb: string | null; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; + positionName: string | null; + commandCode?: string | null; + commandName?: string | null; + remark: string | null; }[]; }, ) { @@ -2694,7 +2698,6 @@ export class CommandController extends Controller { lastUpdateFullName: req.user.name, createdAt: new Date(), lastUpdatedAt: new Date(), - refCommandDate: new Date(), }; Object.assign(data, { @@ -2788,20 +2791,13 @@ export class CommandController extends Controller { body: { data: { profileId: string; - date?: Date | null; amount?: Double | null; amountSpecial?: Double | null; positionSalaryAmount?: Double | null; mouthSalaryAmount?: Double | null; - posNo: string | null; - position: string | null; - positionLine: string | null; - positionPathSide: string | null; positionExecutive: string | null; positionType: string | null; positionLevel: string | null; - refCommandNo: string | null; - templateDoc: string | null; isLeave: boolean; leaveReason?: string | null; dateLeave?: Date | null; @@ -2812,9 +2808,16 @@ export class CommandController extends Controller { orgChild2?: string | null; orgChild3?: string | null; orgChild4?: string | null; - mpCee?: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + commandNo: string | null; + commandYear: number | null; + posNo: string | null; + posNoAbb: string | null; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; + positionName: string | null; + commandCode?: string | null; + commandName?: string | null; + remark: string | null; }[]; }, ) { @@ -2846,7 +2849,6 @@ export class CommandController extends Controller { lastUpdateFullName: req.user.name, createdAt: new Date(), lastUpdatedAt: new Date(), - refCommandDate: new Date(), }; Object.assign(data, { ...item, ...meta }); @@ -2879,9 +2881,9 @@ export class CommandController extends Controller { } } profile.leaveCommandId = item.commandId ?? _null; - profile.leaveCommandNo = item.refCommandNo ?? _null; + profile.leaveCommandNo = item.commandNo ?? _null; profile.leaveRemark = clearProfile.leaveRemark ?? _null; - profile.leaveDate = item.date ?? _null; + profile.leaveDate = item.commandDateAffect ?? _null; profile.leaveType = clearProfile.LeaveType ?? _null; profile.position = _null; profile.posTypeId = _null; @@ -2952,17 +2954,12 @@ export class CommandController extends Controller { body: { data: { profileId: string; - date?: Date | null; amount?: Double | null; amountSpecial?: Double | null; positionSalaryAmount?: Double | null; mouthSalaryAmount?: Double | null; - posNo: string | null; - position: string | null; positionType: string | null; positionLevel: string | null; - refCommandNo: string | null; - templateDoc: string | null; isLeave: boolean; leaveReason?: string | null; dateLeave?: Date | null; @@ -2973,12 +2970,17 @@ export class CommandController extends Controller { orgChild2?: string | null; orgChild3?: string | null; orgChild4?: string | null; - mpCee?: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; - positionLine?: string | null; - positionPathSide?: string | null; positionExecutive?: string | null; + commandNo: string | null; + commandYear: number | null; + posNo: string | null; + posNoAbb: string | null; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; + positionName: string | null; + commandCode?: string | null; + commandName?: string | null; + remark: string | null; }[]; }, ) { @@ -3007,7 +3009,6 @@ export class CommandController extends Controller { lastUpdateFullName: req.user.name, createdAt: new Date(), lastUpdatedAt: new Date(), - refCommandDate: new Date(), }; Object.assign(data, { @@ -3045,9 +3046,9 @@ export class CommandController extends Controller { } } profile.leaveCommandId = item.commandId ?? _null; - profile.leaveCommandNo = item.refCommandNo ?? _null; + profile.leaveCommandNo = item.commandNo ?? _null; profile.leaveRemark = clearProfile.leaveRemark ?? _null; - profile.leaveDate = item.date ?? _null; + profile.leaveDate = item.commandDateAffect ?? _null; profile.leaveType = clearProfile.LeaveType ?? _null; profile.position = _null; profile.posTypeId = _null; @@ -3067,20 +3068,13 @@ export class CommandController extends Controller { body: { data: { profileId: string; - date?: Date | null; amount?: Double | null; amountSpecial?: Double | null; positionSalaryAmount?: Double | null; mouthSalaryAmount?: Double | null; - posNo: string | null; - position: string | null; - positionLine: string | null; - positionPathSide: string | null; positionExecutive: string | null; positionType: string | null; positionLevel: string | null; - refCommandNo: string | null; - templateDoc: string | null; commandId?: string | null; leaveReason?: string | null; dateLeave?: Date | null; @@ -3090,12 +3084,19 @@ export class CommandController extends Controller { orgChild2?: string | null; orgChild3?: string | null; orgChild4?: string | null; - mpCee?: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; officerOrg?: string | null; dateStart?: Date | null; dateEnd?: Date | null; + commandNo: string | null; + commandYear: number | null; + posNo: string | null; + posNoAbb: string | null; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; + positionName: string | null; + commandCode?: string | null; + commandName?: string | null; + remark: string | null; }[]; }, ) { @@ -3124,7 +3125,6 @@ export class CommandController extends Controller { lastUpdateFullName: req.user.name, createdAt: new Date(), lastUpdatedAt: new Date(), - refCommandDate: new Date(), }; if (item.isLeave != undefined && item.isLeave == true) { await removeProfileInOrganize(profile.id, "OFFICER"); @@ -3142,9 +3142,9 @@ export class CommandController extends Controller { } profile.isLeave = item.isLeave; profile.leaveCommandId = item.commandId ?? _null; - profile.leaveCommandNo = item.refCommandNo ?? _null; + profile.leaveCommandNo = item.commandNo ?? _null; profile.leaveRemark = clearProfile.leaveRemark ?? _null; - profile.leaveDate = item.date ?? _null; + profile.leaveDate = item.commandDateAffect ?? _null; profile.leaveType = clearProfile.LeaveType ?? _null; profile.position = _null; profile.posTypeId = _null; @@ -3178,7 +3178,7 @@ export class CommandController extends Controller { agency: item.officerOrg, dateStart: item.dateStart, dateEnd: item.dateEnd, - commandNo: item.refCommandNo, + commandNo: item.commandNo, refCommandDate: new Date(), commandId: item.commandId, createdUserId: req.user.sub, @@ -3211,29 +3211,31 @@ export class CommandController extends Controller { body: { data: { profileId: string; - date?: Date | null; amount?: Double | null; amountSpecial?: Double | null; positionSalaryAmount?: Double | null; mouthSalaryAmount?: Double | null; - posNo: string | null; - position: string | null; positionType: string | null; positionLevel: string | null; - refCommandNo: string | null; - templateDoc: string | null; commandId?: string | null; orgRoot?: string | null; orgChild1?: string | null; orgChild2?: string | null; orgChild3?: string | null; orgChild4?: string | null; - mpCee?: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; officerOrg?: string | null; dateStart?: Date | null; dateEnd?: Date | null; + commandNo: string | null; + commandYear: number | null; + posNo: string | null; + posNoAbb: string | null; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; + positionName: string | null; + commandCode?: string | null; + commandName?: string | null; + remark: string | null; }[]; }, ) { @@ -3259,7 +3261,6 @@ export class CommandController extends Controller { lastUpdateFullName: req.user.name, createdAt: new Date(), lastUpdatedAt: new Date(), - refCommandDate: new Date(), }; Object.assign(data, { @@ -3289,7 +3290,7 @@ export class CommandController extends Controller { agency: item.officerOrg, dateStart: item.dateStart, dateEnd: item.dateEnd, - commandNo: item.refCommandNo, + commandNo: item.commandNo, refCommandDate: new Date(), commandId: item.commandId, createdUserId: req.user.sub, @@ -3323,9 +3324,6 @@ export class CommandController extends Controller { data: { profileId: string; profileType?: string | null; - date?: Date | null; - refCommandNo?: string | null; - salaryRef?: string | null; isLeave: boolean | null; leaveReason?: string | null; dateLeave?: Date | null; @@ -3338,10 +3336,13 @@ export class CommandController extends Controller { positionSalaryAmount?: Double | null; mouthSalaryAmount?: Double | null; isGovernment?: boolean | null; - mpCee?: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; - refCommandDate?: Date | null; + commandNo: string | null; + commandYear: number | null; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; + commandCode?: string | null; + commandName?: string | null; + remark: string | null; }[]; }, ) { @@ -3390,27 +3391,28 @@ export class CommandController extends Controller { : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild4 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild3 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild2 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild1 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgRoot != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}` : null; + const posNo = `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}`; let position = profile.current_holders .filter((x) => x.orgRevisionId == orgRevision?.id)[0] @@ -3420,15 +3422,9 @@ export class CommandController extends Controller { const meta = { profileId: profile.id, commandId: item.commandId, - date: item.date, - refCommandNo: item.refCommandNo, - templateDoc: item.salaryRef, position: profile.position, positionType: profile?.posType?.posTypeName ?? null, positionLevel: profile?.posLevel?.posLevelName ?? null, - posNo: shortName ? shortName : null, - positionLine: position?.positionField ?? null, - positionPathSide: position?.positionArea ?? null, positionExecutive: position?.posExecutive?.posExecutiveName ?? null, amount: item.amount ? item.amount : null, positionSalaryAmount: item.positionSalaryAmount ? item.positionSalaryAmount : null, @@ -3452,10 +3448,16 @@ export class CommandController extends Controller { createdAt: new Date(), lastUpdatedAt: new Date(), dateGovernment: new Date(), - refCommandDate: new Date(), isGovernment: item.isGovernment, - refCommandCode: item.refCommandCode, - refCommandName: item.refCommandName, + commandNo: item.commandNo, + commandYear: item.commandYear, + posNo: shortName, + posNoAbb: posNo, + commandDateAffect: item.commandDateAffect, + commandDateSign: item.commandDateSign, + commandCode: item.commandCode, + commandName: item.commandName, + remark: item.remark, }; Object.assign(data, meta); @@ -3506,12 +3508,11 @@ export class CommandController extends Controller { if (exceptClear.status) { _profile.leaveReason = item.leaveReason ?? _null; _profile.leaveCommandId = item.commandId ?? _null; - _profile.leaveCommandNo = item.refCommandNo ?? _null; + _profile.leaveCommandNo = item.commandNo ?? _null; _profile.leaveRemark = exceptClear.leaveRemark ?? _null; - _profile.leaveDate = item.date ?? _null; + _profile.leaveDate = item.commandDateAffect ?? _null; _profile.leaveType = exceptClear.LeaveType ?? _null; - } - else { + } else { await removeProfileInOrganize(_profile.id, "OFFICER"); } } @@ -3526,9 +3527,9 @@ export class CommandController extends Controller { } } _profile.leaveCommandId = item.commandId ?? _null; - _profile.leaveCommandNo = item.refCommandNo ?? _null; + _profile.leaveCommandNo = item.commandNo ?? _null; _profile.leaveRemark = clearProfile.leaveRemark ?? _null; - _profile.leaveDate = item.date ?? _null; + _profile.leaveDate = item.commandDateAffect ?? _null; _profile.leaveType = clearProfile.LeaveType ?? _null; _profile.position = _null; _profile.posTypeId = _null; @@ -3579,27 +3580,28 @@ export class CommandController extends Controller { : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild4 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild3 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild2 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild1 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgRoot != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}` : null; + const posNo = `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}`; // let position = // profile.current_holders // .filter((x) => x.orgRevisionId == orgRevision?.id)[0] @@ -3609,16 +3611,9 @@ export class CommandController extends Controller { const meta = { profileEmployeeId: profile.id, commandId: item.commandId, - date: item.date, - refCommandNo: item.refCommandNo, - templateDoc: item.salaryRef, position: profile.position, positionType: profile?.posType?.posTypeName ?? null, positionLevel: profile?.posLevel?.posLevelName ?? null, - posNo: shortName ? shortName : null, - // positionLine: position?.positionField ?? "-", - // positionPathSide: position?.positionArea ?? "-", - // positionExecutive: position?.posExecutive?.posExecutiveName ?? "-", amount: item.amount ? item.amount : null, positionSalaryAmount: item.positionSalaryAmount ? item.positionSalaryAmount : null, mouthSalaryAmount: item.mouthSalaryAmount ? item.mouthSalaryAmount : null, @@ -3640,10 +3635,16 @@ export class CommandController extends Controller { createdAt: new Date(), lastUpdatedAt: new Date(), dateGovernment: new Date(), - refCommandDate: new Date(), isGovernment: item.isGovernment, - refCommandCode: item.refCommandCode, - refCommandName: item.refCommandName, + commandNo: item.commandNo, + commandYear: item.commandYear, + posNo: shortName, + posNoAbb: posNo, + commandDateAffect: item.commandDateAffect, + commandDateSign: item.commandDateSign, + commandCode: item.commandCode, + commandName: item.commandName, + remark: item.remark, }; Object.assign(data, meta); @@ -3699,12 +3700,11 @@ export class CommandController extends Controller { if (exceptClear.status) { _profile.leaveReason = item.leaveReason ?? _null; _profile.leaveCommandId = item.commandId ?? _null; - _profile.leaveCommandNo = item.refCommandNo ?? _null; + _profile.leaveCommandNo = item.commandNo ?? _null; _profile.leaveRemark = exceptClear.leaveRemark ?? _null; - _profile.leaveDate = item.date ?? _null; + _profile.leaveDate = item.commandDateAffect ?? _null; _profile.leaveType = exceptClear.LeaveType ?? _null; - } - else { + } else { await removeProfileInOrganize(_profile.id, "EMPLOYEE"); } } @@ -3719,9 +3719,9 @@ export class CommandController extends Controller { } } _profile.leaveCommandId = item.commandId ?? _null; - _profile.leaveCommandNo = item.refCommandNo ?? _null; + _profile.leaveCommandNo = item.commandNo ?? _null; _profile.leaveRemark = clearProfile.leaveRemark ?? _null; - _profile.leaveDate = item.date ?? _null; + _profile.leaveDate = item.commandDateAffect ?? _null; _profile.leaveType = clearProfile.LeaveType ?? _null; _profile.position = _null; _profile.posTypeId = _null; @@ -3743,9 +3743,6 @@ export class CommandController extends Controller { body: { data: { profileId: string; - date?: Date | null; - refCommandNo?: string | null; - salaryRef?: string | null; isLeave: boolean | null; leaveReason?: string | null; dateLeave?: Date | null; @@ -3758,9 +3755,13 @@ export class CommandController extends Controller { positionSalaryAmount?: Double | null; mouthSalaryAmount?: Double | null; isGovernment?: boolean | null; - mpCee?: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + commandNo: string | null; + commandYear: number | null; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; + commandCode?: string | null; + commandName?: string | null; + remark: string | null; }[]; }, ) { @@ -3808,26 +3809,27 @@ export class CommandController extends Controller { : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild4 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild3 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild2 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild1 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgRoot != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}` : null; + const posNo = `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}`; // let position = // profile.current_holders // .filter((x) => x.orgRevisionId == orgRevision?.id)[0] @@ -3837,16 +3839,9 @@ export class CommandController extends Controller { const meta = { profileEmployeeId: profile.id, commandId: item.commandId, - date: item.date, - refCommandNo: item.refCommandNo, - templateDoc: item.salaryRef, position: profile.position, positionType: profile?.posType?.posTypeName ?? null, positionLevel: profile?.posLevel?.posLevelName ?? null, - posNo: shortName ? shortName : null, - // positionLine: position?.positionField ?? "-", - // positionPathSide: position?.positionArea ?? "-", - // positionExecutive: position?.posExecutive?.posExecutiveName ?? "-", amount: item.amount ? item.amount : null, amountSpecial: item.amountSpecial ? item.amountSpecial : null, positionSalaryAmount: item.positionSalaryAmount ? item.positionSalaryAmount : null, @@ -3869,10 +3864,16 @@ export class CommandController extends Controller { createdAt: new Date(), lastUpdatedAt: new Date(), dateGovernment: new Date(), - refCommandDate: new Date(), isGovernment: item.isGovernment, - refCommandCode: item.refCommandCode, - refCommandName: item.refCommandName, + commandNo: item.commandNo, + commandYear: item.commandYear, + posNo: shortName, + posNoAbb: posNo, + commandDateAffect: item.commandDateAffect, + commandDateSign: item.commandDateSign, + commandCode: item.commandCode, + commandName: item.commandName, + remark: item.remark, }; Object.assign(data, meta); @@ -3928,12 +3929,11 @@ export class CommandController extends Controller { if (exceptClear.status) { _profile.leaveReason = item.leaveReason ?? _null; _profile.leaveCommandId = item.commandId ?? _null; - _profile.leaveCommandNo = item.refCommandNo ?? _null; + _profile.leaveCommandNo = item.commandNo ?? _null; _profile.leaveRemark = exceptClear.leaveRemark ?? _null; - _profile.leaveDate = item.date ?? _null; + _profile.leaveDate = item.commandDateAffect ?? _null; _profile.leaveType = exceptClear.LeaveType ?? _null; - } - else { + } else { await removeProfileInOrganize(_profile.id, "EMPLOYEE"); } } @@ -3948,9 +3948,9 @@ export class CommandController extends Controller { } } _profile.leaveCommandId = item.commandId ?? _null; - _profile.leaveCommandNo = item.refCommandNo ?? _null; + _profile.leaveCommandNo = item.commandNo ?? _null; _profile.leaveRemark = clearProfile.leaveRemark ?? _null; - _profile.leaveDate = item.date ?? _null; + _profile.leaveDate = item.commandDateAffect ?? _null; _profile.leaveType = clearProfile.LeaveType ?? _null; _profile.position = _null; _profile.posTypeId = _null; @@ -3971,17 +3971,21 @@ export class CommandController extends Controller { body: { data: { profileId: string; - date?: Date | null; - refCommandNo?: string | null; - salaryRef?: string | null; commandId?: string | null; amount?: Double | null; amountSpecial?: Double | null; positionSalaryAmount?: Double | null; mouthSalaryAmount?: Double | null; - mpCee?: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + commandNo: string | null; + commandYear: number | null; + posNo: string | null; + posNoAbb: string | null; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; + positionName: string | null; + commandCode?: string | null; + commandName?: string | null; + remark: string | null; }[]; }, ) { @@ -4030,26 +4034,27 @@ export class CommandController extends Controller { : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild4 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild3 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild2 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild1 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgRoot != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}` : null; + const posNo = `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}`; let position = profile.current_holders .filter((x) => x.orgRevisionId == orgRevision?.id)[0] @@ -4058,16 +4063,10 @@ export class CommandController extends Controller { const data = new ProfileSalary(); const meta = { profileId: item.profileId, - date: item.date, - refCommandNo: item.refCommandNo, - templateDoc: item.salaryRef, commandId: item.commandId, position: profile.position, positionType: profile?.posType?.posTypeName ?? null, positionLevel: profile?.posLevel?.posLevelName ?? null, - posNo: shortName ? shortName : null, - positionLine: position?.positionField ?? null, - positionPathSide: position?.positionArea ?? null, positionExecutive: position?.posExecutive?.posExecutiveName ?? null, amount: item.amount ? item.amount : null, amountSpecial: item.amountSpecial ? item.amountSpecial : null, @@ -4090,9 +4089,15 @@ export class CommandController extends Controller { lastUpdateFullName: req.user.name, createdAt: new Date(), lastUpdatedAt: new Date(), - refCommandDate: new Date(), - refCommandCode: item.refCommandCode, - refCommandName: item.refCommandName, + commandNo: item.commandNo, + commandYear: item.commandYear, + posNo: shortName, + posNoAbb: posNo, + commandDateAffect: item.commandDateAffect, + commandDateSign: item.commandDateSign, + commandCode: item.commandCode, + commandName: item.commandName, + remark: item.remark, }; Object.assign(data, meta); const history = new ProfileSalaryHistory(); @@ -4127,18 +4132,19 @@ export class CommandController extends Controller { body: { data: { profileId: string; - date?: Date | null; - refCommandNo?: string | null; - salaryRef?: string | null; commandId?: string | null; amount?: Double | null; amountSpecial?: Double | null; positionSalaryAmount?: Double | null; mouthSalaryAmount?: Double | null; isGovernment?: boolean | null; - mpCee?: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + commandNo: string | null; + commandYear: number | null; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; + commandCode?: string | null; + commandName?: string | null; + remark: string | null; }[]; }, ) { @@ -4175,7 +4181,7 @@ export class CommandController extends Controller { if (!_profile) { throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลโปรไฟล์"); } - let dateLeave_: any = item.date; + let dateLeave_: any = item.commandDateAffect; _profile.isLeave = true; _profile.leaveReason = "คำสั่งให้ข้าราชการออกจากราชการเพราะผลการทดลองปฏิบัติหน้าที่ราชการต่ำกว่ามาตรฐานที่กำหนด"; @@ -4203,42 +4209,37 @@ export class CommandController extends Controller { : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild4 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild3 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild2 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild1 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgRoot != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}` : null; + const posNo = `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}`; let position = profile.current_holders .filter((x) => x.orgRevisionId == orgRevision?.id)[0] ?.positions?.filter((pos) => pos.positionIsSelected === true)[0] ?? null; const profileSalary: ProfileSalary = Object.assign(new ProfileSalary(), { profileId: item.profileId, - date: item.date, - refCommandNo: item.refCommandNo, - templateDoc: item.salaryRef, commandId: item.commandId, position: profile.position, positionType: profile?.posType?.posTypeName ?? null, positionLevel: profile?.posLevel?.posLevelName ?? null, - posNo: shortName, - positionLine: position?.positionField ?? null, - positionPathSide: position?.positionArea ?? null, positionExecutive: position?.posExecutive?.posExecutiveName ?? null, amount: item.amount ? item.amount : null, amountSpecial: item.amountSpecial ? item.amountSpecial : null, @@ -4262,10 +4263,16 @@ export class CommandController extends Controller { createdAt: new Date(), lastUpdatedAt: new Date(), dateGovernment: new Date(), - refCommandDate: new Date(), isGovernment: item.isGovernment, - refCommandCode: item.refCommandCode, - refCommandName: item.refCommandName, + commandNo: item.commandNo, + commandYear: item.commandYear, + posNo: shortName, + posNoAbb: posNo, + commandDateAffect: item.commandDateAffect, + commandDateSign: item.commandDateSign, + commandCode: item.commandCode, + commandName: item.commandName, + remark: item.remark, }); await removeProfileInOrganize(profile.id, "OFFICER"); const clearProfile = await checkCommandType(String(item.commandId)); @@ -4280,9 +4287,9 @@ export class CommandController extends Controller { } } _profile.leaveCommandId = item.commandId ?? _null; - _profile.leaveCommandNo = item.refCommandNo ?? _null; + _profile.leaveCommandNo = item.commandNo ?? _null; _profile.leaveRemark = clearProfile.leaveRemark ?? _null; - _profile.leaveDate = item.date ?? _null; + _profile.leaveDate = item.commandDateAffect ?? _null; _profile.leaveType = clearProfile.LeaveType ?? _null; _profile.position = _null; _profile.posTypeId = _null; @@ -4335,7 +4342,6 @@ export class CommandController extends Controller { lastUpdateFullName: req.user.name, createdAt: new Date(), lastUpdatedAt: new Date(), - refCommandDate: new Date(), }; const _null: any = null; if (item.bodyProfile.posLevelId === "") item.bodyProfile.posLevelId = null; @@ -4493,7 +4499,6 @@ export class CommandController extends Controller { profile.lastUpdateUserId = req.user.sub; profile.lastUpdateFullName = req.user.name; profile.lastUpdatedAt = new Date(); - profile.refCommandDate = new Date(); await this.profileRepository.save(profile); setLogDataDiff(req, { before, after: profile }); } @@ -4696,18 +4701,18 @@ export class CommandController extends Controller { body: { refIds: { refId: string; - commandAffectDate: Date | null; - commandNo: string | null; commandId?: string | null; - commandYear: number; - templateDoc: string | null; amount: Double | null; amountSpecial?: Double | null; positionSalaryAmount: Double | null; mouthSalaryAmount: Double | null; - mpCee?: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + commandNo: string | null; + commandYear: number; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; + commandCode?: string | null; + commandName?: string | null; + remark: string | null; }[]; }, ) { @@ -4725,15 +4730,15 @@ export class CommandController extends Controller { throw new HttpError(HttpStatus.BAD_REQUEST, "ไม่พบ profile ดังกล่าว"); } const orgRevision = await this.orgRevisionRepository.findOne({ - where: { + where: { orgRevisionIsCurrent: true, - orgRevisionIsDraft: false - } + orgRevisionIsDraft: false, + }, }); const _posMaster = await this.employeePosMasterRepository.findOne({ - where: { + where: { orgRevisionId: orgRevision?.id, - id: profile.posmasterIdTemp + id: profile.posmasterIdTemp, // current_holderId: profile.id }, relations: { @@ -4767,33 +4772,35 @@ export class CommandController extends Controller { const meta = { profileEmployeeId: profile.id, - date: new Date(), amount: item.amount, amountSpecial: item.amountSpecial, commandId: item.commandId, positionSalaryAmount: item.positionSalaryAmount, mouthSalaryAmount: item.mouthSalaryAmount, - posNo: `${orgShortName ?? ""} ${profile.posMasterNoTemp ?? ""}`, position: profile.positionTemp, positionType: profile.posTypeNameTemp, positionLevel: profile.posLevelNameTemp, - refCommandNo: `${item.commandNo}/${Extension.ToThaiYear(item.commandYear)}`, - templateDoc: item.templateDoc, order: dest_item == null ? 1 : dest_item.order + 1, // orgRoot: orgRootRef?.orgRootName??null, // orgChild1: orgChild1Ref?.orgChild1Name??null, // orgChild2: orgChild2Ref?.orgChild2Name??null, // orgChild3: orgChild3Ref?.orgChild3Name??null, // orgChild4: orgChild4Ref?.orgChild4Name??null, - refCommandCode: item.refCommandCode, - refCommandName: item.refCommandName, createdUserId: req.user.sub, createdFullName: req.user.name, lastUpdateUserId: req.user.sub, lastUpdateFullName: req.user.name, createdAt: new Date(), lastUpdatedAt: new Date(), - refCommandDate: new Date(), + commandNo: item.commandNo, + commandYear: item.commandYear, + posNo: orgShortName, + posNoAbb: profile.posMasterNoTemp ?? "", + commandDateAffect: item.commandDateAffect, + commandDateSign: item.commandDateSign, + commandCode: item.commandCode, + commandName: item.commandName, + remark: item.remark, }; Object.assign(data, meta); @@ -4921,11 +4928,11 @@ export class CommandController extends Controller { root: posMaster.orgRoot.orgRootName, rootId: posMaster.orgRootId, rootShortName: posMaster.orgRoot.orgRootShortName, - rootDnaId: posMaster.orgRoot?.ancestorDNA??_null, - child1DnaId: posMaster.orgChild1?.ancestorDNA??_null, - child2DnaId: posMaster.orgChild2?.ancestorDNA??_null, - child3DnaId: posMaster.orgChild3?.ancestorDNA??_null, - child4DnaId: posMaster.orgChild4?.ancestorDNA??_null, + rootDnaId: posMaster.orgRoot?.ancestorDNA ?? _null, + child1DnaId: posMaster.orgChild1?.ancestorDNA ?? _null, + child2DnaId: posMaster.orgChild2?.ancestorDNA ?? _null, + child3DnaId: posMaster.orgChild3?.ancestorDNA ?? _null, + child4DnaId: posMaster.orgChild4?.ancestorDNA ?? _null, }); await this.profileEmployeeRepository.save(profile); await this.employeePositionRepository.save(positionNew); @@ -4966,18 +4973,18 @@ export class CommandController extends Controller { body: { refIds: { refId: string; - commandAffectDate: Date | null; - commandNo: string | null; commandId?: string | null; - commandYear: number; - templateDoc: string | null; amount: Double | null; amountSpecial?: Double | null; positionSalaryAmount: Double | null; mouthSalaryAmount: Double | null; - mpCee?: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + commandNo: string | null; + commandYear: number; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; + commandCode?: string | null; + commandName?: string | null; + remark: string | null; }[]; }, ) { @@ -5016,25 +5023,22 @@ export class CommandController extends Controller { const shortName = item.posMaster != null && item.posMaster.orgChild4 != null - ? `${item.posMaster.orgChild4.orgChild4ShortName}${item.posMaster.posMasterNo}` + ? `${item.posMaster.orgChild4.orgChild4ShortName}` : item.posMaster != null && item.posMaster?.orgChild3 != null - ? `${item.posMaster.orgChild3.orgChild3ShortName}${item.posMaster.posMasterNo}` + ? `${item.posMaster.orgChild3.orgChild3ShortName}` : item.posMaster != null && item.posMaster?.orgChild2 != null - ? `${item.posMaster.orgChild2.orgChild2ShortName}${item.posMaster.posMasterNo}` + ? `${item.posMaster.orgChild2.orgChild2ShortName}` : item.posMaster != null && item.posMaster?.orgChild1 != null - ? `${item.posMaster.orgChild1.orgChild1ShortName}${item.posMaster.posMasterNo}` + ? `${item.posMaster.orgChild1.orgChild1ShortName}` : item.posMaster != null && item.posMaster?.orgRoot != null - ? `${item.posMaster.orgRoot.orgRootShortName}${item.posMaster.posMasterNo}` + ? `${item.posMaster.orgRoot.orgRootShortName}` : null; const metaAct = { profileId: item.posMasterChild.current_holderId, - dateStart: body.refIds[0].commandAffectDate, + dateStart: body.refIds[0].commandDateAffect, dateEnd: null, - posNo: shortName, position: item.posMaster.current_holder.position, status: true, - commandNo: `${body.refIds[0].commandNo}/${Extension.ToThaiYear(body.refIds[0].commandYear)}`, - refCommandDate: new Date(), commandId: body.refIds[0].commandId, createdUserId: req.user.sub, createdFullName: req.user.name, @@ -5042,6 +5046,15 @@ export class CommandController extends Controller { lastUpdateFullName: req.user.name, createdAt: new Date(), lastUpdatedAt: new Date(), + commandNo: body.refIds[0].commandNo, + commandYear: body.refIds[0].commandYear, + posNo: shortName, + posNoAbb: item.posMaster.posMasterNo, + commandDateAffect: body.refIds[0].commandDateAffect, + commandDateSign: body.refIds[0].commandDateSign, + commandCode: body.refIds[0].commandCode, + commandName: body.refIds[0].commandName, + remark: body.refIds[0].remark, }; const dataAct = new ProfileActposition(); @@ -5188,18 +5201,18 @@ export class CommandController extends Controller { body: { refIds: { refId: string; - commandAffectDate: Date | null; - commandNo: string | null; commandId?: string | null; - commandYear: number; - templateDoc: string | null; amount: Double | null; amountSpecial?: Double | null; positionSalaryAmount: Double | null; mouthSalaryAmount: Double | null; - mpCee?: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + commandNo: string | null; + commandYear: number; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; + commandCode?: string | null; + commandName?: string | null; + remark: string | null; }[]; }, ) { @@ -5229,15 +5242,15 @@ export class CommandController extends Controller { const orgChild4Ref = posMaster?.orgChild4 ?? null; const shortName = posMaster != null && posMaster.orgChild4 != null - ? `${posMaster.orgChild4.orgChild4ShortName}${posMaster.posMasterNo}` + ? `${posMaster.orgChild4.orgChild4ShortName}` : posMaster != null && posMaster.orgChild3 != null - ? `${posMaster.orgChild3.orgChild3ShortName}${posMaster.posMasterNo}` + ? `${posMaster.orgChild3.orgChild3ShortName}` : posMaster != null && posMaster.orgChild2 != null - ? `${posMaster.orgChild2.orgChild2ShortName}${posMaster.posMasterNo}` + ? `${posMaster.orgChild2.orgChild2ShortName}` : posMaster != null && posMaster.orgChild1 != null - ? `${posMaster.orgChild1.orgChild1ShortName}${posMaster.posMasterNo}` + ? `${posMaster.orgChild1.orgChild1ShortName}` : posMaster != null && posMaster?.orgRoot != null - ? `${posMaster.orgRoot.orgRootShortName}${posMaster.posMasterNo}` + ? `${posMaster.orgRoot.orgRootShortName}` : null; const profile = await this.profileRepository.findOne({ where: { id: posMaster.next_holderId }, @@ -5263,27 +5276,30 @@ export class CommandController extends Controller { commandId: item.commandId, positionSalaryAmount: item.positionSalaryAmount, mouthSalaryAmount: item.mouthSalaryAmount, - posNo: shortName ?? null, position: position?.positionName ?? null, positionType: position?.posType?.posTypeName ?? null, positionLevel: position?.posLevel?.posLevelName ?? null, - refCommandNo: `${item.commandNo}/${Extension.ToThaiYear(item.commandYear)}`, - templateDoc: item.templateDoc, order: dest_item == null ? 1 : dest_item.order + 1, orgRoot: orgRootRef?.orgRootName ?? null, orgChild1: orgChild1Ref?.orgChild1Name ?? null, orgChild2: orgChild2Ref?.orgChild2Name ?? null, orgChild3: orgChild3Ref?.orgChild3Name ?? null, orgChild4: orgChild4Ref?.orgChild4Name ?? null, - refCommandCode: item.refCommandCode, - refCommandName: item.refCommandName, createdUserId: req.user.sub, createdFullName: req.user.name, lastUpdateUserId: req.user.sub, lastUpdateFullName: req.user.name, createdAt: new Date(), lastUpdatedAt: new Date(), - refCommandDate: new Date(), + commandNo: item.commandNo, + commandYear: item.commandYear, + posNo: shortName, + posNoAbb: posMaster.posMasterNo, + commandDateAffect: item.commandDateAffect, + commandDateSign: item.commandDateSign, + commandCode: item.commandCode, + commandName: item.commandName, + remark: item.remark, }; Object.assign(data, meta); const history = new ProfileSalaryHistory(); diff --git a/src/controllers/DPISController.ts b/src/controllers/DPISController.ts index 90cc09c0..16ac3e90 100644 --- a/src/controllers/DPISController.ts +++ b/src/controllers/DPISController.ts @@ -258,7 +258,7 @@ export class DPISController extends Controller { //relations: ["current_holders", "current_holders.orgRoot"], order: { profileSalary: { - date: "DESC", + commandDateAffect: "DESC", }, profileLeaves: { dateLeaveStart: "ASC", @@ -314,7 +314,7 @@ export class DPISController extends Controller { salaries: profile.profileSalary.map((item) => { return { posNo: item.posNo, - position: item.position, + position: item.positionName, positionType: item.positionType, positionLevel: item.positionLevel, amount: item.amount, diff --git a/src/controllers/ImportDataController.ts b/src/controllers/ImportDataController.ts index 5b581859..50f95b20 100644 --- a/src/controllers/ImportDataController.ts +++ b/src/controllers/ImportDataController.ts @@ -20,7 +20,6 @@ import * as fs from "fs"; import * as path from "path"; const { createConnection } = require("typeorm"); import csvParser from "csv-parser"; -import { HR_POSITION_OFFICER } from "../entities/HR_POSITION_OFFICER"; import { HR_PERSONAL_OFFICER_FAMILY } from "../entities/HR_PERSONAL_OFFICER_FAMILY"; const BATCH_SIZE = 1000; @@ -47,6 +46,7 @@ import { OrgRevision } from "../entities/OrgRevision"; import { OFFICER } from "../entities/OFFICER"; import { Position } from "../entities/Position"; import { PosMaster } from "../entities/PosMaster"; +import { positionOfficer } from "../entities/positionOfficer"; @Route("api/v1/org/upload") @Tags("UPLOAD") @@ -61,7 +61,7 @@ export class ImportDataController extends Controller { private profileEmpRepo = AppDataSource.getRepository(ProfileEmployee); private posLevelRepo = AppDataSource.getRepository(PosLevel); private posTypeRepo = AppDataSource.getRepository(PosType); - private HR_POSITION_OFFICERRepo = AppDataSource.getRepository(HR_POSITION_OFFICER); + private positionOfficerRepo = AppDataSource.getRepository(positionOfficer); private HR_PERSONAL_OFFICER_FAMILYRepo = AppDataSource.getRepository(HR_PERSONAL_OFFICER_FAMILY); private HR_EDUCATIONRepo = AppDataSource.getRepository(HR_EDUCATION); private HR_PERSONAL_OFFICER_ADDRESSRepo = AppDataSource.getRepository( @@ -328,115 +328,133 @@ export class ImportDataController extends Controller { .createQueryBuilder("profile") .select(["profile.citizenId", "profile.id"]) .orderBy("profile.citizenId", "ASC") - .skip(20000) - .take(10000) + .where("profile.citizenId = '3101702379675'") + // .skip(0) + // .take(10000) .getManyAndCount(); - // for (var i = 1; i <= total / BATCH_SIZE; i++) { - // const profiles = await AppDataSource.getRepository(Profile) - // .createQueryBuilder("profile") - // .select(["profile.citizenId", "profile.id"]) - // .orderBy("profile.citizenId", "ASC") - // .skip((i - 1) * BATCH_SIZE) - // .take(BATCH_SIZE) - // .getMany(); await Promise.all( profiles.map(async (_item) => { - console.log(">>>>>>>>>>>>>>>>>>>" + _item.citizenId); - const existingProfile = await this.HR_POSITION_OFFICERRepo.find({ - where: { CIT: _item.citizenId, FLAG_PERSON_TYPE: "1" }, - select: [ - "CIT", - "MP_POS_DATE", - "SALARY", - "MP_COMMAND_NUM", - "POS_NUM_NAME", - "POS_NUM_CODE", - "FLAG_TO_NAME", - "WORK_LINE_NAME", - "SPECIALIST_NAME", - "ADMIN_NAME", - "REMARK", - "ORDER_MOVE_POSITION", - "SAL_POS_AMOUNT_1", - "SAL_POS_AMOUNT_2", - "SPECIAL_AMT", - "MP_COMMAND_DATE", - "FLAG_TO_NAME_CODE", - "DEPARTMENT_NAME", - "DIVISION_NAME", - "SECTION_NAME", - "JOB_NAME", - "MP_CEE", - "USER_CREATE", - "USER_UPDATE", - ], + const existingProfile = await this.positionOfficerRepo.find({ + where: { citizenId: _item.citizenId, flag_person_type: "1" }, + order: { + mp_pos_date: "ASC", + order_move_position: "ASC", + }, }); await Promise.all( existingProfile.map(async (item) => { rowCount++; - const profileSalary = new ProfileSalary(); - profileSalary.date = item.MP_POS_DATE - ? new Date(item.MP_POS_DATE.replace(" +0700 +07:00", "")) - : null_; - const SALARY: any = - item.SALARY == null || item.SALARY == "" ? null_ : Number(item.SALARY); - profileSalary.amount = SALARY; - const SAL_POS_AMOUNT_1: any = - item.SAL_POS_AMOUNT_1 == null || item.SAL_POS_AMOUNT_1 == "" - ? null_ - : Number(item.SAL_POS_AMOUNT_1); - const SAL_POS_AMOUNT_2: any = - item.SAL_POS_AMOUNT_2 == null || item.SAL_POS_AMOUNT_2 == "" - ? null_ - : Number(item.SAL_POS_AMOUNT_2); - profileSalary.positionSalaryAmount = SAL_POS_AMOUNT_1 ?? SAL_POS_AMOUNT_2; - const SPECIAL_AMT: any = - item.SPECIAL_AMT == null || item.SPECIAL_AMT == "" ? null_ : Number(item.SPECIAL_AMT); - profileSalary.amountSpecial = SPECIAL_AMT; + const profileSalary: any = new ProfileSalary(); profileSalary.profileId = _item.id; - profileSalary.refCommandNo = item.MP_COMMAND_NUM; - profileSalary.posNo = item.POS_NUM_NAME + item.POS_NUM_CODE; - profileSalary.position = item.WORK_LINE_NAME; - profileSalary.positionPathSide = item.SPECIALIST_NAME; - profileSalary.positionExecutive = item.ADMIN_NAME; - profileSalary.templateDoc = item.REMARK; - profileSalary.refCommandDate = - item.MP_COMMAND_DATE == "" - ? new Date(item.MP_COMMAND_DATE.replace(" +0700 +07:00", "")) - : null_; - profileSalary.refCommandCode = item.FLAG_TO_NAME_CODE; - profileSalary.refCommandName = item.FLAG_TO_NAME; - profileSalary.orgRoot = item.DEPARTMENT_NAME; - profileSalary.orgChild1 = item.DIVISION_NAME; - profileSalary.orgChild2 = item.SECTION_NAME; - profileSalary.orgChild3 = item.JOB_NAME; - if (item.DEPARTMENT_CODE == "50") { - profileSalary.orgRoot = item.DIVISION_NAME; - profileSalary.orgChild1 = item.SECTION_NAME; - profileSalary.orgChild2 = item.JOB_NAME; + profileSalary.order = item.order_move_position; /// + profileSalary.commandNo = item.mp_command_num; + profileSalary.commandYear = item.cur_year; + profileSalary.commandDateSign = item.mp_command_date; + profileSalary.commandDateAffect = item.mp_pos_date; + profileSalary.commandCode = item.flag_to_name_code; + profileSalary.commandName = item.flag_to_name; + profileSalary.posNoAbb = item.pos_num_name; + profileSalary.posNo = item.pos_num_code; + profileSalary.positionName = item.work_line_name; + profileSalary.positionCee = item.mp_cee; + var positionType = ""; + var positionLevel = ""; + if (item.mp_cee == "21") { + positionType = "ทั่วไป"; + positionLevel = "ปฏิบัติงาน"; + } else if (item.mp_cee == "22") { + positionType = "ทั่วไป"; + positionLevel = "ชำนาญงาน"; + } else if (item.mp_cee == "23") { + positionType = "ทั่วไป"; + positionLevel = "อาวุโส"; + } else if (item.mp_cee == "24") { + positionType = "ทั่วไป"; + positionLevel = "อาวุโสเฉพาะสายงานที่กำหนด"; + } else if (item.mp_cee == "25") { + positionType = "ทั่วไป"; + positionLevel = "ทักษะพิเศษ"; + } else if (item.mp_cee == "26") { + positionType = "วิชาการ"; + positionLevel = "ปฏิบัติการ"; + } else if (item.mp_cee == "27") { + positionType = "วิชาการ"; + positionLevel = "ชำนาญการ"; + } else if (item.mp_cee == "28") { + positionType = "วิชาการ"; + positionLevel = "ชำนาญการพิเศษ"; + } else if (item.mp_cee == "29") { + positionType = "วิชาการ"; + positionLevel = "เชี่ยวชาญ"; + } else if (item.mp_cee == "30") { + positionType = "วิชาการ"; + positionLevel = "ทรงคุณวุฒิ"; + } else if (item.mp_cee == "31") { + positionType = "วิชาการ"; + positionLevel = "ทรงคุณวุฒิเฉพาะสายงานที่กำหนด"; + } else if (item.mp_cee == "32") { + positionType = "อำนวยการ"; + positionLevel = "ต้น"; + } else if (item.mp_cee == "33") { + positionType = "อำนวยการ"; + positionLevel = "สูง"; + } else if (item.mp_cee == "34") { + positionType = "บริหาร"; + positionLevel = "ต้น"; + } else if (item.mp_cee == "35") { + positionType = "บริหาร"; + positionLevel = "สูง"; } - profileSalary.mpCee = item.MP_CEE; - const ORDER_MOVE_POSITION: any = - item.ORDER_MOVE_POSITION == null || item.ORDER_MOVE_POSITION == "" + var _type = await this.posTypeRepo.findOne({ + where: { posTypeName: positionType }, + }); + profileSalary.positionType = _type == null ? null_ : _type.id; + if (_type != null) { + var _level = await this.posLevelRepo.findOne({ + where: { + posLevelName: positionLevel, + posTypeId: _type.id, + }, + }); + profileSalary.positionLevel = _level == null ? null_ : _level.id; + } + profileSalary.orgRoot = item.department_name; + profileSalary.orgChild1 = item.division_name; + profileSalary.orgChild2 = item.section_name; + profileSalary.orgChild3 = item.job_name; + if (item.department_code == "50") { + profileSalary.orgRoot = item.division_name; + profileSalary.orgChild1 = item.section_name; + profileSalary.orgChild2 = item.job_name; + } + profileSalary.positionExecutive = item.admin_name; + profileSalary.amount = item.salary; + profileSalary.remark = item.remark; + + const sal_pos_amount_1: any = + item.sal_pos_amount_1 == null || item.sal_pos_amount_1 == "" ? null_ - : Number(item.ORDER_MOVE_POSITION); - profileSalary.order = ORDER_MOVE_POSITION; + : Number(item.sal_pos_amount_1); + const sal_pos_amount_2: any = + item.sal_pos_amount_2 == null || item.sal_pos_amount_2 == "" + ? null_ + : Number(item.sal_pos_amount_2); + profileSalary.positionSalaryAmount = sal_pos_amount_1 ?? sal_pos_amount_2; + const special_amt: any = + item.special_amt == null || item.special_amt == "" ? null_ : Number(item.special_amt); + profileSalary.amountSpecial = special_amt; + profileSalary.createdUserId = request.user.sub; profileSalary.createdFullName = request.user.name; profileSalary.lastUpdateUserId = request.user.sub; profileSalary.lastUpdateFullName = request.user.name; - profileSalary.createdAt = - item.USER_CREATE == "" - ? new Date(item.USER_CREATE.replace(" +0700 +07:00", "")) - : new Date(); - profileSalary.lastUpdatedAt = - item.USER_UPDATE == "" - ? new Date(item.USER_UPDATE.replace(" +0700 +07:00", "")) - : new Date(); + profileSalary.createdAt = new Date(); + profileSalary.lastUpdatedAt = new Date(); console.log(">>>>>>>>>>>>>>>>>>>" + rowCount); - await this.salaryRepo.save(profileSalary); + // save to file + // await this.salaryRepo.save(profileSalary); }), ); }), @@ -457,115 +475,75 @@ export class ImportDataController extends Controller { .createQueryBuilder("profile") .select(["profile.citizenId", "profile.id"]) .orderBy("profile.citizenId", "ASC") - // .skip(0) - // .take(20) + .skip(0) + .take(10000) .getManyAndCount(); - // for (var i = 1; i <= total / BATCH_SIZE; i++) { - // const profiles = await AppDataSource.getRepository(ProfileEmployee) - // .createQueryBuilder("profile") - // .select(["profile.citizenId", "profile.id"]) - // .orderBy("profile.citizenId", "ASC") - // .skip((i - 1) * BATCH_SIZE) - // .take(BATCH_SIZE) - // .getMany(); await Promise.all( profiles.map(async (_item) => { - const existingProfile = await this.HR_POSITION_OFFICERRepo.find({ - where: { CIT: _item.citizenId }, - select: [ - "CIT", - "MP_POS_DATE", - "SALARY", - "MP_COMMAND_NUM", - "POS_NUM_NAME", - "POS_NUM_CODE", - "FLAG_TO_NAME", - "WORK_LINE_NAME", - "SPECIALIST_NAME", - "ADMIN_NAME", - "REMARK", - "ORDER_MOVE_POSITION", - "SAL_POS_AMOUNT_1", - "SAL_POS_AMOUNT_2", - "SPECIAL_AMT", - "MP_COMMAND_DATE", - "FLAG_TO_NAME_CODE", - "DEPARTMENT_NAME", - "DIVISION_NAME", - "SECTION_NAME", - "JOB_NAME", - "MP_CEE", - "USER_CREATE", - "USER_UPDATE", - ], + const existingProfile = await this.positionOfficerRepo.find({ + where: { citizenId: _item.citizenId, flag_person_type: "7" }, }); await Promise.all( existingProfile.map(async (item) => { rowCount++; - const profileSalary = new ProfileSalary(); - profileSalary.date = - item.MP_POS_DATE == "" - ? new Date(item.MP_POS_DATE.replace(" +0700 +07:00", "")) - : null_; - const SALARY: any = - item.SALARY == null || item.SALARY == "" ? null_ : Number(item.SALARY); - profileSalary.amount = SALARY; - const SAL_POS_AMOUNT_1: any = - item.SAL_POS_AMOUNT_1 == null || item.SAL_POS_AMOUNT_1 == "" + const profileSalary: any = new ProfileSalary(); + profileSalary.profileId = _item.id; + profileSalary.order = item.order_move_position; /// + profileSalary.commandNo = item.mp_command_num; + profileSalary.commandYear = item.cur_year; + profileSalary.commandDateSign = item.mp_command_date; + profileSalary.commandDateAffect = item.mp_pos_date; + profileSalary.commandCode = item.flag_to_name_code; + profileSalary.commandName = item.flag_to_name; + profileSalary.posNoAbb = item.pos_num_name; + profileSalary.posNo = item.pos_num_code; + profileSalary.positionName = item.work_line_name; + profileSalary.positionCee = item.mp_cee; + profileSalary.positionType = item.mp_cee; + profileSalary.positionLevel = item.mp_cee; + profileSalary.orgRoot = item.department_name; + profileSalary.orgChild1 = item.division_name; + profileSalary.orgChild2 = item.section_name; + profileSalary.orgChild3 = item.job_name; + if (item.department_code == "50") { + profileSalary.orgRoot = item.division_name; + profileSalary.orgChild1 = item.section_name; + profileSalary.orgChild2 = item.job_name; + } + profileSalary.positionExecutive = item.admin_name; + profileSalary.amount = item.salary; + profileSalary.remark = item.remark; + + const sal_pos_amount_1: any = + item.sal_pos_amount_1 == null || item.sal_pos_amount_1 == "" ? null_ - : Number(item.SAL_POS_AMOUNT_1); - const SAL_POS_AMOUNT_2: any = - item.SAL_POS_AMOUNT_2 == null || item.SAL_POS_AMOUNT_2 == "" + : Number(item.sal_pos_amount_1); + const sal_pos_amount_2: any = + item.sal_pos_amount_2 == null || item.sal_pos_amount_2 == "" ? null_ - : Number(item.SAL_POS_AMOUNT_2); - profileSalary.positionSalaryAmount = SAL_POS_AMOUNT_1 ?? SAL_POS_AMOUNT_2; - const SPECIAL_AMT: any = - item.SPECIAL_AMT == null || item.SPECIAL_AMT == "" ? null_ : Number(item.SPECIAL_AMT); - profileSalary.amountSpecial = SPECIAL_AMT; - profileSalary.profileEmployeeId = _item.id; - profileSalary.refCommandNo = item.MP_COMMAND_NUM; - profileSalary.posNo = item.POS_NUM_NAME + item.POS_NUM_CODE; - profileSalary.position = item.WORK_LINE_NAME; - profileSalary.positionPathSide = item.SPECIALIST_NAME; - profileSalary.positionExecutive = item.ADMIN_NAME; - profileSalary.templateDoc = item.REMARK; - profileSalary.refCommandDate = - item.MP_COMMAND_DATE == "" - ? new Date(item.MP_COMMAND_DATE.replace(" +0700 +07:00", "")) - : null_; - profileSalary.refCommandCode = item.FLAG_TO_NAME_CODE; - profileSalary.refCommandName = item.FLAG_TO_NAME; - profileSalary.orgRoot = item.DEPARTMENT_NAME; - profileSalary.orgChild1 = item.DIVISION_NAME; - profileSalary.orgChild2 = item.SECTION_NAME; - profileSalary.orgChild3 = item.JOB_NAME; - profileSalary.mpCee = item.MP_CEE; - const ORDER_MOVE_POSITION: any = - item.ORDER_MOVE_POSITION == null || item.ORDER_MOVE_POSITION == "" - ? null_ - : Number(item.ORDER_MOVE_POSITION); - profileSalary.order = ORDER_MOVE_POSITION; + : Number(item.sal_pos_amount_2); + profileSalary.positionSalaryAmount = sal_pos_amount_1 ?? sal_pos_amount_2; + const special_amt: any = + item.special_amt == null || item.special_amt == "" ? null_ : Number(item.special_amt); + profileSalary.amountSpecial = special_amt; + + profileSalary.commandId; + profileSalary.createdUserId = request.user.sub; profileSalary.createdFullName = request.user.name; profileSalary.lastUpdateUserId = request.user.sub; profileSalary.lastUpdateFullName = request.user.name; - profileSalary.createdAt = - item.USER_CREATE == "" - ? new Date(item.USER_CREATE.replace(" +0700 +07:00", "")) - : new Date(); - profileSalary.lastUpdatedAt = - item.USER_UPDATE == "" - ? new Date(item.USER_UPDATE.replace(" +0700 +07:00", "")) - : new Date(); + profileSalary.createdAt = new Date(); + profileSalary.lastUpdatedAt = new Date(); console.log(">>>>>>>>>>>>>>>>>>>" + rowCount); - await this.salaryRepo.save(profileSalary); + // save to file + // await this.salaryRepo.save(profileSalary); }), ); }), ); - // } console.log(rowCount); return new HttpSuccess(); } @@ -1472,12 +1450,12 @@ export class ImportDataController extends Controller { const allId = _profileOff.concat(_profileEmp); for (var i = 1; i <= 1000; i++) { - const HR_POSITION_OFFICER = await this.HR_POSITION_OFFICERRepo.find({ - where: { CIT: Not(In(allId)) }, + const positionOfficer = await this.positionOfficerRepo.find({ + where: { citizenId: Not(In(allId)) }, take: 1000, skip: 0, }); - this.HR_POSITION_OFFICERRepo.remove(HR_POSITION_OFFICER); + this.positionOfficerRepo.remove(positionOfficer); // const HR_PERSONAL_OFFICER_FAMILY = await this.HR_PERSONAL_OFFICER_FAMILYRepo.find({ // where: { CIT: Not(In(allId)) }, // take: 1000, diff --git a/src/controllers/OrganizationDotnetController.ts b/src/controllers/OrganizationDotnetController.ts index afde8364..d46d0105 100644 --- a/src/controllers/OrganizationDotnetController.ts +++ b/src/controllers/OrganizationDotnetController.ts @@ -289,7 +289,7 @@ export class OrganizationDotnetController extends Controller { where: { keycloak: keycloakId }, order: { profileSalary: { - date: "DESC", + commandDateAffect: "DESC", }, profileInsignias: { receiveDate: "DESC", @@ -318,7 +318,7 @@ export class OrganizationDotnetController extends Controller { where: { keycloak: keycloakId }, order: { profileSalary: { - date: "DESC", + commandDateAffect: "DESC", }, profileInsignias: { receiveDate: "DESC", @@ -918,7 +918,7 @@ export class OrganizationDotnetController extends Controller { where: { id: profileId }, order: { profileSalary: { - date: "DESC", + commandDateAffect: "DESC", }, profileInsignias: { receiveDate: "DESC", @@ -944,7 +944,7 @@ export class OrganizationDotnetController extends Controller { where: { id: profileId }, order: { profileSalary: { - date: "DESC", + commandDateAffect: "DESC", }, profileInsignias: { receiveDate: "DESC", @@ -1571,7 +1571,7 @@ export class OrganizationDotnetController extends Controller { where: { citizenId: citizenId }, order: { profileSalary: { - date: "DESC", + commandDateAffect: "DESC", }, profileInsignias: { receiveDate: "DESC", @@ -1597,7 +1597,7 @@ export class OrganizationDotnetController extends Controller { where: { citizenId: citizenId }, order: { profileSalary: { - date: "DESC", + commandDateAffect: "DESC", }, profileInsignias: { receiveDate: "DESC", @@ -2166,7 +2166,7 @@ export class OrganizationDotnetController extends Controller { where: { current_holders: { orgRootId: rootId } }, order: { profileSalary: { - date: "DESC", + commandDateAffect: "DESC", }, profileInsignias: { receiveDate: "DESC", @@ -2383,7 +2383,7 @@ export class OrganizationDotnetController extends Controller { where: { current_holders: { orgRootId: rootId } }, order: { profileSalary: { - date: "DESC", + commandDateAffect: "DESC", }, profileInsignias: { receiveDate: "DESC", @@ -2539,7 +2539,7 @@ export class OrganizationDotnetController extends Controller { })), order: { profileSalary: { - date: "DESC", + commandDateAffect: "DESC", }, profileInsignias: { receiveDate: "DESC", diff --git a/src/controllers/OrganizationUnauthorizeController.ts b/src/controllers/OrganizationUnauthorizeController.ts index 72858648..871b6ec4 100644 --- a/src/controllers/OrganizationUnauthorizeController.ts +++ b/src/controllers/OrganizationUnauthorizeController.ts @@ -32,7 +32,9 @@ export class OrganizationUnauthorizeController extends Controller { private profileEmpRepo = AppDataSource.getRepository(ProfileEmployee); private profileAssessmentRepo = AppDataSource.getRepository(ProfileAssessment); private viewProfileEvaluationRepo = AppDataSource.getRepository(viewProfileEvaluation); - private viewProfileEmployeeEvaluationRepo = AppDataSource.getRepository(viewProfileEmployeeEvaluation); + private viewProfileEmployeeEvaluationRepo = AppDataSource.getRepository( + viewProfileEmployeeEvaluation, + ); /** * API รายชื่อราชการที่เลื่อนเงินเดือน (unauthorize) @@ -1001,7 +1003,7 @@ export class OrganizationUnauthorizeController extends Controller { where: { current_holders: { orgRootId: rootId } }, order: { profileSalary: { - date: "DESC", + commandDateAffect: "DESC", }, profileInsignias: { receiveDate: "DESC", @@ -1080,7 +1082,7 @@ export class OrganizationUnauthorizeController extends Controller { where: { current_holders: { orgRootId: rootId } }, order: { profileSalary: { - date: "DESC", + commandDateAffect: "DESC", }, profileInsignias: { receiveDate: "DESC", @@ -1170,7 +1172,6 @@ export class OrganizationUnauthorizeController extends Controller { return new HttpSuccess("Email verified successfully."); } - /** * API ผลการประเมิน 5 ปีย้อนหลังนับจากปีปัจจุบัน * @@ -1208,80 +1209,102 @@ export class OrganizationUnauthorizeController extends Controller { // where:{ // ...condition // } - }) - if(conType == "EMPLOYEE"){ - lists = await this.viewProfileEmployeeEvaluationRepo.find({}) + }); + if (conType == "EMPLOYEE") { + lists = await this.viewProfileEmployeeEvaluationRepo.find({}); } - const groupData: any = {}; + const groupData: any = {}; const year = new Date().getFullYear(); const years = [year, year - 1, year - 2, year - 3, year - 4]; - + lists.forEach((item: any) => { - if (!groupData[conType == "EMPLOYEE"?item.profileEmployeeId:item.profileId]) { - groupData[conType == "EMPLOYEE"?item.profileEmployeeId:item.profileId] = { - profileId: conType == "EMPLOYEE"?item.profileEmployeeId:item.profileId, - yearAPR1: "-", periodAPR1: "-", resultAPR1: "-", - yearOCT1: "-", periodOCT1: "-", resultOCT1: "-", - yearAPR2: "-", periodAPR2: "-", resultAPR2: "-", - yearOCT2: "-", periodOCT2: "-", resultOCT2: "-", - yearAPR3: "-", periodAPR3: "-", resultAPR3: "-", - yearOCT3: "-", periodOCT3: "-", resultOCT3: "-", - yearAPR4: "-", periodAPR4: "-", resultAPR4: "-", - yearOCT4: "-", periodOCT4: "-", resultOCT4: "-", - yearAPR5: "-", periodAPR5: "-", resultAPR5: "-", - yearOCT5: "-", periodOCT5: "-", resultOCT5: "-" + if (!groupData[conType == "EMPLOYEE" ? item.profileEmployeeId : item.profileId]) { + groupData[conType == "EMPLOYEE" ? item.profileEmployeeId : item.profileId] = { + profileId: conType == "EMPLOYEE" ? item.profileEmployeeId : item.profileId, + yearAPR1: "-", + periodAPR1: "-", + resultAPR1: "-", + yearOCT1: "-", + periodOCT1: "-", + resultOCT1: "-", + yearAPR2: "-", + periodAPR2: "-", + resultAPR2: "-", + yearOCT2: "-", + periodOCT2: "-", + resultOCT2: "-", + yearAPR3: "-", + periodAPR3: "-", + resultAPR3: "-", + yearOCT3: "-", + periodOCT3: "-", + resultOCT3: "-", + yearAPR4: "-", + periodAPR4: "-", + resultAPR4: "-", + yearOCT4: "-", + periodOCT4: "-", + resultOCT4: "-", + yearAPR5: "-", + periodAPR5: "-", + resultAPR5: "-", + yearOCT5: "-", + periodOCT5: "-", + resultOCT5: "-", }; } - const yearIndex = years.indexOf(parseInt(item.year)); + const yearIndex = years.indexOf(parseInt(item.year)); if (yearIndex !== -1) { const yearSuffix = yearIndex + 1; const yearKey = `year${item.period}${yearSuffix}`; const periodKey = `period${item.period}${yearSuffix}`; const resultKey = `result${item.period}${yearSuffix}`; - - groupData[conType == "EMPLOYEE"?item.profileEmployeeId:item.profileId][yearKey] = item.year; - groupData[conType == "EMPLOYEE"?item.profileEmployeeId:item.profileId][periodKey] = item.period; - groupData[conType == "EMPLOYEE"?item.profileEmployeeId:item.profileId][resultKey] = item.result; + + groupData[conType == "EMPLOYEE" ? item.profileEmployeeId : item.profileId][yearKey] = + item.year; + groupData[conType == "EMPLOYEE" ? item.profileEmployeeId : item.profileId][periodKey] = + item.period; + groupData[conType == "EMPLOYEE" ? item.profileEmployeeId : item.profileId][resultKey] = + item.result; } }); const formattedResults = Object.values(groupData).map((x: any) => ({ profileId: x.profileId, yearAPR1: x.yearAPR1, periodAPR1: x.periodAPR1, - resultAPR1: x.resultAPR1?Extension.textPoint(x.resultAPR1):"-", + resultAPR1: x.resultAPR1 ? Extension.textPoint(x.resultAPR1) : "-", yearOCT1: x.yearOCT1, periodOCT1: x.periodOCT1, - resultOCT1: x.resultOCT1?Extension.textPoint(x.resultOCT1):"-", + resultOCT1: x.resultOCT1 ? Extension.textPoint(x.resultOCT1) : "-", yearAPR2: x.yearAPR2, periodAPR2: x.periodAPR2, - resultAPR2: x.resultAPR2?Extension.textPoint(x.resultAPR2):"-", + resultAPR2: x.resultAPR2 ? Extension.textPoint(x.resultAPR2) : "-", yearOCT2: x.yearOCT2, periodOCT2: x.periodOCT2, - resultOCT2: x.resultOCT2?Extension.textPoint(x.resultOCT2):"-", + resultOCT2: x.resultOCT2 ? Extension.textPoint(x.resultOCT2) : "-", yearAPR3: x.yearAPR3, periodAPR3: x.periodAPR3, - resultAPR3: x.resultAPR3?Extension.textPoint(x.resultAPR3):"-", + resultAPR3: x.resultAPR3 ? Extension.textPoint(x.resultAPR3) : "-", yearOCT3: x.yearOCT3, periodOCT3: x.periodOCT3, - resultOCT3: x.resultOCT3?Extension.textPoint(x.resultOCT3):"-", + resultOCT3: x.resultOCT3 ? Extension.textPoint(x.resultOCT3) : "-", yearAPR4: x.yearAPR4, periodAPR4: x.periodAPR4, - resultAPR4: x.resultAPR4?Extension.textPoint(x.resultAPR4):"-", + resultAPR4: x.resultAPR4 ? Extension.textPoint(x.resultAPR4) : "-", yearOCT4: x.yearOCT4, periodOCT4: x.periodOCT4, - resultOCT4: x.resultOCT4?Extension.textPoint(x.resultOCT4):"-", + resultOCT4: x.resultOCT4 ? Extension.textPoint(x.resultOCT4) : "-", yearAPR5: x.yearAPR5, periodAPR5: x.periodAPR5, - resultAPR5: x.resultAPR5?Extension.textPoint(x.resultAPR5):"-", + resultAPR5: x.resultAPR5 ? Extension.textPoint(x.resultAPR5) : "-", yearOCT5: x.yearOCT5, periodOCT5: x.periodOCT5, - resultOCT5: x.resultOCT5?Extension.textPoint(x.resultOCT5):"-", + resultOCT5: x.resultOCT5 ? Extension.textPoint(x.resultOCT5) : "-", })); - + return new HttpSuccess(formattedResults); } - // @Patch("retirement") // public async updateStatusRetirement( // @Body() @@ -1306,10 +1329,10 @@ export class OrganizationUnauthorizeController extends Controller { // profiles.push(_profile); // }) // ); - // await this.profileRepo.save(profiles); + // await this.profileRepo.save(profiles); // return new HttpSuccess(); // } - + // @Patch("retirement-employee") // public async updateStatusRetirementEmp( // @Body() @@ -1334,7 +1357,7 @@ export class OrganizationUnauthorizeController extends Controller { // profiles.push(_profile); // }) // ); - // await this.profileEmpRepo.save(profiles); + // await this.profileEmpRepo.save(profiles); // return new HttpSuccess(); // } } diff --git a/src/controllers/ProfileController.ts b/src/controllers/ProfileController.ts index a9d160da..ec74fe15 100644 --- a/src/controllers/ProfileController.ts +++ b/src/controllers/ProfileController.ts @@ -137,7 +137,7 @@ export class ProfileController extends Controller { where: { id: id }, order: { profileSalary: { - date: "DESC", + commandDateAffect: "DESC", }, }, }); @@ -225,40 +225,39 @@ export class ProfileController extends Controller { const salary_raw = await this.salaryRepo.find({ select: [ - "date", - "position", + "commandDateAffect", + "positionName", "posNo", "positionType", "positionLevel", "positionSalaryAmount", - "refCommandNo", + "commandNo", "amount", - "templateDoc", - "position", + "remark", "orgRoot", "orgChild1", "orgChild2", "orgChild3", "orgChild4", - "mpCee", "positionExecutive", ], where: { profileId: id }, - order: { date: "ASC" }, + order: { commandDateAffect: "ASC" }, }); const salarys = salary_raw.length > 1 ? salary_raw.slice(1).map((item) => ({ - date: item.date ? Extension.ToThaiNumber(Extension.ToThaiShortDate(item.date)) : null, - position: item.position != null ? item.position : "-", + date: item.commandDateAffect + ? Extension.ToThaiNumber(Extension.ToThaiShortDate(item.commandDateAffect)) + : null, + position: item.positionName != null ? item.positionName : "-", posNo: item.posNo != null ? Extension.ToThaiNumber(item.posNo) : null, orgRoot: item.orgRoot, orgChild1: item.orgChild1, orgChild2: item.orgChild2, orgChild3: item.orgChild3, orgChild4: item.orgChild4, - mpCee: item.mpCee, positionExecutive: item.positionExecutive, })) : [ @@ -271,7 +270,7 @@ export class ProfileController extends Controller { orgChild2: null, orgChild3: null, orgChild4: null, - mpCee: null, + positionCee: null, positionExecutive: null, }, ]; @@ -320,8 +319,8 @@ export class ProfileController extends Controller { `${_regisAddres}${_subDistrict}${_district}${_province}${registrationZipCode}`, ), date: - salary_raw.length > 0 && salary_raw[0].date != null - ? Extension.ToThaiNumber(Extension.ToThaiShortDate(salary_raw[0].date)) + salary_raw.length > 0 && salary_raw[0].commandDateAffect != null + ? Extension.ToThaiNumber(Extension.ToThaiShortDate(salary_raw[0].commandDateAffect)) : "", positionName: profile.position != null ? profile.position : "", appointText: @@ -333,12 +332,12 @@ export class ProfileController extends Controller { ? Extension.ToThaiNumber(Extension.ToThaiNumber(salary_raw[0].posNo)) : "", position: - salary_raw.length > 0 && salary_raw[0].position != null - ? Extension.ToThaiNumber(Extension.ToThaiNumber(salary_raw[0].position)) + salary_raw.length > 0 && salary_raw[0].positionName != null + ? Extension.ToThaiNumber(Extension.ToThaiNumber(salary_raw[0].positionName)) : "", - mpCee: - salary_raw.length > 0 && salary_raw[0].mpCee != null - ? Extension.ToThaiNumber(Extension.ToThaiNumber(salary_raw[0].mpCee)) + positionCee: + salary_raw.length > 0 && salary_raw[0].positionCee != null + ? Extension.ToThaiNumber(Extension.ToThaiNumber(salary_raw[0].positionCee)) : "", positionExecutive: salary_raw.length > 0 && salary_raw[0].positionExecutive != null @@ -639,15 +638,15 @@ export class ProfileController extends Controller { ]; const salary_raw = await this.salaryRepo.find({ select: [ - "date", - "position", + "commandDateAffect", + "positionName", "posNo", "positionType", "positionLevel", "positionSalaryAmount", - "refCommandNo", + "commandNo", "amount", - "templateDoc", + "remark", ], where: { profileId: id }, order: { order: "ASC" }, @@ -656,15 +655,15 @@ export class ProfileController extends Controller { const salarys = salary_raw.length > 0 ? salary_raw.map((item) => ({ - salaryDate: item.date - ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.date)) + salaryDate: item.commandDateAffect + ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.commandDateAffect)) : null, - position: item.position != null ? Extension.ToThaiNumber(item.position) : null, + position: item.positionName != null ? Extension.ToThaiNumber(item.positionName) : null, posNo: item.posNo != null ? Extension.ToThaiNumber(item.posNo) : null, salary: item.amount != null ? Extension.ToThaiNumber(item.amount.toLocaleString()) : null, rank: item.positionLevel != null ? Extension.ToThaiNumber(item.positionLevel) : null, - refAll: item.templateDoc ? Extension.ToThaiNumber(item.templateDoc) : null, + refAll: item.remark ? Extension.ToThaiNumber(item.remark) : null, positionLevel: item.positionLevel != null ? Extension.ToThaiNumber(item.positionLevel) : null, positionType: item.positionType ?? null, @@ -2406,11 +2405,13 @@ export class ProfileController extends Controller { @Body() body: { profileId: string; - date: Date | null; - refCommandNo: string | null; - salaryRef: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + commandNo: string | null; + commandYear: number; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; + commandCode?: string | null; + commandName?: string | null; + remark: string | null; }, ) { const profile = await this.profileRepo.findOne({ @@ -2446,23 +2447,23 @@ export class ProfileController extends Controller { : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild2 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild1 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgRoot != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}` : null; let position = profile.current_holders @@ -2475,16 +2476,8 @@ export class ProfileController extends Controller { profile.lastUpdatedAt = new Date(); const profileSalary: ProfileSalary = Object.assign(new ProfileSalary(), { profileId: body.profileId, - date: body.date, - refCommandNo: body.refCommandNo, - templateDoc: body.salaryRef, - //profile.position, - position: profile.position, positionType: profile.posType.posTypeName, positionLevel: profile.posLevel.posLevelName, - posNo: shortName ? shortName : null, - positionLine: position?.positionField ?? null, - positionPathSide: position?.positionArea ?? null, positionExecutive: position?.posExecutive?.posExecutiveName ?? null, amount: profile.amount, positionSalaryAmount: profile.positionSalaryAmount, @@ -2506,9 +2499,17 @@ export class ProfileController extends Controller { lastUpdateFullName: req.user.name, createdAt: new Date(), lastUpdatedAt: new Date(), - refCommandDate: new Date(), - refCommandCode: body.refCommandCode, - refCommandName: body.refCommandName, + positionName: profile.position, + commandNo: body.commandNo, + commandYear: body.commandYear, + posNo: shortName, + posNoAbb: profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) + ?.posMasterNo, + commandDateAffect: body.commandDateAffect, + commandDateSign: body.commandDateSign, + commandCode: body.commandCode, + commandName: body.commandName, + remark: body.remark, }); await Promise.all([this.salaryRepo.save(profileSalary)]); } @@ -2527,11 +2528,13 @@ export class ProfileController extends Controller { @Body() body: { profileId: string; - date: Date | null; - refCommandNo: string | null; - salaryRef: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + commandNo: string | null; + commandYear: number; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; + commandCode?: string | null; + commandName?: string | null; + remark: string | null; }, ) { const profile = await this.profileRepo.findOne({ @@ -2552,7 +2555,7 @@ export class ProfileController extends Controller { if (!_profile) { throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลโปรไฟล์"); } - let dateLeave_: any = body.date; + let dateLeave_: any = body.commandDateAffect; _profile.isLeave = true; _profile.leaveReason = "คำสั่งให้ข้าราชการออกจากราชการเพราะผลการทดลองปฏิบัติหน้าที่ราชการต่ำกว่ามาตรฐานที่กำหนด"; @@ -2580,23 +2583,23 @@ export class ProfileController extends Controller { : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild2 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild1 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgRoot != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}` : null; let position = profile.current_holders @@ -2604,15 +2607,8 @@ export class ProfileController extends Controller { ?.positions?.filter((pos) => pos.positionIsSelected === true)[0] ?? null; const profileSalary: ProfileSalary = Object.assign(new ProfileSalary(), { profileId: body.profileId, - date: body.date, - refCommandNo: body.refCommandNo, - templateDoc: body.salaryRef, - position: profile.position, positionType: profile.posType.posTypeName, positionLevel: profile.posLevel.posLevelName, - posNo: shortName ? shortName : null, - positionLine: position?.positionField ?? null, - positionPathSide: position?.positionArea ?? null, positionExecutive: position?.posExecutive?.posExecutiveName ?? null, amount: profile.amount, positionSalaryAmount: profile.positionSalaryAmount, @@ -2634,9 +2630,17 @@ export class ProfileController extends Controller { lastUpdateFullName: req.user.name, createdAt: new Date(), lastUpdatedAt: new Date(), - refCommandDate: new Date(), - refCommandCode: body.refCommandCode, - refCommandName: body.refCommandName, + positionName: profile.position, + commandNo: body.commandNo, + commandYear: body.commandYear, + posNo: shortName, + posNoAbb: profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) + ?.posMasterNo, + commandDateAffect: body.commandDateAffect, + commandDateSign: body.commandDateSign, + commandCode: body.commandCode, + commandName: body.commandName, + remark: body.remark, }); await removeProfileInOrganize(profile.id, "OFFICER"); await Promise.all([this.profileRepo.save(_profile), this.salaryRepo.save(profileSalary)]); @@ -2656,11 +2660,13 @@ export class ProfileController extends Controller { @Body() body: { profileId: string; - date: Date | null; - refCommandNo: string | null; - salaryRef: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + commandNo: string | null; + commandYear: number; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; + commandCode?: string | null; + commandName?: string | null; + remark: string | null; }, ) { const profile = await this.profileRepo.findOne({ @@ -2681,7 +2687,7 @@ export class ProfileController extends Controller { if (!_profile) { throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลโปรไฟล์"); } - let dateLeave_: any = body.date; + let dateLeave_: any = body.commandDateAffect; _profile.isLeave = true; _profile.leaveReason = "ได้รับโทษทางวินัย ปลดออกจากราชการ"; _profile.dateLeave = dateLeave_; @@ -2708,23 +2714,23 @@ export class ProfileController extends Controller { : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild2 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild1 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgRoot != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}` : null; let position = profile.current_holders @@ -2732,15 +2738,8 @@ export class ProfileController extends Controller { ?.positions?.filter((pos) => pos.positionIsSelected === true)[0] ?? null; const profileSalary: ProfileSalary = Object.assign(new ProfileSalary(), { profileId: body.profileId, - date: body.date, - refCommandNo: body.refCommandNo, - templateDoc: body.salaryRef, - position: profile.position, positionType: profile.posType.posTypeName, positionLevel: profile.posLevel.posLevelName, - posNo: shortName ? shortName : null, - positionLine: position?.positionField ?? null, - positionPathSide: position?.positionArea ?? null, positionExecutive: position?.posExecutive?.posExecutiveName ?? null, amount: profile.amount, positionSalaryAmount: profile.positionSalaryAmount, @@ -2762,9 +2761,17 @@ export class ProfileController extends Controller { lastUpdateFullName: req.user.name, createdAt: new Date(), lastUpdatedAt: new Date(), - refCommandDate: new Date(), - refCommandCode: body.refCommandCode, - refCommandName: body.refCommandName, + positionName: profile.position, + commandNo: body.commandNo, + commandYear: body.commandYear, + posNo: shortName, + posNoAbb: profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) + ?.posMasterNo, + commandDateAffect: body.commandDateAffect, + commandDateSign: body.commandDateSign, + commandCode: body.commandCode, + commandName: body.commandName, + remark: body.remark, }); await removeProfileInOrganize(profile.id, "OFFICER"); await Promise.all([this.profileRepo.save(_profile), this.salaryRepo.save(profileSalary)]); @@ -2784,11 +2791,13 @@ export class ProfileController extends Controller { @Body() body: { profileId: string; - date: Date | null; - refCommandNo: string | null; - salaryRef: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + commandNo: string | null; + commandYear: number; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; + commandCode?: string | null; + commandName?: string | null; + remark: string | null; }, ) { const profile = await this.profileRepo.findOne({ @@ -2809,7 +2818,7 @@ export class ProfileController extends Controller { if (!_profile) { throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลโปรไฟล์"); } - let dateLeave_: any = body.date; + let dateLeave_: any = body.commandDateAffect; _profile.isLeave = true; _profile.leaveReason = "ได้รับโทษทางวินัย ไล่ออกจากราชการ"; _profile.dateLeave = dateLeave_; @@ -2836,23 +2845,23 @@ export class ProfileController extends Controller { : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild2 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild1 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgRoot != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}` : null; let position = profile.current_holders @@ -2860,15 +2869,8 @@ export class ProfileController extends Controller { ?.positions?.filter((pos) => pos.positionIsSelected === true)[0] ?? null; const profileSalary: ProfileSalary = Object.assign(new ProfileSalary(), { profileId: body.profileId, - date: body.date, - refCommandNo: body.refCommandNo, - templateDoc: body.salaryRef, - position: profile.position, positionType: profile.posType.posTypeName, positionLevel: profile.posLevel.posLevelName, - posNo: shortName ? shortName : null, - positionLine: position?.positionField ?? null, - positionPathSide: position?.positionArea ?? null, positionExecutive: position?.posExecutive?.posExecutiveName ?? null, amount: profile.amount, positionSalaryAmount: profile.positionSalaryAmount, @@ -2890,9 +2892,17 @@ export class ProfileController extends Controller { lastUpdateFullName: req.user.name, createdAt: new Date(), lastUpdatedAt: new Date(), - refCommandDate: new Date(), - refCommandCode: body.refCommandCode, - refCommandName: body.refCommandName, + positionName: profile.position, + commandNo: body.commandNo, + commandYear: body.commandYear, + posNo: shortName, + posNoAbb: profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) + ?.posMasterNo, + commandDateAffect: body.commandDateAffect, + commandDateSign: body.commandDateSign, + commandCode: body.commandCode, + commandName: body.commandName, + remark: body.remark, }); await removeProfileInOrganize(profile.id, "OFFICER"); await Promise.all([this.profileRepo.save(_profile), this.salaryRepo.save(profileSalary)]); @@ -2912,11 +2922,13 @@ export class ProfileController extends Controller { @Body() body: { profileId: string; - date: Date | null; - refCommandNo: string | null; - salaryRef: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + commandNo: string | null; + commandYear: number; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; + commandCode?: string | null; + commandName?: string | null; + remark: string | null; }, ) { const profile = await this.profileRepo.findOne({ @@ -2937,7 +2949,7 @@ export class ProfileController extends Controller { if (!_profile) { throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลโปรไฟล์"); } - let dateLeave_: any = body.date; + let dateLeave_: any = body.commandDateAffect; _profile.isLeave = true; _profile.leaveReason = "ได้รับโทษทางวินัย พักจากราชการ"; _profile.dateLeave = dateLeave_; @@ -2964,23 +2976,23 @@ export class ProfileController extends Controller { : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild2 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild1 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgRoot != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}` : null; let position = profile.current_holders @@ -2988,15 +3000,8 @@ export class ProfileController extends Controller { ?.positions?.filter((pos) => pos.positionIsSelected === true)[0] ?? null; const profileSalary: ProfileSalary = Object.assign(new ProfileSalary(), { profileId: body.profileId, - date: body.date, - refCommandNo: body.refCommandNo, - templateDoc: body.salaryRef, - position: profile.position, positionType: profile.posType.posTypeName, positionLevel: profile.posLevel.posLevelName, - posNo: shortName ? shortName : null, - positionLine: position?.positionField ?? null, - positionPathSide: position?.positionArea ?? null, positionExecutive: position?.posExecutive?.posExecutiveName ?? null, amount: profile.amount, positionSalaryAmount: profile.positionSalaryAmount, @@ -3018,9 +3023,17 @@ export class ProfileController extends Controller { lastUpdateFullName: req.user.name, createdAt: new Date(), lastUpdatedAt: new Date(), - refCommandDate: new Date(), - refCommandCode: body.refCommandCode, - refCommandName: body.refCommandName, + positionName: profile.position, + commandNo: body.commandNo, + commandYear: body.commandYear, + posNo: shortName, + posNoAbb: profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) + ?.posMasterNo, + commandDateAffect: body.commandDateAffect, + commandDateSign: body.commandDateSign, + commandCode: body.commandCode, + commandName: body.commandName, + remark: body.remark, }); await removeProfileInOrganize(profile.id, "OFFICER"); await Promise.all([this.profileRepo.save(_profile), this.salaryRepo.save(profileSalary)]); @@ -3040,11 +3053,13 @@ export class ProfileController extends Controller { @Body() body: { profileId: string; - date: Date | null; - refCommandNo: string | null; - salaryRef: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + commandNo: string | null; + commandYear: number; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; + commandCode?: string | null; + commandName?: string | null; + remark: string | null; }, ) { const profile = await this.profileRepo.findOne({ @@ -3065,7 +3080,7 @@ export class ProfileController extends Controller { if (!_profile) { throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลโปรไฟล์"); } - let dateLeave_: any = body.date; + let dateLeave_: any = body.commandDateAffect; _profile.isLeave = true; _profile.leaveReason = "ได้รับโทษทางวินัย ให้ออกจากราชการไว้ก่อน"; _profile.dateLeave = dateLeave_; @@ -3091,23 +3106,23 @@ export class ProfileController extends Controller { : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild2 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild1 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgRoot != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}` : null; let position = profile.current_holders @@ -3115,15 +3130,8 @@ export class ProfileController extends Controller { ?.positions?.filter((pos) => pos.positionIsSelected === true)[0] ?? null; const profileSalary: ProfileSalary = Object.assign(new ProfileSalary(), { profileId: body.profileId, - date: body.date, - refCommandNo: body.refCommandNo, - templateDoc: body.salaryRef, - position: profile.position, positionType: profile.posType.posTypeName, positionLevel: profile.posLevel.posLevelName, - posNo: shortName ? shortName : null, - positionLine: position?.positionField ?? null, - positionPathSide: position?.positionArea ?? null, positionExecutive: position?.posExecutive?.posExecutiveName ?? null, amount: profile.amount, positionSalaryAmount: profile.positionSalaryAmount, @@ -3145,9 +3153,17 @@ export class ProfileController extends Controller { lastUpdateFullName: req.user.name, createdAt: new Date(), lastUpdatedAt: new Date(), - refCommandDate: new Date(), - refCommandCode: body.refCommandCode, - refCommandName: body.refCommandName, + positionName: profile.position, + commandNo: body.commandNo, + commandYear: body.commandYear, + posNo: shortName, + posNoAbb: profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) + ?.posMasterNo, + commandDateAffect: body.commandDateAffect, + commandDateSign: body.commandDateSign, + commandCode: body.commandCode, + commandName: body.commandName, + remark: body.remark, }); await removeProfileInOrganize(profile.id, "OFFICER"); await Promise.all([this.profileRepo.save(_profile), this.salaryRepo.save(profileSalary)]); @@ -3167,11 +3183,13 @@ export class ProfileController extends Controller { @Body() body: { profileId: string; - date: Date | null; - refCommandNo: string | null; - salaryRef: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + commandNo: string | null; + commandYear: number; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; + commandCode?: string | null; + commandName?: string | null; + remark: string | null; }, ) { const profile = await this.profileRepo.findOne({ @@ -3212,23 +3230,23 @@ export class ProfileController extends Controller { : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild2 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild1 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgRoot != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}` : null; let position = profile.current_holders @@ -3236,15 +3254,8 @@ export class ProfileController extends Controller { ?.positions?.filter((pos) => pos.positionIsSelected === true)[0] ?? null; const profileSalary: ProfileSalary = Object.assign(new ProfileSalary(), { profileId: body.profileId, - date: body.date, - refCommandNo: body.refCommandNo, - templateDoc: body.salaryRef, - position: profile.position, positionType: profile.posType.posTypeName, positionLevel: profile.posLevel.posLevelName, - posNo: shortName ? shortName : null, - positionLine: position?.positionField ?? null, - positionPathSide: position?.positionArea ?? null, positionExecutive: position?.posExecutive?.posExecutiveName ?? null, amount: profile.amount, positionSalaryAmount: profile.positionSalaryAmount, @@ -3266,9 +3277,17 @@ export class ProfileController extends Controller { lastUpdateFullName: req.user.name, createdAt: new Date(), lastUpdatedAt: new Date(), - refCommandDate: new Date(), - refCommandCode: body.refCommandCode, - refCommandName: body.refCommandName, + positionName: profile.position, + commandNo: body.commandNo, + commandYear: body.commandYear, + posNo: shortName, + posNoAbb: profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) + ?.posMasterNo, + commandDateAffect: body.commandDateAffect, + commandDateSign: body.commandDateSign, + commandCode: body.commandCode, + commandName: body.commandName, + remark: body.remark, }); await Promise.all([this.salaryRepo.save(profileSalary)]); @@ -3287,11 +3306,13 @@ export class ProfileController extends Controller { @Body() body: { profileId: string; - date: Date | null; - refCommandNo: string | null; - salaryRef: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + commandNo: string | null; + commandYear: number; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; + commandCode?: string | null; + commandName?: string | null; + remark: string | null; }, ) { const profile = await this.profileRepo.findOne({ @@ -3332,23 +3353,23 @@ export class ProfileController extends Controller { : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild2 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild1 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgRoot != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}` : null; let position = profile.current_holders @@ -3356,15 +3377,8 @@ export class ProfileController extends Controller { ?.positions?.filter((pos) => pos.positionIsSelected === true)[0] ?? null; const profileSalary: ProfileSalary = Object.assign(new ProfileSalary(), { profileId: body.profileId, - date: body.date, - refCommandNo: body.refCommandNo, - templateDoc: body.salaryRef, - position: profile.position, positionType: profile.posType.posTypeName, positionLevel: profile.posLevel.posLevelName, - posNo: shortName ? shortName : null, - positionLine: position?.positionField ?? null, - positionPathSide: position?.positionArea ?? null, positionExecutive: position?.posExecutive?.posExecutiveName ?? null, amount: profile.amount, positionSalaryAmount: profile.positionSalaryAmount, @@ -3386,9 +3400,17 @@ export class ProfileController extends Controller { lastUpdateFullName: req.user.name, createdAt: new Date(), lastUpdatedAt: new Date(), - refCommandDate: new Date(), - refCommandCode: body.refCommandCode, - refCommandName: body.refCommandName, + positionName: profile.position, + commandNo: body.commandNo, + commandYear: body.commandYear, + posNo: shortName, + posNoAbb: profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) + ?.posMasterNo, + commandDateAffect: body.commandDateAffect, + commandDateSign: body.commandDateSign, + commandCode: body.commandCode, + commandName: body.commandName, + remark: body.remark, }); await Promise.all([this.salaryRepo.save(profileSalary)]); @@ -3407,11 +3429,13 @@ export class ProfileController extends Controller { @Body() body: { profileId: string; - date: Date | null; - refCommandNo: string | null; - salaryRef: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + commandNo: string | null; + commandYear: number; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; + commandCode?: string | null; + commandName?: string | null; + remark: string | null; }, ) { const profile = await this.profileRepo.findOne({ @@ -3452,23 +3476,23 @@ export class ProfileController extends Controller { : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild2 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild1 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgRoot != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}` : null; let position = @@ -3477,15 +3501,8 @@ export class ProfileController extends Controller { ?.positions?.filter((pos) => pos.positionIsSelected === true)[0] ?? null; const profileSalary: ProfileSalary = Object.assign(new ProfileSalary(), { profileId: body.profileId, - date: body.date, - refCommandNo: body.refCommandNo, - templateDoc: body.salaryRef, - position: profile.position, positionType: profile.posType.posTypeName, positionLevel: profile.posLevel.posLevelName, - posNo: shortName ? shortName : null, - positionLine: position?.positionField ?? null, - positionPathSide: position?.positionArea ?? null, positionExecutive: position?.posExecutive?.posExecutiveName ?? null, amount: profile.amount, positionSalaryAmount: profile.positionSalaryAmount, @@ -3507,9 +3524,17 @@ export class ProfileController extends Controller { lastUpdateFullName: req.user.name, createdAt: new Date(), lastUpdatedAt: new Date(), - refCommandDate: new Date(), - refCommandCode: body.refCommandCode, - refCommandName: body.refCommandName, + positionName: profile.position, + commandNo: body.commandNo, + commandYear: body.commandYear, + posNo: shortName, + posNoAbb: profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) + ?.posMasterNo, + commandDateAffect: body.commandDateAffect, + commandDateSign: body.commandDateSign, + commandCode: body.commandCode, + commandName: body.commandName, + remark: body.remark, }); await Promise.all([this.salaryRepo.save(profileSalary)]); @@ -3528,11 +3553,13 @@ export class ProfileController extends Controller { @Body() body: { profileId: string; - date: Date | null; - refCommandNo: string | null; - salaryRef: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + commandNo: string | null; + commandYear: number; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; + commandCode?: string | null; + commandName?: string | null; + remark: string | null; }, ) { const profile = await this.profileRepo.findOne({ @@ -3573,23 +3600,23 @@ export class ProfileController extends Controller { : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild2 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild1 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgRoot != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}` : null; let position = profile.current_holders @@ -3597,15 +3624,8 @@ export class ProfileController extends Controller { ?.positions?.filter((pos) => pos.positionIsSelected === true)[0] ?? null; const profileSalary: ProfileSalary = Object.assign(new ProfileSalary(), { profileId: body.profileId, - date: body.date, - refCommandNo: body.refCommandNo, - templateDoc: body.salaryRef, - position: profile.position, positionType: profile.posType.posTypeName, positionLevel: profile.posLevel.posLevelName, - posNo: shortName ? shortName : null, - positionLine: position?.positionField ?? null, - positionPathSide: position?.positionArea ?? null, positionExecutive: position?.posExecutive?.posExecutiveName ?? null, amount: profile.amount, positionSalaryAmount: profile.positionSalaryAmount, @@ -3627,9 +3647,17 @@ export class ProfileController extends Controller { lastUpdateFullName: req.user.name, createdAt: new Date(), lastUpdatedAt: new Date(), - refCommandDate: new Date(), - refCommandCode: body.refCommandCode, - refCommandName: body.refCommandName, + positionName: profile.position, + commandNo: body.commandNo, + commandYear: body.commandYear, + posNo: shortName, + posNoAbb: profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) + ?.posMasterNo, + commandDateAffect: body.commandDateAffect, + commandDateSign: body.commandDateSign, + commandCode: body.commandCode, + commandName: body.commandName, + remark: body.remark, }); await Promise.all([this.salaryRepo.save(profileSalary)]); @@ -3648,11 +3676,13 @@ export class ProfileController extends Controller { @Body() body: { profileId: string; - date: Date | null; - refCommandNo: string | null; - salaryRef: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + commandNo: string | null; + commandYear: number; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; + commandCode?: string | null; + commandName?: string | null; + remark: string | null; }, ) { const profile = await this.profileRepo.findOne({ @@ -3693,23 +3723,23 @@ export class ProfileController extends Controller { : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild4.orgChild4ShortName}}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild3.orgChild3ShortName}}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild2 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild2.orgChild2ShortName}}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgChild1 != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgChild1.orgChild1ShortName}}` : profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) != null && profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) ?.orgRoot != null - ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.posMasterNo}` + ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id)?.orgRoot.orgRootShortName}}` : null; let position = @@ -3718,15 +3748,8 @@ export class ProfileController extends Controller { ?.positions?.filter((pos) => pos.positionIsSelected === true)[0] ?? null; const profileSalary: ProfileSalary = Object.assign(new ProfileSalary(), { profileId: body.profileId, - date: body.date, - refCommandNo: body.refCommandNo, - templateDoc: body.salaryRef, - position: profile.position, positionType: profile.posType.posTypeName, positionLevel: profile.posLevel.posLevelName, - posNo: shortName ? shortName : null, - positionLine: position?.positionField ?? null, - positionPathSide: position?.positionArea ?? null, positionExecutive: position?.posExecutive?.posExecutiveName ?? null, amount: profile.amount, positionSalaryAmount: profile.positionSalaryAmount, @@ -3748,9 +3771,17 @@ export class ProfileController extends Controller { lastUpdateFullName: req.user.name, createdAt: new Date(), lastUpdatedAt: new Date(), - refCommandDate: new Date(), - refCommandCode: body.refCommandCode, - refCommandName: body.refCommandName, + positionName: profile.position, + commandNo: body.commandNo, + commandYear: body.commandYear, + posNo: shortName, + posNoAbb: profile.current_holders.find((x) => x.orgRevisionId == orgRevision?.id) + ?.posMasterNo, + commandDateAffect: body.commandDateAffect, + commandDateSign: body.commandDateSign, + commandCode: body.commandCode, + commandName: body.commandName, + remark: body.remark, }); await Promise.all([this.salaryRepo.save(profileSalary)]); @@ -3770,8 +3801,7 @@ export class ProfileController extends Controller { body: { profileId: string; date: Date | null; - refCommandNo: string | null; - salaryRef: string | null; + commandNo: string | null; }, ) { const profile = await this.profileRepo.findOne({ @@ -4660,7 +4690,7 @@ export class ProfileController extends Controller { @Query() isAll?: boolean, @Query() retireType?: string, @Query() sortBy: string = "current_holders.posMasterNo", - @Query() sort: "ASC"|"DESC" = "ASC", + @Query() sort: "ASC" | "DESC" = "ASC", ) { let _data = await new permission().PermissionOrgList(request, "SYS_REGISTRY_OFFICER"); let queryLike = @@ -4794,12 +4824,12 @@ export class ProfileController extends Controller { .andWhere( isRetire != undefined && isRetire != null ? isRetire == false - // ? `profile.dateLeave IS NULL` - ? `profile.isLeave IS FALSE` + ? // ? `profile.dateLeave IS NULL` + `profile.isLeave IS FALSE` : isRetire == true && retireType != undefined && retireType != null - // ? `profile.dateLeave IS NOT NULL AND profile.leaveType = '${retireType}'` - // : `profile.dateLeave IS NOT NULL` - ? `profile.isLeave IS TRUE AND profile.leaveType = '${retireType}'` + ? // ? `profile.dateLeave IS NOT NULL AND profile.leaveType = '${retireType}'` + // : `profile.dateLeave IS NOT NULL` + `profile.isLeave IS TRUE AND profile.leaveType = '${retireType}'` : `profile.isLeave IS TRUE` : "1=1", ) @@ -7471,10 +7501,10 @@ export class ProfileController extends Controller { lastName: item.lastName, position: item.position, idcard: item.citizenId, - refCommandNo: + commandNo: item.profileSalary.sort((a, b) => b.order - a.order).length == 0 ? null - : item.profileSalary.sort((a, b) => b.order - a.order)[0].refCommandNo, + : item.profileSalary.sort((a, b) => b.order - a.order)[0].commandNo, posLevelName: item.posLevel == null ? null : item.posLevel.posLevelName, posTypeName: item.posType == null ? null : item.posType.posTypeName, posNo: posMaster == null ? null : `${posMaster.posMasterNo}${shortName}`, @@ -8650,8 +8680,8 @@ export class ProfileController extends Controller { .createQueryBuilder("profile") .leftJoinAndSelect("profile.profileSalary", "profileSalary") .where("YEAR(profileSalary.date) = :year", { year: body.year }) - .where("profileSalary.refCommandNo LIKE :refCommandNo", { - refCommandNo: `%${body.posno}%`, + .where("profileSalary.commandNo LIKE :commandNo", { + commandNo: `%${body.posno}%`, }) // .andWhere("profileSalary.commandType LIKE :commandType", { // commandType: `${body.commandType}`, @@ -8664,8 +8694,8 @@ export class ProfileController extends Controller { id: _data.id, fullName: `${_data.prefix}${_data.firstName} ${_data.lastName}`, citizenId: _data.citizenId, - posNo: _data.profileSalary.filter((x) => x.id != null)[0].refCommandNo, - position: _data.profileSalary.filter((x) => x.id != null)[0].position, + posNo: _data.profileSalary.filter((x) => x.id != null)[0].commandNo, + position: _data.profileSalary.filter((x) => x.id != null)[0].positionName, })); return new HttpSuccess({ data: _profiles, total }); @@ -8884,7 +8914,7 @@ export class ProfileController extends Controller { }); return { ..._data, - position: salary?.position ?? _null, + position: salary?.positionName ?? _null, posLevelId: level?.id ?? _null, posTypeId: type?.id ?? _null, }; diff --git a/src/controllers/ProfileEmployeeController.ts b/src/controllers/ProfileEmployeeController.ts index 0d39aea0..fbc05caa 100644 --- a/src/controllers/ProfileEmployeeController.ts +++ b/src/controllers/ProfileEmployeeController.ts @@ -138,7 +138,7 @@ export class ProfileEmployeeController extends Controller { where: { id: id }, order: { profileSalary: { - date: "DESC", + commandDateAffect: "DESC", }, }, }); @@ -229,39 +229,40 @@ export class ProfileEmployeeController extends Controller { const salary_raw = await this.salaryRepo.find({ select: [ - "date", - "position", + "commandDateAffect", "posNo", "positionType", "positionLevel", "positionSalaryAmount", - "refCommandNo", + "commandNo", "amount", - "templateDoc", - "position", + "remark", + "positionName", "orgRoot", "orgChild1", "orgChild2", "orgChild3", "orgChild4", - "mpCee", + "positionCee", "positionExecutive", ], where: { profileEmployeeId: id }, - order: { date: "ASC" }, + order: { commandDateAffect: "ASC" }, }); const salarys = salary_raw.length > 1 ? salary_raw.slice(1).map((item) => ({ - date: item.date ? Extension.ToThaiNumber(Extension.ToThaiShortDate(item.date)) : null, - position: item.position != null ? item.position : "-", + date: item.commandDateAffect + ? Extension.ToThaiNumber(Extension.ToThaiShortDate(item.commandDateAffect)) + : null, + position: item.positionName != null ? item.positionName : "-", posNo: item.posNo != null ? Extension.ToThaiNumber(item.posNo) : null, orgRoot: item.orgRoot, orgChild1: item.orgChild1, orgChild2: item.orgChild2, orgChild3: item.orgChild3, orgChild4: item.orgChild4, - mpCee: item.mpCee, + positionCee: item.positionCee, positionExecutive: item.positionExecutive, })) : [ @@ -274,7 +275,7 @@ export class ProfileEmployeeController extends Controller { orgChild2: null, orgChild3: null, orgChild4: null, - mpCee: null, + positionCee: null, positionExecutive: null, }, ]; @@ -323,8 +324,8 @@ export class ProfileEmployeeController extends Controller { `${_regisAddres}${_subDistrict}${_district}${_province}${registrationZipCode}`, ), date: - salary_raw.length > 0 && salary_raw[0].date != null - ? Extension.ToThaiNumber(Extension.ToThaiShortDate(salary_raw[0].date)) + salary_raw.length > 0 && salary_raw[0].commandDateAffect != null + ? Extension.ToThaiNumber(Extension.ToThaiShortDate(salary_raw[0].commandDateAffect)) : "", positionName: profile.position != null ? profile.position : "", appointText: @@ -336,12 +337,12 @@ export class ProfileEmployeeController extends Controller { ? Extension.ToThaiNumber(Extension.ToThaiNumber(salary_raw[0].posNo)) : "", position: - salary_raw.length > 0 && salary_raw[0].position != null - ? Extension.ToThaiNumber(Extension.ToThaiNumber(salary_raw[0].position)) + salary_raw.length > 0 && salary_raw[0].positionName != null + ? Extension.ToThaiNumber(Extension.ToThaiNumber(salary_raw[0].positionName)) : "", - mpCee: - salary_raw.length > 0 && salary_raw[0].mpCee != null - ? Extension.ToThaiNumber(Extension.ToThaiNumber(salary_raw[0].mpCee)) + positionCee: + salary_raw.length > 0 && salary_raw[0].positionCee != null + ? Extension.ToThaiNumber(Extension.ToThaiNumber(salary_raw[0].positionCee)) : "", positionExecutive: salary_raw.length > 0 && salary_raw[0].positionExecutive != null @@ -643,15 +644,15 @@ export class ProfileEmployeeController extends Controller { ]; const salary_raw = await this.salaryRepo.find({ select: [ - "date", - "position", + "commandDateAffect", + "positionName", "posNo", "positionType", "positionLevel", "positionSalaryAmount", - "refCommandNo", + "commandNo", "amount", - "templateDoc", + "remark", ], where: { profileEmployeeId: id }, order: { order: "ASC" }, @@ -660,15 +661,15 @@ export class ProfileEmployeeController extends Controller { const salarys = salary_raw.length > 0 ? salary_raw.map((item) => ({ - SalaryDate: item.date - ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.date)) + SalaryDate: item.commandDateAffect + ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.commandDateAffect)) : null, - Position: item.position != null ? Extension.ToThaiNumber(item.position) : null, + Position: item.positionName != null ? Extension.ToThaiNumber(item.positionName) : null, PosNo: item.posNo != null ? Extension.ToThaiNumber(item.posNo) : null, Salary: item.amount != null ? Extension.ToThaiNumber(item.amount.toLocaleString()) : null, Rank: item.positionLevel != null ? Extension.ToThaiNumber(item.positionLevel) : null, - RefAll: item.templateDoc ? Extension.ToThaiNumber(item.templateDoc) : null, + RefAll: item.remark ? Extension.ToThaiNumber(item.remark) : null, PositionLevel: item.positionLevel != null ? Extension.ToThaiNumber(item.positionLevel) : null, PositionType: item.positionType ?? null, @@ -1705,7 +1706,7 @@ export class ProfileEmployeeController extends Controller { @Query() isAll?: boolean, @Query() retireType?: string, @Query() sortBy: string = "current_holders.posMasterNo", - @Query() sort: "ASC"|"DESC" = "ASC", + @Query() sort: "ASC" | "DESC" = "ASC", ) { let _data = await new permission().PermissionOrgList(request, "SYS_REGISTRY_EMP"); let queryLike = @@ -4432,7 +4433,7 @@ export class ProfileEmployeeController extends Controller { body: { result: { id: string; - templateDoc: string; + remark: string; amount: Double | null; positionSalaryAmount: Double | null; mouthSalaryAmount: Double | null; @@ -4462,7 +4463,7 @@ export class ProfileEmployeeController extends Controller { positionType: profile.posTypeNameTemp, positionLevel: profile.posLevelNameTemp, refCommandNo: v.refCommandNo, - templateDoc: v.templateDoc, + remark: v.remark, }) .then(async () => { profile.statusTemp = "DONE"; diff --git a/src/controllers/ProfileEmployeeTempController.ts b/src/controllers/ProfileEmployeeTempController.ts index d814e787..e0187366 100644 --- a/src/controllers/ProfileEmployeeTempController.ts +++ b/src/controllers/ProfileEmployeeTempController.ts @@ -133,7 +133,7 @@ export class ProfileEmployeeTempController extends Controller { where: { id: id }, order: { profileSalary: { - date: "DESC", + commandDateAffect: "DESC", }, }, }); @@ -224,38 +224,40 @@ export class ProfileEmployeeTempController extends Controller { const salary_raw = await this.salaryRepo.find({ select: [ - "date", - "position", + "commandDateAffect", + "positionName", "posNo", "positionType", "positionLevel", "positionSalaryAmount", - "refCommandNo", + "commandNo", "amount", - "templateDoc", + "remark", "orgRoot", "orgChild1", "orgChild2", "orgChild3", "orgChild4", - "mpCee", + "positionCee", "positionExecutive", ], where: { profileEmployeeId: id }, - order: { date: "ASC" }, + order: { commandDateAffect: "ASC" }, }); const salarys = salary_raw.length > 1 ? salary_raw.slice(1).map((item) => ({ - date: item.date ? Extension.ToThaiNumber(Extension.ToThaiShortDate(item.date)) : null, - position: item.position != null ? item.position : "-", + date: item.commandDateAffect + ? Extension.ToThaiNumber(Extension.ToThaiShortDate(item.commandDateAffect)) + : null, + position: item.positionName != null ? item.positionName : "-", posNo: item.posNo != null ? Extension.ToThaiNumber(item.posNo) : null, orgRoot: item.orgRoot, orgChild1: item.orgChild1, orgChild2: item.orgChild2, orgChild3: item.orgChild3, orgChild4: item.orgChild4, - mpCee: item.mpCee, + positionCee: item.positionCee, positionExecutive: item.positionExecutive, })) : [ @@ -268,7 +270,7 @@ export class ProfileEmployeeTempController extends Controller { orgChild2: null, orgChild3: null, orgChild4: null, - mpCee: null, + positionCee: null, positionExecutive: null, }, ]; @@ -316,8 +318,8 @@ export class ProfileEmployeeTempController extends Controller { `${_regisAddres}${_subDistrict}${_district}${_province}${registrationZipCode}`, ), date: - salary_raw.length > 0 && salary_raw[0].date != null - ? Extension.ToThaiNumber(Extension.ToThaiShortDate(salary_raw[0].date)) + salary_raw.length > 0 && salary_raw[0].commandDateAffect != null + ? Extension.ToThaiNumber(Extension.ToThaiShortDate(salary_raw[0].commandDateAffect)) : "", positionName: profile.position != null ? profile.position : "", appointText: @@ -329,12 +331,12 @@ export class ProfileEmployeeTempController extends Controller { ? Extension.ToThaiNumber(Extension.ToThaiNumber(salary_raw[0].posNo)) : "", position: - salary_raw.length > 0 && salary_raw[0].position != null - ? Extension.ToThaiNumber(Extension.ToThaiNumber(salary_raw[0].position)) + salary_raw.length > 0 && salary_raw[0].positionName != null + ? Extension.ToThaiNumber(Extension.ToThaiNumber(salary_raw[0].positionName)) : "", - mpCee: - salary_raw.length > 0 && salary_raw[0].mpCee != null - ? Extension.ToThaiNumber(Extension.ToThaiNumber(salary_raw[0].mpCee)) + positionCee: + salary_raw.length > 0 && salary_raw[0].positionCee != null + ? Extension.ToThaiNumber(Extension.ToThaiNumber(salary_raw[0].positionCee)) : "", positionExecutive: salary_raw.length > 0 && salary_raw[0].positionExecutive != null @@ -366,8 +368,10 @@ export class ProfileEmployeeTempController extends Controller { salarys: salarys.map((item) => { return { ...item, - mpCee: - item.mpCee == null ? "" : Extension.ToThaiNumber(Extension.ToThaiNumber(item.mpCee)), + positionCee: + item.positionCee == null + ? "" + : Extension.ToThaiNumber(Extension.ToThaiNumber(item.positionCee)), org: `${item.orgChild4 && item.orgChild4 != "-" ? item.orgChild4 + " " : ""}${item.orgChild3 && item.orgChild3 != "-" ? item.orgChild3 + " " : ""}${item.orgChild2 && item.orgChild2 != "-" ? item.orgChild2 + " " : ""}${item.orgChild1 && item.orgChild1 != "-" ? item.orgChild1 + " " : ""}${item.orgRoot && item.orgRoot != "-" ? item.orgRoot + " " : ""}`, }; }), @@ -638,15 +642,15 @@ export class ProfileEmployeeTempController extends Controller { ]; const salary_raw = await this.salaryRepo.find({ select: [ - "date", - "position", + "commandDateAffect", + "positionName", "posNo", "positionType", "positionLevel", "positionSalaryAmount", - "refCommandNo", + "commandNo", "amount", - "templateDoc", + "remark", ], where: { profileEmployeeId: id }, order: { order: "ASC" }, @@ -655,15 +659,15 @@ export class ProfileEmployeeTempController extends Controller { const salarys = salary_raw.length > 0 ? salary_raw.map((item) => ({ - SalaryDate: item.date - ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.date)) + SalaryDate: item.commandDateAffect + ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.commandDateAffect)) : null, - Position: item.position != null ? Extension.ToThaiNumber(item.position) : null, + Position: item.positionName != null ? Extension.ToThaiNumber(item.positionName) : null, PosNo: item.posNo != null ? Extension.ToThaiNumber(item.posNo) : null, Salary: item.amount != null ? Extension.ToThaiNumber(item.amount.toLocaleString()) : null, Rank: item.positionLevel != null ? Extension.ToThaiNumber(item.positionLevel) : null, - RefAll: item.templateDoc ? Extension.ToThaiNumber(item.templateDoc) : null, + RefAll: item.remark ? Extension.ToThaiNumber(item.remark) : null, PositionLevel: item.positionLevel != null ? Extension.ToThaiNumber(item.positionLevel) : null, PositionType: item.positionType ?? null, @@ -1820,16 +1824,18 @@ export class ProfileEmployeeTempController extends Controller { let profileSalary; if (profile.profileSalary && profile.profileSalary.length > 0) { profileSalary = profile.profileSalary.reduce((latest, current) => { - return new Date(current.date) > new Date(latest.date) ? current : latest; + return new Date(current.commandDateAffect) > new Date(latest.commandDateAffect) + ? current + : latest; }); } return { id: profile.id, fullName: `${profile.prefix}${profile.firstName} ${profile.lastName}`, citizenId: profile.citizenId, - position: profileSalary ? profileSalary.position : null, + position: profileSalary ? profileSalary.positionName : null, posNo: profileSalary ? profileSalary.posNo : null, - date: profileSalary ? profileSalary.date : null, + date: profileSalary ? profileSalary.commandDateAffect : null, }; }); @@ -3482,7 +3488,7 @@ export class ProfileEmployeeTempController extends Controller { body: { result: { id: string; - templateDoc: string; + remark: string; amount: Double | null; positionSalaryAmount: Double | null; mouthSalaryAmount: Double | null; @@ -3513,7 +3519,7 @@ export class ProfileEmployeeTempController extends Controller { positionType: profile.posTypeNameTemp, positionLevel: profile.posLevelNameTemp, refCommandNo: v.refCommandNo, - templateDoc: v.templateDoc, + remark: v.remark, }) .then(async () => { profile.statusTemp = "DONE"; diff --git a/src/controllers/ProfileSalaryController.ts b/src/controllers/ProfileSalaryController.ts index b83552e3..542b0bcf 100644 --- a/src/controllers/ProfileSalaryController.ts +++ b/src/controllers/ProfileSalaryController.ts @@ -119,7 +119,6 @@ export class ProfileSalaryController extends Controller { createdFullName: req.user.name, lastUpdateUserId: req.user.sub, lastUpdateFullName: req.user.name, - refCommandDate: new Date(), createdAt: new Date(), lastUpdatedAt: new Date(), }; @@ -165,7 +164,6 @@ export class ProfileSalaryController extends Controller { createdFullName: req.user.name, lastUpdateUserId: req.user.sub, lastUpdateFullName: req.user.name, - refCommandDate: new Date(), createdAt: new Date(), lastUpdatedAt: new Date(), }; @@ -210,7 +208,6 @@ export class ProfileSalaryController extends Controller { history.lastUpdateFullName = req.user.name; history.createdUserId = req.user.sub; history.createdFullName = req.user.name; - record.refCommandDate = new Date(); history.createdAt = new Date(); history.lastUpdatedAt = new Date(); diff --git a/src/controllers/ProfileSalaryEmployeeController.ts b/src/controllers/ProfileSalaryEmployeeController.ts index 9cb74f29..5bd933f4 100644 --- a/src/controllers/ProfileSalaryEmployeeController.ts +++ b/src/controllers/ProfileSalaryEmployeeController.ts @@ -130,7 +130,6 @@ export class ProfileSalaryEmployeeController extends Controller { createdFullName: req.user.name, lastUpdateUserId: req.user.sub, lastUpdateFullName: req.user.name, - refCommandDate: new Date(), createdAt: new Date(), lastUpdatedAt: new Date(), }; @@ -180,7 +179,6 @@ export class ProfileSalaryEmployeeController extends Controller { createdFullName: req.user.name, lastUpdateUserId: req.user.sub, lastUpdateFullName: req.user.name, - refCommandDate: new Date(), createdAt: new Date(), lastUpdatedAt: new Date(), }; @@ -230,7 +228,6 @@ export class ProfileSalaryEmployeeController extends Controller { history.lastUpdateFullName = req.user.name; history.createdUserId = req.user.sub; history.createdFullName = req.user.name; - record.refCommandDate = new Date(); history.createdAt = new Date(); history.lastUpdatedAt = new Date(); diff --git a/src/controllers/ProfileSalaryEmployeeTempController.ts b/src/controllers/ProfileSalaryEmployeeTempController.ts index 48d98ad3..f4be602a 100644 --- a/src/controllers/ProfileSalaryEmployeeTempController.ts +++ b/src/controllers/ProfileSalaryEmployeeTempController.ts @@ -122,7 +122,6 @@ export class ProfileSalaryEmployeeTempController extends Controller { createdFullName: req.user.name, lastUpdateUserId: req.user.sub, lastUpdateFullName: req.user.name, - refCommandDate: new Date(), createdAt: new Date(), lastUpdatedAt: new Date(), }; @@ -159,7 +158,6 @@ export class ProfileSalaryEmployeeTempController extends Controller { record.lastUpdateUserId = req.user.sub; record.lastUpdateFullName = req.user.name; record.lastUpdatedAt = new Date(); - record.refCommandDate = new Date(); history.lastUpdateUserId = req.user.sub; history.lastUpdateFullName = req.user.name; history.createdUserId = req.user.sub; diff --git a/src/controllers/ReportController.ts b/src/controllers/ReportController.ts index e9eeee3f..299d67a6 100644 --- a/src/controllers/ReportController.ts +++ b/src/controllers/ReportController.ts @@ -1583,8 +1583,8 @@ export class ReportController extends Controller { ) { let _salary: any = posMaster.next_holder.profileSalary.sort( (a, b) => - (b.date == null ? 0 : b.date.getTime()) - - (a.date == null ? 0 : a.date.getTime()), + (b.commandDateAffect == null ? 0 : b.commandDateAffect.getTime()) - + (a.commandDateAffect == null ? 0 : a.commandDateAffect.getTime()), ); if (_salary.length > 0) { salary = _salary[0]; @@ -1957,8 +1957,8 @@ export class ReportController extends Controller { ) { let _salary: any = posMaster.next_holder.profileSalary.sort( (a, b) => - (b.date == null ? 0 : b.date.getTime()) - - (a.date == null ? 0 : a.date.getTime()), + (b.commandDateAffect == null ? 0 : b.commandDateAffect.getTime()) - + (a.commandDateAffect == null ? 0 : a.commandDateAffect.getTime()), ); if (_salary.length > 0) { salary = _salary[0]; @@ -2339,8 +2339,8 @@ export class ReportController extends Controller { ) { let _salary: any = posMaster.next_holder.profileSalary.sort( (a, b) => - (b.date == null ? 0 : b.date.getTime()) - - (a.date == null ? 0 : a.date.getTime()), + (b.commandDateAffect == null ? 0 : b.commandDateAffect.getTime()) - + (a.commandDateAffect == null ? 0 : a.commandDateAffect.getTime()), ); if (_salary.length > 0) { salary = _salary[0]; @@ -2737,8 +2737,8 @@ export class ReportController extends Controller { ) { let _salary: any = posMaster.next_holder.profileSalary.sort( (a, b) => - (b.date == null ? 0 : b.date.getTime()) - - (a.date == null ? 0 : a.date.getTime()), + (b.commandDateAffect == null ? 0 : b.commandDateAffect.getTime()) - + (a.commandDateAffect == null ? 0 : a.commandDateAffect.getTime()), ); if (_salary.length > 0) { salary = _salary[0]; @@ -3139,8 +3139,8 @@ export class ReportController extends Controller { ) { let _salary: any = posMaster.next_holder.profileSalary.sort( (a, b) => - (b.date == null ? 0 : b.date.getTime()) - - (a.date == null ? 0 : a.date.getTime()), + (b.commandDateAffect == null ? 0 : b.commandDateAffect.getTime()) - + (a.commandDateAffect == null ? 0 : a.commandDateAffect.getTime()), ); if (_salary.length > 0) { salary = _salary[0]; @@ -3734,8 +3734,8 @@ export class ReportController extends Controller { ) { let _salary: any = posMaster.current_holder.profileSalary.sort( (a, b) => - (b.date == null ? 0 : b.date.getTime()) - - (a.date == null ? 0 : a.date.getTime()), + (b.commandDateAffect == null ? 0 : b.commandDateAffect.getTime()) - + (a.commandDateAffect == null ? 0 : a.commandDateAffect.getTime()), ); if (_salary.length > 0) { salary = _salary[0]; @@ -4108,8 +4108,8 @@ export class ReportController extends Controller { ) { let _salary: any = posMaster.current_holder.profileSalary.sort( (a, b) => - (b.date == null ? 0 : b.date.getTime()) - - (a.date == null ? 0 : a.date.getTime()), + (b.commandDateAffect == null ? 0 : b.commandDateAffect.getTime()) - + (a.commandDateAffect == null ? 0 : a.commandDateAffect.getTime()), ); if (_salary.length > 0) { salary = _salary[0]; @@ -4490,8 +4490,8 @@ export class ReportController extends Controller { ) { let _salary: any = posMaster.current_holder.profileSalary.sort( (a, b) => - (b.date == null ? 0 : b.date.getTime()) - - (a.date == null ? 0 : a.date.getTime()), + (b.commandDateAffect == null ? 0 : b.commandDateAffect.getTime()) - + (a.commandDateAffect == null ? 0 : a.commandDateAffect.getTime()), ); if (_salary.length > 0) { salary = _salary[0]; @@ -4888,8 +4888,8 @@ export class ReportController extends Controller { ) { let _salary: any = posMaster.current_holder.profileSalary.sort( (a, b) => - (b.date == null ? 0 : b.date.getTime()) - - (a.date == null ? 0 : a.date.getTime()), + (b.commandDateAffect == null ? 0 : b.commandDateAffect.getTime()) - + (a.commandDateAffect == null ? 0 : a.commandDateAffect.getTime()), ); if (_salary.length > 0) { salary = _salary[0]; @@ -5290,8 +5290,8 @@ export class ReportController extends Controller { ) { let _salary: any = posMaster.current_holder.profileSalary.sort( (a, b) => - (b.date == null ? 0 : b.date.getTime()) - - (a.date == null ? 0 : a.date.getTime()), + (b.commandDateAffect == null ? 0 : b.commandDateAffect.getTime()) - + (a.commandDateAffect == null ? 0 : a.commandDateAffect.getTime()), ); if (_salary.length > 0) { salary = _salary[0]; @@ -5841,8 +5841,8 @@ export class ReportController extends Controller { ) { let _salary: any = posMaster.next_holder.profileSalary.sort( (a, b) => - (b.date == null ? 0 : b.date.getTime()) - - (a.date == null ? 0 : a.date.getTime()), + (b.commandDateAffect == null ? 0 : b.commandDateAffect.getTime()) - + (a.commandDateAffect == null ? 0 : a.commandDateAffect.getTime()), ); if (_salary.length > 0) { salary = _salary[0]; @@ -6033,8 +6033,8 @@ export class ReportController extends Controller { ) { let _salary: any = posMaster.next_holder.profileSalary.sort( (a, b) => - (b.date == null ? 0 : b.date.getTime()) - - (a.date == null ? 0 : a.date.getTime()), + (b.commandDateAffect == null ? 0 : b.commandDateAffect.getTime()) - + (a.commandDateAffect == null ? 0 : a.commandDateAffect.getTime()), ); if (_salary.length > 0) { salary = _salary[0]; @@ -6233,8 +6233,8 @@ export class ReportController extends Controller { ) { let _salary: any = posMaster.next_holder.profileSalary.sort( (a, b) => - (b.date == null ? 0 : b.date.getTime()) - - (a.date == null ? 0 : a.date.getTime()), + (b.commandDateAffect == null ? 0 : b.commandDateAffect.getTime()) - + (a.commandDateAffect == null ? 0 : a.commandDateAffect.getTime()), ); if (_salary.length > 0) { salary = _salary[0]; @@ -6441,8 +6441,8 @@ export class ReportController extends Controller { ) { let _salary: any = posMaster.next_holder.profileSalary.sort( (a, b) => - (b.date == null ? 0 : b.date.getTime()) - - (a.date == null ? 0 : a.date.getTime()), + (b.commandDateAffect == null ? 0 : b.commandDateAffect.getTime()) - + (a.commandDateAffect == null ? 0 : a.commandDateAffect.getTime()), ); if (_salary.length > 0) { salary = _salary[0]; @@ -6656,8 +6656,8 @@ export class ReportController extends Controller { ) { let _salary: any = posMaster.next_holder.profileSalary.sort( (a, b) => - (b.date == null ? 0 : b.date.getTime()) - - (a.date == null ? 0 : a.date.getTime()), + (b.commandDateAffect == null ? 0 : b.commandDateAffect.getTime()) - + (a.commandDateAffect == null ? 0 : a.commandDateAffect.getTime()), ); if (_salary.length > 0) { salary = _salary[0]; diff --git a/src/entities/CommandType.ts b/src/entities/CommandType.ts index 9ffe3162..a9aaa4eb 100644 --- a/src/entities/CommandType.ts +++ b/src/entities/CommandType.ts @@ -30,11 +30,11 @@ export class CommandType extends EntityBase { @Column({ nullable: true, - comment: "รหัสประเภทของคำสั่งแต่งตั้ง", + comment: "รหัสประเภทของคำสั่ง", length: 255, default: null, }) - refCommandCode: string; + commandCode: string; @Column({ nullable: true, diff --git a/src/entities/ProfileSalary.ts b/src/entities/ProfileSalary.ts index edf937aa..d4039270 100644 --- a/src/entities/ProfileSalary.ts +++ b/src/entities/ProfileSalary.ts @@ -25,11 +25,61 @@ export class ProfileSalary extends EntityBase { profileEmployeeId: string; @Column({ - comment: "วันที่", + nullable: true, + comment: "เรียงลำดับใหมาตามการนำเข้า", + default: null, + }) + order: number; + + @Column({ + nullable: true, + comment: "เลขที่คำสั่ง", + default: null, + }) + commandNo: number; + + @Column({ + nullable: true, + comment: "ปีที่ออกคำสั่ง", + default: null, + }) + commandYear: number; + + @Column({ + comment: "คำสั่งวันที่", type: "datetime", nullable: true, }) - date: Date; + commandDateSign: Date; + + @Column({ + comment: "คำสั่งมีผลวันที่", + type: "datetime", + nullable: true, + }) + commandDateAffect: Date; + + @Column({ + nullable: true, + comment: "รหัสประเภทของคำสั่ง", + default: null, + }) + commandCode: string; + + @Column({ + nullable: true, + comment: "ชื่อประเภทคำสั่ง", + default: null, + }) + commandName: string; + + @Column({ + nullable: true, + length: 40, + comment: "ตัวย่อเลขที่ตำแหน่ง", + default: null, + }) + posNoAbb: string; @Column({ nullable: true, @@ -45,31 +95,7 @@ export class ProfileSalary extends EntityBase { comment: "ตำแหน่ง", default: null, }) - position: string; - - @Column({ - nullable: true, - length: 255, - comment: "สายงาน", - default: null, - }) - positionLine: string; - - @Column({ - nullable: true, - length: 255, - comment: "ด้าน/สาขา", - default: null, - }) - positionPathSide: string; - - @Column({ - nullable: true, - length: 255, - comment: "ตำแหน่งทางการบริหาร", - default: null, - }) - positionExecutive: string; + positionName: string; @Column({ nullable: true, @@ -88,44 +114,11 @@ export class ProfileSalary extends EntityBase { positionLevel: string; @Column({ - comment: "เงินเดือนฐาน", - default: 0, nullable: true, - type: "double", + comment: "ระดับของเก่าที่ยังไม่เทียบเท่าแบบแท่ง", + default: null, }) - amount: Double; - - @Column({ - comment: "เงินพิเศษ", - default: 0, - nullable: true, - type: "double", - }) - amountSpecial: Double; - - @Column({ - comment: "เงินประจำตำแหน่ง", - default: 0, - nullable: true, - type: "double", - }) - positionSalaryAmount: Double; - - @Column({ - comment: "เงินค่าตอบแทนรายเดือน", - default: 0, - nullable: true, - type: "double", - }) - mouthSalaryAmount: Double; - - // @Column({ - // nullable: true, - // comment: "ประเภทคำสั่ง", - // type: "text", - // default: null, - // }) - // commandType: string; + positionCee: string; @Column({ nullable: true, @@ -164,54 +157,51 @@ export class ProfileSalary extends EntityBase { @Column({ nullable: true, - comment: "ระดับ", + length: 255, + comment: "ตำแหน่งทางการบริหาร", default: null, }) - mpCee: string; + positionExecutive: string; + + @Column({ + comment: "เงินเดือนฐาน", + default: 0, + nullable: true, + type: "double", + }) + amount: Double; + + @Column({ + comment: "เงินพิเศษ", + default: 0, + nullable: true, + type: "double", + }) + amountSpecial: Double; + + @Column({ + comment: "เงินประจำตำแหน่ง", + default: 0, + nullable: true, + type: "double", + }) + positionSalaryAmount: Double; + + @Column({ + comment: "เงินค่าตอบแทนรายเดือน", + default: 0, + nullable: true, + type: "double", + }) + mouthSalaryAmount: Double; @Column({ nullable: true, - comment: "รหัสประเภทของคำสั่งแต่งตั้ง", + length: 255, + comment: "หมายเหตุ", default: null, }) - refCommandCode: string; - - @Column({ - nullable: true, - comment: "ชื่อประเภทคำสั่ง", - default: null, - }) - refCommandName: string; - - @Column({ - nullable: true, - comment: "เลขที่คำสั่ง", - type: "text", - default: null, - }) - refCommandNo: string; - - @Column({ - comment: "วันที่ออกคำสั่ง", - type: "datetime", - nullable: true, - }) - refCommandDate: Date; - - @Column({ - nullable: true, - comment: "เอกสารอ้างอิง", - type: "text", - default: null, - }) - templateDoc: string; - - @Column({ - nullable: true, - comment: "ลำดับตำแหน่ง", - default: null, - }) - order: number; + remark: string; @Column({ comment: "วันที่", @@ -253,110 +243,107 @@ export class ProfileSalary extends EntityBase { export class CreateProfileSalary { profileId: string; - date?: Date | null; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; amount?: Double | null; amountSpecial?: Double | null; positionSalaryAmount?: Double | null; mouthSalaryAmount?: Double | null; posNo: string | null; - position: string | null; - positionLine: string | null; - positionPathSide: string | null; + posNoAbb: string | null; + positionName: string | null; positionExecutive: string | null; positionType: string | null; positionLevel: string | null; - refCommandNo: string | null; commandId?: string | null; - // commandType?: string | null; - templateDoc: string | null; + remark: string | null; isGovernment?: boolean | null; - orgRoot?: string | null; orgChild1?: string | null; orgChild2?: string | null; orgChild3?: string | null; orgChild4?: string | null; - mpCee?: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + positionCee?: string | null; + commandCode?: string | null; + commandName?: string | null; + commandNo?: number | null; + commandYear?: number | null; } export class CreateProfileSalaryEmployee { profileEmployeeId: string | null; - date?: Date | null; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; amount?: Double | null; amountSpecial?: Double | null; commandId?: string | null; positionSalaryAmount?: Double | null; mouthSalaryAmount?: Double | null; posNo: string | null; - position: string | null; - // positionLine: string | null; - // positionPathSide: string | null; - // positionExecutive: string | null; + posNoAbb: string | null; + positionName: string | null; positionType: string | null; positionLevel: string | null; - refCommandNo: string | null; - templateDoc: string | null; - + remark: string | null; orgRoot?: string | null; orgChild1?: string | null; orgChild2?: string | null; orgChild3?: string | null; orgChild4?: string | null; - mpCee?: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + positionCee?: string | null; + commandCode?: string | null; + commandName?: string | null; + commandNo?: number | null; + commandYear?: number | null; } export class UpdateProfileSalaryEmployee { - date?: Date | null; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; amount?: Double | null; amountSpecial?: Double | null; positionSalaryAmount?: Double | null; mouthSalaryAmount?: Double | null; posNo: string | null; - position: string | null; - // positionLine: string | null; - // positionPathSide: string | null; - // positionExecutive: string | null; + posNoAbb: string | null; + positionName: string | null; positionType: string | null; positionLevel: string | null; - refCommandNo: string | null; - templateDoc: string | null; - + remark: string | null; orgRoot?: string | null; orgChild1?: string | null; orgChild2?: string | null; orgChild3?: string | null; orgChild4?: string | null; - mpCee?: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + positionCee?: string | null; + commandCode?: string | null; + commandName?: string | null; + commandNo?: number | null; + commandYear?: number | null; } export type UpdateProfileSalary = { - date?: Date | null; + commandDateAffect?: Date | null; + commandDateSign?: Date | null; amount?: Double | null; amountSpecial?: Double | null; positionSalaryAmount?: Double | null; mouthSalaryAmount?: Double | null; posNo?: string | null; - position?: string | null; - positionLine?: string | null; - positionPathSide?: string | null; + posNoAbb: string | null; + positionName: string | null; positionExecutive?: string | null; positionType?: string | null; positionLevel?: string | null; - refCommandNo?: string | null; - templateDoc?: string | null; - + remark?: string | null; orgRoot?: string | null; orgChild1?: string | null; orgChild2?: string | null; orgChild3?: string | null; orgChild4?: string | null; - mpCee?: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + positionCee?: string | null; + commandCode?: string | null; + commandName?: string | null; + commandNo?: number | null; + commandYear?: number | null; }; diff --git a/src/entities/ProfileSalaryHistory.ts b/src/entities/ProfileSalaryHistory.ts index d0ffc6d8..de1c212e 100644 --- a/src/entities/ProfileSalaryHistory.ts +++ b/src/entities/ProfileSalaryHistory.ts @@ -5,19 +5,62 @@ import { Command } from "./Command"; @Entity("profileSalaryHistory") export class ProfileSalaryHistory extends EntityBase { - // @Column({ - // length: 40, - // comment: "คีย์นอก(FK)ของตาราง profile", - // type: "uuid", - // }) - // profileId: string; + @Column({ + nullable: true, + comment: "เรียงลำดับใหมาตามการนำเข้า", + default: null, + }) + order: number; @Column({ - comment: "วันที่", + nullable: true, + comment: "เลขที่คำสั่ง", + default: null, + }) + commandNo: number; + + @Column({ + nullable: true, + comment: "ปีที่ออกคำสั่ง", + default: null, + }) + commandYear: number; + + @Column({ + comment: "คำสั่งวันที่", type: "datetime", nullable: true, }) - date: Date; + commandDateSign: Date; + + @Column({ + comment: "คำสั่งมีผลวันที่", + type: "datetime", + nullable: true, + }) + commandDateAffect: Date; + + @Column({ + nullable: true, + comment: "รหัสประเภทของคำสั่ง", + default: null, + }) + commandCode: string; + + @Column({ + nullable: true, + comment: "ชื่อประเภทคำสั่ง", + default: null, + }) + commandName: string; + + @Column({ + nullable: true, + length: 40, + comment: "ตัวย่อเลขที่ตำแหน่ง", + default: null, + }) + posNoAbb: string; @Column({ nullable: true, @@ -33,31 +76,7 @@ export class ProfileSalaryHistory extends EntityBase { comment: "ตำแหน่ง", default: null, }) - position: string; - - @Column({ - nullable: true, - length: 255, - comment: "สายงาน", - default: null, - }) - positionLine: string; - - @Column({ - nullable: true, - length: 255, - comment: "ด้าน/สาขา", - default: null, - }) - positionPathSide: string; - - @Column({ - nullable: true, - length: 255, - comment: "ตำแหน่งทางการบริหาร", - default: null, - }) - positionExecutive: string; + positionName: string; @Column({ nullable: true, @@ -76,44 +95,11 @@ export class ProfileSalaryHistory extends EntityBase { positionLevel: string; @Column({ - comment: "เงินเดือนฐาน", - default: 0, nullable: true, - type: "double", + comment: "ระดับของเก่าที่ยังไม่เทียบเท่าแบบแท่ง", + default: null, }) - amount: Double; - - @Column({ - comment: "เงินพิเศษ", - default: 0, - nullable: true, - type: "double", - }) - amountSpecial: Double; - - @Column({ - comment: "เงินประจำตำแหน่ง", - default: 0, - nullable: true, - type: "double", - }) - positionSalaryAmount: Double; - - @Column({ - comment: "เงินค่าตอบแทนรายเดือน", - default: 0, - nullable: true, - type: "double", - }) - mouthSalaryAmount: Double; - - // @Column({ - // nullable: true, - // comment: "ประเภทคำสั่ง", - // type: "text", - // default: null, - // }) - // commandType: string; + positionCee: string; @Column({ nullable: true, @@ -152,47 +138,65 @@ export class ProfileSalaryHistory extends EntityBase { @Column({ nullable: true, - comment: "ระดับ", + length: 255, + comment: "ตำแหน่งทางการบริหาร", default: null, }) - mpCee: string; + positionExecutive: string; + + @Column({ + comment: "เงินเดือนฐาน", + default: 0, + nullable: true, + type: "double", + }) + amount: Double; + + @Column({ + comment: "เงินพิเศษ", + default: 0, + nullable: true, + type: "double", + }) + amountSpecial: Double; + + @Column({ + comment: "เงินประจำตำแหน่ง", + default: 0, + nullable: true, + type: "double", + }) + positionSalaryAmount: Double; + + @Column({ + comment: "เงินค่าตอบแทนรายเดือน", + default: 0, + nullable: true, + type: "double", + }) + mouthSalaryAmount: Double; @Column({ nullable: true, - comment: "รหัสประเภทของคำสั่งแต่งตั้ง", + length: 255, + comment: "หมายเหตุ", default: null, }) - refCommandCode: string; + remark: string; @Column({ - nullable: true, - comment: "ชื่อประเภทคำสั่ง", - default: null, - }) - refCommandName: string; - - @Column({ - nullable: true, - comment: "เลขที่คำสั่ง", - type: "text", - default: null, - }) - refCommandNo: string; - - @Column({ - comment: "วันที่ออกคำสั่ง", + comment: "วันที่", type: "datetime", nullable: true, }) - refCommandDate: Date; + dateGovernment: Date; @Column({ nullable: true, - comment: "เอกสารอ้างอิง", - type: "text", + comment: "เข้ารับราชการ", default: null, }) - templateDoc: string; + isGovernment: boolean; @Column({ length: 40, @@ -200,13 +204,6 @@ export class ProfileSalaryHistory extends EntityBase { }) profileSalaryId: string; - @Column({ - nullable: true, - comment: "ลำดับตำแหน่ง", - default: null, - }) - order: number; - @Column({ nullable: true, length: 40, @@ -239,16 +236,16 @@ export class CreateProfileSalaryHistory { positionType: string | null; positionLevel: string | null; refCommandNo: string | null; - templateDoc: string | null; + remark: string | null; orgRoot?: string | null; orgChild1?: string | null; orgChild2?: string | null; orgChild3?: string | null; orgChild4?: string | null; - mpCee?: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + positionCee?: string | null; + commandCode?: string | null; + commandName?: string | null; } export class UpdateProfileSalaryHistory { @@ -265,14 +262,14 @@ export class UpdateProfileSalaryHistory { positionType?: string | null; positionLevel?: string | null; refCommandNo?: string | null; - templateDoc?: string | null; + remark?: string | null; orgRoot?: string | null; orgChild1?: string | null; orgChild2?: string | null; orgChild3?: string | null; orgChild4?: string | null; - mpCee?: string | null; - refCommandCode?: string | null; - refCommandName?: string | null; + positionCee?: string | null; + commandCode?: string | null; + commandName?: string | null; } diff --git a/src/entities/HR_POSITION_OFFICER.ts b/src/entities/positionOfficer.ts similarity index 71% rename from src/entities/HR_POSITION_OFFICER.ts rename to src/entities/positionOfficer.ts index 09312f1a..232b19db 100644 --- a/src/entities/HR_POSITION_OFFICER.ts +++ b/src/entities/positionOfficer.ts @@ -1,13 +1,7 @@ import { Entity, Column, PrimaryGeneratedColumn } from "typeorm"; -@Entity("HR_POSITION_OFFICER") -export class HR_POSITION_OFFICER { - @Column({ - nullable: true, - type: "text", - default: null, - }) - CIT: string; +@Entity("positionOfficer") +export class positionOfficer { @PrimaryGeneratedColumn() id!: number; @@ -16,173 +10,175 @@ export class HR_POSITION_OFFICER { type: "text", default: null, }) - FLAG_PERSON_TYPE: string; + citizenId: string; @Column({ nullable: true, type: "text", default: null, }) - MP_POS_DATE: string; + flag_person_type: string; @Column({ nullable: true, type: "text", default: null, }) - SALARY: string; + order_move_position: number; @Column({ nullable: true, type: "text", default: null, }) - MP_COMMAND_NUM: string; + pos_num_code_sit: string; @Column({ nullable: true, type: "text", default: null, }) - POS_NUM_NAME: string; + pos_num_code_sit_abb: string; + + @Column({ + nullable: true, + default: null, + }) + mp_command_num: number; + + @Column({ + nullable: true, + default: null, + }) + cur_year: number; + + @Column({ + nullable: true, + default: null, + }) + mp_command_date: Date; + + @Column({ + nullable: true, + default: null, + }) + mp_pos_date: Date; @Column({ nullable: true, type: "text", default: null, }) - POS_NUM_CODE: string; + flag_to_name_code: string; @Column({ nullable: true, type: "text", default: null, }) - FLAG_TO_NAME: string; + flag_to_name: string; @Column({ nullable: true, type: "text", default: null, }) - WORK_LINE_NAME: string; + pos_num_name: string; @Column({ nullable: true, type: "text", default: null, }) - SPECIALIST_NAME: string; + pos_num_code: string; @Column({ nullable: true, type: "text", default: null, }) - ADMIN_NAME: string; + work_line_name: string; @Column({ nullable: true, type: "text", default: null, }) - REMARK: string; + mp_cee: string; @Column({ nullable: true, type: "text", default: null, }) - ORDER_MOVE_POSITION: string; + job_name: string; @Column({ nullable: true, type: "text", default: null, }) - MP_COMMAND_DATE: string; + section_name: string; @Column({ nullable: true, type: "text", default: null, }) - FLAG_TO_NAME_CODE: string; + division_name: string; @Column({ nullable: true, type: "text", default: null, }) - JOB_NAME: string; + department_code: string; @Column({ nullable: true, type: "text", default: null, }) - SECTION_NAME: string; + department_name: string; @Column({ nullable: true, type: "text", default: null, }) - DIVISION_NAME: string; + admin_name: string; + + @Column({ + nullable: true, + default: null, + }) + salary: number; @Column({ nullable: true, type: "text", default: null, }) - DEPARTMENT_NAME: string; + remark: string; @Column({ nullable: true, type: "text", default: null, }) - DEPARTMENT_CODE: string; + sal_pos_amount_1: string; @Column({ nullable: true, type: "text", default: null, }) - MP_CEE: string; + sal_pos_amount_2: string; @Column({ nullable: true, type: "text", default: null, }) - SAL_POS_AMOUNT_1: string; - - @Column({ - nullable: true, - type: "text", - default: null, - }) - SAL_POS_AMOUNT_2: string; - - @Column({ - nullable: true, - type: "text", - default: null, - }) - SPECIAL_AMT: string; - - @Column({ - nullable: true, - type: "text", - default: null, - }) - USER_CREATE: string; - - @Column({ - nullable: true, - type: "text", - default: null, - }) - USER_UPDATE: string; + special_amt: string; } diff --git a/src/interfaces/functionMain.ts b/src/interfaces/functionMain.ts index 7c6fef4c..25f6a1bf 100644 --- a/src/interfaces/functionMain.ts +++ b/src/interfaces/functionMain.ts @@ -34,7 +34,6 @@ class FunctionMain { createdFullName: req.user.name, lastUpdateUserId: req.user.sub, lastUpdateFullName: req.user.name, - refCommandDate: new Date(), createdAt: new Date(), lastUpdatedAt: new Date(), }; diff --git a/src/interfaces/utils.ts b/src/interfaces/utils.ts index e112e9c7..183561b1 100644 --- a/src/interfaces/utils.ts +++ b/src/interfaces/utils.ts @@ -51,7 +51,7 @@ export async function calculateGovAge(profileId: string, type: string) { where: { [isEmployee ? "profileEmployeeId" : "profileId"]: profileId, }, - select: ["date", "dateGovernment", "isGovernment"], + select: ["commandDateAffect", "dateGovernment", "isGovernment"], order: { order: "ASC" }, }); diff --git a/src/migration/1740139573883-updateprofilesalaryaddmis.ts b/src/migration/1740139573883-updateprofilesalaryaddmis.ts new file mode 100644 index 00000000..9618d258 --- /dev/null +++ b/src/migration/1740139573883-updateprofilesalaryaddmis.ts @@ -0,0 +1,108 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class Updateprofilesalaryaddmis1740139573883 implements MigrationInterface { + name = 'Updateprofilesalaryaddmis1740139573883' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE \`commandType\` CHANGE \`refCommandCode\` \`commandCode\` varchar(255) NULL COMMENT 'รหัสประเภทของคำสั่งแต่งตั้ง'`); + await queryRunner.query(`CREATE TABLE \`positionOfficer\` (\`id\` int NOT NULL AUTO_INCREMENT, \`citizenId\` text NULL, \`flag_person_type\` text NULL, \`order_move_position\` text NULL, \`pos_num_code_sit\` text NULL, \`pos_num_code_sit_abb\` text NULL, \`mp_command_num\` int NULL, \`cur_year\` int NULL, \`mp_command_date\` datetime NULL, \`mp_pos_date\` datetime NULL, \`flag_to_name_code\` text NULL, \`flag_to_name\` text NULL, \`pos_num_name\` text NULL, \`pos_num_code\` text NULL, \`work_line_name\` text NULL, \`mp_cee\` text NULL, \`job_name\` text NULL, \`section_name\` text NULL, \`division_name\` text NULL, \`department_code\` text NULL, \`department_name\` text NULL, \`admin_name\` text NULL, \`salary\` int NULL, \`remark\` text NULL, \`sal_pos_amount_1\` text NULL, \`sal_pos_amount_2\` text NULL, \`special_amt\` text NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`date\``); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`mpCee\``); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`position\``); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`positionLine\``); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`positionPathSide\``); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`refCommandCode\``); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`refCommandDate\``); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`refCommandName\``); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`refCommandNo\``); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`templateDoc\``); + await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`date\``); + await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`mpCee\``); + await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`position\``); + await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`positionLine\``); + await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`positionPathSide\``); + await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`refCommandCode\``); + await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`refCommandDate\``); + await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`refCommandName\``); + await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`refCommandNo\``); + await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`templateDoc\``); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`commandNo\` int NULL COMMENT 'เลขที่คำสั่ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`commandYear\` int NULL COMMENT 'ปีที่ออกคำสั่ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`commandDateSign\` datetime NULL COMMENT 'คำสั่งวันที่'`); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`commandDateAffect\` datetime NULL COMMENT 'คำสั่งมีผลวันที่'`); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`commandCode\` varchar(255) NULL COMMENT 'รหัสประเภทของคำสั่ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`commandName\` varchar(255) NULL COMMENT 'ชื่อประเภทคำสั่ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`posNoAbb\` varchar(40) NULL COMMENT 'ตัวย่อเลขที่ตำแหน่ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`positionName\` varchar(255) NULL COMMENT 'ตำแหน่ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`positionCee\` varchar(255) NULL COMMENT 'ระดับของเก่าที่ยังไม่เทียบเท่าแบบแท่ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`remark\` varchar(255) NULL COMMENT 'หมายเหตุ'`); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`dateGovernment\` datetime NULL COMMENT 'วันที่'`); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`isGovernment\` tinyint NULL COMMENT 'เข้ารับราชการ'`); + await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`commandNo\` int NULL COMMENT 'เลขที่คำสั่ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`commandYear\` int NULL COMMENT 'ปีที่ออกคำสั่ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`commandDateSign\` datetime NULL COMMENT 'คำสั่งวันที่'`); + await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`commandDateAffect\` datetime NULL COMMENT 'คำสั่งมีผลวันที่'`); + await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`commandCode\` varchar(255) NULL COMMENT 'รหัสประเภทของคำสั่ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`commandName\` varchar(255) NULL COMMENT 'ชื่อประเภทคำสั่ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`posNoAbb\` varchar(40) NULL COMMENT 'ตัวย่อเลขที่ตำแหน่ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`positionName\` varchar(255) NULL COMMENT 'ตำแหน่ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`positionCee\` varchar(255) NULL COMMENT 'ระดับของเก่าที่ยังไม่เทียบเท่าแบบแท่ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`remark\` varchar(255) NULL COMMENT 'หมายเหตุ'`); + await queryRunner.query(`ALTER TABLE \`commandType\` DROP COLUMN \`commandCode\``); + await queryRunner.query(`ALTER TABLE \`commandType\` ADD \`commandCode\` varchar(255) NULL COMMENT 'รหัสประเภทของคำสั่ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` CHANGE \`order\` \`order\` int NULL COMMENT 'เรียงลำดับใหมาตามการนำเข้า'`); + await queryRunner.query(`ALTER TABLE \`profileSalary\` CHANGE \`order\` \`order\` int NULL COMMENT 'เรียงลำดับใหมาตามการนำเข้า'`); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE \`profileSalary\` CHANGE \`order\` \`order\` int NULL COMMENT 'ลำดับตำแหน่ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` CHANGE \`order\` \`order\` int NULL COMMENT 'ลำดับตำแหน่ง'`); + await queryRunner.query(`ALTER TABLE \`commandType\` DROP COLUMN \`commandCode\``); + await queryRunner.query(`ALTER TABLE \`commandType\` ADD \`commandCode\` varchar(255) NULL COMMENT 'รหัสประเภทของคำสั่งแต่งตั้ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`remark\``); + await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`positionCee\``); + await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`positionName\``); + await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`posNoAbb\``); + await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`commandName\``); + await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`commandCode\``); + await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`commandDateAffect\``); + await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`commandDateSign\``); + await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`commandYear\``); + await queryRunner.query(`ALTER TABLE \`profileSalary\` DROP COLUMN \`commandNo\``); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`isGovernment\``); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`dateGovernment\``); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`remark\``); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`positionCee\``); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`positionName\``); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`posNoAbb\``); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`commandName\``); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`commandCode\``); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`commandDateAffect\``); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`commandDateSign\``); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`commandYear\``); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` DROP COLUMN \`commandNo\``); + await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`templateDoc\` text NULL COMMENT 'เอกสารอ้างอิง'`); + await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`refCommandNo\` text NULL COMMENT 'เลขที่คำสั่ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`refCommandName\` varchar(255) NULL COMMENT 'ชื่อประเภทคำสั่ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`refCommandDate\` datetime NULL COMMENT 'วันที่ออกคำสั่ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`refCommandCode\` varchar(255) NULL COMMENT 'รหัสประเภทของคำสั่งแต่งตั้ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`positionPathSide\` varchar(255) NULL COMMENT 'ด้าน/สาขา'`); + await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`positionLine\` varchar(255) NULL COMMENT 'สายงาน'`); + await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`position\` varchar(255) NULL COMMENT 'ตำแหน่ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`mpCee\` varchar(255) NULL COMMENT 'ระดับ'`); + await queryRunner.query(`ALTER TABLE \`profileSalary\` ADD \`date\` datetime NULL COMMENT 'วันที่'`); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`templateDoc\` text NULL COMMENT 'เอกสารอ้างอิง'`); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`refCommandNo\` text NULL COMMENT 'เลขที่คำสั่ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`refCommandName\` varchar(255) NULL COMMENT 'ชื่อประเภทคำสั่ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`refCommandDate\` datetime NULL COMMENT 'วันที่ออกคำสั่ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`refCommandCode\` varchar(255) NULL COMMENT 'รหัสประเภทของคำสั่งแต่งตั้ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`positionPathSide\` varchar(255) NULL COMMENT 'ด้าน/สาขา'`); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`positionLine\` varchar(255) NULL COMMENT 'สายงาน'`); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`position\` varchar(255) NULL COMMENT 'ตำแหน่ง'`); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`mpCee\` varchar(255) NULL COMMENT 'ระดับ'`); + await queryRunner.query(`ALTER TABLE \`profileSalaryHistory\` ADD \`date\` datetime NULL COMMENT 'วันที่'`); + await queryRunner.query(`DROP TABLE \`positionOfficer\``); + await queryRunner.query(`ALTER TABLE \`commandType\` CHANGE \`commandCode\` \`refCommandCode\` varchar(255) NULL COMMENT 'รหัสประเภทของคำสั่งแต่งตั้ง'`); + } + +} diff --git a/src/services/rabbitmq.ts b/src/services/rabbitmq.ts index 1035e842..4dd5beb3 100644 --- a/src/services/rabbitmq.ts +++ b/src/services/rabbitmq.ts @@ -93,17 +93,18 @@ async function handler(msg: amqp.ConsumeMessage): Promise { .filter((x) => x.refId != null) .map((x) => ({ refId: x.refId, - commandAffectDate: command.commandAffectDate, commandNo: command.commandNo, commandYear: command.commandYear, commandId: command.id, - templateDoc: command.positionDetail, + remark: command.positionDetail, amount: x.amount, amountSpecial: x.amountSpecial, positionSalaryAmount: x.positionSalaryAmount, mouthSalaryAmount: x.mouthSalaryAmount, - refCommandCode: command.commandType.refCommandCode, - refCommandName: command.commandType.name, + commandCode: command.commandType.commandCode, + commandName: command.commandType.name, + commandDateAffect: command.commandExcecuteDate, + commandDateSign: command.commandAffectDate, })), }, false,