$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); } if ($toimi_tunnus == $laskurow['liitostunnus']) { $tee = 'TI'; $tuoteno = $vastaavatuoteno; $kpl = $tilausrivirow['varattu'] + $tilausrivirow['jt']; } else { // Haetaan defaultti ostotilauksen käsittely
} $hinta = laskuval($hinta, $laskurow["vienti_kurssi"]); $alemuuttuja = ""; if ($row["kv_tyyppi"] == 'F' or $row["kv_tyyppi"] == 'G') { list($lis_hinta, $lis_netto, $lis_ale, $alehinta_alv, $alehinta_val) = alehinta($laskurow, $trow, '1', '', $hinta, array()); $netto = $lis_netto; $kv_ale = 1; for ($alepostfix = 1; $alepostfix <= $yhtiorow['myynnin_alekentat']; $alepostfix++) { if (isset($lis_ale["ale" . $alepostfix])) { $kv_ale *= 1 - $lis_ale["ale{$alepostfix}"] / 100; } } $kv_ale = round($kv_ale, 4); $lis_hinta = $lis_hinta * (1 - $kv_ale / 100); } else { list($lis_hinta, $lis_netto, $lis_ale, $alehinta_alv, $alehinta_val) = alehinta($laskurow, $trow, '1', 'N', $hinta, array()); $netto = 'N'; $alemuuttuja = "ale1 = '0',"; } list($lkhinta, $alv) = alv($laskurow, $trow, $lis_hinta, '', $alehinta_alv); if ($lkhinta > 0) { // Lasketaan hinnat yhteen. (HUOM: Menee metsään jos on useita eri kuljetusvakuutustuotteita eri alvikannoilla.) $kv_vakhinta += hintapyoristys($lkhinta); // Otetaan vikan tuotteen alvikanta ja mennään sillä $kv_vakalvi = $alv; $kv_tilaukset .= $row["tunnus"] . ", "; } } } } if ($kv_vakhinta > 0 and $kv_vaktuote != "") {
$alehinrrow = $rrow; } //haetaan asiakkaan oma hinta $laskurow["ytunnus"] = $asiakasrow["ytunnus"]; $laskurow["liitostunnus"] = $asiakasrow["tunnus"]; $laskurow["vienti"] = $asiakasrow["vienti"]; $laskurow["alv"] = $asiakasrow["alv"]; $laskurow["valkoodi"] = $asiakasrow["valkoodi"]; $laskurow["vienti_kurssi"] = $kurssi; $laskurow["maa"] = $asiakasrow["maa"]; $laskurow['toim_ovttunnus'] = $asiakasrow["toim_ovttunnus"]; $palautettavat_kentat = "hinta,netto,alehinta_alv,alehinta_val,hintaperuste,aleperuste"; for ($alepostfix = 1; $alepostfix <= $yhtiorow['myynnin_alekentat']; $alepostfix++) { $palautettavat_kentat .= ",ale{$alepostfix}"; } $hinnat = alehinta($laskurow, $alehinrrow, 1, '', '', '', $palautettavat_kentat, $GLOBALS['eta_yhtio']); // Kauttalaskutuksessa pitää otaa etäyhtiön tiedot if (isset($GLOBALS['eta_yhtio']) and $GLOBALS['eta_yhtio'] != '' and $GLOBALS['koti_yhtio'] == $kukarow['yhtio']) { $yhtiorow = $yhtiorow_eta; } // Otetaan erikoisalennus pois asiakashinnastosta // $hinnat['erikoisale'] = $asiakasrow["erikoisale"]; $hinnat['erikoisale'] = 0; $hinta = $hinnat["hinta"]; $netto = $hinnat["netto"]; for ($alepostfix = 1; $alepostfix <= $yhtiorow['myynnin_alekentat']; $alepostfix++) { ${'ale' . $alepostfix} = $hinnat["ale{$alepostfix}"]; } $alehinta_alv = $hinnat["alehinta_alv"]; $alehinta_val = $hinnat["alehinta_val"]; list($hinta, $lis_alv) = alv($laskurow, $rrow, $hinta, '', $alehinta_alv);
echo "</tr>"; } } elseif ($kukarow["extranet"] == "" and mysql_num_rows($lisaresult) > 0) { echo "<form method='post' action='{$palvelin2}{$tilauskaslisa}tilaus_myynti.php' autocomplete='off' name='lisaalisav'>\n <input type='hidden' name='tilausnumero' value='{$tilausnumero}'>\n <input type='hidden' name='mista' value = '{$mista}'>\n <input type='hidden' name='toim' value='{$toim}'>\n <input type='hidden' name='lopetus' value='{$lopetus}'>\n <input type='hidden' name='ruutulimit' value = '{$ruutulimit}'>\n <input type='hidden' name='projektilla' value='{$projektilla}'>"; if ($row["perheid2"] == 0 or $row["var"] != "T" and $row["var"] != "U") { echo "<input type='hidden' name='spessuceissi' value='OK'>"; } echo " <input type='hidden' name='tila' value='LISLISAV'>\n <input type='hidden' name='rivitunnus' value='{$row['tunnus']}'>\n <input type='hidden' name='ale_peruste' value = '{$row['ale_peruste']}'>\n <input type='hidden' name='rivilaadittu' value = '{$row['laadittu']}'>\n <input type='hidden' name='menutila' value='{$menutila}'>\n <input type='hidden' name='orig_tila' value='{$orig_tila}'>\n <input type='hidden' name='orig_alatila' value='{$orig_alatila}'>\n <input type='submit' value='" . t("Lisää lisävarusteita") . "'>\n </form> "; } } echo "</td></tr>"; if (isset($GLOBALS['eta_yhtio']) and $GLOBALS['eta_yhtio'] != '' and $koti_yhtio == $kukarow['yhtio']) { $query = "SELECT *\n FROM tuote\n WHERE yhtio = '{$GLOBALS['eta_yhtio']}'\n AND tuoteno = '{$row['tuoteno']}'"; $tres_eta = pupe_query($query); $trow_eta = mysql_fetch_assoc($tres_eta); list($lis_hinta_eta, $lis_netto_eta, $lis_eta_ale_kaikki, $alehinta_alv_eta, $alehinta_val_eta) = alehinta($laskurow, $trow_eta, $kpl_ruudulle, '', '', '', '', $GLOBALS['eta_yhtio']); $row['kommentti'] .= "\n" . t("Hinta") . ": " . hintapyoristys($lis_hinta_eta); for ($alepostfix = 1; $alepostfix <= $yhtiorow['myynnin_alekentat']; $alepostfix++) { $row['kommentti'] .= ", " . t("Ale") . "{$alepostfix}: " . $lis_eta_ale_kaikki["ale{$alepostfix}"] * 1 . "%"; } $row['kommentti'] .= ", " . t("Alv") . ": " . $row['alv'] * 1 . "%"; $hintapyoristys_echo = $lis_hinta_eta; foreach ($lis_eta_ale_kaikki as $val) { $hintapyoristys_echo *= 1 - $val / 100; } $etayhtio_totaalisumma += $hintapyoristys_echo * $kpl_ruudulle; $row['kommentti'] .= ", " . t("Rivihinta") . ": " . hintapyoristys($hintapyoristys_echo * $kpl_ruudulle); } if ($kommenttirivi_nakyviin or $row['kommentti'] != '' or $yhtiorow['naytetaanko_ale_peruste_tilausrivilla'] != '' and $row['ale_peruste'] != '') { echo "<tr>"; if ($borderlask == 0 and $pknum > 1) {
$tuoterow = mysql_fetch_assoc($result); $query = "SELECT *\n from lasku\n WHERE yhtio='{$kukarow['yhtio']}' and tunnus = '{$trow['otunnus']}'"; $result = pupe_query($query); $laskurow = mysql_fetch_assoc($result); $tuoteno = $trow["tuoteno"]; if ($toim == "ENNAKKO") { $kpl = $trow["varattu"]; } else { if ($yhtiorow["varaako_jt_saldoa"] == "") { $kpl = $trow["jt"]; } else { $kpl = $trow["jt"] + $trow["varattu"]; } } // Tutkitaan onko tämä myyty ulkomaan alvilla list(, , , $tsek_alehinta_alv, ) = alehinta($laskurow, $tuoterow, $kpl, '', '', ''); if ($tsek_alehinta_alv > 0) { $tuoterow["alv"] = $tsek_alehinta_alv; } if ($tuoterow["alv"] != $trow["alv"] and $yhtiorow["alv_kasittely"] == "" and $trow["alv"] < 500) { $hinta = hintapyoristys($trow["hinta"] / (1 + $trow['alv'] / 100) * (1 + $tuoterow['alv'] / 100)); } else { $hinta = $trow["hinta"]; } if ($laskurow["valkoodi"] != '' and trim(strtoupper($laskurow["valkoodi"])) != trim(strtoupper($yhtiorow["valkoodi"]))) { $hinta = hintapyoristys(laskuval($hinta, $laskurow["vienti_kurssi"])); } for ($alepostfix = 1; $alepostfix <= $yhtiorow['myynnin_alekentat']; $alepostfix++) { ${'ale' . $alepostfix} = $trow["ale{$alepostfix}"]; } $toimaika = $trow["toimaika"];
function menu($osasto = "", $try = "") { global $yhtiorow, $kukarow, $verkkokauppa, $verkkokauppa_tuotemerkit, $verkkokauppa_saldotsk, $verkkokauppa_anon, $verkkokauppa_hakualkuun, $palvelin2; if (!PUPE_UNICODE and isset($osasto) and mb_detect_encoding($osasto, mb_detect_order(), TRUE) == "UTF-8") { $osasto = iconv("UTF-8", "latin1//TRANSLIT", $osasto); } if (!PUPE_UNICODE and isset($try) and mb_detect_encoding($try, mb_detect_order(), TRUE) == "UTF-8") { $try = iconv("UTF-8", "latin1//TRANSLIT", $try); } $val = ""; if ($kukarow["kuka"] != "www") { $toimlisa = "<tr><td class='back'>» <a onclick=\"self.scrollTo(0,0);\" href=\"javascript:ajaxPost('tuotehaku', 'verkkokauppa.php?tee=selaa&hakutapa=toim_tuoteno', 'selain', false, false);\">" . t("Toimittajan koodilla") . "</a></td></tr>"; } else { $toimlisa = ""; } if ($verkkokauppa_tuotemerkit) { $tuotemerkkilis = " and tuote.tuotemerkki != '' "; } else { $tuotemerkkilis = ""; } // vientikieltokäsittely: // +maa tarkoittaa että myynti on kielletty tähän maahan ja sallittu kaikkiin muihin // -maa tarkoittaa että ainoastaan tähän maahan saa myydä // eli näytetään vaan tuotteet jossa vienti kentässä on tyhjää tai -maa.. ja se ei saa olla +maa $kieltolisa = ""; unset($vierow); if ($kukarow["kesken"] > 0) { $query = "SELECT IF(toim_maa != '', toim_maa, maa) maa\n FROM lasku\n WHERE yhtio = '{$kukarow['yhtio']}'\n AND tunnus = '{$kukarow['kesken']}'"; $vieres = pupe_query($query); $vierow = mysql_fetch_array($vieres); } elseif ($verkkokauppa != "") { $vierow = array(); if ($maa != "") { $vierow["maa"] = $maa; } else { $vierow["maa"] = $yhtiorow["maa"]; } } if (isset($vierow) and $vierow["maa"] != "") { $kieltolisa = " and (tuote.vienti = '' or tuote.vienti like '%-{$vierow['maa']}%' or tuote.vienti like '%+%') and tuote.vienti not like '%+{$vierow['maa']}%' "; } if ($kukarow["kieli"] == "") { $kukarow["kieli"] = "FI"; } if ($osasto == "") { $val = "<table id='rootMenu' name='rootMenu' class='menutable' style='visibility: hidden;'>"; $result = t_avainsana("VERKKOKAULINKKI"); while ($orow = mysql_fetch_array($result)) { if ($orow["selite"] == "ETUSIVU") { $val .= "<tr><td class='menucell'><a class='menu' href = '{$palvelin2}'>" . t("Etusivu") . "</a></td></tr>"; } else { if (file_exists("{$orow['selitetark']}.png")) { $val .= "<tr><td class='menucell'><a class='menu' href = \"javascript:sndReq('selain', 'verkkokauppa.php?tee=uutiset&sivu={$orow['selite']}', false, false);\"><img width='170' src='{$orow['selitetark']}.png'/></a></td></tr>"; } else { $val .= "<tr><td class='menucell'><a class='menu' href = \"javascript:sndReq('selain', 'verkkokauppa.php?tee=uutiset&sivu={$orow['selite']}', false, false);\">{$orow['selitetark']}</a></td></tr>"; } } } $verkkokauppa_tuotehaku = "<tr><td class='back'><br><font class='info'>" . t("Tuotehaku") . ":</font><br><hr></td></tr>\n <form id = 'tuotehaku' name='tuotehaku' action = \"javascript:ajaxPost('tuotehaku', 'verkkokauppa.php?tee=selaa&hakutapa=nimi', 'selain', false, false);\" method = 'post'>\n <tr><td class='back'><input type = 'text' size='12' name = 'tuotehaku'></td></tr>\n <tr><td class='back'>» <a onclick=\"self.scrollTo(0,0);\" href=\"javascript:ajaxPost('tuotehaku', 'verkkokauppa.php?tee=selaa&hakutapa=nimi', 'selain', false, false);\">" . t("Nimityksellä") . "</a></td></tr>\n <tr><td class='back'>» <a onclick=\"self.scrollTo(0,0);\" href=\"javascript:ajaxPost('tuotehaku', 'verkkokauppa.php?tee=selaa&hakutapa=koodilla', 'selain', false, false);\">" . t("Tuotekoodilla") . "</a></td></tr>\n {$toimlisa}\n </form>"; if ($verkkokauppa_anon or $kukarow["kuka"] != "www") { if ($verkkokauppa_hakualkuun) { $val .= $verkkokauppa_tuotehaku; } $val .= "<tr><td class='back'><br><font class='info'>" . t("Tuotteet") . ":</font><br><hr></td></tr>"; $ores = t_avainsana("OSASTO", "", " and avainsana.nakyvyys = '' "); while ($orow = mysql_fetch_array($ores)) { $target = "T_" . $orow["selite"]; $parent = "P_" . $orow["selite"]; $onclick = "document.getElementById(\"{$target}\").style.display==\"none\" ? sndReq(\"selain\", \"verkkokauppa.php?tee=uutiset&osasto={$orow['selite']}\", \"\", false) : \"\""; $href = "javascript:sndReq(\"{$target}\", \"verkkokauppa.php?tee=menu&osasto={$orow['selite']}\", \"{$parent}\", false, false);"; $val .= "<tr><td class='menucell td_parent'><a class = 'menu' id='{$parent}' onclick='{$onclick}' href='{$href}'>{$orow['selitetark']}</a></td></tr>\n <tr><td class='menuspacer'><div id='{$target}' style='display: none'></div></td></tr>"; } if (!$verkkokauppa_hakualkuun) { $val .= $verkkokauppa_tuotehaku; } } $val .= "</table><script>setTimeout(\"document.getElementById('rootMenu').style.visibility='visible';\", 250)</script>"; } elseif ($try == "" and ($verkkokauppa_anon or $kukarow["kuka"] != "www")) { $val = "<table class='menutable'>"; $query = "SELECT DISTINCT avainsana.selite try,\n IFNULL((SELECT avainsana_kieli.selitetark\n FROM avainsana AS avainsana_kieli\n WHERE avainsana_kieli.yhtio = avainsana.yhtio\n AND avainsana_kieli.laji = avainsana.laji\n AND avainsana_kieli.perhe = avainsana.perhe\n AND avainsana_kieli.kieli = '{$kukarow['kieli']}' LIMIT 1), avainsana.selitetark) trynimi\n FROM tuote\n JOIN avainsana ON (avainsana.yhtio = tuote.yhtio AND tuote.try = avainsana.selite AND avainsana.laji = 'TRY' AND avainsana.kieli IN ('{$yhtiorow['kieli']}', '') AND avainsana.nakyvyys = '')\n WHERE tuote.yhtio = '{$kukarow['yhtio']}'\n AND tuote.osasto = '{$osasto}'\n {$kieltolisa}\n {$tuotemerkkilis}\n AND tuote.status != 'P'\n AND tuote.tuotetyyppi NOT IN ('A', 'B')\n AND tuote.hinnastoon IN ('W', 'V')\n ORDER BY avainsana.jarjestys, avainsana.selite+0"; $tryres = pupe_query($query); while ($tryrow = mysql_fetch_array($tryres)) { // Oletuksena pimitetään kaikki.. $ok = 0; // Tarkastetaan onko täällä sopivia tuotteita $query = "SELECT *\n FROM tuote\n WHERE yhtio = '{$kukarow['yhtio']}'\n AND osasto = '{$osasto}'\n AND try = '{$tryrow['try']}'\n {$kieltolisa}\n {$tuotemerkkilis}\n AND status != 'P'\n AND tuotetyyppi NOT IN ('A', 'B')\n AND hinnastoon IN ('W','V')"; $res = pupe_query($query); while ($trow = mysql_fetch_array($res) and $ok == 0) { // Jos tuote näytetään vain jos asiakkaalla on asiakasalennus tai asiakahinta niin skipataan se jos alea tai hintaa ei löydy if ($trow["hinnastoon"] == "V" or $kukarow["naytetaan_tuotteet"] == "A") { if (!is_array($asiakasrow)) { $query = "SELECT *\n FROM asiakas\n WHERE yhtio = '{$kukarow['yhtio']}'\n AND tunnus = '{$kukarow['oletus_asiakas']}'"; $asres = pupe_query($query); $asiakasrow = mysql_fetch_array($asres); } $hinnat = alehinta(array("valkoodi" => "EUR", "maa" => $yhtiorow["maa"], "vienti_kurssi" => 1, "liitostunnus" => $asiakasrow["tunnus"], "ytunnus" => $asiakasrow["ytunnus"]), $trow, 1, '', '', '', "hintaperuste,aleperuste"); if ($hinnat["hintaperuste"] !== FALSE and $hinnat["hintaperuste"] >= 2 and $hinnat["hintaperuste"] <= 13) { $ok = 1; } for ($alepostfix = 1; $alepostfix <= $yhtiorow['myynnin_alekentat']; $alepostfix++) { if (isset($hinnat["aleperuste"]["ale" . $alepostfix]) and ($hinnat["aleperuste"] !== FALSE and $hinnat["aleperuste"]["ale" . $alepostfix] >= 5 and $hinnat["aleperuste"]["ale" . $alepostfix] < 13)) { $ok = 1; break; } } } else { $ok = 1; } } if ($ok == 1) { $target = "P_" . $osasto . "_" . $tryrow["try"]; $parent = "T_" . $osasto . "_" . $tryrow["try"]; if ($verkkokauppa_tuotemerkit) { $onclick = "sndReq(\"selain\", \"verkkokauppa.php?tee=selaa&osasto={$osasto}&try={$tryrow['try']}\", \"\", false)"; $href = "javascript:sndReq(\"{$target}\", \"verkkokauppa.php?tee=menu&osasto={$osasto}&try={$tryrow['try']}\", \"{$parent}\", false); sndReq(\"selain\", \"verkkokauppa.php?tee=selaa&osasto={$osasto}&try={$tryrow['try']}&tuotemerkki=\", \"\", false);"; $val .= "<tr><td class='menuspacer'> </td><td class='menucell td_parent_try'><a class = 'menu' id='{$parent}' onclick='{$onclick}' href='{$href}'>{$tryrow['trynimi']}</a><div id=\"{$target}\" style='display: none'></div></td></tr>"; } else { $val .= "<tr><td class='menuspacer'> </td><td class='menucell td_parent_try'><a class = 'menu' name = 'menulinkki' id='{$parent}' onclick=\"var aEls = document.getElementsByName('menulinkki'); for (var iEl = 0; iEl < aEls.length; iEl++) { document.getElementById(aEls[iEl].id).className='menu';} this.className='menuselected'; self.scrollTo(0,0);\" href=\"javascript:sndReq('selain', 'verkkokauppa.php?tee=selaa&osasto={$osasto}&try={$tryrow['try']}&tuotemerkki=', '', false);\">{$tryrow['trynimi']}</a></td></tr>"; } } } $val .= "</table>"; } elseif ($verkkokauppa_tuotemerkit and ($verkkokauppa_anon or $kukarow["kuka"] != "www")) { $val = "<table class='menutable'>"; $query = "SELECT DISTINCT avainsana.selite AS tuotemerkki,\n IFNULL((SELECT avainsana_kieli.selite\n FROM avainsana AS avainsana_kieli\n WHERE avainsana_kieli.yhtio = avainsana.yhtio\n AND avainsana_kieli.laji = avainsana.laji\n AND avainsana_kieli.perhe = avainsana.perhe\n AND avainsana_kieli.kieli = '{$kukarow['kieli']}' LIMIT 1), avainsana.selite) selite\n FROM tuote\n JOIN avainsana ON (avainsana.yhtio = tuote.yhtio AND tuote.tuotemerkki = avainsana.selite AND avainsana.laji = 'TUOTEMERKKI' AND avainsana.nakyvyys = '')\n WHERE tuote.yhtio = '{$kukarow['yhtio']}'\n AND tuote.osasto = '{$osasto}'\n AND tuote.try = '{$try}'\n {$kieltolisa}\n {$tuotemerkkilis}\n AND tuote.status != 'P'\n AND tuote.tuotetyyppi NOT IN ('A', 'B')\n AND tuote.hinnastoon IN ('W', 'V')\n ORDER BY avainsana.jarjestys, avainsana.selite"; $meres = pupe_query($query); while ($merow = mysql_fetch_array($meres)) { // Oletuksena pimitetään kaikki.. $ok = 0; // Tarkastetaan onko täällä sopivia tuotteita $query = "SELECT *\n FROM tuote\n WHERE yhtio = '{$kukarow['yhtio']}'\n AND osasto = '{$osasto}'\n AND try = '{$try}'\n AND tuotemerkki = '{$merow['tuotemerkki']}'\n {$kieltolisa}\n AND status != 'P'\n AND tuotetyyppi NOT IN ('A', 'B')\n AND hinnastoon IN ('W', 'V')"; $res = pupe_query($query); while ($trow = mysql_fetch_array($res) and $ok == 0) { // Jos tuote näytetään vain jos asiakkaalla on asiakasalennus tai asiakahinta niin skipataan se jos alea tai hintaa ei löydy if ($trow["hinnastoon"] == "V" or $kukarow["naytetaan_tuotteet"] == "A") { if (!is_array($asiakasrow)) { $query = "SELECT *\n FROM asiakas\n WHERE yhtio = '{$kukarow['yhtio']}'\n AND tunnus = '{$kukarow['oletus_asiakas']}'"; $asres = pupe_query($query); $asiakasrow = mysql_fetch_array($asres); } $hinnat = alehinta(array("valkoodi" => "EUR", "maa" => $yhtiorow["maa"], "vienti_kurssi" => 1, "liitostunnus" => $asiakasrow["tunnus"], "ytunnus" => $asiakasrow["ytunnus"]), $trow, 1, '', '', '', "hintaperuste,aleperuste"); if ($hinnat["hintaperuste"] !== FALSE and $hinnat["hintaperuste"] >= 2 and $hinnat["hintaperuste"] <= 13) { $ok = 1; } for ($alepostfix = 1; $alepostfix <= $yhtiorow['myynnin_alekentat']; $alepostfix++) { if (isset($hinnat["aleperuste"]["ale" . $alepostfix]) and ($hinnat["aleperuste"] !== FALSE and $hinnat["aleperuste"]["ale" . $alepostfix] >= 5 and $hinnat["aleperuste"]["ale" . $alepostfix] < 13)) { $ok = 1; break; } } } else { $ok = 1; } } if ($ok == 1) { $val .= "<tr><td class='menuspacer'> </td><td class='menucell td_parent_tuotemerkki'><a class = 'menu' id='P_{$osasto}_{$try}_{$merow['selite']}' name = 'menulinkki' onclick=\"var aEls = document.getElementsByName('menulinkki'); for (var iEl = 0; iEl < aEls.length; iEl++) { document.getElementById(aEls[iEl].id).className='menu';} this.className='menuselected'; self.scrollTo(0,0);\" href=\"javascript:sndReq('selain', 'verkkokauppa.php?tee=selaa&osasto={$osasto}&try={$try}&tuotemerkki={$merow['tuotemerkki']}', '', false);\">{$merow['tuotemerkki']}</a></td></tr>"; } } $val .= "</table>"; } return $val; }
$bar->initialize(mysql_num_rows($laskures)); while ($laskurow = mysql_fetch_assoc($laskures)) { $bar->increase(); $x = 1; $query = "SELECT *\n FROM tilausrivi\n WHERE yhtio = '{$kukarow['yhtio']}'\n AND otunnus = '{$laskurow['tunnus']}'\n AND tyyppi = 'L'\n AND kpl+varattu > 0\n AND tuoteno NOT IN (\n '{$yhtiorow['rahti_tuotenumero']}',\n '{$yhtiorow['jalkivaatimus_tuotenumero']}',\n '{$yhtiorow['erilliskasiteltava_tuotenumero']}',\n '{$yhtiorow['kasittelykulu_tuotenumero']}',\n '{$yhtiorow['maksuehto_tuotenumero']}',\n '{$yhtiorow['ennakkomaksu_tuotenumero']}',\n '{$yhtiorow['alennus_tuotenumero']}',\n '{$yhtiorow['laskutuslisa_tuotenumero']}',\n '{$yhtiorow['kuljetusvakuutus_tuotenumero']}'\n )"; $tilausrivires = pupe_query($query); $num_rows = mysql_num_rows($tilausrivires); while ($tilausrivirow = mysql_fetch_assoc($tilausrivires)) { $alet = generoi_alekentta_php($tilausrivirow, 'M', 'kerto'); $tilausrivirow['hinta'] = $tilausrivirow['hinta'] * $alet; $_chk = $laskurow['liitostunnus'] . '####' . $tilausrivirow['tuoteno'] . '####' . $tilausrivirow['kpl']; if (!isset($tuotteiden_alehinnat[$_chk])) { $query = "SELECT *\n FROM tuote\n WHERE yhtio = '{$kukarow['yhtio']}'\n AND tuoteno = '{$tilausrivirow['tuoteno']}'"; $tres = pupe_query($query); $trow = mysql_fetch_assoc($tres); list($lis_hinta, $lis_netto, $lis_ale_kaikki, $alehinta_alv, $alehinta_val) = alehinta($laskurow, $trow, $tilausrivirow['kpl'], '', '', array()); for ($alepostfix = 1; $alepostfix <= $yhtiorow['myynnin_alekentat']; $alepostfix++) { $lis_hinta *= 1 - $lis_ale_kaikki['ale' . $alepostfix] / 100; } $tuotteiden_alehinnat[$_chk] = $lis_hinta; } else { $lis_hinta = $tuotteiden_alehinnat[$_chk]; } $ero = $tilausrivirow['hinta'] - $lis_hinta; if ($ero >= 0) { continue; } $eropros = $tilausrivirow['hinta'] == 0 ? 100 : abs(round($ero / $tilausrivirow['hinta'] * 100, 2)); if ($eropros_vahintaan > $eropros) { continue; }
if ($yhtiorow["alv_kasittely"] == "") { if ($alv_velvollisuus != "") { $korj_alv = $uusi_alv; } else { $korj_alv = $trow["alv"]; } $uusihinta = $rivirow['hinta'] / (1 + $rivirow['orig_alv'] / 100) * (1 + $korj_alv / 100); if ($laskurow["valkoodi"] != '' and trim(strtoupper($laskurow["valkoodi"])) != trim(strtoupper($yhtiorow["valkoodi"]))) { $uusihinta = round($uusihinta, 6); } else { $uusihinta = round($uusihinta, $yhtiorow['hintapyoristys']); } } else { $uusihinta = $rivirow['hinta']; } list($lis_hinta, $lis_netto, $lis_ale_kaikki, $alehinta_alv, $alehinta_val) = alehinta($laskurow, $trow, 1, '', $uusihinta, ''); list($lis_hinta, $alehinta_alv) = alv($laskurow, $trow, $lis_hinta, '', $alehinta_alv); if ($vanhahinta != $lis_hinta) { echo t("Korjataan hinta") . ": {$trow['tuoteno']}, {$vanhahinta} --> {$lis_hinta}, {$rivirow['alv']} --> {$alehinta_alv}<br>"; $query = "UPDATE tilausrivi\n SET hinta = '{$lis_hinta}',\n alv = '{$alehinta_alv}'\n where yhtio = '{$kukarow['yhtio']}'\n and otunnus = '{$utunnus}'\n and tunnus = '{$insid}'"; $tres = pupe_query($query); } } } //Korjataan perheid:t uusilla riveillä $query = "SELECT perheid, min(tunnus) uusiperheid\n FROM tilausrivi\n WHERE yhtio = '{$kukarow['yhtio']}'\n AND otunnus = '{$utunnus}'\n AND perheid != 0\n GROUP BY perheid"; $copresult = pupe_query($query); while ($coprivirow = mysql_fetch_assoc($copresult)) { $query = "UPDATE tilausrivi\n SET perheid = '{$coprivirow['uusiperheid']}'\n WHERE yhtio = '{$kukarow['yhtio']}'\n AND otunnus = '{$utunnus}'\n AND perheid = '{$coprivirow['perheid']}'"; $cores = pupe_query($query); }
// alvillinen -> alviton // alv pois if ($yhtiorow['alv_kasittely'] == '' and $mihin_yhtiorow['alv_kasittely'] == 'o') { $tuoterow['myyntihinta'] = round($tuoterow['myyntihinta'] / (1 + $tuoterow['alv'] / 100), $mihin_yhtiorow['hintapyoristys']); } elseif ($yhtiorow['alv_kasittely'] == 'o' and $mihin_yhtiorow['alv_kasittely'] == '') { $tuoterow['myyntihinta'] = round($tuoterow['myyntihinta'] * (1 + $tuoterow['alv'] / 100), $mihin_yhtiorow['hintapyoristys']); } // Päivitetään myyntihinta $mihin_yhtio $query = "UPDATE tuote SET\n myyntihinta = '{$tuoterow['myyntihinta']}'\n WHERE yhtio = '{$mihin_yhtio}'\n AND tuoteno = '{$tuoteno}'"; pupe_query($query); // Haetaan tuotteen toimittajan liitos $mihin_yhtio $query = "SELECT tunnus\n FROM tuotteen_toimittajat\n WHERE yhtio = '{$mihin_yhtio}'\n AND tuoteno = '{$tuoteno}'\n AND liitostunnus = {$mista_yhtion_toimittajan_tunnus}"; $mihin_tuoteres = pupe_query($query); while ($mihin_tuoterow2 = mysql_fetch_assoc($mihin_tuoteres)) { // Lasketaan ja päivitetään ostohinta list($hinta, $netto, $ale, $alehinta_alv, $alehinta_val) = alehinta($laskurow, $tuoterow, 1, '', '', array()); for ($alepostfix = 1; $alepostfix <= $yhtiorow['myynnin_alekentat']; $alepostfix++) { $hinta *= 1 - $ale["ale{$alepostfix}"] / 100; } // Päivitetään ostohinta $query = "UPDATE tuotteen_toimittajat SET\n ostohinta = '{$hinta}'\n WHERE yhtio = '{$mihin_yhtio}'\n AND tunnus = '{$mihin_tuoterow2['tunnus']}'"; pupe_query($query); } } // Haetaan saldot tuotteille, joille on tehty tietyn ajan sisällä tilausrivi tai tapahtuma $query = "(SELECT DISTINCT tapahtuma.tuoteno\n FROM tapahtuma\n JOIN tuote ON (tuote.yhtio = tapahtuma.yhtio\n AND tuote.tuoteno = tapahtuma.tuoteno\n AND tuote.status != 'P'\n AND tuote.tuotetyyppi NOT in ('A','B')\n AND tuote.tuoteno != ''\n AND tuote.ei_saldoa = '')\n WHERE tapahtuma.yhtio = '{$mista_yhtio}'\n AND tapahtuma.tuoteno IN (SELECT tuoteno FROM tuotteen_toimittajat WHERE yhtio = '{$mihin_yhtio}' AND liitostunnus = {$mista_yhtion_toimittajan_tunnus})\n AND tapahtuma.laadittu >= '{$datetime_checkpoint}')\n\n UNION\n\n (SELECT DISTINCT tilausrivi.tuoteno\n FROM tilausrivi\n JOIN tuote ON (tuote.yhtio = tilausrivi.yhtio\n AND tuote.tuoteno = tilausrivi.tuoteno\n AND tuote.status != 'P'\n AND tuote.tuotetyyppi NOT in ('A','B')\n AND tuote.tuoteno != ''\n AND tuote.ei_saldoa = '')\n WHERE tilausrivi.yhtio = '{$mista_yhtio}'\n AND tilausrivi.tyyppi NOT IN ('D','O')\n AND tilausrivi.tuoteno IN (SELECT tuoteno FROM tuotteen_toimittajat WHERE yhtio = '{$mihin_yhtio}' AND liitostunnus = {$mista_yhtion_toimittajan_tunnus})\n AND tilausrivi.laadittu >= '{$datetime_checkpoint}')"; $result = pupe_query($query); while ($row = mysql_fetch_assoc($result)) { list($saldo, $hyllyssa, $myytavissa, $devnull) = saldo_myytavissa($row['tuoteno']); $query = "UPDATE tuotteen_toimittajat SET\n tehdas_saldo = '{$myytavissa}'\n WHERE yhtio = '{$mihin_yhtio}'\n AND tuoteno = '{$row['tuoteno']}'\n AND liitostunnus = {$mista_yhtion_toimittajan_tunnus}"; pupe_query($query);
function piirra_hinta($row, $oleasrow, $valuurow, $vari, $classmidl, $hinta_rajaus, $poistetut, $lisatiedot) { global $kukarow, $yhtiorow, $verkkokauppa; if ($kukarow['hinnat'] >= 0 and ($verkkokauppa == "" or $kukarow["kuka"] != "www")) { $myyntihinta = hintapyoristys($row["myyntihinta"]) . " {$yhtiorow['valkoodi']}"; if ($kukarow["extranet"] != "" and $kukarow["naytetaan_asiakashinta"] != "") { list($hinta, $netto, $ale_kaikki, $alehinta_alv, $alehinta_val) = alehinta($oleasrow, $row, 1, '', '', ''); $myyntihinta_echotus = $hinta * generoi_alekentta_php($ale_kaikki, 'M', 'kerto'); $myyntihinta = hintapyoristys($myyntihinta_echotus) . " {$alehinta_val}"; } elseif ($kukarow["extranet"] != "") { // jos kyseessä on extranet asiakas yritetään näyttää kaikki hinnat oikeassa valuutassa if ($oleasrow["valkoodi"] != $yhtiorow["valkoodi"]) { $myyntihinta = hintapyoristys($row["myyntihinta"]) . " {$yhtiorow['valkoodi']}"; $query = "SELECT *\n FROM hinnasto\n WHERE yhtio = '{$kukarow["yhtio"]}'\n AND tuoteno = '{$row["tuoteno"]}'\n AND valkoodi = '{$oleasrow["valkoodi"]}'\n AND laji = ''\n AND (\n (alkupvm <= current_date and if(loppupvm = '0000-00-00',\n '9999-12-31',\n loppupvm) >= current_date)\n or (alkupvm = '0000-00-00' and loppupvm = '0000-00-00'))\n ORDER BY ifnull(to_days(current_date) - to_days(alkupvm), 9999999999999)\n LIMIT 1"; $olhires = pupe_query($query); if (mysql_num_rows($olhires) == 1) { $olhirow = mysql_fetch_assoc($olhires); $myyntihinta = hintapyoristys($olhirow["hinta"]) . " {$olhirow['valkoodi']}"; } elseif ($valuurow["kurssi"] != 0) { $myyntihinta = hintapyoristys(laskuval($row["myyntihinta"], $valuurow["kurssi"])) . " {$oleasrow['valkoodi']}"; } } } else { $query = "SELECT DISTINCT valkoodi,\n maa\n FROM hinnasto\n WHERE yhtio = '{$kukarow['yhtio']}'\n AND tuoteno = '{$row['tuoteno']}'\n AND laji = ''\n ORDER BY maa, valkoodi"; $hintavalresult = pupe_query($query); while ($hintavalrow = mysql_fetch_assoc($hintavalresult)) { // katotaan onko tuotteelle valuuttahintoja $query = "SELECT *\n FROM hinnasto\n WHERE yhtio = '{$kukarow['yhtio']}'\n AND tuoteno = '{$row['tuoteno']}'\n AND valkoodi = '{$hintavalrow['valkoodi']}'\n AND maa = '{$hintavalrow['maa']}'\n AND laji = ''\n AND (\n (alkupvm <= current_date and if(loppupvm = '0000-00-00',\n '9999-12-31',\n loppupvm) >= current_date)\n or (alkupvm = '0000-00-00' and loppupvm = '0000-00-00'))\n ORDER BY ifnull(to_days(current_date) - to_days(alkupvm), 9999999999999)\n LIMIT 1"; $hintaresult = pupe_query($query); while ($hintarow = mysql_fetch_assoc($hintaresult)) { $myyntihinta .= "<br>{$hintarow['maa']}: " . hintapyoristys($hintarow["hinta"]) . " {$hintarow['valkoodi']}"; } } } echo "<td valign='top' class='{$vari}' align='right' {$classmidl} nowrap>"; if ($hinta_rajaus != "") { echo '<font style="text-decoration:line-through;">' . hintapyoristys($row["myymalahinta"]) . ' ' . $yhtiorow["valkoodi"] . '</font></br>'; } if ($poistetut != "" and $kukarow["extranet"] != "") { echo " <font class='green'>{$myyntihinta}</font>"; } else { echo $myyntihinta; } if ($lisatiedot != "" and $kukarow["extranet"] == "") { echo "<br>" . hintapyoristys($row["nettohinta"]) . " {$yhtiorow['valkoodi']}"; } echo "</td>"; } }
function hae_asiakasalet($request) { global $kukarow, $yhtiorow; $tuotenumerot = array_keys($request['tuotteet']); $tuote_where = "AND status NOT IN ('P','X')"; if (!empty($request['nayta_poistetut'])) { $tuote_where = ""; } $query = "SELECT *\n FROM tuote\n WHERE yhtio = '{$kukarow['yhtio']}'\n AND tuoteno IN ('" . implode("','", $tuotenumerot) . "')\n {$tuote_where}\n AND aleryhma != ''\n ORDER BY tuote.aleryhma ASC, tuote.nimitys ASC"; $result = pupe_query($query); $tuotteet = array(); $palautettavat_kentat = "hinta,netto,ale,hintaperuste"; while ($tuote = mysql_fetch_assoc($result)) { if (!empty($request['valittu_asiakas'])) { $laskurow = array(); //haetaan asiakkaan oma hinta $laskurow["ytunnus"] = $request['asiakas']["ytunnus"]; $laskurow["liitostunnus"] = $request['asiakas']["tunnus"]; $laskurow["vienti"] = $request['asiakas']["vienti"]; $laskurow["alv"] = $request['asiakas']["alv"]; $laskurow["valkoodi"] = $request['asiakas']["valkoodi"]; $laskurow["maa"] = $request['asiakas']["maa"]; $laskurow['toim_ovttunnus'] = $request['asiakas']["toim_ovttunnus"]; $laskurow['liitostunnus'] = $request['valittu_asiakas']; $alehinnat = alehinta($laskurow, $tuote, 1, '', '', '', $palautettavat_kentat, '', ''); } else { $alehinnat = alehinta(array(), $tuote, 1, '', '', '', $palautettavat_kentat, '', '', $request['valittu_asiakasryhma']); } $query = "SELECT *\n FROM tuotteen_toimittajat\n WHERE yhtio = '{$kukarow['yhtio']}'\n AND tuoteno = '{$tuote['tuoteno']}'\n ORDER BY jarjestys ASC\n LIMIT 1"; $tuotteen_toimittaja_result = pupe_query($query); $tuotteen_toimittaja_row = mysql_fetch_assoc($tuotteen_toimittaja_result); $alennettu_hinta = (1 - $alehinnat['ale']['ale1'] / 100) * $tuote['myyntihinta']; $alennusryhma = search_array_key_for_value_recursive($request['aleryhmat'], 'ryhma', $tuote['aleryhma']); if ($alennettu_hinta == 0) { $kateprosentti = number_format(0, 2); } else { $kateprosentti = number_format((1 - $tuote['kehahin'] / $alehinnat['hinta']) * 100, 2); } $status_array = array('A' => t('Aktiivi'), 'P' => t('Poistettu'), 'T' => t('Tilaustuote')); $tuote_temp = array('aleryhma' => $alennusryhma[0], 'tuoteno' => $tuote['tuoteno'], 'tuote_nimi' => $tuote['nimitys'], 'kappalemaara' => 1, 'yksikko' => $tuote['yksikko'], 'paivitys_pvm' => $tuote['muutospvm'], 'ostohinta' => number_format($tuotteen_toimittaja_row['ostohinta'], 2), 'kehahin' => number_format($tuote['kehahin'], 2), 'ovh_hinta' => number_format($tuote['myyntihinta'], 2), 'ryhman_ale' => number_format($alennettu_hinta, 2), 'hinnasto_hinta' => ($alehinnat['hintaperuste'] == 2 or $alehinnat['hintaperuste'] == 5) ? number_format($alehinnat['hinta'], 2) : '', 'status' => $status_array[$tuote['status']], 'ale_prosentti' => '', 'tarjous_hinta' => '', 'alennus_prosentti' => '', 'kate_prosentti' => $kateprosentti); $tuotteet[] = $tuote_temp; } return $tuotteet; }
$query = "SELECT *\n FROM tuote\n WHERE yhtio = '{$kukarow['yhtio']}' and tuoteno = '{$m['1']}'"; $tres = pupe_query($query); // Tämä me korvataan aina! $search[] = "/{$m['0']}/"; if (mysql_num_rows($tres) != 1) { $replace[] = ""; } else { $trow = mysql_fetch_array($tres); $query = "SELECT * FROM asiakas where yhtio = '{$kukarow['yhtio']}' and tunnus = '{$kukarow['oletus_asiakas']}'"; $asiakastempres = pupe_query($query); $asiakastemprow = mysql_fetch_array($asiakastempres); $temp_laskurowwi['liitostunnus'] = $asiakastemprow['tunnus']; $temp_laskurowwi['ytunnus'] = $asiakastemprow['ytunnus']; $temp_laskurowwi['valkoodi'] = $asiakastemprow['valkoodi']; $temp_laskurowwi['maa'] = $asiakastemprow['maa']; list($hinta, $netto, $ale_kaikki, $alehinta_alv, $alehinta_val) = alehinta($temp_laskurowwi, $trow, 1, '', '', ''); if ($temp_laskurowwi['valkoodi'] != "" and $temp_laskurowwi['valkoodi'] != $yhtiorow["valkoodi"]) { // katotaan onko tuotteelle maakohtaisia valuuttahintoja $query = "SELECT *\n from hinnasto\n where yhtio = '{$kukarow['yhtio']}'\n and tuoteno = '{$trow['tuoteno']}'\n and valkoodi = '{$temp_laskurowwi['valkoodi']}'\n and maa = '{$temp_laskurowwi['maa']}'\n and laji = ''\n and ((alkupvm <= current_date and if(loppupvm = '0000-00-00','9999-12-31',loppupvm) >= current_date) or (alkupvm='0000-00-00' and loppupvm='0000-00-00'))\n ORDER BY ifnull(to_days(current_date)-to_days(alkupvm),9999999999999)\n LIMIT 1"; $hintaresult = pupe_query($query); if (mysql_num_rows($hintaresult) > 0) { $hintarow = mysql_fetch_array($hintaresult); } else { // katotaan onko tuotteelle valuuttahintoja $query = "SELECT *\n from hinnasto\n where yhtio = '{$kukarow['yhtio']}'\n and tuoteno = '{$trow['tuoteno']}'\n and valkoodi = '{$temp_laskurowwi['valkoodi']}'\n and laji = ''\n and ((alkupvm <= current_date and if(loppupvm = '0000-00-00','9999-12-31',loppupvm) >= current_date) or (alkupvm='0000-00-00' and loppupvm='0000-00-00'))\n ORDER BY ifnull(to_days(current_date)-to_days(alkupvm),9999999999999)\n LIMIT 1"; $hintaresult = pupe_query($query); if (mysql_num_rows($hintaresult) > 0) { $hintarow = mysql_fetch_array($hintaresult); } else { $hintarow["hinta"] = $trow["myyntihinta"]; $hintarow["valkoodi"] = $yhtiorow["valkoodi"];