Data Questions:
- invoice_qty
- is_discrepancy_asn, discrepancy_reason
# ASN Sources
SELECT
CASE
WHEN pa.asn_nr IS NOT NULL THEN 'partner_asn'
WHEN po.shipment_nr IS NOT NULL THEN 'retail_order'
WHEN oi.asn_nr IS NOT NULL THEN 'ops_inbound'
ELSE NULL
END AS source_system,
a.source_type,
COUNT(a.asn_nr)
FROM `noondwh.scinbound_inbound.asn` a
JOIN `noondwh.scinbound_inbound.warehouse` w USING (id_warehouse)
LEFT JOIN `noondwh.scinbound_partner_asn.partner_asn` pa USING (asn_nr)
LEFT JOIN `noondwh.retail_order.po_shipment` po ON (po.shipment_nr = a.source_nr)
LEFT JOIN `noondwh.ops_inbound.asn` oi USING (asn_nr)
WHERE TRUE
AND REGEXP_CONTAINS(w.partner_code, r'^[A-Z]{3}(?:DS|NIM|ID)\d{2,3}$')
AND DATE(a.created_at) > DATE_SUB(CURRENT_DATE(), INTERVAL 1 YEAR)
GROUP BY source_system, a.source_type
ORDER BY source_system, source_type;
# ASNs
SELECT
CASE
WHEN REGEXP_CONTAINS(w.partner_code, r'^[A-Z]{3}NIM\d{2,3}$') THEN 'NIM'
WHEN REGEXP_CONTAINS(w.partner_code, r'^[A-Z]{3}ID\d{2,3}$') THEN 'ID'
WHEN REGEXP_CONTAINS(w.partner_code, r'^[A-Z]{3}DS\d{2,3}$') THEN 'DS'
END AS wh_type,
w.partner_code,
a.asn_nr,
a.source_type AS asn_type,
a.id_partner_source AS id_partner,
CASE a.source_type
WHEN 'FBN' THEN p.legal_name
WHEN 'ROSHIP' THEN r.vendor_name
WHEN 'POSHIP' THEN v.name
END AS seller_vendor_name,
CASE a.source_type
WHEN 'ROSHIP' THEN r.vendor_code
WHEN 'POSHIP' THEN v.vendor_code
END AS vendor_code,
a.qty_expected,
a.box_qty_expected,
t.code AS gatin_type,
a.schedule_date,
a.schedule_slot,
--schedule_status,
--inbound_status,
FROM `noondwh.scinbound_inbound.asn` a
JOIN `noondwh.scinbound_inbound.warehouse` w USING (id_warehouse)
JOIN `noondwh.scinbound_inbound.asn_gate_in_type` t USING (id_asn_gate_in_type)
LEFT JOIN `noondwh.partner.partner` p ON (p.id_partner = a.id_partner_source)
LEFT JOIN `noondwh.instant_instant_replenishment.ro_asn` ra USING (asn_nr)
LEFT JOIN `noondwh.instant_instant_replenishment.ro` r USING (id_ro)
LEFT JOIN `noondwh.retail_order.po_shipment` pos ON (pos.shipment_nr = a.source_nr)
LEFT JOIN `noondwh.retail_order.po` po USING (id_po)
LEFT JOIN `noondwh.retail_order.counterparty` cp USING (id_counterparty)
LEFT JOIN `noondwh.retail_order.vendor` v ON (cp.legacy_type = 'vendor' AND v.vendor_code = cp.legacy_code)
WHERE TRUE
AND DATE(a.created_at) > DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH)
AND REGEXP_CONTAINS(w.partner_code, r'^[A-Z]{3}(?:DS|ID|NIM)\d{2,3}$')
-- AND a.box_qty_expected > 1
-- AND a.is_block_unexpected_sku != 1
-- AND t.code != 'combined_gatein'
-- AND a.source_type = 'POSHIP'
-- ORDER BY RAND();
# ASN Details
SELECT
l.group_key,
l.qty,
l.psku_code,
ps.nsku_child,
ps.zsku_child,
pb.partner_barcode,
pb.pbarcode_code,
pb.pbarcode_canonical,
l.item_type,
pe.brand,
pe.title,
pe.title_suffix,
pe.base_title,
pft.product_fulltype_code,
pt.code product_type_code,
pst.code product_subtype_code,
f.code family_code,
if(iet.id_ignore_expiry_tracking IS NOT NULL, 0, 1) AS is_expirable,
sl.shelf_life,
inm.country_code,
inm.min_inbound_shelf_days,
inm.min_inbound_shelf_perc,
sc.storage_condition_code
FROM `noondwh.scinbound_inbound.asn` a
JOIN `noondwh.scinbound_inbound.asn_line` l USING (id_asn)
JOIN `noondwh.psku.psku` ps USING (psku_code)
JOIN `noondwh.psku.pbarcode` pb ON (pb.psku_code = ps.psku_code AND pb.is_active = 1)
JOIN `noondwh.instant_spanner.product` p ON (p.sku = ps.zsku_child)
JOIN `noondwh.instant_spanner.product_en` pe USING (sku)
JOIN `noondwh.wecat_md.product_fulltype` pft ON (pft.id_product_fulltype = p.id_product_fulltype)
JOIN `noondwh.wecat_md.product_type` pt USING (id_product_type)
JOIN `noondwh.wecat_md.product_subtype` pst USING (id_product_subtype)
JOIN `noondwh.wecat_md.family` f USING (id_family)
LEFT JOIN `noondwh.scgoms_product.ignore_expiry_tracking` iet ON (iet.family_code = f.code AND iet.product_type_code = pt.code AND iet.is_active = 1)
LEFT JOIN `noondwh.scgoms_product.shelf_life` sl ON (sl.gtin = pb.pbarcode_canonical AND sl.is_active = 1)
LEFT JOIN `noondwh.scgoms_product.inbound_norms_minutes` inm ON (inm.gtin = pb.pbarcode_canonical AND inm.is_active = 1)
LEFT JOIN `noondwh.scgoms_product.storage_condition` sc ON (sc.product_fulltype_code = pft.product_fulltype_code AND sc.is_active = 1)
WHERE a.asn_nr = 'A01570433PN'
ORDER BY l.psku_code, pb.pbarcode_canonical
# ASNs by warehouse type and source type
SELECT
CASE
WHEN REGEXP_CONTAINS(w.partner_code, r'^[A-Z]{3}NIM\d{2,3}$') THEN 'NIM'
WHEN REGEXP_CONTAINS(w.partner_code, r'^[A-Z]{3}ID\d{2,3}$') THEN 'ID'
WHEN REGEXP_CONTAINS(w.partner_code, r'^[A-Z]{3}DS\d{2,3}$') THEN 'DS'
END AS wh_type,
a.source_type,
COUNT(DISTINCT a.asn_nr) asn_count
FROM `noondwh.scinbound_inbound.asn` a
JOIN `noondwh.scinbound_inbound.warehouse` w USING (id_warehouse)
WHERE TRUE
AND DATE(a.created_at) > DATE_SUB(CURRENT_DATE(), INTERVAL 1 WEEK)
AND REGEXP_CONTAINS(w.partner_code, r'^[A-Z]{3}(?:DS|ID|NIM)\d{2,3}$')
GROUP BY wh_type, a.source_type
ORDER BY wh_type, asn_count DESC;
# ASN Decline Reasons
SELECT
r.name_en AS reason,
COUNT(DISTINCT a.asn_nr) asn_count
FROM `noondwh.scinbound_inbound.asn` a
JOIN `noondwh.scinbound_inbound.warehouse` w USING (id_warehouse)
JOIN `noondwh.scinbound_inbound.reason` r ON (a.id_reason_declined = r.id_reason)
WHERE TRUE
AND DATE(a.created_at) > DATE_SUB(CURRENT_DATE(), INTERVAL 1 YEAR)
AND REGEXP_CONTAINS(w.partner_code, r'^[A-Z]{3}(?:DS|ID|NIM)\d{2,3}$')
GROUP by reason
ORDER BY asn_count DESC;
# ASN Expected Qtys
SELECT
ANY_VALUE(a.schedule_date) date_scheduled,
ANY_VALUE(w.partner_code) wh_code,
a.asn_nr,
ANY_VALUE(a.qty_expected) asn_qty,
SUM(al.qty) line_qty,
FROM `noondwh.scinbound_inbound.asn` a
JOIN `noondwh.scinbound_inbound.warehouse` w USING (id_warehouse)
JOIN `noondwh.scinbound_inbound.asn_line` al USING (id_asn)
WHERE TRUE
AND REGEXP_CONTAINS(w.partner_code, r'^[A-Z]{3}(?:DS)\d{2,3}$')
AND DATE(a.schedule_date) > DATE_SUB(CURRENT_DATE(), INTERVAL 6 MONTH)
GROUP BY a.asn_nr
HAVING TRUE
ORDER BY asn_qty DESC
# ASN Boxes