# AppSupport ## Query to check stock / unlimited stock ```gherkin= SELECT ss.warehouse_id as "warehouseId" FROM catalogues c JOIN brands b on b.id = c.brand_id JOIN supplier_stores ss on ss.supplier_id = b.supplier_id JOIN stores s on ss.store_id = s.id WHERE s.id = {storeId} AND c.id in (catalogue_id) SELECT wc.warehouse_id as "warehouseId", wc.id as "warehouseCatalogueId", wc.stock, wc.unlimited_stock as "unlimitedStock" FROM warehouse_urbans AS wu JOIN warehouse_catalogues AS wc ON wc.warehouse_id = wu.warehouse_id WHERE wu.urban_id in ( SELECT ss.urban_id FROM supplier_stores ss JOIN brands b ON b.supplier_id = ss.supplier_id JOIN catalogues c on c.brand_id = b.id WHERE c.id in (catalogue_id) AND ss.store_id = {storeId} ) AND wc.catalogue_id in (catalogue_id) AND wc.deleted_at is null ORDER BY wc.warehouse_id ASC LIMIT 1; ``` ## Query to check Search Store List ```gherkin= SELECT a.id, a.store_id AS "storeId", a.external_id AS "externalId", a.name, a.address, f.name AS "province", e.city, e.district, e.urban, e.zip_code AS "zipCode", a.note_address AS "noteAddress", a.tax_no AS "taxNo", a.longitude, a.latitude, a.large_area AS "largeArea", a.phone_no AS "phoneNo", a.image_url AS "storePhoto", a.number_of_employee AS "numberOfEmployee", a.tax_image_url AS "taxImageUrl", a.number_of_employee AS "numberOfEmployee", a.urban_id AS "urbanId", a.top_selling_brand AS "topSellingBrand", a.most_wanted_brand AS "mostWantedBrand", a.status, a.approval_status AS "approvalStatus", a.created_at AS "createdAt", (SELECT full_name FROM users u LEFT JOIN user_stores us ON u.id = us.user_id WHERE us.store_id = a.store_id ORDER BY us.created_at DESC LIMIT 1) AS "ownerName", (SELECT mobile_phone_no FROM users u LEFT JOIN user_stores us ON u.id = us.user_id WHERE us.store_id = a.store_id ORDER BY us.created_at DESC LIMIT 1) AS "mobilePhoneNo", (SELECT join_date FROM users u LEFT JOIN user_stores us ON u.id = us.user_id WHERE us.store_id = a.store_id ORDER BY us.created_at DESC LIMIT 1) AS "joinDate", g.name AS "vehicleAccessibility", (SELECT name FROM store_types st LEFT JOIN types t ON st.type_id = t.id WHERE st.store_id = b.id LIMIT 1) AS "storeType", (SELECT name FROM store_clusters sc LEFT JOIN clusters c ON sc.cluster_id = c.id WHERE sc.store_id = c.id LIMIT 1) AS "storeCluster", (SELECT name FROM store_groups sg LEFT JOIN groups g ON sg.group_id = g.id WHERE sg.store_id = g.id LIMIT 1) AS "storeGroup", (SELECT name FROM store_channels scn LEFT JOIN channels cn ON scn.channel_id = cn.id WHERE scn.store_id = cn.id LIMIT 1) AS "storeChannel" FROM supplier_stores a LEFT JOIN stores b ON a.store_id = b.id LEFT JOIN urbans e ON a.urban_id = e.id LEFT JOIN provinces f ON e.province_id = f.id LEFT JOIN vehicle_accessibilities g ON g.id = a.vehicle_accessibility_id WHERE a.deleted_at IS NULL AND supplier_id = 44 AND ( a.name like '%keyword%' OR a.external_id like '%keyword%' OR a.address like '%keyword%' OR a.phone_no like '%keyword%' OR (SELECT full_name FROM users u LEFT JOIN user_stores us ON u.id = us.user_id WHERE us.store_id = a.store_id AND u.deleted_at IS NULL ORDER BY us.created_at DESC LIMIT 1) like '%keyword%' OR (SELECT mobile_phone_no FROM users u LEFT JOIN user_stores us ON u.id = us.user_id WHERE us.store_id = a.store_id AND u.deleted_at IS NULL ORDER BY us.created_at DESC LIMIT 1) like '%keyword%' ) ``` ## Query to check the PENDING order mapping problem ```gherkin select DISTINCT CASE WHEN s.urban_id = wu.urban_id then 'PASS' ELSE 'FAILED' END as CheckUrbanId, CASE WHEN invg.external_id is NULL then CONCAT('FAILED => ', 'external_id InvoiceGroup is NULL') ELSE 'PASS' END as CheckExternalIdInvoiceGroup, CASE WHEN obc.warehouse_id = wu.warehouse_id then 'PASS' ELSE CONCAT('FAILED => ', 'update warehouseId_obc from ',obc.warehouse_id, ' to ', wu.warehouse_id) END as CheckWarehouseId, CASE WHEN CAST ( substring(w.external_id,1, 2) AS INT ) = tsp.initial_sellpo_code then 'PASS' ELSE CONCAT('FAILED => ', 'externalID Warehouse difference ',substring(cast(w.external_id as varchar(100)),1, 2), ' with TRS SellPoCode ', tsp.initial_sellpo_code) END as CheckWarehouseSellPoCode, CASE WHEN CAST ( substring(s.external_id,1, 2) AS VARCHAR(2) ) = CAST (tsp.initial_sellpo_code AS VARCHAR(2)) then 'PASS' ELSE CONCAT('FAILED => ', 'externalID Store difference ',substring(cast(s.external_id as varchar(100)),1, 2), ' with TRS SellPoCode ', tsp.initial_sellpo_code) END as CheckStoreSellPoCode, op.status, op.order_code, op.order_ref, op.id as orderParcelId, s.urban_id as urbanId_supplierStore, wu.urban_id as urbanId_warehouseUrban, w.id as warehouseId, obc.warehouse_id as warehouseId_obc, wu.warehouse_id as warehouseId_warehouseUrban, w.external_id as externalId_warehouse, w."name" as sinbad_warehousename, s.external_id as externalId_supplierStore, s."name" as name_supplierstore, us.user_code as userCode_users, st.creator_id as store_CreatorId, us.id as id_users, op.created_at from supplier_stores as s left join stores as st on st.id=s.store_id left join urbans as u on u.id=s.urban_id left join warehouse_urbans as wu on wu.urban_id=u.id left join warehouses as w on w.id=wu.warehouse_id left join trs_sellpocode tsp on tsp.description = w."name" left join orders as o on o.store_id=s.store_id left join order_parcels as op on op.order_id=o.id inner join invoice_groups as invg on invg.id = op.invoice_group_id left join order_brands ob on ob.order_parcel_id = op.id left join order_brand_catalogues obc on obc.order_brand_id = ob.id left join portfolios as p on p.id = op.portfolio_id left join users as us on us.id = p.user_id where w.supplier_id ='1' and op.status = 'pending_supplier' -- and w."name" = 'DC PULOGEBANG1' and op.order_code in ('S0100182248951250747') ``` ## Query to Count all Pending Supplier in Each DC ```gherkin select A.sinbad_warehousename, count(1) from ( select DISTINCT CASE WHEN s.urban_id = wu.urban_id then 'PASS' ELSE 'FAILED' END as CheckUrbanId, CASE WHEN obc.warehouse_id = wu.warehouse_id then 'PASS' ELSE CONCAT('FAILED => ', 'update warehouseId_obc from ',obc.warehouse_id, ' to ', wu.warehouse_id) END as CheckWarehouseId, op.status, op.order_code, op.order_ref, op.id as orderParcelId, s.urban_id as urbanId_supplierStore, wu.urban_id as urbanId_warehouseUrban, w.id as warehouseId, obc.warehouse_id as warehouseId_obc, wu.warehouse_id as warehouseId_warehouseUrban, substring(cast(wu.warehouse_id as varchar(100)),1, 2) as prefix_externalID, w.external_id as externalId_warehouse, w."name" as sinbad_warehousename, s.external_id as externalId_supplierStore, s."name" as name_supplierstore, us.user_code as userCode_users, st.creator_id as store_CreatorId, us.id as id_users, op.created_at from supplier_stores as s left join stores as st on st.id=s.store_id left join urbans as u on u.id=s.urban_id left join warehouse_urbans as wu on wu.urban_id=u.id left join warehouses as w on w.id=wu.warehouse_id left join orders as o on o.store_id=s.store_id left join order_parcels as op on op.order_id=o.id left join order_brands ob on ob.order_parcel_id = op.id left join order_brand_catalogues obc on obc.order_brand_id = ob.id left join portfolios as p on p.id = op.portfolio_id left join users as us on us.id = p.user_id where w.supplier_id ='1' and op.status = 'pending_supplier' -- and w."name" = 'DC PULOGEBANG1' -- and op.order_code in ('S0100182137351232163') ) A GROUP by A.sinbad_warehousename order by A.sinbad_warehousename ASC ``` ### Query for Update OrderBrandCatalogue WarehouseId ```gherkin select * from order_brand_catalogues obc inner join order_brands ob on ob.id = obc.order_brand_id inner join order_parcels op on op.id = ob.order_parcel_id where op.order_code = 'S0100182137351232163' ``` ### Query for Insert Table TRS SellPoCode ``` gherkin CREATE TEMP TABLE trs_sellpocode ( description varchar(50), region varchar(10), initial_sellpo_code INT ); INSERT INTO trs_sellpocode(description, region, initial_sellpo_code) values ('DC TANGERANG', 'REGION 1',16); INSERT INTO trs_sellpocode(description, region, initial_sellpo_code) values ('DC CIBINONG', 'REGION 1',20); INSERT INTO trs_sellpocode(description, region, initial_sellpo_code) values ('DC SERANG', 'REGION 1',18); INSERT INTO trs_sellpocode(description, region, initial_sellpo_code) values ('DC CIKAMPEK', 'REGION 1',14); INSERT INTO trs_sellpocode(description, region, initial_sellpo_code) values ('DC PULOGEBANG1', 'REGION 1',10); INSERT INTO trs_sellpocode(description, region, initial_sellpo_code) values ('DC PULOGEBANG2', 'REGION 1',12); INSERT INTO trs_sellpocode(description, region, initial_sellpo_code) values ('DC CIANJUR', 'REGION 1',26); INSERT INTO trs_sellpocode(description, region, initial_sellpo_code) values ('DC SUKABUMI', 'REGION 1',24); INSERT INTO trs_sellpocode(description, region, initial_sellpo_code) values ('DC BANDUNG', 'REGION 1',22); INSERT INTO trs_sellpocode(description, region, initial_sellpo_code) values ('DC GARUT', 'REGION 1',30); INSERT INTO trs_sellpocode(description, region, initial_sellpo_code) values ('DC CIREBON', 'REGION 1',28); INSERT INTO trs_sellpocode(description, region, initial_sellpo_code) values ('DC KUDUS', 'REGION 2',34); INSERT INTO trs_sellpocode(description, region, initial_sellpo_code) values ('DC SEMARANG', 'REGION 2',32); INSERT INTO trs_sellpocode(description, region, initial_sellpo_code) values ('DC YOGYAKARTA', 'REGION 2',40); INSERT INTO trs_sellpocode(description, region, initial_sellpo_code) values ('DC PURWOKERTO', 'REGION 2',36); INSERT INTO trs_sellpocode(description, region, initial_sellpo_code) values ('DC SOLO', 'REGION 2',42); INSERT INTO trs_sellpocode(description, region, initial_sellpo_code) values ('DC SURABAYA', 'REGION 3',44); INSERT INTO trs_sellpocode(description, region, initial_sellpo_code) values ('DC JEMBER', 'REGION 3',50); INSERT INTO trs_sellpocode(description, region, initial_sellpo_code) values ('DC MALANG', 'REGION 3',52); INSERT INTO trs_sellpocode(description, region, initial_sellpo_code) values ('DC TEGAL', 'REGION 3',38); INSERT INTO trs_sellpocode(description, region, initial_sellpo_code) values ('DC MADIUN', 'REGION 3',48); INSERT INTO trs_sellpocode(description, region, initial_sellpo_code) values ('DC JOMBANG', 'REGION 3',46); INSERT INTO trs_sellpocode(description, region, initial_sellpo_code) values ('DC KEDIRI', 'REGION 3',54); drop table trs_sellpocode; ``` ###### tags: `Documents`