work on new customers

This commit is contained in:
Paul Trowbridge 2025-04-08 16:48:06 -04:00
parent 787bf1c3d5
commit 2815e25802
2 changed files with 626 additions and 0 deletions

View File

@ -0,0 +1,429 @@
-- WITH
-- newc AS (
CREATE TABLE rlarp.orphans AS (
SELECT renamed, rerep, pounds::numeric pounds FROM (VALUES
('MARTIN''S NURSERY INC','10049 - STEVEN STUPPIELLO','160000'),
('BRENTANOS TREE FARM','30053 - SKYE SAWYER','125000'),
('QUALITREE PROPAGATORS','40042 - TOM MORRIS','122256'),
('HSU''S','13027 - STEVE RUSTEBERG','98054'),
('LANCASTER FARM','10040 - RYAN CHITWOOD','88733'),
('NATURALLY BEAUTIFUL PLANT PROD','10043 - CHERISSE GILSTROP','66876'),
('REARDON NURSERY','30053 - SKYE SAWYER','54000'),
('VAN BELLE NURSERY','40042 - TOM MORRIS','52690'),
('DEVAN GREENHOUSES','40042 - TOM MORRIS','50554'),
('STEWARTS GREENHOUSE','10046 - DUSTIN KUYKENDOLL 2','46585'),
('DESERT FOREST NURSERY','30035 - RODNEY RIOS','45292'),
('LINNAEA NURSERIES LTD','40042 - TOM MORRIS','40617'),
('MILLERS BLUE MOUNTAIN GHSE','10043 - CHERISSE GILSTROP','38029'),
('BRIGGS NURSERY','30053 - SKYE SAWYER','38000'),
('VAN KLAVEREN''S NURSERY LLC','30053 - SKYE SAWYER','36000'),
('BLUE HERON FARM','30053 - SKYE SAWYER','36000'),
('GROWERS NURSERY SUPPLY INC','30053 - SKYE SAWYER','33683'),
('DESERT HORIZON NURSERY','30035 - RODNEY RIOS','25834'),
('MEADOWLARK ORNAMENTALS LLC','12028 - JACOB WILKINSON','25350'),
('PHELPS NURSERY','10048 - PHILIP BIEDENBACH','22000'),
('VARGAS NURSERY','10041 - TAMARA RISKEN','21800'),
('MEDFORD NURSERY INC','10043 - CHERISSE GILSTROP','21600'),
('SUNLAND NURSERY','12028 - JACOB WILKINSON','19315'),
('TOM DE SANTO GREENHOUSES','30053 - SKYE SAWYER','18000'),
('LIMA GREENHOUSES','30053 - SKYE SAWYER','18000'),
('JACOBSONS GREENHOUSE','30053 - SKYE SAWYER','18000'),
('GOLD HILL NURSERY','30053 - SKYE SAWYER','18000'),
('ALASKA MILL AND FEED','30053 - SKYE SAWYER','18000'),
('HUIZENGA BRO GREENHOUSE INC','10035 - MATTHEW STAAL','17100'),
('SCHROCK SALES','10048 - PHILIP BIEDENBACH','16146'),
('HEIRLOOM ROSES','30053 - SKYE SAWYER','16000'),
('ASHCOMBE FARM & GREENHOUSE','10048 - PHILIP BIEDENBACH','16000'),
('SUNRISE GREENHOUSES','40039 - DAVE BODO','15770'),
('ALPHA NURSERY','30053 - SKYE SAWYER','15683'),
('BREEZY HILL NURSERY','13027 - STEVE RUSTEBERG','15555'),
('SALGACA CORPORATION','10046 - DUSTIN KUYKENDOLL 2','15268'),
('EDGEWOOD GREENHOUSE','13027 - STEVE RUSTEBERG','15000'),
('DGI','10035 - MATTHEW STAAL','15000'),
('DAYNABROOK GREENHOUSES','10048 - PHILIP BIEDENBACH','15000'),
('RAZBUTON INC','10039 - DUSTIN KUYKENDOLL','14710'),
('GOLD COAST FARMS LLC','30035 - RODNEY RIOS','14560'),
('A&W ANNUALS','10039 - DUSTIN KUYKENDOLL','13866'),
('MESQUITE VALLEY GROWERS','30035 - RODNEY RIOS','13440'),
('MULTIFAB, INC','30053 - SKYE SAWYER','13050'),
('CAAN FLORAL CO INC','13027 - STEVE RUSTEBERG','12661'),
('WEAKLAND GREENHOUSES','12028 - JACOB WILKINSON','11604'),
('BEAVER BARK LTD','30053 - SKYE SAWYER','11107'),
('HONEYMOON ACRES','13027 - STEVE RUSTEBERG','10500'),
('HENRY WHALEN AND SONS GHSE','10043 - CHERISSE GILSTROP','10063'),
('HILLEN NURSERY LTD','40039 - DAVE BODO','10000'),
('HIGHLAND FARMS','12028 - JACOB WILKINSON','10000'),
('WALNUT GROVE NURSERY','40042 - TOM MORRIS','9712'),
('KATOS NURSERY','40042 - TOM MORRIS','9634'),
('BAYVIEW GREENHOUSES','40039 - DAVE BODO','9631'),
('CARPINITO BROTHERS INC','30053 - SKYE SAWYER','9000'),
('AVA NURSERY','10049 - STEVEN STUPPIELLO','8924'),
('BELLE INVESTMENTS','10039 - DUSTIN KUYKENDOLL','8647'),
('SUN NURSERIES','10043 - CHERISSE GILSTROP','8334'),
('GEORGE''S PLANT FARM','10040 - RYAN CHITWOOD','8000'),
('D''ADDIO FAMILY NURSERY','10048 - PHILIP BIEDENBACH','8000'),
('MR GREENJEANS FARM MARKET','10043 - CHERISSE GILSTROP','7817'),
('BOEKESTYN GREENHOUSES LTD','40039 - DAVE BODO','7639'),
('FISHER FARMS','30053 - SKYE SAWYER','7238'),
('PINE VIEW FARM','10048 - PHILIP BIEDENBACH','7000'),
('GILSON FAMILY ENTERPRISE','10042 - JEREMY RHAULT','6763'),
('STARLING NURSERY','10049 - STEVEN STUPPIELLO','6400'),
('MCCALLS NURSERIES INC','30054 - JASON MOTTIN','6000'),
('I & G FARM INC','10043 - CHERISSE GILSTROP','5715'),
('THOMAS BECNEL','10041 - TAMARA RISKEN','5000'),
('MAYS GREENHOUSE','10048 - PHILIP BIEDENBACH','5000'),
('DRY LAND NATIVE GRASSES','10041 - TAMARA RISKEN','5000'),
('CAPOGNA FLOWERS','40039 - DAVE BODO','5000'),
('ANDYS GARDENS','10048 - PHILIP BIEDENBACH','5000'),
('BOBBY MURRAY FARMS','10041 - TAMARA RISKEN','4940'),
('J FRANK GAUDET TREE NURSERY','40040 - TINA PETTIGREW','4909'),
('NORTHWEST PLANT COMPANY','30053 - SKYE SAWYER','4566'),
('KATYDID GREENHOUSE','10040 - RYAN CHITWOOD','4122'),
('MCCALLISTERS LNDSCP SUPPLY','10041 - TAMARA RISKEN','3920'),
('SHANER AVENUE NURSERY','10035 - MATTHEW STAAL','3500'),
('BEAUTIFUL LAND PRODUCTS','13027 - STEVE RUSTEBERG','3368'),
('PARSLEYS PLANT FARM','10041 - TAMARA RISKEN','3000'),
('ALASKA GDN & PET SUPPLY RET','30053 - SKYE SAWYER','2380'),
('MARCUMS NURSERY','10041 - TAMARA RISKEN','2338'),
('UNITED CENTRAL ORCHIDS','13027 - STEVE RUSTEBERG','2298'),
('JEFF PARSLEY PLANT FARM','10041 - TAMARA RISKEN','2000'),
('BEDROCK NURSERY','10041 - TAMARA RISKEN','1955'),
('WAYFAIR LLC','90015 - ANN MARIE FOX','1800'),
('VM INNOVATIONS-NE','90015 - ANN MARIE FOX','1730'),
('DOAN''S NURSERY INC.','10041 - TAMARA RISKEN','1500'),
('KLEIN''S FLORAL AND GREENHOUSE','13027 - STEVE RUSTEBERG','1207'),
('DAHLINGHAUS VENTURES LLC','10048 - PHILIP BIEDENBACH','1051'),
('YC NURSERIES INC','10041 - TAMARA RISKEN','1000'),
('TEJANA NURSERY','10041 - TAMARA RISKEN','1000'),
('TREESEARCH FARMS INC','10041 - TAMARA RISKEN','1000'),
('THOMAS BECNEL CITRUS','10041 - TAMARA RISKEN','1000'),
('SUAREZ PLANT FARM','10041 - TAMARA RISKEN','1000'),
('SMITH NURSERY','10041 - TAMARA RISKEN','1000'),
('OSO GROWERS INC.','10041 - TAMARA RISKEN','1000'),
('LENO PLANT FARM','10041 - TAMARA RISKEN','1000'),
('GIESEL''S GREENHOUSE','10041 - TAMARA RISKEN','1000'),
('CHRIS DOYLE PLANT BROKERAGE','10041 - TAMARA RISKEN','1000')
) x(renamed,rerep,pounds)
) WITH DATA
-- )
-- ,seg AS (
-- SELECT
-- x.GLEC glec
-- ,x.SEGM segm
-- FROM
-- (
-- VALUES
-- ('1SU','Sustainable'),
-- ('1CU','Sustainable'),
-- ('1GR','Greenhouse'),
-- ('1NU','Nursery'),
-- ('1RE','Retail'),
-- ('2WI','Greenhouse'),
-- ('3BM','Other'),
-- ('3CO','Other'),
-- ('3PE','Other'),
-- ('3PP','Other'),
-- ('4CO','Other'),
-- ('4RA','Other'),
-- ('9MI','Other'),
-- ('9SA','Other'),
-- ('9TO','Other')
-- ) X(GLEC, SEGM)
-- )
-- ,profile AS (
-- SELECT * FROM rlarp.osm WHERE shipgrp IN (select distinct renamed FROM newc ) AND oseas >= 2018
-- )
-- -- SELECT * FROM profile
-- ,checkc AS (
-- 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
-- ----grouped prices-------------
-- ,npgrp AS (
-- SELECT
-- o.bill_dba
-- ,o.ship_dba
-- ,o.bill_cust
-- ,o.ship_cust
-- ,o.promo
-- ,o.terms
-- ,o.dsm
-- ,o.part
-- ,o.odate
-- ,o.qtyord
-- ,i.nwht * CASE WHEN i.nwun = 'KG' THEN 2.2 ELSE 1 END lbs
-- ,i.mpck pltq
-- ,ROUND(o.sales_usd / o.qty,5) price
-- ,(o.pricing->>'guidance_price')::NUMERIC guidance
-- ,(o.pricing->>'floor' )::numeric(15,5) floor
-- ,(o.pricing->>'ceiling')::numeric(15,5) ceiling
-- ,(o.pricing->>'uselimits')::boolean uselimits
-- FROM
-- rlarp.osm_stack o
-- INNER JOIN "CMS.CUSLG".itemm i ON
-- i.item = o.part
-- INNER JOIN checkc c ON
-- c.shipgrp = o.customer
-- AND c.oseas = o.oseas
-- WHERE
-- VERSION = 'Actual'
-- AND o.oseas >= 2018
-- AND calc_status <> 'CANCELED'
-- AND o.fs_line = '41010'
-- AND o.part <> ''
-- AND substring(o.glec,1,1) <= '2'
-- AND o.qty <> 0
-- AND o.sseas IS NOT NULL
-- -- AND customer in (select distinct renamed FROM newc )
-- GROUP BY
-- o.bill_dba
-- ,o.ship_dba
-- ,o.dsm
-- ,i.partgroup
-- ,i.pricegroup
-- ,o.part
-- ,o.odate
-- ,o.qtyord
-- ,o.pounds
-- ,o.pallets
-- ,ROUND(o.sales_usd / o.qty,5)
-- ,i.nwht * CASE WHEN i.nwun = 'KG' THEN 2.2 ELSE 1 END
-- ,i.mpck
-- ,(o.pricing->>'guidance_price')::NUMERIC
-- ,(o.pricing->>'floor' )::numeric(15,5)
-- ,(o.pricing->>'ceiling')::numeric(15,5)
-- ,(o.pricing->>'uselimits')::boolean
-- )
-- ----sequenced for most recent price------------
-- ,nseq AS (
-- SELECT
-- bill_dba
-- ,ship_dba
-- ,part
-- ,odate
-- ,qtyord
-- ,lbs
-- ,pltq
-- ,price
-- ,guidance
-- ,floor
-- ,ceiling
-- ,uselimits
-- ,row_number() OVER (PARTITION BY bill_dba, ship_dba, part ORDER BY odate desc) rn
-- ,round(avg(price) over (PARTITION BY bill_dba, ship_dba, part),5) avgprice
-- FROM
-- npgrp
-- )
-- -- SELECT * FROM seq WHERE rn = 1
-- ,ngrp AS (
-- SELECT
-- sg.fspr
-- ,i.dplt
-- ,o.promo
-- ,o.terms
-- ,o.bill_cust
-- ,o.ship_cust
-- ,o.dsm
-- ,o.dsm
-- ,null:: director
-- ,o.account
-- ,o.shipgrp
-- ,o.chan
-- ,o.chansub
-- ,null::channel_retail
-- ,i.partgroup
-- ,i.pricegroup
-- ,o.part
-- ,o.part || ' - ' || i.descr
-- ,i.partgroup
-- ,i.branding
-- ,i.majgd majg_descr
-- ,i.mingd ming_descr
-- ,i.majsd majs_descr
-- ,i.minsd mins_descr
-- ,seg.segm
-- ,CASE WHEN i.majg = '610' THEN 'Fiber' ELSE 'Plastic' END substance
-- ,o.fs_line
-- ,o.r_currency
-- ,rx.rate r_rate
-- ,pl.curr c_currency
-- ,rx.rate r_rate
-- ,pl.curr c_currency
-- ,cx.rate c_rate
-- ,ROUND(sum(fb_qty * lbs),5) lbs
-- ,ROUND(sum(fb_qty),2) qty
-- ,ROUND(sum(fb_val_loc * r_rate),2) sales_usd
-- ,ROUND(sum(fb_cst_loc_cur * c_rate),2) cost_curstd_usd
-- ,'CLOSED' calc_status
-- ,'SHIPMENT' flag
-- ,o.odate
-- ,o.oseas
-- ,o.odate
-- ,og.sortmo omon
-- ,o.sseas
-- ,o.sdate
-- ,sg.sortmo smon
-- -- ,o.calc_status
-- FROM
-- profile o
-- LEFT OUTER JOIN rlarp.gld og ON
-- 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
-- LEFT OUTER JOIN seg ON
-- seg.glec = i.glec
-- LEFT OUTER JOIN rlarp.plpr pl ON
-- pl.plnt = i.dplt
-- LEFT OUTER JOIN rlarp.ffcret cx ON
-- cx.perd = pl.gl AND
-- cx.rtyp = 'MA' AND
-- cx.fcur = pl.curr AND
-- cx.tcur = 'US'
-- LEFT OUTER JOIN rlarp.ffcret rx ON
-- rx.perd = pl.gl AND
-- rx.rtyp = 'MA' AND
-- rx.fcur = b.r_currency AND
-- rx.tcur = 'US'
-- 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
-- o.account
-- ,o.shipgrp
-- ,o.chan
-- ,o.dsm
-- ,i.partgroup
-- ,i.pricegroup
-- ,o.part
-- ,o.glec
-- ,o.oseas
-- ,o.odate
-- ,og.sortmo
-- ,o.sseas
-- ,o.sdate
-- ,sg.sortmo
-- -- ,o.calc_status
-- )
-- -- SELECT * FROM ngrp
-- ,nguid AS (
-- SELECT
-- grp.account
-- ,grp.shipgrp
-- ,grp.chan
-- ,r.repp dsm
-- ,r.director
-- ,grp.shipgrp||'.'||r.repp lu
-- -- ,grp.partgroup
-- -- ,grp.pricegroup
-- ,grp.part
-- -- ,grp.glec
-- ,2026 oseas
-- ,grp.omon
-- ,grp.odate
-- ,(2026- grp.oseas) + grp.sseas sseas
-- ,grp.smon
-- ,grp.sdate
-- ,grp.lbs
-- ,grp.qty
-- ,grp.sales_usd
-- ,CASE WHEN round(grp.sales_usd/grp.qty,5) = 0 THEN null ELSE round(grp.sales_usd/grp.qty,5) END hist_price
-- ,grp.cost_curstd_usd
-- ,sum(grp.lbs) OVER (PARTITION BY shipgrp, dsm) shiplbs
-- ,CASE WHEN seq.floor = 0 THEN null else seq.floor END floor
-- ,CASE WHEN seq.ceiling = 0 THEN null else seq.ceiling END ceiling
-- ,seq.uselimits
-- ,seq.price
-- ,seq.avgprice
-- ,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
-- ngrp grp
-- LEFT OUTER JOIN nseq seq ON
-- seq.ship_dba = grp.shipgrp
-- AND seq.bill_dba = grp.account
-- AND seq.part = grp.part
-- AND seq.rn = 1
-- LEFT OUTER JOIN rlarp.repc r ON
-- r.rcode = grp.dsm
-- )
-- select * from nguid
--
-- -- ,orphans AS (
-- -- SELECT
-- -- account
-- -- ,shipgrp
-- -- ,chan
-- -- ,dsm
-- -- ,director
-- -- ,lu
-- -- --,partgroup
-- -- --,pricegroup
-- -- ,part
-- -- -- ,glec
-- -- ,oseas
-- -- ,omon
-- -- -- ,odate
-- -- ,sseas
-- -- ,smon
-- -- -- ,sdate
-- -- ,lbs
-- -- ,qty
-- -- ,sales_usd
-- -- ,hist_price
-- -- ,cost_curstd_usd
-- -- ,shiplbs
-- -- ,floor
-- -- ,ceiling
-- -- ,uselimits
-- -- ,price
-- -- ,avgprice
-- -- ,pltq
-- -- ,guid
-- -- ,least(hist_price, price, avgprice) lowest_last
-- -- ,least(hist_price, price, avgprice, floor) lowest_floor
-- -- FROM
-- -- nguid
-- -- )
-- -- SELECT * FROM orphans

197
offline/orphan_pool.pg.sql Normal file
View File

@ -0,0 +1,197 @@
BEGIN;
--only do this when starting fresh
TRUNCATE TABLE rlarp.osm_pool;
TRUNCATE TABLE rlarp.osm_log CASCADE;
ALTER SEQUENCE rlarp.osm_log_id_seq RESTART 1;
DROP TABLE IF EXISTS rlarp.osm_pool_stage;
CREATE TABLE rlarp.osm_pool_stage AS (
WITH
repc AS (
SELECT
LTRIM(RTRIM(C.A9)) RCODE
,C.A30 REPP
,COALESCE(Q.DIR,'Other') DIRECTOR
FROM
LGDAT.CODE C
LEFT OUTER JOIN RLARP.QRH Q ON
Q.QR = LTRIM(RTRIM(C.A9))
WHERE
C.A2 = 'MM'
)
--select * from repc
,SEG AS (
SELECT
GLEC
,SEGM
FROM
(
VALUES
('1CU','Sustainable'),
('1SU','Sustainable'),
('1GR','Greenhouse'),
('1NU','Nursery'),
('1RE','Retail'),
('2WI','Greenhouse'),
('3BM','Other'),
('3CO','Other'),
('3PE','Other'),
('3PP','Other'),
('4CO','Other'),
('4RA','Other'),
('9MI','Other'),
('9SA','Other'),
('9TO','Other')
) X(GLEC, SEGM)
)
--select * from seg
----------------------------------------------------sales major codes----------------------------------------------------------------------------------------------------------------------------------
,SJ AS (
SELECT * FROM LGDAT.MMSL WHERE COALESCE(BSMNCD,'') = ''
)
--select * from sj
----------------------------------------------------sales minor codes----------------------------------------------------------------------------------------------------------------------------------
,SI AS (
SELECT * FROM LGDAT.MMSL WHERE COALESCE(BSMNCD,'') <> ''
)
--select * from si
,logload AS (
INSERT INTO rlarp.osm_log (doc) SELECT jsonb_build_object('user',current_user,'tag','baseline','type','build_pool','stamp',current_timestamp,'source','top level','message','baseline') RETURNING *
)
--select * from logload
,loadset AS (
SELECT
fspr
,plnt
,promo
,terms
,bill_cust||' - '||bc.bvname bill_cust_descr
,ship_cust||' - '||sc.bvname ship_cust_descr
,dsm
,coalesce(repc.repp,dsm) quota_rep_descr
,repc.director
,account billto_group
,shipgrp shipto_group
,chan
,chansub
,CASE seg.segm
--for 1RE coded product
WHEN 'Retail' THEN
CASE o.bill_class
WHEN 'RONL' THEN 'Online'
WHEN 'RNAT' THEN 'National'
WHEN 'RMAS' THEN 'National'
ELSE
------ ship-to class ---------------------
CASE o.chan
WHEN 'GDIS' THEN 'Distribution'
WHEN 'NDIS' THEN 'Distribution'
WHEN 'RDIS' THEN 'Distribution'
WHEN 'GDRP' THEN 'Grower'
WHEN 'NDRP' THEN 'Grower'
WHEN 'RDRP' THEN 'Distribution'
WHEN 'GDIR' THEN 'Grower'
WHEN 'NDIR' THEN 'Grower'
-------this will probably need reviewed--------
WHEN 'RDIR' THEN 'Distribution'
WHEN 'NDIR' THEN 'Grower'
WHEN 'GDIR' THEN 'Grower'
ELSE 'Distribution'
END
END
--for 1SU 1CU coded product
WHEN 'Sustainable' THEN
CASE SUBSTRING(o.coltier,1,1)
--anything with a bio color tier is bio on the channel
WHEN 'R' THEN 'Bio'
ELSE
CASE o.glec
--any 1SU that is not bio is fiber
WHEN '1SU' THEN 'Fiber'
--any 1CU that is not bio is commercial
WHEN '1CU' THEN 'Commercial'
ELSE o.chan
END
END
ELSE o.chan
END chan_retail
,part
,part||coalesce(' - '||i.descr,'') part_descr
,stlcd part_group
,brnd branding
,o.majg||' - '||i.majgd majg_descr
,o.ming||' - '||i.mingd ming_descr
,o.majs||' - '||i.majsd majs_descr
,o.mins||' - '||i.minsd mins_descr
,seg.segm
,CASE WHEN o.majg = '610' THEN 'Fiber' ELSE 'Plastic' END substance
,fs_line
,r_currency
,r_rate
,c_currency
,c_rate
,round(fb_qty,2) units
,round(fb_val_loc,2) value_loc
,round(fb_val_loc * r_rate,2) value_usd
,round(fb_cst_loc_cur,2) cost_loc
,round(fb_cst_loc_cur * c_rate,2) cost_usd
,calc_status
,flag
,o.odate order_date
,to_char(CASE WHEN extract(month FROM o.odate) >= 6 THEN -5 ELSE 7 END + extract(month FROM o.odate),'FM00')||' - '||to_char(o.odate,'TMMon') order_month
,oseas order_season
,rdate request_date
,to_char(CASE WHEN extract(month FROM o.rdate) >= 6 THEN -5 ELSE 7 END + extract(month FROM o.rdate),'FM00')||' - '||to_char(o.rdate,'TMMon') request_month
,rseas request_season
,sdate ship_date
,to_char(CASE WHEN extract(month FROM o.sdate) >= 6 THEN -5 ELSE 7 END + extract(month FROM o.sdate),'FM00')||' - '||to_char(o.sdate,'TMMon') ship_month
,sseas ship_season
,version
,iter
,logload.id logid
,logload.doc->>'tag' tag
,logload.doc->>'message' "comment"
,logload.doc->>'type' module
,round(o.fb_qty * o.lbs) pounds
FROM
rlarp.osmf o
CROSS JOIN logload
LEFT OUTER JOIN lgdat.cust bc ON
bc.bvcust = o.bill_cust
LEFT OUTER JOIN lgdat.cust sc ON
sc.bvcust = o.ship_cust
LEFT OUTER JOIN repc ON
repc.rcode = o.dsm
/*
LEFT OUTER JOIN lgdat.majg ON
bqgrp = o.majg
LEFT OUTER JOIN lgdat.mmgp ON
brmgrp = o.ming
AND BRGRP = o.majg
LEFT OUTER JOIN si ON
si.bsmjcd = o.majs
AND si.bsmncd = o.mins
LEFT OUTER JOIN sj ON
sj.bsmjcd = o.majs
*/
LEFT OUTER JOIN seg ON
seg.glec = o.glec
LEFT OUTER JOIN "CMS.CUSLG".itemm i ON
i.item = o.part
)
SELECT * FROM loadset WHERE iter NOT IN ('py carryover','short ship','bad date')
) WITH DATA;
INSERT INTO rlarp.osm_pool SELECT * FROM rlarp.osm_pool_stage;
--CREATE INDEX osm_qr ON rlarp.osm_pool(quota_rep_descr, bill_cust_descr, ship_cust_descr);
--ALTER TABLE rlarp.osm_pool ADD CONSTRAINT logfk FOREIGN KEY (logid) REFERENCES rlarp.osm_log(id);
--CREATE INDEX osm_pool_logid ON rlarp.osm_pool(logid);
--GRANT ALL ON TABLE rlarp.osm_log TO api;
--GRANT ALL ON TABLE rlarp.osm_pool TO api;
COMMIT;