Example #1
0
function datansisalto_e3($e3_ehdotuskansio, $dfile, $otunnus, $toimituspaiva)
{
    global $yhtiorow, $kukarow;
    $laskuquery = "SELECT *\n                 FROM lasku\n                 WHERE yhtio = '{$kukarow['yhtio']}'\n                 AND tunnus  = '{$otunnus}'";
    $lasku_result = pupe_query($laskuquery);
    $laskurow = mysql_fetch_array($lasku_result);
    $lines = file($e3_ehdotuskansio . "/" . $dfile);
    foreach ($lines as $line) {
        $tuoteno = pupesoft_cleanstring(substr($line, 12, 17));
        $varasto = pupesoft_cleanstring(substr($line, 30, 3));
        $tuotenimi = pupesoft_cleanstring(substr($line, 33, 34));
        $kpl = pupesoft_cleannumber(substr($line, 68, 7));
        //$hinta     = pupesoft_cleannumber(substr($line, 91, 13));
        //$hinta     = $hinta / 10000;
        $tuote_query = "SELECT tuote.try,\n                    tuote.osasto,\n                    tuote.tuoteno,\n                    tuote.nimitys,\n                    tuote.yksikko,\n                    tuotepaikat.hyllyalue,\n                    tuotepaikat.hyllynro,\n                    tuotepaikat.hyllytaso,\n                    tuotepaikat.hyllyvali\n                    FROM tuote\n                    LEFT JOIN tuotepaikat ON (tuotepaikat.yhtio = tuote.yhtio and tuotepaikat.tuoteno = tuote.tuoteno)\n                    WHERE tuote.yhtio = '{$kukarow['yhtio']}'\n                    AND tuote.tuoteno = '{$tuoteno}'\n                    ORDER BY tuotepaikat.oletus DESC\n                    LIMIT 1";
        $tuote_result = pupe_query($tuote_query);
        $tuote_row = mysql_fetch_array($tuote_result);
        if ($tuote_row['tuoteno'] == '') {
            echo "<br>";
            echo "<font class='error'>" . t("Tiedostosta %s tuotetietoja tuotteelle %s ei löydy tuotehallinnasta. Tuotetta ei lisätty ostoehdotukseen.", "", $file, $tuoteno) . "</font>";
            echo "<br>";
        } else {
            list($hinta, $netto, $ale, ) = alehinta_osto($laskurow, $tuote_row, $kpl);
            $insert_query = "INSERT INTO tilausrivi SET\n                       yhtio     = '{$kukarow['yhtio']}',\n                       tyyppi    = 'O',\n                       toimaika  = '{$toimituspaiva}',\n                       otunnus   = '{$otunnus}',\n                       tuoteno   = '{$tuoteno}',\n                       try       = '{$tuote_row['try']}',\n                       osasto    = '{$tuote_row['osasto']}',\n                       nimitys   = '{$tuote_row['nimitys']}',\n                       tilkpl    = '{$kpl}',\n                       yksikko   = '{$tuote_row['yksikko']}',\n                       varattu   = '{$kpl}',\n                       hinta     = '{$hinta}',\n                       netto     = '{$netto}',\n                       ale1      = '{$ale['ale1']}',\n                       ale2      = '{$ale['ale2']}',\n                       ale3      = '{$ale['ale3']}',\n                       laatija   = 'E3',\n                       laadittu  = now(),\n                       hyllyalue = '{$tuote_row['hyllyalue']}',\n                       hyllynro  = '{$tuote_row['hyllynro']}',\n                       hyllytaso = '{$tuote_row['hyllytaso']}',\n                       hyllyvali = '{$tuote_row['hyllyvali']}'";
            $insertdata = pupe_query($insert_query);
        }
    }
    echo "<br>";
    echo "<font class='message'>" . t("Ostoehdotus %s siirretty ostotilaukseksi %s.", "", $filunloppu, $otunnus) . "</font>";
    echo "<br><br>";
    // Siirretään done kansioon
    rename($e3_ehdotuskansio . "/" . $dfile, $e3_ehdotuskansio . "/done/" . $dfile);
}
function paivita_ennakko($params)
{
    global $kukarow, $yhtiorow;
    $syotetyt_lisatiedot = $params['syotetyt_lisatiedot'];
    $valittu_tarjous_tunnus = $params['valittu_tarjous_tunnus'];
    $kappalemaarat = $params['kappalemaarat'];
    $toim = $params['toim'];
    // Siistiään parametrit tietokantaqueryjä varten
    $syotetyt_lisatiedot = pupesoft_cleanstring($syotetyt_lisatiedot);
    $valittu_tarjous_tunnus = pupesoft_cleanstring($valittu_tarjous_tunnus);
    // Haetaan kannasta tilausrivit
    $muokkaamaton_ennakko = hae_tarjous($valittu_tarjous_tunnus);
    foreach ($kappalemaarat as $key => $value) {
        // Kappalemäärä käyttöliittymästä, pilkut pisteiksi ja round 2
        $value = round(str_replace(",", ".", pupesoft_cleanstring($value)), 2);
        // Etsitään tilausrivitunnuksen perusteella tuotteen kannassa oleva kappalemäärä
        $loytynyt_tilausrivi = search_array_key_for_value_recursive($muokkaamaton_ennakko['tilausrivit'], 'tunnus', $key);
        // Tarkistetaan löytyikö tilausrivi, jos ei löydy, ei tehdä mitään
        if (empty($loytynyt_tilausrivi[0])) {
            continue;
        }
        // Kappalemäärä kannasta
        $kplmaara = $loytynyt_tilausrivi[0]['kpl'];
        // jos Optio-rivi niin katsotaan onko syötetty arvo muutettu tyhjästä joksikin muuksi, jos ei niin toimenpiteitä riville ei vaadita
        if ($loytynyt_tilausrivi[0]['var'] == "O" and $value == '') {
            continue;
        } elseif ($kplmaara == $value and $loytynyt_tilausrivi[0]['var'] != "O") {
            continue;
        }
        // Tuoteperheen tapauksessa päivitetään/poistetaan kaikki tuoteperheen rivit, muuten vain ko. rivi
        if ($loytynyt_tilausrivi[0]['tunnus'] == $loytynyt_tilausrivi[0]['perheid_tunnus']) {
            $andy = "AND perheid = '{$loytynyt_tilausrivi[0]['tunnus']}'";
        } else {
            $andy = "AND tunnus = '{$loytynyt_tilausrivi[0]['tunnus']}'";
        }
        // Jos ollaan nollattu kappaleet, päivitetään rivi tilaan Optio
        if ($value == 0) {
            $query = "UPDATE tilausrivi\n                SET var = 'O'\n                WHERE yhtio = '{$kukarow['yhtio']}'\n                AND otunnus = '{$valittu_tarjous_tunnus}'\n                {$andy}";
            pupe_query($query);
        } else {
            // Rivin poisto
            $query = "UPDATE tilausrivi\n                SET tyyppi = 'D'\n                WHERE yhtio = '{$kukarow['yhtio']}'\n                AND otunnus = '{$valittu_tarjous_tunnus}'\n                {$andy}";
            pupe_query($query);
            $parametrit = array("lasku_tunnus" => $valittu_tarjous_tunnus, "tuoteno" => $loytynyt_tilausrivi[0]['tuoteno'], "kpl" => $value, "toim" => $toim, "syotettyhinta" => $loytynyt_tilausrivi[0]['hinta']);
            lisaa_ennakkorivi($parametrit);
        }
    }
    // Päivitetään käyttäjän lisäämät kommentit
    $query = "UPDATE lasku\n            SET sisviesti1 = '{$syotetyt_lisatiedot}'\n            WHERE yhtio = '{$kukarow['yhtio']}'\n            AND tunnus  = '{$valittu_tarjous_tunnus}'";
    pupe_query($query);
    return true;
}
 }
 $kaikki_tiedostorivit = array_filter($kaikki_tiedostorivit);
 // Siivous ja validitytsekit
 foreach ($kaikki_tiedostorivit as $rowkey => &$tiedr) {
     // Indeksit:
     $tuoteno = $tiedr[0] = pupesoft_cleanstring($tiedr[0]);
     // 0 - Tuotenumero
     $kpl = $tiedr[1] = str_replace(",", ".", pupesoft_cleanstring($tiedr[1]));
     // 1 - Määrä
     $lahdevarastopk = $tiedr[2] = str_replace(" ", "", pupesoft_cleanstring($tiedr[2]));
     // 2 - Lähdevarastopaikka
     $kohdevarastopk = $tiedr[3] = str_replace(" ", "", pupesoft_cleanstring($tiedr[3]));
     // 3 - Kohdevarastopaikka
     $kom = $tiedr[4] = pupesoft_cleanstring($tiedr[4]);
     // 4 - Kommentti
     $poistetaanko_lahde = $tiedr[5] = str_replace(" ", "", strtoupper(pupesoft_cleanstring($tiedr[5])));
     // 5 - Poistetaanko lähdevarastopaikka
     if ($poistetaanko_lahde != 'X') {
         $tiedr[5] = '';
     }
     // Jos joku pakollisista tiedoista on tyhjä tai väärin hylätään koko rivi
     if (in_array("", array($tuoteno, $kpl, $lahdevarastopk, $kohdevarastopk)) or $lahdevarastopk == $kohdevarastopk or !is_numeric($kpl) and $kpl != 'X') {
         $seliseli = "";
         if (in_array("", array($tuoteno, $kpl, $lahdevarastopk, $kohdevarastopk))) {
             $seliseli .= "-" . t("Tuotenumero, kappalemäärä, lähde- tai kohdevarastopaikka ei saa olla tyhjä") . ".<br>";
         }
         if ($lahdevarastopk == $kohdevarastopk) {
             $seliseli .= "-" . t("Lähde- ja kohdevarastopaikka olivat identtisiä") . ".<br>";
         }
         if (!is_numeric($kpl) and $kpl != 'X') {
             $seliseli .= "-" . t("Kappalemääräksi kelpaa %s tai numeerinen arvo", "", "X") . ".<br>";
<?php

//* Tämä skripti käyttää slave-tietokantapalvelinta *//
$useslave = 1;
require "inc/parametrit.inc";
echo "<font class='head'>" . t("Uudelleenlähetä PostNord-keräyssanoma") . "</font><hr>";
if ($tee == "laheta" and $tilaukset != "") {
    $tilaukset = pupesoft_cleanstring(str_replace(array("\r", "\n"), "", $tilaukset));
    $query = "SELECT distinct lasku.tunnus\n            FROM lasku\n            JOIN varastopaikat ON (lasku.yhtio=varastopaikat.yhtio AND lasku.varasto=varastopaikat.tunnus AND varastopaikat.ulkoinen_jarjestelma = 'P')\n            WHERE lasku.yhtio = '{$kukarow['yhtio']}'\n            AND lasku.tila    in ('L','N', 'G')\n            AND lasku.tunnus  in ({$tilaukset})";
    $res = pupe_query($query);
    if (mysql_num_rows($result) > 0) {
        while ($laskurow = mysql_fetch_assoc($res)) {
            echo t("Uudelleenlähetetään PostNord-keräyssanoma") . ": {$laskurow['tunnus']}<br>";
            posten_outbounddelivery($laskurow["tunnus"]);
        }
    } else {
        echo "<font class='error'>" . t("Tilauksia ei löytynyt") . ": {$tilaukset}!</font><br>";
    }
}
echo "<br><br><font class='message'>" . t("Anna tilausnumerot pilkulla eroteltuna") . "</font><br>";
echo "<form method='post'>";
echo "<input type='hidden' name='tee' value='laheta'>";
echo "<textarea name='tilaukset' rows='10' cols='60'></textarea>";
echo "<br><input type='submit' value='" . t("Lähetä keräyssanomat") . "'>";
echo "</form>";
require "inc/footer.inc";
Example #5
0
 require "inc/functions.inc";
 // Logitetaan ajo
 cron_log();
 $_yhtio = pupesoft_cleanstring($argv[1]);
 $yhtiorow = hae_yhtion_parametrit($_yhtio);
 // Kukarow setataan esim editilaus_in.inc:ssä
 if (!isset($kukarow)) {
     $kukarow = hae_kukarow('admin', $yhtiorow['yhtio']);
     // Komentoriviltä ku ajetaan, niin ei haluta posteja admin-käyttäjälle
     $kukarow["eposti"] = "";
 }
 if (!is_array($kukarow)) {
     exit(1);
 }
 if (isset($argv[2])) {
     $kieli = pupesoft_cleanstring($argv[2]);
 }
 // Pupeasennuksen root
 $pupe_root_polku = dirname(dirname(__FILE__));
 $laskkk = "";
 $laskpp = "";
 $laskvv = "";
 $eilinen = "";
 $eiketjut = "";
 // jos komentorivin kolmas arg on "eilinen" niin edelliselle laskutus päivälle, ohitetaan laskutusviikonpäivät
 if ($argv[3] == "eilinen") {
     $laskkk = date("m", mktime(0, 0, 0, date("m"), date("d") - 1, date("Y")));
     $laskpp = date("d", mktime(0, 0, 0, date("m"), date("d") - 1, date("Y")));
     $laskvv = date("Y", mktime(0, 0, 0, date("m"), date("d") - 1, date("Y")));
 }
 // jos komentorivin kolmas arg on "eilinen" niin edelliselle laskutus päivälle
Example #6
0
 if ($toimittaja != '') {
     $toimittajalisa .= " JOIN tuotteen_toimittajat ON (tuotteen_toimittajat.yhtio = tilausrivi.yhtio and tuotteen_toimittajat.tuoteno = tilausrivi.tuoteno and tuotteen_toimittajat.liitostunnus = '{$toimittajaid}') ";
 }
 if ($tilaus_on_jo == "KYLLA" and $asiakasid != '') {
     $laskulisa .= " and lasku.liitostunnus = '{$asiakasid}' ";
 } elseif ($tilaus_on_jo == "" and $asiakasid != '') {
     $laskulisa .= " and lasku.liitostunnus = '{$asiakasid}' ";
 } elseif ($tilaus_on_jo == "" and $asiakasno != '') {
     $laskulisa .= " and lasku.ytunnus = '{$asiakasno}' ";
 }
 if (isset($tuotenumero) and $tuotenumero != '') {
     $tuotteet = explode("\n", $tuotenumero);
     $tuoterajaus = "";
     foreach ($tuotteet as $tuotenumero) {
         if (pupesoft_cleanstring($tuotenumero) != '') {
             $tuoterajaus .= "'" . pupesoft_cleanstring($tuotenumero) . "',";
         }
     }
     if ($tuoterajaus != "") {
         $tilausrivilisa .= "and tilausrivi.tuoteno in (" . substr($tuoterajaus, 0, -1) . ") ";
     }
 }
 if ($tilaus != '') {
     $tilausrivilisa .= " and tilausrivi.otunnus = '{$tilaus}' ";
 }
 if (count($suoratoimitus_rivit) > 0) {
     $tilausrivilisa .= " and tilausrivi.tunnus in (" . implode(",", $suoratoimitus_rivit) . ") ";
 }
 if ($tilaus_on_jo == "KYLLA" and $toim == 'SIIRTOLISTA' and $tilaus_on_jo_row['clearing'] != '') {
     $laskulisa .= " and lasku.clearing = '{$tilaus_on_jo_row['clearing']}' ";
 }
Example #7
0
 } elseif ($tiedostomuoto == "AMMATTILAINEN") {
     /*
       Aineisto sarkaineroteltu tekstitiedosto
       0 tilinumero
       1 kustannuspaikka
       2 selite
       3 summa
       4 summa 2
       5 tositepvm
       6 projekti
       7 henkilö
     */
     $kentat = explode("\t", $rivi);
     //  Trimmataan kaikki
     foreach ($kentat as &$k) {
         $k = pupesoft_cleanstring(trim($k));
         $k = pupesoft_csvstring($k);
     }
     // Tili
     $itili[$maara] = $kentat[0];
     //  Poimitaan kustannuspaikka ja projekti, perustetaan jos puuttuu
     $ikustp[$maara] = "";
     $iprojekti[$maara] = "";
     foreach (array(1 => "K", 6 => "P") as $x => $tsk_tyyppi) {
         $tsk_nimi = $kentat[$x];
         if (strlen($tsk_nimi) > 0) {
             if ($tsk_tyyppi == "K") {
                 $tsk_tyyppinimi = "Kustannuspaikka";
             } elseif ($tsk_tyyppi == "P") {
                 $tsk_tyyppinimi = "Projekti";
             }
Example #8
0
 // Luetaan tiedosto loppuun ja tehdään taulukohtainen array koko datasta, tässä kohtaa putsataan jokaisen solun sisältö pupesoft_cleanstring -funktiolla
 for ($excei = 1; $excei < $excelrivimaara; $excei++) {
     for ($excej = 0; $excej < $excelsarakemaara; $excej++) {
         $taulunrivit[$taulut[$excej]][$excei - 1][] = pupesoft_cleanstring($excelrivit[$excei][$excej]);
         // Pitääkö tämä sarake laittaa myös johonki toiseen tauluun?
         foreach ($taulunotsikot as $taulu => $joinit) {
             if (strpos($headers[$excej], ".") !== FALSE) {
                 list($etu, $taka) = explode(".", $headers[$excej]);
                 if ($taka == "") {
                     $taka = $etu;
                 }
             } else {
                 $taka = $headers[$excej];
             }
             if (in_array($taka, $joinit) and $taulu != $taulut[$excej] and $taulut[$excej] == $joinattavat[$taulu][$taka]) {
                 $taulunrivit[$taulu][$excei - 1][] = pupesoft_cleanstring($excelrivit[$excei][$excej]);
             }
         }
     }
 }
 if (in_array("tuotteen_toimittajat_pakkauskoot", $taulut)) {
     $chk_tuoteno = $chk_toim_tuoteno = "x";
     foreach ($taulunotsikot["tuotteen_toimittajat_pakkauskoot"] as $key => $column) {
         if (isset($toimitunnusvalinta) and $toimitunnusvalinta != 1) {
             if ($column == "TOIM_TUOTENO_TUNNUS") {
                 $chk_tunnus = $key;
             }
             switch ($toimitunnusvalinta) {
                 case "2":
                     if ($column == "TUOTENUMERO") {
                         $chk_tuoteno = $key;
Example #9
0
     if (mysql_num_rows($toim_tuoteno_chk_res) == 1) {
         $toim_tuoteno_chk_row = mysql_fetch_assoc($toim_tuoteno_chk_res);
         $query = "UPDATE asn_sanomat SET\n                  tuoteno               = '{$toim_tuoteno_chk_row['tuoteno']}'\n                  WHERE yhtio           = '{$kukarow['yhtio']}'\n                  AND status           != 'X'\n                  AND tuoteno           = ''\n                  AND toim_tuoteno      = '{$toim_tuoteno_chk_row['ttt_tuoteno']}'\n                  AND toimittajanumero  = '{$toim_tuoteno_chk_row['toimittajanro']}'";
         $upd_res = pupe_query($query);
     }
 }
 if ($onko_tama_insert and $tunnus > 0 and isset($tee_myos_tuotteen_toimittaja_liitos) and isset($liitostunnus) and $toim == "tuote" and $tee_myos_tuotteen_toimittaja_liitos == 'JOO' and $liitostunnus != '') {
     $query = "SELECT *\n                FROM tuote\n                WHERE yhtio = '{$kukarow['yhtio']}'\n                AND tunnus  = '{$tunnus}'";
     $tuote_chk_res = pupe_query($query);
     $query = "SELECT *\n                FROM toimi\n                WHERE yhtio = '{$kukarow['yhtio']}'\n                AND tunnus  = '{$liitostunnus}'";
     $toimi_chk_res = pupe_query($query);
     if (mysql_num_rows($tuote_chk_res) == 1 and mysql_num_rows($toimi_chk_res) == 1) {
         $tuote_chk_row = mysql_fetch_assoc($tuote_chk_res);
         $toimi_chk_row = mysql_fetch_assoc($toimi_chk_res);
         $toimittaja_liitos_ostohinta = pupesoft_cleannumber($toimittaja_liitos_ostohinta);
         $toimittaja_liitos_tuoteno = pupesoft_cleanstring($toimittaja_liitos_tuoteno);
         $query = "INSERT INTO tuotteen_toimittajat SET\n                  yhtio        = '{$kukarow['yhtio']}',\n                  tuoteno      = '{$tuote_chk_row['tuoteno']}',\n                  liitostunnus = '{$liitostunnus}',\n                  alkuperamaa  = '{$toimi_chk_row['maa']}',\n                  laatija      = '{$kukarow['kuka']}',\n                  ostohinta    = '{$toimittaja_liitos_ostohinta}',\n                  toim_tuoteno = '{$toimittaja_liitos_tuoteno}',\n                  luontiaika   = now(),\n                  muutospvm    = now(),\n                  muuttaja     = '{$kukarow['kuka']}'";
         $tuotteen_toimittaja_insertti = pupe_query($query);
     }
 }
 if ($tunnus > 0 and isset($paivita_myos_avoimet_tilaukset) and $toim == "asiakas") {
     $query = "SELECT *\n                FROM asiakas\n                WHERE tunnus = '{$tunnus}'\n                and yhtio    = '{$kukarow['yhtio']}'";
     $otsikres = pupe_query($query);
     if (mysql_num_rows($otsikres) == 1) {
         $otsikrow = mysql_fetch_array($otsikres);
         $query = "SELECT tunnus, tila, alatila, sisviesti1\n                  FROM lasku use index (yhtio_tila_liitostunnus_tapvm)\n                  WHERE yhtio       = '{$kukarow['yhtio']}'\n                  and (\n                      (tila IN ('L','N','R','V','E','C') AND alatila != 'X')\n                      OR\n                      (tila = 'T' AND alatila in ('','A'))\n                      OR\n                      (tila IN ('A','0'))\n                    )\n                  and liitostunnus  = '{$otsikrow['tunnus']}'\n                  and tapvm         = '0000-00-00'\n                  and chn          != 999";
         $laskuores = pupe_query($query);
         while ($laskuorow = mysql_fetch_array($laskuores)) {
             if (trim($otsikrow["toim_nimi"]) == "") {
                 $otsikrow["toim_nimi"] = $otsikrow["nimi"];
                 $otsikrow["toim_nimitark"] = $otsikrow["nimitark"];
Example #10
0
     die("<font class='error'><br>" . t("Ainoastaan .txt ja .cvs tiedostot sallittuja") . "!</font>");
 }
 if ($_FILES['userfile']['size'] == 0) {
     die("<font class='error'><br>" . t("Tiedosto on tyhjä") . "!</font>");
 }
 $file = fopen($_FILES['userfile']['tmp_name'], "r") or die(t("Tiedoston avaus epäonnistui") . "!");
 // luetaan tiedosto alusta loppuun...
 $rivi = fgets($file, 4096);
 while (!feof($file)) {
     $tuoteno = '';
     $varattu = '';
     $teksti = '';
     $avarasto = '';
     $bvarasto = '';
     // luetaan rivi tiedostosta..
     $rivi = explode("\t", pupesoft_cleanstring($rivi));
     $tuoteno = $rivi[0];
     $varattu = $rivi[1];
     $teksti = $rivi[2];
     $avarasto = $rivi[3];
     $bvarasto = $rivi[4];
     if ($bvarasto != '' and $avarasto != '' and $tuoteno != '') {
         $paikka = explode('#', $avarasto);
         $query = "SELECT *\n                  from tilausrivi\n                  where tyyppi='G'\n                  and otunnus   IN ({$id})\n                  and  tuoteno  = '{$tuoteno}'\n                  and yhtio     = '{$kukarow['yhtio']}'\n                  and hyllyalue = '{$paikka['0']}'\n                  and hyllynro  = '{$paikka['1']}'\n                  and hyllyvali = '{$paikka['2']}'\n                  and hyllytaso = '{$paikka['3']}'";
         $alkuresult = pupe_query($query);
         if (mysql_num_rows($alkuresult) == 1) {
             $alkurow = mysql_fetch_assoc($alkuresult);
             $bpaikka = explode('#', $bvarasto);
             $tunnus[] = $alkurow["tunnus"];
             $t1[$alkurow["tunnus"]] = $bpaikka[0];
             $t2[$alkurow["tunnus"]] = $bpaikka[1];
Example #11
0
 array_shift($rivit);
 foreach ($rivit as $line) {
     $fields = explode(";", $line);
     $order_number = pupesoft_cleanstring($fields[0]);
     $product_code = pupesoft_cleanstring($fields[1]);
     $quantity = pupesoft_cleannumber($fields[2]);
     $order_type = pupesoft_cleanstring($fields[3]);
     $location_code = pupesoft_cleanstring($fields[4]);
     $supplier_code = pupesoft_cleanstring($fields[5]);
     $delivery_date = pupesoft_cleanstring($fields[6]);
     $comment_1 = pupesoft_cleanstring($fields[7]);
     $comment_2 = pupesoft_cleanstring($fields[8]);
     $comment_3 = pupesoft_cleanstring($fields[9]);
     $comment_4 = pupesoft_cleanstring($fields[10]);
     $comment_5 = pupesoft_cleanstring($fields[11]);
     $order_date = pupesoft_cleanstring($fields[12]);
     // Poistetaan maa-etuliitteet
     $product_code = substr($product_code, 3);
     $location_code = substr($location_code, 3);
     $supplier_code = substr($supplier_code, 3);
     // Haetaan tuotteen tiedot
     $query = "SELECT tuoteno\n              FROM tuote\n              WHERE yhtio = '{$kukarow['yhtio']}'\n              AND tuoteno = '{$product_code}'";
     $result = pupe_query($query);
     if (mysql_num_rows($result) == 1) {
         $tuote = mysql_fetch_assoc($result);
     } else {
         echo "Tuotetta '{$product_code}' ei löydy. Ohitetaan rivi!<br>";
         continue;
     }
     // Haetaan lähdevaraston tiedot
     $query = "SELECT *\n              FROM varastopaikat\n              WHERE yhtio = '{$kukarow['yhtio']}'\n              AND tunnus  = '{$supplier_code}'";
Example #12
0
    die("Tiedoston avaus epäonnistui: {$filepath}\n");
}
$tuotteet = "";
// Päiväajoon otetaan mukaan vain viimeisen vuorokauden aikana muuttuneet
if ($paiva_ajo) {
    $tuotelista = "''";
    $namaonjotsekattu = "";
    $query = "SELECT tuote.tuoteno\n            FROM tuote\n            WHERE tuote.yhtio = '{$yhtio}'\n            {$tuoterajaus}\n            {$tuoteupdrajaus}";
    $res = pupe_query($query);
    while ($row = mysql_fetch_assoc($res)) {
        $tuotelista .= ",'" . pupesoft_cleanstring($row["tuoteno"]) . "'";
    }
    $query = "SELECT tuotteen_toimittajat.tuoteno\n            FROM tuotteen_toimittajat\n            WHERE tuotteen_toimittajat.yhtio = '{$yhtio}'\n            AND tuotteen_toimittajat.tuoteno not in ({$tuotelista})\n            {$tuotetoimupdrajaus}";
    $res = pupe_query($query);
    while ($row = mysql_fetch_assoc($res)) {
        $tuotelista .= ",'" . pupesoft_cleanstring($row["tuoteno"]) . "'";
    }
    $tuotteet = " AND tuote.tuoteno IN ({$tuotelista}) ";
}
// Tallennetaan aikaleima
cron_aikaleima("RELEX_PROD_CRON", date('Y-m-d H:i:s'));
// Otsikkotieto
$header = "code;";
$header .= "clean_code;";
$header .= "name;";
$header .= "tuoteosasto;";
$header .= "group;";
$header .= "tuotemerkki;";
$header .= "malli;";
$header .= "mallitarkenne;";
$header .= "kuvaus;";
Example #13
0
function kasittele_tuote_tiedosto($file_name, $real_name = '')
{
    global $kukarow, $yhtiorow, $suuraakkosiin;
    $path_parts = $real_name == '' ? pathinfo($file_name) : pathinfo($real_name);
    $name = strtoupper($path_parts['filename']);
    $ext = strtoupper($path_parts['extension']);
    if ($ext != "TXT" and $ext != "CSV") {
        die("<font class='error'><br>" . t("Ainoastaan .txt ja .csv tiedostot sallittuja") . "!</font>");
    }
    $file = fopen($file_name, "r") or die(t("Tiedoston avaus epäonnistui") . "!");
    $error = 0;
    $count = 0;
    while ($rivi = fgets($file)) {
        // luetaan rivi tiedostosta..
        $rivi = explode("\t", pupesoft_cleanstring($rivi));
        $count++;
        $vantuoteno = trim($rivi[0]);
        $uustuoteno = strtoupper(trim($rivi[1]));
        if ($vantuoteno != '' and $uustuoteno != '') {
            // Etsitään vanha
            $query = "SELECT tunnus\n                FROM tuote\n                WHERE yhtio = '{$kukarow['yhtio']}'\n                AND tuoteno = '{$vantuoteno}'";
            $tuoteresult = pupe_query($query);
            if (mysql_num_rows($tuoteresult) == 0) {
                $error++;
                echo "<font class='message'>" . t("VANHAA TUOTENUMEROA EI LÖYDY") . ": {$vantuoteno}</font><br>";
            }
            // Etsitään uusi
            $query = "SELECT tunnus\n                 FROM tuote\n                 WHERE yhtio = '{$kukarow['yhtio']}'\n                 AND tuoteno = '{$uustuoteno}'";
            $tuoteuresult = pupe_query($query);
            if (mysql_num_rows($tuoteuresult) == 1) {
                // uusi tuoteno löytyy jo. tarkistetaan onko sama kuin vanha...
                if (strtoupper($vantuoteno) == $uustuoteno) {
                    // uusi ja vanha tuoteno ovat samat. katsotaan onko vanha jo kokonaan uppercase...
                    if (ctype_upper($vantuoteno)) {
                        $error++;
                        echo "<font class='message'>";
                        echo t("Vanha ja uusi tuotenumero ovat identtiset");
                        echo ": {$uustuoteno} = {$vantuoteno}</font><br>";
                    } else {
                        // sallitaan muutos suuraakkosiin
                        $suuraakkosiin[] = strtoupper($vantuoteno . "!¡!" . $uustuoteno);
                        echo "<font class='message'>";
                        echo t("Tuotenumeron aakkoslaji vaihdetaan suuraakkosiin");
                        echo ": {$vantuoteno} --> {$uustuoteno}</font><br>";
                    }
                } else {
                    $error++;
                    echo "<font class='message'>" . t("UUSI TUOTENUMERO LÖYTYY JO") . ": {$uustuoteno}</font><br>";
                }
            }
        } elseif ($vantuoteno == '' and $uustuoteno != '') {
            $error++;
            echo "<font class='message'>" . t("Vanha tuotenumero puuttuu tiedostosta") . ": (tyhjä) --> {$uustuoteno}</font><br>";
        } elseif ($uustuoteno == '' and $vantuoteno != '') {
            $error++;
            echo "<font class='message'>" . t("Uusi tuotenumero puuttuu tiedostosta") . ": {$vantuoteno} --> (tyhjä)</font><br>";
        }
    }
    fclose($file);
    if ($count == 0) {
        die("<font class='error'><br>" . t("Tiedosto on tyhjä") . "!</font>");
    }
    return $error;
}
Example #14
0
    $result = pupe_query($query);
    if (mysql_num_rows($result) == 0) {
        rest_virhe_header("Syötetty käyttäjätunnus tai salasana on virheellinen");
    }
    $kukarow = mysql_fetch_assoc($result);
    // Haetaan yhtiörow
    $yhtiorow = hae_yhtion_parametrit($kukarow["yhtio"]);
}
// Kirjataan käyttäjä sisään
rest_login($data);
$tyyppi = isset($data["tyyppi"]) ? pupesoft_cleanstring($data["tyyppi"]) : "";
// Tarkistetaan "tilauspuolen" muuttujat
if ($tyyppi == "order") {
    rest_tilaa($data);
} elseif ($tyyppi == "customer") {
    $toiminto = isset($data["toiminto"]) ? strtoupper(pupesoft_cleanstring($data["toiminto"])) : "";
    $api_kentat = array();
    // Tehdään arrayn ekalle riville kenttien otsikot ja tokalle valuet
    foreach ($data as $key => $value) {
        if ($key != 'user' and $key != 'pass' and $key != 'tyyppi' and $key != 'versio' and $key != 'yhtio' and $key != 'tunnus' and $key != 'toiminto') {
            $api_kentat[0][] = "asiakas." . $key;
            $api_kentat[1][] = $value;
        }
    }
    if (count($api_kentat) == 0) {
        rest_virhe_header("Data puuttuu");
    }
    // Vikaksi sarakkeeksi toiminto
    $api_kentat[0][] = "TOIMINTO";
    $api_kentat[1][] = $toiminto;
    require "lue_data.php";
Example #15
0
    require "inc/functions.inc";
    // Logitetaan ajo
    cron_log();
    if (!isset($argv[1])) {
        echo "Anna yhtio!\n";
        die;
    }
    if (!isset($argv[2])) {
        echo "Anna pvm vvvv-kk-pp\n";
        die;
    }
    // Tehdään parametrit
    list($vv, $kk, $pp) = explode("-", $argv[2]);
    $teearkistointi = "joo";
    // Haetaan yhtiörow ja kukarow
    $yhtio = pupesoft_cleanstring($argv[1]);
    $yhtiorow = hae_yhtion_parametrit($yhtio);
    $kukarow = hae_kukarow('admin', $yhtiorow['yhtio']);
} else {
    require "inc/parametrit.inc";
}
// Tämä vaatii paljon muistia
error_reporting(E_ALL);
ini_set("memory_limit", "5G");
ini_set("display_errors", 1);
unset($pupe_query_debug);
function is_log($str)
{
    global $php_cli;
    $lf = $php_cli ? "\n" : "<br>";
    echo date("d.m.Y @ G:i:s") . ": {$str}{$lf}";
Example #16
0
    echo "<tr>";
    echo "<th>" . t("SSCC") . "</th>";
    echo "<td><input type='text' name='sscc' class='varastopaikka' style='width:300px'></td>";
}
echo "<td class='back'>";
echo "<input type='submit' class='hae_btn' value='" . t("Hae") . "'></form></td>";
echo "</tr>";
echo "</table>";
echo "<br>";
$thyllyalue = strtoupper(pupesoft_cleanstring($ahyllyalue));
// Tuleva tuotepaikka
$thyllynro = strtoupper(pupesoft_cleanstring($ahyllynro));
// Tuleva tuotepaikka
$thyllyvali = strtoupper(pupesoft_cleanstring($ahyllyvali));
// Tuleva tuotepaikka
$thyllytaso = strtoupper(pupesoft_cleanstring($ahyllytaso));
// Tuleva tuotepaikka
// Virhetarkastukset
if ($tee == "W") {
    if ($thyllyalue == "" or $thyllynro == "" or $thyllyvali == "" or $thyllytaso == "") {
        echo "<font class='error'>" . t("VIRHE: Syötetty varastopaikka ei ollut täydellinen") . "</font><br>";
        $tee = "V";
    }
    if (kuuluukovarastoon($thyllyalue, $thyllynro) == 0) {
        echo "<font class='error'>" . t("VIRHE: Syötetty varastopaikka ei kuulu mihinkään varastoon") . " ({$ahyllyalue}-{$ahyllynro})</font><br>";
        $tee = "V";
    }
    // Et rukasannut mitään
    if (!is_array($tunnukset) or $tunnukset == "") {
        echo "<font class='error'>VIRHE: Ei yhtään valittua tuotetta</font><br>";
        $tee = "V";
Example #17
0
        $tiedot_laskulta = "YES";
    }
}
//Muutetaan otsikkoa
if ($kukarow["extranet"] == "" and ($tee == "OTSIK" or $toim != "PIKATILAUS" and !isset($laskurow["liitostunnus"]))) {
    //Tämä jotta myös rivisyötön alkuhomma toimisi
    $tee = "OTSIK";
    if ($toim == "VALMISTAVARASTOON" or $toim == "SIIRTOLISTA" or $toim == "SIIRTOTYOMAARAYS") {
        require "otsik_siirtolista.inc";
    } elseif (($toim == 'EXTTARJOUS' or $toim == "EXTENNAKKO") and isset($tarjous_tee)) {
        if (isset($tarjous_tee) and $tarjous_tee != 'luo_dummy_tarjous') {
            require 'inc/valitse_asiakas.inc';
        } else {
            $tee = "";
            $kukarow['kesken'] = $tilausnumero;
            $saate_teksti = pupesoft_cleanstring($saate_teksti);
            $query = "UPDATE lasku\n                JOIN laskun_lisatiedot ON (laskun_lisatiedot.yhtio = lasku.yhtio AND laskun_lisatiedot.otunnus = lasku.tunnus)\n                SET lasku.olmapvm = '{$viimeinen_voimassaolo_pvm}',\n                laskun_lisatiedot.saate = '{$saate_teksti}'\n                WHERE lasku.yhtio       = '{$kukarow['yhtio']}'\n                AND lasku.tunnus        = '{$tilausnumero}'";
            pupe_query($query);
        }
    } else {
        require 'otsik.inc';
    }
    //Tässä halutaan jo hakea uuden tilauksen tiedot
    if ($kukarow["extranet"] == "" and ($toim == "TYOMAARAYS" or $toim == "TYOMAARAYS_ASENTAJA" or $toim == "REKLAMAATIO" or $toim == "SIIRTOTYOMAARAYS")) {
        $query = "SELECT laskun_lisatiedot.*, lasku.*, tyomaarays.*\n               FROM lasku\n               JOIN tyomaarays ON (tyomaarays.yhtio = lasku.yhtio AND tyomaarays.otunnus = lasku.tunnus)\n               LEFT JOIN laskun_lisatiedot ON (laskun_lisatiedot.yhtio = lasku.yhtio and laskun_lisatiedot.otunnus = lasku.tunnus)\n               WHERE lasku.tunnus  = '{$kukarow['kesken']}'\n               AND lasku.yhtio     = '{$kukarow['yhtio']}'\n               AND lasku.tila     != 'D'";
    } else {
        // pitää olla: siirtolista, sisäinen työmääräys, reklamaatio, tarjous, valmistus, myyntitilaus, ennakko, myyntitilaus, ylläpitosopimus, projekti
        $query = "SELECT laskun_lisatiedot.*, lasku.*\n                FROM lasku\n                LEFT JOIN laskun_lisatiedot ON (laskun_lisatiedot.yhtio = lasku.yhtio and laskun_lisatiedot.otunnus = lasku.tunnus)\n                WHERE lasku.tunnus = '{$kukarow['kesken']}'\n                AND lasku.yhtio    = '{$kukarow['yhtio']}'\n                AND lasku.tila     in ('G','S','C','T','V','N','E','L','0','R')\n                AND (lasku.alatila != 'X' or lasku.tila = '0')";
    }
    $result = pupe_query($query);
    $laskurow = mysql_fetch_assoc($result);
Example #18
0
 $rivi = str_replace($poista, "", $rivi);
 $rivi = explode("\t", trim($rivi));
 if ($rivi[$sync_otsikot["fi"]] != "") {
     $sanakirjaquery = "SELECT kysytty,fi,se,no,en,de,dk,ee,muutospvm\n                              FROM sanakirja\n                              WHERE fi = BINARY '" . $rivi[$sync_otsikot["fi"]] . "'";
     $sanakirjaresult = pupe_query($sanakirjaquery);
     if (mysql_num_rows($sanakirjaresult) > 0) {
         $sanakirjarow = mysql_fetch_assoc($sanakirjaresult);
         $sanakirjaquery = "UPDATE sanakirja SET synkronoi = 'X' where fi = BINARY '{$sanakirjarow['fi']}'";
         $sanakirjaresult = pupe_query($sanakirjaquery);
         echo "<tr><td>" . $rivi[$sync_otsikot["kysytty"]] . "</td>";
         echo "<td>" . $sanakirjarow["fi"] . "</td><td>" . $rivi[$sync_otsikot["fi"]] . "</td>";
         foreach ($kieliarray as $kieli) {
             $e = "";
             $t = "";
             if ($sanakirjarow[$kieli] != $rivi[$sync_otsikot[$kieli]]) {
                 $sanakirjarow[$kieli] = pupesoft_cleanstring($sanakirjarow[$kieli]);
                 // Korjataan käännöksen eka merkki vastamaan referenssin ekan merkin kokoa
                 if (ctype_upper(substr($sanakirjarow["fi"], 0, 1)) === TRUE) {
                     // Eka merkki iso kirjain
                     $sanakirjarow[$kieli] = ucfirst($sanakirjarow[$kieli]);
                 } else {
                     // Muuten koko stringi pienillä
                     $sanakirjarow[$kieli] = strtolower($sanakirjarow[$kieli]);
                 }
                 if ($tee == "UPDATE") {
                     $sanakirjaquery = "UPDATE sanakirja SET {$kieli} = '" . $rivi[$sync_otsikot[$kieli]] . "' where fi = BINARY '{$sanakirjarow['fi']}'";
                     $sanakirjaresult = pupe_query($sanakirjaquery);
                     $sanakirjarow[$kieli] = $rivi[$sync_otsikot[$kieli]];
                 } else {
                     $e = "<font class='error'>";
                     $t = "</font>";
Example #19
0
     $query = "SELECT nimi\n              FROM asiakas\n              WHERE tunnus = '{$asiakasid}'\n              and yhtio    = '{$kukarow['yhtio']}'";
 }
 $result = pupe_query($query);
 if ($row = mysql_fetch_assoc($result)) {
     $asiakas_nimi = pupesoft_cleanstring($row["nimi"]);
     $asiakasstr = substr($row["nimi"], 0, 12);
     if (substr($ytunnus, 0, 1) == "£") {
         $asiakasid = $row['liitostunnus'];
     }
 }
 // tehdään dummy-lasku johon liitetään kirjaukset
 $tapvm = $vva . "-" . $kka . "-" . $ppa;
 $query = "INSERT into lasku\n            SET yhtio   = '{$kukarow['yhtio']}',\n            tapvm      = '{$tapvm}',\n            tila       = 'X',\n            laatija    = '{$kukarow['kuka']}',\n            luontiaika = now()";
 $result = pupe_query($query);
 $ltunnus = mysql_insert_id($GLOBALS["masterlink"]);
 $selite = pupesoft_cleanstring($selite);
 list($kustp_ins, $kohde_ins, $projekti_ins) = kustannuspaikka_kohde_projekti($myyntisaamiset);
 // Myyntisaamiset
 $query = "INSERT INTO tiliointi SET\n            yhtio            = '{$kukarow['yhtio']}',\n            laatija          = '{$kukarow['kuka']}',\n            laadittu         = now(),\n            tapvm            = '{$tapvm}',\n            ltunnus          = '{$ltunnus}',\n            tilino           = '{$myyntisaamiset}',\n            summa            = {$omasumma} * -1,\n            summa_valuutassa = {$pistesumma} * -1,\n            valkoodi         = '{$tilivaluutta}',\n            selite           = 'Käsin syötetty suoritus {$asiakas_nimi} {$selite}',\n            lukko            = '1',\n            kustp            = '{$kustp_ins}',\n            kohde            = '{$kohde_ins}',\n            projekti         = '{$projekti_ins}'";
 $result = pupe_query($query);
 $ttunnus = mysql_insert_id($GLOBALS["masterlink"]);
 list($kustp_ins, $kohde_ins, $projekti_ins) = kustannuspaikka_kohde_projekti($kassatili, $kustannuspaikka);
 // Rahatili
 $query = "INSERT INTO tiliointi SET\n            yhtio            = '{$kukarow['yhtio']}',\n            laatija          = '{$kukarow['kuka']}',\n            laadittu         = now(),\n            tapvm            = '{$tapvm}',\n            ltunnus          = '{$ltunnus}',\n            tilino           = '{$kassatili}',\n            summa            = '{$omasumma}',\n            summa_valuutassa = '{$pistesumma}',\n            valkoodi         = '{$tilivaluutta}',\n            selite           = 'Käsin syötetty suoritus {$asiakas_nimi} {$selite}',\n            aputunnus        = '{$ttunnus}',\n            lukko            = '1',\n            kustp            = '{$kustp_ins}',\n            kohde            = '{$kohde_ins}',\n            projekti         = '{$projekti_ins}'";
 $result = pupe_query($query);
 // Näin kaikki tiliöinnit ovat kauniisti linkitetty toisiinsa
 $query = "INSERT INTO suoritus SET\n            yhtio          = '{$kukarow['yhtio']}',\n            tilino         = '{$tilistr}',\n            nimi_maksaja   = '{$asiakasstr}',\n            summa          = '{$pistesumma}',\n            maksupvm       = '{$tapvm}',\n            kirjpvm        = '{$tapvm}',\n            asiakas_tunnus = '{$asiakasid}',\n            ltunnus        = '{$ttunnus}',\n            viesti         = '{$selite}',\n            valkoodi       = '{$tilivaluutta}',\n            kurssi         = '{$tilikurssi}'";
 $result = pupe_query($query);
 $suoritus_tunnus = mysql_insert_id($GLOBALS["masterlink"]);
 echo "<font class='message'>" . t("Suoritus tallennettu") . ".</font><br>";
 // tulostetaan suorituksesta kuitti