upd
This commit is contained in:
@ -1,9 +1,8 @@
|
|||||||
const db=require('../config/dbproc.js');
|
const db = require("../config/dbproc.js");
|
||||||
const Adapter=require('./dbadapter.js');
|
const Adapter = require("./dbadapter.js");
|
||||||
const QRCode = require('qrcode');
|
const QRCode = require("qrcode");
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
|
|
||||||
|
|
||||||
class PrAdapter extends Adapter {
|
class PrAdapter extends Adapter {
|
||||||
constructor() {
|
constructor() {
|
||||||
super();
|
super();
|
||||||
@ -12,37 +11,34 @@ class PrAdapter extends Adapter{
|
|||||||
async queryPrJustificationList(req, callback) {
|
async queryPrJustificationList(req, callback) {
|
||||||
var apires = this.getApiResultDefined();
|
var apires = this.getApiResultDefined();
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
|
||||||
// console.log(req);
|
// console.log(req);
|
||||||
let nik = req.query.nik;
|
let nik = req.query.nik;
|
||||||
let qry = "select * from vw_justification where iscreatepr=0 and status=2 and iby='"+nik+"' order by id asc";
|
let qry =
|
||||||
|
"select * from vw_justification where iscreatepr=0 and status=2 and iby='" +
|
||||||
|
nik +
|
||||||
|
"' order by id asc";
|
||||||
|
|
||||||
// console.log(qry);
|
// console.log(qry);
|
||||||
db.query(qry, [], function (err, result, fields) {
|
db.query(qry, [], function (err, result, fields) {
|
||||||
if (err) {
|
if (err) {
|
||||||
apires.meta['message'] = err.toString();
|
apires.meta["message"] = err.toString();
|
||||||
apires.meta['code'] = 500;
|
apires.meta["code"] = 500;
|
||||||
callback('err',apires);
|
callback("err", apires);
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
if (result.length > 0) {
|
if (result.length > 0) {
|
||||||
apires.success = true;
|
apires.success = true;
|
||||||
apires.data = JSON.parse(JSON.stringify(result));
|
apires.data = JSON.parse(JSON.stringify(result));
|
||||||
}
|
} else {
|
||||||
else{
|
|
||||||
apires.meta.code = 200;
|
apires.meta.code = 200;
|
||||||
apires.meta.message = "Record Not Found";
|
apires.meta.message = "Record Not Found";
|
||||||
}
|
}
|
||||||
callback(null, apires);
|
callback(null, apires);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
} catch (err) {
|
||||||
catch(err) {
|
|
||||||
apires.meta.code = 500;
|
apires.meta.code = 500;
|
||||||
apires.meta.message = err.toString();
|
apires.meta.message = err.toString();
|
||||||
callback('error',apires);
|
callback("error", apires);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -50,34 +46,34 @@ class PrAdapter extends Adapter{
|
|||||||
var apires = this.getApiResultDefined();
|
var apires = this.getApiResultDefined();
|
||||||
try {
|
try {
|
||||||
let nik = req.query.nik;
|
let nik = req.query.nik;
|
||||||
let qry = "select count(_idx) totalrows,date_format(now(),'%Y%m%d') dates from tbl_pr where iby='"+nik+"' and year(idt)=year(now())";
|
let qry =
|
||||||
|
"select count(_idx) totalrows,date_format(now(),'%Y%m%d') dates from tbl_pr where iby='" +
|
||||||
|
nik +
|
||||||
|
"' and year(idt)=year(now())";
|
||||||
// console.log(qry);
|
// console.log(qry);
|
||||||
db.query(qry, [], function (err, result, fields) {
|
db.query(qry, [], function (err, result, fields) {
|
||||||
if (err) {
|
if (err) {
|
||||||
apires.meta['message'] = err.toString();
|
apires.meta["message"] = err.toString();
|
||||||
apires.meta['code'] = 500;
|
apires.meta["code"] = 500;
|
||||||
callback('err',apires);
|
callback("err", apires);
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
var resp = JSON.parse(JSON.stringify(result));
|
var resp = JSON.parse(JSON.stringify(result));
|
||||||
// console.log(resp[0]['dates']);
|
// console.log(resp[0]['dates']);
|
||||||
var ymd = resp[0]['dates'];
|
var ymd = resp[0]["dates"];
|
||||||
ymd = ymd.toString().trim().replace("-", "");
|
ymd = ymd.toString().trim().replace("-", "");
|
||||||
var counter = resp[0]['totalrows']+1;
|
var counter = resp[0]["totalrows"] + 1;
|
||||||
var counterstr = ("0000000000"+counter);
|
var counterstr = "0000000000" + counter;
|
||||||
counterstr = counterstr.substring(counterstr.length - 4, counterstr.length);
|
counterstr = counterstr.substring(counterstr.length - 4, counterstr.length);
|
||||||
var trxid = "TCEL-PR/" + ymd + "/" + nik + "/" + counterstr;
|
var trxid = "TCEL-PR/" + ymd + "/" + nik + "/" + counterstr;
|
||||||
apires.success = true;
|
apires.success = true;
|
||||||
apires.data = trxid
|
apires.data = trxid;
|
||||||
callback(null, apires);
|
callback(null, apires);
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
apires.meta.code = 500;
|
apires.meta.code = 500;
|
||||||
apires.meta.message = err.toString();
|
apires.meta.message = err.toString();
|
||||||
callback('error',apires);
|
callback("error", apires);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -105,33 +101,72 @@ class PrAdapter extends Adapter{
|
|||||||
let statusdescription = "draft";
|
let statusdescription = "draft";
|
||||||
|
|
||||||
let qry = "insert into tbl_pr ";
|
let qry = "insert into tbl_pr ";
|
||||||
qry = qry +"set trxidpr='"+trxidpr+"',prnumber='"+prnumber+"',idxjustification='"+idxjustification+"',justificationnumber='"+justificationnumber+"',costcenter='"+costcenter+"',";
|
qry =
|
||||||
qry = qry +"profitcenter='"+profitcenter+"',description='"+description+"',qty='"+qty+"',unit='"+unit+"',netprice='"+netprice+"',totalvalue='"+totalvalue+"',";
|
qry +
|
||||||
qry = qry +"curr='"+curr+"',prdate='"+prdate+"',status='"+status+"',statusdescription='"+statusdescription+"',";
|
"set trxidpr='" +
|
||||||
qry = qry +"idxapproval='"+idxapproval+"',nikapproval='"+nikapproval+"',iby='"+nik+"',idt=now()";
|
trxidpr +
|
||||||
|
"',prnumber='" +
|
||||||
|
prnumber +
|
||||||
|
"',idxjustification='" +
|
||||||
|
idxjustification +
|
||||||
|
"',justificationnumber='" +
|
||||||
|
justificationnumber +
|
||||||
|
"',costcenter='" +
|
||||||
|
costcenter +
|
||||||
|
"',";
|
||||||
|
qry =
|
||||||
|
qry +
|
||||||
|
"profitcenter='" +
|
||||||
|
profitcenter +
|
||||||
|
"',description='" +
|
||||||
|
description +
|
||||||
|
"',qty='" +
|
||||||
|
qty +
|
||||||
|
"',unit='" +
|
||||||
|
unit +
|
||||||
|
"',netprice='" +
|
||||||
|
netprice +
|
||||||
|
"',totalvalue='" +
|
||||||
|
totalvalue +
|
||||||
|
"',";
|
||||||
|
qry =
|
||||||
|
qry +
|
||||||
|
"curr='" +
|
||||||
|
curr +
|
||||||
|
"',prdate='" +
|
||||||
|
prdate +
|
||||||
|
"',status='" +
|
||||||
|
status +
|
||||||
|
"',statusdescription='" +
|
||||||
|
statusdescription +
|
||||||
|
"',";
|
||||||
|
qry =
|
||||||
|
qry +
|
||||||
|
"idxapproval='" +
|
||||||
|
idxapproval +
|
||||||
|
"',nikapproval='" +
|
||||||
|
nikapproval +
|
||||||
|
"',iby='" +
|
||||||
|
nik +
|
||||||
|
"',idt=now()";
|
||||||
console.log(qry);
|
console.log(qry);
|
||||||
db.query(qry, [], function (err, result, fields) {
|
db.query(qry, [], function (err, result, fields) {
|
||||||
if (err) {
|
if (err) {
|
||||||
apires.meta['message'] = err.toString();
|
apires.meta["message"] = err.toString();
|
||||||
apires.meta['code'] = 500;
|
apires.meta["code"] = 500;
|
||||||
callback('err',apires);
|
callback("err", apires);
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
var res = JSON.parse(JSON.stringify(result));
|
var res = JSON.parse(JSON.stringify(result));
|
||||||
apires.success = true;
|
apires.success = true;
|
||||||
apires.meta.message = "Saved Success";
|
apires.meta.message = "Saved Success";
|
||||||
apires.data = res;
|
apires.data = res;
|
||||||
callback(null, apires);
|
callback(null, apires);
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
apires.meta.code = 500;
|
apires.meta.code = 500;
|
||||||
apires.meta.message = err.toString();
|
apires.meta.message = err.toString();
|
||||||
callback('error',apires);
|
callback("error", apires);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -160,33 +195,70 @@ class PrAdapter extends Adapter{
|
|||||||
let statusdescription = "draft";
|
let statusdescription = "draft";
|
||||||
|
|
||||||
let qry = "update tbl_pr ";
|
let qry = "update tbl_pr ";
|
||||||
qry = qry +"set trxidpr='"+trxidpr+"',prnumber='"+prnumber+"',idxjustification='"+idxjustification+"',justificationnumber='"+justificationnumber+"',costcenter='"+costcenter+"',";
|
qry =
|
||||||
qry = qry +"profitcenter='"+profitcenter+"',description='"+description+"',qty='"+qty+"',unit='"+unit+"',netprice='"+netprice+"',totalvalue='"+totalvalue+"',";
|
qry +
|
||||||
qry = qry +"idxapproval='"+idxapproval+"',nikapproval='"+nikapproval+"',curr='"+curr+"',prdate='"+prdate+"',status='"+status+"',statusdescription='"+statusdescription+"',uby='"+nik+"',udt=now() ";
|
"set trxidpr='" +
|
||||||
|
trxidpr +
|
||||||
|
"',prnumber='" +
|
||||||
|
prnumber +
|
||||||
|
"',idxjustification='" +
|
||||||
|
idxjustification +
|
||||||
|
"',justificationnumber='" +
|
||||||
|
justificationnumber +
|
||||||
|
"',costcenter='" +
|
||||||
|
costcenter +
|
||||||
|
"',";
|
||||||
|
qry =
|
||||||
|
qry +
|
||||||
|
"profitcenter='" +
|
||||||
|
profitcenter +
|
||||||
|
"',description='" +
|
||||||
|
description +
|
||||||
|
"',qty='" +
|
||||||
|
qty +
|
||||||
|
"',unit='" +
|
||||||
|
unit +
|
||||||
|
"',netprice='" +
|
||||||
|
netprice +
|
||||||
|
"',totalvalue='" +
|
||||||
|
totalvalue +
|
||||||
|
"',";
|
||||||
|
qry =
|
||||||
|
qry +
|
||||||
|
"idxapproval='" +
|
||||||
|
idxapproval +
|
||||||
|
"',nikapproval='" +
|
||||||
|
nikapproval +
|
||||||
|
"',curr='" +
|
||||||
|
curr +
|
||||||
|
"',prdate='" +
|
||||||
|
prdate +
|
||||||
|
"',status='" +
|
||||||
|
status +
|
||||||
|
"',statusdescription='" +
|
||||||
|
statusdescription +
|
||||||
|
"',uby='" +
|
||||||
|
nik +
|
||||||
|
"',udt=now() ";
|
||||||
qry = qry + "where _idx='" + idxpr + "'";
|
qry = qry + "where _idx='" + idxpr + "'";
|
||||||
// console.log(qry);
|
// console.log(qry);
|
||||||
db.query(qry, [], function (err, result, fields) {
|
db.query(qry, [], function (err, result, fields) {
|
||||||
if (err) {
|
if (err) {
|
||||||
apires.meta['message'] = err.toString();
|
apires.meta["message"] = err.toString();
|
||||||
apires.meta['code'] = 500;
|
apires.meta["code"] = 500;
|
||||||
callback('err',apires);
|
callback("err", apires);
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
var res = JSON.parse(JSON.stringify(result));
|
var res = JSON.parse(JSON.stringify(result));
|
||||||
apires.success = true;
|
apires.success = true;
|
||||||
apires.meta.message = "Updated Success";
|
apires.meta.message = "Updated Success";
|
||||||
apires.data = res;
|
apires.data = res;
|
||||||
callback(null, apires);
|
callback(null, apires);
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
apires.meta.code = 500;
|
apires.meta.code = 500;
|
||||||
apires.meta.message = err.toString();
|
apires.meta.message = err.toString();
|
||||||
callback('error',apires);
|
callback("error", apires);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -206,7 +278,9 @@ class PrAdapter extends Adapter{
|
|||||||
}
|
}
|
||||||
|
|
||||||
var setprnumber = "prnumber='" + prsapnumber + "',";
|
var setprnumber = "prnumber='" + prsapnumber + "',";
|
||||||
if(!prsapnumber){setprnumber="";}
|
if (!prsapnumber) {
|
||||||
|
setprnumber = "";
|
||||||
|
}
|
||||||
|
|
||||||
var setdescription = "";
|
var setdescription = "";
|
||||||
if (description) {
|
if (description) {
|
||||||
@ -217,17 +291,25 @@ class PrAdapter extends Adapter{
|
|||||||
}
|
}
|
||||||
|
|
||||||
// console.log(setdescription);
|
// console.log(setdescription);
|
||||||
var qry = "update tbl_pr set "+setprnumber+setdescription+"sapmessage='"+sapmessage+"',"+swherestatus+"uby='"+nik+"',udt=now() ";
|
var qry =
|
||||||
|
"update tbl_pr set " +
|
||||||
|
setprnumber +
|
||||||
|
setdescription +
|
||||||
|
"sapmessage='" +
|
||||||
|
sapmessage +
|
||||||
|
"'," +
|
||||||
|
swherestatus +
|
||||||
|
"uby='" +
|
||||||
|
nik +
|
||||||
|
"',udt=now() ";
|
||||||
qry = qry + "where _idx='" + idxpr + "'";
|
qry = qry + "where _idx='" + idxpr + "'";
|
||||||
console.log(qry);
|
console.log(qry);
|
||||||
db.query(qry, [], function (err, result, fields) {
|
db.query(qry, [], function (err, result, fields) {
|
||||||
if (err) {
|
if (err) {
|
||||||
apires.meta['message'] = err.toString();
|
apires.meta["message"] = err.toString();
|
||||||
apires.meta['code'] = 500;
|
apires.meta["code"] = 500;
|
||||||
callback('err',apires);
|
callback("err", apires);
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
apires.success = true;
|
apires.success = true;
|
||||||
apires.data = JSON.parse(JSON.stringify(result));
|
apires.data = JSON.parse(JSON.stringify(result));
|
||||||
callback(null, apires);
|
callback(null, apires);
|
||||||
@ -236,7 +318,7 @@ class PrAdapter extends Adapter{
|
|||||||
} catch (err) {
|
} catch (err) {
|
||||||
apires.meta.code = 500;
|
apires.meta.code = 500;
|
||||||
apires.meta.message = err.toString();
|
apires.meta.message = err.toString();
|
||||||
callback('error',apires);
|
callback("error", apires);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -248,17 +330,16 @@ class PrAdapter extends Adapter{
|
|||||||
let nik = req.body.nik;
|
let nik = req.body.nik;
|
||||||
|
|
||||||
let qry = "update tbl_pr ";
|
let qry = "update tbl_pr ";
|
||||||
qry = qry +"set isdeleted=1,remarkdeleted='"+remarkdeleted+"',dby='"+nik+"',ddt=now()";
|
qry =
|
||||||
|
qry + "set isdeleted=1,remarkdeleted='" + remarkdeleted + "',dby='" + nik + "',ddt=now()";
|
||||||
qry = qry + " where _idx='" + id + "'";
|
qry = qry + " where _idx='" + id + "'";
|
||||||
|
|
||||||
db.query(qry, [], function (err, result, fields) {
|
db.query(qry, [], function (err, result, fields) {
|
||||||
if (err) {
|
if (err) {
|
||||||
apires.meta['message'] = err.toString();
|
apires.meta["message"] = err.toString();
|
||||||
apires.meta['code'] = 500;
|
apires.meta["code"] = 500;
|
||||||
callback('err',apires);
|
callback("err", apires);
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
apires.success = true;
|
apires.success = true;
|
||||||
apires.meta.message = "Deleted Success";
|
apires.meta.message = "Deleted Success";
|
||||||
callback(null, apires);
|
callback(null, apires);
|
||||||
@ -267,14 +348,13 @@ class PrAdapter extends Adapter{
|
|||||||
} catch (err) {
|
} catch (err) {
|
||||||
apires.meta.code = 500;
|
apires.meta.code = 500;
|
||||||
apires.meta.message = err.toString();
|
apires.meta.message = err.toString();
|
||||||
callback('error',apires);
|
callback("error", apires);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async queryPrDetail(req, callback) {
|
async queryPrDetail(req, callback) {
|
||||||
var apires = this.getApiResultDefined();
|
var apires = this.getApiResultDefined();
|
||||||
try {
|
try {
|
||||||
|
|
||||||
let _idx = req.query.id;
|
let _idx = req.query.id;
|
||||||
|
|
||||||
let qry = "select * from vw_pr where id='" + _idx + "'";
|
let qry = "select * from vw_pr where id='" + _idx + "'";
|
||||||
@ -282,18 +362,15 @@ class PrAdapter extends Adapter{
|
|||||||
// console.log(qry);
|
// console.log(qry);
|
||||||
db.query(qry, [], function (err, result, fields) {
|
db.query(qry, [], function (err, result, fields) {
|
||||||
if (err) {
|
if (err) {
|
||||||
apires.meta['message'] = err.toString();
|
apires.meta["message"] = err.toString();
|
||||||
apires.meta['code'] = 500;
|
apires.meta["code"] = 500;
|
||||||
callback('err',apires);
|
callback("err", apires);
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
let dataRows = result.length;
|
let dataRows = result.length;
|
||||||
if (dataRows <= 0) {
|
if (dataRows <= 0) {
|
||||||
apires.meta.message = "Record not found";
|
apires.meta.message = "Record not found";
|
||||||
callback('',apires);
|
callback("", apires);
|
||||||
}
|
} else {
|
||||||
else{
|
|
||||||
let resultJson = JSON.stringify(result);
|
let resultJson = JSON.stringify(result);
|
||||||
resultJson = JSON.parse(resultJson);
|
resultJson = JSON.parse(resultJson);
|
||||||
apires.success = true;
|
apires.success = true;
|
||||||
@ -302,19 +379,18 @@ class PrAdapter extends Adapter{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
apires.meta.code = 500;
|
apires.meta.code = 500;
|
||||||
apires.meta.message = err.toString();
|
apires.meta.message = err.toString();
|
||||||
callback('error',apires);
|
callback("error", apires);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async queryPrList(req, callback) {
|
async queryPrList(req, callback) {
|
||||||
var apires = this.getApiResultDefined();
|
var apires = this.getApiResultDefined();
|
||||||
try {
|
try {
|
||||||
const proc_nik = process.env.PROC_USER_NIK ?? ""
|
const proc_nik = process.env.PROC_USER_NIK ?? "";
|
||||||
const proc_users = proc_nik.split(",")
|
const proc_users = proc_nik.split(",");
|
||||||
|
|
||||||
let limit = req.body.limit;
|
let limit = req.body.limit;
|
||||||
let offset = req.body.offset;
|
let offset = req.body.offset;
|
||||||
@ -322,75 +398,84 @@ class PrAdapter extends Adapter{
|
|||||||
let nik = req.body.nik;
|
let nik = req.body.nik;
|
||||||
let status = req.body.status;
|
let status = req.body.status;
|
||||||
|
|
||||||
// let qry = "select * from vw_pr ";
|
|
||||||
// qry = qry +"where (trim(trxidpr) like '%"+ keyword +"%' or trim(prnumber) like '%"+ keyword +"%') ";
|
|
||||||
// qry = qry +"and iby='"+nik+"' and status in("+status+") order by id asc limit " + offset + ", " + limit;
|
|
||||||
|
|
||||||
let swherenik = "";
|
let swherenik = "";
|
||||||
|
|
||||||
if (nik) {
|
if (nik) {
|
||||||
if (!proc_users.includes(nik)) {
|
if (!proc_users.includes(nik)) {
|
||||||
swherenik = '(iby="'+nik+' or nikapproval="'+nik+'") and ';
|
swherenik = '(iby="' + nik + '" or nikapproval="' + nik + '") and ';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
let qry = "select * from vw_pr ";
|
let qry = "select * from vw_pr ";
|
||||||
qry = qry +"where (trim(trxidpr) like '%"+ keyword +"%' or trim(prnumber) like '%"+ keyword +"%') ";
|
qry +=
|
||||||
qry = qry +"and "+swherenik+" status in("+status+") order by id asc limit " + offset + ", " + limit;
|
"where (trim(trxidpr) like '%" +
|
||||||
|
keyword +
|
||||||
|
"%' or trim(prnumber) like '%" +
|
||||||
|
keyword +
|
||||||
|
"%') ";
|
||||||
|
qry += "and " + swherenik + "status in(" + status + ") ";
|
||||||
|
qry += "order by id asc limit " + offset + ", " + limit;
|
||||||
|
|
||||||
// console.log(qry);
|
// console.log(qry);
|
||||||
db.query(qry, [], function (err, result, fields) {
|
db.query(qry, [], function (err, result, fields) {
|
||||||
if (err) {
|
if (err) {
|
||||||
apires.meta['message'] = err.toString();
|
apires.meta["message"] = err.toString();
|
||||||
apires.meta['code'] = 500;
|
apires.meta["code"] = 500;
|
||||||
callback('err',apires);
|
callback("err", apires);
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
if (result.length > 0) {
|
if (result.length > 0) {
|
||||||
let pagination = result.length / limit;
|
let pagination = result.length / limit;
|
||||||
if (!Number.isInteger(pagination)) {
|
if (!Number.isInteger(pagination)) {
|
||||||
pagination=(Math.floor(result.length / limit))+1;
|
pagination = Math.floor(result.length / limit) + 1;
|
||||||
}
|
}
|
||||||
// let pagination = Adapter.getPagination(result.length, limit);
|
// let pagination = Adapter.getPagination(result.length, limit);
|
||||||
apires.success = true;
|
apires.success = true;
|
||||||
apires.data.push({
|
apires.data.push({
|
||||||
"totalpage": pagination,
|
"totalpage": pagination,
|
||||||
"totalrows": result.length
|
"totalrows": result.length,
|
||||||
});
|
});
|
||||||
qry = "select * from vw_pr ";
|
qry = "select * from vw_pr ";
|
||||||
qry = qry +"where (trim(trxidpr) like '%"+ keyword +"%' or trim(prnumber) like '%"+ keyword +"%') ";
|
qry =
|
||||||
qry = qry +"and "+swherenik+" status in("+status+") order by id asc limit " + offset + ", " + limit;
|
qry +
|
||||||
|
"where (trim(trxidpr) like '%" +
|
||||||
|
keyword +
|
||||||
|
"%' or trim(prnumber) like '%" +
|
||||||
|
keyword +
|
||||||
|
"%') ";
|
||||||
|
qry =
|
||||||
|
qry +
|
||||||
|
"and " +
|
||||||
|
swherenik +
|
||||||
|
" status in(" +
|
||||||
|
status +
|
||||||
|
") order by id asc limit " +
|
||||||
|
offset +
|
||||||
|
", " +
|
||||||
|
limit;
|
||||||
// console.log(qry);
|
// console.log(qry);
|
||||||
db.query(qry, [], function (err, result, fields) {
|
db.query(qry, [], function (err, result, fields) {
|
||||||
if (err) {
|
if (err) {
|
||||||
apires.meta['message'] = err.toString();
|
apires.meta["message"] = err.toString();
|
||||||
apires.meta['code'] = 500;
|
apires.meta["code"] = 500;
|
||||||
callback('err',apires);
|
callback("err", apires);
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
apires.data.push({
|
apires.data.push({
|
||||||
"results": JSON.parse(JSON.stringify(result))
|
"results": JSON.parse(JSON.stringify(result)),
|
||||||
});
|
});
|
||||||
callback(null, apires);
|
callback(null, apires);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
} else {
|
||||||
else{
|
|
||||||
apires.meta.code = 200;
|
apires.meta.code = 200;
|
||||||
apires.meta.message = "Record Not Found";
|
apires.meta.message = "Record Not Found";
|
||||||
callback(null, apires);
|
callback(null, apires);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
apires.meta.code = 500;
|
apires.meta.code = 500;
|
||||||
apires.meta.message = err.toString();
|
apires.meta.message = err.toString();
|
||||||
callback('error',apires);
|
callback("error", apires);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -423,67 +508,103 @@ class PrAdapter extends Adapter{
|
|||||||
token = token + "," + nikapproval;
|
token = token + "," + nikapproval;
|
||||||
|
|
||||||
let qry = "update tbl_pr ";
|
let qry = "update tbl_pr ";
|
||||||
qry = qry +"set trxidpr='"+trxidpr+"',prnumber='"+prnumber+"',idxjustification='"+idxjustification+"',justificationnumber='"+justificationnumber+"',costcenter='"+costcenter+"',";
|
qry =
|
||||||
qry = qry +"profitcenter='"+profitcenter+"',description='"+description+"',qty='"+qty+"',unit='"+unit+"',netprice='"+netprice+"',totalvalue='"+totalvalue+"',";
|
qry +
|
||||||
qry = qry +"idxapproval='"+idxapproval+"',nikapproval='"+nikapproval+"',approveddate='"+approveddate+"',curr='"+curr+"',prdate='"+prdate+"',status='"+status+"',statusdescription='"+statusdescription+"',";
|
"set trxidpr='" +
|
||||||
qry = qry +"token=md5('"+token+"'),filepng='"+filepng+"',uby='"+nik+"',udt=now() ";
|
trxidpr +
|
||||||
|
"',prnumber='" +
|
||||||
|
prnumber +
|
||||||
|
"',idxjustification='" +
|
||||||
|
idxjustification +
|
||||||
|
"',justificationnumber='" +
|
||||||
|
justificationnumber +
|
||||||
|
"',costcenter='" +
|
||||||
|
costcenter +
|
||||||
|
"',";
|
||||||
|
qry =
|
||||||
|
qry +
|
||||||
|
"profitcenter='" +
|
||||||
|
profitcenter +
|
||||||
|
"',description='" +
|
||||||
|
description +
|
||||||
|
"',qty='" +
|
||||||
|
qty +
|
||||||
|
"',unit='" +
|
||||||
|
unit +
|
||||||
|
"',netprice='" +
|
||||||
|
netprice +
|
||||||
|
"',totalvalue='" +
|
||||||
|
totalvalue +
|
||||||
|
"',";
|
||||||
|
qry =
|
||||||
|
qry +
|
||||||
|
"idxapproval='" +
|
||||||
|
idxapproval +
|
||||||
|
"',nikapproval='" +
|
||||||
|
nikapproval +
|
||||||
|
"',approveddate='" +
|
||||||
|
approveddate +
|
||||||
|
"',curr='" +
|
||||||
|
curr +
|
||||||
|
"',prdate='" +
|
||||||
|
prdate +
|
||||||
|
"',status='" +
|
||||||
|
status +
|
||||||
|
"',statusdescription='" +
|
||||||
|
statusdescription +
|
||||||
|
"',";
|
||||||
|
qry =
|
||||||
|
qry + "token=md5('" + token + "'),filepng='" + filepng + "',uby='" + nik + "',udt=now() ";
|
||||||
qry = qry + "where _idx='" + idxpr + "'";
|
qry = qry + "where _idx='" + idxpr + "'";
|
||||||
|
|
||||||
// console.log(qry);
|
// console.log(qry);
|
||||||
db.query(qry, [], function (err, result, fields) {
|
db.query(qry, [], function (err, result, fields) {
|
||||||
if (err) {
|
if (err) {
|
||||||
apires.meta['message'] = err.toString();
|
apires.meta["message"] = err.toString();
|
||||||
apires.meta['code'] = 500;
|
apires.meta["code"] = 500;
|
||||||
callback('err',apires);
|
callback("err", apires);
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
QRCode.toDataURL(token, function (err, code) {
|
QRCode.toDataURL(token, function (err, code) {
|
||||||
// console.log(code);
|
// console.log(code);
|
||||||
if (err) {
|
if (err) {
|
||||||
apires.meta['message'] = err.toString();
|
apires.meta["message"] = err.toString();
|
||||||
apires.meta['code'] = 500;
|
apires.meta["code"] = 500;
|
||||||
callback('err',apires);
|
callback("err", apires);
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
var imageBuffer = Adapter.decodeBase64Image(code);
|
var imageBuffer = Adapter.decodeBase64Image(code);
|
||||||
fs.writeFile('./assets/png/'+filepng, imageBuffer.data, function(err) {
|
fs.writeFile("./assets/png/" + filepng, imageBuffer.data, function (err) {
|
||||||
// console.log(err);
|
// console.log(err);
|
||||||
if (err) {
|
if (err) {
|
||||||
apires.meta['message'] = err.toString();
|
apires.meta["message"] = err.toString();
|
||||||
apires.meta['code'] = 500;
|
apires.meta["code"] = 500;
|
||||||
callback(err.toString(), apires);
|
callback(err.toString(), apires);
|
||||||
}
|
} else {
|
||||||
else{
|
|
||||||
apires.success = true;
|
apires.success = true;
|
||||||
apires.data = {
|
apires.data = {
|
||||||
"isapproved": 1,
|
"isapproved": 1,
|
||||||
"token": token,
|
"token": token,
|
||||||
"urltoken": process.env.BASEURL+"/main/getimageinfo?route=png&name="+filepng
|
"urltoken":
|
||||||
|
process.env.BASEURL + "/main/getimageinfo?route=png&name=" + filepng,
|
||||||
};
|
};
|
||||||
callback(null, apires);
|
callback(null, apires);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
apires.meta.code = 500;
|
apires.meta.code = 500;
|
||||||
apires.meta.message = err.toString();
|
apires.meta.message = err.toString();
|
||||||
callback('error',apires);
|
callback("error", apires);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async queryPrManagementList(req, callback) {
|
async queryPrManagementList(req, callback) {
|
||||||
var apires = this.getApiResultDefined();
|
var apires = this.getApiResultDefined();
|
||||||
try {
|
try {
|
||||||
const proc_nik = process.env.PROC_USER_NIK ?? ""
|
const proc_nik = process.env.PROC_USER_NIK ?? "";
|
||||||
const proc_users = proc_nik.split(",")
|
const proc_users = proc_nik.split(",");
|
||||||
|
|
||||||
let limit = req.query.limit;
|
let limit = req.query.limit;
|
||||||
let offset = req.query.offset;
|
let offset = req.query.offset;
|
||||||
@ -499,66 +620,71 @@ class PrAdapter extends Adapter{
|
|||||||
// qry = qry +"where (trim(trxidpr) like '%"+ keyword +"%' or trim(prnumber) like '%"+ keyword +"%') ";
|
// qry = qry +"where (trim(trxidpr) like '%"+ keyword +"%' or trim(prnumber) like '%"+ keyword +"%') ";
|
||||||
// qry = qry +swherenik+" order by id asc limit " + offset + ", " + limit;
|
// qry = qry +swherenik+" order by id asc limit " + offset + ", " + limit;
|
||||||
let qry = "select * from vw_prmanagement ";
|
let qry = "select * from vw_prmanagement ";
|
||||||
qry = qry +"where (trim(trxidpr) like '%"+ keyword +"%' or trim(prnumber) like '%"+ keyword +"%') ";
|
qry =
|
||||||
|
qry +
|
||||||
|
"where (trim(trxidpr) like '%" +
|
||||||
|
keyword +
|
||||||
|
"%' or trim(prnumber) like '%" +
|
||||||
|
keyword +
|
||||||
|
"%') ";
|
||||||
// qry = qry +swherenik+" order by id asc limit " + offset + ", " + limit;
|
// qry = qry +swherenik+" order by id asc limit " + offset + ", " + limit;
|
||||||
|
|
||||||
// console.log(qry);
|
// console.log(qry);
|
||||||
db.query(qry, [], function (err, result, fields) {
|
db.query(qry, [], function (err, result, fields) {
|
||||||
if (err) {
|
if (err) {
|
||||||
apires.meta['message'] = err.toString();
|
apires.meta["message"] = err.toString();
|
||||||
apires.meta['code'] = 500;
|
apires.meta["code"] = 500;
|
||||||
callback('err',apires);
|
callback("err", apires);
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
if (result.length > 0) {
|
if (result.length > 0) {
|
||||||
let pagination = result.length / limit;
|
let pagination = result.length / limit;
|
||||||
if (!Number.isInteger(pagination)) {
|
if (!Number.isInteger(pagination)) {
|
||||||
pagination=(Math.floor(result.length / limit))+1;
|
pagination = Math.floor(result.length / limit) + 1;
|
||||||
}
|
}
|
||||||
// let pagination = Adapter.getPagination(result.length, limit);
|
// let pagination = Adapter.getPagination(result.length, limit);
|
||||||
apires.success = true;
|
apires.success = true;
|
||||||
apires.data.push({
|
apires.data.push({
|
||||||
"totalpage": pagination,
|
"totalpage": pagination,
|
||||||
"totalrows": result.length
|
"totalrows": result.length,
|
||||||
});
|
});
|
||||||
qry = "select * from vw_prmanagement ";
|
qry = "select * from vw_prmanagement ";
|
||||||
qry = qry +"where status >= 2 and (trim(trxidpr) like '%"+ keyword +"%' or trim(prnumber) like '%"+ keyword +"%') ";
|
qry =
|
||||||
|
qry +
|
||||||
|
"where status >= 2 and (trim(trxidpr) like '%" +
|
||||||
|
keyword +
|
||||||
|
"%' or trim(prnumber) like '%" +
|
||||||
|
keyword +
|
||||||
|
"%') ";
|
||||||
qry = qry + swherenik + " order by id asc limit " + offset + ", " + limit;
|
qry = qry + swherenik + " order by id asc limit " + offset + ", " + limit;
|
||||||
db.query(qry, [], function (err, result, fields) {
|
db.query(qry, [], function (err, result, fields) {
|
||||||
if (err) {
|
if (err) {
|
||||||
apires.meta['message'] = err.toString();
|
apires.meta["message"] = err.toString();
|
||||||
apires.meta['code'] = 500;
|
apires.meta["code"] = 500;
|
||||||
callback('err',apires);
|
callback("err", apires);
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
apires.data.push({
|
apires.data.push({
|
||||||
"results": JSON.parse(JSON.stringify(result))
|
"results": JSON.parse(JSON.stringify(result)),
|
||||||
});
|
});
|
||||||
callback(null, apires);
|
callback(null, apires);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
} else {
|
||||||
else{
|
|
||||||
apires.meta.code = 200;
|
apires.meta.code = 200;
|
||||||
apires.meta.message = "Record Not Found";
|
apires.meta.message = "Record Not Found";
|
||||||
callback(null, apires);
|
callback(null, apires);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
apires.meta.code = 500;
|
apires.meta.code = 500;
|
||||||
apires.meta.message = err.toString();
|
apires.meta.message = err.toString();
|
||||||
callback('error',apires);
|
callback("error", apires);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async queryPrManagementListDetail(req, callback) {
|
async queryPrManagementListDetail(req, callback) {
|
||||||
var apires = this.getApiResultDefined();
|
var apires = this.getApiResultDefined();
|
||||||
try {
|
try {
|
||||||
|
|
||||||
let idxpr = req.query.idxpr;
|
let idxpr = req.query.idxpr;
|
||||||
let qry = "select * from vw_prmanagement ";
|
let qry = "select * from vw_prmanagement ";
|
||||||
qry = qry + "where id='" + idxpr + "'";
|
qry = qry + "where id='" + idxpr + "'";
|
||||||
@ -566,29 +692,24 @@ class PrAdapter extends Adapter{
|
|||||||
// console.log(qry);
|
// console.log(qry);
|
||||||
db.query(qry, [], function (err, result, fields) {
|
db.query(qry, [], function (err, result, fields) {
|
||||||
if (err) {
|
if (err) {
|
||||||
apires.meta['message'] = err.toString();
|
apires.meta["message"] = err.toString();
|
||||||
apires.meta['code'] = 500;
|
apires.meta["code"] = 500;
|
||||||
callback('err',apires);
|
callback("err", apires);
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
apires.meta.code = 200;
|
apires.meta.code = 200;
|
||||||
if (result.length > 0) {
|
if (result.length > 0) {
|
||||||
apires.success = true;
|
apires.success = true;
|
||||||
apires.data = JSON.parse(JSON.stringify(result));
|
apires.data = JSON.parse(JSON.stringify(result));
|
||||||
}
|
} else {
|
||||||
else{
|
|
||||||
apires.meta.message = "Record Not Found";
|
apires.meta.message = "Record Not Found";
|
||||||
}
|
}
|
||||||
callback(null, apires);
|
callback(null, apires);
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
apires.meta.code = 500;
|
apires.meta.code = 500;
|
||||||
apires.meta.message = err.toString();
|
apires.meta.message = err.toString();
|
||||||
callback('error',apires);
|
callback("error", apires);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -602,16 +723,14 @@ class PrAdapter extends Adapter{
|
|||||||
var qry = "update tbl_pr set sapmessage='" + sapmessage + "', uby='" + nik + "',udt=now() ";
|
var qry = "update tbl_pr set sapmessage='" + sapmessage + "', uby='" + nik + "',udt=now() ";
|
||||||
qry = qry + "where _idx='" + idxpr + "'";
|
qry = qry + "where _idx='" + idxpr + "'";
|
||||||
|
|
||||||
console.log('qry', qry)
|
console.log("qry", qry);
|
||||||
|
|
||||||
db.query(qry, [], function (err, result, fields) {
|
db.query(qry, [], function (err, result, fields) {
|
||||||
if (err) {
|
if (err) {
|
||||||
apires.meta['message'] = err.toString();
|
apires.meta["message"] = err.toString();
|
||||||
apires.meta['code'] = 500;
|
apires.meta["code"] = 500;
|
||||||
callback('err',apires);
|
callback("err", apires);
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
apires.success = true;
|
apires.success = true;
|
||||||
apires.data = JSON.parse(JSON.stringify(result));
|
apires.data = JSON.parse(JSON.stringify(result));
|
||||||
callback(null, apires);
|
callback(null, apires);
|
||||||
@ -620,11 +739,9 @@ class PrAdapter extends Adapter{
|
|||||||
} catch (err) {
|
} catch (err) {
|
||||||
apires.meta.code = 500;
|
apires.meta.code = 500;
|
||||||
apires.meta.message = err.toString();
|
apires.meta.message = err.toString();
|
||||||
callback('error',apires);
|
callback("error", apires);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = PrAdapter;
|
module.exports = PrAdapter;
|
||||||
Reference in New Issue
Block a user