upd
This commit is contained in:
@ -13,16 +13,29 @@ class BastAdapter extends Adapter {
|
||||
try {
|
||||
let limit = req.query.limit;
|
||||
let offset = req.query.offset;
|
||||
let keyword = req.query.keyword;
|
||||
let keyword = req.query.keyword ?? "";
|
||||
let division = req.query.division ?? "";
|
||||
let sort = req.query.sort ?? "latest";
|
||||
let sorder = sort === "past" ? "v.idxbudget asc" : "v.idxbudget desc";
|
||||
|
||||
let qry = "select v.*, COALESCE(c.currency, 'USD') AS currency_code, COALESCE(c.symbol, '$') AS currency_symbol, pr.rate_snapshot AS pr_rate_snapshot " +
|
||||
"from vw_bastactivitylist v " +
|
||||
"left join tbl_pr pr on pr._idx = v.idxpr " +
|
||||
"left join tbl_currency c on c._idx = pr.currency_id ";
|
||||
qry = qry + "where v.activityname like '%" + keyword + "%' ";
|
||||
qry = qry + "order by v.idxbudget asc limit " + offset + ", " + limit;
|
||||
let qryBase =
|
||||
"select v.*, COALESCE(c.currency, 'USD') AS currency_code, COALESCE(c.symbol, '$') AS currency_symbol, pr.rate_snapshot AS pr_rate_snapshot ";
|
||||
qryBase += "from vw_bastactivitylist v ";
|
||||
qryBase += "left join tbl_pr pr on pr._idx = v.idxpr ";
|
||||
qryBase += "left join tbl_currency c on c._idx = pr.currency_id ";
|
||||
qryBase += "left join tbl_justification j on j._idx = pr.idxjustification ";
|
||||
let keywordFilter =
|
||||
"(trim(v.activityname) like '%" +
|
||||
keyword +
|
||||
"%' or trim(v.prnumber) like '%" +
|
||||
keyword +
|
||||
"%') ";
|
||||
let divisionFilter = "";
|
||||
if (division && division.trim() !== "") {
|
||||
divisionFilter = "and j.division = '" + division + "' ";
|
||||
}
|
||||
let qry = qryBase + "where " + keywordFilter + divisionFilter;
|
||||
|
||||
// console.log(qry);
|
||||
db.query(qry, [], function (err, result, fields) {
|
||||
if (err) {
|
||||
apires.meta["message"] = err.toString();
|
||||
@ -34,21 +47,13 @@ class BastAdapter extends Adapter {
|
||||
if (!Number.isInteger(pagination)) {
|
||||
pagination = Math.floor(result.length / limit) + 1;
|
||||
}
|
||||
// let pagination = Adapter.getPagination(result.length, limit);
|
||||
apires.success = true;
|
||||
apires.data.push({
|
||||
"totalpage": pagination,
|
||||
"totalrows": result.length,
|
||||
});
|
||||
qry = "select v.*, COALESCE(c.currency, 'USD') AS currency_code, COALESCE(c.symbol, '$') AS currency_symbol, pr.rate_snapshot AS pr_rate_snapshot " +
|
||||
"from vw_bastactivitylist v " +
|
||||
"left join tbl_pr pr on pr._idx = v.idxpr " +
|
||||
"left join tbl_currency c on c._idx = pr.currency_id ";
|
||||
qry = qry + "where v.activityname like '%" + keyword + "%' ";
|
||||
qry = qry + "order by v.idxbudget asc limit " + offset + ", " + limit;
|
||||
// qry = "select * from vw_basthandoverlist ";
|
||||
// qry = qry + "where bastnumber like '%" + keyword + "%' ";
|
||||
// qry = qry + "order by _idx asc limit " + offset + ", " + limit;
|
||||
qry = qryBase + "where " + keywordFilter + divisionFilter;
|
||||
qry = qry + "order by " + sorder + " limit " + offset + ", " + limit;
|
||||
db.query(qry, [], function (err, result, fields) {
|
||||
if (err) {
|
||||
apires.meta["message"] = err.toString();
|
||||
@ -80,19 +85,33 @@ class BastAdapter extends Adapter {
|
||||
try {
|
||||
let limit = req.query.limit;
|
||||
let offset = req.query.offset;
|
||||
let keyword = req.query.keyword;
|
||||
let keyword = req.query.keyword ?? "";
|
||||
let division = req.query.division ?? "";
|
||||
let sort = req.query.sort ?? "latest";
|
||||
let sorder = sort === "past" ? "v._idx asc" : "v._idx desc";
|
||||
|
||||
// let qry = "select * from vw_bastactivitylist ";
|
||||
// qry = qry + "where activityname like '%" + keyword + "%' ";
|
||||
// qry = qry + "order by idxbudget asc limit " + offset + ", " + limit;
|
||||
let qry = "select v.*, COALESCE(c.currency, 'USD') AS currency_code, COALESCE(c.symbol, '$') AS currency_symbol, po.rate_snapshot " +
|
||||
"from vw_basthandoverlist v " +
|
||||
"left join tbl_po po on po._idx = v.idxpo " +
|
||||
"left join tbl_currency c on c._idx = po.currency_id ";
|
||||
qry = qry + "where v.bastnumber like '%" + keyword + "%' ";
|
||||
qry = qry + "order by v._idx asc";
|
||||
let qryBase =
|
||||
"select v.*, COALESCE(c.currency, 'USD') AS currency_code, COALESCE(c.symbol, '$') AS currency_symbol, po.rate_snapshot ";
|
||||
qryBase += "from vw_basthandoverlist v ";
|
||||
qryBase += "left join tbl_po po on po._idx = v.idxpo ";
|
||||
qryBase += "left join tbl_currency c on c._idx = po.currency_id ";
|
||||
qryBase += "left join tbl_justification j on j._idx = po.idxjustification ";
|
||||
let keywordFilter =
|
||||
"(trim(v.bastnumber) like '%" +
|
||||
keyword +
|
||||
"%' or trim(v.ponumber) like '%" +
|
||||
keyword +
|
||||
"%' or trim(v.vendorname) like '%" +
|
||||
keyword +
|
||||
"%' or trim(v.description) like '%" +
|
||||
keyword +
|
||||
"%') ";
|
||||
let divisionFilter = "";
|
||||
if (division && division.trim() !== "") {
|
||||
divisionFilter = "and j.division = '" + division + "' ";
|
||||
}
|
||||
let qry = qryBase + "where " + keywordFilter + divisionFilter;
|
||||
|
||||
// console.log(qry);
|
||||
db.query(qry, [], function (err, result, fields) {
|
||||
if (err) {
|
||||
apires.meta["message"] = err.toString();
|
||||
@ -104,19 +123,14 @@ class BastAdapter extends Adapter {
|
||||
if (!Number.isInteger(pagination)) {
|
||||
pagination = Math.floor(result.length / limit) + 1;
|
||||
}
|
||||
// let pagination = Adapter.getPagination(result.length, limit);
|
||||
apires.success = true;
|
||||
apires.data.push({
|
||||
"totalpage": pagination,
|
||||
"totalrows": result.length,
|
||||
});
|
||||
|
||||
qry = "select v.*, COALESCE(c.currency, 'USD') AS currency_code, COALESCE(c.symbol, '$') AS currency_symbol, po.rate_snapshot " +
|
||||
"from vw_basthandoverlist v " +
|
||||
"left join tbl_po po on po._idx = v.idxpo " +
|
||||
"left join tbl_currency c on c._idx = po.currency_id ";
|
||||
qry = qry + "where v.bastnumber like '%" + keyword + "%' ";
|
||||
qry = qry + "order by v._idx asc limit " + offset + ", " + limit;
|
||||
qry = qryBase + "where " + keywordFilter + divisionFilter;
|
||||
qry = qry + "order by " + sorder + " limit " + offset + ", " + limit;
|
||||
db.query(qry, [], function (err, result, fields) {
|
||||
if (err) {
|
||||
apires.meta["message"] = err.toString();
|
||||
|
||||
Reference in New Issue
Block a user