$query = "SELECT DISTINCT\n tuote.tuoteno,\n tuote.nimitys,\n {$toimittaja_select}\n FROM tuote\n JOIN tuoteperhe ON (tuote.tuoteno = tuoteperhe.tuoteno AND tuote.yhtio = tuoteperhe.yhtio AND tuoteperhe.tyyppi = 'R')\n {$toimittaja_join}\n {$abc_join}\n WHERE tuote.yhtio = '{$kukarow["yhtio"]}'\n AND tuote.ei_saldoa = ''\n AND tuote.status != 'P'\n AND tuote.ostoehdotus != 'E'\n {$tuote_where}\n ORDER BY toimittaja, tuote.try, tuote.tuoteno"; $res = pupe_query($query); echo t("Tuotteita") . " " . mysql_num_rows($res) . " " . t("kpl") . ".<br>\n"; echo t("Näytetään ostotarve aikavälille") . ": {$nykyinen_alku} - {$nykyinen_loppu}"; $ostoehdotus_riveja = 0; if (mysql_num_rows($res) > 0) { // Kootaan raportti echo "<form method='post'>"; echo "<table>"; $EDtoimittaja = false; $toimittaja_header_piirretty = false; $formin_pointteri = 0; // loopataan tuotteet läpi while ($row = mysql_fetch_assoc($res)) { // Haetaan tuotteen tiedot $tuoterivi = teerivi($row["tuoteno"], $row["toimittaja"]); // Toimittaja vaihtuu if ($tuoterivi['toimittajan_tunnus'] != $EDtoimittaja or $EDtoimittaja === false) { $toimittaja_header = "<tr>"; $toimittaja_header .= "<td class='back' colspan='8'><font class='head'><br>{$tuoterivi["toimittajan_ytunnus"]} {$tuoterivi["toimittajan_nimi"]}</font></td>"; $toimittaja_header .= "</tr>"; $toimittaja_header .= "<tr>"; $toimittaja_header .= "<th>" . t("Tuotenumero") . "</th>"; $toimittaja_header .= "<th>" . t("Nimitys") . "</th>"; $toimittaja_header .= "<th>" . t("Kulutusennuste") . "</th>"; $toimittaja_header .= "<th>" . t("Vuosikulutus") . "</th>"; $toimittaja_header .= "<th>" . t("Riitto Pv") . "</th>"; $toimittaja_header .= "<th>" . t("Reaalisaldo") . "</th>"; $toimittaja_header .= "<th>" . t("Ostosuositus") . "</th>"; $toimittaja_header .= "<th>" . t("Ostohinta") . "</th>"; $toimittaja_header .= "<th>" . t("Ostosuosituksen arvo") . "</th>";
$kasiteltavat_tuotteet[$kasiteltavat_key]["valmistusaika_sekunneissa"] = $row["valmistusaika_sekunneissa"]; $kasiteltavat_tuotteet[$kasiteltavat_key]["pakkauskoko"] = $row["pakkauskoko"]; // Otetaan isätuotteen pakkauskoko talteen, sillä sen perusteella tulee laskea "samankaltaisten" valmistusmäärä $isatuotteen_pakkauskoko = $kasiteltavat_tuotteet[$kasiteltavat_key]["pakkauskoko"]; $kasiteltavat_tuotteet[$kasiteltavat_key]["isatuotteen_pakkauskoko"] = $isatuotteen_pakkauskoko; // Katsotaan onko kyseessä "samankaltainen" isätuote ja haetaan lapsituotteiden infot $query = "SELECT tuote.tuoteno,\n tuote.nimitys,\n tuote.valmistusaika_sekunneissa,\n tuote.valmistuslinja\n FROM tuoteperhe\n JOIN tuote ON (tuote.yhtio = tuoteperhe.yhtio\n AND tuote.tuoteno = tuoteperhe.tuoteno\n AND tuote.ei_saldoa = ''\n AND tuote.ostoehdotus != 'E'\n {$tuote_where}\n {$tuote_valmistuslinja_where})\n WHERE tuoteperhe.yhtio = '{$kukarow["yhtio"]}'\n AND tuoteperhe.isatuoteno = '{$row["tuoteno"]}'\n AND tuoteperhe.tyyppi = 'S'"; $samankaltainen_result = pupe_query($query); if (mysql_num_rows($samankaltainen_result) > 0) { $samankaltaiset_tuotteet = "{$row["tuoteno"]} "; } else { $samankaltaiset_tuotteet = ""; } while ($samankaltainen_row = mysql_fetch_assoc($samankaltainen_result)) { $kasiteltavat_key++; $kasiteltavat_tuotteet[$kasiteltavat_key] = teerivi($samankaltainen_row["tuoteno"], $row["toimittaja"], $abcrajaustapa); $kasiteltavat_tuotteet[$kasiteltavat_key]["tuoteno"] = $samankaltainen_row["tuoteno"]; $kasiteltavat_tuotteet[$kasiteltavat_key]["nimitys"] = $samankaltainen_row["nimitys"]; $kasiteltavat_tuotteet[$kasiteltavat_key]["valmistuslinja"] = $samankaltainen_row["valmistuslinja"]; $kasiteltavat_tuotteet[$kasiteltavat_key]["isatuote"] = $row["tuoteno"]; $kasiteltavat_tuotteet[$kasiteltavat_key]["valmistusaika_sekunneissa"] = $samankaltainen_row["valmistusaika_sekunneissa"]; // $kasiteltavat_tuotteet[$kasiteltavat_key]["pakkauskoko"] = $samankaltainen_row["pakkauskoko"]; $kasiteltavat_tuotteet[$kasiteltavat_key]["isatuotteen_pakkauskoko"] = $isatuotteen_pakkauskoko; $samankaltaiset_tuotteet .= "{$samankaltainen_row["tuoteno"]} "; } // Loopataan käsitellyt tuotteet ja lasketaan yhteensä valmistettava määrä. Lisäksi poistetaan arraystä kaikki tuotteet, jota ei tule valmistaa $valmistettava_yhteensa = 0; foreach ($kasiteltavat_tuotteet as $key => $kasittelyssa) { if ($kasittelyssa["valmistussuositus"] <= 0) { unset($kasiteltavat_tuotteet[$key]); } else {