2737 lines
80 KiB
JavaScript
2737 lines
80 KiB
JavaScript
const db = require("../config/dbproc.js");
|
|
const Adapter = require("./dbadapter.js");
|
|
const QRCode = require("qrcode");
|
|
const fs = require("fs");
|
|
const {start} = require("repl");
|
|
|
|
function getToken() {
|
|
try {
|
|
var n1 = Math.floor(Math.random() * 9) + 0;
|
|
var n2 = Math.floor(Math.random() * 9) + 0;
|
|
var n3 = Math.floor(Math.random() * 9) + 0;
|
|
var n4 = Math.floor(Math.random() * 9) + 0;
|
|
var n5 = Math.floor(Math.random() * 9) + 0;
|
|
var n6 = Math.floor(Math.random() * 9) + 0;
|
|
var otp =
|
|
n1.toString() + n2.toString() + n3.toString() + n4.toString() + n5.toString() + n6.toString();
|
|
// console.log(otp);
|
|
return otp;
|
|
} catch (error) {
|
|
return error;
|
|
}
|
|
}
|
|
|
|
class PoAdapter extends Adapter {
|
|
constructor() {
|
|
super();
|
|
}
|
|
|
|
async queryVendorList(req, callback) {
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let keyword = req.query.keyword;
|
|
let qry =
|
|
"select * from vw_vendorinfo where vendorname like '%" +
|
|
keyword +
|
|
"%' or vendorid like '%" +
|
|
keyword +
|
|
"%' order by id 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) {
|
|
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 queryPoBoqlist(req, callback) {
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let idxpr = req.query.idxpr;
|
|
let qry = "select * from vw_poboq 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 queryGetidxpoheader(req, callback) {
|
|
try {
|
|
// console.log(req);
|
|
var apires = this.getApiResultDefined();
|
|
var idxpr = req.query.idxpr;
|
|
var idxpo = req.query.idxpo;
|
|
var idxvendor = req.query.idxvendor;
|
|
|
|
var qry =
|
|
"select _idx from tbl_po where idxpr='" +
|
|
idxpr +
|
|
"' and idxvendor='" +
|
|
idxvendor +
|
|
"' and isdeleted=0 order by _idx desc limit 1";
|
|
if (idxpo > 0) {
|
|
qry =
|
|
"select _idx from tbl_po where _idx='" +
|
|
idxpo +
|
|
"' and isdeleted=0 order by _idx desc limit 1";
|
|
}
|
|
// 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 idxpo = 0;
|
|
if (result.length > 0) {
|
|
idxpo = result[0]["_idx"];
|
|
}
|
|
apires.success = true;
|
|
apires.data = {"idxpo": idxpo};
|
|
// console.log(apires);
|
|
callback(null, apires);
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apires.meta.code = 500;
|
|
apires.meta.message = err.toString();
|
|
callback("error", apires);
|
|
}
|
|
}
|
|
|
|
async querySaveboqdetail(req, callback) {
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let idxpo = req.body.idxpo;
|
|
let idxpr = req.body.idxpr;
|
|
let prnumber = req.body.prnumber;
|
|
let idxjustification = req.body.idxjustification;
|
|
let idxjustificationboq = req.body.idxjustificationboq;
|
|
let justificationnumber = req.body.justificationnumber;
|
|
// let podate = req.body.podate;
|
|
let status = 0;
|
|
let statusdescription = "Submitted";
|
|
let nik = req.body.nik;
|
|
|
|
// === PO boq;
|
|
let idxpoboq = req.body.idxpoboq;
|
|
let startdate = req.body.startdate;
|
|
let enddate = req.body.enddate;
|
|
let items = req.body.items;
|
|
let qty = req.body.qty;
|
|
let unitprice = req.body.unitprice;
|
|
let units = req.body.units;
|
|
let total = req.body.total;
|
|
let spidxvendor = req.body.idxvendor.split(",");
|
|
let idxvendor = spidxvendor[0];
|
|
let vendorid = spidxvendor[1].toString().trim();
|
|
let vendorname = req.body.vendorname.toString().trim();
|
|
let description = req.body.description;
|
|
let curr = req.body.curr;
|
|
let hs = req.body.hs;
|
|
let poamount = req.body.poamount;
|
|
let ratepo = req.body.ratepo;
|
|
let migo = req.body.migo;
|
|
let idxpoold = req.body.idxpoold;
|
|
|
|
let qry = "";
|
|
if (idxpoold != idxpo && idxpoold != 0) {
|
|
qry =
|
|
"update tbl_po set isdeleted=1,remarkdeleted='Change Vendor',dby='" +
|
|
nik +
|
|
"',ddt=now() where _idx='" +
|
|
idxpoold +
|
|
"'";
|
|
db.query(qry);
|
|
}
|
|
|
|
qry =
|
|
"select _idx from tbl_po where idxpr='" +
|
|
idxpr +
|
|
"' and idxvendor='" +
|
|
idxvendor +
|
|
"' and isdeleted=0 order by _idx desc limit 1";
|
|
console.log(idxpo);
|
|
if (idxpo > 0) {
|
|
qry =
|
|
"select _idx from tbl_po where _idx='" +
|
|
idxpo +
|
|
"' and isdeleted=0 order by _idx desc limit 1";
|
|
}
|
|
|
|
console.log(qry);
|
|
|
|
// let qry = "select _idx from tbl_po where idxpr='"+idxpr+"' and idxpoboq in('"+idxpoboq+"') and isdeleted=0 order by _idx desc limit 1";
|
|
// 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 jsresult = JSON.parse(JSON.stringify(result));
|
|
// console.log(jsresult);
|
|
let idxheader = jsresult.length > 0 ? jsresult[0]["_idx"] : 0;
|
|
// console.log(idxheader);
|
|
qry =
|
|
"insert into tbl_po set idxpr='" +
|
|
idxpr +
|
|
"',prnumber='" +
|
|
prnumber +
|
|
"',idxjustification='" +
|
|
idxjustification +
|
|
"',justificationnumber='" +
|
|
justificationnumber +
|
|
"',";
|
|
qry =
|
|
qry +
|
|
"idxvendor='" +
|
|
idxvendor +
|
|
"',vendorid='" +
|
|
vendorid +
|
|
"',vendorname='" +
|
|
vendorname +
|
|
"',podate=now(),status='" +
|
|
status +
|
|
"',statusdescription='" +
|
|
statusdescription +
|
|
"',iby='" +
|
|
nik +
|
|
"',idt=now()";
|
|
if (result.length > 0) {
|
|
// qry = "update tbl_po set idxpr='"+idxpr+"',prnumber='"+prnumber+"',idxjustification='"+idxjustification+"',justificationnumber='"+justificationnumber+"',";
|
|
// qry = qry + "podate=now(),status='"+status+"',statusdescription='"+statusdescription+"',uby='"+nik+"',udt=now() ";
|
|
// qry = qry + "where idxpr='"+idxpr+"'";
|
|
qry =
|
|
"update tbl_po set idxvendor='" +
|
|
idxvendor +
|
|
"',vendorid='" +
|
|
vendorid +
|
|
"',vendorname='" +
|
|
vendorname +
|
|
"',uby='" +
|
|
nik +
|
|
"',udt=now() ";
|
|
qry =
|
|
qry + "where idxpr='" + idxpr + "' and idxvendor='" + idxvendor + "' and isdeleted=0";
|
|
if (idxpo > 0) {
|
|
qry =
|
|
"update tbl_po set idxvendor='" +
|
|
idxvendor +
|
|
"',vendorid='" +
|
|
vendorid +
|
|
"',vendorname='" +
|
|
vendorname +
|
|
"',uby='" +
|
|
nik +
|
|
"',udt=now() ";
|
|
qry = qry + "where _idx='" + idxpo + "' and isdeleted=0";
|
|
}
|
|
}
|
|
|
|
// console.log(qry);
|
|
db.query(qry, [], function (err1, result1, fields1) {
|
|
if (err1) {
|
|
apires.meta["message"] = err1.toString();
|
|
apires.meta["code"] = 500;
|
|
callback("err", apires);
|
|
} else {
|
|
if (idxheader <= 0) {
|
|
idxheader = result1.insertId;
|
|
}
|
|
|
|
// ==== Insert / Update boq PO
|
|
qry = "select _idx from tbl_poboq where _idx='" + idxpoboq + "'";
|
|
// console.log(qry);
|
|
db.query(qry, [], function (err2, result2, fields2) {
|
|
if (err2) {
|
|
apires.meta["message"] = err2.toString();
|
|
apires.meta["code"] = 500;
|
|
callback("err", apires);
|
|
} else {
|
|
// ==== Insert / update boq
|
|
qry =
|
|
"insert into tbl_poboq set idxheader='" +
|
|
idxheader +
|
|
"',idxjustification='" +
|
|
idxjustification +
|
|
"',idxjustificationboq='" +
|
|
idxjustificationboq +
|
|
"',items='" +
|
|
items +
|
|
"',";
|
|
qry =
|
|
qry +
|
|
"qty='" +
|
|
qty +
|
|
"',unitprice='" +
|
|
unitprice +
|
|
"',units='" +
|
|
units +
|
|
"',total='" +
|
|
total +
|
|
"',idxvendor='" +
|
|
idxvendor +
|
|
"',vendorid='" +
|
|
vendorid +
|
|
"',vendorname='" +
|
|
vendorname +
|
|
"',";
|
|
qry =
|
|
qry +
|
|
"startdate='" +
|
|
startdate +
|
|
"',enddate='" +
|
|
enddate +
|
|
"',description='" +
|
|
description +
|
|
"',curr='" +
|
|
curr +
|
|
"',hs='" +
|
|
hs +
|
|
"',poamount='" +
|
|
poamount +
|
|
"',ratepo='" +
|
|
ratepo +
|
|
"',migo='" +
|
|
migo +
|
|
"',";
|
|
qry =
|
|
qry +
|
|
"status='" +
|
|
status +
|
|
"',statusdescription='" +
|
|
statusdescription +
|
|
"',iby='" +
|
|
nik +
|
|
"',idt=now()";
|
|
if (result2.length > 0) {
|
|
qry =
|
|
"update tbl_poboq set idxheader='" +
|
|
idxheader +
|
|
"',idxjustification='" +
|
|
idxjustification +
|
|
"',idxjustificationboq='" +
|
|
idxjustificationboq +
|
|
"',items='" +
|
|
items +
|
|
"',";
|
|
qry =
|
|
qry +
|
|
"qty='" +
|
|
qty +
|
|
"',unitprice='" +
|
|
unitprice +
|
|
"',units='" +
|
|
units +
|
|
"',total='" +
|
|
total +
|
|
"',idxvendor='" +
|
|
idxvendor +
|
|
"',vendorid='" +
|
|
vendorid +
|
|
"',vendorname='" +
|
|
vendorname +
|
|
"',";
|
|
qry =
|
|
qry +
|
|
"startdate='" +
|
|
startdate +
|
|
"',enddate='" +
|
|
enddate +
|
|
"',description='" +
|
|
description +
|
|
"',curr='" +
|
|
curr +
|
|
"',hs='" +
|
|
hs +
|
|
"',poamount='" +
|
|
poamount +
|
|
"',ratepo='" +
|
|
ratepo +
|
|
"',migo='" +
|
|
migo +
|
|
"',";
|
|
qry =
|
|
qry +
|
|
"status='" +
|
|
status +
|
|
"',statusdescription='" +
|
|
statusdescription +
|
|
"',uby='" +
|
|
nik +
|
|
"',udt=now() ";
|
|
qry = qry + "where _idx='" + idxpoboq + "'";
|
|
}
|
|
|
|
//console.log(qry);
|
|
|
|
db.query(qry, [], function (err3, result3, fields3) {
|
|
if (err3) {
|
|
apires.meta["message"] = err3.toString();
|
|
apires.meta["code"] = 500;
|
|
callback("err", apires);
|
|
} else {
|
|
apires.success = true;
|
|
apires.data = {
|
|
"idxpoboq": idxpoboq > 0 ? parseInt(idxpoboq) : result3.insertId,
|
|
"idxpo": idxheader > 0 ? parseInt(idxheader) : 0,
|
|
};
|
|
callback("", apires);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
}
|
|
});
|
|
//callback(null, apires);
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apires.meta.code = 500;
|
|
apires.meta.message = err.toString();
|
|
callback("error", apires);
|
|
}
|
|
}
|
|
|
|
async queryDeletePoBoq(req, callback) {
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let idxpoboq = req.body.idxpoboq;
|
|
let remarkdeleted = req.body.remarkdeleted;
|
|
let nik = req.body.nik;
|
|
|
|
let qry = "update tbl_poboq ";
|
|
qry =
|
|
qry + "set isdeleted=1,remarkdeleted='" + remarkdeleted + "',dby='" + nik + "',ddt=now()";
|
|
qry = qry + " where _idx='" + 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.meta.message = "Deleted Success";
|
|
callback(null, apires);
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apires.meta.code = 500;
|
|
apires.meta.message = err.toString();
|
|
callback("error", apires);
|
|
}
|
|
}
|
|
|
|
async querypoBoqDetail(req, callback) {
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let idxpoboq = req.body.idxpoboq;
|
|
let qry = "select * from vw_poboq where idxpoboq in(" + idxpoboq + ")";
|
|
|
|
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 queryUpdatePoHeader(req, callback) {
|
|
try {
|
|
var apires = this.getApiResultDefined();
|
|
var idxpo = req.body.idxpo;
|
|
var idxpoboq = req.body.idxpoboq;
|
|
var vper_start = req.body.vper_start;
|
|
var podatettd = req.body.vper_start;
|
|
var vper_end = req.body.vper_end;
|
|
var idxvendor = req.body.idxvendor;
|
|
var vendorid = req.body.vendorid;
|
|
var vendorname = req.body.vendorname;
|
|
var totalpo = req.body.totalpo;
|
|
var totalqty = req.body.totalqty;
|
|
var podate = req.body.podate;
|
|
var units = "PKT";
|
|
// var podescription = req.body.podescription;
|
|
var idxapproval = req.body.idxapproval;
|
|
var nikapproval = req.body.nikapproval;
|
|
var nik = req.body.nik;
|
|
// var ttd = JSON.parse(req.body.ttd);
|
|
|
|
// console.log(ttd);
|
|
var qry =
|
|
"update tbl_po set idxvendor='" +
|
|
idxvendor +
|
|
"',vendorid='" +
|
|
vendorid +
|
|
"',vendorname='" +
|
|
vendorname +
|
|
"',";
|
|
qry =
|
|
qry +
|
|
"podescription=contractdescription,idxpoboq='" +
|
|
idxpoboq +
|
|
"',units='" +
|
|
units +
|
|
"',totalqty='" +
|
|
totalqty +
|
|
"',totalpo='" +
|
|
totalpo +
|
|
"',";
|
|
qry =
|
|
qry +
|
|
"vper_start='" +
|
|
vper_start +
|
|
"',vper_end='" +
|
|
vper_end +
|
|
"',podate='" +
|
|
podate +
|
|
"',podatettd='" +
|
|
podatettd +
|
|
"',idxapproval='" +
|
|
idxapproval +
|
|
"',";
|
|
qry =
|
|
qry +
|
|
"nikapproval='" +
|
|
nikapproval +
|
|
"',approveddate='" +
|
|
podatettd +
|
|
"',uby='" +
|
|
nik +
|
|
"',udt=now() ";
|
|
qry = qry + "where _idx='" + idxpo + "'";
|
|
|
|
// 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 {
|
|
qry = "select * from vw_po where _idx='" + idxpo + "'";
|
|
db.query(qry, [], function (err, result1, 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(result1));
|
|
callback(null, apires);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apires.meta.code = 500;
|
|
apires.meta.message = err.toString();
|
|
callback("error", apires);
|
|
}
|
|
}
|
|
|
|
async queryUpdatePoHeaderold(req, callback) {
|
|
try {
|
|
var apires = this.getApiResultDefined();
|
|
var idxpo = req.body.idxpo;
|
|
var idxpoboq = req.body.idxpoboq;
|
|
var vper_start = req.body.vper_start;
|
|
var podatettd = req.body.vper_start;
|
|
var vper_end = req.body.vper_end;
|
|
var idxvendor = req.body.idxvendor;
|
|
var vendorid = req.body.vendorid;
|
|
var vendorname = req.body.vendorname;
|
|
var totalpo = req.body.totalpo;
|
|
var totalqty = req.body.totalqty;
|
|
var units = "PKT";
|
|
// var podescription = req.body.podescription;
|
|
var nik = req.body.nik;
|
|
var ttd = JSON.parse(req.body.ttd);
|
|
|
|
console.log(ttd);
|
|
var qry =
|
|
"update tbl_po set idxvendor='" +
|
|
idxvendor +
|
|
"',vendorid='" +
|
|
vendorid +
|
|
"',vendorname='" +
|
|
vendorname +
|
|
"',";
|
|
qry =
|
|
qry +
|
|
"podescription=contractdescription,idxpoboq='" +
|
|
idxpoboq +
|
|
"',units='" +
|
|
units +
|
|
"',totalqty='" +
|
|
totalqty +
|
|
"',totalpo='" +
|
|
totalpo +
|
|
"',";
|
|
qry =
|
|
qry +
|
|
"vper_start='" +
|
|
vper_start +
|
|
"',vper_end='" +
|
|
vper_end +
|
|
"',podate=now(),podatettd='" +
|
|
podatettd +
|
|
"',uby='" +
|
|
nik +
|
|
"',udt=now() ";
|
|
qry = qry + "where _idx='" + idxpo + "'";
|
|
|
|
// 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 {
|
|
// === set ttd
|
|
// var approval = approval.disetujuioleh;
|
|
|
|
Object.keys(ttd).forEach(function (key) {
|
|
var token = getToken();
|
|
var id = ttd[key]["id"] || 0;
|
|
var idemployee = ttd[key]["idemployee"];
|
|
var nik = ttd[key]["nik"];
|
|
var action = ttd[key]["action"];
|
|
|
|
qry =
|
|
"insert into tbl_pottd set idxpo='" + idxpo + "',idemployee='" + idemployee + "',";
|
|
qry =
|
|
qry +
|
|
"nik='" +
|
|
nik +
|
|
"',category='APR',token='" +
|
|
token +
|
|
"',imgqr='',iby='" +
|
|
nik +
|
|
"',idt=now()";
|
|
if (action == "update") {
|
|
qry =
|
|
"update tbl_justificationttd set idxpo='" +
|
|
idxpo +
|
|
"',idemployee='" +
|
|
idemployee +
|
|
"',";
|
|
qry =
|
|
qry +
|
|
"nik='" +
|
|
nik +
|
|
"',category='APR',token='" +
|
|
token +
|
|
"',imgqr='',uby='" +
|
|
nik +
|
|
"',udt=now() ";
|
|
qry = qry + "where _idx='" + id + "'";
|
|
}
|
|
if (action == "delete") {
|
|
qry = "update tbl_pottd set isdeleted=1,dby='" + nik + "',ddt=now() ";
|
|
qry = qry + "where _idx='" + id + "'";
|
|
}
|
|
console.log(qry);
|
|
db.query(qry, [], function (err3, result3, fields3) {
|
|
return result3;
|
|
});
|
|
});
|
|
qry = "select * from vw_po where _idx='" + idxpo + "'";
|
|
db.query(qry, [], function (err, result1, 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(result1));
|
|
callback(null, apires);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apires.meta.code = 500;
|
|
apires.meta.message = err.toString();
|
|
callback("error", apires);
|
|
}
|
|
}
|
|
|
|
async queryGetLastSignDate(req, callback) {
|
|
try {
|
|
var apires = this.getApiResultDefined();
|
|
let idxjustification = req.body.idxjustification;
|
|
let qry = "select idxjustification,nik,date_format(signeddate,'%Y-%m-%d') signeddate ";
|
|
qry +=
|
|
"from tbl_justificationttd where category='APR' and idxjustification='" +
|
|
idxjustification +
|
|
"' and not(signeddate is null) order by signeddate desc limit 1";
|
|
|
|
// 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.data = JSON.parse(JSON.stringify(result));
|
|
callback(null, apires);
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apires.meta.code = 500;
|
|
apires.meta.message = err.toString();
|
|
callback("error", apires);
|
|
}
|
|
}
|
|
|
|
async querySignedPo(req, callback) {
|
|
try {
|
|
var apires = this.getApiResultDefined();
|
|
let idxpo = req.body.idxpo;
|
|
var idxapproval = req.body.idxapproval;
|
|
var nikapproval = req.body.nikapproval;
|
|
var datesigned = req.body.datesigned;
|
|
// console.log(datesigned);
|
|
var nik = req.body.nik;
|
|
var token = this.getToken();
|
|
var filepng = token + ".png";
|
|
// token =getToken();
|
|
token = token + "," + nikapproval;
|
|
|
|
QRCode.toDataURL(token, function (err, code) {
|
|
// console.log(code);`
|
|
if (err) {
|
|
console.log("ddf");
|
|
apires.meta["message"] = err.toString();
|
|
apires.meta["code"] = 500;
|
|
callback("err", apires);
|
|
} else {
|
|
var imageBuffer = Adapter.decodeBase64Image(code);
|
|
fs.writeFile("./assets/png/" + filepng, imageBuffer.data, function (err) {
|
|
// console.log(err);
|
|
if (err) {
|
|
console.log("eee");
|
|
apires.meta["message"] = err.toString();
|
|
apires.meta["code"] = 500;
|
|
callback(err.toString(), apires);
|
|
} else {
|
|
var qry =
|
|
"update tbl_po set token=md5('" +
|
|
token +
|
|
"'),filepng='" +
|
|
filepng +
|
|
"',status='6',statusdescription='Approved',approveddate='" +
|
|
datesigned +
|
|
"',uby='" +
|
|
nik +
|
|
"',udt=now() ";
|
|
qry = qry + "where _idx='" + idxpo + "'";
|
|
// console.log(qry);
|
|
db.query(qry, [], function (err, result, fields) {
|
|
if (err) {
|
|
// console.log('ttetete');
|
|
apires.meta["message"] = err.toString();
|
|
apires.meta["code"] = 500;
|
|
callback("err", apires);
|
|
} else {
|
|
apires.success = true;
|
|
// ===
|
|
qry = "select status from tbl_po where _idx='" + idxpo + "'";
|
|
db.query(qry, [], function (err, result2, fields) {
|
|
if (err) {
|
|
console.log("bbbb");
|
|
apires.meta["message"] = err.toString();
|
|
apires.meta["code"] = 500;
|
|
callback("error", apires);
|
|
} else {
|
|
var status = result2[0]["status"];
|
|
var isapproved = 0;
|
|
if (status == 6) {
|
|
isapproved = 1;
|
|
}
|
|
apires.data = {
|
|
"isapproved": isapproved,
|
|
"token": token,
|
|
"urltoken":
|
|
process.env.BASEURL + "/main/getimageinfo?route=png&name=" + filepng,
|
|
};
|
|
callback(null, apires);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
}
|
|
});
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apires.meta.code = 500;
|
|
apires.meta.message = err.toString();
|
|
callback("error", apires);
|
|
}
|
|
}
|
|
|
|
async querySignedPoold(req, callback) {
|
|
try {
|
|
var apires = this.getApiResultDefined();
|
|
let idxpo = req.body.idxpo;
|
|
var idxapproval = req.body.idxapproval;
|
|
var nikapproval = req.body.nikapproval;
|
|
var datesigned = req.body.datesigned;
|
|
// console.log(datesigned);
|
|
var nik = req.body.nik;
|
|
var token = this.getToken();
|
|
var filepng = token + ".png";
|
|
// token =getToken();
|
|
token = token + "," + nikapproval;
|
|
|
|
QRCode.toDataURL(token, function (err, code) {
|
|
// console.log(code);`
|
|
if (err) {
|
|
console.log("ddf");
|
|
apires.meta["message"] = err.toString();
|
|
apires.meta["code"] = 500;
|
|
callback("err", apires);
|
|
} else {
|
|
var imageBuffer = Adapter.decodeBase64Image(code);
|
|
fs.writeFile("./assets/png/" + filepng, imageBuffer.data, function (err) {
|
|
// console.log(err);
|
|
if (err) {
|
|
console.log("eee");
|
|
apires.meta["message"] = err.toString();
|
|
apires.meta["code"] = 500;
|
|
callback(err.toString(), apires);
|
|
} else {
|
|
var qry =
|
|
"update tbl_pottd set token=md5('" +
|
|
token +
|
|
"'),imgqr='" +
|
|
filepng +
|
|
"',issigned='1',signeddate='" +
|
|
datesigned +
|
|
"',uby='" +
|
|
nik +
|
|
"',udt=now() ";
|
|
qry = qry + "where _idx='" + idxapproval + "'";
|
|
// console.log(qry);
|
|
db.query(qry, [], function (err, result, fields) {
|
|
if (err) {
|
|
// console.log('ttetete');
|
|
apires.meta["message"] = err.toString();
|
|
apires.meta["code"] = 500;
|
|
callback("err", apires);
|
|
} else {
|
|
apires.success = true;
|
|
// ===
|
|
qry = "select status from tbl_po where _idx='" + idxpo + "'";
|
|
db.query(qry, [], function (err, result2, fields) {
|
|
if (err) {
|
|
console.log("bbbb");
|
|
apires.meta["message"] = err.toString();
|
|
apires.meta["code"] = 500;
|
|
callback("error", apires);
|
|
} else {
|
|
var status = result2[0]["status"];
|
|
var isapproved = 0;
|
|
if (status == 2) {
|
|
isapproved = 1;
|
|
}
|
|
apires.data = {
|
|
"isapproved": isapproved,
|
|
"token": token,
|
|
"urltoken":
|
|
process.env.BASEURL + "/main/getimageinfo?route=png&name=" + filepng,
|
|
};
|
|
callback(null, apires);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
}
|
|
});
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apires.meta.code = 500;
|
|
apires.meta.message = err.toString();
|
|
callback("error", apires);
|
|
}
|
|
}
|
|
|
|
async querycheckidentifyprocject(req, identifyprojectnumber, callback) {
|
|
try {
|
|
var apires = this.getApiResultDefined();
|
|
var qry =
|
|
"select _idx from tbl_po where identifyprojectnumber='" +
|
|
identifyprojectnumber +
|
|
"' and isdeleted=0 order by _idx desc limit 1";
|
|
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;
|
|
} else {
|
|
apires.meta.message =
|
|
"Nomor SP3 " +
|
|
identifyprojectnumber +
|
|
" Sudah digunakan, mohon masukkan nomor SP3 yang lain. TERIMA KASIH";
|
|
}
|
|
callback("", apires);
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apires.meta["message"] = err.toString();
|
|
apires.meta["code"] = 500;
|
|
callback("err", apires);
|
|
}
|
|
}
|
|
|
|
async queryUpdateIdentifyProject(req, callback) {
|
|
try {
|
|
var apires = this.getApiResultDefined();
|
|
var idxpr = req.body.idxpr;
|
|
var prnumber = req.body.prnumber;
|
|
var idxpoboq = req.body.idxpoboq;
|
|
var idxpo = req.body.idxpo;
|
|
var totalpoboq = req.body.totalpoboq;
|
|
var totalqty = req.body.totalqty;
|
|
var idxvendor = req.body.idxvendor;
|
|
var vendorname = req.body.vendorname;
|
|
var vendorid = req.body.vendorid;
|
|
var idxjustification = req.body.idxjustification;
|
|
var justificationnumber = req.body.justificationnumber;
|
|
var podate = req.body.vper_start;
|
|
var status = req.body.status;
|
|
var statusdescription = req.body.statusdescription;
|
|
var identifyprojectnumber = req.body.identifyprojectnumber;
|
|
var contractdescription = req.body.contractdescription;
|
|
var contractperiodfrom = req.body.contractperiodfrom;
|
|
var contractperiodto = req.body.contractperiodto;
|
|
var nik = req.body.nik;
|
|
|
|
// var qry ="select _idx from tbl_po where status=0 and isdeleted=0 order by _idx desc limit 1";
|
|
var qry =
|
|
"select _idx from tbl_po where _idx='" +
|
|
idxpo +
|
|
"' and (identifyprojectnumber is null or identifyprojectnumber='') and isdeleted=0 order by _idx desc limit 1";
|
|
// 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) {
|
|
qry =
|
|
"insert into tbl_po set ponumber='000',idxpr='" +
|
|
idxpr +
|
|
"',prnumber='" +
|
|
prnumber +
|
|
"',idxjustification='" +
|
|
idxjustification +
|
|
"',";
|
|
qry +=
|
|
"justificationnumber='" +
|
|
justificationnumber +
|
|
"',idxvendor='" +
|
|
idxvendor +
|
|
"',vendorname='" +
|
|
vendorname +
|
|
"',vendorid='" +
|
|
vendorid +
|
|
"',podate='" +
|
|
podate +
|
|
"',";
|
|
qry +=
|
|
"podescription='" +
|
|
contractdescription +
|
|
"',identifyprojectnumber='" +
|
|
identifyprojectnumber +
|
|
"',contractdescription='" +
|
|
contractdescription +
|
|
"',";
|
|
qry +=
|
|
"contractperiodfrom='" +
|
|
contractperiodfrom +
|
|
"',contractperiodto='" +
|
|
contractperiodto +
|
|
"',units='PKT',totalqty='" +
|
|
totalqty +
|
|
"',";
|
|
qry +=
|
|
"totalpo='" +
|
|
totalpoboq +
|
|
"',status='" +
|
|
status +
|
|
"',statusdescription='" +
|
|
statusdescription +
|
|
"',idxpoboq='" +
|
|
idxpoboq +
|
|
"',";
|
|
qry += "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 =
|
|
"update tbl_poboq set idxheader='" +
|
|
idxheader +
|
|
"',identifyprojectnumber='" +
|
|
identifyprojectnumber +
|
|
"',status='" +
|
|
status +
|
|
"',statusdescription='" +
|
|
statusdescription +
|
|
"' ";
|
|
qry += "where _idx in(" + idxpoboq + ")";
|
|
console.log(qry);
|
|
db.query(qry, [], function (err, result1, fields) {
|
|
if (err) {
|
|
apires.meta["message"] = err.toString();
|
|
apires.meta["code"] = 500;
|
|
callback("err", apires);
|
|
} else {
|
|
qry = "select * from vw_po where _idx='" + idxpo + "'";
|
|
db.query(qry, [], function (err, result1, 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(result1));
|
|
callback(null, apires);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
}
|
|
});
|
|
} else {
|
|
// qry="update tbl_po set idxpoboq='"+idxpoboq+"',identifyprojectnumber='"+identifyprojectnumber+"',status='"+status+"',";
|
|
// qry+="podescription='"+contractdescription+"',contractdescription='"+contractdescription+"',contractperiodfrom='"+contractperiodfrom+"',";
|
|
// qry+="contractperiodto='"+contractperiodto+"',statusdescription='"+statusdescription+"' ";
|
|
// qry+="where _idx='"+idxpo+"'";
|
|
qry =
|
|
"update tbl_po p,tbl_poboq po set p.idxpoboq='" +
|
|
idxpoboq +
|
|
"',p.identifyprojectnumber='" +
|
|
identifyprojectnumber +
|
|
"',p.status='" +
|
|
status +
|
|
"',";
|
|
qry +=
|
|
"p.podescription='" +
|
|
contractdescription +
|
|
"',p.contractdescription='" +
|
|
contractdescription +
|
|
"',p.contractperiodfrom='" +
|
|
contractperiodfrom +
|
|
"',";
|
|
qry +=
|
|
"p.contractperiodto='" +
|
|
contractperiodto +
|
|
"',p.statusdescription='" +
|
|
statusdescription +
|
|
"',po.identifyprojectnumber='" +
|
|
identifyprojectnumber +
|
|
"',";
|
|
qry += "po.status='" + status + "',po.statusdescription='" + statusdescription + "' ";
|
|
qry +=
|
|
"where p._idx='" +
|
|
idxpo +
|
|
"' and po._idx in (" +
|
|
idxpoboq +
|
|
") and p.isdeleted=0 and po.isdeleted=0";
|
|
console.log(qry);
|
|
db.query(qry, [], function (err, result1, fields) {
|
|
if (err) {
|
|
apires.meta["message"] = err.toString();
|
|
apires.meta["code"] = 500;
|
|
callback("err", apires);
|
|
} else {
|
|
qry = "select * from vw_po where _idx='" + idxpo + "'";
|
|
db.query(qry, [], function (err, result1, 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(result1));
|
|
callback(null, apires);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
}
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apires.meta.code = 500;
|
|
apires.meta.message = err.toString();
|
|
callback("error", apires);
|
|
}
|
|
}
|
|
|
|
async queryUpdateIdentifyProjectold(req, callback) {
|
|
try {
|
|
var apires = this.getApiResultDefined();
|
|
var idxpo = req.body.idxpo;
|
|
// var idxpoboq = req.body.idxpoboq;
|
|
var status = req.body.status;
|
|
var statusdescription = req.body.statusdescription;
|
|
var identifyprojectnumber = req.body.identifyprojectnumber;
|
|
var contractdescription = req.body.contractdescription;
|
|
var contractperiodfrom = req.body.contractperiodfrom;
|
|
var contractperiodto = req.body.contractperiodto;
|
|
var nik = req.body.nik;
|
|
|
|
var qry =
|
|
"update tbl_po set podescription='" +
|
|
contractdescription +
|
|
"',contractdescription='" +
|
|
contractdescription +
|
|
"',status='" +
|
|
status +
|
|
"',statusdescription='" +
|
|
statusdescription +
|
|
"',";
|
|
qry =
|
|
qry +
|
|
"identifyprojectnumber='" +
|
|
identifyprojectnumber +
|
|
"',contractperiodfrom='" +
|
|
contractperiodfrom +
|
|
"',";
|
|
qry = qry + "contractperiodto='" + contractperiodto + "',uby='" + nik + "',udt=now() ";
|
|
qry = qry + "where _idx='" + idxpo + "'";
|
|
// var qry = "update tbl_po p, tbl_poboq pb set p.podescription='"+contractdescription+"',p.contractdescription='"+contractdescription+"',p.status='"+status+"',p.statusdescription='"+statusdescription+"',";
|
|
// qry = qry +"p.identifyprojectnumber='"+identifyprojectnumber+"',pb.identifyprojectnumber='"+identifyprojectnumber+"',p.contractperiodfrom='"+contractperiodfrom+"',";
|
|
// qry = qry +"p.contractperiodto='"+contractperiodto+"',p.uby='"+nik+"',p.udt=now() ";
|
|
// qry = qry + "where p._idx='"+idxpo+"' and pb._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 {
|
|
qry = "select * from vw_po where _idx='" + idxpo + "'";
|
|
db.query(qry, [], function (err, result1, 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(result1));
|
|
callback(null, apires);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apires.meta.code = 500;
|
|
apires.meta.message = err.toString();
|
|
callback("error", apires);
|
|
}
|
|
}
|
|
|
|
async queryUpdatePoNumber(req, sapmessage, callback) {
|
|
try {
|
|
var apires = this.getApiResultDefined();
|
|
var idxpo = req.body.idxpo;
|
|
var idxpoboq = req.body.idxpoboq;
|
|
var nik = req.body.nik;
|
|
var status = req.body.status;
|
|
var posapnumber = req.body.ponumber || "";
|
|
var podate = req.body.podate || "";
|
|
var statusdescription = req.body.statusdescription;
|
|
var sapmessage = sapmessage;
|
|
|
|
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.podate='" +
|
|
podate +
|
|
"',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 = "";
|
|
}
|
|
var qry =
|
|
"update tbl_po p, tbl_poboq po set " +
|
|
setvalues +
|
|
"p.sapmessages='" +
|
|
sapmessage +
|
|
"',p.uby='" +
|
|
nik +
|
|
"',p.udt=now() ";
|
|
qry =
|
|
qry +
|
|
"where (p._idx=po.idxheader and p._idx='" +
|
|
idxpo +
|
|
"' and po._idx in (" +
|
|
idxpoboq +
|
|
")) and p.isdeleted=0 and po.isdeleted=0";
|
|
|
|
// var qry = "update tbl_po set "+setvalues+"sapmessages='"+sapmessage+"',uby='"+nik+"',udt=now() ";
|
|
// qry = qry +"where (_idx=idxheader and _idx='"+idxpo+"' and p_idx in ("+idxpoboq+")) and p.isdeleted=0 and po.isdeleted=0";
|
|
|
|
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 {
|
|
qry = "select idxpoboq,ponumber from vw_poboq where idxpoboq in(" + idxpoboq + ")";
|
|
db.query(qry, [], function (err, result1, 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(result1));
|
|
callback(null, apires);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apires.meta.code = 500;
|
|
apires.meta.message = err.toString();
|
|
callback("error", apires);
|
|
}
|
|
}
|
|
|
|
async queryUpdateUploadPoNumber(req, sapmessage, callback) {
|
|
try {
|
|
var apires = this.getApiResultDefined();
|
|
var idxpo = req.body.idxpo;
|
|
var idxpoboq = req.body.idxpoboq;
|
|
var nik = req.body.nik;
|
|
var status = req.body.status;
|
|
var posapnumber = req.body.ponumber || "";
|
|
var sp3number = req.body.sp3number || "";
|
|
var podate = req.body.podate || "";
|
|
var statusdescription = req.body.statusdescription;
|
|
var sapmessage = sapmessage;
|
|
|
|
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.podate='" +
|
|
podate +
|
|
"',p.status='" +
|
|
status +
|
|
"',p.statusdescription='" +
|
|
statusdescription +
|
|
"',";
|
|
setvalues +=
|
|
"po.ponumber='" +
|
|
posapnumber +
|
|
"',po.identifyprojectnumber='" +
|
|
sp3number +
|
|
"',po.status='" +
|
|
status +
|
|
"',po.statusdescription='" +
|
|
statusdescription +
|
|
"',";
|
|
// var setvalues="ponumber='"+posapnumber+"',status='"+status+"',statusdescription='"+statusdescription+"',";
|
|
if (!posapnumber || posapnumber == "" || posapnumber == "000") {
|
|
setvalues = "";
|
|
}
|
|
var qry =
|
|
"update tbl_po p, tbl_poboq po set " +
|
|
setvalues +
|
|
"p.sapmessages='" +
|
|
sapmessage +
|
|
"',p.uby='" +
|
|
nik +
|
|
"',p.udt=now() ";
|
|
qry =
|
|
qry +
|
|
"where (p._idx=po.idxheader and p._idx='" +
|
|
idxpo +
|
|
"' and po._idx in (" +
|
|
idxpoboq +
|
|
")) and p.isdeleted=0 and po.isdeleted=0";
|
|
|
|
// var qry = "update tbl_po set "+setvalues+"sapmessages='"+sapmessage+"',uby='"+nik+"',udt=now() ";
|
|
// qry = qry +"where (_idx=idxheader and _idx='"+idxpo+"' and p_idx in ("+idxpoboq+")) and p.isdeleted=0 and po.isdeleted=0";
|
|
|
|
console.log(qry);
|
|
db.query(qry, [], function (err, result, fields) {
|
|
console.log("result =>", result);
|
|
if (err) {
|
|
apires.meta["message"] = err.toString();
|
|
apires.meta["code"] = 500;
|
|
callback("err", apires);
|
|
} else {
|
|
qry =
|
|
"select idxpoboq,ponumber,identifyprojectnumber from vw_poboq where idxpoboq in(" +
|
|
idxpoboq +
|
|
")";
|
|
console.log("qry", qry);
|
|
db.query(qry, [], function (err, result1, fields) {
|
|
if (err) {
|
|
apires.meta["message"] = err.toString();
|
|
apires.meta["code"] = 500;
|
|
callback("err", apires);
|
|
} else {
|
|
apires.success = true;
|
|
console.log("result1 =>", result1);
|
|
apires.data = JSON.parse(JSON.stringify(result1));
|
|
callback(null, apires);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apires.meta.code = 500;
|
|
apires.meta.message = err.toString();
|
|
callback("error", apires);
|
|
}
|
|
}
|
|
|
|
async queryUpdatePoNumberold(req, posapnumber, sapmessage, callback) {
|
|
try {
|
|
var apires = this.getApiResultDefined();
|
|
var idxpo = req.body.idxpo;
|
|
var idxpoboq = req.body.idxpoboq;
|
|
var nik = req.body.nik;
|
|
var status = req.body.status;
|
|
var statusdescription = req.body.statusdescription;
|
|
|
|
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 = "";
|
|
}
|
|
var qry =
|
|
"update tbl_po p, tbl_poboq po set " +
|
|
setvalues +
|
|
"p.sapmessages='" +
|
|
sapmessage +
|
|
"',p.uby='" +
|
|
nik +
|
|
"',p.udt=now() ";
|
|
qry =
|
|
qry +
|
|
"where (p._idx=po.idxheader and p._idx='" +
|
|
idxpo +
|
|
"' and po._idx in (" +
|
|
idxpoboq +
|
|
")) and p.isdeleted=0 and po.isdeleted=0";
|
|
|
|
// var qry = "update tbl_po set "+setvalues+"sapmessages='"+sapmessage+"',uby='"+nik+"',udt=now() ";
|
|
// qry = qry +"where (_idx=idxheader and _idx='"+idxpo+"' and p_idx in ("+idxpoboq+")) and p.isdeleted=0 and po.isdeleted=0";
|
|
|
|
// 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 {
|
|
qry = "select idxpoboq,ponumber from vw_poboq where idxpoboq in(" + idxpoboq + ")";
|
|
db.query(qry, [], function (err, result1, 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(result1));
|
|
callback(null, apires);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apires.meta.code = 500;
|
|
apires.meta.message = err.toString();
|
|
callback("error", apires);
|
|
}
|
|
}
|
|
|
|
async queryUpdateMigoNumber(req, callback) {
|
|
try {
|
|
var apires = this.getApiResultDefined();
|
|
var idxpo = req.query.idxpo || req.body.idxpo;
|
|
// var idxpoboq = req.body.idxpoboq;
|
|
// var migonumber="";
|
|
var nik = req.body.nik;
|
|
var migo = req.body.migo;
|
|
var migosapmessage = req.body.migosapmessage;
|
|
// var status = req.body.status;
|
|
// var statusdescription = req.body.statusdescription;
|
|
|
|
// if(!migo||migo==''){
|
|
// migonumber="000";
|
|
// }
|
|
// var setvalues="p.ponumber='"+posapnumber+"',p.status='"+status+"',p.statusdescription='"+statusdescription+"',po.status='"+status+"',po.statusdescription='"+statusdescription+"',";
|
|
var setvalues =
|
|
"p.migo='" + migo + "',p.migosapmessages='" + migosapmessage + "',po.migo='" + migo + "',";
|
|
// var setvalues="ponumber='"+posapnumber+"',status='"+status+"',statusdescription='"+statusdescription+"',";
|
|
if (!migo || migo == "") {
|
|
setvalues = "";
|
|
}
|
|
var qry =
|
|
"update tbl_po p, tbl_poboq po set " +
|
|
setvalues +
|
|
"p.migosapmessages='" +
|
|
migosapmessage +
|
|
"',p.uby='" +
|
|
nik +
|
|
"',p.udt=now() ";
|
|
qry =
|
|
qry +
|
|
"where (p._idx=po.idxheader and p._idx='" +
|
|
idxpo +
|
|
"') and p.isdeleted=0 and po.isdeleted=0";
|
|
|
|
// var qry = "update tbl_po set "+setvalues+"sapmessages='"+sapmessage+"',uby='"+nik+"',udt=now() ";
|
|
// qry = qry +"where (_idx=idxheader and _idx='"+idxpo+"' and p_idx in ("+idxpoboq+")) and p.isdeleted=0 and po.isdeleted=0";
|
|
|
|
// 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 {
|
|
qry = "select idxpoboq,ponumber,migo from vw_poboq where idxpo='" + idxpo + "'";
|
|
db.query(qry, [], function (err, result1, 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(result1));
|
|
callback(null, apires);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apires.meta.code = 500;
|
|
apires.meta.message = err.toString();
|
|
callback("error", apires);
|
|
}
|
|
}
|
|
|
|
async queryUpdatePOSAP(req, posapnumber, sapmsg, callback) {
|
|
try {
|
|
var apires = this.getApiResultDefined();
|
|
var idxpo = req.body.idxpo;
|
|
var status = req.body.status;
|
|
var totalpo = req.body.totalpo;
|
|
var podescription = req.body.podescription;
|
|
var statusdescription = req.body.statusdescription;
|
|
var nik = req.body.nik;
|
|
|
|
var setvalues = "p.ponumber='" + posapnumber + "',po.ponumber='" + posapnumber + "',";
|
|
if (!posapnumber) {
|
|
setvalues = "";
|
|
}
|
|
|
|
if (typeof totalpo !== undefined) {
|
|
setvalues = setvalues + "p.totalpo='" + totalpo + "',";
|
|
}
|
|
|
|
if (typeof podescription !== undefined) {
|
|
setvalues = setvalues + "p.podescription='" + podescription + "',";
|
|
}
|
|
|
|
var qry =
|
|
"update tbl_po p, tbl_poboq po set " +
|
|
setvalues +
|
|
"p.sapmessages='" +
|
|
sapmsg +
|
|
"',p.status='" +
|
|
status +
|
|
"',p.statusdescription='" +
|
|
statusdescription +
|
|
"',p.uby='" +
|
|
nik +
|
|
"',p.udt=now() ";
|
|
qry =
|
|
qry +
|
|
"where p._idx=po.idxheader and p._idx='" +
|
|
idxpo +
|
|
"' and p.isdeleted=0 and po.isdeleted=0";
|
|
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);
|
|
}
|
|
}
|
|
|
|
// async queryUpdatePoNumberold(req,posapnumber, callback) {
|
|
// try {
|
|
// var apires = this.getApiResultDefined();
|
|
// var idxpo = req.body.idxpo;
|
|
// var idxpoboq = req.body.idxpoboq;
|
|
// var vper_start = req.body.vper_start;
|
|
// var vper_end = req.body.vper_end;
|
|
// var idxvendor = req.body.idxvendor;
|
|
// var vendorid = req.body.vendorid;
|
|
// var vendorname = req.body.vendorname;
|
|
// var totalpo = req.body.totalpo;
|
|
// var totalqty = req.body.totalqty;
|
|
// var units = "PKT";
|
|
// var status = req.body.status;
|
|
// var statusdescription = req.body.statusdescription;
|
|
// var status = req.body.status;
|
|
// var statusdescription = req.body.statusdescription;
|
|
// let podescription = req.body.podescription;
|
|
|
|
// var nik = req.body.nik;
|
|
|
|
// var qry = "update tbl_po p, tbl_poboq po set vper_start='"+vper_start+"',vper_end='"+vper_end+"',p.podate=now(),";
|
|
// qry = qry +"p.ponumber='"+posapnumber+"',p.idxvendor='"+idxvendor+"',p.vendorid='"+vendorid+"',p.vendorname='"+vendorname+"',";
|
|
// qry = qry +"p.podescription='"+podescription+"',p.units='"+units+"',p.totalqty='"+totalqty+"',p.totalpo='"+totalpo+"',po.ponumber='"+posapnumber+"',";
|
|
// qry = qry +"p.status='" + status +"',p.statusdescription='" + statusdescription +"',p.uby='"+nik+"',p.udt=now() ";
|
|
// qry = qry +"where p._idx=po.idxheader and po._idx in(" + idxpoboq +") and p.isdeleted=0 and po.isdeleted=0";
|
|
|
|
// var qry = "update tbl_po p, tbl_poboq po set p.ponumber='"+posapnumber+"',po.ponumber='"+posapnumber+"',p.uby='"+nik+"',p.udt=now() ";
|
|
// qry = qry +"where p._idx=po.idxheader and po._idx in(" + idxpoboq +") and p.isdeleted=0 and po.isdeleted=0";
|
|
// db.query(qry,[],function(err,result,fields){
|
|
// if(err){
|
|
// apires.meta['message'] = err.toString();
|
|
// apires.meta['code'] = 500;
|
|
// callback('err',apires);
|
|
// }
|
|
// else
|
|
// {
|
|
// qry = "select idxpoboq,ponumber from vw_poboq where idxpoboq in("+idxpoboq+")";
|
|
// db.query(qry,[],function(err,result1,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(result1));
|
|
// callback(null, apires);
|
|
// }
|
|
// });
|
|
|
|
// }
|
|
// });
|
|
// } catch (err) {
|
|
// apires.meta.code = 500;
|
|
// apires.meta.message = err.toString();
|
|
// callback('error',apires);
|
|
// }
|
|
// }
|
|
|
|
async queryPoManagementList(req, callback) {
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
const proc_nik = process.env.PROC_USER_NIK ?? "";
|
|
const proc_users = proc_nik.split(",");
|
|
|
|
let limit = req.query.limit;
|
|
let offset = req.query.offset;
|
|
let keyword = req.query.keyword;
|
|
let nik = req.body.nik;
|
|
|
|
let qry = "select * from vw_po ";
|
|
qry =
|
|
qry +
|
|
"where trim(ponumber) like '%" +
|
|
keyword +
|
|
"%' and ponumber<>'000' and status in (1,2,3,4,5,6)";
|
|
|
|
if (nik) {
|
|
if (!proc_users.includes(nik)) {
|
|
qry += ' and (iby="' + nik + ' or nikapproval="' + nik + '")';
|
|
}
|
|
}
|
|
// 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_po ";
|
|
qry = qry + "where trim(ponumber) like '%" + keyword + "%' and ponumber<>'000'";
|
|
if (nik) {
|
|
if (!proc_users.includes(nik)) {
|
|
qry += ' and (iby="' + nik + ' or nikapproval="' + nik + '") ';
|
|
}
|
|
}
|
|
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 queryPottdList(req, callback) {
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
const proc_nik = process.env.PROC_USER_NIK ?? "";
|
|
const proc_users = proc_nik.split(",");
|
|
|
|
let limit = req.query.limit;
|
|
let offset = req.query.offset;
|
|
let keyword = req.query.keyword;
|
|
let nik = req.query.nik;
|
|
// let nik = req.body.nik;
|
|
|
|
let qry = "select * from vw_po ";
|
|
qry =
|
|
qry +
|
|
"where trim(ponumber) like '%" +
|
|
keyword +
|
|
"%' and status in(1,2,3,4,5,6) and ponumber<>'000' and ponumber<>'' ";
|
|
|
|
if (nik) {
|
|
if (!proc_users.includes(nik)) {
|
|
qry += 'and (iby="' + nik + ' or nikapproval="' + nik + '")';
|
|
}
|
|
}
|
|
|
|
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_po ";
|
|
qry =
|
|
qry +
|
|
"where trim(ponumber) like '%" +
|
|
keyword +
|
|
"%' and status in(1,2,3,4,5,6) and ponumber<>'000' and ponumber<>'' ";
|
|
if (nik) {
|
|
if (!proc_users.includes(nik)) {
|
|
qry += 'and (iby="' + nik + ' or nikapproval="' + nik + '") ';
|
|
}
|
|
}
|
|
|
|
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 queryPottdListDetail(req, callback) {
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let _idx = req.query.idxpo;
|
|
|
|
let qry = "select * from vw_po where _idx='" + _idx + "'";
|
|
|
|
// 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.meta.message = "Record not found";
|
|
callback("", apires);
|
|
} else {
|
|
let resultJson = JSON.stringify(result);
|
|
resultJson = JSON.parse(resultJson);
|
|
|
|
// PO BOQ
|
|
let qry = "select * from vw_poboq where idxpo='" + resultJson[0]._idx + "'";
|
|
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.meta.message = "Record not found";
|
|
callback("", apires);
|
|
} else {
|
|
let resultJsonBoq = JSON.stringify(result);
|
|
resultJsonBoq = JSON.parse(resultJsonBoq);
|
|
resultJson[0]["boq"] = resultJsonBoq;
|
|
|
|
apires.success = true;
|
|
apires.data = resultJson;
|
|
callback(null, apires);
|
|
}
|
|
}
|
|
});
|
|
|
|
// apires.success = true;
|
|
// apires.data = resultJson;
|
|
// callback(null, apires);
|
|
}
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apires.meta.code = 500;
|
|
apires.meta.message = err.toString();
|
|
callback("error", apires);
|
|
}
|
|
}
|
|
|
|
async queryPoMigoList(req, callback) {
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let limit = req.query.limit;
|
|
let offset = req.query.offset;
|
|
let keyword = req.query.keyword;
|
|
// let nik = req.body.nik;
|
|
|
|
let qry = "select * from vw_po ";
|
|
qry =
|
|
qry +
|
|
"where trim(ponumber) like '%" +
|
|
keyword +
|
|
"%' and status in(2,4) and ponumber<>'000' and ponumber<>'' ";
|
|
// 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_po ";
|
|
qry =
|
|
qry +
|
|
"where trim(ponumber) like '%" +
|
|
keyword +
|
|
"%' and status in(2,4) and ponumber<>'000' and ponumber<>'' ";
|
|
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 queryPoMigoListDetail(req, callback) {
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let _idx = req.query.idxpo;
|
|
|
|
let qry = "select * from vw_poboq where idxpo='" + _idx + "'";
|
|
|
|
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.meta.message = "Record not found";
|
|
callback("", apires);
|
|
} else {
|
|
let resultJson = JSON.stringify(result);
|
|
resultJson = JSON.parse(resultJson);
|
|
apires.success = true;
|
|
apires.data = resultJson;
|
|
callback(null, apires);
|
|
}
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apires.meta.code = 500;
|
|
apires.meta.message = err.toString();
|
|
callback("error", apires);
|
|
}
|
|
}
|
|
|
|
async queryPottdListDetailold(req, callback) {
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let _idx = req.query.idxpo;
|
|
|
|
let qry = "select * from vw_po where _idx='" + _idx + "'";
|
|
|
|
// 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 dataRows = result.length;
|
|
if (result.length <= 0) {
|
|
apires.meta.message = "Record not found";
|
|
callback("", apires);
|
|
} else {
|
|
let dataRows = result.length;
|
|
|
|
Object.keys(result).forEach(function (key) {
|
|
result[key]["ttd"] = [];
|
|
// === Get Ttd
|
|
qry = "select * from vw_pottd where idxpo='" + _idx + "' order by _idx asc";
|
|
// console.log(qry);
|
|
db.query(qry, [], function (err, result3, fields) {
|
|
if (err) {
|
|
apires.meta["message"] = err.toString();
|
|
apires.meta["code"] = 500;
|
|
callback("error", apires);
|
|
} else {
|
|
if (result3.length > 0) {
|
|
var disetujuioleh = [];
|
|
Object.keys(result3).forEach(function (key2) {
|
|
disetujuioleh.push(JSON.parse(JSON.stringify(result3[key2])));
|
|
});
|
|
result[key]["ttd"] = {
|
|
"disetujuioleh": disetujuioleh,
|
|
};
|
|
// result[key]['ttd'] = JSON.parse(JSON.stringify(result3));
|
|
}
|
|
if (0 === --dataRows) {
|
|
let resultJson = JSON.stringify(result);
|
|
resultJson = JSON.parse(resultJson);
|
|
apires.success = true;
|
|
apires.data = resultJson;
|
|
callback(null, apires);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apires.meta.code = 500;
|
|
apires.meta.message = err.toString();
|
|
callback("error", apires);
|
|
}
|
|
}
|
|
|
|
async queryPoManagementListDetail(req, callback) {
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let idxpo = req.query.idxpo || req.body.idxpo;
|
|
|
|
let qry = "select * from vw_po where _idx='" + idxpo + "'";
|
|
|
|
// 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 queryPoInventoryList(req, callback) {
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let limit = req.query.limit;
|
|
let offset = req.query.offset;
|
|
let keyword = req.query.keyword;
|
|
// let nik = req.body.nik;
|
|
|
|
let qry = "select * from vw_poinventoryheader ";
|
|
qry = qry + "where trim(ponumber) 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_poinventoryheader ";
|
|
qry = qry + "where trim(ponumber) 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 queryPoInventoryDetailList(req, callback) {
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let limit = req.query.limit;
|
|
let offset = req.query.offset;
|
|
let keyword = req.query.keyword;
|
|
let idxheader = req.query.idxpo;
|
|
// let nik = req.body.nik;
|
|
|
|
let qry = "select * from vw_poinventorydetail ";
|
|
qry =
|
|
qry + "where trim(ponumber) like '%" + keyword + "%' and idxheader='" + idxheader + "' ";
|
|
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_poinventorydetail ";
|
|
qry =
|
|
qry +
|
|
"where trim(ponumber) like '%" +
|
|
keyword +
|
|
"%' and idxheader='" +
|
|
idxheader +
|
|
"' ";
|
|
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 queryNewPoAdjustment(req, filename, callback) {
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let idxpo = req.body.idxpo;
|
|
let ponumber = req.body.ponumber;
|
|
let dates = req.body.dates;
|
|
let reason = req.body.reason;
|
|
let filedoc = filename;
|
|
let totalpo = req.body.totalpo;
|
|
let adjval = req.body.adjval;
|
|
let grandtotal = req.body.grandtotal;
|
|
let nik = req.body.nik;
|
|
let qry =
|
|
"select _idx from tbl_poadj where idxpo='" +
|
|
idxpo +
|
|
"' and isdeleted=0 order by _idx desc limit 1";
|
|
// console.log(qry);
|
|
db.query(qry, [], function (err2, results2) {
|
|
if (err2) {
|
|
apires.meta["message"] = err2.toString();
|
|
apires.meta["code"] = 500;
|
|
callback("err", apires);
|
|
} else {
|
|
qry = "insert into tbl_poadj ";
|
|
qry =
|
|
qry + "set idxpo='" + idxpo + "',ponumber='" + ponumber + "',dates='" + dates + "',";
|
|
qry =
|
|
qry + "reason='" + reason + "',filedoc='" + filedoc + "',totalpo='" + totalpo + "',";
|
|
qry =
|
|
qry +
|
|
"adjval='" +
|
|
adjval +
|
|
"',grandtotal='" +
|
|
grandtotal +
|
|
"',status=-1,statusdescription='Draft',";
|
|
qry = qry + "laststatusupdated=now(),iby='" + nik + "',idt=now()";
|
|
if (results2.length >= 1) {
|
|
qry = "update tbl_poadj ";
|
|
qry =
|
|
qry + "set idxpo='" + idxpo + "',ponumber='" + ponumber + "',dates='" + dates + "',";
|
|
qry =
|
|
qry + "reason='" + reason + "',filedoc='" + filedoc + "',totalpo='" + totalpo + "',";
|
|
qry =
|
|
qry +
|
|
"adjval='" +
|
|
adjval +
|
|
"',grandtotal='" +
|
|
grandtotal +
|
|
"',uby='" +
|
|
nik +
|
|
"',udt=now() ";
|
|
qry = qry + "where idxpo='" + idxpo + "' and isdeleted=0";
|
|
}
|
|
// console.log(qry);
|
|
db.query(qry, [], function (err3, results3) {
|
|
if (err3) {
|
|
apires.meta["message"] = err3.toString();
|
|
apires.meta["code"] = 500;
|
|
callback("err", apires);
|
|
} else {
|
|
var res = JSON.parse(JSON.stringify(results3));
|
|
apires.success = true;
|
|
apires.meta.message = "Updated Success";
|
|
apires.data = res;
|
|
callback(null, apires);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apires.meta.code = 500;
|
|
apires.meta.message = err.toString();
|
|
callback("error", apires);
|
|
}
|
|
}
|
|
|
|
async queryPoAdjList(req, callback) {
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let limit = req.query.limit;
|
|
let offset = req.query.offset;
|
|
let keyword = req.query.keyword;
|
|
// let nik = req.body.nik;
|
|
|
|
let qry = "select * from vw_poadjlist ";
|
|
qry = qry + "where trim(ponumber) 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_poadjlist ";
|
|
qry = qry + "where trim(ponumber) 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 queryPoAdjListDetail(req, callback) {
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let idx = req.query.idx;
|
|
// let nik = req.body.nik;
|
|
|
|
let qry = "select * from vw_poadjlist where _idx='" + idx + "'";
|
|
// 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) {
|
|
apires.success = true;
|
|
apires.data = 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 queryPoApproveList(req, callback) {
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let keyword = req.query.keyword;
|
|
let nik = req.query.nik;
|
|
|
|
let qry = "select * from vw_po ";
|
|
qry =
|
|
qry +
|
|
"where (trim(ponumber) like '%" +
|
|
keyword +
|
|
"%') and (iby='" +
|
|
nik +
|
|
"' and status in(4,6) and isadjustment=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) {
|
|
apires.success = true;
|
|
apires.data = 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 queryUpdPoAdjustment(req, filename, callback) {
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let idx = req.body.idxadjustment;
|
|
let idxpo = req.body.idxpo;
|
|
let ponumber = req.body.ponumber;
|
|
let dates = req.body.dates;
|
|
let reason = req.body.reason;
|
|
let filedoc = filename;
|
|
let totalpo = req.body.totalpo;
|
|
let adjval = req.body.adjval;
|
|
let grandtotal = req.body.grandtotal;
|
|
let nik = req.body.nik;
|
|
|
|
let qry =
|
|
"select _idx from tbl_poadj where _idx='" +
|
|
idx +
|
|
"' and isdeleted=0 order by _idx desc limit 1";
|
|
// console.log(qry);
|
|
db.query(qry, [], function (err2, results2) {
|
|
if (err2) {
|
|
apires.meta["message"] = err2.toString();
|
|
apires.meta["code"] = 500;
|
|
callback("err", apires);
|
|
} else {
|
|
var fileupd = "filedoc='" + filedoc + "',";
|
|
if (!filedoc) {
|
|
fileupd = "";
|
|
}
|
|
qry = "insert into tbl_poadj ";
|
|
qry =
|
|
qry + "set idxpo='" + idxpo + "',ponumber='" + ponumber + "',dates='" + dates + "',";
|
|
qry = qry + "reason='" + reason + "'," + fileupd + "totalpo='" + totalpo + "',";
|
|
qry =
|
|
qry +
|
|
"adjval='" +
|
|
adjval +
|
|
"',grandtotal='" +
|
|
grandtotal +
|
|
"',iby='" +
|
|
nik +
|
|
"',idt=now()";
|
|
if (results2.length >= 1) {
|
|
qry = "update tbl_poadj ";
|
|
qry =
|
|
qry + "set idxpo='" + idxpo + "',ponumber='" + ponumber + "',dates='" + dates + "',";
|
|
qry = qry + "reason='" + reason + "'," + fileupd + "totalpo='" + totalpo + "',";
|
|
qry =
|
|
qry +
|
|
"adjval='" +
|
|
adjval +
|
|
"',grandtotal='" +
|
|
grandtotal +
|
|
"',uby='" +
|
|
nik +
|
|
"',udt=now() ";
|
|
qry = qry + "where _idx='" + idx + "' and isdeleted=0";
|
|
}
|
|
console.log(qry);
|
|
db.query(qry, [], function (err3, results3) {
|
|
if (err3) {
|
|
apires.meta["message"] = err3.toString();
|
|
apires.meta["code"] = 500;
|
|
callback("err", apires);
|
|
} else {
|
|
var res = JSON.parse(JSON.stringify(results3));
|
|
apires.success = true;
|
|
apires.meta.message = "Updated Success";
|
|
apires.data = res;
|
|
callback(null, apires);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apires.meta.code = 500;
|
|
apires.meta.message = err.toString();
|
|
callback("error", apires);
|
|
}
|
|
}
|
|
|
|
async queryUpdPoBoq(req, filename, callback) {
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
console.log("read files " + filename);
|
|
// apires.success = true;
|
|
// apires.meta.message = "Upload Success";
|
|
// apires.data = [];
|
|
// callback(null, apires);
|
|
const fs = require("fs");
|
|
const {parse} = require("csv-parse");
|
|
// fs.createReadStream(process.env.BASEPATH+'/assets/po/boq/'+filename)
|
|
var totalrows = 0;
|
|
var totalerr = 0;
|
|
var totalsuccess = 0;
|
|
fs.createReadStream("./assets/po/boq/" + filename)
|
|
.pipe(parse({delimiter: ",", from_line: 2}))
|
|
.on("data", function (row) {
|
|
totalrows += 1;
|
|
// console.log(row);
|
|
//idxpo,sp3_number,items,idxpoboq,vendorid_sap,description,po_number,start_date,end_date,curr,unit_price,qty,po_amount,rate_po,po_amount_usd,migo
|
|
var spdata = row[0].split(",");
|
|
// console.log(spdata.length);
|
|
if (spdata.length <= 1) {
|
|
spdata = row[0].split(";");
|
|
}
|
|
var idxpo = spdata[0];
|
|
var identifyprojectnumber = spdata[1];
|
|
var idxpoboq = spdata[3];
|
|
var description = spdata[5];
|
|
var startdate = spdata[7];
|
|
var enddate = spdata[8];
|
|
var curr = spdata[9];
|
|
var hs = spdata[10];
|
|
var qty = spdata[11];
|
|
var poamount = spdata[12];
|
|
var ratepo = spdata[13];
|
|
var migo = spdata[14];
|
|
|
|
var qry =
|
|
"update tbl_poboq set identifyprojectnumber='" +
|
|
identifyprojectnumber +
|
|
"',description='" +
|
|
description +
|
|
"',";
|
|
qry +=
|
|
"startdate='" +
|
|
startdate +
|
|
"',enddate='" +
|
|
enddate +
|
|
"',curr='" +
|
|
curr +
|
|
"',hs='" +
|
|
hs +
|
|
"',qty='" +
|
|
qty +
|
|
"',poamount='" +
|
|
poamount +
|
|
"',";
|
|
qry +=
|
|
"ratepo='" + ratepo + "',migo='" + migo + "',udt=now() where _idx='" + idxpoboq + "'";
|
|
// console.log(qry);
|
|
db.query(qry, [], function (err, result) {
|
|
if (err) {
|
|
totalerr += 1;
|
|
} else {
|
|
totalsuccess += 1;
|
|
}
|
|
});
|
|
// console.log(spdata[0]+' '+spdata[1]);
|
|
})
|
|
.on("end", function () {
|
|
console.log("finished");
|
|
apires.success = true;
|
|
apires.meta.message = "Upload Success";
|
|
apires.data = {
|
|
"totalrows": totalrows,
|
|
"Success": totalsuccess,
|
|
"Error": totalerr,
|
|
};
|
|
callback(null, apires);
|
|
})
|
|
.on("error", function (error) {
|
|
console.log(error.message);
|
|
apires.meta.code = 500;
|
|
apires.meta.message = error.toString();
|
|
callback("error", apires);
|
|
});
|
|
} catch (err) {
|
|
apires.meta.code = 500;
|
|
apires.meta.message = err.toString();
|
|
callback("error", apires);
|
|
}
|
|
}
|
|
|
|
async queryDeleteAdjPO(req, callback) {
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let idxadjustment = req.body.idxadjustment;
|
|
let remarkdeleted = req.body.remarkdeleted;
|
|
let nik = req.body.nik;
|
|
|
|
let qry = "update tbl_poadj ";
|
|
qry =
|
|
qry + "set isdeleted=1,remarkdeleted='" + remarkdeleted + "',dby='" + nik + "',ddt=now() ";
|
|
qry = qry + " where _idx='" + idxadjustment + "'";
|
|
|
|
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.message = "Deleted Success";
|
|
callback(null, apires);
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apires.meta.code = 500;
|
|
apires.meta.message = err.toString();
|
|
callback("error", apires);
|
|
}
|
|
}
|
|
|
|
async querySubmitAdjPO(req, callback) {
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let idxadjustment = req.body.idxadjusment;
|
|
let nik = req.body.nik;
|
|
|
|
let qry = "update tbl_poadj ";
|
|
qry =
|
|
qry +
|
|
"set status=0,statusdescription='Submitted',laststatusupdated=now(),uby='" +
|
|
nik +
|
|
"',udt=now()";
|
|
qry = qry + " where _idx='" + idxadjustment + "'";
|
|
|
|
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.message = "Deleted Success";
|
|
callback(null, apires);
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apires.meta.code = 500;
|
|
apires.meta.message = err.toString();
|
|
callback("error", apires);
|
|
}
|
|
}
|
|
|
|
async queryUpdatePoHeaderWithFile(req, filename, callback) {
|
|
try {
|
|
var apires = this.getApiResultDefined();
|
|
var idxpo = req.body.idxpo;
|
|
var idxpoboq = req.body.idxpoboq;
|
|
var vper_start = req.body.vper_start;
|
|
var podatettd = req.body.vper_start;
|
|
var vper_end = req.body.vper_end;
|
|
var idxvendor = req.body.idxvendor;
|
|
var vendorid = req.body.vendorid;
|
|
var vendorname = req.body.vendorname;
|
|
var totalpo = req.body.totalpo;
|
|
var totalqty = req.body.totalqty;
|
|
var podate = req.body.podate;
|
|
var sp3number = req.body.sp3number;
|
|
var units = "PKT";
|
|
// var podescription = req.body.podescription;
|
|
var idxapproval = req.body.idxapproval;
|
|
var nikapproval = req.body.nikapproval;
|
|
var approvalname = req.body.approvalname;
|
|
var podesc = req.body.podesc;
|
|
var nik = req.body.nik;
|
|
var po_file = filename;
|
|
// var ttd = JSON.parse(req.body.ttd);
|
|
|
|
// console.log(ttd);
|
|
var qry =
|
|
"update tbl_po set idxvendor='" +
|
|
idxvendor +
|
|
"',vendorid='" +
|
|
vendorid +
|
|
"',vendorname='" +
|
|
vendorname +
|
|
"',";
|
|
qry =
|
|
qry +
|
|
"idxpoboq='" +
|
|
idxpoboq +
|
|
"',podescription='" +
|
|
podesc +
|
|
"',units='" +
|
|
units +
|
|
"',totalqty='" +
|
|
totalqty +
|
|
"',totalpo='" +
|
|
totalpo +
|
|
"',identifyprojectnumber='" +
|
|
sp3number +
|
|
"',";
|
|
qry =
|
|
qry +
|
|
"vper_start='" +
|
|
vper_start +
|
|
"',vper_end='" +
|
|
vper_end +
|
|
"',podate='" +
|
|
podate +
|
|
"',podatettd='" +
|
|
podatettd +
|
|
"',idxapproval='" +
|
|
idxapproval +
|
|
"',po_file='" +
|
|
po_file +
|
|
"',";
|
|
qry =
|
|
qry +
|
|
"nikapproval='" +
|
|
nikapproval +
|
|
"',approvalname='" +
|
|
approvalname +
|
|
"',approveddate='" +
|
|
podatettd +
|
|
"',uby='" +
|
|
nik +
|
|
"',udt=now() ";
|
|
qry = qry + "where _idx='" + idxpo + "'";
|
|
|
|
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 {
|
|
qry = "select * from vw_po where _idx='" + idxpo + "'";
|
|
db.query(qry, [], function (err, result1, 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(result1));
|
|
callback(null, apires);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
} catch (err) {
|
|
apires.meta.code = 500;
|
|
apires.meta.message = err.toString();
|
|
callback("error", apires);
|
|
}
|
|
}
|
|
}
|
|
|
|
module.exports = PoAdapter;
|