add filtering pr
This commit is contained in:
@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user