swap out fb_qty or units

This commit is contained in:
Trowbridge 2020-02-13 12:21:30 -05:00
parent 610c78f36f
commit 994b076321

View File

@ -2,9 +2,9 @@ WITH
target AS (select target_vol vincr, target_prc pincr)
,testv AS (
SELECT
sum(fb_qty) tot
,sum(fb_qty) FILTER (WHERE iter = 'copy') base
,sum(fb_qty) FILTER (WHERE module = 'new basket') newpart
sum(units) tot
,sum(units) FILTER (WHERE iter = 'copy') base
,sum(units) FILTER (WHERE module = 'new basket') newpart
FROM
rlarp.osm_pool
WHERE
@ -139,8 +139,8 @@ target AS (select target_vol vincr, target_prc pincr)
,vscale AS (
SELECT
(SELECT vincr::numeric FROM target) incr
,(SELECT sum(fb_qty)::numeric FROM basemix) base
,(SELECT vincr::numeric FROM target)/(SELECT sum(fb_qty)::numeric FROM basemix) factor
,(SELECT sum(units)::numeric FROM basemix) base
,(SELECT vincr::numeric FROM target)/(SELECT sum(units)::numeric FROM basemix) factor
)
--select * from vscale
,volume AS (
@ -205,7 +205,7 @@ target AS (select target_vol vincr, target_prc pincr)
,b.ddqtsi --0
,b.fgqshp --0
,b.diqtsh --0
,b.fb_qty*s.factor fb_qty
,b.units*s.factor units
,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
@ -252,7 +252,7 @@ target AS (select target_vol vincr, target_prc pincr)
,(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
,(b.units*s.factor)::numeric units
FROM
basemix b
CROSS JOIN vscale s
@ -271,7 +271,7 @@ target AS (select target_vol vincr, target_prc pincr)
,CASE WHEN (SELECT sum(fb_val_loc * r_rate) FROM volume) = 0 THEN
CASE WHEN ((SELECT pincr::numeric FROM target) - (SELECT sum(fb_val_loc * r_rate) FROM volume)) <> 0 THEN
--if the base value is -0- but the target value hasn't been achieved, derive a price to apply
((SELECT pincr::numeric FROM target) - (SELECT sum(fb_val_loc * r_rate) FROM volume))/(SELECT sum(fb_qty) FROM volume)
((SELECT pincr::numeric FROM target) - (SELECT sum(fb_val_loc * r_rate) FROM volume))/(SELECT sum(units) FROM volume)
ELSE
0
END
@ -342,13 +342,13 @@ target AS (select target_vol vincr, target_prc pincr)
,b.ddqtsi --0
,b.fgqshp --0
,b.diqtsh --0
,0 fb_qty
,0 units
,0 fb_cst_loc
,0 fb_cst_loc_cur
,0 fb_cst_loc_fut
--,b.fb_val_loc*s.factor fb_val_loc
,(CASE WHEN s.factor = 0 THEN b.fb_qty * s.mod_price/b.r_rate ELSE b.fb_val_loc*s.factor END)::numeric fb_val_loc
,(CASE WHEN s.factor = 0 THEN b.fb_qty * s.mod_price/b.r_rate ELSE b.fb_val_loc_pl*s.factor END)::numeric fb_val_loc_pl
,(CASE WHEN s.factor = 0 THEN b.units * s.mod_price/b.r_rate ELSE b.fb_val_loc*s.factor END)::numeric fb_val_loc
,(CASE WHEN s.factor = 0 THEN b.units * s.mod_price/b.r_rate ELSE b.fb_val_loc_pl*s.factor END)::numeric fb_val_loc_pl
--,b.fb_val_loc_pl*s.factor fb_val_loc_pl
,b.calc_status --0
,b.flag --0
@ -387,8 +387,8 @@ target AS (select target_vol vincr, target_prc pincr)
,b.mod_chansub
,b.quota_rep_descr
,b.director_descr
,(CASE WHEN s.factor = 0 THEN b.fb_qty * s.mod_price/b.r_rate ELSE b.fb_val_loc*s.factor END)::numeric value_loc
,(CASE WHEN s.factor = 0 THEN b.fb_qty * s.mod_price ELSE b.fb_val_loc*s.factor*b.r_rate END)::numeric value_usd
,(CASE WHEN s.factor = 0 THEN b.units * s.mod_price/b.r_rate ELSE b.fb_val_loc*s.factor END)::numeric value_loc
,(CASE WHEN s.factor = 0 THEN b.units * s.mod_price ELSE b.fb_val_loc*s.factor*b.r_rate END)::numeric value_usd
,0 cost_loc
,0 cost_usd
,0 units
@ -398,7 +398,7 @@ target AS (select target_vol vincr, target_prc pincr)
WHERE
s.factor <> 0 or s.mod_price <> 0
)
--select sum(value_usd), sum(fb_qty) from pricing
--select sum(value_usd), sum(units) from pricing
, ins AS (
INSERT INTO rlarp.osm_pool (SELECT * FROM pricing UNION ALL SELECT * FROM volume) RETURNING *
)