$yhtiot = array(); $yhtiot[] = $kukarow["yhtio"]; } $nayta_sarake = $piilota_matkasarakkeet != "" ? FALSE : TRUE; $piirra_yhteenveto = $nayta_yhteenveto != "" ? TRUE : FALSE; echo "<br><br><table>"; $asiakasjoini = ""; if ($lisa != '') { $asiakasjoini = " LEFT JOIN asiakas USE INDEX (ytunnus_index) ON (asiakas.tunnus = kalenteri.liitostunnus AND asiakas.yhtio = kalenteri.yhtio) "; } foreach ($yhtiot as $yhtio) { $query = "SELECT kuka.nimi kukanimi,\n kuka.yhtio yhtijo,\n avainsana.selitetark aselitetark,\n count(*) montakotapahtumaa,\n kalenteri.kuka,\n avainsana.tunnus\n FROM kalenteri\n JOIN kuka ON (kuka.kuka = kalenteri.kuka AND kuka.yhtio = kalenteri.yhtio)\n JOIN avainsana ON (avainsana.yhtio = kalenteri.yhtio AND avainsana.tunnus IN ({$kale_querylisa}))\n {$asiakasjoini}\n WHERE kalenteri.yhtio = '{$yhtio}'\n AND kalenteri.kuka IN ({$vertaa})\n AND kalenteri.pvmalku >= '{$vva}-{$kka}-{$ppa} 00:00:00'\n AND kalenteri.pvmalku <= '{$vvl}-{$kkl}-{$ppl} 23:59:59'\n AND kalenteri.tyyppi IN ('kalenteri','memo')\n AND kalenteri.tapa = avainsana.selitetark\n {$lisa}\n GROUP BY 1,2,3\n HAVING count(*) > 0\n ORDER BY kukanimi, aselitetark"; $result_group = pupe_query($query); if (mysql_num_rows($result_group) > 0) { include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; $excelsarake = 0; if ($piirra_yhteenveto) { // yhteenveto alkuun echo "<tr>"; echo "<th>" . t("Edustaja") . "</th>"; echo "<th>" . t("Yhtiö") . "</th>"; echo "<th>" . t("Tapa") . "</th>"; echo "<th>" . t("Tapahtumia") . "</th>"; echo "</tr>"; $worksheet->write($excelrivi, $excelsarake++, t("Edustaja"), $format_bold); $worksheet->write($excelrivi, $excelsarake++, t("Yhtiö"), $format_bold); $worksheet->write($excelrivi, $excelsarake++, t("Tapa"), $format_bold); $worksheet->write($excelrivi, $excelsarake++, t("Tapahtumia"), $format_bold);
echo "<font class='error'>", t("Anna jokin rajaus"), "!</font>"; $tee = ""; } if ($tee != "" and isset($painoinnappia)) { if ($yhtiorow["varaako_jt_saldoa"] != "") { $lisavarattu = " + tilausrivi.varattu"; } else { $lisavarattu = ""; } if ($toimittajaid != "") { $toimittaja_join = " JOIN tuotteen_toimittajat ON (tuotteen_toimittajat.yhtio = tuote.yhtio\n AND tuotteen_toimittajat.tuoteno = tuote.tuoteno\n AND tuotteen_toimittajat.liitostunnus = '{$toimittajaid}')"; } else { $toimittaja_join = ""; } include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; $vajaasaldot_table = "<table>"; $vajaasaldot_table .= "<th>" . t("Osasto") . "</th>"; $vajaasaldot_table .= "<th>" . t("Tuoteryhmä") . "</th>"; $vajaasaldot_table .= "<th>" . t("Tuoteno") . "</th>"; $vajaasaldot_table .= "<th>" . t("Nimitys") . "</th>"; $vajaasaldot_table .= "<th>" . t("Varastosaldo") . "</th>"; $vajaasaldot_table .= "<th>" . t("Vapaa saldo") . "</th>"; $vajaasaldot_table .= "<th>" . t("Tulossa") . "</th>"; $vajaasaldot_table .= "<th>" . t("Toimaika") . "</th>"; $excelsarake = 0; $worksheet->writeString($excelrivi, $excelsarake++, t("Osasto")); $worksheet->writeString($excelrivi, $excelsarake++, t("Tuoteryhmä")); $worksheet->writeString($excelrivi, $excelsarake++, t("Tuoteno"));
if ($php_cli or isset($ajo_tee) and ($ajo_tee == "NAYTA" or $ajo_tee == "NAYTAPV" or $ajo_tee == "EPAKURANTOI")) { // Viimeisimmästä tulosta ja laskutuksesta näin monta päivää HOUM: tän voi laittaa myös salasanat.php:seen. if (!isset($epakurtasot_array)) { $epakurtasot_array = array("100%" => 913, "75%" => 820, "50%" => 730, "25%" => 547); } // Tämä päivä $today = time(); // Tehdään kaikki tapahtumat samalle tositteelle! $tapahtumat_samalle_tositteelle = "kylla"; $laskuid = 0; $epa_tuotemaara = 0; // Haetaan kaikki saldolliset tuotteet $query = "SELECT tuote.tuoteno,\n tuote.nimitys,\n tuote.try,\n tuote.epakurantti25pvm,\n tuote.epakurantti50pvm,\n tuote.epakurantti75pvm,\n tuote.epakurantti100pvm,\n if(tuote.epakurantti100pvm = '0000-00-00', if(tuote.epakurantti75pvm = '0000-00-00', if(tuote.epakurantti50pvm = '0000-00-00', if(tuote.epakurantti25pvm = '0000-00-00', tuote.kehahin, tuote.kehahin * 0.75), tuote.kehahin * 0.5), tuote.kehahin * 0.25), 0) kehahin,\n tuote.kehahin bruttokehahin,\n tuote.luontiaika,\n tuote.vihapvm,\n tuote.sarjanumeroseuranta,\n sum(tuotepaikat.saldo) saldo\n FROM tuote\n JOIN tuotepaikat ON (tuotepaikat.yhtio = tuote.yhtio AND tuotepaikat.tuoteno = tuote.tuoteno)\n WHERE tuote.yhtio = '{$kukarow['yhtio']}'\n AND tuote.ei_saldoa = ''\n AND tuote.epakurantti100pvm = '0000-00-00'\n AND tuote.sarjanumeroseuranta NOT IN ('S','G')\n GROUP BY 1,2,3,4,5,6,7,8,9,10\n HAVING saldo > 0\n ORDER BY tuoteno"; $epakurantti_result = pupe_query($query); include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; $excelsarake = 0; if (!$php_cli) { if ($ajo_tee == "NAYTAPV") { // Simuloidaan tulevaisuuteen $today = $syotetty_paiva; } echo "<br><table>"; echo "<tr>"; echo "<th>" . t("Tuote") . "</th>"; echo "<th>" . t("Nimitys") . "</th>"; echo "<th>" . t("Try") . "</th>"; echo "<th>" . t("Viimeisin saapuminen") . "</th>"; echo "<th>" . t("Viimeisin laskutus") . "</th>";
echo "<form method='post'>"; echo "<input type='hidden' name='matee' value='kaikki'>"; echo "<table style='display:inline;padding-right:4px;'>"; echo "<tr><th>" . t("Syötä alkupäivämäärä (pp-kk-vvvv)") . "</th>\n <td><input type='text' name='ppa' value='{$ppa}' size='3'></td>\n <td><input type='text' name='kka' value='{$kka}' size='3'></td>\n <td><input type='text' name='vva' value='{$vva}' size='5'></td>\n </tr><tr><th>" . t("Syötä loppupäivämäärä (pp-kk-vvvv)") . "</th>\n <td><input type='text' name='ppl' value='{$ppl}' size='3'></td>\n <td><input type='text' name='kkl' value='{$kkl}' size='3'></td>\n <td><input type='text' name='vvl' value='{$vvl}' size='5'></td></tr>"; echo "<tr><th>" . t("Summaa myynnit per asiakas") . ":</th><td colspan='3'><input type='radio' name='summaa' value='summaa' {$chk}></td></tr>"; echo "<tr><th>" . t("Summaa myynnit per ytunnus") . ":</th><td colspan='3'><input type='radio' name='summaa' value='summaa_ytunnus' {$chk1}></td></tr>"; echo "</table>"; // Monivalintalaatikot (osasto, try tuotemerkki...) // Määritellään mitkä latikot halutaan mukaan $monivalintalaatikot = array("OSASTO", "TRY"); require "../tilauskasittely/monivalintalaatikot.inc"; echo "<br><input type='submit' name='AJA' value='" . t("Aja raportti") . "'>"; echo "</form><br><br>"; if ($matee != '' and isset($AJA)) { include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; $worksheet->writeString($excelrivi, 0, t("Myynti asiakkaittain")); $excelrivi++; $select = "lasku.liitostunnus, asiakas.piiri, tuote.aleryhma, max(lasku.ytunnus) ytunnus, max(lasku.nimi) nimi, max(lasku.nimitark) nimitark, "; $group = "lasku.liitostunnus, asiakas.piiri, tuote.aleryhma"; if ($summaa == 'summaa') { $select = "lasku.liitostunnus, max(asiakas.ytunnus) ytunnus, max(asiakas.nimi) nimi, max(asiakas.nimitark) nimitark, "; $group = "lasku.liitostunnus"; } if ($summaa == 'summaa_ytunnus') { $select = "lasku.ytunnus, max(asiakas.nimi) nimi, max(asiakas.nimitark) nimitark, "; $group = "lasku.ytunnus"; } $query = "SELECT {$select}\n sum(tilausrivi.rivihinta) summa,\n sum(tilausrivi.kate) kate,\n sum(tilausrivi.kpl) kpl\n FROM lasku\n JOIN tilausrivi ON (tilausrivi.yhtio = lasku.yhtio and tilausrivi.uusiotunnus = lasku.tunnus and tilausrivi.tyyppi = 'L')\n JOIN asiakas ON (asiakas.yhtio = tilausrivi.yhtio and asiakas.tunnus = lasku.liitostunnus)\n JOIN tuote ON (tuote.yhtio = tilausrivi.yhtio and tuote.tuoteno = tilausrivi.tuoteno)\n WHERE lasku.yhtio = '{$kukarow['yhtio']}'\n and lasku.tila = 'U'\n and lasku.alatila = 'X'\n and lasku.tapvm >= '{$vva}-{$kka}-{$ppa}'\n and lasku.tapvm <= '{$vvl}-{$kkl}-{$ppl}'\n {$lisa}\n GROUP BY {$group}\n ORDER BY nimi, nimitark, ytunnus";
echo "<table><tr>"; echo "<th>" . t("tilno") . "</th>"; echo "<th>" . t("ytunnus") . "</th>"; echo "<th>" . t("nimi") . "</th>"; echo "<th><a href='?suunta={$suunta}&ytunnus={$ytunnus}'>" . t("Toimitusaika") . "</a></th>"; echo "<th>" . t("rivimäärä") . "</th>"; echo "<th>" . t("kplmäärä") . "</th>"; echo "<th>" . t("arvo") . "</th>"; echo "<th>" . t("valuutta") . "</th>"; echo "</tr>"; $query_ale_lisa = generoi_alekentta('M'); $query = "SELECT lasku.tunnus, lasku.nimi, lasku.toimaika, lasku.valkoodi, lasku.ytunnus,\n count(*) maara,\n sum(tilausrivi.varattu+tilausrivi.jt) tilattu,\n round(sum(tilausrivi.hinta / if('{$yhtiorow['alv_kasittely']}' = '' and tilausrivi.alv < 500, (1+tilausrivi.alv/100), 1) * (tilausrivi.varattu+tilausrivi.jt) * {$query_ale_lisa}),2) arvo,\n round(sum(tilausrivi.hinta / if('{$yhtiorow['alv_kasittely']}' = '' and tilausrivi.alv < 500, (1+tilausrivi.alv/100), 1) * (tilausrivi.varattu+tilausrivi.jt) * {$query_ale_lisa}),2) jt_arvo\n FROM lasku\n JOIN tilausrivi use index (yhtio_otunnus) on (tilausrivi.yhtio = lasku.yhtio and tilausrivi.otunnus = lasku.tunnus and tilausrivi.tyyppi != 'D')\n WHERE lasku.yhtio = '{$kukarow['yhtio']}' and lasku.tila in ('L', 'N') and lasku.alatila != 'X'\n {$lisa}\n GROUP BY 1,2,3,4,5\n ORDER BY lasku.toimaika {$suunta}, lasku.nimi, lasku.tunnus"; $result = pupe_query($query); if ($vain_excel != '' or $vain_excel_kaikki != '') { include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; if (isset($worksheet)) { $excelsarake = 0; $worksheet->write($excelrivi, $excelsarake, t("Tilno"), $format_bold); $excelsarake++; $worksheet->write($excelrivi, $excelsarake, t("Ytunnus"), $format_bold); $excelsarake++; $worksheet->write($excelrivi, $excelsarake, t("Nimi"), $format_bold); $excelsarake++; $worksheet->write($excelrivi, $excelsarake, t("Toimitusaika"), $format_bold); $excelsarake++; $worksheet->write($excelrivi, $excelsarake, t("rivimäärä"), $format_bold); $excelsarake++; $worksheet->write($excelrivi, $excelsarake, t("kplmäärä"), $format_bold);
if (empty($_tunnukset)) { $_tunnukset = "''"; } $query = "SELECT\n {$selecti},\n {$summalisa}\n min(lasku.liitostunnus) litu,\n min(lasku.tunnus) latunnari\n FROM lasku\n JOIN tiliointi use index (tositerivit_index) ON (lasku.yhtio = tiliointi.yhtio and lasku.tunnus = tiliointi.ltunnus and tiliointi.tilino in ({$tili}) and tiliointi.korjattu = '' and tiliointi.tapvm <= '{$savvl}-{$sakkl}-{$sappl}' {$tiliointilisa})\n {$luottolisa}\n WHERE lasku.yhtio = '{$saatavat_yhtio}'\n and lasku.tunnus IN ({$_tunnukset})\n GROUP BY {$grouppauslisa}\n {$having}\n ORDER BY 1,2,3"; $result = pupe_query($query); $saatavat_yhteensa = array(); $avoimia_yhteensa = 0; $kaato_yhteensa = 0; $ylivito = 0; $rivilask = 0; $avoimettilaukset_yhteensa = 0; $luottotilanne_nyt_yhteensa = 0; if (mysql_num_rows($result) > 0) { if ($eiliittymaa != 'ON') { include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; $excelsarake = 0; if ($grouppaus != "kustannuspaikka") { $worksheet->write($excelrivi, $excelsarake, t("Ytunnus"), $format_bold); $excelsarake++; $worksheet->write($excelrivi, $excelsarake, t("Nimi"), $format_bold); $excelsarake++; } if ($grouppaus == "kustannuspaikka" or $tiliointilisa != "") { $worksheet->write($excelrivi, $excelsarake, t("Kustannuspaikka"), $format_bold); $excelsarake++; } $worksheet->write($excelrivi, $excelsarake, t("Alle") . " {$saatavat_array[0]} " . t("pv"), $format_bold); $excelsarake++;
if (isset($GLOBALS['eta_yhtio']) and $GLOBALS['eta_yhtio'] != '' and ($GLOBALS['koti_yhtio'] != $kukarow['yhtio'] or $asiakasrow['osasto'] != '6')) { $GLOBALS['eta_yhtio'] = ""; } elseif (isset($GLOBALS['eta_yhtio']) and $GLOBALS['eta_yhtio'] != '') { // haetaan etäyhtiön tiedot $yhtiorow_eta = $yhtiorow = hae_yhtion_parametrit($GLOBALS['eta_yhtio']); } echo "<br><br><font class='message'>" . t("Asiakashinnastoa luodaan...") . "</font><br>"; flush(); require_once 'inc/ProgressBar.class.php'; $bar = new ProgressBar(); $elements = mysql_num_rows($rresult); // total number of elements to process $bar->initialize($elements); // print the empty bar include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; $excelsarake = 0; if (isset($worksheet)) { $worksheet->writeString($excelrivi, 0, t("Ytunnus", $hinkieli) . ": {$ytunnus}", $format_bold); $excelrivi++; $worksheet->writeString($excelrivi, 0, t("Asiakas", $hinkieli) . ": {$asiakasrow['nimi']} {$asiakasrow['nimitark']}", $format_bold); $excelrivi++; $worksheet->writeString($excelrivi, $excelsarake, t("Tuotenumero", $hinkieli), $format_bold); $excelsarake++; $worksheet->writeString($excelrivi, $excelsarake, t("EAN-koodi", $hinkieli), $format_bold); $excelsarake++; if (!$tuoteryhmaosasto) { $worksheet->writeString($excelrivi, $excelsarake, t("Osasto", $hinkieli), $format_bold); $excelsarake++;
// Livesearch jutut enable_ajax(); js_popup(); if (!isset($excel)) { $excel = ""; } if (!isset($livesearch_tee)) { $livesearch_tee = ""; } if ($livesearch_tee == "TILIHAKU") { livesearch_tilihaku(); exit; } if ($excel == "YES") { include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; } require "inc/{$cleantoim}.inc"; if (isset($worksheet) and $excelrivi > 0) { $excelnimi = $worksheet->close(); echo "<br><br><table>"; echo "<tr><th>" . t("Tallenna tulos") . ":</th>"; echo "<form method='post' class='multisubmit'>"; echo "<input type='hidden' name='toim' value='{$toim}'>"; echo "<input type='hidden' name='tee' value='lataa_tiedosto'>"; echo "<input type='hidden' name='kaunisnimi' value='" . ucfirst(strtolower($toim)) . ".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>";
list($headerivi, $tuoterivi) = ostot(); // lisätään tämän tuotteen rivi outputtiin $tuoterivit[] = $tuoterivi; $bar->increase(); //calls the bar with every processed element } if ($rivi_count > 0) { // Tehdään datasta Exceli echo "<br>"; echo t("Luodaan Excel."); echo "<br>"; flush(); $bar = new ProgressBar(); $bar->initialize($rivi_count); //print the empty bar $worksheet = new pupeExcel(); $format_bold = array("bold" => true); $excelrivi = 0; $excelsarake = 0; // Otetaan headerit $headerit = str_getcsv($headerivi, "\t"); // Kirjoitetaan headerit foreach ($headerit as $header) { $worksheet->writeString($excelrivi, $excelsarake++, $header, $format_bold); } $excelrivi++; $excelsarake = 0; // Kirjoitetaan rivit foreach ($tuoterivit as $rivi) { $rivi = explode("\t", $rivi); foreach ($rivi as $sarake) {
// generoidaan selectit $query .= " FROM tuote\n JOIN tapahtuma ON (tapahtuma.yhtio = tuote.yhtio\n and tapahtuma.laji = 'inventointi'\n and tapahtuma.tuoteno = tuote.tuoteno\n and tapahtuma.laadittu >= '{$vva}-{$kka}-{$ppa} 00:00:00'\n and tapahtuma.laadittu <= '{$vvl}-{$kkl}-{$ppl} 23:59:59')\n JOIN varastopaikat ON (varastopaikat.yhtio = tapahtuma.yhtio\n AND varastopaikat.tunnus = tapahtuma.varasto)\n LEFT JOIN kuka ON (tapahtuma.yhtio = kuka.yhtio\n and tapahtuma.laatija = kuka.kuka)\n WHERE tuote.yhtio in ({$yhtio})\n {$lisa}\n group by {$group}\n order by {$order}"; // ja sitten ajetaan itte query if ($query != "") { $result = pupe_query($query); $elements = mysql_num_rows($result); $numfields = mysql_num_fields($result); $rivilimitti = 1000; if ($elements > $rivilimitti) { echo "<br><font class='error'>" . t("Hakutulos oli liian suuri") . "!</font><br>"; echo "<font class='error'>" . t("Tallenna/avaa tulos excelissä") . "!</font><br><br>"; } } if ($query != "") { include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; echo "<table>"; echo "<tr>\n <th>" . t("Kausi nyt") . "</th>\n <td>{$ppa}</td>\n <td>{$kka}</td>\n <td>{$vva}</td>\n <th>-</th>\n <td>{$ppl}</td>\n <td>{$kkl}</td>\n <td>{$vvl}</td>\n </tr>\n"; echo "</table><br>"; if ($elements <= $rivilimitti) { echo "<table><tr>"; } // echotaan kenttien nimet for ($i = 0; $i < $numfields; $i++) { if ($elements <= $rivilimitti) { echo "<th>" . t(mysql_field_name($result, $i)) . "</th>"; } } if (isset($worksheet)) {
$ok++; } if ($asosasto != '') { $ok++; } if ($ok != 1) { echo "<br><br><font class='error'>" . t("VIRHE: Valitse asiakas tai asiakasosasto") . "!</font><br><br><br>"; } elseif ($asiakasid != '') { $query = "SELECT t.tuoteno, t.nimitys,\n sum(if(t.laskutettuaika >= '{$apvm}' and t.laskutettuaika <= '{$lpvm}', t.rivihinta,0)) summa,\n sum(if(t.laskutettuaika >= '{$eapvm}' and t.laskutettuaika <= '{$elpvm}', t.rivihinta,0)) edsumma,\n sum(if(t.laskutettuaika >= '{$apvm}' and t.laskutettuaika <= '{$lpvm}', t.kate,0)) kate,\n sum(if(t.laskutettuaika >= '{$eapvm}' and t.laskutettuaika <= '{$elpvm}', t.kate,0)) edkate,\n sum(if(t.laskutettuaika >= '{$apvm}' and t.laskutettuaika <= '{$lpvm}', t.kpl,0)) kpl,\n sum(if(t.laskutettuaika >= '{$eapvm}' and t.laskutettuaika <= '{$elpvm}', t.kpl,0)) edkpl\n FROM lasku l use index (yhtio_tila_liitostunnus_tapvm)\n JOIN tilausrivi t ON ( l.yhtio = t.yhtio and l.tunnus = t.uusiotunnus)\n WHERE l.yhtio = '{$kukarow['yhtio']}'\n AND l.tila = 'u'\n AND l.alatila = 'x'\n AND l.liitostunnus = '{$asiakasid}'\n AND ((l.tapvm >= '{$apvm}' and l.tapvm <= '{$lpvm}') or (l.tapvm >= '{$eapvm}' and l.tapvm <= '{$elpvm}'))\n GROUP BY 1,2\n ORDER BY 1"; } elseif ($asosasto != '') { $query = "SELECT t.tuoteno, t.nimitys,\n sum(if(t.laskutettuaika >= '{$apvm}' and t.laskutettuaika <= '{$lpvm}', t.rivihinta,0)) summa,\n sum(if(t.laskutettuaika >= '{$eapvm}' and t.laskutettuaika <= '{$elpvm}', t.rivihinta,0)) edsumma,\n sum(if(t.laskutettuaika >= '{$apvm}' and t.laskutettuaika <= '{$lpvm}', t.kate,0)) kate,\n sum(if(t.laskutettuaika >= '{$eapvm}' and t.laskutettuaika <= '{$elpvm}', t.kate,0)) edkate,\n sum(if(t.laskutettuaika >= '{$apvm}' and t.laskutettuaika <= '{$lpvm}', t.kpl,0)) kpl,\n sum(if(t.laskutettuaika >= '{$eapvm}' and t.laskutettuaika <= '{$elpvm}', t.kpl,0)) edkpl\n FROM asiakas a use index (yhtio_osasto_ryhma)\n JOIN lasku l use index (yhtio_tila_liitostunnus_tapvm) ON (a.yhtio = l.yhtio AND l.liitostunnus = a.tunnus and l.tila = 'u' and l.alatila = 'x' and ((l.tapvm >= '{$apvm}' and l.tapvm <= '{$lpvm}') or (l.tapvm >= '{$eapvm}' and l.tapvm <= '{$elpvm}')))\n JOIN tilausrivi t ON (l.yhtio = t.yhtio and l.tunnus = t.uusiotunnus)\n WHERE a.yhtio = '{$kukarow['yhtio']}'\n and a.osasto = '{$asosasto}'\n group by 1,2\n order by 1"; } if ($ok == 1 and ($asiakasid != '' or $asosasto != '')) { $result = pupe_query($query); include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; echo "<table><tr><th colspan='2'>" . t("Annetut rajaukset") . "</th></tr>"; echo "<tr><th>" . t("Ytunnus") . "</th><td>{$ytunnus}</td></tr>"; echo "<tr><th>" . t("Asiakasosasto") . "</th><td>{$asosasto}</td></tr>"; echo "<tr><th>" . t("Alkupäivämäärä") . "</th><td>{$apvm}</td></tr>"; echo "<tr><th>" . t("Loppupäivämäärä") . "</th><td>{$lpvm}</td></tr>"; echo "</table><br>"; echo "<table><tr>"; echo "<th>" . t("Tuoteno") . "</th>"; echo "<th>" . t("Nimitys") . "</th>"; echo "<th>" . t("Summa") . "</th>"; echo "<th>" . t("Kate") . "</th>"; echo "<th>" . t("Määrä") . "</th>"; echo "<th>" . t("Ed.Summa") . "</th>";
echo "<font class='message'>" . t("ABC-luokka tai ABC-osastoluokka tai ABC-tuoteryhmäluokka") . " >= {$ryhmanimet[$abcrajaus]} " . t("tai sitä on jälkitoimituksessa"); if ($valitut["VAINUUDETTUOTTEET"] == '' and $valitut["UUDETTUOTTEET"] == '') { echo " " . t("tai tuote on perustettu viimeisen 12kk sisällä") . ".<br>"; } else { echo ".<br>"; } } echo t("Tuotteita") . " " . mysql_num_rows($res) . " " . t("kpl") . ".<br>"; if ($valitut["EHDOTETTAVAT"] != '') { echo "<font class='message'>" . t("Joista jätetään pois ne tuotteet joita ei ehdoteta ostettavaksi") . ".<br>"; } flush(); if (mysql_num_rows($res) > 0) { require 'inc/ProgressBar.class.php'; include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $rivi = ""; $excelrivi = 0; $excelsarake = 0; $rivi .= t("tuoteno") . "\t"; $worksheet->writeString($excelrivi, $excelsarake, ucfirst(t("tuoteno")), $format_bold); $excelsarake++; if ($paikoittain != '') { $rivi .= t("Varastopaikka") . "\t"; $worksheet->writeString($excelrivi, $excelsarake, ucfirst(t("Varastopaikka")), $format_bold); $excelsarake++; } foreach ($valitut as $val) { $rivi .= $sarakkeet[$val]; if ($sarakkeet[$val] != '') {
echo "<textarea cols='35' rows='7' name='fakta2'>{$faktarow["fakta2"]}</textarea>"; } else { echo "{$faktarow['fakta2']}"; } echo "</td>"; } echo "</tr>"; echo "</table>"; if ($oikeurow['paivitys'] == '1') { echo "<br>"; echo "<input type='submit' value='" . t("Tallenna") . "'>"; } echo "</form>"; echo "<br><br>"; include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; $excelsarake = 0; $worksheet->writeString($excelrivi, $excelsarake++, t("Isätuote")); echo "<table class='responsive'>"; echo "<tr>"; if ($toim == "PERHE") { echo "<th>" . t("Lapset") . "</th>"; echo "<th>" . t("Nimitys") . "</th>"; echo "<th>" . t("Määräkerroin") . "</th>"; echo "<th>" . t("Hintakerroin") . "</th>"; echo "<th>" . t("Alennuskerroin") . "</th>"; echo "<th>" . t("Kehahin") . "</th>"; echo "<th>" . t("Kehahin*Kerroin") . "</th>"; echo "<th>" . t("Ohita keräys") . "</th>";
} else { $tuotepaikka_join = ""; $varasto_filter = ""; $varasto_tilausrivi_filter = ""; } if ($toimittajaid != "") { $toimittaja_join = " JOIN tuotteen_toimittajat ON (tuotteen_toimittajat.yhtio = tuote.yhtio\n AND tuotteen_toimittajat.tuoteno = tuote.tuoteno\n AND tuotteen_toimittajat.liitostunnus = '{$toimittajaid}')"; } else { $toimittaja_join = ""; } $query = "SELECT DISTINCT tuote.tuoteno,\n tuote.nimitys,\n tuote.osasto,\n tuote.try,\n tuote.myyntihinta,\n tuote.varmuus_varasto,\n tuote.kehahin,\n tuote.epakurantti25pvm,\n tuote.epakurantti50pvm,\n tuote.epakurantti75pvm,\n tuote.epakurantti100pvm,\n tuote.eankoodi\n FROM tuote\n {$toimittaja_join}\n {$tuotepaikka_join}\n WHERE tuote.yhtio = '{$kukarow["yhtio"]}'\n {$lisa}\n {$varasto_filter}\n AND (tuote.status != 'P' OR ( SELECT sum(tuotepaikat.saldo)\n FROM tuotepaikat\n WHERE tuotepaikat.yhtio = tuote.yhtio\n AND tuotepaikat.tuoteno = tuote.tuoteno\n AND tuotepaikat.saldo > 0) > 0)\n ORDER BY tuote.osasto, tuote.try, tuote.tuoteno"; $eresult = pupe_query($query); $total_rows = mysql_num_rows($eresult); if ($total_rows > 0) { include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; if ($total_rows <= 1000) { $varastotilasto_table = "<table class='display dataTable' id='{$pupe_DataTables}'>"; $varastotilasto_table .= "<thead>"; $varastotilasto_table .= "<tr>"; $varastotilasto_table .= "<th>" . t("Osasto") . "</th>"; $varastotilasto_table .= "<th>" . t("Tuoteryhmä") . "</th>"; $varastotilasto_table .= "<th>" . t("Tuoteno") . "</th>"; $varastotilasto_table .= "<th>" . t("Nimitys") . "</th>"; $varastotilasto_table .= "<th>" . t("Varastosaldo") . "</th>"; if ($nayta_vapaa_saldo == "on") { $varastotilasto_table .= "<th>" . t("Vapaa saldo") . "</th>"; } $varastotilasto_table .= "<th>" . t("Varastonarvo") . "</th>";
echo "<tr><td><textarea id='query_kentta' cols='100' rows='15' rows='15' name='sqlhaku' style='font-family:\"Courier New\",Courier'>{$sqlhaku}</textarea></td></tr>"; echo "<tr><td class='back'><input type='submit' name='suoritanappi' value='" . t("Suorita") . "'></td></tr>"; echo "</table>"; echo "</form>"; } // eka sana pitää olla select... safe enough kai. if (!empty($sqlhaku) and substr($sqlhaku, 0, strpos($sqlhaku, " ")) != 'select') { echo "<font class='error'>" . t("Ainoastaan SELECT lauseet sallittu") . "!</font><br>"; $sqlhaku = ""; } if ($sqlhaku != '' and isset($suoritanappi)) { $result = pupe_query($sqlhaku); if (mysql_num_rows($result) > 0) { require 'inc/ProgressBar.class.php'; include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; $sarakemaara = mysql_num_fields($result); for ($i = 0; $i < $sarakemaara; $i++) { $worksheet->write($excelrivi, $i, ucfirst(t(mysql_field_name($result, $i))), $format_bold); } $excelrivi++; $bar = new ProgressBar(); $bar->initialize(mysql_num_rows($result)); while ($row = mysql_fetch_row($result)) { $bar->increase(); for ($i = 0; $i < $sarakemaara; $i++) { if (mysql_field_type($result, $i) == 'real') { $worksheet->writeNumber($excelrivi, $i, sprintf("%.02f", $row[$i])); } else {
$variaatiosum_muutoshinta = 0; $variaatiosum_bmuutoshinta = 0; $variaatiosum_koot = array(); $variaatiosum_row = array(); //otetaan kaikki koot arrayseen $kaikkikoot = array(); while ($row = mysql_fetch_assoc($result)) { $kaikkikoot[strtoupper($row['kokonimi'])] = $row['koko']; } asort($kaikkikoot, SORT_NUMERIC); mysql_data_seek($result, 0); } $tallennusmuoto_check = $tallennusmuoto == "excel"; if ($tallennusmuoto_check) { include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; $excelsarake = 0; } else { $tiedostonimi = "varastonarvo_tuotteittain-{$kukarow['yhtio']}-" . date("YmdHis") . ".csv"; $fh = fopen("/tmp/" . $tiedostonimi, "w"); } if ($summaustaso != "T" and $summaustaso != "TRY") { if ($tallennusmuoto_check) { $worksheet->writeString($excelrivi, $excelsarake, t("Varasto"), $format_bold); $excelsarake++; } else { fwrite($fh, pupesoft_csvstring(t("Varasto")) . "\t"); } }
if ($tuotetyyppi == "75") { $tuote_epa_rajaus = "and epakurantti25pvm != '0000-00-00' and epakurantti50pvm != '0000-00-00' and epakurantti75pvm != '0000-00-00' and epakurantti100pvm = '0000-00-00'"; } if ($tuotetyyppi == "taysi") { $tuote_epa_rajaus = "and epakurantti25pvm != '0000-00-00' and epakurantti50pvm != '0000-00-00' and epakurantti75pvm != '0000-00-00' and epakurantti100pvm != '0000-00-00'"; } // etsitään saldolliset tuotteet $query = "SELECT tuote.tuoteno,\n tuote.osasto,\n tuote.try,\n tuote.myyntihinta,\n tuote.nimitys,\n tuote.tahtituote,\n tuote.status,\n tuote.hinnastoon,\n round(if(epakurantti75pvm = '0000-00-00', if(epakurantti50pvm = '0000-00-00', if(epakurantti25pvm = '0000-00-00', kehahin, kehahin * 0.75), kehahin * 0.5), kehahin * 0.25), 6) kehahin,\n tuote.vihapvm,\n epakurantti25pvm,\n epakurantti50pvm,\n epakurantti75pvm,\n tuote.tuotemerkki,\n tuote.myyjanro,\n tuote.sarjanumeroseuranta,\n sum(saldo) saldo\n FROM tuote\n JOIN tuotepaikat ON (tuotepaikat.yhtio = tuote.yhtio and tuotepaikat.tuoteno = tuote.tuoteno)\n WHERE tuote.yhtio = '{$kukarow['yhtio']}'\n AND tuote.ei_saldoa = ''\n AND tuote.tuotetyyppi NOT IN ('A', 'B')\n AND tuote.sarjanumeroseuranta NOT IN ('S','G')\n {$epakuranttipvm}\n {$tuote_epa_rajaus}\n {$lisa}\n GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16\n HAVING saldo != 0\n ORDER BY tuote.tuoteno"; $result = pupe_query($query); echo "<br><font class='message'>" . t("Löytyi") . " " . mysql_num_rows($result) . " " . t("sopivaa tuotetta. Lasketaan ehdotus.") . "</font><br>"; flush(); $yhteensopivuus_table_check = table_exists("yhteensopivuus_tuote"); $elements = mysql_num_rows($result); // total number of elements to process include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; $excelsarake = 0; $worksheet->writeString($excelrivi, $excelsarake, ucfirst(t("osasto")), $format_bold); $excelsarake++; $worksheet->writeString($excelrivi, $excelsarake, ucfirst(t("try")), $format_bold); $excelsarake++; $worksheet->writeString($excelrivi, $excelsarake, ucfirst(t("tuotemerkki")), $format_bold); $excelsarake++; $worksheet->writeString($excelrivi, $excelsarake, ucfirst(t("määrä")), $format_bold); $excelsarake++; $worksheet->writeString($excelrivi, $excelsarake, ucfirst(t("myytävissä")), $format_bold); $excelsarake++; $worksheet->writeString($excelrivi, $excelsarake, ucfirst(t("kierto")), $format_bold); $excelsarake++;
if ($tee == 'hae') { $myyja = (int) $myyja; $eropros_vahintaan = (double) str_replace(",", ".", $eropros_vahintaan); $myyjalisa = $myyja != 0 ? "AND lasku.myyja = '{$myyja}'" : ""; // Haetaan laskutetut tilaukset $query = "SELECT lasku.*, IFNULL(kuka.nimi, '" . t("Ei myyjää") . "') AS myyja, TRIM(CONCAT(lasku.ytunnus, ' ', lasku.nimi, ' ', lasku.nimitark)) AS nimi\n FROM lasku\n LEFT JOIN kuka ON (kuka.yhtio = lasku.yhtio AND kuka.tunnus = lasku.myyja)\n WHERE lasku.yhtio = '{$kukarow['yhtio']}'\n AND lasku.tila = 'L'\n AND lasku.alatila = 'X'\n AND lasku.tapvm >= '{$avv}-{$akk}-{$app}'\n AND lasku.tapvm <= '{$lvv}-{$lkk}-{$lpp}'\n {$myyjalisa}\n ORDER BY lasku.myyja, lasku.tapvm, lasku.tunnus"; $laskures = pupe_query($query); if (mysql_num_rows($laskures) == 0) { echo "<br /><font class='info'>", t("Yhtään tilausta ei löytynyt"), "!</font><br />"; require "inc/footer.inc"; exit; } flush(); require 'inc/ProgressBar.class.php'; include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; $excelsarake = 0; $data = array(); $i = 0; $tuotteiden_alehinnat = array(); $bar = new ProgressBar(); $bar->initialize(mysql_num_rows($laskures)); while ($laskurow = mysql_fetch_assoc($laskures)) { $bar->increase(); $x = 1; $query = "SELECT *\n FROM tilausrivi\n WHERE yhtio = '{$kukarow['yhtio']}'\n AND otunnus = '{$laskurow['tunnus']}'\n AND tyyppi = 'L'\n AND kpl+varattu > 0\n AND tuoteno NOT IN (\n '{$yhtiorow['rahti_tuotenumero']}',\n '{$yhtiorow['jalkivaatimus_tuotenumero']}',\n '{$yhtiorow['erilliskasiteltava_tuotenumero']}',\n '{$yhtiorow['kasittelykulu_tuotenumero']}',\n '{$yhtiorow['maksuehto_tuotenumero']}',\n '{$yhtiorow['ennakkomaksu_tuotenumero']}',\n '{$yhtiorow['alennus_tuotenumero']}',\n '{$yhtiorow['laskutuslisa_tuotenumero']}',\n '{$yhtiorow['kuljetusvakuutus_tuotenumero']}'\n )"; $tilausrivires = pupe_query($query); $num_rows = mysql_num_rows($tilausrivires); while ($tilausrivirow = mysql_fetch_assoc($tilausrivires)) {
$secretcounter = 0; $nollaus = true; } $eka_ajo = false; if (!$nollaus) { $secretcounter++; } } echo "<tr>\n <td align='left' class='back' valign='top'><br><br>\n <input type='hidden' name='lopetus' value='{$lopetus}'>\n <input type='hidden' name='otunnus' value='{$tilausnumero}'>\n <input type='hidden' name='tilausnumero' value='{$tilausnumero}'>\n <input type='hidden' name='mista' value = '{$mista}'>\n <input type='hidden' name='toim_nimitykset' value='{$toim_nimitykset}'>\n <input type='hidden' name='toim' value='{$toim}'>\n <input type='hidden' name='naantali' value='EIENAA'>\n <input type='hidden' name='lisatuotenumerot' value='{$lisatuotenumerot}'>\n <input type='submit' name='aja_ja_tallenna' value='" . t("Valmis") . "'>\n </td>\n </tr>"; echo "</table>"; echo "</form>"; } elseif (isset($valitut_sarakkeet) and count($valitut_sarakkeet) > 0) { // täällä ajellaan rapsa ja tallennetaan henkseliin $lisatuotenumerot = base64_decode($lisatuotenumerot); include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; $excelsarake = 0; // Haetaan sopimuksen laitteet $query = "SELECT DISTINCT laitteen_sopimukset.laitteen_tunnus laitetunnus\n FROM laitteen_sopimukset\n JOIN lasku ON lasku.yhtio = laitteen_sopimukset.yhtio\n AND lasku.tunnus\n WHERE lasku.tunnus = '{$tilausnumero}'\n AND lasku.yhtio = '{$kukarow['yhtio']}'"; $laiteresult = pupe_query($query); $query_ale_lisa = generoi_alekentta('M'); // Haetaan sopimuskohtaiset tiedot $query = "SELECT\n lasku.tunnus,\n tilausrivi.nimitys,\n round(tilausrivi.hinta * (tilausrivi.varattu) * {$query_ale_lisa}, {$yhtiorow['hintapyoristys']}) rivihinta,\n lasku.asiakkaan_tilausnumero,\n lasku.alv,\n concat(lasku.toim_nimi,'\n',lasku.toim_osoite,'\n',lasku.toim_postino,' ',\n lasku.toim_postitp,'\n',lasku.toim_maa) toimitusosoite,\n concat(lasku.nimi,'\n',lasku.osoite,'\n',lasku.postino,' ',\n lasku.postitp,'\n',lasku.maa) laskutusosoite\n FROM lasku\n JOIN tilausrivi ON lasku.yhtio = tilausrivi.yhtio AND lasku.tunnus = tilausrivi.otunnus\n WHERE lasku.tunnus = '{$tilausnumero}'\n AND lasku.yhtio = '{$kukarow['yhtio']}'"; $sopimuskohtaisetresult = pupe_query($query); $sopimuskohtaisetrivi = mysql_fetch_assoc($sopimuskohtaisetresult); // Alkuun yhteenvetorivit $worksheet->write($excelrivi++, $excelsarake, t("Sopimusnumero") . ": " . $sopimuskohtaisetrivi['asiakkaan_tilausnumero'], $format_bold); $worksheet->write($excelrivi, $excelsarake, t("Tuote"), $format_bold); $worksheet->write($excelrivi, $excelsarake + 1, t("e / kk summa"), $format_bold);
} if ($raportointitaso == 'tuote') { $sellisa = ", tilausrivi.tuoteno, tilausrivi.nimitys "; } if ($rivit == "puutteet") { $rivilisa = " HAVING puutekpl <> 0 "; } $query_ale_lisa = generoi_alekentta('M'); if ($try != '') { $query = "SELECT tilausrivi.osasto, tilausrivi.try, tilausrivi.tuoteno, tilausrivi.nimitys, lasku.ytunnus, asiakas.asiakasnro,\n round(sum(if (tilausrivi.var='P', tilausrivi.tilkpl, 0)),2) puutekpl,\n round(sum(if (tilausrivi.var='P', tilausrivi.tilkpl*tilausrivi.hinta*{$query_ale_lisa}/(1+(tilausrivi.alv/100)), 0)),2) puuteeur,\n round(sum(if ((tilausrivi.var='' or tilausrivi.var='H'), tilausrivi.tilkpl*tilausrivi.hinta*{$query_ale_lisa}/(1+(tilausrivi.alv/100)), 0)),2) myyeur\n FROM tilausrivi\n LEFT JOIN lasku ON lasku.yhtio=tilausrivi.yhtio and lasku.tunnus=tilausrivi.otunnus\n LEFT JOIN asiakas ON lasku.yhtio=asiakas.yhtio and lasku.liitostunnus=asiakas.tunnus\n LEFT JOIN tuote ON tuote.yhtio=tilausrivi.yhtio and tilausrivi.tuoteno=tuote.tuoteno\n WHERE tilausrivi.yhtio = '{$kukarow['yhtio']}'\n and tilausrivi.laadittu >= '{$vva}-{$kka}-{$ppa} 00:00:00'\n and tilausrivi.laadittu <= '{$vvl}-{$kkl}-{$ppl} 23:59:59'\n and tilausrivi.var in ('P','H','')\n and tilausrivi.osasto = '{$osasto}'\n and tilausrivi.try = '{$try}'\n and tilausrivi.tyyppi ='L'\n {$lisaasiakas}\n and tuote.status NOT IN ('P','X')\n GROUP BY tilausrivi.osasto, tilausrivi.try, tilausrivi.tuoteno, tilausrivi.nimitys, lasku.ytunnus\n HAVING puutekpl <> 0\n ORDER BY tilausrivi.osasto, tilausrivi.try, tilausrivi.tuoteno, tilausrivi.nimitys, lasku.ytunnus"; } else { $query = "SELECT tilausrivi.osasto, tilausrivi.try {$sellisa},\n round(sum(if (tilausrivi.var='P', tilausrivi.tilkpl, 0)),2) puutekpl,\n round(sum(if (tilausrivi.var='P', tilausrivi.tilkpl*tilausrivi.hinta*{$query_ale_lisa}/(1+(tilausrivi.alv/100)), 0)),2) puuteeur,\n round(sum(if (tilausrivi.var='' or tilausrivi.var='H', tilausrivi.tilkpl*tilausrivi.hinta*{$query_ale_lisa}/(1+(tilausrivi.alv/100)), 0)),2) myyeur\n FROM tilausrivi\n LEFT JOIN lasku ON lasku.yhtio=tilausrivi.yhtio and lasku.tunnus=tilausrivi.otunnus\n LEFT JOIN tuote ON tuote.yhtio=tilausrivi.yhtio and tilausrivi.tuoteno=tuote.tuoteno\n WHERE tilausrivi.yhtio = '{$kukarow['yhtio']}'\n and tilausrivi.tyyppi = 'L'\n and tilausrivi.laadittu >='{$vva}-{$kka}-{$ppa} 00:00:00'\n and tilausrivi.laadittu <='{$vvl}-{$kkl}-{$ppl} 23:59:59'\n and tilausrivi.var in ('P','H','')\n {$lisaasiakas}\n and tuote.status NOT IN ('P','X')\n GROUP BY tilausrivi.osasto, tilausrivi.try {$sellisa}\n {$rivilisa}\n ORDER BY tilausrivi.osasto, tilausrivi.try {$sellisa}"; } $result = pupe_query($query); include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; $pvm = date("Ymd"); $worksheet->writeString($excelrivi, 0, t("Puutelistaus")); $worksheet->writeString($excelrivi, 1, $pvm); $excelrivi++; $excelsarake = 0; $worksheet->writeString($excelrivi, $excelsarake, t("Osasto")); $excelsarake++; $worksheet->writeString($excelrivi, $excelsarake, t("Tuoteryhmä")); $excelsarake++; if ($raportointitaso == 'tuote') { $worksheet->writeString($excelrivi, $excelsarake, t("Tuotenumero")); $excelsarake++; $worksheet->writeString($excelrivi, $excelsarake, t("Nimitys"));
if (isset($tuoteno) and trim($ulos) != '') { echo $ulos; } else { echo "<input type='text' name='tuoteno' value='{$tuoteno}' size='20'>"; } echo "</td></tr>"; echo "<tr><th>" . t("Syötä alkupäivämäärä (pp-kk-vvvv)") . "</th>\n <td><input type='text' name='ppa' value='{$ppa}' size='3'></td>\n <td><input type='text' name='kka' value='{$kka}' size='3'></td>\n <td><input type='text' name='vva' value='{$vva}' size='5'></td>\n </tr><tr><th>" . t("Syötä loppupäivämäärä (pp-kk-vvvv)") . "</th>\n <td><input type='text' name='ppl' value='{$ppl}' size='3'></td>\n <td><input type='text' name='kkl' value='{$kkl}' size='3'></td>\n <td><input type='text' name='vvl' value='{$vvl}' size='5'></td>"; if ($toim == 'OSTO') { echo "</tr><tr><th>" . t("Valitse päivämäärän tyyppi") . "</th>\n <td colspan='3'><select name='pvmtapa'>\n <option value='laadittu' {$pvm_select1}>" . t("Tilauksen laatimispäivämäärä") . "</option>\n <option value='toimaika' {$pvm_select2}>" . t("Tilauksen toivottu toimituspäivämäärä") . "</option>\n </select></td>"; } else { echo "</tr><tr><th>" . t("Valitse päivämäärän tyyppi") . "</th>\n <td colspan='3'><select name='pvmtapa'>\n <option value='laadittu' {$pvm_select1}>" . t("Tilauksen laatimispäivämäärä") . "</option>\n <option value='laskutettu' {$pvm_select2}>" . t("Tilauksen laskutuspäivämäärä") . "</option>\n </select></td>"; } echo "<td class='back'><input id='etsinappi' type='submit' value='" . t("Etsi") . "'></td></tr></form></table>"; if ($ytunnus != '' or $tuoteno != '' or (int) $asiakasid > 0 or (int) $toimittajaid > 0) { include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; if ($jarj != '') { $jarj = "ORDER BY {$jarj}"; } else { $jarj = "ORDER BY lasku.laskunro desc"; } if ($toim == 'OSTO') { $query_ale_lisa = generoi_alekentta('O'); $ale_query_select_lisa = generoi_alekentta_select('erikseen', 'O'); $query = "SELECT\n tilausrivi.tunnus,\n lasku.tunnus tilaus,\n lasku.ytunnus,\n lasku.nimi,\n lasku.postitp,\n tilausrivi.tuoteno,\n round((tilausrivi.varattu+tilausrivi.kpl),4) määrä,\n round((tilausrivi.varattu+tilausrivi.kpl)*if(tuotteen_toimittajat.tuotekerroin=0 or tuotteen_toimittajat.tuotekerroin is null,1,tuotteen_toimittajat.tuotekerroin),4) ulkmäärä,\n round(tilausrivi.hinta*if(lasku.vienti_kurssi=0, 1, lasku.vienti_kurssi), '{$yhtiorow['hintapyoristys']}') hinta,\n {$ale_query_select_lisa}\n round((tilausrivi.varattu+tilausrivi.kpl)*tilausrivi.hinta*if(lasku.vienti_kurssi=0, 1, lasku.vienti_kurssi)*if(tuotteen_toimittajat.tuotekerroin=0 or tuotteen_toimittajat.tuotekerroin is null,1,tuotteen_toimittajat.tuotekerroin)*{$query_ale_lisa},'{$yhtiorow['hintapyoristys']}') rivihinta,\n lasku.toimaika,\n tilausrivi.laskutettuaika tuloutettu,\n lasku.tila, lasku.alatila\n FROM tilausrivi\n JOIN lasku ON lasku.yhtio=tilausrivi.yhtio and lasku.tunnus=tilausrivi.otunnus\n JOIN tuotteen_toimittajat ON tuotteen_toimittajat.yhtio=tilausrivi.yhtio and tuotteen_toimittajat.tuoteno=tilausrivi.tuoteno and tuotteen_toimittajat.liitostunnus=lasku.liitostunnus\n WHERE tilausrivi.yhtio = '{$kukarow['yhtio']}'\n and lasku.tila IN ('O','K')\n and tilausrivi.tyyppi = 'O'\n and tilausrivi.{$pvmtapa} >='{$vva}-{$kka}-{$ppa} 00:00:00'\n and tilausrivi.{$pvmtapa} <='{$vvl}-{$kkl}-{$ppl} 23:59:59'"; } else { $query_ale_lisa = generoi_alekentta('M'); if ((int) $asiakasid > 0) { $asiakaslisa = "";
echo "</tr>"; $chk = !empty($tee_excel) ? "checked" : ""; echo "<tr>"; echo "<th>", t("Tee Excel"), "<br /></th>"; echo "<td><input type='checkbox' name='tee_excel' {$chk} /></td>"; echo "</tr>"; echo "<tr>"; echo "<td colspan='2' class='back'><input type='submit' value='", t("Näytä"), "' /></td>"; echo "</tr>"; echo "</table>"; echo "</form>"; if ($tee == 'laskelma') { $_csv = array('header' => array('taxPayerRegCode' => $yhtiorow['ytunnus'], 'submitterPersonCode' => $kukarow['kuka'], 'year' => $vv, 'month' => str_pad($kk, 2, floor($kk / 10), STR_PAD_LEFT), 'declarationType' => 1)); if (!empty($tee_excel)) { include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = $excelsarake = 0; } $oletus_verokanta = 20; if (!empty($per_paiva)) { echo "<br />"; $_url = "{$palvelin2}raportit/alv_laskelma_viro_kmd_inf.php"; $_url .= "?tee=laskelma&laskelma={$laskelma}&rajaa={$rajaa}&kk={$kk}&vv={$vv}"; echo "<a href='{$_url}&per_paiva=", $per_paiva - 1, "'>", t("Edellinen päivä"), "</a> "; echo t("ALV-laskelma KMD INF"), " ", t("päivältä"), " {$per_paiva}.{$kk}.{$vv} "; echo "<a href='{$_url}&per_paiva=", $per_paiva + 1, "'>", t("Seuraava päivä"), "</a>"; $alkupvm = date("Y-m-d", mktime(0, 0, 0, $kk, $per_paiva, $vv)); $loppupvm = date("Y-m-d", mktime(0, 0, 0, $kk, $per_paiva, $vv)); } else { $alkupvm = date("Y-m-d", mktime(0, 0, 0, $kk, 1, $vv));
$rivimaara = mysql_num_rows($result); $rivilimitti = 1000; if ($vain_excel != "") { echo "<font class='error'>", t("Tallenna/avaa tulos excelissä"), "!</font><br><br>"; $rivilimitti = 0; } else { if ($rivimaara > $rivilimitti) { echo "<br><font class='error'>", t("Hakutulos oli liian suuri"), "!</font><br>"; echo "<font class='error'>", t("Tallenna/avaa tulos excelissä"), "!</font><br><br>"; } } } if ($query != "") { if (strpos($_SERVER['SCRIPT_NAME'], "myyntiseuranta.php") !== FALSE) { include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; } echo "<a name='focus_tahan' /><table>"; echo "<tr>\n <th>", t("Kausi nyt"), "</th>\n <td>{$ppa}</td>\n <td>{$kka}</td>\n <td>{$vva}</td>\n <th>-</th>\n <td>{$ppl}</td>\n <td>{$kkl}</td>\n <td>{$vvl}</td>\n </tr>\n"; echo "<tr>\n <th>", t("Kausi ed"), "</th>\n <td>{$ppa}</td>\n <td>{$kka}</td>\n <td>{$vvaa}</td>\n <th>-</th>\n <td>{$ppl}</td>\n <td>{$kkl}</td>\n <td>{$vvll}</td>\n </tr>\n"; echo "</table><br>"; echo "<script LANGUAGE='JavaScript'>window.location.hash=\"focus_tahan\";</script>"; // Muutama päivämäärämuuttuja $alku_kausi = date('Ym', mktime(0, 0, 0, $kka, 1, $vva)); $lopu_kausi = date('Ym', mktime(0, 0, 0, $kkl, 1, $vvl)); $alku_kausi_ed = date('Ym', mktime(0, 0, 0, $kka, 1, $vvaa)); $lopu_kausi_ed = date('Ym', mktime(0, 0, 0, $kkl, 1, $vvll)); // Oletetaan, että samat tänä ku viime vuonna $alkukuun_paivat = date('t', mktime(0, 0, 0, $kka, 1, $vva));
echo " <td><input type='text' name='saapumispp' value='{$saapumispp}' size='2'>\n <input type='text' name='saapumiskk' value='{$saapumiskk}' size='2'>\n <input type='text' name='saapumisvv' value='{$saapumisvv}'size='4'></td></tr>"; echo "<tr>"; echo "<th>" . t("Varastopaikoittain") . ":</th>"; $sel = ""; if ($paikoittain == 'JOO') { $sel = "CHECKED"; } echo "<td><input type='checkbox' name='paikoittain' value='JOO' {$sel}></td>"; } echo "<td class='back'><input type='submit' name='ajoon' value='" . t("Aja raportti") . "'></td>"; echo "</tr>"; echo "</form>"; echo "</table><br>"; if ($aja == "AJA" and isset($ajoon)) { include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; $excelsarake = 0; $worksheet->writeString($excelrivi, $excelsarake++, t("ABC")); $worksheet->writeString($excelrivi, $excelsarake++, t("Osaston luokka")); $worksheet->writeString($excelrivi, $excelsarake++, t("Ryhmän luokka")); $worksheet->writeString($excelrivi, $excelsarake++, $astusana); if (!$asiakasanalyysi) { $worksheet->writeString($excelrivi, $excelsarake++, t("Toim_tuoteno")); } $worksheet->writeString($excelrivi, $excelsarake++, t("Nimitys")); $worksheet->writeString($excelrivi, $excelsarake++, t("Osasto")); $worksheet->writeString($excelrivi, $excelsarake++, t("Ryhmä")); if (!$asiakasanalyysi) { $worksheet->writeString($excelrivi, $excelsarake++, t("Merkki"));
$rivinro++; } fclose($fh); //käännetään kauniiksi if ($debug == '1') { echo "filenimi = {$filenimi}<br>"; } else { system("a2ps -o " . $filenimi . ".ps -r --medium=A4 --chars-per-line={$rivinleveys} --no-header --columns=1 --margin=0 --borders=0 {$filenimi}"); if ($komento["Inventointi"] == 'email') { system("ps2pdf -sPAPERSIZE=a4 " . $filenimi . ".ps " . $filenimi . ".pdf"); $liite = $filenimi . ".pdf"; $kutsu = t("Inventointilista") . "_{$listanro}"; require "inc/sahkoposti.inc"; } elseif ($komento["Inventointi"] == 'excel') { include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $excelrivi = 0; $excelsarake = 0; $worksheet->writeString($excelrivi++, $excelsarake++, $excel_info, array("bold" => TRUE)); $excelrivi++; $excelsarake = 0; foreach ($excelheaderit as $value) { $worksheet->writeString($excelrivi, $excelsarake++, $value, array("bold" => TRUE)); } $excelrivi++; $excelsarake = 0; foreach ($excelrivit as $key => $value) { if ($yhtiorow['laaja_inventointilista'] != "") { $worksheet->writeString($excelrivi, 0, $excelrivit[$key]['rivinro']); $excelsarake = 1; }
$tee = ""; } } if ($budj_kohtelu == "indeksi" and $budjetointi_taso == "summa_jaetaan") { echo "<font class='error'>" . t("VIRHE: Et voi jakaa indeksilukua kuukausittain!") . "</font><br>"; $tee = ""; } if (isset($mul_osasto) and isset($mul_try) and count($mul_osasto) > 1 and count($mul_try) >= 1) { echo "<font class='error'>" . t("VIRHE: Et voi valita useita osastoja ja tuoteryhmiä kerrallaan") . "</font>"; $tee = ""; } } // Ajetaan raportti if ($tee == "AJA_RAPORTTI") { include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; $excelsarake = 0; $haen = ""; $passaan = ""; $selectlisa = ""; $grouppaus = ""; if ($toim == "TUOTE") { $worksheet->write($excelrivi, $excelsarake, t("Tuote"), $format_bold); $excelsarake++; } elseif ($toim == "TOIMITTAJA") { $worksheet->write($excelrivi, $excelsarake, t("Toimittajan tunnus"), $format_bold); $excelsarake++; } elseif ($toim == "ASIAKAS") { $worksheet->write($excelrivi, $excelsarake, t("Asiakkaan tunnus"), $format_bold);
} echo "<br>" . t("Inventointipoikkeamalista tulostuu") . "!<br><br>"; //poistetaan tmp file samantien kuleksimasta... unlink($filenimi . ".ps"); unlink($filenimi); } if ($tee == "TULOSTAEXCEL" and mysql_num_rows($saldoresult) > 0) { if ($prosmuutos == 0) { $muutos = $kplmuutos; $yks = t("yks"); } else { $muutos = $prosmuutos; $yks = "%"; } include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; $worksheet->write($excelrivi, 0, t("Tuoteno"), $format_bold); $worksheet->write($excelrivi, 1, t("Nimitys"), $format_bold); $worksheet->write($excelrivi, 2, t("Toim.Tuoteno"), $format_bold); $worksheet->write($excelrivi, 3, t("Paikka"), $format_bold); $worksheet->write($excelrivi, 4, t("Poikkeama"), $format_bold); $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)) {
$rivit = 11; $sisalto .= "\n"; $sisalto .= "\n"; $sisalto .= "\n"; } elseif ($raportti == "24") { $rivinpituus_ps = 28; $rivinpituus = 27; $sarakkeet = 3; $rivit = 8; if ($as_yht_tiedot == 'on' or $asiakas_segmentin_yhteystiedot == 'on') { $sisalto .= "\n"; $sisalto .= "\n"; } } else { include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; $excelsarake = 0; $worksheet->writeString($excelrivi, $excelsarake, t("Nimi"), $format_bold); $excelsarake++; $worksheet->writeString($excelrivi, $excelsarake, t("Nimitarkenne"), $format_bold); $excelsarake++; if ($as_yht_tiedot == 'on' or $asiakas_segmentin_yhteystiedot == 'on') { $worksheet->writeString($excelrivi, $excelsarake, t("Yhteyshenkilö"), $format_bold); $excelsarake++; $worksheet->writeString($excelrivi, $excelsarake, t("Titteli"), $format_bold); $excelsarake++; } $worksheet->writeString($excelrivi, $excelsarake, t("Osoite"), $format_bold); $excelsarake++;
echo "<input type='hidden' name='rajaus' value = '{$rajaus}'>"; echo "<input type='hidden' name='asale' value = '{$asale}'>"; echo "<input type='hidden' name='ashin' value = '{$ashin}'>"; echo "<input type='hidden' name='aletaulu' value = '{$aletaulu}'>"; echo "<input type='hidden' name='yhdistetty' value = '{$yhdistetty}'>"; echo "<input type='radio' onclick='submit()' name='rajattunakyma' value='' {$sela}> " . t("Normaalinäkymä"); echo "<input type='radio' onclick='submit()' name='rajattunakyma' value='JOO' {$selb}> " . t("Extranetnäkymä"); echo "</form><br>"; } echo "<br><a href='{$PHP_SELF}?tee=eposti&ytunnus={$ytunnus}&asiakasid={$asiakasid}&rajaus={$rajaus}&rajattunakyma={$rajattunakyma}&lopetus={$lopetus}#alennukset'>" . t("Tulosta alennustaulukko") . "</a><br><br>"; if ($asale != '' or $aletaulu != '' or $ashin != '' or $yhdistetty != "" or $tee == "eposti") { if (@(include 'inc/pupeExcel.inc')) { } else { include 'pupeExcel.inc'; } $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; $taulu = ""; if ($aletaulu != "" or $tee == "eposti") { $tuotejoin = " JOIN tuote ON tuote.yhtio=perusalennus.yhtio and tuote.aleryhma=perusalennus.ryhma and tuote.hinnastoon != 'E' and tuote.tuotetyyppi NOT IN ('A', 'B') "; $tuotewhere = " 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) "; $tuotegroup = " GROUP BY tuote.try, tuote.osasto, tuote.aleryhma "; $tuotecols = ", tuote.osasto, tuote.try"; $order = " osasto+0, try+0, alennusryhmä+0, tuoteno, alennuslaji, prio "; } else { $tuotejoin = ""; $tuotewhere = ""; $tuotegroup = ""; $tuotecols = ""; $order = "alennusryhmä+0, alennuslaji, prio, asiakasryhmä";
if ($totalfw + $totallw >= $totaldays) { $midweeks = 0; } else { //count midweeks $midweeks = ($totaldays - $totalfw - $totallw) / 7 * 5; } //total num of workdays $workdays = $firstweek + $midweeks + $lastweek; } return round($workdays, 2); } } echo "<font class='head'>" . t("Työmääräysraportti") . ":</font><hr>"; if ($raptee == "AJA") { include 'inc/pupeExcel.inc'; $worksheet = new pupeExcel(); $format_bold = array("bold" => TRUE); $excelrivi = 0; $i = 0; $valmistajalisa = !empty($valmistajarajaus) ? " and tm.merkki like '%{$valmistajarajaus}%' " : ""; $asiakaslisa = !empty($asiakasrajaus) ? " and lasku.toim_nimi like '%{$asiakasrajaus}%' " : ""; $alkuok = (!empty($aloitusvv) and !empty($aloituskk) and !empty($aloituspp)) ? true : false; $loppuok = (!empty($lopetusvv) and !empty($lopetuskk) and !empty($lopetuspp)) ? true : false; if ($alkuok or $loppuok) { $pvmlisa = " HAVING "; if ($alkuok) { $pvmlisa .= " alkupvm >= '{$aloitusvv}-{$aloituskk}-{$aloituspp} 00:00:01'"; } if ($alkuok and $loppuok) { $pvmlisa .= " AND "; }