first commit
This commit is contained in:
533
adapter/financeadapter.js
Normal file
533
adapter/financeadapter.js
Normal file
@ -0,0 +1,533 @@
|
||||
const db=require('../config/dbproc.js');
|
||||
const Adapter=require('./dbadapter.js');
|
||||
const fs = require("fs");
|
||||
|
||||
|
||||
class FinanceAdapter extends Adapter{
|
||||
constructor(){
|
||||
super();
|
||||
}
|
||||
|
||||
async queryPoPayList(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_popaylist ";
|
||||
qry = qry + "where podescription like '%" + keyword + "%' ";
|
||||
// qry = qry + "order by idxpo 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){
|
||||
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,
|
||||
"totalrows": result.length
|
||||
});
|
||||
qry = "select * from vw_popaylist ";
|
||||
qry = qry + "where podescription like '%" + keyword + "%' ";
|
||||
qry = qry + "order by idxpo 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 queryPoPayListDetail(req,callback){
|
||||
var apires = this.getApiResultDefined();
|
||||
try {
|
||||
let idxpo = req.query.idxpo;
|
||||
|
||||
let qry = "select * from vw_popaylist ";
|
||||
qry = qry + "where idxpo='" + idxpo + "' ";
|
||||
qry = qry + "order by idxpo 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){
|
||||
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 queryPayChecklist(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 _idx, checklistname from tbl_financechecklist where isdeleted=0";
|
||||
|
||||
// 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){
|
||||
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 queryCurrencyList(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 _idx, currency from tbl_currency where isdeleted=0";
|
||||
|
||||
// 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){
|
||||
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 querySubmitPayPo(req,callback){
|
||||
var apires = this.getApiResultDefined();
|
||||
try {
|
||||
let idxpo = req.body.idxpo;
|
||||
let ponumber = req.body.ponumber;
|
||||
let idxvendor = req.body.idxvendor;
|
||||
let vendorname = req.body.vendorname;
|
||||
let totalpo = req.body.totalpo;
|
||||
let contractnumber = req.body.contractnumber;
|
||||
let percentpay = req.body.percentpay;
|
||||
let totalinvoice = req.body.totalinvoice;
|
||||
let payto = req.body.payto;
|
||||
let paymentdate = req.body.paymentdate;
|
||||
let payperiod = req.body.payperiod;
|
||||
let whtvalue = req.body.whtvalue;
|
||||
let costcenter = req.body.costcenter;
|
||||
let description = req.body.description;
|
||||
let status = req.body.status;
|
||||
let statusdescription = req.body.statusdescription;
|
||||
let nikpreparedby = req.body.nikpreparedby;
|
||||
let prepareddate = req.body.prepareddate;
|
||||
let nikreviewby = req.body.nikreviewby;
|
||||
let reviewdate = req.body.reviewdate;
|
||||
let nikreviewdirby = req.body.nikreviewdirby;
|
||||
let reviewdirdate = req.body.reviewdirdate;
|
||||
let reviewdescription = req.body.reviewdescription;
|
||||
let nik = req.body.nik;
|
||||
let checklistdata = req.body.checklistdata;
|
||||
|
||||
// console.log(checklistdata)
|
||||
|
||||
let qry = "insert into tbl_finance set idxpo='"+idxpo+"',ponumber='"+ponumber+"',idxvendor='"+idxvendor+"',";
|
||||
qry = qry + "vendorname='"+vendorname+"',totalpo='"+totalpo+"',contractnumber='"+contractnumber+"',";
|
||||
qry = qry + "percentpay='"+percentpay+"',totalinvoice='"+totalinvoice+"',payto='"+payto+"',paymentdate='"+paymentdate+"',";
|
||||
qry = qry + "payperiod='"+payperiod+"',whtvalue='"+whtvalue+"',costcenter='"+costcenter+"',";
|
||||
qry = qry + "description='"+description+"',status='"+status+"',statusdescription='"+statusdescription+"',";
|
||||
qry = qry + "laststatusupdate=now(),nikpreparedby='"+nikpreparedby+"',prepareddate='"+prepareddate+"',";
|
||||
qry = qry + "nikreviewby='"+nikreviewby+"',reviewdate='"+reviewdate+"',nikreviewdirby='"+nikreviewdirby+"',";
|
||||
qry = qry + "reviewdirdate='"+reviewdirdate+"',reviewdescription='"+reviewdescription+"',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
|
||||
{
|
||||
var idxheader = result.insertId;
|
||||
Object.keys(checklistdata).forEach(function(key){
|
||||
var idxchecklist = checklistdata[key]['idxchecklist'];
|
||||
var checklistname = checklistdata[key]['checklistname'];
|
||||
var iscomplete = checklistdata[key]['iscomplete'];
|
||||
var isvalid = checklistdata[key]['isvalid'];
|
||||
qry = "insert into tbl_financedetailchecklist set idxheader='"+idxheader+"',";
|
||||
qry = qry + "idxchecklist='"+idxchecklist+"',checklistname='"+checklistname+"',";
|
||||
qry = qry + "iscomplete='"+iscomplete+"',isvalid='"+isvalid+"',iby='"+nik+"',idt=now()";
|
||||
db.query(qry,[],function(err2,result2,fields2){return result2;});
|
||||
});
|
||||
|
||||
apires.success = true;
|
||||
apires.data={
|
||||
"idxfinance":idxheader,
|
||||
"status" : "Data Has Been Submitted"
|
||||
};
|
||||
callback(null, apires);
|
||||
// if(result.length>0){
|
||||
// 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 queryFinanceList(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_financelist ";
|
||||
// qry = qry + "where podescription like '%" + keyword + "%' ";
|
||||
// qry = qry + "order by idxpo asc limit " + offset + ", " + limit;
|
||||
|
||||
let qry = "select * from vw_financelist ";
|
||||
qry = qry + "where podescription like '%" + keyword + "%' ";
|
||||
qry = qry + "order by idxpo 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,
|
||||
"totalrows": result.length
|
||||
});
|
||||
qry = "select * from vw_financelist ";
|
||||
qry = qry + "where podescription like '%" + keyword + "%' ";
|
||||
qry = qry + "order by idxpo 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 queryFinanceListDetail(req,callback){
|
||||
var apires = this.getApiResultDefined();
|
||||
try {
|
||||
let limit = req.query.limit;
|
||||
let offset = req.query.offset;
|
||||
let idxpo = req.query.idxpo;
|
||||
|
||||
let qry = "select * from vw_financelistdetail ";
|
||||
qry = qry + "where idxpo='"+idxpo+"'";
|
||||
|
||||
// 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,
|
||||
"totalrows": result.length
|
||||
});
|
||||
|
||||
|
||||
qry = "select * from vw_financelistdetail ";
|
||||
qry = qry + "where idxpo='"+idxpo+"' ";
|
||||
qry = qry + "order by idxfinance 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 queryFinanceDetailUpload(req,callback){
|
||||
var apires = this.getApiResultDefined();
|
||||
try {
|
||||
let idxfinance = req.query.idxfinance;
|
||||
|
||||
let qry = "select * from vw_financelistdetail ";
|
||||
qry = qry + "where idxfinance='"+idxfinance+"'";
|
||||
|
||||
// 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.data = JSON.parse(JSON.stringify(result));
|
||||
qry = "select _idx,idxchecklist,checklistname,iscomplete,isvalid ";
|
||||
qry = qry +"from tbl_financedetailchecklist where idxheader='"+idxfinance+"' and isdeleted=0 ";
|
||||
qry = qry +"order by _idx asc";
|
||||
db.query(qry,[],function(err1,result1,fields1){
|
||||
if(err1){
|
||||
apires.meta['message'] = err1.toString();
|
||||
apires.meta['code'] = 500;
|
||||
callback('err',apires);
|
||||
}
|
||||
else
|
||||
{
|
||||
apires.success = true;
|
||||
apires.data[0]['checklistinfo'] = JSON.parse(JSON.stringify(result1));
|
||||
callback(null,apires);
|
||||
}
|
||||
});
|
||||
// apires.success = true;
|
||||
// apires.data = 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 queryUploadDocFin(req,filedoc, callback) {
|
||||
try {
|
||||
var apires = this.getApiResultDefined();
|
||||
var idxfinance = req.body.idxfinance;
|
||||
var paymentdate = req.body.paymentdate;
|
||||
var nik = req.body.nik;
|
||||
|
||||
var qry = "update tbl_finance set status=2,statusdescription='Verify By Fin',filedoc='"+filedoc+"',paymentdate='"+paymentdate+"',uby='"+nik+"',udt=now() ";
|
||||
qry = qry +"where _idx='" + idxfinance +"'";
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = FinanceAdapter;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user