Merge branch 'develop' into develop-Bright

This commit is contained in:
harid 2026-03-20 11:03:29 +07:00
commit b4c7f5f268
5 changed files with 186 additions and 171 deletions

View file

@ -2497,12 +2497,12 @@ export class CommandController extends Controller {
@Put("change-creator/{id}")
async ChangeCreator(
@Path() id: string,
@Body() req: { assignId: string; },
@Body() req: { assignId: string },
@Request() request: RequestWithUser,
) {
await new permission().PermissionUpdate(request, "COMMAND");
const command = await this.commandRepository.findOne({
where: { id: id }
where: { id: id },
});
if (!command) {
@ -4048,8 +4048,11 @@ export class CommandController extends Controller {
const executeDate = commandResign
? new Date(commandResign.command.commandExcecuteDate).setHours(0, 0, 0, 0)
: today;
if (commandResign && _command.status !== "REPORTED" &&
(_command.status !== "WAITING" || today < executeDate)) {
if (
commandResign &&
_command.status !== "REPORTED" &&
(_command.status !== "WAITING" || today < executeDate)
) {
await reOrderCommandRecivesAndDelete(commandResign!.id);
}
}
@ -4322,6 +4325,7 @@ export class CommandController extends Controller {
}
PostRetireToExprofile(
req,
profile.citizenId ?? "",
profile.prefix ?? "",
profile.firstName ?? "",
@ -4450,8 +4454,11 @@ export class CommandController extends Controller {
const executeDate = commandResign
? new Date(commandResign.command.commandExcecuteDate).setHours(0, 0, 0, 0)
: today;
if (commandResign && _command.status !== "REPORTED" &&
(_command.status !== "WAITING" || today < executeDate)) {
if (
commandResign &&
_command.status !== "REPORTED" &&
(_command.status !== "WAITING" || today < executeDate)
) {
await reOrderCommandRecivesAndDelete(commandResign!.id);
}
}
@ -4572,7 +4579,8 @@ export class CommandController extends Controller {
].filter(Boolean);
organizeName = names.join(" ");
}
await PostRetireToExprofile(
PostRetireToExprofile(
req,
profile.citizenId ?? "",
profile.prefix ?? "",
profile.firstName ?? "",
@ -4842,7 +4850,8 @@ export class CommandController extends Controller {
].filter(Boolean);
organizeName = names.join(" ");
}
await PostRetireToExprofile(
PostRetireToExprofile(
req,
profile.citizenId ?? "",
profile.prefix ?? "",
profile.firstName ?? "",
@ -5473,7 +5482,8 @@ export class CommandController extends Controller {
? `${profile.posLevel?.posLevelName}`
: `${profile.posType?.posTypeName} ${profile.posLevel?.posLevelName}`;
await PostRetireToExprofile(
PostRetireToExprofile(
req,
profile.citizenId ?? "",
profile.prefix ?? "",
profile.firstName ?? "",
@ -6249,7 +6259,8 @@ export class CommandController extends Controller {
].filter(Boolean);
organizeName = names.join(" ");
}
await PostRetireToExprofile(
PostRetireToExprofile(
req,
profile.citizenId ?? "",
profile.prefix ?? "",
profile.firstName ?? "",

View file

@ -14,6 +14,7 @@ import {
} from "tsoa";
import HttpError from "../interfaces/http-error";
import HttpStatusCode from "../interfaces/http-status";
import { addLogSequence } from "../interfaces/utils";
interface CachedToken {
token: string;
@ -171,6 +172,7 @@ async function getToken(ClientID: string, ClientSecret: string): Promise<string>
// function post retire data to exprofile system
export async function PostRetireToExprofile(
request: any,
citizenID: string,
prefix: string,
firstName: string,
@ -225,19 +227,6 @@ export async function PostRetireToExprofile(
},
});
// addLogSequence(request, {
// action: "request",
// status: "success",
// description: "connected",
// request: {
// method: "POST",
// url: url,
// payload: JSON.stringify(sendData),
// response: JSON.stringify(response.data.result),
// },
// });
return res.data;
} catch (error: any) {
if (error.response?.status === 500 && retryCount < maxRetries - 1) {
@ -245,6 +234,18 @@ export async function PostRetireToExprofile(
retryCount++;
continue;
}
addLogSequence(request, {
action: "request",
status: "error",
description: "unconnected to exprofile api",
request: {
method: "POST",
url: API_URL_BANGKOK + "/importData",
response: JSON.stringify(error),
},
});
throw new HttpError(HttpStatusCode.INTERNAL_SERVER_ERROR, "ไม่สามารถติดต่อ API ได้");
}
}

View file

@ -11193,7 +11193,8 @@ export class ProfileController extends Controller {
].filter(Boolean);
organizeName = names.join(" ");
}
await PostRetireToExprofile(
PostRetireToExprofile(
request,
profile.citizenId ?? "",
profile.prefix ?? "",
profile.firstName ?? "",

View file

@ -2386,13 +2386,13 @@ export class ProfileEmployeeController extends Controller {
@Get("history/user")
async getHistoryProfileByUser(@Request() request: RequestWithUser) {
const profile = await this.profileRepo.findOne({
where: { keycloak: request.user.sub }
where: { keycloak: request.user.sub },
});
if (!profile) throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูล");
const profileHistory = await this.profileHistoryRepo.find({
where: { profileEmployeeId: profile.id },
order: { createdAt: "ASC" }
order: { createdAt: "ASC" },
});
if (profileHistory.length == 0) {
@ -2401,12 +2401,12 @@ export class ProfileEmployeeController extends Controller {
...profile,
birthDateOld: profile?.birthDate,
profileEmployeeId: profile.id,
id: undefined
id: undefined,
}),
);
const firstRecord = await this.profileHistoryRepo.find({
where: { profileEmployeeId: profile.id },
order: { createdAt: "ASC" }
order: { createdAt: "ASC" },
});
return new HttpSuccess(firstRecord);
}
@ -3303,13 +3303,13 @@ export class ProfileEmployeeController extends Controller {
async getProfileHistory(@Path() id: string, @Request() req: RequestWithUser) {
//await new permission().PermissionOrgUserGet(req, "SYS_REGISTRY_EMP", id); ไม่แน่ใจEMPปิดไว้ก่อน;
const profile = await this.profileRepo.findOne({
where: { id: id }
where: { id: id },
});
if (!profile) throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูล");
const profileHistory = await this.profileHistoryRepo.find({
where: { profileEmployeeId: id },
order: { createdAt: "ASC" }
order: { createdAt: "ASC" },
});
if (profileHistory.length == 0) {
@ -3318,12 +3318,12 @@ export class ProfileEmployeeController extends Controller {
...profile,
birthDateOld: profile?.birthDate,
profileEmployeeId: id,
id: undefined
id: undefined,
}),
);
const firstRecord = await this.profileHistoryRepo.find({
where: { profileEmployeeId: id },
order: { createdAt: "ASC" }
order: { createdAt: "ASC" },
});
return new HttpSuccess(firstRecord);
}
@ -5546,7 +5546,8 @@ export class ProfileEmployeeController extends Controller {
].filter(Boolean);
organizeName = names.join(" ");
}
await PostRetireToExprofile(
PostRetireToExprofile(
request,
profile.citizenId ?? "",
profile.prefix ?? "",
profile.firstName ?? "",

View file

@ -1295,13 +1295,13 @@ export class ProfileEmployeeTempController extends Controller {
@Get("history/user")
async getHistoryProfileByUser(@Request() request: RequestWithUser) {
const profile = await this.profileRepo.findOne({
where: { keycloak: request.user.sub }
where: { keycloak: request.user.sub },
});
if (!profile) throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูล");
const profileHistory = await this.profileHistoryRepo.find({
where: { profileEmployeeId: profile.id },
order: { createdAt: "ASC" }
order: { createdAt: "ASC" },
});
if (profileHistory.length == 0) {
@ -1310,12 +1310,12 @@ export class ProfileEmployeeTempController extends Controller {
...profile,
birthDateOld: profile?.birthDate,
profileEmployeeId: profile.id,
id: undefined
id: undefined,
}),
);
const firstRecord = await this.profileHistoryRepo.find({
where: { profileEmployeeId: profile.id },
order: { createdAt: "ASC" }
order: { createdAt: "ASC" },
});
return new HttpSuccess(firstRecord);
}
@ -1828,13 +1828,13 @@ export class ProfileEmployeeTempController extends Controller {
async getProfileHistory(@Path() id: string, @Request() req: RequestWithUser) {
// await new permission().PermissionGet(req, "SYS_REGISTRY_TEMP");//ไม่แน่ใจTEMPปิดไว้ก่อน
const profile = await this.profileRepo.findOne({
where: { id: id }
where: { id: id },
});
if (!profile) throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูล");
const profileHistory = await this.profileHistoryRepo.find({
where: { profileEmployeeId: id },
order: { createdAt: "ASC" }
order: { createdAt: "ASC" },
});
if (profileHistory.length == 0) {
@ -1843,12 +1843,12 @@ export class ProfileEmployeeTempController extends Controller {
...profile,
birthDateOld: profile?.birthDate,
profileEmployeeId: id,
id: undefined
id: undefined,
}),
);
const firstRecord = await this.profileHistoryRepo.find({
where: { profileEmployeeId: id },
order: { createdAt: "ASC" }
order: { createdAt: "ASC" },
});
return new HttpSuccess(firstRecord);
}
@ -3606,7 +3606,8 @@ export class ProfileEmployeeTempController extends Controller {
].filter(Boolean);
organizeName = names.join(" ");
}
await PostRetireToExprofile(
PostRetireToExprofile(
request,
profile.citizenId ?? "",
profile.prefix ?? "",
profile.firstName ?? "",