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,12 +16,16 @@ class BudgetAdapter extends Adapter{
|
||||
let offset = req.body.offset;
|
||||
let keyword = req.body.keyword;
|
||||
|
||||
let qry = "select * from vw_budgetcapexinfo ";
|
||||
qry = qry +"where (trim(budgetid) like '%"+ keyword +"%' or trim(activityname) like '%"+ keyword +"%') order by id asc";
|
||||
let qryBase = "select v.*, b.currency_id, b.rate_snapshot, c.currency AS currency_code, c.symbol AS currency_symbol ";
|
||||
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);
|
||||
db.query(qry,[],function(err,result,fields){
|
||||
if(err){
|
||||
if(err){
|
||||
apires.meta['message'] = err.toString();
|
||||
apires.meta['code'] = 500;
|
||||
callback('err',apires);
|
||||
@ -39,8 +43,7 @@ class BudgetAdapter extends Adapter{
|
||||
"totalpage": pagination,
|
||||
"totalrows": result.length
|
||||
});
|
||||
qry = "select * from vw_budgetcapexinfo ";
|
||||
qry = qry +"where (trim(budgetid) like '%"+ keyword +"%' or trim(activityname) like '%"+ keyword +"%') order by id asc limit " + offset + ", " + limit;
|
||||
qry = qryBase + "order by v.id asc limit " + offset + ", " + limit;
|
||||
db.query(qry,[],function(err,result,fields){
|
||||
if(err){
|
||||
apires.meta['message'] = err.toString();
|
||||
@ -80,8 +83,11 @@ class BudgetAdapter extends Adapter{
|
||||
|
||||
let id = req.query.id;
|
||||
// console.log(req);
|
||||
let qry = "select * from vw_budgetcapexinfo ";
|
||||
qry = qry +"where id='"+id+"' order by id asc limit 1";
|
||||
let qry = "select v.*, b.currency_id, b.rate_snapshot, c.currency AS currency_code, c.symbol AS currency_symbol ";
|
||||
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);
|
||||
db.query(qry,[],function(err,result,fields){
|
||||
@ -190,10 +196,15 @@ class BudgetAdapter extends Adapter{
|
||||
let months = req.body.months;
|
||||
let years = req.body.years;
|
||||
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 ";
|
||||
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);
|
||||
db.query(qry,[],function(err,result,fields){
|
||||
@ -232,10 +243,15 @@ class BudgetAdapter extends Adapter{
|
||||
let years = req.body.years;
|
||||
let nik = req.body.nik;
|
||||
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 ";
|
||||
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+"'";
|
||||
|
||||
// console.log(qry);
|
||||
@ -282,11 +298,16 @@ class BudgetAdapter extends Adapter{
|
||||
let targetrfs = req.body.targetrfs;
|
||||
let crdb = "K";
|
||||
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 ";
|
||||
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 +"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);
|
||||
db.query(qry,[],function(err,result,fields){
|
||||
@ -366,10 +387,15 @@ class BudgetAdapter extends Adapter{
|
||||
let nik = req.body.nik;
|
||||
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 ";
|
||||
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 +"amount='"+amount+"',crdb='"+crdb+"',uby='"+nik+"',udt=now() ";
|
||||
qry = qry +"amount='"+amount+"',crdb='"+crdb+"'"+currencyFieldsUpd+",uby='"+nik+"',udt=now() ";
|
||||
qry = qry +"where _idx='"+idreqbudget+"'";
|
||||
|
||||
// console.log(qry);
|
||||
@ -435,13 +461,17 @@ class BudgetAdapter extends Adapter{
|
||||
let keyword = req.body.keyword;
|
||||
let nik = req.body.nik;
|
||||
|
||||
let qry = "select * from vw_requestbudget ";
|
||||
qry = qry +"where (trim(budgetid) like '%"+ keyword +"%' or trim(activityname) like '%"+ keyword +"%') ";
|
||||
qry = qry +"and iby='"+nik+"' order by id asc";
|
||||
let qryBaseRb = "select v.*, r.currency_id, r.rate_snapshot, c.currency AS currency_code, c.symbol AS currency_symbol ";
|
||||
qryBaseRb += "from vw_requestbudget v ";
|
||||
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);
|
||||
db.query(qry,[],function(err,result,fields){
|
||||
if(err){
|
||||
if(err){
|
||||
apires.meta['message'] = err.toString();
|
||||
apires.meta['code'] = 500;
|
||||
callback('err',apires);
|
||||
@ -459,9 +489,7 @@ class BudgetAdapter extends Adapter{
|
||||
"totalpage": pagination,
|
||||
"totalrows": result.length
|
||||
});
|
||||
qry = "select * from vw_requestbudget ";
|
||||
qry = qry +"where (trim(budgetid) like '%"+ keyword +"%' or trim(activityname) like '%"+ keyword +"%') ";
|
||||
qry = qry +"and iby='"+nik+"' order by id asc limit " + offset + ", " + limit;
|
||||
qry = qryBaseRb + "order by v.id asc limit " + offset + ", " + limit;
|
||||
db.query(qry,[],function(err,result,fields){
|
||||
if(err){
|
||||
apires.meta['message'] = err.toString();
|
||||
@ -500,8 +528,11 @@ class BudgetAdapter extends Adapter{
|
||||
|
||||
let id = req.query.id;
|
||||
// console.log(req);
|
||||
let qry = "select * from vw_requestbudget ";
|
||||
qry = qry +"where id='"+id+"' order by id asc limit 1";
|
||||
let qry = "select v.*, r.currency_id, r.rate_snapshot, c.currency AS currency_code, c.symbol AS currency_symbol ";
|
||||
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);
|
||||
db.query(qry,[],function(err,result,fields){
|
||||
|
||||
Reference in New Issue
Block a user