Ejemplo n.º 1
0
/**
 * Tarkistaa varmistuskoodin syötetyn tuotepaikan ja koodin mukaan.
 *  jos varmistuskoodia ei annettu yritetään käyttää keksissä olevaa varmistuskoodia.
 */
function tarkista_varmistuskoodi($tuotepaikka, $varmistuskoodi = '', $haettu_tuotepaikalla = '')
{
    // Muutetaan saatuo tuotepaikka arrayksi
    $hylly = explode('-', $tuotepaikka);
    // Jos haettu vajaalla tuotepaikalla, eli hyllyalue-hyllynro, niin tarkistetaan että jos
    // keksissä oleva tuotepaikka täsmää kyseistä aluetta. Jos täsmää niin varmistuskoodi tarkistetaan suoraan.
    $tuotealue = false;
    if (stripos(str_replace('-', '', $_COOKIE['_tuotepaikka']), $haettu_tuotepaikalla) === 0) {
        $tuotealue = true;
    }
    // Jos varmistuskoodia ei saatu parametrissa, yritetään keksissä olevalla koodilla.
    if ($varmistuskoodi == '' and isset($_COOKIE['_varmistuskoodi']) and ($tuotepaikka == $_COOKIE['_tuotepaikka'] or $tuotealue == true)) {
        $varmistuskoodi = $_COOKIE['_varmistuskoodi'];
    }
    // Jos varmistuskoodi on edelleen tyhjä niin hylätään
    if ($varmistuskoodi == '') {
        return false;
    } else {
        $options = array('varmistuskoodi' => $varmistuskoodi);
        return tarkista_varaston_hyllypaikka($hylly[0], $hylly[1], $hylly[2], $hylly[3], $options);
    }
}
Ejemplo n.º 2
0
 $_mihin_varastoon = kuuluukovarastoon($ahyllyalue, $ahyllynro);
 if ($_mihin_varastoon != 0 and $ahyllyalue != '' and $ahyllynro != '' and $ahyllyvali != '' and $ahyllytaso != '' and $ahyllyalue != "!!M") {
     $kaikki_ok = true;
     if ($yhtiorow['toimipaikkakasittely'] == "L") {
         // Haetaan varaston toimipaikan parametrit
         $_var_tp = hae_varaston_toimipaikka($_mihin_varastoon);
         $_var_tp = (!empty($_var_tp) and is_array($_var_tp)) ? $_var_tp['tunnus'] : null;
         $yhtiorow_alkuperainen = $yhtiorow;
         $yhtiorow = hae_yhtion_parametrit($kukarow['yhtio'], $_var_tp);
     }
     if ($yhtiorow['kerayserat'] == 'K') {
         $ahyllyalue = strtoupper($ahyllyalue);
         $ahyllynro = strtoupper($ahyllynro);
         $ahyllyvali = strtoupper($ahyllyvali);
         $ahyllytaso = strtoupper($ahyllytaso);
         $kaikki_ok = tarkista_varaston_hyllypaikka($ahyllyalue, $ahyllynro, $ahyllyvali, $ahyllytaso);
     }
     if ($yhtiorow['varastontunniste'] != '') {
         if (!isset($select_varastontunniste) or trim($select_varastontunniste) == "") {
             $kaikki_ok = false;
         }
     }
     // Palautetaan yhtiön parametrit
     if (!empty($yhtiorow_alkuperainen)) {
         $yhtiorow = hae_yhtion_parametrit($kukarow['yhtio']);
     }
     if ($kaikki_ok) {
         echo "<font class='message'>" . "Uusi varastopaikka luotiin tuotteelle" . ": {$tuoteno} ({$ahyllyalue}-{$ahyllynro}-{$ahyllyvali}-{$ahyllytaso})</font><br>";
         $query = "SELECT oletus\n                  FROM tuotepaikat\n                  WHERE yhtio  = '{$kukarow['yhtio']}'\n                  and tuoteno  = '{$tuoteno}'\n                  and oletus  != ''";
         $result = pupe_query($query);
         if (mysql_num_rows($result) > 0) {
         $errors[] = t("Virheellinen tuotepaikka, yritä syöttää tuotepaikka käsin") . " ({$minne_hyllypaikka})";
     }
     if (count($errors) == 0) {
         $query = "SELECT tunnus\n                  FROM tuotepaikat\n                  WHERE yhtio   = '{$kukarow['yhtio']}'\n                  AND tuoteno   = '{$row['tuoteno']}'\n                  AND hyllyalue = '{$hyllyalue}'\n                  AND hyllynro  = '{$hyllynro}'\n                  AND hyllyvali = '{$hyllyvali}'\n                  AND hyllytaso = '{$hyllytaso}'";
         $chk_res = pupe_query($query);
         if (mysql_num_rows($chk_res) == 0) {
             $errors[] = t("Tuotepaikkaa (%s-%s-%s-%s) ei ole perustettu tuotteelle", "", $hyllyalue, $hyllynro, $hyllyvali, $hyllytaso) . '.';
         }
     }
     // Tarkistetaan että tuotepaikka on olemassa
     if ($onko_varaston_hyllypaikat_kaytossa and count($errors) == 0 and !tarkista_varaston_hyllypaikka($hyllyalue, $hyllynro, $hyllyvali, $hyllytaso)) {
         $errors[] = t("Tuotepaikkaa (%s-%s-%s-%s) ei ole perustettu varaston hyllypaikkoihin", "", $hyllyalue, $hyllynro, $hyllyvali, $hyllytaso) . '.';
     }
     if ($onko_varaston_hyllypaikat_kaytossa and count($errors) == 0) {
         $options = array('varmistuskoodi' => $minne_koodi);
         if (!is_numeric($minne_koodi) or !tarkista_varaston_hyllypaikka($hyllyalue, $hyllynro, $hyllyvali, $hyllytaso, $options)) {
             $errors[] = t("Virheellinen varmistuskoodi") . " ({$minne_koodi})";
         }
     }
 }
 if (count($errors) == 0) {
     list($siirrettava_yht, $siirrettavat_rivit) = laske_siirrettava_maara($row);
     $query = "SELECT tuotepaikat.*, tuote.yksikko\n                FROM tuotepaikat\n                JOIN tuote ON (tuote.yhtio = tuotepaikat.yhtio AND tuote.tuoteno = tuotepaikat.tuoteno)\n                WHERE tuotepaikat.yhtio   = '{$kukarow['yhtio']}'\n                AND tuotepaikat.tuoteno   = '{$row['tuoteno']}'\n                AND tuotepaikat.hyllyalue = '{$hyllyalue}'\n                AND tuotepaikat.hyllynro  = '{$hyllynro}'\n                AND tuotepaikat.hyllyvali = '{$hyllyvali}'\n                AND tuotepaikat.hyllytaso = '{$hyllytaso}'";
     $res = pupe_query($query);
     $minnerow = mysql_fetch_assoc($res);
     $params = array('kappaleet' => $siirrettava_yht, 'lisavaruste' => '', 'tuoteno' => $row['tuoteno'], 'tuotepaikat_tunnus_otetaan' => $row['tunnus'], 'tuotepaikat_tunnus_siirretaan' => $minnerow['tunnus'], 'mistarow' => $row, 'minnerow' => $minnerow, 'sarjano_array' => array(), 'selite' => '', 'tun' => 0);
     hyllysiirto($params);
     if (count($siirrettavat_rivit) > 0) {
         foreach ($siirrettavat_rivit as $siirrettavat_rivi) {
             $query = "UPDATE tilausrivi SET\n                    hyllyalue   = '{$hyllyalue}',\n                    hyllynro    = '{$hyllynro}',\n                    hyllyvali   = '{$hyllyvali}',\n                    hyllytaso   = '{$hyllytaso}'\n                    WHERE yhtio = '{$kukarow['yhtio']}'\n                    AND tunnus  = {$siirrettavat_rivi}";
             pupe_query($query);
Ejemplo n.º 4
0
 if (isset($suuntalavanhyllyalue) and trim($suuntalavanhyllyalue) == '' or isset($suuntalavanhyllypaikka) and trim($suuntalavanhyllypaikka) == '') {
     echo "<font class='error'>", t("Hyllyalue oli tyhjä"), "!</font><br />";
     $toiminto = 'suuntalavat';
     $tee = 'vie_koko_suuntalava';
 } else {
     $vietiinko_koko_suuntalava = '';
     if (trim($suuntalavanhyllypaikka) != '') {
         list($suuntalavanhyllyalue, $suuntalavanhyllynro, $suuntalavanhyllyvali, $suuntalavanhyllytaso) = explode("#", $suuntalavanhyllypaikka);
     }
     $suuntalavanhyllyalue = mysql_real_escape_string($suuntalavanhyllyalue);
     $suuntalavanhyllynro = mysql_real_escape_string($suuntalavanhyllynro);
     $suuntalavanhyllyvali = mysql_real_escape_string($suuntalavanhyllyvali);
     $suuntalavanhyllytaso = mysql_real_escape_string($suuntalavanhyllytaso);
     // Koko suuntalava voidaan viedä vain reservipaikalle, jossa ei ole tuotteita.
     $options = array('reservipaikka' => 'K');
     $hyllypaikka_ok = tarkista_varaston_hyllypaikka($suuntalavanhyllyalue, $suuntalavanhyllynro, $suuntalavanhyllyvali, $suuntalavanhyllytaso, $options);
     // Hyllypaikkaa ei löydy tai se ei ole reservipaikka
     if (!$hyllypaikka_ok) {
         echo "<font class='error'>" . t("Hyllypaikkaa ei löydy tai se ei ole reservipaikka") . "</font></br>";
         // Takaisin samaan näkymään
         $toiminto = 'suuntalavat';
         $tee = 'vie_koko_suuntalava';
     } else {
         // OK, päivitetään tilausrivien hyllypaikat
         $paivitetyt_rivit = paivita_hyllypaikat($suuntalavan_tunnus, $suuntalavanhyllyalue, $suuntalavanhyllynro, $suuntalavanhyllyvali, $suuntalavanhyllytaso);
         if ($paivitetyt_rivit > 0) {
             echo "<br />", t("Päivitettiin suuntalavan tuotteet paikalle"), " {$suuntalavanhyllyalue} {$suuntalavanhyllynro} {$suuntalavanhyllyvali} {$suuntalavanhyllytaso}<br />";
             $vietiinko_koko_suuntalava = 'joo';
         }
     }
 }
Ejemplo n.º 5
0
 // Virheet
 $errors = array();
 switch ($submit_button) {
     case 'new':
         echo "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=uusi_kerayspaikka.php?{$url}'>";
         exit;
         break;
     case 'submit':
         // Tarkistetaan määrä
         if (!is_numeric($maara) or $maara < 1) {
             $errors[] = t("Virheellinen määrä");
         }
         if ($onko_varaston_hyllypaikat_kaytossa) {
             // Tarkistetaan koodi
             $options = array('varmistuskoodi' => $koodi);
             if (!is_numeric($koodi) or !tarkista_varaston_hyllypaikka($row['hyllyalue'], $row['hyllynro'], $row['hyllyvali'], $row['hyllytaso'], $options)) {
                 $errors[] = t("Virheellinen varmistuskoodi");
             }
             // Setataan viimeinen muuttuja jos lavalla vain yksi rivi jäjellä
             if (!empty($alusta_tunnus)) {
                 $query = "SELECT * FROM tilausrivi WHERE suuntalava = '{$alusta_tunnus}' AND yhtio='{$kukarow['yhtio']}'";
                 $rivit_result = pupe_query($query);
                 $rivit = mysql_num_rows($rivit_result);
             }
         }
         $viimeinen = (isset($rivit) and $rivit == 1) ? true : false;
         // Jos ei virheitä
         if (count($errors) == 0) {
             $tilausrivit = array();
             // Jos rivi on jo kohdistettu eri saapumiselle
             if (!empty($row['uusiotunnus'])) {
Ejemplo n.º 6
0
     } elseif (strstr($data['hyllypaikka'], '-') or strstr($data['hyllypaikka'], ' ')) {
         // Parsitaan tuotepaikka omiin muuttujiin (erotelto välilyönnillä)
         if (preg_match('/\\w+\\s\\w+\\s\\w+\\s\\w+/i', $data['hyllypaikka'])) {
             list($hyllyalue, $hyllynro, $hyllyvali, $hyllytaso) = explode(' ', $data['hyllypaikka']);
         } elseif (preg_match('/\\w+-\\w+-\\w+-\\w+/i', $data['hyllypaikka'])) {
             list($hyllyalue, $hyllynro, $hyllyvali, $hyllytaso) = explode('-', $data['hyllypaikka']);
         }
         // Ei saa olla tyhjiä kenttiä
         if ($hyllyalue == '' or $hyllynro == '' or $hyllyvali == '' or $hyllytaso == '') {
             $errors[] = t("Virheellinen tuotepaikka") . ". ({$data['hyllypaikka']})";
         }
     } else {
         $errors[] = t("Virheellinen tuotepaikka, yritä syöttää tuotepaikka käsin") . " ({$data['hyllypaikka']})";
     }
     // Tarkistetaan että tuotepaikka on olemassa
     if (count($errors) == 0 and !tarkista_varaston_hyllypaikka($hyllyalue, $hyllynro, $hyllyvali, $hyllytaso)) {
         $errors[] = t("Varaston tuotepaikkaa (%s-%s-%s-%s) ei ole perustettu", "", $hyllyalue, $hyllynro, $hyllyvali, $hyllytaso) . '.';
     }
     if (count($errors) == 0) {
         $data['hyllyalue'] = $hyllyalue;
         $data['hyllynro'] = $hyllynro;
         $data['hyllyvali'] = $hyllyvali;
         $data['hyllytaso'] = $hyllytaso;
     }
 }
 if (count($errors) == 0) {
     // Rakennetaan parametrit kentistä
     $url = http_build_query($data);
     echo "<META HTTP-EQUIV='Refresh'CONTENT='0;URL=tuotteella_useita_tuotepaikkoja.php?{$url}'>";
     exit;
 }
Ejemplo n.º 7
0
 } elseif (strstr($tuotepaikka, '-') or strstr($tuotepaikka, ' ')) {
     // Parsitaan tuotepaikka omiin muuttujiin (erotelto välilyönnillä)
     if (preg_match('/\\w+\\s\\w+\\s\\w+\\s\\w+/i', $tuotepaikka)) {
         list($hyllyalue, $hyllynro, $hyllyvali, $hyllytaso) = explode(' ', $tuotepaikka);
     } elseif (preg_match('/\\w+-\\w+-\\w+-\\w+/i', $tuotepaikka)) {
         list($hyllyalue, $hyllynro, $hyllyvali, $hyllytaso) = explode('-', $tuotepaikka);
     }
     // Ei saa olla tyhjiä kenttiä
     if ($hyllyalue == '' or $hyllynro == '' or $hyllyvali == '' or $hyllytaso == '') {
         $errors[] = t("Virheellinen tuotepaikka") . ". ({$tuotepaikka})";
     }
 } else {
     $errors[] = t("Virheellinen tuotepaikka, yritä syöttää tuotepaikka käsin") . " ({$tuotepaikka})";
 }
 // Tarkistetaan että tuotepaikka on olemassa
 if ($onko_varaston_hyllypaikat_kaytossa and count($errors) == 0 and !tarkista_varaston_hyllypaikka($hyllyalue, $hyllynro, $hyllyvali, $hyllytaso)) {
     $errors[] = t("Varaston tuotepaikkaa ({$hyllyalue}-{$hyllynro}-{$hyllyvali}-{$hyllytaso}) ei ole perustettu") . '.';
 }
 // Ei sarjanumerollisia tuotteita
 $query = "SELECT sarjanumeroseuranta\n              FROM tuote\n              WHERE yhtio='{$kukarow['yhtio']}'\n              AND tuoteno='{$row['tuoteno']}'";
 $result = pupe_query($query);
 $tuote = mysql_fetch_assoc($result);
 if (isset($siirra_saldot) and count($siirra_saldot) > 0) {
     if (count($siirra_saldot) == 1 and $siirra_saldot[0] == 'default') {
         $siirra_saldot = '';
     } else {
         $siirra_saldot = $siirra_saldot[1];
     }
 } else {
     $siirra_saldot = '';
 }
Ejemplo n.º 8
0
     if (preg_match('/\\w+\\s\\w+\\s\\w+\\s\\w+/i', $tuotepaikka)) {
         list($hyllyalue, $hyllynro, $hyllyvali, $hyllytaso) = explode(' ', $tuotepaikka);
     } elseif (preg_match('/\\w+-\\w+-\\w+-\\w+/i', $tuotepaikka)) {
         list($hyllyalue, $hyllynro, $hyllyvali, $hyllytaso) = explode('-', $tuotepaikka);
     }
     // Ei saa olla tyhjiä kenttiä
     if ($hyllyalue == '' or $hyllynro == '' or $hyllyvali == '' or $hyllytaso == '') {
         $error['varalle'] .= t("Virheellinen tuotepaikka") . ". ({$tuotepaikka})<br>";
     }
 } else {
     $error['varalle'] .= t("Virheellinen tuotepaikka, yritä syöttää tuotepaikka käsin") . " ({$tuotepaikka})<br>";
 }
 // Tarkistetaan hyllypaikka ja varmistuskoodi
 // hyllypaikan on oltava reservipaikka ja siellä ei saa olla tuotteita
 $options = array('varmistuskoodi' => $koodi, 'reservipaikka' => 'K');
 $kaikki_ok = tarkista_varaston_hyllypaikka($hyllyalue, $hyllynro, $hyllyvali, $hyllytaso, $options);
 if (isset($suuntalavan_tuotteet) and count($suuntalavan_tuotteet) > 0) {
     foreach ($suuntalavan_tuotteet as $_tun => $_maara) {
         if (trim($_maara) != '') {
             if (!is_numeric($_maara)) {
                 $error['tuotteet'] = t("Määrä täytyy olla numeerinen!");
                 $kaikki_ok = false;
                 break;
             }
             $_maara = (double) $_maara;
             $_tun = (int) $_tun;
             $query = "SELECT varattu\n                      FROM tilausrivi\n                      WHERE yhtio = '{$kukarow['yhtio']}'\n                      AND tunnus  = '{$_tun}'";
             $chk_varattu_res = pupe_query($query);
             $chk_varattu_row = mysql_fetch_assoc($chk_varattu_res);
             if ((int) ($_maara * 10000) <= (int) ($chk_varattu_row['varattu'] * 10000)) {
                 $error['tuotteet'] = t("Syötetty määrä täytyy olla suurempi kuin alkuperäinen määrä!");