From 9b1d94348efdfc110a41d811b95e7e1d3a8131b9 Mon Sep 17 00:00:00 2001 From: Rizki Date: Wed, 7 Jan 2026 14:08:01 +0700 Subject: [PATCH] upd --- adapter/bastadapter.js | 863 ++++++++++++++++++++++------------------- 1 file changed, 459 insertions(+), 404 deletions(-) diff --git a/adapter/bastadapter.js b/adapter/bastadapter.js index 75e1810..c65704b 100644 --- a/adapter/bastadapter.js +++ b/adapter/bastadapter.js @@ -1,419 +1,474 @@ -const db=require('../config/dbproc.js'); -const Adapter=require('./dbadapter.js'); +const db = require("../config/dbproc.js"); +const Adapter = require("./dbadapter.js"); const fs = require("fs"); +const baseUrl = process.env.URLPDFFILE; +class BastAdapter extends Adapter { + constructor() { + super(); + } -class BastAdapter extends Adapter{ - constructor(){ - super(); - } - - async queryBastActivityList(req,callback){ - var apires = this.getApiResultDefined(); - try { - let limit = req.query.limit; - let offset = req.query.offset; - let keyword = req.query.keyword; - - let qry = "select * from vw_bastactivitylist "; - qry = qry + "where activityname like '%" + keyword + "%' "; - qry = qry + "order by idxbudget asc limit " + offset + ", " + limit; - // let qry = "select * from vw_basthandoverlist "; - // qry = qry + "where bastnumber like '%" + keyword + "%' "; - // qry = qry + "order by _idx asc limit " + offset + ", " + limit; - - // console.log(qry); - db.query(qry,[],function(err,result,fields){ - if(err){ - apires.meta['message'] = err.toString(); - apires.meta['code'] = 500; - callback('err',apires); - } - else - { - if(result.length>0){ - let pagination = result.length / limit; - 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 * from vw_bastactivitylist "; - qry = qry + "where activityname like '%" + keyword + "%' "; - qry = qry + "order by 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; - db.query(qry,[],function(err,result,fields){ - if(err){ - apires.meta['message'] = err.toString(); - apires.meta['code'] = 500; - callback('err',apires); - } - else - { - apires.data.push({ - "results": JSON.parse(JSON.stringify(result)) - }); - callback(null, apires); - } - }); - } - else{ - apires.meta.code = 200; - apires.meta.message = "Record Not Found"; - callback(null, apires); - } - } - }); - } - catch(err) { - apires.meta.code = 500; - apires.meta.message = err.toString(); - callback('error',apires); - } - } - - async queryBastHandoverList(req,callback){ - var apires = this.getApiResultDefined(); - try { - let limit = req.query.limit; - let offset = req.query.offset; - let keyword = req.query.keyword; - - // let qry = "select * from vw_bastactivitylist "; - // qry = qry + "where activityname like '%" + keyword + "%' "; - // qry = qry + "order by idxbudget asc limit " + offset + ", " + limit; - let qry = "select * from vw_basthandoverlist "; - qry = qry + "where bastnumber like '%" + keyword + "%' "; - qry = qry + "order by _idx asc"; - - // console.log(qry); - db.query(qry,[],function(err,result,fields){ - if(err){ - apires.meta['message'] = err.toString(); - apires.meta['code'] = 500; - callback('err',apires); - } - else - { - if(result.length>0){ - let pagination = result.length / limit; - 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 - }); + async queryBastActivityList(req, callback) { + var apires = this.getApiResultDefined(); + try { + let limit = req.query.limit; + let offset = req.query.offset; + let keyword = req.query.keyword; - // qry = "select * from vw_bastactivitylist "; - // qry = qry + "where activityname like '%" + keyword + "%' "; - // qry = qry + "order by 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; - db.query(qry,[],function(err,result,fields){ - if(err){ - apires.meta['message'] = err.toString(); - apires.meta['code'] = 500; - callback('err',apires); - } - else - { - apires.data.push({ - "results": JSON.parse(JSON.stringify(result)) - }); - callback(null, apires); - } - }); - } - else{ - apires.meta.code = 200; - apires.meta.message = "Record Not Found"; - callback(null, apires); - } - } - }); - } - catch(err) { - apires.meta.code = 500; - apires.meta.message = err.toString(); - callback('error',apires); - } - } - - async queryBastActivityListDetail(req,callback){ - var apires = this.getApiResultDefined(); - try { - let idxpr = req.query.idxpr; - - let qry = "select * from vw_bastactivitylistdetail "; - qry = qry + "where idxpr='"+idxpr+"'"; - - // console.log(qry); - db.query(qry,[],function(err,result,fields){ - if(err){ - apires.meta['message'] = err.toString(); - apires.meta['code'] = 500; - callback('err',apires); - } - else - { - if(result.length>0){ - apires.success = true; - apires.data = JSON.parse(JSON.stringify(result)); - } - else{ - apires.meta.code = 200; - apires.meta.message = "Record Not Found"; - } - callback(null, apires); - } - }); - } - catch(err) { - apires.meta.code = 500; - apires.meta.message = err.toString(); - callback('error',apires); - } - } - - async queryCreateBAST(filedoctemplate, req,callback){ - var apires = this.getApiResultDefined(); - try { - let idxpoboq = req.body.idxpoboq; - let idxpo = req.body.idxpo; - let totalpo = req.body.totalpo; - let bastnumber = req.body.bastnumber; - let bastdates = req.body.bastdates; - let description = req.body.description; - let idxvendor = req.body.idxvendor; - let vendorcode = req.body.vendorcode; - let vendorname = req.body.vendorname; - let povendornumber = req.body.povendornumber; - let status = 0; - let statusdescription = "Submitted"; - let nik = req.body.nik; + let qry = "select * from vw_bastactivitylist "; + qry = qry + "where activityname like '%" + keyword + "%' "; + qry = qry + "order by idxbudget asc limit " + offset + ", " + limit; + // let qry = "select * from vw_basthandoverlist "; + // qry = qry + "where bastnumber like '%" + keyword + "%' "; + // qry = qry + "order by _idx asc limit " + offset + ", " + limit; - // let qry = "insert into tbl_bast set idxpo='"+idxpo+"',bastnumber='"+bastnumber+"',bastdates='"+bastdates+"',"; - // qry = qry + "description='"+description+"',idxvendor='"+idxvendor+"',vendorcode='"+vendorcode+"',vendorname='"+vendorname+"',"; - // qry = qry + "totalpo='"+totalpo+"',povendornumber='"+povendornumber+"',filedoctemplate='"+filedoctemplate+"',status='"+status+"',"; - // qry = qry + "statusdescription='"+statusdescription+"',laststatusupdate=now(),iby='"+nik+"',idt=now()"; - let qry = "insert into tbl_bast set idxpo='"+idxpo+"',bastnumber='"+bastnumber+"',bastdates='"+bastdates+"',"; - qry = qry + "description='"+description+"',idxvendor='"+idxvendor+"',vendorcode='"+vendorcode+"',vendorname='"+vendorname+"',"; - qry = qry + "totalpo='"+totalpo+"',povendornumber='"+povendornumber+"',filepdf='"+filedoctemplate+"',ismergedoc=1,status='"+status+"',"; - qry = qry + "statusdescription='"+statusdescription+"',laststatusupdate=now(),iby='"+nik+"',idt=now()"; - - // console.log(qry); - db.query(qry,[],function(err,result,fields){ - if(err){ - apires.meta['message'] = err.toString(); - apires.meta['code'] = 500; - callback('err',apires); - } - else - { - var idxheader = result.insertId; - // qry ="insert into tbl_bastdetail(idxheader,idxpoboq,description,qty,units,poamount,iby,idt) "; - // qry = qry + "select '"+idxheader+"', _idx , description, qty, units, poamount, '"+nik+"',now() "; - // qry = qry + "from tbl_poboq where _idx in("+idxpoboq+")"; - qry ="insert into tbl_bastdetail(idxheader,idxpoboq,description,qty,units,poamount,iby,idt) "; - qry = qry + "select '"+idxheader+"', _idx , description, qty, units, poamount, '"+nik+"',now() "; - qry = qry + "from tbl_poboq where _idx in("+idxpoboq+")"; + // console.log(qry); + db.query(qry, [], function (err, result, fields) { + if (err) { + apires.meta["message"] = err.toString(); + apires.meta["code"] = 500; + callback("err", apires); + } else { + if (result.length > 0) { + let pagination = result.length / limit; + 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 * from vw_bastactivitylist "; + qry = qry + "where activityname like '%" + keyword + "%' "; + qry = qry + "order by 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; + db.query(qry, [], function (err, result, fields) { + if (err) { + apires.meta["message"] = err.toString(); + apires.meta["code"] = 500; + callback("err", apires); + } else { + apires.data.push({ + "results": JSON.parse(JSON.stringify(result)), + }); + callback(null, apires); + } + }); + } else { + apires.meta.code = 200; + apires.meta.message = "Record Not Found"; + callback(null, apires); + } + } + }); + } catch (err) { + apires.meta.code = 500; + apires.meta.message = err.toString(); + callback("error", apires); + } + } - db.query(qry,[],function(err,result,fields){ - if(err){ - apires.meta['message'] = err.toString(); - apires.meta['code'] = 500; - callback('err',apires); - } - else - { - apires.success = true; - apires.data = JSON.parse(JSON.stringify(result)); - apires.meta.code = 200; - callback(null, apires); - } - }); + async queryBastHandoverList(req, callback) { + var apires = this.getApiResultDefined(); + try { + let limit = req.query.limit; + let offset = req.query.offset; + let keyword = req.query.keyword; - } - }); - } - catch(err) { - apires.meta.code = 500; - apires.meta.message = err.toString(); - callback('error',apires); - } - } - - async queryUploadHandoverSign(filehandoversign, req,callback){ - var apires = this.getApiResultDefined(); - try { - let idxbast = req.body.idxbast; - let nik = req.body.nik; - let bastdates=req.body.bastdates; - let description=req.body.description; + // let qry = "select * from vw_bastactivitylist "; + // qry = qry + "where activityname like '%" + keyword + "%' "; + // qry = qry + "order by idxbudget asc limit " + offset + ", " + limit; + let qry = "select * from vw_basthandoverlist "; + qry = qry + "where bastnumber like '%" + keyword + "%' "; + qry = qry + "order by _idx asc"; + // console.log(qry); + db.query(qry, [], function (err, result, fields) { + if (err) { + apires.meta["message"] = err.toString(); + apires.meta["code"] = 500; + callback("err", apires); + } else { + if (result.length > 0) { + let pagination = result.length / limit; + 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, + }); - let qry = "update tbl_bast set status=1,statusdescription='Upload Handover',bastdateshandover='"+bastdates+"',descriptionhandover='"+description+"',"; - qry +="filehandoversign='"+filehandoversign+"',uby='"+nik+"',udt=now() where _idx='"+idxbast+"'"; - // let qry = "update tbl_bast set filehandoversign='"+filehandoversign+"',uby='"+nik+"',udt=now() where _idx='"+idxbast+"'"; - - // console.log(qry); - db.query(qry,[],function(err,result,fields){ - if(err){ - apires.meta['message'] = err.toString(); - apires.meta['code'] = 500; - callback('err',apires); - } - else - { - apires.success = true; - apires.meta.code = 200; - callback(null, apires); - } - }); - } - catch(err) { - apires.meta.code = 500; - apires.meta.message = err.toString(); - callback('error',apires); - } - } - - async queryBastList(req,callback){ - var apires = this.getApiResultDefined(); - try { - let limit = req.query.limit; - let offset = req.query.offset; - let keyword = req.query.keyword; - - let qry = "select * from vw_bast "; - qry = qry + "where description like '%" + keyword + "%' and status=0 "; - qry = qry + "order by _idx asc limit " + offset + ", " + limit; - - // console.log(qry); - db.query(qry,[],function(err,result,fields){ - if(err){ - apires.meta['message'] = err.toString(); - apires.meta['code'] = 500; - callback('err',apires); - } - else - { - if(result.length>0){ - let pagination = result.length / limit; - 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 * from vw_bast "; - qry = qry + "where description like '%" + keyword + "%' "; - qry = qry + "order by _idx asc limit " + offset + ", " + limit; - db.query(qry,[],function(err,result,fields){ - if(err){ - apires.meta['message'] = err.toString(); - apires.meta['code'] = 500; - callback('err',apires); - } - else - { - apires.data.push({ - "results": JSON.parse(JSON.stringify(result)) - }); - callback(null, apires); - } - }); - } - else{ - apires.meta.code = 200; - apires.meta.message = "Record Not Found"; - callback(null, apires); - } - } - }); - } - catch(err) { - apires.meta.code = 500; - apires.meta.message = err.toString(); - callback('error',apires); - } - } + // qry = "select * from vw_bastactivitylist "; + // qry = qry + "where activityname like '%" + keyword + "%' "; + // qry = qry + "order by 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; + db.query(qry, [], function (err, result, fields) { + if (err) { + apires.meta["message"] = err.toString(); + apires.meta["code"] = 500; + callback("err", apires); + } else { + apires.data.push({ + "results": JSON.parse(JSON.stringify(result)), + }); + callback(null, apires); + } + }); + } else { + apires.meta.code = 200; + apires.meta.message = "Record Not Found"; + callback(null, apires); + } + } + }); + } catch (err) { + apires.meta.code = 500; + apires.meta.message = err.toString(); + callback("error", apires); + } + } - async queryBastDetailList(req,callback){ - var apires = this.getApiResultDefined(); - try { - let idxbast = req.query.idxbast; - - let qry = "select * from vw_bast "; - qry = qry + "where _idx='"+idxbast+"'"; - - // console.log(qry); - db.query(qry,[],function(err,result,fields){ - if(err){ - apires.meta['message'] = err.toString(); - apires.meta['code'] = 500; - callback('err',apires); - } - else - { - apires.data.push({ - "results": JSON.parse(JSON.stringify(result)) - }); - callback(null, apires); - } - }); - } - catch(err) { - apires.meta.code = 500; - apires.meta.message = err.toString(); - callback('error',apires); - } - } + async queryBastActivityListDetail(req, callback) { + var apires = this.getApiResultDefined(); + try { + let idxpr = req.query.idxpr; - async queryUpdateHandover(req,filehandover, callback) { - try { - var apires = this.getApiResultDefined(); - var idxbast = req.body.idxbast; - var status = req.body.status; - var statusdescription = req.body.statusdescription; - var nik = req.body.nik; + let qry = "select * from vw_bastactivitylistdetail "; + qry = qry + "where idxpr='" + idxpr + "'"; - var qry = "update tbl_bast set filehandover='"+filehandover+"',status='" + status +"',statusdescription='" + statusdescription +"',uby='"+nik+"',udt=now() "; - qry = qry +"where _idx='" + idxbast +"'"; - db.query(qry,[],function(err,result,fields){ - if(err){ - apires.meta['message'] = err.toString(); - apires.meta['code'] = 500; - callback('err',apires); - } - else - { - apires.success = true; - apires.data = JSON.parse(JSON.stringify(result)); - callback(null, apires); - } - }); - } catch (err) { - apires.meta.code = 500; - apires.meta.message = err.toString(); - callback('error',apires); - } - } + // console.log(qry); + db.query(qry, [], function (err, result, fields) { + if (err) { + apires.meta["message"] = err.toString(); + apires.meta["code"] = 500; + callback("err", apires); + } else { + if (result.length > 0) { + apires.success = true; + apires.data = JSON.parse(JSON.stringify(result)); + } else { + apires.meta.code = 200; + apires.meta.message = "Record Not Found"; + } + callback(null, apires); + } + }); + } catch (err) { + apires.meta.code = 500; + apires.meta.message = err.toString(); + callback("error", apires); + } + } + + async queryCreateBAST(filedoctemplate, req, callback) { + var apires = this.getApiResultDefined(); + try { + let idxpoboq = req.body.idxpoboq; + let idxpo = req.body.idxpo; + let totalpo = req.body.totalpo; + let bastnumber = req.body.bastnumber; + let bastdates = req.body.bastdates; + let description = req.body.description; + let idxvendor = req.body.idxvendor; + let vendorcode = req.body.vendorcode; + let vendorname = req.body.vendorname; + let povendornumber = req.body.povendornumber; + let status = 0; + let statusdescription = "Submitted"; + let nik = req.body.nik; + + // let qry = "insert into tbl_bast set idxpo='"+idxpo+"',bastnumber='"+bastnumber+"',bastdates='"+bastdates+"',"; + // qry = qry + "description='"+description+"',idxvendor='"+idxvendor+"',vendorcode='"+vendorcode+"',vendorname='"+vendorname+"',"; + // qry = qry + "totalpo='"+totalpo+"',povendornumber='"+povendornumber+"',filedoctemplate='"+filedoctemplate+"',status='"+status+"',"; + // qry = qry + "statusdescription='"+statusdescription+"',laststatusupdate=now(),iby='"+nik+"',idt=now()"; + let qry = + "insert into tbl_bast set idxpo='" + + idxpo + + "',bastnumber='" + + bastnumber + + "',bastdates='" + + bastdates + + "',"; + qry = + qry + + "description='" + + description + + "',idxvendor='" + + idxvendor + + "',vendorcode='" + + vendorcode + + "',vendorname='" + + vendorname + + "',"; + qry = + qry + + "totalpo='" + + totalpo + + "',povendornumber='" + + povendornumber + + "',filepdf='" + + filedoctemplate + + "',ismergedoc=1,status='" + + status + + "',"; + qry = + qry + + "statusdescription='" + + statusdescription + + "',laststatusupdate=now(),iby='" + + nik + + "',idt=now()"; + + // console.log(qry); + db.query(qry, [], function (err, result, fields) { + if (err) { + apires.meta["message"] = err.toString(); + apires.meta["code"] = 500; + callback("err", apires); + } else { + var idxheader = result.insertId; + // qry ="insert into tbl_bastdetail(idxheader,idxpoboq,description,qty,units,poamount,iby,idt) "; + // qry = qry + "select '"+idxheader+"', _idx , description, qty, units, poamount, '"+nik+"',now() "; + // qry = qry + "from tbl_poboq where _idx in("+idxpoboq+")"; + qry = + "insert into tbl_bastdetail(idxheader,idxpoboq,description,qty,units,poamount,iby,idt) "; + qry = + qry + + "select '" + + idxheader + + "', _idx , description, qty, units, poamount, '" + + nik + + "',now() "; + qry = qry + "from tbl_poboq where _idx in(" + idxpoboq + ")"; + + db.query(qry, [], function (err, result, fields) { + if (err) { + apires.meta["message"] = err.toString(); + apires.meta["code"] = 500; + callback("err", apires); + } else { + apires.success = true; + apires.data = JSON.parse(JSON.stringify(result)); + apires.meta.code = 200; + callback(null, apires); + } + }); + } + }); + } catch (err) { + apires.meta.code = 500; + apires.meta.message = err.toString(); + callback("error", apires); + } + } + + async queryUploadHandoverSign(filehandoversign, req, callback) { + var apires = this.getApiResultDefined(); + try { + let idxbast = req.body.idxbast; + let nik = req.body.nik; + let bastdates = req.body.bastdates; + let description = req.body.description; + + let qry = + "update tbl_bast set status=1,statusdescription='Upload Handover',bastdateshandover='" + + bastdates + + "',descriptionhandover='" + + description + + "',"; + qry += + "filehandoversign='" + + filehandoversign + + "',uby='" + + nik + + "',udt=now() where _idx='" + + idxbast + + "'"; + // let qry = "update tbl_bast set filehandoversign='"+filehandoversign+"',uby='"+nik+"',udt=now() where _idx='"+idxbast+"'"; + + // console.log(qry); + db.query(qry, [], function (err, result, fields) { + if (err) { + apires.meta["message"] = err.toString(); + apires.meta["code"] = 500; + callback("err", apires); + } else { + let qryHistory = + "insert into tbl_bastfilehistory set statusdescription='Upload Handover', bastdateshandover='" + + bastdates + + "',descriptionhandover='" + + description + + "', filehandoversign='" + + filehandoversign + + "',iby='" + + nik + + "',idt=now(), idxbast='" + + idxbast + + "'"; + + db.query(qryHistory, [], function (err, result, fields) { + if (err) { + apires.meta["message"] = err.toString(); + apires.meta["code"] = 500; + callback("err", apires); + } else { + apires.success = true; + apires.meta.code = 200; + callback(null, apires); + } + }); + } + }); + } catch (err) { + apires.meta.code = 500; + apires.meta.message = err.toString(); + callback("error", apires); + } + } + + async queryBastList(req, callback) { + var apires = this.getApiResultDefined(); + try { + let limit = req.query.limit; + let offset = req.query.offset; + let keyword = req.query.keyword; + + let qry = "select * from vw_bast "; + qry = qry + "where description like '%" + keyword + "%' and status=0 "; + qry = qry + "order by _idx asc limit " + offset + ", " + limit; + + // console.log(qry); + db.query(qry, [], function (err, result, fields) { + if (err) { + apires.meta["message"] = err.toString(); + apires.meta["code"] = 500; + callback("err", apires); + } else { + if (result.length > 0) { + let pagination = result.length / limit; + 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 * from vw_bast "; + qry = qry + "where description like '%" + keyword + "%' "; + qry = qry + "order by _idx asc limit " + offset + ", " + limit; + db.query(qry, [], function (err, result, fields) { + if (err) { + apires.meta["message"] = err.toString(); + apires.meta["code"] = 500; + callback("err", apires); + } else { + apires.data.push({ + "results": JSON.parse(JSON.stringify(result)), + }); + callback(null, apires); + } + }); + } else { + apires.meta.code = 200; + apires.meta.message = "Record Not Found"; + callback(null, apires); + } + } + }); + } catch (err) { + apires.meta.code = 500; + apires.meta.message = err.toString(); + callback("error", apires); + } + } + + async queryBastDetailList(req, callback) { + var apires = this.getApiResultDefined(); + try { + let idxbast = req.query.idxbast; + + let qry = "select * from vw_bast "; + qry = qry + "where _idx='" + idxbast + "'"; + + // console.log(qry); + db.query(qry, [], function (err, result, fields) { + if (err) { + apires.meta["message"] = err.toString(); + apires.meta["code"] = 500; + callback("err", apires); + } else { + let qryHistory = `select statusdescription, bastdateshandover, descriptionhandover, CONCAT('${baseUrl}?route=bast&name=', filehandoversign) AS filehandoversign, iby, idt from tbl_bastfilehistory where idxbast = ${result[0]._idx} order by _idx desc`; + db.query(qryHistory, [], function (err, resultHistory, fields) { + console.log(err); + console.log(resultHistory); + if (err) { + apires.meta["message"] = err.toString(); + apires.meta["code"] = 500; + callback("err", apires); + } else { + result[0].history_handover = resultHistory; + apires.data.push({ + "results": JSON.parse(JSON.stringify(result)), + }); + callback(null, apires); + } + }); + } + }); + } catch (err) { + apires.meta.code = 500; + apires.meta.message = err.toString(); + callback("error", apires); + } + } + + async queryUpdateHandover(req, filehandover, callback) { + try { + var apires = this.getApiResultDefined(); + var idxbast = req.body.idxbast; + var status = req.body.status; + var statusdescription = req.body.statusdescription; + var nik = req.body.nik; + + var qry = + "update tbl_bast set filehandover='" + + filehandover + + "',status='" + + status + + "',statusdescription='" + + statusdescription + + "',uby='" + + nik + + "',udt=now() "; + qry = qry + "where _idx='" + idxbast + "'"; + db.query(qry, [], function (err, result, fields) { + if (err) { + apires.meta["message"] = err.toString(); + apires.meta["code"] = 500; + callback("err", apires); + } else { + apires.success = true; + apires.data = JSON.parse(JSON.stringify(result)); + callback(null, apires); + } + }); + } catch (err) { + apires.meta.code = 500; + apires.meta.message = err.toString(); + callback("error", apires); + } + } } module.exports = BastAdapter; - -