Пример #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);
}
Пример #2
0
 }
 if ($toim == "RESEPTI") {
     echo "<td align='left'>{$tuoterow['yksikko']}</td>";
     $worksheet->writeString($excelrivi, $excelsarake++, $tuoterow["yksikko"], $style);
     foreach ($resepti_kentat as $resepti_kentta) {
         echo "<td>{$prow[$resepti_kentta["selite"]]}</td>";
         $worksheet->writeString($excelrivi, $excelsarake++, $prow[$resepti_kentta["selite"]], $style);
     }
     $query = "SELECT\n                      tuotteen_toimittajat.liitostunnus,\n                      toimi.oletus_valkoodi,\n                      toimi.ytunnus,\n                      if(jarjestys = 0, 9999, jarjestys) sorttaus\n                      FROM tuotteen_toimittajat\n                      LEFT JOIN toimi\n                      ON (toimi.yhtio = tuotteen_toimittajat.yhtio\n                      AND toimi.tunnus                 = tuotteen_toimittajat.liitostunnus)\n                      WHERE tuotteen_toimittajat.yhtio = '{$kukarow["yhtio"]}'\n                      AND tuotteen_toimittajat.tuoteno = '{$tuoterow["tuoteno"]}'\n                      ORDER BY sorttaus\n                      LIMIT 1";
     $ttrow = pupe_query($query);
     $ttrow = mysql_fetch_assoc($ttrow);
     $query = "SELECT kurssi\n                      FROM valuu\n                      WHERE yhtio = '{$kukarow['yhtio']}'\n                      AND nimi    = '{$ttrow['oletus_valkoodi']}'\n                      ORDER BY tunnus DESC\n                      LIMIT 1";
     $valuurow = pupe_query($query);
     $valuurow = mysql_fetch_assoc($valuurow);
     $params = array('liitostunnus' => $ttrow['liitostunnus'], 'valkoodi' => $ttrow['oletus_valkoodi'], 'ytunnus' => $ttrow['ytunnus'], 'vienti_kurssi' => $valuurow['kurssi']);
     $ostohintatiedot = alehinta_osto($params, $tuoterow, 1, '', '', array());
     $ostohinta = hintapyoristys(hinta_kuluineen($tuoterow['tuoteno'], $ostohintatiedot[0]));
     $valuutta = $ostohintatiedot[3];
     echo "<td align='right'>{$ostohinta} {$valuutta}</td>";
     $worksheet->writeString($excelrivi, $excelsarake++, "{$ostohinta} {$valuutta}", $style);
 }
 if ($toim != "VSUUNNITTELU") {
     echo "<td align='right'>" . (double) $tuoterow["kehahin"] . "</td>";
     echo "<td align='right'>" . round($lapsiyht, 6) . "</td>";
     $worksheet->writeNumber($excelrivi, $excelsarake++, $tuoterow["kehahin"], $style);
     $worksheet->writeNumber($excelrivi, $excelsarake++, round($lapsiyht, 6), $style);
 }
 if ($toim == "PERHE") {
     if (isset($prow['ohita_kerays']) and trim($prow['ohita_kerays']) != '') {
         $chk_ohita_kerays = t("Kyllä");
     } else {
Пример #3
0
     $query = "SELECT nimi, kurssi, tunnus\n                  FROM valuu\n                  WHERE yhtio = '{$kukarow['yhtio']}'\n                  AND nimi    = '{$ttrow['valuutta']}'\n                  ORDER BY jarjestys";
     $vresult = pupe_query($query);
     if (mysql_num_rows($vresult) == 1) {
         $valtrow = mysql_fetch_assoc($vresult);
     }
 }
 if (!isset($valtrow)) {
     $valtrow['kurssi'] = 1;
 }
 // alehinta_ostoa varten tehdään pieni kikka ja käännetään kurssi
 // tämä siksi että toimittajan valuuttaa katsotaan funkkarissa ns kotivaluuttana vs oikea kotivaluutta
 $valtrow['kurssi'] = 1 / $valtrow['kurssi'];
 // Hetaan kaikki ostohinnat yhtiön oletusvaluutassa
 $laskurow = array('liitostunnus' => $ttrow['toimittaja'], 'valkoodi' => $yhtiorow["valkoodi"], 'vienti_kurssi' => $valtrow['kurssi'], 'ytunnus' => $ttrow['ytunnus']);
 // Haetaan ostohinta
 list($ostohinta, $netto, $alennus, $valuutta) = alehinta_osto($laskurow, array("tuoteno" => $row['tuoteno']), 1, '', '', '');
 // kerrotaan ostohinta tuotekertoimella, jotta saadaan yhden kpl ostohinta
 $ostohinta = $ostohinta * $ttrow['tuotekerroin'];
 $alennukset = 1;
 $ostohinta_netto = $ostohinta;
 // lisätään kuluprosentti hintaan jos sitä käytetään saapumisellakin
 if (in_array($yhtiorow['jalkilaskenta_kuluperuste'], array('KP', 'VS', 'PX'))) {
     $ostohinta_netto = $ostohinta_netto * (1 + $ttrow['oletus_kulupros'] / 100);
 }
 // Nolla tai pienempi on virhe, laitetaan ne vikaks
 if ($ostohinta <= 0) {
     $ostohinta = 0;
     $ostohinta_netto = 9999999;
     $netto = "N";
 }
 // Jos ei ole nettohinta, niin lasketaan alennukset
Пример #4
0
 // Haetaan tuotteet ketjukohtaisesti
 $_tuotteet = $vastaavat->tuotteet($ketju);
 foreach ($_tuotteet as $_tuoteno_arr) {
     if ($_tuoteno_arr['tuoteno'] != $row['tuoteno']) {
         if ($i == 6) {
             break;
         }
         $vastaava_saldo = saldo_funktio($_tuoteno_arr['tuoteno'], $varastot_yhtiot, $varastot, $paikoittain, $lisa, $row['yhtio']);
         $vastaava_myydy_kappaleet = myydyt_kappaleet($row['yhtio'], $_tuoteno_arr['tuoteno'], $apvm, $lpvm, $lisa, $ei_vienteja_lisa, $ei_asiakkaan_myynteja_lisa);
         $tuotteen_toimittajat = hae_tuotteen_toimittajat($_tuoteno_arr['tuoteno']);
         $trow = hae_tuote($_tuoteno_arr['tuoteno']);
         $ostohinta = "";
         $tuotteen_toimittajat_string = "";
         foreach ($tuotteen_toimittajat as $tuotteen_toimittaja) {
             $laskurow_temp = array('liitostunnus' => $tuotteen_toimittaja['liitostunnus'], 'valkoodi' => $tuotteen_toimittaja['valkoodi'], 'vienti_kurssi' => $tuotteen_toimittaja['kurssi'], 'ytunnus' => $tuotteen_toimittaja['ytunnus']);
             list($ostohinta_temp, $netto, $alennus, ) = alehinta_osto($laskurow_temp, $trow, 1, '', '', '');
             if (empty($netto)) {
                 $ostohinta_temp = $ostohinta_temp * generoi_alekentta_php($alennus, 'O', 'kerto', 'EI');
             }
             $ostohinta .= sprintf('%.2f', $ostohinta_temp) . ' / ';
             $tuotteen_toimittajat_string .= $tuotteen_toimittaja['toimittajan_nimi'] . ' / ';
         }
         $ostohinta = substr($ostohinta, 0, -3);
         $tuotteen_toimittajat_string = substr($tuotteen_toimittajat_string, 0, -3);
         $vastaava_ennp_myynti = kappaleet_tila_myynti($_tuoteno_arr['tuoteno'], $row['yhtio'], $lisavarattu, $varastosiirtolisa, $ei_vienteja_lisa, $ei_asiakkaan_myynteja_lisa);
         $vastaava_ennp_osto = kappaleet_tila_osto($_tuoteno_arr['tuoteno'], $row['yhtio'], $lisavarattu, $varastolisa);
         $vastaava_ennp = $vastaava_ennp_myynti + $vastaava_ennp_osto;
         if ($valitut["SARAKE{$_x}"] != '') {
             //tuoteno
             $rivi .= "\"{$_tuoteno_arr['tuoteno']}\"\t";
             $worksheet->write($excelrivi, $excelsarake, $_tuoteno_arr["tuoteno"]);
Пример #5
0
function xf02($tanaan, $xf02loppulause)
{
    global $path_xf02, $yhtiorow, $tuoterajaukset, $toimirajaus;
    echo "TULOSTETAAN xf02...\n";
    $valuuttaQ = "SELECT nimi, kurssi\n                FROM valuu\n                WHERE yhtio = '{$yhtiorow['yhtio']}'";
    $resaluutta = pupe_query($valuuttaQ);
    $valuutat = array();
    while ($valurow = mysql_fetch_assoc($resaluutta)) {
        $valuutat[$valurow["nimi"]] = $valurow["kurssi"];
    }
    $kyselyxfo2 = "SELECT tuote.tuoteno,\n                 tuote.tuotekorkeus,\n                 tuote.tuoteleveys,\n                 tuote.tuotesyvyys,\n                 tuote.nimitys,\n                 tuote.status,\n                 tuote.suoratoimitus,\n                 tuote.epakurantti25pvm epakura,\n                 tuote.ostoehdotus,\n                 (\n                   SELECT korv.tuoteno\n                   FROM korvaavat AS korv\n                   WHERE korv.yhtio = tuote.yhtio\n                   AND korv.id      = korvaavat.id\n                   ORDER BY if(korv.jarjestys = 0, 9999, korv.jarjestys), korv.tuoteno\n                   LIMIT 1\n                 ) korvaavatuoteno,\n                 round((abc_aputaulu.summa / abc_aputaulu.kpl),4) as KAhinta,\n                 round(tuote.tuotemassa,3) tuotemassa,\n                 round(((tuote.tuotekorkeus * tuote.tuoteleveys * tuote.tuotesyvyys)/1000000000),4) as tilavuus\n                 FROM tuote use index (tuoteno_index)\n                 LEFT JOIN abc_aputaulu use index (yhtio_tyyppi_tuoteno) ON (abc_aputaulu.yhtio=tuote.yhtio AND abc_aputaulu.tyyppi='TM' AND tuote.tuoteno=abc_aputaulu.tuoteno)\n                 LEFT JOIN korvaavat ON (korvaavat.yhtio = tuote.yhtio AND korvaavat.tuoteno = tuote.tuoteno)\n                 WHERE tuote.yhtio  = '{$yhtiorow['yhtio']}' {$tuoterajaukset}\n                 GROUP BY tuote.tuoteno, tuote.tuotekorkeus, tuote.tuoteleveys, tuote.tuotesyvyys, tuote.nimitys, tuote.status, tuote.suoratoimitus, tuote.epakurantti25pvm, tuote.ostoehdotus, korvaavatuoteno\n                 HAVING (korvaavatuoteno = tuote.tuoteno OR korvaavatuoteno is null)\n                 ORDER BY 1";
    $rests = pupe_query($kyselyxfo2);
    $rows = mysql_num_rows($rests);
    $fp = fopen($path_xf02, 'w+');
    while ($xf02 = mysql_fetch_assoc($rests)) {
        $query = "SELECT\n              toimi.ytunnus,\n              toimi.tunnus,\n              tuotteen_toimittajat.valuutta,\n              toimi.toimittajanro,\n              tuotteen_toimittajat.ostohinta,\n              ROUND(tuotteen_toimittajat.pakkauskoko, 0) ostokpl,\n              toimi.tyyppi\n              FROM tuotteen_toimittajat use index (yhtio_tuoteno)\n              JOIN toimi on (toimi.yhtio = tuotteen_toimittajat.yhtio AND tuotteen_toimittajat.liitostunnus = toimi.tunnus {$toimirajaus})\n              WHERE tuotteen_toimittajat.yhtio = '{$yhtiorow['yhtio']}'\n              AND tuotteen_toimittajat.tuoteno = '{$xf02['tuoteno']}'\n              ORDER BY if(tuotteen_toimittajat.jarjestys = 0, 9999, tuotteen_toimittajat.jarjestys), tuotteen_toimittajat.tunnus\n              LIMIT 1";
        $rest_toimittajista = pupe_query($query);
        $toim_row = mysql_fetch_assoc($rest_toimittajista);
        if ($toim_row['toimittajanro'] == '' or $toim_row['tyyppi'] == 'P') {
            continue;
        }
        // Hetaan ostohinta
        $laskurow = array();
        $laskurow["liitostunnus"] = $toim_row["tunnus"];
        $laskurow["valkoodi"] = $toim_row["valuutta"];
        $laskurow["vienti_kurssi"] = (isset($valuutat[$toim_row["valuutta"]]) and $valuutat[$toim_row["valuutta"]] > 0) ? $valuutat[$toim_row["valuutta"]] : 1;
        $laskurow["ytunnus"] = $toim_row["ytunnus"];
        $tuote_row = array();
        $tuote_row["tuoteno"] = $xf02["tuoteno"];
        list($hinta, $netto, $ale, $valuutta) = alehinta_osto($laskurow, $tuote_row, 1, "", "", "");
        // Muutetaan valuuttahinta euroiksi.
        if (trim(strtoupper($valuutta)) != trim(strtoupper($yhtiorow["valkoodi"]))) {
            $hinta = $hinta * $laskurow["vienti_kurssi"];
        }
        $alennukset = generoi_alekentta_php($ale, 'O', 'kerto');
        $ostonetto = sprintf("%01.4f", round($hinta * $alennukset, 4));
        $tilavuus = $xf02['tilavuus'];
        if ($tilavuus > 99) {
            $tilavuus = '9999999';
        } else {
            $tilavuus = $tilavuus * 1000;
            $tilavuus = str_replace('.', '', $tilavuus);
        }
        $KA_myynti_hinta = $xf02['KAhinta'];
        if ($KA_myynti_hinta == '') {
            if ($ostonetto == 999999999) {
                $KA_myynti_hinta = 999999999;
            } else {
                $KA_myynti_hinta = sprintf("%.4f", $ostonetto * 1.3);
            }
        }
        if ($xf02['status'] == 'T') {
            $tuotestatus = 'M';
            //tehdastoimitustuotteet
        } elseif ($xf02['ostoehdotus'] == 'E') {
            $tuotestatus = 'D';
            //ostoehdotus=no tuotteet tänne
        } else {
            $tuotestatus = 'R';
        }
        if ($toim_row['ostokpl'] == '0') {
            $toim_row['ostokpl'] = '1';
        }
        $out = sprintf("%-8.8s", $toim_row['toimittajanro']);
        //XVNDR
        $out .= sprintf("%-18.18s", $xf02['tuoteno']);
        //XITEM
        $out .= sprintf("%-3.3s", "001");
        //XWHSE
        $out .= sprintf("%013.13s", str_replace('.', '', $ostonetto));
        //XPCHP
        $out .= sprintf("%013.13s", str_replace('.', '', $KA_myynti_hinta));
        //XSLSP
        $out .= sprintf("%07.7s", $toim_row['ostokpl']);
        //XPACK
        $out .= sprintf("%07.7s", "1");
        //XMINQ
        $out .= sprintf("%07.7s", str_replace('.', '', $xf02['tuotemassa']));
        //XWGHT
        $out .= sprintf("%07.7s", $tilavuus);
        //XVOLM
        $out .= sprintf("%-35.35s", trim($xf02['nimitys']));
        //XNAME
        $out .= sprintf("%-2.2s", "");
        //XUOMS
        $out .= sprintf("%-1.1s", $tuotestatus);
        //XDWO
        $out .= sprintf("%-18.18s", "");
        //XSEQ#
        $out .= sprintf("%-1.1s", "");
        //XDELET
        if (!fwrite($fp, $out . "\n")) {
            echo "Failed writing row.\n";
            die;
        }
    }
    if (!fwrite($fp, $xf02loppulause . "\n")) {
        echo "Failed writing row.\n";
        die;
    }
    fclose($fp);
}
Пример #6
0
            if (mysql_num_rows($res) == 1) {
                $laskuloytyi = 1;
            }
        }
    }
    if ($laskuloytyi == 1) {
        $laskurow = mysql_fetch_assoc($res);
        $tilausnro = $laskurow['tunnus'];
        if ($laskurow['alatila'] == 'X') {
            $error = t("Tilaus") . ' ' . $tilausnro . ' ' . t("ei ole sopiva") . "!";
            $tee = 'etsi';
        } else {
            $query = "SELECT * FROM tuote WHERE yhtio = '{$kukarow['yhtio']}' AND tuoteno = '{$tuoteno}'";
            $result = pupe_query($query);
            $trow = mysql_fetch_assoc($result);
            list($hinta, , , ) = alehinta_osto($laskurow, $trow, $kpl);
            //pidetään kaikki muuttujat tallessa
            $muut_siirrettavat = $asn_rivi . "!¡!" . $toimittaja . "!¡!" . $tilausnro . "!¡!" . $tuoteno . "!¡!" . $tilaajanrivinro . "!¡!" . $kpl . "!¡!" . $valitse . "!¡!" . $kolli . "!¡!" . $toimittajanumero . "!¡!" . $asn_numero . "!¡!" . $toimipaikka;
            $rivinotunnus = $tilausnro;
            $toimaika = date('Y') . "-" . date('m') . "-" . date('d');
            echo t("Tee uusi rivi") . ":<br>";
            require 'tilauskasittely/syotarivi_ostotilaus.inc';
            require 'inc/footer.inc';
            exit;
        }
    } else {
        $error = t("Ostotilausta") . ' ' . $tilausnro . ' ' . t("ei löydy") . "!";
        $tee = 'etsi';
    }
}
//poistetaan rivi, näytetään lista
Пример #7
0
 echo "</tr>";
 echo "<tr>";
 echo "<td>";
 foreach ($ttrow as $tt_rivi) {
     echo "{$tt_rivi["toim_tuoteno"]}<br>";
 }
 echo "</td>";
 echo "<td valign='top' align='right' style='font-weight:bold;'>" . hintapyoristys($tuoterow["myyntihinta"]) . " {$yhtiorow['valkoodi']}{$valuuttalisa}</td>";
 echo "<td valign='top' align='right'>" . hintapyoristys($tuoterow["nettohinta"]) . "/" . hintapyoristys($tuoterow["myymalahinta"]) . "</td>";
 echo "<td valign='top' align='right'>";
 foreach ($ttrow as $tt_rivi) {
     $query = "SELECT *\n                FROM valuu\n                WHERE yhtio = '{$kukarow['yhtio']}'\n                AND nimi    = '{$tt_rivi['oletus_valkoodi']}'\n                ORDER BY tunnus DESC\n                LIMIT 1";
     $kurssi_chk_res = pupe_query($query);
     $kurssi_chk_row = mysql_fetch_assoc($kurssi_chk_res);
     $_laskurow = array('liitostunnus' => $tt_rivi['liitostunnus'], 'valkoodi' => $tt_rivi['oletus_valkoodi'], 'ytunnus' => $tt_rivi['ytunnus'], 'vienti_kurssi' => $kurssi_chk_row['kurssi']);
     list($_hinta, $_netto, $_ale, $_valuutta) = alehinta_osto($_laskurow, $tuoterow, 1, '', '', array());
     echo "<span style='font-weight:bold;'>", hintapyoristys(hinta_kuluineen($tuoterow['tuoteno'], $_hinta)), " {$_valuutta}</span> / ";
     foreach ($_ale as $key => $val) {
         if (substr($key, 3, 1) > $yhtiorow['oston_alekentat']) {
             continue;
         }
         echo "{$val}% ";
     }
     echo "<br />";
 }
 echo "</td>";
 echo "<td valign='top' align='right' style='font-weight:bold;'>{$tuoterow['kehahin']}";
 if ($tuoterow["myyntihinta_maara"] != 0) {
     echo " {$tuoterow['yksikko']}<br>";
     echo hintapyoristys($tuoterow["kehahin"] * $tuoterow["myyntihinta_maara"], 6, TRUE);
     echo " {$tuoterow['myyntihinta_maara']} {$tuoterow['yksikko']}";