include guidance logic
This commit is contained in:
parent
eaba629002
commit
f54081f69d
@ -5,6 +5,8 @@ pgrp AS (
|
|||||||
o.bill_dba
|
o.bill_dba
|
||||||
,o.ship_dba
|
,o.ship_dba
|
||||||
,o.dsm
|
,o.dsm
|
||||||
|
,i.partgroup
|
||||||
|
,i.pricegroup
|
||||||
,o.part
|
,o.part
|
||||||
,o.odate
|
,o.odate
|
||||||
,o.qtyord
|
,o.qtyord
|
||||||
@ -31,6 +33,8 @@ pgrp AS (
|
|||||||
o.bill_dba
|
o.bill_dba
|
||||||
,o.ship_dba
|
,o.ship_dba
|
||||||
,o.dsm
|
,o.dsm
|
||||||
|
,i.partgroup
|
||||||
|
,i.pricegroup
|
||||||
,o.part
|
,o.part
|
||||||
,o.odate
|
,o.odate
|
||||||
,o.qtyord
|
,o.qtyord
|
||||||
@ -70,7 +74,10 @@ pgrp AS (
|
|||||||
o.account
|
o.account
|
||||||
,o.shipgrp
|
,o.shipgrp
|
||||||
,o.dsm
|
,o.dsm
|
||||||
|
,i.partgroup
|
||||||
|
,i.pricegroup
|
||||||
,o.part
|
,o.part
|
||||||
|
,o.glec
|
||||||
,o.oseas
|
,o.oseas
|
||||||
-- ,o.odate
|
-- ,o.odate
|
||||||
,og.sortmo omon
|
,og.sortmo omon
|
||||||
@ -88,15 +95,20 @@ pgrp AS (
|
|||||||
o.odate BETWEEN og.sdat and og.edat
|
o.odate BETWEEN og.sdat and og.edat
|
||||||
LEFT OUTER JOIN rlarp.gld sg ON
|
LEFT OUTER JOIN rlarp.gld sg ON
|
||||||
o.sdate BETWEEN sg.sdat and sg.edat
|
o.sdate BETWEEN sg.sdat and sg.edat
|
||||||
|
LEFT OUTER JOIN "CMS.CUSLG".itemm i ON
|
||||||
|
i.item = o.part
|
||||||
WHERE
|
WHERE
|
||||||
iter IN ('actuals','actuals_plug','copy')
|
iter IN ('actuals','actuals_plug','copy')
|
||||||
AND fs_line = '41010'
|
AND fs_line = '41010'
|
||||||
AND substring(glec,1,1) <= '2'
|
AND substring(o.glec,1,1) <= '2'
|
||||||
GROUP BY
|
GROUP BY
|
||||||
o.account
|
o.account
|
||||||
,o.shipgrp
|
,o.shipgrp
|
||||||
,o.dsm
|
,o.dsm
|
||||||
|
,i.partgroup
|
||||||
|
,i.pricegroup
|
||||||
,o.part
|
,o.part
|
||||||
|
,o.glec
|
||||||
,o.oseas
|
,o.oseas
|
||||||
-- ,o.odate
|
-- ,o.odate
|
||||||
,og.sortmo
|
,og.sortmo
|
||||||
@ -109,7 +121,11 @@ pgrp AS (
|
|||||||
grp.account
|
grp.account
|
||||||
,grp.shipgrp
|
,grp.shipgrp
|
||||||
,grp.dsm
|
,grp.dsm
|
||||||
|
,r.director
|
||||||
|
,grp.partgroup
|
||||||
|
,grp.pricegroup
|
||||||
,grp.part
|
,grp.part
|
||||||
|
-- ,grp.glec
|
||||||
,grp.oseas
|
,grp.oseas
|
||||||
,grp.omon
|
,grp.omon
|
||||||
-- ,grp.odate
|
-- ,grp.odate
|
||||||
@ -127,6 +143,42 @@ pgrp AS (
|
|||||||
,seq.price
|
,seq.price
|
||||||
,seq.avgprice
|
,seq.avgprice
|
||||||
,seq.pltq
|
,seq.pltq
|
||||||
|
,ROUND(CASE WHEN seq.uselimits THEN
|
||||||
|
CASE
|
||||||
|
WHEN glec = '1NU' THEN
|
||||||
|
--if more than 8/24 pallets, use floor
|
||||||
|
CASE WHEN grp.qty >= 24*seq.pltq THEN seq.floor
|
||||||
|
-- if more than a pallet use the target price
|
||||||
|
ELSE CASE WHEN qtyord >= 8*seq.pltq THEN (seq.ceiling + seq.floor) / 2
|
||||||
|
-- if more than a pallet use the target price
|
||||||
|
ELSE CASE WHEN qtyord >= 2*seq.pltq THEN seq.ceiling
|
||||||
|
-- if more than a pallet use the target price
|
||||||
|
ELSE seq.ceiling * 1.05
|
||||||
|
END END END
|
||||||
|
ELSE
|
||||||
|
CASE WHEN pricegroup ~ '(Hanger|Dish)' THEN
|
||||||
|
--at least 1 pallets is lower limit
|
||||||
|
CASE WHEN qtyord >= 01*seq.pltq THEN seq.floor
|
||||||
|
--at least 2 pallets is mid range
|
||||||
|
ELSE CASE WHEN qtyord >= 0.5*seq.pltq THEN (seq.ceiling + seq.floor) / 2
|
||||||
|
--less than a pallet is upper + 15%
|
||||||
|
ELSE seq.ceiling
|
||||||
|
END END
|
||||||
|
ELSE
|
||||||
|
--at least 8 pallets is lower limit
|
||||||
|
CASE WHEN qtyord >= 08*seq.pltq THEN seq.floor
|
||||||
|
--at least 2 pallets is mid range
|
||||||
|
ELSE CASE WHEN qtyord >= 2*seq.pltq THEN (seq.ceiling + seq.floor) / 2
|
||||||
|
--at least 1 pallet is upper range
|
||||||
|
ELSE CASE WHEN qtyord >= 1*seq.pltq THEN seq.ceiling
|
||||||
|
--less than a pallet is upper + 15%
|
||||||
|
ELSE seq.ceiling * 1.15
|
||||||
|
END END END
|
||||||
|
END
|
||||||
|
END
|
||||||
|
ELSE
|
||||||
|
null
|
||||||
|
END,5) guid
|
||||||
FROM
|
FROM
|
||||||
grp
|
grp
|
||||||
LEFT OUTER JOIN seq ON
|
LEFT OUTER JOIN seq ON
|
||||||
@ -134,3 +186,5 @@ pgrp AS (
|
|||||||
AND seq.bill_dba = grp.account
|
AND seq.bill_dba = grp.account
|
||||||
AND seq.part = grp.part
|
AND seq.part = grp.part
|
||||||
AND seq.rn = 1
|
AND seq.rn = 1
|
||||||
|
LEFT OUTER JOIN rlarp.repc r ON
|
||||||
|
r.repp = grp.dsm
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user