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