$poista_check = 'checked'; } if (isset($loput[$tunnukset]) and $loput[$tunnukset] == 'JATA') { $jata_check = 'checked'; } if (isset($loput[$tunnukset]) and $loput[$tunnukset] == 'MITA') { $mita_check = 'checked'; } if (isset($loput[$tunnukset]) and $loput[$tunnukset] == 'VAKISIN') { $mita_check = 'checked'; } if (!isset($kpl[$tunnukset])) { $kpl[$tunnukset] = ""; } if ($automaaginen == '' and !isset($saapumisajat[$jtrow['tuoteno']])) { $tulossalisat = hae_tuotteen_saapumisaika($jtrow['tuoteno'], $jtrow['status'], $kokonaismyytavissa); $saapumisajat[$jtrow['tuoteno']] = ""; foreach ($tulossalisat as $tulossalisa) { list($o, $v) = explode("!¡!", $tulossalisa); $saapumisajat[$jtrow['tuoteno']] .= "<br>{$o} " . strip_tags($v); } } // Riittää kaikille if (($jtrow['jt_manual'] == '' or $jtrow['jt_manual'] != '' and $mista_tullaan != 'MYYNTITILAUKSELTA' and $automaaginen == 'tosi_automaaginen' and $from_varastoon_inc == "") and (($kokonaismyytavissa >= $jurow["jt"] or $jtrow["ei_saldoa"] != "") and $perheok == 0 and $voiko_toimittaa !== false) or $automaaginen == 'vakisin') { // Jos haluttiin toimittaa tämä rivi automaagisesti if (($jtrow['jt_manual'] == '' or $jtrow['jt_manual'] != '' and $mista_tullaan != 'MYYNTITILAUKSELTA' and $automaaginen == 'tosi_automaaginen' and $from_varastoon_inc == "") and ($kukarow["extranet"] == "" or $kukarow['extranet'] != '' and $automaattinen_poiminta != '') and ($automaaginen == 'automaaginen' or $automaaginen == 'tosi_automaaginen' or $automaaginen == 'vakisin')) { if ($from_varastoon_inc == "editilaus_in.inc") { $edi_ulos .= "\n" . t("JT-rivi") . " --> " . t("Tuoteno") . ": {$jtrow['tuoteno']} " . t("lisättiin tilaukseen") . "!"; } else { echo "<font class='message'>" . t("JT-rivi") . " --> " . t("Tuoteno") . ": {$jtrow['tuoteno']} " . t("lisättiin tilaukseen") . ". (" . t("Tuotetta riitti kaikille JT-riveille") . ")</font><br>"; }
function hae_ja_piirra_saldo($row, $yhtiot, $oleasrow) { global $toim_kutsu, $verkkokauppa, $kukarow, $verkkokauppa_saldotsk, $laskurow, $saldoaikalisa, $yhtiorow, $rivin_yksikko, $vari, $classrigh, $hinta_rajaus, $ostoskori, $yht_i, $lisatiedot, $hae_ja_selaa_row; if ($toim_kutsu != "EXTENNAKKO" and ($verkkokauppa == "" or $verkkokauppa != "" and $kukarow["kuka"] != "www" and $verkkokauppa_saldotsk)) { // Tuoteperheen isät, mutta ei sarjanumerollisisa isiä (Normi, Extranet ja Verkkokauppa) if ($row["tuoteperhe"] == $row["tuoteno"] and $row["sarjanumeroseuranta"] != "S") { // Extranet ja verkkokauppa if ($kukarow["extranet"] != "" or $verkkokauppa != "") { $saldot = tuoteperhe_myytavissa($row["tuoteno"], "KAIKKI", "", 0, "", "", "", "", "", $laskurow["toim_maa"], $saldoaikalisa); $kokonaismyytavissa = 0; foreach ($saldot as $varasto => $myytavissa) { $kokonaismyytavissa += $myytavissa; } if ($yhtiorow["extranet_nayta_saldo"] == "Y") { $naytettava_saldo = sprintf("%.2f", $kokonaismyytavissa) . " {$rivin_yksikko}"; $_vari = ""; } elseif ($kokonaismyytavissa > 0) { $naytettava_saldo = t("On"); $_vari = "green"; } else { $naytettava_saldo = t("Ei"); $_vari = "red"; } echo "<td valign='top' class='{$vari}' {$classrigh}>"; echo "<font class='{$_vari}'>"; if ($hinta_rajaus != "") { echo t("Päävarasto") . ": "; } echo $naytettava_saldo; echo "</font>"; echo "</td>"; } else { $saldot = tuoteperhe_myytavissa($row["tuoteno"], "", "KAIKKI", 0, "", "", "", "", "", $laskurow["toim_maa"], $saldoaikalisa); $classrighx = substr($classrigh, 0, -2) . " padding: 0px;' "; echo "<td valign='top' class='{$vari}' {$classrighx}>"; echo "<table style='width:100%;'>"; $ei_tyhja = ""; foreach ($saldot as $varaso => $saldo) { if ($saldo != 0) { $ei_tyhja = 'yes'; $_saldo = sprintf("%.2f", $saldo); echo "<tr class='aktiivi'>"; echo "<td class='{$vari}' nowrap>{$varaso}</td>"; echo "<td class='{$vari}' align='right' nowrap>{$_saldo} {$rivin_yksikko}</td>"; echo "</tr>"; } } if ($ei_tyhja == '') { echo "<tr class='aktiivi'><td class='{$vari}' nowrap colspan='2'><font class='red'>" . t("Tuote loppu") . "</font></td></tr>"; } echo "</table></td>"; } } elseif ($row['ei_saldoa'] != '') { if ($kukarow["extranet"] != "" or $verkkokauppa != "") { echo "<td valign='top' class='{$vari}' {$classrigh}><font class='green'>" . t("On") . "</font></td>"; } else { echo "<td valign='top' class='{$vari}' {$classrigh}><font class='green'>" . t("Saldoton") . "</font></td>"; } } elseif ($verkkokauppa == "" and ($row["sarjanumeroseuranta"] == "S" and ($row["tuoteperhe"] == "" or $row["tuoteperhe"] == $row["tuoteno"]) and $row["osaluettelo"] == "")) { if ($kukarow["extranet"] != "") { echo "<td valign='top' class='{$vari}' {$classrigh}>{$row['sarjanumero']} "; } else { echo "<td valign='top' class='{$vari}' {$classrigh}><a onClick=\"javascript:sarjanumeronlisatiedot_popup('{$row['sarjatunnus']}')\">{$row['sarjanumero']}</a> "; } if (!isset($row["sarjadisabled"]) and $row["sarjayhtio"] == $kukarow["yhtio"] and ($kukarow["kuka"] != "" or is_numeric($ostoskori))) { echo "<input type='hidden' name='tiltuoteno[{$yht_i}]' value = '{$row['tuoteno']}'>"; echo "<input type='hidden' name='tilsarjatunnus[{$yht_i}]' value = '{$row['sarjatunnus']}'>"; echo "<input type='checkbox' name='tilkpl[{$yht_i}]' value='1'> "; $yht_i++; } echo "</td>"; if ($lisatiedot != "" and $kukarow["extranet"] == "") { echo "<td class='{$vari}' {$classrigh}></td>"; } } elseif ($kukarow["extranet"] != "" or $verkkokauppa != "") { piirra_extranet_saldo($row, $oleasrow); } else { $sallitut_maat_lisa = ""; if ($laskurow["toim_maa"] != '') { $sallitut_maat_lisa = " and (varastopaikat.sallitut_maat like '%{$laskurow['toim_maa']}%' or varastopaikat.sallitut_maat = '') "; } // Käydään läpi tuotepaikat if ($row["sarjanumeroseuranta"] == "E" or $row["sarjanumeroseuranta"] == "F" or $row["sarjanumeroseuranta"] == "G") { $query = "SELECT tuote.yhtio, tuote.tuoteno, tuote.ei_saldoa, varastopaikat.tunnus varasto, varastopaikat.tyyppi varastotyyppi, varastopaikat.maa varastomaa,\n tuotepaikat.oletus, tuotepaikat.hyllyalue, tuotepaikat.hyllynro, tuotepaikat.hyllyvali, tuotepaikat.hyllytaso,\n sarjanumeroseuranta.sarjanumero era,\n concat(rpad(upper(tuotepaikat.hyllyalue), 5, '0'),lpad(upper(tuotepaikat.hyllynro), 5, '0'),lpad(upper(tuotepaikat.hyllyvali), 5, '0'),lpad(upper(tuotepaikat.hyllytaso), 5, '0')) sorttauskentta,\n varastopaikat.nimitys, if (varastopaikat.tyyppi!='', concat('(',varastopaikat.tyyppi,')'), '') tyyppi\n FROM tuote\n JOIN tuotepaikat ON (tuotepaikat.yhtio = tuote.yhtio and tuotepaikat.tuoteno = tuote.tuoteno)\n JOIN varastopaikat ON (varastopaikat.yhtio = tuotepaikat.yhtio\n {$sallitut_maat_lisa}\n AND varastopaikat.tunnus = tuotepaikat.varasto)\n JOIN sarjanumeroseuranta ON sarjanumeroseuranta.yhtio = tuote.yhtio\n AND sarjanumeroseuranta.tuoteno = tuote.tuoteno\n AND sarjanumeroseuranta.hyllyalue = tuotepaikat.hyllyalue\n AND sarjanumeroseuranta.hyllynro = tuotepaikat.hyllynro\n AND sarjanumeroseuranta.hyllyvali = tuotepaikat.hyllyvali\n AND sarjanumeroseuranta.hyllytaso = tuotepaikat.hyllytaso\n AND sarjanumeroseuranta.myyntirivitunnus = 0\n AND sarjanumeroseuranta.era_kpl != 0\n WHERE tuote.yhtio in ('" . implode("','", $yhtiot) . "')\n and tuote.tuoteno = '{$row['tuoteno']}'\n GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15\n ORDER BY tuotepaikat.oletus DESC, varastopaikat.nimitys, sorttauskentta"; } else { $query = "SELECT tuote.yhtio, tuote.tuoteno, tuote.ei_saldoa, varastopaikat.tunnus varasto, varastopaikat.tyyppi varastotyyppi, varastopaikat.maa varastomaa,\n tuotepaikat.oletus, tuotepaikat.hyllyalue, tuotepaikat.hyllynro, tuotepaikat.hyllyvali, tuotepaikat.hyllytaso,\n concat(rpad(upper(hyllyalue), 5, '0'),lpad(upper(hyllynro), 5, '0'),lpad(upper(hyllyvali), 5, '0'),lpad(upper(hyllytaso), 5, '0')) sorttauskentta,\n varastopaikat.nimitys, if (varastopaikat.tyyppi!='', concat('(',varastopaikat.tyyppi,')'), '') tyyppi\n FROM tuote\n JOIN tuotepaikat ON (tuotepaikat.yhtio = tuote.yhtio and tuotepaikat.tuoteno = tuote.tuoteno)\n JOIN varastopaikat ON (varastopaikat.yhtio = tuotepaikat.yhtio\n {$sallitut_maat_lisa}\n AND varastopaikat.tunnus = tuotepaikat.varasto)\n WHERE tuote.yhtio in ('" . implode("','", $yhtiot) . "')\n AND tuote.tuoteno = '{$row['tuoteno']}'\n ORDER BY tuotepaikat.oletus DESC, varastopaikat.nimitys, sorttauskentta"; } $varresult = pupe_query($query); $classrighx = substr($classrigh, 0, -2) . " padding: 0px;' "; echo "<td valign='top' class='{$vari}' {$classrighx}>"; echo "<table style='width:100%;'>"; $loytyko = false; $loytyko_normivarastosta = false; $myytavissa_sum = 0; if (mysql_num_rows($varresult) > 0) { $hyllylisa = ""; // katotaan jos meillä on tuotteita varaamassa saldoa joiden varastopaikkaa ei enää ole olemassa... list($saldo, $hyllyssa, $orvot) = saldo_myytavissa($row["tuoteno"], 'ORVOT', '', '', '', '', '', '', '', $saldoaikalisa); $orvot *= -1; while ($saldorow = mysql_fetch_assoc($varresult)) { if (!isset($saldorow["era"])) { $saldorow["era"] = ""; } list($saldo, $hyllyssa, $myytavissa, $sallittu) = saldo_myytavissa($saldorow["tuoteno"], '', '', $saldorow["yhtio"], $saldorow["hyllyalue"], $saldorow["hyllynro"], $saldorow["hyllyvali"], $saldorow["hyllytaso"], $laskurow["toim_maa"], $saldoaikalisa, $saldorow["era"]); // Listataan vain varasto jo se ei ole kielletty if ($sallittu === true) { // hoidetaan pois problematiikka jos meillä on orpoja (tuotepaikattomia) tuotteita varaamassa saldoa if ($orvot > 0) { if ($myytavissa >= $orvot and $saldorow["yhtio"] == $kukarow["yhtio"]) { // poistaan orpojen varaamat tuotteet tältä paikalta $myytavissa = $myytavissa - $orvot; $orvot = 0; } elseif ($orvot > $myytavissa and $saldorow["yhtio"] == $kukarow["yhtio"]) { // poistetaan niin paljon orpojen saldoa ku voidaan $orvot = $orvot - $myytavissa; $myytavissa = 0; } } if ($myytavissa != 0 or $lisatiedot != "" and $hyllyssa != 0) { $id2 = md5(uniqid()); echo "<tr>"; echo "<td class='{$vari}' nowrap>"; echo "<a class='tooltip' id='{$id2}'>{$saldorow['nimitys']}</a> {$saldorow['tyyppi']}"; echo "<div id='div_{$id2}' class='popup' style='width: 300px'>({$saldorow['hyllyalue']}-{$saldorow['hyllynro']}-{$saldorow['hyllyvali']}-{$saldorow['hyllytaso']})</div>"; echo "</td>"; echo "<td class='{$vari}' align='right' nowrap>"; if ($hae_ja_selaa_row['selite'] == 'B') { echo "<font class='green'>"; } echo sprintf("%.2f", $myytavissa) . " " . $rivin_yksikko; if ($hae_ja_selaa_row['selite'] == 'B') { echo "</font>"; } echo "</td></tr>"; } if ($myytavissa > 0) { $loytyko = true; } if ($myytavissa > 0 and $saldorow["varastotyyppi"] != "E") { $loytyko_normivarastosta = true; } if ($lisatiedot != "" and $hyllyssa != 0) { $hyllylisa .= " <tr class='aktiivi'>\n <td class='{$vari}' align='right' nowrap>" . sprintf("%.2f", $hyllyssa) . "</td>\n </tr>"; } if ($saldorow["tyyppi"] != "E") { $myytavissa_sum += $myytavissa; } } } } $tulossalisat = hae_tuotteen_saapumisaika($row['tuoteno'], $row['status'], $myytavissa_sum, $loytyko, $loytyko_normivarastosta); foreach ($tulossalisat as $tulossalisa) { list($o, $v) = explode("!¡!", $tulossalisa); echo "<tr><td>{$o}</td><td>{$v}</td></tr>"; } echo "</table></td>"; if ($lisatiedot != "") { echo "<td valign='top' {$classrigh} class='{$vari}'>"; if (mysql_num_rows($varresult) > 0 and $hyllylisa != "") { echo "<table width='100%'>"; echo "{$hyllylisa}"; echo "</table></td>"; } echo "</td>"; } } } }