$select_lisa = "tilausrivi.tilkpl, tilausrivi.varattu, tilausrivi.jt,"; $where_lisa = ""; $pjat_sortlisa = ""; if ($toim == "VALMISTUS") { $sorttauskentta = generoi_sorttauskentta($yhtiorow["valmistus_kerayslistan_jarjestys"]); $order_sorttaus = $yhtiorow["valmistus_kerayslistan_jarjestys_suunta"]; if ($yhtiorow["valmistus_kerayslistan_palvelutjatuottet"] == "E") { $pjat_sortlisa = "tuotetyyppi,"; } // Summataan rivit yhteen (HUOM: unohdetaan kaikki perheet!) if ($yhtiorow["valmistus_kerayslistan_jarjestys"] == "S") { $select_lisa = "sum(tilausrivi.tilkpl) tilkpl, sum(tilausrivi.varattu) varattu, sum(tilausrivi.jt) jt, group_concat(tilausrivi.tunnus) rivitunnukset,"; $where_lisa = "GROUP BY tilausrivi.tuoteno, tilausrivi.hyllyalue, tilausrivi.hyllyvali, tilausrivi.hyllyalue, tilausrivi.hyllynro"; } } else { $sorttauskentta = generoi_sorttauskentta($yhtiorow["kerayslistan_jarjestys"]); $order_sorttaus = $yhtiorow["kerayslistan_jarjestys_suunta"]; if ($yhtiorow["kerayslistan_palvelutjatuottet"] == "E") { $pjat_sortlisa = "tuotetyyppi,"; } // Summataan rivit yhteen (HUOM: unohdetaan kaikki perheet!) if ($yhtiorow["kerayslistan_jarjestys"] == "S") { $select_lisa = "sum(tilausrivi.tilkpl) tilkpl, sum(tilausrivi.varattu) varattu, sum(tilausrivi.jt) jt, group_concat(tilausrivi.tunnus) rivitunnukset,"; $where_lisa = "GROUP BY tilausrivi.tuoteno, tilausrivi.hyllyalue, tilausrivi.hyllyvali, tilausrivi.hyllyalue, tilausrivi.hyllynro"; } } $asiakas_join_lisa = ""; // Jos keräyserät käytössä, pitää hakea asiakkaankin tiedot (myyntipuolella toim="") if ($yhtiorow['kerayserat'] != '' and $toim == "" and $yhtiorow['siirtolistan_tulostustapa'] != 'U') { $select_lisa .= "asiakas.kerayserat,"; $asiakas_join_lisa = "JOIN asiakas ON (asiakas.yhtio = lasku.yhtio AND asiakas.tunnus = lasku.liitostunnus)";
//Kirjoitetaan otsikkojen lopputiedot if ($lasrow["chn"] == "111") { elmaedi_otsikko_loput($tootedi, $lasrow); } elseif ($lasrow["chn"] == "112") { finvoice_otsikko_loput($tootsisainenfinvoice, $lasrow, $masrow); } elseif ($yhtiorow["verkkolasku_lah"] == "iPost" or $yhtiorow["verkkolasku_lah"] == "finvoice" or $yhtiorow["verkkolasku_lah"] == "apix" or $yhtiorow["verkkolasku_lah"] == "maventa") { finvoice_otsikko_loput($tootfinvoice, $lasrow, $masrow); } // katotaan miten halutaan sortattavan // haetaan asiakkaan tietojen takaa sorttaustiedot $order_sorttaus = ''; if (mysql_num_rows($asiakas_apu_res) == 1) { $sorttauskentta = generoi_sorttauskentta($asiakas_apu_row["laskun_jarjestys"] != "" ? $asiakas_apu_row["laskun_jarjestys"] : $yhtiorow["laskun_jarjestys"]); $order_sorttaus = $asiakas_apu_row["laskun_jarjestys_suunta"] != "" ? $asiakas_apu_row["laskun_jarjestys_suunta"] : $yhtiorow["laskun_jarjestys_suunta"]; } else { $sorttauskentta = generoi_sorttauskentta($yhtiorow["laskun_jarjestys"]); $order_sorttaus = $yhtiorow["laskun_jarjestys_suunta"]; } // Asiakkaan / yhtiön laskutyyppi if ($lasrow['laskutyyppi'] == -9 or $lasrow['laskutyyppi'] == 0) { //jos laskulta löytyvät laskutyyppi on Oletus käytetään asiakkaan tai yhtiön oletus laskutyyppiä if (isset($asiakas_apu_row['laskutyyppi']) and $asiakas_apu_row['laskutyyppi'] != -9) { $laskutyyppi = $asiakas_apu_row['laskutyyppi']; } else { $laskutyyppi = $yhtiorow['laskutyyppi']; } } else { $laskutyyppi = $lasrow['laskutyyppi']; } if ($yhtiorow["laskun_palvelutjatuottet"] == "E") { $pjat_sortlisa = "tuotetyyppi,";
echo "</form>"; } if ($sahkoinen_tilausliitanta and ($yhtiorow['vastaavat_tuotteet_esitysmuoto'] == 'S' or $yhtiorow['vastaavat_tuotteet_esitysmuoto'] == 'A')) { $style = "width: 15px; height: 15px; display: inline-table; border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%;"; echo " <span class='tooltip' id='color_tooltip'><span style='{$style} background-color: #5D2; margin-right: 5px;'></span><span style='{$style} background-color: #FCF300; margin-right: 5px;'></span><span style='{$style} background-color: #E66; margin-right: 5px;'></span></span></a>"; echo "<div id='div_color_tooltip' class='popup' style='width: 300px; line-height: 15px; height: 60px;'>"; echo "<table>"; echo "<tr><td class='back'><span style='{$style} background-color: #5D2;'></span></td><td class='back'><span style='float: right'>", t("kysytty määrä löytyy"), "</span></td></tr>"; echo "<tr><td class='back'><span style='{$style} background-color: #FCF300;'></span></td><td class='back'><span style='float: right;'>", t("osa kysytystä määrästä löytyy"), "</span></td></tr>"; echo "<tr><td class='back'><span style='{$style} background-color: #E66'></span></td><td class='back'><span style='float: right;'>", t("kysyttyä määrää ei löydy"), "</span></td></tr>"; echo "<tr><td class='back'><img src='{$palvelin2}pics/lullacons/alert.png' /></td><td class='back'><span style='float: right;'>", t("kysyttyä tuotetta ei löydy"), "</span></td></tr>"; echo "</table>"; echo "</div>"; } // katotaan miten halutaan sortattavan $sorttauskentta = generoi_sorttauskentta($yhtiorow["tilauksen_jarjestys"]); //"ei_erikoisale" koska rivillä ei haluta vähentää erikoisalea hinnasta, vaan se näytetään erikseen yhteenvedossa $query_ale_lisa = generoi_alekentta("O", '', 'ei_erikoisale'); $ale_query_select_lisa = generoi_alekentta_select('erikseen', 'O'); //Listataan tilauksessa olevat tuotteet $query = "SELECT\n tilausrivi.nimitys,\n concat_ws(' ', tilausrivi.hyllyalue,\n tilausrivi.hyllynro,\n tilausrivi.hyllyvali,\n tilausrivi.hyllytaso) paikka,\n tilausrivi.tuoteno,\n tuotteen_toimittajat.toim_tuoteno,\n tuotteen_toimittajat.toim_nimitys,\n tuotteen_toimittajat.valuutta,\n tilausrivi.tilkpl tilattu,\n round(tilausrivi.tilkpl\n * if (tuotteen_toimittajat.tuotekerroin = 0\n OR tuotteen_toimittajat.tuotekerroin is NULL,\n 1, tuotteen_toimittajat.tuotekerroin),\n 4) tilattu_ulk,\n round((tilausrivi.varattu + tilausrivi.jt)\n * tilausrivi.hinta\n * if (tuotteen_toimittajat.tuotekerroin = 0\n OR tuotteen_toimittajat.tuotekerroin IS NULL,\n 1,\n tuotteen_toimittajat.tuotekerroin)\n * {$query_ale_lisa}, '{$yhtiorow['hintapyoristys']}') rivihinta,\n tilausrivi.alv,\n tilausrivi.toimaika,\n tilausrivi.kerayspvm,\n tilausrivi.uusiotunnus,\n tilausrivi.tunnus,\n tilausrivi.perheid,\n tilausrivi.perheid2,\n tilausrivi.hinta,\n {$ale_query_select_lisa}\n tilausrivi.varattu varattukpl,\n tilausrivi.kommentti,\n {$sorttauskentta},\n tilausrivi.var,\n tilausrivi.var2,\n tilausrivi.jaksotettu,\n tilausrivi.yksikko,\n tuotteen_toimittajat.toim_yksikko,\n tuote.tuotemassa,\n tuote.kehahin keskihinta,\n tuote.sarjanumeroseuranta,\n tuotteen_toimittajat.ostohinta,\n if(tuotteen_toimittajat.osto_era = 0, 1, tuotteen_toimittajat.osto_era) AS osto_era,\n tuotteen_toimittajat.valuutta,\n tuotteen_toimittajat.tunnus as tt_tunnus,\n tilausrivi.erikoisale,\n tilausrivi.ale1,\n tilausrivi.ale2,\n tilausrivi.ale3,\n tilausrivin_lisatiedot.tilausrivitunnus,\n tilausrivin_lisatiedot.tilausrivilinkki,\n tilausrivi.vahvistettu_maara,\n tilausrivi.vahvistettu_kommentti,\n tilausrivi.hinta_alkuperainen\n FROM tilausrivi\n LEFT JOIN tuote ON tilausrivi.yhtio = tuote.yhtio\n AND tilausrivi.tuoteno = tuote.tuoteno\n LEFT JOIN tuotteen_toimittajat ON tuote.yhtio = tuotteen_toimittajat.yhtio\n AND tuote.tuoteno = tuotteen_toimittajat.tuoteno\n AND tuotteen_toimittajat.liitostunnus = '{$laskurow['liitostunnus']}'\n LEFT JOIN tilausrivin_lisatiedot ON (tilausrivin_lisatiedot.yhtio = tilausrivi.yhtio\n AND tilausrivin_lisatiedot.tilausrivilinkki > 0\n AND tilausrivin_lisatiedot.tilausrivilinkki = tilausrivi.tunnus)\n WHERE tilausrivi.otunnus = '{$kukarow['kesken']}'\n and tilausrivi.yhtio = '{$kukarow['yhtio']}'\n and tilausrivi.tyyppi = 'O'\n ORDER BY sorttauskentta {$yhtiorow['tilauksen_jarjestys_suunta']}, tilausrivi.tunnus"; $presult = pupe_query($query); $rivienmaara = mysql_num_rows($presult); if ($rivienmaara > 0) { echo "<table><tr>"; echo "<th>#</th>"; echo "<th align='left'>" . t("Nimitys") . "</th>"; echo "<th align='left'>" . t("Paikka") . "</th>"; echo "<th align='left'>" . t("Tuote") . "</th>"; echo "<th align='left'>" . t("Toim Tuote") . "</th>"; echo "<th align='left'>" . t("Määrä") . "<br>" . t("Määrä/Ulk") . "</th>";
if ($kerattavat_rivit_row['otunnukset'] != '' and $otunnukset == '') { // jos keräyserä jäänyt vaiheeseen ja kerääjä ottaa sen uusiksi // päivitetään myyntitilauksen tilat kohdalleen $query = "UPDATE lasku SET\n tila = 'L',\n alatila = 'A',\n lahetepvm = now(),\n hyvak3 = '{$kukarow['kuka']}',\n h3time = now(),\n kerayslista = '{$kerattavat_rivit_row['kerayslistatunnus']}'\n WHERE yhtio = '{$kukarow['yhtio']}'\n AND tunnus in ({$kerattavat_rivit_row['otunnukset']})\n AND tila = 'N'\n AND alatila in ('A', 'KA')\n AND hyvak3 = ''\n AND h3time = '0000-00-00 00:00:00'"; pupe_query($query); if ($yhtiorow['kerayserat'] != '' and $yhtiorow['siirtolistan_tulostustapa'] == 'U') { // ja siirtolistan tilat kohdalleen $query = "UPDATE lasku SET\n alatila = 'A',\n lahetepvm = now(),\n hyvak3 = '{$kukarow['kuka']}',\n h3time = now(),\n kerayslista = '{$kerattavat_rivit_row['kerayslistatunnus']}'\n WHERE yhtio = '{$kukarow['yhtio']}'\n AND tunnus in ({$kerattavat_rivit_row['otunnukset']})\n AND tila = 'G'\n AND alatila in ('J', 'KJ')\n AND hyvak3 = ''\n AND h3time = '0000-00-00 00:00:00'"; pupe_query($query); } } // haetaan keräysvyöhykkeen takaa keräysjärjestys $query = "SELECT keraysjarjestys\n FROM keraysvyohyke\n WHERE yhtio = '{$kukarow['yhtio']}'\n AND tunnus = '{$kerattavat_rivit_row['keraysvyohyke']}'"; $keraysjarjestys_res = pupe_query($query); $keraysjarjestys_row = mysql_fetch_assoc($keraysjarjestys_res); $orderby_select = $keraysjarjestys_row['keraysjarjestys'] == "V" ? "," . generoi_sorttauskentta("3") : ""; $orderby = $keraysjarjestys_row['keraysjarjestys'] == 'P' ? "kokonaismassa" : ($keraysjarjestys_row['keraysjarjestys'] == "V" ? "sorttauskentta" : "vh.indeksi"); $query = "SELECT keraysvyohyke.nimitys AS ker_nimitys,\n tilausrivi.hyllyalue, tilausrivi.hyllynro, tilausrivi.hyllyvali, tilausrivi.hyllytaso,\n IFNULL(vh.varmistuskoodi, '00') AS varmistuskoodi,\n tilausrivi.tuoteno, ROUND(kerayserat.kpl, 0) AS varattu, tilausrivi.yksikko, tuote.nimitys,\n kerayserat.pakkausnro, kerayserat.sscc, kerayserat.tunnus AS kerayseran_tunnus,\n (tuote.tuotemassa * ROUND(kerayserat.kpl, 0)) AS kokonaismassa,\n kerayserat.nro, tuote.kerayskommentti\n {$orderby_select}\n FROM tilausrivi\n JOIN kerayserat ON (kerayserat.yhtio = tilausrivi.yhtio AND kerayserat.tilausrivi = tilausrivi.tunnus AND kerayserat.nro = {$kerattavat_rivit_row['nro']})\n JOIN tuote ON (tuote.yhtio = tilausrivi.yhtio AND tuote.tuoteno = tilausrivi.tuoteno)\n JOIN varaston_hyllypaikat vh ON (vh.yhtio = tilausrivi.yhtio AND vh.hyllyalue = tilausrivi.hyllyalue AND vh.hyllynro = tilausrivi.hyllynro AND vh.hyllyvali = tilausrivi.hyllyvali AND vh.hyllytaso = tilausrivi.hyllytaso)\n JOIN keraysvyohyke ON (keraysvyohyke.yhtio = vh.yhtio AND keraysvyohyke.tunnus = vh.keraysvyohyke)\n WHERE tilausrivi.yhtio = '{$kukarow['yhtio']}'\n AND tilausrivi.tunnus IN ({$kerattavat_rivit_row['tilausrivit']})\n ORDER BY {$orderby}"; $rivi_result = pupe_query($query); while ($rivi_row = mysql_fetch_assoc($rivi_result)) { $rivi_row['kerayskommentti'] = str_replace(array("'", ","), "", $rivi_row['kerayskommentti']); $pakkauskirjain = strtoupper(chr(64 + $rivi_row['pakkausnro'])); $tuotteen_nimitys = str_replace(array("'", ","), "", $rivi_row['nimitys']); $hyllypaikka = hyllyalue('', $rivi_row["hyllyalue"], 'riisuttu'); $hyllypaikka = trim($rivi_row['hyllynro']) != '' ? $hyllypaikka . " " . $rivi_row['hyllynro'] : $hyllypaikka; $hyllypaikka = trim($rivi_row['hyllyvali']) != '' ? $hyllypaikka . " " . $rivi_row['hyllyvali'] : $hyllypaikka; $hyllypaikka = trim($rivi_row['hyllytaso']) != '' ? $hyllypaikka . " " . $rivi_row['hyllytaso'] : $hyllypaikka; $hyllypaikka = implode(" ", str_split(strtoupper(trim($hyllypaikka)))); // W7 12 80 => W71280 => w71280 => w 7 128 0 $rivi_row['tuoteno'] = strtoupper(str_replace(" ", "", $rivi_row['tuoteno'])); $_tmp = str_split($rivi_row['tuoteno']);