This commit is contained in:
Rizki
2026-04-10 16:04:55 +07:00
parent a4e8863ac7
commit fa29631a6b

View File

@ -870,27 +870,35 @@ class JustificationAdapter extends Adapter{
async queryJustificationList(req,callback){ async queryJustificationList(req,callback){
var apires = this.getApiResultDefined(); var apires = this.getApiResultDefined();
try { try {
let limit = req.body.limit; let limit = req.body.limit;
let offset = req.body.offset; let offset = req.body.offset;
let keyword = req.body.keyword; let keyword = req.body.keyword;
let nik = req.body.nik; let nik = req.body.nik;
let status = req.body.status; let status = req.body.status;
let division = req.body.division || '';
let sort = req.body.sort || 'latest';
const orderBy = sort === 'past' ? 'udt ASC' : 'udt DESC';
let swherenik=""; let swherenik="";
if(nik){ if(nik){
swherenik="iby='"+nik+"' and "; swherenik="iby='"+nik+"' and ";
} }
// let qry = "select * from vw_justification ";
// qry = qry +"where (trim(acccode) like '%"+ keyword +"%' or trim(nomorjustifikasi) like '%"+ keyword +"%') "; let swhereDivision="";
// qry = qry +"and iby='"+nik+"' and status in("+status+") order by id asc"; if(division){
let qry = "select * from vw_justification "; swhereDivision="and division like '%"+division+"%' ";
qry = qry +"where (trim(acccode) like '%"+ keyword +"%' or trim(nomorjustifikasi) like '%"+ keyword +"%') "; }
qry = qry +"and "+swherenik+" status in("+status+") order by id asc";
let baseWhere = "where (trim(acccode) like '%"+ keyword +"%' or trim(nomorjustifikasi) like '%"+ keyword +"%') "
+ "and "+swherenik+" status in("+status+") "+swhereDivision;
let qry = "select * from vw_justification " + baseWhere + "order by " + orderBy;
// console.log(qry); // console.log(qry);
db.query(qry,[],function(err,result,fields){ db.query(qry,[],function(err,result,fields){
if(err){ if(err){
apires.meta['message'] = err.toString(); apires.meta['message'] = err.toString();
apires.meta['code'] = 500; apires.meta['code'] = 500;
callback('err',apires); callback('err',apires);
@ -902,19 +910,17 @@ class JustificationAdapter extends Adapter{
if(!Number.isInteger(pagination)){ if(!Number.isInteger(pagination)){
pagination=(Math.floor(result.length / limit))+1; pagination=(Math.floor(result.length / limit))+1;
} }
// let pagination = Adapter.getPagination(result.length, limit);
apires.success = true; apires.success = true;
apires.data.push({ apires.data.push({
"totalpage": pagination, "totalpage": pagination,
"totalrows": result.length "totalrows": result.length
}); });
qry = "select * from vw_justification "; qry = "select * from vw_justification " + baseWhere
qry = qry +"where (trim(acccode) like '%"+ keyword +"%' or trim(nomorjustifikasi) like '%"+ keyword +"%') "; + "order by " + orderBy + " limit " + offset + ", " + limit;
qry = qry +"and "+swherenik+" status in("+status+") order by id asc limit " + offset + ", " + limit;
// console.log(qry); // console.log(qry);
db.query(qry,[],function(err,result,fields){ db.query(qry,[],function(err,result,fields){
if(err){ if(err){
apires.meta['message'] = err.toString(); apires.meta['message'] = err.toString();
apires.meta['code'] = 500; apires.meta['code'] = 500;
callback('err',apires); callback('err',apires);
@ -930,12 +936,12 @@ class JustificationAdapter extends Adapter{
} }
else{ else{
apires.meta.code = 200; apires.meta.code = 200;
apires.meta.message = "Record Not Found"; apires.meta.message = "Record Not Found";
callback(null, apires); callback(null, apires);
} }
} }
}); });
} catch (err) { } catch (err) {
apires.meta.code = 500; apires.meta.code = 500;
apires.meta.message = err.toString(); apires.meta.message = err.toString();