first commit
This commit is contained in:
731
adapter/procjustificationadapter.js
Normal file
731
adapter/procjustificationadapter.js
Normal file
@ -0,0 +1,731 @@
|
||||
const db=require('../config/dbproc.js');
|
||||
const Adapter=require('./dbadapter.js');
|
||||
const QRCode = require('qrcode');
|
||||
const fs = require("fs");
|
||||
|
||||
function getToken(){
|
||||
try {
|
||||
var n1=Math.floor(Math.random() * 9) + 0;
|
||||
var n2=Math.floor(Math.random() * 9) + 0;
|
||||
var n3=Math.floor(Math.random() * 9) + 0;
|
||||
var n4=Math.floor(Math.random() * 9) + 0;
|
||||
var n5=Math.floor(Math.random() * 9) + 0;
|
||||
var n6=Math.floor(Math.random() * 9) + 0;
|
||||
var otp=n1.toString()+n2.toString()+n3.toString()+n4.toString()+n5.toString()+n6.toString();
|
||||
// console.log(otp);
|
||||
return otp;
|
||||
} catch (error) {
|
||||
return error;
|
||||
}
|
||||
}
|
||||
|
||||
class ProcJustificationAdapter extends Adapter{
|
||||
constructor(){
|
||||
super();
|
||||
}
|
||||
|
||||
async queryPrList(req,callback){
|
||||
var apires = this.getApiResultDefined();
|
||||
try {
|
||||
let nik = req.query.nik;
|
||||
let isused = req.query.isused;
|
||||
let swherenik="";
|
||||
if(nik){
|
||||
swherenik="iby='"+nik+"' and ";
|
||||
}
|
||||
|
||||
// let qry = "select * from vw_pr where status in(2,6) and isused="+isused+" and iby='"+nik+"' order by id asc";
|
||||
let qry = "select * from vw_pr where status in(2,6) and "+swherenik+" isused="+isused+" 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){
|
||||
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 queryNewProcJustification(req, callback){
|
||||
var apires = this.getApiResultDefined();
|
||||
try {
|
||||
let idxpr= req.body.idxpr;
|
||||
let prnumber= req.body.prnumber;
|
||||
let procjustificationnumber = req.body.procjustificationnumber;
|
||||
let idxjustification = req.body.idxjustification;
|
||||
let justificationnumber = req.body.justificationnumber;
|
||||
// let idxcreated = req.body.idxcreated;
|
||||
// let nikcreated = req.body.nikcreated;
|
||||
// let idxverified = req.body.idxverified;
|
||||
// let nikverified = req.body.nikverified;
|
||||
// let idxapproval = req.body.idxapproval;
|
||||
// let nikapproval = req.body.nikapproval;
|
||||
let nik = req.body.nik;
|
||||
let ttd = JSON.parse(req.body.ttd);
|
||||
let status = -1;
|
||||
let statusdescription = "draft";
|
||||
|
||||
// let qry = "insert into tbl_procjustification ";
|
||||
// qry = qry +"set idxpr='"+idxpr+"',prnumber='"+prnumber+"',procjustificationnumber='"+procjustificationnumber+"',idxjustification='"+idxjustification+"',justificationnumber='"+justificationnumber+"',";
|
||||
// qry = qry +"status='"+status+"',statusdescription='"+statusdescription+"',idxcreated='"+idxcreated+"',nikcreated='"+nikcreated+"',idxverified='"+idxverified+"',nikverified='"+nikverified+"',";
|
||||
// qry = qry +"idxapproval='"+idxapproval+"',nikapproval='"+nikapproval+"',iby='"+nik+"',idt=now()";
|
||||
let qry = "insert into tbl_procjustification ";
|
||||
qry = qry +"set idxpr='"+idxpr+"',prnumber='"+prnumber+"',procjustificationnumber='"+procjustificationnumber+"',idxjustification='"+idxjustification+"',justificationnumber='"+justificationnumber+"',";
|
||||
qry = qry +"status='"+status+"',statusdescription='"+statusdescription+"',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 res = JSON.parse(JSON.stringify(result));
|
||||
var idxprocjustification = res.insertId;
|
||||
|
||||
var created = ttd.dibuatoleh;
|
||||
var verify = ttd.diverifikasioleh;
|
||||
var approval = ttd.disetujuioleh;
|
||||
|
||||
Object.keys(created).forEach(function(key){
|
||||
var token =getToken();
|
||||
var idemployee = created[key]['idemployee'];
|
||||
var nikcreated = created[key]['nik'];
|
||||
|
||||
qry = "insert into tbl_procjustificationttd set idxjustification='"+idxprocjustification+"',idemployee='"+idemployee+"',";
|
||||
qry = qry + "nik='"+nikcreated+"',category='CRE',token='"+token+"',imgqr='',iby='"+nik+"',idt=now()";
|
||||
db.query(qry,[],function(err3,result3,fields3){return result3;});
|
||||
});
|
||||
|
||||
Object.keys(verify).forEach(function(key){
|
||||
var token =getToken();
|
||||
var idemployee = verify[key]['idemployee'];
|
||||
var nikverify = verify[key]['nik'];
|
||||
|
||||
// if(err) return console.log("error occurred")
|
||||
qry = "insert into tbl_procjustificationttd set idxjustification='"+idxprocjustification+"',idemployee='"+idemployee+"',";
|
||||
qry = qry + "nik='"+nikverify+"',category='VRF',token='"+token+"',imgqr='',iby='"+nik+"',idt=now()";
|
||||
db.query(qry,[],function(err3,result3,fields3){return result3;});
|
||||
});
|
||||
|
||||
Object.keys(approval).forEach(function(key){
|
||||
var token =getToken();
|
||||
var idemployee = approval[key]['idemployee'];
|
||||
var nikapproval = approval[key]['nik'];
|
||||
|
||||
// if(err) return console.log("error occurred")
|
||||
qry = "insert into tbl_procjustificationttd set idxjustification='"+idxprocjustification+"',idemployee='"+idemployee+"',";
|
||||
qry = qry + "nik='"+nikapproval+"',category='APR',token='"+token+"',imgqr='',iby='"+nik+"',idt=now()";
|
||||
db.query(qry,[],function(err3,result3,fields3){return result3;});
|
||||
});
|
||||
|
||||
apires.success = true;
|
||||
apires.meta.message = "Saved Success";
|
||||
apires.data = res;
|
||||
callback(null, apires);
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
} catch (err) {
|
||||
apires.meta.code = 500;
|
||||
apires.meta.message = err.toString();
|
||||
callback('error',apires);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
async queryUpdateProcJustification(req, filename, callback){
|
||||
var apires = this.getApiResultDefined();
|
||||
try {
|
||||
//console.log(filename);
|
||||
let idxprocjustification = req.body.idxprocjustification;
|
||||
let idxpr= req.body.idxpr;
|
||||
let prnumber= req.body.prnumber;
|
||||
let procjustificationnumber = req.body.procjustificationnumber;
|
||||
let idxjustification = req.body.idxjustification;
|
||||
let justificationnumber = req.body.justificationnumber;
|
||||
let filecategory = req.body.filecategory;
|
||||
let descriptionfile = req.body.descriptionfile;
|
||||
let numberoffile = req.body.numberoffile;
|
||||
let ttd = JSON.parse(req.body.ttd);
|
||||
let nik = req.body.nik;
|
||||
let status = req.body.status;
|
||||
let statusdescription = req.body.statusdescription;
|
||||
|
||||
// let qry = "update tbl_procjustification ";
|
||||
// qry = qry +"set idxpr='"+idxpr+"',prnumber='"+prnumber+"',procjustificationnumber='"+procjustificationnumber+"',idxjustification='"+idxjustification+"',justificationnumber='"+justificationnumber+"',";
|
||||
// qry = qry +"status='"+status+"',statusdescription='"+statusdescription+"',idxcreated='"+idxcreated+"',nikcreated='"+nikcreated+"',idxverified='"+idxverified+"',nikverified='"+nikverified+"',";
|
||||
// qry = qry +"idxapproval='"+idxapproval+"',nikapproval='"+nikapproval+"',uby='"+nik+"',udt=now() ";
|
||||
// qry = qry +"where _idx='"+idxprocjustification+"'";
|
||||
let qry = "update tbl_procjustification ";
|
||||
qry = qry +"set idxpr='"+idxpr+"',prnumber='"+prnumber+"',procjustificationnumber='"+procjustificationnumber+"',idxjustification='"+idxjustification+"',justificationnumber='"+justificationnumber+"',";
|
||||
qry = qry +"status='"+status+"',statusdescription='"+statusdescription+"',uby='"+nik+"',udt=now() ";
|
||||
qry = qry +"where _idx='"+idxprocjustification+"'";
|
||||
|
||||
// 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
|
||||
{
|
||||
qry ="select _idx from tbl_procjustificationdoc ";
|
||||
qry = qry +"where idxheader='"+idxprocjustification+"' and numberoffile='"+numberoffile+"' and filecategory='"+filecategory+"' and isdeleted=0 order by _idx desc limit 1";
|
||||
// console.log(qry);
|
||||
db.query(qry,[], function(err2, results2){
|
||||
if(err2){
|
||||
apires.meta['message'] = err2.toString();
|
||||
apires.meta['code'] = 500;
|
||||
callback('err',apires);
|
||||
}else{
|
||||
|
||||
qry ="insert into tbl_procjustificationdoc ";
|
||||
qry = qry + "set idxheader='"+idxprocjustification+"',numberoffile='"+numberoffile+"',filecategory='"+filecategory+"',";
|
||||
qry = qry + "filename='"+filename+"',descriptionfile='"+descriptionfile+"',iby='"+nik+"',idt=now()";
|
||||
if(results2.length>=1){
|
||||
qry ="update tbl_procjustificationdoc ";
|
||||
qry = qry + "set idxheader='"+idxprocjustification+"',numberoffile='"+numberoffile+"',filecategory='"+filecategory+"',";
|
||||
qry = qry + "filename='"+filename+"',descriptionfile='"+descriptionfile+"',uby='"+nik+"',udt=now() ";
|
||||
qry = qry +"where idxheader='"+idxprocjustification+"' and numberoffile='"+numberoffile+"' and filecategory='"+filecategory+"' and isdeleted=0";
|
||||
}
|
||||
db.query(qry,[],function(err3,results3){
|
||||
if(err3){
|
||||
apires.meta['message'] = err3.toString();
|
||||
apires.meta['code'] = 500;
|
||||
callback('err',apires);
|
||||
}
|
||||
else{
|
||||
// === Update ttd
|
||||
var created = ttd.dibuatoleh;
|
||||
var verify = ttd.diverifikasioleh;
|
||||
var approval = ttd.disetujuioleh;
|
||||
|
||||
Object.keys(created).forEach(function(key){
|
||||
var token =getToken();
|
||||
var id = created[key]['id'];
|
||||
var idemployee = created[key]['idemployee'];
|
||||
var nik = created[key]['nik'];
|
||||
var action = created[key]['action'];
|
||||
|
||||
qry = "insert into tbl_procjustificationttd set idxjustification='"+idxprocjustification+"',idemployee='"+idemployee+"',";
|
||||
qry = qry + "nik='"+nik+"',category='CRE',token='"+token+"',imgqr='',iby='"+nik+"',idt=now()";
|
||||
if(action=='update'){
|
||||
qry = "update tbl_procjustificationttd set idxjustification='"+idxprocjustification+"',idemployee='"+idemployee+"',";
|
||||
qry = qry + "nik='"+nik+"',category='CRE',token='"+token+"',imgqr='',uby='"+nik+"',udt=now() ";
|
||||
qry = qry + "where _idx='"+id+"'";
|
||||
}
|
||||
if(action=='delete'){
|
||||
qry = "update tbl_procjustificationttd set isdeleted=1,dby='"+nik+"',ddt=now() ";
|
||||
qry = qry+ "where _idx='"+id+"'";
|
||||
}
|
||||
|
||||
db.query(qry,[],function(err3,result3,fields3){return result3;});
|
||||
});
|
||||
|
||||
Object.keys(verify).forEach(function(key){
|
||||
var token =getToken();
|
||||
var id = verify[key]['id'];
|
||||
var idemployee = verify[key]['idemployee'];
|
||||
var nik = verify[key]['nik'];
|
||||
var action = verify[key]['action'];
|
||||
|
||||
qry = "insert into tbl_procjustificationttd set idxjustification='"+idxprocjustification+"',idemployee='"+idemployee+"',";
|
||||
qry = qry + "nik='"+nik+"',category='VRF',token='"+token+"',imgqr='',iby='"+nik+"',idt=now()";
|
||||
if(action=='update'){
|
||||
qry = "update tbl_procjustificationttd set idxjustification='"+idxprocjustification+"',idemployee='"+idemployee+"',";
|
||||
qry = qry + "nik='"+nik+"',category='VRF',token='"+token+"',imgqr='',uby='"+nik+"',udt=now() ";
|
||||
qry = qry + "where _idx='"+id+"'";
|
||||
}
|
||||
if(action=='delete'){
|
||||
qry = "update tbl_procjustificationttd set isdeleted=1,dby='"+nik+"',ddt=now() ";
|
||||
qry = qry+ "where _idx='"+id+"'";
|
||||
}
|
||||
|
||||
db.query(qry,[],function(err3,result3,fields3){return result3;});
|
||||
});
|
||||
|
||||
Object.keys(approval).forEach(function(key){
|
||||
var token =getToken();
|
||||
var id = approval[key]['id'];
|
||||
var idemployee = approval[key]['idemployee'];
|
||||
var nik = approval[key]['nik'];
|
||||
var action = approval[key]['action'];
|
||||
|
||||
qry = "insert into tbl_procjustificationttd set idxjustification='"+idxprocjustification+"',idemployee='"+idemployee+"',";
|
||||
qry = qry + "nik='"+nik+"',category='APR',token='"+token+"',imgqr='',iby='"+nik+"',idt=now()";
|
||||
if(action=='update'){
|
||||
qry = "update tbl_procjustificationttd set idxjustification='"+idxprocjustification+"',idemployee='"+idemployee+"',";
|
||||
qry = qry + "nik='"+nik+"',category='APR',token='"+token+"',imgqr='',uby='"+nik+"',udt=now() ";
|
||||
qry = qry + "where _idx='"+id+"'";
|
||||
}
|
||||
if(action=='delete'){
|
||||
qry = "update tbl_procjustificationttd set isdeleted=1,dby='"+nik+"',ddt=now() ";
|
||||
qry = qry+ "where _idx='"+id+"'";
|
||||
}
|
||||
|
||||
db.query(qry,[],function(err3,result3,fields3){return result3;});
|
||||
});
|
||||
|
||||
var res = JSON.parse(JSON.stringify(results3));
|
||||
apires.success = true;
|
||||
apires.meta.message = "Updated Success";
|
||||
apires.data = res;
|
||||
callback(null, apires);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
} catch (err) {
|
||||
apires.meta.code = 500;
|
||||
apires.meta.message = err.toString();
|
||||
callback('error',apires);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
async queryInquiryProcJustification(req, filename, callback){
|
||||
var apires = this.getApiResultDefined();
|
||||
try {
|
||||
let idxprocjustification = req.body.idxprocjustification;
|
||||
let filecategory = req.body.filecategory;
|
||||
let numberoffile = req.body.numberoffile;
|
||||
let descriptionfile = req.body.descriptionfile;
|
||||
let nik = req.body.nik;
|
||||
|
||||
let qry ="select _idx from tbl_procjustificationdoc ";
|
||||
qry = qry +"where idxheader='"+idxprocjustification+"' and numberoffile='"+numberoffile+"' and filecategory='"+filecategory+"' and isdeleted=0 order by _idx desc limit 1";
|
||||
// console.log(qry);
|
||||
db.query(qry,[], function(err2, results2){
|
||||
if(err2){
|
||||
apires.meta['message'] = err2.toString();
|
||||
apires.meta['code'] = 500;
|
||||
callback('err',apires);
|
||||
}else{
|
||||
|
||||
qry ="insert into tbl_procjustificationdoc ";
|
||||
qry = qry + "set idxheader='"+idxprocjustification+"',numberoffile='"+numberoffile+"',filecategory='"+filecategory+"',";
|
||||
qry = qry + "descriptionfile='"+descriptionfile+"',filename='"+filename+"',iby='"+nik+"',idt=now()";
|
||||
if(results2.length>=1){
|
||||
qry ="update tbl_procjustificationdoc ";
|
||||
qry = qry + "set idxheader='"+idxprocjustification+"',numberoffile='"+numberoffile+"',filecategory='"+filecategory+"',";
|
||||
qry = qry + "descriptionfile='"+descriptionfile+"',filename='"+filename+"',uby='"+nik+"',udt=now() ";
|
||||
qry = qry +"where idxheader='"+idxprocjustification+"' and numberoffile='"+numberoffile+"' and filecategory='"+filecategory+"' and isdeleted=0";
|
||||
}
|
||||
console.log(qry);
|
||||
db.query(qry,[],function(err3,results3){
|
||||
if(err3){
|
||||
apires.meta['message'] = err3.toString();
|
||||
apires.meta['code'] = 500;
|
||||
callback('err',apires);
|
||||
}
|
||||
else{
|
||||
var res = JSON.parse(JSON.stringify(results3));
|
||||
apires.success = true;
|
||||
apires.meta.message = "Updated Success";
|
||||
apires.data = res;
|
||||
callback(null, apires);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
} catch (err) {
|
||||
apires.meta.code = 500;
|
||||
apires.meta.message = err.toString();
|
||||
callback('error',apires);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
async querySignedProcJustification(req, callback){
|
||||
var apires = this.getApiResultDefined();
|
||||
try {
|
||||
let idxprocjustification = req.body.idxprocjustification;
|
||||
let nik = req.body.nik;
|
||||
let idxsigned = req.body.idxsigned;
|
||||
let idemployeesigned = req.body.idemployeesigned;
|
||||
let niksigned = req.body.niksigned;
|
||||
let datesigned = req.body.datesigned;
|
||||
let idxsignedvrf = req.body.idxsignedvrf ?? 0;
|
||||
let idemployeevrf = req.body.idemployeevrf ?? 0;
|
||||
let niksignedvrf = req.body.niksignedvrf ?? 0;
|
||||
let idxsignedapr = req.body.idxsignedapr ?? 0;
|
||||
let idemployeeapr = req.body.idemployeeapr ?? 0;
|
||||
let niksignedapr = req.body.niksignedapr ?? 0;
|
||||
let status = req.body.status;
|
||||
let statusdescription = req.body.statusdescription;//"Verified";
|
||||
var token = this.getToken();
|
||||
var filepng = token+".png";
|
||||
// token =getToken();
|
||||
token = token +","+niksigned;
|
||||
|
||||
// console.log(req.body);
|
||||
let qry = "update tbl_procjustification ";
|
||||
qry = qry +"set status='"+status+"',statusdescription='"+statusdescription+"',uby='"+nik+"',udt=now() ";
|
||||
qry = qry +"where _idx='"+idxprocjustification+"'";
|
||||
|
||||
// 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(status==0){
|
||||
var qry = "update tbl_procjustificationttd set idemployee='"+idemployeevrf+"',nik='"+niksignedvrf+"',uby='"+nik+"',udt=now() ";
|
||||
qry = qry +"where _idx='" + idxsignedvrf +"'";
|
||||
db.query(qry,[],function(err,result,fields){});
|
||||
|
||||
var qry = "update tbl_procjustificationttd set idemployee='"+idemployeeapr+"',nik='"+niksignedapr+"',uby='"+nik+"',udt=now() ";
|
||||
qry = qry +"where _idx='" + idxsignedapr +"'";
|
||||
db.query(qry,[],function(err,result,fields){});
|
||||
}
|
||||
QRCode.toDataURL(token, function (err, code) {
|
||||
if(err) {
|
||||
apires.meta['message'] = err.toString();
|
||||
apires.meta['code'] = 500;
|
||||
callback('err',apires);
|
||||
}
|
||||
else
|
||||
{
|
||||
var imageBuffer = Adapter.decodeBase64Image(code);
|
||||
fs.writeFile('./assets/pngproc/'+filepng, imageBuffer.data, function(err) {
|
||||
// console.log(err);
|
||||
if(err){
|
||||
apires.meta['message'] = err.toString();
|
||||
apires.meta['code'] = 500;
|
||||
callback(err.toString(), apires);
|
||||
}
|
||||
else{
|
||||
// var qry = "update tbl_procjustificationttd set token=md5('"+token+"'),imgqr='"+filepng+"',issigned='1',signeddate='"+datesigned+"',uby='"+nik+"',udt=now() ";
|
||||
var qry = "update tbl_procjustificationttd set idemployee='"+idemployeesigned+"',nik='"+niksigned+"',token='"+token+"',imgqr='"+filepng+"',issigned='1',signeddate='"+datesigned+"',uby='"+nik+"',udt=now() ";
|
||||
qry = qry +"where _idx='" + idxsigned +"'";
|
||||
// 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;
|
||||
// ===
|
||||
qry = "select status from tbl_procjustification where _idx='"+idxprocjustification+"'";
|
||||
|
||||
db.query(qry,[],function(err,result2,fields){
|
||||
if(err){
|
||||
apires.meta['message'] = err.toString();
|
||||
apires.meta['code'] = 500;
|
||||
callback('err',apires);
|
||||
}
|
||||
else
|
||||
{
|
||||
var status = result2[0]['status'];
|
||||
var isverified=0;
|
||||
if(status==1){isverified = 1;}
|
||||
apires.data = {
|
||||
"isverified":isverified,
|
||||
"token":token,
|
||||
"urltoken": process.env.BASEURL+"/main/getimageinfo?route=pngproc&name="+filepng
|
||||
};
|
||||
callback(null, apires);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
} catch (err) {
|
||||
apires.meta.code = 500;
|
||||
apires.meta.message = err.toString();
|
||||
callback('error',apires);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
async queryDeleteProcJustification(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_procjustification ";
|
||||
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 queryProcJustificationDetail(req,callback){
|
||||
var apires = this.getApiResultDefined();
|
||||
try {
|
||||
|
||||
let _idx= req.query.id;
|
||||
|
||||
let qry = "select * from vw_procjustification where id='"+_idx+"'";
|
||||
|
||||
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
|
||||
{
|
||||
let dataRows = result.length;
|
||||
if(result.length<=0){
|
||||
apires.meta.message = "Record not found";
|
||||
callback('',apires);
|
||||
}
|
||||
else{
|
||||
Object.keys(result).forEach(function(key){
|
||||
qry = "select * from vw_procjustificationdoc where idxheader='"+_idx+"' order by id asc";
|
||||
// console.log(qry);
|
||||
db.query(qry,[],function(err,result2,fields){
|
||||
if(err){
|
||||
apires.meta['message'] = err.toString();
|
||||
apires.meta['code'] = 500;
|
||||
callback('error',apires);
|
||||
}
|
||||
else{
|
||||
result[key]['filedoc'] = JSON.parse(JSON.stringify(result2));
|
||||
qry = "select * from vw_procjustificationttd where idxheader='"+_idx+"' order by id asc";
|
||||
// console.log(qry);
|
||||
db.query(qry,[],function(err,result3,fields){
|
||||
if(err){
|
||||
apires.meta['message'] = err.toString();
|
||||
apires.meta['code'] = 500;
|
||||
callback('error',apires);
|
||||
}
|
||||
else{
|
||||
if(result3.length>0){
|
||||
var dibuatoleh = [];
|
||||
var diverifikasioleh = [];
|
||||
var disetujuioleh = [];
|
||||
Object.keys(result3).forEach(function(key2){
|
||||
if(result3[key2]['category']=='CRE'){
|
||||
dibuatoleh.push(JSON.parse(JSON.stringify(result3[key2])));
|
||||
}
|
||||
else if(result3[key2]['category']=='VRF'){
|
||||
diverifikasioleh.push(JSON.parse(JSON.stringify(result3[key2])));
|
||||
}else{
|
||||
disetujuioleh.push(JSON.parse(JSON.stringify(result3[key2])));
|
||||
}
|
||||
|
||||
});
|
||||
result[key]['ttd'] = {
|
||||
"dibuatoleh" : dibuatoleh,
|
||||
"diverifikasioleh" : diverifikasioleh,
|
||||
"disetujuioleh" : disetujuioleh
|
||||
}
|
||||
// result[key]['ttd'] = JSON.parse(JSON.stringify(result3));
|
||||
}
|
||||
if(0 === --dataRows){
|
||||
let resultJson = JSON.stringify(result);
|
||||
resultJson = JSON.parse(resultJson);
|
||||
apires.success = true;
|
||||
apires.data = resultJson;
|
||||
callback(null,apires);
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
// if(0 === --dataRows){
|
||||
// let resultJson = JSON.stringify(result);
|
||||
// resultJson = JSON.parse(resultJson);
|
||||
// apires.success = true;
|
||||
// apires.data = resultJson;
|
||||
// callback(null,apires);
|
||||
// }
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
} catch (err) {
|
||||
apires.meta.code = 500;
|
||||
apires.meta.message = err.toString();
|
||||
callback('error',apires);
|
||||
}
|
||||
}
|
||||
|
||||
async queryProcJustificationList(req,callback){
|
||||
var apires = this.getApiResultDefined();
|
||||
try {
|
||||
|
||||
let limit = req.body.limit;
|
||||
let offset = req.body.offset;
|
||||
let keyword = req.body.keyword;
|
||||
let nik = req.body.nik;
|
||||
let status = req.body.status;
|
||||
|
||||
|
||||
let swherenik="";
|
||||
if(nik){
|
||||
swherenik="iby='"+nik+"' and ";
|
||||
}
|
||||
|
||||
// let qry = "select * from vw_procjustification ";
|
||||
// qry = qry +"where (trim(prnumber) like '%"+ keyword +"%' or trim(justificationnumber) like '%"+ keyword +"%') ";
|
||||
// qry = qry +"and iby='"+nik+"' and status in("+status+") order by id asc";
|
||||
let qry = "select * from vw_procjustification ";
|
||||
qry = qry +"where (trim(prnumber) like '%"+ keyword +"%' or trim(justificationnumber) like '%"+ keyword +"%') ";
|
||||
qry = qry +"and "+swherenik+" status in("+status+") 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,
|
||||
"totalrows": result.length
|
||||
});
|
||||
qry = "select * from vw_procjustification ";
|
||||
qry = qry +"where (trim(prnumber) like '%"+ keyword +"%' or trim(justificationnumber) like '%"+ keyword +"%') ";
|
||||
qry = qry +"and "+swherenik+" status in("+status+") 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 queryUpdateStatusProcJustification(req, callback) {
|
||||
try {
|
||||
var apires = this.getApiResultDefined();
|
||||
var idxjustification = req.body.idxjustification;
|
||||
var status = req.body.status;
|
||||
var statusdescription = req.body.statusdescription;
|
||||
var nik = req.body.nik;
|
||||
|
||||
var qry = "update tbl_procjustification set status='" + status +"',statusdescription='" + statusdescription +"',uby='"+nik+"',udt=now() ";
|
||||
qry = qry +"where _idx='" + idxjustification +"'";
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
module.exports = ProcJustificationAdapter;
|
||||
Reference in New Issue
Block a user