snap season

This commit is contained in:
Paul Trowbridge 2025-03-27 21:39:02 -04:00
parent 4af21a1d65
commit 92f14f5726

View File

@ -1,91 +1,147 @@
WITH WITH
newc AS ( newc AS (
SELECT * FROM (VALUES SELECT * FROM (VALUES
('Target'), ('4 ACES','10041 - TAMARA RISKEN'),
('BATTLEFIELD FARMS'), ('A&W ANNUALS','10039 - DUSTIN KUYKENDOLL'),
('BYLANDS NURSERIES'), ('A GARDEN CENTER','30053 - SKYE SAWYER'),
('BRENTANOS TREE FARM'), ('ALASKA GDN & PET SUPPLY RET','30053 - SKYE SAWYER'),
('QUALITREE PROPAGATORS'), ('ALASKA MILL AND FEED','30053 - SKYE SAWYER'),
('LINNAEA NURSERIES LTD'), ('ALPHA NURSERY','30053 - SKYE SAWYER'),
('CI FARMS'), ('ANDYS GARDENS','10048 - PHILIP BIEDENBACH'),
('DESERT HORIZON NURSERY'), ('ARNOLDS GREENHOUSE INC','10041 - TAMARA RISKEN'),
('MEADOWLARK ORNAMENTALS LLC'), ('ASHCOMBE FARM & GREENHOUSE','10048 - PHILIP BIEDENBACH'),
('PHELPS NURSERY'), ('AVA NURSERY','10046 - DUSTIN KUYKENDOLL 2'),
('MEDFORD NURSERY INC'), ('BAYSIDE GARDEN CENTER','13027 - STEVE RUSTEBERG'),
('JEFFEREYS GREENHOUSES'), ('BAYVIEW GREENHOUSES','40039 - DAVE BODO'),
('STOKLEY NURSERY'), ('BEAUTIFUL LAND PRODUCTS','13027 - STEVE RUSTEBERG'),
('STEWARTS GREENHOUSE'), ('BEAVER BARK LTD','30053 - SKYE SAWYER'),
('A & R Spada Farms'), ('BEDROCK NURSERY','10041 - TAMARA RISKEN'),
('HUIZENGA BRO GREENHOUSE INC'), ('BELLE INVESTMENTS','10039 - DUSTIN KUYKENDOLL'),
('HEIRLOOM ROSES'), ('BLUE HERON FARM','30053 - SKYE SAWYER'),
('SUNRISE GREENHOUSES'), ('BOBBY MURRAY FARMS','10041 - TAMARA RISKEN'),
('ALPHA NURSERY'), ('BOEKESTYN GREENHOUSES LTD','40039 - DAVE BODO'),
('BREEZY HILL NURSERY'), ('BREEZY HILL NURSERY','13027 - STEVE RUSTEBERG'),
('DAYNABROOK GREENHOUSES'), ('BRENTANOS TREE FARM','30053 - SKYE SAWYER'),
('DGI'), ('BRIGGS NURSERY','30053 - SKYE SAWYER'),
('EDGEWOOD GREENHOUSE'), ('CAAN FLORAL CO INC','13027 - STEVE RUSTEBERG'),
('RAZBUTON INC'), ('CAPOGNA FLOWERS','40039 - DAVE BODO'),
('GOLD COAST FARMS LLC'), ('CARPINITO BROTHERS INC','30053 - SKYE SAWYER'),
('A&W ANNUALS'), ('CHRIS DOYLE PLANT BROKERAGE','10041 - TAMARA RISKEN'),
('MESQUITE VALLEY GROWERS'), ('CINDYS GREENHOUSE','13027 - STEVE RUSTEBERG'),
('CAAN FLORAL CO INC'), ('D''ADDIO FAMILY NURSERY','10048 - PHILIP BIEDENBACH'),
('SUNLAND NURSERY'), ('DAHLINGHAUS VENTURES LLC','10048 - PHILIP BIEDENBACH'),
('HSU''S'), ('DAYNABROOK GREENHOUSES','10048 - PHILIP BIEDENBACH'),
('GREEN BARN INC'), ('DESERT FOREST NURSERY','30035 - RODNEY RIOS'),
('HONEYMOON ACRES'), ('DESERT HORIZON NURSERY','30035 - RODNEY RIOS'),
('COUNTRYSIDE FLOWER SHOP NURSER'), ('DETWEILER''S FLOWERS','10048 - PHILIP BIEDENBACH'),
('ARNOLDS GREENHOUSES'), ('DGI','10035 - MATTHEW STAAL'),
('WALNUT GROVE NURSERY'), ('DOAN''S NURSERY INC.','10041 - TAMARA RISKEN'),
('KATOS NURSERY'), ('DRY LAND NATIVE GRASSES','10041 - TAMARA RISKEN'),
('BAYVIEW GREENHOUSES'), ('EDGEWOOD GREENHOUSE','13027 - STEVE RUSTEBERG'),
('AMERIGO'), ('FERGUSON LANDSCAPE','13027 - STEVE RUSTEBERG'),
('AVA NURSERY'), ('FISHER FARMS','30053 - SKYE SAWYER'),
('SLC STORE'), ('GEORGE''S PLANT FARM','10040 - RYAN CHITWOOD'),
('BELLE INVESTMENTS'), ('GIESEL''S GREENHOUSE','10041 - TAMARA RISKEN'),
('SUN NURSERIES'), ('GILSON FAMILY ENTERPRISE','10042 - JEREMY RHAULT'),
('D''ADDIO FAMILY NURSERY'), ('GOLD COAST FARMS LLC','30035 - RODNEY RIOS'),
('GEORGE''S PLANT FARM'), ('GOLD HILL NURSERY','30053 - SKYE SAWYER'),
('MR GREENJEANS FARM MARKET'), ('GROWERS NURSERY SUPPLY INC','30053 - SKYE SAWYER'),
('BOEKESTYN GREENHOUSES LTD'), ('HEIRLOOM ROSES','30053 - SKYE SAWYER'),
('FISHER FARMS'), ('HENRY WHALEN AND SONS GHSE','10043 - CHERISSE GILSTROP'),
('PINE VIEW FARM'), ('HIGHLAND FARMS','12028 - JACOB WILKINSON'),
('GILSON FAMILY ENTERPRISE'), ('HILLEN NURSERY LTD','40039 - DAVE BODO'),
('STARLING NURSERY'), ('HONEYMOON ACRES','13027 - STEVE RUSTEBERG'),
('A GARDEN CENTER'), ('HOSTYN HILL GREENHOUSE','10041 - TAMARA RISKEN'),
('MCCALLS NURSERIES INC'), ('HSU''S','13027 - STEVE RUSTEBERG'),
('MAHONEYS GROWING DIVISION'), ('HUIZENGA BRO GREENHOUSE INC','10035 - MATTHEW STAAL'),
('CAPOGNA FLOWERS'), ('I & G FARM INC','10043 - CHERISSE GILSTROP'),
('J FRANK GAUDET TREE NURSERY'), ('IMPERIAL''S GARDEN INC','30053 - SKYE SAWYER'),
('NORTHWEST PLANT COMPANY'), ('J FRANK GAUDET TREE NURSERY','40040 - TINA PETTIGREW'),
('KATYDID GREENHOUSE'), ('JACOBSONS GREENHOUSE','30053 - SKYE SAWYER'),
('SHANER AVENUE NURSERY'), ('JAMPLAST INC','13027 - STEVE RUSTEBERG'),
('BEAUTIFUL LAND PRODUCTS'), ('JEFF PARSLEY PLANT FARM','10041 - TAMARA RISKEN'),
('ALASKA GDN & PET SUPPLY RET'), ('JEFFEREYS GREENHOUSES','40039 - DAVE BODO'),
('UNITED CENTRAL ORCHIDS'), ('KATOS NURSERY','40042 - TOM MORRIS'),
('WAYFAIR LLC'), ('KATYDID GREENHOUSE','10040 - RYAN CHITWOOD'),
('DAHLINGHAUS VENTURES LLC'), ('LANCASTER FARM','10040 - RYAN CHITWOOD'),
('PAYNES NURSERIES & GREENHOUSE'), ('LENO PLANT FARM','10041 - TAMARA RISKEN'),
('IMPERIAL''S GARDEN INC'), ('LIMA GREENHOUSES','30053 - SKYE SAWYER'),
('TONYS GARDEN CENTER'), ('LINNAEA NURSERIES LTD','40042 - TOM MORRIS'),
('CINDYS GREENHOUSE'), ('MAGNOLIA GARDENS','10041 - TAMARA RISKEN'),
('DETWEILER''S FLOWERS'), ('MARCUMS NURSERY','10041 - TAMARA RISKEN'),
('FERGUSON LANDSCAPE'), ('MARTIN''S NURSERY INC','10047 - RYAN CHITWOOD 2'),
('BAYSIDE GARDEN CENTER'), ('MAYS GREENHOUSE','10048 - PHILIP BIEDENBACH'),
('WATERTOWN FLORAL') ('MCCALLISTERS LNDSCP SUPPLY','10041 - TAMARA RISKEN'),
) x(cust) ('MCCALLS NURSERIES INC','30054 - JASON MOTTIN'),
('MEADOWLARK ORNAMENTALS LLC','12028 - JACOB WILKINSON'),
('MEDARY ACRES GHSE','13027 - STEVE RUSTEBERG'),
('MEDFORD NURSERY INC','10043 - CHERISSE GILSTROP'),
('MESQUITE VALLEY GROWERS','30035 - RODNEY RIOS'),
('MILLERS BLUE MOUNTAIN GHSE','10043 - CHERISSE GILSTROP'),
('MR GREENJEANS FARM MARKET','10043 - CHERISSE GILSTROP'),
('MULTIFAB, INC','30053 - SKYE SAWYER'),
('NATURALLY BEAUTIFUL PLANT PROD','10043 - CHERISSE GILSTROP'),
('NORTHWEST PLANT COMPANY','30053 - SKYE SAWYER'),
('OSO GROWERS INC.','10041 - TAMARA RISKEN'),
('PARSLEYS PLANT FARM','10041 - TAMARA RISKEN'),
('PAYNES NURSERIES & GREENHOUSE','12028 - JACOB WILKINSON'),
('PHELPS NURSERY','10048 - PHILIP BIEDENBACH'),
('PINE VIEW FARM','10048 - PHILIP BIEDENBACH'),
('QUALITREE PROPAGATORS','40042 - TOM MORRIS'),
('RAZBUTON INC','10039 - DUSTIN KUYKENDOLL'),
('REARDON NURSERY','30053 - SKYE SAWYER'),
('SCHROCK SALES','10048 - PHILIP BIEDENBACH'),
('SHANER AVENUE NURSERY','10035 - MATTHEW STAAL'),
('SHERMAN PLASTICS','13027 - STEVE RUSTEBERG'),
('SLC STORE','12028 - JACOB WILKINSON'),
('SMITH NURSERY','10041 - TAMARA RISKEN'),
('STARLING NURSERY','10046 - DUSTIN KUYKENDOLL 2'),
('STEUBER GREENHOUSE','13027 - STEVE RUSTEBERG'),
('STEWARTS GREENHOUSE','10046 - DUSTIN KUYKENDOLL 2'),
('STOKLEY NURSERY','10047 - RYAN CHITWOOD 2'),
('SUAREZ PLANT FARM','10041 - TAMARA RISKEN'),
('SUN NURSERIES','10043 - CHERISSE GILSTROP'),
('SUNLAND NURSERY','12028 - JACOB WILKINSON'),
('SUNRISE GREENHOUSES','40039 - DAVE BODO'),
('TEJANA NURSERY','10041 - TAMARA RISKEN'),
('THOMAS BECNEL','10041 - TAMARA RISKEN'),
('THOMAS BECNEL CITRUS','10041 - TAMARA RISKEN'),
('TOM DE SANTO GREENHOUSES','30053 - SKYE SAWYER'),
('TONYS GARDEN CENTER','30053 - SKYE SAWYER'),
('TREESEARCH FARMS INC','10041 - TAMARA RISKEN'),
('UNITED CENTRAL ORCHIDS','13027 - STEVE RUSTEBERG'),
('VAN BELLE NURSERY','40042 - TOM MORRIS'),
('VAN KLAVEREN''S NURSERY LLC','30053 - SKYE SAWYER'),
('VARGAS NURSERY','10041 - TAMARA RISKEN'),
('WALNUT GROVE NURSERY','40042 - TOM MORRIS'),
('WATERTOWN FLORAL','13027 - STEVE RUSTEBERG'),
('WAYFAIR LLC','90015 - ANN MARIE FOX'),
('WEAKLAND GREENHOUSES','12028 - JACOB WILKINSON'),
('WOODS GREENHOUSE','10043 - CHERISSE GILSTROP'),
('YC NURSERIES INC','10041 - TAMARA RISKEN'),
('A&R SPADA FARMS LLC','30053 - SKYE SAWYER'),
('CI FARMS LLC','30054 - JASON MOTTIN'),
('GOLDEN EAGLE TREES','40042 - TOM MORRIS'),
('TSC NURSERY SALES LTD','40042 - TOM MORRIS')
) x(Renamed,ReRep)
) )
,profile AS ( ,profile AS (
SELECT * FROM rlarp.osm WHERE shipgrp IN (select cust FROM newc ) AND oseas >= 2018 SELECT * FROM rlarp.osm WHERE shipgrp IN (select distinct renamed FROM newc ) AND oseas >= 2018
) )
-- SELECT * FROM profile
,checkc AS ( ,checkc AS (
SELECT distinct shipgrp FROM profile SELECT shipgrp, min(oseas) oseas FROM profile GROUP BY shipgrp
) )
-- select * from checkc
-- SELECT cust, sum(fb_qty) FROM newc LEFT OUTER JOIN profile ON shipgrp = cust GROUP by cust -- SELECT cust, sum(fb_qty) FROM newc LEFT OUTER JOIN profile ON shipgrp = cust GROUP by cust
----grouped prices------------- ----grouped prices-------------
,pgrp AS ( ,pgrp AS (
SELECT SELECT
o.bill_dba o.bill_dba
,o.ship_dba ,o.ship_dba
,o.dsm
,i.partgroup
,i.pricegroup
,o.part ,o.part
,o.odate ,o.odate
,o.qtyord ,o.qtyord
@ -100,17 +156,25 @@ SELECT distinct shipgrp FROM profile
rlarp.osm_stack o rlarp.osm_stack o
LEFT OUTER JOIN "CMS.CUSLG".itemm i ON LEFT OUTER JOIN "CMS.CUSLG".itemm i ON
i.item = o.part i.item = o.part
INNER JOIN checkc c ON
c.shipgrp = o.customer
AND c.oseas = o.oseas
WHERE WHERE
VERSION = 'Actual' VERSION = 'Actual'
AND oseas >= 2024 AND o.oseas >= 2018
AND calc_status <> 'CANCELED' AND calc_status <> 'CANCELED'
AND o.fs_line = '41010' AND o.fs_line = '41010'
AND o.part <> '' AND o.part <> ''
AND substring(o.glec,1,1) <= '2' AND substring(o.glec,1,1) <= '2'
AND o.qty <> 0 AND o.qty <> 0
AND o.sseas IS NOT NULL
-- AND customer in (select distinct renamed FROM newc )
GROUP BY GROUP BY
o.bill_dba o.bill_dba
,o.ship_dba ,o.ship_dba
,o.dsm
,i.partgroup
,i.pricegroup
,o.part ,o.part
,o.odate ,o.odate
,o.qtyord ,o.qtyord
@ -144,15 +208,23 @@ SELECT distinct shipgrp FROM profile
FROM FROM
pgrp pgrp
) )
-- SELECT * FROM seq WHERE rn = 1
,grp AS ( ,grp AS (
SELECT SELECT
o.account o.account
,o.shipgrp ,o.shipgrp
,o.chan
,o.dsm
,i.partgroup
,i.pricegroup
,o.part ,o.part
,o.glec
,o.oseas ,o.oseas
,o.odate -- ,o.odate
,og.sortmo omon
,o.sseas ,o.sseas
,o.sdate -- ,o.sdate
,sg.sortmo smon
-- ,o.calc_status -- ,o.calc_status
,ROUND(sum(fb_qty * lbs),5) lbs ,ROUND(sum(fb_qty * lbs),5) lbs
,ROUND(sum(fb_qty),2) qty ,ROUND(sum(fb_qty),2) qty
@ -160,37 +232,101 @@ SELECT distinct shipgrp FROM profile
,ROUND(sum(fb_cst_loc_cur * c_rate),2) cost_curstd_usd ,ROUND(sum(fb_cst_loc_cur * c_rate),2) cost_curstd_usd
FROM FROM
profile o profile o
-- WHERE LEFT OUTER JOIN rlarp.gld og ON
-- iter IN ('actuals','actuals_plug','copy') o.odate BETWEEN og.sdat and og.edat
LEFT OUTER JOIN rlarp.gld sg ON
o.sdate BETWEEN sg.sdat and sg.edat
LEFT OUTER JOIN "CMS.CUSLG".itemm i ON
i.item = o.part
WHERE
true
-- iter IN ('actuals','actuals_plug','copy')
AND fs_line = '41010'
AND substring(o.glec,1,1) <= '2'
AND o.calc_status <> 'CANCELED'
AND o.sseas IS NOT NULL
GROUP BY GROUP BY
o.account o.account
,o.shipgrp ,o.shipgrp
,o.chan
,o.dsm
,i.partgroup
,i.pricegroup
,o.part ,o.part
,o.glec
,o.oseas ,o.oseas
,o.odate -- ,o.odate
,og.sortmo
,o.sseas ,o.sseas
,o.sdate -- ,o.sdate
,sg.sortmo
-- ,o.calc_status -- ,o.calc_status
) )
-- SELECT * FROM grp
SELECT SELECT
grp.account grp.account
,grp.shipgrp ,grp.shipgrp
,grp.chan
,r.repp dsm
,r.director
,grp.shipgrp||'.'||grp.dsm lu
-- ,grp.partgroup
-- ,grp.pricegroup
,grp.part ,grp.part
,grp.oseas -- ,grp.glec
,grp.odate ,2026 oseas
,grp.sseas ,grp.omon
,grp.sdate -- ,grp.odate
,(2026- grp.oseas) + grp.sseas sseas
,grp.smon
-- ,grp.sdate
,grp.lbs ,grp.lbs
,grp.qty ,grp.qty
,grp.sales_usd ,grp.sales_usd
,grp.cost_curstd_usd ,grp.cost_curstd_usd
,sum(grp.lbs) OVER (PARTITION BY shipgrp, oseas) shiplbs ,sum(grp.lbs) OVER (PARTITION BY shipgrp, oseas, dsm) shiplbs
,seq.floor ,seq.floor
,seq.ceiling ,seq.ceiling
,seq.uselimits ,seq.uselimits
,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
@ -198,3 +334,5 @@ SELECT distinct shipgrp FROM profile
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.rcode = grp.dsm