update PO
This commit is contained in:
@ -1422,30 +1422,24 @@ class PoAdapter extends Adapter {
|
||||
var nik = req.body.nik;
|
||||
var status = req.body.status;
|
||||
var statusdescription = req.body.statusdescription;
|
||||
const poNumber = String(posapnumber || "").trim();
|
||||
let setvalues = "";
|
||||
|
||||
if (!posapnumber || posapnumber == "") {
|
||||
posapnumber = "000";
|
||||
}
|
||||
// var setvalues="p.ponumber='"+posapnumber+"',p.status='"+status+"',p.statusdescription='"+statusdescription+"',po.status='"+status+"',po.statusdescription='"+statusdescription+"',";
|
||||
var setvalues =
|
||||
"p.ponumber='" +
|
||||
posapnumber +
|
||||
"',p.status='" +
|
||||
status +
|
||||
"',p.statusdescription='" +
|
||||
statusdescription +
|
||||
"',";
|
||||
setvalues +=
|
||||
"po.ponumber='" +
|
||||
posapnumber +
|
||||
"',po.status='" +
|
||||
status +
|
||||
"',po.statusdescription='" +
|
||||
statusdescription +
|
||||
"',";
|
||||
// var setvalues="ponumber='"+posapnumber+"',status='"+status+"',statusdescription='"+statusdescription+"',";
|
||||
if (!posapnumber || posapnumber == "" || posapnumber == "000") {
|
||||
setvalues = "";
|
||||
if (poNumber && poNumber !== "000") {
|
||||
setvalues =
|
||||
"p.ponumber='" +
|
||||
poNumber +
|
||||
"',p.status='" +
|
||||
status +
|
||||
"',p.statusdescription='" +
|
||||
statusdescription +
|
||||
"',po.ponumber='" +
|
||||
poNumber +
|
||||
"',po.status='" +
|
||||
status +
|
||||
"',po.statusdescription='" +
|
||||
statusdescription +
|
||||
"',";
|
||||
}
|
||||
var qry =
|
||||
"update tbl_po p, tbl_poboq po set " +
|
||||
@ -1482,6 +1476,20 @@ class PoAdapter extends Adapter {
|
||||
} else {
|
||||
apires.success = true;
|
||||
apires.data = JSON.parse(JSON.stringify(result1));
|
||||
if (poNumber && poNumber !== "000") {
|
||||
if (apires.data.length === 0) {
|
||||
apires.data = String(idxpoboq)
|
||||
.split(",")
|
||||
.map((id) => ({
|
||||
idxpoboq: Number(id) || id,
|
||||
ponumber: poNumber,
|
||||
}));
|
||||
} else {
|
||||
apires.data.forEach((row) => {
|
||||
if (!row.ponumber) row.ponumber = poNumber;
|
||||
});
|
||||
}
|
||||
}
|
||||
callback(null, apires);
|
||||
}
|
||||
});
|
||||
@ -1690,16 +1698,33 @@ class PoAdapter extends Adapter {
|
||||
let offset = req.query.offset;
|
||||
let keyword = req.query.keyword;
|
||||
let nik = req.body.nik;
|
||||
let division = req.query.division ?? "";
|
||||
let sort = req.query.sort ?? "latest";
|
||||
let sorder = sort === "past" ? "v._idx asc" : "v._idx desc";
|
||||
|
||||
let qryBase = "select v.*, po.currency_id, po.rate_snapshot, c.currency AS currency_code, c.symbol AS currency_symbol ";
|
||||
qryBase += "from vw_po v left join tbl_po po on po._idx = v._idx ";
|
||||
qryBase += "left join tbl_currency c on c._idx = po.currency_id ";
|
||||
qryBase += "left join tbl_justification j on j._idx = v.idxjustification ";
|
||||
let keywordFilter =
|
||||
"(trim(v.ponumber) like '%" +
|
||||
keyword +
|
||||
"%' or trim(v.prnumber) like '%" +
|
||||
keyword +
|
||||
"%' or trim(v.justificationnumber) like '%" +
|
||||
keyword +
|
||||
"%') ";
|
||||
let divisionFilter = "";
|
||||
if (division && division.trim() !== "") {
|
||||
divisionFilter = "and j.division = '" + division + "' ";
|
||||
}
|
||||
let qry = qryBase;
|
||||
qry =
|
||||
qry +
|
||||
"where trim(v.ponumber) like '%" +
|
||||
keyword +
|
||||
"%' and v.ponumber<>'000' and v.status in (2,3,4,5,6)";
|
||||
"where " +
|
||||
keywordFilter +
|
||||
"and v.ponumber<>'000' and v.status in (2,3,4,5,6) " +
|
||||
divisionFilter;
|
||||
|
||||
if (nik) {
|
||||
if (!proc_users.includes(nik)) {
|
||||
@ -1727,13 +1752,18 @@ class PoAdapter extends Adapter {
|
||||
"totalrows": result.length,
|
||||
});
|
||||
qry = qryBase;
|
||||
qry = qry + "where trim(v.ponumber) like '%" + keyword + "%' and v.ponumber<>'000' and v.status in (2,3,4,5,6)";
|
||||
qry =
|
||||
qry +
|
||||
"where " +
|
||||
keywordFilter +
|
||||
"and v.ponumber<>'000' and v.status in (2,3,4,5,6) " +
|
||||
divisionFilter;
|
||||
if (nik) {
|
||||
if (!proc_users.includes(nik)) {
|
||||
qry += ' and (iby="' + nik + ' or nikapproval="' + nik + '") ';
|
||||
}
|
||||
}
|
||||
qry = qry + "order by v._idx asc limit " + offset + ", " + limit;
|
||||
qry = qry + "order by " + sorder + " limit " + offset + ", " + limit;
|
||||
db.query(qry, [], function (err, result, fields) {
|
||||
if (err) {
|
||||
apires.meta["message"] = err.toString();
|
||||
@ -1770,17 +1800,35 @@ class PoAdapter extends Adapter {
|
||||
let offset = req.query.offset;
|
||||
let keyword = req.query.keyword;
|
||||
let nik = req.query.nik;
|
||||
// let nik = req.body.nik;
|
||||
let division = req.query.division ?? "";
|
||||
let sort = req.query.sort ?? "latest";
|
||||
let sorder = sort === "past" ? "v._idx asc" : "v._idx desc";
|
||||
|
||||
let qryBase = "select v.*, po.currency_id, po.rate_snapshot, c.currency AS currency_code, c.symbol AS currency_symbol ";
|
||||
qryBase += "from vw_po v left join tbl_po po on po._idx = v._idx ";
|
||||
qryBase += "left join tbl_currency c on c._idx = po.currency_id ";
|
||||
qryBase += "left join tbl_justification j on j._idx = v.idxjustification ";
|
||||
let keywordFilter =
|
||||
"(trim(v.ponumber) like '%" +
|
||||
keyword +
|
||||
"%' or trim(v.prnumber) like '%" +
|
||||
keyword +
|
||||
"%' or trim(v.identifyprojectnumber) like '%" +
|
||||
keyword +
|
||||
"%' or trim(v.podescription) like '%" +
|
||||
keyword +
|
||||
"%') ";
|
||||
let divisionFilter = "";
|
||||
if (division && division.trim() !== "") {
|
||||
divisionFilter = "and j.division = '" + division + "' ";
|
||||
}
|
||||
let qry = qryBase;
|
||||
qry =
|
||||
qry +
|
||||
"where trim(v.ponumber) like '%" +
|
||||
keyword +
|
||||
"%' and v.status in(1,2,3,4,5,6) and v.ponumber<>'000' and v.ponumber<>'' ";
|
||||
"where " +
|
||||
keywordFilter +
|
||||
"and v.status in(1,2,3,4,5,6) and v.ponumber<>'000' and v.ponumber<>'' " +
|
||||
divisionFilter;
|
||||
|
||||
if (nik) {
|
||||
if (!proc_users.includes(nik)) {
|
||||
@ -1808,16 +1856,17 @@ class PoAdapter extends Adapter {
|
||||
qry = qryBase;
|
||||
qry =
|
||||
qry +
|
||||
"where trim(v.ponumber) like '%" +
|
||||
keyword +
|
||||
"%' and v.status in(1,2,3,4,5,6) and v.ponumber<>'000' and v.ponumber<>'' ";
|
||||
"where " +
|
||||
keywordFilter +
|
||||
"and v.status in(1,2,3,4,5,6) and v.ponumber<>'000' and v.ponumber<>'' " +
|
||||
divisionFilter;
|
||||
if (nik) {
|
||||
if (!proc_users.includes(nik)) {
|
||||
qry += 'and (iby="' + nik + ' or nikapproval="' + nik + '") ';
|
||||
}
|
||||
}
|
||||
|
||||
qry = qry + "order by v._idx asc limit " + offset + ", " + limit;
|
||||
qry = qry + "order by " + sorder + " limit " + offset + ", " + limit;
|
||||
db.query(qry, [], function (err, result, fields) {
|
||||
if (err) {
|
||||
apires.meta["message"] = err.toString();
|
||||
@ -2315,10 +2364,24 @@ class PoAdapter extends Adapter {
|
||||
let limit = req.query.limit;
|
||||
let offset = req.query.offset;
|
||||
let keyword = req.query.keyword;
|
||||
// let nik = req.body.nik;
|
||||
let division = req.query.division ?? "";
|
||||
let sort = req.query.sort ?? "latest";
|
||||
let sorder = sort === "past" ? "a._idx asc" : "a._idx desc";
|
||||
|
||||
let qry = "select * from vw_poadjlist ";
|
||||
qry = qry + "where trim(ponumber) like '%" + keyword + "%' ";
|
||||
let qryBase = "select a.* from vw_poadjlist a left join tbl_justification j on j._idx = a.idxjustification ";
|
||||
let keywordFilter =
|
||||
"(trim(a.ponumber) like '%" +
|
||||
keyword +
|
||||
"%' or trim(a.identifyprojectnumber) like '%" +
|
||||
keyword +
|
||||
"%' or trim(a.prnumber) like '%" +
|
||||
keyword +
|
||||
"%') ";
|
||||
let divisionFilter = "";
|
||||
if (division && division.trim() !== "") {
|
||||
divisionFilter = "and j.division = '" + division + "' ";
|
||||
}
|
||||
let qry = qryBase + "where " + keywordFilter + divisionFilter;
|
||||
// qry = qry +"order by _idx asc limit " + offset + ", " + limit;
|
||||
|
||||
// console.log(qry);
|
||||
@ -2339,9 +2402,8 @@ class PoAdapter extends Adapter {
|
||||
"totalpage": pagination,
|
||||
"totalrows": result.length,
|
||||
});
|
||||
qry = "select * from vw_poadjlist ";
|
||||
qry = qry + "where trim(ponumber) 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();
|
||||
|
||||
@ -986,24 +986,31 @@ class ProcJustificationAdapter extends Adapter {
|
||||
let keyword = req.body.keyword;
|
||||
let nik = req.body.nik;
|
||||
let status = req.body.status;
|
||||
let division = req.body.division ?? "";
|
||||
let sort = req.body.sort ?? "latest";
|
||||
let sorder = sort === "past" ? "id asc" : "id desc";
|
||||
|
||||
let swherenik = "";
|
||||
if (nik) {
|
||||
swherenik = "iby='" + nik + "' and ";
|
||||
}
|
||||
|
||||
// let qry = "select * from vw_procjustification ";
|
||||
// qry = qry +"where (trim(prnumber) like '%"+ keyword +"%' or trim(justificationnumber) like '%"+ keyword +"%') ";
|
||||
// qry = qry +"and iby='"+nik+"' and status in("+status+") order by id asc";
|
||||
let qry = "select * from vw_procjustification ";
|
||||
qry =
|
||||
qry +
|
||||
"where (trim(prnumber) like '%" +
|
||||
let keywordFilter =
|
||||
"(trim(prnumber) like '%" +
|
||||
keyword +
|
||||
"%' or trim(justificationnumber) like '%" +
|
||||
keyword +
|
||||
"%' or trim(procjustificationnumber) like '%" +
|
||||
keyword +
|
||||
"%') ";
|
||||
qry = qry + "and " + swherenik + " status in(" + status + ") order by id asc";
|
||||
let divisionFilter = "";
|
||||
if (division && division.trim() !== "") {
|
||||
divisionFilter = "and divisi = '" + division + "' ";
|
||||
}
|
||||
|
||||
let qry = "select * from vw_procjustification ";
|
||||
qry = qry + "where " + keywordFilter;
|
||||
qry = qry + "and " + swherenik + " status in(" + status + ") " + divisionFilter + "order by " + sorder;
|
||||
|
||||
// console.log(qry);
|
||||
db.query(qry, [], function (err, result, fields) {
|
||||
@ -1024,20 +1031,18 @@ class ProcJustificationAdapter extends Adapter {
|
||||
"totalrows": result.length,
|
||||
});
|
||||
qry = "select * from vw_procjustification ";
|
||||
qry =
|
||||
qry +
|
||||
"where (trim(prnumber) like '%" +
|
||||
keyword +
|
||||
"%' or trim(justificationnumber) like '%" +
|
||||
keyword +
|
||||
"%') ";
|
||||
qry = qry + "where " + keywordFilter;
|
||||
qry =
|
||||
qry +
|
||||
"and " +
|
||||
swherenik +
|
||||
" status in(" +
|
||||
status +
|
||||
") order by id asc limit " +
|
||||
") " +
|
||||
divisionFilter +
|
||||
"order by " +
|
||||
sorder +
|
||||
" limit " +
|
||||
offset +
|
||||
", " +
|
||||
limit;
|
||||
|
||||
Reference in New Issue
Block a user