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);
|
//console.log(args);
|
||||||
w =
|
w =
|
||||||
`WITH
|
`WITH
|
||||||
target AS (select ` + req.body.amount +` incr)
|
target AS (select ` + req.body.qty + ` vincr, `+ req.body.amount +` pincr)
|
||||||
,basemix AS (
|
,basemix AS (
|
||||||
SELECT
|
SELECT
|
||||||
plnt ---master data
|
plnt ---master data
|
||||||
@ -2605,13 +2605,133 @@ server.get('/scale_vp', bodyParser.json(), function (req, res) {
|
|||||||
,quota_rep_descr
|
,quota_rep_descr
|
||||||
,director_descr
|
,director_descr
|
||||||
)
|
)
|
||||||
,scale AS (
|
,vscale AS (
|
||||||
SELECT
|
SELECT
|
||||||
(SELECT incr::numeric FROM target) incr
|
(SELECT vincr::numeric FROM target) incr
|
||||||
,(SELECT sum(fb_val_loc *r_rate) FROM basemix) base
|
,(SELECT sum(fb_qty) FROM basemix) base
|
||||||
,(SELECT incr::numeric FROM target)/(SELECT sum(fb_val_loc *r_rate) FROM basemix) factor
|
,(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
|
SELECT
|
||||||
b.plnt --master data
|
b.plnt --master data
|
||||||
,b."ddord#" --0
|
,b."ddord#" --0
|
||||||
@ -2690,7 +2810,7 @@ server.get('/scale_vp', bodyParser.json(), function (req, res) {
|
|||||||
,b.version --calculated
|
,b.version --calculated
|
||||||
,b.iter --calculated
|
,b.iter --calculated
|
||||||
-----------------------ui columns--------------------------------
|
-----------------------ui columns--------------------------------
|
||||||
,'scale volume' iterdet
|
,'scale vp' iterdet
|
||||||
,null::jsonb iterdef
|
,null::jsonb iterdef
|
||||||
,b.order_season
|
,b.order_season
|
||||||
,b.order_month
|
,b.order_month
|
||||||
@ -2723,11 +2843,11 @@ server.get('/scale_vp', bodyParser.json(), function (req, res) {
|
|||||||
,0 units
|
,0 units
|
||||||
FROM
|
FROM
|
||||||
basemix b
|
basemix b
|
||||||
CROSS JOIN scale s
|
CROSS JOIN pscale s
|
||||||
)
|
)
|
||||||
--select sum(value_usd), count(*) from final
|
--select sum(value_usd), count(*) from final
|
||||||
, ins AS (
|
, ins AS (
|
||||||
INSERT INTO rlarp.osm_fcpool SELECT * FROM final RETURNING *
|
INSERT INTO rlarp.osm_fcpool SELECT * FROM pricing RETURNING *
|
||||||
)
|
)
|
||||||
,insagg AS (
|
,insagg AS (
|
||||||
SELECT
|
SELECT
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
WITH
|
WITH
|
||||||
target AS (select -50000 vincr, 20000 pincr)
|
target AS (select -50000 vincr, 20000 pincr)
|
||||||
,basemix AS (
|
,basemix AS (
|
||||||
SELECT
|
SELECT
|
||||||
plnt ---master data
|
plnt ---master data
|
||||||
,0::numeric(11,0) "ddord#" --0
|
,0::numeric(11,0) "ddord#" --0
|
||||||
,0::numeric(11,0) "dditm#" --0
|
,0::numeric(11,0) "dditm#" --0
|
||||||
@ -196,14 +196,14 @@ SELECT
|
|||||||
,quota_rep_descr
|
,quota_rep_descr
|
||||||
,director_descr
|
,director_descr
|
||||||
)
|
)
|
||||||
,scale AS (
|
,vscale AS (
|
||||||
SELECT
|
SELECT
|
||||||
(SELECT incr::numeric FROM target) incr
|
(SELECT vincr::numeric FROM target) incr
|
||||||
,(SELECT sum(fb_val_loc *r_rate) FROM basemix) base
|
,(SELECT sum(fb_qty) FROM basemix) base
|
||||||
,(SELECT incr::numeric FROM target)/(SELECT sum(fb_val_loc *r_rate) FROM basemix) factor
|
,(SELECT vincr::numeric FROM target)/(SELECT sum(fb_qty) FROM basemix) factor
|
||||||
)
|
)
|
||||||
,final AS (
|
,volume AS (
|
||||||
SELECT
|
SELECT
|
||||||
b.plnt --master data
|
b.plnt --master data
|
||||||
,b."ddord#" --0
|
,b."ddord#" --0
|
||||||
,b."dditm#" --0
|
,b."dditm#" --0
|
||||||
@ -281,7 +281,7 @@ SELECT
|
|||||||
,b.version --calculated
|
,b.version --calculated
|
||||||
,b.iter --calculated
|
,b.iter --calculated
|
||||||
-----------------------ui columns--------------------------------
|
-----------------------ui columns--------------------------------
|
||||||
,'scale volume' iterdet
|
,'scale vp' iterdet
|
||||||
,null::jsonb iterdef
|
,null::jsonb iterdef
|
||||||
,b.order_season
|
,b.order_season
|
||||||
,b.order_month
|
,b.order_month
|
||||||
@ -312,13 +312,133 @@ SELECT
|
|||||||
,(b.fb_cst_loc*s.factor)::numeric cost_loc
|
,(b.fb_cst_loc*s.factor)::numeric cost_loc
|
||||||
,(b.fb_cst_loc*s.factor*c_rate)::numeric cost_usd
|
,(b.fb_cst_loc*s.factor*c_rate)::numeric cost_usd
|
||||||
,(b.fb_qty*s.factor)::numeric units
|
,(b.fb_qty*s.factor)::numeric units
|
||||||
FROM
|
FROM
|
||||||
basemix b
|
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
|
--select sum(value_usd), count(*) from final
|
||||||
, ins AS (
|
, ins AS (
|
||||||
INSERT INTO rlarp.osm_fcpool SELECT * FROM final RETURNING *
|
INSERT INTO rlarp.osm_fcpool SELECT * FROM pricing RETURNING *
|
||||||
)
|
)
|
||||||
,insagg AS (
|
,insagg AS (
|
||||||
SELECT
|
SELECT
|
||||||
|
Loading…
Reference in New Issue
Block a user