echo "<font class='error'>" . t("VIRHE: Tuotetta ei löydy") . "</font><br>"; $tee = ""; } $tulostakappale = (int) $tulostakappale; if ($tulostakappale <= 0) { echo "<font class='error'>" . t("VIRHE: Syötä kappalemäärä") . "</font><br>"; $tee = ""; } if ($kirjoitin == "") { echo "<font class='error'>" . t("VIRHE: Valitse kirjoitin") . "</font><br>"; $tee = ""; } } if ($tee == "jatka") { $filenimi = "/tmp/sahantera_tulostus.txt"; $hammastus = t_tuotteen_avainsanat($trow, 'HAMMASTUS'); // Mitat tulee olla millimetrejä, metreinä kannassa. Syvyys yhdellä desimaalilla, muut ilman desimaalia. $mitat = round($trow["tuotekorkeus"] * 1000, 0) . " x " . round($trow["tuoteleveys"] * 1000, 0) . " x " . round($trow["tuotesyvyys"] * 1000, 1); // Splitataan tuotteen nimitys spacesta $nimitys = split(" ", $trow["nimitys"]); $out = chr(10) . chr(10) . chr(10) . chr(10); // 5 rivinvaihtoa (Line feed) $out .= sprintf('%6s', ' '); // 6 spacea $out .= sprintf('%-9.9s', $nimitys[1]); // Nimityksestä toka sana, max 9 merkkiä $out .= sprintf('%1s', ' '); // 1 space $out .= sprintf('%-25.25s', $mitat); // Pituus x leveys x paksuus, max 25 merkkiä $out .= sprintf('%1s', ' ');
$ulos .= "<td></td>"; $ulos .= "<td></td>"; } if ($lisavar == "S") { if ($row["perheid2set"] != "0") { $ulos .= "<td valign='top'>" . t("Tehdaslisävarusteet") . ":<br>" . t("Paino") . ": {$lisavarrow['paino']}<br>" . t("Arvo") . ": {$lisavarrow['rivihinta']}</td>"; } else { $ulos .= "<td valign='top'></td>"; } } $ulos .= "<td valign='top'><font class='error'>" . $virhetxt . "</font></td>"; $ulos .= "</tr>"; if (isset($worksheet)) { $worksheet->write($excelrivi, 1, $row["laskunro"]); $worksheet->write($excelrivi, 2, $row["tuoteno"]); $worksheet->write($excelrivi, 3, t_tuotteen_avainsanat($row, 'nimitys')); $worksheet->write($excelrivi, 4, $row["tullinimike1"]); $worksheet->write($excelrivi, 5, $row["kauppatapahtuman_luonne"]); $worksheet->write($excelrivi, 6, $row["alkuperamaa"]); $worksheet->write($excelrivi, 7, $row["maalahetys"]); $worksheet->write($excelrivi, 8, $row["maamaara"]); $worksheet->write($excelrivi, 9, $row["kuljetusmuoto"]); $worksheet->write($excelrivi, 10, $row["rivihinta"]); $worksheet->write($excelrivi, 11, $row["paino"]); if ($row["su"] != '') { $worksheet->write($excelrivi, 12, $row["su"]); $worksheet->write($excelrivi, 13, $row["kpl"]); } if ($lisavar == "S") { $worksheet->write($excelrivi, 12, $lisavarrow["paino"] . "kg/" . $lisavarrow["rivihinta"] . "eur"); }
if ($trow["sarjanumeroseuranta"] != '') { if ($trow["sarjanumeroseuranta"] == "E" or $trow["sarjanumeroseuranta"] == "F" or $trow["sarjanumeroseuranta"] == "G") { $query = "SELECT sarjanumeroseuranta.tuoteno,\n tilausrivi_osto.nimitys nimitys,\n sarjanumeroseuranta.sarjanumero,\n sarjanumeroseuranta.tunnus,\n sarjanumeroseuranta.era_kpl,\n tuote.yksikko,\n concat_ws(' ', sarjanumeroseuranta.hyllyalue, sarjanumeroseuranta.hyllynro,\n sarjanumeroseuranta.hyllyvali, sarjanumeroseuranta.hyllytaso) tuotepaikka\n FROM tuote\n JOIN tuotepaikat ON (tuotepaikat.yhtio = tuote.yhtio and tuotepaikat.tuoteno = tuote.tuoteno)\n JOIN sarjanumeroseuranta ON sarjanumeroseuranta.yhtio = tuote.yhtio\n and sarjanumeroseuranta.tuoteno = tuote.tuoteno\n and sarjanumeroseuranta.hyllyalue = tuotepaikat.hyllyalue\n and sarjanumeroseuranta.hyllynro = tuotepaikat.hyllynro\n and sarjanumeroseuranta.hyllyvali = tuotepaikat.hyllyvali\n and sarjanumeroseuranta.hyllytaso = tuotepaikat.hyllytaso\n and sarjanumeroseuranta.myyntirivitunnus = 0\n and sarjanumeroseuranta.era_kpl != 0\n JOIN tilausrivi tilausrivi_osto use index (PRIMARY) ON (tilausrivi_osto.yhtio = sarjanumeroseuranta.yhtio and tilausrivi_osto.tunnus = sarjanumeroseuranta.ostorivitunnus)\n WHERE tuote.yhtio = '{$kukarow['yhtio']}'\n and tuote.tuoteno = '{$trow['tuoteno']}'"; } else { $query = "SELECT sarjanumeroseuranta.tuoteno, tilausrivi_osto.nimitys nimitys, sarjanumeroseuranta.sarjanumero, sarjanumeroseuranta.tunnus,\n concat_ws(' ', sarjanumeroseuranta.hyllyalue, sarjanumeroseuranta.hyllynro, sarjanumeroseuranta.hyllyvali, sarjanumeroseuranta.hyllytaso) tuotepaikka\n FROM sarjanumeroseuranta\n JOIN tilausrivi tilausrivi_osto use index (PRIMARY) ON tilausrivi_osto.yhtio=sarjanumeroseuranta.yhtio and tilausrivi_osto.tunnus=sarjanumeroseuranta.ostorivitunnus\n WHERE sarjanumeroseuranta.yhtio = '{$kukarow['yhtio']}'\n and sarjanumeroseuranta.tuoteno = '{$trow['tuoteno']}'\n and sarjanumeroseuranta.myyntirivitunnus = 0\n and tilausrivi_osto.laskutettuaika != '0000-00-00'"; } $sarjares = pupe_query($query); if (mysql_num_rows($sarjares) > 0) { echo "<td valign='top' style='padding:0px;'>"; if (mysql_num_rows($sarjares) > 10) { echo "<div style='height:265px;overflow:auto;'>"; } echo "<table width='100%'>"; while ($sarjarow = mysql_fetch_array($sarjares)) { echo "<tr>"; echo "<td nowrap>" . t_tuotteen_avainsanat($sarjarow, 'nimitys') . "</td>"; echo "<td nowrap>{$sarjarow['sarjanumero']}</td>"; echo "<td nowrap>{$sarjarow['tuotepaikka']}</td>"; if ($trow["sarjanumeroseuranta"] == "E" or $trow["sarjanumeroseuranta"] == "F" or $trow["sarjanumeroseuranta"] == "G") { echo "<td>{$sarjarow['era_kpl']} " . t_avainsana("Y", "", "and avainsana.selite='{$sarjarow['yksikko']}'", "", "", "selite") . "</td>"; echo "<td>"; echo "<input type='radio' name='sarjano_array[]' value='{$sarjarow['tunnus']}'>"; echo "<input type='hidden' name='sarjano_kpl_array[{$sarjarow['tunnus']}]' value='{$sarjarow['era_kpl']}'>"; echo "<input type='hidden' name='sarjano_nimi_array[{$sarjarow['tunnus']}]' value='{$sarjarow['sarjanumero']}'>"; echo "</td>"; } else { echo "<td><input type='checkbox' name='sarjano_array[]' value='{$sarjarow['tunnus']}'></td>"; } echo "</tr>"; } echo "</table>";
$res = pupe_query($qry); $ptilarow = mysql_fetch_assoc($res); $ptila = $ptilarow['tila']; // Siirtolistoilla käyttäjä pitää joinata hyvak1 kentällä (+ niissä ei ole asiakasta) if ($ptila == 'G') { $query = "SELECT lasku.*,\n kuka.kieli AS kieli,\n kuka.nimi AS kukanimi,\n kuka.eposti AS kukamail\n FROM lasku\n LEFT JOIN kuka ON (kuka.yhtio = lasku.yhtio\n AND kuka.kuka = lasku.hyvak1\n AND kuka.extranet = '')\n WHERE lasku.tunnus = '{$poikkeamatilaus}'\n AND lasku.yhtio = '{$kukarow['yhtio']}'"; } else { $query = "SELECT lasku.*,\n asiakas.email,\n asiakas.kerayspoikkeama,\n asiakas.keraysvahvistus_lahetys,\n asiakas.kieli,\n kuka.nimi AS kukanimi,\n kuka.eposti AS kukamail,\n kuka_ext.nimi AS kuka_ext_nimi\n FROM lasku\n JOIN asiakas ON (asiakas.yhtio = lasku.yhtio\n AND asiakas.tunnus = lasku.liitostunnus)\n LEFT JOIN kuka ON (kuka.yhtio = lasku.yhtio\n AND kuka.tunnus = lasku.myyja\n AND kuka.extranet = '')\n LEFT JOIN kuka AS kuka_ext ON (kuka_ext.yhtio = lasku.yhtio\n AND kuka_ext.kuka = lasku.laatija\n AND kuka_ext.extranet != '')\n WHERE lasku.tunnus = '{$poikkeamatilaus}'\n AND lasku.yhtio = '{$kukarow['yhtio']}'"; } $result = pupe_query($query); $laskurow = mysql_fetch_assoc($result); $kieli = $laskurow["kieli"]; $rivit = ''; $_plain_text_mail = $yhtiorow['kerayspoikkeama_email'] == 'P'; foreach ($poikkeamatilausrivit as $poikkeama) { $poikkeama['nimitys'] = t_tuotteen_avainsanat($poikkeama, 'nimitys', $kieli); if ($_plain_text_mail) { $rivit .= t("Nimitys", $kieli) . ": {$poikkeama['nimitys']}\r\n"; $rivit .= t("Tuotenumero", $kieli) . ": {$poikkeama['tuoteno']}\r\n"; $rivit .= t("Tilattu", $kieli) . ": " . (double) $poikkeama["tilkpl"] . "\r\n"; $rivit .= t("Toimitetaan", $kieli) . ": " . (double) $poikkeama["maara"] . "\r\n"; if ($yhtiorow["kerayspoikkeama_kasittely"] != '') { $rivit .= t("Poikkeaman käsittely", $kieli) . ": {$poikkeama['loput']}\r\n"; } $rivit .= "\r\n"; } else { $rivit .= "<tr>"; $rivit .= "<td>{$poikkeama['nimitys']}</td>"; $rivit .= "<td>{$poikkeama['tuoteno']}</td>"; $rivit .= "<td>" . (double) $poikkeama["tilkpl"] . " </td>"; $rivit .= "<td>" . (double) $poikkeama["maara"] . "</td>";
echo "<td valign='top' class='back'>{$varaosavirhe}</td>"; } if ($varaosavirhe == "") { //Tutkitaan tuotteiden lisävarusteita $query = "SELECT *\n FROM tuoteperhe\n JOIN tuote ON tuote.yhtio=tuoteperhe.yhtio and tuote.tuoteno=tuoteperhe.tuoteno\n WHERE tuoteperhe.yhtio = '{$kukarow['yhtio']}'\n and tuoteperhe.isatuoteno = '{$prow['tuoteno']}'\n and tuoteperhe.tyyppi = 'L'\n order by tuoteperhe.tuoteno"; $lisaresult = pupe_query($query); if (mysql_num_rows($lisaresult) > 0 and $prow["perheid2"] == -1) { echo "</tr>"; echo " <form method='post' action='{$palvelin2}tilauskasittely/tilaus_osto.php' autocomplete='off'>\n <input type='hidden' name='toim' value = '{$toim}'>\n <input type='hidden' name='lopetus' value = '{$lopetus}'>\n <input type='hidden' name='tilausnumero' value = '{$tilausnumero}'>\n <input type='hidden' name='toim_nimitykset' value = '{$toim_nimitykset}'>\n <input type='hidden' name='toim_tuoteno' value = '{$toim_tuoteno}'>\n <input type='hidden' name='tee' value = 'TI'>\n <input type='hidden' name='lisavarusteita' value = 'ON'>\n <input type='hidden' name='perheid2' value = '{$prow['tunnus']}'>"; if ($alv == '') { $alv = $laskurow['alv']; } $lask = 0; $borderlask--; while ($xprow = mysql_fetch_assoc($lisaresult)) { echo "<tr><td class='spec'>" . t_tuotteen_avainsanat($xprow, 'nimitys') . "</td><td></td>"; echo "<td><input type='hidden' name='tuoteno_array[{$xprow['tuoteno']}]' value='{$xprow['tuoteno']}'>{$xprow['tuoteno']}</td>"; echo "<td></td>"; echo "<td><input type='text' name='kpl_array[{$xprow['tuoteno']}]' size='5' maxlength='5'></td>\n <td><input type='text' name='hinta_array[{$xprow['tuoteno']}]' size='5' maxlength='12'></td>"; for ($alepostfix = 1; $alepostfix <= $yhtiorow['oston_alekentat']; $alepostfix++) { echo "<td><input type='text' name='ale_array{$alepostfix}[{$xprow['tuoteno']}]' size='5' maxlength='6'></td>"; } echo "<td>" . alv_popup_oletus('alv', $alv) . "</td>\n <td style='border-right: 1px solid;'></td>"; $lask++; $borderlask--; if ($lask == mysql_num_rows($lisaresult)) { echo "<td class='back'><input type='submit' value='" . t("Lisää") . "'></td>"; echo "</form>"; } echo "</tr>"; }
} elseif ($kohdevarasto == $row["tunnus"]) { echo "<th>{$row['varastonnimi']}</th>"; echo "<input type='hidden' name='kohde[{$row['paikkatunnus']}]' value='{$row['tuoteno']}'>"; if ($edtuoteno != "") { $edkohdetuoteno = $edtuoteno; } if ($edkohdetuoteno == $row["tuoteno"]) { echo "<input type='hidden' name='kohdehaly[{$row['paikkatunnus']}]' value='{$summa}'>"; } else { echo "<input type='hidden' name='kohdehaly[{$row['paikkatunnus']}]' value='{$row['halytysraja']}'>"; $edkohdetuoteno = ""; } $summa = 0; $edtuoteno = ""; } echo "<td>" . t_tuotteen_avainsanat($row, 'nimitys') . "</td>"; echo "<td>{$row['status']}</td>"; echo "<td>{$ryhmanimet[$a]} {$ryhmanimet[$b]} {$ryhmanimet[$c]}</td>"; // tutkaillaan myynti $query = "SELECT\n sum(if (laadittu >= '{$vva1}-{$kka1}-{$ppa1}' and laadittu <= '{$vvl1}-{$kkl1}-{$ppl1}' and var='P', tilkpl,0)) puutekpl1,\n sum(if (laadittu >= '{$vva2}-{$kka2}-{$ppa2}' and laadittu <= '{$vvl2}-{$kkl2}-{$ppl2}' and var='P', tilkpl,0)) puutekpl2,\n sum(if (laadittu >= '{$vva3}-{$kka3}-{$ppa3}' and laadittu <= '{$vvl3}-{$kkl3}-{$ppl3}' and var='P', tilkpl,0)) puutekpl3,\n sum(if (laadittu >= '{$vva4}-{$kka4}-{$ppa4}' and laadittu <= '{$vvl4}-{$kkl4}-{$ppl4}' and var='P', tilkpl,0)) puutekpl4,\n sum(if (laskutettuaika >= '{$vva1}-{$kka1}-{$ppa1}' and laskutettuaika <= '{$vvl1}-{$kkl1}-{$ppl1}' ,kpl,0)) kpl1,\n sum(if (laskutettuaika >= '{$vva2}-{$kka2}-{$ppa2}' and laskutettuaika <= '{$vvl2}-{$kkl2}-{$ppl2}' ,kpl,0)) kpl2,\n sum(if (laskutettuaika >= '{$vva3}-{$kka3}-{$ppa3}' and laskutettuaika <= '{$vvl3}-{$kkl3}-{$ppl3}' ,kpl,0)) kpl3,\n sum(if (laskutettuaika >= '{$vva4}-{$kka4}-{$ppa4}' and laskutettuaika <= '{$vvl4}-{$kkl4}-{$ppl4}' ,kpl,0)) kpl4,\n sum(if (laskutettuaika >= '{$vva1}-{$kka1}-{$ppa1}' and laskutettuaika <= '{$vvl1}-{$kkl1}-{$ppl1}' and\n concat(rpad(upper('{$row['alkuhyllyalue']}') ,5,'0'),lpad(upper('{$row['alkuhyllynro']}') ,5,'0')) <= concat(rpad(upper(hyllyalue) ,5,'0'),lpad(upper(hyllynro) ,5,'0')) and\n concat(rpad(upper('{$row['loppuhyllyalue']}') ,5,'0'),lpad(upper('{$row['loppuhyllynro']}') ,5,'0')) >= concat(rpad(upper(hyllyalue) ,5,'0'),lpad(upper(hyllynro) ,5,'0')), kpl, 0)) varastonkpl1,\n sum(if (laskutettuaika >= '{$vva2}-{$kka2}-{$ppa2}' and laskutettuaika <= '{$vvl2}-{$kkl2}-{$ppl2}' and\n concat(rpad(upper('{$row['alkuhyllyalue']}') ,5,'0'),lpad(upper('{$row['alkuhyllynro']}') ,5,'0')) <= concat(rpad(upper(hyllyalue) ,5,'0'),lpad(upper(hyllynro) ,5,'0')) and\n concat(rpad(upper('{$row['loppuhyllyalue']}') ,5,'0'),lpad(upper('{$row['loppuhyllynro']}') ,5,'0')) >= concat(rpad(upper(hyllyalue) ,5,'0'),lpad(upper(hyllynro) ,5,'0')), kpl, 0)) varastonkpl2,\n sum(if (laskutettuaika >= '{$vva3}-{$kka3}-{$ppa3}' and laskutettuaika <= '{$vvl3}-{$kkl3}-{$ppl3}' and\n concat(rpad(upper('{$row['alkuhyllyalue']}') ,5,'0'),lpad(upper('{$row['alkuhyllynro']}') ,5,'0')) <= concat(rpad(upper(hyllyalue) ,5,'0'),lpad(upper(hyllynro) ,5,'0')) and\n concat(rpad(upper('{$row['loppuhyllyalue']}') ,5,'0'),lpad(upper('{$row['loppuhyllynro']}') ,5,'0')) >= concat(rpad(upper(hyllyalue) ,5,'0'),lpad(upper(hyllynro) ,5,'0')), kpl, 0)) varastonkpl3,\n sum(if (laskutettuaika >= '{$vva4}-{$kka4}-{$ppa4}' and laskutettuaika <= '{$vvl4}-{$kkl4}-{$ppl4}' and\n concat(rpad(upper('{$row['alkuhyllyalue']}') ,5,'0'),lpad(upper('{$row['alkuhyllynro']}') ,5,'0')) <= concat(rpad(upper(hyllyalue) ,5,'0'),lpad(upper(hyllynro) ,5,'0')) and\n concat(rpad(upper('{$row['loppuhyllyalue']}') ,5,'0'),lpad(upper('{$row['loppuhyllynro']}') ,5,'0')) >= concat(rpad(upper(hyllyalue) ,5,'0'),lpad(upper(hyllynro) ,5,'0')), kpl, 0)) varastonkpl4\n FROM tilausrivi use index (yhtio_tyyppi_tuoteno_laskutettuaika)\n WHERE tilausrivi.yhtio = '{$kukarow['yhtio']}'\n and tyyppi = 'L'\n and tuoteno = '{$row['tuoteno']}'\n and ((laskutettuaika >= '{$apvm}' and laskutettuaika <= '{$lpvm}') or laskutettuaika = '0000-00-00')"; $result = pupe_query($query); $summarow = mysql_fetch_array($result); echo "<td align='right'>{$summarow['puutekpl1']}</td>"; // saldo myytävissa kaikki varastot list(, , $saldo) = saldo_myytavissa($row["tuoteno"], "KAIKKI"); echo "<td align='right'>" . sprintf("%.2f", $saldo) . "<br>"; // saldo myytävissa tämä varasto list(, , $saldo) = saldo_myytavissa($row["tuoteno"], "KAIKKI", $row["tunnus"]); echo sprintf("%.2f", $saldo) . "</td>"; echo "<td align='right' class='tooltip' id='{$row['paikkatunnus']}'>{$summarow['kpl1']}<br>{$summarow['varastonkpl1']}</td>"; echo "<td align='right'>{$row['halytysraja']}</td>";
} } if ($debug == 1) { echo "debug3 tee = {$tee} | asiakasid = {$asiakasid} | asiakasno = {$asiakasno} | toimittajaid = {$toimittajaid} | ytunnus = {$ytunnus} | toimittaja = {$toimi}<br>"; } } if ($debug == 1) { echo "debug4 tee = {$tee} | asiakasid = {$asiakasid} | asiakasno = {$asiakasno} | toimittajaid = {$toimittajaid} | ytunnus = {$ytunnus} | toimittaja = {$toimi}<br>"; } if ($tee != '' and $asiakasid != "" and $toimittajaid != "" and $ytunnus != '' and $toimi != '') { $query = "SELECT b.tuoteno, b.nimitys, sum(a.kpl) kpl, round(sum(a.rivihinta*((a.alv/100)+1)),2) summa, round(sum(a.rivihinta),2) summa2\n FROM tilausrivi a,\n tuote b,\n tuotteen_toimittajat d,\n lasku c\n WHERE a.yhtio = '{$kukarow['yhtio']}' and c.tapvm >= '{$vva}-{$kka}-{$ppa}'\n and c.tapvm <= '{$vvl}-{$kkl}-{$ppl}'\n and c.tila = 'U'\n and c.alatila = 'X'\n and a.yhtio = b.yhtio\n and a.yhtio = c.yhtio\n and a.yhtio = d.yhtio\n and c.tunnus = a.uusiotunnus\n and a.tuoteno = b.tuoteno\n and a.tuoteno = d.tuoteno\n and c.liitostunnus = '{$asiakasid}'\n and d.liitostunnus = '{$toimittajaid}'\n GROUP BY 1\n ORDER BY 1"; $result = pupe_query($query); if (mysql_num_rows($result) > 0) { echo "<table>\n <tr>\n <th>" . t("Asiakas") . ":</th>\n <th>{$asiakasno}</th>\n <th>" . t("Toimittaja") . ":</th>\n <th>{$toimi}</th>\n </tr>\n <tr>\n <th>" . t("Tuotenumero") . "</th>\n <th>" . t("Nimitys") . "</th>\n <th>" . t("Määrä") . "</th>\n <th>" . t("Summa veroll") . "</th>\n <th>" . t("Summa vton") . "</th>\n </tr>"; while ($row = mysql_fetch_array($result)) { echo "<tr><td>{$row['tuoteno']}</td><td>" . t_tuotteen_avainsanat($row, 'nimitys') . "</td><td>{$row['kpl']}</td><td>{$row['summa']}</td><td>{$row['summa2']}</td></tr>"; } echo "</table>"; } else { echo "<br>" . t("EI OSUMIA, TARKISTA SYÖTETYT RAJAUKSET") . "!<br>"; } } //Käyttäliittymä echo "<br>"; echo "<table><form method='post'>"; if (!isset($kka)) { $kka = date("m", mktime(0, 0, 0, date("m"), date("d") - 1, date("Y"))); } if (!isset($vva)) { $vva = date("Y", mktime(0, 0, 0, date("m"), date("d") - 1, date("Y"))); }
if (isset($tro) and $tro != $rrow['tro']) { $excelrivi++; $worksheet->writeString($excelrivi, 0, $rrow["tro"], $format_bold); $excelrivi++; } $worksheet->writeString($excelrivi, $excelsarake, $rrow["tuoteno"]); $excelsarake++; $worksheet->writeString($excelrivi, $excelsarake, $rrow["eankoodi"]); $excelsarake++; if (!$tuoteryhmaosasto) { $worksheet->writeString($excelrivi, $excelsarake, $rrow["osasto"]); $excelsarake++; $worksheet->writeString($excelrivi, $excelsarake, $rrow["try"]); $excelsarake++; } $worksheet->writeString($excelrivi, $excelsarake, t_tuotteen_avainsanat($rrow, 'nimitys', $hinkieli)); $excelsarake++; $worksheet->writeString($excelrivi, $excelsarake, $rrow["myynti_era"]); $excelsarake++; $worksheet->writeString($excelrivi, $excelsarake, t_avainsana("Y", $hinkieli, "and avainsana.selite='{$rrow['yksikko']}'", "", "", "selite")); $excelsarake++; if (!$tuoteryhmaosasto) { $worksheet->writeString($excelrivi, $excelsarake, $rrow["status"]); $excelsarake++; $worksheet->writeString($excelrivi, $excelsarake, $rrow["aleryhma"]); $excelsarake++; $worksheet->writeNumber($excelrivi, $excelsarake, $veroton); $excelsarake++; $worksheet->writeNumber($excelrivi, $excelsarake, $verollinen); $excelsarake++; } else {
echo "<font class='error'>" . t("VIRHE: Tarkista syötetyt tiedot") . "!</font><br><br>"; $tee = ''; } if ($tee == 'INVENTOI') { echo "<form name='inve' method='post' autocomplete='off'>"; echo "<input type='hidden' name='tee' value='VALMIS'>"; echo "<input type='hidden' name='tuoteno' value='{$tuoteno}'>"; echo "<table>"; echo "<tr>"; echo "<th>" . t("Tuoteno") . "</th><th>" . t("Nimitys") . "</th><th>" . t("Paikka") . "/" . t("Snro") . "</th><th>" . t("Varastonarvo") . "</th><th>" . t("Uusi varastonarvo") . "</th>"; echo "</tr>"; while ($tuoterow = mysql_fetch_assoc($saldoresult)) { $query = "SELECT if(tilausrivi_osto.nimitys!='', tilausrivi_osto.nimitys, '{$tuoterow['nimitys']}') nimitys, sarjanumeroseuranta.sarjanumero, sarjanumeroseuranta.tunnus, round(tilausrivi_osto.rivihinta/tilausrivi_osto.kpl, 2) ostohinta, era_kpl\n FROM sarjanumeroseuranta\n LEFT JOIN tilausrivi tilausrivi_myynti use index (PRIMARY) ON tilausrivi_myynti.yhtio=sarjanumeroseuranta.yhtio and tilausrivi_myynti.tunnus=sarjanumeroseuranta.myyntirivitunnus\n LEFT JOIN tilausrivi tilausrivi_osto use index (PRIMARY) ON tilausrivi_osto.yhtio=sarjanumeroseuranta.yhtio and tilausrivi_osto.tunnus=sarjanumeroseuranta.ostorivitunnus\n WHERE sarjanumeroseuranta.yhtio = '{$kukarow['yhtio']}'\n and sarjanumeroseuranta.tuoteno = '{$tuoterow['tuoteno']}'\n and sarjanumeroseuranta.myyntirivitunnus != -1\n and ( (sarjanumeroseuranta.hyllyalue = '{$tuoterow['hyllyalue']}'\n and sarjanumeroseuranta.hyllynro = '{$tuoterow['hyllynro']}'\n and sarjanumeroseuranta.hyllyvali = '{$tuoterow['hyllyvali']}'\n and sarjanumeroseuranta.hyllytaso = '{$tuoterow['hyllytaso']}')\n or ('{$tuoterow['oletus']}' != '' and\n ( SELECT tunnus\n FROM tuotepaikat tt\n WHERE sarjanumeroseuranta.yhtio = tt.yhtio and sarjanumeroseuranta.tuoteno = tt.tuoteno and sarjanumeroseuranta.hyllyalue = tt.hyllyalue\n and sarjanumeroseuranta.hyllynro = tt.hyllynro and sarjanumeroseuranta.hyllyvali = tt.hyllyvali and sarjanumeroseuranta.hyllytaso = tt.hyllytaso) is null))\n and ((tilausrivi_myynti.tunnus is null or tilausrivi_myynti.laskutettuaika = '0000-00-00') and tilausrivi_osto.laskutettuaika != '0000-00-00' and abs(tilausrivi_osto.kpl)=1)\n ORDER BY sarjanumero"; $sarjares = pupe_query($query); echo "<tr>"; echo "<td valign='top' class='spec'>{$tuoterow['tuoteno']}</td><td valign='top' class='spec' nowrap>" . t_tuotteen_avainsanat($tuoterow, 'nimitys') . "</td><td class='spec' valign='top'>{$tuoterow['hyllyalue']} {$tuoterow['hyllynro']} {$tuoterow['hyllyvali']} {$tuoterow['hyllytaso']}</td><td></td><td></td></tr>"; if (mysql_num_rows($sarjares) > 0) { $sarjalaskk = 1; while ($sarjarow = mysql_fetch_assoc($sarjares)) { echo "<tr>\n <td>{$sarjalaskk}.</td><td>{$sarjarow['nimitys']}</td><td>{$sarjarow['sarjanumero']}</td><td align='right'>{$sarjarow['ostohinta']}</td>\n <td>\n <input type='hidden' name='sarjanumero_edarvo[{$tuoterow['tptunnus']}][{$sarjarow['tunnus']}]' value='{$sarjarow['ostohinta']}'>\n <input type='text' size='15' name='sarjanumero_uusiarvo[{$tuoterow['tptunnus']}][{$sarjarow['tunnus']}]'>\n </td></tr>"; $sarjalaskk++; } } echo "</td>"; echo "<input type='hidden' name='tuote[{$tuoterow['tptunnus']}]' value='{$tuoterow['tuoteno']}'>"; echo "</tr>"; } echo "</table>"; echo "<br><font class='message'>" . t("Syötä selite:") . "</font><br>"; echo "<input type='text' size='50' name='lisaselite' value='{$lisaselite}'><br><br>"; echo "<input type='submit' name='valmis' value='" . t("Muuta varastonarvoa") . "'>";
} if ($nollat != '') { $nollatlisa = " 1 "; } else { $nollatlisa = " tuotepaikat.saldo "; } //TODO ei sortaa varastopaikkoja oikein $query = "SELECT tuotepaikat.tuoteno,\n sum(if(tuotepaikat.oletus='X',tuotepaikat.saldo,0)) oletuspaikalla,\n sum(if(tuotepaikat.oletus='',{$nollatlisa},0)) muillapaikoilla,\n sum(if(tuotepaikat.oletus='X',1,0)) oletuspaikkoja,\n GROUP_CONCAT(if(tuotepaikat.oletus='X', concat_ws(' ',tuotepaikat.hyllyalue, tuotepaikat.hyllynro, tuotepaikat.hyllyvali, tuotepaikat.hyllytaso), '') SEPARATOR '') paikka\n FROM tuotepaikat\n LEFT JOIN varastopaikat ON (varastopaikat.yhtio = tuotepaikat.yhtio\n AND varastopaikat.tunnus = tuotepaikat.varasto)\n WHERE tuotepaikat.yhtio='{$kukarow['yhtio']}'\n {$varastot}\n GROUP BY tuotepaikat.tuoteno\n HAVING oletuspaikalla <= 0 and muillapaikoilla > 0 and oletuspaikkoja > 0\n ORDER BY paikka, tuoteno"; $result = pupe_query($query); echo " <table><tr><th>Tuoteno</th><th>Nimitys</th><th>Toim_tuoteno</th><th>Varastopaikka</th><th>Oletus</th><th>Saldo</th></tr>"; while ($row = mysql_fetch_array($result)) { //TODO ei sorttaa varastopaikkoja oikein $query = "SELECT tuotepaikat.tuoteno,\n concat_ws(' ',tuotepaikat.hyllyalue, tuotepaikat.hyllynro, tuotepaikat.hyllyvali, tuotepaikat.hyllytaso) tuotepaikka,\n tuotepaikat.saldo, tuotepaikat.oletus,\n tuote.nimitys,\n (SELECT tuoteno FROM tuotteen_toimittajat WHERE tuotteen_toimittajat.yhtio=tuote.yhtio and tuotteen_toimittajat.tuoteno=tuote.tuoteno LIMIT 1) toim_tuoteno\n FROM tuotepaikat\n JOIN tuote ON tuote.tuoteno=tuotepaikat.tuoteno and tuote.yhtio=tuotepaikat.yhtio\n LEFT JOIN varastopaikat ON (varastopaikat.yhtio = tuotepaikat.yhtio\n AND varastopaikat.tunnus = tuotepaikat.varasto)\n WHERE tuotepaikat.yhtio='{$kukarow['yhtio']}'\n and tuotepaikat.tuoteno='{$row['tuoteno']}'\n {$varastot}\n ORDER BY oletus desc, tuotepaikat.hyllyalue, tuotepaikat.hyllynro, tuotepaikat.hyllyvali, tuotepaikat.hyllytaso, tuoteno"; $aresult = pupe_query($query); while ($arow = mysql_fetch_array($aresult)) { echo "<tr><td>{$arow['tuoteno']}</td><td>" . t_tuotteen_avainsanat($arow, 'nimitys') . "</td><td>{$arow['toim_tuoteno']}</td><td>{$arow['tuotepaikka']}</td><td>{$arow['oletus']}</td><td>{$arow['saldo']}</td></tr>"; } echo "<tr><td colspan='4' class='back'></td></tr>"; } echo "</table>"; } //Käyttöliittymä echo "<br>"; echo "<form method='post'>"; echo "<input type='hidden' name='tee' value='kaikki'>"; echo "<table>"; $query = "SELECT *\n FROM varastopaikat\n WHERE yhtio = '{$kukarow['yhtio']}' AND tyyppi != 'P'\n ORDER BY tyyppi, nimitys"; $vtresult = pupe_query($query); while ($vrow = mysql_fetch_array($vtresult)) { $sel = ""; if ($varastosta[$vrow["tunnus"]] != '') {
} $query = "SELECT sum(era_kpl) kpl\n FROM sarjanumeroseuranta\n WHERE yhtio = '{$kukarow['yhtio']}'\n AND tuoteno = '{$prow['tuoteno']}'\n AND {$tunken} = '{$prow['tunnus']}'"; $sarjares = pupe_query($query); $sarjarow = mysql_fetch_assoc($sarjares); if ($toim == "KORJAA" and $prow["tyyppi"] == 'V') { $era_maara = $prow["korjataan"]; } else { $era_maara = $prow["valmistetaan"] + $prow["valmistettu"] + $prow["valmistettu_valmiiksi"]; } if ($sarjarow["kpl"] == abs($era_maara)) { $sarjavalinta = " (<a href='sarjanumeroseuranta.php?tuoteno=" . urlencode($prow["tuoteno"]) . "&{$tunken}={$prow['tunnus']}&otunnus={$row['Tilaus']}&muut_siirrettavat={$valmistettavat}&from=valmistus&aputoim={$toim}' class='green'>" . t("E:nro ok") . "</font></a>)"; } else { $sarjavalinta = " (<a href='sarjanumeroseuranta.php?tuoteno=" . urlencode($prow["tuoteno"]) . "&{$tunken}={$prow['tunnus']}&otunnus={$row['Tilaus']}&muut_siirrettavat={$valmistettavat}&from=valmistus&aputoim={$toim}'>" . t("E:nro") . "</a>)"; } } echo "<td class='{$class}' valign='top'>" . t_tuotteen_avainsanat($prow, 'nimitys') . "</td>"; echo "<td class='{$class}' valign='top'><a href='{$palvelin2}tuote.php?tee=Z&tuoteno=" . urlencode($prow["tuoteno"]) . "'>{$prow['tuoteno']}</a></td>"; echo "<td class='{$class}' valign='top' align='right'>{$sarjavalinta} <span style='float: right; width: 80px;'>{$prow['tilattu']}" . strtolower($prow["yksikko"]) . "</span></td>"; if ($toim == "KORJAA" and $prow["tyyppi"] == 'V') { echo "<td valign='top' class='{$class}' align='left'>\n <input type='hidden' name='edtilkpllat[{$prow['tunnus']}]' value='{$prow['korjataan']}'>\n <input type='text' size='8' name='tilkpllat[{$prow['tunnus']}]' value='{$prow['korjataan']}'>"; echo "</td>"; echo "<td valign='top' class='{$class}' align='left'>{$prow['valmistettu_valmiiksi']}</td>"; } elseif ($toim == "KORJAA" and $prow["tyyppi"] == 'W') { echo "<td valign='top' class='{$class}' align='left'>\n <input type='hidden' name='edtilkpllat[{$prow['tunnus']}]' value='{$prow['valmistetaan']}'>\n <input type='text' size='8' name='tilkpllat[{$prow['tunnus']}]' value='{$prow['valmistetaan']}'></td>"; echo "<td valign='top' class='{$class}'></td>"; } elseif ($prow["tyyppi"] == 'L' or $prow["tyyppi"] == 'D' or $prow["tyyppi"] == 'O' or $prow["perheid"] == 0) { echo "<td valign='top' class='{$class}' align='left'></td>"; echo "<td valign='top' class='{$class}' align='left'>{$prow['valmistettu']}</td>"; } elseif ($prow["toimitettuaika"] == "0000-00-00 00:00:00") { echo "<td valign='top' class='{$class}' align='left'>\n <input type='hidden' name='edtilkpllat[{$prow['tunnus']}]' value='{$prow['valmistetaan']}'>\n <input type='text' size='8' name='tilkpllat[{$prow['tunnus']}]' value='{$prow['valmistetaan']}'>"; if ($prow["tyyppi"] == "W" or $prow["tyyppi"] == "M") {
} if ($sarake == '1kk' or $sarake == '3kk' or $sarake == '6kk' or $sarake == '12kk') { ${"value_" . $sarake} = $value; $bg_color = $value >= 0 ? 'yellow' : 'yellow_text_red'; } } elseif ($sarake == 'kosal') { $column_location['kosal']['rivi'] = $excelrivi; $column_location['kosal']['sarake'] = $excelsarake; } elseif ($sarake == 'ke') { $value = round(($value_1kk + $value_3kk + $value_6kk + $value_12kk) / 4); $bg_color = $value < 0 ? 'text_red' : ''; } elseif ($sarake == 'komy') { $column_location['komy']['rivi'] = $excelrivi; $column_location['komy']['sarake'] = $excelsarake; } elseif ($sarake == 'nimitys') { $value = t_tuotteen_avainsanat($row, 'nimitys'); } elseif ($sarake == 'epa25pvm' or $sarake == 'epa50pvm' or $sarake == 'epa75pvm' or $sarake == 'epa100pvm' or $sarake == 'luontiaika') { $value = tv1dateconv($row[$sarake_keyt[$sarake]]); } elseif ($sarake == 'pu1' or $sarake == 'pu3' or $sarake == 'pu6' or $sarake == 'pu12') { if ($sarake == 'pu1') { $bg_color = 'brown'; } $value = $puuterow[$sarake_keyt[$sarake]]; } elseif ($sarake == 'my1' or $sarake == 'my3' or $sarake == 'my6' or $sarake == 'my12' or $sarake == 'ed1' or $sarake == 'ed3' or $sarake == 'ed6' or $sarake == 'ed12' or $sarake == 'enn1' or $sarake == 'enn3' or $sarake == 'enn6' or $sarake == 'enn12' or $sarake == 'kate1' or $sarake == 'kate3' or $sarake == 'kate6' or $sarake == 'kate12' or $sarake == 'e_kate1' or $sarake == 'e_kate3' or $sarake == 'e_kate6' or $sarake == 'e_kate12' or $sarake == 'ykpl1' or $sarake == 'ykpl3' or $sarake == 'ykpl6' or $sarake == 'ykpl12') { $value = $laskurow[$sarake_keyt[$sarake]]; if ($sarake == 'my3' or $sarake == 'my12') { $bg_color = $value >= 0 ? $bg_color = 'yellow' : ($bg_color = 'yellow_text_red'); } } elseif ($sarake == 'kul1' or $sarake == 'kul3' or $sarake == 'kul6' or $sarake == 'kul12' or $sarake == 'edkul1' or $sarake == 'edkul3' or $sarake == 'edkul6' or $sarake == 'edkul12') { $value = $kulutrow[$sarake_keyt[$sarake]]; } elseif ($sarake == 'Määrä') {
$toimlisa = ""; } echo "<td valign='top' class='{$vari}' {$classleft} id='tno'>{$row['tuoteno']} {$toimlisa}</td>"; echo "<td valign='top' class='{$vari}' {$classmidl}><a id='P3_{$row['tuoteno']}' href='javascript:sndReq(\"T_{$row['tuoteno']}\", \"verkkokauppa.php?tee=tuotteen_lisatiedot&tuoteno={$row['tuoteno']}\", \"P3_{$row['tuoteno']}\")'>" . t_tuotteen_avainsanat($row, 'nimitys') . "</a>"; } elseif ($kukarow["extranet"] != "" or $tuotekyslinkki == "") { echo "<td valign='top' class='{$vari}' {$classleft}>{$row['tuoteno']} {$linkkilisa} "; } else { echo "<td valign='top' class='{$vari}' {$classleft}><a href='../{$tuotekyslinkki}?tuoteno=" . urlencode($row["tuoteno"]) . "&tee=Z&lopetus={$PHP_SELF}////submit_button=1//toim_kutsu={$toim_kutsu}//sort={$edsort}//ojarj={$ojarj}" . str_replace("&", "//", $ulisa) . "'>{$row['tuoteno']}</a>{$linkkilisa} "; } if ($lisatiedot != "" and $verkkokauppa == "") { echo "<br>{$row['toim_tuoteno']}"; } echo "</td>"; if ($verkkokauppa == "") { echo "<td valign='top' class='{$vari}' {$classmidl}>"; echo t_tuotteen_avainsanat($row, 'nimitys'); $parametri_variaatio = hae_parametri_variaatio($row); piirra_nayta_variaatiot_nappula($parametri_variaatio); echo "</td>"; } if ($verkkokauppa == "") { echo "<td valign='top' class='{$vari}' {$classmidl}>{$row['osasto']}<br>{$row['try']}</td>"; } piirra_hinta($row, $oleasrow, $valuurow, $vari, $classmidl, $hinta_rajaus, $poistetut, $lisatiedot); if ($lisatiedot != "" and $kukarow["extranet"] == "") { echo "<td valign='top' class='{$vari}' {$classmidl}>{$row['aleryhma']}<br>{$row['status']}</td>"; } hae_ja_piirra_saldo($row, $yhtiot, $oleasrow); piirra_ostoskoriin_lisays($row); echo "</tr>"; if ($verkkokauppa != "") {
$linkki = ""; $query = "SELECT fakta2\n FROM tuoteperhe\n WHERE yhtio = '{$kukarow['yhtio']}'\n and tyyppi = 'R'\n and isatuoteno = '{$prow['tuoteno']}'\n and trim(fakta2) != ''\n ORDER BY LENGTH(fakta2) desc\n LIMIT 1"; $faktares = pupe_query($query); if (mysql_num_rows($faktares) > 0) { $faktarow = mysql_fetch_array($faktares); $id = uniqid(); echo "<div id='div_{$id}' class='popup' style='width: 400px'>\n <font class='head'>Tuotteen yhdistettävyys</font><br>\n {$faktarow['fakta2']}<br></div>"; $linkki = "<div style='text-align: right; float:right;' class='tooltip' id='{$id}'> <img src='../pics/lullacons/info.png' height='13'></div>"; } $kommentti = ""; if ($prow["kommentti"] != "") { $kommentti = "<br><font class='info'>{$prow['kommentti']}</font>"; } echo "<tr>"; echo "<td>{$prow['otunnus']}</td>"; echo "<td align='left'>" . t_tuotteen_avainsanat($prow, 'nimitys') . "{$kommentti}</td>"; echo "<td><a href='../tuote.php?tee=Z&tuoteno=" . urlencode($prow[$i]) . "'>{$prow['tuoteno']}</a>{$linkki}</td>"; echo "<td align='right'>{$prow['tilattu']}</td>"; echo "<td align='right'>{$prow['kerayspvm']}</td>"; echo "<td align='right'>{$prow['toimaika']}</td>"; echo "<td align='center'><input type='checkbox' name='valmistettavat[]' value='{$prow['tunnus']}' checked></td>"; echo "</tr>"; } echo "</table><br><br>"; $query = "SELECT *\n FROM lasku\n WHERE yhtio = '{$kukarow['yhtio']}'\n and tila = 'V'\n and tunnus = '{$tilaukseen}'"; $result = pupe_query($query); $laskurow = mysql_fetch_array($result); echo "\n <table>\n <tr>\n <th>" . t("Valmistus") . ":</th>\n <td>{$laskurow['nimi']}</td>\n </tr>\n <tr>\n <th>" . t("Viite") . ":</th>\n <td><input type='text' size='53' name='viesti' value='{$laskurow['viesti']}'></td>\n </tr>\n <tr>\n <th>" . t("Kommentit") . ":</th>\n <td><textarea name='comments' rows='2' cols='60'>{$laskurow['comments']}</textarea></td>\n </tr>\n </table>\n <br>"; $query = "SELECT tunnus, viesti\n FROM lasku\n WHERE yhtio = '{$kukarow['yhtio']}' and tila = 'V' and alatila IN ('', 'J') and ytunnus = 'Valmistusajo'"; $result = pupe_query($query); echo "<table><tr><th>" . t("Yhdistä valitut valmistukseen") . ":</th>\n <td><input type='hidden' id='ohitus' name='ohitus' value=''><select name='tilaukseen' onchange = \"document.getElementById('ohitus').value='OHITA'; submit();\"><option value = ''>" . t("Tee uusi valmistusajo") . "</option>'";
$headerivi .= t("abc try") . "\t"; $tuoterivi .= "\"{$abcnimi3}\"\t"; $headerivi .= t("luontiaika") . "\t"; $tuoterivi .= "\"{$row['luontiaika']}\"\t"; $headerivi .= t("tuotteen hälytysraja") . "\t"; $tuoterivi .= str_replace(".", ",", $row['halytysraja']) . "\t"; $headerivi .= t("ostoerä") . "\t"; $tuoterivi .= "\"{$toimirow['osto_era']}\"\t"; $headerivi .= t("myyntierä") . "\t"; $tuoterivi .= str_replace(".", ",", $row['myynti_era']) . "\t"; $headerivi .= t("toimittaja") . "\t"; $tuoterivi .= "\"{$toimirow['toimittaja']}\"\t"; $headerivi .= t("toim tuoteno") . "\t"; $tuoterivi .= "\"{$toimirow['toim_tuoteno']}\"\t"; $headerivi .= t("nimitys") . "\t"; $tuoterivi .= "\"" . t_tuotteen_avainsanat($row, 'nimitys') . "\"\t"; $headerivi .= t("toim nimitys") . "\t"; $tuoterivi .= "\"{$toimirow['toim_nimitys']}\"\t"; $headerivi .= t("ostohinta") . "\t"; $tuoterivi .= str_replace(".", ",", $toimirow['ostohinta']) . "\t"; $headerivi .= t("myyntihinta") . "\t"; $tuoterivi .= str_replace(".", ",", $row['myyntihinta']) . "\t"; $headerivi .= t("epäkurantti25%") . "\t"; $tuoterivi .= "{$row['epakurantti25pvm']}\t"; $headerivi .= t("epäkurantti50%") . "\t"; $tuoterivi .= "{$row['epakurantti50pvm']}\t"; $headerivi .= t("epäkurantti75%") . "\t"; $tuoterivi .= "{$row['epakurantti75pvm']}\t"; $headerivi .= t("epäkurantti100%") . "\t"; $tuoterivi .= "{$row['epakurantti100pvm']}\t"; $headerivi .= t("tuotekerroin") . "\t";
$tilrow["rivihinta_verollinen"] = $perherow["rivihinta_verollinen"]; $tilrow["rivihinta_valuutassa"] = $perherow["rivihinta_valuutassa"]; // Nollataan alet, koska hinta lasketaan rivihinnasta jossa alet on jo huomioitu for ($alepostfix = 1; $alepostfix <= $yhtiorow['myynnin_alekentat']; $alepostfix++) { $tilrow["ale{$alepostfix}"] = ""; } $tilrow["erikoisale"] = ""; } else { // lapsia ei lisätä $lisataa = 1; } } } if (strtolower($laskun_kieli) != strtolower($yhtiorow['kieli'])) { //Käännetään nimitys $tilrow['nimitys'] = t_tuotteen_avainsanat($tilrow, 'nimitys', $laskun_kieli); } // Rivin toimitusaika if ($yhtiorow["tilausrivien_toimitettuaika"] == 'K' and $tilrow["keratty"] == "saldoton") { $tilrow["toimitettuaika"] = $tilrow["toimaika"]; } elseif ($yhtiorow["tilausrivien_toimitettuaika"] == 'X') { $tilrow["toimitettuaika"] = $tilrow["toimaika"]; } else { $tilrow["toimitettuaika"] = $tilrow["toimitettuaika"]; } if ($tilrow["rivigroup_maara"] > 1 and !$rivigrouppaus) { $rivigrouppaus = TRUE; } // Otetaan yhteensäkommentti pois jos summataan rivejä if ($rivigrouppaus) { $tilrow["kommentti"] = preg_replace("/ " . t("yhteensä", $kieli) . ": [0-9\\.]* [A-Z]{3}\\./", "", $tilrow["kommentti"]);
} else { if ($tallennusmuoto_check) { $worksheet->writeString($excelrivi, $excelsarake, $row["tuoteno"]); } else { fwrite($fh, pupesoft_csvstring($row["tuoteno"]) . "\t"); } } $tuotesarake = $excelsarake; if ($tallennusmuoto_check) { $excelsarake++; $worksheet->writeString($excelrivi, $excelsarake, t_tuotteen_avainsanat($row, 'nimitys')); $excelsarake++; $worksheet->writeString($excelrivi, $excelsarake, $row["yksikko"]); $excelsarake++; } else { fwrite($fh, pupesoft_csvstring(t_tuotteen_avainsanat($row, 'nimitys')) . "\t"); fwrite($fh, pupesoft_csvstring($row["yksikko"]) . "\t"); } if ($variaatiosummaus != "") { foreach ($kaikkikoot as $kokonimi => $koko) { if (isset($koot[$kokonimi])) { if ($tallennusmuoto_check) { $worksheet->writeString($excelrivi, $excelsarake, $koot[$kokonimi]); } else { fwrite($fh, pupesoft_csvstring($koot[$kokonimi]) . "\t"); } } $excelsarake++; } } if ($tallennusmuoto_check) {
$query = "SELECT a.tuoteno, a.nimitys, a.lyhytkuvaus, a.tuotemerkki, a.myyntihinta hinta_veroll, a.alv,\n if(b.alennus is null,'0,00', alennus) 'alepros', a.aleryhma\n FROM tuote a\n JOIN asiakas c on a.yhtio = c.yhtio and c.ytunnus = '{$ytunnus}'\n LEFT JOIN asiakasalennus b on a.yhtio = b.yhtio and a.aleryhma = b.ryhma and b.ytunnus = c.ytunnus\n WHERE a.yhtio = '{$kukarow['yhtio']}'\n and a.status in ('','a')\n and a.hinnastoon != 'E'\n and a.tuotetyyppi NOT IN ('A', 'B')\n {$lisa}\n ORDER BY 1"; $result = pupe_query($query); if (mysql_num_rows($result) == 0) { $rivi .= t("Valitettavasti ei löytynyt yhtään tuotetta.") . "\t"; } $rivi .= t("Tuotenumero") . "\t"; $rivi .= t("Nimitys") . "\t"; $rivi .= t("Kuvaus") . "\t"; $rivi .= t("tuotemerkki") . "\t"; $rivi .= t("Hinta_veroll") . "\t"; $rivi .= t("alv") . "\t"; $rivi .= t("Aleprosentti") . "\t"; $rivi .= t("Aleryhmä") . "\t\n"; while ($tuoterow = mysql_fetch_array($result)) { $rivi .= "{$tuoterow['tuoteno']}\t"; $rivi .= t_tuotteen_avainsanat($tuoterow, 'nimitys') . "\t"; $rivi .= "{$tuoterow['lyhytkuvaus']}\t"; $rivi .= "{$tuoterow['tuotemerkki']}\t"; $rivi .= str_replace(".", ",", $tuoterow['hinta_veroll']) . "\t"; $rivi .= str_replace(".", ",", $tuoterow['alv']) . "\t"; $rivi .= str_replace(".", ",", $tuoterow['alepros']) . "\t"; $rivi .= "{$tuoterow['aleryhma']}\t\n"; fwrite($fh, $rivi); $rivi = ''; } fclose($fh); //pakataan faili $zipname = t("hinnasto") . "-{$kukarow['yhtio']}-{$ytunnus}-" . date('Ymd_His') . ".zip"; $cmd = "cd /tmp/;/usr/bin/zip " . "{$zipname} {$filenimi}"; $palautus = exec($cmd); system("cd /tmp/;rm -f " . $filenimi);
$rivit1 = array(); $rivit2 = array(); while ($lrow = mysql_fetch_array($result)) { //haetaan edellinen kulutus- tai myyntitapahtuma $query = "SELECT *\n FROM tapahtuma USE INDEX (yhtio_tuote_laadittu)\n WHERE yhtio = '{$kukarow['yhtio']}'\n and tuoteno = '{$lrow['tuoteno']}'\n and laadittu < '{$lrow['laadittu']}'\n and laji in ('laskutus', 'kulutus')\n ORDER BY laadittu desc\n LIMIT 1"; $eresult = pupe_query($query); if (mysql_num_rows($eresult) > 0) { $erow = mysql_fetch_array($eresult); if ($erow["hinta"] != 0) { $eropros = 100 * ($lrow["hinta"] - $erow["hinta"]) / $erow["hinta"]; } else { $eropros = 100; } if (abs($eropros) <= $pros1 and abs($eropros) >= $pros2 or $lrow["hinta"] < 0) { $rivit1[] = abs($eropros); $rivit2[] = "<tr><td><a href='../tuote.php?tee=Z&tuoteno=" . urlencode($lrow["tuoteno"]) . "'>{$lrow['tuoteno']}</a></td><td>" . t_tuotteen_avainsanat($lrow, 'nimitys') . "</td><td>{$lrow['hinta']}</td><td>{$erow['hinta']}</td><td>" . sprintf('%.1f', $eropros) . "</td><td>" . substr($lrow["laadittu"], 0, 10) . "</td><td>" . substr($erow["laadittu"], 0, 10) . "</td><td>{$lrow['laji']} - {$erow['laji']}</td></tr>"; } } } array_multisort($rivit1, SORT_DESC, $rivit2); foreach ($rivit2 as $rivi) { echo $rivi; } echo "</table><br><br>"; } //Käyttöliittymä echo "<table><form name='piiri' method='post'>"; echo "<input type='hidden' name='tee' value='kaikki'>"; if (!isset($kka)) { $kka = date("m", mktime(0, 0, 0, date("m") - 1, date("d"), date("Y"))); }
$prn .= sprintf('%-21.21s', $tuoterow["toim_tuoteno"]); $excelrivit[$xr]['toim_tuoteno'] = $tuoterow["toim_tuoteno"]; if ($yhtiorow['laaja_inventointilista'] != "") { $prn .= sprintf('%-35.33s', t_tuotteen_avainsanat($tuoterow, 'nimitys')); } else { $prn .= sprintf('%-40.38s', t_tuotteen_avainsanat($tuoterow, 'nimitys')); } $excelrivit[$xr]['nimitys'] = t_tuotteen_avainsanat($tuoterow, 'nimitys'); } else { if ($yhtiorow['laaja_inventointilista'] != "") { $prn .= sprintf('%-55.53s', t_tuotteen_avainsanat($tuoterow, 'nimitys')); } else { // Jos toim_tuoteno ei nnäytetä, tämä voi olla pidempi $prn .= sprintf('%-60.58s', t_tuotteen_avainsanat($tuoterow, 'nimitys')); } $excelrivit[$xr]['nimitys'] = t_tuotteen_avainsanat($tuoterow, 'nimitys'); } if ($naytasaldo == 'H') { if ($rivipaikkahyllyssa != $rivivarastohyllyssa) { $prn .= sprintf('%-10.10s', $rivipaikkahyllyssa . "(" . $rivivarastohyllyssa . ")"); $excelrivit[$xr]['hyllyssä'] = $rivipaikkahyllyssa . "(" . $rivivarastohyllyssa . ")"; } else { $prn .= sprintf('%-10.10s', $rivipaikkahyllyssa); $excelrivit[$xr]['hyllyssä'] = $rivipaikkahyllyssa; } } elseif ($naytasaldo == 'S') { if ($rivipaikkasaldo != $rivivarastosaldo) { $prn .= sprintf('%-10.10s', $rivipaikkasaldo . "(" . $rivivarastosaldo . ")"); $excelrivit[$xr]['saldo'] = $rivipaikkasaldo . "(" . $rivivarastosaldo . ")"; } else { $prn .= sprintf('%-10.10s', $rivipaikkasaldo);
echo "<font class='info'>" . t("Toimitettu") . ": " . tv1dateconv($row["toimitettuaika"], "P") . "</font>"; } if ($muokkauslukko_rivi == "" and $kukarow["extranet"] == "" and ($toim == "TARJOUS" or $toim == "EXTTARJOUS" or $laskurow["tilaustyyppi"] == "T" or $toim == "SIIRTOTYOMAARAYS") and $riviok == 0) { //Tutkitaan tuotteiden lisävarusteita $query = "SELECT *\n FROM tuoteperhe\n JOIN tuote ON tuote.yhtio=tuoteperhe.yhtio and tuote.tuoteno=tuoteperhe.tuoteno\n WHERE tuoteperhe.yhtio = '{$kukarow['yhtio']}'\n and tuoteperhe.isatuoteno = '{$row['tuoteno']}'\n and tuoteperhe.tyyppi = 'L'\n order by tuoteperhe.tuoteno"; $lisaresult = pupe_query($query); if (mysql_num_rows($lisaresult) > 0 and ($row["perheid2"] == 0 and ($row["var"] == "T" or $row["var"] == "U")) or $row["perheid2"] == -1) { echo "</tr>"; echo " <form method='post' action='{$palvelin2}{$tilauskaslisa}tilaus_myynti.php' autocomplete='off' name='lisavarusteet'>\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}'>\n <input type='hidden' name='orig_tila' value = '{$orig_tila}'>\n <input type='hidden' name='orig_alatila' value = '{$orig_alatila}'>\n <input type='hidden' name='lisavarusteita' value = 'ON'>\n <input type='hidden' name='perheid2' value = '{$row['tunnus']}'>"; $lislask = 0; while ($prow = mysql_fetch_assoc($lisaresult)) { echo "<tr>{$jarjlisa}"; if ($toim == "TARJOUS" or $toim == "EXTTARJOUS" or $laskurow["tilaustyyppi"] == "T") { echo "<td valign='top'> </td>"; } echo "<td valign='top'>" . t_tuotteen_avainsanat($prow, 'nimitys') . "</td>"; echo "<input type='hidden' name='tuoteno_array[{$prow['tuoteno']}]' value='{$prow['tuoteno']}'>"; if ($row["var"] == "T") { echo "<input type='hidden' name='paikka_array[{$prow['tuoteno']}]' value='¡¡¡{$row['toimittajan_tunnus']}'>"; } if ($row["var"] == "U") { echo "<input type='hidden' name='paikka_array[{$prow['tuoteno']}]' value='!!!{$row['toimittajan_tunnus']}'>"; } echo "<td valign='top'> </td>"; echo "<td valign='top'>{$prow['tuoteno']}</td>"; echo "<td valign='top' align='right'><input type='text' name='kpl_array[{$prow['tuoteno']}]' size='2' maxlength='8'></td>"; echo " <td valign='top'><input type='text' name='var_array[{$prow['tuoteno']}]' size='2' maxlength='1'></td>\n <td valign='top'><input type='text' name='netto_array[{$prow['tuoteno']}]' size='2' maxlength='1'></td>\n <td valign='top'><input type='text' name='hinta_array[{$prow['tuoteno']}]' size='5' maxlength='12'></td>"; for ($alepostfix = 1; $alepostfix <= $yhtiorow['myynnin_alekentat']; $alepostfix++) { echo "<td valign='top'><input type='text' name='ale_array{$alepostfix}[{$prow['tuoteno']}]' size='5' maxlength='6'></td>"; } $lislask++;
} else { echo "<td></td><td></td><td></td><td>" . t("TUOTENUMERO EI LÖYDY") . "!!!</td><td></td>"; } echo "</tr>"; } elseif (mysql_num_rows($result2) > 1) { if ($rivipaikka[$id] == '') { $korj++; if ($korj == 1) { echo "<tr><th>" . t("Tuoteno") . "</th><th>" . t("Nimitys") . "</th><th>" . t("Hälytysraja") . "</th><th>" . t("Tilausmäärä") . "</th><th>" . t("Huomautus") . "</th><th>" . t("Paikka") . "</th></tr>"; } echo "<tr><td>{$id} {$tuoteno[$id]}</td>"; $query = "SELECT tuoteno, nimitys\n FROM tuote\n WHERE yhtio = '{$kukarow['yhtio']}'\n and tuoteno = '{$tuoteno[$id]}'\n LIMIT 1"; $nimresult = pupe_query($query); if (mysql_num_rows($nimresult) == 1) { $nimrow = mysql_fetch_assoc($nimresult); echo "<td>" . t_tuotteen_avainsanat($nimrow, 'nimitys') . "</td>\n <td align='right'>{$halytysraja[$id]}</td>\n <td align='right'>{$tilattava[$id]}</td>\n <td>" . t("Valitse paikka jota haluat päivittää") . "</td>"; echo "<td><select name='rivipaikka[{$id}]'><option value=''>" . t("Ei Valintaa"); while ($varow = mysql_fetch_assoc($result2)) { $sel = ''; if ($varow['tunnus'] == $rivipaikka[$id]) { $sel = 'selected'; } echo "<option value='{$varow['tunnus']}' {$sel}>{$varow['hyllyalue']} {$varow['hyllynro']} {$varow['hyllyvali']} {$varow['hyllytaso']}</option>"; } echo "</select></td>"; } else { echo "<td></td><td></td><td>" . t("TUOTENUMERO EI LÖYDY VAIKKA TUOTEPAIKKA ON") . "!!!</td><td></td>"; } echo "</tr>"; } else { echo "<input type='hidden' name='rivipaikka[{$id}]' value='{$rivipaikka[$id]}'>";
} //haetaan varastopaikat ja saldot if ($asiakasanalyysi) { $query = "SELECT ytunnus, nimi\n FROM asiakas\n WHERE yhtio = '{$kukarow['yhtio']}'\n and tunnus = '{$row['tuoteno']}'"; } elseif ($paikoittain == 'JOO') { $query = "SELECT concat_ws(' ', hyllyalue, hyllynro, hyllyvali, hyllytaso) paikka, saldo\n from tuotepaikat\n where tuoteno = '{$row['tuoteno']}'\n and yhtio = '{$kukarow['yhtio']}'"; } else { $query = "SELECT sum(saldo) saldo\n from tuotepaikat\n where tuoteno = '{$row['tuoteno']}'\n and yhtio = '{$kukarow['yhtio']}'"; } $paikresult = pupe_query($query); while ($paikrow = mysql_fetch_assoc($paikresult)) { if ($asiakasanalyysi) { $row["tuoteno"] = $paikrow["ytunnus"]; $row["nimitys"] = $paikrow["nimi"]; } else { $row["nimitys"] = t_tuotteen_avainsanat($row, 'nimitys'); } // Lisätään rivi exceltiedostoon $excelsarake = 0; $worksheet->writeString($excelrivi, $excelsarake++, $ryhmanimet[$row["luokka"]]); $worksheet->writeString($excelrivi, $excelsarake++, $ryhmanimet[$row["luokka_osasto"]]); $worksheet->writeString($excelrivi, $excelsarake++, $ryhmanimet[$row["luokka_try"]]); $worksheet->writeString($excelrivi, $excelsarake++, $row["tuoteno"]); if (!$asiakasanalyysi) { $worksheet->writeString($excelrivi, $excelsarake++, $tuorow["toim_tuoteno"]); } $worksheet->writeString($excelrivi, $excelsarake++, $row["nimitys"]); $worksheet->writeString($excelrivi, $excelsarake++, $row["osasto"]); $worksheet->writeString($excelrivi, $excelsarake++, $row["try"]); if (!$asiakasanalyysi) { $worksheet->writeString($excelrivi, $excelsarake++, $row["tuotemerkki"]);
$worksheet->write($excelrivi, 5, t("Poikkeama") . " %", $format_bold); $worksheet->write($excelrivi, 6, t("Yksikkö"), $format_bold); $worksheet->write($excelrivi, 7, t("Inv.pvm"), $format_bold); $worksheet->write($excelrivi, 8, t("Varastonarvo ennen inventointia"), $format_bold); $worksheet->write($excelrivi, 9, t("Arvonmuutos"), $format_bold); $worksheet->write($excelrivi, 10, t("Selite"), $format_bold); $excelrivi++; while ($row = mysql_fetch_assoc($saldoresult)) { if ($row["inventointiaika"] == '0000-00-00 00:00:00') { $row["inventointiaika"] = t("Ei inventoitu"); } preg_match("/ \\(([0-9\\.\\-]*?)\\) /", $row["selite"], $invkpl); $vararvo_ennen = round((double) $invkpl[1] * $row["hinta"], 2); $row["selite"] = str_replace("<br>", " ", $row["selite"]); $worksheet->writeString($excelrivi, 0, $row["tuoteno"]); $worksheet->writeString($excelrivi, 1, t_tuotteen_avainsanat($row, 'nimitys')); $worksheet->writeString($excelrivi, 2, $row["toim_tuoteno"]); $worksheet->writeString($excelrivi, 3, $row["hyllyalue"] . " " . $row["hyllynro"] . " " . $row["hyllyvali"] . " " . $row["hyllytaso"]); $worksheet->writeNumber($excelrivi, 4, $row["kpl"]); $worksheet->writeNumber($excelrivi, 5, $row["inventointipoikkeama"]); $worksheet->writeString($excelrivi, 6, t_avainsana("Y", "", "and avainsana.selite='{$row['yksikko']}'", "", "", "selite")); $worksheet->writeDate($excelrivi, 7, $row["inventointiaika"]); $worksheet->writeNumber($excelrivi, 8, $vararvo_ennen); $worksheet->writeNumber($excelrivi, 9, round($row["arvo"], 2)); $worksheet->writeString($excelrivi, 10, $row["selite"]); $excelrivi++; } $excelnimi = $worksheet->close(); echo "<br><br><table>"; echo "<tr><th>" . t("Tallenna Excel") . ":</th>"; echo "<form method='post' class='multisubmit'>";
function echo_matkalasku_row($row, $kukarow, $laskurow, $yhtiorow, $tee, $lopetus, $toim, $tilausnumero, $PHP_SELF, $tapahtumia, $tilausrivien_lkm, $muokkauslukko) { static $riviTemp = 0; $row["nimitys"] = t_tuotteen_avainsanat($row, 'nimitys', $kukarow["kieli"]); echo '<tr class="aktiivi">'; if ($row['tunnus'] == $row['perheid2']) { $riviTemp++; echo '<td rowspan="' . $tilausrivien_lkm . '">' . $riviTemp . '</td>'; } if ($laskurow["tilaustyyppi"] != "M" and $row["tuoteno"] == "") { echo_checks($kukarow, $yhtiorow, $row, $PHP_SELF, $tee, $lopetus, $toim, $tilausnumero, $edrivi); } else { echo "<td style='font-weight:bold'>{$row['nimitys']}<a name='ankkuri_{$row['tunnus']}'></a></td>"; } echo_td($row); $kustannuspaikat = array('kustp' => $_POST['kustp'], 'kohde' => $_POST['kohde'], 'projekti' => $_POST['projekti']); echo_ilmaiset_lounaat($lopetus, $toim, $tilausnumero, $row, $kustannuspaikat, $muokkauslukko); if ($row['tunnus'] == $row['perheid2'] and !$muokkauslukko) { echo_nappulat($laskurow, $tee, $lopetus, $toim, $tilausnumero, $row['perhe'], $row['perheid2']); } echo '</tr>'; }
echo "</form>"; } echo "</tr></table><br>"; //tuotteen varastostatus if ($tee == 'Z') { $query = "SELECT\n tuote.*,\n date_format(tuote.muutospvm, '%Y-%m-%d') muutos,\n date_format(tuote.luontiaika, '%Y-%m-%d') luonti,\n group_concat(distinct toimi.nimi\n ORDER BY tuotteen_toimittajat.tunnus separator '<br>') toimittaja,\n group_concat(distinct if(tuotteen_toimittajat.osto_era = 0,\n 1,\n tuotteen_toimittajat.osto_era)\n ORDER BY tuotteen_toimittajat.tunnus separator '<br>') osto_era,\n group_concat(distinct tuotteen_toimittajat.toim_tuoteno\n ORDER BY tuotteen_toimittajat.tunnus separator '<br>') toim_tuoteno,\n group_concat(distinct tuotteen_toimittajat.tuotekerroin\n ORDER BY tuotteen_toimittajat.tunnus separator '<br>') tuotekerroin\n FROM tuote\n LEFT JOIN tuotteen_toimittajat USING (yhtio, tuoteno)\n LEFT JOIN toimi ON toimi.yhtio = tuotteen_toimittajat.yhtio\n AND toimi.tunnus = tuotteen_toimittajat.liitostunnus\n WHERE tuote.yhtio = '{$kukarow['yhtio']}'\n and tuote.tuoteno = '{$tuoteno}'\n GROUP BY tuote.tuoteno"; $result = pupe_query($query); if (mysql_num_rows($result) > 0) { $tuoterow = mysql_fetch_assoc($result); //korvaavat tuotteet $query = "SELECT * from korvaavat where tuoteno='{$tuoteno}' and yhtio='{$kukarow['yhtio']}'"; $korvaresult = pupe_query($query); //eka laitetaan tuotteen yleiset (aika staattiset) tiedot echo "<table>"; echo "<tr><th>" . t("Tuoteno") . "</th><th colspan='5'>" . t("Nimitys") . "</th>"; echo "<tr><td>{$tuoterow['tuoteno']}</td><td colspan='5'>" . t_tuotteen_avainsanat($tuoterow, 'nimitys') . "</td></tr>"; echo "<tr><th>" . t("Osasto/Try") . "</th><th>" . t("Toimittaja") . "</th><th>" . t("Aleryhmä") . "</th><th>" . t("Tähti") . "</th><th colspan='2'>" . t("VAK") . "</th></tr>"; echo "<td>{$tuoterow['osasto']} - " . t_avainsana("OSASTO", "", "and avainsana.selite='{$tuoterow['osasto']}'", "", "", "selitetark") . "<br>{$tuoterow['try']} - " . t_avainsana("TRY", "", "and avainsana.selite='{$tuoterow['try']}'", "", "", "selitetark") . "</td>"; if ($yhtiorow["vak_kasittely"] != "" and $tuoterow["vakkoodi"] != "" and $tuoterow["vakkoodi"] != "0") { $query = "SELECT tunnus, concat_ws(' / ', concat('UN',yk_nro), nimi_ja_kuvaus, luokka, luokituskoodi, pakkausryhma, lipukkeet, rajoitetut_maarat_ja_poikkeusmaarat_1) vakkoodi\n FROM vak\n WHERE yhtio = '{$kukarow['yhtio']}'\n and tunnus = '{$tuoterow['vakkoodi']}'"; $vak_res = pupe_query($query); $vak_row = mysql_fetch_assoc($vak_res); $tuoterow["vakkoodi"] = $vak_row["vakkoodi"]; } echo "<td>{$tuoterow['toimittaja']}</td><td>{$tuoterow['aleryhma']}</td><td>{$tuoterow['tahtituote']}</td><td colspan='2'>{$tuoterow['vakkoodi']}</td></tr>"; echo "<tr><th>" . t("Toimtuoteno") . "</th><th>" . t("Myyntihinta") . "</th><th>" . t("Nettohinta") . "</th><th colspan='3'>" . t("Viimeksi tullut") . "</th>"; echo "<tr><td>{$tuoterow['toim_tuoteno']}</td><td>"; if ($kukarow['hinnat'] >= 0) { echo $tuoterow["myyntihinta"]; } echo "</td><td>";
$varastot = " and tuotepaikat.varasto in ({$varastot}) "; } $query = "SELECT tuote.osasto, tuote.try, tuotepaikat.tuoteno, tuote.nimitys, tuotepaikat.saldoaika,\n concat_ws(' ',tuotepaikat.hyllyalue, tuotepaikat.hyllynro, tuotepaikat.hyllyvali, tuotepaikat.hyllytaso) varastopaikka,\n tuote.yksikko, tuotepaikat.inventointiaika, tuote.tahtituote, tuote.hinnastoon, tuote.status,\n group_concat(tuotteen_toimittajat.toim_tuoteno order by tuotteen_toimittajat.tunnus separator '/') toim_tuoteno,\n group_concat(toimi.ytunnus order by tuotteen_toimittajat.tunnus separator '/') toimittaja\n FROM tuotepaikat\n JOIN tuote ON tuote.yhtio=tuotepaikat.yhtio and tuote.tuoteno=tuotepaikat.tuoteno\n LEFT JOIN tuotteen_toimittajat ON tuotteen_toimittajat.yhtio=tuote.yhtio and tuotteen_toimittajat.tuoteno=tuote.tuoteno\n LEFT JOIN toimi ON toimi.yhtio = tuotteen_toimittajat.yhtio AND toimi.tunnus = tuotteen_toimittajat.liitostunnus\n WHERE tuotepaikat.yhtio = '{$kukarow['yhtio']}'\n and tuotepaikat.saldoaika >= '{$vv}-{$kk}-{$pp} 00:00:00'\n and tuotepaikat.saldo <= 0\n {$varastot}\n group by 1,2,3,4,5,6,7,8,9,10,11\n ORDER BY osasto, try, tuoteno"; $result = pupe_query($query); if (mysql_num_rows($result) > 498) { // echo "<font class='message'>yli500tuotettaraj!</font><br>"; // exit; } echo " <table><tr><th>" . t("Osasto") . "</th><th>" . t("Tuoteryhmä") . "</th>\n <th nowrap>" . t("Tuotenumero") . "</th><th nowrap>" . t("Nimitys") . "</th>\n <th nowrap>" . t("Loppunut") . "</th>\n <th nowrap>" . t("Tilauksessa") . "</th><th nowrap>" . t("Ensimmäinen toimitus") . "</th>\n <th nowrap>" . t("Varastopaikka") . "</th><th nowrap>" . t("Toimittajan tuoteno") . "</th>\n <th nowrap>" . t("Tähtituote") . "</th><th nowrap>" . t("Hinnastoon") . "</th>\n <th nowrap>" . t("Status") . "</th><th nowrap>" . t("Toimittaja") . "</th></tr>"; $rivit = 1; while ($row = mysql_fetch_array($result)) { //katsotaan onko tuotetta tilauksessa $query = "SELECT sum(varattu) varattu, min(toimaika) toimaika\n FROM tilausrivi\n WHERE yhtio='{$kukarow['yhtio']}' and tuoteno='{$row['tuoteno']}' and varattu>0 and tyyppi='O'"; $result1 = pupe_query($query); $prow = mysql_fetch_array($result1); echo " <tr><td>{$row['osasto']}</td><td>{$row['try']}</td><td>{$row['tuoteno']}</td><td>" . t_tuotteen_avainsanat($row, 'nimitys') . "</td>\n <td>" . substr($row["saldoaika"], 0, 10) . "</td><td>{$prow['varattu']}</td><td>{$prow['toimaika']}</td>\n <td>{$row['varastopaikka']}</td><td>{$row['toim_tuoteno']}</td>\n <td>{$row['tahtituote']}</td><td>{$row['hinnastoon']}</td>\n <td>{$row['status']}</td><td>{$row['toimittaja']}</td></tr>"; } echo "</table>"; } //Käyttöliittymä echo "<br>"; echo "<table><form method='post'>"; if (!isset($kk)) { $kk = date("m"); } if (!isset($vv)) { $vv = date("Y"); } if (!isset($pp)) { $pp = date("d") - 1; }
function hae_rivit($tyyppi, $kukarow, $vva, $kka, $ppa, $vvl, $kkl, $ppl, $apaikka, $lpaikka, $varastot, $keraysvyohykkeet, $lisa_kentat, $kerayksettomat_tuotepaikat, $lisa) { global $yhtiorow; $ostoehdotukset = array('' => t("Ehdotetaan ostoehdotusohjelmissa tilattavaksi"), 'E' => "Ei ehdoteta ostoehdotusohjelmissa tilattavaksi"); if (strtotime("{$vva}-{$kka}-{$ppa}") < strtotime('now - 12 months')) { $_date = "AND tilausrivi.kerattyaika >= '{$vva}-{$kka}-{$ppa} 00:00:00'\n AND tilausrivi.kerattyaika <= '{$vvl}-{$kkl}-{$ppl} 23:59:59'"; } else { $_date = "AND tilausrivi.kerattyaika >= Date_sub(CURRENT_DATE, INTERVAL 12 month)"; } $tuotepaikka_where = ""; $a = array_filter($apaikka); $l = array_filter($lpaikka); if (!empty($a) or !empty($l)) { $ahyllyalue = $apaikka['ahyllyalue']; $ahyllynro = $apaikka['ahyllynro']; $ahyllyvali = $apaikka['ahyllyvali']; $ahyllytaso = $apaikka['ahyllytaso']; $lhyllyalue = $lpaikka['lhyllyalue']; $lhyllynro = $lpaikka['lhyllynro']; $lhyllyvali = $lpaikka['lhyllyvali']; $lhyllytaso = $lpaikka['lhyllytaso']; $tuotepaikka_where = "and concat(rpad(upper(tilausrivi.hyllyalue) ,5,'0'),lpad(upper(tilausrivi.hyllynro) ,5,'0'),lpad(upper(tilausrivi.hyllyvali) ,5,'0'),lpad(upper(tilausrivi.hyllytaso) ,5,'0')) >=\n concat(rpad(upper('{$ahyllyalue}'), 5, '0'),lpad(upper('{$ahyllynro}'), 5, '0'),lpad(upper('{$ahyllyvali}'), 5, '0'),lpad(upper('{$ahyllytaso}'),5, '0'))\n and concat(rpad(upper(tilausrivi.hyllyalue) ,5,'0'),lpad(upper(tilausrivi.hyllynro) ,5,'0'),lpad(upper(tilausrivi.hyllyvali) ,5,'0'),lpad(upper(tilausrivi.hyllytaso) ,5,'0')) <=\n concat(rpad(upper('{$lhyllyalue}'), 5, '0'),lpad(upper('{$lhyllynro}'), 5, '0'),lpad(upper('{$lhyllyvali}'), 5, '0'),lpad(upper('{$lhyllytaso}'),5, '0'))"; } $varasto_lisa1 = ""; $varasto_lisa2 = ""; if (!empty($varastot)) { $varasto_lisa1 = " AND tuotepaikat.varasto IN (" . implode(",", $varastot) . ") "; $varasto_lisa2 = " AND tilausrivi.varasto IN (" . implode(",", $varastot) . ") "; } $tuote_select = ""; $keraysvyohyke_select = ""; $keraysvyohyke_join = ""; $varaston_hyllypaikat_join = ""; $group = ","; if ($yhtiorow['kerayserat'] == "K") { $keraysvyohyke_select = "keraysvyohyke.nimitys as keraysvyohykkeen_nimitys,"; $keraysvyohyke_join = " JOIN keraysvyohyke ON (keraysvyohyke.yhtio = vh.yhtio AND keraysvyohyke.tunnus = vh.keraysvyohyke)"; $varaston_hyllypaikat_join = " JOIN varaston_hyllypaikat AS vh\n ON (\n vh.yhtio = tilausrivi.yhtio\n AND vh.hyllyalue = tilausrivi.hyllyalue\n AND vh.hyllynro = tilausrivi.hyllynro\n AND vh.hyllytaso = tilausrivi.hyllytaso\n AND vh.hyllyvali = tilausrivi.hyllyvali"; if (!empty($keraysvyohykkeet)) { $varaston_hyllypaikat_join .= " AND vh.keraysvyohyke IN (" . implode(",", $keraysvyohykkeet) . ")"; } $varaston_hyllypaikat_join .= ")"; $group .= "keraysvyohykkeen_nimitys,"; } if ($tyyppi == "TUOTE") { $vresult = t_avainsana("S"); $tuote_statukset = array(); while ($status = mysql_fetch_assoc($vresult)) { $tuote_statukset[$status['selite']] = $status['selitetark']; } $checked_count = 0; if (!empty($lisa_kentat)) { foreach ($lisa_kentat as $lisa_kentta) { if (!empty($lisa_kentta['checked'])) { $tuote_select .= $lisa_kentta['kolumni'] . ', '; $group .= $lisa_kentta['kolumni'] . ', '; $checked_count++; } } // Ruksattiin jotain lisävalintoita (tuotekohtaisia), voidaan näyttää saldo if ($checked_count > 0) { $tuote_select .= "tuotepaikat.saldo,"; $group .= "tuotepaikat.saldo,"; } } $tuote_select .= "tilausrivi.hyllyalue, tilausrivi.hyllynro, tilausrivi.hyllyvali, tilausrivi.hyllytaso, "; $tuote_select .= "CONCAT_WS(' ', tilausrivi.hyllyalue, tilausrivi.hyllynro, tilausrivi.hyllyvali, tilausrivi.hyllytaso) as hylly, "; $tuote_select .= "group_concat(distinct tuotepaikat.tunnus) paikkatun, "; $group .= "tilausrivi.hyllyalue, tilausrivi.hyllynro, tilausrivi.hyllyvali, tilausrivi.hyllytaso, hylly,"; if (empty($kerayksettomat_tuotepaikat)) { $tuote_select .= "if (tuotepaikat.tunnus IS NULL , 1, 0) poistettu, "; $group .= "poistettu,"; } } $group = rtrim($group, " ,"); if (!empty($kerayksettomat_tuotepaikat)) { $kerayksettomat_tuotepaikat_varaston_hyllypaikat_join = str_replace('tilausrivi', 'tuotepaikat', $varaston_hyllypaikat_join); $kerayksettomat_tuotepaikat_group = str_replace('tilausrivi', 'tuotepaikat', $group); $kerayksettomat_tuotepaikka_where = str_replace('tilausrivi', 'tuotepaikat', $tuotepaikka_where); $kerayksettomat_tuote_select = str_replace('tilausrivi', 'tuotepaikat', $tuote_select); $query = "SELECT varastopaikat.nimitys as varaston_nimitys,\n {$keraysvyohyke_select}\n {$kerayksettomat_tuote_select}\n sum(if (tilausrivi.kerattyaika >= '{$vva}-{$kka}-{$ppa} 00:00:00' AND tilausrivi.kerattyaika <= '{$vvl}-{$kkl}-{$ppl} 23:59:59', 1, 0)) kpl_valittu_aika,\n sum(if (tilausrivi.kerattyaika >= '{$vva}-{$kka}-{$ppa} 00:00:00' AND tilausrivi.kerattyaika <= '{$vvl}-{$kkl}-{$ppl} 23:59:59', tilausrivi.kpl+tilausrivi.varattu, 0)) tuokpl_valittu_aika,\n sum(if (tilausrivi.kerattyaika >= Date_sub(CURRENT_DATE, INTERVAL 6 month), 1, 0)) kpl_6,\n sum(if (tilausrivi.kerattyaika >= Date_sub(CURRENT_DATE, INTERVAL 6 month), tilausrivi.kpl+tilausrivi.varattu, 0)) tuo_kpl_6,\n sum(if (tilausrivi.kerattyaika >= Date_sub(CURRENT_DATE, INTERVAL 12 month), 1, 0)) kpl_12,\n sum(if (tilausrivi.kerattyaika >= Date_sub(CURRENT_DATE, INTERVAL 12 month), tilausrivi.kpl+tilausrivi.varattu, 0)) tuo_kpl_12\n FROM tuotepaikat\n JOIN tuote USE INDEX (tuoteno_index) ON (tuotepaikat.yhtio = tuote.yhtio\n AND tuotepaikat.tuoteno = tuote.tuoteno\n AND tuote.ei_saldoa = '')\n JOIN varastopaikat ON (varastopaikat.yhtio = tuotepaikat.yhtio\n AND varastopaikat.tunnus = tuotepaikat.varasto)\n {$kerayksettomat_tuotepaikat_varaston_hyllypaikat_join}\n {$keraysvyohyke_join}\n LEFT JOIN tilausrivi ON ( tilausrivi.tyyppi = 'L'\n AND tilausrivi.yhtio = tuotepaikat.yhtio\n AND tilausrivi.hyllyalue = tuotepaikat.hyllyalue\n AND tilausrivi.hyllynro = tuotepaikat.hyllynro\n AND tilausrivi.hyllyvali = tuotepaikat.hyllyvali\n AND tilausrivi.hyllytaso = tuotepaikat.hyllytaso\n AND tilausrivi.tuoteno = tuotepaikat.tuoteno\n {$_date})\n WHERE tuotepaikat.yhtio = '{$kukarow['yhtio']}'\n {$kerayksettomat_tuotepaikka_where}\n {$varasto_lisa1}\n GROUP BY 1\n {$kerayksettomat_tuotepaikat_group}\n ORDER BY kpl_valittu_aika DESC\n {$lisa}"; } else { $query = "SELECT varastopaikat.nimitys as varaston_nimitys,\n {$keraysvyohyke_select}\n {$tuote_select}\n sum(if (tilausrivi.kerattyaika >= '{$vva}-{$kka}-{$ppa} 00:00:00' AND tilausrivi.kerattyaika <= '{$vvl}-{$kkl}-{$ppl} 23:59:59', 1, 0)) kpl_valittu_aika,\n sum(if (tilausrivi.kerattyaika >= '{$vva}-{$kka}-{$ppa} 00:00:00' AND tilausrivi.kerattyaika <= '{$vvl}-{$kkl}-{$ppl} 23:59:59', tilausrivi.kpl+tilausrivi.varattu, 0)) tuokpl_valittu_aika,\n sum(if (tilausrivi.kerattyaika >= Date_sub(CURRENT_DATE, INTERVAL 6 month), 1, 0)) kpl_6,\n sum(if (tilausrivi.kerattyaika >= Date_sub(CURRENT_DATE, INTERVAL 6 month), tilausrivi.kpl+tilausrivi.varattu, 0)) tuo_kpl_6,\n sum(if (tilausrivi.kerattyaika >= Date_sub(CURRENT_DATE, INTERVAL 12 month), 1, 0)) kpl_12,\n sum(if (tilausrivi.kerattyaika >= Date_sub(CURRENT_DATE, INTERVAL 12 month), tilausrivi.kpl+tilausrivi.varattu, 0)) tuo_kpl_12\n FROM tilausrivi\n JOIN tuote USE INDEX (tuoteno_index) ON (tilausrivi.yhtio = tuote.yhtio\n AND tilausrivi.tuoteno = tuote.tuoteno\n AND tuote.ei_saldoa = '')\n JOIN varastopaikat ON (varastopaikat.yhtio = tilausrivi.yhtio\n AND varastopaikat.tunnus = tilausrivi.varasto)\n {$varaston_hyllypaikat_join}\n {$keraysvyohyke_join}\n LEFT JOIN tuotepaikat USE INDEX (yhtio_tuoteno_paikka) ON ( tilausrivi.yhtio = tuotepaikat.yhtio\n AND tilausrivi.hyllyalue = tuotepaikat.hyllyalue\n AND tilausrivi.hyllynro = tuotepaikat.hyllynro\n AND tilausrivi.hyllyvali = tuotepaikat.hyllyvali\n AND tilausrivi.hyllytaso = tuotepaikat.hyllytaso\n AND tilausrivi.tuoteno = tuotepaikat.tuoteno )\n WHERE tilausrivi.yhtio = '{$kukarow['yhtio']}'\n AND tilausrivi.tyyppi = 'L'\n {$tuotepaikka_where}\n {$_date}\n {$varasto_lisa2}\n GROUP BY 1\n {$group}\n ORDER BY kpl_valittu_aika DESC\n {$lisa}"; } $result = pupe_query($query); //päiviä aikajaksossa $epa1 = (int) date('U', mktime(0, 0, 0, $kka, $ppa, $vva)); $epa2 = (int) date('U', mktime(0, 0, 0, $kkl, $ppl, $vvl)); //Diff in workdays (5 day week) $pva = abs($epa2 - $epa1) / 60 / 60 / 24 / 7 * 5; $poistettu = t('Poistettu'); $rows = array(); $saldolliset = array(); if (mysql_num_rows($result) > 0) { $progress_bar = new ProgressBar(t("Haetaan tiedot")); $progress_bar->initialize(mysql_num_rows($result)); } while ($row = mysql_fetch_assoc($result)) { if (isset($progress_bar)) { $progress_bar->increase(); } if ($tyyppi == 'TUOTE') { if (!empty($lisa_kentat['nimitys']['checked'])) { $row['nimitys'] = t_tuotteen_avainsanat($row, 'nimitys'); } if (isset($row['status']) and array_key_exists($row['status'], $tuote_statukset)) { $row['status'] = $tuote_statukset[$row['status']]; } if (isset($row['ostoehdotus']) and array_key_exists($row['ostoehdotus'], $ostoehdotukset)) { $row['ostoehdotus'] = $ostoehdotukset[$row['ostoehdotus']]; } elseif (isset($row['ostoehdotus']) and !array_key_exists($row['ostoehdotus'], $ostoehdotukset)) { $row['ostoehdotus'] = t("Tuntematon"); } } $row['kpl_kerays'] = number_format($row["kpl_valittu_aika"] > 0 ? round($row["tuokpl_valittu_aika"] / $row["kpl_valittu_aika"]) : 0, 0); $row['kpl_valittu_aika_pvm'] = number_format($row["kpl_valittu_aika"] / $pva, 0); if (is_numeric($row['poistettu'])) { if ($row['poistettu'] == 1) { $row['poistettu'] = $poistettu; } elseif ($row['poistettu'] == 0) { $saldolliset[] = $row["paikkatun"]; $row['poistettu'] = ''; } } unset($row['tuokpl_valittu_aika']); unset($row['tuo_kpl_6']); unset($row['tuo_kpl_12']); unset($row['paikkatun']); $rows[] = $row; } echo "<br/>"; return array($rows, $saldolliset); }
echo "<tr>"; echo "<th colspan='6'>" . t("Tuotteen kuvaus") . "</th>"; echo "</tr>"; echo "<tr>"; echo "<td colspan='6'>" . wordwrap($tuoterow["kuvaus"], 130, "<br>") . " </td>"; echo "</tr>"; //8 echo "<tr>"; echo "<th>" . t("Muuta") . "</th>"; echo "<th colspan='5'>" . t("Lyhytkuvaus") . "</th>"; echo "</tr>"; echo "<tr>"; echo "<td>{$tuoterow['muuta']} </td>"; echo "<td colspan='5'>"; echo wordwrap($tuoterow["lyhytkuvaus"], 70, "<br>"); $palautus = t_tuotteen_avainsanat($tuoterow, "laatuluokka"); if (trim($palautus) != "") { echo $tuoterow["lyhytkuvaus"] != "" ? "<br>" : ""; switch ($palautus) { case '0': echo "Premium"; break; case '1': echo "Standard"; break; case '2': echo "Economy"; break; } } echo "</td>";