update addmonth_v to manifest iteration changes

This commit is contained in:
Trowbridge 2019-03-13 13:07:07 -04:00
parent 45fc2255eb
commit 2352a898be
4 changed files with 36 additions and 20 deletions

View File

@ -104,6 +104,7 @@ server.get('/scenario_package', bodyParser.json(), function (req, res) {
//parse the where clause into the main sql statement //parse the where clause into the main sql statement
sql = sql.replace(new RegExp("where_clause",'g'),w) sql = sql.replace(new RegExp("where_clause",'g'),w)
//execute the sql and send the result //execute the sql and send the result
//console.log(sql);
Postgres.FirstRow(sql,[],res) Postgres.FirstRow(sql,[],res)
}; };
@ -122,7 +123,8 @@ server.post('/addmonth_v', bodyParser.json(), function (req, res) {
var sql = ""; var sql = "";
var w = ""; var w = "";
var c = 1; var c = 1; //counts iterations through each scaenario key
var d = 1; //counts cycles in scenario key values which are arrays
var args = []; var args = [];
var path = './route_sql/addmonth_vd.sql'; var path = './route_sql/addmonth_vd.sql';
@ -137,7 +139,21 @@ server.post('/addmonth_v', bodyParser.json(), function (req, res) {
` `
AND ` AND `
} }
if (Array.isArray(req.body.scenario[i])){
//if the scenario key has a value that is an array of items, push it into an `IN` statement
//iter = [stage1, stage2] --> SQL --> iter IN ('stag1', stage2')
w = w + i + " IN (";
for (var j in req.body.scenario[i]){
if (d>1){
w = w + ",";
}
w = w + "'" + req.body.scenario[i][j] + "'";
d = d + 1;
}
w = w + ")"
} else {
w = w + i + " = '" + req.body.scenario[i] + "'"; w = w + i + " = '" + req.body.scenario[i] + "'";
}
args.push(req.body.scenario[i]); args.push(req.body.scenario[i]);
c = c + 1; c = c + 1;
}; };
@ -151,7 +167,12 @@ server.post('/addmonth_v', bodyParser.json(), function (req, res) {
sql = sql.replace(new RegExp("scenario = target_scenario",'g'),w); sql = sql.replace(new RegExp("scenario = target_scenario",'g'),w);
sql = sql.replace(new RegExp("target_increment",'g'),req.body.amount); sql = sql.replace(new RegExp("target_increment",'g'),req.body.amount);
sql = sql.replace(new RegExp("target_month",'g'),req.body.month); sql = sql.replace(new RegExp("target_month",'g'),req.body.month);
sql = sql.replace(new RegExp("replace_version",'g'),req.body.scenario.version);
sql = sql.replace(new RegExp("replace_iteration",'g'),"tool volume");
sql = sql.replace(new RegExp("replace_iterdet",'g'),"addmonth_vd");
sql = sql.replace(new RegExp("replace_iterdef",'g'),JSON.stringify(req.body));
//console.log(sql); //console.log(sql);
console.log(sql)
Postgres.FirstRow(sql,[],res) Postgres.FirstRow(sql,[],res)
} }

View File

@ -4,12 +4,11 @@
"ship_month": "Mar", "ship_month": "Mar",
"order_season": 2019, "order_season": 2019,
"order_month": "Mar", "order_month": "Mar",
"version": "9p3"
},
"version": "9p3", "version": "9p3",
"iter": [ "iter": [
"forecast" "forecast"
], ]
},
"adj_amount": -1248994, "adj_amount": -1248994,
"adj_qty": -2828623, "adj_qty": -2828623,
"tar_amount": 5335749, "tar_amount": 5335749,
@ -17,5 +16,5 @@
"stamp": "2019-03-01 10:00:00", "stamp": "2019-03-01 10:00:00",
"user": "Trowbridge, Paul", "user": "Trowbridge, Paul",
"type": "scale_vp", "type": "scale_vp",
"source":"forecast ui" "source": "forecast ui"
} }

View File

