$apaikka = strtoupper(sprintf("%-05s", $ahyllyalue)) . strtoupper(sprintf("%05s", $ahyllynro)) . strtoupper(sprintf("%05s", $ahyllyvali)) . strtoupper(sprintf("%05s", $ahyllytaso)); $lpaikka = strtoupper(sprintf("%-05s", $lhyllyalue)) . strtoupper(sprintf("%05s", $lhyllynro)) . strtoupper(sprintf("%05s", $lhyllyvali)) . strtoupper(sprintf("%05s", $lhyllytaso)); $apaikka = array('ahyllyalue' => $ahyllyalue, 'ahyllynro' => $ahyllynro, 'ahyllyvali' => $ahyllyvali, 'ahyllytaso' => $ahyllytaso); $lpaikka = array('lhyllyalue' => $lhyllyalue, 'lhyllynro' => $lhyllynro, 'lhyllyvali' => $lhyllyvali, 'lhyllytaso' => $lhyllytaso); $lisa = ($toppi != '' and is_numeric($toppi)) ? " LIMIT {$toppi} " : ""; $header_values = array('tuoteno' => array('header' => t('Tuoteno'), 'order' => 0), 'nimitys' => array('header' => t('Tuotteen nimi'), 'order' => 10), 'varaston_nimitys' => array('header' => t('Varasto'), 'order' => 20), 'keraysvyohykkeen_nimitys' => array('header' => t('Keräysvyöhyke'), 'order' => 30), 'hylly' => array('header' => t('Varastopaikka'), 'order' => 40), 'saldo' => array('header' => t('Saldo'), 'order' => 50), 'kpl_valittu_aika' => array('header' => t('Keräystä'), 'order' => 60), 'kpl_valittu_aika_pvm' => array('header' => t('Keräystä/Päivä'), 'order' => 70), 'kpl_kerays' => array('header' => t('Kpl/Keräys'), 'order' => 80), 'kpl_6' => array('header' => t('Keräystä tästä päivästä 6kk'), 'order' => 90), 'kpl_12' => array('header' => t('Keräystä tästä päivästä 12kk'), 'order' => 100), 'poistettu' => array('header' => t('Poistettu varastopaikka'), 'order' => 110), 'tuotekorkeus' => array('header' => t('Tuotteen korkeus'), 'order' => 11), 'tuoteleveys' => array('header' => t('Tuotteen leveys'), 'order' => 12), 'tuotesyvyys' => array('header' => t('Tuotteen syvyys'), 'order' => 13), 'tuotemassa' => array('header' => t('Tuotteen massa'), 'order' => 14), 'status' => array('header' => t('Status'), 'order' => 15), 'luontiaika' => array('header' => t('Tuotteen Luontiaika'), 'order' => 16), 'ostoehdotus' => array('header' => t('Ostoehdotus'), 'order' => 17)); $force_to_string = array('tuoteno'); if (!empty($summaa_varastopaikalle)) { list($rivit, $saldolliset) = hae_rivit("PAIKKA", $kukarow, $vva, $kka, $ppa, $vvl, $kkl, $ppl, $apaikka, $lpaikka, $varastot, $keraysvyohykkeet, $kaikki_lisa_kentat, $kerayksettomat_tuotepaikat, $lisa); } else { list($rivit, $saldolliset) = hae_rivit("TUOTE", $kukarow, $vva, $kka, $ppa, $vvl, $kkl, $ppl, $apaikka, $lpaikka, $varastot, $keraysvyohykkeet, $kaikki_lisa_kentat, $kerayksettomat_tuotepaikat, $lisa); } if (count($rivit) > 0) { if (!empty($tee_excel)) { $xls_filename = generoi_excel_tiedosto($rivit, $header_values, $force_to_string); echo_tallennus_formi($xls_filename); } nayta_ruudulla($rivit, $header_values, $force_to_string, $ppa, $kka, $vva, $ppl, $kkl, $vvl, 'right_align_numbers'); } else { echo "<br><font class='error'>" . t("Yhtään keräystä ei löytynyt") . "</font><br><br>"; } if (count($saldolliset) > 0) { echo_tulosta_inventointilista($saldolliset); } $tee = ""; } // Käyttöliittymä if ($tee == '') { // ehdotetaan 7 päivää taaksepäin if (!isset($kka)) { $kka = date("m", mktime(0, 0, 0, date("m") - 3, date("d"), date("Y")));
$palautuneet_tuotteet = hae_palautuneet_tuotteet($request); } else { echo $validator->getScript(); } echo_kayttoliittyma($request); echo "<br/>"; echo "<br/>"; if (!empty($palautuneet_tuotteet)) { $header_values = array('tuoteno' => array('header' => t('Tuoteno'), 'order' => 0), 'nimitys' => array('header' => t('Tuotteen nimi'), 'order' => 10), 'palautettu_kpl' => array('header' => t('Palautetut kappaleet'), 'order' => 20), 'palautettu_hinta' => array('header' => t('Palautettu hinta'), 'order' => 30), 'ajoneuvosoveltuvuus_kpl' => array('header' => t('Ajoneuvosoveltuvuus kpl'), 'order' => 40)); $force_to_string = array('tuoteno'); if ($request['tallenna_exceliin']) { echo "<div id='excelin_generointi'>"; $excel_tiedosto = generoi_excel_tiedosto($palautuneet_tuotteet, $header_values, $force_to_string); echo "</div>"; if ($excel_tiedosto != '') { echo_tallennus_formi($excel_tiedosto, t('Palautuneet_tuotteet')); } } echo_rows_in_table($palautuneet_tuotteet, $header_values, $force_to_string, 'right_align_numbers'); } } else { echo_kayttoliittyma($request); } require 'inc/footer.inc'; function init(&$request) { if (empty($request['ppa']) and empty($request['kka']) and empty($request['vva'])) { $request['ppa'] = date('d', strtotime('now - 365 day')); $request['kka'] = date('m', strtotime('now - 365 day')); $request['vva'] = date('Y', strtotime('now - 365 day')); $request['alku_pvm'] = $request['vva'] . '-' . $request['kka'] . '-' . $request['ppa'];
$naytetaanko_ruudulla = true; if (count($rivit) > 1000) { echo "<font class='message'>" . t('Hakutulos oli liian suuri, ei näytetä ruudulla') . "</font>"; $naytetaanko_ruudulla = false; } if (count($rivit) > 0) { $header_values = array('lasku_tyyppi' => t('Laskun tyyppi'), 'laskunro' => t('Laskunumero'), 'tapvm' => t('Tapahtumapäivä'), 'summa' => t('Summa'), 'nimitys' => t('Nimitys'), 'tuotetyyppi' => t('Tyyppi'), 'matkustaja_nimi' => t('Nimi'), 'kustp_nimi' => t('Kustannuspaikka'), 'tuoteno' => t('Tuotenumero'), 'kommentti' => t('Kommentti'), 'kpl' => t('Määrä'), 'ilmaiset_lounaat' => t('Ilmaiset ateriat'), 'hinta' => t('Yksikköhinta'), 'rivihinta' => t('Rivihinta')); $force_to_string = array('laskunro'); $tiedosto = generoi_excel_tiedosto($rivit, $request_params, $header_values, $force_to_string); } echo_matkalaskuraportti_form($request_params); echo "<br/>"; echo "<font class='message'>" . t("Raportti on ajettu") . "</font>"; echo "<br/>"; echo "<br/>"; echo_tallennus_formi($tiedosto); echo "<br/>"; if ($naytetaanko_ruudulla) { nayta_ruudulla($rivit, $request_params, $header_values, $force_to_string); } } else { echo_matkalaskuraportti_form($request_params); } require "../inc/footer.inc"; function generoi_matkalaskuraportti_rivit($request_params) { global $kukarow; $where = generoi_where_ehdot($request_params); $select = generoi_select($request_params); $group = generoi_group_by($request_params); $tuote_join = generoi_tuote_join($request_params);
require "tilauskasittely/lisaarivi.inc"; } } echo "<br><br>"; $tee = ""; } if (isset($tee) and $tee == "GENEROI_EXCEL") { $excel_rivit = array(); foreach ($_REQUEST['exceliin'] as $excel_rivi) { $excel_rivi = unserialize(base64_decode($excel_rivi)); $excel_rivit[] = $excel_rivi; } $header_values = array('tuoteno' => array('header' => t('Tuotenumero'), 'order' => 10), 'nimitys' => array('header' => t('Nimitys'), 'order' => 20), 'sisartuote' => array('header' => t('Sisartuotteet'), 'order' => 30), 'abcluokka' => array('header' => t('ABC-luokka'), 'order' => 40), 'reaalisaldo' => array('header' => t('Reaalisaldo'), 'order' => 50), 'valmistuksessa' => array('header' => t('Valmistuksessa'), 'order' => 60), 'riittopv' => array('header' => t('Riitto pv'), 'order' => 70), 'raakaaine_riitto' => array('header' => t('Raaka-aine riitto'), 'order' => 80), 'vuosikulutus' => array('header' => t('Vuosikulutus'), 'order' => 90), 'valmistuslinja' => array('header' => t('Valmistuslinja'), 'order' => 100), 'pakkauskoko' => array('header' => t('Pakkauskoko'), 'order' => 110), 'valmistussuositus' => array('header' => t('Valmistussuositus'), 'order' => 120), 'valmistusmaara' => array('header' => t('Valmistusmaara'), 'order' => 125), 'valmistusaika_sekunneissa' => array('header' => t('Valmistusaika (sek)'), 'order' => 130), 'valmistusaika' => array('header' => t('Valmistusaika yht.'), 'order' => 140), 'varaus_sekunneissa' => array('header' => t('Kumulatiivinen aika'), 'order' => 150), 'varaus_paivissa' => array('header' => t('Päivä'), 'order' => 160)); $force_to_string = array('tuoteno'); $excel_filename = generoi_excel_tiedosto($excel_rivit, $header_values, $force_to_string); echo_tallennus_formi($excel_filename, 'Valmistusraportti'); unset($ehdotusnappi); } // Tehdään raportti if (isset($ehdotusnappi) and $ehdotusnappi != "") { $tuote_where = ""; // tuote-rajauksia $tuote_valmistuslinja_where = ""; // tuote valmistuslinja wherelle tarvitaan oma muuttuja $tuote_samankaltainen_where = ""; // samankaltaisille tuotteille rajauksia $toimittaja_join = ""; // toimittaja-rajauksia $toimittaja_select = ""; // toimittaja-rajauksia $lasku_where = "";
$valid = true; if (!empty($request['valittu_asiakas']) and !is_numeric($request['valittu_asiakas'])) { echo "<font class='error'>" . t('Käytä livesearch toiminnallisuutta') . "</font>"; echo "<br/>"; $valid = false; } if ($request['action'] == 'aja_raportti' and $valid) { echo "<font class='message'>" . t("Raporttia ajetaan") . "</font>"; echo "<br/>"; $html = ob_get_clean(); echo $html; $request['tuotteet'] = hae_tuotteet_joilla_on_asiakashinta_tai_hae_kaikki_tuotteet($request); $tuotteet = hae_asiakasalet($request); $xls_tiedosto = generoi_custom_excel($tuotteet); if (!empty($xls_tiedosto)) { echo_tallennus_formi($xls_tiedosto, t('Asiakashinnasto_raportti')); echo "<br/>"; } else { echo t('Asiakashinnaston tuotteita ei löytynyt'); echo "<br/>"; } } echo_kayttoliittyma($request); require "inc/footer.inc"; function echo_kayttoliittyma($request = array()) { global $kukarow, $yhtiorow; echo "<form action='' method='POST' name='asiakashinnasto_haku_form'>"; echo "<input type='hidden' name='action' value='aja_raportti' />"; echo "<table>"; echo "<tr>";
$generoi_excel = isset($generoi_excel) ? trim($generoi_excel) : ''; $esitysmuoto = isset($esitysmuoto) ? trim($esitysmuoto) : 'KISSA'; $request = array('tee' => $tee, 'alku_pp' => $alku_pp, 'alku_kk' => $alku_kk, 'alku_vv' => $alku_vv, 'loppu_pp' => $loppu_pp, 'loppu_kk' => $loppu_kk, 'loppu_vv' => $loppu_vv, 'alku_pvm' => '', 'loppu_pvm' => '', 'valmistuksen_tila' => $valmistuksen_tila, 'valmistuslinja' => $valmistuslinja, 'mul_osasto' => $mul_osasto, 'mul_try' => $mul_try, 'mul_tme' => $mul_tme, 'generoi_excel' => $generoi_excel, 'esitysmuoto' => $esitysmuoto); $request['valmistuslinjat'] = hae_valmistuslinjat(); $request['valmistuksien_tilat'] = hae_valmistuksien_tilat(); init($request); $valid = validate($request); echo_kayttoliittyma($request); echo "<br/>"; echo "<br/>"; if ($request['tee'] == 'ajaraportti') { if ($valid) { $request['valmistukset'] = hae_valmistukset_joissa_raaka_aine_ei_riita($request); if ($request['generoi_excel']) { $xls_filename = generoi_custom_excel($request['valmistukset'], $request['valmistuslinjat'], $request['esitysmuoto']); echo_tallennus_formi($xls_filename, t('Puuttuvat_raaka_aineet')); } else { echo_valmistukset_joissa_raaka_aine_ei_riita($request); } } } function hae_valmistukset_joissa_raaka_aine_ei_riita($request) { global $kukarow, $yhtiorow; $lasku_where = ""; $valmistuksen_tila = search_array_key_for_value_recursive($request['valmistuksien_tilat'], 'value', $request['valmistuksen_tila']); $lasku_where .= $valmistuksen_tila[0]['query_where']; if (isset($request['valmistuslinja']) and $request['valmistuslinja'] != '') { $lasku_where .= " AND lasku.kohde = '{$request['valmistuslinja']}'"; } $tuote_join = "";
$lasku_temp['laskun_avoin_paiva'] = $valittu_lasku['laskun_avoin_paiva']; $request['valitut_laskut'][] = $lasku_temp; } $request['lasku_tunnukset'] = $lasku_tunnukset_temp; unset($request['ryhmittely_tyyppi_temp']); } //Echotaan saldovahvistukset, kun tehdään käyttöliittymästä haku //tai jos sessioon on tallennettu saldovahvistusrivejä edellisellä hakukerroilla ja ollaan välissä käyty jossain muussa ohjelmassa. if ($request['tee'] == 'aja_saldovahvistus' or !empty($request['valitut_laskut']) and $request['tee'] == 'valitut_laskut_haettu') { js_openFormInNewWindow(); if ($request['tee'] == 'aja_saldovahvistus') { $request['laskut'] = hae_myyntilaskuja_joilla_avoin_saldo($request); } if (!empty($request['tallenna_exceliin'])) { $excel_filepath = generoi_custom_excel_tiedosto($request); echo_tallennus_formi($excel_filepath, t('Saldovahvistus')); } echo_saldovahvistukset($request); } elseif ($request['tee'] == 'NAYTATILAUS' or $request['tee'] == 'tulosta_saldovahvistus_pdf') { //requestissa tulee tietyn ytunnuksen lasku_tunnuksia. Tällöin $laskut arrayssa on vain yksi solu $laskut = hae_myyntilaskuja_joilla_avoin_saldo($request, true); //Jos saldovahvistus_rivi löytyy jo valittujen rivien joukosta, niin haetaan riville tallennetut viesti ja päivämäärä sessiosta $lasku_tunnukset_temp = implode('', $laskut['lasku_tunnukset']); if (array_key_exists($lasku_tunnukset_temp, $_SESSION['valitut_laskut'])) { $laskut['saldovahvistus_viesti'] = search_array_key_for_value_recursive($request['saldovahvistus_viestit'], 'selite', $_SESSION['valitut_laskut'][$lasku_tunnukset_temp]['saldovahvistus_viesti']); $laskut['saldovahvistus_viesti'] = $laskut['saldovahvistus_viesti'][0]; $laskut['laskun_avoin_paiva'] = $_SESSION['valitut_laskut'][$lasku_tunnukset_temp]['laskun_avoin_paiva']; } else { $laskut['saldovahvistus_viesti'] = search_array_key_for_value_recursive($request['saldovahvistus_viestit'], 'selite', $request['saldovahvistus_viesti']); $laskut['saldovahvistus_viesti'] = $laskut['saldovahvistus_viesti'][0]; $laskut['laskun_avoin_paiva'] = $request['paiva'];
echo_arvot($request); echo_kayttoliittyma($request); echo "</div>"; echo "<br/>"; echo "<br/>"; if ($request['tee'] == 'aja_raportti') { $rivit = hae_inventoinnit($request); if ($request['tallenna_exceliin']) { $header_values = array('vuosi' => array('header' => t('Vuosi'), 'order' => 1), 'kuukausi' => array('header' => t('Kuukausi'), 'order' => 2), 'paiva' => array('header' => t('Päivä'), 'order' => 3), 'kellon_aika' => array('header' => t('Kellon aika'), 'order' => 4), 'inventointi_poikkeama_eur' => array('header' => t('Inventointipoikkeama') . ' ' . $yhtiorow['valkoodi'], 'order' => 60), 'selite' => array('header' => t('Selite'), 'order' => 80), 'inventointilaji' => array('header' => t('Inventointilaji'), 'order' => 70), 'tuoteno' => array('header' => t('Tuoteno'), 'order' => 10), 'tuote_nimitys' => array('header' => t('Tuotteen nimitys'), 'order' => 20), 'kpl' => array('header' => t('Inventointi määrä'), 'order' => 50), 'tuoteryhma' => array('header' => t('Tuoteryhmä'), 'order' => 21), 'hyllypaikka' => array('header' => t('Hyllypaikka'), 'order' => 30), 'laatija' => array('header' => t('Inventoija'), 'order' => 89), 'keraysvyohyke_nimitys' => array('header' => t('Keräysvyohykkeen nimitys'), 'order' => 40)); $force_to_string = array('tuoteno'); $sulje_pois = array('laadittu_pvm', 'laadittu'); $excel_filepath = generoi_excel_tiedosto($rivit, $header_values, $force_to_string, $sulje_pois); } $rivit = kasittele_rivit($rivit); if (!empty($excel_filepath)) { echo_tallennus_formi($excel_filepath); } echo_raportin_tulokset($rivit); } echo "</div>"; echo "<div id='footer'>"; require "../inc/footer.inc"; echo "</div>"; function init(&$request) { global $palvelin2; echo "<input type='hidden' id='valitse_varasto_error_message' value='" . t("Valitse varasto") . "' />"; echo "<input type='hidden' id='valitse_aika_error_message' value='" . t("Syötä validi aika") . "' />"; echo "<input type='hidden' id='12kk_gauge_message' value='" . t("Juokseva 12kk") . "' />"; echo "<input type='hidden' id='tilikausi_gauge_message' value='" . t("Kuluva tilikausi") . "' />"; echo "<input type='hidden' id='yhtio_ei_varasto_message' value='" . t("Yhtiöllä ei ole varastoja") . "' />";