// dest $o = ereg_replace("[^0-9]", "", $kukarow["puhno"]); // orig echo "<a href='{$PHP_SELF}?konserni={$konserni}&ojarj={$ojarj}&o={$o}&d={$d}&voipcall=call" . $ulisa . "'>Soita {$o} -> {$d}</a>"; } echo "</td>"; echo "</tr>\n\n"; $kalalask++; } echo "</table>"; if ($yhtiorow['viikkosuunnitelma'] == '') { echo "<br><br>"; echo "<li><a href='{$PHP_SELF}?tee=laheta&konserni={$konserni}" . $ulisa . "'>" . t("Lähetä viikkosuunnitelmapohja sähköpostiisi") . "</a><br>"; echo "<li><a href='{$PHP_SELF}?tee=lahetalista&konserni={$konserni}" . $ulisa . "'>" . t("Lähetä asiakaslista sähköpostiisi") . "</a><br>"; } $asosresult = t_avainsana("ASIAKASTILA"); if (mysql_num_rows($asosresult) > 0) { echo "<br/>"; echo t("Vaihda asiakkaiden tila") . ": <select name='astila_vaihto'>"; while ($asosrow = mysql_fetch_array($asosresult)) { $sel2 = ''; if ($astila == $asosrow["selite"]) { $sel2 = "selected"; } echo "<option value='{$asosrow['selite']}' {$sel2}>{$asosrow['selite']} - {$asosrow['selitetark']}</option>"; } echo "</select></td></tr>\n\n"; echo "<input type=\"submit\" name=\"oper\" value=\"" . t("Vaihda listan kaikkien asiakkaiden tila") . "\">"; } echo "</form>"; require "inc/footer.inc";
$worksheet->writeString($excelrivi, $key, t(ucfirst($value)), $format_bold); } $excelrivi++; } unset($edryhma); unset($edryhma2); $osastot = array(); $tryt = array(); // Haetaan osastot ja avainsanat muistiin // tehdään avainsana query $tryres = t_avainsana("OSASTO"); while ($tryrow = mysql_fetch_assoc($tryres)) { $osastot[$tryrow["selite"]] = $tryrow["selitetark"]; } // tehdään avainsana query $tryres = t_avainsana("TRY"); while ($tryrow = mysql_fetch_assoc($tryres)) { $tryt[$tryrow["selite"]] = $tryrow["selitetark"]; } foreach ($asrows as $asrow) { $tyhja = 0; // Onko perusalessa tyhjä ryhmä? if ($asrow["prio"] == 5) { $query = "SELECT tuote.tunnus\n FROM tuote\n WHERE tuote.yhtio = '{$asiakas_yhtio}'\n and tuote.aleryhma = '{$asrow['alennusryhmä']}'\n and tuote.hinnastoon != 'E'\n AND tuote.tuotetyyppi NOT IN ('A', 'B')\n and (tuote.status not in ('P','X') or (SELECT sum(saldo) FROM tuotepaikat WHERE tuotepaikat.yhtio=tuote.yhtio and tuotepaikat.tuoteno=tuote.tuoteno and tuotepaikat.saldo > 0) > 0)\n LIMIT 1"; $testres = pupe_query($query); if (mysql_num_rows($testres) == 0) { $tyhja = 1; } } // Suodatetaan extranetkäyttäjilta muut aleprossat if ((($kukarow["extranet"] != "" or $tee == "eposti" or $yhdistetty != "" or $rajattunakyma == "JOO") and ($edtry != $asrow["try"] or $edryhma != $asrow["alennusryhmä"] or $edtuoteno != $asrow["tuoteno"]) or $kukarow["extranet"] == "" and $tee != "eposti" and $yhdistetty == "" and $rajattunakyma != "JOO") and $tyhja == 0) {
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>"; if ($kukarow['hinnat'] >= 0 and $tuoterow["nettohinta"] != 0) { echo $tuoterow["nettohinta"];
$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>"; if (mysql_num_rows($sarjares) > 10) { echo "</div>"; } echo "</td>";
$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'>"; echo "<input type='hidden' name='tee' value='lataa_tiedosto'>"; echo "<input type='hidden' name='kaunisnimi' value='" . t("Inventointipoikkeamat") . ".xlsx'>"; echo "<input type='hidden' name='tmpfilenimi' value='{$excelnimi}'>"; echo "<td class='back'><input type='submit' value='" . t("Tallenna") . "'></td></tr></form>"; echo "</table><br>";
$sresult = t_avainsana("OSASTO"); echo "<select name='osasto'>\n"; echo "<option value=''>" . t("Näytä kaikki") . "</option>\n"; while ($srow = mysql_fetch_array($sresult)) { $sel = ''; if ($osasto == $srow["selite"]) { $sel = "selected"; } echo "<option value='{$srow['selite']}' {$sel}>{$srow['selite']} {$srow['selitetark']}</option>\n"; } echo "</select>\n"; echo "</td></tr>\n"; echo "<tr><th>" . t("Tuoteryhmä") . "</th><td>"; //Tehdään osasto & tuoteryhmä pop-upit // tehdään avainsana query $sresult = t_avainsana("TRY"); echo "<select name='tuoryh'>\n"; echo "<option value=''>" . t("Näytä kaikki") . "</option>\n"; while ($srow = mysql_fetch_array($sresult)) { $sel = ''; if ($tuoryh == $srow["selite"]) { $sel = "selected"; } echo "<option value='{$srow['selite']}' {$sel}>{$srow['selite']} {$srow['selitetark']}</option>\n"; } echo "</select>"; echo "</td></tr>"; echo "<tr><th>" . t("Tuotemerkki") . "</th><td>"; //Tehdään osasto & tuoteryhmä pop-upit $query = "SELECT distinct tuotemerkki\n FROM tuote\n WHERE yhtio='{$kukarow['yhtio']}' and tuotemerkki != ''\n ORDER BY tuotemerkki"; $sresult = pupe_query($query);
// Haetaan tyostatukset echo "<select name='tyostatus_muutos' onchange='submit();'>"; // Jos halutaan rajata tietyn työjonon statusvalikoimaa tapahtumahistorian perusteella // Haetaan ensin tilauksen tapahtumahistorian viimeisimmän tapahtuman järjestysnumero if ($yhtiorow['laiterekisteri_kaytossa'] != '' and isset($tyojonotyyppi) and $tyojonotyyppi == $jonon_nimi) { $kveeri = "SELECT\n ifnull(tyojono_selite, '') tyojono_selite,\n ifnull(tyostatus_selite, '') tyostatus_selite,\n ifnull(avainsana.jarjestys, 0) jarjestysnumero\n FROM tyomaarayksen_tapahtumat\n LEFT JOIN avainsana ON avainsana.yhtio = tyomaarayksen_tapahtumat.yhtio\n AND avainsana.laji = 'TYOM_TYOSTATUS'\n AND avainsana.selite = tyomaarayksen_tapahtumat.tyostatus_selite\n WHERE tyomaarayksen_tapahtumat.yhtio = '{$kukarow['yhtio']}'\n AND tyomaarayksen_tapahtumat.tyomaarays_tunnus = '{$vrow['tunnus']}'\n ORDER BY tyomaarayksen_tapahtumat.luontiaika DESC\n LIMIT 1"; $kvresult = pupe_query($kveeri); $kvrivi = mysql_fetch_array($kvresult); $hakunumero = 0; if (!empty($kvrivi)) { $hakunumero = $kvrivi['jarjestysnumero']; } $tyostatus_result = t_avainsana("TYOM_TYOSTATUS", "", " AND avainsana.jarjestys >= {$hakunumero} "); } else { echo "<option value='EISTATUSTA'>" . t("Ei statusta") . "</option>"; $tyostatus_result = t_avainsana("TYOM_TYOSTATUS"); } while ($tyostatus_row = mysql_fetch_assoc($tyostatus_result)) { $sel = $vrow['tyostatus'] == $tyostatus_row['selitetark'] ? ' SELECTED' : ''; echo "<option value='{$tyostatus_row['selite']}'{$sel}>{$tyostatus_row['selitetark']}</option>"; } echo "</select></form>"; } } else { echo "{$vrow['tyojono']}<br>{$vrow['tyostatus']}"; } echo "</td>"; if ($yhtiorow['laiterekisteri_kaytossa'] == '' and $toim != 'TYOMAARAYS_ASENTAJA' or $olenko_asentaja_tassa_hommassa) { $muoklinkki = ""; if ($vrow["yhtioyhtio"] != $kukarow["yhtio"]) { $muoklinkki = "<a href='{$palvelin2}tilauskasittely/tilaus_myynti.php?user={$kukarow['kuka']}&pass={$kukarow['salasana']}&yhtio={$vrow['yhtioyhtio']}&toim={$toimi}&tilausnumero={$vrow['tunnus']}&lopetus={$lopetusx}'>" . t("Muokkaa") . "</a>";
} echo "</table>"; if (mysql_num_rows($res2) > 11) { echo "</div>"; } echo "</td>"; echo "</tr>"; echo "</table>"; echo "</td>"; echo "<td>"; echo "<table>"; echo "<tr>"; echo "<td valign='top' class='back'>"; // näytetään soveltuvat tryt // tehdään avainsana query $res2 = t_avainsana("TRY"); if (mysql_num_rows($res2) > 11) { echo "<div style='height:320px;overflow:auto;'>"; } //############## TUOTERYHMÄ echo "<table>"; echo "<tr>"; echo "<th colspan='2'>", t("Tuoterymä"), ":</th>"; echo "</tr>"; echo "<tr>"; echo "<td><input type='checkbox' name='mul_try' onclick='toggleAll(this);'></td><td nowrap>", t("Ruksaa kaikki"), "</td>"; echo "</tr>"; if (isset($try) and $try != '') { $mul_try = explode(",", $try); } while ($rivi = mysql_fetch_array($res2)) {
echo "</tr>"; echo "</tfoot>"; echo "</table>"; echo "<br>"; } // tehdään summat taulu echo "<br>"; echo "<font class='message'>" . t("Yhteenveto valmistuslinjoittain") . "</font><br><br>"; echo "<table>"; echo "<tr>"; echo "<th>" . t("Valmistuslinja") . "</th>"; echo "<th>" . t("Valmistettu") . "</th>"; echo "<th>" . t("Valmistuksessa") . "</th>"; echo "</tr>"; foreach ($yhteenveto_valmistettu as $valmistuslinja => $value) { $linja_yht = t_avainsana("VALMISTUSLINJA", "", "and avainsana.selite='{$valmistuslinja}'", "", "", "selitetark"); if ($linja_yht == "") { $linja_yht = t("Ei Määritelty"); } echo "<tr>"; echo "<td>{$linja_yht}</td>"; echo "<td style='text-align:right;'>{$value}</td>"; echo "<td style='text-align:right;'>{$yhteenveto_valmistetaan[$valmistuslinja]}</td>"; echo "</tr>"; } echo "<tr>"; echo "<th>" . t("Yhteensä") . "</th>"; echo "<th style='text-align:right;'>" . array_sum($yhteenveto_valmistettu) . "</th>"; echo "<th style='text-align:right;'>" . array_sum($yhteenveto_valmistetaan) . "</th>"; echo "</tr>"; echo "</table>";
echo "<table>"; echo "<tr>"; echo "<th>" . t("Tuoteno") . "</th>"; echo "<th>" . t("Osasto") . "</th>"; echo "<th>" . t("Try") . "</th>"; echo "<th>" . t("Merkki") . "</th>"; echo "<th>" . t("Nimitys") . "</th>"; echo "<th>" . t("Tullinimike") . "</th>"; echo "<th>" . t("Tullinimikkeen lisäosa") . "</th>"; echo "</tr>"; while ($rivi = mysql_fetch_array($resul)) { // tehdään avainsana query $oresult = t_avainsana("OSASTO", "", "and avainsana.selite ='{$rivi['osasto']}'"); $os = mysql_fetch_array($oresult); // tehdään avainsana query $tresult = t_avainsana("TRY", "", "and avainsana.selite ='{$rivi['try']}'"); $try = mysql_fetch_array($tresult); echo "<tr>"; echo "<td><a href='yllapito.php?toim=tuote&tunnus={$rivi['tunnus']}&lopetus=tullinimikkeet.php'>{$rivi['tuoteno']}</a></td>"; echo "<td>{$rivi['osasto']} {$os['selitetark']}</td>"; echo "<td>{$rivi['try']} {$try['selitetark']}</td>"; echo "<td>{$rivi['tuotemerkki']}</td>"; echo "<td>" . t_tuotteen_avainsanat($rivi, 'nimitys') . "</td>"; echo "<td>{$rivi['tullinimike1']}</td>"; echo "<td>{$rivi['tullinimike2']}</td>"; echo "</tr>"; } echo "</table>"; } } require "inc/footer.inc";
} $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 { $worksheet->writeNumber($excelrivi, $excelsarake, $veroton); $excelsarake++; $worksheet->writeNumber($excelrivi, $excelsarake, $verollinen); $excelsarake++;
} if ($lasrow['arvo'] >= 0) { //Veloituslasku $tyyppi = '380'; } else { //Hyvityslasku $tyyppi = '381'; } // Laskukohtaiset kommentit kuntoon // Tämä merkki | eli pystyviiva on rivinvaihdon merkki laskun kommentissa elmalla $komm = ""; // Onko käänteistä verotusta $alvquery = "SELECT tunnus\n FROM tilausrivi\n WHERE yhtio = '{$kukarow['yhtio']}'\n and otunnus in ({$tunnukset})\n and tyyppi = 'L'\n and var not in ('P','J','O','S')\n and alv >= 600"; $alvresult = pupe_query($alvquery); if (mysql_num_rows($alvresult) > 0) { $komm .= t_avainsana("KAANTALVVIESTI", $laskun_kieli, "", "", "", "selitetark"); } if (trim($lasrow['tilausyhteyshenkilo']) != '') { $komm .= "\n" . t("Tilaaja", $laskun_kieli) . ": " . $lasrow['tilausyhteyshenkilo']; } if (trim($lasrow['asiakkaan_tilausnumero']) != '') { $komm .= "\n" . t("Tilauksenne", $laskun_kieli) . ": " . $lasrow['asiakkaan_tilausnumero']; } if (trim($lasrow['kohde']) != '') { $komm .= "\n" . t("Kohde", $laskun_kieli) . ": " . $lasrow['kohde']; } if (trim($lasrow['sisviesti1']) != '') { $komm .= "\n" . t("Kommentti", $laskun_kieli) . ": " . $lasrow['sisviesti1']; } if (trim($komm) != '') { $lasrow['sisviesti1'] = str_replace(array("\r\n", "\r", "\n"), "|", trim($komm));
$tryl = $try; } $mkausi1 = substr($kausi1, 0, 4) . "-" . substr($kausi1, 4, 2) . "-01"; $mkausi1l = substr($kausi1l, 0, 4) . "-" . substr($kausi1l, 4, 2) . "-" . date("d", mktime(0, 0, 0, substr($kausi1l, 4, 2) + 1, 0, substr($kausi1l, 0, 4))); $mkausi2 = substr($kausi2, 0, 4) . "-" . substr($kausi2, 4, 2) . "-01"; $mkausi2l = substr($kausi2l, 0, 4) . "-" . substr($kausi2l, 4, 2) . "-" . date("d", mktime(0, 0, 0, substr($kausi2l, 4, 2) + 1, 0, substr($kausi2l, 0, 4))); $osastot = ''; $osastonimet = array(); $tryt = ''; $trynimet = array(); $res = t_avainsana("OSASTO", "", "and avainsana.selite+0 >= '{$osasto}' and avainsana.selite+0 <= '{$osastol}'"); while ($row = mysql_fetch_array($res)) { $osastot .= "'{$row['selite']}',"; $osastonimet[$row['selite']] = $row["selitetark"]; } $res = t_avainsana("TRY", "", "and avainsana.selite+0 >= '{$try}' and avainsana.selite+0 <= '{$tryl}'"); while ($row = mysql_fetch_array($res)) { $tryt .= "'{$row['selite']}',"; $trynimet[$row['selite']] = $row["selitetark"]; } $osastot = substr($osastot, 0, -1); $tryt = substr($tryt, 0, -1); if ($tryt != "" and $osastot != "") { echo "<table>\n"; echo "<tr>\n <th><br>" . t("Os") . "</th>\n <th><br>" . t("Tuoteryhmä") . "</th>\n\n <th>" . t("Kausi 1") . "<br>" . t("Myynti") . "</th>\n <th>" . t("Kausi 2") . "<br>" . t("Myynti") . "</th>\n <th>" . t("Ero") . "<br>" . t("Myynti") . "</th>\n <th>" . t("Ero-%") . "<br>" . t("Myynti") . "</th>\n\n <th>" . t("Kausi") . " 1<br>" . t("Kate") . "</th>\n <th>" . t("Kausi") . " 2<br>" . t("Kate") . "</th>\n <th>" . t("Ero") . "<br>" . t("Kate") . "</th>\n <th>" . t("Ero-%") . "<br>" . t("Kate") . "</th>\n\n <th>" . t("Kausi") . " 1<br>" . t("Katepros") . "</th>\n <th>" . t("Kausi") . " 2<br>" . t("Katepros") . "</th>\n <th>" . t("Ero") . "<br>" . t("Katepros") . "</th>\n\n <th>" . t("Kausi") . " 1<br>" . t("Kpl") . "</th>\n <th>" . t("Kausi") . " 2<br>" . t("Kpl") . "</th>\n <th>" . t("Ero") . "<br>" . t("Kpl") . "</th>\n <th>" . t("Ero") . "-%<br>" . t("Kpl") . "</th>\n\n </tr>\n"; // haetaan tietod molemmille kausille $query = "SELECT\n sum(if(laskutettuaika>='{$mkausi1}' and laskutettuaika<='{$mkausi1l}', rivihinta,0)) myynti1,\n sum(if(laskutettuaika>='{$mkausi1}' and laskutettuaika<='{$mkausi1l}', kate,0)) kate1,\n sum(if(laskutettuaika>='{$mkausi1}' and laskutettuaika<='{$mkausi1l}', kpl,0)) kpl1,\n sum(if(laskutettuaika>='{$mkausi2}' and laskutettuaika<='{$mkausi2l}', rivihinta,0)) myynti2,\n sum(if(laskutettuaika>='{$mkausi2}' and laskutettuaika<='{$mkausi2l}', kate,0)) kate2,\n sum(if(laskutettuaika>='{$mkausi2}' and laskutettuaika<='{$mkausi2l}', kpl,0)) kpl2,\n osasto, try\n FROM tilausrivi use index (yhtio_tyyppi_osasto_try_laskutettuaika)\n WHERE yhtio='{$kukarow['yhtio']}'\n and try in ({$tryt})\n and osasto in ({$osastot})\n and tyyppi='L'\n and ((laskutettuaika>='{$mkausi1}' and laskutettuaika<='{$mkausi1l}') or (laskutettuaika>='{$mkausi2}' and laskutettuaika<='{$mkausi2l}'))\n GROUP BY osasto, try "; $res = pupe_query($query); $kate1 = ''; $kate2 = ''; $myyproero = '';
<?php if (isset($_COOKIE['laiteluettelo_keksi'])) { $valitut_sarakkeet = unserialize(urldecode($_COOKIE['laiteluettelo_keksi'])); } if (isset($_POST['piirtele_laiteluettelo'])) { // Piirrellään laiteluettelo-valikko echo "<br><br>"; $ruksattavat_kentat = array(); // Haetaan avainsanoista laiteluettelon laitekohtaiset palveluhinnat // sekä sopimuskohtaiset lisätyöt hardcoded selitteellä "NAYTATYOT" $res = t_avainsana("SOP_LAITLUET"); $lisatuotenumerot = ''; while ($avainsanarivi = mysql_fetch_assoc($res)) { $ruksattavat_kentat[$avainsanarivi['selite']] = $avainsanarivi['selitetark']; // Tallennetaan myös selectilisa $lisatuotenumerot .= "'" . $avainsanarivi['selite'] . "',"; } $lisatuotenumerot = rtrim($lisatuotenumerot, ','); $lisatuotenumerot = base64_encode($lisatuotenumerot); echo "<form name='aja_ja_tallenna' method='post'>"; echo "<table width='600'>"; echo "<tr><th>" . t("Valitse laitekohtaiset sarakkeet") . "</th></tr>"; $secretcounter = 0; $eka_ajo = true; foreach ($ruksattavat_kentat as $key => $selite) { $nollaus = false; if ($secretcounter == 0) { echo "<tr>"; } $tsekk = "";
echo "</td>"; if ($toim == "VERKKOKAUPPA") { echo "<tr><th>" . t("Osasto") . "</th><td>"; echo "<select name='kentta09'>"; $result = t_avainsana("VERKKOKAULINKKI"); if (mysql_num_rows($result) > 0) { while ($orow = mysql_fetch_array($result)) { if ($rivi["kentta09"] == $orow["selite"]) { $sel = "SELECTED"; } else { $sel = ""; } echo "<option value='{$orow['selite']}' {$sel}>{$orow['selitetark']}</option>"; } } $result = t_avainsana("OSASTO", "", " and avainsana.jarjestys < 10000 "); if (mysql_num_rows($result) > 0) { while ($orow = mysql_fetch_array($result)) { if ($rivi["kentta09"] == $orow["selite"]) { $sel = "SELECTED"; } else { $sel = ""; } echo "<option value='{$orow['selite']}' {$sel}>{$orow['selite']} - {$orow['selitetark']}</option>"; } } echo "</select>"; echo "</td></tr>"; } if ($rivi['kokopaiva'] != "") { $check = "CHECKED";
unset($serialisoitavat_muuttujat["mul_try"]); // Nollataan tuoteryhmäruksi sekä tuotettainruksi $serialisoitavat_muuttujat["ruksit"]["try"] = ""; $serialisoitavat_muuttujat["ruksit"][30] = ""; } else { // jos tuoteosostoittain ja tuoteryhmittäin ei ole chekattu, osastoa klikkaamalla mennään eteenpäin $serialisoitavat_muuttujat["mul_osasto"][$ken_nimi] = $row[$ken_nimi]; $serialisoitavat_muuttujat["ruksit"]["try"] = "try"; unset($serialisoitavat_muuttujat["mul_try"]); } $tuoteosasto_temp = $row[$ken_nimi]; $row[$ken_nimi] = "<a href='myyntiseuranta.php?kaikki_parametrit_serialisoituna=" . urlencode(serialize($serialisoitavat_muuttujat)) . "'>{$osrow['selite']} {$osrow['selitetark']}</a>"; } // jos kyseessa on tuoteosasto, haetaan sen nimi if ($ken_nimi == "tuoteryhmä") { $osre = t_avainsana("TRY", "", "and avainsana.selite = '{$row[$ken_nimi]}'", $yhtio); $osrow = mysql_fetch_assoc($osre); if ($osrow['selite'] == "") { $osrow['selite'] = t("Ei tuoteryhmää"); } $serialisoitavat_muuttujat = $kaikki_muuttujat_array; // jos tuoteosastot, tuoteryhmät ja tuottetain on valittu, mennään taaksepäin if ($ruksit["osasto"] != '' and $ruksit["try"] != '' and $ruksit[30] != '') { unset($serialisoitavat_muuttujat["mul_try"]); unset($serialisoitavat_muuttujat["ruksit"][30]); } else { // jos vain tuoteosastot, tuoteryhmät ja tuottetain on valittu, mennään eteenpäin $serialisoitavat_muuttujat["mul_try"][$ken_nimi] = $row[$ken_nimi]; $serialisoitavat_muuttujat["ruksit"]["osasto"] = "osasto"; $serialisoitavat_muuttujat["ruksit"]["try"] = "try"; $serialisoitavat_muuttujat["ruksit"][30] = "tuote";
echo "<tr><th>" . t("Syötä vuosi (vvvv)") . "</th>\n <td><input type='text' name='vva' value='{$vva}' size='5'></td></tr>\n <tr><th>", t("Valitse tuoteryhmä"), "</th>"; echo "<td>"; $monivalintalaatikot = array("TRY"); $monivalintalaatikot_normaali = array(); require "../tilauskasittely/monivalintalaatikot.inc"; echo "</td>"; $tuoteryhmittain_chk = (isset($tuoteryhmittain) and trim($tuoteryhmittain) != '') ? ' CHECKED' : ''; echo " </select></td></tr>\n <tr><th>" . t("Tuoteryhmittäin") . "</th><td align='center'><input type='checkbox' name='tuoteryhmittain'{$tuoteryhmittain_chk}></td><td class='back'><input type='submit' name='submit' value='Hae'></td></tr>"; echo "</form>"; echo "</table>"; if (isset($tuoteryhmittain) and trim($tuoteryhmittain) != '') { echo "<table>"; echo "<tr><th>" . t("Tuoteryhmä") . "</th><th>" . t("Selite") . "</th><th>" . t("Aika") . "</th><th>" . t("Ajallaan") . "</th><th>" . t("Etuajassa") . "</th><th>" . t("Myöhässä") . "</th></tr>"; foreach ($tuoteryh as $key) { // tehdään avainsana query $seliteres = t_avainsana("TRY", $kukarow['kieli'], "and avainsana.selite ='{$key['try']}'"); $seliterow = mysql_fetch_array($seliteres); echo "<tr><td align='right'>{$key['try']}</td><td align='left'>"; if ($seliterow["selitetark"] != "") { echo "{$seliterow['selitetark']}"; } echo "</td><td align='left'>{$key['toimitettuaika']}</td><td align='right'>{$key['ajallaan']}</td><td align='right'>{$key['etuajassa']}</td><td align='right'>{$key['myohassa']}</td></tr>"; $ajallaan_summa += $key['ajallaan']; $etuajassa_summa += $key['etuajassa']; $myohassa_summa += $key['myohassa']; } echo "<tr><th colspan='3'>" . t("Yhteensä") . "</th><td class='tumma' align='right'><strong>{$ajallaan_summa}</strong></td><td class='tumma' align='right'><strong>{$etuajassa_summa}</strong></td><td class='tumma' align='right'><strong>{$myohassa_summa}</strong></td></tr>"; echo "</table>"; } elseif ($submit != '' and $tuoteryhmittain == '') { echo "<table width='700'>"; echo "<tr><th>" . t("Toimitukset") . "</th><th>" . t("Tammikuu") . "</th><th>" . t("Helmikuu") . "</th><th>" . t("Maaliskuu") . "</th><th>" . t("Huhtikuu") . "</th><th>" . t("Toukokuu") . "</th><th>" . t("Kesäkuu") . "</th><th>" . t("Heinäkuu") . "</th><th>" . t("Elokuu") . "</th><th>" . t("Syyskuu") . "</th><th>" . t("Lokakuu") . "</th><th>" . t("Marraskuu") . "</th><th>" . t("Joulukuu") . "</th><th>" . t("Yhteensä") . "</th></tr>";
} $parametrit = array("result" => $eresult, "sum" => array("myyntiVA", "kateVA", "myyntiEDVA", "kateEDVA", "myyntiED", "kateED", "myynti12", "kate12"), "group_by" => $group_by, "order_by" => array("osasto", "tuoteryhma"), "select" => array("osasto", "tuoteryhma"), "laske_kate" => array("kateVA", "kateEDVA", "kateED", "kate12")); $rows = tilausrivin_tarkistus_riveittain($parametrit); foreach ($rows as $row) { $params = array(); $params['osasto'] = $row['osasto']; $params['try'] = $row['tuoteryhma']; $params['pvm1'] = "{$vvl}-{$kkl}-{$ppl}"; $params['pvm2'] = "{$edellisvuosi}-{$kkl}-{$ppl}"; list($arvo_hetkella_1, $arvo_hetkella_2) = tuoteryhman_varastonarvo($params); $osastores = t_avainsana("OSASTO", "", "and avainsana.selite ='{$row['osasto']}'"); $osastorow = mysql_fetch_assoc($osastores); if ($osastorow['selitetark'] != "") { $row['osasto'] = $row['osasto'] . " - " . $osastorow['selitetark']; } $tryres = t_avainsana("TRY", "", "and avainsana.selite ='{$row['tuoteryhma']}'"); $tryrow = mysql_fetch_assoc($tryres); if ($tryrow['selitetark'] != "") { $row['tuoteryhma'] = $row['tuoteryhma'] . " - " . $tryrow['selitetark']; } $myyntiVA = round($row['myyntiVA']); $kateVA = round($row['kateVA']); if ($myyntiVA != 0) { $kateprosVA = round($kateVA / $myyntiVA * 100, 1); } else { $kateprosVA = 0; } $myyntiEDVA = round($row['myyntiEDVA']); $kateEDVA = round($row['kateEDVA']); if ($myyntiEDVA != 0) { $kateprosEDVA = round($kateEDVA / $myyntiEDVA * 100, 1);
echo "<input type='hidden' class='edit_keyword_class' id='{$dp_row['tunnus']}_class' value='{$dp_row['avainsana']}' />"; } echo "<span style='font-weight: bold;'>{$_selitetark}</span> » {$dp_row['tarkenne']}"; echo "<br />"; } } echo "</div>"; echo "<br />"; echo "<div id='editbuttons_keywords'>"; if ($saamuokata) { echo "<a href='#' id='showaddbox_keywords'><img src='{$palvelin2}pics/lullacons/add.png' alt='", t('Lisää'), "'/>", t('Lisää uusi avainsana'), "</a><br /><br />"; } echo "</div>"; // tason avainsana lisäyslaatikko echo "<div id='nodebox_keywords' style='display: none'>\n <form id='keywordsform'>\n <fieldset>\n <legend style='font-weight: bold' id='nodebox_keywords_title'></legend>\n <ul style='list-style:none; padding: 5px'>\n <li style='padding: 3px'>\n <label style='display: inline-block; width: 50px'>" . t("Laji") . " <font class='error'>*</font></label>"; $vresult = t_avainsana("DPAVAINSANALAJI", "", "and avainsana.selitetark_2 = '{$toim}'"); echo "<select id='keywords_category' name='keywords_category' style='float: right;'>"; echo "<option value=''>", t("Valitse laji"), "</option>"; while ($row = mysql_fetch_assoc($vresult)) { echo "<option value='{$row['selite']}'>{$row['selitetark']}</option>"; } echo "</select>"; echo " </li>\n <li style='padding: 3px' id='keywords_value_box'>\n <label style='display: inline-block; width: 50px;'>" . t("Avainsana") . "</label>\n <span style='float: right;' id='keywords_value_select'></span>"; echo " </li>\n </ul>\n <input type='hidden' id='tee' value='' />\n <input type='hidden' id='toim' value='{$toim}' />\n <p style='display: none; color: red' id='nodebox_keywords_err'>" . t("Laji ja avainsana ei saa olla tyhjiä") . ".</p>\n <input type='submit' id='editsubmitbtn' value='" . t("Tallenna") . "' />\n </fieldset>\n </form>\n </div>"; echo "</div>"; } else { echo "<p>" . t("virhe: nodeid tai toim puuttuu") . "</p>"; } exit; } if (strtoupper($toim) == "TUOTE") {
// jos loppusumma on isompi kuin tietokannassa oleva tietuen koko (10 numeroa + 2 desimaalia), niin herjataan if ($yhteensa != '' and abs($yhteensa) > 0) { if (abs($yhteensa) > 9999999999.99) { echo "<font class='error'>" . t("VIRHE: liian iso loppusumma") . "!</font><br>"; $tilausok++; } } echo "<br><br><table width='100%'><tr>"; if ($rivienmaara > 0 and $laskurow["liitostunnus"] != '' and $tilausok == 0) { $saldo_tarkistus_onclick = ""; if (!empty($toimittajarow['tehdas_saldo_tarkistus'])) { $saldo_tarkistus_onclick = "onclick='return tarkasta_ostotilauksen_tilausrivien_toimittajien_saldot({$tilausnumero}, \"" . t('Tuotteen') . " *tuote* " . t('Varastosaldo on') . ": *kpl*\")'"; } echo " <td class='back'>\n <form method='post' action='{$palvelin2}tilauskasittely/tilaus_osto.php'>\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='naytetaankolukitut' value = '{$naytetaankolukitut}'>\n <input type='hidden' name='toimittajaid' value = '{$laskurow['liitostunnus']}'>\n <input type='hidden' name='tee' value = 'valmis'>\n <input type='submit' value='" . t("Tilaus valmis") . "' {$saldo_tarkistus_onclick}>\n </form>\n </td>"; if ($sahkoinen_tilausliitanta and ($yhtiorow['vastaavat_tuotteet_esitysmuoto'] == 'S' or $yhtiorow['vastaavat_tuotteet_esitysmuoto'] == 'A')) { if (mysql_num_rows(t_avainsana('SAHKTILTUN', '', " AND selite = '{$laskurow['vanhatunnus']}' AND selitetark = '{$laskurow['liitostunnus']}' ")) > 0) { $hae = 'nappi_kaikki'; require "inc/sahkoinen_tilausliitanta.inc"; } } if ($toim != "HAAMU") { echo " <td class='back''>\n <form method='post' action='{$palvelin2}tilauskasittely/tilaus_osto.php'>\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='naytetaankolukitut' value = '{$naytetaankolukitut}'>\n <input type='hidden' name='tee' value = 'vahvista'>\n <input type='submit' value='" . t("Vahvista toimitus") . "'>\n </form>\n </td>"; } } if ($eimitatoi != "EISAA" and $kukarow["mitatoi_tilauksia"] == "") { echo "<SCRIPT LANGUAGE=JAVASCRIPT>\n function verify(){\n msg = '" . t("Haluatko todella poistaa tämän tietueen?") . "';\n\n if (confirm(msg)) {\n return true;\n }\n else {\n skippaa_tama_submitti = true;\n return false;\n }\n }\n </SCRIPT>"; echo " <td class='back' align='right'>\n <form method='post' action='{$palvelin2}tilauskasittely/tilaus_osto.php' onSubmit = 'return verify()'>\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='naytetaankolukitut' value = '{$naytetaankolukitut}'>\n <input type='hidden' name='tee' value = 'poista'>\n <input type='submit' value='*" . t("Mitätöi koko tilaus") . "*'>\n </form>\n </td>"; } elseif ($laskurow["tila"] == 'O') { echo " <td class='back' align='right'>\n <form method='post' action='{$palvelin2}tilauskasittely/tilaus_osto.php'>\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='naytetaankolukitut' value = '{$naytetaankolukitut}'>\n <input type='hidden' name='tee' value = 'poista_kohdistamattomat'>\n <input type='submit' value='*" . t("Mitätöi kohdistamattomat rivit") . "*'>\n </form>\n </td>"; } echo "</tr></table>";
if ($asiakasanalyysi) { $query = "SELECT *\n FROM asiakas\n WHERE yhtio = '{$kukarow['yhtio']}'\n and tunnus = '{$row['tuoteno']}'"; $asres = pupe_query($query); $asrow = mysql_fetch_assoc($asres); $row["asiakastunnus"] = $row["tuoteno"]; $row["tuoteno"] = $asrow["ytunnus"]; $row["nimitys"] = $asrow["nimi"]; } $keytry["selitetark"] = ""; $keyosa["selitetark"] = ""; if (!$asiakasanalyysi and $lisatiedot == "TARK") { // tehdään avainsana query $keyres = t_avainsana("TRY", "", "and avainsana.selite ='{$row['try']}'"); $keytry = mysql_fetch_assoc($keyres); // tehdään avainsana query $keyres = t_avainsana("OSASTO", "", "and avainsana.selite ='{$row['osasto']}'"); $keyosa = mysql_fetch_assoc($keyres); } echo "<tr>"; echo "<td>" . $ryhmanimet[$row[$valinta]] . "</td>"; echo "<td valign='top'><a href='{$PHP_SELF}?toim={$toim}&tee=YHTEENVETO&luokka={$luokka}{$ulisa}&saapumispvm={$saapumispvm}&lisatiedot={$lisatiedot}&status={$status}'>" . $ryhmanimet[$row["luokka"]] . "</a></td>"; if (!$asiakasanalyysi) { echo "<td valign='top'><a href='../tuote.php?tee=Z&tuoteno=" . urlencode($row["tuoteno"]) . "'>{$row['tuoteno']}</a></td>"; } else { echo "<td valign='top'><a href='../crm/asiakasmemo.php?asiakasid={$row['asiakastunnus']}'>{$row['tuoteno']}</a></td>"; } echo "<td valign='top'>{$row['nimitys']}</td>"; echo "<td valign='top' nowrap><a href='{$PHP_SELF}?toim={$toim}&tee=YHTEENVETO{$ulisa}&saapumispvm={$saapumispvm}&lisatiedot={$lisatiedot}&status={$status}'>{$row['osasto']} {$keyosa['selitetark']}</a></td>"; echo "<td valign='top' nowrap><a href='{$PHP_SELF}?toim={$toim}&tee=YHTEENVETO{$ulisa}&saapumispvm={$saapumispvm}&lisatiedot={$lisatiedot}&status={$status}'>{$row['try']} {$keytry['selitetark']}</a></td>"; if (!$asiakasanalyysi and $lisatiedot == "TARK") { echo "<td valign='top'>{$row['tuotemerkki']}</td>";
if (strpos($tuoteno, '####') !== FALSE) { $tu = substr($tuoteno, strpos($tuoteno, '####') + 4) . " - " . substr($tuoteno, 0, strpos($tuoteno, '####')); } else { $tu = $tuoteno; } echo "<tr><td>{$tu}</td>"; $tresult_tt = t_avainsana("KOPIOITUOTE", "", "and selite = 'TT'"); $trow_tt = mysql_fetch_assoc($tresult_tt); $chk = $trow_tt['selitetark'] == 'K' ? "checked='true'" : ""; $chk = mysql_num_rows($tresult_tt) != 0 ? $chk : "checked='true'"; echo "<tr>"; echo "<th>" . t("Anna uusi tuotenumero") . "<br>" . t("joka perustetaan") . "</th>"; echo "<td class='back'>"; echo "<input type='checkbox' name='kopioi_tt' {$chk} /> ", t("Kopioi tuotteen toimittajat"); echo "<br />"; $tresult_ostoehdotus = t_avainsana("KOPIOITUOTE", "", "and selite = 'OSTOEHDOTUS'"); if (mysql_num_rows($tresult_ostoehdotus) != 0) { $trow_ostoehdotus = mysql_fetch_assoc($tresult_ostoehdotus); $chk = $trow_ostoehdotus['selitetark'] == 'K' ? "checked='true'" : ""; echo "<input type='hidden' name='ostoehdotus_avainsanoista[]' value='default' />"; echo "<input type='checkbox' name='ostoehdotus_avainsanoista[]' value='K' {$chk} /> "; echo t("Ehdotetaan ostoehdotusohjelmissa tilattavaksi"); } echo "</td>"; echo "</tr>"; echo "<tr>"; echo "<input type='hidden' name='tee' value='PERUSTA'>"; echo "<input type='hidden' name='tuoteno' value='{$tuoteno}'>"; echo "<td><input type='text' name='uustuoteno' size='22' maxlength='30' value=''></td>"; echo "<td class='back'><input type='submit' value='" . t("Kopioi") . "'></td>"; echo "<td class='back'><font class='error'>{$varaosavirhe}</font></td>";
function piirra_tuntiraportti($asentaja = "", $kukarow, $yhtiorow, $vva, $kka, $ppa, $vvl, $kkl, $ppl, $tyom_nro = '', $asiakasid = '', $asiakasosasto = '', $asiakasryhma = '', $tyojono = '', $tyostatus = '', $ytunnus = '') { if (trim($asentaja) != "") { $asentaja = mysql_real_escape_string($asentaja); $asenlisa = " and kuka.kuka = '{$asentaja}' "; $keiklisa = " and matkalasku.toim_ovttunnus = '{$asentaja}' "; } else { $asenlisa = ""; $keiklisa = ""; } if (trim($tyom_nro) != '') { $lisa .= " and lasku.tunnus = '" . (int) $tyom_nro . "' "; } if (trim($asiakasid) != '') { $lisa .= " and lasku.liitostunnus = '" . (int) $asiakasid . "' "; } $asiakaslisa = ""; if (trim($asiakasosasto) != '') { $asiakaslisa .= " and asiakas.osasto = '" . mysql_real_escape_string($asiakasosasto) . "' "; } if (trim($asiakasryhma) != '') { $asiakaslisa .= " and asiakas.ryhma = '" . mysql_real_escape_string($asiakasryhma) . "' "; } if (trim($ytunnus) != '') { $asiakaslisa .= " and asiakas.ytunnus = '" . mysql_real_escape_string($ytunnus) . "' "; } $tyomaarayslisa = ''; if (trim($tyojono) != '') { $tyomaarayslisa .= " and tyomaarays.tyojono = '" . mysql_real_escape_string($tyojono) . "' "; } if (trim($tyostatus) != '') { $tyomaarayslisa .= " and tyomaarays.tyostatus = '" . mysql_real_escape_string($tyostatus) . "' "; } if (trim($tyom_nro) == '' and trim($vva) != '' and trim($kka) != '' and trim($ppa) != '' and trim($vvl) != '' and trim($kkl) != '' and trim($ppl) != '') { $vva = (int) $vva; $kka = (int) $kka; $ppa = (int) $ppa; $vvl = (int) $vvl; $kkl = (int) $kkl; $ppl = (int) $ppl; $lisa = " and lasku.luontiaika >= '{$vva}-{$kka}-{$ppa} 00:00:00' and lasku.luontiaika <= '{$vvl}-{$kkl}-{$ppl} 23:59:59' "; } $query = "SELECT\n lasku.tunnus, lasku.nimi, lasku.nimitark, lasku.ytunnus, lasku.luontiaika,\n (SELECT selitetark FROM avainsana WHERE avainsana.yhtio = lasku.yhtio AND avainsana.selite = tyomaarays.tyostatus AND avainsana.laji = 'TYOM_TYOSTATUS') tyostatus,\n lasku.erikoisale, lasku.valkoodi,\n group_concat(DISTINCT concat(left(kalenteri.pvmalku,16), '##', left(kalenteri.pvmloppu,16), '##', kuka.nimi, '##', kuka.kuka) ORDER BY kalenteri.pvmalku) asennuskalenteri\n FROM lasku\n JOIN yhtio ON (lasku.yhtio = yhtio.yhtio)\n JOIN tyomaarays ON (tyomaarays.yhtio = lasku.yhtio and tyomaarays.otunnus = lasku.tunnus {$tyomaarayslisa})\n JOIN asiakas ON (asiakas.yhtio = lasku.yhtio AND asiakas.tunnus = lasku.liitostunnus {$asiakaslisa})\n LEFT JOIN kalenteri ON (kalenteri.yhtio = lasku.yhtio and kalenteri.tyyppi = 'asennuskalenteri' and kalenteri.liitostunnus = lasku.tunnus)\n LEFT JOIN kuka ON (kuka.yhtio = kalenteri.yhtio and kuka.kuka = kalenteri.kuka {$asenlisa})\n WHERE lasku.yhtio = '{$kukarow['yhtio']}'\n and lasku.tila IN ('A','L','N','S','C')\n and lasku.tilaustyyppi = 'A'\n {$lisa}\n GROUP BY 1,2,3,4,5,6,7,8\n ORDER BY lasku.tunnus"; $sresult = pupe_query($query); if (mysql_num_rows($sresult) > 0) { $echootsikot = "<tr><th>" . t("Työmääräys") . ":<br>" . t("Nimi") . ":<br>" . t("Ytunnus") . ":</th><th>" . t("Työnjohdon työtunnit") . ":</th><th>" . t("Asentajien työtunnit") . "</th><th>" . t("Työstatus") . ":</th><th>" . t("Matkalaskut") . ":</th></tr>"; $kaletunnit = array(); $asekaletunnit = array(); $rivihinnat = array(); $kplyht = ''; $i = 0; $query_ale_lisa = generoi_alekentta('M'); while ($row = mysql_fetch_array($sresult)) { $query = "SELECT DISTINCT matkalasku.nimi, tilausrivi.tunnus, tilausrivi.tuoteno, tilausrivi.yksikko, tilausrivi.nimitys, tilausrivi.hinta, tilausrivi.kpl, tilausrivi.kommentti, tilausrivi.rivihinta\n FROM lasku keikka\n JOIN lasku liitosotsikko ON (keikka.yhtio = liitosotsikko.yhtio and keikka.laskunro = liitosotsikko.laskunro and keikka.tila = liitosotsikko.tila and liitosotsikko.alatila = '' and liitosotsikko.vanhatunnus != 0)\n JOIN lasku matkalasku ON (matkalasku.yhtio = liitosotsikko.yhtio and matkalasku.tunnus = liitosotsikko.vanhatunnus and matkalasku.tilaustyyppi = 'M')\n JOIN tilausrivi ON (tilausrivi.yhtio = matkalasku.yhtio and tilausrivi.otunnus = matkalasku.tunnus)\n WHERE keikka.yhtio = '{$kukarow['yhtio']}'\n and keikka.tila = 'K'\n and keikka.alatila = 'T'\n and keikka.liitostunnus = '{$row['tunnus']}'\n and keikka.ytunnus = '{$row['tunnus']}'\n and tilausrivi.kpl > 0\n and tilausrivi.tyyppi != 'D'\n {$keiklisa}"; $keikkares = pupe_query($query); if ($asentaja == "" or mysql_num_rows($keikkares) > 0 or $row["asennuskalenteri"] != "") { echo "{$echootsikot}"; if ($asentaja == "") { $echootsikot = ""; } echo "<tr>\n <td valign='top'>{$row['tunnus']}<br/>{$row['nimi']}"; if (trim($row['nimitark']) != '') { echo "<br/>{$row['nimitark']}"; } if (trim($row['ytunnus']) != '') { echo "<br/>{$row['ytunnus']}"; } echo "</td>\n <td valign='top' style='padding: 0px;' align='right'>"; if ($row["asennuskalenteri"] != "") { echo "<table width='100%'>"; foreach (explode(",", $row["asennuskalenteri"]) as $asekale) { list($alku, $loppu, $nimi, $kuka) = explode("##", $asekale); $atstamp = mktime(substr($alku, 11, 2), substr($alku, 14, 2), 0, substr($alku, 5, 2), substr($alku, 8, 2), substr($alku, 0, 4)); $ltstamp = mktime(substr($loppu, 11, 2), substr($loppu, 14, 2), 0, substr($loppu, 5, 2), substr($loppu, 8, 2), substr($loppu, 0, 4)); if (!isset($kaletunnit[$nimi])) { $kaletunnit[$nimi] = 0; } $kaletunnit[$nimi] += ($ltstamp - $atstamp) / 60; echo "<tr><td>{$nimi}:</td><td align='right'>" . tv1dateconv($alku, "P") . " - " . tv1dateconv($loppu, "P") . "</td></tr>"; } echo "</table>"; } $query = "SELECT GROUP_CONCAT(tilausrivi.yksikko,'#',if(tuote.tuotetyyppi = 'K', tilausrivi.varattu, 0)) yksikko,\n sum(if(tuote.tuotetyyppi = '', round(tilausrivi.hinta * (tilausrivi.varattu+tilausrivi.jt+tilausrivi.kpl) * {$query_ale_lisa},2), 0)) rivihinta_tuote,\n sum(if(tuote.tuotetyyppi = 'K', round(tilausrivi.hinta * (tilausrivi.varattu+tilausrivi.jt+tilausrivi.kpl) * {$query_ale_lisa},2), 0)) rivihinta_tyo\n FROM tilausrivi\n JOIN tuote ON (tuote.yhtio = tilausrivi.yhtio AND tuote.tuoteno = tilausrivi.tuoteno)\n WHERE tilausrivi.yhtio = '{$kukarow['yhtio']}'\n AND tilausrivi.otunnus = '{$row['tunnus']}'"; $rivihinta_res = pupe_query($query); $rivihinta_row = mysql_fetch_assoc($rivihinta_res); if (!isset($rivihinnat['Tuotteet'][$row['valkoodi']])) { $rivihinnat['Tuotteet'][$row['valkoodi']] = 0; } if (!isset($rivihinnat['Työt'][$row['valkoodi']])) { $rivihinnat['Työt'][$row['valkoodi']] = 0; } $rivihinnat['Tuotteet'][$row['valkoodi']] += $rivihinta_row['rivihinta_tuote']; $rivihinnat['Työt'][$row['valkoodi']] += $rivihinta_row['rivihinta_tyo']; if ($rivihinta_row['yksikko'] != '') { $kplyht = $rivihinta_row['yksikko']; } echo "</td>"; echo "<td valign='top' style='padding: 0px'>"; if ($row["tunnus"] != "") { $query = "SELECT concat(left(kalenteri2.pvmalku,16), '##', left(kalenteri2.pvmloppu,16), '##', kuka.nimi, '##', kuka.kuka) kalenteri\n FROM kalenteri kalenteri2\n LEFT JOIN kuka ON (kuka.yhtio = kalenteri2.yhtio and kuka.kuka = kalenteri2.kuka {$asenlisa})\n WHERE kalenteri2.yhtio = '{$kukarow['yhtio']}'\n AND kalenteri2.tyyppi = 'kalenteri'\n AND kalenteri2.kentta02 = '{$row['tunnus']}'"; $kalenteri_res = pupe_query($query); while ($kalenteri_row = mysql_fetch_assoc($kalenteri_res)) { echo "<table width='100%'>"; foreach (explode(",", $kalenteri_row["kalenteri"]) as $asekale) { list($alku, $loppu, $nimi, $kuka) = explode("##", $asekale); $atstamp = mktime(substr($alku, 11, 2), substr($alku, 14, 2), 0, substr($alku, 5, 2), substr($alku, 8, 2), substr($alku, 0, 4)); $ltstamp = mktime(substr($loppu, 11, 2), substr($loppu, 14, 2), 0, substr($loppu, 5, 2), substr($loppu, 8, 2), substr($loppu, 0, 4)); if (!isset($asekaletunnit[$nimi])) { $asekaletunnit[$nimi] = 0; } $asekaletunnit[$nimi] += ($ltstamp - $atstamp) / 60; echo "<tr><td>{$nimi}:</td><td align='right'>" . tv1dateconv($alku, "P") . " - " . tv1dateconv($loppu, "P") . "</td></tr>"; } echo "</table>"; } } echo "</td>"; echo "<td valign='top' style='padding: 0px'>{$row['tyostatus']}</td>"; echo "<td valign='top' style='padding: 0px;'>"; if (mysql_num_rows($keikkares) > 0) { echo "<table width='100%'>"; while ($keikkarow = mysql_fetch_array($keikkares)) { echo "<tr><td>{$keikkarow['nimi']}:</td><td>{$keikkarow['nimitys']}</td><td align='right'>" . (double) $keikkarow["kpl"] . "</td><td align='right'>" . sprintf("%.2f", $keikkarow["hinta"]) . " {$yhtiorow['valkoodi']}</td></tr>"; $matkakulut[$keikkarow["nimi"]][$keikkarow["nimitys"]] += $keikkarow["rivihinta"]; } echo "</table>"; } echo "</td>"; echo "</tr>"; } $i++; } if (isset($rivihinnat) and count($rivihinnat) > 0) { echo "<tr><td class='spec' valign='top'>" . t("Tuotteet ja työt yhteensä") . ":</td>"; echo "<td class='spec' style='padding: 0px;' valign='top'><table width='100%'>"; $hinnatyht = array(); foreach ($rivihinnat as $tuotetyyppi => $hinta) { foreach ($hinta as $valuutta => $rivihinta) { if ($rivihinta == 0) { continue; } echo "<tr><td class='spec' align='left'>", t("{$tuotetyyppi}") . ":"; if ($tuotetyyppi == 'Työt') { echo "<br/>"; $yksgroup = array(); foreach (explode(',', $kplyht) as $yksikko_kpl) { list($yksikko, $kpl) = explode('#', $yksikko_kpl); if ($yksikko != '' and $kpl != 0) { $yksgroup[$yksikko] += $kpl; } } $i = 0; foreach ($yksgroup as $yksikko => $kpl) { if ($i != 0) { echo "<br/>"; } echo "{$kpl} " . t_avainsana("Y", "", " and avainsana.selite='{$yksikko}'", "", "", "selite"); $i++; } } echo "</td><td class='spec' align='right'>{$rivihinta} {$valuutta}</td></tr>"; if (!isset($hinnatyht[$valuutta])) { $hinnatyht[$valuutta] = 0; } $hinnatyht[$valuutta] += $rivihinta; } } echo "<tr><td class='spec'>", t("Yhteensä"), ":</td>"; foreach ($hinnatyht as $val => $hinta) { echo "<td class='spec' align='right'>{$hinta} {$valuutta}</td>"; } echo "</tr></table></td>"; echo "<td class='spec'> </td><td class='spec'> </td><td class='spec'> </td></tr>"; } if (isset($kaletunnit) and count($kaletunnit) > 0 or isset($matkakulut) and count($matkakulut) > 0 or isset($asekaletunnit) and count($asekaletunnit) > 0) { echo "<tr><td class='spec' valign='top'>" . t("Tunnit yhteensä") . ":</td>"; echo "<td class='spec' style='padding: 0px;' valign='top'><table width='100%'>"; if (count($kaletunnit) > 0) { foreach ($kaletunnit as $kuka => $minuutit) { $tunti = floor($minuutit / 60); $minuutti = sprintf('%02d', $minuutit - $tunti * 60); echo "<tr><td class='spec'>{$kuka}:</td><td class='spec' align='right'>{$tunti}:{$minuutti} " . t("tuntia") . "</td></tr>"; } } echo "</table></td>"; echo "<td class='spec' style='padding: 0px' valign='top'><table width='100%'>"; if (count($asekaletunnit) > 0) { foreach ($asekaletunnit as $kuka => $minuutit) { $tunti = floor($minuutit / 60); $minuutti = sprintf('%02d', $minuutit - $tunti * 60); echo "<tr><td class='spec'>{$kuka}:</td><td class='spec' align='right'>{$tunti}:{$minuutti} " . t("tuntia") . "</td></tr>"; } } echo "</table></td>"; echo "<td class='spec'> </td><td class='spec' style='padding: 0px;' valign='top'><table width='100%'>"; if (isset($matkakulut) and count($matkakulut) > 0) { foreach ($matkakulut as $kuka => $matkat) { foreach ($matkat as $tuoteno => $hinta) { echo "<tr><td class='spec'>{$kuka}:</td><td class='spec'>{$tuoteno}</td><td class='spec'> </td><td class='spec' align='right'>" . sprintf("%.2f", $hinta) . " {$yhtiorow['valkoodi']}</td></tr>"; } } } echo "</table></td>"; echo "</tr>"; echo "<tr><td class='back'><br></td></tr>"; } } }
$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); $excelrivit[$xr]['saldo'] = $rivipaikkasaldo; } } $prn .= sprintf('%-7.7s', "_____"); $excelrivit[$xr]['määrä'] = ' '; $prn .= sprintf('%-9.9s', t_avainsana("Y", "", "and avainsana.selite='{$tuoterow['yksikko']}'", "", "", "selite")); $excelrivit[$xr]['yksikkö'] = t_avainsana("Y", "", "and avainsana.selite='{$tuoterow['yksikko']}'", "", "", "selite"); //katsotaan onko tuotetta tilauksessa $query = "SELECT sum(varattu) varattu, min(toimaika) toimaika\n FROM tilausrivi use index (yhtio_tyyppi_tuoteno_varattu)\n WHERE yhtio = '{$kukarow['yhtio']}'\n and tuoteno = '{$tuoterow['tuoteno']}'\n and varattu > 0\n and tyyppi = 'O'"; $result1 = pupe_query($query); $prow = mysql_fetch_assoc($result1); $prn .= sprintf('%-7.7d', $prow["varattu"]); $excelrivit[$xr]['tilkpl'] = $prow["varattu"]; //Haetaan kerätty määrä $query = "SELECT ifnull(sum(if(keratty!='',tilausrivi.varattu,0)),0) keratty, ifnull(sum(tilausrivi.varattu),0) ennpois\n FROM tilausrivi use index (yhtio_tyyppi_tuoteno_varattu)\n WHERE yhtio = '{$kukarow['yhtio']}'\n and tyyppi in ('L','G','V')\n and tuoteno = '{$tuoterow['tuoteno']}'\n and varattu <> 0\n and laskutettu = ''\n and hyllyalue = '{$tuoterow['hyllyalue']}'\n and hyllynro = '{$tuoterow['hyllynro']}'\n and hyllyvali = '{$tuoterow['hyllyvali']}'\n and hyllytaso = '{$tuoterow['hyllytaso']}'"; $hylresult = pupe_query($query); $hylrow = mysql_fetch_assoc($hylresult); $hylrow['ennpois'] = fmod($hylrow['ennpois'], 1) == 0 ? round($hylrow['ennpois']) : $hylrow['ennpois']; $hylrow['keratty'] = fmod($hylrow['keratty'], 1) == 0 ? round($hylrow['keratty']) : $hylrow['keratty']; if ($yhtiorow['laaja_inventointilista'] != "") { $prn .= sprintf('%-7.7s', "{$hylrow['ennpois']}/{$hylrow['keratty']}"); $prn .= sprintf('%-5.5s', $rivinro);
while ($sarjarow = mysql_fetch_assoc($sarjares)) { if (!$php_cli) { echo "<br>" . t("E:nro") . " {$sarjarow['sarjanumero']} ({$sarjarow['kpl']})"; } } } if (!$php_cli) { echo "</td>"; } $tuotensarake = $excelsarake; $worksheet->writeString($excelrivi, $excelsarake++, $epakurantti_row['tuoteno']); if (!$php_cli) { echo "<td>{$epakurantti_row['nimitys']}</td>"; } $worksheet->writeString($excelrivi, $excelsarake++, $epakurantti_row['nimitys']); $try = t_avainsana("TRY", '', "and selite = '{$epakurantti_row['try']}'", '', '', "selitetark"); $try_teksti = $try != "" ? "{$epakurantti_row['try']} - {$try}" : $epakurantti_row['try']; if (!$php_cli) { echo "<td>{$try_teksti}</td>"; } $worksheet->writeString($excelrivi, $excelsarake++, $try_teksti); if ($tulorow['laadittu'] == "1970-01-01") { if (!$php_cli) { echo "<td></td>"; } $worksheet->writeString($excelrivi, $excelsarake++, ""); } else { if (!$php_cli) { echo "<td>" . tv1dateconv($tulorow['laadittu']) . "</td>"; } $worksheet->writeDate($excelrivi, $excelsarake++, $tulorow['laadittu']);
// ostopuoli $query = "SELECT min(toimaika) toimaika,\n sum(varattu) tulossa\n FROM tilausrivi\n WHERE yhtio = '{$kukarow["yhtio"]}'\n AND tuoteno = '{$row["tuoteno"]}'\n AND tyyppi = 'O'\n AND varattu > 0"; $ostoresult = pupe_query($query); $ostorivi = mysql_fetch_assoc($ostoresult); // Ajetaan saldomyytävissä niin, että JT-rivejä ei huomioida suuntaaan eikä toiseen list($saldo, $hyllyssa, $myytavissa) = saldo_myytavissa($row["tuoteno"], 'JTSPEC'); $query = "SELECT sum(jt {$lisavarattu}) jt\n FROM tilausrivi use index (yhtio_tyyppi_tuoteno_laskutettuaika)\n WHERE yhtio = '{$kukarow["yhtio"]}'\n and tyyppi in ('L','G')\n and tuoteno = '{$row["tuoteno"]}'\n and laskutettuaika = '0000-00-00'\n and jt {$lisavarattu} > 0\n and kpl = 0\n and var = 'J'"; $juresult = pupe_query($query); $jurow = mysql_fetch_assoc($juresult); if ($myytavissa - $jurow["jt"] + $ostorivi["tulossa"] < 0) { $osastores = t_avainsana("OSASTO", "", "and avainsana.selite ='{$row['osasto']}'"); $osastorow = mysql_fetch_assoc($osastores); if ($osastorow['selitetark'] != "") { $row['osasto'] = $row['osasto'] . " - " . $osastorow['selitetark']; } $tryres = t_avainsana("TRY", "", "and avainsana.selite ='{$row['try']}'"); $tryrow = mysql_fetch_assoc($tryres); if ($tryrow['selitetark'] != "") { $row['try'] = $row['try'] . " - " . $tryrow['selitetark']; } $vajaasaldot_table .= "<tr class='aktiivi'>"; $vajaasaldot_table .= "<td>{$row['osasto']}</td>"; $vajaasaldot_table .= "<td>{$row['try']}</td>"; $vajaasaldot_table .= "<td><a href='{$palvelin2}tuote.php?tee=Z&tuoteno=" . urlencode($row["tuoteno"]) . "'>{$row['tuoteno']}</a></td>"; $vajaasaldot_table .= "<td>{$row['nimitys']}</td>"; $vajaasaldot_table .= "<td align='right'>{$saldo}</td>"; $vajaasaldot_table .= "<td align='right'>" . ($myytavissa - $jurow["jt"]) . "</td>"; $vajaasaldot_table .= "<td align='right'>{$ostorivi['tulossa']}</td>"; $vajaasaldot_table .= "<td>{$ostorivi['toimaika']}</td>"; $vajaasaldot_table .= "</tr>"; $excelsarake = 0;
} echo "<tr><th>" . t("Lähete") . ":</th><th colspan='{$spanni}'>"; $query = "SELECT *\n FROM kirjoittimet\n WHERE yhtio = '{$kukarow['yhtio']}'\n AND komento != 'EDI'\n ORDER by kirjoitin"; $kirre = pupe_query($query); echo "<select name='valittu_tulostin'>"; echo "<option value=''>" . t("Ei tulosteta") . "</option>"; while ($kirrow = mysql_fetch_assoc($kirre)) { $sel = isset($sel_lahete[$kirrow["tunnus"]]) ? " selected" : ""; echo "<option value='{$kirrow['tunnus']}'{$sel}>{$kirrow['kirjoitin']}</option>"; } echo "</select> " . t("Kpl") . ": <input type='text' size='4' name='lahetekpl' value='{$lahetekpl}'>"; echo "<input type='hidden' name='valittu_uista' value='1' />"; if ($yhtiorow["lahete_tyyppi_tulostus"] != '') { echo " " . t("Lähetetyyppi") . ": <select name='sellahetetyyppi'>"; $lahetetyyppi = pupesoft_lahetetyyppi($id); $vresult = t_avainsana("LAHETETYYPPI"); while ($row = mysql_fetch_assoc($vresult)) { $sel = ""; if ($row["selite"] == $lahetetyyppi) { $sel = 'selected'; } echo "<option value='{$row['selite']}' {$sel}>{$row['selitetark']}</option>"; } echo "</select>"; } echo "</th>"; if ($yhtiorow["kerayspoikkeama_kasittely"] != '') { echo "<th> </th>"; } echo "</tr>"; }
$indkatetot = sprintf('%.2f', $osastokatecuryht[$i] / $osastokateedyht[$i]); } else { $indkatetot = "n/a"; } if ($kaikkimyynticuryht != 0 and $osastomyynticuryht[$i] != 0) { $lvosuus = sprintf('%.2f', $osastomyynticuryht[$i] / $kaikkimyynticuryht * 100); } else { $lvosuus = 0; } if ($kaikkikatecuryht != 0 and $osastokatecuryht[$i] != 0) { $kateosuus = sprintf('%.2f', $osastokatecuryht[$i] / $kaikkikatecuryht * 100); } else { $kateosuus = 0; } // tehdään avainsana query $sresult = t_avainsana("OSASTO", "", "and avainsana.selite ='{$yhtrow['osasto']}'"); $srow = mysql_fetch_array($sresult); echo "<tr>"; echo "<td><b>{$yhtrow['osasto']} {$srow['selitetark']} yhteensä</b></td>"; echo "<td align='right'><b>" . str_replace(".", ",", $osastomyynticuryht[$i]) . "</b></td>"; echo "<td align='right'><b>" . str_replace(".", ",", $indlvtot) . "</b></td>"; if ($kukarow["extranet"] == '') { echo "<td align='right'><b>" . str_replace(".", ",", $lvosuus) . "%</b></td>"; } echo "<td align='right'><b>" . str_replace(".", ",", $osastokplcuryht[$i]) . "</b></td>"; echo "<td align='right'><b>" . str_replace(".", ",", $indkpltot) . "</b></td>"; if ($kukarow["extranet"] == '') { echo "<td align='right'><b>" . str_replace(".", ",", $osastokatecuryht[$i]) . "</b></td>"; echo "<td align='right'><b>" . str_replace(".", ",", $kateprosyht) . "%</b></td>"; echo "<td align='right'><b>" . str_replace(".", ",", $indkatetot) . "</b></td>"; echo "<td align='right'><b>" . str_replace(".", ",", $kateosuus) . "%</b></td>";
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); }
} else { $query = "SELECT DISTINCT asiakas.tunnus asiakkaan_tunnus,\n asiakas.ytunnus,\n asiakas.asiakasnro,\n asiakas.nimi,\n asiakas.nimitark,\n IF(STRCMP(TRIM(CONCAT(asiakas.toim_nimi, ' ', asiakas.toim_nimitark)), TRIM(CONCAT(asiakas.nimi, ' ', asiakas.nimitark))) != 0, asiakas.toim_nimi, '') toim_nimi,\n IF(STRCMP(TRIM(CONCAT(asiakas.toim_nimi, ' ', asiakas.toim_nimitark)), TRIM(CONCAT(asiakas.nimi, ' ', asiakas.nimitark))) != 0, asiakas.toim_nimitark, '') toim_nimitark\n FROM asiakas\n WHERE asiakas.yhtio = '{$kukarow["yhtio"]}'\n and asiakas.laji != 'P'\n {$lisa}"; } } elseif ($toim == "MYYJA") { $query = "SELECT kuka.tunnus myyjan_tunnus,\n kuka.nimi,\n kuka.myyja\n FROM kuka\n WHERE kuka.yhtio = '{$kukarow['yhtio']}'\n AND kuka.extranet = ''\n AND kuka.myyja > 0\n {$lisa}"; } $result = pupe_query($query); echo "<br><font class='message'>" . t("Tavoiteluvut") . "</font><br>"; echo "<hr />"; if (isset($osastotryttain) and $osastotryttain == "tuoteryhmittain") { // Haetaan tuoteryhmät $res = t_avainsana("TRY"); $rivimaara = mysql_num_rows($res) * mysql_num_rows($result); } elseif (isset($osastotryttain) and $osastotryttain == "osastoittain") { // Haetaan osastot $res = t_avainsana("OSASTO"); $rivimaara = mysql_num_rows($res) * mysql_num_rows($result); } else { $rivimaara = mysql_num_rows($result); } if ($rivimaara >= $maxrivimaara) { echo "<br><font class='error'>" . t("HUOM: Maksimirivimäärä ylittyi, rivejä ei näytetä ruudulla. Tallenna Excel-tiedosto") . "!</font><br><br>"; } else { echo "<form method='post' enctype='multipart/form-data' autocomplete='off'>"; // Laitetaan monivalintalaatikoiden valinnat myös mukaan foreach ($_REQUEST as $a => $null) { if (substr($a, 0, 4) == "mul_") { foreach (${$a} as $val) { echo "<input type='hidden' name='{$a}[]' value = '{$val}'>"; } }