@ -213,8 +213,6 @@ SELECT
,null::date adj_orderdate --history ,null::date adj_orderdate --history
,null::date adj_requestdate --history ,null::date adj_requestdate --history
,null::date adj_shipdate --history ,null::date adj_shipdate --history
,'b20' "version" --calculated
,'adjustment' iter --calculated
---------------ui columns------------------------- ---------------ui columns-------------------------
,null::numeric order_season ,null::numeric order_season
,null::text order_month ,null::text order_month
@ -251,8 +249,6 @@ SELECT
-----------------scenario---------------------------- -----------------scenario----------------------------
scenario = target_scenario scenario = target_scenario
-----------------additional params------------------- -----------------additional params-------------------
AND version = 'b20'
AND iter = 'copy'
AND calc_status||flag <> 'CLOSEDREMAINDER' --exclude short ships when building order adjustments AND calc_status||flag <> 'CLOSEDREMAINDER' --exclude short ships when building order adjustments
AND adj_orderdate <= adj_shipdate AND adj_orderdate <= adj_shipdate
GROUP BY GROUP BY
@ -398,11 +394,11 @@ SELECT
,make_date(mseq.yr + 2020,mseq.cal,m.odom) adj_orderdate ,make_date(mseq.yr + 2020,mseq.cal,m.odom) adj_orderdate
,make_date(mseq.yr + 2020,mseq.cal,m.odom) + rlag adj_requestdate ,make_date(mseq.yr + 2020,mseq.cal,m.odom) + rlag adj_requestdate
,make_date(mseq.yr + 2020,mseq.cal,m.odom) + rlag + slag adj_shipdate ,make_date(mseq.yr + 2020,mseq.cal,m.odom) + rlag + slag adj_shipdate
,b.version --calculated ,'replace_version' "version" --calculated
,b.iter --calculated ,'replace_iteration' iter --calculated
-----------------------ui columns-------------------------------- -----------------------ui columns--------------------------------
,'adjust volume' iterdet ,'replace_iterdet' iterdet
,null::jsonb iterdef ,$$replace_iterdef$$::jsonb iterdef
,od.ssyr order_season ,od.ssyr order_season
,to_char(make_date(mseq.yr + 2020,mseq.cal,m.odom),'Mon') order_month ,to_char(make_date(mseq.yr + 2020,mseq.cal,m.odom),'Mon') order_month
,sd.ssyr ship_season ,sd.ssyr ship_season

View File

@ -71,12 +71,12 @@ GROUP BY
,seq ,seq
,SUM(units) FILTER (WHERE order_season = 2019) "2019 qty" ,SUM(units) FILTER (WHERE order_season = 2019) "2019 qty"
,SUM(units) FILTER (WHERE order_season = 2020 AND iter = 'copy') "2020 base qty" ,SUM(units) FILTER (WHERE order_season = 2020 AND iter = 'copy') "2020 base qty"
,SUM(units) FILTER (WHERE order_season = 2020 AND iter = 'adjustment') "2020 adj qty" ,SUM(units) FILTER (WHERE order_season = 2020 AND iter <> 'copy') "2020 adj qty"
,SUM(units) FILTER (WHERE order_season = 2020 AND iter IN ('copy','adjustment')) "2020 tot qty" ,SUM(units) FILTER (WHERE order_season = 2020) "2020 tot qty"
,SUM(value_usd) FILTER (WHERE order_season = 2019) "2019 value_usd" ,SUM(value_usd) FILTER (WHERE order_season = 2019) "2019 value_usd"
,SUM(value_usd) FILTER (WHERE order_season = 2020 AND iter = 'copy') "2020 base value_usd" ,SUM(value_usd) FILTER (WHERE order_season = 2020 AND iter = 'copy') "2020 base value_usd"
,SUM(value_usd) FILTER (WHERE order_season = 2020 AND iter = 'adjustment') "2020 adj value_usd" ,SUM(value_usd) FILTER (WHERE order_season = 2020 AND iter <> 'copy') "2020 adj value_usd"
,SUM(value_usd) FILTER (WHERE order_season = 2020 AND iter IN ('copy','adjustment')) "2020 tot value_usd" ,SUM(value_usd) FILTER (WHERE order_season = 2020) "2020 tot value_usd"
FROM FROM
months months
GROUP BY GROUP BY