\n\n

,需要通过父级DOM结构来判断 */ var trackActionPhone = function (node) { var nodeInnerText = node.innerText || ''; if (!limitRegLength(nodeInnerText)) return; var nodeText = trimText(nodeInnerText); if (nodeText.length < 5 || nodeText.length > 20) return false; var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'click'; var str = trimText(node.href || nodeText || ''); if (phoneReg.test(str) && numUseReg.test(str)) { window.postMessage({ type: 'SHOPS_CONTACT_TRACK', data: { phone: nodeText, }, }, '*'); _paq.push(['trackEvent', type, 'phone', nodeText]); return true; } /** 排查父级嵌套非标签场景,并且对dom的正则校验做一个性能兜底,通过控制innerText的长度,来确保正则的性能 */ var fatherText = trimText(node.parentNode.innerText || ''); if (fatherText.length < 5 || fatherText.length > 20) return false; if (phoneReg.test(fatherText) && numUseReg.test(fatherText)) { window.postMessage({ type: 'SHOPS_CONTACT_TRACK', data: { phone: nodeText, }, }, '*'); _paq.push(['trackEvent', type, 'phone', nodeText]); return true; } return false; }; window.addEventListener('click', function (e) { var node = e.target; /** 社媒点击 */ var appName = ''; var getAppAriaLabel = node.ariaLabel || node.parentNode.ariaLabel || ''; if (mediaList.includes(getAppAriaLabel.toLowerCase())) { appName = getAppAriaLabel; } if ( !appName && node.nodeName && node.nodeName.toLowerCase() === 'a' ) { appName = getMediaName(node.href) || getMediaName(node.alt); } if ( !appName && node.nodeName && node.nodeName.toLowerCase() === 'img' ) { appName = getMediaName(node.alt) || getMediaName(node.src); } if ( !appName && node.nodeName && node.nodeName.toLowerCase() === 'i' ) { appName = getMediaName(node.className); } if (appName) { _paq.push(['trackEvent', 'click', 'contactApp', appName]); return; } /** 联系方式点击 */ if (trackActionPhone(node, 'click')) return; if (node.nodeName && node.nodeName.toLowerCase() === 'a') { var val = node.href; if (!limitRegLength(val)) return; if (emailReg.test(val)) { window.postMessage({ type: 'SHOPS_CONTACT_TRACK', data: { email: val, }, }, '*'); _paq.push(['trackEvent', 'click', 'email', val]); return; } } if (node.nodeName && node.nodeName.toLowerCase() === 'i') { var val = node.className; var content = node.parentNode.href || ''; if (val.includes('email')) { window.postMessage({ type: 'SHOPS_CONTACT_TRACK', data: { email: content, }, }, '*'); _paq.push(['trackEvent', 'click', 'email', content]); return; } } var nodeChildList = node.childNodes; for (var i = 0; i < nodeChildList.length; i++) { if (nodeChildList[i].nodeType !== 3) continue; var val = nodeChildList[i].textContent.replace(/\s?:?/g, ''); if (!limitRegLength(val)) continue; if (emailReg.test(val)) { window.postMessage({ type: 'SHOPS_CONTACT_TRACK', data: { email: val, }, }, '*'); _paq.push(['trackEvent', 'click', 'email', val]); return; } } trackNumberData(node); }); window.addEventListener('copy', function (e) { if (trackActionPhone(e.target, 'copy')) return; var text = e.target.textContent; if (!text) return; var val = text.replace(/\s:?/g, ''); if (!limitRegLength(val)) return; if (emailReg.test(val)) { window.postMessage({ type: 'SHOPS_CONTACT_TRACK', data: { email: val, }, }, '*'); _paq.push(['trackEvent', 'copy', 'email', val]); return; } trackNumberData(e.target); }); } trackContactInit(); /** * 基于custom_inquiry_form.js 以及 form.js 对于询盘表单提交的实现,来反推询盘表单的input标签触发,用来收集意向客户 * 1. 缓存的KEY:TRACK_INPUT_ID_MTM_00; * 2. 缓存策略 - lockTrackInput:单个页面内,10分钟内,不重复上报 */ function trackActionInput() { const CACHE_KEY = 'TRACK_INPUT_ID_MTM_00'; const pathName = window.location.hostname + window.location.pathname; var lockTrackInput = function () { try { const lastCacheData = localStorage.getItem(CACHE_KEY); if (!lastCacheData) return false; const cacheData = JSON.parse(lastCacheData); const cacheTime = cacheData[pathName]; if (!cacheTime) return false; return Date.now() - cacheTime < 1000 * 60 * 10; // 10分钟内,不重复上报 } catch (error) { console.error('lockTrackInput Error', error); return false; } }; var setInputTrackId = function () { try { const curCacheData = localStorage.getItem(CACHE_KEY); if (curCacheData) { const cacheData = JSON.parse(curCacheData); cacheData[pathName] = Date.now(); localStorage.setItem(CACHE_KEY, JSON.stringify(cacheData)); return; } const cacheData = { [pathName]: Date.now(), }; localStorage.setItem(CACHE_KEY, JSON.stringify(cacheData)); } catch (error) { console.error('setInputTrackId Error', error); } }; var getInputDom = function (initDom) { var ele = initDom; while (ele) { /** * isWebSiteForm 是站点的表单 * isChatWindowForm 是聊天窗口的表单 */ /** 旧模板表单 */ var isWebSiteForm = !!( /crm-form/i.test(ele.className) && ele.querySelector('form') ); /** 1:新模板自定义表单、2:Get a Quote 弹框表单 */ var isWebSiteFormNew = !!( /inquiry/i.test(ele.className) && ele.querySelector('form') ); if (isWebSiteForm || isWebSiteFormNew) { _paq.push(['trackEvent', 'formInquiry', 'formInput', 'page']); setInputTrackId(); return; } /** Mkt会话触达-聊天弹框的表单输入: MKT由于是iframe嵌入,所以MKT的上报,会单独写到MKT-form代码上 */ var isInquiryChatForm = !!( /comp-form/i.test(ele.className) && ele.querySelector('form') ); if (isInquiryChatForm) { _paq.push(['trackEvent', 'formInquiry', 'formInput', 'chat']); setInputTrackId(); return; } /** 向上查找父节点 */ ele = ele.parentNode; } }; function initInputListener() { var inputUseDebounce = function (fn, delay) { var timer = null; var that = this; return function () { var args = Array.prototype.slice.call(arguments); if (timer) clearTimeout(timer); timer = setTimeout(function () { fn.apply(that, args); }, delay); }; }; var optimizeGetInputDom = inputUseDebounce(getInputDom, 300); window.addEventListener('input', function (e) { /** 如果已经上报过,则不再上报 */ if (lockTrackInput()) return; optimizeGetInputDom(e.target); }); } try { initInputListener(); } catch (error) { console.log('initInputListener Error', error); } } trackActionInput(); } /** 第三方消息上报:目前主要是针对全点托管会话;在msgCollect/index.js中调试,访问test.html */ function thirdMsgCollect() { /** 先检测是否是stayReal托管:如果stayReal脚本都没有,那么说明当前站点未开启stayReal会话托管 */ const scriptList = Array.prototype.slice.call( document.querySelectorAll('script'), ); const checkStayReal = () => !!scriptList.find((s) => s.src.includes('stayreal.xiaoman.cn')); if (!checkStayReal()) return; /** 缓存当前消息队列的最后一条消息id */ const CACHE_KEY = 'CACHE_KEY_MONITOR'; const setCache = (msgIndex) => { /** 对缓存KEY进行base64转码处理 */ const cacheMsgIndex = btoa(msgIndex); localStorage.setItem(CACHE_KEY, cacheMsgIndex); }; const getCache = () => { const cacheMsgIndex = localStorage.getItem(CACHE_KEY); if (cacheMsgIndex) return Number(atob(cacheMsgIndex)); return -1; }; /** 拉取最新msg列表 */ const pullMsgList = () => { const msgEleList = Array.prototype.slice.call( document.querySelectorAll('#chat-list li'), ); const msgIds = []; const msgMap = msgEleList.reduce((acc, item) => { const sendTime = item .querySelector('.message-data-time') .textContent.trim(); const sendContent = item.querySelector('.message').textContent.trim(); /** msg带有class:other-message的是访客消息,my-message的是客服消息 */ const isOtherMessage = item .querySelector('.message') .classList.contains('other-message'); const msgId = item.querySelector('.message').getAttribute('id'); const msgItemData = { msgId, user: isOtherMessage ? 'visitor' : 'official', time: sendTime, content: sendContent, }; msgIds.push(msgId); acc[msgId] = msgItemData; return acc; }, {}); return { ids: msgIds, dataMap: msgMap, }; }; /** 加密并上传消息数据 */ let ENCRYPT_KEY = 'de29f1aab63ab033'; let ENCRYPT_IV = 'b8d2badf875e76ac'; const baseUrl = 'https://cms.xiaoman.cn'; // var getEncryptConfig = function () { // const url = baseUrl + '/shop-api/innerApi/getKeyIv' // $.get( // url, // function (result) { // console.log('result', result) // if (Number(result.code) === 0 && result.data.key && result.data.iv) { // ENCRYPT_KEY = result.data.key // ENCRYPT_IV = result.data.iv // uploadMsgData() // } else { // /** 如果获取失败,则重试 */ // setTimeout(() => { // getEncryptConfig() // }, 1000) // } // }, // 'json' // ) // } // getEncryptConfig() const encryptMsg = function (msgData) { const enc = new TextEncoder(); // 转字节 const keyBytes = enc.encode(ENCRYPT_KEY); const ivBytes = enc.encode(ENCRYPT_IV); const plainBytes = enc.encode(msgData); // 导入密钥并加密 return crypto.subtle .importKey('raw', keyBytes, { name: 'AES-CBC' }, false, ['encrypt']) .then(function (cryptoKey) { return crypto.subtle.encrypt( { name: 'AES-CBC', iv: ivBytes }, cryptoKey, plainBytes, ); }) .then(function (encryptedBuffer) { // 转 base64 返回 return btoa( String.fromCharCode(...new Uint8Array(encryptedBuffer)), ); }) .catch((err) => { return Promise.reject(err); }); }; let uploadFlag = false; const uploadMsgData = function () { if (uploadFlag) return; uploadFlag = true; const { ids, dataMap } = pullMsgList(); let cacheMsgIndex = getCache(); const msgLen = ids.length; if (!msgLen) { // 消息DOM未挂载 || 消息DOM已挂载,但是消息列表为空 uploadFlag = false; return; } if (msgLen - 1 < cacheMsgIndex) { /** 针对站点挂后台一段时间,消息列表会自动塞入重复消息,导致消息有重复,刷新后又重置回正常消息列表,所以这里需要更新锚点下标 */ cacheMsgIndex = msgLen - 1; setCache(cacheMsgIndex); uploadFlag = false; return; } if (msgLen - 1 === cacheMsgIndex) { // 缓存的最后一次发送的消息ID是最后一条(说明当前消息均已经上报),则不跳过本地上报 uploadFlag = false; return; } const currentMsgIds = ids.slice(cacheMsgIndex + 1, msgLen); const currentMsgData = currentMsgIds.map((id) => dataMap[id]); const mtmId = window.matomo_site_id_cookie_key || ''; // 获取mtm会话id const msgBody = { mtmId, curl: window.location.href, msgList: currentMsgData, }; const msgBodyStr = JSON.stringify(msgBody); encryptMsg(msgBodyStr) .then(function (encryptedMsg) { console.log('encryptedMsg:', encryptedMsg, msgBodyStr); const url = baseUrl + '/shop-api/External/ListenSiteActiveStatus'; $.ajax({ type: 'POST', url, data: JSON.stringify({ d_v: encryptedMsg }), contentType: 'application/json', success: function (result) { if (Number(result.code) === 0) { // 更新消息队列 setCache(msgLen - 1); } uploadFlag = false; }, error: function (err) { console.error(err, '请求异常'); uploadFlag = false; }, }); }) .catch((err) => { console.error(err, '数据加密失败'); uploadFlag = false; }); }; /** 监控chat-list的DOM变更 */ const initChatListObserver = () => { // 需要监听的 DOM 节点 const target = document.getElementById('chat-list'); if (!target) return; // 回调函数 const callback = function (mutationsList, observer) { for (const mutation of mutationsList) { console.log('mutation', mutation); if (mutation.type === 'childList') { uploadMsgData(); } } }; // 配置 const config = { childList: true, // 监听子节点的增删 subtree: true, // 是否也监听后代节点 }; // 创建 observer const observer = new MutationObserver(callback); // 开始监听 observer.observe(target, config); }; let testCount = 30; let itv = null; const checkChatDom = () => !!document.querySelector('#vc-model'); const initTalkCheck = () => { itv = setTimeout(() => { console.log('checkChatDom', checkChatDom(), testCount); if (!checkChatDom() && testCount > 0) { testCount--; initTalkCheck(); return; } clearTimeout(itv); uploadMsgData(); initChatListObserver(); }, 1500); }; initTalkCheck(); } try { gtmTrack(); thirdMsgCollect(); console.log('inserted gtm code'); } catch (error) { console.error('gtmTrack Error', error); } }); })();

Všechny kategorie
Zpět

Červený práškově natřený hlubokotažený ocelový zásobník se závitovým výtokem – případová studie pro OEM

Červený práškově natřený hlubokotažený ocelový zásobník se závitovým výtokem – případová studie pro OEM

Odvětví: Úprava vody / průmyslová zařízení | Roční objem: 5 000 ks | Výrobce: Cangzhou Deeplink (ISO 9001)

Tato případová studie popisuje roční výrobní dávku 5 000 červených nádob z hlubokotažené oceli s práškovým povlakem, se závitovým výstupem a svařeným L-vazebním úhelníkem , vyrobeno společností Cangzhou Deeplink International Supply Chain Co., Ltd. pro evropského výrobce zařízení pro úpravu vody. Tělo je vyrobeno hlubokým tažením z 1,5 mm tenkého za studena válcovaného ocelového plechu SPCC , zuženo a vně závitově opracováno na horní části, svářeno po obvodu s laserově řezaným vazebním úhelníkem a dokončeno práškovým povlakem RAL 3002 červená (60–80 μm) . Každá jednotka je před zabalením podrobena tlakovému testu netěsnosti vzduchem při 1,5 baru. Nástroje, tváření, svařování a dokončovací úpravy probíhají ve vlastním provozu na našem certifikovaném závodě ISO 9001 o rozloze 5 000 m² v Cangzhou v Číně.

1. Pohled na součást

Atribut Specifikace
Název části Hlubokotažený ocelový zásobník / pouzdro filtru se závitovým výstupem
Materiál Tenký za studena válcovaný ocelový plech SPCC, tloušťka stěny 1,5 mm (na vyžádání k dispozici také nerezová ocel 304)
Formování Dvoustupňové hluboké tažení + zužování + valcování závitu
Výstupní vlákno Vnější závit s válcováním, G 3/4″ (podle kresby zákazníka)
Montážní charakteristika L-patka vyřezaná laserem se dvěma průchozími otvory, svařená metodou MIG k tělu
Úprava povrchu Předúprava železným fosfátem + práškový nátěr v červené lesklé barvě RAL 3002, tloušťka 60–80 μm
Test těsnosti testování vzduchem pod vodou při tlaku 1,5 baru, 100% kontrola
Roční objem 5 000 ks ročně (dodávky na doobjednávku)
Doba dodání Výroba nástrojů a vzorků za 25 dní; sériová výroba za 30–35 dní

Deep-Drawn Steel Tank 1.jpg

2. Co požadovala kresba

Kresba zákazníka požadovala válcový nádržový celek ve dvou částech, který musel splňovat tři pevné požadavky: (a) svary nepropustné pro plyn i vodu v švu uprostřed těla a v místě spoje s patkou, (b) jedna přesně válcovaný vnější závit nahoře, který musí přijmout standardní mužské spojení bez podložek, a (c) lesklý červený kosmetický povrch bez známek „pomerančové kůry“, stékání a stříkanců od svařování viditelných po nanesení povlaku. Bočně montovaná L-konzola musí nést naplněnou nádrž na stěnovém panelu, proto jsou pro montáž klíčové rovnost povrchu a poloha otvorů na konzole.

3. Technické výzvy, které jsme vyřešili

  • Vytahování s výstupky a tenčení stěny. Pro dosažení poměru výšky ku průměru bez prasknutí bylo nutné použít dvoustupňové vytahování; tlak přidržovacího kroužku a nastavení tažných hran byly po zkouškách prvního vzorku uzamčeny.
  • Zúžení a válcování závitu. Zúžení otevřeného konce muselo zachovat dostatečnou tloušťku stěny pro čisté válcování závitu – tenčení bylo udrženo pod 12 % v oblasti závitu.
  • Deformace při svařování. Svařování svorky a středního těla metodou MIG deformuje válec tak, že se ztrácí kruhový tvar. Přidali jsme postup předsvařování a chladicí upínací zařízení, čímž jsme udrželi odchylku od kruhového tvaru pod 0,3 mm.
  • Přilnavost práškového nátěru na svařovaných plochách. Nespravené svařované plochy zachycují olej a škváru; předúprava železo-fosfátem spolu s dalším speciálním průchodem drátěným kartáčem v oblasti svaru zajistily přilnavost nad požadovanou úrovní 0 podle zkoušky mřížky.
  • Dekorativní červený povrch. Lesklý odstín RAL 3002 odhaluje každou vadu. Rozstřik z varu byl odstraněn ještě před předúpravou a nátěr byl aplikován s přesně řízenou tloušťkou vrstvy, aby nedošlo k vzniku povrchu typu ‚pomerančová kůže‘.

Deep-Drawn Steel Tank 2.jpg

4. Tok výrobního procesu

  1. Stříhání a hluboké tažení — Kotoučový materiál SPCC o tloušťce 1,5 mm byl střižen a ve dvou postupných fázích tažen na lisy o nosnosti 200 t.
  2. Zúžení a valcování závitu — horní konec byl zužen a vnější závit byl valcován do požadovaných rozměrů.
  3. Laserové řezání — L-konzola vyřezána ze stejné cívky na vláknovém laseru o výkonu 12 kW; otvory pro upevnění vyraženy.
  4. Svařování MIG — konzola přivařena a následně dokončeně svařena; dvě poloviny karoserie svařeny po obvodu ve svařovací klešti.
  5. Předběžná úprava — odmaštění, železo-fosfátový konverzní povlak, sušení.
  6. Prášková barva — aplikován lesklý červený povlak RAL 3002, zahřát podle specifikace práškového nátěru; tloušťka vrstvy zkontrolována.
  7. Kontrola a balení — podvodní test netěsnosti stlačeným vzduchem za tlaku 1,5 baru, kontrola závitů pomocí měřidel GO/NO-GO, rozměrová i vizuální kontrola, balení do pěnového sáčku a kartonové krabice.

Deep-Drawn Steel Tank 3.jpg

5. Kontrola kvality – více než 39 kontrolních fází, certifikace ISO 9001

Každá výrobní dávka prochází dokumentovaným kontrolním řetězcem společnosti Deeplink:

Fáze Co se kontroluje
Přicházející materiál Certifikát hutního zkoušení, tloušťka, povrchová kvalita cívky SPCC
První vzorek Kompletní rozměrová zpráva v porovnání s výkresem před uvolněním šarže
Během výroby Kreslit rozměry, kontrola závitů, vizuální kontrola svarů každou směnu
Test těsnosti 1,5 baru vzduchu pod vodou – 100 % kusů
Vrstvení Tloušťka nátěru 60–80 μm, přilnavost metodou mřížky, barva proti RAL vzorku
Konečné balení Vizuální kontrola, poloha otvorů pro upevnění, balení odolné proti pádu

6. Výsledky pro zákazníka

  • Podíl zmetků pod 0,5 % ve třech dávkách opakovaných objednávek, zajištěných 100% kontrolou těsnosti vzduchem.
  • dodací lhůta 35 dní od objednávky po EXW, včetně úpravy nástrojů po prvním vzorku.
  • Vlastnictví jediným dodavatelem — kontrola výkresů, výroba nástrojů, tváření, svařování a povrchová úprava pod jednou střechou, čímž se eliminuje koordinace více dodavatelů, kterou zákazník dříve prováděl.
  • Opakovatelný lesk RAL 3002 šarže po šarži, přičemž záznamy o povrchové úpravě jsou sledovatelné pro každý výrobní příkaz.

7. Nejčastější dotazy

Otázka 1: Co je hluboké tažení a kdy bych měl zvolit právě tuto metodu místo tažení na obráběcím stroji nebo svařování?
Hluboké tažení je proces tváření plechu, při němž se plechový polotovar vtahuje do formy pod držákem polotovaru. Tato metoda je upřednostňována pro válcové nebo obdélníkové uzavřené díly (nádrže, pohárky, víčka), u nichž je vyžadována rovnoměrná tloušťka stěny, žádný podélný svařovací šev na tělese a dobrá ekonomika při středních až vysokých výrobních objemech. Tažení na obráběcím stroji je vhodné pro velmi nízké výrobní objemy; svařované svitkové švy jsou vhodné pro velmi velké průměry.

Otázka 2: Jak je trvanlivá červená prášková povrchová úprava na svařované ocelové nádrži?
Nanesené na železo-fosfátovou předúpravu v tloušťce 60–80 μm, práškový povlak RAL 3002 červená zajišťuje typický výkon v solné mlze 500–1 000 hodin pro použití uvnitř prostorů nebo u krytých zařízení a odolává odštěpování lépe než kapalná barva. Pro venkovní nebo ponořené použití bychom přešli na nerezovou ocel 304/316 nebo na mořský polyesterový práškový povlak.

Otázka 3: Lze stejnou součást vyrobit z nerezové oceli 304 nebo 316?
Ano. Hlubokotažené nerezové nádrže jsou standardním produktem firmy Deeplink. Všimněte si, že hluboké tažení z nerezové oceli vyžaduje vyšší stlačovací sílu, pomalejší rychlosti a mazání uvnitř nástroje; navíc u nerezové oceli 304 je pro dosažení tažnosti obvykle nutný následný krok uvolnění napětí po valcování závitů. Nástroje jsou oddělené od verze z oceli SPCC.

Otázka 4: Jaké je minimální množství objednávky pro podobnou hlubokotaženou nádrž?
Podporujeme jak prototypy, tak sériovou výrobu. U tohoto vlastního hluboce taženého zásobníku představuje ekonomický bod optima roční objem kolem 1 000 ks a více kvůli investici do postupného nástroje; menší série lze nabídnout s použitím jednostančního nástroje nebo alternativních způsobů výroby svařováním z plechu. Minimální objednací množství (MOQ) a poplatek za nástroj vám po technické revizi (DFM) sdělíme písemně.

Otázka 5: Jak dlouho trvá výroba nástroje a vzorkování?
Výroba vzorků pomocí měkkého nástroje obvykle trvá 20–25 dní, výroba tvrdého výrobního nástroje 25–35 dní – v závislosti na složitosti dílu a tvorbě závitů. Doba dodání dávky po schválení činí 25–35 dní.

Otázka 6: Jaké formáty CAD souborů přijímáte?
Standardními formáty jsou STEP, IGES, DXF, DWG a kresby ve formátu PDF. Pošlete soubor spolu s údaji o materiálu, tloušťce, množství a požadavcích na povrchovou úpravu; naše inženýrská skupina před vyhotovením cenové nabídky potvrdí proveditelnost.

8. Související kapacity a služby pro dlouhý tail

Kromě tohoto červeného práškově natéraného zásobníku Deeplink dodává pod jednou střechou vlastní kovové díly: hluboce tažené díly ze nerezové oceli , progresivní kovové tlačení , laserové řezání a profilové zpracování , Součástky obráběné na CNC , svarované výrobky a sestavy a speciální kovové skříně z plechu – poskytujeme služby výrobcům originálních zařízení (OEM) v oblasti automobilového průmyslu, elektroniky, zdravotnické techniky, průmyslových strojů, nových zdrojů energie a potravinářského zařízení po celém světě.

9. Zahajte vlastní projekt nádrže nebo skříně

Zašlete nám výkres, materiál, množství a požadavky na povrchovou úpravu. Naši inženýři provedou písemnou Analýzu výrobní proveditelnosti (DFM) – která zahrnuje posouzení možnosti tažení, rizik spojených s tolerancemi, možností závitů/krčku a výběru povrchové úpravy – a do 24 hodin vám zašleme cenovou nabídku. Přijímáme objednávky na výrobu prototypů i sériovou výrobu až do 20 000 kusů.

Požádat o výrobní analýzu a cenovou nabídku →

Předchozí

Přizpůsobený senzorový držák ze nerezové oceli: Případová studie postupného razení od návrhu pro výrobu (DFM) až po výrobu 20 000 kusů

VŠE

Výroba kovového skladovacího vozíku s třemi úrovněmi na zakázku: případová studie OEM

Další
Doporučené produkty