This commit is contained in:
parent
cf161f9809
commit
759e69d44d
2 changed files with 24 additions and 10 deletions
|
|
@ -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, "กลุ่มเป้าหมายไม่ถูกต้อง");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue