add filtering pr

This commit is contained in:
Iki
2026-05-15 15:20:09 +07:00
parent 1422eace45
commit 707eb037cc

View File

@ -414,7 +414,9 @@ class PrAdapter extends Adapter {
let offset = req.body.offset;
let keyword = req.body.keyword;
let nik = req.body.nik;
let status = req.body.status;
let status = req.body.status ?? "-1";
let division = req.body.division ?? "";
let sort = req.body.sort ?? "latest";
let swherenik = "";
@ -424,6 +426,13 @@ class PrAdapter extends Adapter {
}
}
let sdivision = "";
if (division && division.trim() !== "") {
sdivision = " and v.division = '" + division + "'";
}
let sorder = sort === "past" ? "id asc" : "id desc";
let qryBase = "select v.*, p.currency_id, p.rate_snapshot, c.currency AS currency_code, c.symbol AS currency_symbol ";
qryBase += "from vw_pr v ";
qryBase += "left join tbl_pr p on p._idx = v.id ";
@ -434,8 +443,13 @@ class PrAdapter extends Adapter {
keyword +
"%' or trim(v.prnumber) like '%" +
keyword +
"%' or trim(v.justificationnumber) like '%" +
keyword +
"%') ";
qry += "and " + swherenik + "v.status in(" + status + ") ";
if (status !== "-1") {
qry += "and v.status in(" + status + ") ";
}
qry += "and " + swherenik + sdivision.substring(5);
// qry += "order by id asc limit " + offset + ", " + limit;
// console.log("qry paging => ", qry);
@ -463,22 +477,21 @@ class PrAdapter extends Adapter {
keyword +
"%' or trim(v.prnumber) like '%" +
keyword +
"%' or trim(v.justificationnumber) like '%" +
keyword +
"%') ";
if (status !== "-1") {
qry += "and v.status in(" + status + ") ";
}
if (division && division.trim() !== "") {
qry += "and v.division = '" + division + "' ";
}
if (nik) {
if (!proc_users.includes(nik)) {
qry += 'and (v.iby="' + nik + '" or v.nikapproval="' + nik + '")';
}
}
qry =
qry +
"and " +
swherenik +
" v.status in(" +
status +
") order by id asc limit " +
offset +
", " +
limit;
qry = qry + " order by " + sorder + " limit " + offset + ", " + limit;
// console.log("qry => ", qry);
@ -668,12 +681,22 @@ class PrAdapter extends Adapter {
let offset = req.query.offset;
let keyword = req.query.keyword;
let nik = req.query.nik;
let status = req.query.status ?? "0,2";
let division = req.query.division ?? "";
let sort = req.query.sort ?? "latest";
let swherenik = "and iby='" + nik + "'";
if (!proc_users.includes(nik)) {
swherenik = "";
}
let sdivision = "";
if (division && division.trim() !== "") {
sdivision = " and division = '" + division + "'";
}
let sorder = sort === "past" ? "id asc" : "id desc";
// let qry = "select * from vw_prmanagement ";
// qry = qry +"where (trim(trxidpr) like '%"+ keyword +"%' or trim(prnumber) like '%"+ keyword +"%') ";
// qry = qry +swherenik+" order by id asc limit " + offset + ", " + limit;
@ -684,7 +707,13 @@ class PrAdapter extends Adapter {
keyword +
"%' or trim(prnumber) like '%" +
keyword +
"%') ";
"%' or trim(justificationnumber) like '%" +
keyword +
"%') and status in(" +
status +
")" +
sdivision +
" ";
// qry = qry +swherenik+" order by id asc limit " + offset + ", " + limit;
// console.log(qry);
@ -708,12 +737,20 @@ class PrAdapter extends Adapter {
qry = "select * from vw_prmanagement ";
qry =
qry +
"where status >= 2 and (trim(trxidpr) like '%" +
"where (trim(trxidpr) like '%" +
keyword +
"%' or trim(prnumber) like '%" +
keyword +
"%') ";
qry = qry + swherenik + " order by id asc limit " + offset + ", " + limit;
"%' or trim(justificationnumber) like '%" +
keyword +
"%') and status in(" +
status +
")" +
sdivision;
if (swherenik.trim() !== "") {
qry += " " + swherenik;
}
qry = qry + " order by " + sorder + " limit " + offset + ", " + limit;
console.log('qry', qry)
db.query(qry, [], function (err, result, fields) {