Files
backend-Eprocurement/adapter/dbadapter.js
2025-12-05 06:21:42 +07:00

69 lines
2.2 KiB
JavaScript

const e = require('express');
const db=require('../config/dbproc.js');
const Controller = require('../controllers/controller.js');
class DbAdapter extends Controller {
constructor(){
super();
}
async queryDynamictable(columninfo,tablename,callback) {
db.query('SELECT '+columninfo+' from ?? where isdeleted=0 order by id asc', [tablename], function (error, results, fields) {
var apiResult = {};
if (error) {
apiResult.meta = {
table: tablename,
type: "collection",
total: 0
}
apiResult.data = [];
callback(error,apiResult);
}
//make results
var resultJson = JSON.stringify(results);
resultJson = JSON.parse(resultJson);
apiResult.meta = {
table: tablename,
type: "collection",
total: resultJson.length,
total_entries: 0
}
//add our JSON results to the data table
apiResult.data = resultJson;
callback(null, apiResult);
});
}
static async queryExistsTransactionHeader(fakturnumber,callback){
var qry="select h.id idheader,d.id iddetail from tbl_salesheader h inner join tbl_salesdetail d on h.id=d.idheader";
qry= qry +" where h.fakturnumber='"+fakturnumber+"' and h.isdeleted=0 and d.isdeleted=0";
db.query(qry, [], function (error, results) {
var res={"res":false,"id":0};
if(error){throw error;}
if(results.length>0)
{
var iddetail=[];
results.forEach(function(e){
iddetail.push(e.iddetail);
});
res={
"res":true,
"id" :results[0].idheader,
"iddetail" : iddetail
}
}
callback(res);
});
}
}
module.exports = DbAdapter;