function hae($viivakoodi = '', $tuoteno = '', $tuotepaikka = '') { global $kukarow; // Poistetaan tuotepaikasta välimerkit $hylly = preg_replace("/[^a-zA-ZåäöÅÄÖ0-9]/", "", $tuotepaikka); // Hakuehdot if ($tuoteno != '') { $params['tuoteno'] = "tuote.tuoteno = '{$tuoteno}'"; } if ($tuotepaikka != '') { $params['tuotepaikka'] = "hyllypaikka LIKE '{$hylly}%'"; } // Viivakoodi case if ($viivakoodi != '') { $tuotenumerot = hae_viivakoodilla($viivakoodi); $param_viivakoodi = array(); foreach ($tuotenumerot as $_tuoteno => $_arr) { array_push($param_viivakoodi, $_tuoteno); } $params['viivakoodi'] = "tuote.tuoteno in ('" . implode($param_viivakoodi, "','") . "')"; } $osumat = array(); if (!empty($params)) { $haku_ehto = implode($params, " AND "); $query = "SELECT\n tuote.tuoteno,\n inventointilistarivi.otunnus as inventointilista,\n inventointilistarivi.aika as inventointilista_aika,\n concat( lpad(upper(tuotepaikat.hyllyalue), 5, '0'),\n lpad(upper(tuotepaikat.hyllynro), 5, '0'),\n lpad(upper(tuotepaikat.hyllyvali), 5, '0'),\n lpad(upper(tuotepaikat.hyllytaso), 5, '0')) as sorttauskentta,\n concat_ws('-',tuotepaikat.hyllyalue, tuotepaikat.hyllynro,\n tuotepaikat.hyllyvali, tuotepaikat.hyllytaso) tuotepaikka\n FROM tuotepaikat\n JOIN varastopaikat ON (varastopaikat.yhtio = tuotepaikat.yhtio\n AND varastopaikat.tunnus = tuotepaikat.varasto\n AND varastopaikat.toimipaikka = '{$kukarow['toimipaikka']}'\n AND varastopaikat.tyyppi = ''\n )\n JOIN tuote on (tuote.yhtio=tuotepaikat.yhtio and tuote.tuoteno=tuotepaikat.tuoteno)\n LEFT JOIN inventointilistarivi ON (inventointilistarivi.yhtio = tuotepaikat.yhtio\n AND inventointilistarivi.tuotepaikkatunnus = tuotepaikat.tunnus\n AND inventointilistarivi.tila = 'A')\n WHERE tuotepaikat.yhtio = '{$kukarow['yhtio']}'\n AND {$haku_ehto}\n LIMIT 200"; $result = pupe_query($query); while ($row = mysql_fetch_assoc($result)) { $osumat[] = $row; } } return $osumat; }
if ($ostotilaus != '' or $tuotenumero != '' or $viivakoodi != '' or $saapumisnro_haku != '') { if (strpos($tuotenumero, "%") !== FALSE) { $tuotenumero = urldecode($tuotenumero); } if ($tuotenumero != '') { $params['tuoteno'] = "tilausrivi.tuoteno = '{$tuotenumero}'"; } if ($ostotilaus != '') { $params['otunnus'] = "tilausrivi.otunnus = '{$ostotilaus}'"; } if ($saapumisnro_haku != '') { $saapumisnro_haku_lisa = "AND lasku.laskunro = '{$saapumisnro_haku}'"; } // Viivakoodi case if ($viivakoodi != '') { $tuotenumerot = hae_viivakoodilla($viivakoodi); if (count($tuotenumerot) > 0) { $param_viivakoodi = array(); foreach ($tuotenumerot as $_tuoteno => $_arr) { foreach ($_arr as $_liitostunnus) { if (trim($_liitostunnus) != "") { array_push($param_viivakoodi, "(tuote.tuoteno = '{$_tuoteno}' AND lasku.liitostunnus = '{$_liitostunnus}')"); } } } if (empty($param_viivakoodi)) { $params['viivakoodi'] = "tuote.tuoteno IN ('" . implode(array_keys($tuotenumerot), "','") . "')"; } else { $params['viivakoodi'] = "(" . implode($param_viivakoodi, " OR ") . ")"; } } else {