prepare($sqlProductPhysical); $productPhysicalQuery->bind_param('i', $release_id); if ($productPhysicalQuery->execute()) { $productPhysicalResult = $productPhysicalQuery->get_result(); $productPhysicalData = $productPhysicalResult->fetch_assoc(); } else { showierror($productPhysicalQuery); } $sqlPhysicalOrderTarget = 'SELECT pt.type, pt.target FROM physical_order_targets pt INNER JOIN product_physical pp ON pp.id = pt.product_id WHERE pp.release_id = ?'; $physicalOrderTargetQuery = $mysqli->prepare($sqlPhysicalOrderTarget); $physicalOrderTargetQuery->bind_param('i', $release_id); if ($physicalOrderTargetQuery->execute()) { $physicalOrderTargetResult = $physicalOrderTargetQuery->get_result(); $physicalOrderTargetData = $physicalOrderTargetResult->fetch_all(MYSQLI_ASSOC); } else { showierror($physicalOrderQuery); } $USSupplyChainInfo = array(); $canadaSupplyChainInfo = array(); $sqlSupplyChainReturnInfo = 'SELECT returnability, return_disposition, store_id FROM product_physical_supply_chain_info WHERE product_id = ?'; $supplyChainReturnInfoQuery = $mysqli->prepare($sqlSupplyChainReturnInfo); $supplyChainReturnInfoQuery->bind_param('i', $release_id); if ($supplyChainReturnInfoQuery->execute()) { $supplyChainReturnInfoResult = $supplyChainReturnInfoQuery->get_result(); $supplyChainReturnData = $supplyChainReturnInfoResult->fetch_all(MYSQLI_ASSOC); if ($supplyChainReturnInfoResult->num_rows > 0) { foreach ($supplyChainReturnData as $value) { if ($value['store_id'] == STORE_ID_FOR_US) { $USSupplyChainInfo = $value; } elseif ($value['store_id'] == STORE_ID_FOR_CANADA) { $canadaSupplyChainInfo = $value; } } } } else { showierror($supplyChainReturnInfoQuery); } if ($oaPhysicalSupplyChainCarvedInEnabled) { $supplyChainMetadata = $owsProductPhysicalServiceClient->getSupplyChainMetadataByProduct($release_id, $_SESSION['S_USERID']); $supplyChainDatesData = $supplyChainMetadata['items']; } else { $is_deleted = 0; $store_id_for_canada = STORE_ID_FOR_CANADA; $store_id_for_us = STORE_ID_FOR_US; $sqlSupplyChainDatesInfo = "SELECT ppscd.id, ppscd.returnability, ppscd.return_disposition, ppscd.store_id, ppscd.embargo_date, ppscd.release_date, ppscd.sale_start_date FROM ( (SELECT ppscm.id, ppsci.returnability, ppsci.return_disposition, cmm.customer_master_master_id AS store_id, IF(ppscm.embargo_date, ppscm.embargo_date, '') AS embargo_date, IF(ppscm.release_date, ppscm.release_date, '') AS release_date, IF(ppscm.sale_start_date, ppscm.sale_start_date, '') AS sale_start_date FROM customer_master_master cmm LEFT JOIN product_physical_supply_chain_info ppsci ON ppsci.store_id = cmm.customer_master_master_id AND ppsci.product_id = ? LEFT JOIN product_physical_supply_chain_metadata ppscm ON ppscm.product_id = ppsci.product_id AND ppscm.store_id = ppsci.store_id WHERE cmm.customer_master_master_id IN (?, ?) ) UNION (SELECT ppscmd.id, '' AS returnability, '' AS return_disposition , ppscmd.store_id, IF(ppscmd.embargo_date, ppscmd.embargo_date, '') AS embargo_date, IF(ppscmd.release_date, ppscmd.release_date, '') AS release_date, IF(ppscmd.sale_start_date, ppscmd.sale_start_date, '') AS sale_start_date FROM product_physical_supply_chain_metadata ppscmd WHERE product_id = ? AND is_deleted = ? ) ) As ppscd GROUP BY ppscd.store_id ORDER BY FIELD(ppscd.store_id, ? ,?) DESC, ppscd.id"; $supplyChainDatesInfoQuery = $mysqli->prepare($sqlSupplyChainDatesInfo); $supplyChainDatesInfoQuery->bind_param('iiiiiii', $release_id, $store_id_for_canada, $store_id_for_us, $release_id, $is_deleted, $store_id_for_canada, $store_id_for_us); if ($supplyChainDatesInfoQuery->execute()) { $supplyChainDatesInfoResults = $supplyChainDatesInfoQuery->get_result(); $supplyChainDatesData = $supplyChainDatesInfoResults->fetch_all(MYSQLI_ASSOC); } } if ($isCCMPhysicalSupplyChainInfoOaEnabled) { $storeResults = $carveoutsClient->getPhysicalStores(); $productPhysicalSupplyChainMetadataInfo = getProductPhysicalSupplyChainInfo($wrapperObj, $release_id); foreach ($storeResults as $id => $name) { $storeResults[$id] = [ 'name' => $name, 'sale_start_date' => '', 'initial_stock' => '' ]; } if (!empty($productPhysicalSupplyChainMetadataInfo)) { foreach ($productPhysicalSupplyChainMetadataInfo as $row) { $id = $row['store_id']; if (isset($storeResults[$id])) { $storeResults[$id]['sale_start_date'] = $row['sale_start_date']; $storeResults[$id]['initial_stock'] = $row['initial_stock']; } } } $carveoutResults = $carveoutsClient->getReleaseCarveoutResult($upc); $restrictedDms = array(); foreach ($carveoutResults['store'] as $key => $dmsProperties) { $restrictedDms[$key] = $dmsProperties["dms_name"]; } foreach ($storeResults as $key => &$value) { $value['restricted'] = isset($restrictedDms[$key]); if ($value['restricted']) { $value['sale_start_date'] = ''; $value['initial_stock'] = ''; } } } if ($isOaJapanPhysicalFieldsEnabled) { $phoneticTranslationsSql = 'SELECT field_name, phonetic_translation FROM release_phonetic_translations WHERE release_id = ? AND language_id = 24'; $phoneticTranslationsQuery = $mysqli->prepare($phoneticTranslationsSql); $phoneticTranslationsQuery->bind_param('i', $release_id); $phoneticTranslationsData = array(); if ($phoneticTranslationsQuery->execute()) { $phoneticTranslationsResult = $phoneticTranslationsQuery->get_result(); $phoneticTranslationsData = $phoneticTranslationsResult->fetch_all(MYSQLI_ASSOC); foreach ($phoneticTranslationsData as $item) { if ($item['field_name'] == 'release_name') { $japaneseReleaseName = $item['phonetic_translation']; } elseif ($item['field_name'] == 'artist_name') { $japaneseArtistName = $item['phonetic_translation']; } } } else { showierror($phoneticTranslationsQuery); } } $countryOfOriginSql = 'SELECT r.country_of_origin, c.`name` FROM releases r LEFT JOIN country c ON c.id = r.country_of_origin WHERE r.release_id = ?'; $countryOfOriginQuery = $mysqli->prepare($countryOfOriginSql); $countryOfOriginQuery->bind_param('i', $release_id); $countryOfOriginQuery->execute(); $countryOfOriginResult = $countryOfOriginQuery->get_result(); $countryOfOriginData = $countryOfOriginResult->fetch_assoc(); ?>

Physical Metadata

Physical Product Metadata
'No', 'yes_only' => 'Yes, Japan Only', 'yes_other' => 'Yes, Japan and other territories' ); ?>
Product Type:
Format:
Units Per Set:
Display Configuration:
Packaging:
Embargo Date:
Orchard Pricing:
Manage Pricing
Discount Policy:
Projections: "> View/Edit Projections
Japan Distribution:
Japanese Release Name:
'Normal Edition', 'first_run_limited_edition' => 'First Run Limited Edition', 'initial_limited_edition' => 'Inital Limited Edition', 'limited_edition' => 'Limited Edition', 'period_limited_edition' => 'Period Limited Edition' ); ?>
Box Lot:
Initial Stock:
Explicit:
Exclusive For:
P-Line:
Artist Individual?:
Exportable:
Manufacturing Obligation:
Country of Origin:
Production Notes:
Edition:
Japanese Artist Name:
Supply Chain Return Info
Returnability
United States:
Canada:
Return Disposition
United States:
Canada:
Supply Chain Specific Info
Name Sale Start Date Initial Stock
: