add scale for volume and price
This commit is contained in:
parent
afc002634b
commit
7432d51f93
138
index.js
138
index.js
@ -2412,7 +2412,7 @@ server.get('/scale_vp', bodyParser.json(), function (req, res) {
|
||||
//console.log(args);
|
||||
w =
|
||||
`WITH
|
||||
target AS (select ` + req.body.amount +` incr)
|
||||
target AS (select ` + req.body.qty + ` vincr, `+ req.body.amount +` pincr)
|
||||
,basemix AS (
|
||||
SELECT
|
||||
plnt ---master data
|
||||
@ -2605,13 +2605,133 @@ server.get('/scale_vp', bodyParser.json(), function (req, res) {
|
||||
,quota_rep_descr
|
||||
,director_descr
|
||||
)
|
||||
,scale AS (
|
||||
,vscale AS (
|
||||
SELECT
|
||||
(SELECT incr::numeric FROM target) incr
|
||||
,(SELECT sum(fb_val_loc *r_rate) FROM basemix) base
|
||||
,(SELECT incr::numeric FROM target)/(SELECT sum(fb_val_loc *r_rate) FROM basemix) factor
|
||||
(SELECT vincr::numeric FROM target) incr
|
||||
,(SELECT sum(fb_qty) FROM basemix) base
|
||||
,(SELECT vincr::numeric FROM target)/(SELECT sum(fb_qty) FROM basemix) factor
|
||||
)
|
||||
,final AS (
|
||||
,volume AS (
|
||||
SELECT
|
||||
b.plnt --master data
|
||||
,b."ddord#" --0
|
||||
,b."dditm#" --0
|
||||
,b."fgbol#" --0
|
||||
,b."fgent#" --0
|
||||
,b."diinv#" --0
|
||||
,b."dilin#" --0
|
||||
,b.promo --history date mix
|
||||
,b.return_reas --0
|
||||
,b.terms --history cust mix
|
||||
,b.custpo --0
|
||||
,b.dhincr --0
|
||||
,b.diext --0
|
||||
,b.ditdis --0
|
||||
,b.dcodat --calculated date mix
|
||||
,b.ddqdat --calculated date mix
|
||||
,b.dcmdat --calculated date mix
|
||||
,b.dhidat --calculated date mix
|
||||
,b.fspr --calculated date mix
|
||||
,b.remit_to --master data
|
||||
,b.bill_class --master data
|
||||
,b.bill_cust --history cust mix
|
||||
,b.bill_rep --master data
|
||||
,b.bill_terr --master data
|
||||
,b.ship_class --master data
|
||||
,b.ship_cust --history cust mix
|
||||
,b.ship_rep --master data
|
||||
,b.ship_terr --master data
|
||||
,b.quota_rep --master data
|
||||
,b.account --master data
|
||||
,b.shipgrp --master data
|
||||
,b.geo --master data
|
||||
,b.chan --master data
|
||||
,b.orig_ctry --master data
|
||||
,b.orig_prov --master data
|
||||
,b.orig_post --master data
|
||||
,b.dest_ctry --master data
|
||||
,b.dest_prov --master data
|
||||
,b.dest_post --master data
|
||||
,b.part --history part mix
|
||||
,b.ord_gldc --master data
|
||||
,b.majg --master data
|
||||
,b.ming --master data
|
||||
,b.majs --master data
|
||||
,b.mins --master data
|
||||
,b.gldc --master data
|
||||
,b.glec --master data
|
||||
,b.harm --master data
|
||||
,b.clss --master data
|
||||
,b.brand --master data
|
||||
,b.assc --master data
|
||||
,b.fs_line --master data
|
||||
,b.r_currency --history cust mix
|
||||
,b.r_rate --master data
|
||||
,b.c_currency --master data
|
||||
,b.c_rate --master data
|
||||
,b.ddqtoi --0
|
||||
,b.ddqtsi --0
|
||||
,b.fgqshp --0
|
||||
,b.diqtsh --0
|
||||
,b.fb_qty*s.factor fb_qty
|
||||
,b.fb_cst_loc*s.factor fb_cst_loc
|
||||
,b.fb_cst_loc_cur*s.factor fb_cst_loc_cur
|
||||
,b.fb_cst_loc_fut*s.factor fb_cst_loc_fut
|
||||
,b.fb_val_loc*s.factor fb_val_loc
|
||||
,b.fb_val_loc_pl*s.factor fb_val_loc_pl
|
||||
,b.calc_status --0
|
||||
,b.flag --0
|
||||
,b.orderdate
|
||||
,b.requestdate
|
||||
,b.shipdate
|
||||
,b.adj_orderdate
|
||||
,b.adj_requestdate
|
||||
,b.adj_shipdate
|
||||
,b.version --calculated
|
||||
,b.iter --calculated
|
||||
-----------------------ui columns--------------------------------
|
||||
,'scale vp' iterdet
|
||||
,null::jsonb iterdef
|
||||
,b.order_season
|
||||
,b.order_month
|
||||
,b.ship_season
|
||||
,b.ship_month
|
||||
,b.request_season
|
||||
,b.request_month
|
||||
,b.part_descr
|
||||
,b.part_family
|
||||
,b.part_group
|
||||
,b.branding
|
||||
,b.color
|
||||
,b.segm
|
||||
,b.bill_cust_descr
|
||||
,b.billto_group
|
||||
,b.ship_cust_descr
|
||||
,b.shipto_group
|
||||
,b.majg_descr
|
||||
,b.ming_descr
|
||||
,b.majs_descr
|
||||
,b.mins_descr
|
||||
,b.mod_chan
|
||||
,b.mod_chansub
|
||||
,b.quota_rep_descr
|
||||
,b.director_descr
|
||||
,(b.fb_val_loc*s.factor)::numeric value_loc
|
||||
,(b.fb_val_loc*s.factor*r_rate)::numeric value_usd
|
||||
,(b.fb_cst_loc*s.factor)::numeric cost_loc
|
||||
,(b.fb_cst_loc*s.factor*c_rate)::numeric cost_usd
|
||||
,(b.fb_qty*s.factor)::numeric units
|
||||
FROM
|
||||
basemix b
|
||||
CROSS JOIN vscale s
|
||||
)
|
||||
,pscale AS (
|
||||
SELECT
|
||||
(SELECT pincr::numeric FROM target) incr
|
||||
,(SELECT sum(fb_val_loc * r_rate) FROM volume) base
|
||||
,(SELECT pincr::numeric FROM target)/(SELECT sum(fb_val_loc) FROM volume) factor
|
||||
)
|
||||
,pricing AS (
|
||||
SELECT
|
||||
b.plnt --master data
|
||||
,b."ddord#" --0
|
||||
@ -2690,7 +2810,7 @@ server.get('/scale_vp', bodyParser.json(), function (req, res) {
|
||||
,b.version --calculated
|
||||
,b.iter --calculated
|
||||
-----------------------ui columns--------------------------------
|
||||
,'scale volume' iterdet
|
||||
,'scale vp' iterdet
|
||||
,null::jsonb iterdef
|
||||
,b.order_season
|
||||
,b.order_month
|
||||
@ -2723,11 +2843,11 @@ server.get('/scale_vp', bodyParser.json(), function (req, res) {
|
||||
,0 units
|
||||
FROM
|
||||
basemix b
|
||||
CROSS JOIN scale s
|
||||
CROSS JOIN pscale s
|
||||
)
|
||||
--select sum(value_usd), count(*) from final
|
||||
, ins AS (
|
||||
INSERT INTO rlarp.osm_fcpool SELECT * FROM final RETURNING *
|
||||
INSERT INTO rlarp.osm_fcpool SELECT * FROM pricing RETURNING *
|
||||
)
|
||||
,insagg AS (
|
||||
SELECT
|
||||
|
@ -196,13 +196,13 @@ SELECT
|
||||
,quota_rep_descr
|
||||
,director_descr
|
||||
)
|
||||
,scale AS (
|
||||
,vscale AS (
|
||||
SELECT
|
||||
(SELECT incr::numeric FROM target) incr
|
||||
,(SELECT sum(fb_val_loc *r_rate) FROM basemix) base
|
||||
,(SELECT incr::numeric FROM target)/(SELECT sum(fb_val_loc *r_rate) FROM basemix) factor
|
||||
(SELECT vincr::numeric FROM target) incr
|
||||
,(SELECT sum(fb_qty) FROM basemix) base
|
||||
,(SELECT vincr::numeric FROM target)/(SELECT sum(fb_qty) FROM basemix) factor
|
||||
)
|
||||
,final AS (
|
||||
,volume AS (
|
||||
SELECT
|
||||
b.plnt --master data
|
||||
,b."ddord#" --0
|
||||
@ -281,7 +281,7 @@ SELECT
|
||||
,b.version --calculated
|
||||
,b.iter --calculated
|
||||
-----------------------ui columns--------------------------------
|
||||
,'scale volume' iterdet
|
||||
,'scale vp' iterdet
|
||||
,null::jsonb iterdef
|
||||
,b.order_season
|
||||
,b.order_month
|
||||
@ -314,11 +314,131 @@ SELECT
|
||||
,(b.fb_qty*s.factor)::numeric units
|
||||
FROM
|
||||
basemix b
|
||||
CROSS JOIN scale s
|
||||
CROSS JOIN vscale s
|
||||
)
|
||||
,pscale AS (
|
||||
SELECT
|
||||
(SELECT pincr::numeric FROM target) incr
|
||||
,(SELECT sum(fb_val_loc * r_rate) FROM volume) base
|
||||
,(SELECT pincr::numeric FROM target)/(SELECT sum(fb_val_loc) FROM volume) factor
|
||||
)
|
||||
,pricing AS (
|
||||
SELECT
|
||||
b.plnt --master data
|
||||
,b."ddord#" --0
|
||||
,b."dditm#" --0
|
||||
,b."fgbol#" --0
|
||||
,b."fgent#" --0
|
||||
,b."diinv#" --0
|
||||
,b."dilin#" --0
|
||||
,b.promo --history date mix
|
||||
,b.return_reas --0
|
||||
,b.terms --history cust mix
|
||||
,b.custpo --0
|
||||
,b.dhincr --0
|
||||
,b.diext --0
|
||||
,b.ditdis --0
|
||||
,b.dcodat --calculated date mix
|
||||
,b.ddqdat --calculated date mix
|
||||
,b.dcmdat --calculated date mix
|
||||
,b.dhidat --calculated date mix
|
||||
,b.fspr --calculated date mix
|
||||
,b.remit_to --master data
|
||||
,b.bill_class --master data
|
||||
,b.bill_cust --history cust mix
|
||||
,b.bill_rep --master data
|
||||
,b.bill_terr --master data
|
||||
,b.ship_class --master data
|
||||
,b.ship_cust --history cust mix
|
||||
,b.ship_rep --master data
|
||||
,b.ship_terr --master data
|
||||
,b.quota_rep --master data
|
||||
,b.account --master data
|
||||
,b.shipgrp --master data
|
||||
,b.geo --master data
|
||||
,b.chan --master data
|
||||
,b.orig_ctry --master data
|
||||
,b.orig_prov --master data
|
||||
,b.orig_post --master data
|
||||
,b.dest_ctry --master data
|
||||
,b.dest_prov --master data
|
||||
,b.dest_post --master data
|
||||
,b.part --history part mix
|
||||
,b.ord_gldc --master data
|
||||
,b.majg --master data
|
||||
,b.ming --master data
|
||||
,b.majs --master data
|
||||
,b.mins --master data
|
||||
,b.gldc --master data
|
||||
,b.glec --master data
|
||||
,b.harm --master data
|
||||
,b.clss --master data
|
||||
,b.brand --master data
|
||||
,b.assc --master data
|
||||
,b.fs_line --master data
|
||||
,b.r_currency --history cust mix
|
||||
,b.r_rate --master data
|
||||
,b.c_currency --master data
|
||||
,b.c_rate --master data
|
||||
,b.ddqtoi --0
|
||||
,b.ddqtsi --0
|
||||
,b.fgqshp --0
|
||||
,b.diqtsh --0
|
||||
,0 fb_qty
|
||||
,0 fb_cst_loc
|
||||
,0 fb_cst_loc_cur
|
||||
,0 fb_cst_loc_fut
|
||||
,b.fb_val_loc*s.factor fb_val_loc
|
||||
,b.fb_val_loc_pl*s.factor fb_val_loc_pl
|
||||
,b.calc_status --0
|
||||
,b.flag --0
|
||||
,b.orderdate
|
||||
,b.requestdate
|
||||
,b.shipdate
|
||||
,b.adj_orderdate
|
||||
,b.adj_requestdate
|
||||
,b.adj_shipdate
|
||||
,b.version --calculated
|
||||
,b.iter --calculated
|
||||
-----------------------ui columns--------------------------------
|
||||
,'scale vp' iterdet
|
||||
,null::jsonb iterdef
|
||||
,b.order_season
|
||||
,b.order_month
|
||||
,b.ship_season
|
||||
,b.ship_month
|
||||
,b.request_season
|
||||
,b.request_month
|
||||
,b.part_descr
|
||||
,b.part_family
|
||||
,b.part_group
|
||||
,b.branding
|
||||
,b.color
|
||||
,b.segm
|
||||
,b.bill_cust_descr
|
||||
,b.billto_group
|
||||
,b.ship_cust_descr
|
||||
,b.shipto_group
|
||||
,b.majg_descr
|
||||
,b.ming_descr
|
||||
,b.majs_descr
|
||||
,b.mins_descr
|
||||
,b.mod_chan
|
||||
,b.mod_chansub
|
||||
,b.quota_rep_descr
|
||||
,b.director_descr
|
||||
,(b.fb_val_loc*s.factor)::numeric value_loc
|
||||
,(b.fb_val_loc*s.factor*r_rate)::numeric value_usd
|
||||
,0 cost_loc
|
||||
,0 cost_usd
|
||||
,0 units
|
||||
FROM
|
||||
basemix b
|
||||
CROSS JOIN pscale s
|
||||
)
|
||||
--select sum(value_usd), count(*) from final
|
||||
, ins AS (
|
||||
INSERT INTO rlarp.osm_fcpool SELECT * FROM final RETURNING *
|
||||
INSERT INTO rlarp.osm_fcpool SELECT * FROM pricing RETURNING *
|
||||
)
|
||||
,insagg AS (
|
||||
SELECT
|
||||
|
Loading…
Reference in New Issue
Block a user