add currency_id & rate_snapshot to document APIs (Phase 3)
- budgetadapter: list/detail queries JOIN tbl_currency; create/update budget and requestbudget store currency_id + rate_snapshot via subquery - justificationadapter: create/update store currency_id + rate_snapshot - pradapter: create/update store currency_id + rate_snapshot; list/detail JOIN tbl_currency - poadapter: insert stores currency_id + rate_snapshot; list/detail queries JOIN tbl_currency All currency_id fields are nullable - existing records unaffected. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@ -16,8 +16,12 @@ class BudgetAdapter extends Adapter{
|
|||||||
let offset = req.body.offset;
|
let offset = req.body.offset;
|
||||||
let keyword = req.body.keyword;
|
let keyword = req.body.keyword;
|
||||||
|
|
||||||
let qry = "select * from vw_budgetcapexinfo ";
|
let qryBase = "select v.*, b.currency_id, b.rate_snapshot, c.currency AS currency_code, c.symbol AS currency_symbol ";
|
||||||
qry = qry +"where (trim(budgetid) like '%"+ keyword +"%' or trim(activityname) like '%"+ keyword +"%') order by id asc";
|
qryBase += "from vw_budgetcapexinfo v ";
|
||||||
|
qryBase += "left join tbl_budgetcapexinfo b on b._idx = v.id ";
|
||||||
|
qryBase += "left join tbl_currency c on c._idx = b.currency_id ";
|
||||||
|
qryBase += "where (trim(v.budgetid) like '%"+ keyword +"%' or trim(v.activityname) like '%"+ keyword +"%') ";
|
||||||
|
let qry = qryBase + "order by v.id asc";
|
||||||
|
|
||||||
// console.log(qry);
|
// console.log(qry);
|
||||||
db.query(qry,[],function(err,result,fields){
|
db.query(qry,[],function(err,result,fields){
|
||||||
@ -39,8 +43,7 @@ class BudgetAdapter extends Adapter{
|
|||||||
"totalpage": pagination,
|
"totalpage": pagination,
|
||||||
"totalrows": result.length
|
"totalrows": result.length
|
||||||
});
|
});
|
||||||
qry = "select * from vw_budgetcapexinfo ";
|
qry = qryBase + "order by v.id asc limit " + offset + ", " + limit;
|
||||||
qry = qry +"where (trim(budgetid) like '%"+ keyword +"%' or trim(activityname) like '%"+ keyword +"%') order by id asc limit " + offset + ", " + limit;
|
|
||||||
db.query(qry,[],function(err,result,fields){
|
db.query(qry,[],function(err,result,fields){
|
||||||
if(err){
|
if(err){
|
||||||
apires.meta['message'] = err.toString();
|
apires.meta['message'] = err.toString();
|
||||||
@ -80,8 +83,11 @@ class BudgetAdapter extends Adapter{
|
|||||||
|
|
||||||
let id = req.query.id;
|
let id = req.query.id;
|
||||||
// console.log(req);
|
// console.log(req);
|
||||||
let qry = "select * from vw_budgetcapexinfo ";
|
let qry = "select v.*, b.currency_id, b.rate_snapshot, c.currency AS currency_code, c.symbol AS currency_symbol ";
|
||||||
qry = qry +"where id='"+id+"' order by id asc limit 1";
|
qry += "from vw_budgetcapexinfo v ";
|
||||||
|
qry += "left join tbl_budgetcapexinfo b on b._idx = v.id ";
|
||||||
|
qry += "left join tbl_currency c on c._idx = b.currency_id ";
|
||||||
|
qry += "where v.id='"+id+"' order by v.id asc limit 1";
|
||||||
|
|
||||||
// console.log(qry);
|
// console.log(qry);
|
||||||
db.query(qry,[],function(err,result,fields){
|
db.query(qry,[],function(err,result,fields){
|
||||||
@ -190,10 +196,15 @@ class BudgetAdapter extends Adapter{
|
|||||||
let months = req.body.months;
|
let months = req.body.months;
|
||||||
let years = req.body.years;
|
let years = req.body.years;
|
||||||
let nik = req.body.nik;
|
let nik = req.body.nik;
|
||||||
|
let currency_id = req.body.currency_id ?? null;
|
||||||
|
|
||||||
|
let currencyFields = currency_id
|
||||||
|
? ",currency_id='"+currency_id+"',rate_snapshot=(select rate from tbl_currency where _idx='"+currency_id+"' and isdeleted=0 limit 1)"
|
||||||
|
: ",currency_id=NULL,rate_snapshot=NULL";
|
||||||
|
|
||||||
let qry = "insert into tbl_budgetcapexinfo ";
|
let qry = "insert into tbl_budgetcapexinfo ";
|
||||||
qry = qry +"set idxbudgettype='"+idxbudgettype+"', budgetid='"+budgetid+"',activityname='"+activityname+"',amount='"+amount+"',months='"+months+"',";
|
qry = qry +"set idxbudgettype='"+idxbudgettype+"', budgetid='"+budgetid+"',activityname='"+activityname+"',amount='"+amount+"',months='"+months+"',";
|
||||||
qry = qry +"targetrfs='"+targetrfs+"',years='"+years+"', iby='"+nik+"',idt=now()";
|
qry = qry +"targetrfs='"+targetrfs+"',years='"+years+"'"+currencyFields+", iby='"+nik+"',idt=now()";
|
||||||
|
|
||||||
// console.log(qry);
|
// console.log(qry);
|
||||||
db.query(qry,[],function(err,result,fields){
|
db.query(qry,[],function(err,result,fields){
|
||||||
@ -232,10 +243,15 @@ class BudgetAdapter extends Adapter{
|
|||||||
let years = req.body.years;
|
let years = req.body.years;
|
||||||
let nik = req.body.nik;
|
let nik = req.body.nik;
|
||||||
let id = req.body.id;
|
let id = req.body.id;
|
||||||
|
let currency_id = req.body.currency_id ?? null;
|
||||||
|
|
||||||
|
let currencyFields = currency_id
|
||||||
|
? ",currency_id='"+currency_id+"',rate_snapshot=(select rate from tbl_currency where _idx='"+currency_id+"' and isdeleted=0 limit 1)"
|
||||||
|
: ",currency_id=NULL,rate_snapshot=NULL";
|
||||||
|
|
||||||
let qry = "update tbl_budgetcapexinfo ";
|
let qry = "update tbl_budgetcapexinfo ";
|
||||||
qry = qry +"set idxbudgettype='"+idxbudgettype+"', budgetid='"+budgetid+"',activityname='"+activityname+"',amount='"+amount+"',months='"+months+"',";
|
qry = qry +"set idxbudgettype='"+idxbudgettype+"', budgetid='"+budgetid+"',activityname='"+activityname+"',amount='"+amount+"',months='"+months+"',";
|
||||||
qry = qry +"targetrfs='"+targetrfs+"',years='"+years+"', uby='"+nik+"',udt=now() ";
|
qry = qry +"targetrfs='"+targetrfs+"',years='"+years+"'"+currencyFields+", uby='"+nik+"',udt=now() ";
|
||||||
qry = qry +"where _idx='"+id+"'";
|
qry = qry +"where _idx='"+id+"'";
|
||||||
|
|
||||||
// console.log(qry);
|
// console.log(qry);
|
||||||
@ -282,11 +298,16 @@ class BudgetAdapter extends Adapter{
|
|||||||
let targetrfs = req.body.targetrfs;
|
let targetrfs = req.body.targetrfs;
|
||||||
let crdb = "K";
|
let crdb = "K";
|
||||||
let nik = req.body.nik;
|
let nik = req.body.nik;
|
||||||
|
let currency_id = req.body.currency_id ?? null;
|
||||||
|
|
||||||
|
let currencyFieldsReq = currency_id
|
||||||
|
? ",currency_id='"+currency_id+"',rate_snapshot=(select rate from tbl_currency where _idx='"+currency_id+"' and isdeleted=0 limit 1)"
|
||||||
|
: ",currency_id=NULL,rate_snapshot=NULL";
|
||||||
|
|
||||||
let qry = "insert into tbl_requestbudget ";
|
let qry = "insert into tbl_requestbudget ";
|
||||||
qry = qry +"set trxid='"+trxid+"',justificationnumber='"+justificationnumber+"',yearstgt='"+yearstgt+"',transactiondate='"+transactiondate+"',idxbudgettype='"+idxbudgettype+"',budgettype='"+budgettype+"',";
|
qry = qry +"set trxid='"+trxid+"',justificationnumber='"+justificationnumber+"',yearstgt='"+yearstgt+"',transactiondate='"+transactiondate+"',idxbudgettype='"+idxbudgettype+"',budgettype='"+budgettype+"',";
|
||||||
qry = qry +"idxbudgetid='"+idxbudgetid+"',budgetid='"+budgetid+"',activityname='"+activityname+"',idcoa='"+idcoa+"',glacc='"+glacc+"',targetrfs='"+targetrfs+"',";
|
qry = qry +"idxbudgetid='"+idxbudgetid+"',budgetid='"+budgetid+"',activityname='"+activityname+"',idcoa='"+idcoa+"',glacc='"+glacc+"',targetrfs='"+targetrfs+"',";
|
||||||
qry = qry +"amount='"+amount+"',crdb='"+crdb+"',months=month(now()),years=year(now()), iby='"+nik+"',idt=now()";
|
qry = qry +"amount='"+amount+"',crdb='"+crdb+"'"+currencyFieldsReq+",months=month(now()),years=year(now()), iby='"+nik+"',idt=now()";
|
||||||
|
|
||||||
// console.log(qry);
|
// console.log(qry);
|
||||||
db.query(qry,[],function(err,result,fields){
|
db.query(qry,[],function(err,result,fields){
|
||||||
@ -366,10 +387,15 @@ class BudgetAdapter extends Adapter{
|
|||||||
let nik = req.body.nik;
|
let nik = req.body.nik;
|
||||||
let idreqbudget = req.body.idreqbudget;
|
let idreqbudget = req.body.idreqbudget;
|
||||||
|
|
||||||
|
let currency_id_upd = req.body.currency_id ?? null;
|
||||||
|
let currencyFieldsUpd = currency_id_upd
|
||||||
|
? ",currency_id='"+currency_id_upd+"',rate_snapshot=(select rate from tbl_currency where _idx='"+currency_id_upd+"' and isdeleted=0 limit 1)"
|
||||||
|
: ",currency_id=NULL,rate_snapshot=NULL";
|
||||||
|
|
||||||
let qry = "update tbl_requestbudget ";
|
let qry = "update tbl_requestbudget ";
|
||||||
qry = qry +"set trxid='"+trxid+"',yearstgt='"+yearstgt+"',transactiondate='"+transactiondate+"',idxbudgettype='"+idxbudgettype+"',budgettype='"+budgettype+"',";
|
qry = qry +"set trxid='"+trxid+"',yearstgt='"+yearstgt+"',transactiondate='"+transactiondate+"',idxbudgettype='"+idxbudgettype+"',budgettype='"+budgettype+"',";
|
||||||
qry = qry +"idxbudgetid='"+idxbudgetid+"',budgetid='"+budgetid+"',activityname='"+activityname+"',idcoa='"+idcoa+"',glacc='"+glacc+"',targetrfs='"+targetrfs+"',";
|
qry = qry +"idxbudgetid='"+idxbudgetid+"',budgetid='"+budgetid+"',activityname='"+activityname+"',idcoa='"+idcoa+"',glacc='"+glacc+"',targetrfs='"+targetrfs+"',";
|
||||||
qry = qry +"amount='"+amount+"',crdb='"+crdb+"',uby='"+nik+"',udt=now() ";
|
qry = qry +"amount='"+amount+"',crdb='"+crdb+"'"+currencyFieldsUpd+",uby='"+nik+"',udt=now() ";
|
||||||
qry = qry +"where _idx='"+idreqbudget+"'";
|
qry = qry +"where _idx='"+idreqbudget+"'";
|
||||||
|
|
||||||
// console.log(qry);
|
// console.log(qry);
|
||||||
@ -435,9 +461,13 @@ class BudgetAdapter extends Adapter{
|
|||||||
let keyword = req.body.keyword;
|
let keyword = req.body.keyword;
|
||||||
let nik = req.body.nik;
|
let nik = req.body.nik;
|
||||||
|
|
||||||
let qry = "select * from vw_requestbudget ";
|
let qryBaseRb = "select v.*, r.currency_id, r.rate_snapshot, c.currency AS currency_code, c.symbol AS currency_symbol ";
|
||||||
qry = qry +"where (trim(budgetid) like '%"+ keyword +"%' or trim(activityname) like '%"+ keyword +"%') ";
|
qryBaseRb += "from vw_requestbudget v ";
|
||||||
qry = qry +"and iby='"+nik+"' order by id asc";
|
qryBaseRb += "left join tbl_requestbudget r on r._idx = v.id ";
|
||||||
|
qryBaseRb += "left join tbl_currency c on c._idx = r.currency_id ";
|
||||||
|
qryBaseRb += "where (trim(v.budgetid) like '%"+ keyword +"%' or trim(v.activityname) like '%"+ keyword +"%') ";
|
||||||
|
qryBaseRb += "and v.iby='"+nik+"' ";
|
||||||
|
let qry = qryBaseRb + "order by v.id asc";
|
||||||
|
|
||||||
// console.log(qry);
|
// console.log(qry);
|
||||||
db.query(qry,[],function(err,result,fields){
|
db.query(qry,[],function(err,result,fields){
|
||||||
@ -459,9 +489,7 @@ class BudgetAdapter extends Adapter{
|
|||||||
"totalpage": pagination,
|
"totalpage": pagination,
|
||||||
"totalrows": result.length
|
"totalrows": result.length
|
||||||
});
|
});
|
||||||
qry = "select * from vw_requestbudget ";
|
qry = qryBaseRb + "order by v.id asc limit " + offset + ", " + limit;
|
||||||
qry = qry +"where (trim(budgetid) like '%"+ keyword +"%' or trim(activityname) like '%"+ keyword +"%') ";
|
|
||||||
qry = qry +"and iby='"+nik+"' order by id asc limit " + offset + ", " + limit;
|
|
||||||
db.query(qry,[],function(err,result,fields){
|
db.query(qry,[],function(err,result,fields){
|
||||||
if(err){
|
if(err){
|
||||||
apires.meta['message'] = err.toString();
|
apires.meta['message'] = err.toString();
|
||||||
@ -500,8 +528,11 @@ class BudgetAdapter extends Adapter{
|
|||||||
|
|
||||||
let id = req.query.id;
|
let id = req.query.id;
|
||||||
// console.log(req);
|
// console.log(req);
|
||||||
let qry = "select * from vw_requestbudget ";
|
let qry = "select v.*, r.currency_id, r.rate_snapshot, c.currency AS currency_code, c.symbol AS currency_symbol ";
|
||||||
qry = qry +"where id='"+id+"' order by id asc limit 1";
|
qry += "from vw_requestbudget v ";
|
||||||
|
qry += "left join tbl_requestbudget r on r._idx = v.id ";
|
||||||
|
qry += "left join tbl_currency c on c._idx = r.currency_id ";
|
||||||
|
qry += "where v.id='"+id+"' order by v.id asc limit 1";
|
||||||
|
|
||||||
// console.log(qry);
|
// console.log(qry);
|
||||||
db.query(qry,[],function(err,result,fields){
|
db.query(qry,[],function(err,result,fields){
|
||||||
|
|||||||
@ -114,12 +114,17 @@ class JustificationAdapter extends Adapter{
|
|||||||
let ttd = JSON.parse(req.body.ttd);
|
let ttd = JSON.parse(req.body.ttd);
|
||||||
let status = -1;
|
let status = -1;
|
||||||
let statusdescription = "draft";
|
let statusdescription = "draft";
|
||||||
|
let currency_id = req.body.currency_id ?? null;
|
||||||
|
|
||||||
|
let currencyFieldsJ = currency_id
|
||||||
|
? ",currency_id='"+currency_id+"',rate_snapshot=(select rate from tbl_currency where _idx='"+currency_id+"' and isdeleted=0 limit 1)"
|
||||||
|
: ",currency_id=NULL,rate_snapshot=NULL";
|
||||||
|
|
||||||
let qry = "insert into tbl_justification ";
|
let qry = "insert into tbl_justification ";
|
||||||
qry = qry +"set idxrequestbudget='"+idxrequestbudget+"', trxid='"+trxid+"',justificationnumber='"+justificationnumber+"',title='"+title+"',division='"+division+"',";
|
qry = qry +"set idxrequestbudget='"+idxrequestbudget+"', trxid='"+trxid+"',justificationnumber='"+justificationnumber+"',title='"+title+"',division='"+division+"',";
|
||||||
qry = qry +"glacc='"+glacc+"',description='"+description+"',budgettype='"+budgettype+"',amount='"+amount+"',useddate='"+useddate+"',textpurpose='"+textpurpose+"',textintroduce='"+textintroduce+"',";
|
qry = qry +"glacc='"+glacc+"',description='"+description+"',budgettype='"+budgettype+"',amount='"+amount+"',useddate='"+useddate+"',textpurpose='"+textpurpose+"',textintroduce='"+textintroduce+"',";
|
||||||
qry = qry +"textstrategic='"+textstrategic+"',textbussiness='"+textbussiness+"',textrisk='"+textrisk+"',textfund='"+textfund+"',textrecomendation='"+textrecomendation+"',";
|
qry = qry +"textstrategic='"+textstrategic+"',textbussiness='"+textbussiness+"',textrisk='"+textrisk+"',textfund='"+textfund+"',textrecomendation='"+textrecomendation+"',";
|
||||||
qry = qry +"textschedule='"+textschedule+"',status='"+status+"',statusdescription='"+statusdescription+"',filedoc='"+filedoc+"',iby='"+nik+"',idt=now()";
|
qry = qry +"textschedule='"+textschedule+"',status='"+status+"',statusdescription='"+statusdescription+"',filedoc='"+filedoc+"'"+currencyFieldsJ+",iby='"+nik+"',idt=now()";
|
||||||
// console.log(qry);
|
// console.log(qry);
|
||||||
db.query(qry,[],function(err,result,fields){
|
db.query(qry,[],function(err,result,fields){
|
||||||
if(err){
|
if(err){
|
||||||
@ -240,12 +245,17 @@ class JustificationAdapter extends Adapter{
|
|||||||
let filedocqry = "filedoc='"+filedoc+"',";
|
let filedocqry = "filedoc='"+filedoc+"',";
|
||||||
if(filename==""){filedocqry="";}
|
if(filename==""){filedocqry="";}
|
||||||
|
|
||||||
|
let currency_id_ju = req.body.currency_id ?? null;
|
||||||
|
let currencyFieldsJU = currency_id_ju
|
||||||
|
? ",currency_id='"+currency_id_ju+"',rate_snapshot=(select rate from tbl_currency where _idx='"+currency_id_ju+"' and isdeleted=0 limit 1)"
|
||||||
|
: ",currency_id=NULL,rate_snapshot=NULL";
|
||||||
|
|
||||||
// console.log(filedocqry);
|
// console.log(filedocqry);
|
||||||
let qry = "update tbl_justification ";
|
let qry = "update tbl_justification ";
|
||||||
qry = qry +"set idxrequestbudget='"+idxrequestbudget+"', trxid='"+trxid+"',justificationnumber='"+justificationnumber+"',title='"+title+"',division='"+division+"',";
|
qry = qry +"set idxrequestbudget='"+idxrequestbudget+"', trxid='"+trxid+"',justificationnumber='"+justificationnumber+"',title='"+title+"',division='"+division+"',";
|
||||||
qry = qry +"glacc='"+glacc+"',description='"+description+"',budgettype='"+budgettype+"',amount='"+amount+"',useddate='"+useddate+"',textpurpose='"+textpurpose+"',textintroduce='"+textintroduce+"',";
|
qry = qry +"glacc='"+glacc+"',description='"+description+"',budgettype='"+budgettype+"',amount='"+amount+"',useddate='"+useddate+"',textpurpose='"+textpurpose+"',textintroduce='"+textintroduce+"',";
|
||||||
qry = qry +"textstrategic='"+textstrategic+"',textbussiness='"+textbussiness+"',textrisk='"+textrisk+"',textfund='"+textfund+"',textrecomendation='"+textrecomendation+"',";
|
qry = qry +"textstrategic='"+textstrategic+"',textbussiness='"+textbussiness+"',textrisk='"+textrisk+"',textfund='"+textfund+"',textrecomendation='"+textrecomendation+"',";
|
||||||
qry = qry +"textschedule='"+textschedule+"',"+filedocqry+"uby='"+nik+"',udt=now() ";
|
qry = qry +"textschedule='"+textschedule+"',"+filedocqry+currencyFieldsJU.substring(1)+",uby='"+nik+"',udt=now() ";
|
||||||
qry = qry +"where _idx='"+idxjustification+"'";
|
qry = qry +"where _idx='"+idxjustification+"'";
|
||||||
|
|
||||||
// console.log(qry);
|
// console.log(qry);
|
||||||
|
|||||||
@ -169,6 +169,11 @@ class PoAdapter extends Adapter {
|
|||||||
let ratepo = req.body.ratepo;
|
let ratepo = req.body.ratepo;
|
||||||
let migo = req.body.migo;
|
let migo = req.body.migo;
|
||||||
let idxpoold = req.body.idxpoold;
|
let idxpoold = req.body.idxpoold;
|
||||||
|
let currency_id = req.body.currency_id ?? null;
|
||||||
|
|
||||||
|
let currencyFieldsPo = currency_id
|
||||||
|
? ",currency_id='"+currency_id+"',rate_snapshot=(select rate from tbl_currency where _idx='"+currency_id+"' and isdeleted=0 limit 1)"
|
||||||
|
: ",currency_id=NULL,rate_snapshot=NULL";
|
||||||
|
|
||||||
let qry = "";
|
let qry = "";
|
||||||
if (idxpoold != idxpo && idxpoold != 0) {
|
if (idxpoold != idxpo && idxpoold != 0) {
|
||||||
@ -231,7 +236,7 @@ class PoAdapter extends Adapter {
|
|||||||
status +
|
status +
|
||||||
"',statusdescription='" +
|
"',statusdescription='" +
|
||||||
statusdescription +
|
statusdescription +
|
||||||
"',iby='" +
|
"'" + currencyFieldsPo + ",iby='" +
|
||||||
nik +
|
nik +
|
||||||
"',idt=now()";
|
"',idt=now()";
|
||||||
if (result.length > 0) {
|
if (result.length > 0) {
|
||||||
@ -561,7 +566,10 @@ class PoAdapter extends Adapter {
|
|||||||
apires.meta["code"] = 500;
|
apires.meta["code"] = 500;
|
||||||
callback("err", apires);
|
callback("err", apires);
|
||||||
} else {
|
} else {
|
||||||
qry = "select * from vw_po where _idx='" + idxpo + "'";
|
qry = "select v.*, po.currency_id, po.rate_snapshot, c.currency AS currency_code, c.symbol AS currency_symbol "
|
||||||
|
+ "from vw_po v left join tbl_po po on po._idx = v._idx "
|
||||||
|
+ "left join tbl_currency c on c._idx = po.currency_id "
|
||||||
|
+ "where v._idx='" + idxpo + "'";
|
||||||
db.query(qry, [], function (err, result1, fields) {
|
db.query(qry, [], function (err, result1, fields) {
|
||||||
if (err) {
|
if (err) {
|
||||||
apires.meta["message"] = err.toString();
|
apires.meta["message"] = err.toString();
|
||||||
@ -688,7 +696,10 @@ class PoAdapter extends Adapter {
|
|||||||
return result3;
|
return result3;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
qry = "select * from vw_po where _idx='" + idxpo + "'";
|
qry = "select v.*, po.currency_id, po.rate_snapshot, c.currency AS currency_code, c.symbol AS currency_symbol "
|
||||||
|
+ "from vw_po v left join tbl_po po on po._idx = v._idx "
|
||||||
|
+ "left join tbl_currency c on c._idx = po.currency_id "
|
||||||
|
+ "where v._idx='" + idxpo + "'";
|
||||||
db.query(qry, [], function (err, result1, fields) {
|
db.query(qry, [], function (err, result1, fields) {
|
||||||
if (err) {
|
if (err) {
|
||||||
apires.meta["message"] = err.toString();
|
apires.meta["message"] = err.toString();
|
||||||
@ -1053,7 +1064,10 @@ class PoAdapter extends Adapter {
|
|||||||
apires.meta["code"] = 500;
|
apires.meta["code"] = 500;
|
||||||
callback("err", apires);
|
callback("err", apires);
|
||||||
} else {
|
} else {
|
||||||
qry = "select * from vw_po where _idx='" + idxpo + "'";
|
qry = "select v.*, po.currency_id, po.rate_snapshot, c.currency AS currency_code, c.symbol AS currency_symbol "
|
||||||
|
+ "from vw_po v left join tbl_po po on po._idx = v._idx "
|
||||||
|
+ "left join tbl_currency c on c._idx = po.currency_id "
|
||||||
|
+ "where v._idx='" + idxpo + "'";
|
||||||
db.query(qry, [], function (err, result1, fields) {
|
db.query(qry, [], function (err, result1, fields) {
|
||||||
if (err) {
|
if (err) {
|
||||||
apires.meta["message"] = err.toString();
|
apires.meta["message"] = err.toString();
|
||||||
@ -1112,7 +1126,10 @@ class PoAdapter extends Adapter {
|
|||||||
apires.meta["code"] = 500;
|
apires.meta["code"] = 500;
|
||||||
callback("err", apires);
|
callback("err", apires);
|
||||||
} else {
|
} else {
|
||||||
qry = "select * from vw_po where _idx='" + idxpo + "'";
|
qry = "select v.*, po.currency_id, po.rate_snapshot, c.currency AS currency_code, c.symbol AS currency_symbol "
|
||||||
|
+ "from vw_po v left join tbl_po po on po._idx = v._idx "
|
||||||
|
+ "left join tbl_currency c on c._idx = po.currency_id "
|
||||||
|
+ "where v._idx='" + idxpo + "'";
|
||||||
db.query(qry, [], function (err, result1, fields) {
|
db.query(qry, [], function (err, result1, fields) {
|
||||||
if (err) {
|
if (err) {
|
||||||
apires.meta["message"] = err.toString();
|
apires.meta["message"] = err.toString();
|
||||||
@ -1180,7 +1197,10 @@ class PoAdapter extends Adapter {
|
|||||||
apires.meta["code"] = 500;
|
apires.meta["code"] = 500;
|
||||||
callback("err", apires);
|
callback("err", apires);
|
||||||
} else {
|
} else {
|
||||||
qry = "select * from vw_po where _idx='" + idxpo + "'";
|
qry = "select v.*, po.currency_id, po.rate_snapshot, c.currency AS currency_code, c.symbol AS currency_symbol "
|
||||||
|
+ "from vw_po v left join tbl_po po on po._idx = v._idx "
|
||||||
|
+ "left join tbl_currency c on c._idx = po.currency_id "
|
||||||
|
+ "where v._idx='" + idxpo + "'";
|
||||||
db.query(qry, [], function (err, result1, fields) {
|
db.query(qry, [], function (err, result1, fields) {
|
||||||
if (err) {
|
if (err) {
|
||||||
apires.meta["message"] = err.toString();
|
apires.meta["message"] = err.toString();
|
||||||
@ -1657,7 +1677,10 @@ class PoAdapter extends Adapter {
|
|||||||
let keyword = req.query.keyword;
|
let keyword = req.query.keyword;
|
||||||
let nik = req.body.nik;
|
let nik = req.body.nik;
|
||||||
|
|
||||||
let qry = "select * from vw_po ";
|
let qryBase = "select v.*, po.currency_id, po.rate_snapshot, c.currency AS currency_code, c.symbol AS currency_symbol ";
|
||||||
|
qryBase += "from vw_po v left join tbl_po po on po._idx = v._idx ";
|
||||||
|
qryBase += "left join tbl_currency c on c._idx = po.currency_id ";
|
||||||
|
let qry = qryBase;
|
||||||
qry =
|
qry =
|
||||||
qry +
|
qry +
|
||||||
"where trim(ponumber) like '%" +
|
"where trim(ponumber) like '%" +
|
||||||
@ -1689,7 +1712,7 @@ class PoAdapter extends Adapter {
|
|||||||
"totalpage": pagination,
|
"totalpage": pagination,
|
||||||
"totalrows": result.length,
|
"totalrows": result.length,
|
||||||
});
|
});
|
||||||
qry = "select * from vw_po ";
|
qry = qryBase;
|
||||||
qry = qry + "where trim(ponumber) like '%" + keyword + "%' and ponumber<>'000' and status in (2,3,4,5,6)";
|
qry = qry + "where trim(ponumber) like '%" + keyword + "%' and ponumber<>'000' and status in (2,3,4,5,6)";
|
||||||
if (nik) {
|
if (nik) {
|
||||||
if (!proc_users.includes(nik)) {
|
if (!proc_users.includes(nik)) {
|
||||||
@ -1735,7 +1758,10 @@ class PoAdapter extends Adapter {
|
|||||||
let nik = req.query.nik;
|
let nik = req.query.nik;
|
||||||
// let nik = req.body.nik;
|
// let nik = req.body.nik;
|
||||||
|
|
||||||
let qry = "select * from vw_po ";
|
let qryBase = "select v.*, po.currency_id, po.rate_snapshot, c.currency AS currency_code, c.symbol AS currency_symbol ";
|
||||||
|
qryBase += "from vw_po v left join tbl_po po on po._idx = v._idx ";
|
||||||
|
qryBase += "left join tbl_currency c on c._idx = po.currency_id ";
|
||||||
|
let qry = qryBase;
|
||||||
qry =
|
qry =
|
||||||
qry +
|
qry +
|
||||||
"where trim(ponumber) like '%" +
|
"where trim(ponumber) like '%" +
|
||||||
@ -1765,7 +1791,7 @@ class PoAdapter extends Adapter {
|
|||||||
"totalpage": pagination,
|
"totalpage": pagination,
|
||||||
"totalrows": result.length,
|
"totalrows": result.length,
|
||||||
});
|
});
|
||||||
qry = "select * from vw_po ";
|
qry = qryBase;
|
||||||
qry =
|
qry =
|
||||||
qry +
|
qry +
|
||||||
"where trim(ponumber) like '%" +
|
"where trim(ponumber) like '%" +
|
||||||
@ -1869,7 +1895,10 @@ class PoAdapter extends Adapter {
|
|||||||
let keyword = req.query.keyword;
|
let keyword = req.query.keyword;
|
||||||
// let nik = req.body.nik;
|
// let nik = req.body.nik;
|
||||||
|
|
||||||
let qry = "select * from vw_po ";
|
let qryBase = "select v.*, po.currency_id, po.rate_snapshot, c.currency AS currency_code, c.symbol AS currency_symbol ";
|
||||||
|
qryBase += "from vw_po v left join tbl_po po on po._idx = v._idx ";
|
||||||
|
qryBase += "left join tbl_currency c on c._idx = po.currency_id ";
|
||||||
|
let qry = qryBase;
|
||||||
qry =
|
qry =
|
||||||
qry +
|
qry +
|
||||||
"where trim(ponumber) like '%" +
|
"where trim(ponumber) like '%" +
|
||||||
@ -1895,7 +1924,7 @@ class PoAdapter extends Adapter {
|
|||||||
"totalpage": pagination,
|
"totalpage": pagination,
|
||||||
"totalrows": result.length,
|
"totalrows": result.length,
|
||||||
});
|
});
|
||||||
qry = "select * from vw_po ";
|
qry = qryBase;
|
||||||
qry =
|
qry =
|
||||||
qry +
|
qry +
|
||||||
"where trim(ponumber) like '%" +
|
"where trim(ponumber) like '%" +
|
||||||
@ -2028,7 +2057,10 @@ class PoAdapter extends Adapter {
|
|||||||
try {
|
try {
|
||||||
let idxpo = req.query.idxpo || req.body.idxpo;
|
let idxpo = req.query.idxpo || req.body.idxpo;
|
||||||
|
|
||||||
let qry = "select * from vw_po where _idx='" + idxpo + "'";
|
let qry = "select v.*, po.currency_id, po.rate_snapshot, c.currency AS currency_code, c.symbol AS currency_symbol "
|
||||||
|
+ "from vw_po v left join tbl_po po on po._idx = v._idx "
|
||||||
|
+ "left join tbl_currency c on c._idx = po.currency_id "
|
||||||
|
+ "where v._idx='" + idxpo + "'";
|
||||||
|
|
||||||
// console.log(qry);
|
// console.log(qry);
|
||||||
db.query(qry, [], function (err, result, fields) {
|
db.query(qry, [], function (err, result, fields) {
|
||||||
@ -2355,7 +2387,10 @@ class PoAdapter extends Adapter {
|
|||||||
let keyword = req.query.keyword;
|
let keyword = req.query.keyword;
|
||||||
let nik = req.query.nik;
|
let nik = req.query.nik;
|
||||||
|
|
||||||
let qry = "select * from vw_po ";
|
let qryBase = "select v.*, po.currency_id, po.rate_snapshot, c.currency AS currency_code, c.symbol AS currency_symbol ";
|
||||||
|
qryBase += "from vw_po v left join tbl_po po on po._idx = v._idx ";
|
||||||
|
qryBase += "left join tbl_currency c on c._idx = po.currency_id ";
|
||||||
|
let qry = qryBase;
|
||||||
qry =
|
qry =
|
||||||
qry +
|
qry +
|
||||||
"where (trim(ponumber) like '%" +
|
"where (trim(ponumber) like '%" +
|
||||||
@ -2711,7 +2746,10 @@ class PoAdapter extends Adapter {
|
|||||||
apires.meta["code"] = 500;
|
apires.meta["code"] = 500;
|
||||||
callback("err", apires);
|
callback("err", apires);
|
||||||
} else {
|
} else {
|
||||||
qry = "select * from vw_po where _idx='" + idxpo + "'";
|
qry = "select v.*, po.currency_id, po.rate_snapshot, c.currency AS currency_code, c.symbol AS currency_symbol "
|
||||||
|
+ "from vw_po v left join tbl_po po on po._idx = v._idx "
|
||||||
|
+ "left join tbl_currency c on c._idx = po.currency_id "
|
||||||
|
+ "where v._idx='" + idxpo + "'";
|
||||||
db.query(qry, [], function (err, result1, fields) {
|
db.query(qry, [], function (err, result1, fields) {
|
||||||
if (err) {
|
if (err) {
|
||||||
apires.meta["message"] = err.toString();
|
apires.meta["message"] = err.toString();
|
||||||
|
|||||||
@ -99,6 +99,11 @@ class PrAdapter extends Adapter {
|
|||||||
let nik = req.body.nik;
|
let nik = req.body.nik;
|
||||||
let status = -1;
|
let status = -1;
|
||||||
let statusdescription = "draft";
|
let statusdescription = "draft";
|
||||||
|
let currency_id = req.body.currency_id ?? null;
|
||||||
|
|
||||||
|
let currencyFieldsPr = currency_id
|
||||||
|
? ",currency_id='"+currency_id+"',rate_snapshot=(select rate from tbl_currency where _idx='"+currency_id+"' and isdeleted=0 limit 1)"
|
||||||
|
: ",currency_id=NULL,rate_snapshot=NULL";
|
||||||
|
|
||||||
let qry = "insert into tbl_pr ";
|
let qry = "insert into tbl_pr ";
|
||||||
qry =
|
qry =
|
||||||
@ -146,7 +151,7 @@ class PrAdapter extends Adapter {
|
|||||||
idxapproval +
|
idxapproval +
|
||||||
"',nikapproval='" +
|
"',nikapproval='" +
|
||||||
nikapproval +
|
nikapproval +
|
||||||
"',iby='" +
|
"'" + currencyFieldsPr + ",iby='" +
|
||||||
nik +
|
nik +
|
||||||
"',idt=now()";
|
"',idt=now()";
|
||||||
console.log(qry);
|
console.log(qry);
|
||||||
@ -193,6 +198,11 @@ class PrAdapter extends Adapter {
|
|||||||
let nik = req.body.nik;
|
let nik = req.body.nik;
|
||||||
let status = -1;
|
let status = -1;
|
||||||
let statusdescription = "draft";
|
let statusdescription = "draft";
|
||||||
|
let currency_id_upd = req.body.currency_id ?? null;
|
||||||
|
|
||||||
|
let currencyFieldsPrUpd = currency_id_upd
|
||||||
|
? ",currency_id='"+currency_id_upd+"',rate_snapshot=(select rate from tbl_currency where _idx='"+currency_id_upd+"' and isdeleted=0 limit 1)"
|
||||||
|
: ",currency_id=NULL,rate_snapshot=NULL";
|
||||||
|
|
||||||
let qry = "update tbl_pr ";
|
let qry = "update tbl_pr ";
|
||||||
qry =
|
qry =
|
||||||
@ -237,7 +247,7 @@ class PrAdapter extends Adapter {
|
|||||||
status +
|
status +
|
||||||
"',statusdescription='" +
|
"',statusdescription='" +
|
||||||
statusdescription +
|
statusdescription +
|
||||||
"',uby='" +
|
"'" + currencyFieldsPrUpd + ",uby='" +
|
||||||
nik +
|
nik +
|
||||||
"',udt=now() ";
|
"',udt=now() ";
|
||||||
qry = qry + "where _idx='" + idxpr + "'";
|
qry = qry + "where _idx='" + idxpr + "'";
|
||||||
@ -357,7 +367,11 @@ class PrAdapter extends Adapter {
|
|||||||
try {
|
try {
|
||||||
let _idx = req.query.id;
|
let _idx = req.query.id;
|
||||||
|
|
||||||
let qry = "select * from vw_pr where id='" + _idx + "'";
|
let qry = "select v.*, p.currency_id, p.rate_snapshot, c.currency AS currency_code, c.symbol AS currency_symbol ";
|
||||||
|
qry += "from vw_pr v ";
|
||||||
|
qry += "left join tbl_pr p on p._idx = v.id ";
|
||||||
|
qry += "left join tbl_currency c on c._idx = p.currency_id ";
|
||||||
|
qry += "where v.id='" + _idx + "'";
|
||||||
|
|
||||||
// console.log(qry);
|
// console.log(qry);
|
||||||
db.query(qry, [], function (err, result, fields) {
|
db.query(qry, [], function (err, result, fields) {
|
||||||
@ -406,7 +420,11 @@ class PrAdapter extends Adapter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let qry = "select * from vw_pr ";
|
let qryBase = "select v.*, p.currency_id, p.rate_snapshot, c.currency AS currency_code, c.symbol AS currency_symbol ";
|
||||||
|
qryBase += "from vw_pr v ";
|
||||||
|
qryBase += "left join tbl_pr p on p._idx = v.id ";
|
||||||
|
qryBase += "left join tbl_currency c on c._idx = p.currency_id ";
|
||||||
|
let qry = qryBase;
|
||||||
qry +=
|
qry +=
|
||||||
"where (trim(trxidpr) like '%" +
|
"where (trim(trxidpr) like '%" +
|
||||||
keyword +
|
keyword +
|
||||||
@ -434,7 +452,7 @@ class PrAdapter extends Adapter {
|
|||||||
"totalpage": pagination,
|
"totalpage": pagination,
|
||||||
"totalrows": result.length,
|
"totalrows": result.length,
|
||||||
});
|
});
|
||||||
qry = "select * from vw_pr ";
|
qry = qryBase;
|
||||||
qry =
|
qry =
|
||||||
qry +
|
qry +
|
||||||
"where (trim(trxidpr) like '%" +
|
"where (trim(trxidpr) like '%" +
|
||||||
|
|||||||
Reference in New Issue
Block a user