Blame | Last modification | View Log | RSS feed
-- Vendor warehouses so each Gurugram physical warehouse can receive internal movements from its Delhi counterpart only:-- supplier 452 (7720 DL-HR) -> 13368 HR-NSSPL/GGN-- supplier 325 (7573 Delhi) -> 13370 HR-NSSPL/DL-- supplier 457 (9514 DL-Noida) -> 13372 HR-NSSPL/UPW-- GRN books units into selectGoodSupplierWarehouse(supplier, physical) - exactly one OURS/GOOD row per pair.-- Rows mirror WarehouseServiceImpl.createVendorWarehouse (edit-supplier screen), as for supplier 457 -> 9470/10521 on-- 2026-09-15: OURS/GOOD, OURS/BAD, THIRD_PARTY/GOOD; displayName = destination seller label; location/state/pin from-- the destination address master (#33); logisticsLocation from the physical row; gstin NULL.START TRANSACTION;INSERT INTO inventory.warehouse (displayName, location, status, addedOn, lastCheckedOn, tinNumber, gstin, pincode,logisticsLocation, vendor_id, billingType, inventoryType, warehouseType, shippingWarehouseId, billingWarehouseId,transferDelayInHours, isAvailabilityMonitored, state_id, source)SELECT se.label, a.address, 3, NOW(), NOW(), NULL, NULL, a.pin, pw.logisticsLocation, p.vendor, 0, t.inv, t.wtype,pw.id, pw.id, 0, 0, a.state_id, 0FROM (SELECT 452 vendor, 13368 wh UNION ALL SELECT 325, 13370 UNION ALL SELECT 457, 13372) pJOIN (SELECT 1 ord, 'GOOD' inv, 'OURS' wtype UNION ALL SELECT 2, 'BAD', 'OURS' UNION ALL SELECT 3, 'GOOD', 'THIRD_PARTY') tJOIN inventory.warehouse pw ON pw.id = p.whJOIN transaction.sellerwarehouse sw ON sw.warehouse_id = p.wh AND sw.orderType = 0JOIN transaction.seller se ON se.id = sw.seller_idJOIN transaction.warehouseaddressmapping m ON m.warehouse_id = p.whJOIN transaction.warehouseaddressmaster a ON a.id = m.address_idWHERE NOT EXISTS (SELECT 1 FROM inventory.warehouse x WHERE x.vendor_id = p.vendor AND x.billingWarehouseId = p.whAND x.inventoryType = 'GOOD' AND x.warehouseType = 'OURS')ORDER BY p.wh, t.ord;COMMIT;-- verify: exactly one row of each type per pairSELECT w.vendor_id, w.billingWarehouseId, w.id, w.warehouseType, w.inventoryType, w.displayName, w.state_id,w.pincode, w.logisticsLocation, LEFT(w.location, 40) locationFROM inventory.warehouse wWHERE (w.vendor_id, w.billingWarehouseId) IN ((452, 13368), (325, 13370), (457, 13372))ORDER BY w.billingWarehouseId, w.id;