346 lines
14 KiB
JavaScript
346 lines
14 KiB
JavaScript
const db=require('../config/dbproc.js');
|
|
const Adapter=require('./dbadapter.js');
|
|
|
|
|
|
class CoaAdapter extends Adapter{
|
|
constructor(){
|
|
super();
|
|
}
|
|
|
|
|
|
async queryCoaList(req,callback){
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let limit = req.body.limit;
|
|
let offset = req.body.offset;
|
|
let keyword = req.body.keyword;
|
|
|
|
let qry = "select * from vw_coa ";
|
|
qry = qry +"where (trim(coacode) like '%"+ keyword +"%' or trim(coaname) 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){
|
|
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
|
|
});
|
|
qry = "select * from vw_coa ";
|
|
qry = qry +"where (trim(coacode) like '%"+ keyword +"%' or trim(coaname) like '%"+ keyword +"%') order by id 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 queryGetCostCenter(req,callback){
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let limit = req.query.limit;
|
|
let offset = req.query.offset;
|
|
let keyword = req.query.keyword;
|
|
|
|
let qry = "select * from vw_costcenter ";
|
|
qry = qry +"where (trim(costcentercode) like '%"+ keyword +"%' or trim(costcentername) 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){
|
|
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
|
|
});
|
|
qry = "select * from vw_costcenter ";
|
|
qry = qry +"where (trim(costcentercode) like '%"+ keyword +"%' or trim(costcentername) like '%"+ keyword +"%') order by id 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 queryGetProfitCenter(req,callback){
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let limit = req.query.limit;
|
|
let offset = req.query.offset;
|
|
let keyword = req.query.keyword;
|
|
|
|
let qry = "select * from vw_profitcenter ";
|
|
qry = qry +"where (trim(profitcode) like '%"+ keyword +"%' or trim(profitname) 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){
|
|
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
|
|
});
|
|
qry = "select * from vw_profitcenter ";
|
|
qry = qry +"where (trim(profitcode) like '%"+ keyword +"%' or trim(profitname) like '%"+ keyword +"%') order by id 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 queryCoaDetail(req,callback){
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let id = req.query.id;
|
|
// console.log(req);
|
|
let qry = "select * from vw_coa ";
|
|
qry = qry +"where id='"+id+"' order by id asc 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){
|
|
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 queryDeleteCoa(req, callback){
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let id = req.body.id;
|
|
let remarkdeleted = req.body.remarkdeleted;
|
|
let nik = req.body.nik;
|
|
|
|
let qry = "update tbl_coa ";
|
|
qry = qry +"set isdeleted=1,remarkdeleted='"+remarkdeleted+"',dby='"+nik+"',ddt=now()";
|
|
qry = qry +" where _idx='"+id+"'";
|
|
|
|
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 queryNewCoa(req,callback){
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let glacc = req.body.coacode;
|
|
let glaccname = req.body.coaname;
|
|
let nik = req.body.nik;
|
|
|
|
let qry = "insert into tbl_coa ";
|
|
qry = qry +"set glacc='"+glacc+"',glaccname='"+glaccname+"',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
|
|
{
|
|
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 queryUpdateCoa(req,callback){
|
|
var apires = this.getApiResultDefined();
|
|
try {
|
|
let glacc = req.body.coacode;
|
|
let glaccname = req.body.coaname;
|
|
let nik = req.body.nik;
|
|
let id = req.body.id;
|
|
|
|
let qry = "update tbl_coa ";
|
|
qry = qry +"set glacc='"+glacc+"',glaccname='"+glaccname+"',uby='"+nik+"',udt=now()";
|
|
qry = qry +"where _idx='"+id+"'";
|
|
|
|
// 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.meta.message = "Updated Success";
|
|
callback(null, apires);
|
|
|
|
}
|
|
});
|
|
|
|
} catch (err) {
|
|
apires.meta.code = 500;
|
|
apires.meta.message = err.toString();
|
|
callback('error',apires);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
module.exports = CoaAdapter;
|