示例#1
0
 $vastaavat = new Vastaavat($row['tuoteno']);
 if ($vastaavat->onkovastaavia()) {
     $i = 1;
     // Loopataan kaikki tuotteen vastaavuusketjut
     foreach (explode(",", $vastaavat->getIDt()) as $ketju) {
         // 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);
示例#2
0
 if ($tapa != 'VAIHDARIVI') {
     tarkista_myynti_osto_liitos_ja_poista($rivitunnus, false);
 }
 // Tehdään pari juttua jos tuote on sarjanumeroseurannassa
 if ($tilausrivirow["sarjanumeroseuranta"] != '') {
     //Nollataan sarjanumero
     $query = "SELECT tunnus FROM sarjanumeroseuranta WHERE yhtio='{$kukarow['yhtio']}' and tuoteno='{$tilausrivirow['tuoteno']}' and ostorivitunnus='{$tilausrivirow['tunnus']}'";
     $sarjares = pupe_query($query);
     $sarjarow = mysql_fetch_assoc($sarjares);
     //Pidetään sarjatunnus muistissa
     $osto_sarjatunnus = $sarjarow["tunnus"];
     $query = "UPDATE sarjanumeroseuranta SET ostorivitunnus=0 WHERE yhtio='{$kukarow['yhtio']}' AND tuoteno='{$tilausrivirow['tuoteno']}' AND ostorivitunnus='{$tilausrivirow['tunnus']}'";
     $sarjares = pupe_query($query);
 }
 if ($tapa == 'VAIHDARIVI') {
     $trow = hae_tuote($vastaavatuoteno);
     $kpl = $tilausrivirow['varattu'] + $tilausrivirow['jt'];
     if (!empty($tilausrivirow['tilausrivilinkki'])) {
         $query = "SELECT lasku.*\n                  FROM lasku\n                  JOIN tilausrivi\n                  ON ( tilausrivi.yhtio = lasku.yhtio\n                    AND tilausrivi.otunnus = lasku.tunnus\n                    AND tilausrivi.tunnus  = '{$tilausrivirow['tilausrivitunnus']}')\n                  WHERE lasku.yhtio        = '{$kukarow['yhtio']}'\n                  GROUP BY lasku.tunnus";
         $result = pupe_query($query);
         $myyntitilausrow = mysql_fetch_assoc($result);
         list($hinta, $netto, $ale, , ) = alehinta($myyntitilausrow, $trow, $kpl, '', '', '');
         //Jos vaihdettava rivi on linkattu myyntitilaukseen, käydään vaihtamassa myös myyntitilauksen tuote vastaavaan tuotteeseen.
         $ale_query = "";
         foreach ($ale as $a_index => $a) {
             $ale_query .= $a_index . ' = ' . $a . ',';
         }
         $ale_query = substr($ale_query, 0, -1);
         $query = "UPDATE tilausrivi\n                  SET tuoteno = '{$vastaavatuoteno}',\n                  nimitys     = '{$trow['nimitys']}',\n                  hinta       = '{$hinta}',\n                  {$ale_query}\n                  WHERE yhtio = '{$kukarow['yhtio']}'\n                  AND tunnus  = '{$tilausrivirow['tilausrivitunnus']}'";
         pupe_query($query);
     }
示例#3
0
function lisaa_tuote($tuoteno = '', $vastaava, $ketju_id = '')
{
    global $kukarow;
    // Tarkistetaan että tuote on olemassa
    $tuote = hae_tuote($vastaava);
    if ($tuote) {
        // Jos ketju on setattu, lisätään tuote haluttuun ketjuun
        if ($ketju_id != '') {
            // Tarkistetaan että tuote ei ole missään ketjussa päätuotteena
            $paatuote = false;
            if (onko_paatuote($vastaava)) {
                $paatuote = true;
                echo "<font class='error'>" . t("Lisäys ei onnistu! Tuote") . " {$vastaava} " . t("on päätuotteena jossain toisessa ketjussa") . "!</font><br><br>";
            }
            // Tarkistetaan että tuote ei jo ole kyseisessä ketjussa
            $query = "SELECT * FROM vastaavat WHERE yhtio='{$kukarow['yhtio']}' AND tuoteno='{$vastaava}' AND id='{$ketju_id}'";
            $result = pupe_query($query);
            // Tuote on jo ketjussa
            if (mysql_num_rows($result) > 0) {
                echo "<font class='error'>" . t("Lisäys ei onnistu! Tuote") . " {$vastaava} " . t("on jo ketjussa") . " {$ketju_id}!</font><br><br>";
            } elseif ($paatuote == false) {
                $query = "INSERT INTO vastaavat (id, tuoteno, yhtio, laatija, luontiaika, muutospvm, muuttaja)\n                   VALUES ('{$ketju_id}', '{$tuote['tuoteno']}', '{$kukarow['yhtio']}', '{$kukarow['kuka']}', now(), now(), '{$kukarow['kuka']}')";
                $result = pupe_query($query);
            }
        } elseif ($tuoteno != '' and $ketju_id == '') {
            // Etsitään isä tuotetta (haettu tuoteno)
            $query = "SELECT * FROM vastaavat WHERE tuoteno = '{$tuoteno}' AND yhtio = '{$kukarow['yhtio']}'";
            $result = pupe_query($query);
            if (mysql_num_rows($result) != 0) {
                //jos on, otetaan ID luku talteen...
                $row = mysql_fetch_array($result);
                $fid = $row['id'];
            }
            // Etsitään lisättävää tuotetta
            // Vastaavissa tarkistetaan vain että tuote ei ole päätuotteena missään toisessa ketjussa.
            // Jos isätuotetta ei löytynyt eikä lisättävä tuote ole missään ketjussa päätuotteena,
            // voidaan tuotteista tehdä uusi ketju
            $query = "SELECT * FROM vastaavat WHERE tuoteno = '{$vastaava}' AND yhtio = '{$kukarow['yhtio']}' AND jarjestys='1'";
            $result = pupe_query($query);
            if (mysql_num_rows($result) != 0) {
                //vastaava on jo lisätty.. otetaan senki id..
                $row = mysql_fetch_array($result);
                $cid = $row['id'];
            }
            //jos kumpaakaan ei löytynyt...
            if ($cid == "" and $fid == "") {
                //silloin tämä on eka vastaava.. etsitään sopiva ID.
                $query = "SELECT max(id) FROM vastaavat";
                $result = pupe_query($query);
                $row = mysql_fetch_array($result);
                $id = $row[0] + 1;
                //lisätään "isä tuote"...
                $query = "INSERT INTO vastaavat (id, tuoteno, yhtio, laatija, luontiaika, muutospvm, muuttaja)\n                   VALUES ('{$id}', '{$tuoteno}', '{$kukarow['yhtio']}', '{$kukarow['kuka']}', now(), now(), '{$kukarow['kuka']}')";
                $result = pupe_query($query);
                // lisätään vastaava tuote...
                $query = "INSERT INTO vastaavat (id, tuoteno, yhtio, laatija, luontiaika, muutospvm, muuttaja)\n                   VALUES ('{$id}', '{$vastaava}', '{$kukarow['yhtio']}', '{$kukarow['kuka']}', now(), now(), '{$kukarow['kuka']}')";
                $result = pupe_query($query);
            }
            //lapsi on löytynyt, isää ei
            if ($cid != "" and $fid == "") {
                //lisätään "isä tuote"...
                $query = "INSERT INTO vastaavat (id, tuoteno, yhtio, laatija, luontiaika, muutospvm, muuttaja)\n                   VALUES ('{$cid}', '{$tuoteno}', '{$kukarow['yhtio']}', '{$kukarow['kuka']}', now(), now(), '{$kukarow['kuka']}')";
                $result = pupe_query($query);
            }
            //isä on löytynyt, lapsi ei
            if ($fid != "" and $cid == "") {
                // Siirretään ketjun muita eteenpäin jarjestys + 1
                $query = "UPDATE vastaavat SET jarjestys=jarjestys+1\n                  WHERE jarjestys!=0 AND id='{$fid}' AND yhtio='{$kukarow['yhtio']}'";
                $result = pupe_query($query);
                // Lisätään uusi aina päätuotteeksi jarjestys=1
                //lisätään vastaava päätuotteeksi
                $query = "INSERT INTO vastaavat (id, tuoteno, yhtio, jarjestys, laatija, luontiaika, muutospvm, muuttaja)\n                   VALUES ('{$fid}', '{$vastaava}', '{$kukarow['yhtio']}', '1', '{$kukarow['kuka']}', now(), now(), '{$kukarow['kuka']}')";
                $result = pupe_query($query);
            }
            //kummatkin löytyivät.. ja ne korvaa toisensa
            if ($fid != "" and $cid != "" and $fid == $cid) {
                echo "<font class='error'>" . t("Tuotteet") . " {$vastaava} <> {$tuoteno} " . t("ovat jo vastaavia") . "!</font><br><br>";
            } elseif ($fid != "" and $cid != "") {
                echo "<font class='error'>" . t("Tuotteet") . " {$vastaava}, {$tuoteno} " . t("kuuluvat jo eri vastaavuusketjuihin") . "!</font><br><br>";
            }
        } else {
            echo "<font class='error'>" . t("Odottamaton virhe") . "!</font><br><br>";
        }
    }
}