fix
All checks were successful
Build & Deploy on Dev / build (push) Successful in 1m7s

This commit is contained in:
harid 2026-07-03 17:30:44 +07:00
parent cf161f9809
commit 759e69d44d
2 changed files with 24 additions and 10 deletions

View file

@ -621,13 +621,13 @@ export class PosMasterActController extends Controller {
let conditionGroup = "";
if (body.type.trim().toUpperCase() == "GROUP1.1") {
conditionGroup =
"(posTypeAct.posTypeName = 'ทั่วไป' AND posLevelAct.posLevelName = 'ชำนาญงาน') OR (posTypeAct.posTypeName = 'ทั่วไป' AND posLevelAct.posLevelName = 'ปฏิบัติงาน') OR (posTypeAct.posTypeName = 'วิชาการ' AND posLevelAct.posLevelName = 'ปฏิบัติการ') OR (posTypeAct.posTypeName = 'วิชาการ' AND posLevelAct.posLevelName = 'ชำนาญการ')";
"(posType.posTypeName = 'ทั่วไป' AND posLevel.posLevelName = 'ชำนาญงาน') OR (posType.posTypeName = 'ทั่วไป' AND posLevel.posLevelName = 'ปฏิบัติงาน') OR (posType.posTypeName = 'วิชาการ' AND posLevel.posLevelName = 'ปฏิบัติการ') OR (posType.posTypeName = 'วิชาการ' AND posLevel.posLevelName = 'ชำนาญการ')";
} else if (body.type.trim().toUpperCase() == "GROUP1.2") {
conditionGroup =
"(posTypeAct.posTypeName = 'ทั่วไป' AND posLevelAct.posLevelName = 'อาวุโส') OR (posTypeAct.posTypeName = 'วิชาการ' AND posLevelAct.posLevelName = 'ชำนาญการพิเศษ') OR (posTypeAct.posTypeName = 'อำนวยการ' AND posLevelAct.posLevelName = 'ต้น')";
"(posType.posTypeName = 'ทั่วไป' AND posLevel.posLevelName = 'อาวุโส') OR (posType.posTypeName = 'วิชาการ' AND posLevel.posLevelName = 'ชำนาญการพิเศษ') OR (posType.posTypeName = 'อำนวยการ' AND posLevel.posLevelName = 'ต้น')";
} else if (body.type.trim().toUpperCase() == "GROUP2") {
conditionGroup =
"(posTypeAct.posTypeName = 'ทั่วไป' AND posLevelAct.posLevelName = 'ทักษะพิเศษ') OR (posTypeAct.posTypeName = 'วิชาการ' AND posLevelAct.posLevelName = 'เชี่ยวชาญ') OR (posTypeAct.posTypeName = 'วิชาการ' AND posLevelAct.posLevelName = 'ทรงคุณวุฒิ') OR (posTypeAct.posTypeName = 'อำนวยการ' AND posLevelAct.posLevelName = 'สูง') OR (posTypeAct.posTypeName = 'บริหาร' AND posLevelAct.posLevelName = 'ต้น') OR (posTypeAct.posTypeName = 'บริหาร' AND posLevelAct.posLevelName = 'สูง')";
"(posType.posTypeName = 'ทั่วไป' AND posLevel.posLevelName = 'ทักษะพิเศษ') OR (posType.posTypeName = 'วิชาการ' AND posLevel.posLevelName = 'เชี่ยวชาญ') OR (posType.posTypeName = 'วิชาการ' AND posLevel.posLevelName = 'ทรงคุณวุฒิ') OR (posType.posTypeName = 'อำนวยการ' AND posLevel.posLevelName = 'สูง') OR (posType.posTypeName = 'บริหาร' AND posLevel.posLevelName = 'ต้น') OR (posType.posTypeName = 'บริหาร' AND posLevel.posLevelName = 'สูง')";
} else {
throw new HttpError(HttpStatusCode.NOT_FOUND, "กลุ่มเป้าหมายไม่ถูกต้อง");
}

View file

@ -176,6 +176,23 @@ function createConsumer( //----> consumer
);
}
/**
* pseudo Express request service RabbitMQ ( HTTP)
* `.app.locals.logData.sequence` addLogSequence ( CallAPI)
* `.headers.authorization` + `.user` audit/auth
*/
function buildPseudoReq(token: string, user: any) {
return {
headers: { authorization: token },
user,
app: {
locals: {
logData: { sequence: [] as any[] },
},
},
};
}
async function handler(msg: amqp.ConsumeMessage): Promise<boolean> {
//----> condition before process consumer
// const repo = AppDataSource.getRepository(Command);
@ -381,7 +398,7 @@ async function handler(msg: amqp.ConsumeMessage): Promise<boolean> {
// เพราะ path ของ command เหล่านี้ชี้กลับ org เอง → PostData(path + "/excecute") = ยิงเข้าตัว
if (isOrgSelfLinear) {
console.log(`[AMQ] Linear Flow org-self (${code}) — เรียก Service ตรงๆ (no loopback)`);
const pseudoReq = { headers: { authorization: token }, user };
const pseudoReq = buildPseudoReq(token, user);
const ctx = {
user: { sub: user?.sub ?? "system", name: user?.name ?? "System" },
req: pseudoReq,
@ -429,7 +446,7 @@ async function handler(msg: amqp.ConsumeMessage): Promise<boolean> {
}
if (resultData.length > 0) {
const pseudoReq = { headers: { authorization: token }, user };
const pseudoReq = buildPseudoReq(token, user);
const ctx = {
user: { sub: user?.sub ?? "system", name: user?.name ?? "System" },
req: pseudoReq,
@ -470,7 +487,7 @@ async function handler(msg: amqp.ConsumeMessage): Promise<boolean> {
}
if (resultData.length > 0) {
const pseudoReq = { headers: { authorization: token }, user };
const pseudoReq = buildPseudoReq(token, user);
const ctx = {
user: { sub: user?.sub ?? "system", name: user?.name ?? "System" },
req: pseudoReq,
@ -519,10 +536,7 @@ async function handler(msg: amqp.ConsumeMessage): Promise<boolean> {
// Route ไป service ที่ถูกต้องตาม commandType
if (resultData.length > 0 || resultData1.length > 0) {
// สร้าง pseudo-req สำหรับ setLogDataDiff/save({data: req})
const pseudoReq = {
headers: { authorization: token },
user,
};
const pseudoReq = buildPseudoReq(token, user);
const ctx = {
user: { sub: user?.sub ?? "system", name: user?.name ?? "System" },
req: pseudoReq,