This commit is contained in:
Rizki
2026-01-07 14:08:01 +07:00
parent 93ab4646bb
commit 9b1d94348e

View File

@ -1,14 +1,14 @@
const db=require('../config/dbproc.js'); const db = require("../config/dbproc.js");
const Adapter=require('./dbadapter.js'); const Adapter = require("./dbadapter.js");
const fs = require("fs"); const fs = require("fs");
const baseUrl = process.env.URLPDFFILE;
class BastAdapter extends Adapter {
class BastAdapter extends Adapter{ constructor() {
constructor(){
super(); super();
} }
async queryBastActivityList(req,callback){ async queryBastActivityList(req, callback) {
var apires = this.getApiResultDefined(); var apires = this.getApiResultDefined();
try { try {
let limit = req.query.limit; let limit = req.query.limit;
@ -23,24 +23,22 @@ class BastAdapter extends Adapter{
// qry = qry + "order by _idx asc limit " + offset + ", " + limit; // qry = qry + "order by _idx 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_bastactivitylist "; qry = "select * from vw_bastactivitylist ";
qry = qry + "where activityname like '%" + keyword + "%' "; qry = qry + "where activityname like '%" + keyword + "%' ";
@ -48,37 +46,33 @@ class BastAdapter extends Adapter{
// qry = "select * from vw_basthandoverlist "; // qry = "select * from vw_basthandoverlist ";
// qry = qry + "where bastnumber like '%" + keyword + "%' "; // qry = qry + "where bastnumber like '%" + keyword + "%' ";
// qry = qry + "order by _idx asc limit " + offset + ", " + limit; // qry = qry + "order by _idx 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 queryBastHandoverList(req,callback){ async queryBastHandoverList(req, callback) {
var apires = this.getApiResultDefined(); var apires = this.getApiResultDefined();
try { try {
let limit = req.query.limit; let limit = req.query.limit;
@ -93,24 +87,22 @@ class BastAdapter extends Adapter{
qry = qry + "order by _idx asc"; qry = qry + "order by _idx 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){
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_bastactivitylist "; // qry = "select * from vw_bastactivitylist ";
@ -119,73 +111,65 @@ class BastAdapter extends Adapter{
qry = "select * from vw_basthandoverlist "; qry = "select * from vw_basthandoverlist ";
qry = qry + "where bastnumber like '%" + keyword + "%' "; qry = qry + "where bastnumber like '%" + keyword + "%' ";
qry = qry + "order by _idx asc limit " + offset + ", " + limit; qry = qry + "order by _idx 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 queryBastActivityListDetail(req,callback){ async queryBastActivityListDetail(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_bastactivitylistdetail "; let qry = "select * from vw_bastactivitylistdetail ";
qry = qry + "where idxpr='"+idxpr+"'"; qry = qry + "where idxpr='" + 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 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);
} }
} }
async queryCreateBAST(filedoctemplate, req,callback){ async queryCreateBAST(filedoctemplate, req, callback) {
var apires = this.getApiResultDefined(); var apires = this.getApiResultDefined();
try { try {
let idxpoboq = req.body.idxpoboq; let idxpoboq = req.body.idxpoboq;
@ -206,89 +190,152 @@ class BastAdapter extends Adapter{
// qry = qry + "description='"+description+"',idxvendor='"+idxvendor+"',vendorcode='"+vendorcode+"',vendorname='"+vendorname+"',"; // qry = qry + "description='"+description+"',idxvendor='"+idxvendor+"',vendorcode='"+vendorcode+"',vendorname='"+vendorname+"',";
// qry = qry + "totalpo='"+totalpo+"',povendornumber='"+povendornumber+"',filedoctemplate='"+filedoctemplate+"',status='"+status+"',"; // qry = qry + "totalpo='"+totalpo+"',povendornumber='"+povendornumber+"',filedoctemplate='"+filedoctemplate+"',status='"+status+"',";
// qry = qry + "statusdescription='"+statusdescription+"',laststatusupdate=now(),iby='"+nik+"',idt=now()"; // qry = qry + "statusdescription='"+statusdescription+"',laststatusupdate=now(),iby='"+nik+"',idt=now()";
let qry = "insert into tbl_bast set idxpo='"+idxpo+"',bastnumber='"+bastnumber+"',bastdates='"+bastdates+"',"; let qry =
qry = qry + "description='"+description+"',idxvendor='"+idxvendor+"',vendorcode='"+vendorcode+"',vendorname='"+vendorname+"',"; "insert into tbl_bast set idxpo='" +
qry = qry + "totalpo='"+totalpo+"',povendornumber='"+povendornumber+"',filepdf='"+filedoctemplate+"',ismergedoc=1,status='"+status+"',"; idxpo +
qry = qry + "statusdescription='"+statusdescription+"',laststatusupdate=now(),iby='"+nik+"',idt=now()"; "',bastnumber='" +
bastnumber +
"',bastdates='" +
bastdates +
"',";
qry =
qry +
"description='" +
description +
"',idxvendor='" +
idxvendor +
"',vendorcode='" +
vendorcode +
"',vendorname='" +
vendorname +
"',";
qry =
qry +
"totalpo='" +
totalpo +
"',povendornumber='" +
povendornumber +
"',filepdf='" +
filedoctemplate +
"',ismergedoc=1,status='" +
status +
"',";
qry =
qry +
"statusdescription='" +
statusdescription +
"',laststatusupdate=now(),iby='" +
nik +
"',idt=now()";
// console.log(qry); // 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 idxheader = result.insertId; var idxheader = result.insertId;
// qry ="insert into tbl_bastdetail(idxheader,idxpoboq,description,qty,units,poamount,iby,idt) "; // qry ="insert into tbl_bastdetail(idxheader,idxpoboq,description,qty,units,poamount,iby,idt) ";
// qry = qry + "select '"+idxheader+"', _idx , description, qty, units, poamount, '"+nik+"',now() "; // qry = qry + "select '"+idxheader+"', _idx , description, qty, units, poamount, '"+nik+"',now() ";
// qry = qry + "from tbl_poboq where _idx in("+idxpoboq+")"; // qry = qry + "from tbl_poboq where _idx in("+idxpoboq+")";
qry ="insert into tbl_bastdetail(idxheader,idxpoboq,description,qty,units,poamount,iby,idt) "; qry =
qry = qry + "select '"+idxheader+"', _idx , description, qty, units, poamount, '"+nik+"',now() "; "insert into tbl_bastdetail(idxheader,idxpoboq,description,qty,units,poamount,iby,idt) ";
qry = qry + "from tbl_poboq where _idx in("+idxpoboq+")"; qry =
qry +
"select '" +
idxheader +
"', _idx , description, qty, units, poamount, '" +
nik +
"',now() ";
qry = qry + "from tbl_poboq where _idx in(" + idxpoboq + ")";
db.query(qry,[],function(err,result,fields){ 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));
apires.meta.code = 200; apires.meta.code = 200;
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 queryUploadHandoverSign(filehandoversign, req,callback){ async queryUploadHandoverSign(filehandoversign, req, callback) {
var apires = this.getApiResultDefined(); var apires = this.getApiResultDefined();
try { try {
let idxbast = req.body.idxbast; let idxbast = req.body.idxbast;
let nik = req.body.nik; let nik = req.body.nik;
let bastdates=req.body.bastdates; let bastdates = req.body.bastdates;
let description=req.body.description; let description = req.body.description;
let qry =
let qry = "update tbl_bast set status=1,statusdescription='Upload Handover',bastdateshandover='"+bastdates+"',descriptionhandover='"+description+"',"; "update tbl_bast set status=1,statusdescription='Upload Handover',bastdateshandover='" +
qry +="filehandoversign='"+filehandoversign+"',uby='"+nik+"',udt=now() where _idx='"+idxbast+"'"; bastdates +
"',descriptionhandover='" +
description +
"',";
qry +=
"filehandoversign='" +
filehandoversign +
"',uby='" +
nik +
"',udt=now() where _idx='" +
idxbast +
"'";
// let qry = "update tbl_bast set filehandoversign='"+filehandoversign+"',uby='"+nik+"',udt=now() where _idx='"+idxbast+"'"; // let qry = "update tbl_bast set filehandoversign='"+filehandoversign+"',uby='"+nik+"',udt=now() where _idx='"+idxbast+"'";
// 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 qryHistory =
{ "insert into tbl_bastfilehistory set statusdescription='Upload Handover', bastdateshandover='" +
bastdates +
"',descriptionhandover='" +
description +
"', filehandoversign='" +
filehandoversign +
"',iby='" +
nik +
"',idt=now(), idxbast='" +
idxbast +
"'";
db.query(qryHistory, [], function (err, result, fields) {
if (err) {
apires.meta["message"] = err.toString();
apires.meta["code"] = 500;
callback("err", apires);
} else {
apires.success = true; apires.success = true;
apires.meta.code = 200; apires.meta.code = 200;
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 queryBastList(req,callback){ async queryBastList(req, callback) {
var apires = this.getApiResultDefined(); var apires = this.getApiResultDefined();
try { try {
let limit = req.query.limit; let limit = req.query.limit;
@ -300,90 +347,93 @@ class BastAdapter extends Adapter{
qry = qry + "order by _idx asc limit " + offset + ", " + limit; qry = qry + "order by _idx 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_bast "; qry = "select * from vw_bast ";
qry = qry + "where description like '%" + keyword + "%' "; qry = qry + "where description like '%" + keyword + "%' ";
qry = qry + "order by _idx asc limit " + offset + ", " + limit; qry = qry + "order by _idx 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 queryBastDetailList(req,callback){ async queryBastDetailList(req, callback) {
var apires = this.getApiResultDefined(); var apires = this.getApiResultDefined();
try { try {
let idxbast = req.query.idxbast; let idxbast = req.query.idxbast;
let qry = "select * from vw_bast "; let qry = "select * from vw_bast ";
qry = qry + "where _idx='"+idxbast+"'"; qry = qry + "where _idx='" + idxbast + "'";
// 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 qryHistory = `select statusdescription, bastdateshandover, descriptionhandover, CONCAT('${baseUrl}?route=bast&name=', filehandoversign) AS filehandoversign, iby, idt from tbl_bastfilehistory where idxbast = ${result[0]._idx} order by _idx desc`;
{ db.query(qryHistory, [], function (err, resultHistory, fields) {
console.log(err);
console.log(resultHistory);
if (err) {
apires.meta["message"] = err.toString();
apires.meta["code"] = 500;
callback("err", apires);
} else {
result[0].history_handover = resultHistory;
apires.data.push({ apires.data.push({
"results": JSON.parse(JSON.stringify(result)) "results": JSON.parse(JSON.stringify(result)),
}); });
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 queryUpdateHandover(req,filehandover, callback) { async queryUpdateHandover(req, filehandover, callback) {
try { try {
var apires = this.getApiResultDefined(); var apires = this.getApiResultDefined();
var idxbast = req.body.idxbast; var idxbast = req.body.idxbast;
@ -391,16 +441,23 @@ class BastAdapter extends Adapter{
var statusdescription = req.body.statusdescription; var statusdescription = req.body.statusdescription;
var nik = req.body.nik; var nik = req.body.nik;
var qry = "update tbl_bast set filehandover='"+filehandover+"',status='" + status +"',statusdescription='" + statusdescription +"',uby='"+nik+"',udt=now() "; var qry =
qry = qry +"where _idx='" + idxbast +"'"; "update tbl_bast set filehandover='" +
db.query(qry,[],function(err,result,fields){ filehandover +
if(err){ "',status='" +
apires.meta['message'] = err.toString(); status +
apires.meta['code'] = 500; "',statusdescription='" +
callback('err',apires); statusdescription +
} "',uby='" +
else nik +
{ "',udt=now() ";
qry = qry + "where _idx='" + idxbast + "'";
db.query(qry, [], function (err, result, fields) {
if (err) {
apires.meta["message"] = err.toString();
apires.meta["code"] = 500;
callback("err", apires);
} else {
apires.success = true; apires.success = true;
apires.data = JSON.parse(JSON.stringify(result)); apires.data = JSON.parse(JSON.stringify(result));
callback(null, apires); callback(null, apires);
@ -409,11 +466,9 @@ class BastAdapter 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 = BastAdapter; module.exports = BastAdapter;